@topvisor/ui 1.4.1-projectSelector.3 → 1.4.1-projectSelector.4

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.
@@ -3,15 +3,15 @@
3
3
  const fileNames = ['../assets/project.css'].map(fileName => import.meta.resolve(fileName));
4
4
  _autoloadCSSCore.insertCSSLinkToPage(fileNames, true);
5
5
 
6
- import { defineComponent as L, mergeModels as E, useModel as w, computed as P, createElementBlock as T, openBlock as y, createBlock as C, unref as p, withCtx as j, Fragment as D, renderList as ce, normalizeClass as te, createElementVNode as O, toDisplayString as b, createVNode as K, createTextVNode as W, toValue as Ae, ref as _, watch as V, createCommentVNode as M, reactive as Re, resolveComponent as Ue, onMounted as ze, withModifiers as F, isRef as Be, mergeProps as Ne, withKeys as be, nextTick as Ye, resolveDirective as Qe, withDirectives as Xe, resolveDynamicComponent as Ze, renderSlot as et, shallowRef as tt, createSlots as ot } from "vue";
7
- import { u as A, C as Y, e as Z, q as ve, d as at } from "../.chunks/forms-BAUgA7Ct.es.js";
8
- import { _ as xe, b as ke, a as lt } from "../.chunks/popupHint.vue_vue_type_style_index_0_lang-BIWw5zUX.es.js";
9
- import { a as nt, _ as Ce, b as Te, c as De, I as le } from "../.chunks/policy.vue_vue_type_style_index_0_lang-RJnqOsjD.es.js";
6
+ import { defineComponent as L, mergeModels as E, useModel as w, computed as P, createElementBlock as T, openBlock as y, createBlock as k, unref as p, withCtx as j, Fragment as D, renderList as fe, normalizeClass as te, createElementVNode as O, toDisplayString as b, createVNode as K, createTextVNode as W, toValue as Ae, ref as _, watch as V, createCommentVNode as M, reactive as Re, resolveComponent as Ue, onMounted as ze, withModifiers as F, isRef as Be, mergeProps as Ne, withKeys as be, nextTick as Ye, resolveDirective as Qe, withDirectives as Xe, resolveDynamicComponent as Ze, renderSlot as et, shallowRef as tt, createSlots as ot } from "vue";
7
+ import { u as B, C as Y, e as Z, q as ve, d as at } from "../.chunks/forms-BAUgA7Ct.es.js";
8
+ import { _ as xe, b as Ce, a as lt } from "../.chunks/popupHint.vue_vue_type_style_index_0_lang-BIWw5zUX.es.js";
9
+ import { a as nt, _ as ke, b as Te, c as De, I as ne } from "../.chunks/policy.vue_vue_type_style_index_0_lang-CaEdkGWd.es.js";
10
10
  import { u as rt } from "../.chunks/utils-BYaZxGC1.es.js";
11
11
  import { getSearcherGIcon as it, getLangLabel as dt, getDeviceGIcon as st } from "../utils/searchers.js";
12
12
  import "../.chunks/core-BE_-rKvW.es.js";
13
13
  import "../.chunks/dialogs.vue_vue_type_script_setup_true_lang-DMhcuiHP.es.js";
14
- import { g as he, a as ge } from "../.chunks/field-CyyFzM-Y.es.js";
14
+ import { g as he, a as ae } from "../.chunks/field-CyyFzM-Y.es.js";
15
15
  import { validUrl as we } from "../utils/check.js";
16
16
  import { ellipsis as ut } from "../utils/string.js";
17
17
  import { storage as Q } from "../utils/dom.js";
@@ -32,13 +32,13 @@ const ft = { class: "top-competitorSelector" }, gt = { class: "top-ellipsis1" },
32
32
  if (t.showSelectAllItem)
33
33
  return {
34
34
  icon: "",
35
- title: A().Common.Select_all,
35
+ title: B().Common.Select_all,
36
36
  value: "all",
37
37
  content: ""
38
38
  };
39
39
  });
40
40
  return (r, l) => (y(), T("div", ft, [
41
- p(Y).state.isMobile ? (y(), C(xe, { key: 0 }, {
41
+ p(Y).state.isMobile ? (y(), k(xe, { key: 0 }, {
42
42
  opener: j(() => [
43
43
  K(Z, {
44
44
  class: "top-competitorSelector_opener",
@@ -53,7 +53,7 @@ const ft = { class: "top-competitorSelector" }, gt = { class: "top-ellipsis1" },
53
53
  })
54
54
  ]),
55
55
  contentList: j(() => [
56
- (y(!0), T(D, null, ce(e.items, (n) => (y(), C(ke, {
56
+ (y(!0), T(D, null, fe(e.items, (n) => (y(), k(Ce, {
57
57
  class: te({
58
58
  "top-active": a.value?.includes(n.value)
59
59
  }),
@@ -68,7 +68,7 @@ const ft = { class: "top-competitorSelector" }, gt = { class: "top-ellipsis1" },
68
68
  }, 1032, ["class", "data-top-icon", "title", "onClick"]))), 256))
69
69
  ]),
70
70
  _: 1
71
- })) : (y(), C(nt, {
71
+ })) : (y(), k(nt, {
72
72
  key: 1,
73
73
  modelValue: a.value,
74
74
  "onUpdate:modelValue": l[0] || (l[0] = (n) => a.value = n),
@@ -85,7 +85,7 @@ const ft = { class: "top-competitorSelector" }, gt = { class: "top-ellipsis1" },
85
85
  title: r.url + ` [${r.id}]`,
86
86
  icon: r.id === Ae(t) ? "" : "",
87
87
  content: r.name
88
- }))), R = -1, S = -2, ne = -1, mt = {
88
+ }))), R = -1, S = -2, re = -1, mt = {
89
89
  0: "Yandex",
90
90
  1: "Google",
91
91
  4: "YouTube",
@@ -104,24 +104,24 @@ const ft = { class: "top-competitorSelector" }, gt = { class: "top-ellipsis1" },
104
104
  name: "--",
105
105
  regions: [Pe],
106
106
  regionByIndex: /* @__PURE__ */ new Map([[S, Pe]])
107
- }, re = {
107
+ }, ie = {
108
108
  key: S,
109
109
  name: "Autoselect",
110
110
  index: S
111
111
  }, me = {
112
112
  key: S,
113
113
  name: "Autoselect",
114
- regions: [re],
115
- regionByIndex: /* @__PURE__ */ new Map([[S, re]])
114
+ regions: [ie],
115
+ regionByIndex: /* @__PURE__ */ new Map([[S, ie]])
116
116
  }, $e = {
117
117
  countryCode: "00",
118
118
  depth: 1,
119
119
  device: 0,
120
- key: ne,
121
- index: ne,
120
+ key: re,
121
+ index: re,
122
122
  lang: "ru",
123
123
  name: "Without region"
124
- }, pt = () => (re.name = A().Common.Autoselect, re), vt = () => (pt(), me.name = A().Common.Autoselect, console.log(me), me), ht = () => ($e.name = A().Keywords.Without_region, $e), Fe = (e = !1, t = !1, a = []) => {
124
+ }, pt = () => (ie.name = B().Common.Autoselect, ie), vt = () => (pt(), me.name = B().Common.Autoselect, console.log(me), me), ht = () => ($e.name = B().Keywords.Without_region, $e), Fe = (e = !1, t = !1, a = []) => {
125
125
  let o;
126
126
  return e ? o = yt(a) : o = We(a), t && o.set(S, vt()), o.size || o.set(S, qe), o;
127
127
  }, We = (e, t = !0, a = [], o = !1) => {
@@ -169,7 +169,7 @@ const ft = { class: "top-competitorSelector" }, gt = { class: "top-ellipsis1" },
169
169
  return !1;
170
170
  }), r;
171
171
  }, St = rt(() => import("../.chunks/dialog_regionSelectorRegions-Btp9cfmF.es.js")), xt = (e, t) => {
172
- const a = A(), o = _(t.value.keys().next().value ?? S), r = P(() => {
172
+ const a = B(), o = _(t.value.keys().next().value ?? S), r = P(() => {
173
173
  const l = /* @__PURE__ */ new Map();
174
174
  if (t.value.forEach((n) => {
175
175
  let s = {
@@ -196,8 +196,8 @@ const ft = { class: "top-competitorSelector" }, gt = { class: "top-ellipsis1" },
196
196
  searcherKey: o,
197
197
  optionBySearcherKey: r
198
198
  };
199
- }, kt = (e, t) => {
200
- const a = A(), o = _(S);
199
+ }, Ct = (e, t) => {
200
+ const a = B(), o = _(S);
201
201
  e.modelValue.length === 1 && (o.value = e.modelValue[0]), o.value === S && (e.forFrequency ? o.value = t.value?.regionByIndex.values().next().value?.key ?? S : o.value = t.value?.regionByIndex.keys().next().value ?? S);
202
202
  const r = P(() => {
203
203
  const l = /* @__PURE__ */ new Map();
@@ -248,7 +248,7 @@ const ft = { class: "top-competitorSelector" }, gt = { class: "top-ellipsis1" },
248
248
  regionIndex: o,
249
249
  optionByRegionIndex: r
250
250
  };
251
- }, Ct = (e, t, a) => {
251
+ }, kt = (e, t, a) => {
252
252
  const o = _([]), r = () => {
253
253
  if (e.onlySearcher && t.value) {
254
254
  o.value = Array.from(t.value.keys());
@@ -278,10 +278,10 @@ const ft = { class: "top-competitorSelector" }, gt = { class: "top-ellipsis1" },
278
278
  const i = /* @__PURE__ */ new Set();
279
279
  return t.value.forEach((g) => {
280
280
  g.regionByIndex.forEach((d) => {
281
- d.index !== ne && d.index !== S && i.add(d.index);
281
+ d.index !== re && d.index !== S && i.add(d.index);
282
282
  });
283
283
  }), i;
284
- }), r = xt(e, t), l = kt(e, a), n = Ct(e, t, o);
284
+ }), r = xt(e, t), l = Ct(e, a), n = kt(e, t, o);
285
285
  V(t, () => {
286
286
  if (e.onlySearcher ? n.regionsIndexes.value = Array.from(t.value.keys()) : n.regionsIndexes.value = n.regionsIndexes.value.filter((g) => o.value.has(g)), r.searcherKey.value === R) return;
287
287
  let i = t.value.keys().next().value;
@@ -398,7 +398,7 @@ const ft = { class: "top-competitorSelector" }, gt = { class: "top-ellipsis1" },
398
398
  let m = f.value;
399
399
  a.forFrequency && (m = /* @__PURE__ */ new Set(), c.value.forEach((q) => {
400
400
  q.regionByIndex.forEach((N) => {
401
- N.index !== ne && N.index !== S && m.add(N.key);
401
+ N.index !== re && N.index !== S && m.add(N.key);
402
402
  });
403
403
  })), m.has(d[0]) || (d = [], u !== void 0 && d.push(u));
404
404
  } else
@@ -451,7 +451,7 @@ const ft = { class: "top-competitorSelector" }, gt = { class: "top-ellipsis1" },
451
451
  name: "searcher_key",
452
452
  addChanger: e.addChanger
453
453
  }, null, 8, ["options", "modelValue", "addChanger"]),
454
- !e.onlySearcher && p(l).searcherKey.value !== p(R) ? (y(), C(ve, {
454
+ !e.onlySearcher && p(l).searcherKey.value !== p(R) ? (y(), k(ve, {
455
455
  key: 0,
456
456
  class: "top-select-region",
457
457
  options: p(n).optionByRegionIndex.value,
@@ -461,7 +461,7 @@ const ft = { class: "top-competitorSelector" }, gt = { class: "top-ellipsis1" },
461
461
  addChanger: e.addChanger,
462
462
  "data-top-icon": e.addRegionIcon ? "" : void 0
463
463
  }, null, 8, ["options", "modelValue", "name", "addChanger", "data-top-icon"])) : M("", !0),
464
- e.addCompare && !e.onlySearcher && p(l).searcherKey.value === p(R) ? (y(), C(Z, {
464
+ e.addCompare && !e.onlySearcher && p(l).searcherKey.value === p(R) ? (y(), k(Z, {
465
465
  key: 1,
466
466
  name: "compare",
467
467
  onClick: g,
@@ -480,7 +480,7 @@ const ft = { class: "top-competitorSelector" }, gt = { class: "top-ellipsis1" },
480
480
  path: "/"
481
481
  };
482
482
  function jt(e) {
483
- return e ? A()?.Common.All_folders : "/ (" + A()?.Keywords.Root_folder + ")";
483
+ return e ? B()?.Common.All_folders : "/ (" + B()?.Keywords.Root_folder + ")";
484
484
  }
485
485
  const je = (e, t, a = /* @__PURE__ */ new Map(), o = { id: "root" }, r = 0) => (o.childsIds = [], o.id && (o.countAllGroupsActive = o.count_groups_active), e[o.id] && e[o.id].forEach((l) => {
486
486
  l = { ...l }, o.childsIds.push(l.id), l.id === 0 && (l.name = jt(t));
@@ -542,7 +542,7 @@ const Bt = /* @__PURE__ */ L({
542
542
  }
543
543
  let c = n.value.get(t.folderId);
544
544
  c || (c = U), o.value = c, a.value = c.id;
545
- }, { immediate: !0 }), (s, c) => (y(), C(Ce, {
545
+ }, { immediate: !0 }), (s, c) => (y(), k(ke, {
546
546
  class: "top-groupSelector_folder",
547
547
  modelValue: o.value,
548
548
  "onUpdate:modelValue": c[0] || (c[0] = (f) => o.value = f),
@@ -555,17 +555,17 @@ const Bt = /* @__PURE__ */ L({
555
555
  useCache: ""
556
556
  }, null, 8, ["modelValue", "items", "icon", "api", "apiSetSearchParams", "addChanger"]));
557
557
  }
558
- }), ie = {
558
+ }), de = {
559
559
  id: -1,
560
560
  name: "--",
561
561
  folder_id: U.id,
562
562
  folder_path: U.path
563
- }, de = {
563
+ }, se = {
564
564
  id: De,
565
565
  name: "All groups",
566
566
  folder_id: U.id,
567
567
  folder_path: U.path
568
- }, X = () => (de.name = A()?.Common.All_groups, de), Je = () => (de.name = A()?.Keywords.Choose_group, de), bt = (e, t, a) => (e = [...e], t !== void 0 && (e = e.filter((o) => o.on == Number(t))), a && a.id && a.childsIds && (e = e.filter((o) => o.folder_id === a.id || a.childsIds.includes(o.folder_id))), e), _e = (e) => e.gen("/get/keywords_2/groups/", ["id", "name", "folder_id", "folder_path"]).changeParams({ folder_id_depth: !0, limit: 100 }), wt = (e) => e.gen("/add/keywords_2/groups/"), Pt = { class: "top-groupSelector_groupItem" }, $t = {
568
+ }, X = () => (se.name = B()?.Common.All_groups, se), Je = () => (se.name = B()?.Keywords.Choose_group, se), bt = (e, t, a) => (e = [...e], t !== void 0 && (e = e.filter((o) => o.on == Number(t))), a && a.id && a.childsIds && (e = e.filter((o) => o.folder_id === a.id || a.childsIds.includes(o.folder_id))), e), _e = (e) => e.gen("/get/keywords_2/groups/", ["id", "name", "folder_id", "folder_path"]).changeParams({ folder_id_depth: !0, limit: 100 }), wt = (e) => e.gen("/add/keywords_2/groups/"), Pt = { class: "top-groupSelector_groupItem" }, $t = {
569
569
  key: 0,
570
570
  class: "top-comment"
571
571
  }, _t = {
@@ -617,7 +617,7 @@ const Bt = /* @__PURE__ */ L({
617
617
  checkFingerprint: "TopGroupSelectorGroups:" + a.projectId
618
618
  })), d.folderId && (I.values = [
619
619
  a.folder?.id ?? 0
620
- ], a.groups && (f.value = bt(a.groups, a.on, a.folder))), c.value?.resetCache(), (d.folderId?.old !== void 0 || d.canSelectAll?.old !== void 0) && r.value !== le) {
620
+ ], a.groups && (f.value = bt(a.groups, a.on, a.folder))), c.value?.resetCache(), (d.folderId?.old !== void 0 || d.canSelectAll?.old !== void 0) && r.value !== ne) {
621
621
  let u;
622
622
  a.autoselect === "first" && (u = f.value?.[0], a.canSelectAll && (u = Re(X()))), (a.autoselect === "placeholder" || !u) && (u = Je()), i(u);
623
623
  }
@@ -630,14 +630,14 @@ const Bt = /* @__PURE__ */ L({
630
630
  r.value = l.value.id;
631
631
  return;
632
632
  }
633
- if (!(a.canAdd && r.value === le)) {
633
+ if (!(a.canAdd && r.value === ne)) {
634
634
  if (a.groups) {
635
635
  let u = f.value?.find((m) => m.id === r.value);
636
636
  if (!u && a.canSelectAll && (u = X()), u)
637
637
  i(u);
638
638
  else {
639
639
  const m = f.value?.[0];
640
- m && !r.value ? i(m) : i(ie);
640
+ m && !r.value ? i(m) : i(de);
641
641
  }
642
642
  }
643
643
  if (a.client && !a.groups && (r.value || r.value === De && !a.canSelectAll)) {
@@ -653,7 +653,7 @@ const Bt = /* @__PURE__ */ L({
653
653
  });
654
654
  const m = await u.call();
655
655
  if (!m.errors?.length && !m.result) return;
656
- !m.errors && m.result[0] ? i(m.result[0]) : i(ie);
656
+ !m.errors && m.result[0] ? i(m.result[0]) : i(de);
657
657
  }
658
658
  }
659
659
  }
@@ -668,7 +668,7 @@ const Bt = /* @__PURE__ */ L({
668
668
  }).call();
669
669
  m.result ? (i(m.result), o("addGroup", m.result)) : i(u), c.value?.resetCache(!0);
670
670
  };
671
- return (d, u) => (y(), C(Ce, {
671
+ return (d, u) => (y(), k(ke, {
672
672
  ref_key: "refSelector",
673
673
  ref: c,
674
674
  class: "top-groupSelector_group",
@@ -687,7 +687,7 @@ const Bt = /* @__PURE__ */ L({
687
687
  }, {
688
688
  item: j(({ item: m }) => [
689
689
  O("div", Pt, [
690
- m.id === p(le) ? (y(), T("div", $t, b(d.$i18n.Common.Add) + ": ", 1)) : M("", !0),
690
+ m.id === p(ne) ? (y(), T("div", $t, b(d.$i18n.Common.Add) + ": ", 1)) : M("", !0),
691
691
  O("span", null, b(m.name), 1),
692
692
  m.folder_path && e.showPath ? (y(), T("span", _t, b(m.folder_path), 1)) : M("", !0)
693
693
  ])
@@ -721,7 +721,7 @@ const Bt = /* @__PURE__ */ L({
721
721
  folderModifiers: {},
722
722
  groupId: { required: !0 },
723
723
  groupIdModifiers: {},
724
- group: { default: ie },
724
+ group: { default: de },
725
725
  groupModifiers: {}
726
726
  }),
727
727
  emits: /* @__PURE__ */ E(["update:groups"], ["update:folderId", "update:folder", "update:groupId", "update:group"]),
@@ -729,13 +729,13 @@ const Bt = /* @__PURE__ */ L({
729
729
  const a = e, o = w(e, "folderId"), r = w(e, "folder"), l = w(e, "groupId"), n = w(e, "group"), s = t, c = je(a.folders ?? { root: [U] }, a.canSelectAllGroups);
730
730
  r.value = c.get(o.value);
731
731
  let f = a.groups?.find((i) => i.id === l.value);
732
- l.value || (f = a.groups?.[0]), a.canSelectAllGroups && !f && (f = X()), a.canSelectAllGroups && !f && (f = X()), (a.autoselect === "placeholder" || !f) && (f = Je()), f ??= ie, n.value = f;
732
+ l.value || (f = a.groups?.[0]), a.canSelectAllGroups && !f && (f = X()), a.canSelectAllGroups && !f && (f = X()), (a.autoselect === "placeholder" || !f) && (f = Je()), f ??= de, n.value = f;
733
733
  const I = (i) => {
734
734
  let g;
735
735
  a.groups && i && (g = [...a.groups, i]), s("update:groups", g);
736
736
  };
737
737
  return (i, g) => (y(), T("div", Et, [
738
- e.showFolders ? (y(), C(Bt, {
738
+ e.showFolders ? (y(), k(Bt, {
739
739
  key: 0,
740
740
  folderId: o.value,
741
741
  "onUpdate:folderId": g[0] || (g[0] = (d) => o.value = d),
@@ -748,7 +748,7 @@ const Bt = /* @__PURE__ */ L({
748
748
  addIcon: e.addIcon,
749
749
  client: e.client
750
750
  }, null, 8, ["folderId", "folder", "projectId", "folders", "canSelectAll", "addChanger", "addIcon", "client"])) : M("", !0),
751
- e.showGroups ? (y(), C(Mt, {
751
+ e.showGroups ? (y(), k(Mt, {
752
752
  key: 1,
753
753
  groupId: l.value,
754
754
  "onUpdate:groupId": g[2] || (g[2] = (d) => l.value = d),
@@ -777,7 +777,7 @@ const Bt = /* @__PURE__ */ L({
777
777
  url: {}
778
778
  },
779
779
  setup(e) {
780
- const t = e, a = A();
780
+ const t = e, a = B();
781
781
  let o = [
782
782
  {
783
783
  href: `/project/keywords/${t.id}/`,
@@ -849,7 +849,7 @@ const Bt = /* @__PURE__ */ L({
849
849
  const r = P(() => t.right.includes("0") ? o.filter((l) => t.right[l.right] === "1") : o);
850
850
  return (l, n) => {
851
851
  const s = Ue("TopButton");
852
- return y(), C(p(xe), {
852
+ return y(), k(p(xe), {
853
853
  class: "top-projectSelectorSubmenu",
854
854
  notch: !1,
855
855
  pos: "2"
@@ -862,7 +862,7 @@ const Bt = /* @__PURE__ */ L({
862
862
  })
863
863
  ]),
864
864
  contentList: j(() => [
865
- (y(!0), T(D, null, ce(r.value, (c) => (y(), T("li", Vt, [
865
+ (y(!0), T(D, null, fe(r.value, (c) => (y(), T("li", Vt, [
866
866
  O("a", {
867
867
  href: c.href,
868
868
  title: c.title,
@@ -894,9 +894,9 @@ const Bt = /* @__PURE__ */ L({
894
894
  guestProjects: !1
895
895
  }, Rt = (e, t) => {
896
896
  const a = [], o = {
897
- scheduledUpdate: pe(A().Projects.Scheduled_update),
898
- manualUpdate: pe(A().Projects.Manual_update),
899
- guestProjects: pe(A().Projects.Guest_projects)
897
+ scheduledUpdate: pe(B().Projects.Scheduled_update),
898
+ manualUpdate: pe(B().Projects.Manual_update),
899
+ guestProjects: pe(B().Projects.Guest_projects)
900
900
  }, r = t ? {
901
901
  scheduledUpdate: !1,
902
902
  manualUpdate: !1,
@@ -939,30 +939,31 @@ const Bt = /* @__PURE__ */ L({
939
939
  he("on", "GREATER_THAN_EQUALS", [0])
940
940
  ],
941
941
  orders: [
942
- ge("user_id", "DESC", [a]),
943
- ge("on", "DESC"),
944
- ge("id", "DESC")
942
+ ae("user_id", "DESC", [a]),
943
+ ae("on", "DESC"),
944
+ ae("favorite", "DESC"),
945
+ ae("id", "DESC")
945
946
  ]
946
947
  }, l.options.onApiLoaded = (n, s, c) => {
947
948
  const f = s.data.limit === 100 && s.data.filters.length === 1 && s.data.offset === 0, I = s.data.limit === 100 && s.data.filters.length > 1 ? !0 : void 0;
948
949
  n.result = Nt(n.result, t, o, f, I), c?.(n, s);
949
950
  }, l;
950
- }, qt = (e) => e.gen("/add/projects_2/projects/"), se = "projects_total:", Ft = 1440 * 60 * 1e3, Wt = (e, t) => {
951
- localStorage.setItem(se + e, JSON.stringify({
951
+ }, qt = (e) => e.gen("/add/projects_2/projects/"), ue = "projects_total:", Ft = 1440 * 60 * 1e3, Wt = (e, t) => {
952
+ localStorage.setItem(ue + e, JSON.stringify({
952
953
  value: t,
953
954
  expiresAt: Date.now() + Ft
954
955
  }));
955
956
  }, Jt = (e) => {
956
- const t = localStorage.getItem(se + e);
957
+ const t = localStorage.getItem(ue + e);
957
958
  if (!t) return null;
958
959
  const { value: a, expiresAt: o } = JSON.parse(t);
959
- return Date.now() > o ? (localStorage.removeItem(se + e), null) : a;
960
+ return Date.now() > o ? (localStorage.removeItem(ue + e), null) : a;
960
961
  }, Ve = (e) => {
961
- localStorage.removeItem(se + e);
962
+ localStorage.removeItem(ue + e);
962
963
  }, Ht = { class: "top-projectSelector_itemText" }, zt = { class: "top-projectSelector_itemName" }, Yt = { class: "top-projectSelector_itemId" }, Qt = { key: 1 }, Xt = {
963
964
  key: 0,
964
965
  class: "top-comment"
965
- }, Le = 1e3, ko = /* @__PURE__ */ L({
966
+ }, Le = 1e3, Co = /* @__PURE__ */ L({
966
967
  __name: "projectSelector",
967
968
  props: /* @__PURE__ */ E({
968
969
  project: {},
@@ -976,13 +977,13 @@ const Bt = /* @__PURE__ */ L({
976
977
  client: {}
977
978
  }, {
978
979
  project: {
979
- default: { id: le, name: "" }
980
+ default: { id: ne, name: "" }
980
981
  },
981
982
  projectModifiers: {}
982
983
  }),
983
984
  emits: ["update:project"],
984
985
  setup(e, { expose: t }) {
985
- const a = A(), o = e, r = P(() => o.placeholder ?? a.Projects.Select_project), l = P(() => o.openerText ?? a.Common.Projects), n = w(e, "project");
986
+ const a = B(), o = e, r = P(() => o.placeholder ?? a.Projects.Select_project), l = P(() => o.openerText ?? a.Common.Projects), n = w(e, "project");
986
987
  n.value.name || (n.value.name = l.value);
987
988
  const s = () => {
988
989
  d.value === "api" && g.value?.resetCache(!0), I.value = void 0, Ve(o.userId);
@@ -1008,25 +1009,26 @@ const Bt = /* @__PURE__ */ L({
1008
1009
  return v;
1009
1010
  }, m = async () => {
1010
1011
  if (i.value) return;
1011
- const B = await u();
1012
- i.value = B?.total, d.value === "static" && (I.value = B?.result), i.value && Wt(o.userId, i.value);
1013
- }, q = async (B) => {
1012
+ const A = await u();
1013
+ i.value = A?.total, d.value === "static" && (I.value = A?.result), i.value && Wt(o.userId, i.value);
1014
+ }, q = async (A) => {
1014
1015
  const v = await f.changeParams({
1015
- url: B.name,
1016
- name: B.name
1016
+ url: A.name,
1017
+ name: A.name
1017
1018
  }).call();
1018
1019
  if (!v.errors) {
1019
1020
  if (I.value && d.value === "static") {
1020
1021
  const x = {
1021
1022
  id: Number(v.result),
1022
- url: B.name,
1023
- name: B.name,
1024
1023
  user_id: o.userId,
1024
+ name: A.name,
1025
+ url: A.name,
1025
1026
  on: 0,
1026
1027
  right: "11111111111111111111",
1027
1028
  listItemProps: {
1028
1029
  class: "top-projectSelector_item",
1029
- href: o.addLinksToProjects ? He(Number(v.result)) : void 0
1030
+ href: o.addLinksToProjects ? He(Number(v.result)) : void 0,
1031
+ title: A.name
1030
1032
  }
1031
1033
  };
1032
1034
  I.value?.unshift(x), Ve(o.userId);
@@ -1035,14 +1037,14 @@ const Bt = /* @__PURE__ */ L({
1035
1037
  }
1036
1038
  }, N = async () => {
1037
1039
  if (I.value || d.value !== "static") return;
1038
- const B = await u();
1039
- I.value = B?.result;
1040
+ const A = await u();
1041
+ I.value = A?.result;
1040
1042
  };
1041
1043
  return ze(async () => {
1042
1044
  await m(), n.value.name || (n.value.name = l.value);
1043
- }), (B, v) => {
1045
+ }), (A, v) => {
1044
1046
  const x = Ue("TopButton");
1045
- return d.value ? (y(), C(Ce, {
1047
+ return d.value ? (y(), k(ke, {
1046
1048
  key: 0,
1047
1049
  ref_key: "refSelector",
1048
1050
  ref: g,
@@ -1050,7 +1052,7 @@ const Bt = /* @__PURE__ */ L({
1050
1052
  modelValue: n.value,
1051
1053
  "onUpdate:modelValue": v[1] || (v[1] = (h) => n.value = h),
1052
1054
  items: I.value,
1053
- title: B.$i18n.Projects.Search_projects,
1055
+ title: A.$i18n.Projects.Search_projects,
1054
1056
  modificator: "projectSelector",
1055
1057
  placeholder: r.value,
1056
1058
  hasCloserBtn: "",
@@ -1059,7 +1061,6 @@ const Bt = /* @__PURE__ */ L({
1059
1061
  useCache: "",
1060
1062
  appendSearchToResult: "",
1061
1063
  appendSearchToResultCond: p(we),
1062
- closeAfterAppend: !1,
1063
1064
  buttonProps: e.buttonProps,
1064
1065
  openerShortcut: e.openerShortcut,
1065
1066
  onAppendItem: q,
@@ -1071,7 +1072,7 @@ const Bt = /* @__PURE__ */ L({
1071
1072
  O("span", zt, b(p(ut)(h.name, 25)), 1),
1072
1073
  O("span", Yt, " id " + b(h.id), 1)
1073
1074
  ]),
1074
- B.$core.state.isMobile ? M("", !0) : (y(), C(x, {
1075
+ A.$core.state.isMobile ? M("", !0) : (y(), k(x, {
1075
1076
  key: 0,
1076
1077
  class: "top-projectSelector_itemLink",
1077
1078
  href: p(Me)(h.url),
@@ -1087,7 +1088,7 @@ const Bt = /* @__PURE__ */ L({
1087
1088
  url: p(Me)(h.url)
1088
1089
  }, null, 8, ["id", "right", "url"])
1089
1090
  ], 64)) : (y(), T("div", Qt, [
1090
- p(we)(h.name) ? (y(), T("div", Xt, b(B.$i18n.Projects.Add_project) + ": ", 1)) : M("", !0),
1091
+ p(we)(h.name) ? (y(), T("div", Xt, b(A.$i18n.Projects.Add_project) + ": ", 1)) : M("", !0),
1091
1092
  W(" " + b(h.name), 1)
1092
1093
  ]))
1093
1094
  ]),
@@ -1095,12 +1096,12 @@ const Bt = /* @__PURE__ */ L({
1095
1096
  }, 8, ["modelValue", "items", "title", "placeholder", "api", "apiSetSearchParams", "appendSearchToResultCond", "buttonProps", "openerShortcut"])) : M("", !0);
1096
1097
  };
1097
1098
  }
1098
- }), Ge = (e) => "-" + e, ee = (e) => e[0] === "-" ? e.substring(1) : e, ue = (e, t) => {
1099
+ }), Ge = (e) => "-" + e, ee = (e) => e[0] === "-" ? e.substring(1) : e, ce = (e, t) => {
1099
1100
  e = ee(e);
1100
1101
  const a = t.find((o) => o.id === e);
1101
1102
  if (a)
1102
1103
  return a;
1103
- }, Co = (e, t, a) => {
1104
+ }, ko = (e, t, a) => {
1104
1105
  t || (t = { id: e.id }), t.id = e.id, t.pos ??= "3", t.notch ??= !0, t.posBy ??= "fixed";
1105
1106
  const o = ct.genElPopupOpener("div", t);
1106
1107
  return o.classList.add("top-tagSelector"), e.useTopButton && o.classList.add("top-tagSelector-useTopButton", "top-button", "top-color_theme", "top-as-selector"), e.useTopButton || o.classList.add("top-tagSelector-custom"), e.mode === "filter" && o.classList.add("top-tagSelector-filter"), e.mode === "setter" && !e.filters && o.classList.add("top-tagSelector-setter_single"), e.mode === "setter" && e.filters && o.classList.add("top-tagSelector-setter_several"), o.onclick = (r) => {
@@ -1113,16 +1114,16 @@ const Bt = /* @__PURE__ */ L({
1113
1114
  payload: e.payload
1114
1115
  };
1115
1116
  Q(o, "topTagSelectorTarget", n), delete o.dataset.topPopupDisabled, Be(e.modelValue) || V(l, () => {
1116
- e.modelValue = l.value, ae(o, e, a);
1117
+ e.modelValue = l.value, le(o, e, a);
1117
1118
  }), o.click();
1118
- }, Be(e.modelValue) ? V(e.modelValue, () => ae(o, e, a)) : Q(o, "topTagSelectorRender", (r) => {
1119
+ }, Be(e.modelValue) ? V(e.modelValue, () => le(o, e, a)) : Q(o, "topTagSelectorRender", (r) => {
1119
1120
  e.modelValue = r;
1120
1121
  const l = Q(o, "topTagSelectorTarget");
1121
- l && (l.model.value = r), ae(o, e, a);
1122
- }), ae(o, e, a), o;
1122
+ l && (l.model.value = r), le(o, e, a);
1123
+ }), le(o, e, a), o;
1123
1124
  }, To = (e, t) => {
1124
1125
  Q(e, "topTagSelectorRender")?.(t);
1125
- }, ae = (e, t, a) => {
1126
+ }, le = (e, t, a) => {
1126
1127
  const o = p(t.modelValue);
1127
1128
  if (e.classList.toggle("top-tagSelector-selectedOne", !o.length || o.length === 1), e.classList.toggle("top-tagSelector-toTwoLine", o.length > 5), t.mode === "setter" && t.filters) {
1128
1129
  e.innerHTML = `<div>${a}</div>`;
@@ -1132,7 +1133,7 @@ const Bt = /* @__PURE__ */ L({
1132
1133
  const r = Ke({
1133
1134
  id: "all",
1134
1135
  colorId: "",
1135
- name: A().Common?.All_tags ?? "",
1136
+ name: B().Common?.All_tags ?? "",
1136
1137
  state: ""
1137
1138
  });
1138
1139
  e.append(r);
@@ -1140,8 +1141,8 @@ const Bt = /* @__PURE__ */ L({
1140
1141
  o.forEach((r) => {
1141
1142
  const l = Ke({
1142
1143
  id: ee(r),
1143
- colorId: ue(r, t.tags)?.color_id ?? "",
1144
- name: ue(r, t.tags)?.name ?? "",
1144
+ colorId: ce(r, t.tags)?.color_id ?? "",
1145
+ name: ce(r, t.tags)?.name ?? "",
1145
1146
  state: ee(r) === r ? "selected" : "excluded"
1146
1147
  });
1147
1148
  e.append(l);
@@ -1254,7 +1255,7 @@ const Bt = /* @__PURE__ */ L({
1254
1255
  let d = "selected";
1255
1256
  a.canExclude && (g.ctrlKey || g.metaKey) && (d = "excluded"), a.state == d && (d = ""), d === "" && o("unselect"), d === "selected" && o("select"), d === "excluded" && o("exclude");
1256
1257
  };
1257
- return (g, d) => (y(), C(ke, {
1258
+ return (g, d) => (y(), k(Ce, {
1258
1259
  class: te({
1259
1260
  "top-tagSelector_tagListItem": !0,
1260
1261
  "top-tagSelector_tagListItem-inEdit": s.value,
@@ -1330,9 +1331,9 @@ const Bt = /* @__PURE__ */ L({
1330
1331
  };
1331
1332
  return (n, s) => {
1332
1333
  const c = Qe("top-data");
1333
- return y(), C(lt, { id: e.id }, {
1334
+ return y(), k(lt, { id: e.id }, {
1334
1335
  default: j(() => [
1335
- Xe((y(), C(Ze(p(o)), Ne({
1336
+ Xe((y(), k(Ze(p(o)), Ne({
1336
1337
  class: {
1337
1338
  "top-tagSelector": !0,
1338
1339
  "top-tagSelector-useTopButton": t.useTopButton,
@@ -1348,7 +1349,7 @@ const Bt = /* @__PURE__ */ L({
1348
1349
  styling: e.styling
1349
1350
  }, n.$attrs), {
1350
1351
  [p(r)]: j(() => [
1351
- !a.value.length && e.mode === "filter" ? (y(), C(Se, {
1352
+ !a.value.length && e.mode === "filter" ? (y(), k(Se, {
1352
1353
  key: 0,
1353
1354
  id: "all",
1354
1355
  colorId: "",
@@ -1357,10 +1358,10 @@ const Bt = /* @__PURE__ */ L({
1357
1358
  }, null, 8, ["name"])) : M("", !0),
1358
1359
  e.mode === "setter" && e.filters ? (y(), T("div", oo, [
1359
1360
  et(n.$slots, "default")
1360
- ])) : (y(!0), T(D, { key: 2 }, ce(a.value, (f) => (y(), C(Se, {
1361
+ ])) : (y(!0), T(D, { key: 2 }, fe(a.value, (f) => (y(), k(Se, {
1361
1362
  id: p(ee)(f),
1362
- colorId: p(ue)(f, e.tags)?.color_id ?? "",
1363
- name: p(ue)(f, e.tags)?.name ?? "",
1363
+ colorId: p(ce)(f, e.tags)?.color_id ?? "",
1364
+ name: p(ce)(f, e.tags)?.name ?? "",
1364
1365
  state: p(ee)(f) === f ? "selected" : "excluded"
1365
1366
  }, null, 8, ["id", "colorId", "name", "state"]))), 256))
1366
1367
  ]),
@@ -1399,7 +1400,7 @@ const Bt = /* @__PURE__ */ L({
1399
1400
  }),
1400
1401
  emits: /* @__PURE__ */ E(["selector", "setter", "tagsChanged"], ["update:modelValue", "update:tags"]),
1401
1402
  setup(e, { emit: t }) {
1402
- const a = A(), o = e, r = w(e, "modelValue"), l = w(e, "tags"), n = t, s = at((v, x) => {
1403
+ const a = B(), o = e, r = w(e, "modelValue"), l = w(e, "tags"), n = t, s = at((v, x) => {
1403
1404
  n(v, x);
1404
1405
  }, o.emitDelay);
1405
1406
  o.singleMode && !r.value.length && (r.value = [l.value[0].id]);
@@ -1428,13 +1429,13 @@ const Bt = /* @__PURE__ */ L({
1428
1429
  return v === "all" && !i.value.model.value.length ? "selected" : "";
1429
1430
  }, u = (v, x) => {
1430
1431
  const h = Ge(v);
1431
- let k = i.value.model.value.filter((G) => G !== v && G !== h);
1432
- x === "select" && k.push(v), x === "exclude" && k.push(h), i.value.mode === "setter" && i.value.targetId !== void 0 && o.requiredForSetter && (k.length || k.push("1"), k.length === 2 && i.value.model.value.length === 1 && i.value.model.value[0] === "1" && (k = k.filter((G) => G !== "1"))), o.singleMode && !i.value.filters && (k.length || (k = i.value.model.value), k.length > 1 && (k = [k[k.length - 1]])), k.sort((G, oe) => {
1432
+ let C = i.value.model.value.filter((G) => G !== v && G !== h);
1433
+ x === "select" && C.push(v), x === "exclude" && C.push(h), i.value.mode === "setter" && i.value.targetId !== void 0 && o.requiredForSetter && (C.length || C.push("1"), C.length === 2 && i.value.model.value.length === 1 && i.value.model.value[0] === "1" && (C = C.filter((G) => G !== "1"))), o.singleMode && !i.value.filters && (C.length || (C = i.value.model.value), C.length > 1 && (C = [C[C.length - 1]])), C.sort((G, oe) => {
1433
1434
  if (!o.tags) return 0;
1434
1435
  const J = o.tags.findIndex((z) => z.id === G), H = o.tags.findIndex((z) => z.id === oe);
1435
1436
  return J - H;
1436
- }), i.value.model.value = k, i.value.mode === "setter" && i.value.targetId !== void 0 && s("setter", {
1437
- tagsIds: k,
1437
+ }), i.value.model.value = C, i.value.mode === "setter" && i.value.targetId !== void 0 && s("setter", {
1438
+ tagsIds: C,
1438
1439
  targetId: i.value.targetId,
1439
1440
  payload: i.value.payload
1440
1441
  });
@@ -1465,18 +1466,18 @@ const Bt = /* @__PURE__ */ L({
1465
1466
  distance: 10,
1466
1467
  stop: function(x, h) {
1467
1468
  if (!l.value) return;
1468
- const k = $(h.item).parent().find("[data-tag_id]"), G = [];
1469
- k.each((oe, J) => {
1469
+ const C = $(h.item).parent().find("[data-tag_id]"), G = [];
1470
+ C.each((oe, J) => {
1470
1471
  if (!l.value) return;
1471
1472
  const H = $(J).attr("data-tag_id");
1472
1473
  G.push(H);
1473
1474
  }), l.value.sort((oe, J) => {
1474
- const H = G.findIndex((fe) => fe === oe.id), z = G.findIndex((fe) => fe === J.id);
1475
+ const H = G.findIndex((ge) => ge === oe.id), z = G.findIndex((ge) => ge === J.id);
1475
1476
  return H - z;
1476
1477
  }), s("tagsChanged", l.value);
1477
1478
  }
1478
1479
  });
1479
- }, B = (v) => {
1480
+ }, A = (v) => {
1480
1481
  Y.$?.ui.sortable && $(v.elPopup).data("ui-sortable") && $(v.elPopup).sortable("destroy");
1481
1482
  };
1482
1483
  return (v, x) => (y(), T(D, null, [
@@ -1493,11 +1494,11 @@ const Bt = /* @__PURE__ */ L({
1493
1494
  id: p(c),
1494
1495
  class: te(m.value),
1495
1496
  onOpen: x[4] || (x[4] = (h) => N(h)),
1496
- onClose: x[5] || (x[5] = (h) => B(h)),
1497
+ onClose: x[5] || (x[5] = (h) => A(h)),
1497
1498
  "transition-duration": 50
1498
1499
  }, ot({
1499
1500
  contentList: j(() => [
1500
- p(i).mode === "filter" && !e.singleMode ? (y(), C(Oe, {
1501
+ p(i).mode === "filter" && !e.singleMode ? (y(), k(Oe, {
1501
1502
  key: 0,
1502
1503
  id: "all",
1503
1504
  colorId: "",
@@ -1505,7 +1506,7 @@ const Bt = /* @__PURE__ */ L({
1505
1506
  state: p(i).model.value.length ? "" : "selected",
1506
1507
  onSelect: x[3] || (x[3] = (h) => p(i).model.value = [])
1507
1508
  }, null, 8, ["name", "state"])) : M("", !0),
1508
- (y(!0), T(D, null, ce(l.value, (h) => (y(), C(Oe, {
1509
+ (y(!0), T(D, null, fe(l.value, (h) => (y(), k(Oe, {
1509
1510
  key: h.id,
1510
1511
  id: h.id,
1511
1512
  colorId: h.color_id,
@@ -1514,14 +1515,14 @@ const Bt = /* @__PURE__ */ L({
1514
1515
  canExclude: p(i).mode === "filter" && !e.singleMode,
1515
1516
  editable: e.tagsEditable,
1516
1517
  disabled: g.value && d(h.id) === "",
1517
- onUnselect: (k) => u(h.id, "unselect"),
1518
- onSelect: (k) => u(h.id, "select"),
1519
- onExclude: (k) => u(h.id, "exclude"),
1520
- "onUpdate:name": (k) => {
1521
- h.name = k, p(s)("tagsChanged", l.value);
1518
+ onUnselect: (C) => u(h.id, "unselect"),
1519
+ onSelect: (C) => u(h.id, "select"),
1520
+ onExclude: (C) => u(h.id, "exclude"),
1521
+ "onUpdate:name": (C) => {
1522
+ h.name = C, p(s)("tagsChanged", l.value);
1522
1523
  }
1523
1524
  }, null, 8, ["id", "colorId", "name", "state", "canExclude", "editable", "disabled", "onUnselect", "onSelect", "onExclude", "onUpdate:name"]))), 128)),
1524
- e.tagsEditable && l.value.length < e.tagsMax && l.value.length < 20 ? (y(), C(ke, {
1525
+ e.tagsEditable && l.value.length < e.tagsMax && l.value.length < 20 ? (y(), k(Ce, {
1525
1526
  key: 1,
1526
1527
  "data-top-icon": "",
1527
1528
  onClick: F(q, ["stop"])
@@ -1577,14 +1578,14 @@ const Bt = /* @__PURE__ */ L({
1577
1578
  export {
1578
1579
  yo as TopCompetitorSelector,
1579
1580
  xo as TopGroupSelector,
1580
- ko as TopProjectSelector,
1581
+ Co as TopProjectSelector,
1581
1582
  So as TopRegionSelector,
1582
1583
  jo as TopTagSelector,
1583
1584
  ao as TopTagSelectorPopupOpener,
1584
1585
  Se as TopTagSelectorTagIcon,
1585
1586
  St as dialogRegionSelector,
1586
1587
  It as findRegion,
1587
- Co as genElTopTagSelectorPopupOpener,
1588
+ ko as genElTopTagSelectorPopupOpener,
1588
1589
  Fe as genSearcherByKey,
1589
1590
  To as renderElTopTagSelectorPopupOpener,
1590
1591
  Io as useItemsFromCompetitors