2
0
Fork 0
tcrud/lib/plugin/auto/auto-tmenu.js
2017-06-10 16:53:29 +02:00

46 lines
1.5 KiB
JavaScript

module.exports = (function () {
return function AutoTMenuPlugin() {
this.configPlugin = function (ctx) {
ctx.key='autoTMenu';
ctx.description='Auto enables menu items.';
ctx.dependencies.push('autoTEntityTPlural');
};
this.fillTEntity = function(ctx) {
if (ctx.tentity.tparent === null) {
return; // root node
}
if (ctx.tentity.tmeta.tmodel.tid === null) {
ctx.tentity.tmeta.tmenu.titem = false; // auto menu for items
}
if (ctx.tentity.tmeta.tmenu.tenable === null || ctx.tentity.tmeta.tmenu.tenable === undefined) {
ctx.tentity.tmeta.tmenu.tenable = true;
}
if (ctx.tentity.tmeta.tmenu.titem === null || ctx.tentity.tmeta.tmenu.titem === undefined) {
ctx.tentity.tmeta.tmenu.titem = true;
}
if (ctx.tentity.tmeta.tmenu.tname === null || ctx.tentity.tmeta.tmenu.tname === undefined) {
ctx.tentity.tmeta.tmenu.tname = ctx.tentity.tplural.substring(0,1).toUpperCase()+ctx.tentity.tplural.substring(1);
}
if (ctx.tentity.tmeta.tmenu.tkey === null || ctx.tentity.tmeta.tmenu.tkey === undefined) {
if (ctx.tentity.tmeta.tmenu.titem) {
ctx.tentity.tmeta.tmenu.tkey = ctx.tentity.tparent.tid;
} else {
ctx.tentity.tmeta.tmenu.tkey = ctx.tentity.tid;
}
}
if (ctx.tentity.tmeta.tmenu.ticon === null || ctx.tentity.tmeta.tmenu.ticon === undefined) {
if (ctx.tentity.tmeta.tmenu.titem) {
ctx.tentity.tmeta.tmenu.ticon = 'fa fa-table';
} else {
ctx.tentity.tmeta.tmenu.ticon = 'fa fa-cubes';
}
}
}
};
})();