Fixes: U4-4332 MediaPicker - Typealias is hardcode several places
This commit is contained in:
@@ -162,6 +162,36 @@ function mediaHelper(umbRequestHelper) {
|
||||
return result;
|
||||
},
|
||||
|
||||
/*jshint loopfunc: true */
|
||||
hasFilePropertyType : function(mediaItem){
|
||||
function _iterateProps(props){
|
||||
var result = false;
|
||||
for(var resolver in _mediaFileResolvers) {
|
||||
var property = _.find(props, function(property){ return property.editor === resolver; });
|
||||
if(property){
|
||||
result = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
//we either have properties raw on the object, or spread out on tabs
|
||||
var result = false;
|
||||
if(mediaItem.properties){
|
||||
result = _iterateProps(mediaItem.properties);
|
||||
}else if(mediaItem.tabs){
|
||||
for(var tab in mediaItem.tabs) {
|
||||
if(mediaItem.tabs[tab].properties){
|
||||
result = _iterateProps(mediaItem.tabs[tab].properties);
|
||||
if(result){
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
},
|
||||
|
||||
/**
|
||||
* @ngdoc function
|
||||
|
||||
@@ -23,15 +23,15 @@ angular.module('umbraco.services').factory('packageHelper', packageHelper);
|
||||
|
||||
function umbPhotoFolderHelper($compile, $log, $timeout, $filter, imageHelper, mediaHelper, umbRequestHelper) {
|
||||
return {
|
||||
/** sets the image's url - will check if it is a folder or a real image */
|
||||
setImageUrl: function(img) {
|
||||
//get the image property (if one exists)
|
||||
img.thumbnail = mediaHelper.resolveFile(img, true);
|
||||
img.image = mediaHelper.resolveFile(img, false);
|
||||
/** sets the image's url, thumbnail and if its a folder */
|
||||
setImageData: function(img) {
|
||||
|
||||
img.isFolder = !mediaHelper.hasFilePropertyType(img);
|
||||
|
||||
// if (!img.thumbnail){
|
||||
// img.thumbnail = "none";
|
||||
// }
|
||||
if(!img.isFolder){
|
||||
img.thumbnail = mediaHelper.resolveFile(img, true);
|
||||
img.image = mediaHelper.resolveFile(img, false);
|
||||
}
|
||||
},
|
||||
|
||||
/** sets the images original size properties - will check if it is a folder and if so will just make it square */
|
||||
@@ -252,15 +252,22 @@ function umbPhotoFolderHelper($compile, $log, $timeout, $filter, imageHelper, me
|
||||
},
|
||||
|
||||
/** Creates the image grid with calculated widths/heights for images to fill the grid nicely */
|
||||
buildGrid: function(images, maxRowWidth, maxRowHeight, startingIndex, minDisplayHeight, idealImgPerRow, margin) {
|
||||
buildGrid: function(images, maxRowWidth, maxRowHeight, startingIndex, minDisplayHeight, idealImgPerRow, margin,imagesOnly) {
|
||||
|
||||
var rows = [];
|
||||
var imagesProcessed = 0;
|
||||
|
||||
//first fill in all of the original image sizes and URLs
|
||||
for (var i = startingIndex; i < images.length; i++) {
|
||||
this.setImageUrl(images[i]);
|
||||
var item = images[0];
|
||||
|
||||
this.setImageData(images[i]);
|
||||
this.setOriginalSize(images[i], maxRowHeight);
|
||||
|
||||
if(imagesOnly && !item.isFolder && !item.thumbnail){
|
||||
images.splice(i, 1);
|
||||
i--;
|
||||
}
|
||||
}
|
||||
|
||||
while ((imagesProcessed + startingIndex) < images.length) {
|
||||
|
||||
@@ -304,6 +304,10 @@ ul.color-picker li a {
|
||||
line-height: 120px
|
||||
}
|
||||
|
||||
.umb-folderbrowser .selector-overlay{
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.umb-upload-drop-zone .info, .umb-upload-button-big{
|
||||
display: block;
|
||||
padding: 20px;
|
||||
@@ -343,6 +347,8 @@ ul.color-picker li a {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.umb-photo-folder .picrow div, .umb-photo-preview{
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
@@ -396,7 +402,7 @@ ul.color-picker li a {
|
||||
line-height: 80px;
|
||||
display: block;
|
||||
margin: auto;
|
||||
padding-top: 25%;
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
.umb-photo-folder .selected{
|
||||
|
||||
@@ -67,19 +67,8 @@ angular.module("umbraco")
|
||||
//mediaResource.rootMedia()
|
||||
mediaResource.getChildren(folder.id)
|
||||
.then(function(data) {
|
||||
|
||||
$scope.images = [];
|
||||
|
||||
$scope.searchTerm = "";
|
||||
if(data.items){
|
||||
$scope.images = data.items;
|
||||
}
|
||||
|
||||
if($scope.onlyImages){
|
||||
$scope.images = _.reject($scope.images, function(item) {
|
||||
return item.contentTypeAlias.toLowerCase() !== "folder" && item.thumbnail === "";
|
||||
});
|
||||
}
|
||||
$scope.images = data.items ? data.items : [];
|
||||
});
|
||||
|
||||
$scope.options.formData.currentFolder = folder.id;
|
||||
@@ -93,7 +82,7 @@ angular.module("umbraco")
|
||||
$scope.clickHandler = function(image, ev, select) {
|
||||
ev.preventDefault();
|
||||
|
||||
if (image.contentTypeAlias.toLowerCase() == 'folder' && !select) {
|
||||
if (image.isFolder && !select) {
|
||||
$scope.gotoFolder(image);
|
||||
}else{
|
||||
eventsService.emit("dialogs.mediaPicker.select", image);
|
||||
@@ -119,30 +108,7 @@ angular.module("umbraco")
|
||||
$scope.target = undefined;
|
||||
};
|
||||
|
||||
/*
|
||||
$scope.selectFolder= function(folder) {
|
||||
if ($scope.multiPicker) {
|
||||
$scope.select(folder);
|
||||
}
|
||||
else {
|
||||
$scope.submit(folder);
|
||||
}
|
||||
};
|
||||
|
||||
$scope.selectMediaItem = function(image) {
|
||||
if (image.contentTypeAlias.toLowerCase() == 'folder') {
|
||||
$scope.gotoFolder(image);
|
||||
}else{
|
||||
eventsService.emit("dialogs.mediaPicker.select", image);
|
||||
|
||||
if ($scope.multiPicker) {
|
||||
$scope.select(image);
|
||||
}
|
||||
else {
|
||||
$scope.submit(image);
|
||||
}
|
||||
}
|
||||
};*/
|
||||
|
||||
|
||||
//default root item
|
||||
if(!$scope.target){
|
||||
|
||||
@@ -17,10 +17,10 @@
|
||||
<div ng-if="img.thumbnail" class="umb-photo" ng-style="img.thumbStyle" alt="{{img.name}}"></div>
|
||||
</a>
|
||||
|
||||
<a href ng-click="clickHandler(img, $event, true)" ng-show="img.contentTypeAlias === 'Folder'" class="selector-overlay">
|
||||
<a href ng-click="clickHandler(img, $event, true)"
|
||||
ng-if="img.isFolder" class="selector-overlay">
|
||||
<localize key="buttons_select">Select</localize>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user