@einarlyn/bpmn-form-extended v1.2.38
bpmn-form-extended
Библиотека предназначена для расширения компонентной базы bpmn-js. Позволяет добавлять кастомные компоненты в модель bpmn-js.
Структура проекта
assets - ресурсы
css- папка с css файламиfonts- папка с шрифтамиjs- папка с js файламиsvg- папка с svg файлами
custom - кастомные компоненты
components- папка с кастомными компонентамиproperties-panel- папка с кастомными панелями свойствindex.js- файл для импорта всех кастомных компонентов
form-js - переопределение функций библиотеки form-js
base-form.js- переопределение базовых функций библиотеки form-jsform-editor.js- описание и настройка редактора формform-viewer.js- описание и настройка просмотра форм
Как добавить собственный компонент
- Создать папку компонента в папке
components - Создать файл
index.jsв папке компонента - Реализовать компонент в файле
index.js - Импортировать компонент в файл
index.jsв папкеcustom/components - Добавить класс компонента и зарегистрировать его
- Добавить новый компонент в
RenderExtension
Как добавить собственную панель свойств
- Создать папку панели свойств в папке
properties-panel - Создать файл
index.jsв папке панели свойств - Реализовать панель свойств в файле
index.js - Импортировать панель свойств в файл
index.jsв папкеcustom/properties-panel - Добавить класс панели свойств и зарегистрировать его
- Добавить новую панель свойств в
PropertiesPanelExtension
Как добавить библиотеку в проект на Vue.js + Vite
- Установить библиотеку при помощи npm
npm install @einarlyn/bpmn-form-extended- Импортируем css стили в файле
main.js
import "@einarlyn/bpmn-form-extended/assets/css/styles.css";- По пути
src/pluginsсоздаём файлminifyBundles.tsи помещаем в него следующий код
import { minify } from "terser";
const minifyBundles = () => {
return {
name: "minifyBundles",
async generateBundle(_options: any, bundle: any) {
for (const key in bundle) {
if (bundle[key].type === "chunk" && !key.includes("customFormEditor")) {
const minifyCode = await minify(bundle[key].code, {
sourceMap: false,
});
bundle[key].code = minifyCode.code;
} else if (
bundle[key].type === "chunk" &&
key.includes("customFormEditor")
) {
bundle[key].code = bundle[key].code.replaceAll(
"formFields2",
"formFields"
);
const minifyCode = await minify(bundle[key].code, {
mangle: {
reserved: ["RangeField", "formFields.register", "formFields"],
},
sourceMap: false,
});
bundle[key].code = minifyCode.code;
}
}
return bundle;
},
};
};
export default minifyBundles;- В файле
vite.config.tsдобавляем добавляем свойствоoptimizeDeps
optimizeDeps: {
exclude: [
'@einarlyn/bpmn-form-extended',
],
},- В файле
vite.config.tsдобавляем плагинminifyBundles
build: {
rollupOptions: {
output: {
manualChunks(id) {
if (id.includes('bpmn-form-extended')) {
return 'customFormEditor';
}
return 'app';
},
},
plugins: [minifyBundles()],
},
minify: false,
},9 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago