generator-martinlabs
Version:
Generates a fullstack CRUD using Java and Vue.js, check the features list
91 lines • 7.83 kB
JavaScript
module.exports = {
general: {
// general templates, uses project props, not table
'ErrorCode.kt': function(props) { return props.javaFolder+"/ErrorCode.kt" },
'AppProvider.kt': function(props) { return props.javaFolder+"/AppProvider.kt" },
'SwaggerInit.kt': function(props) { return props.javaFolder+"/SwaggerInit.kt" },
'RouterWrapper.kt': function(props) { return props.javaFolder+"/RouterWrapper.kt" },
'Router.kt': function(props) { return props.moduleFolder+"/Router.kt" },
'OtherTest.kt': function(props) { return props.testFolder+"/OtherTest.kt" },
'Default.vue': function(props) { return "src/main/webapp/src/" + props.modulename + "/controller/fragment/Default.vue" },
'Login.vue': function(props) { return "src/main/webapp/src/" + props.modulename + "/controller/Login.vue" },
'AppResource.js': function(props) { return "src/main/webapp/src/" + props.modulename + "/service/AppResource.js" },
'AppRouter.js': function(props) { return "src/main/webapp/src/" + props.modulename + "/service/AppRouter.js" },
'LangEn.js': function(props) { return "src/main/webapp/src/" + props.modulename + "/locale/LangEn.js" },
'LangPt.js': function(props) { return "src/main/webapp/src/" + props.modulename + "/locale/LangPt.js" },
'package.json': function(props) { return "src/main/webapp/package.json" },
'template.html': function(props) { return "src/main/webapp/template.html" },
'entries.json': function(props) { return "src/main/webapp/config/entries.json" },
'config/dev.env.js': function(props) { return "src/main/webapp/config/dev.env.js" },
'config/prod.env.js': function(props) { return "src/main/webapp/config/prod.env.js" },
'config/beta.env.js': function(props) { return "src/main/webapp/config/beta.env.js" },
'config/index.js': function(props) { return "src/main/webapp/config/index.js" },
'web.xml': function(props) { return "src/main/webapp/WEB-INF/web.xml" },
'data.sql': function(props) { return "src/test/resources/database/data.sql" },
'.gitignore': function(props) { return ".gitignore" },
},
copy: {
// only copy the file
'main.js': function(props) { return "src/main/webapp/src/" + props.modulename + "/main.js" },
'AppBus.js': function(props) { return "src/main/webapp/src/" + props.modulename + "/service/AppBus.js" },
'AppTranslator.js': function(props) { return "src/main/webapp/src/" + props.modulename + "/service/AppTranslator.js" },
'AppFilter.js': function(props) { return "src/main/webapp/src/" + props.modulename + "/service/AppFilter.js" },
'App.vue': function(props) { return "src/main/webapp/src/" + props.modulename + "/controller/App.vue" },
'Home.vue': function(props) { return "src/main/webapp/src/" + props.modulename + "/controller/Home.vue" },
'fragment_index.js': function(props) { return "src/main/webapp/src/" + props.modulename + "/controller/fragment/index.js" },
'LineChart.vue': function(props) { return "src/main/webapp/src/" + props.modulename + "/controller/fragment/LineChart.vue" },
'Modal.vue': function(props) { return "src/main/webapp/src/" + props.modulename + "/controller/fragment/Modal.vue" },
'adap-table_index.js': function(props) { return "src/main/webapp/src/" + props.modulename + "/controller/fragment/adap-table/index.js" },
'pagination.vue': function(props) { return "src/main/webapp/src/" + props.modulename + "/controller/fragment/adap-table/pagination.vue" },
'orderby.vue': function(props) { return "src/main/webapp/src/" + props.modulename + "/controller/fragment/adap-table/orderby.vue" },
'searchfield.vue': function(props) { return "src/main/webapp/src/" + props.modulename + "/controller/fragment/adap-table/searchfield.vue" },
'Store.js': function(props) { return "src/main/webapp/src/" + props.modulename + "/controller/fragment/adap-table/Store.js" },
'form-group_index.js': function(props) { return "src/main/webapp/src/" + props.modulename + "/controller/fragment/form-group/index.js" },
'CheckboxGroup.vue': function(props) { return "src/main/webapp/src/" + props.modulename + "/controller/fragment/form-group/CheckboxGroup.vue" },
'SelectGroup.vue': function(props) { return "src/main/webapp/src/" + props.modulename + "/controller/fragment/form-group/SelectGroup.vue" },
'MultiselectGroup.vue': function(props) { return "src/main/webapp/src/" + props.modulename + "/controller/fragment/form-group/MultiselectGroup.vue" },
'TextareaGroup.vue': function(props) { return "src/main/webapp/src/" + props.modulename + "/controller/fragment/form-group/TextareaGroup.vue" },
'InputGroup.vue': function(props) { return "src/main/webapp/src/" + props.modulename + "/controller/fragment/form-group/InputGroup.vue" },
'InputGroupMixin.js': function(props) { return "src/main/webapp/src/" + props.modulename + "/controller/fragment/form-group/InputGroupMixin.js" },
'downloadCsv.js': function(props) { return "src/main/webapp/src/" + props.modulename + "/util/downloadCsv.js" },
'base.scss': function(props) { return "src/main/webapp/src/" + props.modulename + "/scss/base.scss" },
'main.scss': function(props) { return "src/main/webapp/src/" + props.modulename + "/scss/main.scss" },
'logging.properties': function(props) { return "src/main/resources/logging.properties" },
'version.properties': function(props) { return "src/main/resources/version.properties" },
'.babelrc': function(props) { return "src/main/webapp/.babelrc" },
'.eslintignore': function(props) { return "src/main/webapp/.eslintignore" },
'.eslintrc.js': function(props) { return "src/main/webapp/.eslintrc.js" },
'.postcssrc.js': function(props) { return "src/main/webapp/.postcssrc.js" },
},
directory: {
// only copy the directory
'docs': function(props) { return "src/main/webapp/docs" },
'build': function(props) { return "src/main/webapp/build" },
},
login: {
// templates for login, uses project props and login table
'LoginServiceDao.kt': function(props) { return props.daoFolder+"/LoginServiceDao.kt" },
'LoginServices.kt': function(props) { return props.processFolder+"/LoginServices.kt" },
'LoginServicesTest.kt': function(props) { return props.processTestFolder+"/LoginServicesTest.kt" },
'LoginResp.kt': function(props) { return props.responseFolder+"/LoginResp.kt" },
},
table: {
// templates for each table
'Model.kt': function(props, table) { return props.modelFolder+"/"+table.className+".kt" },
'ModelTest.kt': function(props, table) { return props.modelTestFolder+"/"+table.className+"Test.kt" },
'Dao.kt': function(props, table) { return props.daoFolder+"/"+table.className+"Dao.kt" },
},
inCrud: {
// templates for each table, but only that ones selected by the user
'Process.kt': function(props, table) { return props.processFolder+"/"+table.className+"Process.kt" },
'ProcessTest.kt': function(props, table) { return props.processTestFolder+"/"+table.className+"ProcessTest.kt" },
'Response.kt': function(props, table) { return props.responseFolder+"/"+table.className+"Resp.kt" },
'List.vue': function(props, table) { return "src/main/webapp/src/" + props.modulename + "/controller/List"+table.className+".vue" },
'Persist.vue': function(props, table) { return "src/main/webapp/src/" + props.modulename + "/controller/Persist"+table.className+".vue" },
'Model.js': function(props, table) { return "src/main/webapp/src/" + props.modulename + "/model/"+table.className+".js" },
},
NtoNtable: {
// templates for each table, but only NtoN tables
'DaoNtoN.kt': function(props, table) { return props.daoFolder+"/"+table.className+"Dao.kt" },
}
};