@topvisor/ui 1.0.23-dev.6 → 1.0.24
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/components/project/selectorRegion/selectorRegion.d.ts +2 -0
- package/components/project/selectorRegion/utils/consts.d.ts +13 -0
- package/package.json +1 -1
- package/project/project.amd.js +1 -1
- package/project/project.amd.js.map +1 -1
- package/project/project.js +401 -401
- package/project/project.js.map +1 -1
- package/components/formsExt/navigationMenu/navigationMenu.d.ts +0 -24
- package/components/formsExt/navigationMenu/stories/items.d.ts +0 -3
package/project/project.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { Core as
|
|
2
|
-
import { defineComponent as
|
|
3
|
-
import { u as
|
|
4
|
-
import { _ as
|
|
5
|
-
import { _ as
|
|
6
|
-
import { u as
|
|
7
|
-
import { getSearcherGIcon as
|
|
8
|
-
import { storage as
|
|
9
|
-
import { TopPopupWorker as
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
const
|
|
1
|
+
import { Core as be } from "../core/app.js";
|
|
2
|
+
import { defineComponent as P, mergeModels as N, useModel as D, computed as E, createElementBlock as B, openBlock as k, createBlock as b, unref as y, withCtx as _, Fragment as Y, renderList as de, normalizeClass as X, createElementVNode as he, toDisplayString as M, createVNode as A, createTextVNode as G, ref as F, watch as w, createCommentVNode as q, withModifiers as J, mergeProps as Se, withKeys as ce, nextTick as Ve, resolveDirective as Ee, withDirectives as Ke, resolveDynamicComponent as Me, renderSlot as $e, shallowRef as we, createSlots as Le, reactive as Ae, toValue as ge, isRef as me } from "vue";
|
|
3
|
+
import { u as R, C as z, _ as H, x as se, d as Re } from "../.chunks/forms-BEOYaG5x.es.js";
|
|
4
|
+
import { _ as Ie, a as ue, b as Oe } from "../.chunks/listItem.vue_vue_type_script_setup_true_lang-BzHSHzgd.es.js";
|
|
5
|
+
import { _ as Ne } from "../.chunks/menu.vue_vue_type_style_index_0_lang-D38vuK6Z.es.js";
|
|
6
|
+
import { u as De } from "../.chunks/utils-Lh80NiyA.es.js";
|
|
7
|
+
import { getSearcherGIcon as Fe, getLangLabel as qe, getDeviceGIcon as Pe } from "../utils/searchers.js";
|
|
8
|
+
import { storage as W } from "../utils/dom.js";
|
|
9
|
+
import { TopPopupWorker as Ue } from "../popup/worker.js";
|
|
10
|
+
const Be = ["../assets/project.css"].map((t) => import.meta.resolve(t));
|
|
11
|
+
be.insertCSSLinkToPage(Be, !0);
|
|
12
|
+
const je = { class: "top-selectorCompetitors" }, Je = { class: "top-ellipsis1" }, ze = /* @__PURE__ */ P({
|
|
13
13
|
__name: "selectorCompetitors",
|
|
14
|
-
props: /* @__PURE__ */
|
|
14
|
+
props: /* @__PURE__ */ N({
|
|
15
15
|
modelValue: {},
|
|
16
16
|
items: {},
|
|
17
17
|
showSelectAllItem: { type: Boolean, default: !0 }
|
|
@@ -21,59 +21,59 @@ const Pe = { class: "top-selectorCompetitors" }, Ue = { class: "top-ellipsis1" }
|
|
|
21
21
|
}),
|
|
22
22
|
emits: ["update:modelValue"],
|
|
23
23
|
setup(t) {
|
|
24
|
-
const
|
|
25
|
-
if (
|
|
24
|
+
const o = t, n = D(t, "modelValue"), e = E(() => {
|
|
25
|
+
if (o.showSelectAllItem)
|
|
26
26
|
return {
|
|
27
27
|
icon: "",
|
|
28
|
-
title:
|
|
28
|
+
title: R().Common.Select_all,
|
|
29
29
|
value: "all",
|
|
30
30
|
content: ""
|
|
31
31
|
};
|
|
32
32
|
});
|
|
33
|
-
return (i, a) => (k(), B("div",
|
|
34
|
-
y(
|
|
33
|
+
return (i, a) => (k(), B("div", je, [
|
|
34
|
+
y(z).state.isMobile ? (k(), b(Ie, { key: 0 }, {
|
|
35
35
|
opener: _(() => [
|
|
36
|
-
|
|
36
|
+
A(H, {
|
|
37
37
|
class: "top-selectorCompetitors_opener",
|
|
38
38
|
color: "theme",
|
|
39
39
|
icon: "",
|
|
40
40
|
icon2: ""
|
|
41
41
|
}, {
|
|
42
42
|
default: _(() => {
|
|
43
|
-
var
|
|
43
|
+
var l;
|
|
44
44
|
return [
|
|
45
|
-
|
|
46
|
-
var
|
|
47
|
-
return d.value === ((
|
|
48
|
-
})) == null ? void 0 :
|
|
45
|
+
G(M((l = i.items.find((d) => {
|
|
46
|
+
var f;
|
|
47
|
+
return d.value === ((f = n.value) == null ? void 0 : f[0]);
|
|
48
|
+
})) == null ? void 0 : l.content), 1)
|
|
49
49
|
];
|
|
50
50
|
}),
|
|
51
51
|
_: 1
|
|
52
52
|
})
|
|
53
53
|
]),
|
|
54
54
|
contentList: _(() => [
|
|
55
|
-
(k(!0), B(
|
|
56
|
-
var
|
|
57
|
-
return k(), b(
|
|
58
|
-
class:
|
|
59
|
-
"top-active": (
|
|
55
|
+
(k(!0), B(Y, null, de(i.items, (l, d) => {
|
|
56
|
+
var f;
|
|
57
|
+
return k(), b(ue, {
|
|
58
|
+
class: X({
|
|
59
|
+
"top-active": (f = n.value) == null ? void 0 : f.includes(l.value)
|
|
60
60
|
}),
|
|
61
|
-
"data-top-icon":
|
|
62
|
-
title:
|
|
63
|
-
onClick: () =>
|
|
61
|
+
"data-top-icon": l.icon,
|
|
62
|
+
title: l.title,
|
|
63
|
+
onClick: () => n.value = [l.value]
|
|
64
64
|
}, {
|
|
65
65
|
default: _(() => [
|
|
66
|
-
|
|
66
|
+
he("span", Je, M(l.content), 1)
|
|
67
67
|
]),
|
|
68
68
|
_: 2
|
|
69
69
|
}, 1032, ["class", "data-top-icon", "title", "onClick"]);
|
|
70
70
|
}), 256))
|
|
71
71
|
]),
|
|
72
72
|
_: 1
|
|
73
|
-
})) : (k(), b(
|
|
73
|
+
})) : (k(), b(Ne, {
|
|
74
74
|
key: 1,
|
|
75
|
-
modelValue:
|
|
76
|
-
"onUpdate:modelValue": a[0] || (a[0] = (
|
|
75
|
+
modelValue: n.value,
|
|
76
|
+
"onUpdate:modelValue": a[0] || (a[0] = (l) => n.value = l),
|
|
77
77
|
items: i.items,
|
|
78
78
|
isMultiple: !0,
|
|
79
79
|
styling: "bar",
|
|
@@ -82,7 +82,7 @@ const Pe = { class: "top-selectorCompetitors" }, Ue = { class: "top-ellipsis1" }
|
|
|
82
82
|
}, null, 8, ["modelValue", "items", "selectAllItem"]))
|
|
83
83
|
]));
|
|
84
84
|
}
|
|
85
|
-
}),
|
|
85
|
+
}), K = -1, p = -2, te = -1, Ge = {
|
|
86
86
|
0: "Yandex",
|
|
87
87
|
1: "Google",
|
|
88
88
|
4: "YouTube",
|
|
@@ -92,95 +92,95 @@ const Pe = { class: "top-selectorCompetitors" }, Ue = { class: "top-ellipsis1" }
|
|
|
92
92
|
9: "GoogleStore",
|
|
93
93
|
20: "Yandex.com",
|
|
94
94
|
21: "Yandex.com.tr"
|
|
95
|
-
},
|
|
96
|
-
key:
|
|
95
|
+
}, ae = {
|
|
96
|
+
key: p,
|
|
97
97
|
name: "--",
|
|
98
|
-
index:
|
|
99
|
-
},
|
|
100
|
-
key:
|
|
98
|
+
index: p
|
|
99
|
+
}, xe = {
|
|
100
|
+
key: p,
|
|
101
101
|
name: "--",
|
|
102
|
-
regions: [
|
|
103
|
-
regionByIndex: /* @__PURE__ */ new Map([[
|
|
104
|
-
}, te = {
|
|
105
|
-
key: x,
|
|
106
|
-
name: "Autoselect",
|
|
107
|
-
index: x
|
|
102
|
+
regions: [ae],
|
|
103
|
+
regionByIndex: /* @__PURE__ */ new Map([[p, ae]])
|
|
108
104
|
}, oe = {
|
|
109
|
-
key:
|
|
105
|
+
key: p,
|
|
106
|
+
name: "Autoselect",
|
|
107
|
+
index: p
|
|
108
|
+
}, ie = {
|
|
109
|
+
key: p,
|
|
110
110
|
name: "Autoselect",
|
|
111
|
-
regions: [
|
|
112
|
-
regionByIndex: /* @__PURE__ */ new Map([[
|
|
113
|
-
},
|
|
111
|
+
regions: [oe],
|
|
112
|
+
regionByIndex: /* @__PURE__ */ new Map([[p, oe]])
|
|
113
|
+
}, fe = {
|
|
114
114
|
countryCode: "00",
|
|
115
115
|
depth: 1,
|
|
116
116
|
device: 0,
|
|
117
|
-
key:
|
|
118
|
-
index:
|
|
117
|
+
key: te,
|
|
118
|
+
index: te,
|
|
119
119
|
lang: "ru",
|
|
120
120
|
name: "Without region"
|
|
121
|
-
},
|
|
121
|
+
}, We = () => (oe.name = R().Common.Autoselect, oe), Ye = () => (We(), ie.name = R().Common.Autoselect, console.log(ie), ie), He = () => (fe.name = R().Keywords.Without_region, fe), ke = (t = !1, o = !1, n = []) => {
|
|
122
122
|
let e;
|
|
123
|
-
return t ? e =
|
|
124
|
-
},
|
|
123
|
+
return t ? e = Qe(n) : e = Ce(n), o && e.set(p, Ye()), e.size || e.set(p, xe), e;
|
|
124
|
+
}, Ce = (t, o = !0, n = [], e = !1) => {
|
|
125
125
|
const i = /* @__PURE__ */ new Map();
|
|
126
126
|
return t.forEach((a) => {
|
|
127
127
|
if (!a.enabled || e && typeof a.key == "number" && a.key > 1) return;
|
|
128
|
-
const
|
|
129
|
-
|
|
130
|
-
if (
|
|
131
|
-
const
|
|
132
|
-
|
|
133
|
-
}), !
|
|
134
|
-
}),
|
|
128
|
+
const l = { ...a };
|
|
129
|
+
l.regionByIndex = /* @__PURE__ */ new Map(), a.regions && a.regions.forEach((d) => {
|
|
130
|
+
if (o && !d.enabled) return;
|
|
131
|
+
const f = { ...d };
|
|
132
|
+
l.regionByIndex.set(f.index, f);
|
|
133
|
+
}), !l.regionByIndex.size && !n.length && l.regionByIndex.set(ae.index, ae), typeof l.key == "number" && i.set(l.key, l);
|
|
134
|
+
}), n.forEach((a) => {
|
|
135
135
|
if (i.has(a)) return;
|
|
136
|
-
const
|
|
136
|
+
const l = {
|
|
137
137
|
key: a,
|
|
138
|
-
name:
|
|
138
|
+
name: Ge[a],
|
|
139
139
|
regions: [],
|
|
140
140
|
regionByIndex: /* @__PURE__ */ new Map()
|
|
141
141
|
};
|
|
142
|
-
i.set(
|
|
142
|
+
i.set(l.key, l);
|
|
143
143
|
}), i;
|
|
144
|
-
},
|
|
145
|
-
const
|
|
146
|
-
if (
|
|
147
|
-
const
|
|
148
|
-
|
|
144
|
+
}, Qe = (t) => {
|
|
145
|
+
const o = Ce(t, !1, [0, 1], !0);
|
|
146
|
+
if (o.has(2)) {
|
|
147
|
+
const n = o.get(2);
|
|
148
|
+
n && (n.regionByIndex = /* @__PURE__ */ new Map());
|
|
149
149
|
}
|
|
150
|
-
return
|
|
151
|
-
if (!
|
|
152
|
-
const e = { ...
|
|
153
|
-
|
|
154
|
-
}),
|
|
155
|
-
},
|
|
156
|
-
const e =
|
|
150
|
+
return o.forEach((n) => {
|
|
151
|
+
if (!n.regionByIndex) return;
|
|
152
|
+
const e = { ...He() };
|
|
153
|
+
n.regionByIndex.set(e.index, e);
|
|
154
|
+
}), o;
|
|
155
|
+
}, Xe = (t, o, n = []) => {
|
|
156
|
+
const e = ke(t, !1, n);
|
|
157
157
|
let i;
|
|
158
158
|
return e.forEach((a) => {
|
|
159
|
-
if (!(
|
|
160
|
-
if (!i && !(
|
|
161
|
-
return
|
|
159
|
+
if (!(o.searcher_key !== void 0 && o.searcher_key != a.key) && a.regions && (a.regions.forEach((l) => {
|
|
160
|
+
if (!i && !(o.key !== void 0 && o.key != l.key) && !(o.index !== void 0 && o.index != l.index) && !(!t && (o.lang !== void 0 && o.lang != l.lang || o.device !== void 0 && o.device != l.device)))
|
|
161
|
+
return l.searcher_key = a.key, i = l, !1;
|
|
162
162
|
}), i))
|
|
163
163
|
return !1;
|
|
164
164
|
}), i;
|
|
165
|
-
},
|
|
166
|
-
const
|
|
165
|
+
}, Ze = De(() => import("../.chunks/dialog_selectorRegions-eupaC53Q.es.js")), et = (t, o) => {
|
|
166
|
+
const n = R(), e = F(o.value.keys().next().value ?? p), i = E(() => {
|
|
167
167
|
const a = /* @__PURE__ */ new Map();
|
|
168
|
-
if (
|
|
168
|
+
if (o.value.forEach((l) => {
|
|
169
169
|
let d = {
|
|
170
|
-
value:
|
|
171
|
-
title:
|
|
170
|
+
value: l.key,
|
|
171
|
+
title: l.name
|
|
172
172
|
};
|
|
173
|
-
t.addSearcherIcon && (d.icon =
|
|
174
|
-
}), t.addCompare && !a.has(
|
|
175
|
-
const
|
|
173
|
+
t.addSearcherIcon && (d.icon = Fe(l.key)), a.set(l.key, d);
|
|
174
|
+
}), t.addCompare && !a.has(p)) {
|
|
175
|
+
const l = {
|
|
176
176
|
value: "",
|
|
177
177
|
title: "--------------------",
|
|
178
178
|
disabled: !0
|
|
179
179
|
};
|
|
180
|
-
a.set(
|
|
180
|
+
a.set(l.value, l);
|
|
181
181
|
const d = {
|
|
182
|
-
value:
|
|
183
|
-
title:
|
|
182
|
+
value: K,
|
|
183
|
+
title: n.Common.Compare
|
|
184
184
|
};
|
|
185
185
|
a.set(d.value, d);
|
|
186
186
|
}
|
|
@@ -190,146 +190,146 @@ const Pe = { class: "top-selectorCompetitors" }, Ue = { class: "top-ellipsis1" }
|
|
|
190
190
|
searcherKey: e,
|
|
191
191
|
optionBySearcherKey: i
|
|
192
192
|
};
|
|
193
|
-
},
|
|
194
|
-
var a,
|
|
195
|
-
const
|
|
196
|
-
t.modelValue.length === 1 && (e.value = t.modelValue[0]), e.value ===
|
|
193
|
+
}, tt = (t, o) => {
|
|
194
|
+
var a, l, d;
|
|
195
|
+
const n = R(), e = F(p);
|
|
196
|
+
t.modelValue.length === 1 && (e.value = t.modelValue[0]), e.value === p && (t.forFrequency ? e.value = ((l = (a = o.value) == null ? void 0 : a.regionByIndex.values().next().value) == null ? void 0 : l.key) ?? p : e.value = ((d = o.value) == null ? void 0 : d.regionByIndex.keys().next().value) ?? p);
|
|
197
197
|
const i = E(() => {
|
|
198
|
-
var
|
|
199
|
-
const
|
|
200
|
-
return (
|
|
201
|
-
let r =
|
|
198
|
+
var h;
|
|
199
|
+
const f = /* @__PURE__ */ new Map();
|
|
200
|
+
return (h = o.value.regionByIndex) == null || h.forEach((S) => {
|
|
201
|
+
let r = S.name;
|
|
202
202
|
if (t.forFrequency) {
|
|
203
|
-
const
|
|
204
|
-
value:
|
|
203
|
+
const x = {
|
|
204
|
+
value: S.key,
|
|
205
205
|
title: r
|
|
206
206
|
};
|
|
207
|
-
|
|
207
|
+
f.has(S.key) || f.set(S.key, x);
|
|
208
208
|
return;
|
|
209
209
|
}
|
|
210
|
-
|
|
211
|
-
const g =
|
|
210
|
+
S.device && (r += " (" + n.Common["Device_" + S.device] + ")");
|
|
211
|
+
const g = qe(o.value.key || 0, S.lang ?? "");
|
|
212
212
|
g && (r += " / " + g);
|
|
213
213
|
const u = {
|
|
214
|
-
value:
|
|
214
|
+
value: S.index,
|
|
215
215
|
title: r,
|
|
216
|
-
icon:
|
|
216
|
+
icon: S.device ? Pe(S.device) : void 0
|
|
217
217
|
};
|
|
218
|
-
|
|
219
|
-
}),
|
|
218
|
+
f.set(S.index, u);
|
|
219
|
+
}), f;
|
|
220
220
|
});
|
|
221
|
-
return
|
|
221
|
+
return w(i, (f, h) => {
|
|
222
222
|
var u;
|
|
223
|
-
if (t.onlySearcher || e.value !== void 0 &&
|
|
223
|
+
if (t.onlySearcher || e.value !== void 0 && f.get(e.value))
|
|
224
224
|
return;
|
|
225
|
-
let
|
|
226
|
-
if (e.value ===
|
|
227
|
-
e.value =
|
|
225
|
+
let S = f.keys().next().value;
|
|
226
|
+
if (e.value === p || S === p) {
|
|
227
|
+
e.value = S;
|
|
228
228
|
return;
|
|
229
229
|
}
|
|
230
|
-
let r = ((u =
|
|
231
|
-
for (const [
|
|
230
|
+
let r = ((u = h == null ? void 0 : h.get(e.value)) == null ? void 0 : u.title) || "", g = -1;
|
|
231
|
+
for (const [x, T] of f.entries()) {
|
|
232
232
|
const C = T.title;
|
|
233
|
-
if (typeof C != "string" || typeof
|
|
233
|
+
if (typeof C != "string" || typeof x == "string")
|
|
234
234
|
break;
|
|
235
235
|
if (C === r) {
|
|
236
|
-
|
|
236
|
+
S = x;
|
|
237
237
|
break;
|
|
238
238
|
}
|
|
239
|
-
const V = new RegExp(` \\((${
|
|
240
|
-
let
|
|
241
|
-
C.indexOf(
|
|
239
|
+
const V = new RegExp(` \\((${n.Common.Device_1}|${n.Common.Device_2})\\)`);
|
|
240
|
+
let m = r, s = 3;
|
|
241
|
+
C.indexOf(m) === -1 && (m = r.replace(/^[^a-zа-я]/i, "").replace(V, ""), s--), C.indexOf(m) === -1 && (m = r.replace(/ \/.*/, ""), s--), C.indexOf(m) === -1 && (m = r.replace(/ \/.*/, ""), m = m.replace(/^[^a-zа-я]/i, "").replace(V, ""), s--), C.indexOf(m) !== -1 && (s <= g || (g = s, S = x));
|
|
242
242
|
}
|
|
243
|
-
e.value =
|
|
243
|
+
e.value = S;
|
|
244
244
|
}), {
|
|
245
245
|
regionIndex: e,
|
|
246
246
|
optionByRegionIndex: i
|
|
247
247
|
};
|
|
248
|
-
},
|
|
249
|
-
const e =
|
|
250
|
-
if (t.onlySearcher &&
|
|
251
|
-
e.value = Array.from(
|
|
248
|
+
}, at = (t, o, n) => {
|
|
249
|
+
const e = F([]), i = () => {
|
|
250
|
+
if (t.onlySearcher && o.value) {
|
|
251
|
+
e.value = Array.from(o.value.keys());
|
|
252
252
|
return;
|
|
253
253
|
}
|
|
254
|
-
let
|
|
254
|
+
let l = [];
|
|
255
255
|
if (t.modelValue.length > 1)
|
|
256
|
-
|
|
256
|
+
l = [...t.modelValue];
|
|
257
257
|
else
|
|
258
258
|
try {
|
|
259
|
-
|
|
259
|
+
l = JSON.parse(
|
|
260
260
|
localStorage.getItem("ui:project:regionSelector" + t.projectId + ":regionsIndexes")
|
|
261
261
|
) ?? [];
|
|
262
262
|
} catch {
|
|
263
263
|
}
|
|
264
|
-
|
|
264
|
+
l.length && (l = l.filter((d) => n.value.has(d))), l.length || (l = Array.from(n.value)), e.value = [...l];
|
|
265
265
|
}, a = () => {
|
|
266
266
|
e.value.length ? localStorage.setItem("ui:project:regionSelector:" + t.projectId + ":regionsIndexes", JSON.stringify(e.value)) : localStorage.removeItem("ui:project:regionSelector:" + t.projectId + ":regionsIndexes");
|
|
267
267
|
};
|
|
268
|
-
return
|
|
268
|
+
return w(e, () => {
|
|
269
269
|
a();
|
|
270
270
|
}), t.addCompare && i(), {
|
|
271
271
|
regionsIndexes: e
|
|
272
272
|
};
|
|
273
|
-
},
|
|
274
|
-
const
|
|
273
|
+
}, ot = (t) => {
|
|
274
|
+
const o = E(() => ke(t.forFrequency, t.autoRegion, t.searchers)), n = E(() => o.value.get(i.searcherKey.value) || xe), e = E(() => {
|
|
275
275
|
const r = /* @__PURE__ */ new Set();
|
|
276
|
-
return
|
|
276
|
+
return o.value.forEach((g) => {
|
|
277
277
|
g.regionByIndex.forEach((u) => {
|
|
278
|
-
u.index !==
|
|
278
|
+
u.index !== te && u.index !== p && r.add(u.index);
|
|
279
279
|
});
|
|
280
280
|
}), r;
|
|
281
|
-
}), i =
|
|
282
|
-
|
|
283
|
-
var g, u,
|
|
284
|
-
if (t.onlySearcher ?
|
|
285
|
-
let r =
|
|
286
|
-
|
|
287
|
-
var V,
|
|
281
|
+
}), i = et(t, o), a = tt(t, n), l = at(t, o, e);
|
|
282
|
+
w(o, () => {
|
|
283
|
+
var g, u, x, T;
|
|
284
|
+
if (t.onlySearcher ? l.regionsIndexes.value = Array.from(o.value.keys()) : l.regionsIndexes.value = l.regionsIndexes.value.filter((C) => e.value.has(C)), i.searcherKey.value === K) return;
|
|
285
|
+
let r = o.value.keys().next().value;
|
|
286
|
+
o.value.forEach((C) => {
|
|
287
|
+
var V, m, s;
|
|
288
288
|
if (t.onlySearcher && C.key === i.searcherKey.value) {
|
|
289
289
|
r = i.searcherKey.value;
|
|
290
290
|
return;
|
|
291
291
|
}
|
|
292
292
|
if (a.regionIndex.value && ((V = C.regionByIndex) != null && V.has(a.regionIndex.value)) && (r = C.key), !t.onlySearcher) {
|
|
293
293
|
let c;
|
|
294
|
-
r !== void 0 && (c = (
|
|
295
|
-
const v = (s =
|
|
296
|
-
c != null && c.has(
|
|
294
|
+
r !== void 0 && (c = (m = o.value.get(r)) == null ? void 0 : m.regionByIndex);
|
|
295
|
+
const v = (s = o.value.get(C.key)) == null ? void 0 : s.regionByIndex;
|
|
296
|
+
c != null && c.has(p) && !(v != null && v.has(p)) && (r = C.key);
|
|
297
297
|
}
|
|
298
|
-
}), r !== void 0 && (i.searcherKey.value = r), a.regionIndex.value !== void 0 && !((u = (g =
|
|
298
|
+
}), r !== void 0 && (i.searcherKey.value = r), a.regionIndex.value !== void 0 && !((u = (g = n.value) == null ? void 0 : g.regionByIndex) != null && u.has(a.regionIndex.value)) && (a.regionIndex.value = (T = (x = n.value) == null ? void 0 : x.regions) == null ? void 0 : T.keys().next().value);
|
|
299
299
|
}, { immediate: !0 });
|
|
300
300
|
const d = () => {
|
|
301
|
-
if (!(i.searcherKey.value ===
|
|
301
|
+
if (!(i.searcherKey.value === K || i.searcherKey.value === p))
|
|
302
302
|
return i.searcherKey.value;
|
|
303
|
-
},
|
|
304
|
-
if (t.onlySearcher || a.regionIndex.value ===
|
|
303
|
+
}, f = () => {
|
|
304
|
+
if (t.onlySearcher || a.regionIndex.value === p) return;
|
|
305
305
|
let r = a.regionIndex.value;
|
|
306
306
|
if (t.forFrequency) {
|
|
307
|
-
const g = a.regionIndex.value, u =
|
|
307
|
+
const g = a.regionIndex.value, u = Xe(t.forFrequency, { searcher_key: d(), key: g }, t.searchers);
|
|
308
308
|
r = u == null ? void 0 : u.index;
|
|
309
309
|
}
|
|
310
310
|
return r;
|
|
311
|
-
},
|
|
311
|
+
}, h = () => {
|
|
312
312
|
const r = d();
|
|
313
313
|
if (r !== void 0)
|
|
314
|
-
return
|
|
314
|
+
return o.value.get(r);
|
|
315
315
|
};
|
|
316
316
|
return {
|
|
317
317
|
selectSearcher: i,
|
|
318
318
|
selectRegion: a,
|
|
319
|
-
compare:
|
|
320
|
-
searcherByKey:
|
|
319
|
+
compare: l,
|
|
320
|
+
searcherByKey: o,
|
|
321
321
|
allRegionsIndexes: e,
|
|
322
|
-
getSearcher:
|
|
322
|
+
getSearcher: h,
|
|
323
323
|
getRegion: () => {
|
|
324
324
|
var g, u;
|
|
325
|
-
const r =
|
|
325
|
+
const r = f();
|
|
326
326
|
if (r !== void 0)
|
|
327
|
-
return (u = (g =
|
|
327
|
+
return (u = (g = h()) == null ? void 0 : g.regionByIndex) == null ? void 0 : u.get(r);
|
|
328
328
|
}
|
|
329
329
|
};
|
|
330
|
-
},
|
|
330
|
+
}, lt = /* @__PURE__ */ P({
|
|
331
331
|
__name: "selectorRegion",
|
|
332
|
-
props: /* @__PURE__ */
|
|
332
|
+
props: /* @__PURE__ */ N({
|
|
333
333
|
projectId: {},
|
|
334
334
|
searchers: { default: () => [] },
|
|
335
335
|
modelValue: {},
|
|
@@ -348,43 +348,43 @@ const Pe = { class: "top-selectorCompetitors" }, Ue = { class: "top-ellipsis1" }
|
|
|
348
348
|
modelValueSingleModifiers: {}
|
|
349
349
|
}),
|
|
350
350
|
emits: ["update:modelValue", "update:modelValueSingle"],
|
|
351
|
-
setup(t, { expose:
|
|
352
|
-
const
|
|
351
|
+
setup(t, { expose: o }) {
|
|
352
|
+
const n = t, e = D(t, "modelValue"), i = D(t, "modelValueSingle"), {
|
|
353
353
|
selectSearcher: a,
|
|
354
|
-
selectRegion:
|
|
354
|
+
selectRegion: l,
|
|
355
355
|
compare: d,
|
|
356
|
-
searcherByKey:
|
|
357
|
-
allRegionsIndexes:
|
|
358
|
-
getSearcher:
|
|
356
|
+
searcherByKey: f,
|
|
357
|
+
allRegionsIndexes: h,
|
|
358
|
+
getSearcher: S,
|
|
359
359
|
getRegion: r
|
|
360
|
-
} =
|
|
360
|
+
} = ot(n), g = () => {
|
|
361
361
|
const u = [];
|
|
362
|
-
|
|
363
|
-
|
|
362
|
+
f.value.forEach((x) => {
|
|
363
|
+
x.enabled && x.regions.forEach((T) => {
|
|
364
364
|
T.enabled && u.push(T);
|
|
365
365
|
});
|
|
366
|
-
}),
|
|
366
|
+
}), Ze.open("selectorRegions", {
|
|
367
367
|
regions: u,
|
|
368
368
|
regionsIndexes: d.regionsIndexes.value,
|
|
369
|
-
"@update:regionsIndexes": (
|
|
369
|
+
"@update:regionsIndexes": (x) => d.regionsIndexes.value = x
|
|
370
370
|
});
|
|
371
371
|
};
|
|
372
|
-
return
|
|
373
|
-
if (a.searcherKey.value ===
|
|
372
|
+
return w([l.regionIndex, a.searcherKey, d.regionsIndexes], () => {
|
|
373
|
+
if (a.searcherKey.value === K && d.regionsIndexes.value.length) {
|
|
374
374
|
if (JSON.stringify(e.value) === JSON.stringify(d.regionsIndexes.value))
|
|
375
375
|
return;
|
|
376
376
|
e.value = [...d.regionsIndexes.value];
|
|
377
377
|
} else
|
|
378
|
-
e.value = [
|
|
379
|
-
!
|
|
380
|
-
}), i.value &&
|
|
381
|
-
e.value = [i.value];
|
|
382
|
-
}, { immediate: !0 }),
|
|
383
|
-
var u,
|
|
384
|
-
if (e.value[0] && (i.value = e.value[0]),
|
|
385
|
-
if (!e.value.length || e.value.length === 1 && !
|
|
386
|
-
let
|
|
387
|
-
|
|
378
|
+
n.onlySearcher ? (e.value = [a.searcherKey.value], a.searcherKey.value === p && !n.autoRegion && (e.value = [])) : (e.value = [l.regionIndex.value], l.regionIndex.value === p && !n.autoRegion && (e.value = []));
|
|
379
|
+
!n.onlySearcher && !h.value.size && (a.searcherKey.value = p);
|
|
380
|
+
}), i.value && w(i, () => {
|
|
381
|
+
i.value && (e.value = [i.value]);
|
|
382
|
+
}, { immediate: !0 }), w(e, () => {
|
|
383
|
+
var u, x, T, C, V;
|
|
384
|
+
if (e.value[0] && (i.value = e.value[0]), n.onlySearcher) {
|
|
385
|
+
if (!e.value.length || e.value.length === 1 && !f.value.has(e.value[0])) {
|
|
386
|
+
let m = f.value.keys().next().value;
|
|
387
|
+
m === p && !n.autoRegion && (m = void 0, i.value = p), m !== void 0 && (e.value = [m]);
|
|
388
388
|
return;
|
|
389
389
|
}
|
|
390
390
|
if (e.value.length > 1 && JSON.stringify(e.value) !== JSON.stringify(d.regionsIndexes.value)) {
|
|
@@ -392,86 +392,86 @@ const Pe = { class: "top-selectorCompetitors" }, Ue = { class: "top-ellipsis1" }
|
|
|
392
392
|
return;
|
|
393
393
|
}
|
|
394
394
|
} else {
|
|
395
|
-
let
|
|
396
|
-
if (
|
|
397
|
-
s !== void 0 &&
|
|
398
|
-
else if (
|
|
399
|
-
let c =
|
|
400
|
-
|
|
401
|
-
v.regionByIndex.forEach((
|
|
402
|
-
|
|
395
|
+
let m = [...new Set(e.value)], s = (x = (u = f.value.values().next().value) == null ? void 0 : u.regionByIndex) == null ? void 0 : x.keys().next().value;
|
|
396
|
+
if (n.forFrequency && (s = (V = (C = (T = f.value.values().next().value) == null ? void 0 : T.regionByIndex) == null ? void 0 : C.values().next().value) == null ? void 0 : V.key), s === p && !n.autoRegion && (s = void 0, i.value = p), !m.length)
|
|
397
|
+
s !== void 0 && m.push(s);
|
|
398
|
+
else if (m.length === 1) {
|
|
399
|
+
let c = h.value;
|
|
400
|
+
n.forFrequency && (c = /* @__PURE__ */ new Set(), f.value.forEach((v) => {
|
|
401
|
+
v.regionByIndex.forEach((I) => {
|
|
402
|
+
I.index !== te && I.index !== p && c.add(I.key);
|
|
403
403
|
});
|
|
404
|
-
})), !c.has(
|
|
404
|
+
})), !c.has(m[0]) && m[0] !== p && (m = [], s !== void 0 && m.push(s));
|
|
405
405
|
} else
|
|
406
|
-
|
|
407
|
-
if (JSON.stringify(e.value) !== JSON.stringify(
|
|
408
|
-
e.value =
|
|
406
|
+
m = m.filter((c) => h.value.has(c)), !m.length && s !== void 0 && m.push(s);
|
|
407
|
+
if (JSON.stringify(e.value) !== JSON.stringify(m)) {
|
|
408
|
+
e.value = m;
|
|
409
409
|
return;
|
|
410
410
|
}
|
|
411
411
|
}
|
|
412
|
-
if (!(e.value.length === 1 && e.value[0] === (
|
|
413
|
-
if (
|
|
412
|
+
if (!(e.value.length === 1 && e.value[0] === (n.onlySearcher ? a.searcherKey.value : l.regionIndex.value)))
|
|
413
|
+
if (n.onlySearcher) {
|
|
414
414
|
if (e.value.length === 1) {
|
|
415
415
|
a.searcherKey.value = e.value[0];
|
|
416
416
|
return;
|
|
417
417
|
}
|
|
418
|
-
a.searcherKey.value =
|
|
418
|
+
a.searcherKey.value = K;
|
|
419
419
|
return;
|
|
420
|
-
} else if (e.value.length === 1 && a.searcherKey.value !==
|
|
421
|
-
|
|
422
|
-
let
|
|
423
|
-
for (const s of
|
|
420
|
+
} else if (e.value.length === 1 && a.searcherKey.value !== K) {
|
|
421
|
+
l.regionIndex.value = e.value[0];
|
|
422
|
+
let m;
|
|
423
|
+
for (const s of f.value.values()) {
|
|
424
424
|
for (const c of s.regionByIndex.values())
|
|
425
|
-
if ((
|
|
426
|
-
|
|
425
|
+
if ((n.forFrequency ? c.key : c.index) === l.regionIndex.value) {
|
|
426
|
+
m = s.key;
|
|
427
427
|
break;
|
|
428
428
|
}
|
|
429
|
-
if (
|
|
429
|
+
if (m !== void 0)
|
|
430
430
|
break;
|
|
431
431
|
}
|
|
432
|
-
|
|
432
|
+
m !== void 0 && (a.searcherKey.value = m);
|
|
433
433
|
} else
|
|
434
|
-
a.searcherKey.value =
|
|
435
|
-
}, { immediate: !0 }),
|
|
436
|
-
getSearcher:
|
|
434
|
+
a.searcherKey.value = K, d.regionsIndexes.value = [...e.value];
|
|
435
|
+
}, { immediate: !0 }), o({
|
|
436
|
+
getSearcher: S,
|
|
437
437
|
getRegion: r
|
|
438
|
-
}), (u,
|
|
439
|
-
class:
|
|
438
|
+
}), (u, x) => (k(), B("div", {
|
|
439
|
+
class: X({
|
|
440
440
|
"top-selectorRegion": !0,
|
|
441
441
|
"top-selectorRegion-onlySearcher": u.onlySearcher
|
|
442
442
|
})
|
|
443
443
|
}, [
|
|
444
|
-
|
|
444
|
+
A(se, {
|
|
445
445
|
options: y(a).optionBySearcherKey.value,
|
|
446
446
|
modelValue: y(a).searcherKey.value,
|
|
447
|
-
"onUpdate:modelValue":
|
|
447
|
+
"onUpdate:modelValue": x[0] || (x[0] = (T) => y(a).searcherKey.value = T),
|
|
448
448
|
name: "searcher_key",
|
|
449
449
|
addChanger: u.addChanger
|
|
450
450
|
}, null, 8, ["options", "modelValue", "addChanger"]),
|
|
451
|
-
!u.onlySearcher && y(a).searcherKey.value !==
|
|
451
|
+
!u.onlySearcher && y(a).searcherKey.value !== y(K) ? (k(), b(se, {
|
|
452
452
|
key: 0,
|
|
453
453
|
class: "top-select-region",
|
|
454
|
-
options: y(
|
|
455
|
-
modelValue: y(
|
|
456
|
-
"onUpdate:modelValue":
|
|
454
|
+
options: y(l).optionByRegionIndex.value,
|
|
455
|
+
modelValue: y(l).regionIndex.value,
|
|
456
|
+
"onUpdate:modelValue": x[1] || (x[1] = (T) => y(l).regionIndex.value = T),
|
|
457
457
|
name: u.forFrequency ? "region_key" : "region_index",
|
|
458
458
|
addChanger: u.addChanger,
|
|
459
459
|
"data-top-icon": u.addRegionIcon ? "" : void 0
|
|
460
|
-
}, null, 8, ["options", "modelValue", "name", "addChanger", "data-top-icon"])) :
|
|
461
|
-
u.addCompare && !u.onlySearcher && y(a).searcherKey.value ===
|
|
460
|
+
}, null, 8, ["options", "modelValue", "name", "addChanger", "data-top-icon"])) : q("", !0),
|
|
461
|
+
u.addCompare && !u.onlySearcher && y(a).searcherKey.value === y(K) ? (k(), b(H, {
|
|
462
462
|
key: 1,
|
|
463
463
|
name: "compare",
|
|
464
464
|
onClick: g,
|
|
465
465
|
"data-count-compare-regions-indexes": y(d).regionsIndexes.value.length
|
|
466
466
|
}, {
|
|
467
467
|
default: _(() => [
|
|
468
|
-
|
|
468
|
+
G(M(u.$i18n.Common.Selected_regions), 1)
|
|
469
469
|
]),
|
|
470
470
|
_: 1
|
|
471
|
-
}, 8, ["data-count-compare-regions-indexes"])) :
|
|
471
|
+
}, 8, ["data-count-compare-regions-indexes"])) : q("", !0)
|
|
472
472
|
], 2));
|
|
473
473
|
}
|
|
474
|
-
}),
|
|
474
|
+
}), nt = [
|
|
475
475
|
{
|
|
476
476
|
id: "1",
|
|
477
477
|
name: "Without Tag",
|
|
@@ -522,12 +522,12 @@ const Pe = { class: "top-selectorCompetitors" }, Ue = { class: "top-ellipsis1" }
|
|
|
522
522
|
name: "Turquoise",
|
|
523
523
|
color_id: "10"
|
|
524
524
|
}
|
|
525
|
-
],
|
|
526
|
-
t =
|
|
527
|
-
const
|
|
528
|
-
if (
|
|
529
|
-
return
|
|
530
|
-
},
|
|
525
|
+
], ve = (t) => "-" + t, Q = (t) => t[0] === "-" ? t.substring(1) : t, le = (t, o) => {
|
|
526
|
+
t = Q(t);
|
|
527
|
+
const n = o.find((e) => e.id === t);
|
|
528
|
+
if (n)
|
|
529
|
+
return n;
|
|
530
|
+
}, rt = ["data-tag_id", "data-tag_color_id", "title"], ne = /* @__PURE__ */ P({
|
|
531
531
|
__name: "tagIcon",
|
|
532
532
|
props: {
|
|
533
533
|
id: {},
|
|
@@ -536,20 +536,20 @@ const Pe = { class: "top-selectorCompetitors" }, Ue = { class: "top-ellipsis1" }
|
|
|
536
536
|
state: {}
|
|
537
537
|
},
|
|
538
538
|
setup(t) {
|
|
539
|
-
return (
|
|
540
|
-
class:
|
|
539
|
+
return (o, n) => (k(), B("div", {
|
|
540
|
+
class: X({
|
|
541
541
|
"top-tagSelector_tagIcon": !0,
|
|
542
|
-
"top-tagSelector-active": !!
|
|
543
|
-
"top-tagSelector-excluded":
|
|
542
|
+
"top-tagSelector-active": !!o.state,
|
|
543
|
+
"top-tagSelector-excluded": o.state === "excluded"
|
|
544
544
|
}),
|
|
545
|
-
"data-tag_id":
|
|
546
|
-
"data-tag_color_id":
|
|
547
|
-
title:
|
|
548
|
-
}, null, 10,
|
|
545
|
+
"data-tag_id": o.id,
|
|
546
|
+
"data-tag_color_id": o.colorId,
|
|
547
|
+
title: o.name
|
|
548
|
+
}, null, 10, rt));
|
|
549
549
|
}
|
|
550
|
-
}),
|
|
550
|
+
}), it = ["contenteditable", "onKeydown"], ye = /* @__PURE__ */ P({
|
|
551
551
|
__name: "tagPopupListItem",
|
|
552
|
-
props: /* @__PURE__ */
|
|
552
|
+
props: /* @__PURE__ */ N({
|
|
553
553
|
editable: { type: Boolean },
|
|
554
554
|
disabled: { type: Boolean },
|
|
555
555
|
canExclude: { type: Boolean },
|
|
@@ -563,28 +563,28 @@ const Pe = { class: "top-selectorCompetitors" }, Ue = { class: "top-ellipsis1" }
|
|
|
563
563
|
},
|
|
564
564
|
nameModifiers: {}
|
|
565
565
|
}),
|
|
566
|
-
emits: /* @__PURE__ */
|
|
567
|
-
setup(t, { emit:
|
|
568
|
-
const
|
|
566
|
+
emits: /* @__PURE__ */ N(["update:name", "unselect", "exclude", "select"], ["update:name"]),
|
|
567
|
+
setup(t, { emit: o }) {
|
|
568
|
+
const n = t, e = o, i = D(t, "name"), a = F(null), l = E(() => navigator.userAgent.indexOf("Firefox") != -1 ? {
|
|
569
569
|
contenteditable: d.value,
|
|
570
570
|
onpaste: (g) => g.preventDefault()
|
|
571
|
-
} : {}), d =
|
|
571
|
+
} : {}), d = F(!1), f = async () => {
|
|
572
572
|
var g;
|
|
573
|
-
d.value = !0, await
|
|
574
|
-
},
|
|
573
|
+
d.value = !0, await Ve(), (g = a.value) == null || g.focus();
|
|
574
|
+
}, h = () => {
|
|
575
575
|
var u;
|
|
576
576
|
const g = (u = a.value) == null ? void 0 : u.innerText;
|
|
577
|
-
if (!g) return
|
|
577
|
+
if (!g) return S();
|
|
578
578
|
a.value && (a.value.innerText = g), d.value = !1, e("update:name", g);
|
|
579
|
-
},
|
|
580
|
-
a.value && (a.value.innerText =
|
|
579
|
+
}, S = async () => {
|
|
580
|
+
a.value && (a.value.innerText = n.name), d.value = !1;
|
|
581
581
|
}, r = (g) => {
|
|
582
|
-
if (d.value ||
|
|
582
|
+
if (d.value || n.disabled) return;
|
|
583
583
|
let u = "selected";
|
|
584
|
-
|
|
584
|
+
n.canExclude && (g.ctrlKey || g.metaKey) && (u = "excluded"), n.state == u && (u = ""), u === "" && e("unselect"), u === "selected" && e("select"), u === "excluded" && e("exclude");
|
|
585
585
|
};
|
|
586
|
-
return (g, u) => (k(), b(
|
|
587
|
-
class:
|
|
586
|
+
return (g, u) => (k(), b(ue, {
|
|
587
|
+
class: X({
|
|
588
588
|
"top-tagSelector_tagListItem": !0,
|
|
589
589
|
"top-tagSelector_tagListItem-inEdit": d.value,
|
|
590
590
|
"top-tagSelector_tagListItem-disabled": g.disabled,
|
|
@@ -592,47 +592,47 @@ const Pe = { class: "top-selectorCompetitors" }, Ue = { class: "top-ellipsis1" }
|
|
|
592
592
|
"top-tagSelector-active": !!g.state,
|
|
593
593
|
"top-tagSelector-excluded": g.state === "excluded"
|
|
594
594
|
}),
|
|
595
|
-
onClick:
|
|
595
|
+
onClick: J(r, ["stop"])
|
|
596
596
|
}, {
|
|
597
597
|
default: _(() => [
|
|
598
|
-
|
|
598
|
+
A(ne, {
|
|
599
599
|
id: g.id,
|
|
600
600
|
name: i.value,
|
|
601
601
|
colorId: g.colorId,
|
|
602
602
|
state: g.state
|
|
603
603
|
}, null, 8, ["id", "name", "colorId", "state"]),
|
|
604
|
-
|
|
604
|
+
he("span", Se({
|
|
605
605
|
ref_key: "elName",
|
|
606
606
|
ref: a,
|
|
607
607
|
class: "top-tagSelector_tagListItemName",
|
|
608
608
|
contenteditable: d.value ? "plaintext-only" : !1
|
|
609
|
-
},
|
|
609
|
+
}, l.value, {
|
|
610
610
|
onKeydown: [
|
|
611
|
-
|
|
612
|
-
|
|
611
|
+
ce(J(h, ["stop"]), ["enter"]),
|
|
612
|
+
ce(J(S, ["stop"]), ["esc"])
|
|
613
613
|
]
|
|
614
|
-
}), M(i.value), 17,
|
|
615
|
-
g.editable ? (k(), B(
|
|
614
|
+
}), M(i.value), 17, it),
|
|
615
|
+
g.editable ? (k(), B(Y, { key: 0 }, [
|
|
616
616
|
d.value ? (k(), B("span", {
|
|
617
617
|
key: 1,
|
|
618
618
|
"data-top-icon": "",
|
|
619
619
|
class: "top-tagSelector_edit",
|
|
620
|
-
onClick:
|
|
620
|
+
onClick: J(h, ["stop"])
|
|
621
621
|
})) : (k(), B("span", {
|
|
622
622
|
key: 0,
|
|
623
623
|
"data-top-icon": "",
|
|
624
624
|
class: "top-tagSelector_edit",
|
|
625
|
-
onClick:
|
|
625
|
+
onClick: f
|
|
626
626
|
}))
|
|
627
|
-
], 64)) :
|
|
627
|
+
], 64)) : q("", !0)
|
|
628
628
|
]),
|
|
629
629
|
_: 1
|
|
630
630
|
}, 8, ["class"]));
|
|
631
631
|
}
|
|
632
|
-
}),
|
|
632
|
+
}), st = { key: 1 }, Te = /* @__PURE__ */ P({
|
|
633
633
|
inheritAttrs: !1,
|
|
634
634
|
__name: "popupOpener",
|
|
635
|
-
props: /* @__PURE__ */
|
|
635
|
+
props: /* @__PURE__ */ N({
|
|
636
636
|
modelValue: {},
|
|
637
637
|
id: {},
|
|
638
638
|
tags: {},
|
|
@@ -649,61 +649,61 @@ const Pe = { class: "top-selectorCompetitors" }, Ue = { class: "top-ellipsis1" }
|
|
|
649
649
|
}),
|
|
650
650
|
emits: ["update:modelValue"],
|
|
651
651
|
setup(t) {
|
|
652
|
-
const
|
|
653
|
-
model:
|
|
654
|
-
mode:
|
|
655
|
-
targetId:
|
|
656
|
-
filters:
|
|
657
|
-
payload:
|
|
652
|
+
const o = t, n = D(t, "modelValue"), e = o.useTopButton ? H : "div", i = o.useTopButton ? "html" : "default", a = {
|
|
653
|
+
model: n,
|
|
654
|
+
mode: o.mode,
|
|
655
|
+
targetId: o.targetId,
|
|
656
|
+
filters: o.filters,
|
|
657
|
+
payload: o.payload
|
|
658
658
|
};
|
|
659
|
-
return (
|
|
660
|
-
const
|
|
661
|
-
return k(), b(
|
|
659
|
+
return (l, d) => {
|
|
660
|
+
const f = Ee("top-data");
|
|
661
|
+
return k(), b(Oe, { id: l.id }, {
|
|
662
662
|
default: _(() => [
|
|
663
|
-
|
|
663
|
+
Ke((k(), b(Me(y(e)), Se({
|
|
664
664
|
class: {
|
|
665
665
|
"top-tagSelector": !0,
|
|
666
|
-
"top-tagSelector-filter":
|
|
667
|
-
"top-tagSelector-setter_single":
|
|
668
|
-
"top-tagSelector-setter_several":
|
|
669
|
-
"top-tagSelector-selectedOne": !
|
|
670
|
-
"top-tagSelector-toTwoLine":
|
|
666
|
+
"top-tagSelector-filter": o.mode === "filter",
|
|
667
|
+
"top-tagSelector-setter_single": o.mode === "setter" && !l.filters,
|
|
668
|
+
"top-tagSelector-setter_several": o.mode === "setter" && l.filters,
|
|
669
|
+
"top-tagSelector-selectedOne": !n.value.length || n.value.length === 1,
|
|
670
|
+
"top-tagSelector-toTwoLine": n.value.length > 5
|
|
671
671
|
},
|
|
672
672
|
color: "theme",
|
|
673
673
|
styling: ""
|
|
674
|
-
},
|
|
674
|
+
}, l.$attrs), {
|
|
675
675
|
[y(i)]: _(() => [
|
|
676
|
-
!
|
|
676
|
+
!n.value.length && l.mode === "filter" ? (k(), b(ne, {
|
|
677
677
|
key: 0,
|
|
678
678
|
id: "all",
|
|
679
679
|
colorId: "",
|
|
680
|
-
name:
|
|
680
|
+
name: l.$i18n.Common.All_tags ?? "",
|
|
681
681
|
state: ""
|
|
682
|
-
}, null, 8, ["name"])) :
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
])) : (k(!0), B(
|
|
686
|
-
var
|
|
687
|
-
return k(), b(
|
|
688
|
-
id: y(
|
|
689
|
-
colorId: ((
|
|
690
|
-
name: ((r = y(
|
|
691
|
-
state: y(
|
|
682
|
+
}, null, 8, ["name"])) : q("", !0),
|
|
683
|
+
l.mode === "setter" && l.filters ? (k(), B("div", st, [
|
|
684
|
+
$e(l.$slots, "default")
|
|
685
|
+
])) : (k(!0), B(Y, { key: 2 }, de(n.value, (h) => {
|
|
686
|
+
var S, r;
|
|
687
|
+
return k(), b(ne, {
|
|
688
|
+
id: y(Q)(h),
|
|
689
|
+
colorId: ((S = y(le)(h, l.tags)) == null ? void 0 : S.color_id) ?? "",
|
|
690
|
+
name: ((r = y(le)(h, l.tags)) == null ? void 0 : r.name) ?? "",
|
|
691
|
+
state: y(Q)(h) === h ? "selected" : "excluded"
|
|
692
692
|
}, null, 8, ["id", "colorId", "name", "state"]);
|
|
693
693
|
}), 256))
|
|
694
694
|
]),
|
|
695
695
|
_: 2
|
|
696
696
|
}, 1040, ["class"])), [
|
|
697
|
-
[
|
|
697
|
+
[f, a, "topTagSelectorTarget"]
|
|
698
698
|
])
|
|
699
699
|
]),
|
|
700
700
|
_: 3
|
|
701
701
|
}, 8, ["id"]);
|
|
702
702
|
};
|
|
703
703
|
}
|
|
704
|
-
}),
|
|
704
|
+
}), dt = /* @__PURE__ */ P({
|
|
705
705
|
__name: "tagSelector",
|
|
706
|
-
props: /* @__PURE__ */
|
|
706
|
+
props: /* @__PURE__ */ N({
|
|
707
707
|
modelValue: {},
|
|
708
708
|
tags: {},
|
|
709
709
|
tagsEditable: { type: Boolean },
|
|
@@ -719,29 +719,29 @@ const Pe = { class: "top-selectorCompetitors" }, Ue = { class: "top-ellipsis1" }
|
|
|
719
719
|
},
|
|
720
720
|
modelModifiers: {},
|
|
721
721
|
tags: {
|
|
722
|
-
default:
|
|
722
|
+
default: Ae(nt)
|
|
723
723
|
},
|
|
724
724
|
tagsModifiers: {}
|
|
725
725
|
}),
|
|
726
|
-
emits: /* @__PURE__ */
|
|
727
|
-
setup(t, { emit:
|
|
728
|
-
const
|
|
729
|
-
|
|
726
|
+
emits: /* @__PURE__ */ N(["selector", "setter", "tagsChanged"], ["update:modelValue", "update:tags"]),
|
|
727
|
+
setup(t, { emit: o }) {
|
|
728
|
+
const n = R(), e = t, i = D(t, "modelValue"), a = D(t, "tags"), l = o, d = Re((s, c) => {
|
|
729
|
+
l(s, c);
|
|
730
730
|
}, e.emitDelay);
|
|
731
731
|
e.singleMode && !i.value.length && (i.value = [a.value[0].id]);
|
|
732
|
-
const
|
|
732
|
+
const f = e.id ?? "top-popup-id-" + Math.random(), h = F("add"), S = () => {
|
|
733
733
|
var v;
|
|
734
|
-
const s = " " + ((v =
|
|
735
|
-
return c.set("add", { value: "add", title:
|
|
734
|
+
const s = " " + ((v = n.Common.Tags) == null ? void 0 : v.toLowerCase()), c = /* @__PURE__ */ new Map();
|
|
735
|
+
return c.set("add", { value: "add", title: n.Common.Add + s }), c.set("replace", { value: "replace", title: n.Common.Replace + s }), c.set("delete", { value: "delete", title: n.Common.Delete + s }), c;
|
|
736
736
|
};
|
|
737
|
-
let r =
|
|
737
|
+
let r = we({
|
|
738
738
|
model: i,
|
|
739
739
|
mode: "filter",
|
|
740
740
|
targetId: void 0,
|
|
741
741
|
filters: void 0,
|
|
742
742
|
payload: void 0
|
|
743
743
|
});
|
|
744
|
-
|
|
744
|
+
w(i, () => {
|
|
745
745
|
d("selector", i.value);
|
|
746
746
|
});
|
|
747
747
|
const g = E(() => {
|
|
@@ -750,18 +750,18 @@ const Pe = { class: "top-selectorCompetitors" }, Ue = { class: "top-ellipsis1" }
|
|
|
750
750
|
}), u = (s) => {
|
|
751
751
|
if (s !== "all") {
|
|
752
752
|
if (r.value.model.value.includes(s)) return "selected";
|
|
753
|
-
if (r.value.model.value.includes(
|
|
753
|
+
if (r.value.model.value.includes(ve(s))) return "excluded";
|
|
754
754
|
}
|
|
755
755
|
return s === "all" && !r.value.model.value.length ? "selected" : "";
|
|
756
|
-
},
|
|
757
|
-
const v =
|
|
758
|
-
let
|
|
759
|
-
c === "select" &&
|
|
756
|
+
}, x = (s, c) => {
|
|
757
|
+
const v = ve(s);
|
|
758
|
+
let I = r.value.model.value.filter((L) => L !== s && L !== v);
|
|
759
|
+
c === "select" && I.push(s), c === "exclude" && I.push(v), r.value.mode === "setter" && r.value.targetId !== void 0 && e.requiredForSetter && (I.length || I.push("1"), I.length === 2 && r.value.model.value.length === 1 && r.value.model.value[0] === "1" && (I = I.filter((L) => L !== "1"))), e.singleMode && !r.value.filters && (I.length || (I = r.value.model.value), I.length > 1 && (I = [I[I.length - 1]])), I.sort((L, U) => {
|
|
760
760
|
if (!e.tags) return 0;
|
|
761
|
-
const
|
|
762
|
-
return
|
|
763
|
-
}), r.value.model.value =
|
|
764
|
-
tagsIds:
|
|
761
|
+
const Z = e.tags.findIndex((O) => O.id === L), j = e.tags.findIndex((O) => O.id === U);
|
|
762
|
+
return Z - j;
|
|
763
|
+
}), r.value.model.value = I, r.value.mode === "setter" && r.value.targetId !== void 0 && d("setter", {
|
|
764
|
+
tagsIds: I,
|
|
765
765
|
targetId: r.value.targetId,
|
|
766
766
|
payload: r.value.payload
|
|
767
767
|
});
|
|
@@ -776,65 +776,65 @@ const Pe = { class: "top-selectorCompetitors" }, Ue = { class: "top-ellipsis1" }
|
|
|
776
776
|
id: String(c),
|
|
777
777
|
name: s,
|
|
778
778
|
color_id: String((c - 1) % 10 + 1)
|
|
779
|
-
}),
|
|
779
|
+
}), l("tagsChanged", a.value);
|
|
780
780
|
}, V = (s) => {
|
|
781
781
|
var c;
|
|
782
|
-
if (r.value =
|
|
783
|
-
if (r.value.filters && (
|
|
782
|
+
if (r.value = W(s.elPopupOpener, "topTagSelectorTarget"), !r.value) throw new Error("Open popup TopTagSelector required v-data:topTagSelectorTarget");
|
|
783
|
+
if (r.value.filters && (h.value = "add", r.value.model.value = []), !((c = z.$) != null && c.ui.sortable)) {
|
|
784
784
|
console.info("Для работы сортировки требуется глобальная загрузка jQuery UI Sortable");
|
|
785
785
|
return;
|
|
786
786
|
}
|
|
787
|
-
!
|
|
787
|
+
!z.state.isMobile && !z.state.isMobileUA && a.value && $(s.elPopup).sortable({
|
|
788
788
|
items: 'li:has([data-tag_id]:not([data-tag_id="all"]))',
|
|
789
789
|
/**
|
|
790
790
|
* @todo Удалить `[contenteditable="true"]` через пол года после выхода версии firefox с поддержкой contenteditable plaintext-only, включая бета версии
|
|
791
791
|
*/
|
|
792
792
|
cancel: '[contenteditable="plaintext-only"], [contenteditable="true"]',
|
|
793
793
|
distance: 10,
|
|
794
|
-
stop: function(v,
|
|
794
|
+
stop: function(v, I) {
|
|
795
795
|
if (!a.value) return;
|
|
796
|
-
const
|
|
797
|
-
|
|
796
|
+
const L = $(I.item).parent().find("[data-tag_id]"), U = [];
|
|
797
|
+
L.each((Z, j) => {
|
|
798
798
|
if (!a.value) return;
|
|
799
|
-
const O = $(
|
|
800
|
-
|
|
801
|
-
}), a.value.sort((
|
|
802
|
-
const O =
|
|
803
|
-
return O -
|
|
799
|
+
const O = $(j).attr("data-tag_id");
|
|
800
|
+
U.push(O);
|
|
801
|
+
}), a.value.sort((Z, j) => {
|
|
802
|
+
const O = U.findIndex((re) => re === Z.id), _e = U.findIndex((re) => re === j.id);
|
|
803
|
+
return O - _e;
|
|
804
804
|
}), d("tagsChanged", a.value);
|
|
805
805
|
}
|
|
806
806
|
});
|
|
807
|
-
},
|
|
807
|
+
}, m = (s) => {
|
|
808
808
|
var c;
|
|
809
|
-
(c =
|
|
809
|
+
(c = z.$) != null && c.ui.sortable && $(s.elPopup).data("ui-sortable") && $(s.elPopup).sortable("destroy");
|
|
810
810
|
};
|
|
811
|
-
return (s, c) => (k(), B(
|
|
812
|
-
|
|
811
|
+
return (s, c) => (k(), B(Y, null, [
|
|
812
|
+
A(Te, {
|
|
813
813
|
class: "top-select_arrow",
|
|
814
814
|
modelValue: i.value,
|
|
815
815
|
"onUpdate:modelValue": c[0] || (c[0] = (v) => i.value = v),
|
|
816
|
-
id: y(
|
|
816
|
+
id: y(f),
|
|
817
817
|
tags: a.value,
|
|
818
818
|
mode: "filter",
|
|
819
819
|
useTopButton: ""
|
|
820
820
|
}, null, 8, ["modelValue", "id", "tags"]),
|
|
821
|
-
|
|
822
|
-
id: y(
|
|
823
|
-
class:
|
|
821
|
+
A(Ie, {
|
|
822
|
+
id: y(f),
|
|
823
|
+
class: X(T.value),
|
|
824
824
|
onOpen: c[4] || (c[4] = (v) => V(v)),
|
|
825
|
-
onClose: c[5] || (c[5] = (v) =>
|
|
825
|
+
onClose: c[5] || (c[5] = (v) => m(v)),
|
|
826
826
|
"transition-duration": 50
|
|
827
|
-
},
|
|
827
|
+
}, Le({
|
|
828
828
|
contentList: _(() => [
|
|
829
|
-
y(r).mode === "filter" && !s.singleMode ? (k(), b(
|
|
829
|
+
y(r).mode === "filter" && !s.singleMode ? (k(), b(ye, {
|
|
830
830
|
key: 0,
|
|
831
831
|
id: "all",
|
|
832
832
|
colorId: "",
|
|
833
833
|
name: s.$i18n.Common.All_tags ?? "",
|
|
834
834
|
state: y(r).model.value.length ? "" : "selected",
|
|
835
835
|
onSelect: c[3] || (c[3] = (v) => y(r).model.value = [])
|
|
836
|
-
}, null, 8, ["name", "state"])) :
|
|
837
|
-
(k(!0), B(
|
|
836
|
+
}, null, 8, ["name", "state"])) : q("", !0),
|
|
837
|
+
(k(!0), B(Y, null, de(a.value, (v) => (k(), b(ye, {
|
|
838
838
|
key: v.id,
|
|
839
839
|
id: v.id,
|
|
840
840
|
colorId: v.color_id,
|
|
@@ -843,33 +843,33 @@ const Pe = { class: "top-selectorCompetitors" }, Ue = { class: "top-ellipsis1" }
|
|
|
843
843
|
canExclude: y(r).mode === "filter" && !s.singleMode,
|
|
844
844
|
editable: s.tagsEditable,
|
|
845
845
|
disabled: g.value && u(v.id) === "",
|
|
846
|
-
onUnselect: (
|
|
847
|
-
onSelect: (
|
|
848
|
-
onExclude: (
|
|
849
|
-
"onUpdate:name": (
|
|
850
|
-
v.name =
|
|
846
|
+
onUnselect: (I) => x(v.id, "unselect"),
|
|
847
|
+
onSelect: (I) => x(v.id, "select"),
|
|
848
|
+
onExclude: (I) => x(v.id, "exclude"),
|
|
849
|
+
"onUpdate:name": (I) => {
|
|
850
|
+
v.name = I, y(d)("tagsChanged", a.value);
|
|
851
851
|
}
|
|
852
852
|
}, null, 8, ["id", "colorId", "name", "state", "canExclude", "editable", "disabled", "onUnselect", "onSelect", "onExclude", "onUpdate:name"]))), 128)),
|
|
853
|
-
s.tagsEditable && a.value.length < s.tagsMax && a.value.length < 20 ? (k(), b(
|
|
853
|
+
s.tagsEditable && a.value.length < s.tagsMax && a.value.length < 20 ? (k(), b(ue, {
|
|
854
854
|
key: 1,
|
|
855
855
|
"data-top-icon": "",
|
|
856
|
-
onClick:
|
|
856
|
+
onClick: J(C, ["stop"])
|
|
857
857
|
}, {
|
|
858
858
|
default: _(() => [
|
|
859
|
-
|
|
859
|
+
G(M(s.$i18n.Common.Add), 1)
|
|
860
860
|
]),
|
|
861
861
|
_: 1
|
|
862
|
-
})) :
|
|
862
|
+
})) : q("", !0)
|
|
863
863
|
]),
|
|
864
864
|
_: 2
|
|
865
865
|
}, [
|
|
866
866
|
y(r).mode === "setter" && y(r).filters ? {
|
|
867
867
|
name: "header",
|
|
868
868
|
fn: _(() => [
|
|
869
|
-
|
|
870
|
-
modelValue:
|
|
871
|
-
"onUpdate:modelValue": c[1] || (c[1] = (v) =>
|
|
872
|
-
options:
|
|
869
|
+
A(se, {
|
|
870
|
+
modelValue: h.value,
|
|
871
|
+
"onUpdate:modelValue": c[1] || (c[1] = (v) => h.value = v),
|
|
872
|
+
options: S()
|
|
873
873
|
}, null, 8, ["modelValue", "options"])
|
|
874
874
|
]),
|
|
875
875
|
key: "0"
|
|
@@ -877,22 +877,22 @@ const Pe = { class: "top-selectorCompetitors" }, Ue = { class: "top-ellipsis1" }
|
|
|
877
877
|
y(r).mode === "setter" && y(r).filters ? {
|
|
878
878
|
name: "footer",
|
|
879
879
|
fn: _(() => [
|
|
880
|
-
|
|
880
|
+
A(H, { color: "theme" }, {
|
|
881
881
|
default: _(() => [
|
|
882
|
-
|
|
882
|
+
G(M(s.$i18n.Common.Cancel), 1)
|
|
883
883
|
]),
|
|
884
884
|
_: 1
|
|
885
885
|
}),
|
|
886
|
-
|
|
886
|
+
A(H, {
|
|
887
887
|
onClick: c[2] || (c[2] = (v) => y(d)("setter", {
|
|
888
888
|
tagsIds: y(r).model.value,
|
|
889
889
|
filters: y(r).filters,
|
|
890
|
-
filtersAction:
|
|
890
|
+
filtersAction: h.value,
|
|
891
891
|
payload: y(r).payload
|
|
892
892
|
}))
|
|
893
893
|
}, {
|
|
894
894
|
default: _(() => [
|
|
895
|
-
|
|
895
|
+
G(M(h.value === "add" ? s.$i18n.Common.Add : "") + " " + M(h.value === "replace" ? s.$i18n.Common.Replace : "") + " " + M(h.value === "delete" ? s.$i18n.Common.Remove : ""), 1)
|
|
896
896
|
]),
|
|
897
897
|
_: 1
|
|
898
898
|
})
|
|
@@ -902,75 +902,75 @@ const Pe = { class: "top-selectorCompetitors" }, Ue = { class: "top-ellipsis1" }
|
|
|
902
902
|
]), 1032, ["id", "class"])
|
|
903
903
|
], 64));
|
|
904
904
|
}
|
|
905
|
-
}),
|
|
905
|
+
}), St = (t, o) => E(() => ge(t).filter((i) => i.on >= 0 || i.id === o).map((i) => ({
|
|
906
906
|
value: i.id,
|
|
907
907
|
title: i.url + ` [${i.id}]`,
|
|
908
|
-
icon: i.id ===
|
|
908
|
+
icon: i.id === ge(o) ? "" : "",
|
|
909
909
|
content: i.name
|
|
910
|
-
}))),
|
|
911
|
-
|
|
912
|
-
const e =
|
|
910
|
+
}))), It = (t, o, n) => {
|
|
911
|
+
o || (o = { id: t.id }), o.id = t.id;
|
|
912
|
+
const e = Ue.genElPopupOpener("div", o);
|
|
913
913
|
return e.classList.add("top-tagSelector"), t.useTopButton && e.classList.add("top-button", "top-color_theme"), t.mode === "filter" && e.classList.add("top-tagSelector-filter"), t.mode === "setter" && !t.filters && e.classList.add("top-tagSelector-setter_single"), t.mode === "setter" && t.filters && e.classList.add("top-tagSelector-setter_several"), e.onclick = (i) => {
|
|
914
914
|
i.preventDefault(), i.stopPropagation(), e.onclick = null;
|
|
915
|
-
const a =
|
|
915
|
+
const a = F(t.modelValue), l = {
|
|
916
916
|
model: a,
|
|
917
917
|
mode: t.mode,
|
|
918
918
|
targetId: t.targetId,
|
|
919
919
|
filters: t.filters,
|
|
920
920
|
payload: t.payload
|
|
921
921
|
};
|
|
922
|
-
|
|
923
|
-
t.modelValue = a.value,
|
|
922
|
+
W(e, "topTagSelectorTarget", l), delete e.dataset.topPopupDisabled, me(t.modelValue) || w(a, () => {
|
|
923
|
+
t.modelValue = a.value, ee(e, t, n);
|
|
924
924
|
}), e.click();
|
|
925
|
-
},
|
|
925
|
+
}, me(t.modelValue) ? w(t.modelValue, () => ee(e, t, n)) : W(e, "topTagSelectorRender", (i) => {
|
|
926
926
|
t.modelValue = i;
|
|
927
|
-
const a =
|
|
928
|
-
a && (a.model.value = i),
|
|
929
|
-
}),
|
|
930
|
-
},
|
|
931
|
-
var
|
|
932
|
-
(
|
|
933
|
-
},
|
|
927
|
+
const a = W(e, "topTagSelectorTarget");
|
|
928
|
+
a && (a.model.value = i), ee(e, t, n);
|
|
929
|
+
}), ee(e, t, n), e;
|
|
930
|
+
}, xt = (t, o) => {
|
|
931
|
+
var n;
|
|
932
|
+
(n = W(t, "topTagSelectorRender")) == null || n(o);
|
|
933
|
+
}, ee = (t, o, n) => {
|
|
934
934
|
var i;
|
|
935
|
-
const e = y(
|
|
936
|
-
if (t.classList.toggle("top-tagSelector-selectedOne", !e.length || e.length === 1), t.classList.toggle("top-tagSelector-toTwoLine", e.length > 5),
|
|
937
|
-
t.innerHTML = `<div>${
|
|
935
|
+
const e = y(o.modelValue);
|
|
936
|
+
if (t.classList.toggle("top-tagSelector-selectedOne", !e.length || e.length === 1), t.classList.toggle("top-tagSelector-toTwoLine", e.length > 5), o.mode === "setter" && o.filters) {
|
|
937
|
+
t.innerHTML = `<div>${n}</div>`;
|
|
938
938
|
return;
|
|
939
939
|
}
|
|
940
|
-
if (t.innerHTML = "", !e.length &&
|
|
941
|
-
const a =
|
|
940
|
+
if (t.innerHTML = "", !e.length && o.mode === "filter") {
|
|
941
|
+
const a = pe({
|
|
942
942
|
id: "all",
|
|
943
943
|
colorId: "",
|
|
944
|
-
name: ((i =
|
|
944
|
+
name: ((i = R().Common) == null ? void 0 : i.All_tags) ?? "",
|
|
945
945
|
state: ""
|
|
946
946
|
});
|
|
947
947
|
t.append(a);
|
|
948
948
|
}
|
|
949
949
|
e.forEach((a) => {
|
|
950
|
-
var d,
|
|
951
|
-
const
|
|
952
|
-
id:
|
|
953
|
-
colorId: ((d =
|
|
954
|
-
name: ((
|
|
955
|
-
state:
|
|
950
|
+
var d, f;
|
|
951
|
+
const l = pe({
|
|
952
|
+
id: Q(a),
|
|
953
|
+
colorId: ((d = le(a, o.tags)) == null ? void 0 : d.color_id) ?? "",
|
|
954
|
+
name: ((f = le(a, o.tags)) == null ? void 0 : f.name) ?? "",
|
|
955
|
+
state: Q(a) === a ? "selected" : "excluded"
|
|
956
956
|
});
|
|
957
|
-
t.append(
|
|
957
|
+
t.append(l);
|
|
958
958
|
});
|
|
959
|
-
},
|
|
960
|
-
const
|
|
961
|
-
return
|
|
962
|
-
},
|
|
959
|
+
}, pe = (t) => {
|
|
960
|
+
const o = document.createElement("div");
|
|
961
|
+
return o.classList.add("top-tagSelector_tagIcon"), o.classList.toggle("top-tagSelector-active", !!t.state), o.classList.toggle("top-tagSelector-excluded", t.state === "excluded"), o.dataset.tag_id = t.id, o.dataset.tag_color_id = t.colorId, o.title = t.name, o;
|
|
962
|
+
}, kt = ze, Ct = lt, Tt = dt, _t = Te, bt = ne;
|
|
963
963
|
export {
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
964
|
+
kt as TopSelectorCompetitors,
|
|
965
|
+
Ct as TopSelectorRegion,
|
|
966
|
+
Tt as TopTagSelector,
|
|
967
|
+
_t as TopTagSelectorPopupOpener,
|
|
968
|
+
bt as TopTagSelectorTagIcon,
|
|
969
|
+
Ze as dialogSelectorRegions,
|
|
970
|
+
Xe as findRegion,
|
|
971
|
+
It as genElTopTagSelectorPopupOpener,
|
|
972
|
+
ke as genSearcherByKey,
|
|
973
|
+
xt as renderElTopTagSelectorPopupOpener,
|
|
974
|
+
St as useItemsFromCompetitors
|
|
975
975
|
};
|
|
976
976
|
//# sourceMappingURL=project.js.map
|