r3ui-lib 1.3.10 → 1.3.11

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.
Files changed (43) hide show
  1. package/CHANGELOG.md +125 -0
  2. package/dist/r3ui-lib.css +1 -1
  3. package/dist/r3ui-lib.es.js +5689 -5438
  4. package/dist/r3ui-lib.umd.js +32 -32
  5. package/dist/types/components/modals/TableFilterModalShell.vue.d.ts +1 -1
  6. package/dist/types/components/modals/TableFilterModalShell.vue.d.ts.map +1 -1
  7. package/dist/types/components/tables/EditTableColumns.vue.d.ts +4 -0
  8. package/dist/types/components/tables/EditTableColumns.vue.d.ts.map +1 -1
  9. package/dist/types/components/tables/TableColumnsButton.vue.d.ts +8 -20
  10. package/dist/types/components/tables/TableColumnsButton.vue.d.ts.map +1 -1
  11. package/dist/types/components/tables/TableColumnsDialog.vue.d.ts +12 -0
  12. package/dist/types/components/tables/TableColumnsDialog.vue.d.ts.map +1 -0
  13. package/dist/types/components/tables/TableColumnsModal.vue.d.ts +8 -20
  14. package/dist/types/components/tables/TableColumnsModal.vue.d.ts.map +1 -1
  15. package/dist/types/components/tables/tableColumnsDialog.types.d.ts +26 -0
  16. package/dist/types/components/tables/tableColumnsDialog.types.d.ts.map +1 -0
  17. package/dist/types/composables/table/useRemoteTable.d.ts +47 -26
  18. package/dist/types/composables/table/useRemoteTable.d.ts.map +1 -1
  19. package/dist/types/composables/table/useTableColumnApply.d.ts +11 -0
  20. package/dist/types/composables/table/useTableColumnApply.d.ts.map +1 -0
  21. package/dist/types/composables/table/useTableColumns.d.ts +6 -0
  22. package/dist/types/composables/table/useTableColumns.d.ts.map +1 -1
  23. package/dist/types/composables/table/useTableColumnsEnhanced.d.ts +4 -0
  24. package/dist/types/composables/table/useTableColumnsEnhanced.d.ts.map +1 -1
  25. package/dist/types/composables/table/useTableColumnsIntegration.d.ts +4 -0
  26. package/dist/types/composables/table/useTableColumnsIntegration.d.ts.map +1 -1
  27. package/dist/types/composables/table/useTableDefault.d.ts +20 -18
  28. package/dist/types/composables/table/useTableDefault.d.ts.map +1 -1
  29. package/dist/types/main.d.ts +9 -7
  30. package/dist/types/main.d.ts.map +1 -1
  31. package/dist/types/types/table.d.ts +34 -2
  32. package/dist/types/types/table.d.ts.map +1 -1
  33. package/dist/types/types/tableInjectKeys.d.ts +14 -12
  34. package/dist/types/types/tableInjectKeys.d.ts.map +1 -1
  35. package/dist/types/types/tableInstance.d.ts +10 -0
  36. package/dist/types/types/tableInstance.d.ts.map +1 -0
  37. package/dist/types/utils/tableAdapter.d.ts +57 -4
  38. package/dist/types/utils/tableAdapter.d.ts.map +1 -1
  39. package/dist/types/utils/tableColumnStorage.d.ts +16 -0
  40. package/dist/types/utils/tableColumnStorage.d.ts.map +1 -0
  41. package/dist/types/utils/tableLoad.d.ts +1 -8
  42. package/dist/types/utils/tableLoad.d.ts.map +1 -1
  43. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,131 @@
5
5
  Формат основан на [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  и этот проект придерживается [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.3.11-filter-completion.0] - 2026-10-20
9
+
10
+ ### Fixed
11
+
12
+ - Применение фильтров ожидает фактический результат загрузки: диалог закрывается только после успешной актуальной операции, ошибки пробрасываются владельцу.
13
+ - Колонки без `field` не передаются в `showColumn` и `hideColumn`.
14
+ - Оболочка фильтров передаёт Promise владельца вместо преждевременного закрытия диалога.
15
+
16
+ ### Added
17
+
18
+ - Необязательный `TableFilterApplyOperation` с `signal` и `isCurrent`: отмена освобождает ожидание старой сети, поздние ответы не завершают новое применение.
19
+
20
+ ## [1.3.11-column-editor.0] - 2026-10-20
21
+
22
+ ### Fixed
23
+
24
+ - Сырые `tableOptions.columns` и `tableColumns` имеют согласованный тип `TableColumnDefinition[]`, включая запись через callback и публичный alias владельца.
25
+
26
+ ### Added
27
+
28
+ - `editorColumns` и `applyEditorColumns`: отдельная подготовленная проекция редактора и применение видимости к полным сырым определениям без потери служебных колонок и callbacks.
29
+ - `toTableEditorColumns` для общей подготовки полей, заголовков и видимости редактора.
30
+
31
+ ## [1.3.11-column-types.0] - 2026-10-20
32
+
33
+ ### Changed
34
+
35
+ - Граница `useTableDefault` использует типы определений колонок, входного layout и options вместо `any[]`; `handleColumnsChangedKey` и `tableOptionsKey` согласованы с владельцем.
36
+ - Типы сохраняют колонки без `field`, необязательные title/visible и callback-поля. Runtime-проверки storage и черновика сохраняются.
37
+ - Упакованный контракт проверяет неверные поля, видимость и размеры через публичные функции и injection-ключи.
38
+
39
+ ## [1.3.11-column-draft.0] - 2026-10-20
40
+
41
+ ### Changed
42
+
43
+ - `EditTableColumns` остаётся единственным владельцем черновика: внутренний диалог больше не дублирует массив колонок, watchers и обработчики флажков.
44
+ - Контракты публичных обёрток и экспортируемого `useTableColumns` сохранены; выбор всех и отдельных колонок проверяется реальными кликами.
45
+
46
+ ## [1.3.11-column-dialog.0] - 2026-10-20
47
+
48
+ ### Changed
49
+
50
+ - Внутренний `TableColumnsDialog` объединяет разметку и управление диалогом обеих публичных обёрток. Их имена, props, события и RU/EN defaults сохранены.
51
+ - Кнопка `TableColumnsModal` получает доступное имя из `title`, как и `TableColumnsButton`.
52
+
53
+ ## [1.3.11-column-apply-context.0] - 2026-10-20
54
+
55
+ ### Fixed
56
+
57
+ - Деактивация KeepAlive и смена `applyContext` отменяют UI-результат применения: поздние resolve, reject и finally не затрагивают новый диалог.
58
+ - Русский текст ошибки по умолчанию в `TableColumnsModal`.
59
+
60
+ ### Added
61
+
62
+ - `applyContext` у компонентов колонок и второй аргумент `applyColumns`: `TableColumnApplyOperation` с `signal` и `isCurrent()`. Асинхронный callback проверяет актуальность перед своей записью; библиотека не откатывает его побочные эффекты.
63
+
64
+ ## [1.3.11-column-apply.1] - 2026-10-20
65
+
66
+ ### Changed
67
+
68
+ - `TableColumnsButton` и `TableColumnsModal` принимают обязательный callback `applyColumns` вместо прямого изменения `tableOptions`. Существующие события служат уведомлениями после успешного callback; обработчики сохранения нужно перенести в callback.
69
+ - Во время применения блокируются повторные действия. При ошибке сохраняются диалог и черновик, отображается `applyErrorText` и отправляется `apply-error` с причиной.
70
+
71
+ ## [1.3.11-column-storage.0] - 2026-10-20
72
+
73
+ ### Fixed
74
+
75
+ - Колонки без `field` сохраняют позиции из актуальных определений при восстановлении layout.
76
+ - Настройки колонок проверяются до записи: повторные поля, некорректные размеры и видимость отклоняются.
77
+
78
+ ### Added
79
+
80
+ - `normalizeStoredColumnLayout` и `restoreStoredTableColumns`: типизированное хранение только layout с чтением прежних записей; заголовки и callbacks не сериализуются.
81
+
82
+ ## [1.3.11-column-layout.0] - 2026-10-20
83
+
84
+ ### Fixed
85
+
86
+ - Применение видимости сохраняет фактические порядок и ширину колонок Tabulator; флажки черновика имеют приоритет.
87
+ - Загрузка настроек восстанавливает сохранённый порядок с актуальными определениями колонок, включая старые записи со строковой шириной.
88
+ - При скрытии колонки её ширина остаётся в storage.
89
+
90
+ ### Added
91
+
92
+ - Чистая функция `applyColumnVisibility` для общих и прикладных адаптеров.
93
+
94
+ ## [1.3.11-table-contract.4] - 2026-10-20
95
+
96
+ ### Fixed
97
+
98
+ - Публичный тип колонок использует относительные импорты, без зависимости от Nuxt alias.
99
+ - `tableColumns` использует `tableOptions.columns` как единый источник, включая загрузку сохранённых настроек и пересоздание таблицы.
100
+ - Редактор колонок изолирует черновик до применения и сбрасывает отменённые изменения при открытии.
101
+
102
+ ## [1.3.11-table-contract.2] - 2026-10-20
103
+
104
+ ### Fixed
105
+
106
+ - Нормализация снимка учитывает `width: null` у скрытых неизмеренных колонок Tabulator; ширина не сохраняется до измерения.
107
+ - Сценарий проверяется на настоящем Tabulator из собранного npm-пакета.
108
+
109
+ ## [1.3.11-table-contract.1] - 2026-10-20
110
+
111
+ ### Fixed
112
+
113
+ - `R3uiTableInstance` использует штатные сигнатуры Tabulator, включая полные определения колонок и допустимые результаты методов.
114
+ - Проверка типов npm-пакета включает присвоение настоящего Tabulator и вызов `setColumns` с title, visible и formatter.
115
+
116
+ ### Added
117
+
118
+ - Общий `captureTableSnapshot` и `normalizeTableColumnLayout`: положительный целый размер страницы, независимые массивы снимка и сохранение layout только для колонок с field.
119
+ - Политики resetContext, resetPage, includeSelection и явный layout сохраняют различия приложений.
120
+
121
+ ## [1.3.11-table-contract.0] - 2026-10-20
122
+
123
+ ### Added
124
+
125
+ - Общий публичный контракт `R3uiTableInstance` и проверка `assertR3uiTableInstance` для remote-таблиц.
126
+
127
+ ### Changed
128
+
129
+ - `useTableDefault` хранит экземпляр в `shallowRef<R3uiTableInstance | null>`: до готовности таблицы значение равно `null`, экземпляр не оборачивается в новый Vue proxy.
130
+ - `useRemoteTable.handleTableReady` принимает `unknown`, проверяет готовый экземпляр перед присваиванием и поддерживает очистку через `null` без загрузки данных.
131
+ - Типы inject и восстановления таблицы используют общий контракт. Публичные Promise-методы Tabulator не меняются.
132
+
8
133
  ## [1.3.10-cancelled.3] - 2026-10-19
9
134
 
10
135
  ### Fixed