* Adds TinyMCE JS assets into init page load via script in default.cshtml view for Umbraco backoffice ng-app
* Add TinyMCE JS assets array via NG app.value & uses assetsService to load (if not loaded in time by main init script above)
This commit is contained in:
@@ -60,6 +60,26 @@ namespace Umbraco.Web.JavaScript
|
||||
return WriteScript(jarray.ToString(), IOHelper.ResolveUrl(SystemDirectories.Umbraco), angularModule);
|
||||
}
|
||||
|
||||
public static string GetTinyJavascriptInitialization(HttpContextBase httpContext, IEnumerable<string> scripts)
|
||||
{
|
||||
var rawJs = new StringBuilder();
|
||||
rawJs.AppendLine("LazyLoad.js([");
|
||||
|
||||
var first = true;
|
||||
foreach (var file in scripts)
|
||||
{
|
||||
if (first) first = false;
|
||||
else rawJs.AppendLine(",");
|
||||
rawJs.Append("\"");
|
||||
rawJs.Append(file);
|
||||
rawJs.Append("\"");
|
||||
|
||||
}
|
||||
rawJs.Append("]);");
|
||||
|
||||
return rawJs.ToString();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns a list of optimized script paths for the back office
|
||||
/// </summary>
|
||||
@@ -131,6 +151,17 @@ namespace Umbraco.Web.JavaScript
|
||||
return resources.Where(x => x.Type == JTokenType.String).Select(x => x.ToString());
|
||||
}
|
||||
|
||||
internal static IEnumerable<string> GetTinyMceInitialization()
|
||||
{
|
||||
var resources = JsonConvert.DeserializeObject<JArray>(Resources.TinyMceInitialize);
|
||||
return resources.Where(x => x.Type == JTokenType.String).Select(x => x.ToString());
|
||||
}
|
||||
|
||||
internal static IEnumerable<string> OptimizeTinyMceScriptFiles(HttpContextBase httpContext)
|
||||
{
|
||||
return OptimizeScriptFiles(httpContext, GetTinyMceInitialization());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Parses the JsResources.Main and replaces the replacement tokens accordingly.
|
||||
/// </summary>
|
||||
|
||||
12
src/Umbraco.Web/JavaScript/Resources.Designer.cs
generated
12
src/Umbraco.Web/JavaScript/Resources.Designer.cs
generated
@@ -146,5 +146,17 @@ namespace Umbraco.Web.JavaScript {
|
||||
return ResourceManager.GetString("ServerVariables", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to [
|
||||
/// '../lib/tinymce/tinymce.min.js',
|
||||
///]
|
||||
///.
|
||||
/// </summary>
|
||||
internal static string TinyMceInitialize {
|
||||
get {
|
||||
return ResourceManager.GetString("TinyMceInitialize", resourceCulture);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -130,4 +130,7 @@
|
||||
<data name="ServerVariables" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>servervariables.js;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
|
||||
</data>
|
||||
</root>
|
||||
<data name="TinyMceInitialize" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>TinyMceInitialize.js;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
|
||||
</data>
|
||||
</root>
|
||||
19
src/Umbraco.Web/JavaScript/TinyMceInitialize.js
Normal file
19
src/Umbraco.Web/JavaScript/TinyMceInitialize.js
Normal file
@@ -0,0 +1,19 @@
|
||||
[
|
||||
'lib/tinymce/tinymce.min.js',
|
||||
|
||||
'lib/tinymce/langs/en_us.js',
|
||||
|
||||
'lib/tinymce/plugins/paste/plugin.min.js',
|
||||
'lib/tinymce/plugins/anchor/plugin.min.js',
|
||||
'lib/tinymce/plugins/charmap/plugin.min.js',
|
||||
'lib/tinymce/plugins/table/plugin.min.js',
|
||||
'lib/tinymce/plugins/lists/plugin.min.js',
|
||||
'lib/tinymce/plugins/advlist/plugin.min.js',
|
||||
'lib/tinymce/plugins/hr/plugin.min.js',
|
||||
'lib/tinymce/plugins/autolink/plugin.min.js',
|
||||
'lib/tinymce/plugins/directionality/plugin.min.js',
|
||||
'lib/tinymce/plugins/tabfocus/plugin.min.js',
|
||||
'lib/tinymce/plugins/searchreplace/plugin.min.js',
|
||||
'lib/tinymce/plugins/fullscreen/plugin.min.js',
|
||||
'lib/tinymce/plugins/noneditable/plugin.min.js'
|
||||
]
|
||||
Reference in New Issue
Block a user