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'; } } } }; })();