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.
- package/CHANGELOG.md +191 -0
- package/dist/r3ui-lib.css +1 -1
- package/dist/r3ui-lib.es.js +10784 -9303
- package/dist/r3ui-lib.umd.js +32 -32
- package/dist/types/components/modals/TableFilterModalShell.vue.d.ts +1 -1
- package/dist/types/components/modals/TableFilterModalShell.vue.d.ts.map +1 -1
- package/dist/types/components/tables/EditTableColumns.vue.d.ts +4 -0
- package/dist/types/components/tables/EditTableColumns.vue.d.ts.map +1 -1
- package/dist/types/components/tables/Table.vue.d.ts.map +1 -1
- package/dist/types/components/tables/TableColumnsButton.vue.d.ts +8 -20
- package/dist/types/components/tables/TableColumnsButton.vue.d.ts.map +1 -1
- package/dist/types/components/tables/TableColumnsDialog.vue.d.ts +12 -0
- package/dist/types/components/tables/TableColumnsDialog.vue.d.ts.map +1 -0
- package/dist/types/components/tables/TableColumnsModal.vue.d.ts +8 -20
- package/dist/types/components/tables/TableColumnsModal.vue.d.ts.map +1 -1
- package/dist/types/components/tables/tableColumnsDialog.types.d.ts +26 -0
- package/dist/types/components/tables/tableColumnsDialog.types.d.ts.map +1 -0
- package/dist/types/composables/table/createTableCommandScheduler.d.ts +29 -0
- package/dist/types/composables/table/createTableCommandScheduler.d.ts.map +1 -0
- package/dist/types/composables/table/createTableLifecycle.d.ts +118 -0
- package/dist/types/composables/table/createTableLifecycle.d.ts.map +1 -0
- package/dist/types/composables/table/createTableRebuildTransaction.d.ts +33 -0
- package/dist/types/composables/table/createTableRebuildTransaction.d.ts.map +1 -0
- package/dist/types/composables/table/createTableSession.d.ts +17 -0
- package/dist/types/composables/table/createTableSession.d.ts.map +1 -0
- package/dist/types/composables/table/createTableState.d.ts +109 -0
- package/dist/types/composables/table/createTableState.d.ts.map +1 -0
- package/dist/types/composables/table/createTabulatorAdapter.d.ts +27 -0
- package/dist/types/composables/table/createTabulatorAdapter.d.ts.map +1 -0
- package/dist/types/composables/table/useManagedRemoteTable.d.ts +134 -0
- package/dist/types/composables/table/useManagedRemoteTable.d.ts.map +1 -0
- package/dist/types/composables/table/useRemoteTable.d.ts +52 -27
- package/dist/types/composables/table/useRemoteTable.d.ts.map +1 -1
- package/dist/types/composables/table/useTableColumnApply.d.ts +11 -0
- package/dist/types/composables/table/useTableColumnApply.d.ts.map +1 -0
- package/dist/types/composables/table/useTableColumns.d.ts +6 -0
- package/dist/types/composables/table/useTableColumns.d.ts.map +1 -1
- package/dist/types/composables/table/useTableColumnsEnhanced.d.ts +4 -0
- package/dist/types/composables/table/useTableColumnsEnhanced.d.ts.map +1 -1
- package/dist/types/composables/table/useTableColumnsIntegration.d.ts +4 -0
- package/dist/types/composables/table/useTableColumnsIntegration.d.ts.map +1 -1
- package/dist/types/composables/table/useTableDefault.d.ts +26 -19
- package/dist/types/composables/table/useTableDefault.d.ts.map +1 -1
- package/dist/types/main.d.ts +16 -7
- package/dist/types/main.d.ts.map +1 -1
- package/dist/types/types/table.d.ts +35 -2
- package/dist/types/types/table.d.ts.map +1 -1
- package/dist/types/types/tableInjectKeys.d.ts +14 -12
- package/dist/types/types/tableInjectKeys.d.ts.map +1 -1
- package/dist/types/types/tableInstance.d.ts +10 -0
- package/dist/types/types/tableInstance.d.ts.map +1 -0
- package/dist/types/utils/tableAdapter.d.ts +64 -4
- package/dist/types/utils/tableAdapter.d.ts.map +1 -1
- package/dist/types/utils/tableCancellation.d.ts.map +1 -1
- package/dist/types/utils/tableColumnStorage.d.ts +16 -0
- package/dist/types/utils/tableColumnStorage.d.ts.map +1 -0
- package/dist/types/utils/tableLoad.d.ts +14 -8
- package/dist/types/utils/tableLoad.d.ts.map +1 -1
- package/dist/types/utils/tableOperation.d.ts +43 -0
- package/dist/types/utils/tableOperation.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -1,28 +1,30 @@
|
|
|
1
|
-
import type { ComputedRef, InjectionKey, Ref } from
|
|
1
|
+
import type { ComputedRef, InjectionKey, Ref } from "vue";
|
|
2
|
+
import type { TableColumnDefinition, TableColumnOptions, TableFilterApplyOperation } from "./table";
|
|
3
|
+
import type { R3uiTableInstance } from "./tableInstance";
|
|
2
4
|
/** Typed API фильтров и таблицы из useTableDefault */
|
|
3
5
|
export type R3uiTableDefaultApi = {
|
|
4
6
|
filterModalVisibility: Ref<boolean>;
|
|
5
7
|
selectedFilterTitles: Readonly<Record<string, string>> | Ref<Record<string, string>>;
|
|
6
8
|
setFilterParamsStrings: (key: string, value: unknown) => void;
|
|
7
|
-
applyFilters: (table?: unknown) => void | Promise<void>;
|
|
9
|
+
applyFilters: (table?: unknown, operation?: TableFilterApplyOperation) => void | Promise<void>;
|
|
8
10
|
resetFilters: () => void | Promise<void>;
|
|
9
11
|
tableFilters: Ref<Record<string, unknown>>;
|
|
10
|
-
table: Ref<
|
|
12
|
+
table: Ref<R3uiTableInstance | null>;
|
|
11
13
|
};
|
|
12
14
|
export declare const r3uiTableDefaultApiKey: InjectionKey<R3uiTableDefaultApi>;
|
|
13
|
-
export declare const setFilterParamsStringsKey: InjectionKey<R3uiTableDefaultApi[
|
|
14
|
-
export declare const selectedFilterTitlesKey: InjectionKey<R3uiTableDefaultApi[
|
|
15
|
-
export declare const tableFiltersRefKey: InjectionKey<R3uiTableDefaultApi[
|
|
16
|
-
export declare const filterModalVisibilityKey: InjectionKey<R3uiTableDefaultApi[
|
|
17
|
-
export declare const resetFiltersKey: InjectionKey<R3uiTableDefaultApi[
|
|
18
|
-
export declare const applyFiltersKey: InjectionKey<R3uiTableDefaultApi[
|
|
15
|
+
export declare const setFilterParamsStringsKey: InjectionKey<R3uiTableDefaultApi["setFilterParamsStrings"]>;
|
|
16
|
+
export declare const selectedFilterTitlesKey: InjectionKey<R3uiTableDefaultApi["selectedFilterTitles"]>;
|
|
17
|
+
export declare const tableFiltersRefKey: InjectionKey<R3uiTableDefaultApi["tableFilters"]>;
|
|
18
|
+
export declare const filterModalVisibilityKey: InjectionKey<R3uiTableDefaultApi["filterModalVisibility"]>;
|
|
19
|
+
export declare const resetFiltersKey: InjectionKey<R3uiTableDefaultApi["resetFilters"]>;
|
|
20
|
+
export declare const applyFiltersKey: InjectionKey<R3uiTableDefaultApi["applyFilters"]>;
|
|
19
21
|
export declare const editTableColumnsModalVisibilityKey: InjectionKey<Ref<boolean>>;
|
|
20
|
-
export declare const tableOptionsKey: InjectionKey<Ref<
|
|
22
|
+
export declare const tableOptionsKey: InjectionKey<Ref<TableColumnOptions>>;
|
|
21
23
|
export declare const editTableColumnVisibilityKey: InjectionKey<(event: Event, code: string) => void | Promise<void>>;
|
|
22
24
|
export declare const isTableCoumnsHiddenKey: InjectionKey<ComputedRef<boolean>>;
|
|
23
25
|
export declare const unselectAllTableColumnCheckboxesKey: InjectionKey<() => void | Promise<void>>;
|
|
24
26
|
export declare const selectAllTableColumnCheckboxesKey: InjectionKey<() => void | Promise<void>>;
|
|
25
|
-
export declare const handleColumnsChangedKey: InjectionKey<(columns:
|
|
27
|
+
export declare const handleColumnsChangedKey: InjectionKey<(columns: readonly TableColumnDefinition[]) => void>;
|
|
26
28
|
export declare const handleColumnsApplyKey: InjectionKey<() => void>;
|
|
27
|
-
export declare const tableRefKey: InjectionKey<Ref<
|
|
29
|
+
export declare const tableRefKey: InjectionKey<Ref<R3uiTableInstance | null>>;
|
|
28
30
|
//# sourceMappingURL=tableInjectKeys.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableInjectKeys.d.ts","sourceRoot":"","sources":["../../../src/types/tableInjectKeys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1D,sDAAsD;AACtD,MAAM,MAAM,mBAAmB,GAAG;IAChC,qBAAqB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,oBAAoB,
|
|
1
|
+
{"version":3,"file":"tableInjectKeys.d.ts","sourceRoot":"","sources":["../../../src/types/tableInjectKeys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1D,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,yBAAyB,EAC1B,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,sDAAsD;AACtD,MAAM,MAAM,mBAAmB,GAAG;IAChC,qBAAqB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,oBAAoB,EAChB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAChC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAChC,sBAAsB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9D,YAAY,EAAE,CACZ,KAAK,CAAC,EAAE,OAAO,EACf,SAAS,CAAC,EAAE,yBAAyB,KAClC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,YAAY,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3C,KAAK,EAAE,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;CACtC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,YAAY,CAAC,mBAAmB,CAEpE,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,YAAY,CAClD,mBAAmB,CAAC,wBAAwB,CAAC,CACX,CAAC;AAErC,eAAO,MAAM,uBAAuB,EAAE,YAAY,CAChD,mBAAmB,CAAC,sBAAsB,CAAC,CACX,CAAC;AAEnC,eAAO,MAAM,kBAAkB,EAAE,YAAY,CAC3C,mBAAmB,CAAC,cAAc,CAAC,CACX,CAAC;AAE3B,eAAO,MAAM,wBAAwB,EAAE,YAAY,CACjD,mBAAmB,CAAC,uBAAuB,CAAC,CACX,CAAC;AAEpC,eAAO,MAAM,eAAe,EAAE,YAAY,CACxC,mBAAmB,CAAC,cAAc,CAAC,CACX,CAAC;AAE3B,eAAO,MAAM,eAAe,EAAE,YAAY,CACxC,mBAAmB,CAAC,cAAc,CAAC,CACX,CAAC;AAE3B,eAAO,MAAM,kCAAkC,EAAE,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAC/B,CAAC;AAE5C,eAAO,MAAM,eAAe,EAAE,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAC1C,CAAC;AAEzB,eAAO,MAAM,4BAA4B,EAAE,YAAY,CACrD,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CACf,CAAC;AAExC,eAAO,MAAM,sBAAsB,EAAE,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CACvC,CAAC;AAEhC,eAAO,MAAM,mCAAmC,EAAE,YAAY,CAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CACkB,CAAC;AAE/C,eAAO,MAAM,iCAAiC,EAAE,YAAY,CAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CACgB,CAAC;AAE7C,eAAO,MAAM,uBAAuB,EAAE,YAAY,CAChD,CAAC,OAAO,EAAE,SAAS,qBAAqB,EAAE,KAAK,IAAI,CACnB,CAAC;AAEnC,eAAO,MAAM,qBAAqB,EAAE,YAAY,CAAC,MAAM,IAAI,CAC7B,CAAC;AAE/B,eAAO,MAAM,WAAW,EAAE,YAAY,CAAC,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC,CACnD,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Tabulator } from "tabulator-tables";
|
|
2
|
+
/** Сигнатуры возможностей таблицы сохраняют контракт установленного Tabulator. */
|
|
3
|
+
export interface R3uiTableInstance extends Pick<Tabulator, "setColumns" | "setHeaderFilterValue" | "setSort" | "getPage" | "getPageSize" | "getHeaderFilters" | "getSorters" | "getColumnLayout" | "replaceData" | "setPage">, Partial<Pick<Tabulator, "getSelectedData" | "selectRow" | "deselectRow" | "hideColumn" | "showColumn">> {
|
|
4
|
+
options: {
|
|
5
|
+
ajaxURL?: string;
|
|
6
|
+
columns?: unknown;
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
export declare function assertR3uiTableInstance(value: unknown): asserts value is R3uiTableInstance;
|
|
10
|
+
//# sourceMappingURL=tableInstance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tableInstance.d.ts","sourceRoot":"","sources":["../../../src/types/tableInstance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,kFAAkF;AAClF,MAAM,WAAW,iBACf,SAAQ,IAAI,CACR,SAAS,EACP,YAAY,GACZ,sBAAsB,GACtB,SAAS,GACT,SAAS,GACT,aAAa,GACb,kBAAkB,GAClB,YAAY,GACZ,iBAAiB,GACjB,aAAa,GACb,SAAS,CACZ,EACD,OAAO,CACL,IAAI,CACF,SAAS,EACP,iBAAiB,GACjB,WAAW,GACX,aAAa,GACb,YAAY,GACZ,YAAY,CACf,CACF;IACH,OAAO,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAClD;AAsBD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,KAAK,IAAI,iBAAiB,CAepC"}
|
|
@@ -1,22 +1,78 @@
|
|
|
1
|
+
import type { TableOperation } from "./tableOperation";
|
|
2
|
+
import type { TableColumnDefinition, TableColumn } from "../types/table";
|
|
3
|
+
import type { R3uiTableInstance } from "../types/tableInstance";
|
|
1
4
|
export interface TableColumnLayout {
|
|
2
5
|
field: string;
|
|
3
6
|
width?: number;
|
|
4
7
|
visible?: boolean;
|
|
5
8
|
}
|
|
6
|
-
|
|
9
|
+
/** Редактор получает подготовленные копии; колонки без field остаются только в таблице. */
|
|
10
|
+
export declare function toTableEditorColumns(columns: readonly TableColumnDefinition[]): TableColumn[];
|
|
11
|
+
/** Layout снимка содержит только колонки с устойчивым ключом и фактической шириной. */
|
|
12
|
+
export type TableSnapshotLayoutInput = {
|
|
13
|
+
title?: string;
|
|
14
|
+
field?: string;
|
|
15
|
+
width?: number | string | null;
|
|
16
|
+
visible?: boolean;
|
|
17
|
+
};
|
|
18
|
+
export interface TableSnapshotSource {
|
|
7
19
|
getPage(): number | false;
|
|
8
|
-
|
|
9
|
-
|
|
20
|
+
getPageSize(): number | true;
|
|
21
|
+
getHeaderFilters(): readonly {
|
|
22
|
+
field: string;
|
|
23
|
+
value: unknown;
|
|
24
|
+
}[];
|
|
25
|
+
getSorters(): readonly {
|
|
26
|
+
field: string;
|
|
27
|
+
dir: "asc" | "desc";
|
|
28
|
+
}[];
|
|
29
|
+
getColumnLayout(): readonly TableSnapshotLayoutInput[];
|
|
30
|
+
getSelectedData?(): readonly {
|
|
31
|
+
id?: string | number;
|
|
32
|
+
}[];
|
|
10
33
|
}
|
|
34
|
+
export type TableSnapshot = {
|
|
35
|
+
page: number;
|
|
36
|
+
size: number;
|
|
37
|
+
filters: Array<{
|
|
38
|
+
field: string;
|
|
39
|
+
value: unknown;
|
|
40
|
+
}>;
|
|
41
|
+
sort: Array<{
|
|
42
|
+
column: string;
|
|
43
|
+
dir: "asc" | "desc";
|
|
44
|
+
}>;
|
|
45
|
+
layout: TableColumnLayout[];
|
|
46
|
+
selected: Array<string | number>;
|
|
47
|
+
};
|
|
48
|
+
export declare function normalizeTableColumnLayout(layout: readonly TableSnapshotLayoutInput[]): TableColumnLayout[];
|
|
49
|
+
export declare function captureTableSnapshot(instance: TableSnapshotSource, { resetContext, resetPage, includeSelection, layout, }?: {
|
|
50
|
+
resetContext?: boolean;
|
|
51
|
+
resetPage?: boolean;
|
|
52
|
+
includeSelection?: boolean;
|
|
53
|
+
layout?: readonly TableSnapshotLayoutInput[];
|
|
54
|
+
}): TableSnapshot;
|
|
55
|
+
export type RestorableTable = Pick<R3uiTableInstance, "getPage" | "replaceData" | "setPage">;
|
|
11
56
|
export interface TableRestoreOperation {
|
|
57
|
+
readonly signal?: AbortSignal;
|
|
58
|
+
readonly owner?: TableOperation;
|
|
12
59
|
isCurrent(): boolean;
|
|
13
60
|
beforeRequest(): void;
|
|
14
61
|
}
|
|
15
62
|
export declare function mergeColumnLayout<Column extends {
|
|
16
|
-
field
|
|
63
|
+
field?: string;
|
|
17
64
|
width?: number | string;
|
|
18
65
|
visible?: boolean;
|
|
19
66
|
}>(columns: readonly Column[], layout?: readonly TableColumnLayout[]): Column[];
|
|
67
|
+
/** Флажки черновика перекрывают видимость layout, сохраняя его порядок и ширину. */
|
|
68
|
+
export declare function applyColumnVisibility<Column extends {
|
|
69
|
+
field?: string;
|
|
70
|
+
width?: number | string;
|
|
71
|
+
visible?: boolean;
|
|
72
|
+
}>(columns: readonly Column[], draft: readonly {
|
|
73
|
+
field: string;
|
|
74
|
+
visible: boolean;
|
|
75
|
+
}[], layout?: readonly TableSnapshotLayoutInput[]): Column[];
|
|
20
76
|
/** Владелец может отменить только свой снимок; поздний finally не затрагивает новую операцию. */
|
|
21
77
|
export declare function createSnapshotOwner<State>(getPending: () => State | undefined, clearPending: () => void): {
|
|
22
78
|
track(state: State, isSameContext: () => boolean, operation: {
|
|
@@ -28,4 +84,8 @@ export declare function restoreTableData(instance: RestorableTable, state: {
|
|
|
28
84
|
page: number;
|
|
29
85
|
size: number;
|
|
30
86
|
}, url: string, operation: TableRestoreOperation): Promise<"restored" | "superseded" | "cancelled">;
|
|
87
|
+
/** Новый результат операции; строковый контракт restoreTableData сохранён для существующих адаптеров. */
|
|
88
|
+
export declare function restoreTableOperationData(...args: Parameters<typeof restoreTableData>): Promise<{
|
|
89
|
+
status: "applied" | "cancelled" | "superseded";
|
|
90
|
+
}>;
|
|
31
91
|
//# sourceMappingURL=tableAdapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableAdapter.d.ts","sourceRoot":"","sources":["../../../src/utils/tableAdapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tableAdapter.d.ts","sourceRoot":"","sources":["../../../src/utils/tableAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableCancellation.d.ts","sourceRoot":"","sources":["../../../src/utils/tableCancellation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"tableCancellation.d.ts","sourceRoot":"","sources":["../../../src/utils/tableCancellation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAShD,KAAK,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;AACvD,KAAK,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;AAExD,sFAAsF;AACtF,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,OAAO,EACpB,QAAQ,EAAE,MAAM,OAAO,EACvB,WAAW,EAAE,MAAM,IAAI;;4BAuBQ,WAAW,KAAG,WAAW;6BAyB7B,OAAO;gCAOJ,MAAM,UAAU,MAAM;EAKrD;AAgBD,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,OAAO,EACd,SAAS,CAAC,EAAE;IACV,iBAAiB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;IAC/C,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/D,GACA,IAAI,CAgCN"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface StoredTableColumnLayout {
|
|
2
|
+
field: string;
|
|
3
|
+
width?: number | string;
|
|
4
|
+
minWidth?: number | string;
|
|
5
|
+
visible?: boolean;
|
|
6
|
+
}
|
|
7
|
+
/** Читает старые определения и новые layout, оставляя только сохраняемые примитивы. */
|
|
8
|
+
export declare function normalizeStoredColumnLayout(value: unknown): StoredTableColumnLayout[];
|
|
9
|
+
/** Заголовки, callbacks и служебные колонки всегда берутся из актуальных определений. */
|
|
10
|
+
export declare function restoreStoredTableColumns<Column extends {
|
|
11
|
+
field?: string;
|
|
12
|
+
width?: number | string;
|
|
13
|
+
minWidth?: number | string;
|
|
14
|
+
visible?: boolean;
|
|
15
|
+
}>(columns: readonly Column[], value: unknown): Column[];
|
|
16
|
+
//# sourceMappingURL=tableColumnStorage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tableColumnStorage.d.ts","sourceRoot":"","sources":["../../../src/utils/tableColumnStorage.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAuBD,uFAAuF;AACvF,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,OAAO,GACb,uBAAuB,EAAE,CA6B3B;AAED,yFAAyF;AACzF,wBAAgB,yBAAyB,CACvC,MAAM,SAAS;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,EACD,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAgBtD"}
|
|
@@ -1,20 +1,26 @@
|
|
|
1
|
+
import { type TableOperation } from "./tableOperation";
|
|
1
2
|
export type TableLoadOutcome = {
|
|
2
3
|
status: "applied" | "cancelled" | "superseded";
|
|
3
4
|
} | {
|
|
4
5
|
status: "failed";
|
|
5
6
|
error: unknown;
|
|
6
7
|
};
|
|
8
|
+
/** Граница одной загрузки; транспорт подписывается, движок публикует итог после применения. */
|
|
9
|
+
export declare function createTableLoadBoundary(): {
|
|
10
|
+
subscribe(listener: (result: TableLoadOutcome) => void): void;
|
|
11
|
+
finish(result: TableLoadOutcome): void;
|
|
12
|
+
};
|
|
13
|
+
export type TableLoadBoundary = ReturnType<typeof createTableLoadBoundary>;
|
|
14
|
+
export declare function getTableLoadBoundary(table: object | null | undefined): {
|
|
15
|
+
subscribe(listener: (result: TableLoadOutcome) => void): void;
|
|
16
|
+
finish(result: TableLoadOutcome): void;
|
|
17
|
+
} | undefined;
|
|
18
|
+
export declare function withTableLoadBoundary<T>(table: object, boundary: TableLoadBoundary, action: () => T): T;
|
|
7
19
|
type Load = () => Promise<unknown>;
|
|
8
20
|
type Tracker = (load: Load) => Promise<TableLoadOutcome>;
|
|
21
|
+
export declare function getTableRequestOperation(table: object | null | undefined): TableOperation<unknown> | undefined;
|
|
9
22
|
/** Регистрация принадлежит экземпляру Table, включая его Vue proxy. */
|
|
10
23
|
export declare function registerTableLoadTracker(table: object, tracker: Tracker): void;
|
|
11
|
-
export declare function trackTableLoad(table: object, load: Load): Promise<
|
|
12
|
-
status: "applied" | "cancelled" | "superseded";
|
|
13
|
-
} | {
|
|
14
|
-
status: "failed";
|
|
15
|
-
error: unknown;
|
|
16
|
-
} | {
|
|
17
|
-
readonly status: "applied";
|
|
18
|
-
}>;
|
|
24
|
+
export declare function trackTableLoad(table: object, load: Load, signal?: AbortSignal, operation?: TableOperation): Promise<TableLoadOutcome>;
|
|
19
25
|
export {};
|
|
20
26
|
//# sourceMappingURL=tableLoad.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableLoad.d.ts","sourceRoot":"","sources":["../../../src/utils/tableLoad.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tableLoad.d.ts","sourceRoot":"","sources":["../../../src/utils/tableLoad.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE9E,MAAM,MAAM,gBAAgB,GACxB;IAAE,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,YAAY,CAAA;CAAE,GAClD;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAEzC,+FAA+F;AAC/F,wBAAgB,uBAAuB;wBAIf,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI;mBAIvC,gBAAgB;EAQlC;AACD,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE3E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;wBAf7C,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI;mBAIvC,gBAAgB;cAalC;AACD,wBAAgB,qBAAqB,CAAC,CAAC,EACrC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,MAAM,CAAC,GACd,CAAC,CAUH;AAED,KAAK,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;AACnC,KAAK,OAAO,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAGzD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,uCAExE;AAGD,uEAAuE;AACvE,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,QAEvE;AAED,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,IAAI,EACV,MAAM,CAAC,EAAE,WAAW,EACpB,SAAS,CAAC,EAAE,cAAc,GACzB,OAAO,CAAC,gBAAgB,CAAC,CAwB3B"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/** Общая граница актуальности, совместимая с прежними обработчиками таблицы. */
|
|
2
|
+
export interface TableOperationGuard {
|
|
3
|
+
readonly signal: AbortSignal;
|
|
4
|
+
isCurrent(): boolean;
|
|
5
|
+
}
|
|
6
|
+
export type TableOperationKind = "filters" | "columns" | "restore" | "request";
|
|
7
|
+
export type TableOperationResult = {
|
|
8
|
+
status: "applied" | "cancelled" | "superseded";
|
|
9
|
+
};
|
|
10
|
+
export interface TableOperation<Context = unknown> extends TableOperationGuard {
|
|
11
|
+
readonly id: number;
|
|
12
|
+
readonly parentId?: number;
|
|
13
|
+
readonly kind: TableOperationKind;
|
|
14
|
+
readonly generation: number;
|
|
15
|
+
readonly revision: number;
|
|
16
|
+
readonly context?: Context;
|
|
17
|
+
}
|
|
18
|
+
/** Сигналы связываются явно; dispose снимает подписки, не отменяя уже принятый ответ. */
|
|
19
|
+
export declare function createTableOperation<Context = unknown>(options: {
|
|
20
|
+
kind: TableOperationKind;
|
|
21
|
+
generation: number;
|
|
22
|
+
revision: number;
|
|
23
|
+
context?: Context;
|
|
24
|
+
parent?: TableOperation;
|
|
25
|
+
signal?: AbortSignal | null;
|
|
26
|
+
signals?: readonly (AbortSignal | undefined)[];
|
|
27
|
+
isCurrent(): boolean;
|
|
28
|
+
}): {
|
|
29
|
+
operation: TableOperation<Context>;
|
|
30
|
+
abort: (reason?: "cancelled" | "superseded") => void;
|
|
31
|
+
dispose: () => void;
|
|
32
|
+
};
|
|
33
|
+
export declare function tableOperationStopped(operation: TableOperationGuard): {
|
|
34
|
+
status: "cancelled" | "superseded";
|
|
35
|
+
};
|
|
36
|
+
/** Поздние resolve/reject обработаны даже после отмены; action не запускается для устаревшего владельца. */
|
|
37
|
+
export declare function waitForTableOperation<T>(action: () => T | PromiseLike<T>, operation: TableOperationGuard): Promise<{
|
|
38
|
+
status: "applied";
|
|
39
|
+
value: T;
|
|
40
|
+
} | {
|
|
41
|
+
status: "cancelled" | "superseded";
|
|
42
|
+
}>;
|
|
43
|
+
//# sourceMappingURL=tableOperation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tableOperation.d.ts","sourceRoot":"","sources":["../../../src/utils/tableOperation.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,SAAS,IAAI,OAAO,CAAC;CACtB;AACD,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAC/E,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC;CAChD,CAAC;AACF,MAAM,WAAW,cAAc,CAAC,OAAO,GAAG,OAAO,CAAE,SAAQ,mBAAmB;IAC5E,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAGD,yFAAyF;AACzF,wBAAgB,oBAAoB,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,EAAE;IAC/D,IAAI,EAAE,kBAAkB,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,SAAS,CAAC,EAAE,CAAC;IAC/C,SAAS,IAAI,OAAO,CAAC;CACtB;;qBAGwB,WAAW,GAAG,YAAY;;EAoClD;AACD,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,mBAAmB,GAAG;IACrE,MAAM,EAAE,WAAW,GAAG,YAAY,CAAC;CACpC,CAOA;AAED,4GAA4G;AAC5G,wBAAsB,qBAAqB,CAAC,CAAC,EAC3C,MAAM,EAAE,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,EAChC,SAAS,EAAE,mBAAmB,GAC7B,OAAO,CACR;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,WAAW,GAAG,YAAY,CAAA;CAAE,CACzE,CAmCA"}
|