vgapp 1.4.8 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -2
- package/app/modules/base-module.js +14 -2
- package/app/modules/module-fn.js +5 -4
- package/app/modules/vgalert/js/vgalert.js +21 -1
- package/app/modules/vgalert/scss/vgalert.scss +48 -0
- package/app/modules/vgdropdown/js/vgdropdown.js +58 -27
- package/app/modules/vgfilepreview/js/renderers/video-modal.js +5 -1
- package/app/modules/vgfilepreview/js/renderers/video.js +6 -1
- package/app/modules/vgfilepreview/js/vgfilepreview.js +5 -1
- package/app/modules/vgfiles/js/base.js +29 -15
- package/app/modules/vgfiles/js/droppable.js +37 -31
- package/app/modules/vgfiles/js/vgfiles.js +10 -4
- package/app/modules/vgfiles/scss/_mixins.scss +12 -2
- package/app/modules/vgfiles/scss/_variables.scss +3 -1
- package/app/modules/vgfiles/scss/vgfiles.scss +55 -10
- package/app/modules/vgformsender/js/vgformsender.js +5 -2
- package/app/modules/vgloadmore/js/vgloadmore.js +35 -7
- package/app/modules/vgnestable/js/vgnestable.js +140 -0
- package/app/modules/vgnestable/scss/_variables.scss +16 -9
- package/app/modules/vgnestable/scss/vgnestable.scss +35 -2
- package/app/modules/vgtable/index.js +3 -0
- package/app/modules/vgtable/js/_columns.js +567 -0
- package/app/modules/vgtable/js/_expandable.js +242 -0
- package/app/modules/vgtable/js/_filters.js +264 -0
- package/app/modules/vgtable/js/_fixed-columns.js +249 -0
- package/app/modules/vgtable/js/_i18n.js +75 -0
- package/app/modules/vgtable/js/_options.js +428 -0
- package/app/modules/vgtable/js/_pagination.js +491 -0
- package/app/modules/vgtable/js/_panning.js +124 -0
- package/app/modules/vgtable/js/_params-groups.js +21 -0
- package/app/modules/vgtable/js/_remote.js +395 -0
- package/app/modules/vgtable/js/_row-reorder.js +268 -0
- package/app/modules/vgtable/js/_search.js +134 -0
- package/app/modules/vgtable/js/_selection.js +113 -0
- package/app/modules/vgtable/js/_skeleton.js +123 -0
- package/app/modules/vgtable/js/_sorting.js +340 -0
- package/app/modules/vgtable/js/_states.js +143 -0
- package/app/modules/vgtable/js/_sticky-header.js +218 -0
- package/app/modules/vgtable/js/_url-state.js +178 -0
- package/app/modules/vgtable/js/vgtable.js +1444 -0
- package/app/modules/vgtable/readme.md +922 -0
- package/app/modules/vgtable/scss/_columns.scss +52 -0
- package/app/modules/vgtable/scss/_expandable.scss +54 -0
- package/app/modules/vgtable/scss/_fixed-columns.scss +117 -0
- package/app/modules/vgtable/scss/_pagination.scss +191 -0
- package/app/modules/vgtable/scss/_row-reorder.scss +45 -0
- package/app/modules/vgtable/scss/_skeleton.scss +65 -0
- package/app/modules/vgtable/scss/_sorting.scss +89 -0
- package/app/modules/vgtable/scss/_states.scss +70 -0
- package/app/modules/vgtable/scss/_sticky-header.scss +127 -0
- package/app/modules/vgtable/scss/_variables.scss +296 -0
- package/app/modules/vgtable/scss/vgtable.scss +206 -0
- package/app/utils/js/components/placement.js +64 -10
- package/app/vgapp.js +3 -3
- package/build/vgapp.css +1 -1
- package/build/vgapp.css.map +1 -1
- package/build/vgapp.js +1 -1
- package/build/vgapp.js.map +1 -1
- package/index.js +1 -1
- package/index.scss +3 -3
- package/package.json +4 -4
- package/app/modules/vgdynamictable/index.js +0 -4
- package/app/modules/vgdynamictable/js/editable.js +0 -438
- package/app/modules/vgdynamictable/js/expandable.js +0 -248
- package/app/modules/vgdynamictable/js/filters.js +0 -450
- package/app/modules/vgdynamictable/js/fixed.js +0 -566
- package/app/modules/vgdynamictable/js/options.js +0 -650
- package/app/modules/vgdynamictable/js/pagination.js +0 -623
- package/app/modules/vgdynamictable/js/search.js +0 -82
- package/app/modules/vgdynamictable/js/skeleton.js +0 -144
- package/app/modules/vgdynamictable/js/sortable.js +0 -442
- package/app/modules/vgdynamictable/js/summary-footer.js +0 -284
- package/app/modules/vgdynamictable/js/table-remote.js +0 -821
- package/app/modules/vgdynamictable/js/table-state.js +0 -243
- package/app/modules/vgdynamictable/js/table-url-state.js +0 -444
- package/app/modules/vgdynamictable/js/utils/common.js +0 -48
- package/app/modules/vgdynamictable/js/vgdynamictable.js +0 -3870
- package/app/modules/vgdynamictable/js/viewport.js +0 -322
- package/app/modules/vgdynamictable/readme.md +0 -251
- package/app/modules/vgdynamictable/scss/_actions.scss +0 -196
- package/app/modules/vgdynamictable/scss/_pagination.scss +0 -186
- package/app/modules/vgdynamictable/scss/_skeleton.scss +0 -63
- package/app/modules/vgdynamictable/scss/_sortable.scss +0 -66
- package/app/modules/vgdynamictable/scss/_table.scss +0 -137
- package/app/modules/vgdynamictable/scss/_variables.scss +0 -138
- package/app/modules/vgdynamictable/scss/vgdynamictable.scss +0 -264
|
@@ -0,0 +1,428 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Описание: константы и параметры по умолчанию базовой таблицы VGTable.
|
|
3
|
+
* Возможности: единая настройка Data API, i18n, wrapper, remote-запросов, фильтров, sticky-заголовка, колонок, строк, сортировки, выбора и пагинации.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Служебные константы модуля.
|
|
8
|
+
*/
|
|
9
|
+
// Имя компонента в публичном API. Варианты: фиксированное значение 'table'.
|
|
10
|
+
const NAME = 'table';
|
|
11
|
+
// Ключ экземпляра в Data API. Варианты: фиксированное значение 'vg.table'.
|
|
12
|
+
const NAME_KEY = `vg.${NAME}`;
|
|
13
|
+
// Селектор автоматической инициализации. Варианты: элементы с атрибутом data-vg-table.
|
|
14
|
+
const SELECTOR_DATA_TOGGLE = '[data-vg-table]';
|
|
15
|
+
// Селектор обязательного адаптивного контейнера. Варианты: класс .vg-table-wrapper.
|
|
16
|
+
const WRAPPER_SELECTOR = '.vg-table-wrapper';
|
|
17
|
+
// Маркер wrapper, созданного компонентом. Варианты: пустой data-атрибут.
|
|
18
|
+
const GENERATED_WRAPPER_ATTRIBUTE = 'data-vg-table-generated-wrapper';
|
|
19
|
+
// Селектор обязательного внутреннего scroll-контейнера таблицы. Варианты: класс .vg-table-container.
|
|
20
|
+
const TABLE_CONTAINER_SELECTOR = '.vg-table-container';
|
|
21
|
+
// Маркер container, созданного компонентом. Варианты: пустой data-атрибут.
|
|
22
|
+
const GENERATED_TABLE_CONTAINER_ATTRIBUTE = 'data-vg-table-generated-container';
|
|
23
|
+
|
|
24
|
+
const DEFAULT_OPTIONS = {
|
|
25
|
+
// Активная локаль встроенного интерфейса. Data API: data-locale. Варианты: 'ru' | 'en' | региональный BCP 47 код.
|
|
26
|
+
locale: 'ru',
|
|
27
|
+
// Пользовательские словари, объединяемые со встроенными ru/en. Data API отсутствует; варианты: объект {locale: {group: {key: value}}}.
|
|
28
|
+
i18n: {},
|
|
29
|
+
|
|
30
|
+
/** Локальная сортировка строк по значениям ячеек. */
|
|
31
|
+
sort: {
|
|
32
|
+
// Включает сортировку по клику и клавиатуре; сложная сетка отключает её автоматически. Варианты: true | false.
|
|
33
|
+
enabled: true,
|
|
34
|
+
// Показывает неактивные шевроны только при наведении. Варианты: true | false.
|
|
35
|
+
hover: true,
|
|
36
|
+
// Разрешает одновременно сортировать по нескольким колонкам. Data API: data-sort-multiple. Варианты: true | false.
|
|
37
|
+
multiple: false,
|
|
38
|
+
// Добавляет следующую колонку только при удержании Shift; false включает постоянный режим мультисортировки. Data API: data-sort-multiple-with-shift. Варианты: true | false.
|
|
39
|
+
multipleWithShift: true,
|
|
40
|
+
},
|
|
41
|
+
|
|
42
|
+
/** Горизонтальное перемещение таблицы с зажатой клавишей Shift. */
|
|
43
|
+
pan: {
|
|
44
|
+
// Включает Shift-перетаскивание внутри wrapper. Варианты: true | false.
|
|
45
|
+
enabled: true,
|
|
46
|
+
},
|
|
47
|
+
|
|
48
|
+
/** Нативная фиксация заголовка без клонирования таблицы. */
|
|
49
|
+
stickyHeader: {
|
|
50
|
+
// Включает position: sticky для ячеек thead. Варианты: true | false.
|
|
51
|
+
enabled: false,
|
|
52
|
+
// Выбирает область прокрутки. Варианты: 'container' | 'page'.
|
|
53
|
+
mode: 'container',
|
|
54
|
+
// Задаёт inline-отступ; null оставляет управление публичной CSS-переменной. Варианты: null | число пикселей | CSS length.
|
|
55
|
+
top: null,
|
|
56
|
+
// Ограничивает высоту body-слоя в container-режиме. Варианты: число пикселей | CSS length.
|
|
57
|
+
maxHeight: '24rem',
|
|
58
|
+
},
|
|
59
|
+
|
|
60
|
+
/** Нативные фиксированные колонки без клонирования ячеек. */
|
|
61
|
+
fixedColumns: {
|
|
62
|
+
// Включает sticky-колонки; наличие columns или data-fixed у th включает их автоматически. Варианты: true | false.
|
|
63
|
+
enabled: false,
|
|
64
|
+
// Перечисляет колонки по data-field или zero-based индексу. Data API: data-fixed-columns. Варианты: 'left:id,name;right:actions' | {left: [], right: []}.
|
|
65
|
+
columns: '',
|
|
66
|
+
// Выбирает постоянную фиксацию крайних колонок или последовательное накопление при прокрутке. Варианты: 'fixed' | 'stack'.
|
|
67
|
+
mode: 'fixed',
|
|
68
|
+
// Добавляет расстояние между колонками в stack-режиме. Варианты: число пикселей >= 0.
|
|
69
|
+
stackGap: 0,
|
|
70
|
+
},
|
|
71
|
+
|
|
72
|
+
/** Изменение ширины колонок указателем или через публичный API. */
|
|
73
|
+
columnResize: {
|
|
74
|
+
// Включает resize-handle в заголовках. Data API: data-column-resize-enable. Варианты: true | false.
|
|
75
|
+
enabled: false,
|
|
76
|
+
// Минимальная ширина колонки в пикселях. Data API: data-column-resize-min-width. Варианты: число >= 40.
|
|
77
|
+
minWidth: 80,
|
|
78
|
+
// Максимальная ширина колонки в пикселях. Data API: data-column-resize-max-width. Варианты: число >= minWidth.
|
|
79
|
+
maxWidth: 600,
|
|
80
|
+
// Сохраняет ширины в localStorage. Data API: data-column-resize-persist. Варианты: true | false.
|
|
81
|
+
persist: false,
|
|
82
|
+
// Переопределяет ключ localStorage. Data API: data-column-resize-storage-key. Варианты: string.
|
|
83
|
+
storageKey: '',
|
|
84
|
+
// Шаблон aria-label resize-handle; {column} заменяется заголовком. Варианты: непустая строка.
|
|
85
|
+
label: 'Изменить ширину колонки {column}',
|
|
86
|
+
},
|
|
87
|
+
|
|
88
|
+
/** Перестановка колонок нативным drag-and-drop. */
|
|
89
|
+
columnReorder: {
|
|
90
|
+
// Включает перетаскивание заголовков. Data API: data-column-reorder-enable. Варианты: true | false.
|
|
91
|
+
enabled: false,
|
|
92
|
+
// Сохраняет порядок в localStorage. Data API: data-column-reorder-persist. Варианты: true | false.
|
|
93
|
+
persist: false,
|
|
94
|
+
// Переопределяет ключ localStorage. Data API: data-column-reorder-storage-key. Варианты: string.
|
|
95
|
+
storageKey: '',
|
|
96
|
+
},
|
|
97
|
+
|
|
98
|
+
/** Скрытие и отображение колонок внешними checkbox или публичным API. */
|
|
99
|
+
columnVisibility: {
|
|
100
|
+
// Включает управление видимостью. Data API: data-column-visibility-enable. Варианты: true | false.
|
|
101
|
+
enabled: false,
|
|
102
|
+
// Находит контейнер checkbox с data-vg-table-column. Data API: data-column-visibility-controls. Варианты: Element | CSS selector | ''.
|
|
103
|
+
controls: '',
|
|
104
|
+
// Минимальное число видимых колонок. Data API: data-column-visibility-min-visible. Варианты: целое число >= 1.
|
|
105
|
+
minVisible: 1,
|
|
106
|
+
// Сохраняет скрытые поля в localStorage. Data API: data-column-visibility-persist. Варианты: true | false.
|
|
107
|
+
persist: false,
|
|
108
|
+
// Переопределяет ключ localStorage. Data API: data-column-visibility-storage-key. Варианты: string.
|
|
109
|
+
storageKey: '',
|
|
110
|
+
},
|
|
111
|
+
|
|
112
|
+
/** Самостоятельное изменение порядка строк без editable-режима. */
|
|
113
|
+
rowReorder: {
|
|
114
|
+
// Включает native drag-and-drop строк. Data API: data-row-reorder-enable | data-row-reorder-enabled. Варианты: true | false.
|
|
115
|
+
enabled: false,
|
|
116
|
+
// Определяет область начала перетаскивания. Data API: data-row-reorder-mode. Варианты: 'handle' | 'row'.
|
|
117
|
+
mode: 'handle',
|
|
118
|
+
// Находит явный drag-handle внутри строки. Data API: data-row-reorder-handle-selector. Варианты: CSS selector.
|
|
119
|
+
handleSelector: '[data-row-reorder-handle]',
|
|
120
|
+
// Задаёт атрибут стабильного ключа строки. Data API: data-row-reorder-key-attr. Варианты: имя HTML-атрибута.
|
|
121
|
+
keyAttr: 'data-row-key',
|
|
122
|
+
// Сохраняет локальный порядок строк. Data API: data-row-reorder-persist. Варианты: true | false.
|
|
123
|
+
persist: false,
|
|
124
|
+
// Переопределяет ключ localStorage. Data API: data-row-reorder-storage-key. Варианты: string.
|
|
125
|
+
storageKey: '',
|
|
126
|
+
|
|
127
|
+
/** Доступные подписи drag-handle. */
|
|
128
|
+
labels: {
|
|
129
|
+
// Шаблон доступного имени; {row} заменяется ключом строки. Варианты: непустая строка.
|
|
130
|
+
handle: 'Изменить позицию строки {row}',
|
|
131
|
+
},
|
|
132
|
+
},
|
|
133
|
+
|
|
134
|
+
/** Выбор одной или нескольких строк таблицы. */
|
|
135
|
+
selection: {
|
|
136
|
+
// Включает API и состояния выбора строк. Варианты: true | false.
|
|
137
|
+
enabled: false,
|
|
138
|
+
// Разрешает выбирать строку кликом по её неинтерактивной области. Варианты: true | false.
|
|
139
|
+
click: true,
|
|
140
|
+
// Разрешает одновременный выбор нескольких строк. Варианты: true | false.
|
|
141
|
+
multiple: false,
|
|
142
|
+
},
|
|
143
|
+
|
|
144
|
+
/** Многоуровневое дерево связанных родительских и дочерних строк. */
|
|
145
|
+
expandable: {
|
|
146
|
+
// Включает сворачивание и разворачивание ветвей. Варианты: true | false.
|
|
147
|
+
enabled: false,
|
|
148
|
+
// Задаёт имя атрибута с уникальным ID строки. Варианты: непустая строка с именем data-атрибута.
|
|
149
|
+
idAttr: 'data-expand-id',
|
|
150
|
+
// Задаёт имя атрибута с ID родительской строки. Варианты: непустая строка с именем data-атрибута.
|
|
151
|
+
parentAttr: 'data-expand-parent-id',
|
|
152
|
+
// Находит пользовательскую кнопку ветви. Варианты: корректный CSS-селектор.
|
|
153
|
+
toggleSelector: '[data-expand-toggle]',
|
|
154
|
+
// Сворачивает родительские строки при первой инициализации. Варианты: true | false.
|
|
155
|
+
collapsed: true,
|
|
156
|
+
|
|
157
|
+
/** Доступные подписи кнопки управления ветвью. */
|
|
158
|
+
labels: {
|
|
159
|
+
// Описывает действие для свёрнутой ветви. Варианты: непустая строка.
|
|
160
|
+
expand: 'Развернуть дочерние строки',
|
|
161
|
+
// Описывает действие для развёрнутой ветви. Варианты: непустая строка.
|
|
162
|
+
collapse: 'Свернуть дочерние строки',
|
|
163
|
+
},
|
|
164
|
+
},
|
|
165
|
+
|
|
166
|
+
/** Отдельное поле глобального поиска по локальным или серверным строкам. */
|
|
167
|
+
search: {
|
|
168
|
+
// Включает отдельное поле поиска. Data API: data-search-enable. Варианты: true | false.
|
|
169
|
+
enabled: false,
|
|
170
|
+
// Находит input поиска. Data API: data-search-input. Варианты: Element | CSS selector | ''.
|
|
171
|
+
input: '',
|
|
172
|
+
// Имя Remote-параметра. Data API: data-search-param. Варианты: непустая строка.
|
|
173
|
+
param: 'q',
|
|
174
|
+
// Задерживает поиск при вводе. Data API: data-search-debounce. Варианты: целое число миллисекунд >= 0.
|
|
175
|
+
debounce: 300,
|
|
176
|
+
// Сбрасывает активную страницу при изменении запроса. Data API: data-search-reset-page. Варианты: true | false.
|
|
177
|
+
resetPage: true,
|
|
178
|
+
// Удаляет пробелы по краям запроса. Data API: data-search-trim. Варианты: true | false.
|
|
179
|
+
trim: true,
|
|
180
|
+
// Ограничивает локальный поиск полями data-field; пустой список ищет во всех разрешённых колонках. Data API: data-search-fields. Варианты: массив | строка через запятую.
|
|
181
|
+
fields: [],
|
|
182
|
+
// Селектор кнопки очистки. Data API: data-search-button-reset. Варианты: CSS selector.
|
|
183
|
+
button: {reset: '[data-search-reset]'},
|
|
184
|
+
},
|
|
185
|
+
|
|
186
|
+
/** Внешняя форма локальных или серверных фильтров. */
|
|
187
|
+
filters: {
|
|
188
|
+
// Включает подключение формы фильтров. Data API: data-filters-enable | data-filters-enabled. Варианты: true | false.
|
|
189
|
+
enabled: false,
|
|
190
|
+
// Находит форму или контейнер с контролами. Data API: data-filters-form. Варианты: Element | CSS selector | ''.
|
|
191
|
+
form: '',
|
|
192
|
+
// Задерживает применение текстовых полей в auto-режиме. Data API: data-filters-debounce. Варианты: целое число миллисекунд >= 0.
|
|
193
|
+
debounce: 300,
|
|
194
|
+
// Определяет немедленное применение или ожидание submit/apply. Data API: data-filters-apply. Варианты: 'auto' | 'manual'.
|
|
195
|
+
apply: 'auto',
|
|
196
|
+
// Сбрасывает активную страницу после изменения фильтров. Data API: data-filters-reset-page. Варианты: true | false.
|
|
197
|
+
resetPage: true,
|
|
198
|
+
// Не создаёт фильтры для пустых значений. Data API: data-filters-skip-empty. Варианты: true | false.
|
|
199
|
+
skipEmpty: true,
|
|
200
|
+
// Удаляет пробелы по краям текстовых значений. Data API: data-filters-trim. Варианты: true | false.
|
|
201
|
+
trim: true,
|
|
202
|
+
// Задаёт оператор для контролов без data-filter-operator. Data API: data-filters-default-operator. Варианты: eq | neq | contains | starts | ends | gt | gte | lt | lte | in | notin.
|
|
203
|
+
defaultOperator: 'eq',
|
|
204
|
+
// Имена служебных атрибутов формы. Data API: data-filters-*-attr. Варианты: валидные имена HTML-атрибутов.
|
|
205
|
+
fieldAttr: 'data-filter-field',
|
|
206
|
+
partAttr: 'data-filter-part',
|
|
207
|
+
typeAttr: 'data-filter-type',
|
|
208
|
+
valueAttr: 'data-filter-value',
|
|
209
|
+
operatorAttr: 'data-filter-operator',
|
|
210
|
+
|
|
211
|
+
/** Селекторы кнопок ручного применения и сброса. */
|
|
212
|
+
buttons: {
|
|
213
|
+
// Data API: data-filters-button-apply. Варианты: CSS selector.
|
|
214
|
+
apply: '[data-filter-apply]',
|
|
215
|
+
// Data API: data-filters-button-reset. Варианты: CSS selector.
|
|
216
|
+
reset: '[data-filter-reset]',
|
|
217
|
+
},
|
|
218
|
+
|
|
219
|
+
},
|
|
220
|
+
|
|
221
|
+
/** Состояния результата, ошибки и восстановления таблицы. */
|
|
222
|
+
state: {
|
|
223
|
+
// Включает встроенный state-layer. Data API: data-state-enable. Варианты: true | false.
|
|
224
|
+
enabled: true,
|
|
225
|
+
|
|
226
|
+
/** Тексты состояний и действий. */
|
|
227
|
+
labels: {
|
|
228
|
+
// Пустая таблица без исходных данных. Data API: data-state-empty-label. Варианты: непустая строка.
|
|
229
|
+
empty: 'Нет данных',
|
|
230
|
+
// Нет совпадений при активном поиске или фильтрах. Data API: data-state-filtered-empty-label. Варианты: непустая строка.
|
|
231
|
+
'filtered-empty': 'По вашему запросу ничего не найдено',
|
|
232
|
+
// Ошибка Remote-запроса. Data API: data-state-error-label. Варианты: непустая строка.
|
|
233
|
+
error: 'Не удалось загрузить данные',
|
|
234
|
+
// Повтор Remote-запроса. Data API: data-state-retry-label. Варианты: непустая строка.
|
|
235
|
+
retry: 'Повторить',
|
|
236
|
+
// Сброс поиска и фильтров из filtered-empty. Data API: data-state-reset-label. Варианты: непустая строка.
|
|
237
|
+
reset: 'Сбросить фильтры',
|
|
238
|
+
},
|
|
239
|
+
},
|
|
240
|
+
|
|
241
|
+
/** Единая синхронизация пользовательского состояния с query string. */
|
|
242
|
+
urlState: {
|
|
243
|
+
// Включает общий URL state. Data API: data-url-state-enable. Варианты: true | false.
|
|
244
|
+
enabled: false,
|
|
245
|
+
// Читает query string при инициализации. Data API: data-url-state-read. Варианты: true | false.
|
|
246
|
+
read: true,
|
|
247
|
+
// Записывает изменения в query string. Data API: data-url-state-write. Варианты: true | false.
|
|
248
|
+
write: true,
|
|
249
|
+
// Обрабатывает back/forward через popstate. Data API: data-url-state-listen. Варианты: true | false.
|
|
250
|
+
listen: true,
|
|
251
|
+
// Способ обновления истории. Data API: data-url-state-mode. Варианты: 'replace' | 'push'.
|
|
252
|
+
mode: 'replace',
|
|
253
|
+
// Общий префикс ключей для нескольких таблиц на странице. Data API: data-url-state-prefix. Варианты: string.
|
|
254
|
+
prefix: '',
|
|
255
|
+
|
|
256
|
+
/** Имена query-параметров. */
|
|
257
|
+
keys: {
|
|
258
|
+
// Номер страницы. Data API: data-url-state-page-key. Варианты: непустая строка.
|
|
259
|
+
page: 'page',
|
|
260
|
+
// Количество строк. Data API: data-url-state-per-page-key. Варианты: непустая строка.
|
|
261
|
+
perPage: 'perPage',
|
|
262
|
+
// Поле сортировки. Data API: data-url-state-sort-key. Варианты: непустая строка.
|
|
263
|
+
sort: 'sort',
|
|
264
|
+
// Направление сортировки. Data API: data-url-state-direction-key. Варианты: непустая строка.
|
|
265
|
+
direction: 'dir',
|
|
266
|
+
// Глобальный поиск. Data API: data-url-state-search-key. Варианты: непустая строка.
|
|
267
|
+
search: 'search',
|
|
268
|
+
// Префикс полей фильтров. Data API: data-url-state-filter-prefix. Варианты: string.
|
|
269
|
+
filterPrefix: 'filter-',
|
|
270
|
+
},
|
|
271
|
+
|
|
272
|
+
/** Управляемые части состояния. */
|
|
273
|
+
include: {
|
|
274
|
+
// Data API: data-url-state-include-pagination. Варианты: true | false.
|
|
275
|
+
pagination: true,
|
|
276
|
+
// Data API: data-url-state-include-sort. Варианты: true | false.
|
|
277
|
+
sort: true,
|
|
278
|
+
// Data API: data-url-state-include-search. Варианты: true | false.
|
|
279
|
+
search: true,
|
|
280
|
+
// Data API: data-url-state-include-filters. Варианты: true | false.
|
|
281
|
+
filters: true,
|
|
282
|
+
},
|
|
283
|
+
},
|
|
284
|
+
|
|
285
|
+
/** Визуальное состояние Remote-загрузки с сохранением геометрии таблицы. */
|
|
286
|
+
loading: {
|
|
287
|
+
// Включает skeleton вместо текстовой строки загрузки. Data API: data-loading-enable. Варианты: true | false.
|
|
288
|
+
enabled: true,
|
|
289
|
+
// Минимальное время показа skeleton в миллисекундах. Data API: data-loading-min-delay. Варианты: целое число >= 0.
|
|
290
|
+
minDelay: 500,
|
|
291
|
+
// Число строк для изначально пустой таблицы. Data API: data-loading-skeleton | data-loading-skeleton-rows. Варианты: целое число >= 1.
|
|
292
|
+
skeleton: 5,
|
|
293
|
+
},
|
|
294
|
+
|
|
295
|
+
/** Загрузка строк и серверной метаинформации через общий Ajax-компонент. */
|
|
296
|
+
request: {
|
|
297
|
+
// URL endpoint; непустое значение автоматически включает remote-режим. Data API: data-request-route. Варианты: string | ''.
|
|
298
|
+
route: '',
|
|
299
|
+
// HTTP-метод запроса. Data API: data-request-method. Варианты: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'.
|
|
300
|
+
method: 'GET',
|
|
301
|
+
// Режим credentials для fetch. Data API: data-request-credentials. Варианты: 'same-origin' | 'include' | 'omit'.
|
|
302
|
+
credentials: 'same-origin',
|
|
303
|
+
// Базовые HTTP-заголовки. Data API: нет прямого атрибута. Варианты: объект заголовков fetch.
|
|
304
|
+
headers: {'Accept': 'application/json'},
|
|
305
|
+
// Базовые query-параметры для каждого запроса. Data API: data-request-params (JSON). Варианты: plain object.
|
|
306
|
+
params: {},
|
|
307
|
+
// Переименовывает внутренние параметры перед отправкой. Data API: data-request-parammap (JSON). Варианты: plain object вида {q: 'search'}.
|
|
308
|
+
parammap: {},
|
|
309
|
+
// Выбирает источник разметки строк. Data API: data-request-responsemode. Варианты: 'data' | 'view' | 'auto'.
|
|
310
|
+
responsemode: 'data',
|
|
311
|
+
// Dot-path до массива строк JSON. Data API: data-request-datapath. Варианты: непустой dot-path.
|
|
312
|
+
datapath: 'data',
|
|
313
|
+
// Dot-path до объекта серверной пагинации. Data API: data-request-metapath. Варианты: непустой dot-path.
|
|
314
|
+
metapath: 'meta',
|
|
315
|
+
// Dot-path до готовой HTML-разметки строк. Data API: data-request-viewpath. Варианты: непустой dot-path.
|
|
316
|
+
viewpath: 'view.tbody',
|
|
317
|
+
// Имя параметра, запрашивающего server-rendered view. Data API: data-request-viewparam. Варианты: string | ''.
|
|
318
|
+
viewparam: 'view',
|
|
319
|
+
// Значение параметра server-rendered view. Data API: data-request-viewvalue. Варианты: string | ''.
|
|
320
|
+
viewvalue: 'rows',
|
|
321
|
+
// Имя параметра со списком data-field колонок. Data API: data-request-fieldsparam. Варианты: string | ''.
|
|
322
|
+
fieldsparam: 'fields',
|
|
323
|
+
|
|
324
|
+
/** Кратковременный cache одинаковых remote-запросов. */
|
|
325
|
+
cache: {
|
|
326
|
+
// Включает cache ответов в памяти экземпляра. Data API: data-request-cache-enable. Варианты: true | false.
|
|
327
|
+
enable: true,
|
|
328
|
+
// Время жизни записи cache в миллисекундах. Data API: data-request-cache-ttl. Варианты: целое число >= 1.
|
|
329
|
+
ttl: 30000,
|
|
330
|
+
// Максимальное число записей с вытеснением давно использованных. Data API: data-request-cache-max. Варианты: целое число >= 1.
|
|
331
|
+
max: 30,
|
|
332
|
+
},
|
|
333
|
+
|
|
334
|
+
/** Отдельный endpoint выгрузки текущего remote-состояния. */
|
|
335
|
+
export: {
|
|
336
|
+
// URL endpoint выгрузки; пустая строка использует основной route. Data API: data-request-export-route. Варианты: string | ''.
|
|
337
|
+
route: '',
|
|
338
|
+
},
|
|
339
|
+
},
|
|
340
|
+
|
|
341
|
+
/** Локальная или серверная пагинация строк. */
|
|
342
|
+
pagination: {
|
|
343
|
+
// Включает разбиение строк и элементы навигации. Варианты: true | false.
|
|
344
|
+
enabled: false,
|
|
345
|
+
// Задаёт начальную страницу. Варианты: целое число >= 1.
|
|
346
|
+
page: 1,
|
|
347
|
+
// Задаёт начальное количество строк на странице. Варианты: целое число от 1 до max.
|
|
348
|
+
per: 10,
|
|
349
|
+
// Ограничивает произвольное количество строк на странице. Варианты: целое число >= 1.
|
|
350
|
+
max: 100,
|
|
351
|
+
// Определяет расположение пагинации относительно таблицы. Варианты: 'top' | 'bottom' | 'both'.
|
|
352
|
+
position: 'bottom',
|
|
353
|
+
// Выравнивает элементы внутри панели пагинации. Варианты: 'left' | 'center' | 'right' | 'between'.
|
|
354
|
+
align: 'right',
|
|
355
|
+
// Заменяет скрытые диапазоны страниц интерактивным многоточием. Варианты: true | false.
|
|
356
|
+
ellipsis: true,
|
|
357
|
+
// Заменяет точки направленным двойным шевроном при hover и focus. Варианты: true | false.
|
|
358
|
+
ellipsisHover: true,
|
|
359
|
+
// Задаёт число страниц, после которого разрешены многоточие и quick='auto'. Варианты: целое число >= 1.
|
|
360
|
+
threshold: 5,
|
|
361
|
+
// Задаёт максимальное число соседних страниц между первой и последней. Варианты: целое число >= 1.
|
|
362
|
+
visible: 5,
|
|
363
|
+
|
|
364
|
+
/** Поле и VGDropdown для выбора количества строк. */
|
|
365
|
+
size: {
|
|
366
|
+
// Показывает контрол количества строк на странице. Варианты: true | false.
|
|
367
|
+
enabled: false,
|
|
368
|
+
// Задаёт предустановленные размеры страницы. Варианты: массив целых чисел от 1 до max.
|
|
369
|
+
options: [10, 25, 50, 100],
|
|
370
|
+
// Задаёт видимую подпись поля; false скрывает её. Варианты: string | false.
|
|
371
|
+
label: 'Строк на странице',
|
|
372
|
+
// Добавляет текст после числового значения. Варианты: string | ''.
|
|
373
|
+
suffix: 'на страницу',
|
|
374
|
+
},
|
|
375
|
+
|
|
376
|
+
/** Поле прямого перехода к номеру страницы. */
|
|
377
|
+
quick: {
|
|
378
|
+
// Показывает быстрый переход всегда, никогда или после threshold. Варианты: true | false | 'auto'.
|
|
379
|
+
enabled: false,
|
|
380
|
+
// Задаёт доступную подпись поля номера страницы. Варианты: непустая строка.
|
|
381
|
+
label: 'Перейти к странице',
|
|
382
|
+
// Задаёт текст кнопки подтверждения перехода. Варианты: непустая строка.
|
|
383
|
+
button: 'Перейти',
|
|
384
|
+
},
|
|
385
|
+
|
|
386
|
+
/** Сохранение состояния локальной пагинации. */
|
|
387
|
+
persist: {
|
|
388
|
+
// Сохраняет текущую страницу в localStorage. Варианты: true | false.
|
|
389
|
+
page: true,
|
|
390
|
+
// Сохраняет количество строк на странице в localStorage. Варианты: true | false.
|
|
391
|
+
per: true,
|
|
392
|
+
},
|
|
393
|
+
|
|
394
|
+
/** Идентификация записи состояния в localStorage. */
|
|
395
|
+
storage: {
|
|
396
|
+
// Задаёт явный ключ; пустая строка включает автоматический ключ. Варианты: string | ''.
|
|
397
|
+
key: '',
|
|
398
|
+
},
|
|
399
|
+
|
|
400
|
+
// Управляет прокруткой после смены страницы. Варианты: false | 'table' | 'window'.
|
|
401
|
+
scroll: false,
|
|
402
|
+
|
|
403
|
+
/** Доступные подписи навигации для screen reader. */
|
|
404
|
+
labels: {
|
|
405
|
+
// Задаёт aria-label блока навигации. Варианты: непустая строка.
|
|
406
|
+
aria: 'Пагинация',
|
|
407
|
+
// Задаёт aria-label кнопки предыдущей страницы. Варианты: непустая строка.
|
|
408
|
+
prev: 'Назад',
|
|
409
|
+
// Задаёт aria-label кнопки следующей страницы. Варианты: непустая строка.
|
|
410
|
+
next: 'Вперёд',
|
|
411
|
+
// Задаёт aria-label перехода через левое многоточие. Варианты: непустая строка.
|
|
412
|
+
ellipsisPrev: 'Перейти к предыдущим страницам',
|
|
413
|
+
// Задаёт aria-label перехода через правое многоточие. Варианты: непустая строка.
|
|
414
|
+
ellipsisNext: 'Перейти к следующим страницам',
|
|
415
|
+
},
|
|
416
|
+
}
|
|
417
|
+
};
|
|
418
|
+
|
|
419
|
+
export {
|
|
420
|
+
DEFAULT_OPTIONS,
|
|
421
|
+
GENERATED_TABLE_CONTAINER_ATTRIBUTE,
|
|
422
|
+
GENERATED_WRAPPER_ATTRIBUTE,
|
|
423
|
+
NAME,
|
|
424
|
+
NAME_KEY,
|
|
425
|
+
SELECTOR_DATA_TOGGLE,
|
|
426
|
+
TABLE_CONTAINER_SELECTOR,
|
|
427
|
+
WRAPPER_SELECTOR,
|
|
428
|
+
};
|