@webitel/ui-sdk 23.12.115 → 23.12.117
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
|
@@ -19,39 +19,46 @@ const headers = [{
|
|
|
19
19
|
field: 'online',
|
|
20
20
|
}];
|
|
21
21
|
|
|
22
|
+
const sortedHeaders = [{
|
|
23
|
+
value: 'queue',
|
|
24
|
+
show: true,
|
|
25
|
+
sort: 'asc',
|
|
26
|
+
field: 'queue',
|
|
27
|
+
}, {
|
|
28
|
+
value: 'agents',
|
|
29
|
+
show: true,
|
|
30
|
+
sort: null,
|
|
31
|
+
field: 'online',
|
|
32
|
+
}];
|
|
33
|
+
|
|
22
34
|
describe('Sort filter mixin', () => {
|
|
23
|
-
|
|
35
|
+
const setHeaders = vi.fn();
|
|
24
36
|
const Component = {
|
|
25
37
|
render() {},
|
|
26
38
|
mixins: [sortFilterMixin],
|
|
27
39
|
data: () => ({ headers }),
|
|
40
|
+
methods: { setHeaders },
|
|
28
41
|
};
|
|
29
42
|
|
|
30
43
|
beforeEach(async () => {
|
|
31
44
|
await router.replace('/');
|
|
32
|
-
wrapper = shallowMount(Component, {
|
|
33
|
-
global: { plugins: [router] },
|
|
34
|
-
});
|
|
35
45
|
});
|
|
36
46
|
|
|
47
|
+
|
|
37
48
|
it('Correctly sets value from $route query', async () => {
|
|
38
49
|
await router.replace({ path: '/', query: { sort: '+queue' } });
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
it('After "sort" trigger, header column sort value changes properly', async () => {
|
|
44
|
-
let queue;
|
|
45
|
-
queue = wrapper.vm.headers.find((header) => header.value === 'queue');
|
|
46
|
-
await wrapper.vm.sort(queue);
|
|
47
|
-
queue = wrapper.vm.headers.find((header) => header.value === 'queue');
|
|
48
|
-
expect(queue.sort).toEqual('asc');
|
|
50
|
+
const wrapper = shallowMount(Component, {
|
|
51
|
+
global: { plugins: [router] },
|
|
52
|
+
});
|
|
53
|
+
expect(setHeaders).toHaveBeenCalledWith(sortedHeaders);
|
|
49
54
|
});
|
|
50
55
|
|
|
51
|
-
it('After "sort" trigger,
|
|
52
|
-
|
|
56
|
+
it('After "sort" trigger, header column sort value changes properly', () => {
|
|
57
|
+
const wrapper = shallowMount(Component, {
|
|
58
|
+
global: { plugins: [router] },
|
|
59
|
+
});
|
|
53
60
|
const queue = wrapper.vm.headers.find((header) => header.value === 'queue');
|
|
54
|
-
|
|
55
|
-
expect(
|
|
61
|
+
wrapper.vm.sort(queue);
|
|
62
|
+
expect(setHeaders).toHaveBeenCalledWith(sortedHeaders);
|
|
56
63
|
});
|
|
57
64
|
});
|
|
@@ -53,11 +53,15 @@ export default {
|
|
|
53
53
|
},
|
|
54
54
|
|
|
55
55
|
setValue({ column, order }) {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
56
|
+
const headers = this.headers.map((col) => {
|
|
57
|
+
const sortFieldValue = col?.sort;
|
|
58
|
+
return {
|
|
59
|
+
...col,
|
|
60
|
+
sort: col === column ? order : sortFieldValue,
|
|
61
|
+
}
|
|
62
|
+
});
|
|
60
63
|
const value = encodeSortQuery({ column, order });
|
|
64
|
+
this.setHeaders(headers);
|
|
61
65
|
return this.setValueToQuery({
|
|
62
66
|
value,
|
|
63
67
|
filterQuery: this.filterQuery,
|
|
@@ -66,10 +70,11 @@ export default {
|
|
|
66
70
|
|
|
67
71
|
restoreValue(value) {
|
|
68
72
|
const sortedColumns = decodeSortQuery({ value });
|
|
69
|
-
|
|
73
|
+
const headers = this.headers.map((header) => ({
|
|
70
74
|
...header,
|
|
71
75
|
sort: sortedColumns[header.field] || null,
|
|
72
76
|
}));
|
|
77
|
+
this.setHeaders(headers);
|
|
73
78
|
},
|
|
74
79
|
},
|
|
75
80
|
};
|