@webitel/ui-datalist 1.0.20 → 1.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/modules/filters/components/preview/dynamic-filter-preview.vue +3 -2
- package/src/modules/filters/components/table-filters-panel.vue +15 -13
- package/src/modules/filters/modules/filterConfig/classes/FilterConfig.ts +6 -5
- package/src/modules/filters/modules/filterConfig/components/contact-group/contact-group-filter-value-field.vue +7 -4
- package/src/modules/filters/modules/filterConfig/components/contact-group/index.ts +42 -0
- package/src/modules/filters/modules/filterConfig/components/contact-label/contact-label-filter-value-field.vue +58 -0
- package/src/modules/filters/modules/filterConfig/components/contact-label/contact-label-filter-value-preview.vue +22 -0
- package/src/modules/filters/modules/filterConfig/components/contact-label/index.ts +29 -0
- package/src/modules/filters/modules/filterConfig/components/contact-owner/contact-owner-filter-value-field.vue +60 -0
- package/src/modules/filters/modules/filterConfig/components/contact-owner/contact-owner-filter-value-preview.vue +16 -0
- package/src/modules/filters/modules/filterConfig/components/contact-owner/index.ts +21 -0
- package/src/modules/filters/modules/filterConfig/components/has-user/has-user-filter-value-field.vue +33 -0
- package/src/modules/filters/modules/filterConfig/components/has-user/has-user-filter-value-preview.vue +15 -0
- package/src/modules/filters/modules/filterConfig/components/index.ts +20 -9
- package/src/modules/filters/modules/filterConfig/enums/FilterOption.ts +3 -0
- package/types/modules/filters/modules/filterConfig/components/contact-group/contact-group-filter-value-field.vue.d.ts +6 -2
- package/types/modules/filters/modules/filterConfig/components/contact-group/index.d.ts +51 -0
- package/types/modules/filters/modules/filterConfig/components/contact-label/contact-label-filter-value-field.vue.d.ts +16 -0
- package/types/modules/filters/modules/filterConfig/components/contact-label/contact-label-filter-value-preview.vue.d.ts +8 -0
- package/types/modules/filters/modules/filterConfig/components/contact-label/index.d.ts +30 -0
- package/types/modules/filters/modules/filterConfig/components/contact-owner/contact-owner-filter-value-field.vue.d.ts +16 -0
- package/types/modules/filters/modules/filterConfig/components/contact-owner/contact-owner-filter-value-preview.vue.d.ts +8 -0
- package/types/modules/filters/modules/filterConfig/components/contact-owner/index.d.ts +30 -0
- package/types/modules/filters/modules/filterConfig/components/has-user/has-user-filter-value-field.vue.d.ts +12 -0
- package/types/modules/filters/modules/filterConfig/components/has-user/has-user-filter-value-preview.vue.d.ts +5 -0
- package/types/modules/filters/modules/filterConfig/components/index.d.ts +109 -1
- package/types/modules/filters/modules/filterConfig/enums/FilterOption.d.ts +3 -0
- package/src/modules/filters/modules/filterConfig/components/contact-group/config.js +0 -3
package/package.json
CHANGED
|
@@ -33,9 +33,9 @@
|
|
|
33
33
|
<component
|
|
34
34
|
:is="filterConfig.valuePreviewComponent"
|
|
35
35
|
v-else
|
|
36
|
-
:value="localValue"
|
|
37
36
|
:filter="props.filter"
|
|
38
37
|
:filter-config="filterConfig"
|
|
38
|
+
:value="localValue"
|
|
39
39
|
/>
|
|
40
40
|
</slot>
|
|
41
41
|
</template>
|
|
@@ -80,6 +80,7 @@ import {
|
|
|
80
80
|
import DynamicFilterConfigForm from '../config/dynamic-filter-config-form.vue';
|
|
81
81
|
import DynamicFilterConfigView from '../config/dynamic-filter-config-view.vue';
|
|
82
82
|
import DynamicFilterPreviewInfo from './dynamic-filter-preview-info.vue';
|
|
83
|
+
import { FilterOption } from '../../modules/filterConfig/enums/FilterOption';
|
|
83
84
|
|
|
84
85
|
interface Props {
|
|
85
86
|
filter: IFilter;
|
|
@@ -152,8 +153,8 @@ const deleteFilter = () => {
|
|
|
152
153
|
<style lang="scss" scoped>
|
|
153
154
|
.wt-chip {
|
|
154
155
|
display: flex;
|
|
155
|
-
justify-content: center;
|
|
156
156
|
align-items: center;
|
|
157
|
+
justify-content: center;
|
|
157
158
|
gap: var(--spacing-2xs);
|
|
158
159
|
}
|
|
159
160
|
|
|
@@ -19,20 +19,22 @@
|
|
|
19
19
|
</template>
|
|
20
20
|
|
|
21
21
|
<template #actions>
|
|
22
|
-
<
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
<div v-if="enablePresets">
|
|
23
|
+
<apply-preset-action
|
|
24
|
+
:filter-configs="filterConfigs"
|
|
25
|
+
:namespace="props.presetNamespace"
|
|
26
|
+
:use-presets-store="props.usePresetsStore"
|
|
27
|
+
@apply="emit('preset:apply', $event)"
|
|
28
|
+
/>
|
|
28
29
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
30
|
+
<save-preset-action
|
|
31
|
+
:filter-configs="filterConfigs"
|
|
32
|
+
:filters-included="filtersIncluded"
|
|
33
|
+
:filters-manager="props.filtersManager"
|
|
34
|
+
:namespace="props.presetNamespace"
|
|
35
|
+
/>
|
|
36
|
+
|
|
37
|
+
</div>
|
|
36
38
|
|
|
37
39
|
<wt-icon-action
|
|
38
40
|
:disabled="!props.filtersManager.filters.size"
|
|
@@ -51,11 +51,12 @@ export class FilterConfig implements BaseFilterConfig {
|
|
|
51
51
|
notDeletable: boolean;
|
|
52
52
|
|
|
53
53
|
constructor({
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
54
|
+
name,
|
|
55
|
+
valueInputComponent,
|
|
56
|
+
valuePreviewComponent,
|
|
57
|
+
notDeletable,
|
|
58
|
+
}: FilterConfigBaseParams = {}) {
|
|
59
|
+
|
|
59
60
|
if (name) this.name = name;
|
|
60
61
|
if (valueInputComponent) this.valueInputComponent = valueInputComponent;
|
|
61
62
|
if (valuePreviewComponent)
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<wt-select
|
|
3
3
|
:close-on-select="false"
|
|
4
4
|
:label="t('webitelUI.filters.filterValue')"
|
|
5
|
-
:search-method="
|
|
5
|
+
:search-method="props.filterConfig.searchRecords"
|
|
6
6
|
:v="v$.model.list"
|
|
7
7
|
:value="model?.list"
|
|
8
8
|
multiple
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
@input="model.list = $event"
|
|
12
12
|
/>
|
|
13
13
|
<wt-checkbox
|
|
14
|
+
v-if="!props.filterConfig?.hideUnassigned"
|
|
14
15
|
:label="t('reusable.showUnassigned')"
|
|
15
16
|
:selected="model?.unassigned"
|
|
16
17
|
:v="v$.model.unassigned"
|
|
@@ -25,9 +26,11 @@ import { WtSelect } from '@webitel/ui-sdk/components';
|
|
|
25
26
|
import { WtCheckbox } from '@webitel/ui-sdk/components';
|
|
26
27
|
import { computed, onMounted, watch } from 'vue';
|
|
27
28
|
import { useI18n } from 'vue-i18n';
|
|
29
|
+
import { IContactGroupFilterConfig } from './index';
|
|
28
30
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
+
const props = defineProps<{
|
|
32
|
+
filterConfig: IContactGroupFilterConfig;
|
|
33
|
+
}>();
|
|
31
34
|
type ModelValue = {
|
|
32
35
|
list: string[];
|
|
33
36
|
unassigned: boolean;
|
|
@@ -54,7 +57,7 @@ const v$ = useVuelidate(
|
|
|
54
57
|
computed(() => ({
|
|
55
58
|
model: {
|
|
56
59
|
list: { required: requiredIf(() => !model.value.unassigned) },
|
|
57
|
-
unassigned: { required: requiredIf(() => !model.value.list.length) },
|
|
60
|
+
unassigned: { required: requiredIf(() => props.filterConfig?.hideUnassigned && !model.value.list.length) },
|
|
58
61
|
},
|
|
59
62
|
})),
|
|
60
63
|
{ model },
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { contactGroups } from '@webitel/ui-sdk/api/clients/index';
|
|
2
|
+
|
|
3
|
+
import { WtSysTypeFilterConfig, IWtSysTypeFilterConfig } from '../../classes/FilterConfig';
|
|
4
|
+
import { FilterOption } from '../../enums/FilterOption';
|
|
5
|
+
import ContactGroupFilterValueField from './contact-group-filter-value-field.vue';
|
|
6
|
+
import ContactGroupFilterValuePreview from './contact-group-filter-value-preview.vue';
|
|
7
|
+
|
|
8
|
+
class ContactGroupFilterConfig extends WtSysTypeFilterConfig {
|
|
9
|
+
readonly name = FilterOption.ContactGroup;
|
|
10
|
+
valueInputComponent = ContactGroupFilterValueField;
|
|
11
|
+
valuePreviewComponent = ContactGroupFilterValuePreview;
|
|
12
|
+
hideUnassigned?: boolean;
|
|
13
|
+
|
|
14
|
+
constructor(params: { hideUnassigned?: boolean } = {}) {
|
|
15
|
+
super(params);
|
|
16
|
+
if ('hideUnassigned' in params) {
|
|
17
|
+
this.hideUnassigned = params.hideUnassigned;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
searchRecords(
|
|
22
|
+
params: object,
|
|
23
|
+
{ filterValue } = {},
|
|
24
|
+
): Promise<{ items: unknown[]; next?: boolean }> {
|
|
25
|
+
const id = params.id?.list?.length ? params.id?.list : (params.id || filterValue?.list);
|
|
26
|
+
// params.id?.list /* general logic from dynamic-filter-preview.vue*/
|
|
27
|
+
// params.id /* wt-select options loadings */
|
|
28
|
+
// filterValue?.list; /* newest and coolest, but not implemented on all filters 🥲 */
|
|
29
|
+
|
|
30
|
+
return contactGroups.getLookup({
|
|
31
|
+
...params,
|
|
32
|
+
id,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export const createContactGroupFilterConfig = (params) =>
|
|
38
|
+
new ContactGroupFilterConfig(params);
|
|
39
|
+
|
|
40
|
+
export interface IContactGroupFilterConfig extends IWtSysTypeFilterConfig {
|
|
41
|
+
hideUnassigned?: boolean;
|
|
42
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<wt-tags-input
|
|
3
|
+
:label="t('webitelUI.filters.filterValue')"
|
|
4
|
+
:search-method="props.filterConfig.searchRecords"
|
|
5
|
+
:v="v$.model"
|
|
6
|
+
:value="model"
|
|
7
|
+
option-label="label"
|
|
8
|
+
track-by="label"
|
|
9
|
+
@input="handleInput"
|
|
10
|
+
/>
|
|
11
|
+
</template>
|
|
12
|
+
|
|
13
|
+
<script lang="ts" setup>
|
|
14
|
+
import { useVuelidate } from '@vuelidate/core';
|
|
15
|
+
import { required } from '@vuelidate/validators';
|
|
16
|
+
import { computed, watch } from 'vue';
|
|
17
|
+
import { useI18n } from 'vue-i18n';
|
|
18
|
+
|
|
19
|
+
import {WtSysTypeFilterConfig} from "../../classes/FilterConfig";
|
|
20
|
+
|
|
21
|
+
const props = defineProps<{
|
|
22
|
+
filterConfig: WtSysTypeFilterConfig;
|
|
23
|
+
}>();
|
|
24
|
+
|
|
25
|
+
type ModelValue = number[];
|
|
26
|
+
|
|
27
|
+
const model = defineModel<ModelValue>();
|
|
28
|
+
|
|
29
|
+
const emit = defineEmits<{
|
|
30
|
+
'update:invalid': [boolean];
|
|
31
|
+
}>();
|
|
32
|
+
const { t } = useI18n();
|
|
33
|
+
|
|
34
|
+
const v$ = useVuelidate(
|
|
35
|
+
computed(() => ({
|
|
36
|
+
model: {
|
|
37
|
+
required,
|
|
38
|
+
},
|
|
39
|
+
})),
|
|
40
|
+
{ model },
|
|
41
|
+
{ $autoDirty: true },
|
|
42
|
+
);
|
|
43
|
+
v$.value.$touch();
|
|
44
|
+
|
|
45
|
+
watch(
|
|
46
|
+
() => v$.value.$invalid,
|
|
47
|
+
(invalid) => {
|
|
48
|
+
emit('update:invalid', invalid);
|
|
49
|
+
},
|
|
50
|
+
{ immediate: true },
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
const handleInput = (value: ModelValue) => {
|
|
54
|
+
model.value = value;
|
|
55
|
+
};
|
|
56
|
+
</script>
|
|
57
|
+
|
|
58
|
+
<style scoped></style>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<ul v-if="value">
|
|
3
|
+
<li
|
|
4
|
+
v-for="({ label }, index) of value"
|
|
5
|
+
:key="index"
|
|
6
|
+
>
|
|
7
|
+
{{ label }}
|
|
8
|
+
</li>
|
|
9
|
+
</ul>
|
|
10
|
+
</template>
|
|
11
|
+
|
|
12
|
+
<script lang="ts" setup>
|
|
13
|
+
const props = defineProps<{
|
|
14
|
+
/**
|
|
15
|
+
* would be great to use generated type for this
|
|
16
|
+
* */
|
|
17
|
+
value: Record<string, unknown>[];
|
|
18
|
+
}>();
|
|
19
|
+
|
|
20
|
+
</script>
|
|
21
|
+
|
|
22
|
+
<style scoped></style>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { labels as contactLabels } from '@webitel/ui-sdk/api/clients/index';
|
|
2
|
+
|
|
3
|
+
import { WtSysTypeFilterConfig } from '../../classes/FilterConfig';
|
|
4
|
+
import { FilterOption } from '../../enums/FilterOption';
|
|
5
|
+
import ContactLabelFilterValueField from './contact-label-filter-value-field.vue';
|
|
6
|
+
import ContactLabelFilterValuePreview from './contact-label-filter-value-preview.vue';
|
|
7
|
+
|
|
8
|
+
class ContactLabelFilterConfig extends WtSysTypeFilterConfig {
|
|
9
|
+
readonly name = FilterOption.ContactLabel;
|
|
10
|
+
valueInputComponent = ContactLabelFilterValueField;
|
|
11
|
+
valuePreviewComponent = ContactLabelFilterValuePreview;
|
|
12
|
+
|
|
13
|
+
searchRecords(
|
|
14
|
+
params: object,
|
|
15
|
+
{ filterValue } = {},
|
|
16
|
+
): Promise<{ items: unknown[]; next?: boolean }> {
|
|
17
|
+
|
|
18
|
+
// @author @Lera24
|
|
19
|
+
// [WTEl-6410](https://webitel.atlassian.net/browse/WTEL-6410)
|
|
20
|
+
// For label preview component no need to call the API, so we return filterValue back to the searchRecords method and display it
|
|
21
|
+
|
|
22
|
+
if (filterValue) return { items: filterValue }
|
|
23
|
+
|
|
24
|
+
return contactLabels.getLookup(params);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export const createContactLabelFilterConfig = (params) =>
|
|
29
|
+
new ContactLabelFilterConfig(params);
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<wt-select
|
|
3
|
+
:close-on-select="false"
|
|
4
|
+
:label="t('webitelUI.filters.filterValue')"
|
|
5
|
+
:search-method="props.filterConfig.searchRecords"
|
|
6
|
+
:v="v$.model"
|
|
7
|
+
:value="model"
|
|
8
|
+
multiple
|
|
9
|
+
use-value-from-options-by-prop="id"
|
|
10
|
+
@input="handleInput"
|
|
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, watch } from 'vue';
|
|
19
|
+
import { useI18n } from 'vue-i18n';
|
|
20
|
+
|
|
21
|
+
import {WtSysTypeFilterConfig} from "../../classes/FilterConfig";
|
|
22
|
+
|
|
23
|
+
const props = defineProps<{
|
|
24
|
+
filterConfig: WtSysTypeFilterConfig;
|
|
25
|
+
}>();
|
|
26
|
+
|
|
27
|
+
type ModelValue = number[];
|
|
28
|
+
|
|
29
|
+
const model = defineModel<ModelValue>();
|
|
30
|
+
|
|
31
|
+
const emit = defineEmits<{
|
|
32
|
+
'update:invalid': [boolean];
|
|
33
|
+
}>();
|
|
34
|
+
const { t } = useI18n();
|
|
35
|
+
|
|
36
|
+
const v$ = useVuelidate(
|
|
37
|
+
computed(() => ({
|
|
38
|
+
model: {
|
|
39
|
+
required,
|
|
40
|
+
},
|
|
41
|
+
})),
|
|
42
|
+
{ model },
|
|
43
|
+
{ $autoDirty: true },
|
|
44
|
+
);
|
|
45
|
+
v$.value.$touch();
|
|
46
|
+
|
|
47
|
+
watch(
|
|
48
|
+
() => v$.value.$invalid,
|
|
49
|
+
(invalid) => {
|
|
50
|
+
emit('update:invalid', invalid);
|
|
51
|
+
},
|
|
52
|
+
{ immediate: true },
|
|
53
|
+
);
|
|
54
|
+
|
|
55
|
+
const handleInput = (value: ModelValue) => {
|
|
56
|
+
model.value = value;
|
|
57
|
+
};
|
|
58
|
+
</script>
|
|
59
|
+
|
|
60
|
+
<style scoped></style>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<lookup-filter-value-preview v-bind="props" />
|
|
3
|
+
</template>
|
|
4
|
+
|
|
5
|
+
<script lang="ts" setup>
|
|
6
|
+
import LookupFilterValuePreview from '../_shared/lookup-filter-preview/lookup-filter-value-preview.vue';
|
|
7
|
+
|
|
8
|
+
const props = defineProps<{
|
|
9
|
+
/**
|
|
10
|
+
* would be great to use generated type for this
|
|
11
|
+
* */
|
|
12
|
+
value: Record<string, unknown>[];
|
|
13
|
+
}>();
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<style scoped></style>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { users as UsersAPI } from '@webitel/ui-sdk/api/clients/index';
|
|
2
|
+
|
|
3
|
+
import { WtSysTypeFilterConfig } from '../../classes/FilterConfig';
|
|
4
|
+
import { FilterOption } from '../../enums/FilterOption';
|
|
5
|
+
import ContactOwnerFilterValueField from './contact-owner-filter-value-field.vue';
|
|
6
|
+
import ContactOwnerFilterValuePreview from './contact-owner-filter-value-preview.vue';
|
|
7
|
+
|
|
8
|
+
class ContactOwnerFilterConfig extends WtSysTypeFilterConfig {
|
|
9
|
+
readonly name = FilterOption.ContactOwner;
|
|
10
|
+
valueInputComponent = ContactOwnerFilterValueField;
|
|
11
|
+
valuePreviewComponent = ContactOwnerFilterValuePreview;
|
|
12
|
+
|
|
13
|
+
searchRecords(
|
|
14
|
+
params: object
|
|
15
|
+
): Promise<{ items: unknown[]; next?: boolean }> {
|
|
16
|
+
return UsersAPI.getLookup(params);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export const createContactOwnerFilterConfig = (params) =>
|
|
21
|
+
new ContactOwnerFilterConfig(params);
|
package/src/modules/filters/modules/filterConfig/components/has-user/has-user-filter-value-field.vue
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<has-option-filter-value-field
|
|
3
|
+
:model-value="model"
|
|
4
|
+
:v="v$.model"
|
|
5
|
+
@update:model-value="model = $event"
|
|
6
|
+
/>
|
|
7
|
+
</template>
|
|
8
|
+
|
|
9
|
+
<script lang="ts" setup>
|
|
10
|
+
import { watch } from 'vue';
|
|
11
|
+
|
|
12
|
+
import { useBooleanFilterValueValidation } from '../../composables/booleanFilterToolkit';
|
|
13
|
+
import HasOptionFilterValueField from '../_shared/has-options/has-option-filter-value-field.vue';
|
|
14
|
+
import {BooleanFilterModelValue} from "../../enums/options/BooleanFilterOptions";
|
|
15
|
+
|
|
16
|
+
const model = defineModel<BooleanFilterModelValue>();
|
|
17
|
+
|
|
18
|
+
const { v$ } = useBooleanFilterValueValidation<BooleanFilterModelValue>(model);
|
|
19
|
+
|
|
20
|
+
const emit = defineEmits<{
|
|
21
|
+
'update:invalid': [boolean];
|
|
22
|
+
}>();
|
|
23
|
+
|
|
24
|
+
watch(
|
|
25
|
+
() => v$.value.$invalid,
|
|
26
|
+
(invalid) => {
|
|
27
|
+
emit('update:invalid', invalid);
|
|
28
|
+
},
|
|
29
|
+
{ immediate: true },
|
|
30
|
+
);
|
|
31
|
+
</script>
|
|
32
|
+
|
|
33
|
+
<style scoped></style>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div>{{ localeValue }}</div>
|
|
3
|
+
</template>
|
|
4
|
+
|
|
5
|
+
<script lang="ts" setup>
|
|
6
|
+
import { usePrettifyBooleanValuePreview } from '../../composables/booleanFilterToolkit';
|
|
7
|
+
|
|
8
|
+
const props = defineProps<{
|
|
9
|
+
value: boolean;
|
|
10
|
+
}>();
|
|
11
|
+
|
|
12
|
+
const { localeValue } = usePrettifyBooleanValuePreview(props.value);
|
|
13
|
+
</script>
|
|
14
|
+
|
|
15
|
+
<style scoped></style>
|
|
@@ -54,7 +54,6 @@ import { caseStatusConditionsSearchMethod } from './case-status/config';
|
|
|
54
54
|
import { searchMethod as contactSearchMethod } from './contact/config';
|
|
55
55
|
import ContactFilter from './contact/contact-filter-value-field.vue';
|
|
56
56
|
import ContactFilterPreview from './contact/contact-filter-value-preview.vue';
|
|
57
|
-
import { searchMethod as contactGroupSearchMethod } from './contact-group/config';
|
|
58
57
|
import ContactGroupFilter from './contact-group/contact-group-filter-value-field.vue';
|
|
59
58
|
import ContactGroupFilterPreview from './contact-group/contact-group-filter-value-preview.vue';
|
|
60
59
|
import CreatedAtFilterValueField from './created-at/created-at-filter-value-field.vue';
|
|
@@ -75,6 +74,15 @@ import HasRatingFilterValueField from './has-rating/has-rating-filter-value-fiel
|
|
|
75
74
|
import HasRatingFilterValuePreview from './has-rating/has-rating-filter-value-preview.vue';
|
|
76
75
|
import HasTranscriptionFilter from './has-transcription/has-transcription-filter-value-field.vue';
|
|
77
76
|
import HasTranscriptionFilterPreview from './has-transcription/has-transcription-filter-value-preview.vue';
|
|
77
|
+
import HasUserFilter from './has-user/has-user-filter-value-field.vue';
|
|
78
|
+
import HasUserFilterPreview from './has-user/has-user-filter-value-preview.vue';
|
|
79
|
+
import ContactLabelFilter from './contact-label/contact-label-filter-value-field.vue';
|
|
80
|
+
import ContactLabelFilterPreview from './contact-label/contact-label-filter-value-preview.vue';
|
|
81
|
+
import { createContactLabelFilterConfig } from './contact-label';
|
|
82
|
+
import { createContactOwnerFilterConfig } from './contact-owner'
|
|
83
|
+
import { createContactGroupFilterConfig } from './contact-group';
|
|
84
|
+
import ContactOwnerFilter from "./contact-owner/contact-owner-filter-value-field.vue";
|
|
85
|
+
import ContactOwnerFilterPreview from "./contact-owner/contact-owner-filter-value-preview.vue";
|
|
78
86
|
import { searchMethod as queueSearchMethod } from './queue/config';
|
|
79
87
|
import QueueFilter from './queue/queue-filter-value-field.vue';
|
|
80
88
|
import QueueFilterPreview from './queue/queue-filter-value-preview.vue';
|
|
@@ -154,6 +162,12 @@ export {
|
|
|
154
162
|
HasRatingFilterValuePreview,
|
|
155
163
|
HasTranscriptionFilter,
|
|
156
164
|
HasTranscriptionFilterPreview,
|
|
165
|
+
HasUserFilter,
|
|
166
|
+
HasUserFilterPreview,
|
|
167
|
+
ContactLabelFilter,
|
|
168
|
+
ContactLabelFilterPreview,
|
|
169
|
+
ContactOwnerFilter,
|
|
170
|
+
ContactOwnerFilterPreview,
|
|
157
171
|
QueueFilter,
|
|
158
172
|
QueueFilterPreview,
|
|
159
173
|
RatedByFilter,
|
|
@@ -197,6 +211,7 @@ export const FilterOptionToValueComponentMap: Record<
|
|
|
197
211
|
[FilterOption.Team]: TeamFilter,
|
|
198
212
|
[FilterOption.TotalDuration]: TotalDurationFilter,
|
|
199
213
|
[FilterOption.HasTranscription]: HasTranscriptionFilter,
|
|
214
|
+
[FilterOption.HasUser]: HasUserFilter,
|
|
200
215
|
[FilterOption.User]: UserFilter,
|
|
201
216
|
[FilterOption.Variable]: VariableFilter,
|
|
202
217
|
[FilterOption.CreatedAt]: CreatedAtFilterValueField,
|
|
@@ -206,7 +221,6 @@ export const FilterOptionToValueComponentMap: Record<
|
|
|
206
221
|
[FilterOption.CaseAuthor]: CaseAuthorFilterValueField,
|
|
207
222
|
[FilterOption.CaseReporter]: CaseReporterFilterValueField,
|
|
208
223
|
[FilterOption.CaseImpacted]: CaseImpactedFilterValueField,
|
|
209
|
-
[FilterOption.ContactGroup]: ContactGroupFilter,
|
|
210
224
|
[FilterOption.CasePriority]: CasePriorityFilterValueField,
|
|
211
225
|
[FilterOption.CaseCloseReasonGroups]: CaseCloseReasonGroupsFilterValueField,
|
|
212
226
|
[FilterOption.Rating]: RatingFromToFilter,
|
|
@@ -242,6 +256,7 @@ export const FilterOptionToPreviewComponentMap: Record<
|
|
|
242
256
|
[FilterOption.Team]: TeamFilterPreview,
|
|
243
257
|
[FilterOption.TotalDuration]: TotalDurationFilterPreview,
|
|
244
258
|
[FilterOption.HasTranscription]: HasTranscriptionFilterPreview,
|
|
259
|
+
[FilterOption.HasUser]: HasUserFilterPreview,
|
|
245
260
|
[FilterOption.User]: UserFilterPreview,
|
|
246
261
|
[FilterOption.Variable]: VariableFilterPreview,
|
|
247
262
|
[FilterOption.CaseStatus]: CaseStatusFilterValuePreview,
|
|
@@ -250,7 +265,6 @@ export const FilterOptionToPreviewComponentMap: Record<
|
|
|
250
265
|
[FilterOption.CaseAuthor]: CaseAuthorFilterValuePreview,
|
|
251
266
|
[FilterOption.CaseReporter]: CaseReporterFilterValuePreview,
|
|
252
267
|
[FilterOption.CaseImpacted]: CaseImpactedFilterValuePreview,
|
|
253
|
-
[FilterOption.ContactGroup]: ContactGroupFilterPreview,
|
|
254
268
|
[FilterOption.CasePriority]: CasePriorityFilterValuePreview,
|
|
255
269
|
[FilterOption.CaseCloseReasonGroups]: CaseCloseReasonGroupsFilterValuePreview,
|
|
256
270
|
[FilterOption.Rating]: RatingFromToFilterPreview,
|
|
@@ -284,12 +298,6 @@ export const FilterOptionToPreviewApiSearchMethodMap: Record<
|
|
|
284
298
|
id: value?.conditions,
|
|
285
299
|
}),
|
|
286
300
|
[FilterOption.User]: userSearchMethod,
|
|
287
|
-
[FilterOption.ContactGroup]: ({ id: value }, ...rest) => {
|
|
288
|
-
return contactGroupSearchMethod({
|
|
289
|
-
id: value.list,
|
|
290
|
-
...rest,
|
|
291
|
-
});
|
|
292
|
-
},
|
|
293
301
|
[FilterOption.CaseAuthor]: caseAuthorSearchMethod,
|
|
294
302
|
[FilterOption.CasePriority]: casePrioritySearchMethod,
|
|
295
303
|
[FilterOption.CaseImpacted]: caseImpactedSearchMethod,
|
|
@@ -313,4 +321,7 @@ export const FilterOptionToPreviewApiSearchMethodMap: Record<
|
|
|
313
321
|
|
|
314
322
|
export const FilterOptionToFilterConfigCreatorMap = {
|
|
315
323
|
[FilterOption.CaseAssignee]: createCaseAssigneeFilterConfig,
|
|
324
|
+
[FilterOption.ContactLabel]: createContactLabelFilterConfig,
|
|
325
|
+
[FilterOption.ContactOwner]: createContactOwnerFilterConfig,
|
|
326
|
+
[FilterOption.ContactGroup]: createContactGroupFilterConfig,
|
|
316
327
|
};
|
|
@@ -27,6 +27,8 @@ export const FilterOption = {
|
|
|
27
27
|
CaseImpacted: 'impacted',
|
|
28
28
|
CaseAssignee: 'assignee',
|
|
29
29
|
ContactGroup: 'contactGroup',
|
|
30
|
+
ContactLabel: 'contactLabel',
|
|
31
|
+
ContactOwner: 'contactOwner',
|
|
30
32
|
CasePriority: 'priority',
|
|
31
33
|
CaseCloseReasonGroups: 'closeReasonGroups',
|
|
32
34
|
Rating: 'rating',
|
|
@@ -37,6 +39,7 @@ export const FilterOption = {
|
|
|
37
39
|
CaseActualReactionTime: 'actualReactionTime',
|
|
38
40
|
CaseActualResolutionTime: 'actualResolutionTime',
|
|
39
41
|
HasAttachment: 'hasAttachment',
|
|
42
|
+
HasUser: 'hasUser',
|
|
40
43
|
} as const;
|
|
41
44
|
|
|
42
45
|
/**
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
import { IContactGroupFilterConfig } from './index';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
filterConfig: IContactGroupFilterConfig;
|
|
4
|
+
};
|
|
1
5
|
type ModelValue = {
|
|
2
6
|
list: string[];
|
|
3
7
|
unassigned: boolean;
|
|
4
8
|
};
|
|
5
|
-
type __VLS_PublicProps = {
|
|
9
|
+
type __VLS_PublicProps = __VLS_Props & {
|
|
6
10
|
modelValue?: ModelValue;
|
|
7
11
|
};
|
|
8
12
|
declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
@@ -11,5 +15,5 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {}, {},
|
|
|
11
15
|
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
12
16
|
"onUpdate:modelValue"?: (value: ModelValue) => any;
|
|
13
17
|
"onUpdate:invalid"?: (args_0: boolean) => any;
|
|
14
|
-
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions,
|
|
18
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
15
19
|
export default _default;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { WtSysTypeFilterConfig, IWtSysTypeFilterConfig } from '../../classes/FilterConfig';
|
|
2
|
+
declare class ContactGroupFilterConfig extends WtSysTypeFilterConfig {
|
|
3
|
+
readonly name: "contactGroup";
|
|
4
|
+
valueInputComponent: import("vue").DefineComponent<{
|
|
5
|
+
filterConfig: IContactGroupFilterConfig;
|
|
6
|
+
} & {
|
|
7
|
+
modelValue?: {
|
|
8
|
+
list: string[];
|
|
9
|
+
unassigned: boolean;
|
|
10
|
+
};
|
|
11
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
12
|
+
"update:modelValue": (value: {
|
|
13
|
+
list: string[];
|
|
14
|
+
unassigned: boolean;
|
|
15
|
+
}) => any;
|
|
16
|
+
"update:invalid": (args_0: boolean) => any;
|
|
17
|
+
}, string, import("vue").PublicProps, Readonly<{
|
|
18
|
+
filterConfig: IContactGroupFilterConfig;
|
|
19
|
+
} & {
|
|
20
|
+
modelValue?: {
|
|
21
|
+
list: string[];
|
|
22
|
+
unassigned: boolean;
|
|
23
|
+
};
|
|
24
|
+
}> & Readonly<{
|
|
25
|
+
"onUpdate:modelValue"?: (value: {
|
|
26
|
+
list: string[];
|
|
27
|
+
unassigned: boolean;
|
|
28
|
+
}) => any;
|
|
29
|
+
"onUpdate:invalid"?: (args_0: boolean) => any;
|
|
30
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
31
|
+
valuePreviewComponent: import("vue").DefineComponent<{
|
|
32
|
+
value: import("webitel-sdk").WebitelContactsContact[];
|
|
33
|
+
filter: import("../../../..").IFilter;
|
|
34
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
|
|
35
|
+
value: import("webitel-sdk").WebitelContactsContact[];
|
|
36
|
+
filter: import("../../../..").IFilter;
|
|
37
|
+
}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
38
|
+
hideUnassigned?: boolean;
|
|
39
|
+
constructor(params?: {
|
|
40
|
+
hideUnassigned?: boolean;
|
|
41
|
+
});
|
|
42
|
+
searchRecords(params: object, { filterValue }?: {}): Promise<{
|
|
43
|
+
items: unknown[];
|
|
44
|
+
next?: boolean;
|
|
45
|
+
}>;
|
|
46
|
+
}
|
|
47
|
+
export declare const createContactGroupFilterConfig: (params: any) => ContactGroupFilterConfig;
|
|
48
|
+
export interface IContactGroupFilterConfig extends IWtSysTypeFilterConfig {
|
|
49
|
+
hideUnassigned?: boolean;
|
|
50
|
+
}
|
|
51
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { WtSysTypeFilterConfig } from "../../classes/FilterConfig";
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
filterConfig: WtSysTypeFilterConfig;
|
|
4
|
+
};
|
|
5
|
+
type ModelValue = number[];
|
|
6
|
+
type __VLS_PublicProps = __VLS_Props & {
|
|
7
|
+
modelValue?: ModelValue;
|
|
8
|
+
};
|
|
9
|
+
declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
10
|
+
"update:modelValue": (value: ModelValue) => any;
|
|
11
|
+
"update:invalid": (args_0: boolean) => any;
|
|
12
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
13
|
+
"onUpdate:modelValue"?: (value: ModelValue) => any;
|
|
14
|
+
"onUpdate:invalid"?: (args_0: boolean) => any;
|
|
15
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
16
|
+
export default _default;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
/**
|
|
3
|
+
* would be great to use generated type for this
|
|
4
|
+
* */
|
|
5
|
+
value: Record<string, unknown>[];
|
|
6
|
+
};
|
|
7
|
+
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>;
|
|
8
|
+
export default _default;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { WtSysTypeFilterConfig } from '../../classes/FilterConfig';
|
|
2
|
+
declare class ContactLabelFilterConfig extends WtSysTypeFilterConfig {
|
|
3
|
+
readonly name: "contactLabel";
|
|
4
|
+
valueInputComponent: import("vue").DefineComponent<{
|
|
5
|
+
filterConfig: WtSysTypeFilterConfig;
|
|
6
|
+
} & {
|
|
7
|
+
modelValue?: number[];
|
|
8
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
9
|
+
"update:modelValue": (value: number[]) => any;
|
|
10
|
+
"update:invalid": (args_0: boolean) => any;
|
|
11
|
+
}, string, import("vue").PublicProps, Readonly<{
|
|
12
|
+
filterConfig: WtSysTypeFilterConfig;
|
|
13
|
+
} & {
|
|
14
|
+
modelValue?: number[];
|
|
15
|
+
}> & Readonly<{
|
|
16
|
+
"onUpdate:modelValue"?: (value: number[]) => any;
|
|
17
|
+
"onUpdate:invalid"?: (args_0: boolean) => any;
|
|
18
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
19
|
+
valuePreviewComponent: import("vue").DefineComponent<{
|
|
20
|
+
value: Record<string, unknown>[];
|
|
21
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
|
|
22
|
+
value: Record<string, unknown>[];
|
|
23
|
+
}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
24
|
+
searchRecords(params: object, { filterValue }?: {}): Promise<{
|
|
25
|
+
items: unknown[];
|
|
26
|
+
next?: boolean;
|
|
27
|
+
}>;
|
|
28
|
+
}
|
|
29
|
+
export declare const createContactLabelFilterConfig: (params: any) => ContactLabelFilterConfig;
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { WtSysTypeFilterConfig } from "../../classes/FilterConfig";
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
filterConfig: WtSysTypeFilterConfig;
|
|
4
|
+
};
|
|
5
|
+
type ModelValue = number[];
|
|
6
|
+
type __VLS_PublicProps = __VLS_Props & {
|
|
7
|
+
modelValue?: ModelValue;
|
|
8
|
+
};
|
|
9
|
+
declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
10
|
+
"update:modelValue": (value: ModelValue) => any;
|
|
11
|
+
"update:invalid": (args_0: boolean) => any;
|
|
12
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
13
|
+
"onUpdate:modelValue"?: (value: ModelValue) => any;
|
|
14
|
+
"onUpdate:invalid"?: (args_0: boolean) => any;
|
|
15
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
16
|
+
export default _default;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
/**
|
|
3
|
+
* would be great to use generated type for this
|
|
4
|
+
* */
|
|
5
|
+
value: Record<string, unknown>[];
|
|
6
|
+
};
|
|
7
|
+
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>;
|
|
8
|
+
export default _default;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { WtSysTypeFilterConfig } from '../../classes/FilterConfig';
|
|
2
|
+
declare class ContactOwnerFilterConfig extends WtSysTypeFilterConfig {
|
|
3
|
+
readonly name: "contactOwner";
|
|
4
|
+
valueInputComponent: import("vue").DefineComponent<{
|
|
5
|
+
filterConfig: WtSysTypeFilterConfig;
|
|
6
|
+
} & {
|
|
7
|
+
modelValue?: number[];
|
|
8
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
9
|
+
"update:modelValue": (value: number[]) => any;
|
|
10
|
+
"update:invalid": (args_0: boolean) => any;
|
|
11
|
+
}, string, import("vue").PublicProps, Readonly<{
|
|
12
|
+
filterConfig: WtSysTypeFilterConfig;
|
|
13
|
+
} & {
|
|
14
|
+
modelValue?: number[];
|
|
15
|
+
}> & Readonly<{
|
|
16
|
+
"onUpdate:modelValue"?: (value: number[]) => any;
|
|
17
|
+
"onUpdate:invalid"?: (args_0: boolean) => any;
|
|
18
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
19
|
+
valuePreviewComponent: import("vue").DefineComponent<{
|
|
20
|
+
value: Record<string, unknown>[];
|
|
21
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
|
|
22
|
+
value: Record<string, unknown>[];
|
|
23
|
+
}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
24
|
+
searchRecords(params: object): Promise<{
|
|
25
|
+
items: unknown[];
|
|
26
|
+
next?: boolean;
|
|
27
|
+
}>;
|
|
28
|
+
}
|
|
29
|
+
export declare const createContactOwnerFilterConfig: (params: any) => ContactOwnerFilterConfig;
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BooleanFilterModelValue } from "../../enums/options/BooleanFilterOptions";
|
|
2
|
+
type __VLS_PublicProps = {
|
|
3
|
+
modelValue?: BooleanFilterModelValue;
|
|
4
|
+
};
|
|
5
|
+
declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
6
|
+
"update:modelValue": (value: boolean) => any;
|
|
7
|
+
"update:invalid": (args_0: boolean) => any;
|
|
8
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
9
|
+
"onUpdate:modelValue"?: (value: boolean) => any;
|
|
10
|
+
"onUpdate:invalid"?: (args_0: boolean) => any;
|
|
11
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
12
|
+
export default _default;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
value: boolean;
|
|
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;
|
|
@@ -53,6 +53,12 @@ import HasRatingFilterValueField from './has-rating/has-rating-filter-value-fiel
|
|
|
53
53
|
import HasRatingFilterValuePreview from './has-rating/has-rating-filter-value-preview.vue';
|
|
54
54
|
import HasTranscriptionFilter from './has-transcription/has-transcription-filter-value-field.vue';
|
|
55
55
|
import HasTranscriptionFilterPreview from './has-transcription/has-transcription-filter-value-preview.vue';
|
|
56
|
+
import HasUserFilter from './has-user/has-user-filter-value-field.vue';
|
|
57
|
+
import HasUserFilterPreview from './has-user/has-user-filter-value-preview.vue';
|
|
58
|
+
import ContactLabelFilter from './contact-label/contact-label-filter-value-field.vue';
|
|
59
|
+
import ContactLabelFilterPreview from './contact-label/contact-label-filter-value-preview.vue';
|
|
60
|
+
import ContactOwnerFilter from "./contact-owner/contact-owner-filter-value-field.vue";
|
|
61
|
+
import ContactOwnerFilterPreview from "./contact-owner/contact-owner-filter-value-preview.vue";
|
|
56
62
|
import QueueFilter from './queue/queue-filter-value-field.vue';
|
|
57
63
|
import QueueFilterPreview from './queue/queue-filter-value-preview.vue';
|
|
58
64
|
import RatedByFilter from './rated-by/rated-by-filter-value-field.vue';
|
|
@@ -73,7 +79,7 @@ import UserFilter from './user/user-filter-value-field.vue';
|
|
|
73
79
|
import UserFilterPreview from './user/user-filter-value-preview.vue';
|
|
74
80
|
import VariableFilter from './variable/variable-filter-value-field.vue';
|
|
75
81
|
import VariableFilterPreview from './variable/variable-filter-value-preview.vue';
|
|
76
|
-
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, CreatedAtFilterValueField, GatewayFilter, GatewayFilterPreview, GranteeFilter, GranteeFilterPreview, HangupCauseFilterValueField, HangupCauseFilterValuePreview, HasAttachmentFilter, HasAttachmentFilterPreview, HasFileFilter, HasFileFilterPreview, HasRatingFilterValueField, HasRatingFilterValuePreview, HasTranscriptionFilter, HasTranscriptionFilterPreview, QueueFilter, QueueFilterPreview, RatedByFilter, RatedByFilterPreview, RatingFromToFilter, RatingFromToFilterPreview, ScoreFilter, ScoreFilterPreview, TagFilter, TagFilterPreview, TalkDurationFilter, TalkDurationFilterPreview, TeamFilter, TeamFilterPreview, TotalDurationFilter, TotalDurationFilterPreview, UserFilter, UserFilterPreview, VariableFilter, VariableFilterPreview, };
|
|
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, CreatedAtFilterValueField, GatewayFilter, GatewayFilterPreview, GranteeFilter, GranteeFilterPreview, HangupCauseFilterValueField, HangupCauseFilterValuePreview, HasAttachmentFilter, HasAttachmentFilterPreview, HasFileFilter, HasFileFilterPreview, HasRatingFilterValueField, HasRatingFilterValuePreview, HasTranscriptionFilter, HasTranscriptionFilterPreview, HasUserFilter, HasUserFilterPreview, ContactLabelFilter, ContactLabelFilterPreview, ContactOwnerFilter, ContactOwnerFilterPreview, QueueFilter, QueueFilterPreview, RatedByFilter, RatedByFilterPreview, RatingFromToFilter, RatingFromToFilterPreview, ScoreFilter, ScoreFilterPreview, TagFilter, TagFilterPreview, TalkDurationFilter, TalkDurationFilterPreview, TeamFilter, TeamFilterPreview, TotalDurationFilter, TotalDurationFilterPreview, UserFilter, UserFilterPreview, VariableFilter, VariableFilterPreview, };
|
|
77
83
|
export declare const FilterOptionToValueComponentMap: Record<FilterOptionName, Component>;
|
|
78
84
|
export declare const FilterOptionToPreviewComponentMap: Record<FilterOptionName, Component>;
|
|
79
85
|
export declare const FilterOptionToPreviewApiSearchMethodMap: Record<FilterOptionName, (unknown: any) => {
|
|
@@ -81,4 +87,106 @@ export declare const FilterOptionToPreviewApiSearchMethodMap: Record<FilterOptio
|
|
|
81
87
|
}>;
|
|
82
88
|
export declare const FilterOptionToFilterConfigCreatorMap: {
|
|
83
89
|
assignee: (params: any) => import("./case-assignee").CaseAssigneeFilterConfig;
|
|
90
|
+
contactLabel: (params: any) => {
|
|
91
|
+
readonly name: "contactLabel";
|
|
92
|
+
valueInputComponent: import("vue").DefineComponent<{
|
|
93
|
+
filterConfig: import("..").WtSysTypeFilterConfig;
|
|
94
|
+
} & {
|
|
95
|
+
modelValue?: number[];
|
|
96
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
97
|
+
"update:modelValue": (value: number[]) => any;
|
|
98
|
+
"update:invalid": (args_0: boolean) => any;
|
|
99
|
+
}, string, import("vue").PublicProps, Readonly<{
|
|
100
|
+
filterConfig: import("..").WtSysTypeFilterConfig;
|
|
101
|
+
} & {
|
|
102
|
+
modelValue?: number[];
|
|
103
|
+
}> & Readonly<{
|
|
104
|
+
"onUpdate:modelValue"?: (value: number[]) => any;
|
|
105
|
+
"onUpdate:invalid"?: (args_0: boolean) => any;
|
|
106
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
107
|
+
valuePreviewComponent: import("vue").DefineComponent<{
|
|
108
|
+
value: Record<string, unknown>[];
|
|
109
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
|
|
110
|
+
value: Record<string, unknown>[];
|
|
111
|
+
}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
112
|
+
searchRecords(params: object, { filterValue }?: {}): Promise<{
|
|
113
|
+
items: unknown[];
|
|
114
|
+
next?: boolean;
|
|
115
|
+
}>;
|
|
116
|
+
label?: ReturnType<import("vue-i18n").MessageResolver> | string;
|
|
117
|
+
notDeletable: boolean;
|
|
118
|
+
};
|
|
119
|
+
contactOwner: (params: any) => {
|
|
120
|
+
readonly name: "contactOwner";
|
|
121
|
+
valueInputComponent: import("vue").DefineComponent<{
|
|
122
|
+
filterConfig: import("..").WtSysTypeFilterConfig;
|
|
123
|
+
} & {
|
|
124
|
+
modelValue?: number[];
|
|
125
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
126
|
+
"update:modelValue": (value: number[]) => any;
|
|
127
|
+
"update:invalid": (args_0: boolean) => any;
|
|
128
|
+
}, string, import("vue").PublicProps, Readonly<{
|
|
129
|
+
filterConfig: import("..").WtSysTypeFilterConfig;
|
|
130
|
+
} & {
|
|
131
|
+
modelValue?: number[];
|
|
132
|
+
}> & Readonly<{
|
|
133
|
+
"onUpdate:modelValue"?: (value: number[]) => any;
|
|
134
|
+
"onUpdate:invalid"?: (args_0: boolean) => any;
|
|
135
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
136
|
+
valuePreviewComponent: import("vue").DefineComponent<{
|
|
137
|
+
value: Record<string, unknown>[];
|
|
138
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
|
|
139
|
+
value: Record<string, unknown>[];
|
|
140
|
+
}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
141
|
+
searchRecords(params: object): Promise<{
|
|
142
|
+
items: unknown[];
|
|
143
|
+
next?: boolean;
|
|
144
|
+
}>;
|
|
145
|
+
label?: ReturnType<import("vue-i18n").MessageResolver> | string;
|
|
146
|
+
notDeletable: boolean;
|
|
147
|
+
};
|
|
148
|
+
contactGroup: (params: any) => {
|
|
149
|
+
readonly name: "contactGroup";
|
|
150
|
+
valueInputComponent: import("vue").DefineComponent<{
|
|
151
|
+
filterConfig: import("./contact-group").IContactGroupFilterConfig;
|
|
152
|
+
} & {
|
|
153
|
+
modelValue?: {
|
|
154
|
+
list: string[];
|
|
155
|
+
unassigned: boolean;
|
|
156
|
+
};
|
|
157
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
158
|
+
"update:modelValue": (value: {
|
|
159
|
+
list: string[];
|
|
160
|
+
unassigned: boolean;
|
|
161
|
+
}) => any;
|
|
162
|
+
"update:invalid": (args_0: boolean) => any;
|
|
163
|
+
}, string, import("vue").PublicProps, Readonly<{
|
|
164
|
+
filterConfig: import("./contact-group").IContactGroupFilterConfig;
|
|
165
|
+
} & {
|
|
166
|
+
modelValue?: {
|
|
167
|
+
list: string[];
|
|
168
|
+
unassigned: boolean;
|
|
169
|
+
};
|
|
170
|
+
}> & Readonly<{
|
|
171
|
+
"onUpdate:modelValue"?: (value: {
|
|
172
|
+
list: string[];
|
|
173
|
+
unassigned: boolean;
|
|
174
|
+
}) => any;
|
|
175
|
+
"onUpdate:invalid"?: (args_0: boolean) => any;
|
|
176
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
177
|
+
valuePreviewComponent: import("vue").DefineComponent<{
|
|
178
|
+
value: import("webitel-sdk").WebitelContactsContact[];
|
|
179
|
+
filter: import("../../..").IFilter;
|
|
180
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
|
|
181
|
+
value: import("webitel-sdk").WebitelContactsContact[];
|
|
182
|
+
filter: import("../../..").IFilter;
|
|
183
|
+
}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
184
|
+
hideUnassigned?: boolean;
|
|
185
|
+
searchRecords(params: object, { filterValue }?: {}): Promise<{
|
|
186
|
+
items: unknown[];
|
|
187
|
+
next?: boolean;
|
|
188
|
+
}>;
|
|
189
|
+
label?: ReturnType<import("vue-i18n").MessageResolver> | string;
|
|
190
|
+
notDeletable: boolean;
|
|
191
|
+
};
|
|
84
192
|
};
|
|
@@ -27,6 +27,8 @@ export declare const FilterOption: {
|
|
|
27
27
|
readonly CaseImpacted: "impacted";
|
|
28
28
|
readonly CaseAssignee: "assignee";
|
|
29
29
|
readonly ContactGroup: "contactGroup";
|
|
30
|
+
readonly ContactLabel: "contactLabel";
|
|
31
|
+
readonly ContactOwner: "contactOwner";
|
|
30
32
|
readonly CasePriority: "priority";
|
|
31
33
|
readonly CaseCloseReasonGroups: "closeReasonGroups";
|
|
32
34
|
readonly Rating: "rating";
|
|
@@ -37,6 +39,7 @@ export declare const FilterOption: {
|
|
|
37
39
|
readonly CaseActualReactionTime: "actualReactionTime";
|
|
38
40
|
readonly CaseActualResolutionTime: "actualResolutionTime";
|
|
39
41
|
readonly HasAttachment: "hasAttachment";
|
|
42
|
+
readonly HasUser: "hasUser";
|
|
40
43
|
};
|
|
41
44
|
/**
|
|
42
45
|
*
|