add router and View links
This commit is contained in:
@ -1,6 +1,12 @@
|
||||
import {ComponentDef, EndpointDef, SystemDef} from "../systemGenService";
|
||||
import path from "path";
|
||||
import {initializeComponentFile, removeTemplateFiles, removeTemplateFolder, uppercaseFirstLetter} from "../helpers";
|
||||
import {
|
||||
componentDestination,
|
||||
initializeComponentFile,
|
||||
removeTemplateFiles,
|
||||
removeTemplateFolder,
|
||||
uppercaseFirstLetter
|
||||
} from "../helpers";
|
||||
import fs from "fs";
|
||||
import {buildServiceFunctionName, getFuncParams} from "../views/service-creator";
|
||||
import {METHOD, URL} from "../views/routes-creator";
|
||||
@ -8,16 +14,23 @@ import {buildDetailsView} from "./details-view-builder";
|
||||
import {buildListView} from "./list-view-builder";
|
||||
import {buildEditorView} from "./editor-view-builder";
|
||||
import {buildTypesView} from "./types-view-builder";
|
||||
import {buildRoute} from "./route-view-builder";
|
||||
import {buildAppLinks} from "./app-view-builder";
|
||||
const ncp = require('ncp').ncp;
|
||||
|
||||
export function createFrontend(systemDef: SystemDef): Promise<void> {
|
||||
let fePromises = [];
|
||||
for (let i in systemDef.components) {
|
||||
fePromises.push(createComponent(systemDef.components[i], systemDef).then(() => {
|
||||
// build app router logic
|
||||
return buildRoute(systemDef.components[i], componentDestination(systemDef.name, systemDef.components[i].component), systemDef);
|
||||
}).then(() => {
|
||||
// add a vue view and add it to App.vue
|
||||
return buildAppLinks(systemDef.components[i], componentDestination(systemDef.name, systemDef.components[i].component), systemDef);
|
||||
}).then(() => {
|
||||
return removeTemplateFiles(componentDestination(systemDef.name, systemDef.components[i].component));
|
||||
}));
|
||||
// TODO: add a vue view and add it to App.vue
|
||||
// TODO: build app router logic
|
||||
|
||||
}
|
||||
// TODO: after all is done clean up the template files
|
||||
return Promise.all(fePromises).then((res: void[]) => {
|
||||
@ -31,9 +44,7 @@ function componentSource() {
|
||||
return path.join(process.cwd(), 'frontend-frame', 'src', 'components', '{{component}}');
|
||||
}
|
||||
|
||||
function componentDestination(systemDefName: string, componentName: string) {
|
||||
return path.join(process.cwd(), `frontend-${systemDefName}`, 'src', 'components', componentName);
|
||||
}
|
||||
|
||||
|
||||
function createComponent(component: ComponentDef, systemDef: SystemDef) {
|
||||
return new Promise<void>((componentResolve, componentReject) => {
|
||||
|
Reference in New Issue
Block a user