@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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webitel/ui-sdk",
3
- "version": "24.6.10",
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.umd.js",
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, remove) {
235
+ handleSelection(row, select) {
236
236
  if (this.selected) {
237
- if (remove) {
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.error(`No value found for ${context.name} filter!`);
34
+ // console.info(`No value found for ${context.name} filter!`);
35
35
 
36
- return undefined;
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
- // TF?
54
- // watch(size, () => {
55
- // localSize.value = size.value;
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 } = this;
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)({
@@ -12,6 +12,8 @@ const changeRouteQuery = (router) => ({ filterQuery, value }) => {
12
12
  [filterQuery]: value,
13
13
  };
14
14
 
15
+ console.info('newQuery', newQuery);
16
+
15
17
  return router.replace({
16
18
  name,
17
19
  query: newQuery,
@@ -20,15 +20,22 @@ export default class FiltersStoreModule extends BaseStoreModule {
20
20
  return rootState.router;
21
21
  },
22
22
 
23
- _STATE_FILTER_NAMES: (state) => Object.keys(state)
24
- .filter((key) => !key.startsWith('_')),
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) return filter.defaultValue;
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) => getters._STATE_FILTER_NAMES
40
- .reduce((values, filterName) => {
41
- const filterValue = getters.GET_FILTER(filterName);
42
- return isEmpty(filterValue) ? values : {
43
- ...values,
44
- [filterName]: filterValue,
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