@commercetools-frontend-extensions/change-history 8.41.0 → 8.42.1
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/dist/commercetools-frontend-extensions-change-history.cjs.dev.js +1465 -3952
- package/dist/commercetools-frontend-extensions-change-history.cjs.prod.js +1426 -3903
- package/dist/commercetools-frontend-extensions-change-history.esm.js +1470 -3953
- package/dist/{de-3ae90852.cjs.prod.js → de-09f61294.cjs.dev.js} +0 -4
- package/dist/{de-7b6dccd5.cjs.dev.js → de-4068d791.cjs.prod.js} +0 -4
- package/dist/{de-cf05d8e2.esm.js → de-43131054.esm.js} +0 -4
- package/dist/declarations/src/constants/index.d.ts +0 -1
- package/dist/declarations/src/feature-toggles.d.ts +1 -4
- package/dist/declarations/src/hooks/use-search-query-state/types.d.ts +2 -54
- package/dist/declarations/src/i18n/load-i18n.d.ts +0 -8
- package/dist/declarations/src/types/filters-types.d.ts +2 -148
- package/dist/{en-db0832e3.cjs.dev.js → en-53d43a34.cjs.dev.js} +0 -4
- package/dist/{en-d9a07b89.esm.js → en-6549d798.esm.js} +0 -4
- package/dist/{en-53fa62aa.cjs.prod.js → en-ed9ac514.cjs.prod.js} +0 -4
- package/dist/{es-fac4bb27.cjs.prod.js → es-4f55de32.cjs.dev.js} +0 -4
- package/dist/{es-6f2f99b6.cjs.dev.js → es-5ea78b93.cjs.prod.js} +0 -4
- package/dist/{es-4b587042.esm.js → es-7a8f8f70.esm.js} +0 -4
- package/dist/{fr-FR-bc5c571e.cjs.prod.js → fr-FR-622110a0.cjs.prod.js} +0 -4
- package/dist/{fr-FR-1f679765.cjs.dev.js → fr-FR-98e0d12b.cjs.dev.js} +0 -4
- package/dist/{fr-FR-7934f3fb.esm.js → fr-FR-f3ababa7.esm.js} +0 -4
- package/dist/{pt-BR-a80e1f3c.cjs.dev.js → pt-BR-3f5983c9.cjs.dev.js} +0 -4
- package/dist/{pt-BR-77d373fe.cjs.prod.js → pt-BR-c8959ae8.cjs.prod.js} +0 -4
- package/dist/{pt-BR-d31973a4.esm.js → pt-BR-dee519cb.esm.js} +0 -4
- package/package.json +1 -1
- package/dist/declarations/src/components/_types/change-history.d.ts +0 -5
- package/dist/declarations/src/components/change-history-list-connector/change-history-list-connector.d.ts +0 -42
- package/dist/declarations/src/components/change-history-list-connector/conversions.d.ts +0 -49
- package/dist/declarations/src/components/change-history-list-view/filter-definitions.d.ts +0 -37
- package/dist/declarations/src/components/search/standard-filter-definitions/index.d.ts +0 -1
- package/dist/declarations/src/components/search/standard-filter-definitions/standard-filter-definitions.d.ts +0 -24
- package/dist/declarations/src/components/search/standard-filters/enum-filters/enum-filters.d.ts +0 -9
- package/dist/declarations/src/components/search/standard-filters/enum-filters/index.d.ts +0 -1
- package/dist/declarations/src/components/search/standard-filters/resource-change-filter/resource-change-filter.d.ts +0 -16
- package/dist/declarations/src/components/search/standard-filters/stores-filter/stores-filter.d.ts +0 -12
- package/dist/declarations/src/components/search/standard-filters/text-filter/index.d.ts +0 -1
- package/dist/declarations/src/components/search/standard-filters/text-filter/text-filter.d.ts +0 -6
- package/dist/declarations/src/constants/old-filters.d.ts +0 -39
- package/dist/declarations/types/src/generated/ctp.d.ts +0 -15067
- package/dist/declarations/types/src/generated/mc.d.ts +0 -604
|
@@ -231,10 +231,6 @@ var de = {
|
|
|
231
231
|
developer_comment: "Label for stores filter",
|
|
232
232
|
string: "Shops"
|
|
233
233
|
},
|
|
234
|
-
"ChangeHistory.filters.tooltips.customerIdDialogTitle": {
|
|
235
|
-
developer_comment: "Title for customer ID dialog",
|
|
236
|
-
string: "Kunden ID"
|
|
237
|
-
},
|
|
238
234
|
"ChangeHistory.filters.tooltips.howToFindText": {
|
|
239
235
|
developer_comment: "How to find customer ID text",
|
|
240
236
|
string: "Der Kunden ID-Filter zeigt ausschließlich Änderungen an, für die eine Kunden-ID nachvollziehbar ist. Um sicherzustellen, dass die Entitätsergebnisse vollständig im Änderungsverlauf angezeigt werden, muss die Kunden-ID für alle vorgenommen Änderungen [erstellt von / geändert von einer Kunden-ID] hinterlegt sein. <a>Mehr erfahren</a>"
|
|
@@ -231,10 +231,6 @@ var de = {
|
|
|
231
231
|
developer_comment: "Label for stores filter",
|
|
232
232
|
string: "Shops"
|
|
233
233
|
},
|
|
234
|
-
"ChangeHistory.filters.tooltips.customerIdDialogTitle": {
|
|
235
|
-
developer_comment: "Title for customer ID dialog",
|
|
236
|
-
string: "Kunden ID"
|
|
237
|
-
},
|
|
238
234
|
"ChangeHistory.filters.tooltips.howToFindText": {
|
|
239
235
|
developer_comment: "How to find customer ID text",
|
|
240
236
|
string: "Der Kunden ID-Filter zeigt ausschließlich Änderungen an, für die eine Kunden-ID nachvollziehbar ist. Um sicherzustellen, dass die Entitätsergebnisse vollständig im Änderungsverlauf angezeigt werden, muss die Kunden-ID für alle vorgenommen Änderungen [erstellt von / geändert von einer Kunden-ID] hinterlegt sein. <a>Mehr erfahren</a>"
|
|
@@ -229,10 +229,6 @@ var de = {
|
|
|
229
229
|
developer_comment: "Label for stores filter",
|
|
230
230
|
string: "Shops"
|
|
231
231
|
},
|
|
232
|
-
"ChangeHistory.filters.tooltips.customerIdDialogTitle": {
|
|
233
|
-
developer_comment: "Title for customer ID dialog",
|
|
234
|
-
string: "Kunden ID"
|
|
235
|
-
},
|
|
236
232
|
"ChangeHistory.filters.tooltips.howToFindText": {
|
|
237
233
|
developer_comment: "How to find customer ID text",
|
|
238
234
|
string: "Der Kunden ID-Filter zeigt ausschließlich Änderungen an, für die eine Kunden-ID nachvollziehbar ist. Um sicherzustellen, dass die Entitätsergebnisse vollständig im Änderungsverlauf angezeigt werden, muss die Kunden-ID für alle vorgenommen Änderungen [erstellt von / geändert von einer Kunden-ID] hinterlegt sein. <a>Mehr erfahren</a>"
|
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
import type { TDataTableProps } from '@commercetools-frontend/ui-kit';
|
|
2
2
|
import type { TALFilterValue } from "../../components/search/filters-container/filter-configurations/filter-configurations.js";
|
|
3
3
|
import type { TFilterKey } from "../../constants/index.js";
|
|
4
|
-
import type { TExcludePlatformChangesFilterValue } from "../../types/filters-types.js";
|
|
5
4
|
import { TAppliedFilterValue } from '@commercetools-uikit/filters/dist/declarations/src/filter-menu';
|
|
6
|
-
import {
|
|
7
|
-
import { TStoresFilterValue } from "../../components/search/standard-filters/stores-filter/stores-filter.js";
|
|
8
|
-
import { TTextFilterValue } from "../../components/search/standard-filters/text-filter/index.js";
|
|
9
|
-
import { FILTER_OPTION_KEYS, FILTER_TYPES, TColumns } from "../../constants/index.js";
|
|
5
|
+
import { TColumns } from "../../constants/index.js";
|
|
10
6
|
import { TISODateString } from "../../types/common-types.js";
|
|
11
|
-
import { TApiClientFilterValue, TBusinessUnitFilterValue, TChangesFilterValue, TEntityTypeFilterValue, TModifiedByFilterValue, TSourceFilterValue } from "../../types/filters-types.js";
|
|
12
7
|
export type TEmptyObject = Record<string, never>;
|
|
13
8
|
export type TDateRangeFilterValue = {
|
|
14
9
|
from: TISODateString;
|
|
@@ -25,59 +20,12 @@ export type TSearchQuerySort = {
|
|
|
25
20
|
key: TColumns;
|
|
26
21
|
order: TDataTableProps['sortDirection'];
|
|
27
22
|
};
|
|
28
|
-
export type TOldFilters = {
|
|
29
|
-
[FILTER_OPTION_KEYS.API_CLIENT]?: Array<{
|
|
30
|
-
type: typeof FILTER_TYPES.equalTo;
|
|
31
|
-
value: TApiClientFilterValue;
|
|
32
|
-
}>;
|
|
33
|
-
[FILTER_OPTION_KEYS.BUSINESS_UNIT]?: Array<{
|
|
34
|
-
type: typeof FILTER_TYPES.equalTo;
|
|
35
|
-
value: TBusinessUnitFilterValue;
|
|
36
|
-
}>;
|
|
37
|
-
[FILTER_OPTION_KEYS.CHANGE]?: Array<{
|
|
38
|
-
type: typeof FILTER_TYPES.resourceChange;
|
|
39
|
-
value: TResourceChangeFilterValue;
|
|
40
|
-
}>;
|
|
41
|
-
[FILTER_OPTION_KEYS.CHANGE_TYPE]?: Array<{
|
|
42
|
-
type: typeof FILTER_TYPES.equalTo;
|
|
43
|
-
value: TChangesFilterValue;
|
|
44
|
-
}>;
|
|
45
|
-
[FILTER_OPTION_KEYS.CUSTOMER_ID]?: Array<{
|
|
46
|
-
type: typeof FILTER_TYPES.equalTo;
|
|
47
|
-
value: TTextFilterValue;
|
|
48
|
-
}>;
|
|
49
|
-
[FILTER_OPTION_KEYS.DATE_RANGE]: Array<TDateFilter>;
|
|
50
|
-
[FILTER_OPTION_KEYS.ENTITY_ID]?: Array<{
|
|
51
|
-
type: typeof FILTER_TYPES.equalTo;
|
|
52
|
-
value: TTextFilterValue;
|
|
53
|
-
}>;
|
|
54
|
-
[FILTER_OPTION_KEYS.ENTITY_TYPE]?: Array<{
|
|
55
|
-
type: typeof FILTER_TYPES.in | typeof FILTER_TYPES.equalTo | typeof FILTER_TYPES.missing | typeof FILTER_TYPES.missingIn;
|
|
56
|
-
value: TEntityTypeFilterValue;
|
|
57
|
-
}>;
|
|
58
|
-
[FILTER_OPTION_KEYS.EXCLUDE_PLATFORM_CHANGES]?: Array<{
|
|
59
|
-
type: typeof FILTER_TYPES.equalTo;
|
|
60
|
-
value: TExcludePlatformChangesFilterValue;
|
|
61
|
-
}>;
|
|
62
|
-
[FILTER_OPTION_KEYS.SOURCE]?: Array<{
|
|
63
|
-
type: typeof FILTER_TYPES.in;
|
|
64
|
-
value: TSourceFilterValue;
|
|
65
|
-
}>;
|
|
66
|
-
[FILTER_OPTION_KEYS.STORES]?: Array<{
|
|
67
|
-
type: typeof FILTER_TYPES.equalTo;
|
|
68
|
-
value: TStoresFilterValue;
|
|
69
|
-
}>;
|
|
70
|
-
[FILTER_OPTION_KEYS.MODIFIED_BY]?: Array<{
|
|
71
|
-
type: typeof FILTER_TYPES.equalTo;
|
|
72
|
-
value: TModifiedByFilterValue;
|
|
73
|
-
}>;
|
|
74
|
-
};
|
|
75
23
|
export type TALFilterValueWithoutLabels = Omit<TALFilterValue, 'appliedFilterValues'> & {
|
|
76
24
|
appliedFilterValues: Array<Omit<TAppliedFilterValue, 'label'>>;
|
|
77
25
|
};
|
|
78
26
|
export type TSearchQueryFilters = Partial<Record<TFilterKey, TALFilterValueWithoutLabels | TDateFilter>>;
|
|
79
27
|
export type TSearchQuery = {
|
|
80
|
-
filters:
|
|
28
|
+
filters: TSearchQueryFilters;
|
|
81
29
|
page: number;
|
|
82
30
|
perPage: number;
|
|
83
31
|
sorting: TSearchQuerySort;
|
|
@@ -230,10 +230,6 @@ export function loadMessages(locale: any): Promise<{
|
|
|
230
230
|
developer_comment: string;
|
|
231
231
|
string: string;
|
|
232
232
|
};
|
|
233
|
-
"ChangeHistory.filters.tooltips.customerIdDialogTitle": {
|
|
234
|
-
developer_comment: string;
|
|
235
|
-
string: string;
|
|
236
|
-
};
|
|
237
233
|
"ChangeHistory.filters.tooltips.howToFindText": {
|
|
238
234
|
developer_comment: string;
|
|
239
235
|
string: string;
|
|
@@ -3891,10 +3887,6 @@ export function loadMessages(locale: any): Promise<{
|
|
|
3891
3887
|
developer_comment: string;
|
|
3892
3888
|
string: string;
|
|
3893
3889
|
};
|
|
3894
|
-
"ChangeHistory.filters.tooltips.customerIdDialogTitle": {
|
|
3895
|
-
developer_comment: string;
|
|
3896
|
-
string: string;
|
|
3897
|
-
};
|
|
3898
3890
|
"ChangeHistory.filters.tooltips.howToFindText": {
|
|
3899
3891
|
developer_comment: string;
|
|
3900
3892
|
string: string;
|
|
@@ -1,153 +1,7 @@
|
|
|
1
|
-
import { type JSX } from 'react';
|
|
2
|
-
import { OptionProps } from 'react-select';
|
|
3
1
|
import type { TFilterKey } from "../constants/index.js";
|
|
4
|
-
import
|
|
5
|
-
import { TUser } from "../../types/src/generated/change-history.js";
|
|
6
|
-
import { TChangeType, TResourceTypes } from "../components/_types/change-history.js";
|
|
7
|
-
import { TEnumFilterValue } from "../components/search/standard-filters/enum-filters/index.js";
|
|
8
|
-
import { TResourceChangeFilterValue } from "../components/search/standard-filters/resource-change-filter/resource-change-filter.js";
|
|
9
|
-
import { TStoresFilterValue } from "../components/search/standard-filters/stores-filter/stores-filter.js";
|
|
10
|
-
import { TTextFilterValue } from "../components/search/standard-filters/text-filter/index.js";
|
|
11
|
-
import { FILTER_OPTION_KEYS, TFilterOptionKey, TFilterType, TFilterTypeKeys, TResourceType, TToolOptions } from "../constants/index.js";
|
|
12
|
-
import { TIntl, ValueOf } from "./common-types.js";
|
|
2
|
+
import { TResourceType } from "../constants/index.js";
|
|
13
3
|
export type TAvailableFilter = {
|
|
14
|
-
key:
|
|
4
|
+
key: TFilterKey;
|
|
15
5
|
resources?: Array<TResourceType>;
|
|
16
6
|
};
|
|
17
7
|
export type TAvailableFilters = Array<TAvailableFilter>;
|
|
18
|
-
export type TAllFilterDefinitions = {
|
|
19
|
-
[key in ValueOf<typeof FILTER_OPTION_KEYS>]: TFilterConfig;
|
|
20
|
-
};
|
|
21
|
-
export type TFilteredFilterDefinitions = Partial<TAllFilterDefinitions>;
|
|
22
|
-
export type TFilterConfig = {
|
|
23
|
-
label: string;
|
|
24
|
-
filterTypes: TFilterTypeToFilterDefinitionMap;
|
|
25
|
-
isHidden?: boolean;
|
|
26
|
-
isSearchable?: boolean;
|
|
27
|
-
tooltip?: React.ReactNode | undefined;
|
|
28
|
-
disabledForBasic?: boolean;
|
|
29
|
-
};
|
|
30
|
-
export type TFilterTypeToFilterDefinitionMap = Partial<{
|
|
31
|
-
[key in TFilterType]: TFilterDefinition;
|
|
32
|
-
}>;
|
|
33
|
-
export type TFilterDefinition = {
|
|
34
|
-
filterComponent: React.ComponentType<TFilterFieldComponentProps> | ((props: TFilterFieldComponentProps) => JSX.Element);
|
|
35
|
-
tagComponent: React.ComponentType<TFilterFieldTagsProps> | ((props: TFilterFieldTagsProps) => JSX.Element);
|
|
36
|
-
label: string;
|
|
37
|
-
canBeAppliedMultipleTimes?: boolean;
|
|
38
|
-
isEmptyFilter?: () => boolean;
|
|
39
|
-
validator?: TValidatorFunction;
|
|
40
|
-
};
|
|
41
|
-
export type TFilterComponentProps = {
|
|
42
|
-
fieldName: string;
|
|
43
|
-
fieldFilters?: TFieldFilter;
|
|
44
|
-
filterConfig: TFilterConfig;
|
|
45
|
-
onAddFilterToField: (options: TAddFilterOptions) => void;
|
|
46
|
-
onRemoveFilterFromField: (options: TRemoveFilterOptions) => void;
|
|
47
|
-
onUpdateFilterForField: (options: TUpdateFilterOptions) => void;
|
|
48
|
-
onRemoveFilterTagFromField: (options: {
|
|
49
|
-
index: number;
|
|
50
|
-
fieldName: string;
|
|
51
|
-
}) => void;
|
|
52
|
-
onToggleEditMode: (forceIsToggled?: boolean) => void;
|
|
53
|
-
};
|
|
54
|
-
export type TFilterFieldComponentProps = {
|
|
55
|
-
value?: TFieldFilterValue;
|
|
56
|
-
error?: string;
|
|
57
|
-
onUpdateFilter: (value?: TFieldFilterValue | null) => void;
|
|
58
|
-
};
|
|
59
|
-
export type TFilterFieldTagsProps = {
|
|
60
|
-
fieldLabel: TFilterConfig['label'];
|
|
61
|
-
filterTypeLabel: TFilterDefinition['label'];
|
|
62
|
-
value: TFieldFilter[number]['value'];
|
|
63
|
-
onRemove: () => void;
|
|
64
|
-
onClick: () => void;
|
|
65
|
-
};
|
|
66
|
-
export type TDateError = {
|
|
67
|
-
from?: string;
|
|
68
|
-
to?: string;
|
|
69
|
-
};
|
|
70
|
-
export type TValidatorFunction = (filter: {
|
|
71
|
-
type: TFilterTypeKeys;
|
|
72
|
-
value: TFieldFilterValue;
|
|
73
|
-
}, intl: TIntl) => TDateError | string | null;
|
|
74
|
-
export interface ICustomOptionProps extends OptionProps<any, any> {
|
|
75
|
-
isDisabledForBasic?: boolean;
|
|
76
|
-
}
|
|
77
|
-
export type TFiltersProps = {
|
|
78
|
-
filterDefinitions: TFilteredFilterDefinitions;
|
|
79
|
-
filteredFields: TFilteredFields;
|
|
80
|
-
filtersListMaxMenuHeight?: number;
|
|
81
|
-
isEditMode: boolean;
|
|
82
|
-
hasChangesInFilters?: boolean;
|
|
83
|
-
isOrderCustomFieldLoading?: boolean;
|
|
84
|
-
enableCustomFilterStyle?: boolean;
|
|
85
|
-
onClearFiltersFromField?: Function;
|
|
86
|
-
onAddField: Function;
|
|
87
|
-
onUpdateQuickFilterForField?: (options: {
|
|
88
|
-
fieldName: string;
|
|
89
|
-
filter: TFilter;
|
|
90
|
-
}) => void;
|
|
91
|
-
onAddFilterToField: (options: TAddFilterOptions) => void;
|
|
92
|
-
onApplyFilters: (options: {
|
|
93
|
-
removeEmptyFilters: boolean;
|
|
94
|
-
}) => boolean;
|
|
95
|
-
onCancelFilterChanges: () => void;
|
|
96
|
-
onClearAll: () => void;
|
|
97
|
-
onRemoveFilterFromField: (options: TRemoveFilterOptions) => void;
|
|
98
|
-
onRemoveFilterTagFromField: (options: {
|
|
99
|
-
index: number;
|
|
100
|
-
fieldName: string;
|
|
101
|
-
}) => void;
|
|
102
|
-
onToggleEditMode: (forceIsToggled?: boolean) => void;
|
|
103
|
-
onUpdateFilterForField: (options: TUpdateFilterOptions) => void;
|
|
104
|
-
showApplyButton?: boolean;
|
|
105
|
-
showSaveActions?: boolean;
|
|
106
|
-
showOnClearAll?: boolean;
|
|
107
|
-
tagDelimiter?: string;
|
|
108
|
-
};
|
|
109
|
-
export type TApiClientFilterValue = TEnumFilterValue<string>;
|
|
110
|
-
export type TBusinessUnitFilterValue = {
|
|
111
|
-
label: string;
|
|
112
|
-
value: string;
|
|
113
|
-
};
|
|
114
|
-
export type TChangesFilterValue = TEnumFilterValue<TChangeType>;
|
|
115
|
-
export type TEntityTypeFilterValue = TEnumFilterValue<TResourceTypes>;
|
|
116
|
-
export type TExcludePlatformChangesFilterValue = {
|
|
117
|
-
value: ['excludeAll'] | null;
|
|
118
|
-
};
|
|
119
|
-
export type TSourceFilterValue = TEnumFilterValue<TToolOptions>;
|
|
120
|
-
export type TModifiedByFilterValue = TEnumFilterValue<TUser['id']>;
|
|
121
|
-
export type TFieldFilterValue = TApiClientFilterValue | TBusinessUnitFilterValue | TResourceChangeFilterValue | TChangesFilterValue | TEntityTypeFilterValue | TSourceFilterValue | TStoresFilterValue | TTextFilterValue | TDateRangeFilterValue | TExcludePlatformChangesFilterValue | null;
|
|
122
|
-
export type TFieldFilter = Array<{
|
|
123
|
-
type: TFilterTypeKeys;
|
|
124
|
-
value?: TFieldFilterValue;
|
|
125
|
-
error?: string;
|
|
126
|
-
}>;
|
|
127
|
-
export type TFilter = TFieldFilter[number];
|
|
128
|
-
export type TFilteredFields = {
|
|
129
|
-
[key in TFilterOptionKey]?: TFieldFilter;
|
|
130
|
-
};
|
|
131
|
-
type TBaseFilterOptions = {
|
|
132
|
-
fieldName: string;
|
|
133
|
-
index: number;
|
|
134
|
-
};
|
|
135
|
-
export type TAddFilterOptions = TBaseFilterOptions & {
|
|
136
|
-
filter: object;
|
|
137
|
-
};
|
|
138
|
-
export type TRemoveFilterOptions = TBaseFilterOptions;
|
|
139
|
-
export type TUpdateFilterOptions = TBaseFilterOptions & {
|
|
140
|
-
filter: object;
|
|
141
|
-
};
|
|
142
|
-
export type TAddFilterTypeOptions = {
|
|
143
|
-
filter: Pick<TFieldFilter[number], 'type' | 'value'>;
|
|
144
|
-
index: number;
|
|
145
|
-
};
|
|
146
|
-
export type TRemoveFilterTypeOptions = {
|
|
147
|
-
index: number;
|
|
148
|
-
};
|
|
149
|
-
export type TUpdateFilterTypeOptions = {
|
|
150
|
-
filter: Pick<TFieldFilter[number], 'type' | 'value'>;
|
|
151
|
-
index: number;
|
|
152
|
-
};
|
|
153
|
-
export {};
|
|
@@ -231,10 +231,6 @@ var en = {
|
|
|
231
231
|
developer_comment: "Label for stores filter",
|
|
232
232
|
string: "Stores"
|
|
233
233
|
},
|
|
234
|
-
"ChangeHistory.filters.tooltips.customerIdDialogTitle": {
|
|
235
|
-
developer_comment: "Title for customer ID dialog",
|
|
236
|
-
string: "Customer ID"
|
|
237
|
-
},
|
|
238
234
|
"ChangeHistory.filters.tooltips.howToFindText": {
|
|
239
235
|
developer_comment: "How to find customer ID text",
|
|
240
236
|
string: "The Customer ID filter will only display changes in which the Customer ID is present. To ensure that your entity results are fully traceable in the Change History table, the customer ID must be present in all create and update changes [created by/ modified by a customerID]. <a>Read more</a>"
|
|
@@ -229,10 +229,6 @@ var en = {
|
|
|
229
229
|
developer_comment: "Label for stores filter",
|
|
230
230
|
string: "Stores"
|
|
231
231
|
},
|
|
232
|
-
"ChangeHistory.filters.tooltips.customerIdDialogTitle": {
|
|
233
|
-
developer_comment: "Title for customer ID dialog",
|
|
234
|
-
string: "Customer ID"
|
|
235
|
-
},
|
|
236
232
|
"ChangeHistory.filters.tooltips.howToFindText": {
|
|
237
233
|
developer_comment: "How to find customer ID text",
|
|
238
234
|
string: "The Customer ID filter will only display changes in which the Customer ID is present. To ensure that your entity results are fully traceable in the Change History table, the customer ID must be present in all create and update changes [created by/ modified by a customerID]. <a>Read more</a>"
|
|
@@ -231,10 +231,6 @@ var en = {
|
|
|
231
231
|
developer_comment: "Label for stores filter",
|
|
232
232
|
string: "Stores"
|
|
233
233
|
},
|
|
234
|
-
"ChangeHistory.filters.tooltips.customerIdDialogTitle": {
|
|
235
|
-
developer_comment: "Title for customer ID dialog",
|
|
236
|
-
string: "Customer ID"
|
|
237
|
-
},
|
|
238
234
|
"ChangeHistory.filters.tooltips.howToFindText": {
|
|
239
235
|
developer_comment: "How to find customer ID text",
|
|
240
236
|
string: "The Customer ID filter will only display changes in which the Customer ID is present. To ensure that your entity results are fully traceable in the Change History table, the customer ID must be present in all create and update changes [created by/ modified by a customerID]. <a>Read more</a>"
|
|
@@ -231,10 +231,6 @@ var es = {
|
|
|
231
231
|
developer_comment: "Label for stores filter",
|
|
232
232
|
string: "Tiendas"
|
|
233
233
|
},
|
|
234
|
-
"ChangeHistory.filters.tooltips.customerIdDialogTitle": {
|
|
235
|
-
developer_comment: "Title for customer ID dialog",
|
|
236
|
-
string: "Identificador de cliente"
|
|
237
|
-
},
|
|
238
234
|
"ChangeHistory.filters.tooltips.howToFindText": {
|
|
239
235
|
developer_comment: "How to find customer ID text",
|
|
240
236
|
string: "El filtro de identificador de cliente solo mostrará cambios en los que esté presente dicho identificador. Para garantizar que los resultados de su entidad sean totalmente rastreables en la tabla del Historial de cambios, el identificador de cliente debe estar presente en todos los cambios de creación y actualización [creado por/modificado por un ID de cliente]. <a>Leer más</a>"
|
|
@@ -231,10 +231,6 @@ var es = {
|
|
|
231
231
|
developer_comment: "Label for stores filter",
|
|
232
232
|
string: "Tiendas"
|
|
233
233
|
},
|
|
234
|
-
"ChangeHistory.filters.tooltips.customerIdDialogTitle": {
|
|
235
|
-
developer_comment: "Title for customer ID dialog",
|
|
236
|
-
string: "Identificador de cliente"
|
|
237
|
-
},
|
|
238
234
|
"ChangeHistory.filters.tooltips.howToFindText": {
|
|
239
235
|
developer_comment: "How to find customer ID text",
|
|
240
236
|
string: "El filtro de identificador de cliente solo mostrará cambios en los que esté presente dicho identificador. Para garantizar que los resultados de su entidad sean totalmente rastreables en la tabla del Historial de cambios, el identificador de cliente debe estar presente en todos los cambios de creación y actualización [creado por/modificado por un ID de cliente]. <a>Leer más</a>"
|
|
@@ -229,10 +229,6 @@ var es = {
|
|
|
229
229
|
developer_comment: "Label for stores filter",
|
|
230
230
|
string: "Tiendas"
|
|
231
231
|
},
|
|
232
|
-
"ChangeHistory.filters.tooltips.customerIdDialogTitle": {
|
|
233
|
-
developer_comment: "Title for customer ID dialog",
|
|
234
|
-
string: "Identificador de cliente"
|
|
235
|
-
},
|
|
236
232
|
"ChangeHistory.filters.tooltips.howToFindText": {
|
|
237
233
|
developer_comment: "How to find customer ID text",
|
|
238
234
|
string: "El filtro de identificador de cliente solo mostrará cambios en los que esté presente dicho identificador. Para garantizar que los resultados de su entidad sean totalmente rastreables en la tabla del Historial de cambios, el identificador de cliente debe estar presente en todos los cambios de creación y actualización [creado por/modificado por un ID de cliente]. <a>Leer más</a>"
|
|
@@ -231,10 +231,6 @@ var frFR = {
|
|
|
231
231
|
developer_comment: "Label for stores filter",
|
|
232
232
|
string: "Boutiques"
|
|
233
233
|
},
|
|
234
|
-
"ChangeHistory.filters.tooltips.customerIdDialogTitle": {
|
|
235
|
-
developer_comment: "Title for customer ID dialog",
|
|
236
|
-
string: "ID client"
|
|
237
|
-
},
|
|
238
234
|
"ChangeHistory.filters.tooltips.howToFindText": {
|
|
239
235
|
developer_comment: "How to find customer ID text",
|
|
240
236
|
string: "Le filtre ID client affichera uniquement les modifications dans lesquelles l'ID du client est présent. Afin de garantir que les résultats de votre entité sont totalement traçables dans le tableau d'historique des modifications, l'ID du client doit être présent dans toutes les modifications de création et de mise à jour [créé par/modifié par IDclient]. <a>En savoir plus</a>"
|
|
@@ -231,10 +231,6 @@ var frFR = {
|
|
|
231
231
|
developer_comment: "Label for stores filter",
|
|
232
232
|
string: "Boutiques"
|
|
233
233
|
},
|
|
234
|
-
"ChangeHistory.filters.tooltips.customerIdDialogTitle": {
|
|
235
|
-
developer_comment: "Title for customer ID dialog",
|
|
236
|
-
string: "ID client"
|
|
237
|
-
},
|
|
238
234
|
"ChangeHistory.filters.tooltips.howToFindText": {
|
|
239
235
|
developer_comment: "How to find customer ID text",
|
|
240
236
|
string: "Le filtre ID client affichera uniquement les modifications dans lesquelles l'ID du client est présent. Afin de garantir que les résultats de votre entité sont totalement traçables dans le tableau d'historique des modifications, l'ID du client doit être présent dans toutes les modifications de création et de mise à jour [créé par/modifié par IDclient]. <a>En savoir plus</a>"
|
|
@@ -229,10 +229,6 @@ var frFR = {
|
|
|
229
229
|
developer_comment: "Label for stores filter",
|
|
230
230
|
string: "Boutiques"
|
|
231
231
|
},
|
|
232
|
-
"ChangeHistory.filters.tooltips.customerIdDialogTitle": {
|
|
233
|
-
developer_comment: "Title for customer ID dialog",
|
|
234
|
-
string: "ID client"
|
|
235
|
-
},
|
|
236
232
|
"ChangeHistory.filters.tooltips.howToFindText": {
|
|
237
233
|
developer_comment: "How to find customer ID text",
|
|
238
234
|
string: "Le filtre ID client affichera uniquement les modifications dans lesquelles l'ID du client est présent. Afin de garantir que les résultats de votre entité sont totalement traçables dans le tableau d'historique des modifications, l'ID du client doit être présent dans toutes les modifications de création et de mise à jour [créé par/modifié par IDclient]. <a>En savoir plus</a>"
|
|
@@ -231,10 +231,6 @@ var ptBR = {
|
|
|
231
231
|
developer_comment: "Label for stores filter",
|
|
232
232
|
string: "Lojas"
|
|
233
233
|
},
|
|
234
|
-
"ChangeHistory.filters.tooltips.customerIdDialogTitle": {
|
|
235
|
-
developer_comment: "Title for customer ID dialog",
|
|
236
|
-
string: "ID do cliente"
|
|
237
|
-
},
|
|
238
234
|
"ChangeHistory.filters.tooltips.howToFindText": {
|
|
239
235
|
developer_comment: "How to find customer ID text",
|
|
240
236
|
string: "O filtro ID do cliente exibirá apenas alterações nas quais o ID do cliente estiver presente. Para garantir que os resultados da sua entidade sejam totalmente rastreáveis na tabela Histórico de alterações, o ID do cliente deve estar presente em todas as alterações de criação e atualização [criadas por/modificadas por um ID do cliente]. <a>Leia mais</a>"
|
|
@@ -231,10 +231,6 @@ var ptBR = {
|
|
|
231
231
|
developer_comment: "Label for stores filter",
|
|
232
232
|
string: "Lojas"
|
|
233
233
|
},
|
|
234
|
-
"ChangeHistory.filters.tooltips.customerIdDialogTitle": {
|
|
235
|
-
developer_comment: "Title for customer ID dialog",
|
|
236
|
-
string: "ID do cliente"
|
|
237
|
-
},
|
|
238
234
|
"ChangeHistory.filters.tooltips.howToFindText": {
|
|
239
235
|
developer_comment: "How to find customer ID text",
|
|
240
236
|
string: "O filtro ID do cliente exibirá apenas alterações nas quais o ID do cliente estiver presente. Para garantir que os resultados da sua entidade sejam totalmente rastreáveis na tabela Histórico de alterações, o ID do cliente deve estar presente em todas as alterações de criação e atualização [criadas por/modificadas por um ID do cliente]. <a>Leia mais</a>"
|
|
@@ -229,10 +229,6 @@ var ptBR = {
|
|
|
229
229
|
developer_comment: "Label for stores filter",
|
|
230
230
|
string: "Lojas"
|
|
231
231
|
},
|
|
232
|
-
"ChangeHistory.filters.tooltips.customerIdDialogTitle": {
|
|
233
|
-
developer_comment: "Title for customer ID dialog",
|
|
234
|
-
string: "ID do cliente"
|
|
235
|
-
},
|
|
236
232
|
"ChangeHistory.filters.tooltips.howToFindText": {
|
|
237
233
|
developer_comment: "How to find customer ID text",
|
|
238
234
|
string: "O filtro ID do cliente exibirá apenas alterações nas quais o ID do cliente estiver presente. Para garantir que os resultados da sua entidade sejam totalmente rastreáveis na tabela Histórico de alterações, o ID do cliente deve estar presente em todas as alterações de criação e atualização [criadas por/modificadas por um ID do cliente]. <a>Leia mais</a>"
|
package/package.json
CHANGED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { ChangeType, ResourceTypes, Source } from "../../../types/src/generated/change-history.js";
|
|
2
|
-
import { ValueOf } from "../../types/common-types.js";
|
|
3
|
-
export type TResourceTypes = ValueOf<typeof ResourceTypes>;
|
|
4
|
-
export type TChangeType = ValueOf<typeof ChangeType>;
|
|
5
|
-
export type TSource = ValueOf<typeof Source>;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { ReactElement } from 'react';
|
|
2
|
-
import type { TCustomer, TLocalizedString } from "../../../types/src/generated/ctp.js";
|
|
3
|
-
import type { TOAuthClient } from "../../../types/src/generated/mc.js";
|
|
4
|
-
import type { TResourceType } from "../../constants/index.js";
|
|
5
|
-
import type { TSearchQuery } from "../../hooks/use-search-query-state/types.js";
|
|
6
|
-
import type { TALUsers } from "../../types/common-types.js";
|
|
7
|
-
import type { TConvertedChangeHistoryEntry } from "./conversions.js";
|
|
8
|
-
export type TApiClients = Record<TOAuthClient['id'], TOAuthClient['name']>;
|
|
9
|
-
export type TCustomers = Record<TCustomer['id'], TCustomer['email']>;
|
|
10
|
-
export type TLocalizedStringObj = Array<TLocalizedString> | null;
|
|
11
|
-
export type TLocalizedField = Record<string, string>;
|
|
12
|
-
export type TChangeHistoryListConnectorProps = {
|
|
13
|
-
canViewCustomers: boolean;
|
|
14
|
-
canViewDeveloperSettings: boolean;
|
|
15
|
-
children: (props: {
|
|
16
|
-
isLoading: boolean;
|
|
17
|
-
changeHistoryFetcher: {
|
|
18
|
-
history: {
|
|
19
|
-
total: number;
|
|
20
|
-
results: TConvertedChangeHistoryEntry[];
|
|
21
|
-
};
|
|
22
|
-
searchQuery: TSearchQuery;
|
|
23
|
-
};
|
|
24
|
-
currentRecordsFetcher: {
|
|
25
|
-
total: number;
|
|
26
|
-
};
|
|
27
|
-
members: TALUsers;
|
|
28
|
-
apiClients: TApiClients;
|
|
29
|
-
customers: TCustomers;
|
|
30
|
-
refetchChangeHistory: () => void;
|
|
31
|
-
}) => ReactElement;
|
|
32
|
-
projectKey: string;
|
|
33
|
-
resourceId?: string;
|
|
34
|
-
allowedResourceTypes: TResourceType[];
|
|
35
|
-
inContextEntity?: TResourceType;
|
|
36
|
-
searchQuery: TSearchQuery;
|
|
37
|
-
};
|
|
38
|
-
declare const ChangeHistoryListConnector: {
|
|
39
|
-
(props: TChangeHistoryListConnectorProps): ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
40
|
-
displayName: string;
|
|
41
|
-
};
|
|
42
|
-
export default ChangeHistoryListConnector;
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import type { TLocalizedStringObj } from "./change-history-list-connector.js";
|
|
2
|
-
import { TFetchAllUsersOfOrganizationQuery, TFetchChangeHistoryQuery, TStore } from "../../../types/src/generated/change-history.js";
|
|
3
|
-
import { TCustomer, TFetchCustomersQueryQuery, TFetchStoresQueryQuery } from "../../../types/src/generated/ctp.js";
|
|
4
|
-
import { TFetchOAuthClientsQueryQuery } from "../../../types/src/generated/mc.js";
|
|
5
|
-
import { TALUsers } from "../../types/common-types.js";
|
|
6
|
-
import { TApiClients, TCustomers, TLocalizedField } from "./change-history-list-connector.js";
|
|
7
|
-
export type TStoreDataWithName = TStore & {
|
|
8
|
-
name?: TLocalizedField;
|
|
9
|
-
};
|
|
10
|
-
export type TChangeHistoryResult = TFetchChangeHistoryQuery['changeHistory']['results'][number];
|
|
11
|
-
export type TLabelData = TChangeHistoryResult['label'];
|
|
12
|
-
export type TLabelDataWithUpdatedCustomer = Omit<TLabelData, 'customer'> & {
|
|
13
|
-
customer?: TFetchCustomersQueryQuery['customers']['results'][number] | null;
|
|
14
|
-
};
|
|
15
|
-
type TStoresResults = TFetchStoresQueryQuery['stores']['results'];
|
|
16
|
-
type TFetchChangeHistoryChanges = TChangeHistoryResult['changes'][number];
|
|
17
|
-
export type TConvertedFetchChangeHistoryChanges = Omit<TFetchChangeHistoryChanges, 'customLineItemNameAllLocales' | 'lineItemNameAllLocales'> & {
|
|
18
|
-
customLineItem: TLocalizedStringObj;
|
|
19
|
-
asset?: {
|
|
20
|
-
name: TLocalizedStringObj;
|
|
21
|
-
};
|
|
22
|
-
lineItem?: TLocalizedStringObj | {
|
|
23
|
-
name: TLocalizedStringObj;
|
|
24
|
-
};
|
|
25
|
-
textLineItem?: {
|
|
26
|
-
name: TLocalizedStringObj;
|
|
27
|
-
};
|
|
28
|
-
};
|
|
29
|
-
type TStoreResult = TStoresResults[number];
|
|
30
|
-
export type TConvertedStoreResult = TStoreResult & {
|
|
31
|
-
name?: TLocalizedField;
|
|
32
|
-
};
|
|
33
|
-
export type TConvertedChangeHistoryEntry = {
|
|
34
|
-
label: TLabelData | TLabelDataWithUpdatedCustomer;
|
|
35
|
-
previousLabel: TLabelData | TLabelDataWithUpdatedCustomer;
|
|
36
|
-
changes: Array<TConvertedFetchChangeHistoryChanges | null>;
|
|
37
|
-
stores: Array<TConvertedStoreResult>;
|
|
38
|
-
} & Omit<TChangeHistoryResult, 'label' | 'previousLabel' | 'changes' | 'stores'>;
|
|
39
|
-
export type TChangeHistoryResponse = {
|
|
40
|
-
total?: number | null;
|
|
41
|
-
results: Array<TConvertedChangeHistoryEntry>;
|
|
42
|
-
};
|
|
43
|
-
export declare const gatherChangeHistoryFromGraphqlResponse: (changeHistoryData: TFetchChangeHistoryQuery, storesData?: TStoresResults, entityLabelCustomerData?: TEntityLabelCustomerData | null) => TChangeHistoryResponse;
|
|
44
|
-
export declare const gatherMembersFromGraphqlResponse: (data: TFetchAllUsersOfOrganizationQuery | undefined) => TALUsers;
|
|
45
|
-
export declare const gatherApiClientsFromGraphqlResponse: (data?: TFetchOAuthClientsQueryQuery) => TApiClients;
|
|
46
|
-
export type TEntityLabelCustomerData = Record<TCustomer['id'], Pick<TCustomer, 'id' | 'email' | 'companyName'>>;
|
|
47
|
-
export declare const gatherEntityLabelCustomerDataFromGraphqlResponse: (data: TFetchCustomersQueryQuery) => TEntityLabelCustomerData;
|
|
48
|
-
export declare const gatherCustomersFromGraphqlResponse: (data?: TFetchCustomersQueryQuery) => TCustomers;
|
|
49
|
-
export {};
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import type { MessageDescriptor } from 'react-intl';
|
|
2
|
-
import { TOption } from '@commercetools-frontend/ui-kit';
|
|
3
|
-
import { TierLevels } from "../../../types/src/generated/change-history.js";
|
|
4
|
-
import { TResourceType } from "../../constants/index.js";
|
|
5
|
-
import { TALUsers, TIntl } from "../../types/common-types.js";
|
|
6
|
-
import { TAvailableFilters, TFilteredFilterDefinitions } from "../../types/filters-types.js";
|
|
7
|
-
import { TApiClients } from "../change-history-list-connector/change-history-list-connector.js";
|
|
8
|
-
export type TDisabledGroupTitleLabelProps = {
|
|
9
|
-
group: string;
|
|
10
|
-
groupTitleMessage: MessageDescriptor;
|
|
11
|
-
};
|
|
12
|
-
export type TOptionsWithDisabledForBasic = TOption & {
|
|
13
|
-
disabledForBasic?: boolean;
|
|
14
|
-
};
|
|
15
|
-
export declare const optionsGrouping: ({ options, tier, }: {
|
|
16
|
-
options: TOptionsWithDisabledForBasic[];
|
|
17
|
-
tier?: TierLevels | null | undefined;
|
|
18
|
-
}) => TOptionsWithDisabledForBasic[] | {
|
|
19
|
-
label: import("@emotion/react/jsx-runtime").JSX.Element;
|
|
20
|
-
value: TierLevels;
|
|
21
|
-
options: TOptionsWithDisabledForBasic[];
|
|
22
|
-
}[];
|
|
23
|
-
export declare const statusOptions: (intl: TIntl) => TOption[];
|
|
24
|
-
type TCreateFilterDefinitionProps = {
|
|
25
|
-
allowedResourceTypes: TResourceType[];
|
|
26
|
-
apiClients: TApiClients;
|
|
27
|
-
availableFilters: TAvailableFilters;
|
|
28
|
-
canViewBusinessUnits: boolean;
|
|
29
|
-
canViewCustomers: boolean;
|
|
30
|
-
canViewDeveloperSettings: boolean;
|
|
31
|
-
canViewStores: boolean;
|
|
32
|
-
intl: TIntl;
|
|
33
|
-
members: TALUsers;
|
|
34
|
-
tier: TierLevels;
|
|
35
|
-
};
|
|
36
|
-
declare const createFilterDefinitions: import("memoize-one").MemoizedFn<({ allowedResourceTypes, apiClients, availableFilters, canViewBusinessUnits, canViewCustomers, canViewDeveloperSettings, canViewStores, intl, members, tier, }: TCreateFilterDefinitionProps) => TFilteredFilterDefinitions>;
|
|
37
|
-
export default createFilterDefinitions;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./standard-filter-definitions.js";
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { TOption } from '@commercetools-frontend/ui-kit';
|
|
2
|
-
import { TierLevels } from "../../../../types/src/generated/change-history.js";
|
|
3
|
-
import { TIntl } from "../../../types/common-types.js";
|
|
4
|
-
import { TFilterTypeToFilterDefinitionMap } from "../../../types/filters-types.js";
|
|
5
|
-
import { TOptionsWithDisabledForBasic } from "../../change-history-list-view/filter-definitions.js";
|
|
6
|
-
export type TCreateStandardFilterMapMeta = {
|
|
7
|
-
options?: TOptionsWithDisabledForBasic[];
|
|
8
|
-
isMulti?: boolean;
|
|
9
|
-
isSearchable?: boolean;
|
|
10
|
-
resources?: TOption[];
|
|
11
|
-
tier?: TierLevels;
|
|
12
|
-
};
|
|
13
|
-
export declare function createDateDefinitionsMap(intl: TIntl): TFilterTypeToFilterDefinitionMap;
|
|
14
|
-
export declare function createFilterTypeToDefinitionMap(intl: TIntl, meta: TCreateStandardFilterMapMeta): TFilterTypeToFilterDefinitionMap;
|
|
15
|
-
export declare function createTypeOfChangeDefinitionsMap(intl: TIntl, meta: TCreateStandardFilterMapMeta): TFilterTypeToFilterDefinitionMap;
|
|
16
|
-
export declare function createUserDefinitionsMap(intl: TIntl, meta: TCreateStandardFilterMapMeta): TFilterTypeToFilterDefinitionMap;
|
|
17
|
-
export declare function createToolOptionsDefinitionsMap(intl: TIntl, meta: TCreateStandardFilterMapMeta): TFilterTypeToFilterDefinitionMap;
|
|
18
|
-
export declare function createResourceChangeDefinitionsMap(intl: TIntl, meta: TCreateStandardFilterMapMeta): TFilterTypeToFilterDefinitionMap;
|
|
19
|
-
export declare function createApiClientDefinitionsMap(intl: TIntl, meta: TCreateStandardFilterMapMeta): TFilterTypeToFilterDefinitionMap;
|
|
20
|
-
export declare function createCustomerIdDefinitionsMap(intl: TIntl): TFilterTypeToFilterDefinitionMap;
|
|
21
|
-
export declare function createExcludePlatformChangesDefinitionsMap(intl: TIntl): TFilterTypeToFilterDefinitionMap;
|
|
22
|
-
export declare function createStoresDefinitionsMap(intl: TIntl): TFilterTypeToFilterDefinitionMap;
|
|
23
|
-
export declare function createBusinessUnitDefinitionsMap(intl: TIntl): TFilterTypeToFilterDefinitionMap;
|
|
24
|
-
export declare function createEntityIdDefinitionsMap(intl: TIntl): TFilterTypeToFilterDefinitionMap;
|
package/dist/declarations/src/components/search/standard-filters/enum-filters/enum-filters.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { TFilterFieldComponentProps } from "../../../../types/filters-types.js";
|
|
2
|
-
import { TCreateStandardFilterMapMeta } from "../../standard-filter-definitions/index.js";
|
|
3
|
-
export type TEnumFilterValue<T> = {
|
|
4
|
-
value: T | T[];
|
|
5
|
-
};
|
|
6
|
-
export declare const createEnumFilter: <T extends string>({ options, isMulti, isSearchable, }: TCreateStandardFilterMapMeta) => {
|
|
7
|
-
({ error, value, onUpdateFilter }: TFilterFieldComponentProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
8
|
-
displayName: string;
|
|
9
|
-
};
|