diff --git a/components/editorControls/macrocontainer/Editor.cs b/components/editorControls/macrocontainer/Editor.cs index ef86d6bce9..aac24f93c4 100644 --- a/components/editorControls/macrocontainer/Editor.cs +++ b/components/editorControls/macrocontainer/Editor.cs @@ -15,7 +15,7 @@ using ClientDependency.Core.Controls; namespace umbraco.editorControls.macrocontainer { - //[ClientDependency(100, ClientDependencyType.Javascript, "webservices/MacroContainerService.asmx/js", "UmbracoRoot")] + [ClientDependency(100, ClientDependencyType.Javascript, "webservices/MacroContainerService.asmx/js", "UmbracoRoot", ForceProvider = "CanvasProvider")] public class Editor : UpdatePanel, IDataEditor { private IData _data; diff --git a/components/editorControls/mediapicker/mediaChooser.cs b/components/editorControls/mediapicker/mediaChooser.cs index c388531f77..d5034a67cd 100644 --- a/components/editorControls/mediapicker/mediaChooser.cs +++ b/components/editorControls/mediapicker/mediaChooser.cs @@ -3,6 +3,8 @@ using System.Web.UI; using umbraco.cms.presentation.Trees; using ClientDependency.Core; +using umbraco.presentation; +using ClientDependency.Core.Controls; namespace umbraco.editorControls { /// @@ -10,7 +12,7 @@ namespace umbraco.editorControls /// [ClientDependency(100, ClientDependencyType.Css, "js/submodal/submodal.css", "UmbracoRoot")] [ClientDependency(101, ClientDependencyType.Javascript, "js/submodal/common.js", "UmbracoRoot")] - [ClientDependency(102, ClientDependencyType.Javascript, "js/submodal/submodal.js", "UmbracoRoot", InvokeJavascriptMethodOnLoad = "initPopUp")] + [ClientDependency(102, ClientDependencyType.Javascript, "js/submodal/submodal.js", "UmbracoRoot", InvokeJavascriptMethodOnLoad = "initPopUp")] [ValidationProperty("Value")] public class mediaChooser : System.Web.UI.WebControls.HiddenField, interfaces.IDataEditor { @@ -70,7 +72,10 @@ namespace umbraco.editorControls base.OnLoad(e); // We need to make sure we have a reference to the legacy ajax calls in the scriptmanager - presentation.webservices.ajaxHelpers.EnsureLegacyCalls(base.Page); + if (!UmbracoContext.Current.LiveEditingContext.Enabled) + presentation.webservices.ajaxHelpers.EnsureLegacyCalls(base.Page); + else + ClientDependencyLoader.Instance.RegisterDependency("webservices/legacyAjaxCalls.asmx/js", "UmbracoRoot", ClientDependencyType.Javascript); // And a reference to the media picker calls ScriptManager sm = ScriptManager.GetCurrent(base.Page); diff --git a/components/editorControls/pagepicker/pagePicker.cs b/components/editorControls/pagepicker/pagePicker.cs index 96f97e21f3..b359020a9c 100644 --- a/components/editorControls/pagepicker/pagePicker.cs +++ b/components/editorControls/pagepicker/pagePicker.cs @@ -3,6 +3,8 @@ using System.Web.UI; using umbraco.cms.presentation.Trees; using ClientDependency.Core; +using umbraco.presentation; +using ClientDependency.Core.Controls; namespace umbraco.editorControls { /// @@ -10,7 +12,7 @@ namespace umbraco.editorControls /// [ClientDependency(100, ClientDependencyType.Css, "js/submodal/submodal.css", "UmbracoRoot")] [ClientDependency(101, ClientDependencyType.Javascript, "js/submodal/common.js", "UmbracoRoot")] - [ClientDependency(102, ClientDependencyType.Javascript, "js/submodal/submodal.js", "UmbracoRoot", InvokeJavascriptMethodOnLoad = "initPopUp")] + [ClientDependency(102, ClientDependencyType.Javascript, "js/submodal/submodal.js", "UmbracoRoot", InvokeJavascriptMethodOnLoad = "initPopUp")] [ValidationProperty("Value")] public class pagePicker : System.Web.UI.WebControls.HiddenField, interfaces.IDataEditor { @@ -52,7 +54,10 @@ namespace umbraco.editorControls base.OnInit(e); // We need to make sure we have a reference to the legacy ajax calls in the scriptmanager - presentation.webservices.ajaxHelpers.EnsureLegacyCalls(base.Page); + if (!UmbracoContext.Current.LiveEditingContext.Enabled) + presentation.webservices.ajaxHelpers.EnsureLegacyCalls(base.Page); + else + ClientDependencyLoader.Instance.RegisterDependency("webservices/legacyAjaxCalls.asmx/js", "UmbracoRoot", ClientDependencyType.Javascript); if (_data != null && _data.Value != null) base.Value = _data.Value.ToString(); diff --git a/foreign dlls/ClientDependency.Core.dll b/foreign dlls/ClientDependency.Core.dll index d1925b4799..b187914b68 100644 Binary files a/foreign dlls/ClientDependency.Core.dll and b/foreign dlls/ClientDependency.Core.dll differ diff --git a/umbraco.sln b/umbraco.sln index 60f645396b..849b0834c6 100644 --- a/umbraco.sln +++ b/umbraco.sln @@ -4,8 +4,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution ProjectSection(SolutionItems) = preProject foreign dlls\AjaxControlToolkit.dll = foreign dlls\AjaxControlToolkit.dll build.xml = build.xml + foreign dlls\ClientDependency.Core.dll = foreign dlls\ClientDependency.Core.dll foreign dlls\CookComputing.XmlRpcV2.dll = foreign dlls\CookComputing.XmlRpcV2.dll - foreign dlls\ICSharpCode.SharpZipLib.dll = foreign dlls\ICSharpCode.SharpZipLib.dll foreign dlls\IronMath.dll = foreign dlls\IronMath.dll IronPython License.Rtf = IronPython License.Rtf foreign dlls\IronPython.dll = foreign dlls\IronPython.dll @@ -13,11 +13,17 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution foreign dlls\Lucene.Net.dll = foreign dlls\Lucene.Net.dll foreign dlls\Microsoft.ApplicationBlocks.Data.dll = foreign dlls\Microsoft.ApplicationBlocks.Data.dll foreign dlls\MySql.Data.dll = foreign dlls\MySql.Data.dll + foreign dlls\System.Web.Abstractions.dll = foreign dlls\System.Web.Abstractions.dll + foreign dlls\System.Web.Abstractions.xml = foreign dlls\System.Web.Abstractions.xml foreign dlls\TidyNet.dll = foreign dlls\TidyNet.dll umbraco weekly.build = umbraco weekly.build umbraco.build = umbraco.build + foreign dlls\umbraco.Linq.DTMetal.CodeBuilder.dll = foreign dlls\umbraco.Linq.DTMetal.CodeBuilder.dll foreign dlls\umbraco.Linq.DTMetal.Engine.dll = foreign dlls\umbraco.Linq.DTMetal.Engine.dll + foreign dlls\UmbracoExamine.Core.dll = foreign dlls\UmbracoExamine.Core.dll + foreign dlls\UmbracoExamine.Providers.dll = foreign dlls\UmbracoExamine.Providers.dll foreign dlls\UrlRewritingNet.UrlRewriter.dll = foreign dlls\UrlRewritingNet.UrlRewriter.dll + foreign dlls\VistaDB For Umbraco.dll = foreign dlls\VistaDB For Umbraco.dll foreign dlls\VistaDB.NET20.dll = foreign dlls\VistaDB.NET20.dll EndProjectSection EndProject diff --git a/umbraco/presentation/config/ClientDependency.config b/umbraco/presentation/config/ClientDependency.config index 4a928fe90e..46a747e948 100644 --- a/umbraco/presentation/config/ClientDependency.config +++ b/umbraco/presentation/config/ClientDependency.config @@ -1,8 +1,9 @@ - + + diff --git a/umbraco/presentation/umbraco.presentation.csproj b/umbraco/presentation/umbraco.presentation.csproj index d750947f13..6e3a4fb3f1 100644 --- a/umbraco/presentation/umbraco.presentation.csproj +++ b/umbraco/presentation/umbraco.presentation.csproj @@ -1,6 +1,6 @@  - 9.0.21022 + 9.0.30729 2.0 {651E1350-91B6-44B7-BD60-7207006D7003} {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} @@ -940,6 +940,7 @@ keepalive.aspx + @@ -2738,7 +2739,6 @@ umbraco.xsd - diff --git a/umbraco/presentation/umbraco/LiveEditing/CanvasClientDependencyProvider.cs b/umbraco/presentation/umbraco/LiveEditing/CanvasClientDependencyProvider.cs new file mode 100644 index 0000000000..310254afe0 --- /dev/null +++ b/umbraco/presentation/umbraco/LiveEditing/CanvasClientDependencyProvider.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using ClientDependency.Core.FileRegistration.Providers; +using umbraco.presentation; + +namespace umbraco.presentation.LiveEditing +{ + public class CanvasClientDependencyProvider : LazyLoadProvider + { + protected override void ProcessSingleCssFile(string css) + { + if (UmbracoContext.Current.LiveEditingContext.Enabled) + base.ProcessSingleCssFile(css); + } + + protected override void ProcessSingleJsFile(string js) + { + if (UmbracoContext.Current.LiveEditingContext.Enabled) + base.ProcessSingleJsFile(js); + } + + //protected override void RegisterCssFiles(List cssDependencies) + //{ + // throw new NotImplementedException(); + //} + + //protected override void RegisterJsFiles(List jsDependencies) + //{ + // throw new NotImplementedException(); + //} + } +} diff --git a/umbraco/presentation/umbraco/controls/ContentPicker.cs b/umbraco/presentation/umbraco/controls/ContentPicker.cs index 4ea2c457d5..95cffaa2d9 100644 --- a/umbraco/presentation/umbraco/controls/ContentPicker.cs +++ b/umbraco/presentation/umbraco/controls/ContentPicker.cs @@ -9,16 +9,17 @@ using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using umbraco.cms.presentation.Trees; using ClientDependency.Core; +using umbraco.presentation; +using ClientDependency.Core.Controls; namespace umbraco.controls { - [ClientDependency(ClientDependencyType.Javascript, "js/xmlextras.js", "UmbracoRoot")] [ClientDependency(ClientDependencyType.Javascript, "js/xmlRequest.js", "UmbracoRoot")] [ClientDependency(ClientDependencyType.Javascript, "webservices/ajax.js", "UmbracoRoot")] [ClientDependency(ClientDependencyType.Javascript, "js/submodal/common.js", "UmbracoRoot")] [ClientDependency(ClientDependencyType.Javascript, "js/submodal/subModal.js", "UmbracoRoot")] - [ClientDependency(ClientDependencyType.Css, "js/submodal/subModal.css", "UmbracoRoot")] + [ClientDependency(ClientDependencyType.Css, "js/submodal/subModal.css", "UmbracoRoot")] public class ContentPicker : System.Web.UI.WebControls.WebControl { @@ -80,7 +81,10 @@ namespace umbraco.controls base.OnInit(e); // We need to make sure we have a reference to the legacy ajax calls in the scriptmanager - presentation.webservices.ajaxHelpers.EnsureLegacyCalls(base.Page); + if (!UmbracoContext.Current.LiveEditingContext.Enabled) + presentation.webservices.ajaxHelpers.EnsureLegacyCalls(base.Page); + else + ClientDependencyLoader.Instance.RegisterDependency("webservices/legacyAjaxCalls.asmx/js", "UmbracoRoot", ClientDependencyType.Javascript); } diff --git a/umbraco/presentation/umbraco_client/Application/UmbracoApplicationActions.js b/umbraco/presentation/umbraco_client/Application/UmbracoApplicationActions.js index 7122d420d3..8253fa276a 100644 --- a/umbraco/presentation/umbraco_client/Application/UmbracoApplicationActions.js +++ b/umbraco/presentation/umbraco_client/Application/UmbracoApplicationActions.js @@ -24,12 +24,12 @@ Umbraco.Application.Actions = function() { addEventHandler: function(fnName, fn) { /// Adds an event listener to the event name event - jQuery(this).bind(fnName, fn); + if (typeof(jQuery)!="undefined") jQuery(this).bind(fnName, fn); //if there's no jQuery, there is no events }, removeEventHandler: function(fnName, fn) { /// Removes an event listener to the event name event - jQuery(this).unbind(fnName, fn); + if (typeof (jQuery) != "undefined") jQuery(this).unbind(fnName, fn); //if there's no jQuery, there is no events }, launchHelp: function(lang, userType) { diff --git a/umbraco/presentation/umbraco_client/Application/UmbracoClientManager.js b/umbraco/presentation/umbraco_client/Application/UmbracoClientManager.js index b6008ce168..59069173f2 100644 --- a/umbraco/presentation/umbraco_client/Application/UmbracoClientManager.js +++ b/umbraco/presentation/umbraco_client/Application/UmbracoClientManager.js @@ -16,6 +16,7 @@ Umbraco.Sys.registerNamespace("Umbraco.Application"); _debug: false, _mainTree: null, + _appActions: null, _rootPath: "/umbraco", //this is the default @@ -40,7 +41,10 @@ Umbraco.Sys.registerNamespace("Umbraco.Application"); /// if (this._mainTree == null) { - if (this.mainWindow().jQuery(".umbTree").UmbracoTreeAPI() == null) { + if (this.mainWindow().jQuery == null + || this.mainWindow().jQuery(".umbTree").length == 0 + || this.mainWindow().jQuery(".umbTree").UmbracoTreeAPI() == null) { + this._mainTree = $("
").appendTo("body").hide().UmbracoTree({ uiKeys: this.uiKeys(), jsonFullMenu: {}, @@ -59,12 +63,14 @@ Umbraco.Sys.registerNamespace("Umbraco.Application"); /// Returns a reference to the application actions object /// - //TODO: If there is no main window, we need to go retrieve the appActions from the server! - if (typeof this.mainWindow().appActions == 'undefined') { - var w = this.mainWindow(); - w.appActions = new Umbraco.Application.Actions(); + //if the main window has no actions, we'll create some + if (this._appActions == null) { + if (typeof this.mainWindow().appActions == 'undefined') { + this._appActions = new Umbraco.Application.Actions(); + } + else this._appActions = this.mainWindow().appActions; } - return this.mainWindow().appActions; + return this._appActions; }, uiKeys: function() { /// @@ -100,7 +106,7 @@ Umbraco.Sys.registerNamespace("Umbraco.Application"); } this._debug("contentFrame: parsed location: " + strLocation); - + this.mainWindow().right.location.href = strLocation; } },