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