@webitel/ui-sdk 24.6.10 → 24.6.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ui-sdk.css +1 -1
- package/dist/{ui-sdk.mjs → ui-sdk.js} +3 -3
- package/dist/{ui-sdk.umd.js → ui-sdk.umd.cjs} +1 -1
- package/package.json +3 -2
- package/src/components/wt-table/wt-table.vue +4 -4
- package/src/modules/Filters/classes/BaseFilterSchema.js +2 -2
- package/src/modules/Filters/components/filter-pagination.vue +4 -6
- package/src/modules/Filters/scripts/setters/querySetter.js +2 -2
- package/src/modules/Filters/scripts/utils/changeRouteQuery.js +2 -0
- package/src/modules/Filters/store/FiltersStoreModule.js +32 -11
- package/src/modules/TableStoreModule/store/TableStoreModule.js +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webitel/ui-sdk",
|
|
3
|
-
"version": "24.6.
|
|
3
|
+
"version": "24.6.11",
|
|
4
4
|
"private": false,
|
|
5
5
|
"scripts": {
|
|
6
6
|
"dev": "vite",
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
"docs:build": "vitepress build docs",
|
|
15
15
|
"docs:preview": "vitepress preview docs"
|
|
16
16
|
},
|
|
17
|
-
"main": "./dist/@webitel/ui-sdk.
|
|
17
|
+
"main": "./dist/@webitel/ui-sdk.mjs",
|
|
18
|
+
"type": "module",
|
|
18
19
|
"files": [
|
|
19
20
|
"dist/*",
|
|
20
21
|
"src/api/*",
|
|
@@ -232,12 +232,12 @@ export default {
|
|
|
232
232
|
});
|
|
233
233
|
}
|
|
234
234
|
},
|
|
235
|
-
handleSelection(row,
|
|
235
|
+
handleSelection(row, select) {
|
|
236
236
|
if (this.selected) {
|
|
237
|
-
if (
|
|
238
|
-
this.$emit('update:selected', this._selected.filter((item) => item !== row));
|
|
239
|
-
} else {
|
|
237
|
+
if (select) {
|
|
240
238
|
this.$emit('update:selected', [...this._selected, row]);
|
|
239
|
+
} else {
|
|
240
|
+
this.$emit('update:selected', this._selected.filter((item) => item !== row));
|
|
241
241
|
}
|
|
242
242
|
} else {
|
|
243
243
|
// for backwards compatibility
|
|
@@ -31,9 +31,9 @@ const convertGetterArray = (context) => (getters) => {
|
|
|
31
31
|
if (value) return value;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
console.
|
|
34
|
+
// console.info(`No value found for ${context.name} filter!`);
|
|
35
35
|
|
|
36
|
-
return
|
|
36
|
+
return null;
|
|
37
37
|
};
|
|
38
38
|
|
|
39
39
|
return getter;
|
|
@@ -7,14 +7,13 @@
|
|
|
7
7
|
@input="localSize = $event"
|
|
8
8
|
@change="setSize(localSize)"
|
|
9
9
|
@next="setPage(+page + 1)"
|
|
10
|
-
@prev="setPage(page - 1)"
|
|
10
|
+
@prev="setPage(+page - 1)"
|
|
11
11
|
/>
|
|
12
12
|
</template>
|
|
13
13
|
|
|
14
14
|
<script setup>
|
|
15
15
|
import { computed, ref, watch } from 'vue';
|
|
16
16
|
import { useStore } from 'vuex';
|
|
17
|
-
import getNamespacedState from '../../../store/helpers/getNamespacedState';
|
|
18
17
|
|
|
19
18
|
const props = defineProps({
|
|
20
19
|
namespace: {
|
|
@@ -50,10 +49,9 @@ function setSize(value) {
|
|
|
50
49
|
return setFilter({ value, name: sizeFilterName });
|
|
51
50
|
}
|
|
52
51
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
// }, { immediate: true });
|
|
52
|
+
watch(size, () => {
|
|
53
|
+
localSize.value = size.value;
|
|
54
|
+
}, { immediate: true });
|
|
57
55
|
</script>
|
|
58
56
|
|
|
59
57
|
<style lang="scss" scoped>
|
|
@@ -18,7 +18,7 @@ const handleArray = ({ value, storedProp }) => {
|
|
|
18
18
|
};
|
|
19
19
|
|
|
20
20
|
const querySetter = (context) => (router) => async (rawValue = context.value) => {
|
|
21
|
-
const { name: filterQuery, storedProp } =
|
|
21
|
+
const { name: filterQuery, storedProp } = context;
|
|
22
22
|
|
|
23
23
|
let value = '';
|
|
24
24
|
|
|
@@ -27,7 +27,7 @@ const querySetter = (context) => (router) => async (rawValue = context.value) =>
|
|
|
27
27
|
} else if (isObject(rawValue)) {
|
|
28
28
|
value = handleObject({ value: rawValue, storedProp });
|
|
29
29
|
} else {
|
|
30
|
-
value = handlePrimitive({ value });
|
|
30
|
+
value = handlePrimitive({ value: rawValue });
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
await changeRouteQuery(router)({
|
|
@@ -20,15 +20,22 @@ export default class FiltersStoreModule extends BaseStoreModule {
|
|
|
20
20
|
return rootState.router;
|
|
21
21
|
},
|
|
22
22
|
|
|
23
|
-
_STATE_FILTER_NAMES: (state) =>
|
|
24
|
-
|
|
23
|
+
_STATE_FILTER_NAMES: (state) => {
|
|
24
|
+
return Object.values(state)
|
|
25
|
+
.reduce((names, prop) => prop.value || prop.name
|
|
26
|
+
? [...names, prop.name]
|
|
27
|
+
: names, []);
|
|
28
|
+
},
|
|
25
29
|
|
|
26
30
|
// get value of specific filter
|
|
27
31
|
GET_FILTER: (state, getters) => (filterName) => {
|
|
28
32
|
const filter = state[filterName];
|
|
33
|
+
|
|
29
34
|
if (!filter) throw new Error(`Unknown filter: ${filterName}`);
|
|
30
35
|
|
|
31
|
-
if (state._requireRouter && !getters.ROUTER)
|
|
36
|
+
if (state._requireRouter && !getters.ROUTER) {
|
|
37
|
+
throw new Error(`Router is required for filter: ${filterName}`);
|
|
38
|
+
}
|
|
32
39
|
|
|
33
40
|
return filter.get({
|
|
34
41
|
router: getters.ROUTER,
|
|
@@ -36,14 +43,16 @@ export default class FiltersStoreModule extends BaseStoreModule {
|
|
|
36
43
|
},
|
|
37
44
|
|
|
38
45
|
// get all filters values
|
|
39
|
-
GET_FILTERS: (state, getters) =>
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
46
|
+
GET_FILTERS: (state, getters) => () => {
|
|
47
|
+
return getters._STATE_FILTER_NAMES
|
|
48
|
+
.reduce((values, filterName) => {
|
|
49
|
+
const filterValue = getters.GET_FILTER(filterName);
|
|
50
|
+
return isEmpty(filterValue) ? values : {
|
|
51
|
+
...values,
|
|
52
|
+
[filterName]: filterValue,
|
|
53
|
+
};
|
|
54
|
+
}, {});
|
|
55
|
+
},
|
|
47
56
|
};
|
|
48
57
|
|
|
49
58
|
actions = {
|
|
@@ -58,6 +67,12 @@ export default class FiltersStoreModule extends BaseStoreModule {
|
|
|
58
67
|
router: context.getters.ROUTER,
|
|
59
68
|
});
|
|
60
69
|
|
|
70
|
+
// upd reactivity
|
|
71
|
+
context.commit('UPDATE_FILTER', {
|
|
72
|
+
...filter,
|
|
73
|
+
value: context.getters.GET_FILTER(name),
|
|
74
|
+
});
|
|
75
|
+
|
|
61
76
|
if (!silent) await context.dispatch('EMIT', {
|
|
62
77
|
event: FilterEvent.FILTER_SET,
|
|
63
78
|
payload: {
|
|
@@ -135,6 +150,12 @@ export default class FiltersStoreModule extends BaseStoreModule {
|
|
|
135
150
|
},
|
|
136
151
|
};
|
|
137
152
|
|
|
153
|
+
mutations = {
|
|
154
|
+
UPDATE_FILTER: (state, filter) => {
|
|
155
|
+
state[filter.name] = filter;
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
|
|
138
159
|
addFilter(filter) {
|
|
139
160
|
const setup = (filter) => {
|
|
140
161
|
const stateFilter = new BaseFilterSchema(filter);
|
|
@@ -33,7 +33,7 @@ export default class TableStoreModule extends BaseStoreModule {
|
|
|
33
33
|
|
|
34
34
|
// main GET_LIST params collector
|
|
35
35
|
GET_LIST_PARAMS: (state, getters) => (overrides) => {
|
|
36
|
-
const filters = getters.FILTERS;
|
|
36
|
+
const filters = getters.FILTERS();
|
|
37
37
|
const fields = getters.FIELDS;
|
|
38
38
|
const parentId = getters.PARENT_ID;
|
|
39
39
|
|