Support allowed types for MNTP media picker

This commit is contained in:
Kenn Jacobsen
2019-10-01 09:56:01 +02:00
committed by Sebastiaan Janssen
parent 174a1d731d
commit 0d3e330b12
2 changed files with 21 additions and 14 deletions

View File

@@ -193,6 +193,9 @@ Use this directive to generate a thumbnail grid of media items.
* Returns wether a item should be selectable or not.
*/
function getSelectableState(item) {
if (item.filtered) {
return false;
}
// check if item is a folder or image
if (item.isFolder === true) {

View File

@@ -37,7 +37,7 @@ angular.module("umbraco")
$scope.lastOpenedNode = localStorageService.get("umbLastOpenedMediaNodeId");
$scope.lockedFolder = true;
$scope.allowMediaEdit = dialogOptions.allowMediaEdit ? dialogOptions.allowMediaEdit : false;
var userStartNodes = [];
var umbracoSettings = Umbraco.Sys.ServerVariables.umbracoSettings;
@@ -226,7 +226,7 @@ angular.module("umbraco")
}
function clickHandler(media, event, index) {
if (media.isFolder) {
if ($scope.disableFolderSelect) {
gotoFolder(media);
@@ -453,21 +453,25 @@ angular.module("umbraco")
function getChildren(id) {
vm.loading = true;
return entityResource.getChildren(id, "Media", vm.searchOptions).then(function (data) {
for (var i = 0; i < data.length; i++) {
if (data[i].metaData.MediaPath !== null) {
data[i].thumbnail = mediaHelper.resolveFileFromEntity(data[i], true);
data[i].image = mediaHelper.resolveFileFromEntity(data[i], false);
}
var allowedTypes = dialogOptions.filter ? dialogOptions.filter.split(",") : null;
for (var i = 0; i < data.length; i++) {
if (data[i].metaData.MediaPath !== null) {
data[i].thumbnail = mediaHelper.resolveFileFromEntity(data[i], true);
data[i].image = mediaHelper.resolveFileFromEntity(data[i], false);
}
vm.searchOptions.filter = "";
$scope.images = data ? data : [];
data[i].filtered = allowedTypes && allowedTypes.indexOf(data[i].metaData.ContentTypeAlias) < 0;
}
// set already selected medias to selected
preSelectMedia();
vm.loading = false;
});
vm.searchOptions.filter = "";
$scope.images = data ? data : [];
// set already selected medias to selected
preSelectMedia();
vm.loading = false;
});
}
function preSelectMedia() {