@@ -143,8 +143,8 @@
-
-
-
-
-
-
-
-
-
-
- Yes, remove paragraph tags
+
Yes, convert line breaks
@@ -188,7 +172,7 @@
-
+
{{ vm.generateOutputSample() }}
@@ -196,4 +180,4 @@
-
\ No newline at end of file
+
diff --git a/src/Umbraco.Web.UI.Client/src/views/common/overlays/mediaPicker/mediapicker.controller.js b/src/Umbraco.Web.UI.Client/src/views/common/overlays/mediaPicker/mediapicker.controller.js
index 1992bed068..fb38581eac 100644
--- a/src/Umbraco.Web.UI.Client/src/views/common/overlays/mediaPicker/mediapicker.controller.js
+++ b/src/Umbraco.Web.UI.Client/src/views/common/overlays/mediaPicker/mediapicker.controller.js
@@ -1,7 +1,7 @@
//used for the media picker dialog
angular.module("umbraco")
.controller("Umbraco.Overlays.MediaPickerController",
- function ($scope, mediaResource, umbRequestHelper, entityResource, $log, mediaHelper, mediaTypeHelper, eventsService, treeService, $element, $timeout, $cookies, localStorageService, localizationService) {
+ function($scope, mediaResource, umbRequestHelper, entityResource, $log, mediaHelper, mediaTypeHelper, eventsService, treeService, $element, $timeout, $cookies, localStorageService, localizationService) {
if (!$scope.model.title) {
$scope.model.title = localizationService.localize("defaultdialogs_selectMedia");
@@ -96,7 +96,6 @@ angular.module("umbraco")
};
$scope.gotoFolder = function(folder) {
-
if (!$scope.multiPicker) {
deselectAllImages($scope.model.selectedImages);
}
@@ -108,7 +107,6 @@ angular.module("umbraco")
if (folder.id > 0) {
entityResource.getAncestors(folder.id, "media")
.then(function(anc) {
- // anc.splice(0,1);
$scope.path = _.filter(anc,
function(f) {
return f.path.indexOf($scope.startNodeId) !== -1;
@@ -123,12 +121,12 @@ angular.module("umbraco")
$scope.path = [];
}
- getChildren(folder.id);
$scope.currentFolder = folder;
localStorageService.set("umbLastOpenedMediaNodeId", folder.id);
+ return getChildren(folder.id);
};
- $scope.clickHandler = function (image, event, index) {
+ $scope.clickHandler = function(image, event, index) {
if (image.isFolder) {
if ($scope.disableFolderSelect) {
$scope.gotoFolder(image);
@@ -143,7 +141,7 @@ angular.module("umbraco")
$scope.target = image;
// handle both entity and full media object
- if(image.image) {
+ if (image.image) {
$scope.target.url = image.image;
} else {
$scope.target.url = mediaHelper.resolveFile(image);
@@ -188,8 +186,12 @@ angular.module("umbraco")
images.length = 0;
}
- $scope.onUploadComplete = function() {
- $scope.gotoFolder($scope.currentFolder);
+ $scope.onUploadComplete = function(files) {
+ $scope.gotoFolder($scope.currentFolder).then(function() {
+ if (files.length === 1 && $scope.model.selectedImages.length === 0) {
+ selectImage($scope.images[$scope.images.length - 1]);
+ }
+ });
};
$scope.onFilesQueue = function() {
@@ -203,8 +205,7 @@ angular.module("umbraco")
if (nodePath.indexOf($scope.startNodeId.toString()) !== -1) {
$scope.gotoFolder({ id: $scope.lastOpenedNode, name: "Media", icon: "icon-folder" });
return true;
- }
- else {
+ } else {
$scope.gotoFolder({ id: $scope.startNodeId, name: "Media", icon: "icon-folder" });
return false;
}
@@ -219,26 +220,25 @@ angular.module("umbraco")
if ($scope.lastOpenedNode && $scope.lastOpenedNode !== -1) {
entityResource.getById($scope.lastOpenedNode, "media")
.then(ensureWithinStartNode, gotoStartNode);
- }
- else {
+ } else {
gotoStartNode();
}
- }
- else {
+ } else {
//if a target is specified, go look it up - generally this target will just contain ids not the actual full
//media object so we need to look it up
var id = $scope.target.udi ? $scope.target.udi : $scope.target.id
var altText = $scope.target.altText;
mediaResource.getById(id)
- .then(function (node) {
- $scope.target = node;
- if (ensureWithinStartNode(node)) {
- selectImage(node);
- $scope.target.url = mediaHelper.resolveFile(node);
- $scope.target.altText = altText;
- $scope.openDetailsDialog();
- }
- }, gotoStartNode);
+ .then(function(node) {
+ $scope.target = node;
+ if (ensureWithinStartNode(node)) {
+ selectImage(node);
+ $scope.target.url = mediaHelper.resolveFile(node);
+ $scope.target.altText = altText;
+ $scope.openDetailsDialog();
+ }
+ },
+ gotoStartNode);
}
$scope.openDetailsDialog = function() {
@@ -260,6 +260,24 @@ angular.module("umbraco")
};
};
+ var debounceSearchMedia = _.debounce(function() {
+ $scope.$apply(function() {
+ if ($scope.searchOptions.filter) {
+ searchMedia();
+ } else {
+ // reset pagination
+ $scope.searchOptions = {
+ pageNumber: 1,
+ pageSize: 100,
+ totalItems: 0,
+ totalPages: 0,
+ filter: ''
+ };
+ getChildren($scope.currentFolder.id);
+ }
+ });
+ }, 500);
+
$scope.changeSearch = function() {
$scope.loading = true;
debounceSearchMedia();
@@ -271,50 +289,33 @@ angular.module("umbraco")
searchMedia();
};
- var debounceSearchMedia = _.debounce(function () {
- $scope.$apply(function () {
- if ($scope.searchOptions.filter) {
- searchMedia();
- } else {
- // reset pagination
- $scope.searchOptions = {
- pageNumber: 1,
- pageSize: 100,
- totalItems: 0,
- totalPages: 0,
- filter: ''
- };
- getChildren($scope.currentFolder.id);
- }
- });
- }, 500);
-
function searchMedia() {
$scope.loading = true;
entityResource.getPagedDescendants($scope.startNodeId, "Media", $scope.searchOptions)
- .then(function (data) {
+ .then(function(data) {
// update image data to work with image grid
- angular.forEach(data.items, function(mediaItem){
- // set thumbnail and src
- mediaItem.thumbnail = mediaHelper.resolveFileFromEntity(mediaItem, true);
- mediaItem.image = mediaHelper.resolveFileFromEntity(mediaItem, false);
- // set properties to match a media object
- if (mediaItem.metaData &&
- mediaItem.metaData.umbracoWidth &&
- mediaItem.metaData.umbracoHeight) {
-
- mediaItem.properties = [
- {
- alias: "umbracoWidth",
- value: mediaItem.metaData.umbracoWidth.Value
- },
- {
- alias: "umbracoHeight",
- value: mediaItem.metaData.umbracoHeight.Value
- }
- ];
- }
- });
+ angular.forEach(data.items,
+ function(mediaItem) {
+ // set thumbnail and src
+ mediaItem.thumbnail = mediaHelper.resolveFileFromEntity(mediaItem, true);
+ mediaItem.image = mediaHelper.resolveFileFromEntity(mediaItem, false);
+ // set properties to match a media object
+ if (mediaItem.metaData &&
+ mediaItem.metaData.umbracoWidth &&
+ mediaItem.metaData.umbracoHeight) {
+
+ mediaItem.properties = [
+ {
+ alias: "umbracoWidth",
+ value: mediaItem.metaData.umbracoWidth.Value
+ },
+ {
+ alias: "umbracoHeight",
+ value: mediaItem.metaData.umbracoHeight.Value
+ }
+ ];
+ }
+ });
// update images
$scope.images = data.items ? data.items : [];
// update pagination
@@ -332,7 +333,7 @@ angular.module("umbraco")
function getChildren(id) {
$scope.loading = true;
- mediaResource.getChildren(id)
+ return mediaResource.getChildren(id)
.then(function(data) {
$scope.searchOptions.filter = "";
$scope.images = data.items ? data.items : [];
@@ -358,11 +359,10 @@ angular.module("umbraco")
}
}
}
-
if (imageIsSelected) {
folderImage.selected = true;
}
}
}
- });
+ });
\ No newline at end of file
diff --git a/src/Umbraco.Web.UI.Client/src/views/components/editor/umb-editor-header.html b/src/Umbraco.Web.UI.Client/src/views/components/editor/umb-editor-header.html
index f55b587c04..fdc1ddf0f5 100644
--- a/src/Umbraco.Web.UI.Client/src/views/components/editor/umb-editor-header.html
+++ b/src/Umbraco.Web.UI.Client/src/views/components/editor/umb-editor-header.html
@@ -17,6 +17,7 @@
-
+
+
-
+
+
+
-
diff --git a/src/Umbraco.Web.UI.Client/src/views/components/property/umb-property.html b/src/Umbraco.Web.UI.Client/src/views/components/property/umb-property.html
index b24e0985af..24bc1de6ed 100644
--- a/src/Umbraco.Web.UI.Client/src/views/components/property/umb-property.html
+++ b/src/Umbraco.Web.UI.Client/src/views/components/property/umb-property.html
@@ -11,7 +11,7 @@