@webitel/ui-sdk 25.4.31 → 25.4.32
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.js +2 -2
- package/dist/ui-sdk.umd.cjs +1 -1
- package/package.json +1 -1
- package/src/components/wt-label/_variables.scss +2 -0
- package/src/components/wt-label/wt-label.vue +2 -1
- package/src/locale/ru/ru.js +1 -1
- package/src/locale/ua/ua.js +1 -1
- package/src/modules/Filters/v2/filter-presets/components/_shared/preset-filters-preview.vue +3 -1
- package/src/modules/Filters/v2/filter-presets/components/apply-preset/apply-preset-action.vue +25 -18
- package/src/modules/Filters/v2/filter-presets/components/save-preset/overwrite-preset-popup.vue +1 -1
- package/src/modules/Filters/v2/filter-presets/components/save-preset/save-preset-popup.vue +2 -1
- package/src/modules/Filters/v2/filters/components/dynamic-filter-panel-wrapper.vue +32 -10
package/package.json
CHANGED
|
@@ -39,13 +39,14 @@ export default {
|
|
|
39
39
|
@use '../../css/main.scss';
|
|
40
40
|
|
|
41
41
|
.wt-label {
|
|
42
|
-
@extend %typo-
|
|
42
|
+
@extend %typo-subtitle-2;
|
|
43
43
|
|
|
44
44
|
display: flex;
|
|
45
45
|
align-items: center;
|
|
46
46
|
cursor: text;
|
|
47
47
|
transition: var(--transition);
|
|
48
48
|
color: var(--wt-label-color);
|
|
49
|
+
padding: var(--wt-label-padding);
|
|
49
50
|
|
|
50
51
|
&--invalid {
|
|
51
52
|
color: var(--wt-label-error-color);
|
package/src/locale/ru/ru.js
CHANGED
package/src/locale/ua/ua.js
CHANGED
package/src/modules/Filters/v2/filter-presets/components/apply-preset/apply-preset-action.vue
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
/>
|
|
7
7
|
<wt-popup
|
|
8
8
|
:shown="showPresetsList"
|
|
9
|
-
size="
|
|
9
|
+
size="md"
|
|
10
10
|
@close="showPresetsList = false"
|
|
11
11
|
>
|
|
12
12
|
<template #title>
|
|
@@ -28,9 +28,9 @@
|
|
|
28
28
|
|
|
29
29
|
<section class="available-presets-list">
|
|
30
30
|
<preset-preview
|
|
31
|
-
v-for="(preset
|
|
31
|
+
v-for="(preset) of dataList"
|
|
32
32
|
:key="preset.id"
|
|
33
|
-
|
|
33
|
+
collapsed
|
|
34
34
|
:is-selected="preset === selectedPreset"
|
|
35
35
|
:preset="preset"
|
|
36
36
|
@preset:select="selectedPreset = preset"
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
|
|
68
68
|
<script lang="ts" setup>
|
|
69
69
|
import {type StoreDefinition, storeToRefs } from "pinia";
|
|
70
|
-
import {computed, inject, ref, watch} from "vue";
|
|
70
|
+
import {computed, inject, ref, watch, onUnmounted} from "vue";
|
|
71
71
|
import {useI18n} from "vue-i18n";
|
|
72
72
|
|
|
73
73
|
import {WtButton, WtEmpty, WtPopup, WtSearchBar, WtIconAction} from "../../../../../../components/index";
|
|
@@ -112,18 +112,6 @@ const {
|
|
|
112
112
|
} = presetsStore;
|
|
113
113
|
|
|
114
114
|
updateSize(1000);
|
|
115
|
-
|
|
116
|
-
const {
|
|
117
|
-
showEmpty,
|
|
118
|
-
image: imageEmpty,
|
|
119
|
-
text: textEmpty,
|
|
120
|
-
} = useTableEmpty({
|
|
121
|
-
dataList,
|
|
122
|
-
isLoading,
|
|
123
|
-
error,
|
|
124
|
-
filters: computed(() => filtersManager.value.getAllValues()),
|
|
125
|
-
});
|
|
126
|
-
|
|
127
115
|
filtersManager.value.addFilter({name: 'presetNamespace', value: props.namespace});
|
|
128
116
|
|
|
129
117
|
const search = computed({
|
|
@@ -135,13 +123,31 @@ const search = computed({
|
|
|
135
123
|
}
|
|
136
124
|
});
|
|
137
125
|
|
|
126
|
+
const {
|
|
127
|
+
showEmpty,
|
|
128
|
+
image: imageEmpty,
|
|
129
|
+
text: textEmpty,
|
|
130
|
+
} = useTableEmpty({
|
|
131
|
+
dataList,
|
|
132
|
+
isLoading,
|
|
133
|
+
error,
|
|
134
|
+
filters: computed(() => {
|
|
135
|
+
return {
|
|
136
|
+
search: search.value,
|
|
137
|
+
};
|
|
138
|
+
}),
|
|
139
|
+
});
|
|
140
|
+
|
|
138
141
|
watch(showPresetsList, () => {
|
|
139
142
|
initialize();
|
|
140
143
|
|
|
141
144
|
watch(showPresetsList, (value) => {
|
|
142
145
|
if (value) {
|
|
143
146
|
search.value = '';
|
|
144
|
-
|
|
147
|
+
/* search.value reset causes re-fetch as filter change, so
|
|
148
|
+
loadDataList() is commented.
|
|
149
|
+
TODO: implement ability to set filters "silently" and refactor this code */
|
|
150
|
+
// loadDataList();
|
|
145
151
|
}
|
|
146
152
|
});
|
|
147
153
|
}, {once: true});
|
|
@@ -159,8 +165,9 @@ const applySelectedPreset = () => {
|
|
|
159
165
|
const updatePreset = async ({preset, onSuccess, onFailure}) => {
|
|
160
166
|
try {
|
|
161
167
|
await PresetQueryAPI.update({
|
|
162
|
-
item: { ...preset
|
|
168
|
+
item: { ...preset },
|
|
163
169
|
id: preset.id,
|
|
170
|
+
namespace: preset.namespace,
|
|
164
171
|
});
|
|
165
172
|
eventBus.$emit('notification', {
|
|
166
173
|
type: 'success',
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<wt-popup
|
|
3
|
-
size="
|
|
3
|
+
size="md"
|
|
4
4
|
@close="emit('close')"
|
|
5
5
|
>
|
|
6
6
|
<template #title>
|
|
@@ -118,6 +118,7 @@ const save = () => {
|
|
|
118
118
|
display: flex;
|
|
119
119
|
flex-direction: column;
|
|
120
120
|
gap: var(--spacing-sm);
|
|
121
|
+
margin-bottom: var(--spacing-sm);
|
|
121
122
|
}
|
|
122
123
|
|
|
123
124
|
.save-preset-filters-preview-wrapper {
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
2
|
+
<div
|
|
3
|
+
class="dynamic-filter-panel-wrapper"
|
|
4
|
+
:class="`dynamic-filter-panel-wrapper--${props.size}`"
|
|
5
|
+
>
|
|
3
6
|
<div class="dynamic-filter-panel-wrapper__filters">
|
|
4
7
|
<slot name="filters" />
|
|
5
8
|
</div>
|
|
@@ -10,23 +13,42 @@
|
|
|
10
13
|
</div>
|
|
11
14
|
</template>
|
|
12
15
|
|
|
16
|
+
<script setup lang="ts">
|
|
17
|
+
import { ComponentSize } from '../../../../../enums';
|
|
18
|
+
|
|
19
|
+
const props = withDefaults(defineProps<{
|
|
20
|
+
size?: ComponentSize;
|
|
21
|
+
}>(), {
|
|
22
|
+
size: ComponentSize.MD,
|
|
23
|
+
});
|
|
24
|
+
</script>
|
|
25
|
+
|
|
13
26
|
<style lang="scss" scoped>
|
|
14
27
|
.dynamic-filter-panel-wrapper {
|
|
15
28
|
display: grid;
|
|
16
29
|
grid-gap: var(--spacing-sm);
|
|
17
30
|
align-items: center;
|
|
18
31
|
grid-template-columns: 1fr auto;
|
|
32
|
+
}
|
|
19
33
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
34
|
+
.dynamic-filter-panel-wrapper__filters {
|
|
35
|
+
display: flex;
|
|
36
|
+
flex-wrap: wrap;
|
|
37
|
+
align-items: center;
|
|
38
|
+
grid-gap: var(--spacing-sm);
|
|
39
|
+
}
|
|
26
40
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
41
|
+
.dynamic-filter-panel-wrapper__actions {
|
|
42
|
+
display: flex;
|
|
43
|
+
grid-gap: var(--spacing-sm);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.dynamic-filter-panel-wrapper {
|
|
47
|
+
&--sm {
|
|
48
|
+
.dynamic-filter-panel-wrapper__filters,
|
|
49
|
+
.dynamic-filter-panel-wrapper__actions, {
|
|
50
|
+
grid-gap: var(--spacing-xs);
|
|
51
|
+
}
|
|
30
52
|
}
|
|
31
53
|
}
|
|
32
54
|
</style>
|