@webitel/ui-datalist 26.8.8 → 26.8.9
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 +1 -1
- package/src/modules/filters/components/column/column-filter-preview.vue +2 -2
- package/src/modules/filters/components/column/column-filter.vue +3 -2
- package/src/modules/filters/composables/useColumnFilter.ts +3 -3
- package/src/modules/types/tableStore.types.ts +13 -15
- package/types/.tsbuildinfo +1 -1
- package/types/modules/filters/components/column/column-filter-preview.vue.d.ts +2 -2
- package/types/modules/filters/components/column/column-filter.vue.d.ts +2 -2
- package/types/modules/filters/composables/useColumnFilter.d.ts +2 -2
- package/types/modules/headers/createTableHeadersStore.d.ts +36 -36
- package/types/modules/types/tableStore.types.d.ts +10 -14
package/package.json
CHANGED
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
<script lang="ts" setup>
|
|
27
27
|
import type { DataField } from '@webitel/api-services/gen/models';
|
|
28
28
|
import { WtLoader } from '@webitel/ui-sdk/components';
|
|
29
|
+
import type { WtTableHeader } from '@webitel/ui-sdk/components/wt-table/types/WtTable';
|
|
29
30
|
import { ComponentSize } from '@webitel/ui-sdk/enums';
|
|
30
31
|
|
|
31
|
-
import type { DatalistTableHeader } from '../../../types/tableStore.types';
|
|
32
32
|
import type { IFiltersManager } from '../../classes/FiltersManager';
|
|
33
33
|
import { useColumnFilter } from '../../composables/useColumnFilter';
|
|
34
34
|
import { useFilterValuePreview } from '../../composables/useFilterValuePreview';
|
|
@@ -42,7 +42,7 @@ import DynamicFilterPreviewInfo from '../preview/dynamic-filter-preview-info.vue
|
|
|
42
42
|
* [WTEL-7727](https://webitel.atlassian.net/browse/WTEL-7727)
|
|
43
43
|
*/
|
|
44
44
|
const props = defineProps<{
|
|
45
|
-
header:
|
|
45
|
+
header: WtTableHeader;
|
|
46
46
|
filtersManager: IFiltersManager;
|
|
47
47
|
/** the page's filter definitions; a configured one is reused for the matching header */
|
|
48
48
|
filterOptions?: FilterConfigDefinition[];
|
|
@@ -20,7 +20,8 @@
|
|
|
20
20
|
<script lang="ts" setup>
|
|
21
21
|
import type { DataField } from '@webitel/api-services/gen/models';
|
|
22
22
|
|
|
23
|
-
import type {
|
|
23
|
+
import type { WtTableHeader } from '@webitel/ui-sdk/components/wt-table/types/WtTable';
|
|
24
|
+
|
|
24
25
|
import type { FilterInitParams } from '../../classes/Filter';
|
|
25
26
|
import type { IFiltersManager } from '../../classes/FiltersManager';
|
|
26
27
|
import { useColumnFilter } from '../../composables/useColumnFilter';
|
|
@@ -41,7 +42,7 @@ import ColumnFilterPreview from './column-filter-preview.vue';
|
|
|
41
42
|
* [WTEL-7727](https://webitel.atlassian.net/browse/WTEL-7727)
|
|
42
43
|
*/
|
|
43
44
|
const props = defineProps<{
|
|
44
|
-
header:
|
|
45
|
+
header: WtTableHeader;
|
|
45
46
|
filtersManager: IFiltersManager;
|
|
46
47
|
filterOptions?: FilterConfigDefinition[];
|
|
47
48
|
filterableExtensionFields?: DataField[];
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { DataField } from '@webitel/api-services/gen/models';
|
|
2
|
+
import type { WtTableHeader } from '@webitel/ui-sdk/components/wt-table/types/WtTable';
|
|
2
3
|
import { computed, type MaybeRefOrGetter, toValue } from 'vue';
|
|
3
4
|
import { useI18n } from 'vue-i18n';
|
|
4
5
|
|
|
5
|
-
import type { DatalistTableHeader } from '../../types/tableStore.types';
|
|
6
6
|
import type { FilterName } from '../classes/Filter';
|
|
7
7
|
import type { IFiltersManager } from '../classes/FiltersManager';
|
|
8
8
|
import { createFilterConfig } from '../modules/filterConfig/classes/createFilterConfig';
|
|
@@ -14,7 +14,7 @@ import { createTypeExtensionFilterConfig } from '../modules/filterConfig/compone
|
|
|
14
14
|
import type { FilterConfigDefinition } from '../modules/filterConfig/types/FilterConfigDefinition';
|
|
15
15
|
|
|
16
16
|
const isResolvedFilterConfig = (
|
|
17
|
-
filter:
|
|
17
|
+
filter: WtTableHeader['filter'],
|
|
18
18
|
): filter is AnyFilterConfig => typeof filter === 'object' && filter !== null;
|
|
19
19
|
|
|
20
20
|
/**
|
|
@@ -36,7 +36,7 @@ export const useColumnFilter = ({
|
|
|
36
36
|
filterOptions = [],
|
|
37
37
|
filterableExtensionFields = [],
|
|
38
38
|
}: {
|
|
39
|
-
header: MaybeRefOrGetter<
|
|
39
|
+
header: MaybeRefOrGetter<WtTableHeader>;
|
|
40
40
|
filtersManager: MaybeRefOrGetter<IFiltersManager>;
|
|
41
41
|
filterOptions?: MaybeRefOrGetter<FilterConfigDefinition[]>;
|
|
42
42
|
filterableExtensionFields?: MaybeRefOrGetter<DataField[]>;
|
|
@@ -1,27 +1,19 @@
|
|
|
1
1
|
import type { ApiModule } from '@webitel/ui-sdk/api/types/ApiModule';
|
|
2
|
-
import type {
|
|
2
|
+
import type {
|
|
3
|
+
WtTableHeader,
|
|
4
|
+
WtTableHeaderFilter,
|
|
5
|
+
} from '@webitel/ui-sdk/components/wt-table/types/WtTable';
|
|
3
6
|
import type { Ref } from 'vue';
|
|
4
7
|
|
|
5
|
-
import type {
|
|
8
|
+
import type { IFiltersManager } from '../filters';
|
|
6
9
|
import type { DatalistStoreProviderType } from './StoreProvider';
|
|
7
10
|
|
|
8
|
-
/**
|
|
9
|
-
* Minimal shape of an already-resolved header filter. Deliberately not the full
|
|
10
|
-
* `AnyFilterConfig` (with its `Component` props): `createTableHeadersStore` keeps headers in a
|
|
11
|
-
* plain `ref<DatalistTableHeader[]>`, and `Component` props there send Vue's `UnwrapRef` into
|
|
12
|
-
* excessive type-instantiation depth (TS2589). `useColumnFilter`'s `isResolvedFilterConfig`
|
|
13
|
-
* narrows a value of this shape back to `AnyFilterConfig` for actual use.
|
|
14
|
-
*/
|
|
15
|
-
export type ResolvedHeaderFilter = {
|
|
16
|
-
name: FilterName;
|
|
17
|
-
};
|
|
18
|
-
|
|
19
11
|
/**
|
|
20
12
|
* Table header shape used inside the datalist stores. In addition to the
|
|
21
13
|
* base {@link WtTableHeader} shape, datalist stores key columns by `field`
|
|
22
14
|
* and may flag dynamically-appended headers for lazy initialization.
|
|
23
15
|
*/
|
|
24
|
-
export type DatalistTableHeader =
|
|
16
|
+
export type DatalistTableHeader = WtTableHeader & {
|
|
25
17
|
field: string;
|
|
26
18
|
shouldBeInitialized?: boolean;
|
|
27
19
|
/**
|
|
@@ -37,8 +29,14 @@ export type DatalistTableHeader = Omit<WtTableHeader, 'filter'> & {
|
|
|
37
29
|
* config here lets `headers.ts` map the header to its filter once, instead of
|
|
38
30
|
* `useColumnFilter` searching `filterOptions`/`filterableExtensionFields` for it on every
|
|
39
31
|
* column.
|
|
32
|
+
*
|
|
33
|
+
* {@link WtTableHeaderFilter} deliberately keeps only the `name` of a resolved config and not
|
|
34
|
+
* the full `AnyFilterConfig` (with its `Component` props): `createTableHeadersStore` keeps
|
|
35
|
+
* headers in a plain `ref<DatalistTableHeader[]>`, and `Component` props there send Vue's
|
|
36
|
+
* `UnwrapRef` into excessive type-instantiation depth (TS2589). `useColumnFilter`'s
|
|
37
|
+
* `isResolvedFilterConfig` narrows it back to `AnyFilterConfig` for actual use.
|
|
40
38
|
*/
|
|
41
|
-
filter?:
|
|
39
|
+
filter?: WtTableHeaderFilter;
|
|
42
40
|
};
|
|
43
41
|
|
|
44
42
|
export type TrackSelectedRowBy<T> = (row: T) => T;
|