@webitel/ui-datalist 1.0.84 → 1.0.85
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webitel/ui-datalist",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.85",
|
|
4
4
|
"description": "Toolkit for building data lists in webitel ui system",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"make-all": "npm version patch --git-tag-version false && ( npm run lint:fix || true) && (npm run build:types || true) && npm run utils:publish",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { WtTableHeader } from '@webitel/ui-sdk/components/wt-table/types/WtTable';
|
|
2
2
|
import { sortToQueryAdapter } from '@webitel/ui-sdk/scripts';
|
|
3
3
|
import { SortSymbols } from '@webitel/ui-sdk/scripts/sortQueryAdapters';
|
|
4
|
-
import { computed,
|
|
4
|
+
import { computed, nextTick, ref } from 'vue';
|
|
5
5
|
|
|
6
6
|
import { createDatalistStore } from '../_shared/createDatalistStore';
|
|
7
7
|
import { PersistedStorageType } from '../persist/PersistedStorage.types';
|
|
@@ -58,11 +58,13 @@ export const tableHeadersStoreBody = ({
|
|
|
58
58
|
|
|
59
59
|
const setHeaderOrder = (orderedFields: string[]) => {
|
|
60
60
|
const arrayFieldOrder = new Map<string, number>();
|
|
61
|
-
headers.value.forEach((header, idx) =>
|
|
61
|
+
headers.value.forEach((header, idx) =>
|
|
62
|
+
arrayFieldOrder.set(header.field, idx),
|
|
63
|
+
);
|
|
62
64
|
|
|
63
|
-
const newOrder = orderedFields.map(field => arrayFieldOrder.get(field));
|
|
65
|
+
const newOrder = orderedFields.map((field) => arrayFieldOrder.get(field));
|
|
64
66
|
|
|
65
|
-
return newOrder.map(idx => headers.value[idx]);
|
|
67
|
+
return newOrder.map((idx) => headers.value[idx]).filter((header) => header);
|
|
66
68
|
};
|
|
67
69
|
|
|
68
70
|
const updateFields = (fields: string[]) => {
|
|
@@ -71,7 +73,9 @@ export const tableHeadersStoreBody = ({
|
|
|
71
73
|
show: fields.includes(header.field),
|
|
72
74
|
}));
|
|
73
75
|
|
|
74
|
-
const customFields = fields.filter(
|
|
76
|
+
const customFields = fields.filter(
|
|
77
|
+
(field) => !headers.value.some((header) => header.field === field),
|
|
78
|
+
);
|
|
75
79
|
const customFieldHeaders = customFields.map((field) => ({
|
|
76
80
|
show: true,
|
|
77
81
|
field,
|
|
@@ -79,10 +83,12 @@ export const tableHeadersStoreBody = ({
|
|
|
79
83
|
}));
|
|
80
84
|
|
|
81
85
|
const mergedHeaders = [...newHeaders, ...customFieldHeaders];
|
|
82
|
-
const orderedFields = fields.filter(field =>
|
|
86
|
+
const orderedFields = fields.filter((field) =>
|
|
87
|
+
mergedHeaders.some((header) => header.field === field),
|
|
88
|
+
);
|
|
83
89
|
const reordered = setHeaderOrder(orderedFields);
|
|
84
90
|
|
|
85
|
-
updateShownHeaders(reordered);
|
|
91
|
+
updateShownHeaders([...reordered, ...mergedHeaders]);
|
|
86
92
|
};
|
|
87
93
|
|
|
88
94
|
const updateSort = (column) => {
|
|
@@ -170,14 +176,18 @@ export const tableHeadersStoreBody = ({
|
|
|
170
176
|
},
|
|
171
177
|
});
|
|
172
178
|
|
|
173
|
-
return Promise.allSettled([
|
|
179
|
+
return Promise.allSettled([
|
|
180
|
+
restoreFields(),
|
|
181
|
+
restoreSort(),
|
|
182
|
+
restoreColumnWidths(),
|
|
183
|
+
]);
|
|
174
184
|
};
|
|
175
185
|
|
|
176
186
|
const getHeaderByField = (field: string) => {
|
|
177
187
|
return headers.value.find((header) => header.field === field);
|
|
178
188
|
};
|
|
179
189
|
|
|
180
|
-
const columnResize = ({columnName, columnWidth}) => {
|
|
190
|
+
const columnResize = ({ columnName, columnWidth }) => {
|
|
181
191
|
const column = getHeaderByField(columnName);
|
|
182
192
|
|
|
183
193
|
if (column) {
|