Fixes: U4-4332 MediaPicker - Typealias is hardcode several places

This commit is contained in:
perploug
2014-04-03 00:37:59 +02:00
parent 3ea7e6fb8a
commit d0c6c4aafa
5 changed files with 59 additions and 50 deletions

View File

@@ -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

View File

@@ -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) {

View File

@@ -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{

View File

@@ -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){

View File

@@ -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>