uodate liveeditor

pull/1143/head
Tuğçe Küçükoğlu 2021-03-23 10:46:22 +03:00
parent 0521d3ea08
commit ef8133e5e9
1 changed files with 27 additions and 27 deletions

View File

@ -34,7 +34,7 @@ export default {
type: Array,
default: null
},
components: {
extPages: {
type: Array,
default: null
}
@ -119,7 +119,7 @@ export default {
let extImport = '';
let extElement = '';
let content = this.sources[sourceType].content.replace('<\\/script>', '<\/script>');
let pages = this.sources.pages ? this.sources.pages : '';
let pages = this.extPages ? this.extPages : '';
let _files = {}, element = '';
if(name === 'EditorDemo') {
@ -170,9 +170,15 @@ export default {
element += `import ${name} from "./${name}.vue"`;
_files['src/main.js'] = {
content: `import { createApp } from "vue";
content: `import "primeflex/primeflex.css";
import "primevue/resources/themes/saga-blue/theme.css";
import "primevue/resources/primevue.min.css";
import "primeicons/primeicons.css";
import "./index.css";
import { createApp } from "vue";
${element}
import router from "./router";
import { router } from "./router";
import PrimeVue from "primevue/config";
import AutoComplete from 'primevue/autocomplete';
import Accordion from 'primevue/accordion';
@ -263,12 +269,6 @@ import TreeTable from 'primevue/treetable';
import TriStateCheckbox from 'primevue/tristatecheckbox';
${extImport}
import "primeflex/primeflex.css";
import "primevue/resources/themes/saga-blue/theme.css";
import "primevue/resources/primevue.min.css";
import "primeicons/primeicons.css";
import "./index.css";
const app = createApp(${name});
app.use(PrimeVue, { ripple: true });
@ -594,36 +594,26 @@ img.flag {
`,
}
_files[`src/router.js`] = {
content: `import { createRouter, createWebHistory } from "vue-router";
${element}
export const router = createRouter({
history: createWebHistory(),
routes: [{ path: "/", component: ${name} }]
});`
}
if(pages) {
const routes = [];
pages.forEach((page, i) => {
_files[`src/components/${page.name}.vue`] = {
'content': `${page.template.replace('<\\/script>', '<\/script>')}`
_files[`src/components/${page.tabName}.vue`] = {
'content': `${page.content.replace('<\\/script>', '<\/script>')}`
}
let route = '';
if(i === 0) {
route += `{
path: "",
component: () => import("./components/${page.name}.vue")
path: "/",
component: () => import("./components/${page.tabName}.vue")
}`;
}
else {
route += `{
path: "/${page.name.slice(0, -4).toLowerCase()}",
component: () => import("./components/${page.name}.vue")
path: "/${page.tabName.slice(0, -4).toLowerCase()}",
component: () => import("./components/${page.tabName}.vue")
}`;
}
@ -638,14 +628,24 @@ export const router = createRouter({
routes: [
{
path: "/",
component: () => import("./components/${name}.vue"),
component: () => import("./${name}.vue"),
children: [${routes}]
}
]
});
`
}
}
else {
_files[`src/router.js`] = {
content: `import { createRouter, createWebHistory } from "vue-router";
${element}
export const router = createRouter({
history: createWebHistory(),
routes: [{ path: "/", component: ${name} }]
});`
}
}
return this.createSandboxParameters(`${name}${extension}`, _files, extDependencies);