()
- {
- {"serverEnvironmentView", urlHelper.Action("ServerEnvironment", "ServerSidePropertyEditors", new {area = "MyPackage"})}
- });
- };
-
- //For testing for now we'll route to /Belle/Main
- var route = RouteTable.Routes.MapRoute(
- "umbraco-server-side-property-editors",
- "Belle/PropertyEditors/{controller}/{action}/{id}",
- new { controller = "ServerSidePropertyEditors", action = "Index", id = UrlParameter.Optional });
- //assign it to an area so that the plugin view engine looks for us
- route.DataTokens.Add("area", "MyPackage");
- }
-
- }
-}
\ No newline at end of file
diff --git a/src/Umbraco.Web.UI/App_Plugins/MyPackage/Trees/LegacyTestTree.cs b/src/Umbraco.Web.UI/App_Plugins/MyPackage/Trees/LegacyTestTree.cs
index 0cd5d43d8a..8655af9b11 100644
--- a/src/Umbraco.Web.UI/App_Plugins/MyPackage/Trees/LegacyTestTree.cs
+++ b/src/Umbraco.Web.UI/App_Plugins/MyPackage/Trees/LegacyTestTree.cs
@@ -1,8 +1,41 @@
-using System.Text;
+using System;
+using System.Net.Http.Formatting;
+using System.Text;
+using Umbraco.Core;
+using Umbraco.Web.Mvc;
+using Umbraco.Web.Trees;
+using Umbraco.Web.Trees.Menu;
using umbraco.cms.presentation.Trees;
+using Constants = Umbraco.Core.Constants;
namespace Umbraco.Web.UI.App_Plugins.MyPackage.Trees
{
+ //[Tree(Constants.Applications.Settings, "myTree", "My Tree")]
+ //[PluginController("MyPackage")]
+ //public class MyCustomTree : TreeController
+ //{
+ // protected override TreeNodeCollection GetTreeNodes(string id, FormDataCollection queryStrings)
+ // {
+ // if (id == Constants.System.Root.ToInvariantString())
+ // {
+ // var tree = new TreeNodeCollection
+ // {
+ // CreateTreeNode("1", queryStrings, "My Node 1"),
+ // CreateTreeNode("2", queryStrings, "My Node 2"),
+ // CreateTreeNode("3", queryStrings, "My Node 3")
+ // };
+ // return tree;
+ // }
+ // throw new NotSupportedException();
+ // }
+
+ // protected override MenuItemCollection GetMenuForNode(string id, FormDataCollection queryStrings)
+ // {
+ // var menu = new MenuItemCollection();
+ // menu.AddMenuItem(new MenuItem("create", "Create"));
+ // }
+ //}
+
public class LegacyTestTree : BaseTree
{
public LegacyTestTree(string application) : base(application)
diff --git a/src/Umbraco.Web.UI/App_Plugins/MyPackage/Views/ServerSidePropertyEditors/ServerEnvironment.cshtml b/src/Umbraco.Web.UI/App_Plugins/MyPackage/Views/ServerSidePropertyEditors/ServerEnvironment.cshtml
deleted file mode 100644
index f949999089..0000000000
--- a/src/Umbraco.Web.UI/App_Plugins/MyPackage/Views/ServerSidePropertyEditors/ServerEnvironment.cshtml
+++ /dev/null
@@ -1,9 +0,0 @@
-@model dynamic
-
-
-
- Computer Name@Environment.MachineName
-
-
- Computer Time@DateTime.Now
-
\ No newline at end of file
diff --git a/src/Umbraco.Web.UI/App_Plugins/MyPackage/Views/Web.config b/src/Umbraco.Web.UI/App_Plugins/MyPackage/Views/Web.config
deleted file mode 100644
index f179ab8806..0000000000
--- a/src/Umbraco.Web.UI/App_Plugins/MyPackage/Views/Web.config
+++ /dev/null
@@ -1,58 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj b/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
index 2e2b2089e2..06b5f301ab 100644
--- a/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
+++ b/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
@@ -292,11 +292,9 @@
Properties\SolutionInfo.cs
-
-
default.aspx
@@ -590,7 +588,6 @@
-
@@ -615,8 +612,6 @@
-
-
404handlers.config
@@ -2540,8 +2535,8 @@
-
+
diff --git a/src/Umbraco.Web/Trees/ContentTreeController.cs b/src/Umbraco.Web/Trees/ContentTreeController.cs
index ffa35655e1..080ca2a559 100644
--- a/src/Umbraco.Web/Trees/ContentTreeController.cs
+++ b/src/Umbraco.Web/Trees/ContentTreeController.cs
@@ -106,8 +106,8 @@ namespace Umbraco.Web.Trees
.Select(x => new MenuItem(x));
//these two are the standard items
- menu.AddMenuItem();
- menu.AddMenuItem(true).ConvertLegacyMenuItem(null, "content", "content");
+ menu.AddMenuItem(ui.Text("actions", ActionNew.Instance.Alias));
+ menu.AddMenuItem(ui.Text("actions", ActionSort.Instance.Alias), true).ConvertLegacyMenuItem(null, "content", "content");
//filter the standard items
FilterUserAllowedMenuItems(menu, nodeActions);
@@ -118,14 +118,9 @@ namespace Umbraco.Web.Trees
}
// add default actions for *all* users
- menu.AddMenuItem().ConvertLegacyMenuItem(null, "content", "content");
- menu.AddMenuItem(true);
-
- foreach (var menuItem in menu.MenuItems)
- {
- menuItem.Name = ui.Text("actions", menuItem.Alias);
- }
-
+ menu.AddMenuItem(ui.Text("actions", ActionRePublish.Instance.Alias)).ConvertLegacyMenuItem(null, "content", "content");
+ menu.AddMenuItem(ui.Text("actions", ActionRefresh.Instance.Alias), true);
+
return menu;
}
@@ -150,10 +145,6 @@ namespace Umbraco.Web.Trees
//set the default to create
nodeMenu.DefaultMenuAlias = ActionNew.Instance.Alias;
- foreach (var menuItem in nodeMenu.MenuItems)
- {
- menuItem.Name = ui.Text("actions", menuItem.Alias);
- }
return nodeMenu;
}
@@ -170,26 +161,26 @@ namespace Umbraco.Web.Trees
protected MenuItemCollection GetAllNodeMenuItems(IUmbracoEntity item)
{
var menu = new MenuItemCollection();
- menu.AddMenuItem();
- menu.AddMenuItem(true);
+ menu.AddMenuItem(ui.Text("actions", ActionNew.Instance.Alias));
+ menu.AddMenuItem(ui.Text("actions", ActionDelete.Instance.Alias));
//need to ensure some of these are converted to the legacy system - until we upgrade them all to be angularized.
- menu.AddMenuItem(true);
- menu.AddMenuItem();
-
- menu.AddMenuItem(true).ConvertLegacyMenuItem(item, "content", "content");
+ menu.AddMenuItem(ui.Text("actions", ActionMove.Instance.Alias), true);
+ menu.AddMenuItem(ui.Text("actions", ActionCopy.Instance.Alias));
- menu.AddMenuItem().ConvertLegacyMenuItem(item, "content", "content");
- menu.AddMenuItem(true).ConvertLegacyMenuItem(item, "content", "content");
- menu.AddMenuItem().ConvertLegacyMenuItem(item, "content", "content");
- menu.AddMenuItem().ConvertLegacyMenuItem(item, "content", "content");
- menu.AddMenuItem().ConvertLegacyMenuItem(item, "content", "content");
- menu.AddMenuItem(true).ConvertLegacyMenuItem(item, "content", "content");
- menu.AddMenuItem(true).ConvertLegacyMenuItem(item, "content", "content");
- menu.AddMenuItem(true).ConvertLegacyMenuItem(item, "content", "content");
- menu.AddMenuItem().ConvertLegacyMenuItem(item, "content", "content");
+ menu.AddMenuItem(ui.Text("actions", ActionSort.Instance.Alias), true).ConvertLegacyMenuItem(item, "content", "content");
- menu.AddMenuItem(true);
+ menu.AddMenuItem(ui.Text("actions", ActionRollback.Instance.Alias)).ConvertLegacyMenuItem(item, "content", "content");
+ menu.AddMenuItem(ui.Text("actions", ActionPublish.Instance.Alias), true).ConvertLegacyMenuItem(item, "content", "content");
+ menu.AddMenuItem(ui.Text("actions", ActionToPublish.Instance.Alias)).ConvertLegacyMenuItem(item, "content", "content");
+ menu.AddMenuItem(ui.Text("actions", ActionAssignDomain.Instance.Alias)).ConvertLegacyMenuItem(item, "content", "content");
+ menu.AddMenuItem(ui.Text("actions", ActionRights.Instance.Alias)).ConvertLegacyMenuItem(item, "content", "content");
+ menu.AddMenuItem(ui.Text("actions", ActionProtect.Instance.Alias), true).ConvertLegacyMenuItem(item, "content", "content");
+ menu.AddMenuItem(ui.Text("actions", ActionUnPublish.Instance.Alias), true).ConvertLegacyMenuItem(item, "content", "content");
+ menu.AddMenuItem(ui.Text("actions", ActionNotify.Instance.Alias), true).ConvertLegacyMenuItem(item, "content", "content");
+ menu.AddMenuItem(ui.Text("actions", ActionSendToTranslate.Instance.Alias)).ConvertLegacyMenuItem(item, "content", "content");
+
+ menu.AddMenuItem(ui.Text("actions", ActionRefresh.Instance.Alias), true);
return menu;
}
diff --git a/src/Umbraco.Web/Trees/ContentTreeControllerBase.cs b/src/Umbraco.Web/Trees/ContentTreeControllerBase.cs
index a1e646e70a..ff4a6f2fd1 100644
--- a/src/Umbraco.Web/Trees/ContentTreeControllerBase.cs
+++ b/src/Umbraco.Web/Trees/ContentTreeControllerBase.cs
@@ -96,8 +96,8 @@ namespace Umbraco.Web.Trees
if (RecycleBinId.ToInvariantString() == id)
{
var menu = new MenuItemCollection();
- menu.AddMenuItem();
- menu.AddMenuItem(true);
+ menu.AddMenuItem(ui.Text("actions", ActionEmptyTranscan.Instance.Alias));
+ menu.AddMenuItem(ui.Text("actions", ActionRefresh.Instance.Alias), true);
return menu;
}
return PerformGetMenuForNode(id, queryStrings);
diff --git a/src/Umbraco.Web/Trees/DataTypeTreeController.cs b/src/Umbraco.Web/Trees/DataTypeTreeController.cs
index 278b4a188b..348fa88628 100644
--- a/src/Umbraco.Web/Trees/DataTypeTreeController.cs
+++ b/src/Umbraco.Web/Trees/DataTypeTreeController.cs
@@ -7,6 +7,7 @@ using System.Web.Http;
using Umbraco.Core;
using Umbraco.Web.Mvc;
using Umbraco.Web.Trees.Menu;
+using umbraco;
using umbraco.BusinessLogic.Actions;
using Constants = Umbraco.Core.Constants;
@@ -45,13 +46,13 @@ namespace Umbraco.Web.Trees
if (id == Constants.System.Root.ToInvariantString())
{
// root actions
- menu.AddMenuItem();
- menu.AddMenuItem(true);
+ menu.AddMenuItem(ui.Text("actions", ActionNew.Instance.Alias));
+ menu.AddMenuItem(ui.Text("actions", ActionRefresh.Instance.Alias), true);
return menu;
}
//only have delete for each node
- menu.AddMenuItem();
+ menu.AddMenuItem(ui.Text("actions", ActionDelete.Instance.Alias));
return menu;
}
}
diff --git a/src/Umbraco.Web/Trees/LegacyTreeDataConverter.cs b/src/Umbraco.Web/Trees/LegacyTreeDataConverter.cs
index d7fb72d053..290c722cd0 100644
--- a/src/Umbraco.Web/Trees/LegacyTreeDataConverter.cs
+++ b/src/Umbraco.Web/Trees/LegacyTreeDataConverter.cs
@@ -147,7 +147,7 @@ namespace Umbraco.Web.Trees
}
else
{
- var menuItem = collection.AddMenuItem(t);
+ var menuItem = collection.AddMenuItem(t, ui.Text("actions", t.Alias));
var currentAction = t;
diff --git a/src/Umbraco.Web/Trees/MediaTreeController.cs b/src/Umbraco.Web/Trees/MediaTreeController.cs
index e4ebb5a5e0..8f806f980e 100644
--- a/src/Umbraco.Web/Trees/MediaTreeController.cs
+++ b/src/Umbraco.Web/Trees/MediaTreeController.cs
@@ -76,9 +76,9 @@ namespace Umbraco.Web.Trees
}
// root actions
- menu.AddMenuItem();
- menu.AddMenuItem(true).ConvertLegacyMenuItem(null, "media", "media");
- menu.AddMenuItem(true);
+ menu.AddMenuItem(ui.Text("actions", ActionNew.Instance.Alias));
+ menu.AddMenuItem(ui.Text("actions", ActionSort.Instance.Alias), true).ConvertLegacyMenuItem(null, "media", "media");
+ menu.AddMenuItem(ui.Text("actions", ActionRefresh.Instance.Alias), true);
return menu;
}
@@ -93,11 +93,11 @@ namespace Umbraco.Web.Trees
throw new HttpResponseException(HttpStatusCode.NotFound);
}
//return a normal node menu:
- menu.AddMenuItem();
- menu.AddMenuItem();
- menu.AddMenuItem();
- menu.AddMenuItem().ConvertLegacyMenuItem(null, "media", "media");
- menu.AddMenuItem(true);
+ menu.AddMenuItem(ui.Text("actions", ActionNew.Instance.Alias));
+ menu.AddMenuItem(ui.Text("actions", ActionMove.Instance.Alias));
+ menu.AddMenuItem(ui.Text("actions", ActionDelete.Instance.Alias));
+ menu.AddMenuItem(ui.Text("actions", ActionSort.Instance.Alias)).ConvertLegacyMenuItem(null, "media", "media");
+ menu.AddMenuItem(ui.Text("actions", ActionRefresh.Instance.Alias), true);
return menu;
}
diff --git a/src/Umbraco.Web/Trees/MemberTreeController.cs b/src/Umbraco.Web/Trees/MemberTreeController.cs
index 081f7c8c33..50c22812eb 100644
--- a/src/Umbraco.Web/Trees/MemberTreeController.cs
+++ b/src/Umbraco.Web/Trees/MemberTreeController.cs
@@ -79,13 +79,13 @@ namespace Umbraco.Web.Trees
menu.DefaultMenuAlias = ActionNew.Instance.Alias;
// root actions
- menu.AddMenuItem();
- menu.AddMenuItem(true);
+ menu.AddMenuItem(ui.Text("actions", ActionNew.Instance.Alias));
+ menu.AddMenuItem(ui.Text("actions", ActionRefresh.Instance.Alias), true);
return menu;
}
- menu.AddMenuItem();
- menu.AddMenuItem(true);
+ menu.AddMenuItem(ui.Text("actions", ActionDelete.Instance.Alias));
+ menu.AddMenuItem(ui.Text("actions", ActionRefresh.Instance.Alias), true);
return menu;
}
}
diff --git a/src/Umbraco.Web/Trees/Menu/MenuItem.cs b/src/Umbraco.Web/Trees/Menu/MenuItem.cs
index a417a0043c..ed5d9c5778 100644
--- a/src/Umbraco.Web/Trees/Menu/MenuItem.cs
+++ b/src/Umbraco.Web/Trees/Menu/MenuItem.cs
@@ -2,6 +2,7 @@
using System.Runtime.Serialization;
using umbraco.interfaces;
using System.Collections.Generic;
+using Umbraco.Core;
namespace Umbraco.Web.Trees.Menu
{
@@ -16,10 +17,17 @@ namespace Umbraco.Web.Trees.Menu
AdditionalData = new Dictionary();
}
- public MenuItem(IAction legacyMenu)
+ public MenuItem(string alias, string name)
: this()
{
- Name = legacyMenu.Alias;
+ Alias = alias;
+ Name = name;
+ }
+
+ public MenuItem(IAction legacyMenu, string name = "")
+ : this()
+ {
+ Name = name.IsNullOrWhiteSpace() ? legacyMenu.Alias : name;
Alias = legacyMenu.Alias;
SeperatorBefore = false;
Icon = legacyMenu.Icon;
diff --git a/src/Umbraco.Web/Trees/Menu/MenuItemCollection.cs b/src/Umbraco.Web/Trees/Menu/MenuItemCollection.cs
index 6f88ddfdb6..626a7f9f20 100644
--- a/src/Umbraco.Web/Trees/Menu/MenuItemCollection.cs
+++ b/src/Umbraco.Web/Trees/Menu/MenuItemCollection.cs
@@ -42,7 +42,9 @@ namespace Umbraco.Web.Trees.Menu
///
/// Adds a menu item
///
- internal MenuItem AddMenuItem(IAction action)
+ ///
+ /// The text to display for the menu item, will default to the IAction alias if not specified
+ internal MenuItem AddMenuItem(IAction action, string name)
{
var item = new MenuItem(action);
@@ -68,14 +70,21 @@ namespace Umbraco.Web.Trees.Menu
{
_menuItems.Add(item);
}
-
- //TODO: Implement more overloads for MenuItem with dictionary vals
-
- public TMenuItem AddMenuItem(bool hasSeparator = false, IDictionary additionalData = null)
+
+ ///
+ /// Adds a menu item
+ ///
+ ///
+ ///
+ ///
+ /// The text to display for the menu item, will default to the IAction alias if not specified
+ ///
+ ///
+ public TMenuItem AddMenuItem(string name, bool hasSeparator = false, IDictionary additionalData = null)
where TAction : IAction
where TMenuItem : MenuItem, new()
{
- var item = CreateMenuItem(hasSeparator, additionalData);
+ var item = CreateMenuItem(name, hasSeparator, additionalData);
if (item == null) return null;
var customMenuItem = new TMenuItem
@@ -95,11 +104,12 @@ namespace Umbraco.Web.Trees.Menu
///
/// Adds a menu item
///
+ /// The text to display for the menu item, will default to the IAction alias if not specified
///
- public MenuItem AddMenuItem()
+ public MenuItem AddMenuItem(string name)
where T : IAction
{
- return AddMenuItem(false, null);
+ return AddMenuItem(name, false, null);
}
///
@@ -108,23 +118,51 @@ namespace Umbraco.Web.Trees.Menu
///
///
///
+ /// The text to display for the menu item, will default to the IAction alias if not specified
///
- public MenuItem AddMenuItem(string key, string value, bool hasSeparator = false)
+ public MenuItem AddMenuItem(string name, string key, string value, bool hasSeparator = false)
where T : IAction
{
- return AddMenuItem(hasSeparator, new Dictionary { { key, value } });
+ return AddMenuItem(name, hasSeparator, new Dictionary { { key, value } });
}
- internal MenuItem CreateMenuItem(bool hasSeparator = false, IDictionary additionalData = null)
+ ///
+ /// Adds a menu item with a dictionary which is merged to the AdditionalData bag
+ ///
+ ///
+ ///
+ /// /// The text to display for the menu item, will default to the IAction alias if not specified
+ ///
+ public MenuItem AddMenuItem(string name, bool hasSeparator = false, IDictionary additionalData = null)
+ where T : IAction
+ {
+ var item = CreateMenuItem(name, hasSeparator, additionalData);
+ if (item != null)
+ {
+ _menuItems.Add(item);
+ return item;
+ }
+ return null;
+ }
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ /// The text to display for the menu item, will default to the IAction alias if not specified
+ ///
+ ///
+ internal MenuItem CreateMenuItem(string name, bool hasSeparator = false, IDictionary additionalData = null)
where T : IAction
{
var item = ActionsResolver.Current.GetAction();
if (item != null)
{
- var menuItem = new MenuItem(item)
- {
- SeperatorBefore = hasSeparator
- };
+ var menuItem = new MenuItem(item, name)
+ {
+ SeperatorBefore = hasSeparator
+ };
if (additionalData != null)
{
@@ -134,7 +172,7 @@ namespace Umbraco.Web.Trees.Menu
}
}
- DetectLegacyActionMenu(typeof (T), menuItem);
+ DetectLegacyActionMenu(typeof(T), menuItem);
//TODO: Once we implement 'real' menu items, not just IActions we can implement this since
// people may need to pass specific data to their menu items
@@ -147,24 +185,6 @@ namespace Umbraco.Web.Trees.Menu
return null;
}
- ///
- /// Adds a menu item with a dictionary which is merged to the AdditionalData bag
- ///
- ///
- ///
- ///
- public MenuItem AddMenuItem(bool hasSeparator = false, IDictionary additionalData = null)
- where T : IAction
- {
- var item = CreateMenuItem(hasSeparator, additionalData);
- if (item != null)
- {
- _menuItems.Add(item);
- return item;
- }
- return null;
- }
-
///
/// Checks if the IAction type passed in is attributed with LegacyActionMenuItemAttribute and if so
/// ensures that the correct action metadata is added.