1.2.38 • Published 9 months ago

@einarlyn/bpmn-form-extended v1.2.38

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

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-js
  • form-editor.js - описание и настройка редактора форм
  • form-viewer.js - описание и настройка просмотра форм

Как добавить собственный компонент

  1. Создать папку компонента в папке components
  2. Создать файл index.js в папке компонента
  3. Реализовать компонент в файле index.js
  4. Импортировать компонент в файл index.js в папке custom/components
  5. Добавить класс компонента и зарегистрировать его
  6. Добавить новый компонент в RenderExtension

Как добавить собственную панель свойств

  1. Создать папку панели свойств в папке properties-panel
  2. Создать файл index.js в папке панели свойств
  3. Реализовать панель свойств в файле index.js
  4. Импортировать панель свойств в файл index.js в папке custom/properties-panel
  5. Добавить класс панели свойств и зарегистрировать его
  6. Добавить новую панель свойств в PropertiesPanelExtension

Как добавить библиотеку в проект на Vue.js + Vite

  1. Установить библиотеку при помощи npm
npm install @einarlyn/bpmn-form-extended
  1. Импортируем css стили в файле main.js
import "@einarlyn/bpmn-form-extended/assets/css/styles.css";
  1. По пути 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;
  1. В файле vite.config.ts добавляем добавляем свойство optimizeDeps
optimizeDeps: {
    exclude: [
      '@einarlyn/bpmn-form-extended',
    ],
  },
  1. В файле vite.config.ts добавляем плагин minifyBundles
build: {
    rollupOptions: {
      output: {
        manualChunks(id) {
          if (id.includes('bpmn-form-extended')) {
            return 'customFormEditor';
          }

          return 'app';
        },
      },
      plugins: [minifyBundles()],
    },
    minify: false,
  },
1.2.38

9 months ago

1.1.70

1 year ago

1.1.74

1 year ago

1.1.73

1 year ago

1.1.72

1 year ago

1.1.71

1 year ago

1.1.78

1 year ago

1.1.77

1 year ago

1.1.76

1 year ago

1.1.75

1 year ago

1.1.79

1 year ago

1.1.81

1 year ago

1.1.80

1 year ago

1.1.85

1 year ago

1.1.84

1 year ago

1.1.83

1 year ago

1.1.82

1 year ago

1.1.87

1 year ago

1.1.86

1 year ago

1.1.63

1 year ago

1.1.61

1 year ago

1.1.60

1 year ago

1.1.67

1 year ago

1.1.66

1 year ago

1.1.65

1 year ago

1.1.64

1 year ago

1.2.36

1 year ago

1.1.69

1 year ago

1.2.37

1 year ago

1.1.68

1 year ago

1.1.56

1 year ago

1.1.55

1 year ago

1.1.59

1 year ago

1.1.58

1 year ago

1.1.57

1 year ago

1.1.38

2 years ago

1.1.37

2 years ago

1.1.36

2 years ago

1.1.35

2 years ago

1.1.39

2 years ago

1.1.41

2 years ago

1.1.40

2 years ago

1.1.45

2 years ago

1.1.44

2 years ago

1.1.43

2 years ago

1.1.42

2 years ago

1.1.49

2 years ago

1.1.48

2 years ago

1.1.47

2 years ago

1.1.46

2 years ago

1.1.52

2 years ago

1.1.51

2 years ago

1.1.50

2 years ago

1.1.54

2 years ago

1.1.53

2 years ago

1.1.34

2 years ago

1.1.29

2 years ago

1.1.28

2 years ago

1.1.9

2 years ago

1.1.8

2 years ago

1.1.7

2 years ago

1.1.6

2 years ago

1.1.5

2 years ago

1.1.30

2 years ago

1.1.12

2 years ago

1.1.33

2 years ago

1.1.11

2 years ago

1.1.32

2 years ago

1.1.10

2 years ago

1.1.31

2 years ago

1.1.16

2 years ago

1.1.15

2 years ago

1.1.14

2 years ago

1.1.13

2 years ago

1.1.19

2 years ago

1.1.18

2 years ago

1.1.17

2 years ago

1.1.23

2 years ago

1.1.22

2 years ago

1.1.21

2 years ago

1.1.20

2 years ago

1.1.27

2 years ago

1.1.26

2 years ago

1.1.25

2 years ago

1.1.24

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago