Skip to main content

Таблиця

Використовується для виводу інформації з бази даних.

!!! info

Рекомендовано створювати окремі таблиці для виводу інформації до адміністративної, публічної частини та для виводу об'єктів на карту

Основні параметри таблиці

Таблиця формується у форматі .json та має бути розташована у відповідній папці templates/table/{file}.json

Нижче наведено приклад файлу таблиці інтерфейсу:

{
"table": "billing.service", // Таблиця БД, з якої беруться дані
"modeList":["Table","Kanban","Calendar"], // Вигляди таблиці даних
"key": "service_id", // ID таблиці БД
"limit": 5, // Обмеження по кількості об'єктів
"title_full": { // Назва таблиці для показу в інтерфейсі
"ua": "Сервіси"
},
"query": "service_name is not null", // Фільтрування даних (запит після where)
"add_form": "web.customize_menu.form", // Форма, яка буде відкриватися при створенні нових або редагуванні існуючих об'єктів
"colModel": [ // Колонки таблиці та їхні налаштування
{
"ua": "Назва", // Назва для відображення користувачам
"meta": "title", // Тип стандартизованого поля
"format": "text", // Тип даних
"name": "service_name", // Колонка таблиці Бд
"data": "service_name_cls", // Назва класифікатора/селекта
}
],
"filter_list": [ // Фільтри таблиці
{
"ua": "Назва", // Назва фільтру для відображення користувачам
"name": "service_name", // Колонка таблиці, за якою відбувається фільтрування
"type": "Check" // Тип фільтру
}
]
}
  • modeList - вигляди таблиці даних. Допустимі значення: "Table", "Kanban", "Calendar", "Map", "Changes", "Files". Передавати масивом. За замовчуванням тільки Table.
  • search_column - колонка або декілька колонок, за якими відбувається пошук в полі фільтрів "Введіть для пошуку"
  • orderby - колонка для сортування
  • setting - налаштування таблиці. Допустимі значення: "add", "card", "export". Передавати масивом. За замовчуванням ввімкнено add і card.
  • widget - які віджети відображати в картках об'єктах - в інфо картці та в повній картці. Приклад виводу інформації:
"widget": {
"info": [
"history"
],
"card": [
"comment,history"
]
}
  • action_deafult - Дії за замовчуванням. Приклад:
"action_deafult": [
"edit",
"del"
]

Основні параметри колонки

  • ua - Назва українською для відображення користувачам
  • format - тип даних. Допустимі значення: text, select, age, date, html, boolean, geom, badge, tags, number
  • meta - стандартизоване поле. Допустимі значення: key, title, status, description, type, category, image, priority, teaser, start, end, deadline, address
  • hidden - приховати колонку зі стандартного вигляду. Допустимі значення: true, false
  • editable - швидке редагування значення поля. Допустимі значення: true, false
  • data - довідник, з якого беруться значення даних по колонці. Вказується назва селекту чи класифікатора.
  • options - додатковий спосіб вказати значення по колонці. Вказуються у json форматі, ключі id та text

Поле format (тип даних)

Заповнюється значення поля format до кожної з вказаних колонок. Вказується тип даних, якими будуть відображені дані в інтерфейсі. Також читається поле cmode (зі старих версій програм), таблиця відповідностей cmode та format:

cmodeformat
0text
1select
2age
3date
4html
5boolean
6geom
7badge
8tags
9-
10number
11-

!!! info

 Вказуємо формат у нижньому регістрі (lowercase)

Поле meta (стандартизоване поле)

Застосовуються для поля meta. Полегшують вивід даних в компоненти за даними від API.

Також може визначатися автоматично - за назвами колонок.

Перелік полів meta:

  1. key - Код / номер

  2. title - Назва

  3. status - Статус

  4. description - Повний опис

  5. type - Тип

  6. category - Категорія/Розділ

  7. image - Зображення

  8. priority - Пріоритет

  9. teaser - Короткий опис

  10. start - Дата початку

  11. end - Дата закінчення

  12. deadline - Дедлайн (очікувана дата завершення)

  13. address - Адреса

Типи фільтрів

Перелік фільтрів:

  1. Text - Просто ввід тексту.
  2. Autocomplete - Вибір декількох варіантів. При 8 і більше варіантах стає доступним рядок пошуку за значеннями.
  3. Check - Вибір значень без випадаючого списку. Зазвичай використовується для невеликої кількості значень (до 7).
  4. Date - Вибір проміжку дат. Є зручна панель для вибору екстра дат.
  5. Radio - Вибір зі списку лише одного значення. Зазвичай використовується для невеликої кількості значень (до 7).
  6. Range - Використовується для вказання проміжку ціни або будь-якого іншого числового значення. Працює як для цілих, так і для десяткових чисел.
  7. Switcher - Вибір значення між true/false. Відповідно, діє лише для колонок boolean
  8. Tags - Вибір значення у форматі кнопок. Зручно для поля тегів. Підтримують іконки та кольори з класифікатора.
  9. Tree - Деревоподібне відображення значень.

Службові колонки

При створенні таблиці потрібно створювати службові колонки:

Назва поляЛатинська назватип колонки
Дата створенняcdatedate_trunc('seconds'::text, now())
Користувач, що востаннє відредагував об'єктeditor_idtext
Дата редагуванняeditor_datetimestamp without time zone
Файлиfilesjson
Користувач, який створивuidtext

!!! danger

Відсутність службових колонок може призвести до помилок при роботі з даними.

Колонки по меті

При створенні таблиці прикладні колонки потрібно називати згідно мети {table}_{meta} або просто {meta}. Приклади:

Назва поляЛатинська назватип колонки
Назва вулиціstreet_nametext
Категорія вулиціstreet_categorytext

і т.д.

База даних

  1. Окрема схема для кожного модуля
  2. Правильний naming - колонок таблиць
  3. Склад: {table}_id, колонки по меті, службові колонки,
  4. PK, FK -

ModeList

Table

Стандартний вигляд хелпера table.

Kanban

Відображення у вигляді дошки з можливістю перетягування за статусом. Колонки дошки (зазвичай, статуси: To do, In progress, Done...) визначаються автоматично, у порядку класифікатора за meta: status.

Map

Показ елементів таблиці у вигляді карти з відображеними на ній елементами. Є можливість вибору конкретного елемента та приближення до нього.

Якщо реєстр не містить об'єктів з геометрією - на карті буде відображене відповідне повідомлення.

Calendar

У вигляді календаря відображені елементи таблиці за датою створення, також є можливість відображення елементів за датою завершення роботи над ними.

Changes

Відображаються всі зміни стосовно обраної таблиці.

Files

Відображаються файли, які належать до таблиці.