UNPKG

@hicoder/angular-cli

Version:

Angular UI componenets and service generator. It works with the mean-rest-express package to generate the end to end web application. The input to this generator is the Mongoose schema defined for the express application. mean-rest-express exposes the Res

114 lines (104 loc) 2.25 kB
const defaultListWidgets = { general: { views: ['list', 'grid', 'table'], }, select: { views: ['list', 'grid', 'table'], }, sub: { views: ['list', 'grid', 'table'], }, association: { views: ['association'], }, }; const defaultListWidgetTypes = { general: 'general', select: 'select', sub: 'sub', association: 'association', }; const defaultDetailWidgetTypes = { general: 'general', select: 'select', sub: 'sub', association: 'association', pop: 'pop', }; function setListViewProperties(viewType, schemaObj) { let listViewObj = schemaObj.listViewObj; const properties = [ 'clickItemAction', 'cardHasLink', 'cardHasSelect', 'includeSubDetail', 'canUpdate', 'canDelete', 'canArchive', 'canCheck', 'itemMultiSelect', 'majorUi', ]; let options = {}; switch(viewType) { case 'general': options = { itemMultiSelect: true, majorUi: true, }; break; case 'sub': options = { itemMultiSelect: true, canArchive: false, canCheck: false, majorUi: true, }; if (!schemaObj.embeddedViewOnly) { options.canDelete = false; } if (schemaObj.embeddedViewOnly) { options.canUpdate = false; } break; case 'select': options = { clickItemAction: '', itemMultiSelect: false, cardHasLink: false, cardHasSelect: true, canUpdate: false, canDelete: false, canArchive: false, canCheck: false, majorUi: false, }; break; case 'association': options = { clickItemAction: '', itemMultiSelect: false, cardHasLink: false, cardHasSelect: false, canUpdate: false, canDelete: false, canArchive: false, canCheck: false, includeSubDetail: false, majorUi: true, }; break; } for (let p of properties) { if (typeof options[p] !== 'undefined') { listViewObj[p] = options[p]; } } return listViewObj; } module.exports = { defaultListWidgets, defaultListWidgetTypes, setListViewProperties, defaultDetailWidgetTypes, }