Повідомлення про переклад ШІ
Ця документація була автоматично перекладена штучним інтелектом.
Огляд розширень блоків
У NocoBase 2.0 механізм розширення блоків було значно спрощено. Розробникам достатньо успадкувати відповідний базовий клас FlowModel та реалізувати пов'язані методи інтерфейсу (переважно метод renderComponent()), щоб швидко налаштувати власні блоки.
Категорії блоків
NocoBase поділяє блоки на три типи, які відображаються групами в інтерфейсі конфігурації:
- Блоки даних (Data blocks): Блоки, що успадковують
DataBlockModel або CollectionBlockModel.
- Блоки фільтрів (Filter blocks): Блоки, що успадковують
FilterBlockModel.
- Інші блоки (Other blocks): Блоки, що безпосередньо успадковують
BlockModel.
Групування блоків визначається відповідним базовим класом. Логіка класифікації базується на відносинах успадкування і не потребує додаткової конфігурації.
Опис базових класів
Система надає чотири базові класи для розширень:
BlockModel
Базова модель блоку, найбільш універсальний базовий клас для блоків.
- Підходить для блоків, що призначені лише для відображення і не залежать від даних.
- Відноситься до групи Інші блоки.
- Застосовується для індивідуальних сценаріїв.
DataBlockModel
Модель блоку даних (не прив'язана до таблиці даних), призначена для блоків з власними джерелами даних.
- Не прив'язується безпосередньо до таблиці даних, дозволяє налаштовувати логіку отримання даних.
- Відноситься до групи Блоки даних.
- Застосовується для: виклику зовнішніх API, власної обробки даних, статистичних діаграм тощо.
CollectionBlockModel
Модель блоку колекції, для блоків, які потребують прив'язки до таблиці даних.
- Базовий клас моделі, що потребує прив'язки до таблиці даних.
- Відноситься до групи Блоки даних.
- Застосовується для: списків, форм, канбан-дошок та інших блоків, які чітко залежать від певної таблиці даних.
FilterBlockModel
Модель блоку фільтра, для створення блоків умов фільтрації.
- Базовий клас моделі для створення умов фільтрації.
- Відноситься до групи Блоки фільтрів.
- Зазвичай працює в поєднанні з блоками даних.
Як вибрати базовий клас
При виборі базового класу Ви можете дотримуватися наступних принципів:
- Потрібно прив'язати до певної таблиці даних: Надайте перевагу
CollectionBlockModel.
- Власне джерело даних: Виберіть
DataBlockModel.
- Для встановлення умов фільтрації та взаємодії з блоками даних: Виберіть
FilterBlockModel.
- Не знаєте, як класифікувати: Виберіть
BlockModel.
Швидкий старт
Створення власного блоку вимагає лише трьох кроків:
- Успадкуйте відповідний базовий клас (наприклад,
BlockModel).
- Реалізуйте метод
renderComponent(), щоб він повертав React-компонент.
- Зареєструйте модель блоку в плагіні.
Детальні приклади дивіться у статті Написання плагіна блоку.