diff --git a/app/assets/javascripts/app/services/directives/views/contextualExtensionsMenu.js b/app/assets/javascripts/app/services/directives/views/contextualExtensionsMenu.js index f9a57b1b6..c33d0bf59 100644 --- a/app/assets/javascripts/app/services/directives/views/contextualExtensionsMenu.js +++ b/app/assets/javascripts/app/services/directives/views/contextualExtensionsMenu.js @@ -21,10 +21,6 @@ class ContextualExtensionsMenu { ext.loading = true; extensionManager.loadExtensionInContextOfItem(ext, $scope.item, function(scopedExtension) { ext.loading = false; - if(scopedExtension) { - _.merge(ext, scopedExtension); - ext.actions = scopedExtension.actions; - } }) } @@ -37,6 +33,9 @@ class ContextualExtensionsMenu { extensionManager.executeAction(action, extension, $scope.item, function(response){ action.running = false; $scope.handleActionResponse(action, response); + + // reload extension actions + extensionManager.loadExtensionInContextOfItem(extension, $scope.item, null); }) } diff --git a/app/assets/javascripts/app/services/extensionManager.js b/app/assets/javascripts/app/services/extensionManager.js index d271e72cf..3d15826ec 100644 --- a/app/assets/javascripts/app/services/extensionManager.js +++ b/app/assets/javascripts/app/services/extensionManager.js @@ -80,10 +80,18 @@ class ExtensionManager { this.httpManager.getAbsolute(extension.url, {content_type: item.content_type, item_uuid: item.uuid}, function(response){ var scopedExtension = new Extension(response); - callback(scopedExtension); + if(scopedExtension) { + _.merge(extension, scopedExtension); + extension.actions = scopedExtension.actions; + } + if(callback) { + callback(scopedExtension); + } }, function(response){ console.log("Error loading extension", response); - callback(null); + if(callback) { + callback(null); + } }) } diff --git a/app/assets/templates/frontend/directives/contextual-menu.html.haml b/app/assets/templates/frontend/directives/contextual-menu.html.haml index 7e40337c6..25501436c 100644 --- a/app/assets/templates/frontend/directives/contextual-menu.html.haml +++ b/app/assets/templates/frontend/directives/contextual-menu.html.haml @@ -1,6 +1,6 @@ %ul.dropdown-menu.dropdown-menu-left.nt-dropdown-menu.dark.editor-menu .extension{"ng-repeat" => "extension in extensions"} - .menu-section-header.pointer{"ng-click" => "extension.hide = !extension.hide"} + .menu-section-header{"ng-click" => "extension.hide = !extension.hide"} .title {{extension.name}} .subtitle Can access your data