Цей фреймворк не прив’язаний до будь-якого фреймворку візуалізації інтерфейсу і може бути інтегрований із найпопулярнішими фреймворками/бібліотеками, такими як Angular, Svelte, Lit, Vue.js, React.js. Доступні такі пакети візуалізації:
Основна мета — дати вам змогу вибрати інструменти візуалізації, які відповідають вашим конкретним потребам. Крім того, якщо вам колись знадобиться використати плагін візуалізації для іншого фреймворку у вашій програмі (наприклад, під час міграції проекту), ви можете це легко зробити. Зверніть увагу, що rete-angular-plugin
сумісний лише з додатками Angular.
За замовчуванням ви можете використовувати класичний стиль із вбудованими компонентами для:
tsimport { AngularPlugin, AngularArea2D, Presets as AngularPresets } from 'rete-angular-plugin' const angular = new AngularPlugin<Schemes, AngularArea2D<Schemes>>({ injector }) angular.addPreset(AngularPresets.classic.setup()) area.use(angular)
Фреймворк дозволяє вам замінювати попередньо визначені компоненти будь-якими іншими компонентами відповідно до ваших потреб. Компонент вузла, зокрема, можна широко кастомізувати. Додаткову інформацію дивіться у гайді Кастомізація
У цій версії фреймворку покращено підходи до комбінування різних фреймворків візуалізації, одночасно забезпечуючи підтримку TypeScript. Наприклад, ви можете рендерити один вузол за допомогою Vue.js, а інший — за допомогою React.js.
tsimport { ReactArea2D, ReactPlugin, Presets as ReactPresets } from 'rete-react-plugin' import { VueArea2D, VuePlugin, Presets as VuePresets } from 'rete-vue-plugin' type AreaExtra = | ReactArea2D<Schemes> | VueArea2D<Schemes> const reactPlugin = new ReactPlugin<Schemes, AreaExtra>() const vuePlugin = new VuePlugin<Schemes, AreaExtra>() reactPlugin.addPreset(ReactPresets.classic.setup({ customize: { node(data) { if (data.payload instanceof AddNode) return null // запобігти рендерингу AddNode за допомогою React.js return ReactPresets.classic.Node } } })) vuePlugin.addPreset(VuePresets.classic.setup({ customize: { node() { return VuePresets.classic.Node // відобразити всі вузли, які не були відтворені раніше використовуваним рендер плагіном } } })) // порядок має значення area.use(reactPlugin) area.use(vuePlugin)
Вузол AddNode
у цьому прикладі рендериться за допомогою Vue.js, а всі інші вузли рендеряться за допомогою React.js.
Використання кількох фреймворків одночасно може мати недоліки в плані продуктивності, але це також може значно підвищити швидкість створення прототипів, коли time-to-market є критичним.