@webitel/ui-datalist 1.0.8 → 1.0.11

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.8",
3
+ "version": "1.0.11",
4
4
  "description": "Toolkit for building data lists in webitel ui system",
5
5
  "scripts": {
6
6
  "lint:fix": "eslint --fix ./src && prettier --write --check ./src",
@@ -3,22 +3,13 @@
3
3
  </template>
4
4
 
5
5
  <script lang="ts" setup>
6
- import { computed } from 'vue';
7
- import { useI18n } from 'vue-i18n';
8
-
9
- import { BooleanOptions } from '../../../enums/boolean-options';
6
+ import { usePrettifyBooleanValuePreview } from '../_shared/composables/booleanFilterToolkit';
10
7
 
11
8
  const props = defineProps<{
12
9
  value: boolean;
13
10
  }>();
14
- const { t } = useI18n();
15
11
 
16
- const localeValue = computed(() => {
17
- const match = BooleanOptions.find(
18
- (el) => el.value === props.value.toString(),
19
- );
20
- return match ? t(match.locale) : '';
21
- });
12
+ const { localeValue } = usePrettifyBooleanValuePreview(props.value);
22
13
  </script>
23
14
 
24
15
  <style scoped></style>
@@ -191,11 +191,11 @@ export const FilterOptionToValueComponentMap: Record<
191
191
  [FilterOption.Agent]: AgentFilter,
192
192
  [FilterOption.AmdResult]: AmdResultFilter,
193
193
  [FilterOption.Contact]: ContactFilter,
194
- [FilterOption.Direction]: CallDirectionFilterValueField,
194
+ [FilterOption.CallDirection]: CallDirectionFilterValueField,
195
195
  [FilterOption.Rated]: HasRatingFilterValueField,
196
196
  [FilterOption.Gateway]: GatewayFilter,
197
197
  [FilterOption.Grantee]: GranteeFilter,
198
- [FilterOption.Cause]: HangupCauseFilterValueField,
198
+ [FilterOption.HangupCause]: HangupCauseFilterValueField,
199
199
  [FilterOption.Queue]: QueueFilter,
200
200
  [FilterOption.RatedBy]: RatedByFilter,
201
201
  [FilterOption.HasFile]: HasFileFilter,
@@ -210,23 +210,24 @@ export const FilterOptionToValueComponentMap: Record<
210
210
  [FilterOption.CreatedAt]: CreatedAtFilterValueField,
211
211
  [FilterOption.CreatedAtFrom]: CreatedAtFromFilter,
212
212
  [FilterOption.CreatedAtTo]: CreatedAtToFilter,
213
- [FilterOption.Status]: CaseStatusFilterValueField,
214
- [FilterOption.Source]: CaseSourceFilterValueField,
215
- [FilterOption.Service]: CaseServiceFilterValueField,
216
- [FilterOption.Author]: CaseAuthorFilterValueField,
217
- [FilterOption.Reporter]: CaseReporterFilterValueField,
218
- [FilterOption.Impacted]: CaseImpactedFilterValueField,
219
- [FilterOption.Assignee]: CaseAssigneeFilterValueField,
213
+ [FilterOption.CaseStatus]: CaseStatusFilterValueField,
214
+ [FilterOption.CaseSource]: CaseSourceFilterValueField,
215
+ [FilterOption.CaseService]: CaseServiceFilterValueField,
216
+ [FilterOption.CaseAuthor]: CaseAuthorFilterValueField,
217
+ [FilterOption.CaseReporter]: CaseReporterFilterValueField,
218
+ [FilterOption.CaseImpacted]: CaseImpactedFilterValueField,
219
+ [FilterOption.CaseAssignee]: CaseAssigneeFilterValueField,
220
220
  [FilterOption.ContactGroup]: ContactGroupFilter,
221
- [FilterOption.Priority]: CasePriorityFilterValueField,
222
- [FilterOption.CloseReasonGroups]: CaseCloseReasonGroupsFilterValueField,
221
+ [FilterOption.CasePriority]: CasePriorityFilterValueField,
222
+ [FilterOption.CaseCloseReasonGroups]: CaseCloseReasonGroupsFilterValueField,
223
223
  [FilterOption.Rating]: RatingFromToFilter,
224
- [FilterOption.Sla]: CaseSlaFilterValueField,
225
- [FilterOption.SlaCondition]: CaseSlaConditionFilterValueField,
226
- [FilterOption.ReactionTime]: CaseReactionTimeFilterValueField,
227
- [FilterOption.ResolutionTime]: CaseResolutionTimeFilterValueField,
228
- [FilterOption.ActualReactionTime]: CaseActualReactionTimeFilterValueField,
229
- [FilterOption.ActualResolutionTime]: CaseActualResolutionTimeFilterValueField,
224
+ [FilterOption.CaseSla]: CaseSlaFilterValueField,
225
+ [FilterOption.CaseSlaCondition]: CaseSlaConditionFilterValueField,
226
+ [FilterOption.CaseReactionTime]: CaseReactionTimeFilterValueField,
227
+ [FilterOption.CaseResolutionTime]: CaseResolutionTimeFilterValueField,
228
+ [FilterOption.CaseActualReactionTime]: CaseActualReactionTimeFilterValueField,
229
+ [FilterOption.CaseActualResolutionTime]:
230
+ CaseActualResolutionTimeFilterValueField,
230
231
  [FilterOption.HasAttachment]: HasAttachmentFilter,
231
232
  };
232
233
 
@@ -238,11 +239,11 @@ export const FilterOptionToPreviewComponentMap: Record<
238
239
  [FilterOption.Agent]: AgentFilterPreview,
239
240
  [FilterOption.AmdResult]: AmdResultFilterPreview,
240
241
  [FilterOption.Contact]: ContactFilterPreview,
241
- [FilterOption.Direction]: CallDirectionFilterValuePreview,
242
+ [FilterOption.CallDirection]: CallDirectionFilterValuePreview,
242
243
  [FilterOption.Rated]: HasRatingFilterValuePreview,
243
244
  [FilterOption.Gateway]: GatewayFilterPreview,
244
245
  [FilterOption.Grantee]: GranteeFilterPreview,
245
- [FilterOption.Cause]: HangupCauseFilterValuePreview,
246
+ [FilterOption.HangupCause]: HangupCauseFilterValuePreview,
246
247
  [FilterOption.Queue]: QueueFilterPreview,
247
248
  [FilterOption.RatedBy]: RatedByFilterPreview,
248
249
  [FilterOption.HasFile]: HasFileFilterPreview,
@@ -256,23 +257,24 @@ export const FilterOptionToPreviewComponentMap: Record<
256
257
  [FilterOption.Variable]: VariableFilterPreview,
257
258
  [FilterOption.CreatedAtFrom]: CreatedAtFromFilterPreview,
258
259
  [FilterOption.CreatedAtTo]: CreatedAtToFilterPreview,
259
- [FilterOption.Status]: CaseStatusFilterValuePreview,
260
- [FilterOption.Source]: CaseSourceFilterValuePreview,
261
- [FilterOption.Service]: CaseServiceFilterValuePreview,
262
- [FilterOption.Author]: CaseAuthorFilterValuePreview,
263
- [FilterOption.Reporter]: CaseReporterFilterValuePreview,
264
- [FilterOption.Impacted]: CaseImpactedFilterValuePreview,
265
- [FilterOption.Assignee]: CaseAssigneeFilterValuePreview,
260
+ [FilterOption.CaseStatus]: CaseStatusFilterValuePreview,
261
+ [FilterOption.CaseSource]: CaseSourceFilterValuePreview,
262
+ [FilterOption.CaseService]: CaseServiceFilterValuePreview,
263
+ [FilterOption.CaseAuthor]: CaseAuthorFilterValuePreview,
264
+ [FilterOption.CaseReporter]: CaseReporterFilterValuePreview,
265
+ [FilterOption.CaseImpacted]: CaseImpactedFilterValuePreview,
266
+ [FilterOption.CaseAssignee]: CaseAssigneeFilterValuePreview,
266
267
  [FilterOption.ContactGroup]: ContactGroupFilterPreview,
267
- [FilterOption.Priority]: CasePriorityFilterValuePreview,
268
- [FilterOption.CloseReasonGroups]: CaseCloseReasonGroupsFilterValuePreview,
268
+ [FilterOption.CasePriority]: CasePriorityFilterValuePreview,
269
+ [FilterOption.CaseCloseReasonGroups]: CaseCloseReasonGroupsFilterValuePreview,
269
270
  [FilterOption.Rating]: RatingFromToFilterPreview,
270
- [FilterOption.Sla]: CaseSlaFilterValuePreview,
271
- [FilterOption.SlaCondition]: CaseSlaConditionFilterValuePreview,
272
- [FilterOption.ReactionTime]: CaseReactionTimeFilterValuePreview,
273
- [FilterOption.ResolutionTime]: CaseResolutionTimeFilterValuePreview,
274
- [FilterOption.ActualReactionTime]: CaseActualReactionTimeFilterValuePreview,
275
- [FilterOption.ActualResolutionTime]:
271
+ [FilterOption.CaseSla]: CaseSlaFilterValuePreview,
272
+ [FilterOption.CaseSlaCondition]: CaseSlaConditionFilterValuePreview,
273
+ [FilterOption.CaseReactionTime]: CaseReactionTimeFilterValuePreview,
274
+ [FilterOption.CaseResolutionTime]: CaseResolutionTimeFilterValuePreview,
275
+ [FilterOption.CaseActualReactionTime]:
276
+ CaseActualReactionTimeFilterValuePreview,
277
+ [FilterOption.CaseActualResolutionTime]:
276
278
  CaseActualResolutionTimeFilterValuePreview,
277
279
  [FilterOption.HasAttachment]: HasAttachmentFilterPreview,
278
280
  };
@@ -286,11 +288,11 @@ export const FilterOptionToPreviewApiSearchMethodMap: Record<
286
288
  [FilterOption.Grantee]: granteeSearchMethod,
287
289
  [FilterOption.Queue]: queueSearchMethod,
288
290
  [FilterOption.RatedBy]: ratedBySearchMethod,
289
- [FilterOption.Reporter]: caseReporterSearchMethod,
290
- [FilterOption.Sla]: caseSlaSearchMethod,
291
- [FilterOption.Service]: servicesSearchMethod,
292
- [FilterOption.Source]: caseSourceSearchMethod,
293
- [FilterOption.Status]: ({ id: value }) =>
291
+ [FilterOption.CaseReporter]: caseReporterSearchMethod,
292
+ [FilterOption.CaseSla]: caseSlaSearchMethod,
293
+ [FilterOption.CaseService]: servicesSearchMethod,
294
+ [FilterOption.CaseSource]: caseSourceSearchMethod,
295
+ [FilterOption.CaseStatus]: ({ id: value }) =>
294
296
  caseStatusConditionsSearchMethod({
295
297
  parentId: value?.selection,
296
298
  id: value?.conditions,
@@ -302,25 +304,25 @@ export const FilterOptionToPreviewApiSearchMethodMap: Record<
302
304
  ...rest,
303
305
  });
304
306
  },
305
- [FilterOption.Assignee]: ({ id: value }, ...rest) => {
307
+ [FilterOption.CaseAssignee]: ({ id: value }, ...rest) => {
306
308
  return caseAssigneeSearchMethod({
307
309
  id: value.list,
308
310
  ...rest,
309
311
  });
310
312
  },
311
- [FilterOption.Author]: caseAuthorSearchMethod,
312
- [FilterOption.Priority]: casePrioritySearchMethod,
313
- [FilterOption.Impacted]: caseImpactedSearchMethod,
313
+ [FilterOption.CaseAuthor]: caseAuthorSearchMethod,
314
+ [FilterOption.CasePriority]: casePrioritySearchMethod,
315
+ [FilterOption.CaseImpacted]: caseImpactedSearchMethod,
314
316
  [FilterOption.Contact]: contactSearchMethod,
315
317
  [FilterOption.Team]: teamSearchMethod,
316
- [FilterOption.CloseReasonGroups]: ({ id: value, ...rest }) => {
318
+ [FilterOption.CaseCloseReasonGroups]: ({ id: value, ...rest }) => {
317
319
  return caseCloseReasonsSearchMethod({
318
320
  parentId: value?.selection,
319
321
  id: value?.conditions,
320
322
  ...rest,
321
323
  });
322
324
  },
323
- [FilterOption.SlaCondition]: ({ id: value, ...rest }) => {
325
+ [FilterOption.CaseSlaCondition]: ({ id: value, ...rest }) => {
324
326
  return slasConditionsSearchMethod({
325
327
  parentId: value?.selection,
326
328
  id: value?.conditions,
@@ -10,9 +10,9 @@
10
10
  {{ filter.label || t(`webitelUI.filters.${filter.name}`) }}
11
11
  <wt-icon-btn
12
12
  v-if="!filterConfig.notDeletable && !readonly"
13
+ color="on-primary"
13
14
  icon="close--filled"
14
15
  size="sm"
15
- color="on-primary"
16
16
  @mousedown.stop="deleteFilter"
17
17
  />
18
18
  </wt-chip>
@@ -27,14 +27,14 @@
27
27
  <template #default>
28
28
  <slot name="info">
29
29
  <wt-loader
30
- v-if="!localValue"
30
+ v-if="!isRenderPreview"
31
31
  size="sm"
32
32
  />
33
33
  <component
34
34
  :is="FilterOptionToPreviewComponentMap[filter.name]"
35
35
  v-else
36
- :value="localValue"
37
36
  :filter="props.filter"
37
+ :value="localValue"
38
38
  />
39
39
  </slot>
40
40
  </template>
@@ -124,7 +124,6 @@ const fillLocalValue = async (filter = props.filter) => {
124
124
  const filterValue = filter.value;
125
125
 
126
126
  const valueSearchMethod = FilterOptionToPreviewApiSearchMethodMap[filterName];
127
-
128
127
  if (valueSearchMethod) {
129
128
  const { items } = await valueSearchMethod({ id: filterValue });
130
129
  localValue.value = items;
@@ -133,6 +132,10 @@ const fillLocalValue = async (filter = props.filter) => {
133
132
  }
134
133
  };
135
134
 
135
+ // [https://webitel.atlassian.net/browse/WTEL-6732]
136
+ // if type filter is boolean and value = false, need display preview
137
+ const isRenderPreview = computed(() => localValue.value === false || localValue.value);
138
+
136
139
  const submit = (filter: IFilter, { hide }) => {
137
140
  emit('update:filter', filter);
138
141
  fillLocalValue(filter);
@@ -147,8 +150,8 @@ const deleteFilter = () => {
147
150
  <style lang="scss" scoped>
148
151
  .wt-chip {
149
152
  display: flex;
150
- justify-content: center;
151
153
  align-items: center;
154
+ justify-content: center;
152
155
  gap: var(--spacing-2xs);
153
156
  }
154
157
 
@@ -4,11 +4,11 @@ export const FilterOption = {
4
4
  Agent: 'agent',
5
5
  AmdResult: 'amdResult',
6
6
  Contact: 'contact',
7
- Direction: 'direction',
7
+ CallDirection: 'direction',
8
8
  Rated: 'rated',
9
9
  Gateway: 'gateway',
10
10
  Grantee: 'grantee',
11
- Cause: 'cause',
11
+ HangupCause: 'cause',
12
12
  Queue: 'queue',
13
13
  RatedBy: 'ratedBy',
14
14
  HasFile: 'hasFile',
@@ -23,23 +23,23 @@ export const FilterOption = {
23
23
  CreatedAt: 'createdAt',
24
24
  CreatedAtFrom: 'createdAtFrom',
25
25
  CreatedAtTo: 'createdAtTo',
26
- Status: 'status',
27
- Source: 'source',
28
- Service: 'service',
29
- Author: 'author',
30
- Reporter: 'reporter',
31
- Impacted: 'impacted',
32
- Assignee: 'assignee',
26
+ CaseStatus: 'status',
27
+ CaseSource: 'source',
28
+ CaseService: 'service',
29
+ CaseAuthor: 'author',
30
+ CaseReporter: 'reporter',
31
+ CaseImpacted: 'impacted',
32
+ CaseAssignee: 'assignee',
33
33
  ContactGroup: 'contactGroup',
34
- Priority: 'priority',
35
- CloseReasonGroups: 'closeReasonGroups',
34
+ CasePriority: 'priority',
35
+ CaseCloseReasonGroups: 'closeReasonGroups',
36
36
  Rating: 'rating',
37
- Sla: 'sla',
38
- SlaCondition: 'slaCondition',
39
- ReactionTime: 'reactionTime',
40
- ResolutionTime: 'resolutionTime',
41
- ActualReactionTime: 'actualReactionTime',
42
- ActualResolutionTime: 'actualResolutionTime',
37
+ CaseSla: 'sla',
38
+ CaseSlaCondition: 'slaCondition',
39
+ CaseReactionTime: 'reactionTime',
40
+ CaseResolutionTime: 'resolutionTime',
41
+ CaseActualReactionTime: 'actualReactionTime',
42
+ CaseActualResolutionTime: 'actualResolutionTime',
43
43
  HasAttachment: 'hasAttachment',
44
44
  } as const satisfies FilterName;
45
45