diff --git a/.gitignore b/.gitignore index acf91f9d8be7..89af9b162b81 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,10 @@ src/Bloom.suo *.user -lib/GeckoFx/Skybound.Gecko/* -output/* +lib/GeckoFx/Skybound.Gecko/ +output/ */.svn -*/bin/* -*/obj +bin/ +obj/ userProject templates/A4LandscapeBooklet/starter.pdf src/_ReSharper.Bloom/* @@ -89,6 +89,6 @@ DistFiles/ReleaseNotes.html ReadMe_*.html B3.sln B2.sln -node_modules/* +node_modules/ *.usertasks Andika-R.ttf diff --git a/src/BloomBrowserUI/bookEdit/readerSetup/readerSetup.ui.js b/src/BloomBrowserUI/bookEdit/readerSetup/readerSetup.ui.js index 4555d5ffb53c..cbd5a2ddcd8d 100644 --- a/src/BloomBrowserUI/bookEdit/readerSetup/readerSetup.ui.js +++ b/src/BloomBrowserUI/bookEdit/readerSetup/readerSetup.ui.js @@ -594,19 +594,6 @@ function firstSetupLetters() { return false; } -/** -* Fires an event for C# to handle. -* The listeners in C# are set up in EditingModel.cs, in the function "DocumentCompleted()", and using this -* syntax: _view.AddMessageEventListener("nameOfEvent", FunctionThatHandlesTheEvent); -* @param {String} eventName -* @param {String} eventData Note: use JSON.stringify if passing object data. -*/ -function fireCSharpSetupEvent(eventName, eventData) { - //noinspection TaskProblemsInspection - var event = new MessageEvent(eventName, { 'view': window, 'bubbles': true, 'cancelable': true, 'data': eventData }); - document.dispatchEvent(event); -} - /** * Event handlers * @@ -617,7 +604,7 @@ function fireCSharpSetupEvent(eventName, eventData) { function attachEventHandlers() { if (typeof ($) === "function") { $("#open-text-folder").onOnce('click', function () { - fireCSharpSetupEvent('openTextsFolderEvent', 'open'); + getIframeChannel().simpleAjaxNoCallback('/bloom/readers/openTextsFolder'); return false; }); diff --git a/src/BloomBrowserUI/bookEdit/readerSetup/readerSetup.ui.ts b/src/BloomBrowserUI/bookEdit/readerSetup/readerSetup.ui.ts index e5826f6056fa..ef376548baa4 100644 --- a/src/BloomBrowserUI/bookEdit/readerSetup/readerSetup.ui.ts +++ b/src/BloomBrowserUI/bookEdit/readerSetup/readerSetup.ui.ts @@ -610,20 +610,6 @@ function firstSetupLetters(): boolean { return false; } -/** - * Fires an event for C# to handle. - * The listeners in C# are set up in EditingModel.cs, in the function "DocumentCompleted()", and using this - * syntax: _view.AddMessageEventListener("nameOfEvent", FunctionThatHandlesTheEvent); - * @param {String} eventName - * @param {String} eventData Note: use JSON.stringify if passing object data. - */ -function fireCSharpSetupEvent(eventName: string, eventData: any) { - - //noinspection TaskProblemsInspection - var event = new MessageEvent(eventName, {'view' : window, 'bubbles' : true, 'cancelable' : true, 'data' : eventData}); - document.dispatchEvent(event); -} - /** * Event handlers * @@ -636,7 +622,7 @@ function attachEventHandlers(): void { if (typeof ($) === "function") { $("#open-text-folder").onOnce('click', function() { - fireCSharpSetupEvent('openTextsFolderEvent', 'open'); + getIframeChannel().simpleAjaxNoCallback('/bloom/readers/openTextsFolder'); return false; }); diff --git a/src/BloomExe/Edit/EditingModel.cs b/src/BloomExe/Edit/EditingModel.cs index 4d9c51a68906..a37bc35e09ce 100644 --- a/src/BloomExe/Edit/EditingModel.cs +++ b/src/BloomExe/Edit/EditingModel.cs @@ -565,7 +565,6 @@ void OnIdleAfterDocumentSupposedlyCompleted(object sender, EventArgs e) } // listen for events raised by javascript _view.AddMessageEventListener("saveAccordionSettingsEvent", SaveAccordionSettings); - _view.AddMessageEventListener("openTextsFolderEvent", OpenTextsFolder); _view.AddMessageEventListener("setModalStateEvent", SetModalState); _view.AddMessageEventListener("preparePageForEditingAfterOrigamiChangesEvent", PreparePageForEditingAfterOrigamiChanges); } @@ -695,16 +694,6 @@ private static string CleanUpJsonDataForJavascript(string jsonData) return CleanUpDataForJavascript(jsonData); } - /// Opens Explorer (or Linux equivalent) displaying the contents of the Sample Texts directory - /// Not Used, but required because it is being called by a javascrip MessageEvent - private void OpenTextsFolder(string arg) - { - if (_collectionSettings.SettingsFilePath == null) return; - var path = Path.Combine(Path.GetDirectoryName(_collectionSettings.SettingsFilePath), "Sample Texts"); - if (!Directory.Exists(path)) Directory.CreateDirectory(path); - Process.Start(path); - } - private string MakeAccordionContent() { var path = FileLocator.GetFileDistributedWithApplication("BloomBrowserUI/bookEdit/accordion", "Accordion.htm"); diff --git a/src/BloomExe/web/ReadersHandler.cs b/src/BloomExe/web/ReadersHandler.cs index d6a0aab724fc..8a2d6f27546a 100644 --- a/src/BloomExe/web/ReadersHandler.cs +++ b/src/BloomExe/web/ReadersHandler.cs @@ -81,6 +81,12 @@ public static bool HandleRequest(string localPath, IRequestInfo info, Collection info.ContentType = "text/plain"; info.WriteCompleteOutput("OK"); return true; + + case "openTextsFolder": + OpenTextsFolder(); + info.ContentType = "text/plain"; + info.WriteCompleteOutput("OK"); + return true; } return false; @@ -275,5 +281,13 @@ private static string SaveReaderToolsWordsFile(string jsonString) return "OK"; } + + private static void OpenTextsFolder() + { + if (CurrentBook.CollectionSettings.SettingsFilePath == null) return; + var path = Path.Combine(Path.GetDirectoryName(CurrentBook.CollectionSettings.SettingsFilePath), "Sample Texts"); + if (!Directory.Exists(path)) Directory.CreateDirectory(path); + Process.Start(path); + } } }