scripts/apps/archive/directives/ItemCrops.ts
import _ from 'lodash';
/**
* @ngdoc directive
* @module superdesk.apps.archive
* @name sdItemCrops
*
* @requires metadata
*
* @description
* This directive is responsible for displaying custom crops in authoring
* below feature media and editor for media item.
*/
ItemCrops.$inject = ['metadata'];
export function ItemCrops(metadata) {
return {
templateUrl: 'scripts/apps/archive/views/item-crops.html',
scope: {
item: '=',
},
link: function(scope, elem) {
metadata.initialize().then(() => {
scope.crop_sizes = metadata.values.crop_sizes;
});
/**
* @ngdoc method
* @name sdItemCrops#showCrops
*
* @description Checks if item has crops
*/
scope.showCrops = () => (
_.includes(['picture', 'graphic'], scope.item.type) && _.get(metadata, 'values.crop_sizes') &&
metadata.values.crop_sizes.some(
(crop) => scope.item.renditions && scope.item.renditions[crop.name],
)
);
},
};
}