@topvisor/ui 1.5.8 → 1.5.9-colorTableUp.1
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/.chunks/formsExt-DG99Ktz8.amd.js +2 -0
- package/.chunks/formsExt-DG99Ktz8.amd.js.map +1 -0
- package/.chunks/{formsExt-BZZEpY-a.esm.js → formsExt-DG99Ktz8.esm.js} +222 -180
- package/.chunks/formsExt-DG99Ktz8.esm.js.map +1 -0
- package/assets/formsExt.css +1 -1
- package/assets/themes/light.css +1 -1
- package/autoload-css-manifest.amd.json +1 -1
- package/autoload-css-manifest.json +1 -1
- package/formsExt/formsExt.amd.js +1 -1
- package/formsExt/formsExt.amd.js.map +1 -1
- package/formsExt/formsExt.js +2 -2
- package/package.json +1 -1
- package/project/project.amd.js +1 -1
- package/project/project.amd.js.map +1 -1
- package/project/project.js +297 -297
- package/project/project.js.map +1 -1
- package/src/components/formsExt/banner/types.d.ts +22 -0
- package/src/components/formsExt/formsExt.d.ts +1 -0
- package/.chunks/formsExt-BZZEpY-a.amd.js +0 -2
- package/.chunks/formsExt-BZZEpY-a.amd.js.map +0 -1
- package/.chunks/formsExt-BZZEpY-a.esm.js.map +0 -1
package/project/project.js
CHANGED
|
@@ -17,12 +17,12 @@ import { ellipsis as d } from "../utils/string.js";
|
|
|
17
17
|
import { getDeviceGIcon as f, getLangLabel as p, getSearcherGIcon as m } from "../utils/searchers.js";
|
|
18
18
|
import { invertKeyboardLayout as h } from "../utils/keyboard.js";
|
|
19
19
|
import { c as g, n as _, o as v, r as y, s as b } from "../.chunks/popup-DViuKwOc.esm.js";
|
|
20
|
-
import {
|
|
21
|
-
import { Fragment as
|
|
20
|
+
import { c as x, d as S, f as ee, p as te } from "../.chunks/formsExt-DG99Ktz8.esm.js";
|
|
21
|
+
import { Fragment as C, computed as w, createBlock as T, createCommentVNode as E, createElementBlock as D, createElementVNode as O, createSlots as ne, createTextVNode as k, createVNode as A, defineComponent as j, isRef as re, mergeModels as M, mergeProps as ie, nextTick as ae, normalizeClass as N, onMounted as oe, openBlock as P, reactive as se, ref as F, renderList as I, renderSlot as ce, resolveComponent as le, resolveDirective as ue, resolveDynamicComponent as de, shallowRef as fe, toDisplayString as L, toValue as pe, unref as R, useId as me, useModel as z, watch as B, withCtx as V, withDirectives as he, withKeys as ge, withModifiers as H } from "vue";
|
|
22
22
|
//#region src/components/project/competitorSelector/competitorSelector.vue?vue&type=script&setup=true&lang.ts
|
|
23
|
-
var
|
|
23
|
+
var _e = { class: "top-competitorSelector" }, ve = { class: "top-ellipsis1" }, ye = /* @__PURE__ */ j({
|
|
24
24
|
__name: "competitorSelector",
|
|
25
|
-
props: /*@__PURE__*/
|
|
25
|
+
props: /*@__PURE__*/ M({
|
|
26
26
|
modelValue: {},
|
|
27
27
|
items: {},
|
|
28
28
|
showSelectAllItem: {
|
|
@@ -36,7 +36,7 @@ var ge = { class: "top-competitorSelector" }, _e = { class: "top-ellipsis1" }, v
|
|
|
36
36
|
}),
|
|
37
37
|
emits: ["update:modelValue"],
|
|
38
38
|
setup(n) {
|
|
39
|
-
let i = n, a =
|
|
39
|
+
let i = n, a = z(n, "modelValue"), o = w(() => {
|
|
40
40
|
if (i.showSelectAllItem) return {
|
|
41
41
|
icon: i.selectAllItemIcon,
|
|
42
42
|
title: e().Common.Select_all,
|
|
@@ -44,23 +44,23 @@ var ge = { class: "top-competitorSelector" }, _e = { class: "top-ellipsis1" }, v
|
|
|
44
44
|
content: ""
|
|
45
45
|
};
|
|
46
46
|
});
|
|
47
|
-
return (e, i) => (
|
|
48
|
-
opener:
|
|
47
|
+
return (e, i) => (P(), D("div", _e, [R(t).state.isMobile ? (P(), T(b, { key: 0 }, {
|
|
48
|
+
opener: V(() => [A(r, {
|
|
49
49
|
class: "top-competitorSelector_opener",
|
|
50
50
|
color: "theme",
|
|
51
51
|
icon: "",
|
|
52
52
|
icon2: ""
|
|
53
53
|
}, {
|
|
54
|
-
default:
|
|
54
|
+
default: V(() => [k(L(n.items.find((e) => e.value === a.value?.[0])?.content), 1)]),
|
|
55
55
|
_: 1
|
|
56
56
|
})]),
|
|
57
|
-
contentList:
|
|
58
|
-
class:
|
|
57
|
+
contentList: V(() => [(P(!0), D(C, null, I(n.items, (e) => (P(), T(v, {
|
|
58
|
+
class: N({ "top-active": a.value?.includes(e.value) }),
|
|
59
59
|
"data-top-icon": e.icon,
|
|
60
60
|
title: e.title,
|
|
61
61
|
onClick: () => a.value = [e.value]
|
|
62
62
|
}, {
|
|
63
|
-
default:
|
|
63
|
+
default: V(() => [O("span", ve, L(e.content), 1)]),
|
|
64
64
|
_: 2
|
|
65
65
|
}, 1032, [
|
|
66
66
|
"class",
|
|
@@ -69,7 +69,7 @@ var ge = { class: "top-competitorSelector" }, _e = { class: "top-ellipsis1" }, v
|
|
|
69
69
|
"onClick"
|
|
70
70
|
]))), 256))]),
|
|
71
71
|
_: 1
|
|
72
|
-
})) : (
|
|
72
|
+
})) : (P(), T(te, {
|
|
73
73
|
key: 1,
|
|
74
74
|
modelValue: a.value,
|
|
75
75
|
"onUpdate:modelValue": i[0] ||= (e) => a.value = e,
|
|
@@ -84,12 +84,12 @@ var ge = { class: "top-competitorSelector" }, _e = { class: "top-ellipsis1" }, v
|
|
|
84
84
|
"selectAllItem"
|
|
85
85
|
]))]));
|
|
86
86
|
}
|
|
87
|
-
}),
|
|
87
|
+
}), be = (e, t) => w(() => pe(e).filter((e) => e.on >= 0 || e.id === t).map((e) => ({
|
|
88
88
|
value: e.id,
|
|
89
89
|
title: e.url + ` [${e.id}]`,
|
|
90
|
-
icon: e.id ===
|
|
90
|
+
icon: e.id === pe(t) ? "" : "",
|
|
91
91
|
content: e.name
|
|
92
|
-
}))),
|
|
92
|
+
}))), xe = {
|
|
93
93
|
0: "Yandex",
|
|
94
94
|
1: "Google",
|
|
95
95
|
4: "YouTube",
|
|
@@ -100,25 +100,25 @@ var ge = { class: "top-competitorSelector" }, _e = { class: "top-ellipsis1" }, v
|
|
|
100
100
|
20: "Yandex.com",
|
|
101
101
|
21: "Yandex.com.tr",
|
|
102
102
|
22: "YandexLive"
|
|
103
|
-
},
|
|
103
|
+
}, Se = {
|
|
104
104
|
key: -2,
|
|
105
105
|
name: "--",
|
|
106
106
|
index: -2
|
|
107
|
-
},
|
|
107
|
+
}, Ce = {
|
|
108
108
|
key: -2,
|
|
109
109
|
name: "--",
|
|
110
|
-
regions: [
|
|
111
|
-
regionByIndex: /* @__PURE__ */ new Map([[-2,
|
|
112
|
-
},
|
|
110
|
+
regions: [Se],
|
|
111
|
+
regionByIndex: /* @__PURE__ */ new Map([[-2, Se]])
|
|
112
|
+
}, U = {
|
|
113
113
|
key: -2,
|
|
114
114
|
name: "Autoselect",
|
|
115
115
|
index: -2
|
|
116
|
-
},
|
|
116
|
+
}, we = {
|
|
117
117
|
key: -2,
|
|
118
118
|
name: "Autoselect",
|
|
119
|
-
regions: [
|
|
120
|
-
regionByIndex: /* @__PURE__ */ new Map([[-2,
|
|
121
|
-
},
|
|
119
|
+
regions: [U],
|
|
120
|
+
regionByIndex: /* @__PURE__ */ new Map([[-2, U]])
|
|
121
|
+
}, Te = {
|
|
122
122
|
countryCode: "00",
|
|
123
123
|
depth: 1,
|
|
124
124
|
device: 0,
|
|
@@ -126,10 +126,10 @@ var ge = { class: "top-competitorSelector" }, _e = { class: "top-ellipsis1" }, v
|
|
|
126
126
|
index: -1,
|
|
127
127
|
lang: "ru",
|
|
128
128
|
name: "Without region"
|
|
129
|
-
},
|
|
129
|
+
}, Ee = () => (U.name = e().Common.Autoselect, U), De = () => (Ee(), we.name = e().Common.Autoselect, console.log(we), we), Oe = () => (Te.name = e().Keywords.Without_region, Te), ke = (e = "", t = !1, n = []) => {
|
|
130
130
|
let r;
|
|
131
|
-
return r = e ?
|
|
132
|
-
},
|
|
131
|
+
return r = e ? je(n, e) : Ae(n), t && r.set(-2, De()), r.size || r.set(-2, Ce), r;
|
|
132
|
+
}, Ae = (e, t = !0, n = [], r = "") => {
|
|
133
133
|
let i = /* @__PURE__ */ new Map();
|
|
134
134
|
return e.forEach((e) => {
|
|
135
135
|
if (r !== "project_relevant_url" && !e.enabled || r && typeof e.key == "number" && e.key > 1) return;
|
|
@@ -143,35 +143,35 @@ var ge = { class: "top-competitorSelector" }, _e = { class: "top-ellipsis1" }, v
|
|
|
143
143
|
if (i.has(e)) return;
|
|
144
144
|
let t = {
|
|
145
145
|
key: e,
|
|
146
|
-
name:
|
|
146
|
+
name: xe[e],
|
|
147
147
|
regions: [],
|
|
148
148
|
regionByIndex: /* @__PURE__ */ new Map()
|
|
149
149
|
};
|
|
150
150
|
i.set(t.key, t);
|
|
151
151
|
}), i;
|
|
152
|
-
},
|
|
153
|
-
let r =
|
|
152
|
+
}, je = (e, n) => {
|
|
153
|
+
let r = Ae(e, !1, t.state.forceSearchersKeysForKeywordsStats, n);
|
|
154
154
|
if (r.has(2)) {
|
|
155
155
|
let e = r.get(2);
|
|
156
156
|
e && (e.regionByIndex = /* @__PURE__ */ new Map());
|
|
157
157
|
}
|
|
158
158
|
return (n === "volume" || n === "cost_forecast") && t.state.showGlobalRegionForKeywordsStats && r.forEach((e) => {
|
|
159
159
|
if (!e.regionByIndex) return;
|
|
160
|
-
let t = { ...
|
|
160
|
+
let t = { ...Oe() };
|
|
161
161
|
e.regionByIndex.set(t.index, t);
|
|
162
162
|
}), r;
|
|
163
|
-
},
|
|
164
|
-
let r =
|
|
163
|
+
}, Me = (e, t, n = []) => {
|
|
164
|
+
let r = ke(e, !1, n), i;
|
|
165
165
|
return r.forEach((n) => {
|
|
166
166
|
if (!(t.searcher_key !== void 0 && t.searcher_key != n.key) && n.regions && (n.regions.forEach((r) => {
|
|
167
167
|
if (!i && !(t.key !== void 0 && t.key != r.key) && !(t.index !== void 0 && t.index != r.index) && !(!e && (t.lang !== void 0 && t.lang != r.lang || t.device !== void 0 && t.device != r.device))) return r.searcher_key = n.key, i = r, !1;
|
|
168
168
|
}), i)) return !1;
|
|
169
169
|
}), i;
|
|
170
|
-
},
|
|
170
|
+
}, Ne = l(() => import("../.chunks/dialog_regionSelectorRegions-CN3F-67P.esm.js")), Pe = (t, n) => {
|
|
171
171
|
let r = e();
|
|
172
172
|
return {
|
|
173
|
-
searcherKey:
|
|
174
|
-
optionBySearcherKey:
|
|
173
|
+
searcherKey: F(n.value.keys().next().value ?? -2),
|
|
174
|
+
optionBySearcherKey: w(() => {
|
|
175
175
|
let e = /* @__PURE__ */ new Map();
|
|
176
176
|
if (n.value.forEach((n) => {
|
|
177
177
|
let r = {
|
|
@@ -195,10 +195,10 @@ var ge = { class: "top-competitorSelector" }, _e = { class: "top-ellipsis1" }, v
|
|
|
195
195
|
return e;
|
|
196
196
|
})
|
|
197
197
|
};
|
|
198
|
-
},
|
|
199
|
-
let r = e(), i =
|
|
198
|
+
}, Fe = (t, n) => {
|
|
199
|
+
let r = e(), i = w(() => t.forMode === "volume" || t.forMode === "cost_forecast"), a = F(-2);
|
|
200
200
|
t.modelValue.length === 1 && (a.value = t.modelValue[0]), a.value === -2 && (i.value ? a.value = n.value?.regionByIndex.values().next().value?.key ?? -2 : a.value = n.value?.regionByIndex.keys().next().value ?? -2);
|
|
201
|
-
let o =
|
|
201
|
+
let o = w(() => {
|
|
202
202
|
let e = /* @__PURE__ */ new Map();
|
|
203
203
|
return n.value.regionByIndex?.forEach((t) => {
|
|
204
204
|
let a = t.name;
|
|
@@ -221,7 +221,7 @@ var ge = { class: "top-competitorSelector" }, _e = { class: "top-ellipsis1" }, v
|
|
|
221
221
|
e.set(t.index, s);
|
|
222
222
|
}), e;
|
|
223
223
|
});
|
|
224
|
-
return
|
|
224
|
+
return B(o, (e, n) => {
|
|
225
225
|
if (t.onlySearcher || a.value !== void 0 && e.get(a.value)) return;
|
|
226
226
|
let i = e.keys().next().value;
|
|
227
227
|
if (a.value === -2 || i === -2) {
|
|
@@ -244,8 +244,8 @@ var ge = { class: "top-competitorSelector" }, _e = { class: "top-ellipsis1" }, v
|
|
|
244
244
|
regionIndex: a,
|
|
245
245
|
optionByRegionIndex: o
|
|
246
246
|
};
|
|
247
|
-
},
|
|
248
|
-
let r =
|
|
247
|
+
}, Ie = (e, t, n) => {
|
|
248
|
+
let r = F([]), i = () => {
|
|
249
249
|
if (e.onlySearcher && t.value) {
|
|
250
250
|
r.value = Array.from(t.value.keys());
|
|
251
251
|
return;
|
|
@@ -259,19 +259,19 @@ var ge = { class: "top-competitorSelector" }, _e = { class: "top-ellipsis1" }, v
|
|
|
259
259
|
}, a = () => {
|
|
260
260
|
r.value.length ? localStorage.setItem("ui:project:regionSelector:" + e.projectId + ":regionsIndexes", JSON.stringify(r.value)) : localStorage.removeItem("ui:project:regionSelector:" + e.projectId + ":regionsIndexes");
|
|
261
261
|
};
|
|
262
|
-
return
|
|
262
|
+
return B(r, () => {
|
|
263
263
|
a();
|
|
264
264
|
}), e.addCompare && i(), { regionsIndexes: r };
|
|
265
|
-
},
|
|
266
|
-
let t =
|
|
265
|
+
}, Le = (e) => {
|
|
266
|
+
let t = w(() => e.forMode === "volume" || e.forMode === "cost_forecast"), n = w(() => ke(e.forMode, e.autoRegion, e.searchers)), r = w(() => n.value.get(a.searcherKey.value) || Ce), i = w(() => {
|
|
267
267
|
let e = /* @__PURE__ */ new Set();
|
|
268
268
|
return n.value.forEach((t) => {
|
|
269
269
|
t.regionByIndex.forEach((t) => {
|
|
270
270
|
t.index !== -1 && t.index !== -2 && e.add(t.index);
|
|
271
271
|
});
|
|
272
272
|
}), e;
|
|
273
|
-
}), a =
|
|
274
|
-
|
|
273
|
+
}), a = Pe(e, n), o = Fe(e, r), s = Ie(e, n, i);
|
|
274
|
+
B(n, () => {
|
|
275
275
|
if (e.onlySearcher ? s.regionsIndexes.value = Array.from(n.value.keys()) : s.regionsIndexes.value = s.regionsIndexes.value.filter((e) => i.value.has(e)), a.searcherKey.value === -1) return;
|
|
276
276
|
let t = n.value.keys().next().value;
|
|
277
277
|
n.value.forEach((r) => {
|
|
@@ -294,7 +294,7 @@ var ge = { class: "top-competitorSelector" }, _e = { class: "top-ellipsis1" }, v
|
|
|
294
294
|
let n = o.regionIndex.value;
|
|
295
295
|
if (t.value && e.forMode) {
|
|
296
296
|
let t = o.regionIndex.value;
|
|
297
|
-
n =
|
|
297
|
+
n = Me(e.forMode, {
|
|
298
298
|
searcher_key: c(),
|
|
299
299
|
key: t
|
|
300
300
|
}, e.searchers)?.index;
|
|
@@ -316,9 +316,9 @@ var ge = { class: "top-competitorSelector" }, _e = { class: "top-ellipsis1" }, v
|
|
|
316
316
|
if (e !== void 0) return u()?.regionByIndex?.get(e);
|
|
317
317
|
}
|
|
318
318
|
};
|
|
319
|
-
},
|
|
319
|
+
}, Re = /* @__PURE__ */ j({
|
|
320
320
|
__name: "regionSelector",
|
|
321
|
-
props: /*@__PURE__*/
|
|
321
|
+
props: /*@__PURE__*/ M({
|
|
322
322
|
projectId: {},
|
|
323
323
|
searchers: { default: () => [] },
|
|
324
324
|
modelValue: {},
|
|
@@ -347,19 +347,19 @@ var ge = { class: "top-competitorSelector" }, _e = { class: "top-ellipsis1" }, v
|
|
|
347
347
|
}),
|
|
348
348
|
emits: ["update:modelValue", "update:modelValueSingle"],
|
|
349
349
|
setup(e, { expose: t }) {
|
|
350
|
-
let n = e, a =
|
|
350
|
+
let n = e, a = w(() => n.forMode === "volume" || n.forMode === "cost_forecast"), o = z(e, "modelValue"), s = z(e, "modelValueSingle"), { selectSearcher: c, selectRegion: l, compare: u, searcherByKey: d, allRegionsIndexes: f, getSearcher: p, getRegion: m } = Le(n), h = () => {
|
|
351
351
|
let e = [];
|
|
352
352
|
d.value.forEach((t) => {
|
|
353
353
|
n.forMode !== "project_relevant_url" && !t.enabled || t.regions.forEach((t) => {
|
|
354
354
|
n.forMode !== "project_relevant_url" && !t.enabled || t.index !== -1 && e.push(t);
|
|
355
355
|
});
|
|
356
|
-
}),
|
|
356
|
+
}), Ne.open("regions", {
|
|
357
357
|
regions: e,
|
|
358
358
|
regionsIndexes: u.regionsIndexes.value,
|
|
359
359
|
"@update:regionsIndexes": (e) => u.regionsIndexes.value = e
|
|
360
360
|
});
|
|
361
361
|
};
|
|
362
|
-
return
|
|
362
|
+
return B([
|
|
363
363
|
l.regionIndex,
|
|
364
364
|
c.searcherKey,
|
|
365
365
|
u.regionsIndexes
|
|
@@ -369,9 +369,9 @@ var ge = { class: "top-competitorSelector" }, _e = { class: "top-ellipsis1" }, v
|
|
|
369
369
|
o.value = [...u.regionsIndexes.value];
|
|
370
370
|
} else n.onlySearcher ? (o.value = [c.searcherKey.value], c.searcherKey.value === -2 && !n.autoRegion && (o.value.length = 0)) : (o.value = [l.regionIndex.value], l.regionIndex.value === -2 && !n.autoRegion && (o.value.length = 0));
|
|
371
371
|
!n.onlySearcher && !f.value.size && (c.searcherKey.value = -2);
|
|
372
|
-
}), s.value &&
|
|
372
|
+
}), s.value && B(s, () => {
|
|
373
373
|
s.value && (o.value = [s.value]);
|
|
374
|
-
}, { immediate: !0 }),
|
|
374
|
+
}, { immediate: !0 }), B(o, () => {
|
|
375
375
|
if (o.value[0] && (s.value = o.value[0]), n.onlySearcher) {
|
|
376
376
|
if (!o.value.length || o.value.length === 1 && !d.value.has(o.value[0]) || o.value.length === 1 && o.value[0] === -2 && !n.autoRegion) {
|
|
377
377
|
let e = d.value.keys().next().value;
|
|
@@ -423,14 +423,14 @@ var ge = { class: "top-competitorSelector" }, _e = { class: "top-ellipsis1" }, v
|
|
|
423
423
|
}, { immediate: !0 }), t({
|
|
424
424
|
getSearcher: p,
|
|
425
425
|
getRegion: m
|
|
426
|
-
}), (t, n) => (
|
|
426
|
+
}), (t, n) => (P(), D("div", { class: N({
|
|
427
427
|
"top-regionSelector": !0,
|
|
428
428
|
"top-regionSelector-onlySearcher": e.onlySearcher
|
|
429
429
|
}) }, [
|
|
430
|
-
|
|
431
|
-
options:
|
|
432
|
-
modelValue:
|
|
433
|
-
"onUpdate:modelValue": n[0] ||= (e) =>
|
|
430
|
+
A(i, {
|
|
431
|
+
options: R(c).optionBySearcherKey.value,
|
|
432
|
+
modelValue: R(c).searcherKey.value,
|
|
433
|
+
"onUpdate:modelValue": n[0] ||= (e) => R(c).searcherKey.value = e,
|
|
434
434
|
name: "searcher_key",
|
|
435
435
|
addChanger: e.addChanger
|
|
436
436
|
}, null, 8, [
|
|
@@ -438,12 +438,12 @@ var ge = { class: "top-competitorSelector" }, _e = { class: "top-ellipsis1" }, v
|
|
|
438
438
|
"modelValue",
|
|
439
439
|
"addChanger"
|
|
440
440
|
]),
|
|
441
|
-
!e.onlySearcher &&
|
|
441
|
+
!e.onlySearcher && R(c).searcherKey.value !== R(-1) ? (P(), T(i, {
|
|
442
442
|
key: 0,
|
|
443
443
|
class: "top-select-region",
|
|
444
|
-
options:
|
|
445
|
-
modelValue:
|
|
446
|
-
"onUpdate:modelValue": n[1] ||= (e) =>
|
|
444
|
+
options: R(l).optionByRegionIndex.value,
|
|
445
|
+
modelValue: R(l).regionIndex.value,
|
|
446
|
+
"onUpdate:modelValue": n[1] ||= (e) => R(l).regionIndex.value = e,
|
|
447
447
|
name: a.value ? "region_key" : "region_index",
|
|
448
448
|
addChanger: e.addChanger,
|
|
449
449
|
"data-top-icon": e.addRegionIcon ? "" : void 0
|
|
@@ -453,31 +453,31 @@ var ge = { class: "top-competitorSelector" }, _e = { class: "top-ellipsis1" }, v
|
|
|
453
453
|
"name",
|
|
454
454
|
"addChanger",
|
|
455
455
|
"data-top-icon"
|
|
456
|
-
])) :
|
|
457
|
-
e.addCompare && !e.onlySearcher &&
|
|
456
|
+
])) : E("", !0),
|
|
457
|
+
e.addCompare && !e.onlySearcher && R(c).searcherKey.value === R(-1) ? (P(), T(r, {
|
|
458
458
|
key: 1,
|
|
459
459
|
name: "compare",
|
|
460
460
|
onClick: h,
|
|
461
|
-
"data-count-compare-regions-indexes":
|
|
461
|
+
"data-count-compare-regions-indexes": R(u).regionsIndexes.value.length
|
|
462
462
|
}, {
|
|
463
|
-
default:
|
|
463
|
+
default: V(() => [k(L(t.$i18n.Common.Selected_regions), 1)]),
|
|
464
464
|
_: 1
|
|
465
|
-
}, 8, ["data-count-compare-regions-indexes"])) :
|
|
465
|
+
}, 8, ["data-count-compare-regions-indexes"])) : E("", !0)
|
|
466
466
|
], 2));
|
|
467
467
|
}
|
|
468
|
-
}),
|
|
468
|
+
}), W = {
|
|
469
469
|
id: 0,
|
|
470
470
|
name: "/",
|
|
471
471
|
path: "/"
|
|
472
472
|
};
|
|
473
|
-
function
|
|
473
|
+
function ze(t) {
|
|
474
474
|
return t ? e()?.Common.All_folders : "/ (" + e()?.Keywords.Root_folder + ")";
|
|
475
475
|
}
|
|
476
|
-
var
|
|
477
|
-
a = { ...a }, r.childsIds.push(a.id), a.id === 0 && (a.name =
|
|
476
|
+
var Be = (e, t, n = /* @__PURE__ */ new Map(), r = { id: "root" }, i = 0) => (r.childsIds = [], r.id && (r.countAllGroupsActive = r.count_groups_active), e[r.id] && e[r.id].forEach((a) => {
|
|
477
|
+
a = { ...a }, r.childsIds.push(a.id), a.id === 0 && (a.name = ze(t));
|
|
478
478
|
let o = i > 1 ? "-".repeat(i - 1) + " " : "";
|
|
479
|
-
o && !a.name.startsWith(o) && (a.name = o + a.name), n.set(a.id, a),
|
|
480
|
-
}), n),
|
|
479
|
+
o && !a.name.startsWith(o) && (a.name = o + a.name), n.set(a.id, a), Be(e, t, n, a, i + 1), r.childsIds = r.childsIds.concat(a.childsIds), r.id && a.count_groups_active && (r.countAllGroupsActive += a.count_groups_active);
|
|
480
|
+
}), n), Ve = (e, t) => e.gen(`/get/${t}/folders/`, [
|
|
481
481
|
"id",
|
|
482
482
|
"parent_id",
|
|
483
483
|
"name",
|
|
@@ -488,9 +488,9 @@ var ze = (e, t, n = /* @__PURE__ */ new Map(), r = { id: "root" }, i = 0) => (r.
|
|
|
488
488
|
});
|
|
489
489
|
//#endregion
|
|
490
490
|
//#region src/core/utils/composables/useWatch.ts
|
|
491
|
-
function
|
|
491
|
+
function He(e, t, n) {
|
|
492
492
|
let r = Object.keys(e);
|
|
493
|
-
return
|
|
493
|
+
return B(r.map((t) => e[t]), (e, n, i) => {
|
|
494
494
|
let a = {};
|
|
495
495
|
e.forEach((e, t) => {
|
|
496
496
|
if (!Object.is(e, n[t])) {
|
|
@@ -505,9 +505,9 @@ function Ve(e, t, n) {
|
|
|
505
505
|
}
|
|
506
506
|
//#endregion
|
|
507
507
|
//#region src/components/project/groupSelector/folders/folders.vue?vue&type=script&setup=true&lang.ts
|
|
508
|
-
var
|
|
508
|
+
var Ue = ["innerHTML"], We = /* @__PURE__ */ j({
|
|
509
509
|
__name: "folders",
|
|
510
|
-
props: /*@__PURE__*/
|
|
510
|
+
props: /*@__PURE__*/ M({
|
|
511
511
|
folderId: {},
|
|
512
512
|
folder: {},
|
|
513
513
|
folders: {},
|
|
@@ -523,20 +523,20 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
523
523
|
}, {
|
|
524
524
|
folderId: { required: !0 },
|
|
525
525
|
folderIdModifiers: {},
|
|
526
|
-
folder: { default:
|
|
526
|
+
folder: { default: W },
|
|
527
527
|
folderModifiers: {}
|
|
528
528
|
}),
|
|
529
529
|
emits: ["update:folderId", "update:folder"],
|
|
530
530
|
setup(e) {
|
|
531
|
-
let t = e, n =
|
|
532
|
-
|
|
531
|
+
let t = e, n = z(e, "folderId"), r = z(e, "folder"), i = t.client && !t.folders ? Ve(t.client, t.service) : void 0, a = F(null);
|
|
532
|
+
B(() => t.projectId, () => {
|
|
533
533
|
i?.changeParams({ project_id: t.projectId }), i?.setOptions({ checkFingerprint: "TopGroupSelectorFolders:" + t.projectId }), a.value?.resetCache();
|
|
534
534
|
}, { immediate: !0 });
|
|
535
|
-
let o =
|
|
535
|
+
let o = w(() => Be(t.folders ?? { root: [W] }, t.canSelectAll)), s = (e) => (t.canSelectAll && e[0]?.id === 0 && (e[0] = {
|
|
536
536
|
...e[0],
|
|
537
|
-
name:
|
|
537
|
+
name: ze(!0)
|
|
538
538
|
}), e);
|
|
539
|
-
return
|
|
539
|
+
return He({
|
|
540
540
|
modelFolder: r,
|
|
541
541
|
modelFolderId: n
|
|
542
542
|
}, async (e) => {
|
|
@@ -546,21 +546,21 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
546
546
|
return;
|
|
547
547
|
}
|
|
548
548
|
let i = o.value.get(t.folderId);
|
|
549
|
-
i ||=
|
|
550
|
-
}, { immediate: !0 }), (t, n) => (
|
|
549
|
+
i ||= W, r.value = i, n.value = i.id;
|
|
550
|
+
}, { immediate: !0 }), (t, n) => (P(), T(x, {
|
|
551
551
|
class: "top-groupSelector_folder",
|
|
552
552
|
modelValue: r.value,
|
|
553
553
|
"onUpdate:modelValue": n[0] ||= (e) => r.value = e,
|
|
554
554
|
items: e.folders ? [...o.value.values()] : void 0,
|
|
555
555
|
"search-type": "inline",
|
|
556
556
|
icon: e.addIcon ? "" : void 0,
|
|
557
|
-
api: e.folders ? void 0 :
|
|
558
|
-
apiSetSearchParams: (...e) =>
|
|
557
|
+
api: e.folders ? void 0 : R(i),
|
|
558
|
+
apiSetSearchParams: (...e) => R(S)(...e, "name"),
|
|
559
559
|
prepareItemsBeforeRender: s,
|
|
560
560
|
addChanger: e.addChanger,
|
|
561
561
|
useCache: ""
|
|
562
562
|
}, {
|
|
563
|
-
item:
|
|
563
|
+
item: V(({ item: e }) => [O("div", { innerHTML: e.name.replaceAll(/</g, "< ") }, null, 8, Ue)]),
|
|
564
564
|
_: 1
|
|
565
565
|
}, 8, [
|
|
566
566
|
"modelValue",
|
|
@@ -571,17 +571,17 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
571
571
|
"addChanger"
|
|
572
572
|
]));
|
|
573
573
|
}
|
|
574
|
-
}),
|
|
574
|
+
}), G = {
|
|
575
575
|
id: -1,
|
|
576
576
|
name: "--",
|
|
577
|
-
folder_id:
|
|
578
|
-
folder_path:
|
|
579
|
-
},
|
|
577
|
+
folder_id: W.id,
|
|
578
|
+
folder_path: W.path
|
|
579
|
+
}, K = {
|
|
580
580
|
id: 0,
|
|
581
581
|
name: "All groups",
|
|
582
|
-
folder_id:
|
|
583
|
-
folder_path:
|
|
584
|
-
},
|
|
582
|
+
folder_id: W.id,
|
|
583
|
+
folder_path: W.path
|
|
584
|
+
}, q = () => (K.name = e()?.Common.All_groups, K), Ge = () => (K.name = e()?.Keywords.Choose_group, K), Ke = (e, t, n) => (e = [...e], t !== void 0 && (e = e.filter((e) => e.on == Number(t))), n && n.id && n.childsIds && (e = e.filter((e) => e.folder_id === n.id || n.childsIds.includes(e.folder_id))), e), qe = (e, t) => e.gen(`/get/${t}/groups/`, [
|
|
585
585
|
"id",
|
|
586
586
|
"name",
|
|
587
587
|
"folder_id",
|
|
@@ -589,12 +589,12 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
589
589
|
]).changeParams({
|
|
590
590
|
folder_id_depth: !0,
|
|
591
591
|
limit: 100
|
|
592
|
-
}),
|
|
592
|
+
}), Je = (e, t) => e.gen(`/add/${t}/groups/`), Ye = (e, t) => e.gen(`/del/${t}/groups/`), Xe = (e, t) => e.gen(`/edit/${t}/groups/rename/`), Ze = { class: "top-groupSelector_groupItem top-ellipsis1" }, Qe = {
|
|
593
593
|
key: 0,
|
|
594
594
|
class: "top-comment"
|
|
595
|
-
},
|
|
595
|
+
}, $e = ["innerHTML"], et = ["innerHTML"], tt = ["innerHTML"], nt = /* @__PURE__ */ j({
|
|
596
596
|
__name: "groups",
|
|
597
|
-
props: /*@__PURE__*/
|
|
597
|
+
props: /*@__PURE__*/ M({
|
|
598
598
|
groupId: {},
|
|
599
599
|
group: {},
|
|
600
600
|
projectId: {},
|
|
@@ -625,14 +625,14 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
625
625
|
group: { required: !0 },
|
|
626
626
|
groupModifiers: {}
|
|
627
627
|
}),
|
|
628
|
-
emits: /*@__PURE__*/
|
|
628
|
+
emits: /*@__PURE__*/ M([
|
|
629
629
|
"addGroup",
|
|
630
630
|
"editGroup",
|
|
631
631
|
"delGroup"
|
|
632
632
|
], ["update:groupId", "update:group"]),
|
|
633
633
|
setup(e, { expose: t, emit: n }) {
|
|
634
|
-
let r = e, i = n, a =
|
|
635
|
-
if (r.groups !== void 0) return
|
|
634
|
+
let r = e, i = n, a = z(e, "groupId"), s = z(e, "group"), c = r.client && !r.groups ? qe(r.client, r.service) : void 0, l = r.client ? Je(r.client, r.service) : void 0, u = r.client ? Ye(r.client, r.service) : void 0, d = r.client ? Xe(r.client, r.service) : void 0, f = F(null), p = w(() => {
|
|
635
|
+
if (r.groups !== void 0) return Ke(r.groups, r.on, r.folder);
|
|
636
636
|
}), m = o("folder_id", "EQUALS", [r.folder?.id ?? 0]);
|
|
637
637
|
c?.changeParams({
|
|
638
638
|
project_id: r.projectId,
|
|
@@ -644,16 +644,16 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
644
644
|
}, g = (e = !1) => {
|
|
645
645
|
f.value?.resetCache(e);
|
|
646
646
|
};
|
|
647
|
-
|
|
647
|
+
He({
|
|
648
648
|
projectId: () => r.projectId,
|
|
649
649
|
folderId: () => r.folder?.id,
|
|
650
650
|
canSelectAll: () => r.canSelectAll
|
|
651
651
|
}, (e) => {
|
|
652
652
|
if (e.projectId && (c?.changeParams({ project_id: r.projectId }), c?.setOptions({ checkFingerprint: "TopGroupSelectorGroups:" + r.projectId })), e.folderId && (m.values = [r.folder?.id ?? 0]), g(), (e.folderId?.old !== void 0 || e.canSelectAll?.old !== void 0) && a.value !== null) {
|
|
653
653
|
let e;
|
|
654
|
-
r.autoselect === "first" && (e = p.value?.[0], r.canSelectAll && (e =
|
|
654
|
+
r.autoselect === "first" && (e = p.value?.[0], r.canSelectAll && (e = se(q()))), (r.autoselect === "placeholder" || !e) && (e = Ge()), h(e);
|
|
655
655
|
}
|
|
656
|
-
}, { immediate: !0 }),
|
|
656
|
+
}, { immediate: !0 }), He({
|
|
657
657
|
modelGroup: s,
|
|
658
658
|
modelGroupId: a
|
|
659
659
|
}, async (e) => {
|
|
@@ -665,14 +665,14 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
665
665
|
if (!(r.canAdd && a.value === null)) {
|
|
666
666
|
if (r.groups) {
|
|
667
667
|
let e = p.value?.find((e) => e.id === a.value);
|
|
668
|
-
if (!e && r.canSelectAll && (e =
|
|
668
|
+
if (!e && r.canSelectAll && (e = q()), e) h(e);
|
|
669
669
|
else {
|
|
670
670
|
let e = p.value?.[0];
|
|
671
|
-
e && !a.value ? h(e) : h(
|
|
671
|
+
e && !a.value ? h(e) : h(G);
|
|
672
672
|
}
|
|
673
673
|
}
|
|
674
674
|
if (r.client && !r.groups && (a.value || a.value === 0 && !r.canSelectAll)) {
|
|
675
|
-
let e =
|
|
675
|
+
let e = qe(r.client, r.service).changeParams({
|
|
676
676
|
project_id: r.projectId,
|
|
677
677
|
id: a.value,
|
|
678
678
|
filters: [m]
|
|
@@ -680,7 +680,7 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
680
680
|
e?.setOptions({ checkFingerprint: "TopGroupSelectorFindGroup:" + r.projectId });
|
|
681
681
|
let t = await e.call();
|
|
682
682
|
if (!t.errors?.length && !t.result) return;
|
|
683
|
-
!t.errors && t.result[0] ? h(t.result[0]) : h(
|
|
683
|
+
!t.errors && t.result[0] ? h(t.result[0]) : h(G);
|
|
684
684
|
}
|
|
685
685
|
}
|
|
686
686
|
}
|
|
@@ -690,7 +690,7 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
690
690
|
let t = s.value, n = await l.changeParams({
|
|
691
691
|
project_id: r.projectId,
|
|
692
692
|
names: [e.name],
|
|
693
|
-
to_id: r.folder?.id ??
|
|
693
|
+
to_id: r.folder?.id ?? W.id,
|
|
694
694
|
to_type: "in_folder_last"
|
|
695
695
|
}).call();
|
|
696
696
|
if (n.result) {
|
|
@@ -707,13 +707,13 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
707
707
|
id: e.id,
|
|
708
708
|
name: t
|
|
709
709
|
}), f.value?.updateCacheItemById(e.id, { name: t })));
|
|
710
|
-
},
|
|
710
|
+
}, ee = async (e) => {
|
|
711
711
|
u && ((await u.changeParams({
|
|
712
712
|
project_id: r.projectId,
|
|
713
713
|
id: e.id
|
|
714
|
-
}).call()).errors || (s.value.id === e.id && h(r.canSelectAll ?
|
|
714
|
+
}).call()).errors || (s.value.id === e.id && h(r.canSelectAll ? q() : G), i("delGroup", e.id), f.value?.deleteCacheItemById(e.id)));
|
|
715
715
|
};
|
|
716
|
-
return t({ resetCacheGroups: g }), (t, n) => (
|
|
716
|
+
return t({ resetCacheGroups: g }), (t, n) => (P(), T(x, {
|
|
717
717
|
ref_key: "refSelector",
|
|
718
718
|
ref: f,
|
|
719
719
|
class: "top-groupSelector_group",
|
|
@@ -722,51 +722,51 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
722
722
|
items: p.value ?? e.groups,
|
|
723
723
|
searchType: "inline",
|
|
724
724
|
icon: e.addIcon ? "" : void 0,
|
|
725
|
-
api: e.groups ? void 0 :
|
|
726
|
-
apiSetSearchParams: (...e) =>
|
|
725
|
+
api: e.groups ? void 0 : R(c),
|
|
726
|
+
apiSetSearchParams: (...e) => R(S)(...e, "name"),
|
|
727
727
|
appendSearchToResult: !!e.canAdd,
|
|
728
|
-
useAllItem: e.canSelectAll ?
|
|
728
|
+
useAllItem: e.canSelectAll ? R(q)().name : !1,
|
|
729
729
|
addChanger: e.addChanger,
|
|
730
730
|
useCache: "",
|
|
731
731
|
onAppendItem: v
|
|
732
|
-
},
|
|
733
|
-
item:
|
|
734
|
-
n.id ===
|
|
735
|
-
|
|
732
|
+
}, ne({
|
|
733
|
+
item: V(({ item: n }) => [O("div", Ze, [
|
|
734
|
+
n.id === R(null) ? (P(), D("div", Qe, L(t.$i18n.Common.Add) + ": ", 1)) : E("", !0),
|
|
735
|
+
O("span", {
|
|
736
736
|
class: "top-groupSelector_groupItemName top-ellipsis1",
|
|
737
737
|
innerHTML: n.name
|
|
738
|
-
}, null, 8,
|
|
739
|
-
n.folder_path && e.showPath ? (
|
|
738
|
+
}, null, 8, $e),
|
|
739
|
+
n.folder_path && e.showPath ? (P(), D("span", {
|
|
740
740
|
key: 1,
|
|
741
741
|
class: "top-groupSelector_groupItemFolderPath top-ellipsis1",
|
|
742
742
|
innerHTML: n.folder_path
|
|
743
|
-
}, null, 8,
|
|
743
|
+
}, null, 8, et)) : E("", !0)
|
|
744
744
|
])]),
|
|
745
745
|
_: 2
|
|
746
746
|
}, [e.canEditAndDel && e.client ? {
|
|
747
747
|
name: "actions",
|
|
748
|
-
fn:
|
|
748
|
+
fn: V(({ item: r }) => [r.id ? (P(), D(C, { key: 0 }, [A(_, {
|
|
749
749
|
submitText: t.$i18n.Common.Save,
|
|
750
750
|
defaultValue: r.name,
|
|
751
751
|
inputProps: { addCleaner: !1 },
|
|
752
752
|
onSubmit: (e) => b(r, e)
|
|
753
753
|
}, {
|
|
754
|
-
opener:
|
|
755
|
-
default:
|
|
754
|
+
opener: V(() => [...n[1] ||= [O("div", { "data-top-icon": "" }, null, -1)]]),
|
|
755
|
+
default: V(() => [...n[2] ||= []]),
|
|
756
756
|
_: 1
|
|
757
757
|
}, 8, [
|
|
758
758
|
"submitText",
|
|
759
759
|
"defaultValue",
|
|
760
760
|
"onSubmit"
|
|
761
|
-
]),
|
|
761
|
+
]), A(y, {
|
|
762
762
|
isWarning: "",
|
|
763
763
|
submitText: t.$i18n.Common.Delete,
|
|
764
|
-
onSubmit: (e) =>
|
|
764
|
+
onSubmit: (e) => ee(r)
|
|
765
765
|
}, {
|
|
766
|
-
opener:
|
|
767
|
-
default:
|
|
766
|
+
opener: V(() => [...n[3] ||= [O("div", { "data-top-icon": "" }, null, -1)]]),
|
|
767
|
+
default: V(() => [O("span", { innerHTML: e.service === "keywords_2" ? t.$i18n.Keywords.Delete_group_warning : t.$i18n["Ai.Tracker"].Delete_group_warning }, null, 8, tt)]),
|
|
768
768
|
_: 1
|
|
769
|
-
}, 8, ["submitText", "onSubmit"])], 64)) :
|
|
769
|
+
}, 8, ["submitText", "onSubmit"])], 64)) : E("", !0)]),
|
|
770
770
|
key: "0"
|
|
771
771
|
} : void 0]), 1032, [
|
|
772
772
|
"modelValue",
|
|
@@ -779,9 +779,9 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
779
779
|
"addChanger"
|
|
780
780
|
]));
|
|
781
781
|
}
|
|
782
|
-
}),
|
|
782
|
+
}), rt = { class: "top-groupSelector" }, it = /* @__PURE__ */ j({
|
|
783
783
|
__name: "groupSelector",
|
|
784
|
-
props: /*@__PURE__*/
|
|
784
|
+
props: /*@__PURE__*/ M({
|
|
785
785
|
folderId: {},
|
|
786
786
|
folder: {},
|
|
787
787
|
groupId: {},
|
|
@@ -826,20 +826,20 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
826
826
|
folderModifiers: {},
|
|
827
827
|
groupId: { required: !0 },
|
|
828
828
|
groupIdModifiers: {},
|
|
829
|
-
group: { default:
|
|
829
|
+
group: { default: G },
|
|
830
830
|
groupModifiers: {}
|
|
831
831
|
}),
|
|
832
|
-
emits: /*@__PURE__*/
|
|
832
|
+
emits: /*@__PURE__*/ M(["update:groups"], [
|
|
833
833
|
"update:folderId",
|
|
834
834
|
"update:folder",
|
|
835
835
|
"update:groupId",
|
|
836
836
|
"update:group"
|
|
837
837
|
]),
|
|
838
838
|
setup(e, { expose: t, emit: n }) {
|
|
839
|
-
let r = e, i =
|
|
840
|
-
o.value =
|
|
839
|
+
let r = e, i = F(null), a = z(e, "folderId"), o = z(e, "folder"), s = z(e, "groupId"), c = z(e, "group"), l = n;
|
|
840
|
+
o.value = Be(r.folders ?? { root: [W] }, r.canSelectAllGroups).get(a.value);
|
|
841
841
|
let u = r.groups?.find((e) => e.id === s.value);
|
|
842
|
-
s.value || (u = r.groups?.[0]), r.canSelectAllGroups && !u && (u =
|
|
842
|
+
s.value || (u = r.groups?.[0]), r.canSelectAllGroups && !u && (u = q()), (r.autoselect === "placeholder" || !u) && (u = Ge()), u ??= G, c.value = u;
|
|
843
843
|
let d = (e) => {
|
|
844
844
|
let t;
|
|
845
845
|
r.groups && e && (t = [...r.groups, e]), l("update:groups", t);
|
|
@@ -865,7 +865,7 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
865
865
|
};
|
|
866
866
|
return t({ resetCacheGroups: (e = !1) => {
|
|
867
867
|
i.value?.resetCacheGroups(e);
|
|
868
|
-
} }), (t, n) => (
|
|
868
|
+
} }), (t, n) => (P(), D("div", rt, [e.showFolders ? (P(), T(We, {
|
|
869
869
|
key: 0,
|
|
870
870
|
folderId: a.value,
|
|
871
871
|
"onUpdate:folderId": n[0] ||= (e) => a.value = e,
|
|
@@ -888,7 +888,7 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
888
888
|
"addIcon",
|
|
889
889
|
"client",
|
|
890
890
|
"service"
|
|
891
|
-
])) :
|
|
891
|
+
])) : E("", !0), e.showGroups ? (P(), T(nt, {
|
|
892
892
|
key: 1,
|
|
893
893
|
ref_key: "componentGroupsRef",
|
|
894
894
|
ref: i,
|
|
@@ -928,46 +928,46 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
928
928
|
"addIcon",
|
|
929
929
|
"client",
|
|
930
930
|
"service"
|
|
931
|
-
])) :
|
|
931
|
+
])) : E("", !0)]));
|
|
932
932
|
}
|
|
933
|
-
}),
|
|
933
|
+
}), at = (e) => ({
|
|
934
934
|
id: null,
|
|
935
935
|
name: e,
|
|
936
936
|
listItemProps: {
|
|
937
937
|
type: "title",
|
|
938
938
|
class: "top-projectSelector_item"
|
|
939
939
|
}
|
|
940
|
-
}),
|
|
940
|
+
}), ot = {
|
|
941
941
|
scheduledUpdate: !1,
|
|
942
942
|
manualUpdate: !1,
|
|
943
943
|
guestProjects: !1
|
|
944
|
-
},
|
|
944
|
+
}, st = (t, n) => {
|
|
945
945
|
let r = [], i = {
|
|
946
|
-
scheduledUpdate:
|
|
947
|
-
manualUpdate:
|
|
948
|
-
guestProjects:
|
|
946
|
+
scheduledUpdate: at(e().Projects.Scheduled_update),
|
|
947
|
+
manualUpdate: at(e().Projects.Manual_update),
|
|
948
|
+
guestProjects: at(e().Projects.Guest_projects)
|
|
949
949
|
}, a = n ? {
|
|
950
950
|
scheduledUpdate: !1,
|
|
951
951
|
manualUpdate: !1,
|
|
952
952
|
guestProjects: !1
|
|
953
|
-
} :
|
|
953
|
+
} : ot;
|
|
954
954
|
for (let e of t) !a.scheduledUpdate && e.right?.startsWith("1") && e.on > 0 && (r.push(i.scheduledUpdate), a.scheduledUpdate = !0), !a.manualUpdate && e.right?.startsWith("1") && e.on === 0 && (r.push(i.manualUpdate), a.manualUpdate = !0), !a.guestProjects && e.right?.startsWith("0") && e.on >= 0 && (r.push(i.guestProjects), a.guestProjects = !0), r.push(e);
|
|
955
955
|
return r;
|
|
956
|
-
},
|
|
956
|
+
}, ct = (e) => ({
|
|
957
957
|
...e,
|
|
958
|
-
externalLink:
|
|
958
|
+
externalLink: mt(e.url ?? ""),
|
|
959
959
|
listItemProps: {
|
|
960
960
|
class: "top-projectSelector_item",
|
|
961
961
|
attrs: { title: e.name }
|
|
962
962
|
}
|
|
963
|
-
}),
|
|
963
|
+
}), lt = (e, t, n) => !e || e.length === 0 ? [] : (t && Object.keys(ot).forEach((e) => ot[e] = !1), st(e.map(ct), n)), ut = (e) => {
|
|
964
964
|
e = e.replace(/#.*/, "");
|
|
965
965
|
let t = location.hash;
|
|
966
966
|
return t = t.replace(/%22historyView%22:[^,]*,/, ""), t = t.replace(/%22modelsKeys%22:\[[^\]]*],/, ""), t = t.replace(/%22competitorsIds%22:\[[^\]]*],/, ""), t = t.replace(/%22searchersKeys%22:\[[^\]]*],/, ""), t = t.replace(/%22regionIndex%22:[^,]*,/, ""), t = t.replace(/%22regionsIndexes%22:\[[^\]]*],/, ""), t = t.replace(/%22folderId%22:[^,]*,/, ""), t = t.replace(/%22groupId%22:[^,]*,/, ""), t = t.replace(/%22tagsIds%22:\[[^\]]*],/, ""), /%22dataSort%22:\{[^}]*0000-00-00[^}]*}/.test(t) || (t = t.replace(/,?%22dataSort%22:\{[^}]*}(,?)/, "$1")), e + t;
|
|
967
|
-
}, ut = (e) => {
|
|
968
|
-
location.href = dt(e);
|
|
969
967
|
}, dt = (e) => {
|
|
970
|
-
|
|
968
|
+
location.href = ft(e);
|
|
969
|
+
}, ft = (e) => {
|
|
970
|
+
let t = pt(), n = location.pathname.split("/"), r = "project/dynamics/", i = "";
|
|
971
971
|
n[1] == "project" && (r = n[1] + "/" + n[2] + "/"), n[2] == "settings" && (i = location.hash), [
|
|
972
972
|
"watcher",
|
|
973
973
|
"indexing",
|
|
@@ -977,16 +977,16 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
977
977
|
"adwords"
|
|
978
978
|
].includes(n[4]) && (i = n[4] + "/");
|
|
979
979
|
let a = "https://" + t + "/" + r + e + "/" + i;
|
|
980
|
-
return a =
|
|
981
|
-
},
|
|
980
|
+
return a = ut(a), a;
|
|
981
|
+
}, pt = () => window.page?.subdomain ? window.location.host.replace(window.page?.subdomain + ".", "") : window.location.host, mt = (e) => {
|
|
982
982
|
let t = e.startsWith("http") ? e : "https://" + e;
|
|
983
983
|
return t = t.replace(/"/g, "%22"), t;
|
|
984
|
-
},
|
|
984
|
+
}, ht = (e, t) => {
|
|
985
985
|
let n = e.params.filters ?? [];
|
|
986
986
|
n = n.filter((e) => e.name !== "GEN_SEARCH_STRING()");
|
|
987
987
|
let r = h(t), i = t.replace(/([[^$.|?*+()])/g, "\\$1"), a = r.replace(/([[^$.|?*+()])/g, "\\$1");
|
|
988
988
|
t && n.push(o("GEN_SEARCH_STRING()", "REGEXP", [`(${i}|${a})`])), e.changeParams({ filters: n });
|
|
989
|
-
},
|
|
989
|
+
}, gt = (e) => {
|
|
990
990
|
let n = e.gen("/get/projects_2/projects/", [
|
|
991
991
|
"id",
|
|
992
992
|
"user_id",
|
|
@@ -1006,13 +1006,13 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
1006
1006
|
]
|
|
1007
1007
|
}), n.options.loadingShowSpinner = !1, n.options.onApiLoaded = (e, t, n) => {
|
|
1008
1008
|
let r = t.data.filters.length > 1, i = t.data.offset === 0, a = t.data.offset === void 0 || i && !r, o = r;
|
|
1009
|
-
e.result =
|
|
1009
|
+
e.result = lt(e.result, a, o), n?.(e, t);
|
|
1010
1010
|
}, n;
|
|
1011
|
-
},
|
|
1011
|
+
}, _t = (e) => e.gen("/add/projects_2/projects/"), vt = { class: "top-ellipsis1" }, yt = /* @__PURE__ */ j({
|
|
1012
1012
|
__name: "submenu",
|
|
1013
1013
|
props: { id: {} },
|
|
1014
1014
|
setup(n) {
|
|
1015
|
-
let r = n, i = e(), a =
|
|
1015
|
+
let r = n, i = e(), a = pt(), o = (e) => {
|
|
1016
1016
|
let n = [
|
|
1017
1017
|
{
|
|
1018
1018
|
href: `https://${a}/project/keywords/${e.id}/`,
|
|
@@ -1089,44 +1089,44 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
1089
1089
|
].filter((e) => !Object.entries(t.state.closedByMod).some(([t, n]) => n && e.href.includes(`/${t}/`)));
|
|
1090
1090
|
return e.right.includes("0") ? n.filter((t) => e.right[t.right] === "1") : n;
|
|
1091
1091
|
};
|
|
1092
|
-
return (e, t) => (
|
|
1092
|
+
return (e, t) => (P(), T(R(b), {
|
|
1093
1093
|
id: r.id,
|
|
1094
1094
|
class: "top-projectSelectorSubmenu",
|
|
1095
1095
|
notch: !1,
|
|
1096
1096
|
pos: "2"
|
|
1097
1097
|
}, {
|
|
1098
|
-
contentList:
|
|
1098
|
+
contentList: V(({ data: t }) => [t ? (P(), D(C, { key: 0 }, [(P(!0), D(C, null, I(o(t.projectItem), (t) => (P(), T(R(v), {
|
|
1099
1099
|
href: t.href,
|
|
1100
1100
|
title: t.title,
|
|
1101
1101
|
"data-top-icon": t.icon,
|
|
1102
1102
|
"data-right": t.right
|
|
1103
1103
|
}, {
|
|
1104
|
-
default:
|
|
1104
|
+
default: V(() => [k(L(e.$core.state.isMobile ? t.title : ""), 1)]),
|
|
1105
1105
|
_: 2
|
|
1106
1106
|
}, 1032, [
|
|
1107
1107
|
"href",
|
|
1108
1108
|
"title",
|
|
1109
1109
|
"data-top-icon",
|
|
1110
1110
|
"data-right"
|
|
1111
|
-
]))), 256)),
|
|
1111
|
+
]))), 256)), A(R(v), {
|
|
1112
1112
|
href: t.projectItem.externalLink,
|
|
1113
1113
|
title: t.projectItem.externalLink,
|
|
1114
1114
|
class: "top-ellipsis",
|
|
1115
1115
|
"data-top-icon": "",
|
|
1116
1116
|
target: "_blank"
|
|
1117
1117
|
}, {
|
|
1118
|
-
default:
|
|
1118
|
+
default: V(() => [O("span", vt, L(e.$core.state.isMobile ? t.projectItem.externalLink : ""), 1)]),
|
|
1119
1119
|
_: 2
|
|
1120
|
-
}, 1032, ["href", "title"])], 64)) :
|
|
1120
|
+
}, 1032, ["href", "title"])], 64)) : E("", !0)]),
|
|
1121
1121
|
_: 1
|
|
1122
1122
|
}, 8, ["id"]));
|
|
1123
1123
|
}
|
|
1124
|
-
}),
|
|
1124
|
+
}), bt = 1440 * 60 * 1e3, J = F(null), Y = fe(), xt = (e) => {
|
|
1125
1125
|
localStorage.setItem("ui_project_selector_total:" + t.state.userId, JSON.stringify({
|
|
1126
1126
|
projectsTotal: e,
|
|
1127
|
-
expiresAt: Date.now() +
|
|
1127
|
+
expiresAt: Date.now() + bt
|
|
1128
1128
|
}));
|
|
1129
|
-
},
|
|
1129
|
+
}, St = () => {
|
|
1130
1130
|
let e = localStorage.getItem("ui_project_selector_total:" + t.state.userId);
|
|
1131
1131
|
if (!e) return;
|
|
1132
1132
|
let { projectsTotal: n, expiresAt: r } = JSON.parse(e);
|
|
@@ -1135,14 +1135,14 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
1135
1135
|
return;
|
|
1136
1136
|
}
|
|
1137
1137
|
return n;
|
|
1138
|
-
},
|
|
1139
|
-
|
|
1140
|
-
},
|
|
1138
|
+
}, Ct = () => {
|
|
1139
|
+
J.value = null, Y.value = void 0, localStorage.removeItem("ui_project_selector_total:" + t.state.userId), ee("/get/projects_2/projects/");
|
|
1140
|
+
}, wt = { class: "top-projectSelector_itemText" }, Tt = { class: "top-comment" }, Et = {
|
|
1141
1141
|
key: 0,
|
|
1142
1142
|
class: "top-comment"
|
|
1143
|
-
},
|
|
1143
|
+
}, Dt = ["href"], Ot = 1e3, kt = /* @__PURE__ */ j({
|
|
1144
1144
|
__name: "projectSelector",
|
|
1145
|
-
props: /*@__PURE__*/
|
|
1145
|
+
props: /*@__PURE__*/ M({
|
|
1146
1146
|
modelValue: {},
|
|
1147
1147
|
client: {},
|
|
1148
1148
|
menuMode: { type: Boolean },
|
|
@@ -1163,64 +1163,64 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
1163
1163
|
}),
|
|
1164
1164
|
emits: ["update:modelValue"],
|
|
1165
1165
|
setup(n) {
|
|
1166
|
-
let r = e(), i = n, a =
|
|
1167
|
-
if (!(!c.value && c.value !== 0)) return c.value <
|
|
1166
|
+
let r = e(), i = n, a = z(n, "modelValue"), o = gt(i.client), s = _t(i.client), c = F(St()), l = F(null), f = me(), p = w(() => i.placeholder ?? r.Projects.Select_project), m = w(() => !Y.value || !i.excludeProjectId ? Y.value : Y.value.filter((e) => e.id !== i.excludeProjectId)), h = w(() => {
|
|
1167
|
+
if (!(!c.value && c.value !== 0)) return c.value < Ot ? "static" : "api";
|
|
1168
1168
|
}), _ = async () => {
|
|
1169
|
-
|
|
1170
|
-
let e = await
|
|
1171
|
-
return
|
|
1169
|
+
J.value ||= o.call();
|
|
1170
|
+
let e = await J.value;
|
|
1171
|
+
return J.value = null, e;
|
|
1172
1172
|
}, v = async (e) => {
|
|
1173
1173
|
let n = await s.changeParams({
|
|
1174
1174
|
url: e.name,
|
|
1175
1175
|
name: e.name
|
|
1176
1176
|
}).call();
|
|
1177
1177
|
if (!n.errors) {
|
|
1178
|
-
if (
|
|
1179
|
-
let r =
|
|
1178
|
+
if (Y.value && h.value === "static") {
|
|
1179
|
+
let r = ct({
|
|
1180
1180
|
id: n.result,
|
|
1181
1181
|
user_id: t.state.userId,
|
|
1182
1182
|
name: e.name,
|
|
1183
1183
|
url: e.name,
|
|
1184
1184
|
on: 0,
|
|
1185
1185
|
right: "11111111111111111111"
|
|
1186
|
-
}), i =
|
|
1187
|
-
|
|
1188
|
-
...
|
|
1186
|
+
}), i = Y.value.findIndex((e) => e.on === 0);
|
|
1187
|
+
Y.value = [
|
|
1188
|
+
...Y.value.slice(0, i),
|
|
1189
1189
|
r,
|
|
1190
|
-
...
|
|
1191
|
-
], c.value && (c.value += 1,
|
|
1190
|
+
...Y.value.slice(i)
|
|
1191
|
+
], c.value && (c.value += 1, xt(c.value));
|
|
1192
1192
|
}
|
|
1193
1193
|
h.value === "api" && l.value?.resetCache(!0);
|
|
1194
1194
|
}
|
|
1195
1195
|
}, y = async () => {
|
|
1196
|
-
if (
|
|
1196
|
+
if (Y.value || h.value === "api") return;
|
|
1197
1197
|
let e = await _();
|
|
1198
|
-
e.errors || (
|
|
1198
|
+
e.errors || (Y.value = e.result);
|
|
1199
1199
|
}, b = async () => {
|
|
1200
1200
|
if (c.value) {
|
|
1201
1201
|
let e = l.value?.popupOpenerRef?.$el;
|
|
1202
1202
|
e && e.addEventListener("pointerenter", () => y(), { once: !0 });
|
|
1203
1203
|
} else {
|
|
1204
|
-
o.changeParams({ limit:
|
|
1204
|
+
o.changeParams({ limit: Ot });
|
|
1205
1205
|
let e = await _();
|
|
1206
1206
|
if (e.errors) return;
|
|
1207
|
-
delete o.params.limit, c.value = e.total ?? void 0, !
|
|
1207
|
+
delete o.params.limit, c.value = e.total ?? void 0, !Y.value && h.value !== "api" && (Y.value = e.result), c.value && xt(c.value);
|
|
1208
1208
|
}
|
|
1209
1209
|
};
|
|
1210
|
-
return
|
|
1210
|
+
return oe(async () => {
|
|
1211
1211
|
await b();
|
|
1212
1212
|
}), (e, t) => {
|
|
1213
|
-
let r =
|
|
1214
|
-
return
|
|
1213
|
+
let r = le("TopButton");
|
|
1214
|
+
return P(), D(C, null, [(P(), T(x, {
|
|
1215
1215
|
key: h.value ?? "dummy",
|
|
1216
1216
|
ref_key: "refSelector",
|
|
1217
1217
|
ref: l,
|
|
1218
1218
|
class: "top-projectSelector",
|
|
1219
1219
|
modelValue: a.value,
|
|
1220
|
-
"onUpdate:modelValue": t[1] ||= (e) => n.menuMode ?
|
|
1220
|
+
"onUpdate:modelValue": t[1] ||= (e) => n.menuMode ? R(dt)(e.id) : a.value = e,
|
|
1221
1221
|
items: m.value,
|
|
1222
1222
|
itemsChunkSize: 100,
|
|
1223
|
-
itemsIsLoading: h.value === "static" &&
|
|
1223
|
+
itemsIsLoading: h.value === "static" && R(Y) === void 0,
|
|
1224
1224
|
title: e.$i18n.Projects.Search_projects,
|
|
1225
1225
|
modificator: n.modificator,
|
|
1226
1226
|
searchFields: [
|
|
@@ -1230,12 +1230,12 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
1230
1230
|
],
|
|
1231
1231
|
placeholder: p.value,
|
|
1232
1232
|
hasCloserBtn: "",
|
|
1233
|
-
api: h.value === "api" ?
|
|
1234
|
-
apiSetSearchParams: h.value === "api" ? (...e) =>
|
|
1233
|
+
api: h.value === "api" ? R(o) : void 0,
|
|
1234
|
+
apiSetSearchParams: h.value === "api" ? (...e) => R(ht)(...e) : void 0,
|
|
1235
1235
|
useCache: "",
|
|
1236
1236
|
appendSearchToResult: "",
|
|
1237
1237
|
appendSearchAllowDuplicate: "",
|
|
1238
|
-
appendSearchToResultCond:
|
|
1238
|
+
appendSearchToResultCond: R(u),
|
|
1239
1239
|
appendWithoutSelect: "",
|
|
1240
1240
|
buttonProps: {
|
|
1241
1241
|
...n.buttonProps,
|
|
@@ -1246,34 +1246,34 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
1246
1246
|
onAppendItem: v,
|
|
1247
1247
|
onOpen: y
|
|
1248
1248
|
}, {
|
|
1249
|
-
item:
|
|
1250
|
-
n.menuMode ? (
|
|
1249
|
+
item: V(({ item: i }) => [O("div", wt, [i.id ? (P(), D(C, { key: 0 }, [k(L(R(d)(i.name, 20)) + " ", 1), O("span", Tt, " id " + L(i.id), 1)], 64)) : (P(), D(C, { key: 1 }, [i.listItemProps?.type ? E("", !0) : (P(), D("div", Et, L(e.$i18n.Projects.Add_project) + ": ", 1)), k(" " + L(i.name), 1)], 64))]), i.id ? (P(), D(C, { key: 0 }, [
|
|
1250
|
+
n.menuMode ? (P(), D("a", {
|
|
1251
1251
|
key: 0,
|
|
1252
1252
|
class: "top-projectSelector_itemLink",
|
|
1253
|
-
href:
|
|
1254
|
-
}, null, 8,
|
|
1255
|
-
e.$core.state.isMobile ?
|
|
1253
|
+
href: R(ft)(i.id)
|
|
1254
|
+
}, null, 8, Dt)) : E("", !0),
|
|
1255
|
+
e.$core.state.isMobile ? E("", !0) : (P(), T(r, {
|
|
1256
1256
|
key: 1,
|
|
1257
1257
|
href: i.externalLink,
|
|
1258
1258
|
"data-top-icon": "",
|
|
1259
1259
|
color: "theme",
|
|
1260
1260
|
target: "_blank",
|
|
1261
|
-
onClick: t[0] ||=
|
|
1261
|
+
onClick: t[0] ||= H(() => {}, ["stop"])
|
|
1262
1262
|
}, null, 8, ["href"])),
|
|
1263
|
-
|
|
1264
|
-
id:
|
|
1263
|
+
A(g, {
|
|
1264
|
+
id: R(f),
|
|
1265
1265
|
pos: "2",
|
|
1266
1266
|
notch: !1,
|
|
1267
1267
|
data: { projectItem: i }
|
|
1268
1268
|
}, {
|
|
1269
|
-
default:
|
|
1269
|
+
default: V(() => [A(r, {
|
|
1270
1270
|
class: "top-popup_listMore",
|
|
1271
1271
|
"data-top-icon": "",
|
|
1272
1272
|
color: "theme"
|
|
1273
1273
|
})]),
|
|
1274
1274
|
_: 1
|
|
1275
1275
|
}, 8, ["id", "data"])
|
|
1276
|
-
], 64)) :
|
|
1276
|
+
], 64)) : E("", !0)]),
|
|
1277
1277
|
_: 1
|
|
1278
1278
|
}, 8, [
|
|
1279
1279
|
"modelValue",
|
|
@@ -1287,37 +1287,37 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
1287
1287
|
"appendSearchToResultCond",
|
|
1288
1288
|
"buttonProps",
|
|
1289
1289
|
"openerShortcut"
|
|
1290
|
-
])),
|
|
1290
|
+
])), A(yt, { id: R(f) }, null, 8, ["id"])], 64);
|
|
1291
1291
|
};
|
|
1292
1292
|
}
|
|
1293
|
-
}),
|
|
1294
|
-
e =
|
|
1293
|
+
}), At = (e) => "-" + e, X = (e) => e[0] === "-" ? e.substring(1) : e, Z = (e, t) => {
|
|
1294
|
+
e = X(e);
|
|
1295
1295
|
let n = t.find((t) => t.id === e);
|
|
1296
1296
|
if (n) return n;
|
|
1297
|
-
},
|
|
1297
|
+
}, jt = (e, t, n) => {
|
|
1298
1298
|
t ||= { id: e.id }, t.id = e.id, t.pos ??= "3", t.notch ??= !0, t.posBy ??= "fixed";
|
|
1299
1299
|
let r = c.genElPopupOpener("div", t);
|
|
1300
1300
|
return r.classList.add("top-tagSelector"), e.useTopButton && r.classList.add("top-tagSelector-useTopButton", "top-button", "top-color_theme", "top-as-selector"), e.useTopButton || r.classList.add("top-tagSelector-custom"), e.mode === "filter" && r.classList.add("top-tagSelector-filter"), e.mode === "setter" && !e.filters && r.classList.add("top-tagSelector-setter_single"), e.mode === "setter" && e.filters && r.classList.add("top-tagSelector-setter_several"), r.onclick = (t) => {
|
|
1301
1301
|
t.preventDefault(), t.stopPropagation(), r.onclick = null;
|
|
1302
|
-
let i =
|
|
1302
|
+
let i = F(e.modelValue), a = {
|
|
1303
1303
|
model: i,
|
|
1304
1304
|
mode: e.mode,
|
|
1305
1305
|
targetId: e.targetId,
|
|
1306
1306
|
filters: e.filters,
|
|
1307
1307
|
payload: e.payload
|
|
1308
1308
|
};
|
|
1309
|
-
s(r, "topTagSelectorTarget", a), delete r.dataset.topPopupDisabled,
|
|
1310
|
-
e.modelValue = i.value,
|
|
1309
|
+
s(r, "topTagSelectorTarget", a), delete r.dataset.topPopupDisabled, re(e.modelValue) || B(i, () => {
|
|
1310
|
+
e.modelValue = i.value, Q(r, e, n);
|
|
1311
1311
|
}), r.click();
|
|
1312
|
-
},
|
|
1312
|
+
}, re(e.modelValue) ? B(e.modelValue, () => Q(r, e, n)) : s(r, "topTagSelectorRender", (t) => {
|
|
1313
1313
|
e.modelValue = t;
|
|
1314
1314
|
let i = s(r, "topTagSelectorTarget");
|
|
1315
|
-
i && (i.model.value = t),
|
|
1316
|
-
}),
|
|
1317
|
-
},
|
|
1315
|
+
i && (i.model.value = t), Q(r, e, n);
|
|
1316
|
+
}), Q(r, e, n), r;
|
|
1317
|
+
}, Mt = (e, t) => {
|
|
1318
1318
|
s(e, "topTagSelectorRender")?.(t);
|
|
1319
|
-
},
|
|
1320
|
-
let i =
|
|
1319
|
+
}, Q = (t, n, r) => {
|
|
1320
|
+
let i = R(n.modelValue);
|
|
1321
1321
|
if (t.classList.toggle("top-tagSelector-selectedOne", !i.length || i.length === 1), t.classList.toggle("top-tagSelector-toTwoLine", i.length > 5), n.mode === "setter" && n.filters) {
|
|
1322
1322
|
t.innerHTML = `<div>${r}</div>`;
|
|
1323
1323
|
return;
|
|
@@ -1333,10 +1333,10 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
1333
1333
|
}
|
|
1334
1334
|
i.forEach((e) => {
|
|
1335
1335
|
let r = Nt({
|
|
1336
|
-
id:
|
|
1337
|
-
colorId:
|
|
1338
|
-
name:
|
|
1339
|
-
state:
|
|
1336
|
+
id: X(e),
|
|
1337
|
+
colorId: Z(e, n.tags)?.color_id ?? "",
|
|
1338
|
+
name: Z(e, n.tags)?.name ?? "",
|
|
1339
|
+
state: X(e) === e ? "selected" : "excluded"
|
|
1340
1340
|
});
|
|
1341
1341
|
t.append(r);
|
|
1342
1342
|
});
|
|
@@ -1398,7 +1398,7 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
1398
1398
|
"data-tag_id",
|
|
1399
1399
|
"data-tag_color_id",
|
|
1400
1400
|
"title"
|
|
1401
|
-
], It = /* @__PURE__ */
|
|
1401
|
+
], It = /* @__PURE__ */ j({
|
|
1402
1402
|
__name: "tagIcon",
|
|
1403
1403
|
props: {
|
|
1404
1404
|
id: {},
|
|
@@ -1407,8 +1407,8 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
1407
1407
|
state: {}
|
|
1408
1408
|
},
|
|
1409
1409
|
setup(e) {
|
|
1410
|
-
return (t, n) => (
|
|
1411
|
-
class:
|
|
1410
|
+
return (t, n) => (P(), D("div", {
|
|
1411
|
+
class: N({
|
|
1412
1412
|
"top-tagSelector_tagIcon": !0,
|
|
1413
1413
|
"top-tagSelector-active": !!e.state,
|
|
1414
1414
|
"top-tagSelector-excluded": e.state === "excluded"
|
|
@@ -1418,9 +1418,9 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
1418
1418
|
title: e.name
|
|
1419
1419
|
}, null, 10, Ft));
|
|
1420
1420
|
}
|
|
1421
|
-
}), Lt = ["contenteditable", "onKeydown"], Rt = /* @__PURE__ */
|
|
1421
|
+
}), Lt = ["contenteditable", "onKeydown"], Rt = /* @__PURE__ */ j({
|
|
1422
1422
|
__name: "tagPopupListItem",
|
|
1423
|
-
props: /*@__PURE__*/
|
|
1423
|
+
props: /*@__PURE__*/ M({
|
|
1424
1424
|
editable: { type: Boolean },
|
|
1425
1425
|
disabled: { type: Boolean },
|
|
1426
1426
|
canExclude: { type: Boolean },
|
|
@@ -1432,18 +1432,18 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
1432
1432
|
name: { required: !0 },
|
|
1433
1433
|
nameModifiers: {}
|
|
1434
1434
|
}),
|
|
1435
|
-
emits: /*@__PURE__*/
|
|
1435
|
+
emits: /*@__PURE__*/ M([
|
|
1436
1436
|
"update:name",
|
|
1437
1437
|
"unselect",
|
|
1438
1438
|
"exclude",
|
|
1439
1439
|
"select"
|
|
1440
1440
|
], ["update:name"]),
|
|
1441
1441
|
setup(e, { emit: t }) {
|
|
1442
|
-
let n = e, r = t, i =
|
|
1442
|
+
let n = e, r = t, i = z(e, "name"), a = F(null), o = w(() => navigator.userAgent.indexOf("Firefox") == -1 ? {} : {
|
|
1443
1443
|
contenteditable: s.value,
|
|
1444
1444
|
onpaste: (e) => e.preventDefault()
|
|
1445
|
-
}), s =
|
|
1446
|
-
s.value = !0, await
|
|
1445
|
+
}), s = F(!1), c = async () => {
|
|
1446
|
+
s.value = !0, await ae(), a.value?.focus();
|
|
1447
1447
|
}, l = () => {
|
|
1448
1448
|
let e = a.value?.innerText;
|
|
1449
1449
|
if (!e) return u();
|
|
@@ -1455,8 +1455,8 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
1455
1455
|
let t = "selected";
|
|
1456
1456
|
n.canExclude && (e.ctrlKey || e.metaKey) && (t = "excluded"), n.state == t && (t = ""), t === "" && r("unselect"), t === "selected" && r("select"), t === "excluded" && r("exclude");
|
|
1457
1457
|
};
|
|
1458
|
-
return (t, n) => (
|
|
1459
|
-
class:
|
|
1458
|
+
return (t, n) => (P(), T(v, {
|
|
1459
|
+
class: N({
|
|
1460
1460
|
"top-tagSelector_tagListItem": !0,
|
|
1461
1461
|
"top-tagSelector_tagListItem-inEdit": s.value,
|
|
1462
1462
|
"top-tagSelector_tagListItem-disabled": e.disabled,
|
|
@@ -1464,10 +1464,10 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
1464
1464
|
"top-tagSelector-active": !!e.state,
|
|
1465
1465
|
"top-tagSelector-excluded": e.state === "excluded"
|
|
1466
1466
|
}),
|
|
1467
|
-
onClick:
|
|
1467
|
+
onClick: H(d, ["stop"])
|
|
1468
1468
|
}, {
|
|
1469
|
-
default:
|
|
1470
|
-
|
|
1469
|
+
default: V(() => [
|
|
1470
|
+
A(It, {
|
|
1471
1471
|
id: e.id,
|
|
1472
1472
|
name: i.value,
|
|
1473
1473
|
colorId: e.colorId,
|
|
@@ -1478,31 +1478,31 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
1478
1478
|
"colorId",
|
|
1479
1479
|
"state"
|
|
1480
1480
|
]),
|
|
1481
|
-
|
|
1481
|
+
O("span", ie({
|
|
1482
1482
|
ref_key: "elName",
|
|
1483
1483
|
ref: a,
|
|
1484
1484
|
class: "top-tagSelector_tagListItemName",
|
|
1485
1485
|
contenteditable: s.value ? "plaintext-only" : !1
|
|
1486
|
-
}, o.value, { onKeydown: [
|
|
1487
|
-
e.editable ? (
|
|
1486
|
+
}, o.value, { onKeydown: [ge(H(l, ["stop"]), ["enter"]), ge(H(u, ["stop"]), ["esc"])] }), L(i.value), 17, Lt),
|
|
1487
|
+
e.editable ? (P(), D(C, { key: 0 }, [s.value ? (P(), D("span", {
|
|
1488
1488
|
key: 1,
|
|
1489
1489
|
"data-top-icon": "",
|
|
1490
1490
|
class: "top-tagSelector_edit",
|
|
1491
|
-
onClick:
|
|
1492
|
-
})) : (
|
|
1491
|
+
onClick: H(l, ["stop"])
|
|
1492
|
+
})) : (P(), D("span", {
|
|
1493
1493
|
key: 0,
|
|
1494
1494
|
"data-top-icon": "",
|
|
1495
1495
|
class: "top-tagSelector_edit",
|
|
1496
1496
|
onClick: c
|
|
1497
|
-
}))], 64)) :
|
|
1497
|
+
}))], 64)) : E("", !0)
|
|
1498
1498
|
]),
|
|
1499
1499
|
_: 1
|
|
1500
1500
|
}, 8, ["class"]));
|
|
1501
1501
|
}
|
|
1502
|
-
}), zt = { key: 1 }, Bt = /* @__PURE__ */
|
|
1502
|
+
}), zt = { key: 1 }, Bt = /* @__PURE__ */ j({
|
|
1503
1503
|
inheritAttrs: !1,
|
|
1504
1504
|
__name: "popupOpener",
|
|
1505
|
-
props: /*@__PURE__*/
|
|
1505
|
+
props: /*@__PURE__*/ M({
|
|
1506
1506
|
modelValue: {},
|
|
1507
1507
|
id: {},
|
|
1508
1508
|
tags: {},
|
|
@@ -1518,7 +1518,7 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
1518
1518
|
}),
|
|
1519
1519
|
emits: ["update:modelValue"],
|
|
1520
1520
|
setup(e, { attrs: t }) {
|
|
1521
|
-
let n = e, i =
|
|
1521
|
+
let n = e, i = z(e, "modelValue"), a = n.useTopButton ? r : "div", o = n.useTopButton ? "html" : "default", s = {
|
|
1522
1522
|
model: i,
|
|
1523
1523
|
mode: n.mode,
|
|
1524
1524
|
targetId: n.targetId,
|
|
@@ -1526,9 +1526,9 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
1526
1526
|
payload: n.payload
|
|
1527
1527
|
};
|
|
1528
1528
|
return (r, c) => {
|
|
1529
|
-
let l =
|
|
1530
|
-
return
|
|
1531
|
-
default:
|
|
1529
|
+
let l = ue("top-data");
|
|
1530
|
+
return P(), T(g, { id: e.id }, {
|
|
1531
|
+
default: V(() => [he((P(), T(de(R(a)), ie({
|
|
1532
1532
|
class: {
|
|
1533
1533
|
"top-tagSelector": !0,
|
|
1534
1534
|
"top-tagSelector-useTopButton": n.useTopButton,
|
|
@@ -1543,17 +1543,17 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
1543
1543
|
color: "theme",
|
|
1544
1544
|
styling: e.styling
|
|
1545
1545
|
}, t), {
|
|
1546
|
-
[
|
|
1546
|
+
[R(o)]: V(() => [!i.value.length && e.mode === "filter" ? (P(), T(It, {
|
|
1547
1547
|
key: 0,
|
|
1548
1548
|
id: "all",
|
|
1549
1549
|
colorId: "",
|
|
1550
1550
|
name: r.$i18n.Common.All_tags ?? "",
|
|
1551
1551
|
state: ""
|
|
1552
|
-
}, null, 8, ["name"])) :
|
|
1553
|
-
id:
|
|
1554
|
-
colorId:
|
|
1555
|
-
name:
|
|
1556
|
-
state:
|
|
1552
|
+
}, null, 8, ["name"])) : E("", !0), e.mode === "setter" && e.filters ? (P(), D("div", zt, [ce(r.$slots, "default")])) : (P(!0), D(C, { key: 2 }, I(i.value, (t) => (P(), T(It, {
|
|
1553
|
+
id: R(X)(t),
|
|
1554
|
+
colorId: R(Z)(t, e.tags)?.color_id ?? "",
|
|
1555
|
+
name: R(Z)(t, e.tags)?.name ?? "",
|
|
1556
|
+
state: R(X)(t) === t ? "selected" : "excluded"
|
|
1557
1557
|
}, null, 8, [
|
|
1558
1558
|
"id",
|
|
1559
1559
|
"colorId",
|
|
@@ -1570,9 +1570,9 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
1570
1570
|
}, 8, ["id"]);
|
|
1571
1571
|
};
|
|
1572
1572
|
}
|
|
1573
|
-
}), Vt = /* @__PURE__ */
|
|
1573
|
+
}), Vt = /* @__PURE__ */ j({
|
|
1574
1574
|
__name: "tagSelector",
|
|
1575
|
-
props: /*@__PURE__*/
|
|
1575
|
+
props: /*@__PURE__*/ M({
|
|
1576
1576
|
modelValue: {},
|
|
1577
1577
|
tags: {},
|
|
1578
1578
|
tagsEditable: { type: Boolean },
|
|
@@ -1593,20 +1593,20 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
1593
1593
|
}, {
|
|
1594
1594
|
modelValue: { required: !0 },
|
|
1595
1595
|
modelModifiers: {},
|
|
1596
|
-
tags: { default:
|
|
1596
|
+
tags: { default: se(Pt) },
|
|
1597
1597
|
tagsModifiers: {}
|
|
1598
1598
|
}),
|
|
1599
|
-
emits: /*@__PURE__*/
|
|
1599
|
+
emits: /*@__PURE__*/ M([
|
|
1600
1600
|
"selector",
|
|
1601
1601
|
"setter",
|
|
1602
1602
|
"tagsChanged"
|
|
1603
1603
|
], ["update:modelValue", "update:tags"]),
|
|
1604
1604
|
setup(a, { emit: o }) {
|
|
1605
|
-
let c = e(), l = a, u =
|
|
1605
|
+
let c = e(), l = a, u = z(a, "modelValue"), d = z(a, "tags"), f = o, p = n((e, t) => {
|
|
1606
1606
|
f(e, t);
|
|
1607
1607
|
}, l.emitDelay);
|
|
1608
1608
|
l.singleMode && !u.value.length && (u.value = [d.value[0].id]);
|
|
1609
|
-
let m = l.id ?? "top-popup-id-" + Math.random(), h =
|
|
1609
|
+
let m = l.id ?? "top-popup-id-" + Math.random(), h = F("add"), g = () => {
|
|
1610
1610
|
let e = " " + c.Common.Tags?.toLowerCase(), t = /* @__PURE__ */ new Map();
|
|
1611
1611
|
return t.set("add", {
|
|
1612
1612
|
value: "add",
|
|
@@ -1618,35 +1618,35 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
1618
1618
|
value: "delete",
|
|
1619
1619
|
title: c.Common.Delete + e
|
|
1620
1620
|
}), t;
|
|
1621
|
-
}, _ =
|
|
1621
|
+
}, _ = fe({
|
|
1622
1622
|
model: u,
|
|
1623
1623
|
mode: "filter",
|
|
1624
1624
|
targetId: void 0,
|
|
1625
1625
|
filters: void 0,
|
|
1626
1626
|
payload: void 0
|
|
1627
1627
|
});
|
|
1628
|
-
|
|
1628
|
+
B(u, () => {
|
|
1629
1629
|
p("selector", u.value);
|
|
1630
1630
|
});
|
|
1631
|
-
let y =
|
|
1631
|
+
let y = w(() => {
|
|
1632
1632
|
if (_.value.mode === "setter" && l.maxTagsForSetter && !_.value.filters) return _.value.model.value.length >= l.maxTagsForSetter;
|
|
1633
1633
|
}), x = (e) => {
|
|
1634
1634
|
if (e !== "all") {
|
|
1635
1635
|
if (_.value.model.value.includes(e)) return "selected";
|
|
1636
|
-
if (_.value.model.value.includes(
|
|
1636
|
+
if (_.value.model.value.includes(At(e))) return "excluded";
|
|
1637
1637
|
}
|
|
1638
1638
|
return e === "all" && !_.value.model.value.length ? "selected" : "";
|
|
1639
1639
|
}, S = (e, t) => {
|
|
1640
|
-
let n =
|
|
1640
|
+
let n = At(e), r = _.value.model.value.filter((t) => t !== e && t !== n);
|
|
1641
1641
|
t === "select" && r.push(e), t === "exclude" && r.push(n), _.value.mode === "setter" && _.value.targetId !== void 0 && l.requiredForSetter && (r.length || r.push("1"), r.length === 2 && _.value.model.value.length === 1 && _.value.model.value[0] === "1" && (r = r.filter((e) => e !== "1"))), l.singleMode && !_.value.filters && (r.length || (r = _.value.model.value), r.length > 1 && (r = [r[r.length - 1]])), r.sort((e, t) => l.tags ? l.tags.findIndex((t) => t.id === e) - l.tags.findIndex((e) => e.id === t) : 0), _.value.model.value = r, _.value.mode === "setter" && _.value.targetId !== void 0 && p("setter", {
|
|
1642
1642
|
tagsIds: r,
|
|
1643
1643
|
targetId: _.value.targetId,
|
|
1644
1644
|
payload: _.value.payload
|
|
1645
1645
|
});
|
|
1646
|
-
},
|
|
1646
|
+
}, ee = w(() => {
|
|
1647
1647
|
let e = "top-tagSelector_popup";
|
|
1648
1648
|
return _.value.mode === "filter" && (e += " top-tagSelector_popup-filter"), _.value.mode === "setter" && (e += " top-tagSelector_popup-setter"), e;
|
|
1649
|
-
}),
|
|
1649
|
+
}), te = () => {
|
|
1650
1650
|
let e = prompt("", "New tag");
|
|
1651
1651
|
if (!e || e === "New tag") return;
|
|
1652
1652
|
let t = d.value.length + 1;
|
|
@@ -1655,7 +1655,7 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
1655
1655
|
name: e,
|
|
1656
1656
|
color_id: String((t - 1) % 10 + 1)
|
|
1657
1657
|
}), f("tagsChanged", d.value);
|
|
1658
|
-
},
|
|
1658
|
+
}, O = (e) => {
|
|
1659
1659
|
if (_.value = s(e.elPopupOpener, "topTagSelectorTarget"), !_.value) throw Error("Open popup TopTagSelector required v-data:topTagSelectorTarget");
|
|
1660
1660
|
if (_.value.filters && (h.value = "add", _.value.model.value = []), !t.$?.ui.sortable) {
|
|
1661
1661
|
console.info("Для работы сортировки требуется глобальная загрузка jQuery UI Sortable");
|
|
@@ -1675,13 +1675,13 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
1675
1675
|
}), d.value.sort((e, t) => r.findIndex((t) => t === e.id) - r.findIndex((e) => e === t.id)), p("tagsChanged", d.value);
|
|
1676
1676
|
}
|
|
1677
1677
|
});
|
|
1678
|
-
},
|
|
1678
|
+
}, j = (e) => {
|
|
1679
1679
|
t.$?.ui.sortable && $(e.elPopup).data("ui-sortable") && $(e.elPopup).sortable("destroy");
|
|
1680
1680
|
};
|
|
1681
|
-
return (e, t) => (
|
|
1681
|
+
return (e, t) => (P(), D(C, null, [A(Bt, {
|
|
1682
1682
|
modelValue: u.value,
|
|
1683
1683
|
"onUpdate:modelValue": t[0] ||= (e) => u.value = e,
|
|
1684
|
-
id:
|
|
1684
|
+
id: R(m),
|
|
1685
1685
|
tags: d.value,
|
|
1686
1686
|
styling: a.styling,
|
|
1687
1687
|
mode: "filter",
|
|
@@ -1692,23 +1692,23 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
1692
1692
|
"tags",
|
|
1693
1693
|
"styling",
|
|
1694
1694
|
"useTopButton"
|
|
1695
|
-
]),
|
|
1696
|
-
id:
|
|
1697
|
-
class:
|
|
1698
|
-
onOpen: t[4] ||= (e) =>
|
|
1699
|
-
onClose: t[5] ||= (e) =>
|
|
1695
|
+
]), A(b, {
|
|
1696
|
+
id: R(m),
|
|
1697
|
+
class: N(ee.value),
|
|
1698
|
+
onOpen: t[4] ||= (e) => O(e),
|
|
1699
|
+
onClose: t[5] ||= (e) => j(e),
|
|
1700
1700
|
"transition-duration": 50
|
|
1701
|
-
},
|
|
1702
|
-
contentList:
|
|
1703
|
-
_.value.mode === "filter" && !a.singleMode ? (
|
|
1701
|
+
}, ne({
|
|
1702
|
+
contentList: V(() => [
|
|
1703
|
+
_.value.mode === "filter" && !a.singleMode ? (P(), T(Rt, {
|
|
1704
1704
|
key: 0,
|
|
1705
1705
|
id: "all",
|
|
1706
1706
|
colorId: "",
|
|
1707
1707
|
name: e.$i18n.Common.All_tags ?? "",
|
|
1708
1708
|
state: _.value.model.value.length ? "" : "selected",
|
|
1709
1709
|
onSelect: t[3] ||= (e) => _.value.model.value = []
|
|
1710
|
-
}, null, 8, ["name", "state"])) :
|
|
1711
|
-
(
|
|
1710
|
+
}, null, 8, ["name", "state"])) : E("", !0),
|
|
1711
|
+
(P(!0), D(C, null, I(d.value, (e) => (P(), T(Rt, {
|
|
1712
1712
|
key: e.id,
|
|
1713
1713
|
id: e.id,
|
|
1714
1714
|
colorId: e.color_id,
|
|
@@ -1721,7 +1721,7 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
1721
1721
|
onSelect: (t) => S(e.id, "select"),
|
|
1722
1722
|
onExclude: (t) => S(e.id, "exclude"),
|
|
1723
1723
|
"onUpdate:name": (t) => {
|
|
1724
|
-
e.name = t,
|
|
1724
|
+
e.name = t, R(p)("tagsChanged", d.value);
|
|
1725
1725
|
}
|
|
1726
1726
|
}, null, 8, [
|
|
1727
1727
|
"id",
|
|
@@ -1736,19 +1736,19 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
1736
1736
|
"onExclude",
|
|
1737
1737
|
"onUpdate:name"
|
|
1738
1738
|
]))), 128)),
|
|
1739
|
-
a.tagsEditable && d.value.length < a.tagsMax && d.value.length < 20 ? (
|
|
1739
|
+
a.tagsEditable && d.value.length < a.tagsMax && d.value.length < 20 ? (P(), T(v, {
|
|
1740
1740
|
key: 1,
|
|
1741
1741
|
"data-top-icon": "",
|
|
1742
|
-
onClick:
|
|
1742
|
+
onClick: H(te, ["stop"])
|
|
1743
1743
|
}, {
|
|
1744
|
-
default:
|
|
1744
|
+
default: V(() => [k(L(e.$i18n.Common.Add), 1)]),
|
|
1745
1745
|
_: 1
|
|
1746
|
-
})) :
|
|
1746
|
+
})) : E("", !0)
|
|
1747
1747
|
]),
|
|
1748
1748
|
_: 2
|
|
1749
1749
|
}, [_.value.mode === "setter" && _.value.filters ? {
|
|
1750
1750
|
name: "header",
|
|
1751
|
-
fn:
|
|
1751
|
+
fn: V(() => [A(i, {
|
|
1752
1752
|
modelValue: h.value,
|
|
1753
1753
|
"onUpdate:modelValue": t[1] ||= (e) => h.value = e,
|
|
1754
1754
|
options: g()
|
|
@@ -1756,16 +1756,16 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
1756
1756
|
key: "0"
|
|
1757
1757
|
} : void 0, _.value.mode === "setter" && _.value.filters ? {
|
|
1758
1758
|
name: "footer",
|
|
1759
|
-
fn:
|
|
1760
|
-
default:
|
|
1759
|
+
fn: V(() => [A(r, { color: "theme" }, {
|
|
1760
|
+
default: V(() => [k(L(e.$i18n.Common.Cancel), 1)]),
|
|
1761
1761
|
_: 1
|
|
1762
|
-
}),
|
|
1762
|
+
}), A(r, { onClick: t[2] ||= (e) => R(p)("setter", {
|
|
1763
1763
|
tagsIds: _.value.model.value,
|
|
1764
1764
|
filters: _.value.filters,
|
|
1765
1765
|
filtersAction: h.value,
|
|
1766
1766
|
payload: _.value.payload
|
|
1767
1767
|
}) }, {
|
|
1768
|
-
default:
|
|
1768
|
+
default: V(() => [k(L(h.value === "add" ? e.$i18n.Common.Add : "") + " " + L(h.value === "replace" ? e.$i18n.Common.Replace : "") + " " + L(h.value === "delete" ? e.$i18n.Common.Delete : ""), 1)]),
|
|
1769
1769
|
_: 1
|
|
1770
1770
|
})]),
|
|
1771
1771
|
key: "1"
|
|
@@ -1773,6 +1773,6 @@ var He = ["innerHTML"], Ue = /* @__PURE__ */ M({
|
|
|
1773
1773
|
}
|
|
1774
1774
|
});
|
|
1775
1775
|
//#endregion
|
|
1776
|
-
export {
|
|
1776
|
+
export { ye as TopCompetitorSelector, it as TopGroupSelector, kt as TopProjectSelector, Re as TopRegionSelector, Vt as TopTagSelector, Bt as TopTagSelectorPopupOpener, It as TopTagSelectorTagIcon, Ne as dialogRegionSelector, Me as findRegion, jt as genElTopTagSelectorPopupOpener, ke as genSearcherByKey, Mt as renderElTopTagSelectorPopupOpener, Ct as topProjectSelectorClearCache, be as useItemsFromCompetitors };
|
|
1777
1777
|
|
|
1778
1778
|
//# sourceMappingURL=project.js.map
|