@webitel/ui-datalist 1.0.80 → 1.0.81

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.
Files changed (30) hide show
  1. package/package.json +1 -1
  2. package/src/modules/filters/components/table-filters-panel.vue +2 -2
  3. package/src/modules/filters/modules/filterConfig/classes/FilterConfig.ts +5 -1
  4. package/src/modules/filters/modules/filterConfig/components/index.ts +16 -4
  5. package/src/modules/filters/modules/filterConfig/components/queue/index.ts +21 -0
  6. package/src/modules/filters/modules/filterConfig/components/queue/queue-filter-value-field.vue +18 -5
  7. package/src/modules/filters/modules/filterConfig/components/queue-period/queue-period-filter-value-field.vue +67 -0
  8. package/src/modules/filters/modules/filterConfig/components/queue-period/queue-period-filter-value-preview.vue +35 -0
  9. package/src/modules/filters/modules/filterConfig/components/queue-type/queue-type-filter-value-field.vue +67 -0
  10. package/src/modules/filters/modules/filterConfig/components/queue-type/queue-type-filter-value-preview.vue +34 -0
  11. package/src/modules/filters/modules/filterConfig/components/team/index.ts +21 -0
  12. package/src/modules/filters/modules/filterConfig/components/team/team-filter-value-field.vue +18 -5
  13. package/src/modules/filters/modules/filterConfig/composables/useQueuePeriodOptions.ts +45 -0
  14. package/src/modules/filters/modules/filterConfig/composables/useQueueTypeOptions.ts +22 -0
  15. package/src/modules/filters/modules/filterConfig/enums/FilterOption.ts +2 -0
  16. package/types/modules/filters/modules/filterConfig/classes/FilterConfig.d.ts +3 -1
  17. package/types/modules/filters/modules/filterConfig/components/index.d.ts +74 -1
  18. package/types/modules/filters/modules/filterConfig/components/queue/index.d.ts +32 -0
  19. package/types/modules/filters/modules/filterConfig/components/queue/queue-filter-value-field.vue.d.ts +7 -2
  20. package/types/modules/filters/modules/filterConfig/components/queue-period/queue-period-filter-value-field.vue.d.ts +16 -0
  21. package/types/modules/filters/modules/filterConfig/components/queue-period/queue-period-filter-value-preview.vue.d.ts +5 -0
  22. package/types/modules/filters/modules/filterConfig/components/queue-type/queue-type-filter-value-field.vue.d.ts +16 -0
  23. package/types/modules/filters/modules/filterConfig/components/queue-type/queue-type-filter-value-preview.vue.d.ts +5 -0
  24. package/types/modules/filters/modules/filterConfig/components/team/index.d.ts +33 -0
  25. package/types/modules/filters/modules/filterConfig/components/team/team-filter-value-field.vue.d.ts +7 -2
  26. package/types/modules/filters/modules/filterConfig/composables/useQueuePeriodOptions.d.ts +6 -0
  27. package/types/modules/filters/modules/filterConfig/composables/useQueueTypeOptions.d.ts +6 -0
  28. package/types/modules/filters/modules/filterConfig/enums/FilterOption.d.ts +2 -0
  29. package/src/modules/filters/modules/filterConfig/components/queue/config.js +0 -3
  30. package/src/modules/filters/modules/filterConfig/components/team/config.js +0 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webitel/ui-datalist",
3
- "version": "1.0.80",
3
+ "version": "1.0.81",
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",
@@ -202,8 +202,8 @@ const handleResetFilters = () => {
202
202
  align-items: center;
203
203
  }
204
204
  .dynamic-filter-panel-wrapper__filters {
205
- display: flex;
206
- flex-wrap: nowrap;
205
+ display: grid;
206
+ grid-template-columns: repeat(4, 1fr);
207
207
  grid-gap: var(--spacing-xs);
208
208
  }
209
209
  }
@@ -16,6 +16,7 @@ export type FilterConfigBaseParams = {
16
16
  valueInputComponent?: Component;
17
17
  valuePreviewComponent?: Component;
18
18
  notDeletable?: boolean;
19
+ showFilterName: boolean;
19
20
  };
20
21
 
21
22
  export interface IWtSysTypeFilterConfig extends BaseFilterConfig {
@@ -50,13 +51,15 @@ export class FilterConfig implements BaseFilterConfig {
50
51
  label?: ReturnType<MessageResolver> | string;
51
52
  staticView?: boolean;
52
53
  notDeletable: boolean;
54
+ showFilterName: boolean;
53
55
 
54
56
  constructor({
55
57
  name,
56
58
  valueInputComponent,
57
59
  valuePreviewComponent,
58
60
  notDeletable,
59
- staticView,
61
+ showFilterName,
62
+ staticView,
60
63
  }: FilterConfigBaseParams = {}) {
61
64
 
62
65
  if (name) this.name = name;
@@ -65,6 +68,7 @@ export class FilterConfig implements BaseFilterConfig {
65
68
  this.valuePreviewComponent = valuePreviewComponent;
66
69
  this.notDeletable = !!notDeletable;
67
70
  if (staticView) this.staticView = staticView;
71
+ if(showFilterName) this.showFilterName = showFilterName;
68
72
  }
69
73
  }
70
74
 
@@ -83,9 +83,12 @@ import HasTranscriptionFilter from './has-transcription/has-transcription-filter
83
83
  import HasTranscriptionFilterPreview from './has-transcription/has-transcription-filter-value-preview.vue';
84
84
  import HasUserFilter from './has-user/has-user-filter-value-field.vue';
85
85
  import HasUserFilterPreview from './has-user/has-user-filter-value-preview.vue';
86
- import { searchMethod as queueSearchMethod } from './queue/config';
87
86
  import QueueFilter from './queue/queue-filter-value-field.vue';
88
87
  import QueueFilterPreview from './queue/queue-filter-value-preview.vue';
88
+ import QueueTypeFilter from './queue-type/queue-type-filter-value-field.vue';
89
+ import QueueTypeFilterPreview from './queue-type/queue-type-filter-value-preview.vue';
90
+ import QueuePeriodFilter from './queue-period/queue-period-filter-value-field.vue';
91
+ import QueuePeriodFilterPreview from './queue-period/queue-period-filter-value-preview.vue';
89
92
  import { searchMethod as ratedBySearchMethod } from './rated-by/config';
90
93
  import RatedByFilter from './rated-by/rated-by-filter-value-field.vue';
91
94
  import RatedByFilterPreview from './rated-by/rated-by-filter-value-preview.vue';
@@ -97,7 +100,6 @@ import TagFilter from './tag/tag-filter-value-field.vue';
97
100
  import TagFilterPreview from './tag/tag-filter-value-preview.vue';
98
101
  import TalkDurationFilter from './talk-duration/talk-duration-filter-value-field.vue';
99
102
  import TalkDurationFilterPreview from './talk-duration/talk-duration-filter-value-preview.vue';
100
- import { searchMethod as teamSearchMethod } from './team/config';
101
103
  import TeamFilter from './team/team-filter-value-field.vue';
102
104
  import TeamFilterPreview from './team/team-filter-value-preview.vue';
103
105
  import TotalDurationFilter from './total-duration/total-duration-filter-value-field.vue';
@@ -107,6 +109,8 @@ import UserFilter from './user/user-filter-value-field.vue';
107
109
  import UserFilterPreview from './user/user-filter-value-preview.vue';
108
110
  import VariableFilter from './variable/variable-filter-value-field.vue';
109
111
  import VariableFilterPreview from './variable/variable-filter-value-preview.vue';
112
+ import { createTeamFilterConfig } from './team';
113
+ import { createQueueFilterConfig } from './queue';
110
114
 
111
115
  export {
112
116
  AgentFilter,
@@ -170,6 +174,10 @@ export {
170
174
  HasUserFilterPreview,
171
175
  QueueFilter,
172
176
  QueueFilterPreview,
177
+ QueueTypeFilter,
178
+ QueueTypeFilterPreview,
179
+ QueuePeriodFilter,
180
+ QueuePeriodFilterPreview,
173
181
  RatedByFilter,
174
182
  RatedByFilterPreview,
175
183
  RatingFromToFilter,
@@ -203,6 +211,8 @@ export const FilterOptionToValueComponentMap: Record<
203
211
  [FilterOption.Grantee]: GranteeFilter,
204
212
  [FilterOption.HangupCause]: HangupCauseFilterValueField,
205
213
  [FilterOption.Queue]: QueueFilter,
214
+ [FilterOption.QueueType]: QueueTypeFilter,
215
+ [FilterOption.QueuePeriod]: QueuePeriodFilter,
206
216
  [FilterOption.RatedBy]: RatedByFilter,
207
217
  [FilterOption.HasFile]: HasFileFilter,
208
218
  [FilterOption.Score]: ScoreFilter,
@@ -248,6 +258,8 @@ export const FilterOptionToPreviewComponentMap: Record<
248
258
  [FilterOption.Grantee]: GranteeFilterPreview,
249
259
  [FilterOption.HangupCause]: HangupCauseFilterValuePreview,
250
260
  [FilterOption.Queue]: QueueFilterPreview,
261
+ [FilterOption.QueueType]: QueueTypeFilterPreview,
262
+ [FilterOption.QueuePeriod]: QueuePeriodFilterPreview,
251
263
  [FilterOption.RatedBy]: RatedByFilterPreview,
252
264
  [FilterOption.HasFile]: HasFileFilterPreview,
253
265
  [FilterOption.Score]: ScoreFilterPreview,
@@ -286,7 +298,6 @@ export const FilterOptionToPreviewApiSearchMethodMap: Record<
286
298
  [FilterOption.Agent]: agentSearchMethod,
287
299
  [FilterOption.Gateway]: gatewaySearchMethod,
288
300
  [FilterOption.Grantee]: granteeSearchMethod,
289
- [FilterOption.Queue]: queueSearchMethod,
290
301
  [FilterOption.RatedBy]: ratedBySearchMethod,
291
302
  [FilterOption.CaseReporter]: caseReporterSearchMethod,
292
303
  [FilterOption.CaseSla]: caseSlaSearchMethod,
@@ -302,7 +313,6 @@ export const FilterOptionToPreviewApiSearchMethodMap: Record<
302
313
  [FilterOption.CasePriority]: casePrioritySearchMethod,
303
314
  [FilterOption.CaseImpacted]: caseImpactedSearchMethod,
304
315
  [FilterOption.Contact]: contactSearchMethod,
305
- [FilterOption.Team]: teamSearchMethod,
306
316
  [FilterOption.CaseCloseReasonGroups]: ({ id: value, ...rest }) => {
307
317
  return caseCloseReasonsSearchMethod({
308
318
  parentId: value?.selection,
@@ -324,4 +334,6 @@ export const FilterOptionToFilterConfigCreatorMap = {
324
334
  [FilterOption.ContactLabel]: createContactLabelFilterConfig,
325
335
  [FilterOption.ContactOwner]: createContactOwnerFilterConfig,
326
336
  [FilterOption.ContactGroup]: createContactGroupFilterConfig,
337
+ [FilterOption.Team]: createTeamFilterConfig,
338
+ [FilterOption.Queue]: createQueueFilterConfig,
327
339
  };
@@ -0,0 +1,21 @@
1
+ import { QueuesAPI } from '@webitel/api-services/api';
2
+
3
+ import { WtSysTypeFilterConfig } from '../../classes/FilterConfig';
4
+ import { FilterOption } from '../../enums/FilterOption';
5
+ import QueueFilterValueField from './queue-filter-value-field.vue';
6
+ import QueueFilterValuePreview from './queue-filter-value-preview.vue';
7
+
8
+ class QueueFilterConfig extends WtSysTypeFilterConfig {
9
+ readonly name = FilterOption.Queue;
10
+ valueInputComponent = QueueFilterValueField;
11
+ valuePreviewComponent = QueueFilterValuePreview;
12
+
13
+ searchRecords(
14
+ params: object
15
+ ): Promise<{ items: unknown[]; next?: boolean }> {
16
+ return QueuesAPI.getLookup(params);
17
+ }
18
+ }
19
+
20
+ export const createQueueFilterConfig = (params) =>
21
+ new QueueFilterConfig(params);
@@ -1,10 +1,10 @@
1
1
  <template>
2
2
  <wt-select
3
3
  :close-on-select="false"
4
- :label="t('webitelUI.filters.filterValue')"
5
- :search-method="searchMethod"
4
+ :label="labelValue"
5
+ :search-method="props.filterConfig.searchRecords"
6
6
  :value="model"
7
- :v="v$.model"
7
+ :v="!disableValidation && v$.model"
8
8
  multiple
9
9
  use-value-from-options-by-prop="id"
10
10
  @input="handleInput"
@@ -15,13 +15,18 @@
15
15
  import { useVuelidate } from '@vuelidate/core';
16
16
  import { required } from '@vuelidate/validators';
17
17
  import { WtSelect } from '@webitel/ui-sdk/components';
18
- import { computed, watch } from 'vue';
18
+ import { computed, onMounted, watch } from 'vue';
19
19
  import { useI18n } from 'vue-i18n';
20
20
 
21
- import { searchMethod } from './config.js';
21
+ import { WtSysTypeFilterConfig } from '../../classes/FilterConfig';
22
22
 
23
23
  type ModelValue = number[];
24
24
 
25
+ const props = defineProps<{
26
+ filterConfig: WtSysTypeFilterConfig;
27
+ disableValidation?: boolean;
28
+ }>();
29
+
25
30
  const model = defineModel<ModelValue>();
26
31
 
27
32
  const emit = defineEmits<{
@@ -29,6 +34,10 @@ const emit = defineEmits<{
29
34
  }>();
30
35
  const { t } = useI18n();
31
36
 
37
+ const labelValue = computed(() =>
38
+ t(`webitelUI.filters.${props?.filterConfig?.showFilterName ?
39
+ props?.filterConfig.name : 'filterValue'}`))
40
+
32
41
  const v$ = useVuelidate(
33
42
  computed(() => ({
34
43
  model: {
@@ -40,6 +49,10 @@ const v$ = useVuelidate(
40
49
  );
41
50
  v$.value.$touch();
42
51
 
52
+ onMounted(() => {
53
+ if (!props?.disableValidation) v$.value.$touch();
54
+ });
55
+
43
56
  watch(
44
57
  () => v$.value.$invalid,
45
58
  (invalid) => {
@@ -0,0 +1,67 @@
1
+ <template>
2
+ <wt-select
3
+ :label="labelValue"
4
+ :options="options"
5
+ :value="model"
6
+ :v="!disableValidation && v$.model"
7
+ track-by="value"
8
+ option-label="label"
9
+ use-value-from-options-by-prop="value"
10
+ @input="model = $event"
11
+ />
12
+ </template>
13
+
14
+ <script lang="ts" setup>
15
+ import { useVuelidate } from '@vuelidate/core';
16
+ import { required } from '@vuelidate/validators';
17
+ import { WtSelect } from '@webitel/ui-sdk/components';
18
+ import { computed, onMounted, watch } from 'vue';
19
+ import { useI18n } from 'vue-i18n';
20
+
21
+ import { useQueuePeriodOptions } from '../../composables/useQueuePeriodOptions';
22
+ import { WtSysTypeFilterConfig } from '../../classes/FilterConfig';
23
+
24
+ const model = defineModel<string>();
25
+ const { t } = useI18n();
26
+
27
+ const props = defineProps<{
28
+ filterConfig?: WtSysTypeFilterConfig,
29
+ disableValidation?: boolean;
30
+ }>();
31
+
32
+ const v$ = useVuelidate(
33
+ computed(() => ({
34
+ model: {
35
+ required,
36
+ },
37
+ })),
38
+ { model },
39
+ { $autoDirty: true },
40
+ );
41
+
42
+ v$.value.$touch();
43
+
44
+ const emit = defineEmits<{
45
+ 'update:invalid': [boolean];
46
+ }>();
47
+
48
+ const labelValue = computed(() =>
49
+ t(`webitelUI.filters.${props?.filterConfig?.showFilterName ?
50
+ props?.filterConfig.name : 'filterValue'}`));
51
+
52
+ const { options } = useQueuePeriodOptions();
53
+
54
+ onMounted(() => {
55
+ if (!props?.disableValidation) v$.value.$touch();
56
+ });
57
+
58
+ watch(
59
+ () => v$.value.$invalid,
60
+ (invalid) => {
61
+ emit('update:invalid', invalid);
62
+ },
63
+ { immediate: true },
64
+ );
65
+ </script>
66
+
67
+ <style scoped></style>
@@ -0,0 +1,35 @@
1
+ <template>
2
+ <ul>
3
+ <li
4
+ v-for="({ label }, index) of arrayValues"
5
+ :key="index"
6
+ >
7
+ {{ label }}
8
+ </li>
9
+ </ul>
10
+ </template>
11
+
12
+ <script lang="ts" setup>
13
+ import { useQueuePeriodOptions } from '../../composables/useQueuePeriodOptions';
14
+ import { computed } from 'vue';
15
+
16
+ const props = defineProps<{
17
+ value: number[];
18
+ }>();
19
+
20
+ const { options } = useQueuePeriodOptions();
21
+
22
+ const arrayLabels = computed(() =>
23
+ options.value.reduce((acc, { value, label }) => {
24
+ acc[value] = label;
25
+ return acc;
26
+ }, {})
27
+ );
28
+
29
+ const arrayValues = computed(() =>
30
+ props.value.map((v) => arrayLabels.value[v] || v)
31
+ );
32
+
33
+ </script>
34
+
35
+ <style scoped></style>
@@ -0,0 +1,67 @@
1
+ <template>
2
+ <wt-select
3
+ :label="labelValue"
4
+ :options="options"
5
+ :value="model"
6
+ :v="!disableValidation && v$.model"
7
+ track-by="value"
8
+ option-label="label"
9
+ use-value-from-options-by-prop="value"
10
+ @input="model = $event"
11
+ />
12
+ </template>
13
+
14
+ <script lang="ts" setup>
15
+ import { useVuelidate } from '@vuelidate/core';
16
+ import { required } from '@vuelidate/validators';
17
+ import { WtSelect } from '@webitel/ui-sdk/components';
18
+ import { computed, onMounted, watch } from 'vue';
19
+ import { useI18n } from 'vue-i18n';
20
+
21
+ import { useQueueTypeOptions } from '../../composables/useQueueTypeOptions';
22
+ import { WtSysTypeFilterConfig } from '../../classes/FilterConfig';
23
+
24
+ const model = defineModel<string>();
25
+ const { t } = useI18n();
26
+
27
+ const props = defineProps<{
28
+ filterConfig?: WtSysTypeFilterConfig;
29
+ disableValidation?: boolean;
30
+ }>();
31
+
32
+ const v$ = useVuelidate(
33
+ computed(() => ({
34
+ model: {
35
+ required,
36
+ },
37
+ })),
38
+ { model },
39
+ { $autoDirty: true },
40
+ );
41
+
42
+ v$.value.$touch();
43
+
44
+ const emit = defineEmits<{
45
+ 'update:invalid': [boolean];
46
+ }>();
47
+
48
+ const labelValue = computed(() =>
49
+ t(`webitelUI.filters.${props?.filterConfig?.showFilterName ?
50
+ props?.filterConfig.name : 'filterValue'}`));
51
+
52
+ const { options } = useQueueTypeOptions();
53
+
54
+ onMounted(() => {
55
+ if (!props?.disableValidation) v$.value.$touch();
56
+ });
57
+
58
+ watch(
59
+ () => v$.value.$invalid,
60
+ (invalid) => {
61
+ emit('update:invalid', invalid);
62
+ },
63
+ { immediate: true },
64
+ );
65
+ </script>
66
+
67
+ <style scoped></style>
@@ -0,0 +1,34 @@
1
+ <template>
2
+ <ul>
3
+ <li
4
+ v-for="({ label }, index) of arrayValues"
5
+ :key="index"
6
+ >
7
+ {{ label }}
8
+ </li>
9
+ </ul>
10
+ </template>
11
+
12
+ <script lang="ts" setup>
13
+ import { useQueueTypeOptions } from '../../composables/useQueueTypeOptions';
14
+ import { computed } from 'vue';
15
+
16
+ const props = defineProps<{
17
+ value: number[];
18
+ }>();
19
+
20
+ const { options } = useQueueTypeOptions();
21
+
22
+ const arrayLabels = computed(() =>
23
+ options.value.reduce((acc, { value, label }) => {
24
+ acc[value] = label;
25
+ return acc;
26
+ }, {})
27
+ );
28
+
29
+ const arrayValues = computed(() =>
30
+ props.value.map((v) => arrayLabels.value[v] || v)
31
+ );
32
+ </script>
33
+
34
+ <style scoped></style>
@@ -0,0 +1,21 @@
1
+ import TeamsAPI from '@webitel/ui-sdk/api/clients/teams/teams';
2
+
3
+ import { WtSysTypeFilterConfig } from '../../classes/FilterConfig';
4
+ import { FilterOption } from '../../enums/FilterOption';
5
+ import TeamFilterValueField from './team-filter-value-field.vue';
6
+ import TeamFilterValuePreview from './team-filter-value-preview.vue';
7
+
8
+ class TeamFilterConfig extends WtSysTypeFilterConfig {
9
+ readonly name = FilterOption.Team;
10
+ valueInputComponent = TeamFilterValueField;
11
+ valuePreviewComponent = TeamFilterValuePreview;
12
+
13
+ searchRecords(
14
+ params: object
15
+ ): Promise<{ items: unknown[]; next?: boolean }> {
16
+ return TeamsAPI.getLookup(params);
17
+ }
18
+ }
19
+
20
+ export const createTeamFilterConfig = (params) =>
21
+ new TeamFilterConfig(params);
@@ -1,10 +1,10 @@
1
1
  <template>
2
2
  <wt-select
3
3
  :close-on-select="false"
4
- :label="t('webitelUI.filters.filterValue')"
5
- :search-method="searchMethod"
4
+ :label="labelValue"
5
+ :search-method="props.filterConfig.searchRecords"
6
6
  :value="model"
7
- :v="v$.model"
7
+ :v="!disableValidation && v$.model"
8
8
  multiple
9
9
  use-value-from-options-by-prop="id"
10
10
  @input="handleInput"
@@ -15,10 +15,15 @@
15
15
  import { useVuelidate } from '@vuelidate/core';
16
16
  import { required } from '@vuelidate/validators';
17
17
  import { WtSelect } from '@webitel/ui-sdk/components';
18
- import { computed, watch } from 'vue';
18
+ import { computed, onMounted, watch } from 'vue';
19
19
  import { useI18n } from 'vue-i18n';
20
20
 
21
- import { searchMethod } from './config.js';
21
+ import { WtSysTypeFilterConfig } from '../../classes/FilterConfig';
22
+
23
+ const props = defineProps<{
24
+ filterConfig: WtSysTypeFilterConfig;
25
+ disableValidation?: boolean;
26
+ }>();
22
27
 
23
28
  type ModelValue = number[];
24
29
 
@@ -40,6 +45,14 @@ const v$ = useVuelidate(
40
45
  );
41
46
  v$.value.$touch();
42
47
 
48
+ const labelValue = computed(() =>
49
+ t(`webitelUI.filters.${props?.filterConfig?.showFilterName ?
50
+ props?.filterConfig.name : 'filterValue'}`))
51
+
52
+ onMounted(() => {
53
+ if (!props?.disableValidation) v$.value.$touch();
54
+ });
55
+
43
56
  watch(
44
57
  () => v$.value.$invalid,
45
58
  (invalid) => {
@@ -0,0 +1,45 @@
1
+ import { computed } from 'vue';
2
+ import { useI18n } from 'vue-i18n';
3
+
4
+ export function useQueuePeriodOptions() {
5
+ const { t } = useI18n();
6
+
7
+ const QueuePeriodOptions = {
8
+ today: 'today',
9
+ h6: '6hour',
10
+ h3: '3hour',
11
+ h1: '1hour',
12
+ m30: '30min',
13
+ m15: '15min',
14
+ }
15
+
16
+ const mapPeriodToLabel = (value: string) => {
17
+ switch (value) {
18
+ case QueuePeriodOptions.today:
19
+ return t('filters.period.options.today');
20
+ case QueuePeriodOptions.h6:
21
+ return t('filters.period.options.h', { h: 6 }, 2);
22
+ case QueuePeriodOptions.h3:
23
+ return t('filters.period.options.h', { h: 3 }, 2);
24
+ case QueuePeriodOptions.h1:
25
+ return t('filters.period.options.h', { h: 1 }, 1);
26
+ case QueuePeriodOptions.m30:
27
+ return t('filters.period.options.m', { m: 30 }, 2);
28
+ case QueuePeriodOptions.m15:
29
+ return t('filters.period.options.m', { m: 15 }, 2);
30
+ default:
31
+ return value;
32
+ }
33
+ };
34
+
35
+ const options = computed(() =>
36
+ Object.values(QueuePeriodOptions).map((value) => ({
37
+ value,
38
+ label: mapPeriodToLabel(value),
39
+ }))
40
+ );
41
+
42
+ return {
43
+ options,
44
+ };
45
+ }
@@ -0,0 +1,22 @@
1
+ import { QueueType } from '@webitel/ui-sdk/enums';
2
+ import { computed } from 'vue';
3
+ import { useI18n } from 'vue-i18n';
4
+
5
+ export function useQueueTypeOptions() {
6
+ const { t } = useI18n();
7
+
8
+ const mapQueueTypeToLabel = (value: string) =>
9
+ t(`objects.queue.type.${value}`);
10
+
11
+ const options = computed(() =>
12
+ Object.entries(QueueType)
13
+ .map(([key, value]) => ({
14
+ value,
15
+ label: mapQueueTypeToLabel(value),
16
+ }))
17
+ );
18
+
19
+ return {
20
+ options,
21
+ };
22
+ }
@@ -40,6 +40,8 @@ export const FilterOption = {
40
40
  CaseActualResolutionTime: 'actualResolutionTime',
41
41
  HasAttachment: 'hasAttachment',
42
42
  HasUser: 'hasUser',
43
+ QueueType: 'queueType',
44
+ QueuePeriod: 'queuePeriod'
43
45
  } as const;
44
46
 
45
47
  /**
@@ -13,6 +13,7 @@ export type FilterConfigBaseParams = {
13
13
  valueInputComponent?: Component;
14
14
  valuePreviewComponent?: Component;
15
15
  notDeletable?: boolean;
16
+ showFilterName: boolean;
16
17
  };
17
18
  export interface IWtSysTypeFilterConfig extends BaseFilterConfig {
18
19
  searchRecords: (params: FilterConfigSearchMethodParams) => Promise<{
@@ -44,7 +45,8 @@ export declare class FilterConfig implements BaseFilterConfig {
44
45
  label?: ReturnType<MessageResolver> | string;
45
46
  staticView?: boolean;
46
47
  notDeletable: boolean;
47
- constructor({ name, valueInputComponent, valuePreviewComponent, notDeletable, staticView, }?: FilterConfigBaseParams);
48
+ showFilterName: boolean;
49
+ constructor({ name, valueInputComponent, valuePreviewComponent, notDeletable, showFilterName, staticView, }?: FilterConfigBaseParams);
48
50
  }
49
51
  /**
50
52
  * @author @dlohvinov
@@ -61,6 +61,10 @@ import HasUserFilter from './has-user/has-user-filter-value-field.vue';
61
61
  import HasUserFilterPreview from './has-user/has-user-filter-value-preview.vue';
62
62
  import QueueFilter from './queue/queue-filter-value-field.vue';
63
63
  import QueueFilterPreview from './queue/queue-filter-value-preview.vue';
64
+ import QueueTypeFilter from './queue-type/queue-type-filter-value-field.vue';
65
+ import QueueTypeFilterPreview from './queue-type/queue-type-filter-value-preview.vue';
66
+ import QueuePeriodFilter from './queue-period/queue-period-filter-value-field.vue';
67
+ import QueuePeriodFilterPreview from './queue-period/queue-period-filter-value-preview.vue';
64
68
  import RatedByFilter from './rated-by/rated-by-filter-value-field.vue';
65
69
  import RatedByFilterPreview from './rated-by/rated-by-filter-value-preview.vue';
66
70
  import RatingFromToFilter from './rating/rating-from-to-filter-value-field.vue';
@@ -79,7 +83,7 @@ import UserFilter from './user/user-filter-value-field.vue';
79
83
  import UserFilterPreview from './user/user-filter-value-preview.vue';
80
84
  import VariableFilter from './variable/variable-filter-value-field.vue';
81
85
  import VariableFilterPreview from './variable/variable-filter-value-preview.vue';
82
- export { AgentFilter, AgentFilterPreview, AmdResultFilter, AmdResultFilterPreview, CallDirectionFilterValueField, CallDirectionFilterValuePreview, CaseActualReactionTimeFilterValueField, CaseActualReactionTimeFilterValuePreview, CaseActualResolutionTimeFilterValueField, CaseActualResolutionTimeFilterValuePreview, CaseAuthorFilterValueField, CaseAuthorFilterValuePreview, CaseCloseReasonGroupsFilterValueField, CaseCloseReasonGroupsFilterValuePreview, CaseImpactedFilterValueField, CaseImpactedFilterValuePreview, CasePriorityFilterValueField, CasePriorityFilterValuePreview, CaseReactionTimeFilterValueField, CaseReactionTimeFilterValuePreview, CaseReporterFilterValueField, CaseReporterFilterValuePreview, CaseResolutionTimeFilterValueField, CaseResolutionTimeFilterValuePreview, CaseServiceFilterValueField, CaseServiceFilterValuePreview, CaseSlaConditionFilterValueField, CaseSlaConditionFilterValuePreview, CaseSlaFilterValueField, CaseSlaFilterValuePreview, CaseSourceFilterValueField, CaseSourceFilterValuePreview, CaseStatusFilterValueField, CaseStatusFilterValuePreview, ContactFilter, ContactFilterPreview, ContactGroupFilter, ContactGroupFilterPreview, ContactLabelFilter, ContactLabelFilterPreview, ContactOwnerFilter, ContactOwnerFilterPreview, DateTimeOptionsFilterValueField, GatewayFilter, GatewayFilterPreview, GranteeFilter, GranteeFilterPreview, HangupCauseFilterValueField, HangupCauseFilterValuePreview, HasAttachmentFilter, HasAttachmentFilterPreview, HasFileFilter, HasFileFilterPreview, HasRatingFilterValueField, HasRatingFilterValuePreview, HasTranscriptionFilter, HasTranscriptionFilterPreview, HasUserFilter, HasUserFilterPreview, QueueFilter, QueueFilterPreview, RatedByFilter, RatedByFilterPreview, RatingFromToFilter, RatingFromToFilterPreview, ScoreFilter, ScoreFilterPreview, TagFilter, TagFilterPreview, TalkDurationFilter, TalkDurationFilterPreview, TeamFilter, TeamFilterPreview, TotalDurationFilter, TotalDurationFilterPreview, UserFilter, UserFilterPreview, VariableFilter, VariableFilterPreview, };
86
+ export { AgentFilter, AgentFilterPreview, AmdResultFilter, AmdResultFilterPreview, CallDirectionFilterValueField, CallDirectionFilterValuePreview, CaseActualReactionTimeFilterValueField, CaseActualReactionTimeFilterValuePreview, CaseActualResolutionTimeFilterValueField, CaseActualResolutionTimeFilterValuePreview, CaseAuthorFilterValueField, CaseAuthorFilterValuePreview, CaseCloseReasonGroupsFilterValueField, CaseCloseReasonGroupsFilterValuePreview, CaseImpactedFilterValueField, CaseImpactedFilterValuePreview, CasePriorityFilterValueField, CasePriorityFilterValuePreview, CaseReactionTimeFilterValueField, CaseReactionTimeFilterValuePreview, CaseReporterFilterValueField, CaseReporterFilterValuePreview, CaseResolutionTimeFilterValueField, CaseResolutionTimeFilterValuePreview, CaseServiceFilterValueField, CaseServiceFilterValuePreview, CaseSlaConditionFilterValueField, CaseSlaConditionFilterValuePreview, CaseSlaFilterValueField, CaseSlaFilterValuePreview, CaseSourceFilterValueField, CaseSourceFilterValuePreview, CaseStatusFilterValueField, CaseStatusFilterValuePreview, ContactFilter, ContactFilterPreview, ContactGroupFilter, ContactGroupFilterPreview, ContactLabelFilter, ContactLabelFilterPreview, ContactOwnerFilter, ContactOwnerFilterPreview, DateTimeOptionsFilterValueField, GatewayFilter, GatewayFilterPreview, GranteeFilter, GranteeFilterPreview, HangupCauseFilterValueField, HangupCauseFilterValuePreview, HasAttachmentFilter, HasAttachmentFilterPreview, HasFileFilter, HasFileFilterPreview, HasRatingFilterValueField, HasRatingFilterValuePreview, HasTranscriptionFilter, HasTranscriptionFilterPreview, HasUserFilter, HasUserFilterPreview, QueueFilter, QueueFilterPreview, QueueTypeFilter, QueueTypeFilterPreview, QueuePeriodFilter, QueuePeriodFilterPreview, RatedByFilter, RatedByFilterPreview, RatingFromToFilter, RatingFromToFilterPreview, ScoreFilter, ScoreFilterPreview, TagFilter, TagFilterPreview, TalkDurationFilter, TalkDurationFilterPreview, TeamFilter, TeamFilterPreview, TotalDurationFilter, TotalDurationFilterPreview, UserFilter, UserFilterPreview, VariableFilter, VariableFilterPreview, };
83
87
  export declare const FilterOptionToValueComponentMap: Record<FilterOptionName, Component>;
84
88
  export declare const FilterOptionToPreviewComponentMap: Record<FilterOptionName, Component>;
85
89
  export declare const FilterOptionToPreviewApiSearchMethodMap: Record<FilterOptionName, (unknown: any) => {
@@ -120,6 +124,7 @@ export declare const FilterOptionToFilterConfigCreatorMap: {
120
124
  label?: ReturnType<FilterOptionName> | string;
121
125
  staticView?: boolean;
122
126
  notDeletable: boolean;
127
+ showFilterName: boolean;
123
128
  };
124
129
  contactOwner: (params: any) => {
125
130
  readonly name: "contactOwner";
@@ -150,6 +155,7 @@ export declare const FilterOptionToFilterConfigCreatorMap: {
150
155
  label?: ReturnType<FilterOptionName> | string;
151
156
  staticView?: boolean;
152
157
  notDeletable: boolean;
158
+ showFilterName: boolean;
153
159
  };
154
160
  contactGroup: (params: any) => {
155
161
  readonly name: "contactGroup";
@@ -199,5 +205,72 @@ export declare const FilterOptionToFilterConfigCreatorMap: {
199
205
  label?: ReturnType<FilterOptionName> | string;
200
206
  staticView?: boolean;
201
207
  notDeletable: boolean;
208
+ showFilterName: boolean;
209
+ };
210
+ team: (params: any) => {
211
+ readonly name: "team";
212
+ valueInputComponent: import("vue").DefineComponent<{
213
+ filterConfig: import("..").WtSysTypeFilterConfig;
214
+ disableValidation?: boolean;
215
+ } & {
216
+ modelValue?: number[];
217
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
218
+ "update:modelValue": (value: number[]) => any;
219
+ "update:invalid": (args_0: boolean) => any;
220
+ }, string, import("vue").PublicProps, Readonly<{
221
+ filterConfig: import("..").WtSysTypeFilterConfig;
222
+ disableValidation?: boolean;
223
+ } & {
224
+ modelValue?: number[];
225
+ }> & Readonly<{
226
+ "onUpdate:modelValue"?: (value: number[]) => any;
227
+ "onUpdate:invalid"?: (args_0: boolean) => any;
228
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
229
+ valuePreviewComponent: import("vue").DefineComponent<{
230
+ value: FilterOptionName[];
231
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
232
+ value: FilterOptionName[];
233
+ }> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
234
+ searchRecords(params: object): Promise<{
235
+ items: unknown[];
236
+ next?: boolean;
237
+ }>;
238
+ label?: ReturnType<FilterOptionName> | string;
239
+ staticView?: boolean;
240
+ notDeletable: boolean;
241
+ showFilterName: boolean;
242
+ };
243
+ queue: (params: any) => {
244
+ readonly name: "queue";
245
+ valueInputComponent: import("vue").DefineComponent<{
246
+ filterConfig: import("..").WtSysTypeFilterConfig;
247
+ disableValidation?: boolean;
248
+ } & {
249
+ modelValue?: number[];
250
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
251
+ "update:modelValue": (value: number[]) => any;
252
+ "update:invalid": (args_0: boolean) => any;
253
+ }, string, import("vue").PublicProps, Readonly<{
254
+ filterConfig: import("..").WtSysTypeFilterConfig;
255
+ disableValidation?: boolean;
256
+ } & {
257
+ modelValue?: number[];
258
+ }> & Readonly<{
259
+ "onUpdate:modelValue"?: (value: number[]) => any;
260
+ "onUpdate:invalid"?: (args_0: boolean) => any;
261
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
262
+ valuePreviewComponent: import("vue").DefineComponent<{
263
+ value: FilterOptionName[];
264
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
265
+ value: FilterOptionName[];
266
+ }> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
267
+ searchRecords(params: object): Promise<{
268
+ items: unknown[];
269
+ next?: boolean;
270
+ }>;
271
+ label?: ReturnType<FilterOptionName> | string;
272
+ staticView?: boolean;
273
+ notDeletable: boolean;
274
+ showFilterName: boolean;
202
275
  };
203
276
  };
@@ -0,0 +1,32 @@
1
+ import { WtSysTypeFilterConfig } from '../../classes/FilterConfig';
2
+ declare class QueueFilterConfig extends WtSysTypeFilterConfig {
3
+ readonly name: "queue";
4
+ valueInputComponent: import("vue").DefineComponent<{
5
+ filterConfig: WtSysTypeFilterConfig;
6
+ disableValidation?: boolean;
7
+ } & {
8
+ modelValue?: number[];
9
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
10
+ "update:modelValue": (value: number[]) => any;
11
+ "update:invalid": (args_0: boolean) => any;
12
+ }, string, import("vue").PublicProps, Readonly<{
13
+ filterConfig: WtSysTypeFilterConfig;
14
+ disableValidation?: boolean;
15
+ } & {
16
+ modelValue?: number[];
17
+ }> & Readonly<{
18
+ "onUpdate:modelValue"?: (value: number[]) => any;
19
+ "onUpdate:invalid"?: (args_0: boolean) => any;
20
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
21
+ valuePreviewComponent: import("vue").DefineComponent<{
22
+ value: EngineQueue[];
23
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
24
+ value: EngineQueue[];
25
+ }> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
26
+ searchRecords(params: object): Promise<{
27
+ items: unknown[];
28
+ next?: boolean;
29
+ }>;
30
+ }
31
+ export declare const createQueueFilterConfig: (params: any) => QueueFilterConfig;
32
+ export {};
@@ -1,5 +1,10 @@
1
+ import { WtSysTypeFilterConfig } from '../../classes/FilterConfig';
1
2
  type ModelValue = number[];
2
- type __VLS_PublicProps = {
3
+ type __VLS_Props = {
4
+ filterConfig: WtSysTypeFilterConfig;
5
+ disableValidation?: boolean;
6
+ };
7
+ type __VLS_PublicProps = __VLS_Props & {
3
8
  modelValue?: ModelValue;
4
9
  };
5
10
  declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -8,5 +13,5 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {}, {},
8
13
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
9
14
  "onUpdate:modelValue"?: (value: ModelValue) => any;
10
15
  "onUpdate:invalid"?: (args_0: boolean) => any;
11
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
16
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
17
  export default _default;
@@ -0,0 +1,16 @@
1
+ import { WtSysTypeFilterConfig } from '../../classes/FilterConfig';
2
+ type __VLS_Props = {
3
+ filterConfig?: WtSysTypeFilterConfig;
4
+ disableValidation?: boolean;
5
+ };
6
+ type __VLS_PublicProps = __VLS_Props & {
7
+ modelValue?: string;
8
+ };
9
+ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
10
+ "update:modelValue": (value: string) => any;
11
+ "update:invalid": (args_0: boolean) => any;
12
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
13
+ "onUpdate:modelValue"?: (value: string) => any;
14
+ "onUpdate:invalid"?: (args_0: boolean) => any;
15
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
16
+ export default _default;
@@ -0,0 +1,5 @@
1
+ type __VLS_Props = {
2
+ value: number[];
3
+ };
4
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
5
+ export default _default;
@@ -0,0 +1,16 @@
1
+ import { WtSysTypeFilterConfig } from '../../classes/FilterConfig';
2
+ type __VLS_Props = {
3
+ filterConfig?: WtSysTypeFilterConfig;
4
+ disableValidation?: boolean;
5
+ };
6
+ type __VLS_PublicProps = __VLS_Props & {
7
+ modelValue?: string;
8
+ };
9
+ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
10
+ "update:modelValue": (value: string) => any;
11
+ "update:invalid": (args_0: boolean) => any;
12
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
13
+ "onUpdate:modelValue"?: (value: string) => any;
14
+ "onUpdate:invalid"?: (args_0: boolean) => any;
15
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
16
+ export default _default;
@@ -0,0 +1,5 @@
1
+ type __VLS_Props = {
2
+ value: number[];
3
+ };
4
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
5
+ export default _default;
@@ -0,0 +1,33 @@
1
+ import TeamsAPI from '@webitel/ui-sdk/api/clients/teams/teams';
2
+ import { WtSysTypeFilterConfig } from '../../classes/FilterConfig';
3
+ declare class TeamFilterConfig extends WtSysTypeFilterConfig {
4
+ readonly name: "team";
5
+ valueInputComponent: import("vue").DefineComponent<{
6
+ filterConfig: WtSysTypeFilterConfig;
7
+ disableValidation?: boolean;
8
+ } & {
9
+ modelValue?: number[];
10
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
11
+ "update:modelValue": (value: number[]) => any;
12
+ "update:invalid": (args_0: boolean) => any;
13
+ }, string, import("vue").PublicProps, Readonly<{
14
+ filterConfig: WtSysTypeFilterConfig;
15
+ disableValidation?: boolean;
16
+ } & {
17
+ modelValue?: number[];
18
+ }> & Readonly<{
19
+ "onUpdate:modelValue"?: (value: number[]) => any;
20
+ "onUpdate:invalid"?: (args_0: boolean) => any;
21
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
22
+ valuePreviewComponent: import("vue").DefineComponent<{
23
+ value: TeamsAPI[];
24
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
25
+ value: TeamsAPI[];
26
+ }> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
27
+ searchRecords(params: object): Promise<{
28
+ items: unknown[];
29
+ next?: boolean;
30
+ }>;
31
+ }
32
+ export declare const createTeamFilterConfig: (params: any) => TeamFilterConfig;
33
+ export {};
@@ -1,5 +1,10 @@
1
+ import { WtSysTypeFilterConfig } from '../../classes/FilterConfig';
2
+ type __VLS_Props = {
3
+ filterConfig: WtSysTypeFilterConfig;
4
+ disableValidation?: boolean;
5
+ };
1
6
  type ModelValue = number[];
2
- type __VLS_PublicProps = {
7
+ type __VLS_PublicProps = __VLS_Props & {
3
8
  modelValue?: ModelValue;
4
9
  };
5
10
  declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -8,5 +13,5 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {}, {},
8
13
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
9
14
  "onUpdate:modelValue"?: (value: ModelValue) => any;
10
15
  "onUpdate:invalid"?: (args_0: boolean) => any;
11
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
16
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
17
  export default _default;
@@ -0,0 +1,6 @@
1
+ export declare function useQueuePeriodOptions(): {
2
+ options: import("vue").ComputedRef<{
3
+ value: string;
4
+ label: any;
5
+ }[]>;
6
+ };
@@ -0,0 +1,6 @@
1
+ export declare function useQueueTypeOptions(): {
2
+ options: import("vue").ComputedRef<{
3
+ value: 0 | 2 | 1 | 3 | 4 | 5 | 6 | 7 | 8;
4
+ label: any;
5
+ }[]>;
6
+ };
@@ -40,6 +40,8 @@ export declare const FilterOption: {
40
40
  readonly CaseActualResolutionTime: "actualResolutionTime";
41
41
  readonly HasAttachment: "hasAttachment";
42
42
  readonly HasUser: "hasUser";
43
+ readonly QueueType: "queueType";
44
+ readonly QueuePeriod: "queuePeriod";
43
45
  };
44
46
  /**
45
47
  *
@@ -1,3 +0,0 @@
1
- import QueuesAPI from '@webitel/ui-sdk/api/clients/queues/queues';
2
-
3
- export const searchMethod = QueuesAPI.getLookup;
@@ -1,3 +0,0 @@
1
- import TeamsAPI from '@webitel/ui-sdk/api/clients/teams/teams';
2
-
3
- export const searchMethod = TeamsAPI.getLookup;