mediacube-ui-v2 0.0.344 → 0.0.346
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/ai-catalog/index.json +7 -2
- package/dist/components/patterns/McFilter/McFilter.vue2.js +259 -266
- package/dist/styles/mixins.scss +30 -5
- package/dist/types/components/patterns/McFilter/McFilter.vue.d.ts +2 -0
- package/dist/types/components/patterns/McFilter/index.d.ts +5 -0
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"catalogSchemaVersion": 2,
|
|
3
|
-
"libraryVersion": "0.0.
|
|
3
|
+
"libraryVersion": "0.0.346",
|
|
4
4
|
"packageName": "mediacube-ui-v2",
|
|
5
5
|
"pathHash": "9b6f3b8016b22ac7",
|
|
6
6
|
"componentCount": 76,
|
|
@@ -4575,6 +4575,11 @@
|
|
|
4575
4575
|
"type": "IFilterValue",
|
|
4576
4576
|
"description": ""
|
|
4577
4577
|
},
|
|
4578
|
+
{
|
|
4579
|
+
"name": "update:selectedPreset",
|
|
4580
|
+
"type": "union",
|
|
4581
|
+
"description": ""
|
|
4582
|
+
},
|
|
4578
4583
|
{
|
|
4579
4584
|
"name": "confirm",
|
|
4580
4585
|
"type": "IFilterValue",
|
|
@@ -4606,7 +4611,7 @@
|
|
|
4606
4611
|
"@/types/ITranslations",
|
|
4607
4612
|
"@/types/styles/Colors"
|
|
4608
4613
|
],
|
|
4609
|
-
"searchText": "patterns/mcfilter/mcfilter mcfilter mediacube-ui-v2/components/patterns/mcfilter/mcfilter open name modelvalue filters buttonconfirmisloading disabledopen usetimezone placeholders withactivator withpresets selectedpreset error clear open delete-preset update:modelvalue confirm @/types/ibutton @/types/idsoptions @/types/ifilter @/types/iselect @/types/itranslations @/types/styles/colors",
|
|
4614
|
+
"searchText": "patterns/mcfilter/mcfilter mcfilter mediacube-ui-v2/components/patterns/mcfilter/mcfilter open name modelvalue filters buttonconfirmisloading disabledopen usetimezone placeholders withactivator withpresets selectedpreset error clear open delete-preset update:modelvalue update:selectedpreset confirm @/types/ibutton @/types/idsoptions @/types/ifilter @/types/iselect @/types/itranslations @/types/styles/colors",
|
|
4610
4615
|
"aiDoc": "# McFilter — данные и события для ИИ\n\n## Назначение\n\nПанель фильтрации: выбор полей из `filters`, условия (relation / text / range / date / fast), теги, пресеты, подтверждение.\n\n## Модель (`v-model` / `modelValue`)\n\nТип `IFilterValue` (см. `mediacube-ui-v2/types/IFilter`):\n\n- **`filter`**: объект условий; ключ — `IFilter.value` из схемы `filters`, значение — условие (`FilterConditionValue`: скаляр, `{ more, less }`, или relation-объект с `is` / `is_not` / `exists`).\n- **`filter_name`**: строка (в API часто base64/URI-кодированный JSON) с человекочитаемыми подписями для тегов; после decode — `IFilterParsedValueFilterName` (параллельная структура ключам `filter`).\n\nПри инициализации и обновлении `modelValue` библиотека нормализует состояние (`normalizeMcFilterModel`): отбрасывает ключи не из `props.filters`, восстанавливает `filter_name` из `filter` при пустых подписях.\n\n## Props (важное)\n\n- **`name`** (string): идентификатор фильтра (пресеты в localStorage).\n- **`filters`** (`IFilter[]`): схема полей; обязательна как источник правды по ключам.\n- **`modelValue`**: `{ filter, filter_name }`.\n- **`placeholders`**, **`open`**, **`withPresets`**, **`withActivator`**, **`useTimezone`**, и т.д. — см. автогенерируемые props в ai-catalog.\n\n## События\n\n- **`update:modelValue`**, **`confirm`**: актуальное значение после «Применить».\n- **`error`**, **`clear`**, **`open`**, **`delete-preset`**.\n\n## Практика\n\n- Всегда передавайте **`filters`** с тем же набором `value`, что и ключи в сохранённом `filter`.\n- Для relation с опциями используйте `options` или ajax-функции; доменные типы — `IRelationFilter`, `IFilter` в types.",
|
|
4611
4616
|
"docgenError": null
|
|
4612
4617
|
},
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { useHelper as
|
|
3
|
-
import { UseEncodeDecode as
|
|
4
|
-
import { ButtonSize as
|
|
5
|
-
import { ChipSize as
|
|
6
|
-
import { FilterTypes as
|
|
7
|
-
import { TooltipSizes as
|
|
8
|
-
import { useLocalStorage as
|
|
9
|
-
import { useTheme as
|
|
10
|
-
import { normalizeMcFilterModel as
|
|
11
|
-
import
|
|
1
|
+
import { defineComponent as Le, defineAsyncComponent as E, inject as We, ref as f, reactive as He, computed as y, onMounted as Ge, onBeforeUnmount as Je, watch as O, openBlock as z, createElementBlock as j, createElementVNode as w, renderSlot as Qe, createVNode as _, unref as s, withCtx as T, createCommentVNode as P, Fragment as ue, createBlock as D, createTextVNode as N, toDisplayString as R, renderList as Xe, nextTick as ce } from "vue";
|
|
2
|
+
import { useHelper as Ye } from "../../../composables/useHelper2.js";
|
|
3
|
+
import { UseEncodeDecode as U } from "../../../composables/useEncodeDecode2.js";
|
|
4
|
+
import { ButtonSize as L } from "../../../enums/ui/Button2.js";
|
|
5
|
+
import { ChipSize as Ze } from "../../../enums/Chip2.js";
|
|
6
|
+
import { FilterTypes as g, FilterRelations as V } from "../../../enums/Filter2.js";
|
|
7
|
+
import { TooltipSizes as J, TooltipPositions as Q } from "../../../enums/Tooltip2.js";
|
|
8
|
+
import { useLocalStorage as et } from "@vueuse/core";
|
|
9
|
+
import { useTheme as tt } from "../../../composables/useTheme2.js";
|
|
10
|
+
import { normalizeMcFilterModel as X } from "../../../utils/normalizeMcFilterModel2.js";
|
|
11
|
+
import Y from "../../elements/McSvgIcon/McSvgIcon.vue2.js";
|
|
12
12
|
import '../../../assets/components/elements/McTooltip/index.css';import '../../../assets/components/elements/McFieldText/index.css';import '../../../assets/components/elements/McTitle/index.css';import '../../../assets/components/elements/McButton/index.css';import '../../../assets/components/elements/McSvgIcon/index.css';/* empty css */
|
|
13
|
-
import
|
|
13
|
+
import B from "../../elements/McButton/McButton.vue2.js";
|
|
14
14
|
/* empty css */
|
|
15
|
-
import
|
|
15
|
+
import lt from "../../elements/McTitle/McTitle.vue2.js";
|
|
16
16
|
/* empty css */
|
|
17
|
-
import
|
|
17
|
+
import at from "../../elements/McFieldText/McFieldText.vue2.js";
|
|
18
18
|
/* empty css */
|
|
19
|
-
import
|
|
19
|
+
import Z from "../../elements/McTooltip/McTooltip.vue2.js";
|
|
20
20
|
/* empty css */
|
|
21
|
-
const
|
|
21
|
+
const nt = { class: "mc-filter" }, ot = { class: "mc-filter__header" }, rt = {
|
|
22
22
|
key: 1,
|
|
23
23
|
class: "mc-filter__presets"
|
|
24
|
-
},
|
|
24
|
+
}, it = { key: 0 }, st = { class: "mc-filter__body" }, ut = { class: "mc-filter__body-top" }, ct = { class: "mc-filter__body-top-left" }, vt = { class: "mc-filter__body-fast-tags-wrapper" }, dt = { class: "mc-filter__body-bottom" }, mt = { class: "mc-filter__body-bottom-left" }, pt = { class: "mc-filter__body-bottom-right" }, Nt = /* @__PURE__ */ Le({
|
|
25
25
|
__name: "McFilter",
|
|
26
26
|
props: {
|
|
27
27
|
open: {
|
|
@@ -93,235 +93,235 @@ const at = { class: "mc-filter" }, nt = { class: "mc-filter__header" }, ot = {
|
|
|
93
93
|
default: null
|
|
94
94
|
}
|
|
95
95
|
},
|
|
96
|
-
emits: ["error", "clear", "open", "delete-preset", "update:modelValue", "confirm"],
|
|
97
|
-
setup(
|
|
98
|
-
const
|
|
96
|
+
emits: ["error", "clear", "open", "delete-preset", "update:modelValue", "update:selectedPreset", "confirm"],
|
|
97
|
+
setup($, { emit: ve }) {
|
|
98
|
+
const de = E(() => import("../../elements/McFieldSelect/McFieldSelect.vue.js")), me = E(() => import("./McFilterTags/McFilterTags.vue.js")), pe = E(
|
|
99
99
|
() => import("./McFilterTypeRange/McFilterTypeRange.vue.js")
|
|
100
100
|
), fe = E(
|
|
101
101
|
() => import("./McFilterTypeDate/McFilterTypeDate.vue.js")
|
|
102
|
-
), pe = E(
|
|
103
|
-
() => import("./McFilterTypeText/McFilterTypeText.vue.js")
|
|
104
102
|
), ye = E(
|
|
103
|
+
() => import("./McFilterTypeText/McFilterTypeText.vue.js")
|
|
104
|
+
), _e = E(
|
|
105
105
|
() => import("./McFilterTypeRelation/McFilterTypeRelation.vue.js")
|
|
106
|
-
),
|
|
106
|
+
), ge = E(() => import("../../elements/McChip/McChip.vue.js")), be = E(
|
|
107
107
|
() => import("./McFilterPresets/McFilterPresets.vue.js")
|
|
108
|
-
), r =
|
|
109
|
-
r.deepMerge(
|
|
110
|
-
),
|
|
108
|
+
), r = Ye(), b = ve, n = $, q = tt("filter"), he = We("dsOptions", {}), S = f(!1), o = f({}), m = f({}), ee = f({}), te = f({}), v = f({}), A = f({}), h = f(null), a = f(null), u = He(
|
|
109
|
+
r.deepMerge(he.componentTranslations?.filter, n.placeholders)
|
|
110
|
+
), le = y(() => r.isEqual(I.value.filter, o.value)), K = f(""), C = f(null), x = f(null), Ce = f(null), k = et("mcFilterPresets", {}), ae = f([]), I = y({
|
|
111
111
|
get() {
|
|
112
|
-
const { filter: e = null, filter_name: t = null } =
|
|
112
|
+
const { filter: e = null, filter_name: t = null } = n.modelValue || {};
|
|
113
113
|
return {
|
|
114
114
|
filter: e,
|
|
115
|
-
filter_name:
|
|
115
|
+
filter_name: U.decode(t)
|
|
116
116
|
};
|
|
117
117
|
},
|
|
118
118
|
set(e) {
|
|
119
119
|
const { filter: t = null, filter_name: l = {} } = e || {}, i = {
|
|
120
120
|
filter: t,
|
|
121
|
-
filter_name:
|
|
121
|
+
filter_name: U.encode(l)
|
|
122
122
|
};
|
|
123
|
-
|
|
123
|
+
b("update:modelValue", i);
|
|
124
124
|
}
|
|
125
|
-
}),
|
|
125
|
+
}), ze = y(() => {
|
|
126
126
|
const e = /* @__PURE__ */ new Map();
|
|
127
|
-
for (const t of
|
|
127
|
+
for (const t of n.filters)
|
|
128
128
|
e.set(String(t.value), t);
|
|
129
129
|
return e;
|
|
130
|
-
}), d =
|
|
130
|
+
}), d = y(() => ze.value.get(String(h.value)) || {}), Te = y(() => d.value?.type === g.Relation), Ve = y(() => d.value?.type === g.Date), Se = y(() => d.value?.type === g.Text), ke = y(() => d.value?.type === g.Range), Fe = y(() => {
|
|
131
131
|
const e = o.value && Object.keys(o.value) || [], t = new Set(e.map(String));
|
|
132
|
-
return
|
|
133
|
-
}),
|
|
134
|
-
|
|
132
|
+
return n.filters.filter((l) => l.type === g.Fast && !t.has(String(l.value)));
|
|
133
|
+
}), Ee = y(() => n.filters.filter((e) => e.type !== g.Fast)), we = y(() => S.value || !le.value ? `${q.component.button}-invert` : "black-flat"), Pe = y(() => !r.isEmpty(v.value) && !!d.value && d.value.type !== g.Fast), De = y(() => !K.value.trim());
|
|
134
|
+
y(() => {
|
|
135
135
|
const e = /* @__PURE__ */ new Map();
|
|
136
|
-
for (let t in
|
|
137
|
-
e.set(
|
|
136
|
+
for (let t in n.filters)
|
|
137
|
+
e.set(n.filters[t].value, n.filters[t]);
|
|
138
138
|
return e;
|
|
139
|
-
}), He(() => {
|
|
140
|
-
L(), window.addEventListener("storage", L), Ke();
|
|
141
139
|
}), Ge(() => {
|
|
142
|
-
window.
|
|
140
|
+
W(), window.addEventListener("storage", W), Ke();
|
|
141
|
+
}), Je(() => {
|
|
142
|
+
window.removeEventListener("storage", W);
|
|
143
143
|
});
|
|
144
144
|
const Ke = () => {
|
|
145
|
-
const { filter: e, filter_name: t } =
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
145
|
+
const { filter: e, filter_name: t } = X(
|
|
146
|
+
I.value.filter,
|
|
147
|
+
I.value.filter_name,
|
|
148
|
+
n.filters
|
|
149
149
|
);
|
|
150
|
-
|
|
151
|
-
},
|
|
152
|
-
|
|
150
|
+
ee.value = e, te.value = t, o.value = e, m.value = t;
|
|
151
|
+
}, W = () => {
|
|
152
|
+
ae.value = k.value[n.name] || [];
|
|
153
153
|
}, xe = (e) => {
|
|
154
|
-
const { relation: t, value: l } = e, i =
|
|
155
|
-
|
|
156
|
-
v.value =
|
|
154
|
+
const { relation: t, value: l } = e, i = h.value, p = v.value, c = t ? { [t]: e.default } : e.default;
|
|
155
|
+
h.value = l, F({ value: c, valueName: e.name }), G(), h.value = i, ce(() => {
|
|
156
|
+
v.value = p;
|
|
157
157
|
});
|
|
158
158
|
}, F = ({ value: e, valueName: t }) => {
|
|
159
159
|
v.value = e, A.value = t || "";
|
|
160
|
-
}, Ne = () => {
|
|
161
|
-
console.log("handleStoreTag"), n.value ? Oe() : Re();
|
|
162
160
|
}, Oe = () => {
|
|
161
|
+
console.log("handleStoreTag"), a.value ? Ne() : Re();
|
|
162
|
+
}, Ne = () => {
|
|
163
163
|
switch (d.value?.type) {
|
|
164
|
-
case
|
|
164
|
+
case g.Relation: {
|
|
165
165
|
Me();
|
|
166
166
|
break;
|
|
167
167
|
}
|
|
168
168
|
default: {
|
|
169
|
-
|
|
169
|
+
G();
|
|
170
170
|
break;
|
|
171
171
|
}
|
|
172
172
|
}
|
|
173
|
-
|
|
173
|
+
a.value = null;
|
|
174
174
|
}, Re = () => {
|
|
175
175
|
switch (d.value?.type) {
|
|
176
|
-
case
|
|
177
|
-
|
|
176
|
+
case g.Relation: {
|
|
177
|
+
je();
|
|
178
178
|
break;
|
|
179
179
|
}
|
|
180
180
|
default: {
|
|
181
|
-
|
|
181
|
+
G();
|
|
182
182
|
break;
|
|
183
183
|
}
|
|
184
184
|
}
|
|
185
|
-
|
|
185
|
+
a.value = null;
|
|
186
186
|
}, Me = () => {
|
|
187
|
-
if (
|
|
188
|
-
const l =
|
|
189
|
-
[
|
|
190
|
-
[
|
|
187
|
+
if (a.value) {
|
|
188
|
+
const l = a.value.relationKey === V.Exists ? [0] : [a.value.value], i = {
|
|
189
|
+
[a.value.category]: {
|
|
190
|
+
[a.value.relationKey]: l
|
|
191
191
|
}
|
|
192
|
-
},
|
|
193
|
-
[
|
|
192
|
+
}, p = {
|
|
193
|
+
[h.value]: r.cloneDeep(v.value)
|
|
194
194
|
};
|
|
195
|
-
if (r.isEqual(
|
|
196
|
-
|
|
195
|
+
if (r.isEqual(p, i)) {
|
|
196
|
+
b("error", u.messages.same_filter);
|
|
197
197
|
return;
|
|
198
198
|
}
|
|
199
199
|
}
|
|
200
|
-
const { category: e, categoryName: t } =
|
|
201
|
-
if (
|
|
202
|
-
if (
|
|
203
|
-
delete e[
|
|
200
|
+
const { category: e, categoryName: t } = ne();
|
|
201
|
+
if (a.value)
|
|
202
|
+
if (a.value.relationKey === V.Exists)
|
|
203
|
+
delete e[a.value.relationKey], delete t[a.value.relationKey];
|
|
204
204
|
else {
|
|
205
|
-
const i = e[
|
|
206
|
-
i !== -1 && (e?.[
|
|
205
|
+
const i = e[a.value.relationKey]?.indexOf(String(a.value.value)) ?? -1;
|
|
206
|
+
i !== -1 && (e?.[a.value.relationKey]?.splice(i, 1), r.isEmpty(e[a.value.relationKey]) && delete e[a.value.relationKey], delete t?.[a.value.relationKey]?.[a.value.value], r.isEmpty(t[a.value.relationKey]) && delete t[a.value.relationKey]);
|
|
207
207
|
}
|
|
208
|
-
|
|
209
|
-
},
|
|
210
|
-
const { category: e, categoryName: t } =
|
|
211
|
-
|
|
212
|
-
},
|
|
213
|
-
const e = Object.keys(v.value), t = r.cloneDeep(o.value), l = r.cloneDeep(m.value), i = t?.[
|
|
208
|
+
H(e, t);
|
|
209
|
+
}, je = () => {
|
|
210
|
+
const { category: e, categoryName: t } = ne();
|
|
211
|
+
H(e, t);
|
|
212
|
+
}, ne = () => {
|
|
213
|
+
const e = Object.keys(v.value), t = r.cloneDeep(o.value), l = r.cloneDeep(m.value), i = t?.[h.value], p = l?.[h.value];
|
|
214
214
|
return i && e.forEach((c) => {
|
|
215
|
-
if (c ===
|
|
216
|
-
i[
|
|
215
|
+
if (c === V.Exists)
|
|
216
|
+
i[V.Exists] = 0, p[V.Exists] = null;
|
|
217
217
|
else {
|
|
218
|
-
const M = v.value[c],
|
|
219
|
-
c in i ? (i[c] = r.uniqWith([...i[c], ...M], r.isEqual),
|
|
220
|
-
...
|
|
221
|
-
...
|
|
222
|
-
}) : (i[c] = M,
|
|
218
|
+
const M = v.value[c], se = A.value[c];
|
|
219
|
+
c in i ? (i[c] = r.uniqWith([...i[c], ...M], r.isEqual), p[c] = {
|
|
220
|
+
...p[c],
|
|
221
|
+
...se
|
|
222
|
+
}) : (i[c] = M, p[c] = se);
|
|
223
223
|
}
|
|
224
|
-
}), { category: i, categoryName:
|
|
225
|
-
},
|
|
224
|
+
}), { category: i, categoryName: p };
|
|
225
|
+
}, H = (e, t) => {
|
|
226
226
|
const l = {
|
|
227
227
|
...o.value,
|
|
228
|
-
[
|
|
228
|
+
[h.value]: e || v.value
|
|
229
229
|
};
|
|
230
230
|
if (r.isEqual(o.value, l)) {
|
|
231
|
-
|
|
231
|
+
b("error", u.messages.same_filter);
|
|
232
232
|
return;
|
|
233
233
|
}
|
|
234
234
|
o.value = l, m.value = {
|
|
235
235
|
...m.value,
|
|
236
|
-
[
|
|
237
|
-
},
|
|
238
|
-
},
|
|
236
|
+
[h.value]: t || A.value
|
|
237
|
+
}, oe();
|
|
238
|
+
}, oe = () => {
|
|
239
239
|
switch (d.value?.type) {
|
|
240
|
-
case
|
|
241
|
-
case
|
|
240
|
+
case g.Text:
|
|
241
|
+
case g.Relation:
|
|
242
242
|
F({ value: "" });
|
|
243
243
|
break;
|
|
244
|
-
case
|
|
245
|
-
case
|
|
244
|
+
case g.Range:
|
|
245
|
+
case g.Date:
|
|
246
246
|
F({ value: {} });
|
|
247
247
|
break;
|
|
248
248
|
}
|
|
249
|
-
},
|
|
250
|
-
if (d.value?.type ===
|
|
249
|
+
}, G = () => {
|
|
250
|
+
if (d.value?.type === g.Range && Object.keys(v.value || {}).length === 2) {
|
|
251
251
|
const e = v.value;
|
|
252
252
|
if (e.more && e.less && e.more > e.less) {
|
|
253
|
-
|
|
253
|
+
b("error", u.messages.more_than);
|
|
254
254
|
return;
|
|
255
255
|
}
|
|
256
256
|
}
|
|
257
|
-
|
|
258
|
-
},
|
|
259
|
-
if (
|
|
257
|
+
H(v.value, v.value);
|
|
258
|
+
}, Be = (e) => {
|
|
259
|
+
if (a.value = null, r.isEmpty(e)) {
|
|
260
260
|
o.value = {}, m.value = {};
|
|
261
261
|
return;
|
|
262
262
|
}
|
|
263
|
-
m.value = r.cloneDeep(e),
|
|
264
|
-
},
|
|
265
|
-
|
|
266
|
-
},
|
|
267
|
-
const t = r.cloneDeep(e), l = [
|
|
268
|
-
for (let [i,
|
|
269
|
-
if (
|
|
270
|
-
for (let [c, M] of Object.entries(
|
|
263
|
+
m.value = r.cloneDeep(e), qe(e);
|
|
264
|
+
}, $e = () => {
|
|
265
|
+
ee.value = {}, te.value = {}, o.value = {}, m.value = {}, b("clear", u.messages.accidentally_cleared);
|
|
266
|
+
}, qe = (e) => {
|
|
267
|
+
const t = r.cloneDeep(e), l = [V.Is, V.IsNot];
|
|
268
|
+
for (let [i, p] of Object.entries(e))
|
|
269
|
+
if (p.constructor === Object)
|
|
270
|
+
for (let [c, M] of Object.entries(p))
|
|
271
271
|
l.includes(c) && M?.constructor === Object && (t[i][c] = [...Object.keys(M)]);
|
|
272
272
|
o.value = t;
|
|
273
273
|
}, Ae = (e) => {
|
|
274
|
-
if (
|
|
275
|
-
|
|
274
|
+
if (a.value = r.isEqual(a.value, e) ? null : e, !a.value) {
|
|
275
|
+
oe();
|
|
276
276
|
return;
|
|
277
277
|
}
|
|
278
278
|
let t = null, l = null;
|
|
279
279
|
e.relationKey ? (t = {
|
|
280
|
-
[e.relationKey]: e.relationKey ===
|
|
280
|
+
[e.relationKey]: e.relationKey === V.Exists ? [0] : [String(e.value)]
|
|
281
281
|
}, l = {
|
|
282
|
-
[e.relationKey]: e.relationKey ===
|
|
283
|
-
}) : (t = e.value?.constructor === Object ? e.value : String(e.value), l = e.value),
|
|
282
|
+
[e.relationKey]: e.relationKey === V.Exists ? [0] : { [e.value]: e.title }
|
|
283
|
+
}) : (t = e.value?.constructor === Object ? e.value : String(e.value), l = e.value), h.value = e.category, ce(() => {
|
|
284
284
|
v.value = t, A.value = l;
|
|
285
285
|
});
|
|
286
|
-
},
|
|
287
|
-
|
|
286
|
+
}, re = () => {
|
|
287
|
+
I.value = {
|
|
288
288
|
filter: o.value,
|
|
289
289
|
filter_name: m.value
|
|
290
290
|
};
|
|
291
291
|
const e = {
|
|
292
292
|
filter: o.value,
|
|
293
|
-
filter_name:
|
|
293
|
+
filter_name: U.encode(m.value)
|
|
294
294
|
};
|
|
295
|
-
|
|
296
|
-
},
|
|
295
|
+
b("confirm", e);
|
|
296
|
+
}, ie = (e) => {
|
|
297
297
|
if (e) {
|
|
298
|
-
|
|
299
|
-
const { filter: t, filter_name: l } =
|
|
298
|
+
C.value = e;
|
|
299
|
+
const { filter: t, filter_name: l } = X(
|
|
300
300
|
r.cloneDeep(e.filter),
|
|
301
301
|
r.cloneDeep(e.filter_name),
|
|
302
|
-
|
|
302
|
+
n.filters
|
|
303
303
|
);
|
|
304
|
-
o.value = t, m.value = l;
|
|
304
|
+
o.value = t, m.value = l, x.value = r.cloneDeep(t);
|
|
305
305
|
} else
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
},
|
|
309
|
-
const t =
|
|
310
|
-
|
|
311
|
-
},
|
|
312
|
-
if (
|
|
313
|
-
|
|
306
|
+
C.value = null, x.value = null, o.value = {}, m.value = {};
|
|
307
|
+
S.value || re();
|
|
308
|
+
}, Ie = (e) => {
|
|
309
|
+
const t = k.value[n.name]?.filter((l) => e && l.name !== e.name);
|
|
310
|
+
k.value[n.name] = [...t], Ce.value = r.cloneDeep(C.value), C.value = null, x.value = null, o.value = {}, m.value = {}, b("update:selectedPreset", null), b("delete-preset", u.messages.accidentally_deleted);
|
|
311
|
+
}, Ue = () => {
|
|
312
|
+
if (k.value[n.name] && k.value[n.name].find((l) => l.name?.trim() === K.value?.trim())) {
|
|
313
|
+
b("error", u.messages.same_preset_name);
|
|
314
314
|
return;
|
|
315
315
|
}
|
|
316
316
|
const e = {
|
|
317
|
-
name:
|
|
317
|
+
name: K.value?.trim(),
|
|
318
318
|
filter: r.cloneDeep(o.value),
|
|
319
319
|
filter_name: r.cloneDeep(m.value)
|
|
320
|
-
}, t =
|
|
321
|
-
t ?
|
|
320
|
+
}, t = k.value[n.name];
|
|
321
|
+
t ? k.value[n.name] = [e, ...t] : k.value[n.name] = [e], K.value = "", C.value = { ...e }, x.value = r.cloneDeep(o.value), b("update:selectedPreset", C.value);
|
|
322
322
|
};
|
|
323
|
-
return
|
|
324
|
-
() =>
|
|
323
|
+
return O(
|
|
324
|
+
() => n.modelValue,
|
|
325
325
|
(e) => {
|
|
326
326
|
const t = e || {
|
|
327
327
|
filter: null,
|
|
@@ -330,169 +330,162 @@ const at = { class: "mc-filter" }, nt = { class: "mc-filter__header" }, ot = {
|
|
|
330
330
|
let l = {};
|
|
331
331
|
if (t.filter_name)
|
|
332
332
|
try {
|
|
333
|
-
const c =
|
|
333
|
+
const c = U.decode(t.filter_name);
|
|
334
334
|
c && typeof c == "object" && !Array.isArray(c) && (l = c);
|
|
335
335
|
} catch {
|
|
336
336
|
console.error("Can't parse filters");
|
|
337
337
|
}
|
|
338
|
-
const { filter: i, filter_name:
|
|
339
|
-
o.value = i, m.value =
|
|
338
|
+
const { filter: i, filter_name: p } = X(t.filter, l, n.filters);
|
|
339
|
+
o.value = i, m.value = p;
|
|
340
340
|
},
|
|
341
341
|
{ deep: !0 }
|
|
342
|
-
),
|
|
342
|
+
), O(
|
|
343
343
|
() => d.value,
|
|
344
344
|
() => {
|
|
345
345
|
F({ value: "" });
|
|
346
346
|
},
|
|
347
347
|
{ deep: !0 }
|
|
348
|
-
),
|
|
348
|
+
), O(
|
|
349
349
|
() => o.value,
|
|
350
350
|
() => {
|
|
351
|
-
|
|
352
|
-
const e = T.value.name, t = z.value[a.name].map((l) => l.name === e ? {
|
|
353
|
-
name: l.name,
|
|
354
|
-
filter: r.cloneDeep(o.value),
|
|
355
|
-
filter_name: r.cloneDeep(m.value)
|
|
356
|
-
} : l);
|
|
357
|
-
z.value[a.name] = [...t];
|
|
358
|
-
}
|
|
351
|
+
C.value && !r.isEqual(o.value, x.value) && (C.value = null, x.value = null, b("update:selectedPreset", null));
|
|
359
352
|
},
|
|
360
353
|
{ deep: !0 }
|
|
361
|
-
),
|
|
362
|
-
() =>
|
|
354
|
+
), O(
|
|
355
|
+
() => n.open,
|
|
363
356
|
(e) => {
|
|
364
|
-
|
|
357
|
+
S.value = e;
|
|
365
358
|
}
|
|
366
|
-
),
|
|
367
|
-
() =>
|
|
359
|
+
), O(
|
|
360
|
+
() => S.value,
|
|
368
361
|
(e) => {
|
|
369
|
-
|
|
362
|
+
b("open", e);
|
|
370
363
|
}
|
|
371
|
-
),
|
|
372
|
-
() =>
|
|
364
|
+
), O(
|
|
365
|
+
() => n.selectedPreset,
|
|
373
366
|
(e) => {
|
|
374
|
-
|
|
367
|
+
e?.name !== C.value?.name && ie(e);
|
|
375
368
|
}
|
|
376
|
-
), (e, t) => (
|
|
377
|
-
w("div",
|
|
378
|
-
|
|
379
|
-
|
|
369
|
+
), (e, t) => (z(), j("div", nt, [
|
|
370
|
+
w("div", ot, [
|
|
371
|
+
n.withActivator ? Qe(e.$slots, "activator", { key: 0 }, () => [
|
|
372
|
+
_(Z, {
|
|
380
373
|
content: u.main_tooltip,
|
|
381
|
-
placement: s(
|
|
382
|
-
size: s(
|
|
374
|
+
placement: s(Q).Top,
|
|
375
|
+
size: s(J).S
|
|
383
376
|
}, {
|
|
384
|
-
default:
|
|
385
|
-
|
|
386
|
-
variation:
|
|
387
|
-
disabled:
|
|
388
|
-
"bg-flat":
|
|
389
|
-
size: s(
|
|
390
|
-
onClick: t[0] || (t[0] = (l) =>
|
|
377
|
+
default: T(() => [
|
|
378
|
+
_(B, {
|
|
379
|
+
variation: we.value,
|
|
380
|
+
disabled: $.disabledOpen,
|
|
381
|
+
"bg-flat": S.value,
|
|
382
|
+
size: s(L).MCompact,
|
|
383
|
+
onClick: t[0] || (t[0] = (l) => S.value = !S.value)
|
|
391
384
|
}, {
|
|
392
|
-
"icon-prepend":
|
|
393
|
-
|
|
385
|
+
"icon-prepend": T(() => [
|
|
386
|
+
_(Y, { name: "filter_list" })
|
|
394
387
|
]),
|
|
395
388
|
_: 1
|
|
396
389
|
}, 8, ["variation", "disabled", "bg-flat", "size"])
|
|
397
390
|
]),
|
|
398
391
|
_: 1
|
|
399
392
|
}, 8, ["content", "placement", "size"])
|
|
400
|
-
]) :
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
name:
|
|
404
|
-
"selected-preset":
|
|
405
|
-
onPresetSelected:
|
|
393
|
+
]) : P("", !0),
|
|
394
|
+
n.withPresets && ae.value ? (z(), j("div", rt, [
|
|
395
|
+
_(s(be), {
|
|
396
|
+
name: n.name,
|
|
397
|
+
"selected-preset": C.value,
|
|
398
|
+
onPresetSelected: ie
|
|
406
399
|
}, null, 8, ["name", "selected-preset"])
|
|
407
|
-
])) :
|
|
400
|
+
])) : P("", !0)
|
|
408
401
|
]),
|
|
409
|
-
|
|
410
|
-
w("div",
|
|
411
|
-
w("div",
|
|
412
|
-
w("div",
|
|
413
|
-
|
|
414
|
-
modelValue:
|
|
415
|
-
"onUpdate:modelValue": t[1] || (t[1] = (l) =>
|
|
402
|
+
S.value ? (z(), j("div", it, [
|
|
403
|
+
w("div", st, [
|
|
404
|
+
w("div", ut, [
|
|
405
|
+
w("div", ct, [
|
|
406
|
+
_(s(de), {
|
|
407
|
+
modelValue: h.value,
|
|
408
|
+
"onUpdate:modelValue": t[1] || (t[1] = (l) => h.value = l),
|
|
416
409
|
title: u.value,
|
|
417
|
-
options:
|
|
410
|
+
options: Ee.value,
|
|
418
411
|
placeholder: u.choose,
|
|
419
412
|
"hide-selected": !1,
|
|
420
413
|
class: "mc-filter__main-select",
|
|
421
414
|
name: "filter_value_name"
|
|
422
415
|
}, null, 8, ["modelValue", "title", "options", "placeholder"]),
|
|
423
|
-
d.value ? (
|
|
424
|
-
|
|
416
|
+
d.value ? (z(), j(ue, { key: 0 }, [
|
|
417
|
+
Te.value ? (z(), D(s(_e), {
|
|
425
418
|
key: 0,
|
|
426
419
|
"model-value": v.value,
|
|
427
420
|
filter: d.value,
|
|
428
421
|
placeholders: u,
|
|
429
|
-
"current-values":
|
|
430
|
-
"use-timezone":
|
|
422
|
+
"current-values": a.value ? {} : o.value,
|
|
423
|
+
"use-timezone": n.useTimezone,
|
|
431
424
|
"onUpdate:modelValue": F
|
|
432
|
-
}, null, 8, ["model-value", "filter", "placeholders", "current-values", "use-timezone"])) :
|
|
425
|
+
}, null, 8, ["model-value", "filter", "placeholders", "current-values", "use-timezone"])) : Ve.value ? (z(), D(s(fe), {
|
|
433
426
|
key: 1,
|
|
434
427
|
"model-value": v.value,
|
|
435
428
|
filter: d.value,
|
|
436
429
|
placeholders: u,
|
|
437
|
-
"current-values":
|
|
438
|
-
"use-timezone":
|
|
430
|
+
"current-values": a.value ? {} : o.value,
|
|
431
|
+
"use-timezone": n.useTimezone,
|
|
439
432
|
"onUpdate:modelValue": F
|
|
440
|
-
}, null, 8, ["model-value", "filter", "placeholders", "current-values", "use-timezone"])) :
|
|
433
|
+
}, null, 8, ["model-value", "filter", "placeholders", "current-values", "use-timezone"])) : Se.value ? (z(), D(s(ye), {
|
|
441
434
|
key: 2,
|
|
442
435
|
"model-value": v.value,
|
|
443
436
|
filter: d.value,
|
|
444
437
|
placeholders: u,
|
|
445
|
-
"current-values":
|
|
446
|
-
"use-timezone":
|
|
438
|
+
"current-values": a.value ? {} : o.value,
|
|
439
|
+
"use-timezone": n.useTimezone,
|
|
447
440
|
"onUpdate:modelValue": F
|
|
448
|
-
}, null, 8, ["model-value", "filter", "placeholders", "current-values", "use-timezone"])) :
|
|
441
|
+
}, null, 8, ["model-value", "filter", "placeholders", "current-values", "use-timezone"])) : ke.value ? (z(), D(s(pe), {
|
|
449
442
|
key: 3,
|
|
450
443
|
"model-value": v.value,
|
|
451
444
|
filter: d.value,
|
|
452
445
|
placeholders: u,
|
|
453
|
-
"current-values":
|
|
454
|
-
"use-timezone":
|
|
446
|
+
"current-values": a.value ? {} : o.value,
|
|
447
|
+
"use-timezone": n.useTimezone,
|
|
455
448
|
"onUpdate:modelValue": F
|
|
456
|
-
}, null, 8, ["model-value", "filter", "placeholders", "current-values", "use-timezone"])) :
|
|
457
|
-
|
|
449
|
+
}, null, 8, ["model-value", "filter", "placeholders", "current-values", "use-timezone"])) : P("", !0),
|
|
450
|
+
Pe.value ? (z(), D(B, {
|
|
458
451
|
key: 4,
|
|
459
|
-
variation: `${s(
|
|
460
|
-
onClick:
|
|
452
|
+
variation: `${s(q).component.button}-outline`,
|
|
453
|
+
onClick: Oe
|
|
461
454
|
}, {
|
|
462
|
-
default:
|
|
463
|
-
|
|
455
|
+
default: T(() => [
|
|
456
|
+
N(R(u.actions[a.value ? "save" : "add"]), 1)
|
|
464
457
|
]),
|
|
465
458
|
_: 1
|
|
466
|
-
}, 8, ["variation"])) :
|
|
467
|
-
], 64)) :
|
|
459
|
+
}, 8, ["variation"])) : P("", !0)
|
|
460
|
+
], 64)) : P("", !0)
|
|
468
461
|
])
|
|
469
462
|
]),
|
|
470
|
-
|
|
463
|
+
_(s(me), {
|
|
471
464
|
"model-value": m.value,
|
|
472
|
-
filters:
|
|
465
|
+
filters: $.filters,
|
|
473
466
|
placeholders: u,
|
|
474
|
-
"active-tag":
|
|
475
|
-
"use-timezone":
|
|
476
|
-
onTagChange: t[2] || (t[2] = (l) =>
|
|
467
|
+
"active-tag": a.value,
|
|
468
|
+
"use-timezone": n.useTimezone,
|
|
469
|
+
onTagChange: t[2] || (t[2] = (l) => Be(l)),
|
|
477
470
|
onTagClick: t[3] || (t[3] = (l) => Ae(l)),
|
|
478
|
-
onClear:
|
|
471
|
+
onClear: $e
|
|
479
472
|
}, null, 8, ["model-value", "filters", "placeholders", "active-tag", "use-timezone"]),
|
|
480
|
-
w("section",
|
|
481
|
-
(
|
|
473
|
+
w("section", vt, [
|
|
474
|
+
(z(!0), j(ue, null, Xe(Fe.value, (l, i) => (z(), D(Z, {
|
|
482
475
|
key: i,
|
|
483
476
|
content: l.description || "",
|
|
484
|
-
placement: s(
|
|
485
|
-
size: s(
|
|
477
|
+
placement: s(Q).Top,
|
|
478
|
+
size: s(J).S
|
|
486
479
|
}, {
|
|
487
|
-
default:
|
|
488
|
-
|
|
480
|
+
default: T(() => [
|
|
481
|
+
_(s(ge), {
|
|
489
482
|
variation: "gray-outline",
|
|
490
483
|
"text-color": "black",
|
|
491
|
-
size: s(
|
|
492
|
-
onClick: (
|
|
484
|
+
size: s(Ze).S,
|
|
485
|
+
onClick: (p) => xe(l)
|
|
493
486
|
}, {
|
|
494
|
-
default:
|
|
495
|
-
|
|
487
|
+
default: T(() => [
|
|
488
|
+
N(R(l.name), 1)
|
|
496
489
|
]),
|
|
497
490
|
_: 2
|
|
498
491
|
}, 1032, ["size", "onClick"])
|
|
@@ -500,49 +493,49 @@ const at = { class: "mc-filter" }, nt = { class: "mc-filter__header" }, ot = {
|
|
|
500
493
|
_: 2
|
|
501
494
|
}, 1032, ["content", "placement", "size"]))), 128))
|
|
502
495
|
]),
|
|
503
|
-
w("div",
|
|
496
|
+
w("div", dt, [
|
|
504
497
|
w("div", mt, [
|
|
505
|
-
|
|
506
|
-
disabled:
|
|
507
|
-
loading:
|
|
508
|
-
variation: s(
|
|
509
|
-
size: s(
|
|
510
|
-
onClick:
|
|
498
|
+
_(B, {
|
|
499
|
+
disabled: le.value,
|
|
500
|
+
loading: $.buttonConfirmIsLoading,
|
|
501
|
+
variation: s(q).component.button,
|
|
502
|
+
size: s(L).S,
|
|
503
|
+
onClick: re
|
|
511
504
|
}, {
|
|
512
|
-
default:
|
|
513
|
-
|
|
505
|
+
default: T(() => [
|
|
506
|
+
N(R(u.actions.confirm), 1)
|
|
514
507
|
]),
|
|
515
508
|
_: 1
|
|
516
509
|
}, 8, ["disabled", "loading", "variation", "size"]),
|
|
517
|
-
|
|
510
|
+
C.value ? (z(), D(B, {
|
|
518
511
|
key: 0,
|
|
519
512
|
variation: "red-outline",
|
|
520
|
-
size: s(
|
|
521
|
-
onClick: t[4] || (t[4] = (l) =>
|
|
513
|
+
size: s(L).S,
|
|
514
|
+
onClick: t[4] || (t[4] = (l) => Ie(C.value))
|
|
522
515
|
}, {
|
|
523
|
-
"icon-append":
|
|
524
|
-
|
|
516
|
+
"icon-append": T(() => [
|
|
517
|
+
_(Y, {
|
|
525
518
|
name: "delete",
|
|
526
519
|
size: "250",
|
|
527
520
|
color: "red"
|
|
528
521
|
})
|
|
529
522
|
]),
|
|
530
|
-
default:
|
|
531
|
-
|
|
523
|
+
default: T(() => [
|
|
524
|
+
N(R(u.actions.delete_preset) + " ", 1)
|
|
532
525
|
]),
|
|
533
526
|
_: 1
|
|
534
|
-
}, 8, ["size"])) :
|
|
527
|
+
}, 8, ["size"])) : P("", !0)
|
|
535
528
|
]),
|
|
536
|
-
w("div",
|
|
537
|
-
|
|
538
|
-
"icon-append":
|
|
539
|
-
|
|
529
|
+
w("div", pt, [
|
|
530
|
+
_(lt, { class: "mc-filter__preset-input-title" }, {
|
|
531
|
+
"icon-append": T(() => [
|
|
532
|
+
_(Z, {
|
|
540
533
|
content: u.enter_preset_tooltip,
|
|
541
|
-
placement: s(
|
|
542
|
-
size: s(
|
|
534
|
+
placement: s(Q).Top,
|
|
535
|
+
size: s(J).S
|
|
543
536
|
}, {
|
|
544
|
-
default:
|
|
545
|
-
|
|
537
|
+
default: T(() => [
|
|
538
|
+
_(Y, {
|
|
546
539
|
name: "help_solid",
|
|
547
540
|
size: "250",
|
|
548
541
|
color: "outline-gray"
|
|
@@ -551,38 +544,38 @@ const at = { class: "mc-filter" }, nt = { class: "mc-filter__header" }, ot = {
|
|
|
551
544
|
_: 1
|
|
552
545
|
}, 8, ["content", "placement", "size"])
|
|
553
546
|
]),
|
|
554
|
-
default:
|
|
555
|
-
|
|
547
|
+
default: T(() => [
|
|
548
|
+
N(R(u.create_preset) + " ", 1)
|
|
556
549
|
]),
|
|
557
550
|
_: 1
|
|
558
551
|
}),
|
|
559
|
-
|
|
560
|
-
modelValue:
|
|
561
|
-
"onUpdate:modelValue": t[5] || (t[5] = (l) =>
|
|
552
|
+
_(at, {
|
|
553
|
+
modelValue: K.value,
|
|
554
|
+
"onUpdate:modelValue": t[5] || (t[5] = (l) => K.value = l),
|
|
562
555
|
placeholder: u.enter_preset_name,
|
|
563
556
|
"max-length": 30,
|
|
564
557
|
width: "250px",
|
|
565
558
|
class: "mc-filter__preset-input",
|
|
566
559
|
name: "preset_name"
|
|
567
560
|
}, null, 8, ["modelValue", "placeholder"]),
|
|
568
|
-
|
|
561
|
+
_(B, {
|
|
569
562
|
disabled: De.value,
|
|
570
|
-
variation: `${s(
|
|
571
|
-
size: s(
|
|
572
|
-
onClick:
|
|
563
|
+
variation: `${s(q).component.button}-outline`,
|
|
564
|
+
size: s(L).S,
|
|
565
|
+
onClick: Ue
|
|
573
566
|
}, {
|
|
574
|
-
default:
|
|
575
|
-
|
|
567
|
+
default: T(() => [
|
|
568
|
+
N(R(u.actions.create), 1)
|
|
576
569
|
]),
|
|
577
570
|
_: 1
|
|
578
571
|
}, 8, ["disabled", "variation", "size"])
|
|
579
572
|
])
|
|
580
573
|
])
|
|
581
574
|
])
|
|
582
|
-
])) :
|
|
575
|
+
])) : P("", !0)
|
|
583
576
|
]));
|
|
584
577
|
}
|
|
585
578
|
});
|
|
586
579
|
export {
|
|
587
|
-
|
|
580
|
+
Nt as default
|
|
588
581
|
};
|
package/dist/styles/mixins.scss
CHANGED
|
@@ -382,7 +382,17 @@
|
|
|
382
382
|
}
|
|
383
383
|
}
|
|
384
384
|
|
|
385
|
-
|
|
385
|
+
/**
|
|
386
|
+
* $preserve-empty-lines — сохранять пустые строки, набранные в редакторе (Enter x2 / Shift+Enter).
|
|
387
|
+
* По умолчанию выключено: пустые параграфы прячутся, как и раньше.
|
|
388
|
+
* Включать только там, где рендерится контент из визуального редактора, и пустая строка —
|
|
389
|
+
* осмысленная часть вёрстки автора. Для текстов из бэка/переводов оставлять false.
|
|
390
|
+
*/
|
|
391
|
+
@mixin editor-default-styles(
|
|
392
|
+
$main-font-size: $font-size-300,
|
|
393
|
+
$main-line-height: $line-height-300,
|
|
394
|
+
$preserve-empty-lines: false
|
|
395
|
+
) {
|
|
386
396
|
p,
|
|
387
397
|
strong,
|
|
388
398
|
em,
|
|
@@ -395,6 +405,21 @@
|
|
|
395
405
|
display: none;
|
|
396
406
|
}
|
|
397
407
|
}
|
|
408
|
+
@if $preserve-empty-lines {
|
|
409
|
+
/**
|
|
410
|
+
* Пустой <p> без контента имеет нулевую высоту, а висящий <br> в конце абзаца
|
|
411
|
+
* браузер не отрисовывает вовсе. Zero-width space даёт последней строке содержимое,
|
|
412
|
+
* поэтому отступ, который автор видит в редакторе, не схлопывается при показе.
|
|
413
|
+
*/
|
|
414
|
+
p {
|
|
415
|
+
&:empty {
|
|
416
|
+
display: block;
|
|
417
|
+
}
|
|
418
|
+
&::after {
|
|
419
|
+
content: '\200B';
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
}
|
|
398
423
|
ol,
|
|
399
424
|
ul {
|
|
400
425
|
margin-block-start: 0;
|
|
@@ -704,8 +729,8 @@
|
|
|
704
729
|
}
|
|
705
730
|
|
|
706
731
|
|
|
707
|
-
@mixin editor-notification-styles {
|
|
708
|
-
@include editor-default-styles;
|
|
732
|
+
@mixin editor-notification-styles($preserve-empty-lines: false) {
|
|
733
|
+
@include editor-default-styles($preserve-empty-lines: $preserve-empty-lines);
|
|
709
734
|
h1 {
|
|
710
735
|
margin-bottom: $space-250;
|
|
711
736
|
img {
|
|
@@ -751,7 +776,7 @@
|
|
|
751
776
|
}
|
|
752
777
|
}
|
|
753
778
|
|
|
754
|
-
@mixin editor-assist-styles {
|
|
779
|
+
@mixin editor-assist-styles($preserve-empty-lines: false) {
|
|
755
780
|
img {
|
|
756
781
|
max-width: 100%;
|
|
757
782
|
width: 100%;
|
|
@@ -759,5 +784,5 @@
|
|
|
759
784
|
object-fit: cover;
|
|
760
785
|
margin: 16px 0;
|
|
761
786
|
}
|
|
762
|
-
@include editor-default-styles;
|
|
787
|
+
@include editor-default-styles($preserve-empty-lines: $preserve-empty-lines);
|
|
763
788
|
}
|
|
@@ -79,6 +79,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<im
|
|
|
79
79
|
"update:modelValue": (value: IFilterValue) => any;
|
|
80
80
|
open: (value: boolean) => any;
|
|
81
81
|
"delete-preset": (value: string) => any;
|
|
82
|
+
"update:selectedPreset": (value: IFilterPreset | null) => any;
|
|
82
83
|
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
83
84
|
open: {
|
|
84
85
|
type: PropType<boolean>;
|
|
@@ -158,6 +159,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<im
|
|
|
158
159
|
"onUpdate:modelValue"?: ((value: IFilterValue) => any) | undefined;
|
|
159
160
|
onOpen?: ((value: boolean) => any) | undefined;
|
|
160
161
|
"onDelete-preset"?: ((value: string) => any) | undefined;
|
|
162
|
+
"onUpdate:selectedPreset"?: ((value: IFilterPreset | null) => any) | undefined;
|
|
161
163
|
}>, {
|
|
162
164
|
modelValue: IFilterValue;
|
|
163
165
|
placeholders: Partial<IFilterPlaceholders>;
|
|
@@ -56,6 +56,7 @@ declare const McFilter: {
|
|
|
56
56
|
"onUpdate:modelValue"?: ((value: import('../../../types/IFilter').IFilterValue) => any) | undefined;
|
|
57
57
|
onOpen?: ((value: boolean) => any) | undefined;
|
|
58
58
|
"onDelete-preset"?: ((value: string) => any) | undefined;
|
|
59
|
+
"onUpdate:selectedPreset"?: ((value: import('../../../types/IFilter').IFilterPreset | null) => any) | undefined;
|
|
59
60
|
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
60
61
|
error: (value: string) => any;
|
|
61
62
|
confirm: (value: import('../../../types/IFilter').IFilterValue) => any;
|
|
@@ -63,6 +64,7 @@ declare const McFilter: {
|
|
|
63
64
|
"update:modelValue": (value: import('../../../types/IFilter').IFilterValue) => any;
|
|
64
65
|
open: (value: boolean) => any;
|
|
65
66
|
"delete-preset": (value: string) => any;
|
|
67
|
+
"update:selectedPreset": (value: import('../../../types/IFilter').IFilterPreset | null) => any;
|
|
66
68
|
}, import('vue').PublicProps, {
|
|
67
69
|
modelValue: import('../../../types/IFilter').IFilterValue;
|
|
68
70
|
placeholders: Partial<import('../../../types/IFilter').IFilterPlaceholders>;
|
|
@@ -138,6 +140,7 @@ declare const McFilter: {
|
|
|
138
140
|
"onUpdate:modelValue"?: ((value: import('../../../types/IFilter').IFilterValue) => any) | undefined;
|
|
139
141
|
onOpen?: ((value: boolean) => any) | undefined;
|
|
140
142
|
"onDelete-preset"?: ((value: string) => any) | undefined;
|
|
143
|
+
"onUpdate:selectedPreset"?: ((value: import('../../../types/IFilter').IFilterPreset | null) => any) | undefined;
|
|
141
144
|
}>, {}, {}, {}, {}, {
|
|
142
145
|
modelValue: import('../../../types/IFilter').IFilterValue;
|
|
143
146
|
placeholders: Partial<import('../../../types/IFilter').IFilterPlaceholders>;
|
|
@@ -210,6 +213,7 @@ declare const McFilter: {
|
|
|
210
213
|
"onUpdate:modelValue"?: ((value: import('../../../types/IFilter').IFilterValue) => any) | undefined;
|
|
211
214
|
onOpen?: ((value: boolean) => any) | undefined;
|
|
212
215
|
"onDelete-preset"?: ((value: string) => any) | undefined;
|
|
216
|
+
"onUpdate:selectedPreset"?: ((value: import('../../../types/IFilter').IFilterPreset | null) => any) | undefined;
|
|
213
217
|
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
214
218
|
error: (value: string) => any;
|
|
215
219
|
confirm: (value: import('../../../types/IFilter').IFilterValue) => any;
|
|
@@ -217,6 +221,7 @@ declare const McFilter: {
|
|
|
217
221
|
"update:modelValue": (value: import('../../../types/IFilter').IFilterValue) => any;
|
|
218
222
|
open: (value: boolean) => any;
|
|
219
223
|
"delete-preset": (value: string) => any;
|
|
224
|
+
"update:selectedPreset": (value: import('../../../types/IFilter').IFilterPreset | null) => any;
|
|
220
225
|
}, string, {
|
|
221
226
|
modelValue: import('../../../types/IFilter').IFilterValue;
|
|
222
227
|
placeholders: Partial<import('../../../types/IFilter').IFilterPlaceholders>;
|