diff --git a/app/assets/javascripts/app/controllers/editor.js b/app/assets/javascripts/app/controllers/editor.js index 5b92269f1..6786d7ae0 100644 --- a/app/assets/javascripts/app/controllers/editor.js +++ b/app/assets/javascripts/app/controllers/editor.js @@ -24,7 +24,7 @@ angular.module('app') }) .controller('EditorCtrl', function ($sce, $timeout, authManager, $rootScope, actionsManager, syncManager, modelManager, themeManager, componentManager, storageManager, sessionHistory, - privilegesManager, keyboardManager) { + privilegesManager, keyboardManager, desktopManager) { this.spellcheck = true; this.componentManager = componentManager; @@ -644,6 +644,10 @@ angular.module('app') Components */ + this.onEditorLoad = function(editor) { + desktopManager.redoSearch(); + } + componentManager.registerHandler({identifier: "editor", areas: ["note-tags", "editor-stack", "editor-editor"], activationHandler: (component) => { if(component.area === "note-tags") { // Autocomplete Tags diff --git a/app/assets/javascripts/app/directives/views/componentView.js b/app/assets/javascripts/app/directives/views/componentView.js index e6aa0e3c7..97bda8d53 100644 --- a/app/assets/javascripts/app/directives/views/componentView.js +++ b/app/assets/javascripts/app/directives/views/componentView.js @@ -5,6 +5,7 @@ class ComponentView { this.templateUrl = "directives/component-view.html"; this.scope = { component: "=", + onLoad: "=", manualDealloc: "=" }; @@ -118,6 +119,7 @@ class ComponentView { $timeout(() => { $scope.loading = false; $scope.issueLoading = desktopError; /* Typically we'd just set this to false at this point, but we now account for desktopError */ + $scope.onLoad && $scope.onLoad($scope.component); }, 7) }) diff --git a/app/assets/javascripts/app/services/desktopManager.js b/app/assets/javascripts/app/services/desktopManager.js index 30c5957df..eb1e6e866 100644 --- a/app/assets/javascripts/app/services/desktopManager.js +++ b/app/assets/javascripts/app/services/desktopManager.js @@ -70,9 +70,16 @@ class DesktopManager { if(!this.isDesktop) { return; } + this.lastSearchedText = text; this.searchHandler(text); } + redoSearch() { + if(this.lastSearchedText) { + this.searchText(this.lastSearchedText); + } + } + deregisterUpdateObserver(observer) { _.pull(this.updateObservers, observer); diff --git a/app/assets/templates/editor.html.haml b/app/assets/templates/editor.html.haml index f8b022904..084927059 100644 --- a/app/assets/templates/editor.html.haml +++ b/app/assets/templates/editor.html.haml @@ -75,7 +75,7 @@ %panel-resizer.left{"ng-if" => "ctrl.marginResizersEnabled", "panel-id" => "'editor-content'", "on-resize-finish" => "ctrl.onPanelResizeFinish","control" => "ctrl.leftResizeControl", "min-width" => 300, "property" => "'left'", "hoverable" => "true"} - %component-view.component-view{"ng-if" => "ctrl.selectedEditor", "component" => "ctrl.selectedEditor"} + %component-view.component-view{"ng-if" => "ctrl.selectedEditor", "component" => "ctrl.selectedEditor", "on-load" => "ctrl.onEditorLoad"} %textarea.editable#note-text-editor{"ng-if" => "!ctrl.selectedEditor", "ng-model" => "ctrl.note.text", "ng-readonly" => "ctrl.note.locked", "ng-change" => "ctrl.contentChanged()", "ng-trim" => "false", "ng-click" => "ctrl.clickedTextArea()",