r3ui-lib 1.3.10 → 1.3.12

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 (61) hide show
  1. package/CHANGELOG.md +191 -0
  2. package/dist/r3ui-lib.css +1 -1
  3. package/dist/r3ui-lib.es.js +10784 -9303
  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/Table.vue.d.ts.map +1 -1
  10. package/dist/types/components/tables/TableColumnsButton.vue.d.ts +8 -20
  11. package/dist/types/components/tables/TableColumnsButton.vue.d.ts.map +1 -1
  12. package/dist/types/components/tables/TableColumnsDialog.vue.d.ts +12 -0
  13. package/dist/types/components/tables/TableColumnsDialog.vue.d.ts.map +1 -0
  14. package/dist/types/components/tables/TableColumnsModal.vue.d.ts +8 -20
  15. package/dist/types/components/tables/TableColumnsModal.vue.d.ts.map +1 -1
  16. package/dist/types/components/tables/tableColumnsDialog.types.d.ts +26 -0
  17. package/dist/types/components/tables/tableColumnsDialog.types.d.ts.map +1 -0
  18. package/dist/types/composables/table/createTableCommandScheduler.d.ts +29 -0
  19. package/dist/types/composables/table/createTableCommandScheduler.d.ts.map +1 -0
  20. package/dist/types/composables/table/createTableLifecycle.d.ts +118 -0
  21. package/dist/types/composables/table/createTableLifecycle.d.ts.map +1 -0
  22. package/dist/types/composables/table/createTableRebuildTransaction.d.ts +33 -0
  23. package/dist/types/composables/table/createTableRebuildTransaction.d.ts.map +1 -0
  24. package/dist/types/composables/table/createTableSession.d.ts +17 -0
  25. package/dist/types/composables/table/createTableSession.d.ts.map +1 -0
  26. package/dist/types/composables/table/createTableState.d.ts +109 -0
  27. package/dist/types/composables/table/createTableState.d.ts.map +1 -0
  28. package/dist/types/composables/table/createTabulatorAdapter.d.ts +27 -0
  29. package/dist/types/composables/table/createTabulatorAdapter.d.ts.map +1 -0
  30. package/dist/types/composables/table/useManagedRemoteTable.d.ts +134 -0
  31. package/dist/types/composables/table/useManagedRemoteTable.d.ts.map +1 -0
  32. package/dist/types/composables/table/useRemoteTable.d.ts +52 -27
  33. package/dist/types/composables/table/useRemoteTable.d.ts.map +1 -1
  34. package/dist/types/composables/table/useTableColumnApply.d.ts +11 -0
  35. package/dist/types/composables/table/useTableColumnApply.d.ts.map +1 -0
  36. package/dist/types/composables/table/useTableColumns.d.ts +6 -0
  37. package/dist/types/composables/table/useTableColumns.d.ts.map +1 -1
  38. package/dist/types/composables/table/useTableColumnsEnhanced.d.ts +4 -0
  39. package/dist/types/composables/table/useTableColumnsEnhanced.d.ts.map +1 -1
  40. package/dist/types/composables/table/useTableColumnsIntegration.d.ts +4 -0
  41. package/dist/types/composables/table/useTableColumnsIntegration.d.ts.map +1 -1
  42. package/dist/types/composables/table/useTableDefault.d.ts +26 -19
  43. package/dist/types/composables/table/useTableDefault.d.ts.map +1 -1
  44. package/dist/types/main.d.ts +16 -7
  45. package/dist/types/main.d.ts.map +1 -1
  46. package/dist/types/types/table.d.ts +35 -2
  47. package/dist/types/types/table.d.ts.map +1 -1
  48. package/dist/types/types/tableInjectKeys.d.ts +14 -12
  49. package/dist/types/types/tableInjectKeys.d.ts.map +1 -1
  50. package/dist/types/types/tableInstance.d.ts +10 -0
  51. package/dist/types/types/tableInstance.d.ts.map +1 -0
  52. package/dist/types/utils/tableAdapter.d.ts +64 -4
  53. package/dist/types/utils/tableAdapter.d.ts.map +1 -1
  54. package/dist/types/utils/tableCancellation.d.ts.map +1 -1
  55. package/dist/types/utils/tableColumnStorage.d.ts +16 -0
  56. package/dist/types/utils/tableColumnStorage.d.ts.map +1 -0
  57. package/dist/types/utils/tableLoad.d.ts +14 -8
  58. package/dist/types/utils/tableLoad.d.ts.map +1 -1
  59. package/dist/types/utils/tableOperation.d.ts +43 -0
  60. package/dist/types/utils/tableOperation.d.ts.map +1 -0
  61. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,197 @@
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.12-completion.1] - 2026-10-21
9
+
10
+ - Единая граница завершения связывает HTTP-запрос, результат DataLoader и Promise применения строк RowManager; ready и применённый контекст подтверждаются после движка.
11
+ - Текущий отменённый ответ завершает loading; новый обычный успешный запрос освобождает снимок прежней ошибки и разблокирует колонки.
12
+ - Ошибка применения строк допускает повтор; отмена нового запроса сохраняет возможность повторить предшествующую ошибку, поздние завершения не затрагивают нового владельца.
13
+
14
+ ## [1.3.12-state.1] - 2026-10-21
15
+
16
+ - Единая реактивная модель стадии, снимка, ошибки, выбранного и применённого контекста; поздние завершения проверяют владельца перехода.
17
+ - Публичные status, error, canRetry и retry поддерживают повтор после ошибки подготовки, восстановления, фильтров и колонок; одновременные повторы разделяют одну попытку.
18
+ - Отключение во время подготовки сохраняет выбранный контекст, повторная готовность после ошибки разрешает восстановление того же экземпляра.
19
+
20
+ ## [1.3.12-transaction.0] - 2026-10-21
21
+
22
+ - Единая внутренняя транзакция подготовки, передачи снимка и восстановления связывает исходную и новую сессии, поколение и revision.
23
+ - Отмена подготовки завершает ожидание без захвата отключённого экземпляра; поздние ошибки и завершения старого владельца не меняют новую транзакцию.
24
+ - Загрузка подписей использует полную проверку актуальности операции; текущие ошибки подготовки пробрасываются и допускают повтор.
25
+
26
+ ## [1.3.12-session.0] - 2026-10-21
27
+
28
+ - Внутренняя сессия связывает команды и запросы с конкретным экземпляром таблицы. Отключение и замена отменяют ожидание, повторная готовность того же экземпляра сохраняет владельца.
29
+ - Внутренний адаптер Tabulator отвечает за снимки, колонки, загрузку, восстановление страницы и выбор строк; обращения к завершённой сессии запрещены.
30
+ - Table уведомляет владельца перед уничтожением экземпляра; снимок внутренней пересборки передаётся новому экземпляру.
31
+
32
+ ## [1.3.12-scheduler.0] - 2026-10-21
33
+
34
+ - Внутренний планировщик завершает каждую команду фильтров, колонок и восстановления независимо от общей очереди.
35
+ - Уничтожение и вытеснение освобождают ожидающие команды; поздняя ошибка не меняет результат новой операции.
36
+ - Пауза KeepAlive отменяет текущую команду, повторная активация создаёт нового владельца загрузки.
37
+
38
+ ## [1.3.12-operations.0] - 2026-10-21
39
+
40
+ ### Added
41
+
42
+ - Единый `TableOperation`: вид, владелец, поколение, revision, контекст и связанный AbortSignal; общее отменяемое ожидание с обработкой поздних ошибок.
43
+ - Явные результаты `applied / cancelled / superseded` для управляемого применения фильтров, колонок и нового `restoreTableOperationData`. Старые void- и строковые обёртки сохранены.
44
+ - Транспорт получает операцию и сигнал, при отмене завершает ожидание без показа устаревшей ошибки. Отменённый результат колонок не подтверждает применение в диалоге.
45
+
46
+ ### Fixed
47
+
48
+ - Запуск загрузки связывается с конкретной операцией; колонки после отменённого фильтра не наследуют его revision.
49
+ - Отмена колонок и восстановления освобождает ожидание сети и снимок; поздний ответ не меняет новые строки.
50
+
51
+ ## [1.3.12-managed.0] - 2026-10-21
52
+
53
+ ### Added
54
+
55
+ - `useManagedRemoteTable`: создание remote-таблицы, подключение контроллера, Vue lifecycle и injections с прикладными callbacks транспорта, подписей и контекста фильтров.
56
+ - Команда `applyColumns` сохраняет layout и восстанавливает фильтры, сортировку, страницу и выбранные строки; управляемый API публикует только состояние без изменяемого снимка.
57
+
58
+ ### Fixed
59
+
60
+ - Повторная готовность одного экземпляра ожидает действующее восстановление. Новый экземпляр получает своего владельца; позднее завершение старого не освобождает новый снимок.
61
+
62
+ ## [1.3.12-lifecycle.0] - 2026-10-21
63
+
64
+ ### Added
65
+
66
+ - `createTableLifecycle`: общий контроллер готовности, контекста запросов, очереди применений и восстановления снимка. Прикладные URL, транспорт, преобразование ответов и представление ошибок передаются адаптером.
67
+ - `createTableRestoreOperation` и `waitForTablePreparation` для общего учёта актуальности восстановления и отменяемого ожидания справочников.
68
+ - Типизированный контекст применённых фильтров и отдельные режимы первоначальной загрузки через применение фильтра либо замену данных после подготовки.
69
+
70
+ ### Fixed
71
+
72
+ - Завершение применения закрывает только исходное открытие диалога: повторно открытое окно с новым черновиком сохраняется, включая применение из очереди до готовности таблицы. Изменение черновика в том же окне также сохраняет диалог открытым.
73
+
74
+ ## [1.3.11-filter-completion.0] - 2026-10-20
75
+
76
+ ### Fixed
77
+
78
+ - Применение фильтров ожидает фактический результат загрузки: диалог закрывается только после успешной актуальной операции, ошибки пробрасываются владельцу.
79
+ - Колонки без `field` не передаются в `showColumn` и `hideColumn`.
80
+ - Оболочка фильтров передаёт Promise владельца вместо преждевременного закрытия диалога.
81
+
82
+ ### Added
83
+
84
+ - Необязательный `TableFilterApplyOperation` с `signal` и `isCurrent`: отмена освобождает ожидание старой сети, поздние ответы не завершают новое применение.
85
+
86
+ ## [1.3.11-column-editor.0] - 2026-10-20
87
+
88
+ ### Fixed
89
+
90
+ - Сырые `tableOptions.columns` и `tableColumns` имеют согласованный тип `TableColumnDefinition[]`, включая запись через callback и публичный alias владельца.
91
+
92
+ ### Added
93
+
94
+ - `editorColumns` и `applyEditorColumns`: отдельная подготовленная проекция редактора и применение видимости к полным сырым определениям без потери служебных колонок и callbacks.
95
+ - `toTableEditorColumns` для общей подготовки полей, заголовков и видимости редактора.
96
+
97
+ ## [1.3.11-column-types.0] - 2026-10-20
98
+
99
+ ### Changed
100
+
101
+ - Граница `useTableDefault` использует типы определений колонок, входного layout и options вместо `any[]`; `handleColumnsChangedKey` и `tableOptionsKey` согласованы с владельцем.
102
+ - Типы сохраняют колонки без `field`, необязательные title/visible и callback-поля. Runtime-проверки storage и черновика сохраняются.
103
+ - Упакованный контракт проверяет неверные поля, видимость и размеры через публичные функции и injection-ключи.
104
+
105
+ ## [1.3.11-column-draft.0] - 2026-10-20
106
+
107
+ ### Changed
108
+
109
+ - `EditTableColumns` остаётся единственным владельцем черновика: внутренний диалог больше не дублирует массив колонок, watchers и обработчики флажков.
110
+ - Контракты публичных обёрток и экспортируемого `useTableColumns` сохранены; выбор всех и отдельных колонок проверяется реальными кликами.
111
+
112
+ ## [1.3.11-column-dialog.0] - 2026-10-20
113
+
114
+ ### Changed
115
+
116
+ - Внутренний `TableColumnsDialog` объединяет разметку и управление диалогом обеих публичных обёрток. Их имена, props, события и RU/EN defaults сохранены.
117
+ - Кнопка `TableColumnsModal` получает доступное имя из `title`, как и `TableColumnsButton`.
118
+
119
+ ## [1.3.11-column-apply-context.0] - 2026-10-20
120
+
121
+ ### Fixed
122
+
123
+ - Деактивация KeepAlive и смена `applyContext` отменяют UI-результат применения: поздние resolve, reject и finally не затрагивают новый диалог.
124
+ - Русский текст ошибки по умолчанию в `TableColumnsModal`.
125
+
126
+ ### Added
127
+
128
+ - `applyContext` у компонентов колонок и второй аргумент `applyColumns`: `TableColumnApplyOperation` с `signal` и `isCurrent()`. Асинхронный callback проверяет актуальность перед своей записью; библиотека не откатывает его побочные эффекты.
129
+
130
+ ## [1.3.11-column-apply.1] - 2026-10-20
131
+
132
+ ### Changed
133
+
134
+ - `TableColumnsButton` и `TableColumnsModal` принимают обязательный callback `applyColumns` вместо прямого изменения `tableOptions`. Существующие события служат уведомлениями после успешного callback; обработчики сохранения нужно перенести в callback.
135
+ - Во время применения блокируются повторные действия. При ошибке сохраняются диалог и черновик, отображается `applyErrorText` и отправляется `apply-error` с причиной.
136
+
137
+ ## [1.3.11-column-storage.0] - 2026-10-20
138
+
139
+ ### Fixed
140
+
141
+ - Колонки без `field` сохраняют позиции из актуальных определений при восстановлении layout.
142
+ - Настройки колонок проверяются до записи: повторные поля, некорректные размеры и видимость отклоняются.
143
+
144
+ ### Added
145
+
146
+ - `normalizeStoredColumnLayout` и `restoreStoredTableColumns`: типизированное хранение только layout с чтением прежних записей; заголовки и callbacks не сериализуются.
147
+
148
+ ## [1.3.11-column-layout.0] - 2026-10-20
149
+
150
+ ### Fixed
151
+
152
+ - Применение видимости сохраняет фактические порядок и ширину колонок Tabulator; флажки черновика имеют приоритет.
153
+ - Загрузка настроек восстанавливает сохранённый порядок с актуальными определениями колонок, включая старые записи со строковой шириной.
154
+ - При скрытии колонки её ширина остаётся в storage.
155
+
156
+ ### Added
157
+
158
+ - Чистая функция `applyColumnVisibility` для общих и прикладных адаптеров.
159
+
160
+ ## [1.3.11-table-contract.4] - 2026-10-20
161
+
162
+ ### Fixed
163
+
164
+ - Публичный тип колонок использует относительные импорты, без зависимости от Nuxt alias.
165
+ - `tableColumns` использует `tableOptions.columns` как единый источник, включая загрузку сохранённых настроек и пересоздание таблицы.
166
+ - Редактор колонок изолирует черновик до применения и сбрасывает отменённые изменения при открытии.
167
+
168
+ ## [1.3.11-table-contract.2] - 2026-10-20
169
+
170
+ ### Fixed
171
+
172
+ - Нормализация снимка учитывает `width: null` у скрытых неизмеренных колонок Tabulator; ширина не сохраняется до измерения.
173
+ - Сценарий проверяется на настоящем Tabulator из собранного npm-пакета.
174
+
175
+ ## [1.3.11-table-contract.1] - 2026-10-20
176
+
177
+ ### Fixed
178
+
179
+ - `R3uiTableInstance` использует штатные сигнатуры Tabulator, включая полные определения колонок и допустимые результаты методов.
180
+ - Проверка типов npm-пакета включает присвоение настоящего Tabulator и вызов `setColumns` с title, visible и formatter.
181
+
182
+ ### Added
183
+
184
+ - Общий `captureTableSnapshot` и `normalizeTableColumnLayout`: положительный целый размер страницы, независимые массивы снимка и сохранение layout только для колонок с field.
185
+ - Политики resetContext, resetPage, includeSelection и явный layout сохраняют различия приложений.
186
+
187
+ ## [1.3.11-table-contract.0] - 2026-10-20
188
+
189
+ ### Added
190
+
191
+ - Общий публичный контракт `R3uiTableInstance` и проверка `assertR3uiTableInstance` для remote-таблиц.
192
+
193
+ ### Changed
194
+
195
+ - `useTableDefault` хранит экземпляр в `shallowRef<R3uiTableInstance | null>`: до готовности таблицы значение равно `null`, экземпляр не оборачивается в новый Vue proxy.
196
+ - `useRemoteTable.handleTableReady` принимает `unknown`, проверяет готовый экземпляр перед присваиванием и поддерживает очистку через `null` без загрузки данных.
197
+ - Типы inject и восстановления таблицы используют общий контракт. Публичные Promise-методы Tabulator не меняются.
198
+
8
199
  ## [1.3.10-cancelled.3] - 2026-10-19
9
200
 
10
201
  ### Fixed