DO NOT DOWNLOAD. DOWNLOAD LATEST STABLE FROM RELEASE TAB
Merged new tree & ClientDependency changes to 4.1 branch [TFS Changeset #55087]
This commit is contained in:
@@ -12,6 +12,20 @@ namespace umbraco.presentation.ClientDependency
|
|||||||
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
|
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
|
||||||
public class ClientDependencyAttribute : Attribute, IClientDependencyFile
|
public class ClientDependencyAttribute : Attribute, IClientDependencyFile
|
||||||
{
|
{
|
||||||
|
public ClientDependencyAttribute()
|
||||||
|
{
|
||||||
|
Priority = DefaultPriority;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// If a priority is not set, the default will be 100.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// This will generally mean that if a developer doesn't specify a priority it will come after all other dependencies that
|
||||||
|
/// have unless the priority is explicitly set above 100.
|
||||||
|
/// </remarks>
|
||||||
|
protected const int DefaultPriority = 100;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// If dependencies have a composite group name specified, the system will combine all dependency
|
/// If dependencies have a composite group name specified, the system will combine all dependency
|
||||||
/// file contents under the one group name and GZIP the output to output cache.
|
/// file contents under the one group name and GZIP the output to output cache.
|
||||||
@@ -87,21 +101,25 @@ namespace umbraco.presentation.ClientDependency
|
|||||||
/// <param name="filePath">The file path to the dependency.</param>
|
/// <param name="filePath">The file path to the dependency.</param>
|
||||||
/// <param name="appendUmbracoPath">if set to <c>true</c> the current umbraco path will be prefixed to the filePath.</param>
|
/// <param name="appendUmbracoPath">if set to <c>true</c> the current umbraco path will be prefixed to the filePath.</param>
|
||||||
/// <param name="invokeJavascriptMethodOnLoad">The name of the Javascript method to invoke when the dependency is loaded.</param>
|
/// <param name="invokeJavascriptMethodOnLoad">The name of the Javascript method to invoke when the dependency is loaded.</param>
|
||||||
public ClientDependencyAttribute(int priority, ClientDependencyType dependencyType, string fileName, string pathNameAlias, string invokeJavascriptMethodOnLoad)
|
public ClientDependencyAttribute(int priority, ClientDependencyType dependencyType, string fileName, string pathNameAlias, string invokeJavascriptMethodOnLoad)
|
||||||
{
|
: this(priority, dependencyType, fileName, pathNameAlias, invokeJavascriptMethodOnLoad, string.Empty)
|
||||||
if (String.IsNullOrEmpty(fileName))
|
{ }
|
||||||
throw new ArgumentNullException("fileName");
|
|
||||||
|
|
||||||
Priority = priority;
|
public ClientDependencyAttribute(int priority, ClientDependencyType dependencyType, string fileName, string pathNameAlias, string invokeJavascriptMethodOnLoad, string compositeGroupName)
|
||||||
|
{
|
||||||
|
if (String.IsNullOrEmpty(fileName))
|
||||||
|
throw new ArgumentNullException("fileName");
|
||||||
|
|
||||||
|
Priority = priority;
|
||||||
|
|
||||||
|
|
||||||
FilePath = fileName;
|
FilePath = fileName;
|
||||||
PathNameAlias = pathNameAlias;
|
PathNameAlias = pathNameAlias;
|
||||||
|
CompositeGroupName = compositeGroupName;
|
||||||
|
|
||||||
|
DependencyType = dependencyType;
|
||||||
DependencyType = dependencyType;
|
InvokeJavascriptMethodOnLoad = invokeJavascriptMethodOnLoad ?? string.Empty;
|
||||||
InvokeJavascriptMethodOnLoad = invokeJavascriptMethodOnLoad ?? string.Empty;
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -17,17 +17,23 @@ namespace umbraco.presentation.ClientDependency
|
|||||||
private static ClientDependencyProviderCollection m_Providers = null;
|
private static ClientDependencyProviderCollection m_Providers = null;
|
||||||
private static object m_Lock = new object();
|
private static object m_Lock = new object();
|
||||||
|
|
||||||
public ClientDependencyProvider DefaultProvider
|
public static ClientDependencyProvider DefaultProvider
|
||||||
{
|
{
|
||||||
get { return m_Provider; }
|
get
|
||||||
|
{
|
||||||
|
LoadProviders();
|
||||||
|
return m_Provider;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
public ClientDependencyProviderCollection ProviderCollection
|
public static ClientDependencyProviderCollection ProviderCollection
|
||||||
{
|
{
|
||||||
get { return m_Providers; }
|
get
|
||||||
|
{
|
||||||
|
LoadProviders();
|
||||||
|
return m_Providers;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private const int StartingIncludeControlPriority = 5000;
|
|
||||||
|
|
||||||
private static void LoadProviders()
|
private static void LoadProviders()
|
||||||
{
|
{
|
||||||
if (m_Provider == null)
|
if (m_Provider == null)
|
||||||
@@ -113,6 +119,13 @@ namespace umbraco.presentation.ClientDependency
|
|||||||
ClientDependencyRegistrationService service = new ClientDependencyRegistrationService(control, paths, found);
|
ClientDependencyRegistrationService service = new ClientDependencyRegistrationService(control, paths, found);
|
||||||
service.ProcessDependencies();
|
service.ProcessDependencies();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void RegisterClientDependencies(ClientDependencyProvider provider, Control control, ClientDependencyPathCollection paths)
|
||||||
|
{
|
||||||
|
LoadProviders();
|
||||||
|
ClientDependencyRegistrationService service = new ClientDependencyRegistrationService(control, paths, provider);
|
||||||
|
service.ProcessDependencies();
|
||||||
|
}
|
||||||
|
|
||||||
internal class ClientDependencyRegistrationService
|
internal class ClientDependencyRegistrationService
|
||||||
{
|
{
|
||||||
@@ -125,7 +138,7 @@ namespace umbraco.presentation.ClientDependency
|
|||||||
}
|
}
|
||||||
|
|
||||||
private Control m_RenderingControl;
|
private Control m_RenderingControl;
|
||||||
private List<ClientDependencyAttribute> m_Dependencies = new List<ClientDependencyAttribute>();
|
private List<IClientDependencyFile> m_Dependencies = new List<IClientDependencyFile>();
|
||||||
private ClientDependencyPathCollection m_Paths;
|
private ClientDependencyPathCollection m_Paths;
|
||||||
private ClientDependencyProvider m_Provider;
|
private ClientDependencyProvider m_Provider;
|
||||||
|
|
||||||
@@ -134,11 +147,11 @@ namespace umbraco.presentation.ClientDependency
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="control"></param>
|
/// <param name="control"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private List<ClientDependencyAttribute> FindDependencies(Control control)
|
private List<IClientDependencyFile> FindDependencies(Control control)
|
||||||
{
|
{
|
||||||
// find dependencies
|
// find dependencies
|
||||||
Type controlType = control.GetType();
|
Type controlType = control.GetType();
|
||||||
List<ClientDependencyAttribute> dependencies = new List<ClientDependencyAttribute>();
|
List<IClientDependencyFile> dependencies = new List<IClientDependencyFile>();
|
||||||
foreach (Attribute attribute in Attribute.GetCustomAttributes(controlType))
|
foreach (Attribute attribute in Attribute.GetCustomAttributes(controlType))
|
||||||
{
|
{
|
||||||
if (attribute is ClientDependencyAttribute)
|
if (attribute is ClientDependencyAttribute)
|
||||||
@@ -148,18 +161,17 @@ namespace umbraco.presentation.ClientDependency
|
|||||||
}
|
}
|
||||||
|
|
||||||
// add child dependencies
|
// add child dependencies
|
||||||
int i = StartingIncludeControlPriority;
|
|
||||||
foreach (Control child in control.Controls)
|
foreach (Control child in control.Controls)
|
||||||
{
|
{
|
||||||
if (child.GetType().Equals(typeof(ClientDependencyInclude)))
|
if (child.GetType().Equals(typeof(ClientDependencyInclude)))
|
||||||
{
|
{
|
||||||
ClientDependencyInclude include = (ClientDependencyInclude)child;
|
ClientDependencyInclude include = (ClientDependencyInclude)child;
|
||||||
dependencies.Add(new ClientDependencyAttribute(i, include.Type, include.File));
|
//dependencies.Add(new ClientDependencyAttribute(include.Priority, include.DependencyType, include.FilePath, include.PathName, include.InvokeJavascriptMethodOnLoad, include.CompositeGroupName));
|
||||||
i++;
|
dependencies.Add(include);
|
||||||
}
|
}
|
||||||
else if (child.HasControls())
|
else if (child.HasControls())
|
||||||
{
|
{
|
||||||
m_Dependencies.AddRange(FindDependencies(child));
|
dependencies.AddRange(FindDependencies(child));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,21 +5,35 @@ using System.Web.UI;
|
|||||||
|
|
||||||
namespace umbraco.presentation.ClientDependency
|
namespace umbraco.presentation.ClientDependency
|
||||||
{
|
{
|
||||||
public class ClientDependencyInclude : Control
|
public class ClientDependencyInclude : Control, IClientDependencyFile
|
||||||
{
|
{
|
||||||
|
|
||||||
public ClientDependencyInclude()
|
public ClientDependencyInclude()
|
||||||
{
|
{
|
||||||
Type = ClientDependencyType.Javascript;
|
DependencyType = ClientDependencyType.Javascript;
|
||||||
|
Priority = DefaultPriority;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ClientDependencyType Type { get; set; }
|
/// <summary>
|
||||||
public string File { get; set; }
|
/// If a priority is not set, the default will be 100.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// This will generally mean that if a developer doesn't specify a priority it will come after all other dependencies that
|
||||||
|
/// have unless the priority is explicitly set above 100.
|
||||||
|
/// </remarks>
|
||||||
|
protected const int DefaultPriority = 100;
|
||||||
|
|
||||||
|
public ClientDependencyType DependencyType { get; set; }
|
||||||
|
public string FilePath { get; set; }
|
||||||
|
public string PathNameAlias { get; set; }
|
||||||
|
public string CompositeGroupName { get; set; }
|
||||||
|
public int Priority { get; set; }
|
||||||
|
public string InvokeJavascriptMethodOnLoad { get; set; }
|
||||||
|
|
||||||
protected override void OnPreRender(EventArgs e)
|
protected override void OnPreRender(EventArgs e)
|
||||||
{
|
{
|
||||||
base.OnPreRender(e);
|
base.OnPreRender(e);
|
||||||
if (string.IsNullOrEmpty(File))
|
if (string.IsNullOrEmpty(FilePath))
|
||||||
throw new NullReferenceException("Both File and Type properties must be set");
|
throw new NullReferenceException("Both File and Type properties must be set");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ namespace umbraco.presentation.ClientDependency
|
|||||||
{
|
{
|
||||||
Paths = new ClientDependencyPathCollection();
|
Paths = new ClientDependencyPathCollection();
|
||||||
EmbedType = ClientDependencyEmbedType.Header;
|
EmbedType = ClientDependencyEmbedType.Header;
|
||||||
|
IsDebugMode = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void OnInit(EventArgs e)
|
protected override void OnInit(EventArgs e)
|
||||||
@@ -64,13 +65,18 @@ namespace umbraco.presentation.ClientDependency
|
|||||||
{
|
{
|
||||||
Page.Trace.Write("ClientDependency", string.Format("Path loaded: {0}", path.Path));
|
Page.Trace.Write("ClientDependency", string.Format("Path loaded: {0}", path.Path));
|
||||||
}
|
}
|
||||||
|
ClientDependencyProvider provider = null;
|
||||||
switch (EmbedType)
|
switch (EmbedType)
|
||||||
{
|
{
|
||||||
case ClientDependencyEmbedType.Header:
|
case ClientDependencyEmbedType.Header:
|
||||||
ClientDependencyHelper.RegisterClientDependencies<PageHeaderProvider>(this.Page, Paths);
|
provider = ClientDependencyHelper.ProviderCollection[PageHeaderProvider.DefaultName];
|
||||||
|
provider.IsDebugMode = IsDebugMode;
|
||||||
|
ClientDependencyHelper.RegisterClientDependencies(provider, this.Page, Paths);
|
||||||
break;
|
break;
|
||||||
case ClientDependencyEmbedType.ClientSideRegistration:
|
case ClientDependencyEmbedType.ClientSideRegistration:
|
||||||
ClientDependencyHelper.RegisterClientDependencies<ClientSideRegistrationProvider>(this.Page, Paths);
|
provider = ClientDependencyHelper.ProviderCollection[ClientSideRegistrationProvider.DefaultName];
|
||||||
|
provider.IsDebugMode = IsDebugMode;
|
||||||
|
ClientDependencyHelper.RegisterClientDependencies(provider, this.Page, Paths);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -80,6 +86,7 @@ namespace umbraco.presentation.ClientDependency
|
|||||||
[PersistenceMode(PersistenceMode.InnerProperty)]
|
[PersistenceMode(PersistenceMode.InnerProperty)]
|
||||||
public ClientDependencyPathCollection Paths { get; private set; }
|
public ClientDependencyPathCollection Paths { get; private set; }
|
||||||
public ClientDependencyEmbedType EmbedType { get; set; }
|
public ClientDependencyEmbedType EmbedType { get; set; }
|
||||||
|
public bool IsDebugMode { get; set; }
|
||||||
|
|
||||||
|
|
||||||
private List<ClientDependencyAttribute> m_Dependencies = new List<ClientDependencyAttribute>();
|
private List<ClientDependencyAttribute> m_Dependencies = new List<ClientDependencyAttribute>();
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ namespace umbraco.presentation.ClientDependency
|
|||||||
throw new ArgumentException("Must specify a fileset in the request");
|
throw new ArgumentException("Must specify a fileset in the request");
|
||||||
|
|
||||||
byte[] fileBytes = CombineFiles(fileset, context);
|
byte[] fileBytes = CombineFiles(fileset, context);
|
||||||
byte[] outputBytes = fileBytes;//CompressBytes(context, fileBytes);
|
byte[] outputBytes = CompressBytes(context, fileBytes);
|
||||||
SetCaching(context);
|
SetCaching(context);
|
||||||
|
|
||||||
context.Response.ContentType = type == ClientDependencyType.Javascript ? "text/javascript" : "text/css";
|
context.Response.ContentType = type == ClientDependencyType.Javascript ? "text/javascript" : "text/css";
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ namespace umbraco.presentation.ClientDependency
|
|||||||
ClientDependencyType DependencyType { get; set; }
|
ClientDependencyType DependencyType { get; set; }
|
||||||
string InvokeJavascriptMethodOnLoad { get; set; }
|
string InvokeJavascriptMethodOnLoad { get; set; }
|
||||||
int Priority { get; set; }
|
int Priority { get; set; }
|
||||||
|
string CompositeGroupName { get; set; }
|
||||||
|
string PathNameAlias { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,12 +11,30 @@ namespace umbraco.presentation.ClientDependency.Providers
|
|||||||
{
|
{
|
||||||
protected Control DependantControl { get; private set; }
|
protected Control DependantControl { get; private set; }
|
||||||
protected ClientDependencyPathCollection FolderPaths { get; private set; }
|
protected ClientDependencyPathCollection FolderPaths { get; private set; }
|
||||||
protected List<ClientDependencyAttribute> AllDependencies { get; private set; }
|
protected List<IClientDependencyFile> AllDependencies { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Set to true to disable composite scripts so all scripts/css comes through as individual files.
|
||||||
|
/// </summary>
|
||||||
|
public bool IsDebugMode { get; set; }
|
||||||
|
|
||||||
protected abstract void RegisterJsFiles(List<IClientDependencyFile> jsDependencies);
|
protected abstract void RegisterJsFiles(List<IClientDependencyFile> jsDependencies);
|
||||||
protected abstract void RegisterCssFiles(List<IClientDependencyFile> cssDependencies);
|
protected abstract void RegisterCssFiles(List<IClientDependencyFile> cssDependencies);
|
||||||
|
|
||||||
public void RegisterDependencies(Control dependantControl, List<ClientDependencyAttribute> dependencies, ClientDependencyPathCollection paths)
|
public override void Initialize(string name, System.Collections.Specialized.NameValueCollection config)
|
||||||
|
{
|
||||||
|
IsDebugMode = false;
|
||||||
|
if (config != null && config["isDebug"] != null)
|
||||||
|
{
|
||||||
|
bool isDebug;
|
||||||
|
if (bool.TryParse(config["isDebug"], out isDebug))
|
||||||
|
IsDebugMode = isDebug;
|
||||||
|
}
|
||||||
|
|
||||||
|
base.Initialize(name, config);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RegisterDependencies(Control dependantControl, List<IClientDependencyFile> dependencies, ClientDependencyPathCollection paths)
|
||||||
{
|
{
|
||||||
DependantControl = dependantControl;
|
DependantControl = dependantControl;
|
||||||
AllDependencies = dependencies;
|
AllDependencies = dependencies;
|
||||||
@@ -25,16 +43,22 @@ namespace umbraco.presentation.ClientDependency.Providers
|
|||||||
UpdateFilePaths();
|
UpdateFilePaths();
|
||||||
|
|
||||||
//seperate the types into 2 lists for all dependencies without composite groups
|
//seperate the types into 2 lists for all dependencies without composite groups
|
||||||
List<ClientDependencyAttribute> jsDependencies = AllDependencies.FindAll(
|
List<IClientDependencyFile> jsDependencies = AllDependencies.FindAll(
|
||||||
delegate(ClientDependencyAttribute a)
|
delegate(IClientDependencyFile a)
|
||||||
{
|
{
|
||||||
return a.DependencyType == ClientDependencyType.Javascript && string.IsNullOrEmpty(a.CompositeGroupName);
|
if (!IsDebugMode)
|
||||||
|
return a.DependencyType == ClientDependencyType.Javascript && string.IsNullOrEmpty(a.CompositeGroupName);
|
||||||
|
else
|
||||||
|
return a.DependencyType == ClientDependencyType.Javascript;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
List<ClientDependencyAttribute> cssDependencies = AllDependencies.FindAll(
|
List<IClientDependencyFile> cssDependencies = AllDependencies.FindAll(
|
||||||
delegate(ClientDependencyAttribute a)
|
delegate(IClientDependencyFile a)
|
||||||
{
|
{
|
||||||
return a.DependencyType == ClientDependencyType.Css && string.IsNullOrEmpty(a.CompositeGroupName);
|
if (!IsDebugMode)
|
||||||
|
return a.DependencyType == ClientDependencyType.Css && string.IsNullOrEmpty(a.CompositeGroupName);
|
||||||
|
else
|
||||||
|
return a.DependencyType == ClientDependencyType.Css;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -42,23 +66,25 @@ namespace umbraco.presentation.ClientDependency.Providers
|
|||||||
jsDependencies.Sort((a, b) => a.Priority.CompareTo(b.Priority));
|
jsDependencies.Sort((a, b) => a.Priority.CompareTo(b.Priority));
|
||||||
cssDependencies.Sort((a, b) => a.Priority.CompareTo(b.Priority));
|
cssDependencies.Sort((a, b) => a.Priority.CompareTo(b.Priority));
|
||||||
|
|
||||||
RegisterCssFiles(cssDependencies.ConvertAll<IClientDependencyFile>(a => { return (IClientDependencyFile)a; }));
|
if (!IsDebugMode) RegisterCssFiles(ProcessCompositeGroups(ClientDependencyType.Css));
|
||||||
RegisterCssFiles(ProcessCompositeGroups(ClientDependencyType.Css));
|
RegisterCssFiles(cssDependencies.ConvertAll<IClientDependencyFile>(a => { return (IClientDependencyFile)a; }));
|
||||||
|
if (!IsDebugMode) RegisterJsFiles(ProcessCompositeGroups(ClientDependencyType.Javascript));
|
||||||
RegisterJsFiles(jsDependencies.ConvertAll<IClientDependencyFile>(a => { return (IClientDependencyFile)a; }));
|
RegisterJsFiles(jsDependencies.ConvertAll<IClientDependencyFile>(a => { return (IClientDependencyFile)a; }));
|
||||||
RegisterJsFiles(ProcessCompositeGroups(ClientDependencyType.Javascript));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<IClientDependencyFile> ProcessCompositeGroups(ClientDependencyType type)
|
private List<IClientDependencyFile> ProcessCompositeGroups(ClientDependencyType type)
|
||||||
{
|
{
|
||||||
List<ClientDependencyAttribute> dependencies = AllDependencies.FindAll(
|
List<IClientDependencyFile> dependencies = AllDependencies.FindAll(
|
||||||
delegate(ClientDependencyAttribute a)
|
delegate(IClientDependencyFile a)
|
||||||
{
|
{
|
||||||
return a.DependencyType == type && !string.IsNullOrEmpty(a.CompositeGroupName);
|
return a.DependencyType == type && !string.IsNullOrEmpty(a.CompositeGroupName);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
List<string> groups = new List<string>();
|
List<string> groups = new List<string>();
|
||||||
List<IClientDependencyFile> files = new List<IClientDependencyFile>();
|
List<IClientDependencyFile> files = new List<IClientDependencyFile>();
|
||||||
foreach (ClientDependencyAttribute a in dependencies)
|
foreach (IClientDependencyFile a in dependencies)
|
||||||
{
|
{
|
||||||
if (!groups.Contains(a.CompositeGroupName))
|
if (!groups.Contains(a.CompositeGroupName))
|
||||||
{
|
{
|
||||||
@@ -77,17 +103,18 @@ namespace umbraco.presentation.ClientDependency.Providers
|
|||||||
/// <param name="dependencies"></param>
|
/// <param name="dependencies"></param>
|
||||||
/// <param name="groupName"></param>
|
/// <param name="groupName"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private string ProcessCompositeGroup(List<ClientDependencyAttribute> dependencies, string groupName, ClientDependencyType type)
|
private string ProcessCompositeGroup(List<IClientDependencyFile> dependencies, string groupName, ClientDependencyType type)
|
||||||
{
|
{
|
||||||
string handler = "{0}?s={1}&t={2}";
|
string handler = "{0}?s={1}&t={2}";
|
||||||
StringBuilder files = new StringBuilder();
|
StringBuilder files = new StringBuilder();
|
||||||
List<ClientDependencyAttribute> byGroup = AllDependencies.FindAll(
|
List<IClientDependencyFile> byGroup = dependencies.FindAll(
|
||||||
delegate(ClientDependencyAttribute a)
|
delegate(IClientDependencyFile a)
|
||||||
{
|
{
|
||||||
return a.CompositeGroupName == groupName;
|
return a.CompositeGroupName == groupName;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
foreach (ClientDependencyAttribute a in dependencies)
|
byGroup.Sort((a, b) => a.Priority.CompareTo(b.Priority));
|
||||||
|
foreach (IClientDependencyFile a in byGroup)
|
||||||
{
|
{
|
||||||
files.Append(a.FilePath + ";");
|
files.Append(a.FilePath + ";");
|
||||||
}
|
}
|
||||||
@@ -113,7 +140,7 @@ namespace umbraco.presentation.ClientDependency.Providers
|
|||||||
/// <param name="control"></param>
|
/// <param name="control"></param>
|
||||||
private void UpdateFilePaths()
|
private void UpdateFilePaths()
|
||||||
{
|
{
|
||||||
foreach (ClientDependencyAttribute dependency in AllDependencies)
|
foreach (IClientDependencyFile dependency in AllDependencies)
|
||||||
{
|
{
|
||||||
if (!string.IsNullOrEmpty(dependency.PathNameAlias))
|
if (!string.IsNullOrEmpty(dependency.PathNameAlias))
|
||||||
{
|
{
|
||||||
@@ -149,6 +176,8 @@ namespace umbraco.presentation.ClientDependency.Providers
|
|||||||
public ClientDependencyType DependencyType { get; set; }
|
public ClientDependencyType DependencyType { get; set; }
|
||||||
public string InvokeJavascriptMethodOnLoad { get; set; }
|
public string InvokeJavascriptMethodOnLoad { get; set; }
|
||||||
public int Priority { get; set; }
|
public int Priority { get; set; }
|
||||||
|
public string CompositeGroupName { get; set; }
|
||||||
|
public string PathNameAlias { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
""
|
||||||
|
{
|
||||||
|
"FILE_VERSION" = "9237"
|
||||||
|
"ENLISTMENT_CHOICE" = "NEVER"
|
||||||
|
"PROJECT_FILE_RELATIVE_PATH" = ""
|
||||||
|
"NUMBER_OF_EXCLUDED_FILES" = "0"
|
||||||
|
"ORIGINAL_PROJECT_FILE_PATH" = ""
|
||||||
|
"NUMBER_OF_NESTED_PROJECTS" = "0"
|
||||||
|
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
|
||||||
|
}
|
||||||
@@ -7,7 +7,7 @@
|
|||||||
<title></title>
|
<title></title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<umb:ClientDependencyLoader runat="server" id="ClientLoader" EmbedType="ClientSideRegistration">
|
<umb:ClientDependencyLoader runat="server" id="ClientLoader" EmbedType="ClientSideRegistration" IsDebugMode="true" >
|
||||||
<Paths>
|
<Paths>
|
||||||
<umb:ClientDependencyPath Name="UmbracoClient" Path="~/umbraco_client" />
|
<umb:ClientDependencyPath Name="UmbracoClient" Path="~/umbraco_client" />
|
||||||
<umb:ClientDependencyPath Name="UmbracoRoot" Path='<%#umbraco.GlobalSettings.Path%>' />
|
<umb:ClientDependencyPath Name="UmbracoRoot" Path='<%#umbraco.GlobalSettings.Path%>' />
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by a tool.
|
// This code was generated by a tool.
|
||||||
// Runtime Version:2.0.50727.1433
|
// Runtime Version:2.0.50727.3074
|
||||||
//
|
//
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
// the code is regenerated.
|
// the code is regenerated.
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
<%@ Control Language="c#" AutoEventWireup="True" Codebehind="quickEdit.ascx.cs" Inherits="umbraco.presentation.dashboard.quickEdit" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" %>
|
<%@ Control Language="c#" AutoEventWireup="True" Codebehind="quickEdit.ascx.cs" Inherits="umbraco.presentation.dashboard.quickEdit" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" %>
|
||||||
|
<%@ Register TagPrefix="umb" Namespace="umbraco.presentation.ClientDependency" Assembly="umbraco.presentation.ClientDependency" %>
|
||||||
|
|
||||||
|
<umb:ClientDependencyInclude runat="server" ID="ClientDependencyInclude3" DependencyType="Javascript" FilePath="js/autocomplete/jquery.autocomplete.js" PathNameAlias="UmbracoRoot" />
|
||||||
|
|
||||||
<div class="umbracoSearchHolder">
|
<div class="umbracoSearchHolder">
|
||||||
<input type="text" id="umbSearchField" accesskey="s" name="umbSearch" value="<%=umbraco.ui.Text("general", "typeToSearch")%>" />
|
<input type="text" id="umbSearchField" accesskey="s" name="umbSearch" value="<%=umbraco.ui.Text("general", "typeToSearch")%>" />
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ namespace umbraco.presentation.dashboard
|
|||||||
{
|
{
|
||||||
|
|
||||||
//uses the library function instead, to load the script in the head..
|
//uses the library function instead, to load the script in the head..
|
||||||
library.RegisterJavaScriptFile("jqueryAutocomplete", GlobalSettings.Path + "/js/autocomplete/jquery.autocomplete.js");
|
//library.RegisterJavaScriptFile("jqueryAutocomplete", GlobalSettings.Path + "/js/autocomplete/jquery.autocomplete.js");
|
||||||
//library.RegisterJavaScriptFile("jqueryAutocompleteImplementation", GlobalSettings.Path + "/js/autocomplete/jquery.autocomplete.implementation.js");
|
//library.RegisterJavaScriptFile("jqueryAutocompleteImplementation", GlobalSettings.Path + "/js/autocomplete/jquery.autocomplete.implementation.js");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by a tool.
|
// This code was generated by a tool.
|
||||||
// Runtime Version:2.0.50727.3053
|
// Runtime Version:2.0.50727.3074
|
||||||
//
|
//
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
// the code is regenerated.
|
// the code is regenerated.
|
||||||
@@ -12,5 +12,14 @@ namespace umbraco.presentation.dashboard {
|
|||||||
|
|
||||||
|
|
||||||
public partial class quickEdit {
|
public partial class quickEdit {
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ClientDependencyInclude3 control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::umbraco.presentation.ClientDependency.ClientDependencyInclude ClientDependencyInclude3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,35 +10,39 @@
|
|||||||
<head runat="server">
|
<head runat="server">
|
||||||
<title>Umbraco CMS - <%=Request.Url.Host.ToLower().Replace("www.", "") %></title>
|
<title>Umbraco CMS - <%=Request.Url.Host.ToLower().Replace("www.", "") %></title>
|
||||||
<asp:PlaceHolder id="IActionJSFileRef" runat="server"></asp:PlaceHolder>
|
<asp:PlaceHolder id="IActionJSFileRef" runat="server"></asp:PlaceHolder>
|
||||||
<link href="css/umbracoGui.css" type="text/css" rel="stylesheet" />
|
|
||||||
<link href="/umbraco_client/modal/style.css" type="text/css" rel="stylesheet" />
|
|
||||||
<link rel="stylesheet" type="text/css" href="/umbraco_client/Tree/Themes/tree_component.css" />
|
|
||||||
|
|
||||||
<script type="text/javascript" src="/umbraco_client/Application/NamespaceManager.js"></script>
|
|
||||||
|
|
||||||
<script type="text/javascript" src="/umbraco_client/ui/jquery.js"></script>
|
|
||||||
<script type="text/javascript" src="/umbraco_client/ui/jqueryui.js"></script>
|
|
||||||
<script type="text/javascript" src="/umbraco_client/modal/modal.js"></script>
|
|
||||||
<script type="text/javascript" src="/umbraco_client/Application/JQuery/jquery.metadata.min.js"></script>
|
|
||||||
<script type="text/javascript" src="js/guiFunctions.js"></script>
|
|
||||||
<script type="text/javascript" src="js/language.aspx"></script>
|
|
||||||
|
|
||||||
<script type="text/javascript" src="/umbraco_client/Application/UmbracoApplicationActions.js"></script>
|
|
||||||
<script type="text/javascript" src="/umbraco_client/Application/UmbracoUtils.js"></script>
|
|
||||||
<script type="text/javascript" src="/umbraco_client/Application/UmbracoClientManager.js"></script>
|
|
||||||
|
|
||||||
<!-- Default js library for events, dimension utills etc -->
|
|
||||||
<script type="text/javascript" src="/umbraco_client/ui/default.js"></script>
|
|
||||||
|
|
||||||
<!-- Support to fix IE bug with multiple resize events -->
|
|
||||||
<script type="text/javascript" src="/umbraco_client/ui/jQueryWresize.js"></script>
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
this.name = 'umbracoMain';
|
this.name = 'umbracoMain';
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body id="umbracoMainPageBody">
|
<body id="umbracoMainPageBody">
|
||||||
|
<umb:ClientDependencyLoader runat="server" id="ClientLoader" EmbedType="Header" IsDebugMode="false" >
|
||||||
|
<Paths>
|
||||||
|
<umb:ClientDependencyPath Name="UmbracoClient" Path="~/umbraco_client" />
|
||||||
|
<umb:ClientDependencyPath Name="UmbracoRoot" Path='<%#umbraco.GlobalSettings.Path%>' />
|
||||||
|
</Paths>
|
||||||
|
</umb:ClientDependencyLoader>
|
||||||
|
|
||||||
|
<umb:ClientDependencyInclude runat="server" ID="ClientDependencyInclude3" DependencyType="Css" FilePath="css/umbracoGui.css" PathNameAlias="UmbracoRoot" />
|
||||||
|
<umb:ClientDependencyInclude runat="server" id="ClientDependencyInclude1" DependencyType="Css" FilePath="modal/style.css" PathNameAlias="UmbracoClient" />
|
||||||
|
<umb:ClientDependencyInclude runat="server" id="ClientDependencyInclude2" DependencyType="Css" FilePath="Tree/Themes/tree_component.css" PathNameAlias="UmbracoClient" />
|
||||||
|
|
||||||
|
<umb:ClientDependencyInclude runat="server" id="ClientDependencyInclude4" DependencyType="Javascript" FilePath="Application/NamespaceManager.js" PathNameAlias="UmbracoClient" Priority="0" CompositeGroupName="JSCore" />
|
||||||
|
<umb:ClientDependencyInclude runat="server" id="ClientDependencyInclude5" DependencyType="Javascript" FilePath="ui/jquery.js" PathNameAlias="UmbracoClient" Priority="0" CompositeGroupName="JSCore" />
|
||||||
|
<umb:ClientDependencyInclude runat="server" id="ClientDependencyInclude6" DependencyType="Javascript" FilePath="ui/jqueryui.js" PathNameAlias="UmbracoClient" Priority="1" CompositeGroupName="JSAddons" />
|
||||||
|
<umb:ClientDependencyInclude runat="server" id="ClientDependencyInclude8" DependencyType="Javascript" FilePath="Application/JQuery/jquery.metadata.min.js" PathNameAlias="UmbracoClient" Priority="1" CompositeGroupName="JSAddons" />
|
||||||
|
|
||||||
|
<umb:ClientDependencyInclude runat="server" id="ClientDependencyInclude7" DependencyType="Javascript" FilePath="modal/modal.js" PathNameAlias="UmbracoClient" />
|
||||||
|
<umb:ClientDependencyInclude runat="server" id="ClientDependencyInclude11" DependencyType="Javascript" FilePath="Application/UmbracoApplicationActions.js" PathNameAlias="UmbracoClient" CompositeGroupName="UmbApp" />
|
||||||
|
<umb:ClientDependencyInclude runat="server" id="ClientDependencyInclude12" DependencyType="Javascript" FilePath="Application/UmbracoUtils.js" PathNameAlias="UmbracoClient" CompositeGroupName="UmbApp" />
|
||||||
|
<umb:ClientDependencyInclude runat="server" id="ClientDependencyInclude13" DependencyType="Javascript" FilePath="Application/UmbracoClientManager.js" PathNameAlias="UmbracoClient" CompositeGroupName="UmbApp" />
|
||||||
|
|
||||||
|
<umb:ClientDependencyInclude runat="server" id="ClientDependencyInclude14" DependencyType="Javascript" FilePath="ui/default.js" PathNameAlias="UmbracoClient" CompositeGroupName="UmbApp" />
|
||||||
|
<umb:ClientDependencyInclude runat="server" id="ClientDependencyInclude15" DependencyType="Javascript" FilePath="ui/jQueryWresize.js" PathNameAlias="UmbracoClient" CompositeGroupName="UmbApp" />
|
||||||
|
<umb:ClientDependencyInclude runat="server" id="ClientDependencyInclude9" DependencyType="Javascript" FilePath="js/guiFunctions.js" PathNameAlias="UmbracoRoot" CompositeGroupName="UmbApp" />
|
||||||
|
<umb:ClientDependencyInclude runat="server" id="ClientDependencyInclude10" DependencyType="Javascript" FilePath="js/language.aspx" PathNameAlias="UmbracoRoot" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<form id="Form1" method="post" runat="server" style="margin: 0px; padding: 0px">
|
<form id="Form1" method="post" runat="server" style="margin: 0px; padding: 0px">
|
||||||
|
|||||||
146
umbraco/presentation/umbraco/umbraco.aspx.designer.cs
generated
146
umbraco/presentation/umbraco/umbraco.aspx.designer.cs
generated
@@ -1,7 +1,7 @@
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by a tool.
|
// This code was generated by a tool.
|
||||||
// Runtime Version:2.0.50727.1433
|
// Runtime Version:2.0.50727.3074
|
||||||
//
|
//
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
// the code is regenerated.
|
// the code is regenerated.
|
||||||
@@ -22,6 +22,150 @@ namespace umbraco.cms.presentation {
|
|||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.WebControls.PlaceHolder IActionJSFileRef;
|
protected global::System.Web.UI.WebControls.PlaceHolder IActionJSFileRef;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ClientLoader control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::umbraco.presentation.ClientDependency.ClientDependencyLoader ClientLoader;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ClientDependencyInclude3 control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::umbraco.presentation.ClientDependency.ClientDependencyInclude ClientDependencyInclude3;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ClientDependencyInclude1 control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::umbraco.presentation.ClientDependency.ClientDependencyInclude ClientDependencyInclude1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ClientDependencyInclude2 control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::umbraco.presentation.ClientDependency.ClientDependencyInclude ClientDependencyInclude2;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ClientDependencyInclude4 control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::umbraco.presentation.ClientDependency.ClientDependencyInclude ClientDependencyInclude4;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ClientDependencyInclude5 control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::umbraco.presentation.ClientDependency.ClientDependencyInclude ClientDependencyInclude5;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ClientDependencyInclude6 control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::umbraco.presentation.ClientDependency.ClientDependencyInclude ClientDependencyInclude6;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ClientDependencyInclude8 control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::umbraco.presentation.ClientDependency.ClientDependencyInclude ClientDependencyInclude8;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ClientDependencyInclude7 control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::umbraco.presentation.ClientDependency.ClientDependencyInclude ClientDependencyInclude7;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ClientDependencyInclude11 control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::umbraco.presentation.ClientDependency.ClientDependencyInclude ClientDependencyInclude11;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ClientDependencyInclude12 control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::umbraco.presentation.ClientDependency.ClientDependencyInclude ClientDependencyInclude12;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ClientDependencyInclude13 control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::umbraco.presentation.ClientDependency.ClientDependencyInclude ClientDependencyInclude13;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ClientDependencyInclude14 control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::umbraco.presentation.ClientDependency.ClientDependencyInclude ClientDependencyInclude14;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ClientDependencyInclude15 control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::umbraco.presentation.ClientDependency.ClientDependencyInclude ClientDependencyInclude15;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ClientDependencyInclude9 control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::umbraco.presentation.ClientDependency.ClientDependencyInclude ClientDependencyInclude9;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ClientDependencyInclude10 control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::umbraco.presentation.ClientDependency.ClientDependencyInclude ClientDependencyInclude10;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Form1 control.
|
/// Form1 control.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -281,7 +281,7 @@ Umbraco.Sys.registerNamespace("Umbraco.Controls");
|
|||||||
this._debug("reloadActionNode: loading ajax for node: " + nodeDef.nodeId);
|
this._debug("reloadActionNode: loading ajax for node: " + nodeDef.nodeId);
|
||||||
var _this = this;
|
var _this = this;
|
||||||
//replace the node to refresh with loading and return the new loading element
|
//replace the node to refresh with loading and return the new loading element
|
||||||
var toReplace = $("<li class='last'><a class='loading' href='#'>" + (this._tree.settings.lang.loading || "Loading ...") + "</a></li>").replaceAll(this._actionNode.jsNode);
|
var toReplace = $("<li class='last'><a class='loading' href='#'><div>" + (this._tree.settings.lang.loading || "Loading ...") + "</div></a></li>").replaceAll(this._actionNode.jsNode);
|
||||||
$.get(this._getUrl(nodeDef.sourceUrl), null,
|
$.get(this._getUrl(nodeDef.sourceUrl), null,
|
||||||
function(msg) {
|
function(msg) {
|
||||||
if (!msg || msg.length == 0) {
|
if (!msg || msg.length == 0) {
|
||||||
@@ -741,6 +741,10 @@ Umbraco.Sys.registerNamespace("Umbraco.Controls");
|
|||||||
theme_name: "umbraco",
|
theme_name: "umbraco",
|
||||||
context: null //no context menu by default
|
context: null //no context menu by default
|
||||||
},
|
},
|
||||||
|
lang : {
|
||||||
|
new_node : "New folder",
|
||||||
|
loading : "<div>" + (this._tree.settings.lang.loading || "Loading ...") + "</div>"
|
||||||
|
},
|
||||||
rules: {
|
rules: {
|
||||||
metadata: "umb:nodedata",
|
metadata: "umb:nodedata",
|
||||||
creatable: "none"
|
creatable: "none"
|
||||||
|
|||||||
Reference in New Issue
Block a user