@topvisor/ui 1.5.0-updates.16 → 1.5.0-updates.18
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-Ddo0ZZ50.amd.js → formsExt-xiSNs_Kw.amd.js} +2 -2
- package/.chunks/formsExt-xiSNs_Kw.amd.js.map +1 -0
- package/.chunks/{formsExt-Ddo0ZZ50.esm.js → formsExt-xiSNs_Kw.esm.js} +2 -1
- package/.chunks/formsExt-xiSNs_Kw.esm.js.map +1 -0
- package/assets/project.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 +1 -1
- package/project/project.amd.js +1 -1
- package/project/project.amd.js.map +1 -1
- package/project/project.js +171 -185
- package/project/project.js.map +1 -1
- package/src/components/formsExt/selector2/types.d.ts +7 -0
- package/src/components/project/groupSelector/groups/types.d.ts +4 -1
- package/src/components/project/groupSelector/groups/utils.d.ts +3 -3
- package/src/components/project/groupSelector/types.d.ts +1 -3
- package/.chunks/formsExt-Ddo0ZZ50.amd.js.map +0 -1
- package/.chunks/formsExt-Ddo0ZZ50.esm.js.map +0 -1
package/project/project.js
CHANGED
|
@@ -17,11 +17,11 @@ import { t as d } from "../.chunks/utils-Db8aFbJA.esm.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 ee, s as te } from "../.chunks/popup-9vJsdcN_.esm.js";
|
|
20
|
-
import { d as ne, s as y, u as
|
|
20
|
+
import { d as ne, s as y, u as b } from "../.chunks/formsExt-xiSNs_Kw.esm.js";
|
|
21
21
|
import "../popup/worker.js";
|
|
22
|
-
import { Fragment as
|
|
22
|
+
import { Fragment as x, computed as S, createBlock as C, createCommentVNode as w, createElementBlock as T, createElementVNode as E, createSlots as re, createTextVNode as D, createVNode as O, defineComponent as k, isRef as ie, mergeModels as A, mergeProps as ae, nextTick as oe, normalizeClass as j, onMounted as se, openBlock as M, reactive as ce, ref as N, renderList as P, renderSlot as le, resolveComponent as ue, resolveDirective as de, resolveDynamicComponent as fe, shallowRef as pe, toDisplayString as F, toValue as me, unref as I, useModel as L, watch as R, withCtx as z, withDirectives as he, withKeys as ge, withModifiers as B } from "vue";
|
|
23
23
|
//#region src/components/project/competitorSelector/competitorSelector.vue?vue&type=script&setup=true&lang.ts
|
|
24
|
-
var _e = { class: "top-competitorSelector" }, ve = { class: "top-ellipsis1" }, ye = /* @__PURE__ */
|
|
24
|
+
var _e = { class: "top-competitorSelector" }, ve = { class: "top-ellipsis1" }, ye = /* @__PURE__ */ k({
|
|
25
25
|
__name: "competitorSelector",
|
|
26
26
|
props: /* @__PURE__ */ A({
|
|
27
27
|
modelValue: {},
|
|
@@ -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 = L(n, "modelValue"), o =
|
|
39
|
+
let i = n, a = L(n, "modelValue"), o = S(() => {
|
|
40
40
|
if (i.showSelectAllItem) return {
|
|
41
41
|
icon: "",
|
|
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) => (M(),
|
|
48
|
-
opener: z(() => [
|
|
47
|
+
return (e, i) => (M(), T("div", _e, [I(t).state.isMobile ? (M(), C(te, { key: 0 }, {
|
|
48
|
+
opener: z(() => [O(r, {
|
|
49
49
|
class: "top-competitorSelector_opener",
|
|
50
50
|
color: "theme",
|
|
51
51
|
icon: "",
|
|
52
52
|
icon2: ""
|
|
53
53
|
}, {
|
|
54
|
-
default: z(() => [
|
|
54
|
+
default: z(() => [D(F(n.items.find((e) => e.value === a.value?.[0])?.content), 1)]),
|
|
55
55
|
_: 1
|
|
56
56
|
})]),
|
|
57
|
-
contentList: z(() => [(M(!0),
|
|
57
|
+
contentList: z(() => [(M(!0), T(x, null, P(n.items, (e) => (M(), C(v, {
|
|
58
58
|
class: j({ "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: z(() => [
|
|
63
|
+
default: z(() => [E("span", ve, F(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
|
-
})) : (M(),
|
|
72
|
+
})) : (M(), C(ne, {
|
|
73
73
|
key: 1,
|
|
74
74
|
modelValue: a.value,
|
|
75
75
|
"onUpdate:modelValue": i[0] ||= (e) => a.value = e,
|
|
@@ -84,7 +84,7 @@ var _e = { class: "top-competitorSelector" }, ve = { class: "top-ellipsis1" }, y
|
|
|
84
84
|
"selectAllItem"
|
|
85
85
|
]))]));
|
|
86
86
|
}
|
|
87
|
-
}), be = (e, t) =>
|
|
87
|
+
}), be = (e, t) => S(() => 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
90
|
icon: e.id === me(t) ? "" : "",
|
|
@@ -170,7 +170,7 @@ var _e = { class: "top-competitorSelector" }, ve = { class: "top-ellipsis1" }, y
|
|
|
170
170
|
let r = e();
|
|
171
171
|
return {
|
|
172
172
|
searcherKey: N(n.value.keys().next().value ?? -2),
|
|
173
|
-
optionBySearcherKey:
|
|
173
|
+
optionBySearcherKey: S(() => {
|
|
174
174
|
let e = /* @__PURE__ */ new Map();
|
|
175
175
|
if (n.value.forEach((n) => {
|
|
176
176
|
let r = {
|
|
@@ -197,7 +197,7 @@ var _e = { class: "top-competitorSelector" }, ve = { class: "top-ellipsis1" }, y
|
|
|
197
197
|
}, Fe = (t, n) => {
|
|
198
198
|
let r = e(), i = N(-2);
|
|
199
199
|
t.modelValue.length === 1 && (i.value = t.modelValue[0]), i.value === -2 && (t.forMode ? i.value = n.value?.regionByIndex.values().next().value?.key ?? -2 : i.value = n.value?.regionByIndex.keys().next().value ?? -2);
|
|
200
|
-
let a =
|
|
200
|
+
let a = S(() => {
|
|
201
201
|
let e = /* @__PURE__ */ new Map();
|
|
202
202
|
return n.value.regionByIndex?.forEach((i) => {
|
|
203
203
|
let a = i.name;
|
|
@@ -262,7 +262,7 @@ var _e = { class: "top-competitorSelector" }, ve = { class: "top-ellipsis1" }, y
|
|
|
262
262
|
a();
|
|
263
263
|
}), e.addCompare && i(), { regionsIndexes: r };
|
|
264
264
|
}, Le = (e) => {
|
|
265
|
-
let t =
|
|
265
|
+
let t = S(() => ke(e.forMode, e.autoRegion, e.searchers)), n = S(() => t.value.get(i.searcherKey.value) || Ce), r = S(() => {
|
|
266
266
|
let e = /* @__PURE__ */ new Set();
|
|
267
267
|
return t.value.forEach((t) => {
|
|
268
268
|
t.regionByIndex.forEach((t) => {
|
|
@@ -315,7 +315,7 @@ var _e = { class: "top-competitorSelector" }, ve = { class: "top-ellipsis1" }, y
|
|
|
315
315
|
if (e !== void 0) return l()?.regionByIndex?.get(e);
|
|
316
316
|
}
|
|
317
317
|
};
|
|
318
|
-
}, Re = /* @__PURE__ */
|
|
318
|
+
}, Re = /* @__PURE__ */ k({
|
|
319
319
|
__name: "regionSelector",
|
|
320
320
|
props: /* @__PURE__ */ A({
|
|
321
321
|
projectId: {},
|
|
@@ -422,11 +422,11 @@ var _e = { class: "top-competitorSelector" }, ve = { class: "top-ellipsis1" }, y
|
|
|
422
422
|
}, { immediate: !0 }), t({
|
|
423
423
|
getSearcher: f,
|
|
424
424
|
getRegion: p
|
|
425
|
-
}), (t, n) => (M(),
|
|
425
|
+
}), (t, n) => (M(), T("div", { class: j({
|
|
426
426
|
"top-regionSelector": !0,
|
|
427
427
|
"top-regionSelector-onlySearcher": e.onlySearcher
|
|
428
428
|
}) }, [
|
|
429
|
-
|
|
429
|
+
O(i, {
|
|
430
430
|
options: I(s).optionBySearcherKey.value,
|
|
431
431
|
modelValue: I(s).searcherKey.value,
|
|
432
432
|
"onUpdate:modelValue": n[0] ||= (e) => I(s).searcherKey.value = e,
|
|
@@ -437,7 +437,7 @@ var _e = { class: "top-competitorSelector" }, ve = { class: "top-ellipsis1" }, y
|
|
|
437
437
|
"modelValue",
|
|
438
438
|
"addChanger"
|
|
439
439
|
]),
|
|
440
|
-
!e.onlySearcher && I(s).searcherKey.value !== I(-1) ? (M(),
|
|
440
|
+
!e.onlySearcher && I(s).searcherKey.value !== I(-1) ? (M(), C(i, {
|
|
441
441
|
key: 0,
|
|
442
442
|
class: "top-select-region",
|
|
443
443
|
options: I(c).optionByRegionIndex.value,
|
|
@@ -452,16 +452,16 @@ var _e = { class: "top-competitorSelector" }, ve = { class: "top-ellipsis1" }, y
|
|
|
452
452
|
"name",
|
|
453
453
|
"addChanger",
|
|
454
454
|
"data-top-icon"
|
|
455
|
-
])) :
|
|
456
|
-
e.addCompare && !e.onlySearcher && I(s).searcherKey.value === I(-1) ? (M(),
|
|
455
|
+
])) : w("", !0),
|
|
456
|
+
e.addCompare && !e.onlySearcher && I(s).searcherKey.value === I(-1) ? (M(), C(r, {
|
|
457
457
|
key: 1,
|
|
458
458
|
name: "compare",
|
|
459
459
|
onClick: m,
|
|
460
460
|
"data-count-compare-regions-indexes": I(l).regionsIndexes.value.length
|
|
461
461
|
}, {
|
|
462
|
-
default: z(() => [
|
|
462
|
+
default: z(() => [D(F(t.$i18n.Common.Selected_regions), 1)]),
|
|
463
463
|
_: 1
|
|
464
|
-
}, 8, ["data-count-compare-regions-indexes"])) :
|
|
464
|
+
}, 8, ["data-count-compare-regions-indexes"])) : w("", !0)
|
|
465
465
|
], 2));
|
|
466
466
|
}
|
|
467
467
|
}), H = {
|
|
@@ -504,7 +504,7 @@ function He(e, t, n) {
|
|
|
504
504
|
}
|
|
505
505
|
//#endregion
|
|
506
506
|
//#region src/components/project/groupSelector/folders/folders.vue?vue&type=script&setup=true&lang.ts
|
|
507
|
-
var Ue = ["innerHTML"], We = /* @__PURE__ */
|
|
507
|
+
var Ue = ["innerHTML"], We = /* @__PURE__ */ k({
|
|
508
508
|
__name: "folders",
|
|
509
509
|
props: /* @__PURE__ */ A({
|
|
510
510
|
folderId: {},
|
|
@@ -531,7 +531,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
531
531
|
R(() => t.projectId, () => {
|
|
532
532
|
i?.changeParams({ project_id: t.projectId }), i?.setOptions({ checkFingerprint: "TopGroupSelectorFolders:" + t.projectId }), a.value?.resetCache();
|
|
533
533
|
}, { immediate: !0 });
|
|
534
|
-
let o =
|
|
534
|
+
let o = S(() => Be(t.folders ?? { root: [H] }, t.canSelectAll));
|
|
535
535
|
return He({
|
|
536
536
|
modelFolder: r,
|
|
537
537
|
modelFolderId: n
|
|
@@ -543,7 +543,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
543
543
|
}
|
|
544
544
|
let i = o.value.get(t.folderId);
|
|
545
545
|
i ||= H, r.value = i, n.value = i.id;
|
|
546
|
-
}, { immediate: !0 }), (t, n) => (M(),
|
|
546
|
+
}, { immediate: !0 }), (t, n) => (M(), C(y, {
|
|
547
547
|
class: "top-groupSelector_folder",
|
|
548
548
|
modelValue: r.value,
|
|
549
549
|
"onUpdate:modelValue": n[0] ||= (e) => r.value = e,
|
|
@@ -551,11 +551,11 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
551
551
|
"search-type": "inline",
|
|
552
552
|
icon: e.addIcon ? "" : void 0,
|
|
553
553
|
api: e.folders ? void 0 : I(i),
|
|
554
|
-
apiSetSearchParams: (...e) => I(
|
|
554
|
+
apiSetSearchParams: (...e) => I(b)(...e, "name"),
|
|
555
555
|
addChanger: e.addChanger,
|
|
556
556
|
useCache: ""
|
|
557
557
|
}, {
|
|
558
|
-
item: z(({ item: e }) => [
|
|
558
|
+
item: z(({ item: e }) => [E("div", { innerHTML: e.name.replaceAll(/</g, "< ") }, null, 8, Ue)]),
|
|
559
559
|
_: 1
|
|
560
560
|
}, 8, [
|
|
561
561
|
"modelValue",
|
|
@@ -587,7 +587,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
587
587
|
}), 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 = {
|
|
588
588
|
key: 0,
|
|
589
589
|
class: "top-comment"
|
|
590
|
-
}, $e = ["innerHTML"], et = ["innerHTML"], tt = ["
|
|
590
|
+
}, $e = ["innerHTML"], et = ["innerHTML"], tt = ["innerHTML"], nt = /* @__PURE__ */ k({
|
|
591
591
|
__name: "groups",
|
|
592
592
|
props: /* @__PURE__ */ A({
|
|
593
593
|
groupId: {},
|
|
@@ -600,7 +600,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
600
600
|
default: void 0
|
|
601
601
|
},
|
|
602
602
|
canAdd: { type: [String, Boolean] },
|
|
603
|
-
|
|
603
|
+
canEditAndDel: { type: Boolean },
|
|
604
604
|
canSelectAll: { type: [Boolean, String] },
|
|
605
605
|
autoselect: { default: "first" },
|
|
606
606
|
addChanger: {
|
|
@@ -686,29 +686,21 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
686
686
|
} else m(t);
|
|
687
687
|
d.value?.resetCache(!0);
|
|
688
688
|
}, g = async (e, t) => {
|
|
689
|
-
|
|
690
|
-
let r = await u.changeParams({
|
|
689
|
+
u && ((await u.changeParams({
|
|
691
690
|
project_id: n.projectId,
|
|
692
691
|
id: e.id,
|
|
693
692
|
name: t
|
|
694
|
-
}).call()
|
|
695
|
-
console.log(e), !r.errors && (a.value.id === e.id && m({
|
|
693
|
+
}).call()).errors || (a.value.id === e.id && m({
|
|
696
694
|
...a.value,
|
|
697
695
|
name: t
|
|
698
|
-
}), d.value?.resetCache(!0));
|
|
696
|
+
}), d.value?.resetCache(!0)));
|
|
699
697
|
}, v = async (e) => {
|
|
700
|
-
|
|
698
|
+
l && ((await l.changeParams({
|
|
701
699
|
project_id: n.projectId,
|
|
702
700
|
id: e.id
|
|
703
|
-
}).call()).errors)
|
|
704
|
-
if (a.value.id === e.id) {
|
|
705
|
-
let t = f.value ?? [], r = t.findIndex((t) => t.id === e.id), i = t[r + 1], a = t[r - 1];
|
|
706
|
-
m(i ?? a ?? (n.canSelectAll ? G() : U));
|
|
707
|
-
}
|
|
708
|
-
d.value?.resetCache(!0);
|
|
709
|
-
}
|
|
701
|
+
}).call()).errors || (a.value.id === e.id && m(n.canSelectAll ? G() : U), d.value?.resetCache(!0)));
|
|
710
702
|
};
|
|
711
|
-
return (t, n) => (M(),
|
|
703
|
+
return (t, n) => (M(), C(y, {
|
|
712
704
|
ref_key: "refSelector",
|
|
713
705
|
ref: d,
|
|
714
706
|
class: "top-groupSelector_group",
|
|
@@ -718,57 +710,51 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
718
710
|
searchType: "inline",
|
|
719
711
|
icon: e.addIcon ? "" : void 0,
|
|
720
712
|
api: e.groups ? void 0 : I(s),
|
|
721
|
-
apiSetSearchParams: (...e) => I(
|
|
713
|
+
apiSetSearchParams: (...e) => I(b)(...e, "name"),
|
|
722
714
|
appendSearchToResult: !!e.canAdd,
|
|
723
715
|
useAllItem: e.canSelectAll ? I(G)().name : !1,
|
|
724
716
|
addChanger: e.addChanger,
|
|
725
717
|
useCache: "",
|
|
726
718
|
onAppendItem: h
|
|
727
|
-
}, {
|
|
728
|
-
item: z(({ item:
|
|
729
|
-
|
|
730
|
-
|
|
719
|
+
}, re({
|
|
720
|
+
item: z(({ item: n }) => [E("div", Ze, [
|
|
721
|
+
n.id === I(null) ? (M(), T("div", Qe, F(t.$i18n.Common.Add) + ": ", 1)) : w("", !0),
|
|
722
|
+
E("span", {
|
|
731
723
|
class: "top-groupSelector_groupItemName top-ellipsis1",
|
|
732
|
-
innerHTML:
|
|
724
|
+
innerHTML: n.name
|
|
733
725
|
}, null, 8, $e),
|
|
734
|
-
|
|
726
|
+
n.folder_path && e.showPath ? (M(), T("span", {
|
|
735
727
|
key: 1,
|
|
736
728
|
class: "top-groupSelector_groupItemFolderPath top-ellipsis1",
|
|
737
|
-
innerHTML:
|
|
738
|
-
}, null, 8, et)) :
|
|
739
|
-
])
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
}, [
|
|
729
|
+
innerHTML: n.folder_path
|
|
730
|
+
}, null, 8, et)) : w("", !0)
|
|
731
|
+
])]),
|
|
732
|
+
_: 2
|
|
733
|
+
}, [e.canEditAndDel && e.client ? {
|
|
734
|
+
name: "actions",
|
|
735
|
+
fn: z(({ item: r }) => [r.id ? (M(), T(x, { key: 0 }, [O(_, {
|
|
744
736
|
submitText: t.$i18n.Common.Save,
|
|
745
737
|
defaultValue: r.name,
|
|
746
738
|
onSubmit: (e) => g(r, e)
|
|
747
739
|
}, {
|
|
748
|
-
opener: z(() => [...n[1] ||= [
|
|
749
|
-
class: "top-groupSelector_action",
|
|
750
|
-
"data-top-icon": ""
|
|
751
|
-
}, null, -1)]]),
|
|
740
|
+
opener: z(() => [...n[1] ||= [E("div", { "data-top-icon": "" }, null, -1)]]),
|
|
752
741
|
default: z(() => [...n[2] ||= []]),
|
|
753
742
|
_: 1
|
|
754
743
|
}, 8, [
|
|
755
744
|
"submitText",
|
|
756
745
|
"defaultValue",
|
|
757
746
|
"onSubmit"
|
|
758
|
-
]),
|
|
747
|
+
]), O(ee, {
|
|
759
748
|
isWarning: "",
|
|
760
749
|
submitText: t.$i18n.Common.Delete,
|
|
761
750
|
onSubmit: (e) => v(r)
|
|
762
751
|
}, {
|
|
763
|
-
opener: z(() => [...n[3] ||= [
|
|
764
|
-
|
|
765
|
-
"data-top-icon": ""
|
|
766
|
-
}, null, -1)]]),
|
|
767
|
-
default: z(() => [T("span", { innerHTML: t.$i18n.Keywords.Delete_group_warning }, null, 8, nt)]),
|
|
752
|
+
opener: z(() => [...n[3] ||= [E("div", { "data-top-icon": "" }, null, -1)]]),
|
|
753
|
+
default: z(() => [E("span", { innerHTML: e.service === "keywords_2" ? t.$i18n.Keywords.Delete_group_warning : t.$i18n["Ai.Tracker"].Delete_group_warning }, null, 8, tt)]),
|
|
768
754
|
_: 1
|
|
769
|
-
}, 8, ["submitText", "onSubmit"])],
|
|
770
|
-
|
|
771
|
-
},
|
|
755
|
+
}, 8, ["submitText", "onSubmit"])], 64)) : w("", !0)]),
|
|
756
|
+
key: "0"
|
|
757
|
+
} : void 0]), 1032, [
|
|
772
758
|
"modelValue",
|
|
773
759
|
"items",
|
|
774
760
|
"icon",
|
|
@@ -779,7 +765,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
779
765
|
"addChanger"
|
|
780
766
|
]));
|
|
781
767
|
}
|
|
782
|
-
}),
|
|
768
|
+
}), rt = { class: "top-groupSelector" }, it = /* @__PURE__ */ k({
|
|
783
769
|
__name: "groupSelector",
|
|
784
770
|
props: /* @__PURE__ */ A({
|
|
785
771
|
folderId: {},
|
|
@@ -795,7 +781,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
795
781
|
},
|
|
796
782
|
canSelectAllGroups: { type: Boolean },
|
|
797
783
|
canAddGroup: { type: [String, Boolean] },
|
|
798
|
-
|
|
784
|
+
canEditAndDelGroup: { type: Boolean },
|
|
799
785
|
autoselect: { default: "first" },
|
|
800
786
|
addChanger: {
|
|
801
787
|
type: Boolean,
|
|
@@ -840,7 +826,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
840
826
|
let t;
|
|
841
827
|
n.groups && e && (t = [...n.groups, e]), s("update:groups", t);
|
|
842
828
|
};
|
|
843
|
-
return (t, n) => (M(),
|
|
829
|
+
return (t, n) => (M(), T("div", rt, [e.showFolders ? (M(), C(We, {
|
|
844
830
|
key: 0,
|
|
845
831
|
folderId: r.value,
|
|
846
832
|
"onUpdate:folderId": n[0] ||= (e) => r.value = e,
|
|
@@ -863,7 +849,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
863
849
|
"addIcon",
|
|
864
850
|
"client",
|
|
865
851
|
"service"
|
|
866
|
-
])) :
|
|
852
|
+
])) : w("", !0), e.showGroups ? (M(), C(nt, {
|
|
867
853
|
key: 1,
|
|
868
854
|
groupId: a.value,
|
|
869
855
|
"onUpdate:groupId": n[2] ||= (e) => a.value = e,
|
|
@@ -874,7 +860,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
874
860
|
groups: e.groups,
|
|
875
861
|
on: e.on,
|
|
876
862
|
canAdd: e.canAddGroup,
|
|
877
|
-
|
|
863
|
+
canEditAndDel: e.canEditAndDelGroup,
|
|
878
864
|
canSelectAll: e.canSelectAllGroups,
|
|
879
865
|
autoselect: e.autoselect,
|
|
880
866
|
addChanger: e.addChanger,
|
|
@@ -891,7 +877,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
891
877
|
"groups",
|
|
892
878
|
"on",
|
|
893
879
|
"canAdd",
|
|
894
|
-
"
|
|
880
|
+
"canEditAndDel",
|
|
895
881
|
"canSelectAll",
|
|
896
882
|
"autoselect",
|
|
897
883
|
"addChanger",
|
|
@@ -899,41 +885,41 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
899
885
|
"addIcon",
|
|
900
886
|
"client",
|
|
901
887
|
"service"
|
|
902
|
-
])) :
|
|
888
|
+
])) : w("", !0)]));
|
|
903
889
|
}
|
|
904
|
-
}),
|
|
890
|
+
}), at = (e) => ({
|
|
905
891
|
id: null,
|
|
906
892
|
name: e,
|
|
907
893
|
listItemProps: { type: "title" }
|
|
908
|
-
}),
|
|
894
|
+
}), ot = {
|
|
909
895
|
scheduledUpdate: !1,
|
|
910
896
|
manualUpdate: !1,
|
|
911
897
|
guestProjects: !1
|
|
912
|
-
},
|
|
898
|
+
}, st = (t, n) => {
|
|
913
899
|
let r = [], i = {
|
|
914
|
-
scheduledUpdate:
|
|
915
|
-
manualUpdate:
|
|
916
|
-
guestProjects:
|
|
900
|
+
scheduledUpdate: at(e().Projects.Scheduled_update),
|
|
901
|
+
manualUpdate: at(e().Projects.Manual_update),
|
|
902
|
+
guestProjects: at(e().Projects.Guest_projects)
|
|
917
903
|
}, a = n ? {
|
|
918
904
|
scheduledUpdate: !1,
|
|
919
905
|
manualUpdate: !1,
|
|
920
906
|
guestProjects: !1
|
|
921
|
-
} :
|
|
907
|
+
} : ot;
|
|
922
908
|
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);
|
|
923
909
|
return r;
|
|
924
|
-
},
|
|
910
|
+
}, ct = (e) => e.map((e) => ({
|
|
925
911
|
...e,
|
|
926
912
|
listItemProps: { attrs: { title: e.name } }
|
|
927
|
-
})),
|
|
913
|
+
})), lt = (e, t, n) => !e || e.length === 0 ? [] : (t && Object.keys(ot).forEach((e) => ot[e] = !1), st(ct(e), n)), ut = (e) => {
|
|
928
914
|
e = e.replace(/#.*/, "");
|
|
929
915
|
let t = location.hash;
|
|
930
916
|
return t = t.replace(/historyView=[^&]*/, ""), t = t.replace(/modelsKeys=[^&]*/, ""), t = t.replace(/competitorsIds=[^&]*/, ""), t = t.replace(/searchersKeys=[^&]*/, ""), t = t.replace(/regionIndex=[^&]*/, ""), t = t.replace(/regionsIndexes=[^&]*/, ""), t = t.replace(/folderId=[^&]*/, ""), t = t.replace(/groupId=[^&]*/, ""), t = t.replace(/tags=[^&]*/, ""), window.mo?.getHash && !window.mo.getHash("dataSort").toString().includes("0000-00-00") && (t = t.replace(/dataSort=[^&]*/, "")), 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;
|
|
931
|
-
},
|
|
917
|
+
}, dt = (e, t) => {
|
|
932
918
|
t && t.target instanceof HTMLElement && c.close(t.target.closest(".top-popup-wrapper"));
|
|
933
|
-
let n =
|
|
919
|
+
let n = ut(e);
|
|
934
920
|
location.href = n;
|
|
935
|
-
},
|
|
936
|
-
let t =
|
|
921
|
+
}, ft = (e) => {
|
|
922
|
+
let t = pt(), n = location.pathname.split("/"), r = "project/dynamics/", i = "";
|
|
937
923
|
return n[1] == "project" && (r = n[1] + "/" + n[2] + "/"), n[2] == "settings" && (i = location.hash), [
|
|
938
924
|
"watcher",
|
|
939
925
|
"indexing",
|
|
@@ -942,15 +928,15 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
942
928
|
"direct",
|
|
943
929
|
"adwords"
|
|
944
930
|
].includes(n[4]) && (i = n[4] + "/"), "https://" + t + "/" + r + e + "/" + i;
|
|
945
|
-
},
|
|
931
|
+
}, pt = () => window.page?.subdomain ? window.location.host.replace(window.page?.subdomain + ".", "") : window.location.host, mt = (e) => {
|
|
946
932
|
let t = e.startsWith("http") ? e : "http://" + e;
|
|
947
933
|
return t = t.replace(/"/g, "%22"), t;
|
|
948
|
-
},
|
|
934
|
+
}, ht = (e, t) => {
|
|
949
935
|
let n = e.params.filters ?? [];
|
|
950
936
|
n = n.filter((e) => e.name !== "GEN_SEARCH_STRING()");
|
|
951
937
|
let r = h(t), i = t.replace(/([[^$.|?*+()])/g, "\\$1"), a = r.replace(/([[^$.|?*+()])/g, "\\$1");
|
|
952
938
|
t && n.push(o("GEN_SEARCH_STRING()", "REGEXP", [`(${i}|${a})`])), e.changeParams({ filters: n });
|
|
953
|
-
},
|
|
939
|
+
}, gt = (e, t, n) => {
|
|
954
940
|
let r = e.gen("/get/projects_2/projects/", [
|
|
955
941
|
"id",
|
|
956
942
|
"user_id",
|
|
@@ -970,14 +956,14 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
970
956
|
]
|
|
971
957
|
}, r.options.onApiLoaded = (e, t, n) => {
|
|
972
958
|
let r = t.data.filters.length === 1 && t.data.offset === 0 || t.data.limit === 1e3, i = t.data.limit === 100 && t.data.filters.length > 1 ? !0 : void 0;
|
|
973
|
-
e.result =
|
|
959
|
+
e.result = lt(e.result, r, i), n?.(e, t);
|
|
974
960
|
}, r;
|
|
975
|
-
},
|
|
961
|
+
}, _t = (e) => e.gen("/add/projects_2/projects/"), vt = { class: "top-projectSelectorSubmenu_item" }, yt = [
|
|
976
962
|
"href",
|
|
977
963
|
"title",
|
|
978
964
|
"data-top-icon",
|
|
979
965
|
"data-right"
|
|
980
|
-
],
|
|
966
|
+
], bt = { class: "top-projectSelectorSubmenu_item" }, xt = ["href"], St = /* @__PURE__ */ k({
|
|
981
967
|
__name: "submenu",
|
|
982
968
|
props: {
|
|
983
969
|
id: {},
|
|
@@ -985,7 +971,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
985
971
|
url: {}
|
|
986
972
|
},
|
|
987
973
|
setup(t) {
|
|
988
|
-
let n = t, r = e(), i =
|
|
974
|
+
let n = t, r = e(), i = pt(), a = [
|
|
989
975
|
{
|
|
990
976
|
href: `https://${i}/project/keywords/${n.id}/`,
|
|
991
977
|
title: r.Common.Menu_phrases,
|
|
@@ -1058,7 +1044,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1058
1044
|
icon: "",
|
|
1059
1045
|
right: "2"
|
|
1060
1046
|
}
|
|
1061
|
-
], o =
|
|
1047
|
+
], o = S(() => {
|
|
1062
1048
|
if (!window.page?.data?.aiTracker) {
|
|
1063
1049
|
let e = a.findIndex((e) => e.href.includes("ai-tracker"));
|
|
1064
1050
|
e !== -1 && a.splice(e, 1);
|
|
@@ -1067,36 +1053,36 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1067
1053
|
});
|
|
1068
1054
|
return (e, n) => {
|
|
1069
1055
|
let r = ue("TopButton");
|
|
1070
|
-
return M(),
|
|
1056
|
+
return M(), C(I(te), {
|
|
1071
1057
|
class: "top-projectSelectorSubmenu",
|
|
1072
1058
|
notch: !1,
|
|
1073
1059
|
pos: "2"
|
|
1074
1060
|
}, {
|
|
1075
|
-
opener: z(() => [
|
|
1061
|
+
opener: z(() => [O(r, {
|
|
1076
1062
|
class: "top-projectSelectorSubmenu_opener",
|
|
1077
1063
|
"data-top-icon": "",
|
|
1078
1064
|
color: "theme"
|
|
1079
1065
|
})]),
|
|
1080
|
-
contentList: z(() => [(M(!0),
|
|
1066
|
+
contentList: z(() => [(M(!0), T(x, null, P(o.value, (e) => (M(), T("li", vt, [E("a", {
|
|
1081
1067
|
href: e.href,
|
|
1082
1068
|
title: e.title,
|
|
1083
1069
|
"data-top-icon": e.icon,
|
|
1084
1070
|
"data-right": e.right
|
|
1085
|
-
}, null, 8,
|
|
1071
|
+
}, null, 8, yt)]))), 256)), E("li", bt, [E("a", {
|
|
1086
1072
|
href: t.url,
|
|
1087
1073
|
"data-top-icon": "",
|
|
1088
1074
|
target: "_blank"
|
|
1089
|
-
}, null, 8,
|
|
1075
|
+
}, null, 8, xt)])]),
|
|
1090
1076
|
_: 1
|
|
1091
1077
|
});
|
|
1092
1078
|
};
|
|
1093
1079
|
}
|
|
1094
|
-
}), K = "ui_project_selector_total:",
|
|
1080
|
+
}), K = "ui_project_selector_total:", Ct = 1440 * 60 * 1e3, q = pe(), wt = N(0), J = N(null), Tt = (e, t) => {
|
|
1095
1081
|
localStorage.setItem(K + e, JSON.stringify({
|
|
1096
1082
|
projectsTotal: t,
|
|
1097
|
-
expiresAt: Date.now() +
|
|
1083
|
+
expiresAt: Date.now() + Ct
|
|
1098
1084
|
}));
|
|
1099
|
-
},
|
|
1085
|
+
}, Et = (e) => {
|
|
1100
1086
|
let t = localStorage.getItem(K + e);
|
|
1101
1087
|
if (!t) return;
|
|
1102
1088
|
let { projectsTotal: n, expiresAt: r } = JSON.parse(t);
|
|
@@ -1105,12 +1091,12 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1105
1091
|
return;
|
|
1106
1092
|
}
|
|
1107
1093
|
return n;
|
|
1108
|
-
},
|
|
1109
|
-
q.value = void 0, localStorage.removeItem(K + e), t &&
|
|
1110
|
-
},
|
|
1094
|
+
}, Dt = (e, t = !0) => {
|
|
1095
|
+
q.value = void 0, localStorage.removeItem(K + e), t && wt.value++;
|
|
1096
|
+
}, Ot = { class: "top-projectSelector_item" }, kt = { class: "top-projectSelector_itemText" }, At = { class: "top-comment" }, jt = {
|
|
1111
1097
|
key: 0,
|
|
1112
1098
|
class: "top-comment"
|
|
1113
|
-
},
|
|
1099
|
+
}, Mt = ["href", "onClick"], Nt = 1e3, Pt = /* @__PURE__ */ k({
|
|
1114
1100
|
__name: "projectSelector",
|
|
1115
1101
|
props: /* @__PURE__ */ A({
|
|
1116
1102
|
modelValue: {},
|
|
@@ -1135,16 +1121,16 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1135
1121
|
setup(t) {
|
|
1136
1122
|
let n = e();
|
|
1137
1123
|
if (!window.mo?.user?.id) throw Error("TopProjectSelector: не удалось определить userId. Компонент требует авторизованного пользователя (см. window.mo.user.id)");
|
|
1138
|
-
let r = window.mo.user.id, i = t, a = L(t, "modelValue"), o =
|
|
1139
|
-
if (!(!c.value && c.value !== 0)) return c.value <
|
|
1124
|
+
let r = window.mo.user.id, i = t, a = L(t, "modelValue"), o = gt(i.client, r), s = _t(i.client), c = N(Et(r)), d = N(null), f = S(() => i.placeholder ?? n.Projects.Select_project), p = S(() => !q.value || !i.excludeProjectId ? q.value : q.value.filter((e) => e.id !== i.excludeProjectId)), m = S(() => {
|
|
1125
|
+
if (!(!c.value && c.value !== 0)) return c.value < Nt ? "static" : "api";
|
|
1140
1126
|
});
|
|
1141
|
-
R(
|
|
1127
|
+
R(wt, () => {
|
|
1142
1128
|
v();
|
|
1143
1129
|
}), R(a, () => {
|
|
1144
|
-
!a.value.id || !i.addLinksToProjects || ft(
|
|
1130
|
+
!a.value.id || !i.addLinksToProjects || dt(ft(a.value.id));
|
|
1145
1131
|
});
|
|
1146
1132
|
let h = async () => {
|
|
1147
|
-
J.value ||=
|
|
1133
|
+
J.value ||= gt(i.client, r, { limit: Nt }).call();
|
|
1148
1134
|
let e = await J.value;
|
|
1149
1135
|
if (e.errors) {
|
|
1150
1136
|
J.value = null;
|
|
@@ -1154,7 +1140,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1154
1140
|
}, g = async () => {
|
|
1155
1141
|
if (c.value) return;
|
|
1156
1142
|
let e = await h();
|
|
1157
|
-
e && (c.value = e.total, m.value === "static" && !q.value && (q.value = e.result), c.value &&
|
|
1143
|
+
e && (c.value = e.total, m.value === "static" && !q.value && (q.value = e.result), c.value && Tt(r, c.value));
|
|
1158
1144
|
}, _ = async (e) => {
|
|
1159
1145
|
let t = await s.changeParams({
|
|
1160
1146
|
url: e.name,
|
|
@@ -1175,9 +1161,9 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1175
1161
|
...q.value.slice(0, i),
|
|
1176
1162
|
n,
|
|
1177
1163
|
...q.value.slice(i)
|
|
1178
|
-
], c.value && (c.value += 1,
|
|
1164
|
+
], c.value && (c.value += 1, Tt(r, c.value));
|
|
1179
1165
|
}
|
|
1180
|
-
m.value === "api" &&
|
|
1166
|
+
m.value === "api" && Dt(r);
|
|
1181
1167
|
}
|
|
1182
1168
|
}, v = () => {
|
|
1183
1169
|
m.value === "api" && d.value?.resetCache(!0);
|
|
@@ -1190,7 +1176,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1190
1176
|
await g();
|
|
1191
1177
|
}), (e, n) => {
|
|
1192
1178
|
let r = ue("TopButton");
|
|
1193
|
-
return M(),
|
|
1179
|
+
return M(), C(y, {
|
|
1194
1180
|
ref_key: "refSelector",
|
|
1195
1181
|
ref: d,
|
|
1196
1182
|
class: "top-projectSelector",
|
|
@@ -1207,7 +1193,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1207
1193
|
placeholder: f.value,
|
|
1208
1194
|
hasCloserBtn: "",
|
|
1209
1195
|
api: m.value === "api" ? I(o) : void 0,
|
|
1210
|
-
apiSetSearchParams: m.value === "api" ? (...e) => I(
|
|
1196
|
+
apiSetSearchParams: m.value === "api" ? (...e) => I(ht)(...e) : void 0,
|
|
1211
1197
|
useCache: "",
|
|
1212
1198
|
appendSearchToResult: "",
|
|
1213
1199
|
appendSearchAllowDuplicate: "",
|
|
@@ -1218,32 +1204,32 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1218
1204
|
onAppendItem: _,
|
|
1219
1205
|
onOpen: ee
|
|
1220
1206
|
}, {
|
|
1221
|
-
item: z(({ item: i }) => [
|
|
1222
|
-
t.addLinksToProjects ? (M(),
|
|
1207
|
+
item: z(({ item: i }) => [E("div", Ot, [E("div", kt, [i.id ? (M(), T(x, { key: 0 }, [D(F(I(u)(i.name, 20)) + " ", 1), E("span", At, " id " + F(i.id), 1)], 64)) : (M(), T(x, { key: 1 }, [i.listItemProps?.type ? w("", !0) : (M(), T("div", jt, F(e.$i18n.Projects.Add_project) + ": ", 1)), D(" " + F(i.name), 1)], 64))]), i.id ? (M(), T(x, { key: 0 }, [
|
|
1208
|
+
t.addLinksToProjects ? (M(), T("a", {
|
|
1223
1209
|
key: 0,
|
|
1224
1210
|
class: "top-projectSelector_itemLink",
|
|
1225
|
-
href: I(
|
|
1226
|
-
onClick: B((e) => I(
|
|
1227
|
-
}, null, 8,
|
|
1228
|
-
e.$core.state.isMobile ?
|
|
1211
|
+
href: I(ft)(i.id),
|
|
1212
|
+
onClick: B((e) => I(dt)(I(ft)(i.id), e), ["prevent", "stop"])
|
|
1213
|
+
}, null, 8, Mt)) : w("", !0),
|
|
1214
|
+
e.$core.state.isMobile ? w("", !0) : (M(), C(r, {
|
|
1229
1215
|
key: 1,
|
|
1230
1216
|
class: "top-projectSelector_itemExtLink",
|
|
1231
|
-
href: I(
|
|
1217
|
+
href: I(mt)(i.url),
|
|
1232
1218
|
"data-top-icon": "",
|
|
1233
1219
|
color: "theme",
|
|
1234
1220
|
target: "_blank",
|
|
1235
1221
|
onClick: n[0] ||= B(() => {}, ["stop"])
|
|
1236
1222
|
}, null, 8, ["href"])),
|
|
1237
|
-
|
|
1223
|
+
O(St, {
|
|
1238
1224
|
id: i.id,
|
|
1239
1225
|
right: i.right ?? void 0,
|
|
1240
|
-
url: I(
|
|
1226
|
+
url: I(mt)(i.url)
|
|
1241
1227
|
}, null, 8, [
|
|
1242
1228
|
"id",
|
|
1243
1229
|
"right",
|
|
1244
1230
|
"url"
|
|
1245
1231
|
])
|
|
1246
|
-
], 64)) :
|
|
1232
|
+
], 64)) : w("", !0)])]),
|
|
1247
1233
|
_: 1
|
|
1248
1234
|
}, 8, [
|
|
1249
1235
|
"modelValue",
|
|
@@ -1259,11 +1245,11 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1259
1245
|
]);
|
|
1260
1246
|
};
|
|
1261
1247
|
}
|
|
1262
|
-
}),
|
|
1248
|
+
}), Ft = (e) => "-" + e, Y = (e) => e[0] === "-" ? e.substring(1) : e, X = (e, t) => {
|
|
1263
1249
|
e = Y(e);
|
|
1264
1250
|
let n = t.find((t) => t.id === e);
|
|
1265
1251
|
if (n) return n;
|
|
1266
|
-
},
|
|
1252
|
+
}, It = (e, t, n) => {
|
|
1267
1253
|
t ||= { id: e.id }, t.id = e.id, t.pos ??= "3", t.notch ??= !0, t.posBy ??= "fixed";
|
|
1268
1254
|
let r = c.genElPopupOpener("div", t);
|
|
1269
1255
|
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) => {
|
|
@@ -1275,15 +1261,15 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1275
1261
|
targetId: e.targetId,
|
|
1276
1262
|
filters: e.filters,
|
|
1277
1263
|
payload: e.payload
|
|
1278
|
-
}), delete r.dataset.topPopupDisabled,
|
|
1264
|
+
}), delete r.dataset.topPopupDisabled, ie(e.modelValue) || R(i, () => {
|
|
1279
1265
|
e.modelValue = i.value, Z(r, e, n);
|
|
1280
1266
|
}), r.click();
|
|
1281
|
-
},
|
|
1267
|
+
}, ie(e.modelValue) ? R(e.modelValue, () => Z(r, e, n)) : s(r, "topTagSelectorRender", (t) => {
|
|
1282
1268
|
e.modelValue = t;
|
|
1283
1269
|
let i = s(r, "topTagSelectorTarget");
|
|
1284
1270
|
i && (i.model.value = t), Z(r, e, n);
|
|
1285
1271
|
}), Z(r, e, n), r;
|
|
1286
|
-
},
|
|
1272
|
+
}, Lt = (e, t) => {
|
|
1287
1273
|
s(e, "topTagSelectorRender")?.(t);
|
|
1288
1274
|
}, Z = (t, n, r) => {
|
|
1289
1275
|
let i = I(n.modelValue);
|
|
@@ -1292,7 +1278,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1292
1278
|
return;
|
|
1293
1279
|
}
|
|
1294
1280
|
if (t.innerHTML = "", !i.length && n.mode === "filter") {
|
|
1295
|
-
let n =
|
|
1281
|
+
let n = Rt({
|
|
1296
1282
|
id: "all",
|
|
1297
1283
|
colorId: "",
|
|
1298
1284
|
name: e().Common?.All_tags ?? "",
|
|
@@ -1301,7 +1287,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1301
1287
|
t.append(n);
|
|
1302
1288
|
}
|
|
1303
1289
|
i.forEach((e) => {
|
|
1304
|
-
let r =
|
|
1290
|
+
let r = Rt({
|
|
1305
1291
|
id: Y(e),
|
|
1306
1292
|
colorId: X(e, n.tags)?.color_id ?? "",
|
|
1307
1293
|
name: X(e, n.tags)?.name ?? "",
|
|
@@ -1309,10 +1295,10 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1309
1295
|
});
|
|
1310
1296
|
t.append(r);
|
|
1311
1297
|
});
|
|
1312
|
-
},
|
|
1298
|
+
}, Rt = (e) => {
|
|
1313
1299
|
let t = document.createElement("div");
|
|
1314
1300
|
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;
|
|
1315
|
-
},
|
|
1301
|
+
}, zt = [
|
|
1316
1302
|
{
|
|
1317
1303
|
id: "1",
|
|
1318
1304
|
name: "Without Tag",
|
|
@@ -1363,11 +1349,11 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1363
1349
|
name: "Turquoise",
|
|
1364
1350
|
color_id: "10"
|
|
1365
1351
|
}
|
|
1366
|
-
],
|
|
1352
|
+
], Bt = [
|
|
1367
1353
|
"data-tag_id",
|
|
1368
1354
|
"data-tag_color_id",
|
|
1369
1355
|
"title"
|
|
1370
|
-
], Q = /* @__PURE__ */
|
|
1356
|
+
], Q = /* @__PURE__ */ k({
|
|
1371
1357
|
__name: "tagIcon",
|
|
1372
1358
|
props: {
|
|
1373
1359
|
id: {},
|
|
@@ -1376,7 +1362,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1376
1362
|
state: {}
|
|
1377
1363
|
},
|
|
1378
1364
|
setup(e) {
|
|
1379
|
-
return (t, n) => (M(),
|
|
1365
|
+
return (t, n) => (M(), T("div", {
|
|
1380
1366
|
class: j({
|
|
1381
1367
|
"top-tagSelector_tagIcon": !0,
|
|
1382
1368
|
"top-tagSelector-active": !!e.state,
|
|
@@ -1385,9 +1371,9 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1385
1371
|
"data-tag_id": e.id,
|
|
1386
1372
|
"data-tag_color_id": e.colorId,
|
|
1387
1373
|
title: e.name
|
|
1388
|
-
}, null, 10,
|
|
1374
|
+
}, null, 10, Bt));
|
|
1389
1375
|
}
|
|
1390
|
-
}),
|
|
1376
|
+
}), Vt = ["contenteditable", "onKeydown"], Ht = /* @__PURE__ */ k({
|
|
1391
1377
|
__name: "tagPopupListItem",
|
|
1392
1378
|
props: /* @__PURE__ */ A({
|
|
1393
1379
|
editable: { type: Boolean },
|
|
@@ -1408,7 +1394,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1408
1394
|
"select"
|
|
1409
1395
|
], ["update:name"]),
|
|
1410
1396
|
setup(e, { emit: t }) {
|
|
1411
|
-
let n = e, r = t, i = L(e, "name"), a = N(null), o =
|
|
1397
|
+
let n = e, r = t, i = L(e, "name"), a = N(null), o = S(() => navigator.userAgent.indexOf("Firefox") == -1 ? {} : {
|
|
1412
1398
|
contenteditable: s.value,
|
|
1413
1399
|
onpaste: (e) => e.preventDefault()
|
|
1414
1400
|
}), s = N(!1), c = async () => {
|
|
@@ -1424,7 +1410,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1424
1410
|
let t = "selected";
|
|
1425
1411
|
n.canExclude && (e.ctrlKey || e.metaKey) && (t = "excluded"), n.state == t && (t = ""), t === "" && r("unselect"), t === "selected" && r("select"), t === "excluded" && r("exclude");
|
|
1426
1412
|
};
|
|
1427
|
-
return (t, n) => (M(),
|
|
1413
|
+
return (t, n) => (M(), C(v, {
|
|
1428
1414
|
class: j({
|
|
1429
1415
|
"top-tagSelector_tagListItem": !0,
|
|
1430
1416
|
"top-tagSelector_tagListItem-inEdit": s.value,
|
|
@@ -1436,7 +1422,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1436
1422
|
onClick: B(d, ["stop"])
|
|
1437
1423
|
}, {
|
|
1438
1424
|
default: z(() => [
|
|
1439
|
-
|
|
1425
|
+
O(Q, {
|
|
1440
1426
|
id: e.id,
|
|
1441
1427
|
name: i.value,
|
|
1442
1428
|
colorId: e.colorId,
|
|
@@ -1447,28 +1433,28 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1447
1433
|
"colorId",
|
|
1448
1434
|
"state"
|
|
1449
1435
|
]),
|
|
1450
|
-
|
|
1436
|
+
E("span", ae({
|
|
1451
1437
|
ref_key: "elName",
|
|
1452
1438
|
ref: a,
|
|
1453
1439
|
class: "top-tagSelector_tagListItemName",
|
|
1454
1440
|
contenteditable: s.value ? "plaintext-only" : !1
|
|
1455
|
-
}, o.value, { onKeydown: [ge(B(l, ["stop"]), ["enter"]), ge(B(u, ["stop"]), ["esc"])] }), F(i.value), 17,
|
|
1456
|
-
e.editable ? (M(),
|
|
1441
|
+
}, o.value, { onKeydown: [ge(B(l, ["stop"]), ["enter"]), ge(B(u, ["stop"]), ["esc"])] }), F(i.value), 17, Vt),
|
|
1442
|
+
e.editable ? (M(), T(x, { key: 0 }, [s.value ? (M(), T("span", {
|
|
1457
1443
|
key: 1,
|
|
1458
1444
|
"data-top-icon": "",
|
|
1459
1445
|
class: "top-tagSelector_edit",
|
|
1460
1446
|
onClick: B(l, ["stop"])
|
|
1461
|
-
})) : (M(),
|
|
1447
|
+
})) : (M(), T("span", {
|
|
1462
1448
|
key: 0,
|
|
1463
1449
|
"data-top-icon": "",
|
|
1464
1450
|
class: "top-tagSelector_edit",
|
|
1465
1451
|
onClick: c
|
|
1466
|
-
}))], 64)) :
|
|
1452
|
+
}))], 64)) : w("", !0)
|
|
1467
1453
|
]),
|
|
1468
1454
|
_: 1
|
|
1469
1455
|
}, 8, ["class"]));
|
|
1470
1456
|
}
|
|
1471
|
-
}),
|
|
1457
|
+
}), Ut = { key: 1 }, Wt = /* @__PURE__ */ k({
|
|
1472
1458
|
inheritAttrs: !1,
|
|
1473
1459
|
__name: "popupOpener",
|
|
1474
1460
|
props: /* @__PURE__ */ A({
|
|
@@ -1496,8 +1482,8 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1496
1482
|
};
|
|
1497
1483
|
return (r, s) => {
|
|
1498
1484
|
let c = de("top-data");
|
|
1499
|
-
return M(),
|
|
1500
|
-
default: z(() => [he((M(),
|
|
1485
|
+
return M(), C(g, { id: e.id }, {
|
|
1486
|
+
default: z(() => [he((M(), C(fe(I(i)), ae({
|
|
1501
1487
|
class: {
|
|
1502
1488
|
"top-tagSelector": !0,
|
|
1503
1489
|
"top-tagSelector-useTopButton": t.useTopButton,
|
|
@@ -1512,13 +1498,13 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1512
1498
|
color: "theme",
|
|
1513
1499
|
styling: e.styling
|
|
1514
1500
|
}, r.$attrs), {
|
|
1515
|
-
[I(a)]: z(() => [!n.value.length && e.mode === "filter" ? (M(),
|
|
1501
|
+
[I(a)]: z(() => [!n.value.length && e.mode === "filter" ? (M(), C(Q, {
|
|
1516
1502
|
key: 0,
|
|
1517
1503
|
id: "all",
|
|
1518
1504
|
colorId: "",
|
|
1519
1505
|
name: r.$i18n.Common.All_tags ?? "",
|
|
1520
1506
|
state: ""
|
|
1521
|
-
}, null, 8, ["name"])) :
|
|
1507
|
+
}, null, 8, ["name"])) : w("", !0), e.mode === "setter" && e.filters ? (M(), T("div", Ut, [le(r.$slots, "default")])) : (M(!0), T(x, { key: 2 }, P(n.value, (t) => (M(), C(Q, {
|
|
1522
1508
|
id: I(Y)(t),
|
|
1523
1509
|
colorId: I(X)(t, e.tags)?.color_id ?? "",
|
|
1524
1510
|
name: I(X)(t, e.tags)?.name ?? "",
|
|
@@ -1539,7 +1525,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1539
1525
|
}, 8, ["id"]);
|
|
1540
1526
|
};
|
|
1541
1527
|
}
|
|
1542
|
-
}),
|
|
1528
|
+
}), Gt = /* @__PURE__ */ k({
|
|
1543
1529
|
__name: "tagSelector",
|
|
1544
1530
|
props: /* @__PURE__ */ A({
|
|
1545
1531
|
modelValue: {},
|
|
@@ -1562,7 +1548,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1562
1548
|
}, {
|
|
1563
1549
|
modelValue: { required: !0 },
|
|
1564
1550
|
modelModifiers: {},
|
|
1565
|
-
tags: { default: ce(
|
|
1551
|
+
tags: { default: ce(zt) },
|
|
1566
1552
|
tagsModifiers: {}
|
|
1567
1553
|
}),
|
|
1568
1554
|
emits: /* @__PURE__ */ A([
|
|
@@ -1597,25 +1583,25 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1597
1583
|
R(u, () => {
|
|
1598
1584
|
p("selector", u.value);
|
|
1599
1585
|
});
|
|
1600
|
-
let ee =
|
|
1586
|
+
let ee = S(() => {
|
|
1601
1587
|
if (_.value.mode === "setter" && l.maxTagsForSetter && !_.value.filters) return _.value.model.value.length >= l.maxTagsForSetter;
|
|
1602
1588
|
}), ne = (e) => {
|
|
1603
1589
|
if (e !== "all") {
|
|
1604
1590
|
if (_.value.model.value.includes(e)) return "selected";
|
|
1605
|
-
if (_.value.model.value.includes(
|
|
1591
|
+
if (_.value.model.value.includes(Ft(e))) return "excluded";
|
|
1606
1592
|
}
|
|
1607
1593
|
return e === "all" && !_.value.model.value.length ? "selected" : "";
|
|
1608
1594
|
}, y = (e, t) => {
|
|
1609
|
-
let n =
|
|
1595
|
+
let n = Ft(e), r = _.value.model.value.filter((t) => t !== e && t !== n);
|
|
1610
1596
|
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", {
|
|
1611
1597
|
tagsIds: r,
|
|
1612
1598
|
targetId: _.value.targetId,
|
|
1613
1599
|
payload: _.value.payload
|
|
1614
1600
|
});
|
|
1615
|
-
},
|
|
1601
|
+
}, b = S(() => {
|
|
1616
1602
|
let e = "top-tagSelector_popup";
|
|
1617
1603
|
return _.value.mode === "filter" && (e += " top-tagSelector_popup-filter"), _.value.mode === "setter" && (e += " top-tagSelector_popup-setter"), e;
|
|
1618
|
-
}),
|
|
1604
|
+
}), E = () => {
|
|
1619
1605
|
let e = prompt("", "New tag");
|
|
1620
1606
|
if (!e || e === "New tag") return;
|
|
1621
1607
|
let t = d.value.length + 1;
|
|
@@ -1624,7 +1610,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1624
1610
|
name: e,
|
|
1625
1611
|
color_id: String((t - 1) % 10 + 1)
|
|
1626
1612
|
}), f("tagsChanged", d.value);
|
|
1627
|
-
},
|
|
1613
|
+
}, k = (e) => {
|
|
1628
1614
|
if (_.value = s(e.elPopupOpener, "topTagSelectorTarget"), !_.value) throw Error("Open popup TopTagSelector required v-data:topTagSelectorTarget");
|
|
1629
1615
|
if (_.value.filters && (h.value = "add", _.value.model.value = []), !t.$?.ui.sortable) {
|
|
1630
1616
|
console.info("Для работы сортировки требуется глобальная загрузка jQuery UI Sortable");
|
|
@@ -1644,10 +1630,10 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1644
1630
|
}), d.value.sort((e, t) => r.findIndex((t) => t === e.id) - r.findIndex((e) => e === t.id)), p("tagsChanged", d.value);
|
|
1645
1631
|
}
|
|
1646
1632
|
});
|
|
1647
|
-
},
|
|
1633
|
+
}, ie = (e) => {
|
|
1648
1634
|
t.$?.ui.sortable && $(e.elPopup).data("ui-sortable") && $(e.elPopup).sortable("destroy");
|
|
1649
1635
|
};
|
|
1650
|
-
return (e, t) => (M(),
|
|
1636
|
+
return (e, t) => (M(), T(x, null, [O(Wt, {
|
|
1651
1637
|
modelValue: u.value,
|
|
1652
1638
|
"onUpdate:modelValue": t[0] ||= (e) => u.value = e,
|
|
1653
1639
|
id: I(m),
|
|
@@ -1661,23 +1647,23 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1661
1647
|
"tags",
|
|
1662
1648
|
"styling",
|
|
1663
1649
|
"useTopButton"
|
|
1664
|
-
]),
|
|
1650
|
+
]), O(te, {
|
|
1665
1651
|
id: I(m),
|
|
1666
|
-
class: j(
|
|
1667
|
-
onOpen: t[4] ||= (e) =>
|
|
1668
|
-
onClose: t[5] ||= (e) =>
|
|
1652
|
+
class: j(b.value),
|
|
1653
|
+
onOpen: t[4] ||= (e) => k(e),
|
|
1654
|
+
onClose: t[5] ||= (e) => ie(e),
|
|
1669
1655
|
"transition-duration": 50
|
|
1670
|
-
},
|
|
1656
|
+
}, re({
|
|
1671
1657
|
contentList: z(() => [
|
|
1672
|
-
I(_).mode === "filter" && !a.singleMode ? (M(),
|
|
1658
|
+
I(_).mode === "filter" && !a.singleMode ? (M(), C(Ht, {
|
|
1673
1659
|
key: 0,
|
|
1674
1660
|
id: "all",
|
|
1675
1661
|
colorId: "",
|
|
1676
1662
|
name: e.$i18n.Common.All_tags ?? "",
|
|
1677
1663
|
state: I(_).model.value.length ? "" : "selected",
|
|
1678
1664
|
onSelect: t[3] ||= (e) => I(_).model.value = []
|
|
1679
|
-
}, null, 8, ["name", "state"])) :
|
|
1680
|
-
(M(!0),
|
|
1665
|
+
}, null, 8, ["name", "state"])) : w("", !0),
|
|
1666
|
+
(M(!0), T(x, null, P(d.value, (e) => (M(), C(Ht, {
|
|
1681
1667
|
key: e.id,
|
|
1682
1668
|
id: e.id,
|
|
1683
1669
|
colorId: e.color_id,
|
|
@@ -1705,19 +1691,19 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1705
1691
|
"onExclude",
|
|
1706
1692
|
"onUpdate:name"
|
|
1707
1693
|
]))), 128)),
|
|
1708
|
-
a.tagsEditable && d.value.length < a.tagsMax && d.value.length < 20 ? (M(),
|
|
1694
|
+
a.tagsEditable && d.value.length < a.tagsMax && d.value.length < 20 ? (M(), C(v, {
|
|
1709
1695
|
key: 1,
|
|
1710
1696
|
"data-top-icon": "",
|
|
1711
|
-
onClick: B(
|
|
1697
|
+
onClick: B(E, ["stop"])
|
|
1712
1698
|
}, {
|
|
1713
|
-
default: z(() => [
|
|
1699
|
+
default: z(() => [D(F(e.$i18n.Common.Add), 1)]),
|
|
1714
1700
|
_: 1
|
|
1715
|
-
})) :
|
|
1701
|
+
})) : w("", !0)
|
|
1716
1702
|
]),
|
|
1717
1703
|
_: 2
|
|
1718
1704
|
}, [I(_).mode === "setter" && I(_).filters ? {
|
|
1719
1705
|
name: "header",
|
|
1720
|
-
fn: z(() => [
|
|
1706
|
+
fn: z(() => [O(i, {
|
|
1721
1707
|
modelValue: h.value,
|
|
1722
1708
|
"onUpdate:modelValue": t[1] ||= (e) => h.value = e,
|
|
1723
1709
|
options: g()
|
|
@@ -1725,16 +1711,16 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1725
1711
|
key: "0"
|
|
1726
1712
|
} : void 0, I(_).mode === "setter" && I(_).filters ? {
|
|
1727
1713
|
name: "footer",
|
|
1728
|
-
fn: z(() => [
|
|
1729
|
-
default: z(() => [
|
|
1714
|
+
fn: z(() => [O(r, { color: "theme" }, {
|
|
1715
|
+
default: z(() => [D(F(e.$i18n.Common.Cancel), 1)]),
|
|
1730
1716
|
_: 1
|
|
1731
|
-
}),
|
|
1717
|
+
}), O(r, { onClick: t[2] ||= (e) => I(p)("setter", {
|
|
1732
1718
|
tagsIds: I(_).model.value,
|
|
1733
1719
|
filters: I(_).filters,
|
|
1734
1720
|
filtersAction: h.value,
|
|
1735
1721
|
payload: I(_).payload
|
|
1736
1722
|
}) }, {
|
|
1737
|
-
default: z(() => [
|
|
1723
|
+
default: z(() => [D(F(h.value === "add" ? e.$i18n.Common.Add : "") + " " + F(h.value === "replace" ? e.$i18n.Common.Replace : "") + " " + F(h.value === "delete" ? e.$i18n.Common.Delete : ""), 1)]),
|
|
1738
1724
|
_: 1
|
|
1739
1725
|
})]),
|
|
1740
1726
|
key: "1"
|
|
@@ -1742,6 +1728,6 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
|
|
|
1742
1728
|
}
|
|
1743
1729
|
});
|
|
1744
1730
|
//#endregion
|
|
1745
|
-
export { ye as TopCompetitorSelector,
|
|
1731
|
+
export { ye as TopCompetitorSelector, it as TopGroupSelector, Pt as TopProjectSelector, Re as TopRegionSelector, Gt as TopTagSelector, Wt as TopTagSelectorPopupOpener, Q as TopTagSelectorTagIcon, Dt as clearCache, Ne as dialogRegionSelector, Me as findRegion, It as genElTopTagSelectorPopupOpener, ke as genSearcherByKey, Lt as renderElTopTagSelectorPopupOpener, be as useItemsFromCompetitors };
|
|
1746
1732
|
|
|
1747
1733
|
//# sourceMappingURL=project.js.map
|