Update templates.js
parent
70e8708db9
commit
5ff6e7dd37
|
@ -1,7 +1,7 @@
|
||||||
import pkg from '@/package.json';
|
import pkg from '@/package.json';
|
||||||
//import Aura from '@/presets/aura';
|
//import Aura from '@/presets/aura';
|
||||||
//import Lara from '@/presets/lara';
|
//import Lara from '@/presets/lara';
|
||||||
import { isArray, isDate, isFunction, isObject } from '@primeuix/utils/object';
|
// import { isArray, isDate, isFunction, isObject } from '@primeuix/utils/object';
|
||||||
import { services } from './services';
|
import { services } from './services';
|
||||||
|
|
||||||
const PrimeVue = {
|
const PrimeVue = {
|
||||||
|
@ -26,9 +26,9 @@ const core_dependencies = {
|
||||||
};
|
};
|
||||||
|
|
||||||
// create-vue -> https://github.com/vuejs/create-vue
|
// create-vue -> https://github.com/vuejs/create-vue
|
||||||
const getVueApp = (props = {}, sourceType) => {
|
const getVueApp = (props = {}) => {
|
||||||
const path = 'src/';
|
const path = 'src/';
|
||||||
const { code: sources, title = 'primevue_demo', description = '', service, extPages, dependencies: deps, component, extFiles, embedded } = props;
|
const { code: sources, title = 'primevue_demo', description = '', service, extPages, dependencies: deps, component } = props;
|
||||||
const dependencies = { ...core_dependencies, ...deps };
|
const dependencies = { ...core_dependencies, ...deps };
|
||||||
|
|
||||||
const fileExtension = '.vue';
|
const fileExtension = '.vue';
|
||||||
|
@ -47,16 +47,6 @@ const getVueApp = (props = {}, sourceType) => {
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
let extFilesSource = extFiles
|
|
||||||
? embedded
|
|
||||||
? extFiles['composition']
|
|
||||||
: extFiles[sourceType.language]
|
|
||||||
? { ...extFiles[sourceType.language] }
|
|
||||||
: Object.keys(extFiles)
|
|
||||||
.filter((k) => !sourceTypes.includes(k))
|
|
||||||
.reduce((result, current) => (result[current] = extFiles[current]) && result, {})
|
|
||||||
: {};
|
|
||||||
|
|
||||||
if (deps !== null && component !== null) {
|
if (deps !== null && component !== null) {
|
||||||
imports += `import ${component} from 'primevue/${component.toLowerCase()}';
|
imports += `import ${component} from 'primevue/${component.toLowerCase()}';
|
||||||
`;
|
`;
|
||||||
|
@ -443,8 +433,7 @@ export const router = createRouter({
|
||||||
</g>
|
</g>
|
||||||
</svg>`
|
</svg>`
|
||||||
},
|
},
|
||||||
...routeFiles,
|
...routeFiles
|
||||||
...extFilesSource
|
|
||||||
};
|
};
|
||||||
|
|
||||||
if (extPages && extPages.length >= 1) {
|
if (extPages && extPages.length >= 1) {
|
||||||
|
@ -555,7 +544,7 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
<\/script>
|
<\\/script>
|
||||||
`
|
`
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -727,7 +716,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
<\/script>
|
<\\/script>
|
||||||
`
|
`
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -757,89 +746,89 @@ export default {
|
||||||
};
|
};
|
||||||
|
|
||||||
// @todo - Refactor
|
// @todo - Refactor
|
||||||
const stringify = (value, indent = 2, currentIndent = 0) => {
|
// const stringify = (value, indent = 2, currentIndent = 0) => {
|
||||||
const currentIndentStr = ' '.repeat(currentIndent);
|
// const currentIndentStr = ' '.repeat(currentIndent);
|
||||||
const nextIndentStr = ' '.repeat(currentIndent + indent);
|
// const nextIndentStr = ' '.repeat(currentIndent + indent);
|
||||||
|
|
||||||
if (isArray(value)) {
|
// if (isArray(value)) {
|
||||||
return '[' + value.map((v) => stringify(v, indent, currentIndent + indent)).join(', ') + ']';
|
// return '[' + value.map((v) => stringify(v, indent, currentIndent + indent)).join(', ') + ']';
|
||||||
} else if (isDate(value)) {
|
// } else if (isDate(value)) {
|
||||||
return value.toISOString();
|
// return value.toISOString();
|
||||||
} else if (isFunction(value)) {
|
// } else if (isFunction(value)) {
|
||||||
return value
|
// return value
|
||||||
.toString()
|
// .toString()
|
||||||
.split('\n')
|
// .split('\n')
|
||||||
.map((line, i, arr) => {
|
// .map((line, i, arr) => {
|
||||||
try {
|
// try {
|
||||||
return process?.dev ? line : i === 0 ? line : arr.length - 1 === i ? ' '.repeat(2) + line : currentIndentStr + line;
|
// return process?.dev ? line : i === 0 ? line : arr.length - 1 === i ? ' '.repeat(2) + line : currentIndentStr + line;
|
||||||
} catch {
|
// } catch {
|
||||||
return i === 0 ? line : arr.length - 1 === i ? ' '.repeat(2) + line : currentIndentStr + line;
|
// return i === 0 ? line : arr.length - 1 === i ? ' '.repeat(2) + line : currentIndentStr + line;
|
||||||
}
|
// }
|
||||||
})
|
// })
|
||||||
.join('\n');
|
// .join('\n');
|
||||||
} else if (isObject(value)) {
|
// } else if (isObject(value)) {
|
||||||
return (
|
// return (
|
||||||
'{\n' +
|
// '{\n' +
|
||||||
Object.entries(value)
|
// Object.entries(value)
|
||||||
.map(([k, v]) => `${nextIndentStr}${k}: ${stringify(v, indent, currentIndent + indent)}`)
|
// .map(([k, v]) => `${nextIndentStr}${k}: ${stringify(v, indent, currentIndent + indent)}`)
|
||||||
.join(',\n') +
|
// .join(',\n') +
|
||||||
`\n${currentIndentStr}` +
|
// `\n${currentIndentStr}` +
|
||||||
'}'
|
// '}'
|
||||||
);
|
// );
|
||||||
} else {
|
// } else {
|
||||||
return JSON.stringify(value);
|
// return JSON.stringify(value);
|
||||||
}
|
// }
|
||||||
};
|
// };
|
||||||
|
|
||||||
const createPresetFiles = (presetName, stringPresetName) => {
|
// const createPresetFiles = (presetName, stringPresetName) => {
|
||||||
const presetPath = `${path}presets/${stringPresetName}`;
|
// const presetPath = `${path}presets/${stringPresetName}`;
|
||||||
const imports = [];
|
// const imports = [];
|
||||||
const keys = [];
|
// const keys = [];
|
||||||
const directivesKeys = [];
|
// const directivesKeys = [];
|
||||||
|
|
||||||
Object.entries(presetName).forEach(([name, value]) => {
|
// Object.entries(presetName).forEach(([name, value]) => {
|
||||||
if (name === 'global') {
|
// if (name === 'global') {
|
||||||
imports.push(`import ${name} from './${name}'`);
|
// imports.push(`import ${name} from './${name}'`);
|
||||||
keys.push(name);
|
// keys.push(name);
|
||||||
files[`${presetPath}/${name}.js`] = {
|
// files[`${presetPath}/${name}.js`] = {
|
||||||
content: `export default {
|
// content: `export default {
|
||||||
css: \`${value?.css}\`
|
// css: \`${value?.css}\`
|
||||||
}`
|
// }`
|
||||||
};
|
// };
|
||||||
} else if (name === 'directives') {
|
// } else if (name === 'directives') {
|
||||||
Object.entries(value).forEach(([dname, dvalue]) => {
|
// Object.entries(value).forEach(([dname, dvalue]) => {
|
||||||
const _name = dname === 'badge' ? 'badgedirective' : dname;
|
// const _name = dname === 'badge' ? 'badgedirective' : dname;
|
||||||
|
|
||||||
imports.push(`import ${_name} from './${_name}'`);
|
// imports.push(`import ${_name} from './${_name}'`);
|
||||||
directivesKeys.push(dname === 'badge' ? `badge: badgedirective` : dname);
|
// directivesKeys.push(dname === 'badge' ? `badge: badgedirective` : dname);
|
||||||
files[`${presetPath}/${_name}/index.js`] = {
|
// files[`${presetPath}/${_name}/index.js`] = {
|
||||||
content: `export default ${stringify(dvalue)}`
|
// content: `export default ${stringify(dvalue)}`
|
||||||
};
|
// };
|
||||||
});
|
// });
|
||||||
} else {
|
// } else {
|
||||||
imports.push(`import ${name} from './${name}'`);
|
// imports.push(`import ${name} from './${name}'`);
|
||||||
keys.push(name);
|
// keys.push(name);
|
||||||
files[`${presetPath}/${name}/index.js`] = {
|
// files[`${presetPath}/${name}/index.js`] = {
|
||||||
content: `export default ${stringify(value)}`
|
// content: `export default ${stringify(value)}`
|
||||||
};
|
// };
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
|
|
||||||
files[`${path}presets/${stringPresetName}/index.js`] = {
|
// files[`${path}presets/${stringPresetName}/index.js`] = {
|
||||||
content: `${imports.join(';\n')}
|
// content: `${imports.join(';\n')}
|
||||||
|
|
||||||
export default {
|
// export default {
|
||||||
directives: {
|
// directives: {
|
||||||
${directivesKeys.join(',\n\t\t')}
|
// ${directivesKeys.join(',\n\t\t')}
|
||||||
},
|
// },
|
||||||
${keys.join(',\n\t')}
|
// ${keys.join(',\n\t')}
|
||||||
}
|
// }
|
||||||
`
|
// `
|
||||||
};
|
// };
|
||||||
};
|
// };
|
||||||
|
|
||||||
createPresetFiles(Lara, 'lara');
|
// createPresetFiles(Lara, 'lara');
|
||||||
createPresetFiles(Aura, 'aura');
|
// createPresetFiles(Aura, 'aura');
|
||||||
|
|
||||||
return { files, dependencies, sourceFileName };
|
return { files, dependencies, sourceFileName };
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue