From 77c8b22fe1af3cc737a362418d05027759c2ee18 Mon Sep 17 00:00:00 2001 From: Shannon Date: Mon, 10 Jun 2013 13:01:17 -0200 Subject: [PATCH] Merges in custom controller changes. --- .../common/dialogs/mediapicker.controller.js | 26 ++++++++++--- .../umbraco/rte/rte.controller.js | 37 +++++++++++-------- 2 files changed, 42 insertions(+), 21 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/views/common/dialogs/mediapicker.controller.js b/src/Umbraco.Web.UI.Client/src/views/common/dialogs/mediapicker.controller.js index 38eb694894..159a470985 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/dialogs/mediapicker.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/common/dialogs/mediapicker.controller.js @@ -1,6 +1,22 @@ //used for the media picker dialog -angular.module("umbraco") -.controller("Umbraco.Dialogs.MediaPickerController", - function ($scope, mediaResource) { - $scope.images = mediaResource.rootMedia(); -}); \ No newline at end of file +angular.module("umbraco") + .controller("Umbraco.Dialogs.MediaPickerController", + function($scope, mediaResource) { + + mediaResource.rootMedia() + .then(function(data) { + $scope.images = data; + }); + + $scope.selectMediaItem = function(image) { + if (image.contentTypeAlias.toLowerCase() == 'folder') { + mediaResource.getChildren(image.id) + .then(function(data) { + $scope.images = data; + }); + } else if (image.contentTypeAlias.toLowerCase() == 'image') { + $scope.select(image); + } + }; + + }); \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/umbraco/rte/rte.controller.js b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/umbraco/rte/rte.controller.js index e1224ed6c4..3b13634e3b 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/umbraco/rte/rte.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/umbraco/rte/rte.controller.js @@ -17,11 +17,11 @@ angular.module("umbraco") toolbar: "bold italic | styleselect | alignleft aligncenter alignright | bullist numlist | outdent indent | link image mediapicker", setup : function(editor) { - editor.on('blur', function(e) { - $scope.$apply(function(){ - //$scope.model.value = e.getBody().innerHTML; - $scope.model.value = editor.getContent(); - }) + editor.on('blur', function(e) { + $scope.$apply(function() { + //$scope.model.value = e.getBody().innerHTML; + $scope.model.value = editor.getContent(); + }); }); editor.addButton('mediapicker', { @@ -31,12 +31,17 @@ angular.module("umbraco") dialogService.mediaPicker({scope: $scope, callback: function(data){ //really simple example on how to intergrate a service with tinyMCE - $(data.selection).each(function(i,img){ - var data = { - src: img.thumbnail, - style: 'width: 100px; height: 100px', - id : '__mcenew' - }; + $(data.selection).each(function (i, img) { + + var imageProperty = _.find(img.properties, function(item) { + return item.alias == 'umbracoFile'; + }); + + var data = { + src: imageProperty != null ? imageProperty.value : "nothing.jpg", + style: 'width: 100px; height: 100px', + id: '__mcenew' + }; editor.insertContent(editor.dom.createHTML('img', data)); var imgElm = editor.dom.get('__mcenew'); @@ -58,11 +63,11 @@ angular.module("umbraco") }; function bindValue(inst){ - $log.log("woot"); - - $scope.$apply(function(){ - $scope.model.value = inst.getBody().innerHTML; - }) + $log.log("woot"); + + $scope.$apply(function() { + $scope.model.value = inst.getBody().innerHTML; + }); } function myHandleEvent(e){