diff --git a/src/Umbraco.Web.UI.Client/src/common/services/editor.service.js b/src/Umbraco.Web.UI.Client/src/common/services/editor.service.js index d395a53a5c..4e08718f6b 100644 --- a/src/Umbraco.Web.UI.Client/src/common/services/editor.service.js +++ b/src/Umbraco.Web.UI.Client/src/common/services/editor.service.js @@ -124,7 +124,7 @@ /** * @ngdoc method - * @name umbraco.services.editorService#copy + * @name umbraco.services.editorService#move * @methodOf umbraco.services.editorService * * @description @@ -142,6 +142,24 @@ open(editor); } + /** + * @ngdoc method + * @name umbraco.services.editorService#embed + * @methodOf umbraco.services.editorService + * + * @description + * Opens an embed editor in infinite editing. + * @param {Callback} editor.submit Saves, submits, and closes the editor + * @param {Callback} editor.close Closes the editor + * @returns {Object} editor object + */ + + function embed(editor) { + editor.view = "views/common/infiniteeditors/embed/embed.html"; + editor.size = "small"; + open(editor); + } + /** * @ngdoc method * @name umbraco.services.editorService#mediaEditor @@ -405,6 +423,7 @@ contentPicker: contentPicker, copy: copy, move: move, + embed: embed, mediaPicker: mediaPicker, iconPicker: iconPicker, documentTypeEditor: documentTypeEditor, diff --git a/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/embed/embed.controller.js b/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/embed/embed.controller.js index b4d5567e89..fb66552731 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/embed/embed.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/embed/embed.controller.js @@ -1,7 +1,7 @@ (function() { "use strict"; - function EmbedOverlay($scope, $http, $sce, umbRequestHelper, localizationService) { + function EmbedController($scope, $http, $sce, umbRequestHelper, localizationService) { var vm = this; var origWidth = 500; @@ -22,6 +22,8 @@ vm.showPreview = showPreview; vm.changeSize = changeSize; + vm.submit = submit; + vm.close = close; function onInit() { if(!$scope.model.title) { @@ -102,10 +104,22 @@ } + function submit() { + if($scope.model && $scope.model.submit) { + $scope.model.submit($scope.model); + } + } + + function close() { + if($scope.model && $scope.model.close) { + $scope.model.close(); + } + } + onInit(); } - angular.module("umbraco").controller("Umbraco.Overlays.EmbedOverlay", EmbedOverlay); + angular.module("umbraco").controller("Umbraco.Editors.EmbedController", EmbedController); })(); diff --git a/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/embed/embed.html b/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/embed/embed.html index b642d2e7ec..f6a641f2af 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/embed/embed.html +++ b/src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/embed/embed.html @@ -1,34 +1,72 @@ -