Files
Archetype/app/helpers/sampleLabelHelpers.js
T

70 lines
1.9 KiB
JavaScript
Raw Normal View History

2015-06-01 12:12:33 -04:00
var ArchetypeSampleLabelTemplates = (function() {
2014-08-12 17:15:16 -04:00
//public functions
2014-08-12 17:15:16 -04:00
return {
2015-05-29 08:55:08 -04:00
Entity: function (value, scope, args) {
if(!args.entityType) {
args = {entityType: "Document", propertyName: "name"}
}
2014-08-12 17:15:16 -04:00
if (value) {
//if handed a csv list, take the first only
2014-08-12 17:15:16 -04:00
var id = value.split(",")[0];
if (id) {
2015-06-01 10:02:32 -04:00
var entity = scope.services.archetypeLabelService.getEntityById(scope, id, args.entityType);
2015-05-27 13:41:58 -04:00
if(entity) {
return entity[args.propertyName];
}
2014-08-12 17:15:16 -04:00
}
}
return "";
},
UrlPicker: function(value, scope, args) {
if(!args.propertyName) {
args = {propertyName: "name"}
}
var entity;
switch (value.type) {
case "content":
if(value.typeData.contentId) {
2015-06-01 10:02:32 -04:00
entity = scope.services.archetypeLabelService.getEntityById(scope, value.typeData.contentId, "Document");
}
break;
case "media":
if(value.typeData.mediaId) {
2015-06-01 10:02:32 -04:00
entity = scope.services.archetypeLabelService.getEntityById(scope, value.typeData.mediaId, "Media");
}
break;
case "url":
return value.typeData.url;
default:
break;
}
if(entity) {
return entity[args.propertyName];
}
2014-08-12 17:15:16 -04:00
return "";
2015-05-27 13:56:33 -04:00
},
Rte: function (value, scope, args) {
if(!args.contentLength) {
args = {contentLength: 50}
}
return $(value).text().substring(0, args.contentLength);
2014-08-12 17:15:16 -04:00
}
}
})();