@topvisor/ui 1.4.3-fixGroupSelector.2 → 1.4.3-fixGroupSelector.5
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/{lazy-40pjr8cZ.es.js → lazy-BJRCrEiD.es.js} +5 -1
- package/.chunks/lazy-BJRCrEiD.es.js.map +1 -0
- package/.chunks/lazy-DZK9LT7a.amd.js +2 -0
- package/.chunks/lazy-DZK9LT7a.amd.js.map +1 -0
- package/api/index.amd.js +1 -1
- package/api/index.js +6 -6
- package/package.json +2 -2
- package/project/project.amd.js +1 -1
- package/project/project.amd.js.map +1 -1
- package/project/project.js +1 -1
- package/src/components/project/groupSelector/groups/groups.vue.d.ts +2 -4
- package/src/components/project/projectSelector/projectSelector.vue.d.ts +2 -4
- package/.chunks/lazy-40pjr8cZ.es.js.map +0 -1
- package/.chunks/lazy-DSFLxvj4.amd.js +0 -2
- package/.chunks/lazy-DSFLxvj4.amd.js.map +0 -1
|
@@ -27,6 +27,10 @@ const l = async (a, t, r) => {
|
|
|
27
27
|
t.append(o, e);
|
|
28
28
|
break;
|
|
29
29
|
case Array.isArray(e):
|
|
30
|
+
if (e.length === 0) {
|
|
31
|
+
t.append(o + "[]", "");
|
|
32
|
+
break;
|
|
33
|
+
}
|
|
30
34
|
e.forEach((i, s) => {
|
|
31
35
|
c({ [o + "[" + s + "]"]: i }, t);
|
|
32
36
|
});
|
|
@@ -68,4 +72,4 @@ export {
|
|
|
68
72
|
l as postInWindow,
|
|
69
73
|
p as querySerializer
|
|
70
74
|
};
|
|
71
|
-
//# sourceMappingURL=lazy-
|
|
75
|
+
//# sourceMappingURL=lazy-BJRCrEiD.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lazy-BJRCrEiD.es.js","sources":["../../src/api/api/utils/lazy.ts"],"sourcesContent":["/**\n * Общие утилиты, которые должны грузиться в отложенном режиме\n *\n * Все такие утилиты являются асинхронными\n */\n\n/**\n * Выполнить post запрос в окне браузера\n *\n * @see Api.ClientRequest.callInNewWindow\n * @see Api.ClientRequest.callInSelfWindow\n */\nexport const postInWindow = async (url: string, data: Record<string, any>, target: '_blank' | '_self'): Promise<void> => {\n\tconst form = document.createElement('form');\n\tform.target = target;\n\tform.action = url;\n\tform.method = 'post';\n\n\tdataToForm(form, data);\n\n\tdocument.body.appendChild(form);\n\tform.submit();\n\tform.remove();\n};\n\n/**\n * Вставляет данные в HTML форму\n */\nexport const dataToForm = (elForm: HTMLFormElement, data: Record<string, any>): void => {\n\tconst formData = formDataSerializer(data);\n\n\tfor (const [key, value] of formData.entries()) {\n\t\tif (value instanceof File) {\n\t\t\tthrow new Error('Files can not be manual set in `HTMLFormElement`');\n\t\t}\n\n\t\tconst input = document.createElement('input');\n\t\t// input.type = 'hidden';\n\t\tinput.name = key;\n\t\tinput.value = String(value);\n\t\telForm.appendChild(input);\n\t}\n};\n\n/**\n * Сериализация данных в объект FormData\n *\n * Для отправки файлов или генерации форм\n */\nexport const formDataSerializer = (data: Record<string, any>, formData: FormData = new FormData(), parentKey?: string): FormData => {\n\tfor (const [key, value] of Object.entries(data)) {\n\t\tif (value === undefined || value === null) continue;\n\n\t\tconst fieldKey = parentKey ? `${parentKey}[${key}]` : key;\n\n\t\tswitch (true) {\n\t\t\tcase value instanceof File:\n\t\t\t\tformData.append(fieldKey, value, value.name);\n\n\t\t\t\tbreak;\n\t\t\tcase value instanceof FileList:\n\t\t\t\tfor (let i = 0; i < value.length; i++) {\n\t\t\t\t\tconst file = value.item(i);\n\t\t\t\t\tif (file) {\n\t\t\t\t\t\tformData.append(fieldKey + '[]', file, file.name);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\tcase value instanceof Blob:\n\t\t\t\tformData.append(fieldKey, value);\n\n\t\t\t\tbreak;\n\t\t\tcase Array.isArray(value):\n\t\t\t\tif (value.length === 0) {\n\t\t\t\t\tformData.append(fieldKey + '[]', '');\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tvalue.forEach((item, key) => {\n\t\t\t\t\tformDataSerializer({ [fieldKey + '[' + key + ']']: item }, formData);\n\t\t\t\t});\n\n\t\t\t\tbreak;\n\t\t\tcase value instanceof Date:\n\t\t\t\t// для совместимости с JSON.stringify();\n\t\t\t\tformData.append(fieldKey, value.toISOString());\n\n\t\t\t\tbreak;\n\t\t\tcase typeof value === 'object':\n\t\t\t\tformDataSerializer(value, formData, fieldKey);\n\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tformData.append(fieldKey, String(value));\n\t\t}\n\t}\n\n\treturn formData;\n};\n\n/**\n * Сериализация данных для вставки в виде параметров в url\n */\nexport const querySerializer = (data: Record<string, unknown>): string => {\n\tconst searchParams = new URLSearchParams();\n\n\tconst appendParam = (path: string, currentValue: unknown): void => {\n\t\tif (currentValue == null) return;\n\n\t\tif (Array.isArray(currentValue)) {\n\t\t\tfor (const [key, value] of Object.entries(currentValue)) {\n\t\t\t\tappendParam(`${path}[${key}]`, value);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif (typeof currentValue === 'object') {\n\t\t\tfor (const [key, value] of Object.entries(currentValue as Record<string, unknown>)) {\n\t\t\t\tappendParam(`${path}[${key}]`, value);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tsearchParams.append(path, String(currentValue));\n\t};\n\n\tfor (const [key, value] of Object.entries(data)) {\n\t\tappendParam(key, value);\n\t}\n\n\treturn searchParams.toString();\n};\n"],"names":["postInWindow","url","data","target","form","dataToForm","elForm","formData","formDataSerializer","key","value","input","parentKey","fieldKey","file","item","querySerializer","searchParams","appendParam","path","currentValue"],"mappings":"AAYO,MAAMA,IAAe,OAAOC,GAAaC,GAA2BC,MAA8C;AACxH,QAAMC,IAAO,SAAS,cAAc,MAAM;AAC1C,EAAAA,EAAK,SAASD,GACdC,EAAK,SAASH,GACdG,EAAK,SAAS,QAEdC,EAAWD,GAAMF,CAAI,GAErB,SAAS,KAAK,YAAYE,CAAI,GAC9BA,EAAK,OAAA,GACLA,EAAK,OAAA;AACN,GAKaC,IAAa,CAACC,GAAyBJ,MAAoC;AACvF,QAAMK,IAAWC,EAAmBN,CAAI;AAExC,aAAW,CAACO,GAAKC,CAAK,KAAKH,EAAS,WAAW;AAC9C,QAAIG,aAAiB;AACpB,YAAM,IAAI,MAAM,kDAAkD;AAGnE,UAAMC,IAAQ,SAAS,cAAc,OAAO;AAE5C,IAAAA,EAAM,OAAOF,GACbE,EAAM,QAAQ,OAAOD,CAAK,GAC1BJ,EAAO,YAAYK,CAAK;AAAA,EACzB;AACD,GAOaH,IAAqB,CAACN,GAA2BK,IAAqB,IAAI,SAAA,GAAYK,MAAiC;AACnI,aAAW,CAACH,GAAKC,CAAK,KAAK,OAAO,QAAQR,CAAI,GAAG;AAChD,QAA2BQ,KAAU,KAAM;AAE3C,UAAMG,IAAWD,IAAY,GAAGA,CAAS,IAAIH,CAAG,MAAMA;AAEtD,YAAQ,IAAA;AAAA,MACP,KAAKC,aAAiB;AACrB,QAAAH,EAAS,OAAOM,GAAUH,GAAOA,EAAM,IAAI;AAE3C;AAAA,MACD,KAAKA,aAAiB;AACrB,iBAAS,IAAI,GAAG,IAAIA,EAAM,QAAQ,KAAK;AACtC,gBAAMI,IAAOJ,EAAM,KAAK,CAAC;AACzB,UAAII,KACHP,EAAS,OAAOM,IAAW,MAAMC,GAAMA,EAAK,IAAI;AAAA,QAElD;AAEA;AAAA,MACD,KAAKJ,aAAiB;AACrB,QAAAH,EAAS,OAAOM,GAAUH,CAAK;AAE/B;AAAA,MACD,KAAK,MAAM,QAAQA,CAAK;AACvB,YAAIA,EAAM,WAAW,GAAG;AACvB,UAAAH,EAAS,OAAOM,IAAW,MAAM,EAAE;AAEnC;AAAA,QACD;AAEA,QAAAH,EAAM,QAAQ,CAACK,GAAMN,MAAQ;AAC5B,UAAAD,EAAmB,EAAE,CAACK,IAAW,MAAMJ,IAAM,GAAG,GAAGM,EAAA,GAAQR,CAAQ;AAAA,QACpE,CAAC;AAED;AAAA,MACD,KAAKG,aAAiB;AAErB,QAAAH,EAAS,OAAOM,GAAUH,EAAM,YAAA,CAAa;AAE7C;AAAA,MACD,KAAK,OAAOA,KAAU;AACrB,QAAAF,EAAmBE,GAAOH,GAAUM,CAAQ;AAE5C;AAAA,MACD;AACC,QAAAN,EAAS,OAAOM,GAAU,OAAOH,CAAK,CAAC;AAAA,IAAA;AAAA,EAE1C;AAEA,SAAOH;AACR,GAKaS,IAAkB,CAACd,MAA0C;AACzE,QAAMe,IAAe,IAAI,gBAAA,GAEnBC,IAAc,CAACC,GAAcC,MAAgC;AAClE,QAAIA,KAAgB,MAEpB;AAAA,UAAI,MAAM,QAAQA,CAAY,GAAG;AAChC,mBAAW,CAACX,GAAKC,CAAK,KAAK,OAAO,QAAQU,CAAY;AACrD,UAAAF,EAAY,GAAGC,CAAI,IAAIV,CAAG,KAAKC,CAAK;AAErC;AAAA,MACD;AAEA,UAAI,OAAOU,KAAiB,UAAU;AACrC,mBAAW,CAACX,GAAKC,CAAK,KAAK,OAAO,QAAQU,CAAuC;AAChF,UAAAF,EAAY,GAAGC,CAAI,IAAIV,CAAG,KAAKC,CAAK;AAErC;AAAA,MACD;AAEA,MAAAO,EAAa,OAAOE,GAAM,OAAOC,CAAY,CAAC;AAAA;AAAA,EAC/C;AAEA,aAAW,CAACX,GAAKC,CAAK,KAAK,OAAO,QAAQR,CAAI;AAC7C,IAAAgB,EAAYT,GAAKC,CAAK;AAGvB,SAAOO,EAAa,SAAA;AACrB;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
define(["require","exports"],(function(b,s){"use strict";if(typeof l>"u")var l=window.Vue;const u=async(a,t,i)=>{const n=document.createElement("form");n.target=i,n.action=a,n.method="post",d(n,t),document.body.appendChild(n),n.submit(),n.remove()},d=(a,t)=>{const i=f(t);for(const[n,e]of i.entries()){if(e instanceof File)throw new Error("Files can not be manual set in `HTMLFormElement`");const o=document.createElement("input");o.name=n,o.value=String(e),a.appendChild(o)}},f=(a,t=new FormData,i)=>{for(const[n,e]of Object.entries(a)){if(e==null)continue;const o=i?`${i}[${n}]`:n;switch(!0){case e instanceof File:t.append(o,e,e.name);break;case e instanceof FileList:for(let r=0;r<e.length;r++){const c=e.item(r);c&&t.append(o+"[]",c,c.name)}break;case e instanceof Blob:t.append(o,e);break;case Array.isArray(e):if(e.length===0){t.append(o+"[]","");break}e.forEach((r,c)=>{f({[o+"["+c+"]"]:r},t)});break;case e instanceof Date:t.append(o,e.toISOString());break;case typeof e=="object":f(e,t,o);break;default:t.append(o,String(e))}}return t},p=a=>{const t=new URLSearchParams,i=(n,e)=>{if(e!=null){if(Array.isArray(e)){for(const[o,r]of Object.entries(e))i(`${n}[${o}]`,r);return}if(typeof e=="object"){for(const[o,r]of Object.entries(e))i(`${n}[${o}]`,r);return}t.append(n,String(e))}};for(const[n,e]of Object.entries(a))i(n,e);return t.toString()};s.dataToForm=d,s.formDataSerializer=f,s.postInWindow=u,s.querySerializer=p,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})}));
|
|
2
|
+
//# sourceMappingURL=lazy-DZK9LT7a.amd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lazy-DZK9LT7a.amd.js","sources":["../../src/api/api/utils/lazy.ts"],"sourcesContent":["/**\n * Общие утилиты, которые должны грузиться в отложенном режиме\n *\n * Все такие утилиты являются асинхронными\n */\n\n/**\n * Выполнить post запрос в окне браузера\n *\n * @see Api.ClientRequest.callInNewWindow\n * @see Api.ClientRequest.callInSelfWindow\n */\nexport const postInWindow = async (url: string, data: Record<string, any>, target: '_blank' | '_self'): Promise<void> => {\n\tconst form = document.createElement('form');\n\tform.target = target;\n\tform.action = url;\n\tform.method = 'post';\n\n\tdataToForm(form, data);\n\n\tdocument.body.appendChild(form);\n\tform.submit();\n\tform.remove();\n};\n\n/**\n * Вставляет данные в HTML форму\n */\nexport const dataToForm = (elForm: HTMLFormElement, data: Record<string, any>): void => {\n\tconst formData = formDataSerializer(data);\n\n\tfor (const [key, value] of formData.entries()) {\n\t\tif (value instanceof File) {\n\t\t\tthrow new Error('Files can not be manual set in `HTMLFormElement`');\n\t\t}\n\n\t\tconst input = document.createElement('input');\n\t\t// input.type = 'hidden';\n\t\tinput.name = key;\n\t\tinput.value = String(value);\n\t\telForm.appendChild(input);\n\t}\n};\n\n/**\n * Сериализация данных в объект FormData\n *\n * Для отправки файлов или генерации форм\n */\nexport const formDataSerializer = (data: Record<string, any>, formData: FormData = new FormData(), parentKey?: string): FormData => {\n\tfor (const [key, value] of Object.entries(data)) {\n\t\tif (value === undefined || value === null) continue;\n\n\t\tconst fieldKey = parentKey ? `${parentKey}[${key}]` : key;\n\n\t\tswitch (true) {\n\t\t\tcase value instanceof File:\n\t\t\t\tformData.append(fieldKey, value, value.name);\n\n\t\t\t\tbreak;\n\t\t\tcase value instanceof FileList:\n\t\t\t\tfor (let i = 0; i < value.length; i++) {\n\t\t\t\t\tconst file = value.item(i);\n\t\t\t\t\tif (file) {\n\t\t\t\t\t\tformData.append(fieldKey + '[]', file, file.name);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\tcase value instanceof Blob:\n\t\t\t\tformData.append(fieldKey, value);\n\n\t\t\t\tbreak;\n\t\t\tcase Array.isArray(value):\n\t\t\t\tif (value.length === 0) {\n\t\t\t\t\tformData.append(fieldKey + '[]', '');\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tvalue.forEach((item, key) => {\n\t\t\t\t\tformDataSerializer({ [fieldKey + '[' + key + ']']: item }, formData);\n\t\t\t\t});\n\n\t\t\t\tbreak;\n\t\t\tcase value instanceof Date:\n\t\t\t\t// для совместимости с JSON.stringify();\n\t\t\t\tformData.append(fieldKey, value.toISOString());\n\n\t\t\t\tbreak;\n\t\t\tcase typeof value === 'object':\n\t\t\t\tformDataSerializer(value, formData, fieldKey);\n\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tformData.append(fieldKey, String(value));\n\t\t}\n\t}\n\n\treturn formData;\n};\n\n/**\n * Сериализация данных для вставки в виде параметров в url\n */\nexport const querySerializer = (data: Record<string, unknown>): string => {\n\tconst searchParams = new URLSearchParams();\n\n\tconst appendParam = (path: string, currentValue: unknown): void => {\n\t\tif (currentValue == null) return;\n\n\t\tif (Array.isArray(currentValue)) {\n\t\t\tfor (const [key, value] of Object.entries(currentValue)) {\n\t\t\t\tappendParam(`${path}[${key}]`, value);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif (typeof currentValue === 'object') {\n\t\t\tfor (const [key, value] of Object.entries(currentValue as Record<string, unknown>)) {\n\t\t\t\tappendParam(`${path}[${key}]`, value);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tsearchParams.append(path, String(currentValue));\n\t};\n\n\tfor (const [key, value] of Object.entries(data)) {\n\t\tappendParam(key, value);\n\t}\n\n\treturn searchParams.toString();\n};\n"],"names":["postInWindow","url","data","target","form","dataToForm","elForm","formData","formDataSerializer","key","value","input","parentKey","fieldKey","i","file","key2","item","querySerializer","searchParams","appendParam","path","currentValue"],"mappings":"0FAYO,MAAAA,EAAA,MAAAC,EAAAC,EAAAC,IAAA,wCAENC,EAAA,OAAAD,EACAC,EAAA,OAAAH,EACAG,EAAA,OAAA,OAEAC,EAAAD,EAAAF,CAAA,EAEA,SAAA,KAAA,YAAAE,CAAA,uBAGD,EAKOC,EAAA,CAAAC,EAAAJ,IAAA,CACN,MAAAK,EAAAC,EAAAN,CAAA,EAEA,SAAA,CAAAO,EAAAC,CAAA,IAAAH,EAAA,QAAA,EAAA,CACC,GAAAG,aAAA,KACC,MAAA,IAAA,MAAA,kDAAA,0CAKDC,EAAA,KAAAF,EACAE,EAAA,MAAA,OAAAD,CAAA,EACAJ,EAAA,YAAAK,CAAA,EAEF,EAOOH,EAAA,CAAAN,EAAAK,EAAA,IAAA,SAAAK,IAAA,CACN,SAAA,CAAAH,EAAAC,CAAA,IAAA,OAAA,QAAAR,CAAA,EAAA,qBAGC,MAAAW,EAAAD,EAAA,GAAAA,CAAA,IAAAH,CAAA,IAAAA,EAEA,OAAA,GAAA,8EAME,QAAAK,EAAA,EAAAA,EAAAJ,EAAA,OAAAI,IAAA,sBAGEP,EAAA,OAAAM,EAAA,KAAAE,EAAAA,EAAA,IAAA,+BAMFR,EAAA,OAAAM,EAAAH,CAAA,QAEA,KAAA,MAAA,QAAAA,CAAA,EAEA,GAAAA,EAAA,SAAA,EAAA,6CAOCF,EAAA,CAAA,CAAAK,EAAA,IAAAG,EAAA,GAAA,EAAAC,CAAA,EAAAV,CAAA,CAAmE,CAAA,iEAQpE,KAAA,OAAAG,GAAA,SAEAF,EAAAE,EAAAH,EAAAM,CAAA,qCAIuC,EAI1C,OAAAN,CACD,EAKOW,EAAAhB,GAAA,CACN,MAAAiB,EAAA,IAAA,gBAEAC,EAAA,CAAAC,EAAAC,IAAA,CACC,GAAAA,GAAA,KAEA,IAAA,MAAA,QAAAA,CAAA,EAAA,CACC,SAAA,CAAAb,EAAAC,CAAA,IAAA,OAAA,QAAAY,CAAA,EACCF,EAAA,GAAAC,CAAA,IAAAZ,CAAA,IAAAC,CAAA,SAKF,GAAA,OAAAY,GAAA,SAAA,CACC,SAAA,CAAAb,EAAAC,CAAA,IAAA,OAAA,QAAAY,CAAA,EACCF,EAAA,GAAAC,CAAA,IAAAZ,CAAA,IAAAC,CAAA,+BAK4C,EAG/C,SAAA,CAAAD,EAAAC,CAAA,IAAA,OAAA,QAAAR,CAAA,EACCkB,EAAAX,EAAAC,CAAA,EAGD,OAAAS,EAAA,SAAA,CACD"}
|
package/api/index.amd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define(["require","exports","../.chunks/field-Cvv0SRcJ.amd"],(function(h,u,O){"use strict";if(typeof I>"u")var I=window.Vue;const k=(o={})=>(o={...o},o.loadingEl??=globalThis.document?.body,o.loadingShowSpinner??=!0,o.method??="POST",o.accept??="application/json",o),E=(o,t,s)=>({result:o,errors:t,response:s}),C=o=>o.startsWith("/system_2/common/"),A=(o=!1,t=window.location.href,s)=>{const{protocol:e,hostname:n,port:r}=new URL(t),i=n.split("."),p=!o||i.length<=2||/^[\d.]+$/.test(n)||n==="localhost"?n:i.slice(-2).join(".");return`${e}//${p}${r?`:${r}`:""}`},T=o=>Object.values(o).some(t=>t instanceof FileList||t instanceof File||t instanceof Blob||Array.isArray(t)&&t.some(s=>s instanceof File||s instanceof Blob)),z=(o,t,s)=>{const e={inLoading:!1,path:t,url:o.options.baseUrl+t,options:k(o.options.requestOptions),mockerOptions:void 0,params:{},getInLoading:()=>e.inLoading,setParams:n=>(e.params={...n},e),changeParams:n=>(Object.assign(e.params,n),e),setOptions:n=>(Object.assign(e.options,n),e),setMocker:n=>(e.mockerOptions=n,e),call:async n=>e.exec(n),callFetch:async(n,r)=>e.exec(r,n),callInNewWindow:async n=>{const r=e.genData(n),i=o.genMiddlewareCtx(e,r);o.options.onPrepareData?.(r,i);const{postInWindow:p}=await new Promise((a,w)=>h(["../.chunks/lazy-
|
|
1
|
+
define(["require","exports","../.chunks/field-Cvv0SRcJ.amd"],(function(h,u,O){"use strict";if(typeof I>"u")var I=window.Vue;const k=(o={})=>(o={...o},o.loadingEl??=globalThis.document?.body,o.loadingShowSpinner??=!0,o.method??="POST",o.accept??="application/json",o),E=(o,t,s)=>({result:o,errors:t,response:s}),C=o=>o.startsWith("/system_2/common/"),A=(o=!1,t=window.location.href,s)=>{const{protocol:e,hostname:n,port:r}=new URL(t),i=n.split("."),p=!o||i.length<=2||/^[\d.]+$/.test(n)||n==="localhost"?n:i.slice(-2).join(".");return`${e}//${p}${r?`:${r}`:""}`},T=o=>Object.values(o).some(t=>t instanceof FileList||t instanceof File||t instanceof Blob||Array.isArray(t)&&t.some(s=>s instanceof File||s instanceof Blob)),z=(o,t,s)=>{const e={inLoading:!1,path:t,url:o.options.baseUrl+t,options:k(o.options.requestOptions),mockerOptions:void 0,params:{},getInLoading:()=>e.inLoading,setParams:n=>(e.params={...n},e),changeParams:n=>(Object.assign(e.params,n),e),setOptions:n=>(Object.assign(e.options,n),e),setMocker:n=>(e.mockerOptions=n,e),call:async n=>e.exec(n),callFetch:async(n,r)=>e.exec(r,n),callInNewWindow:async n=>{const r=e.genData(n),i=o.genMiddlewareCtx(e,r);o.options.onPrepareData?.(r,i);const{postInWindow:p}=await new Promise((a,w)=>h(["../.chunks/lazy-DZK9LT7a.amd"],a,w));p(e.url,r,"_blank")},callInSelfWindow:async n=>{const r=e.genData(n),i=o.genMiddlewareCtx(e,r);o.options.onPrepareData?.(r,i);const{postInWindow:p}=await new Promise((a,w)=>h(["../.chunks/lazy-DZK9LT7a.amd"],a,w));p(e.url,r,"_self")},genData:(n,r)=>{const i={...e.params};if(delete i.fetch_style,n){let p=[...n];s&&(p=p.filter(a=>s.includes(a))),i.fields=p}else s&&(i.fields=s);return r&&(i.fetch_style=r),i},abortByFingerprint:()=>{if(!e.options.checkFingerprint)return;const n=e.path+e.options.checkFingerprint;o.abortControllers[n]?.abort(new DOMException(`Stopped previous request by fingerprint: ${e.options.checkFingerprint}`,"AbortError"));const r=new AbortController;return o.abortControllers[n]=r,r.signal},async exec(n,r){const i=o.options.Request,p=o.options.fetch,a=e.genData(n,r),w=o.genMiddlewareCtx(e,a);o.options.onPrepareData?.(a,w);const P=T(a);if(P&&e.options.method!=="POST")throw new Error("Files can be sent only in POST requests");let q=e.url,S;if(P){if(e.options.method!=="POST")throw new Error("Files can be sent only in POST requests");const{formDataSerializer:l}=await new Promise((g,y)=>h(["../.chunks/lazy-DZK9LT7a.amd"],g,y));S=l(a)}else e.options.method!=="POST"?q+="?"+await o.options.querySerializer(a):S=o.options.bodySerializer(a);let F=e.abortByFingerprint();if(e.mockerOptions){const{genMockResponse:l}=await new Promise((g,y)=>h(["../.chunks/index-DLUtoTUg.amd"],g,y));return await l(e.mockerOptions,n,a,F)}const j={...o.options,method:e.options.method,body:S,signal:F};let m=new i(q,j);m.headers.set("x-request-id",w.id),m.headers.set("accept",e.options.accept),P||m.headers.set("content-type","application/json");const f={...w,request:m};e.inLoading=!0,e.options.onLoading?.(e.inLoading,f);let c;const b=await o.middlewareOnRequest(m,f);if(b instanceof Response?c=b:b instanceof i&&(m=b),!c)try{c=await p(m)}catch(l){c=await o.middlewareOnError(l,f)}finally{e.inLoading=!1,e.options.onLoading?.(e.inLoading,f)}c=await o.middlewareOnResponse(c,f);let d,x,R;try{const l=c.headers.get("content-type")?.includes("application/json");x=await c.text(),this.options.accept==="application/json"||l?d=JSON.parse(x):o.useExt?d=E(x,void 0,c):d=x}catch(l){if((l instanceof SyntaxError||l instanceof TypeError)&&(R=l,R.responseText=x),o.useExt&&R){let g=c.status,y=c.statusText;g===200&&(g=1e4,y="Error API response"),d=E(null,[{code:g,string:y}],c),o.options.useApiConsole&&console.error(l)}else throw l}return o.useExt&&(d.response=c,d&&e.options.onApiLoaded?.(d,f,o.options.requestOptions?.onApiLoaded),d?.errors&&(o.options.useApiConsole&&console.warn(new Error("API error"),{res:d}),e.options.onApiError?.(d,{...f,formatError:R},o.options.requestOptions?.onApiError)),d?.messages&&e.options.onApiMessage?.(d,f)),d}};return e};class D{options;useExt;middlewares=[];mokerByPath=new Map;abortControllers={};constructor(t={},s){t.requestOptions=k(t.requestOptions),t.useApiConsole??=!0,t.fetch??=globalThis.fetch,t.Request??=globalThis.Request,t.querySerializer??=async e=>{const{querySerializer:n}=await new Promise((r,i)=>h(["../.chunks/lazy-DZK9LT7a.amd"],r,i));return n(e)},t.bodySerializer??=e=>typeof e=="string"?e:JSON.stringify(e),this.options=t,this.useExt=s}generateUUID(){return crypto?.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{const s=Math.random()*16|0;return(t==="x"?s:s&3|8).toString(16)})}use(t){this.middlewares.push(t)}gen(t,s){return z(this,t,s)}genAny(t,s){return this.gen(t,s)}genMiddlewareCtx(t,s){const e=this.generateUUID(),n=Object.freeze({baseUrl:this.options.baseUrl,querySerializer:this.options.querySerializer,bodySerializer:this.options.bodySerializer,Request:this.options.Request,fetch:this.options.fetch});return{useExt:this.useExt,requestOptions:t.options,data:s,middlewareData:{},options:n,schemaPath:t.path,id:e}}async middlewareOnRequest(t,s){for(const e of this.middlewares){const n=await e.onRequest?.({...s,request:t});if(n)if(n instanceof Request)t=n;else{if(n instanceof Response)return n;throw new Error("onRequest: must return new Request() or Response() when modifying the request")}}return t}async middlewareOnError(t,s){let e=t;for(const n of this.middlewares){const r=await n.onError?.({...s,error:e});if(r){if(r instanceof Response)return r;if(r instanceof Error){e=r;continue}throw new Error("onError: must return new Response() or instance of Error")}}throw e}async middlewareOnResponse(t,s){for(const e of this.middlewares){const n=await e.onResponse?.({...s,response:t});if(n){if(!(n instanceof Response))throw new Error("onResponse: must return new Response() when modifying the response");t=n}}return t}setMocker(t,s){this.mokerByPath.set(t,s),this.genOriginal||(this.genOriginal=this.gen.bind(this),this.gen=(e,n)=>{const r=this.genOriginal(e,n),i=this.mokerByPath.get(e);return i&&r.setMocker(i),r})}}const M=async(...o)=>{const{postInWindow:t}=await new Promise((s,e)=>h(["../.chunks/lazy-DZK9LT7a.amd"],s,e));return t(...o)},U=async(...o)=>{const{dataToForm:t}=await new Promise((s,e)=>h(["../.chunks/lazy-DZK9LT7a.amd"],s,e));return t(...o)},L=(o={},t)=>new D(o,t);u.genFieldFilter=O.genFieldFilter,u.genFieldOrder=O.genFieldOrder,u.createClient=L,u.dataToForm=U,u.genExtRes=E,u.getBaseDomainUrl=A,u.isPublicAPI=C,u.postInWindow=M,Object.defineProperty(u,Symbol.toStringTag,{value:"Module"})}));
|
|
2
2
|
//# sourceMappingURL=index.amd.js.map
|
package/api/index.js
CHANGED
|
@@ -27,13 +27,13 @@ const O = (o = {}) => (o = { ...o }, o.loadingEl ??= globalThis.document?.body,
|
|
|
27
27
|
callInNewWindow: async (r) => {
|
|
28
28
|
const n = e.genData(r), i = o.genMiddlewareCtx(e, n);
|
|
29
29
|
o.options.onPrepareData?.(n, i);
|
|
30
|
-
const { postInWindow: d } = await import("../.chunks/lazy-
|
|
30
|
+
const { postInWindow: d } = await import("../.chunks/lazy-BJRCrEiD.es.js");
|
|
31
31
|
d(e.url, n, "_blank");
|
|
32
32
|
},
|
|
33
33
|
callInSelfWindow: async (r) => {
|
|
34
34
|
const n = e.genData(r), i = o.genMiddlewareCtx(e, n);
|
|
35
35
|
o.options.onPrepareData?.(n, i);
|
|
36
|
-
const { postInWindow: d } = await import("../.chunks/lazy-
|
|
36
|
+
const { postInWindow: d } = await import("../.chunks/lazy-BJRCrEiD.es.js");
|
|
37
37
|
d(e.url, n, "_self");
|
|
38
38
|
},
|
|
39
39
|
genData: (r, n) => {
|
|
@@ -67,7 +67,7 @@ const O = (o = {}) => (o = { ...o }, o.loadingEl ??= globalThis.document?.body,
|
|
|
67
67
|
if (x) {
|
|
68
68
|
if (e.options.method !== "POST")
|
|
69
69
|
throw new Error("Files can be sent only in POST requests");
|
|
70
|
-
const { formDataSerializer: p } = await import("../.chunks/lazy-
|
|
70
|
+
const { formDataSerializer: p } = await import("../.chunks/lazy-BJRCrEiD.es.js");
|
|
71
71
|
y = p(l);
|
|
72
72
|
} else e.options.method !== "POST" ? R += "?" + await o.options.querySerializer(l) : y = o.options.bodySerializer(l);
|
|
73
73
|
let E = e.abortByFingerprint();
|
|
@@ -128,7 +128,7 @@ class I {
|
|
|
128
128
|
abortControllers = {};
|
|
129
129
|
constructor(t = {}, s) {
|
|
130
130
|
t.requestOptions = O(t.requestOptions), t.useApiConsole ??= !0, t.fetch ??= globalThis.fetch, t.Request ??= globalThis.Request, t.querySerializer ??= async (e) => {
|
|
131
|
-
const { querySerializer: r } = await import("../.chunks/lazy-
|
|
131
|
+
const { querySerializer: r } = await import("../.chunks/lazy-BJRCrEiD.es.js");
|
|
132
132
|
return r(e);
|
|
133
133
|
}, t.bodySerializer ??= (e) => typeof e == "string" ? e : JSON.stringify(e), this.options = t, this.useExt = s;
|
|
134
134
|
}
|
|
@@ -266,10 +266,10 @@ class I {
|
|
|
266
266
|
}
|
|
267
267
|
}
|
|
268
268
|
const T = async (...o) => {
|
|
269
|
-
const { postInWindow: t } = await import("../.chunks/lazy-
|
|
269
|
+
const { postInWindow: t } = await import("../.chunks/lazy-BJRCrEiD.es.js");
|
|
270
270
|
return t(...o);
|
|
271
271
|
}, D = async (...o) => {
|
|
272
|
-
const { dataToForm: t } = await import("../.chunks/lazy-
|
|
272
|
+
const { dataToForm: t } = await import("../.chunks/lazy-BJRCrEiD.es.js");
|
|
273
273
|
return t(...o);
|
|
274
274
|
}, M = (o = {}, t) => new I(o, t);
|
|
275
275
|
export {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@topvisor/ui",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.4.3-fixGroupSelector.
|
|
4
|
+
"version": "1.4.3-fixGroupSelector.5",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Topvisor UI-kit Vue",
|
|
7
7
|
"author": "Topvisor",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"@monaco-editor/loader": "^1.5.0",
|
|
29
29
|
"@rive-app/canvas-lite": "^2.30.4",
|
|
30
30
|
"pinia": "2.3.1",
|
|
31
|
-
"vue": "^3.5.
|
|
31
|
+
"vue": "^3.5.30"
|
|
32
32
|
},
|
|
33
33
|
"overrides": {
|
|
34
34
|
"storybook": "$storybook"
|
package/project/project.amd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define(["require","exports","vue","../.chunks/forms-DDNzqU6o.amd","../.chunks/popupHint.vue_vue_type_style_index_0_lang-CdQostog.amd","../.chunks/policy.vue_vue_type_style_index_0_lang-CR-aHxza.amd","../.chunks/utils-CWn_G7OO.amd","../utils/searchers.amd","../.chunks/core-DzDFXOdI.amd","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-BBix_8WK.amd","../.chunks/field-Cvv0SRcJ.amd","../utils/check.amd","../utils/string.amd","../utils/keyboard.amd","../utils/dom.amd","../popup/worker.amd","../require/css.amd!../assets/project.css"],(function(Te,w,e,S,b,E,Ee,Z,At,Vt,P,je,Me,Ae,N,Ve){"use strict";if(typeof e>"u")var e=window.Vue;const $e={class:"top-competitorSelector"},Pe={class:"top-ellipsis1"},be=e.defineComponent({__name:"competitorSelector",props:e.mergeModels({modelValue:{},items:{},showSelectAllItem:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=t,n=e.useModel(t,"modelValue"),a=e.computed(()=>{if(o.showSelectAllItem)return{icon:"",title:S.useI18n().Common.Select_all,value:"all",content:""}});return(r,l)=>(e.openBlock(),e.createElementBlock("div",$e,[e.unref(S.Core).state.isMobile?(e.openBlock(),e.createBlock(b._sfc_main,{key:0},{opener:e.withCtx(()=>[e.createVNode(S._sfc_main$1,{class:"top-competitorSelector_opener",color:"theme",icon:"",icon2:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.items.find(i=>i.value===n.value?.[0])?.content),1)]),_:1})]),contentList:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,i=>(e.openBlock(),e.createBlock(b._sfc_main$2,{class:e.normalizeClass({"top-active":n.value?.includes(i.value)}),"data-top-icon":i.icon,title:i.title,onClick:()=>n.value=[i.value]},{default:e.withCtx(()=>[e.createElementVNode("span",Pe,e.toDisplayString(i.content),1)]),_:2},1032,["class","data-top-icon","title","onClick"]))),256))]),_:1})):(e.openBlock(),e.createBlock(E._sfc_main$1,{key:1,modelValue:n.value,"onUpdate:modelValue":l[0]||(l[0]=i=>n.value=i),items:t.items,isMultiple:!0,styling:"bar",canBeEmptyMultiple:!1,selectAllItem:a.value},null,8,["modelValue","items","selectAllItem"]))]))}}),Ne=(t,o)=>e.computed(()=>e.toValue(t).filter(r=>r.on>=0||r.id===o).map(r=>({value:r.id,title:r.url+` [${r.id}]`,icon:r.id===e.toValue(o)?"":"",content:r.name}))),A=-1,y=-2,K=-1,Le={0:"Yandex",1:"Google",4:"YouTube",5:"Bing",7:"Seznam",8:"AppStore",9:"GoogleStore",20:"Yandex.com",21:"Yandex.com.tr"},de={key:y,name:"--",index:y},ce={key:y,name:"--",regions:[de],regionByIndex:new Map([[y,de]])},O={key:y,name:"Autoselect",index:y},ee={key:y,name:"Autoselect",regions:[O],regionByIndex:new Map([[y,O]])},se={countryCode:"00",depth:1,device:0,key:K,index:K,lang:"ru",name:"Without region"},Ge=()=>(O.name=S.useI18n().Common.Autoselect,O),Re=()=>(Ge(),ee.name=S.useI18n().Common.Autoselect,console.log(ee),ee),De=()=>(se.name=S.useI18n().Keywords.Without_region,se),te=(t=!1,o=!1,n=[])=>{let a;return t?a=Fe(n):a=ue(n),o&&a.set(y,Re()),a.size||a.set(y,ce),a},ue=(t,o=!0,n=[],a=!1)=>{const r=new Map;return t.forEach(l=>{if(!l.enabled||a&&typeof l.key=="number"&&l.key>1)return;const i={...l};i.regionByIndex=new Map,l.regions&&l.regions.forEach(d=>{if(o&&!d.enabled)return;const u={...d};i.regionByIndex.set(u.index,u)}),!i.regionByIndex.size&&n.length,(!l.regions||i.regionByIndex.size||n.length)&&r.set(i.key,i)}),n.forEach(l=>{if(r.has(l))return;const i={key:l,name:Le[l],regions:[],regionByIndex:new Map};r.set(i.key,i)}),r},Fe=t=>{const o=ue(t,!1,[0,1],!0);if(o.has(2)){const n=o.get(2);n&&(n.regionByIndex=new Map)}return o.forEach(n=>{if(!n.regionByIndex)return;const a={...De()};n.regionByIndex.set(a.index,a)}),o},me=(t,o,n=[])=>{const a=te(t,!1,n);let r;return a.forEach(l=>{if(!(o.searcher_key!==void 0&&o.searcher_key!=l.key)&&l.regions&&(l.regions.forEach(i=>{if(!r&&!(o.key!==void 0&&o.key!=i.key)&&!(o.index!==void 0&&o.index!=i.index)&&!(!t&&(o.lang!==void 0&&o.lang!=i.lang||o.device!==void 0&&o.device!=i.device)))return i.searcher_key=l.key,r=i,!1}),r))return!1}),r},fe=Ee.useAsyncTopDialog(()=>new Promise((t,o)=>Te(["../.chunks/dialog_regionSelectorRegions-CZ0tMVSq.amd"],t,o))),Ke=(t,o)=>{const n=S.useI18n(),a=e.ref(o.value.keys().next().value??y),r=e.computed(()=>{const l=new Map;if(o.value.forEach(i=>{let d={value:i.key,title:i.name};t.addSearcherIcon&&(d.icon=Z.getSearcherGIcon(i.key)),l.set(i.key,d)}),t.addCompare&&!l.has(y)){const i={value:"",title:"--------------------",disabled:!0};l.set(i.value,i);const d={value:A,title:n.Common.Compare};l.set(d.value,d)}return l});return{searcherKey:a,optionBySearcherKey:r}},Oe=(t,o)=>{const n=S.useI18n(),a=e.ref(y);t.modelValue.length===1&&(a.value=t.modelValue[0]),a.value===y&&(t.forFrequency?a.value=o.value?.regionByIndex.values().next().value?.key??y:a.value=o.value?.regionByIndex.keys().next().value??y);const r=e.computed(()=>{const l=new Map;return o.value.regionByIndex?.forEach(i=>{let d=i.name;if(t.forFrequency){const k={value:i.key,title:d};l.has(i.key)||l.set(i.key,k);return}i.device&&(d+=" ("+n.Common["Device_"+i.device]+")");const u=Z.getLangLabel(o.value.key||0,i.lang??"");u&&(d+=" / "+u);const g={value:i.index,title:d,icon:i.device?Z.getDeviceGIcon(i.device):void 0};l.set(i.index,g)}),l});return e.watch(r,(l,i)=>{if(t.onlySearcher||a.value!==void 0&&l.get(a.value))return;let d=l.keys().next().value;if(a.value===y||d===y){a.value=d;return}let u=i?.get(a.value)?.title||"",g=-1;for(const[k,c]of l.entries()){const f=c.title;if(typeof f!="string"||typeof k=="string")break;if(f===u){d=k;break}const s=new RegExp(` \\((${n.Common.Device_1}|${n.Common.Device_2})\\)`);let m=u,p=3;f.indexOf(m)===-1&&(m=u.replace(/^[^a-zа-я]/i,"").replace(s,""),p--),f.indexOf(m)===-1&&(m=u.replace(/ \/.*/,""),p--),f.indexOf(m)===-1&&(m=u.replace(/ \/.*/,""),m=m.replace(/^[^a-zа-я]/i,"").replace(s,""),p--),f.indexOf(m)!==-1&&(p<=g||(g=p,d=k))}a.value=d}),{regionIndex:a,optionByRegionIndex:r}},Ue=(t,o,n)=>{const a=e.ref([]),r=()=>{if(t.onlySearcher&&o.value){a.value=Array.from(o.value.keys());return}let i=[];if(t.modelValue.length>1)i=[...t.modelValue];else try{i=JSON.parse(localStorage.getItem("ui:project:regionSelector"+t.projectId+":regionsIndexes"))??[]}catch{}i.length&&(i=i.filter(d=>n.value.has(d))),i.length||(i=Array.from(n.value)),a.value=[...i]},l=()=>{a.value.length?localStorage.setItem("ui:project:regionSelector:"+t.projectId+":regionsIndexes",JSON.stringify(a.value)):localStorage.removeItem("ui:project:regionSelector:"+t.projectId+":regionsIndexes")};return e.watch(a,()=>{l()}),t.addCompare&&r(),{regionsIndexes:a}},qe=t=>{const o=e.computed(()=>te(t.forFrequency,t.autoRegion,t.searchers)),n=e.computed(()=>o.value.get(r.searcherKey.value)||ce),a=e.computed(()=>{const c=new Set;return o.value.forEach(f=>{f.regionByIndex.forEach(s=>{s.index!==K&&s.index!==y&&c.add(s.index)})}),c}),r=Ke(t,o),l=Oe(t,n),i=Ue(t,o,a);e.watch(o,()=>{if(t.onlySearcher?i.regionsIndexes.value=Array.from(o.value.keys()):i.regionsIndexes.value=i.regionsIndexes.value.filter(f=>a.value.has(f)),r.searcherKey.value===A)return;let c=o.value.keys().next().value;o.value.forEach(f=>{if(t.onlySearcher&&f.key===r.searcherKey.value){c=r.searcherKey.value;return}if(l.regionIndex.value&&f.regionByIndex?.has(l.regionIndex.value)&&(c=f.key),!t.onlySearcher){let s;c!==void 0&&(s=o.value.get(c)?.regionByIndex);const m=o.value.get(f.key)?.regionByIndex;s?.has(y)&&!m?.has(y)&&(c=f.key)}}),c!==void 0&&(r.searcherKey.value=c),l.regionIndex.value!==void 0&&!n.value?.regionByIndex?.has(l.regionIndex.value)&&(l.regionIndex.value=n.value?.regions?.keys().next().value)},{immediate:!0});const d=()=>{if(!(r.searcherKey.value===A||r.searcherKey.value===y))return r.searcherKey.value},u=()=>{if(t.onlySearcher||l.regionIndex.value===y)return;let c=l.regionIndex.value;if(t.forFrequency){const f=l.regionIndex.value;c=me(t.forFrequency,{searcher_key:d(),key:f},t.searchers)?.index}return c},g=()=>{const c=d();if(c!==void 0)return o.value.get(c)};return{selectSearcher:r,selectRegion:l,compare:i,searcherByKey:o,allRegionsIndexes:a,getSearcher:g,getRegion:()=>{const c=u();if(c!==void 0)return g()?.regionByIndex?.get(c)}}},We=e.defineComponent({__name:"regionSelector",props:e.mergeModels({projectId:{},searchers:{default:()=>[]},modelValue:{},modelValueSingle:{},addCompare:{type:Boolean},forFrequency:{type:Boolean},autoRegion:{type:Boolean},onlySearcher:{type:Boolean},addChanger:{type:Boolean,default:!0},addSearcherIcon:{type:Boolean,default:!0},addRegionIcon:{type:Boolean,default:!0}},{modelValue:{required:!0},modelModifiers:{},modelValueSingle:{},modelValueSingleModifiers:{}}),emits:["update:modelValue","update:modelValueSingle"],setup(t,{expose:o}){const n=t,a=e.useModel(t,"modelValue"),r=e.useModel(t,"modelValueSingle"),{selectSearcher:l,selectRegion:i,compare:d,searcherByKey:u,allRegionsIndexes:g,getSearcher:k,getRegion:c}=qe(n),f=()=>{const s=[];u.value.forEach(m=>{m.enabled&&m.regions.forEach(p=>{p.enabled&&s.push(p)})}),fe.open("regions",{regions:s,regionsIndexes:d.regionsIndexes.value,"@update:regionsIndexes":m=>d.regionsIndexes.value=m})};return e.watch([i.regionIndex,l.searcherKey,d.regionsIndexes],()=>{if(l.searcherKey.value===A&&d.regionsIndexes.value.length){if(JSON.stringify(a.value)===JSON.stringify(d.regionsIndexes.value))return;a.value=[...d.regionsIndexes.value]}else n.onlySearcher?(a.value=[l.searcherKey.value],l.searcherKey.value===y&&!n.autoRegion&&(a.value.length=0)):(a.value=[i.regionIndex.value],i.regionIndex.value===y&&!n.autoRegion&&(a.value.length=0));!n.onlySearcher&&!g.value.size&&(l.searcherKey.value=y)}),r.value&&e.watch(r,()=>{r.value&&(a.value=[r.value])},{immediate:!0}),e.watch(a,()=>{if(a.value[0]&&(r.value=a.value[0]),n.onlySearcher){if(!a.value.length||a.value.length===1&&!u.value.has(a.value[0])||a.value.length===1&&a.value[0]===y&&!n.autoRegion){let s=u.value.keys().next().value;s===y&&!n.autoRegion&&(s=void 0,r.value=y),s!==void 0?a.value=[s]:a.value.length=0;return}if(a.value.length>1&&JSON.stringify(a.value)!==JSON.stringify(d.regionsIndexes.value)){a.value=[...d.regionsIndexes.value];return}}else{let s=[...new Set(a.value)],m=u.value.values().next().value?.regionByIndex?.keys().next().value;if(n.forFrequency&&(m=u.value.values().next().value?.regionByIndex?.values().next().value?.key),m===y&&!n.autoRegion&&(m=void 0,r.value=y),!s.length)m!==void 0&&s.push(m);else if(s.length===1){let p=g.value;n.forFrequency&&(p=new Set,u.value.forEach(I=>{I.regionByIndex.forEach(C=>{C.index!==K&&C.index!==y&&p.add(C.key)})})),p.has(s[0])||(s=[],m!==void 0&&s.push(m))}else s=s.filter(p=>g.value.has(p)),!s.length&&m!==void 0&&s.push(m);if(JSON.stringify(a.value)!==JSON.stringify(s)){a.value=s;return}}if(!(a.value.length===1&&a.value[0]===(n.onlySearcher?l.searcherKey.value:i.regionIndex.value)))if(n.onlySearcher){if(a.value.length===1){l.searcherKey.value=a.value[0];return}l.searcherKey.value=A;return}else{if(!a.value.length)return;if(a.value.length===1&&l.searcherKey.value!==A){i.regionIndex.value=a.value[0];let s;for(const m of u.value.values()){for(const p of m.regionByIndex.values())if((n.forFrequency?p.key:p.index)===i.regionIndex.value){s=m.key;break}if(s!==void 0)break}s!==void 0&&(l.searcherKey.value=s)}else l.searcherKey.value=A,d.regionsIndexes.value=[...a.value]}},{immediate:!0}),o({getSearcher:k,getRegion:c}),(s,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-selectorRegion":!0,"top-selectorRegion-onlySearcher":t.onlySearcher})},[e.createVNode(S._sfc_main$10,{options:e.unref(l).optionBySearcherKey.value,modelValue:e.unref(l).searcherKey.value,"onUpdate:modelValue":m[0]||(m[0]=p=>e.unref(l).searcherKey.value=p),name:"searcher_key",addChanger:t.addChanger},null,8,["options","modelValue","addChanger"]),!t.onlySearcher&&e.unref(l).searcherKey.value!==e.unref(A)?(e.openBlock(),e.createBlock(S._sfc_main$10,{key:0,class:"top-select-region",options:e.unref(i).optionByRegionIndex.value,modelValue:e.unref(i).regionIndex.value,"onUpdate:modelValue":m[1]||(m[1]=p=>e.unref(i).regionIndex.value=p),name:t.forFrequency?"region_key":"region_index",addChanger:t.addChanger,"data-top-icon":t.addRegionIcon?"":void 0},null,8,["options","modelValue","name","addChanger","data-top-icon"])):e.createCommentVNode("",!0),t.addCompare&&!t.onlySearcher&&e.unref(l).searcherKey.value===e.unref(A)?(e.openBlock(),e.createBlock(S._sfc_main$1,{key:1,name:"compare",onClick:f,"data-count-compare-regions-indexes":e.unref(d).regionsIndexes.value.length},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.$i18n.Common.Selected_regions),1)]),_:1},8,["data-count-compare-regions-indexes"])):e.createCommentVNode("",!0)],2))}}),U=t=>(t=t.replace(/"/g,'"'),t.replace(/'/g,"'")),oe=t=>({...t,name:U(t.name),path:U(t.path)}),q=t=>{const o={...t,name:U(t.name)};return"folder_path"in o&&typeof o.folder_path=="string"&&(o.folder_path=U(o.folder_path)),o},V={id:0,name:"/",path:"/"};function ze(t){return t?S.useI18n()?.Common.All_folders:"/ ("+S.useI18n()?.Keywords.Root_folder+")"}const ne=(t,o,n=new Map,a={id:"root"},r=0)=>(a.childsIds=[],a.id&&(a.countAllGroupsActive=a.count_groups_active),t[a.id]&&t[a.id].forEach(l=>{l={...l},a.childsIds.push(l.id),l.id===0&&(l.name=ze(o));const i=r>1?"-".repeat(r-1)+" ":"";i&&!l.name.startsWith(i)&&(l.name=i+l.name),n.set(l.id,l),ne(t,o,n,l,r+1),a.childsIds=a.childsIds.concat(l.childsIds),a.id&&l.count_groups_active&&(a.countAllGroupsActive+=l.count_groups_active)}),n),Je=(t,o)=>{const n=t.gen(`/get/${o}/folders/`,["id","parent_id","name","path"]).changeParams({orders:["ord_path"],limit:100});return n.options.onApiLoaded=(a,r,l)=>{a.result&&(a.result=a.result.map(i=>oe(i))),l?.(a,r)},n};function ae(t,o,n){const a=Object.keys(t),r=a.map(l=>t[l]);return e.watch(r,(l,i,d)=>{const u={};l.forEach((g,k)=>{if(!Object.is(g,i[k])){const c=a[k];u[c]={old:i[k],new:g}}}),Object.keys(u).length&&o(u,d)},n)}const He=e.defineComponent({__name:"folders",props:e.mergeModels({folderId:{},folder:{},folders:{},projectId:{},canSelectAll:{type:Boolean},addChanger:{type:Boolean},addIcon:{type:Boolean,default:!0},client:{},service:{}},{folderId:{required:!0},folderIdModifiers:{},folder:{default:V},folderModifiers:{}}),emits:["update:folderId","update:folder"],setup(t){const o=t,n=e.useModel(t,"folderId"),a=e.useModel(t,"folder"),r=o.client&&!o.folders&&o.service?Je(o.client,o.service):void 0,l=e.ref(null),i=e.computed(()=>{const d=ne(o.folders??{root:[V]},o.canSelectAll),u=new Map;return d.forEach((g,k)=>{u.set(k,oe(g))}),u});return e.watch(()=>o.projectId,()=>{r?.changeParams({project_id:o.projectId}),r?.setOptions({checkFingerprint:"TopGroupSelectorFolders:"+o.projectId}),l.value?.resetCache()},{immediate:!0}),ae({modelFolder:a,modelFolderId:n},async d=>{if(n.value===a.value.id)return;if(d.modelFolder&&!d.modelFolderId){n.value=a.value.id;return}let u=i.value.get(o.folderId);u||(u=V),a.value=u,n.value=u.id},{immediate:!0}),(d,u)=>(e.openBlock(),e.createBlock(E._sfc_main,{class:"top-groupSelector_folder",modelValue:a.value,"onUpdate:modelValue":u[0]||(u[0]=g=>a.value=g),items:t.folders?[...i.value.values()]:void 0,"search-type":"inline",icon:t.addIcon?"":void 0,api:t.folders?void 0:e.unref(r),apiSetSearchParams:(...g)=>e.unref(E.apiSetSearchParamsFilter)(...g,"name"),addChanger:t.addChanger,useCache:""},null,8,["modelValue","items","icon","api","apiSetSearchParams","addChanger"]))}}),W={id:-1,name:"--",folder_id:V.id,folder_path:V.path},z={id:E.ITEM_ID_ALL,name:"All groups",folder_id:V.id,folder_path:V.path},J=()=>(z.name=S.useI18n()?.Common.All_groups,z),ge=()=>(z.name=S.useI18n()?.Keywords.Choose_group,z),Ye=(t,o,n)=>(t=[...t],o!==void 0&&(t=t.filter(a=>a.on==Number(o))),n&&n.id&&n.childsIds&&(t=t.filter(a=>a.folder_id===n.id||n.childsIds.includes(a.folder_id))),t),pe=(t,o)=>{const n=t.gen(`/get/${o}/groups/`,["id","name","folder_id","folder_path"]).changeParams({folder_id_depth:!0,limit:100});return n.options.onApiLoaded=(a,r,l)=>{a.result&&(a.result=a.result.map(i=>q(i))),l?.(a,r)},n},Qe=(t,o)=>t.gen(`/add/${o}/groups/`),_e={class:"top-groupSelector_groupItem"},Xe={key:0,class:"top-comment"},Ze={key:1,class:"top-groupSelector_groupItemFolderPath"},et=e.defineComponent({__name:"groups",props:e.mergeModels({groupId:{},group:{},projectId:{},folder:{},groups:{},on:{type:Boolean,default:void 0},canAdd:{type:[String,Boolean]},canSelectAll:{type:[Boolean,String]},autoselect:{default:"first"},addChanger:{type:Boolean,default:!0},showPath:{type:Boolean},addIcon:{type:Boolean,default:!0},client:{},service:{}},{groupId:{required:!0},groupIdModifiers:{},group:{required:!0},groupModifiers:{}}),emits:e.mergeModels(["addGroup"],["update:groupId","update:group"]),setup(t,{emit:o}){const n=t,a=o,r=e.useModel(t,"groupId"),l=e.useModel(t,"group"),i=n.client&&!n.groups&&n.service?pe(n.client,n.service):void 0,d=n.client&&n.service?Qe(n.client,n.service):void 0,u=e.ref(null),g=e.ref(void 0),k=P.genFieldFilter("folder_id","EQUALS",[n.folder?.id??0]);i?.changeParams({project_id:n.projectId,folder_id_depth:!0,filters:[k]}),n.on!==void 0&&i?.params.filters?.push(P.genFieldFilter("on","EQUALS",[Number(n.on)]));const c=e.computed(()=>{const m=g.value??n.groups;if(m)return m.map(p=>q(p))}),f=m=>{const p=q(m);l.value=p,r.value=p.id};ae({projectId:()=>n.projectId,folderId:()=>n.folder?.id,canSelectAll:()=>n.canSelectAll},m=>{if(m.projectId&&(i?.changeParams({project_id:n.projectId}),i?.setOptions({checkFingerprint:"TopGroupSelectorGroups:"+n.projectId})),m.folderId&&(k.values=[n.folder?.id??0],n.groups&&(g.value=Ye(n.groups,n.on,n.folder))),u.value?.resetCache(),(m.folderId?.old!==void 0||m.canSelectAll?.old!==void 0)&&r.value!==E.ITEM_ID_NEW){let p;n.autoselect==="first"&&(p=g.value?.[0],n.canSelectAll&&(p=e.reactive(J()))),(n.autoselect==="placeholder"||!p)&&(p=ge()),f(p)}},{immediate:!0}),ae({modelGroup:l,modelGroupId:r},async m=>{if(r.value!==l.value.id){if(m.modelGroup&&!m.modelGroupId){r.value=l.value.id;return}if(!(n.canAdd&&r.value===E.ITEM_ID_NEW)){if(n.groups){let p=g.value?.find(I=>I.id===r.value);if(!p&&n.canSelectAll&&(p=J()),p)f(p);else{const I=g.value?.[0];I&&!r.value?f(I):f(W)}}if(n.client&&!n.groups&&n.service&&(r.value||r.value===E.ITEM_ID_ALL&&!n.canSelectAll)){const p=pe(n.client,n.service).changeParams({project_id:n.projectId,id:r.value,filters:[k]});p?.setOptions({checkFingerprint:"TopGroupSelectorFindGroup:"+n.projectId});const I=await p.call();if(!I.errors?.length&&!I.result)return;!I.errors&&I.result[0]?f(I.result[0]):f(W)}}}},{immediate:!0});const s=async m=>{if(n.canAdd!=="api"||!d)return;const p=l.value,I=await d.changeParams({project_id:n.projectId,names:[m.name],to_id:n.folder?.id??V.id,to_type:"in_folder_last"}).call();I.result?(f(I.result),a("addGroup",I.result)):f(p),u.value?.resetCache(!0)};return(m,p)=>(e.openBlock(),e.createBlock(E._sfc_main,{ref_key:"refSelector",ref:u,class:"top-groupSelector_group",modelValue:l.value,"onUpdate:modelValue":p[0]||(p[0]=I=>l.value=I),items:c.value,searchType:"inline",icon:t.addIcon?"":void 0,api:t.groups?void 0:e.unref(i),apiSetSearchParams:(...I)=>e.unref(E.apiSetSearchParamsFilter)(...I,"name"),appendSearchToResult:!!t.canAdd,useAllItem:t.canSelectAll?e.unref(J)().name:!1,addChanger:t.addChanger,useCache:"",onAppendItem:s},{item:e.withCtx(({item:I})=>[e.createElementVNode("div",_e,[I.id===e.unref(E.ITEM_ID_NEW)?(e.openBlock(),e.createElementBlock("div",Xe,e.toDisplayString(m.$i18n.Common.Add)+": ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(I.name),1),I.folder_path&&t.showPath?(e.openBlock(),e.createElementBlock("span",Ze,e.toDisplayString(I.folder_path),1)):e.createCommentVNode("",!0)])]),_:1},8,["modelValue","items","icon","api","apiSetSearchParams","appendSearchToResult","useAllItem","addChanger"]))}}),tt={class:"top-groupSelector"},ot=e.defineComponent({__name:"groupSelector",props:e.mergeModels({folderId:{},folder:{},groupId:{},group:{},projectId:{},folders:{},groups:{},on:{type:Boolean,default:void 0},canSelectAllGroups:{type:Boolean},canAddGroup:{},autoselect:{default:"first"},addChanger:{type:Boolean,default:!0},showFolders:{type:Boolean,default:!0},showGroups:{type:Boolean,default:!0},addIcon:{type:Boolean,default:!0},client:{},service:{default:"keywords_2"}},{folderId:{required:!0},folderIdModifiers:{},folder:{},folderModifiers:{},groupId:{required:!0},groupIdModifiers:{},group:{default:W},groupModifiers:{}}),emits:e.mergeModels(["update:groups"],["update:folderId","update:folder","update:groupId","update:group"]),setup(t,{emit:o}){const n=t,a=e.useModel(t,"folderId"),r=e.useModel(t,"folder"),l=e.useModel(t,"groupId"),i=e.useModel(t,"group"),d=o,u=ne(n.folders??{root:[V]},n.canSelectAllGroups);r.value=u.get(a.value),r.value&&(r.value=oe(r.value));let g=n.groups?.find(c=>c.id===l.value);l.value||(g=n.groups?.[0]),n.canSelectAllGroups&&!g&&(g=J()),(n.autoselect==="placeholder"||!g)&&(g=ge()),g??=W,i.value=g,i.value=q(i.value);const k=c=>{let f;n.groups&&c&&(f=[...n.groups,c]),d("update:groups",f)};return(c,f)=>(e.openBlock(),e.createElementBlock("div",tt,[t.showFolders?(e.openBlock(),e.createBlock(He,{key:0,folderId:a.value,"onUpdate:folderId":f[0]||(f[0]=s=>a.value=s),folder:r.value,"onUpdate:folder":f[1]||(f[1]=s=>r.value=s),projectId:t.projectId,folders:t.folders,canSelectAll:t.canSelectAllGroups,addChanger:t.addChanger,addIcon:t.addIcon,client:t.client,service:t.service},null,8,["folderId","folder","projectId","folders","canSelectAll","addChanger","addIcon","client","service"])):e.createCommentVNode("",!0),t.showGroups?(e.openBlock(),e.createBlock(et,{key:1,groupId:l.value,"onUpdate:groupId":f[2]||(f[2]=s=>l.value=s),group:i.value,"onUpdate:group":f[3]||(f[3]=s=>i.value=s),projectId:t.projectId,folder:r.value,groups:t.groups,on:t.on,canAdd:t.canAddGroup,canSelectAll:t.canSelectAllGroups,autoselect:t.autoselect,addChanger:t.addChanger,showPath:t.showFolders&&!!t.folders?.[0],addIcon:t.addIcon,client:t.client,service:t.service,onAddGroup:k},null,8,["groupId","group","projectId","folder","groups","on","canAdd","canSelectAll","autoselect","addChanger","showPath","addIcon","client","service"])):e.createCommentVNode("",!0)]))}}),nt={class:"top-projectSelectorSubmenu_item"},at=["href","title","data-top-icon","data-right"],lt={class:"top-projectSelectorSubmenu_item"},rt=["href"],it=e.defineComponent({__name:"submenu",props:{id:{},right:{},url:{}},setup(t){const o=t,n=S.useI18n(),a=[{href:`/project/keywords/${o.id}/`,title:n.Common.Menu_phrases,icon:"",right:"2"},{href:`/project/dynamics/${o.id}/`,title:n.Common.Menu_dynamics,icon:"",right:"1"},{href:`/project/snapshots/${o.id}/`,title:n.Common.Menu_snapshots,icon:"",right:"1"},{href:`/project/competitors/${o.id}/`,title:n.Common.Menu_competitors,icon:"",right:"1"},{href:`/project/analytics/${o.id}/`,title:n.Common.Menu_analytics,icon:"",right:"5"},{href:`/project/broker/${o.id}/`,title:n.Common.Menu_broker,icon:"",right:"6"},{href:`/project/audit/${o.id}/sitemap/`,title:n.Audit.Sitemap_gen,icon:"",right:"8"},{href:`/project/audit/${o.id}/audit/`,title:n.Common.Menu_audit,icon:"",right:"8"},{href:`/project/audit/${o.id}/indexing/`,title:n.Audit.Indexing,icon:"",right:"8"},{href:`/project/audit/${o.id}/watcher/`,title:n.Audit.Watcher,icon:"",right:"9"},{href:`/project/settings/${o.id}/`,title:n.Common.Menu_settings,icon:"",right:"2"}],r=e.computed(()=>o.right.includes("0")?a.filter(l=>o.right[l.right]==="1"):a);return(l,i)=>{const d=e.resolveComponent("TopButton");return e.openBlock(),e.createBlock(e.unref(b._sfc_main),{class:"top-projectSelectorSubmenu",notch:!1,pos:"2"},{opener:e.withCtx(()=>[e.createVNode(d,{class:"top-projectSelectorSubmenu_opener","data-top-icon":"",color:"theme"})]),contentList:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,u=>(e.openBlock(),e.createElementBlock("li",nt,[e.createElementVNode("a",{href:u.href,title:u.title,"data-top-icon":u.icon,"data-right":u.right},null,8,at)]))),256)),e.createElementVNode("li",lt,[e.createElementVNode("a",{href:t.url,"data-top-icon":"",target:"_blank"},null,8,rt)])]),_:1})}}}),le=t=>({id:null,name:t,listItemProps:{type:"title"}}),re={scheduledUpdate:!1,manualUpdate:!1,guestProjects:!1},dt=(t,o)=>{const n=[],a={scheduledUpdate:le(S.useI18n().Projects.Scheduled_update),manualUpdate:le(S.useI18n().Projects.Manual_update),guestProjects:le(S.useI18n().Projects.Guest_projects)},r=o?{scheduledUpdate:!1,manualUpdate:!1,guestProjects:!1}:re;for(const l of t)!r.scheduledUpdate&&l.right?.startsWith("1")&&l.on>0&&(n.push(a.scheduledUpdate),r.scheduledUpdate=!0),!r.manualUpdate&&l.right?.startsWith("1")&&l.on===0&&(n.push(a.manualUpdate),r.manualUpdate=!0),!r.guestProjects&&l.right?.startsWith("0")&&l.on>=0&&(n.push(a.guestProjects),r.guestProjects=!0),n.push(l);return n},ct=t=>t.map(o=>({...o,listItemProps:{attrs:{title:o.name}}})),st=(t,o,n)=>{if(!t||t.length===0)return[];o&&Object.keys(re).forEach(r=>re[r]=!1);const a=ct(t);return dt(a,n)},ut=t=>{if(!t)return"";let o=t;return o=o.replace(/historyView=[^&]*/,""),o=o.replace(/competitorsIds=[^&]*/,""),o=o.replace(/searchersKeys=[^&]*/,""),o=o.replace(/regionIndex=[^&]*/,""),o=o.replace(/regionsIndexes=[^&]*/,""),o=o.replace(/folderId=[^&]*/,""),o=o.replace(/groupId=[^&]*/,""),o=o.replace(/tags=[^&]*/,""),window.mo?.getHash&&!window.mo.getHash("dataSort").toString().includes("0000-00-00")&&(o=o.replace(/dataSort=[^&]*/,"")),o=o.replace(/%22historyView%22:[^,]*,/,""),o=o.replace(/%22competitorsIds%22:\[[^\]]*],/,""),o=o.replace(/%22searchersKeys%22:\[[^\]]*],/,""),o=o.replace(/%22regionIndex%22:[^,]*,/,""),o=o.replace(/%22regionsIndexes%22:\[[^\]]*],/,""),o=o.replace(/%22folderId%22:[^,]*,/,""),o=o.replace(/%22groupId%22:[^,]*,/,""),o=o.replace(/%22tagsIds%22:\[[^\]]*],/,""),/%22dataSort%22:\{[^}]*0000-00-00[^}]*}/.test(o)||(o=o.replace(/%22dataSort%22:\{[^}]*},/,"")),o},mt=t=>{const o=location.pathname.split("/");let n="project/dynamics/",a="";o[1]=="project"&&(n=o[1]+"/"+o[2]+"/"),["watcher","indexing","sitemap","audit","direct","adwords"].includes(o[4])&&(a=o[4]+"/");let r="/"+n+t+"/"+a;const l=ut(location.hash);return r+=l,r},ve=t=>{let o=t.startsWith("http")?t:"http://"+t;return o=o.replace(/"/g,"%22"),o},ft=(t,o)=>{let n=t.params.filters??[];n=n.filter(i=>i.name!=="GEN_SEARCH_STRING()");const a=Ae.invertKeyboardLayout(o),r=o.replace(/([[^$.|?*+()])/g,"\\$1"),l=a.replace(/([[^$.|?*+()])/g,"\\$1");o&&n.push(P.genFieldFilter("GEN_SEARCH_STRING()","REGEXP",[`(${r}|${l})`])),t.changeParams({filters:n})},he=(t,o,n)=>{const a=t.gen("/get/projects_2/projects/",["id","user_id","name","url","on","right"]);return a.params={...n,filters:[P.genFieldFilter("on","GREATER_THAN_EQUALS",[0])],orders:[P.genFieldOrder("user_id","DESC",[o]),P.genFieldOrder("on","DESC"),P.genFieldOrder("favorite","DESC"),P.genFieldOrder("id","DESC")]},a.options.onApiLoaded=(r,l,i)=>{const d=l.data.filters.length===1&&l.data.offset===0||l.data.limit===1e3,u=l.data.limit===100&&l.data.filters.length>1?!0:void 0;r.result=st(r.result,d,u),i?.(r,l)},a},gt=t=>t.gen("/add/projects_2/projects/"),H="ui_project_selector_total:",pt=1440*60*1e3,T=e.shallowRef(),ye=e.ref(0),L=e.ref(null),Se=(t,o)=>{localStorage.setItem(H+t,JSON.stringify({projectsTotal:o,expiresAt:Date.now()+pt}))},vt=t=>{const o=localStorage.getItem(H+t);if(!o)return;const{projectsTotal:n,expiresAt:a}=JSON.parse(o);if(Date.now()>a){localStorage.removeItem(H+t);return}return n},Ie=(t,o=!0)=>{T.value=void 0,localStorage.removeItem(H+t),o&&ye.value++},ht={class:"top-projectSelector_item"},yt={class:"top-projectSelector_itemText"},St={class:"top-comment"},It={key:0,class:"top-comment"},kt=["href"],ke=1e3,Ct=e.defineComponent({__name:"projectSelector",props:e.mergeModels({client:{},project:{},addLinksToProjects:{type:Boolean,default:!0},excludeProjectId:{},modificator:{},placeholder:{},buttonProps:{},openerShortcut:{}},{project:{default:{id:null,name:""}},projectModifiers:{}}),emits:["update:project"],setup(t){const o=S.useI18n();if(!window.mo?.user?.id)throw new Error("TopProjectSelector: не удалось определить userId. Компонент требует авторизованного пользователя (см. window.mo.user.id)");const n=window.mo.user.id,a=t,r=e.useModel(t,"project"),l=he(a.client,n),i=gt(a.client),d=e.ref(vt(n)),u=e.ref(null),g=e.computed(()=>a.placeholder??o.Projects.Select_project),k=e.computed(()=>!T.value||!a.excludeProjectId?T.value:T.value.filter(C=>C.id!==a.excludeProjectId)),c=e.computed(()=>{if(!(!d.value&&d.value!==0))return d.value<ke?"static":"api"});e.watch(ye,()=>{p()});const f=async()=>{if(!L.value){const j=he(a.client,n,{limit:ke});L.value=j.call()}const C=await L.value;if(C.errors){L.value=null;return}return L.value=null,C},s=async()=>{if(d.value)return;const C=await f();C&&(d.value=C.total,c.value==="static"&&!T.value&&(T.value=C.result),d.value&&Se(n,d.value))},m=async C=>{const j=await i.changeParams({url:C.name,name:C.name}).call();if(!j.errors){if(T.value&&c.value==="static"){const h={id:Number(j.result),user_id:n,name:C.name,url:C.name,on:0,right:"11111111111111111111",listItemProps:{attrs:{title:C.name}}},v=T.value.findIndex(B=>B.on===0);T.value=[...T.value.slice(0,v),h,...T.value.slice(v)],d.value&&(d.value+=1,Se(n,d.value))}c.value==="api"&&Ie(n)}},p=()=>{c.value==="api"&&u.value?.resetCache(!0)},I=async()=>{if(T.value||c.value!=="static")return;const C=await f();C&&(T.value=C.result)};return e.onMounted(async()=>{await s()}),(C,j)=>{const h=e.resolveComponent("TopButton");return e.openBlock(),e.createBlock(E._sfc_main,{ref_key:"refSelector",ref:u,class:"top-projectSelector",modelValue:r.value,"onUpdate:modelValue":j[1]||(j[1]=v=>r.value=v),items:k.value,title:C.$i18n.Projects.Search_projects,modificator:t.modificator,searchFields:["id","name","url"],placeholder:g.value,hasCloserBtn:"",api:c.value==="api"?e.unref(l):void 0,apiSetSearchParams:c.value==="api"?(...v)=>e.unref(ft)(...v):void 0,useCache:"",appendSearchToResult:"",appendSearchAllowDuplicate:"",appendSearchToResultCond:e.unref(je.validUrl),appendWithoutSelect:"",buttonProps:t.buttonProps,openerShortcut:t.openerShortcut,onAppendItem:m,onOpen:I},{item:e.withCtx(({item:v})=>[e.createElementVNode("div",ht,[e.createElementVNode("div",yt,[v.id?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(e.unref(Me.ellipsis)(v.name,20))+" ",1),e.createElementVNode("span",St," id "+e.toDisplayString(v.id),1)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[v.listItemProps?.type?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",It,e.toDisplayString(C.$i18n.Projects.Add_project)+": ",1)),e.createTextVNode(" "+e.toDisplayString(v.name),1)],64))]),v.id?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[t.addLinksToProjects?(e.openBlock(),e.createElementBlock("a",{key:0,class:"top-projectSelector_itemLink",href:e.unref(mt)(v.id)},null,8,kt)):e.createCommentVNode("",!0),C.$core.state.isMobile?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(h,{key:1,class:"top-projectSelector_itemExtLink",href:e.unref(ve)(v.url),"data-top-icon":"",color:"theme",target:"_blank",onClick:j[0]||(j[0]=e.withModifiers(()=>{},["stop"]))},null,8,["href"])),e.createVNode(it,{id:v.id,right:v.right??void 0,url:e.unref(ve)(v.url)},null,8,["id","right","url"])],64)):e.createCommentVNode("",!0)])]),_:1},8,["modelValue","items","title","modificator","placeholder","api","apiSetSearchParams","appendSearchToResultCond","buttonProps","openerShortcut"])}}}),Ce=t=>"-"+t,G=t=>t[0]==="-"?t.substring(1):t,Y=(t,o)=>{t=G(t);const n=o.find(a=>a.id===t);if(n)return n},Bt=(t,o,n)=>{o||(o={id:t.id}),o.id=t.id,o.pos??="3",o.notch??=!0,o.posBy??="fixed";const a=Ve.TopPopupWorker.genElPopupOpener("div",o);return a.classList.add("top-tagSelector"),t.useTopButton&&a.classList.add("top-tagSelector-useTopButton","top-button","top-color_theme","top-as-selector"),t.useTopButton||a.classList.add("top-tagSelector-custom"),t.mode==="filter"&&a.classList.add("top-tagSelector-filter"),t.mode==="setter"&&!t.filters&&a.classList.add("top-tagSelector-setter_single"),t.mode==="setter"&&t.filters&&a.classList.add("top-tagSelector-setter_several"),a.onclick=r=>{r.preventDefault(),r.stopPropagation(),a.onclick=null;const l=e.ref(t.modelValue),i={model:l,mode:t.mode,targetId:t.targetId,filters:t.filters,payload:t.payload};N.storage(a,"topTagSelectorTarget",i),delete a.dataset.topPopupDisabled,e.isRef(t.modelValue)||e.watch(l,()=>{t.modelValue=l.value,Q(a,t,n)}),a.click()},e.isRef(t.modelValue)?e.watch(t.modelValue,()=>Q(a,t,n)):N.storage(a,"topTagSelectorRender",r=>{t.modelValue=r;const l=N.storage(a,"topTagSelectorTarget");l&&(l.model.value=r),Q(a,t,n)}),Q(a,t,n),a},xt=(t,o)=>{N.storage(t,"topTagSelectorRender")?.(o)},Q=(t,o,n)=>{const a=e.unref(o.modelValue);if(t.classList.toggle("top-tagSelector-selectedOne",!a.length||a.length===1),t.classList.toggle("top-tagSelector-toTwoLine",a.length>5),o.mode==="setter"&&o.filters){t.innerHTML=`<div>${n}</div>`;return}if(t.innerHTML="",!a.length&&o.mode==="filter"){const r=Be({id:"all",colorId:"",name:S.useI18n().Common?.All_tags??"",state:""});t.append(r)}a.forEach(r=>{const l=Be({id:G(r),colorId:Y(r,o.tags)?.color_id??"",name:Y(r,o.tags)?.name??"",state:G(r)===r?"selected":"excluded"});t.append(l)})},Be=t=>{const o=document.createElement("div");return o.classList.add("top-tagSelector_tagIcon"),o.classList.toggle("top-tagSelector-active",!!t.state),o.classList.toggle("top-tagSelector-excluded",t.state==="excluded"),o.dataset.tag_id=t.id,o.dataset.tag_color_id=t.colorId,o.title=t.name,o},wt=[{id:"1",name:"Without Tag",color_id:"1"},{id:"2",name:"Red",color_id:"2"},{id:"3",name:"Orange",color_id:"3"},{id:"4",name:"Yellow",color_id:"4"},{id:"5",name:"Blue",color_id:"5"},{id:"6",name:"Purple",color_id:"6"},{id:"7",name:"Green",color_id:"7"},{id:"8",name:"Magenta",color_id:"8"},{id:"9",name:"Dark blue",color_id:"9"},{id:"10",name:"Turquoise",color_id:"10"}],Tt=["data-tag_id","data-tag_color_id","title"],_=e.defineComponent({__name:"tagIcon",props:{id:{},colorId:{},name:{},state:{}},setup(t){return(o,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-tagSelector_tagIcon":!0,"top-tagSelector-active":!!t.state,"top-tagSelector-excluded":t.state==="excluded"}),"data-tag_id":t.id,"data-tag_color_id":t.colorId,title:t.name},null,10,Tt))}}),Et=["contenteditable","onKeydown"],xe=e.defineComponent({__name:"tagPopupListItem",props:e.mergeModels({editable:{type:Boolean},disabled:{type:Boolean},canExclude:{type:Boolean},id:{},colorId:{},name:{},state:{}},{name:{required:!0},nameModifiers:{}}),emits:e.mergeModels(["update:name","unselect","exclude","select"],["update:name"]),setup(t,{emit:o}){const n=t,a=o,r=e.useModel(t,"name"),l=e.ref(null),i=e.computed(()=>navigator.userAgent.indexOf("Firefox")!=-1?{contenteditable:d.value,onpaste:f=>f.preventDefault()}:{}),d=e.ref(!1),u=async()=>{d.value=!0,await e.nextTick(),l.value?.focus()},g=()=>{const f=l.value?.innerText;if(!f)return k();l.value&&(l.value.innerText=f),d.value=!1,a("update:name",f)},k=async()=>{l.value&&(l.value.innerText=n.name),d.value=!1},c=f=>{if(d.value||n.disabled)return;let s="selected";n.canExclude&&(f.ctrlKey||f.metaKey)&&(s="excluded"),n.state==s&&(s=""),s===""&&a("unselect"),s==="selected"&&a("select"),s==="excluded"&&a("exclude")};return(f,s)=>(e.openBlock(),e.createBlock(b._sfc_main$2,{class:e.normalizeClass({"top-tagSelector_tagListItem":!0,"top-tagSelector_tagListItem-inEdit":d.value,"top-tagSelector_tagListItem-disabled":t.disabled,"top-tagSelector_tagListItem-canExclude":t.canExclude,"top-tagSelector-active":!!t.state,"top-tagSelector-excluded":t.state==="excluded"}),onClick:e.withModifiers(c,["stop"])},{default:e.withCtx(()=>[e.createVNode(_,{id:t.id,name:r.value,colorId:t.colorId,state:t.state},null,8,["id","name","colorId","state"]),e.createElementVNode("span",e.mergeProps({ref_key:"elName",ref:l,class:"top-tagSelector_tagListItemName",contenteditable:d.value?"plaintext-only":!1},i.value,{onKeydown:[e.withKeys(e.withModifiers(g,["stop"]),["enter"]),e.withKeys(e.withModifiers(k,["stop"]),["esc"])]}),e.toDisplayString(r.value),17,Et),t.editable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[d.value?(e.openBlock(),e.createElementBlock("span",{key:1,"data-top-icon":"",class:"top-tagSelector_edit",onClick:e.withModifiers(g,["stop"])})):(e.openBlock(),e.createElementBlock("span",{key:0,"data-top-icon":"",class:"top-tagSelector_edit",onClick:u}))],64)):e.createCommentVNode("",!0)]),_:1},8,["class"]))}}),jt={key:1},we=e.defineComponent({inheritAttrs:!1,__name:"popupOpener",props:e.mergeModels({modelValue:{},id:{},tags:{},mode:{},targetId:{},filters:{},useTopButton:{type:Boolean},payload:{},styling:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=t,n=e.useModel(t,"modelValue"),a=o.useTopButton?S._sfc_main$1:"div",r=o.useTopButton?"html":"default",l={model:n,mode:o.mode,targetId:o.targetId,filters:o.filters,payload:o.payload};return(i,d)=>{const u=e.resolveDirective("top-data");return e.openBlock(),e.createBlock(b._sfc_main$1,{id:t.id},{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(a)),e.mergeProps({class:{"top-tagSelector":!0,"top-tagSelector-useTopButton":o.useTopButton,"top-tagSelector-custom":!o.useTopButton,"top-as-selector":o.useTopButton,"top-tagSelector-filter":o.mode==="filter","top-tagSelector-setter_single":o.mode==="setter"&&!t.filters,"top-tagSelector-setter_several":o.mode==="setter"&&t.filters,"top-tagSelector-selectedOne":!n.value.length||n.value.length===1,"top-tagSelector-toTwoLine":n.value.length>5},color:"theme",styling:t.styling},i.$attrs),{[e.unref(r)]:e.withCtx(()=>[!n.value.length&&t.mode==="filter"?(e.openBlock(),e.createBlock(_,{key:0,id:"all",colorId:"",name:i.$i18n.Common.All_tags??"",state:""},null,8,["name"])):e.createCommentVNode("",!0),t.mode==="setter"&&t.filters?(e.openBlock(),e.createElementBlock("div",jt,[e.renderSlot(i.$slots,"default")])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(n.value,g=>(e.openBlock(),e.createBlock(_,{id:e.unref(G)(g),colorId:e.unref(Y)(g,t.tags)?.color_id??"",name:e.unref(Y)(g,t.tags)?.name??"",state:e.unref(G)(g)===g?"selected":"excluded"},null,8,["id","colorId","name","state"]))),256))]),_:2},1040,["class","styling"])),[[u,l,"topTagSelectorTarget"]])]),_:3},8,["id"])}}}),Mt=e.defineComponent({__name:"tagSelector",props:e.mergeModels({modelValue:{},tags:{},tagsEditable:{type:Boolean},tagsMax:{default:10},id:{},singleMode:{type:Boolean},requiredForSetter:{type:Boolean,default:!0},maxTagsForSetter:{},emitDelay:{default:500},useTopButton:{type:Boolean,default:!0},styling:{}},{modelValue:{required:!0},modelModifiers:{},tags:{default:e.reactive(wt)},tagsModifiers:{}}),emits:e.mergeModels(["selector","setter","tagsChanged"],["update:modelValue","update:tags"]),setup(t,{emit:o}){const n=S.useI18n(),a=t,r=e.useModel(t,"modelValue"),l=e.useModel(t,"tags"),i=o,d=S.debounce((h,v)=>{i(h,v)},a.emitDelay);a.singleMode&&!r.value.length&&(r.value=[l.value[0].id]);const u=a.id??"top-popup-id-"+Math.random(),g=e.ref("add"),k=()=>{const h=" "+n.Common.Tags?.toLowerCase(),v=new Map;return v.set("add",{value:"add",title:n.Common.Add+h}),v.set("replace",{value:"replace",title:n.Common.Replace+h}),v.set("delete",{value:"delete",title:n.Common.Delete+h}),v};let c=e.shallowRef({model:r,mode:"filter",targetId:void 0,filters:void 0,payload:void 0});e.watch(r,()=>{d("selector",r.value)});const f=e.computed(()=>{if(c.value.mode==="setter"&&a.maxTagsForSetter&&!c.value.filters)return c.value.model.value.length>=a.maxTagsForSetter}),s=h=>{if(h!=="all"){if(c.value.model.value.includes(h))return"selected";if(c.value.model.value.includes(Ce(h)))return"excluded"}return h==="all"&&!c.value.model.value.length?"selected":""},m=(h,v)=>{const B=Ce(h);let x=c.value.model.value.filter(M=>M!==h&&M!==B);v==="select"&&x.push(h),v==="exclude"&&x.push(B),c.value.mode==="setter"&&c.value.targetId!==void 0&&a.requiredForSetter&&(x.length||x.push("1"),x.length===2&&c.value.model.value.length===1&&c.value.model.value[0]==="1"&&(x=x.filter(M=>M!=="1"))),a.singleMode&&!c.value.filters&&(x.length||(x=c.value.model.value),x.length>1&&(x=[x[x.length-1]])),x.sort((M,X)=>{if(!a.tags)return 0;const R=a.tags.findIndex(F=>F.id===M),D=a.tags.findIndex(F=>F.id===X);return R-D}),c.value.model.value=x,c.value.mode==="setter"&&c.value.targetId!==void 0&&d("setter",{tagsIds:x,targetId:c.value.targetId,payload:c.value.payload})},p=e.computed(()=>{let h="top-tagSelector_popup";return c.value.mode==="filter"&&(h+=" top-tagSelector_popup-filter"),c.value.mode==="setter"&&(h+=" top-tagSelector_popup-setter"),h}),I=()=>{const h=prompt("","New tag");if(!h||h==="New tag")return;const v=l.value.length+1;l.value.push({id:String(v),name:h,color_id:String((v-1)%10+1)}),i("tagsChanged",l.value)},C=h=>{if(c.value=N.storage(h.elPopupOpener,"topTagSelectorTarget"),!c.value)throw new Error("Open popup TopTagSelector required v-data:topTagSelectorTarget");if(c.value.filters&&(g.value="add",c.value.model.value=[]),!S.Core.$?.ui.sortable){console.info("Для работы сортировки требуется глобальная загрузка jQuery UI Sortable");return}!S.Core.state.isMobile&&!S.Core.state.isMobileUA&&l.value&&$(h.elPopup).sortable({items:'li:has([data-tag_id]:not([data-tag_id="all"]))',cancel:'[contenteditable="plaintext-only"], [contenteditable="true"]',distance:10,stop:function(v,B){if(!l.value)return;const x=$(B.item).parent().find("[data-tag_id]"),M=[];x.each((X,R)=>{if(!l.value)return;const D=$(R).attr("data-tag_id");M.push(D)}),l.value.sort((X,R)=>{const D=M.findIndex(ie=>ie===X.id),F=M.findIndex(ie=>ie===R.id);return D-F}),d("tagsChanged",l.value)}})},j=h=>{S.Core.$?.ui.sortable&&$(h.elPopup).data("ui-sortable")&&$(h.elPopup).sortable("destroy")};return(h,v)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(we,{modelValue:r.value,"onUpdate:modelValue":v[0]||(v[0]=B=>r.value=B),id:e.unref(u),tags:l.value,styling:t.styling,mode:"filter",useTopButton:t.useTopButton},null,8,["modelValue","id","tags","styling","useTopButton"]),e.createVNode(b._sfc_main,{id:e.unref(u),class:e.normalizeClass(p.value),onOpen:v[4]||(v[4]=B=>C(B)),onClose:v[5]||(v[5]=B=>j(B)),"transition-duration":50},e.createSlots({contentList:e.withCtx(()=>[e.unref(c).mode==="filter"&&!t.singleMode?(e.openBlock(),e.createBlock(xe,{key:0,id:"all",colorId:"",name:h.$i18n.Common.All_tags??"",state:e.unref(c).model.value.length?"":"selected",onSelect:v[3]||(v[3]=B=>e.unref(c).model.value=[])},null,8,["name","state"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,B=>(e.openBlock(),e.createBlock(xe,{key:B.id,id:B.id,colorId:B.color_id,name:B.name,state:s(B.id),canExclude:e.unref(c).mode==="filter"&&!t.singleMode,editable:t.tagsEditable,disabled:f.value&&s(B.id)==="",onUnselect:x=>m(B.id,"unselect"),onSelect:x=>m(B.id,"select"),onExclude:x=>m(B.id,"exclude"),"onUpdate:name":x=>{B.name=x,e.unref(d)("tagsChanged",l.value)}},null,8,["id","colorId","name","state","canExclude","editable","disabled","onUnselect","onSelect","onExclude","onUpdate:name"]))),128)),t.tagsEditable&&l.value.length<t.tagsMax&&l.value.length<20?(e.openBlock(),e.createBlock(b._sfc_main$2,{key:1,"data-top-icon":"",onClick:e.withModifiers(I,["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(h.$i18n.Common.Add),1)]),_:1})):e.createCommentVNode("",!0)]),_:2},[e.unref(c).mode==="setter"&&e.unref(c).filters?{name:"header",fn:e.withCtx(()=>[e.createVNode(S._sfc_main$10,{modelValue:g.value,"onUpdate:modelValue":v[1]||(v[1]=B=>g.value=B),options:k()},null,8,["modelValue","options"])]),key:"0"}:void 0,e.unref(c).mode==="setter"&&e.unref(c).filters?{name:"footer",fn:e.withCtx(()=>[e.createVNode(S._sfc_main$1,{color:"theme"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(h.$i18n.Common.Cancel),1)]),_:1}),e.createVNode(S._sfc_main$1,{onClick:v[2]||(v[2]=B=>e.unref(d)("setter",{tagsIds:e.unref(c).model.value,filters:e.unref(c).filters,filtersAction:g.value,payload:e.unref(c).payload}))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.value==="add"?h.$i18n.Common.Add:"")+" "+e.toDisplayString(g.value==="replace"?h.$i18n.Common.Replace:"")+" "+e.toDisplayString(g.value==="delete"?h.$i18n.Common.Delete:""),1)]),_:1})]),key:"1"}:void 0]),1032,["id","class"])],64))}});w.TopCompetitorSelector=be,w.TopGroupSelector=ot,w.TopProjectSelector=Ct,w.TopRegionSelector=We,w.TopTagSelector=Mt,w.TopTagSelectorPopupOpener=we,w.TopTagSelectorTagIcon=_,w.clearCache=Ie,w.dialogRegionSelector=fe,w.findRegion=me,w.genElTopTagSelectorPopupOpener=Bt,w.genSearcherByKey=te,w.renderElTopTagSelectorPopupOpener=xt,w.useItemsFromCompetitors=Ne,Object.defineProperty(w,Symbol.toStringTag,{value:"Module"})}));
|
|
1
|
+
define(["require","exports","vue","../.chunks/forms-DDNzqU6o.amd","../.chunks/popupHint.vue_vue_type_style_index_0_lang-CdQostog.amd","../.chunks/policy.vue_vue_type_style_index_0_lang-CR-aHxza.amd","../.chunks/utils-CWn_G7OO.amd","../utils/searchers.amd","../.chunks/core-DzDFXOdI.amd","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-BBix_8WK.amd","../.chunks/field-Cvv0SRcJ.amd","../utils/check.amd","../utils/string.amd","../utils/keyboard.amd","../utils/dom.amd","../popup/worker.amd","../require/css.amd!../assets/project.css"],(function(Te,w,e,S,b,E,Ee,Z,At,Vt,P,je,Me,Ae,N,Ve){"use strict";if(typeof e>"u")var e=window.Vue;const $e={class:"top-competitorSelector"},Pe={class:"top-ellipsis1"},be=e.defineComponent({__name:"competitorSelector",props:e.mergeModels({modelValue:{},items:{},showSelectAllItem:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=t,n=e.useModel(t,"modelValue"),a=e.computed(()=>{if(o.showSelectAllItem)return{icon:"",title:S.useI18n().Common.Select_all,value:"all",content:""}});return(r,l)=>(e.openBlock(),e.createElementBlock("div",$e,[e.unref(S.Core).state.isMobile?(e.openBlock(),e.createBlock(b._sfc_main,{key:0},{opener:e.withCtx(()=>[e.createVNode(S._sfc_main$1,{class:"top-competitorSelector_opener",color:"theme",icon:"",icon2:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.items.find(i=>i.value===n.value?.[0])?.content),1)]),_:1})]),contentList:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,i=>(e.openBlock(),e.createBlock(b._sfc_main$2,{class:e.normalizeClass({"top-active":n.value?.includes(i.value)}),"data-top-icon":i.icon,title:i.title,onClick:()=>n.value=[i.value]},{default:e.withCtx(()=>[e.createElementVNode("span",Pe,e.toDisplayString(i.content),1)]),_:2},1032,["class","data-top-icon","title","onClick"]))),256))]),_:1})):(e.openBlock(),e.createBlock(E._sfc_main$1,{key:1,modelValue:n.value,"onUpdate:modelValue":l[0]||(l[0]=i=>n.value=i),items:t.items,isMultiple:!0,styling:"bar",canBeEmptyMultiple:!1,selectAllItem:a.value},null,8,["modelValue","items","selectAllItem"]))]))}}),Ne=(t,o)=>e.computed(()=>e.toValue(t).filter(r=>r.on>=0||r.id===o).map(r=>({value:r.id,title:r.url+` [${r.id}]`,icon:r.id===e.toValue(o)?"":"",content:r.name}))),A=-1,y=-2,K=-1,Le={0:"Yandex",1:"Google",4:"YouTube",5:"Bing",7:"Seznam",8:"AppStore",9:"GoogleStore",20:"Yandex.com",21:"Yandex.com.tr"},de={key:y,name:"--",index:y},ce={key:y,name:"--",regions:[de],regionByIndex:new Map([[y,de]])},O={key:y,name:"Autoselect",index:y},ee={key:y,name:"Autoselect",regions:[O],regionByIndex:new Map([[y,O]])},se={countryCode:"00",depth:1,device:0,key:K,index:K,lang:"ru",name:"Without region"},Ge=()=>(O.name=S.useI18n().Common.Autoselect,O),Re=()=>(Ge(),ee.name=S.useI18n().Common.Autoselect,console.log(ee),ee),De=()=>(se.name=S.useI18n().Keywords.Without_region,se),te=(t=!1,o=!1,n=[])=>{let a;return t?a=Fe(n):a=ue(n),o&&a.set(y,Re()),a.size||a.set(y,ce),a},ue=(t,o=!0,n=[],a=!1)=>{const r=new Map;return t.forEach(l=>{if(!l.enabled||a&&typeof l.key=="number"&&l.key>1)return;const i={...l};i.regionByIndex=new Map,l.regions&&l.regions.forEach(d=>{if(o&&!d.enabled)return;const u={...d};i.regionByIndex.set(u.index,u)}),!i.regionByIndex.size&&n.length,(!l.regions||i.regionByIndex.size||n.length)&&r.set(i.key,i)}),n.forEach(l=>{if(r.has(l))return;const i={key:l,name:Le[l],regions:[],regionByIndex:new Map};r.set(i.key,i)}),r},Fe=t=>{const o=ue(t,!1,[0,1],!0);if(o.has(2)){const n=o.get(2);n&&(n.regionByIndex=new Map)}return o.forEach(n=>{if(!n.regionByIndex)return;const a={...De()};n.regionByIndex.set(a.index,a)}),o},me=(t,o,n=[])=>{const a=te(t,!1,n);let r;return a.forEach(l=>{if(!(o.searcher_key!==void 0&&o.searcher_key!=l.key)&&l.regions&&(l.regions.forEach(i=>{if(!r&&!(o.key!==void 0&&o.key!=i.key)&&!(o.index!==void 0&&o.index!=i.index)&&!(!t&&(o.lang!==void 0&&o.lang!=i.lang||o.device!==void 0&&o.device!=i.device)))return i.searcher_key=l.key,r=i,!1}),r))return!1}),r},fe=Ee.useAsyncTopDialog(()=>new Promise((t,o)=>Te(["../.chunks/dialog_regionSelectorRegions-CZ0tMVSq.amd"],t,o))),Ke=(t,o)=>{const n=S.useI18n(),a=e.ref(o.value.keys().next().value??y),r=e.computed(()=>{const l=new Map;if(o.value.forEach(i=>{let d={value:i.key,title:i.name};t.addSearcherIcon&&(d.icon=Z.getSearcherGIcon(i.key)),l.set(i.key,d)}),t.addCompare&&!l.has(y)){const i={value:"",title:"--------------------",disabled:!0};l.set(i.value,i);const d={value:A,title:n.Common.Compare};l.set(d.value,d)}return l});return{searcherKey:a,optionBySearcherKey:r}},Oe=(t,o)=>{const n=S.useI18n(),a=e.ref(y);t.modelValue.length===1&&(a.value=t.modelValue[0]),a.value===y&&(t.forFrequency?a.value=o.value?.regionByIndex.values().next().value?.key??y:a.value=o.value?.regionByIndex.keys().next().value??y);const r=e.computed(()=>{const l=new Map;return o.value.regionByIndex?.forEach(i=>{let d=i.name;if(t.forFrequency){const k={value:i.key,title:d};l.has(i.key)||l.set(i.key,k);return}i.device&&(d+=" ("+n.Common["Device_"+i.device]+")");const u=Z.getLangLabel(o.value.key||0,i.lang??"");u&&(d+=" / "+u);const g={value:i.index,title:d,icon:i.device?Z.getDeviceGIcon(i.device):void 0};l.set(i.index,g)}),l});return e.watch(r,(l,i)=>{if(t.onlySearcher||a.value!==void 0&&l.get(a.value))return;let d=l.keys().next().value;if(a.value===y||d===y){a.value=d;return}let u=i?.get(a.value)?.title||"",g=-1;for(const[k,c]of l.entries()){const f=c.title;if(typeof f!="string"||typeof k=="string")break;if(f===u){d=k;break}const s=new RegExp(` \\((${n.Common.Device_1}|${n.Common.Device_2})\\)`);let m=u,p=3;f.indexOf(m)===-1&&(m=u.replace(/^[^a-zа-я]/i,"").replace(s,""),p--),f.indexOf(m)===-1&&(m=u.replace(/ \/.*/,""),p--),f.indexOf(m)===-1&&(m=u.replace(/ \/.*/,""),m=m.replace(/^[^a-zа-я]/i,"").replace(s,""),p--),f.indexOf(m)!==-1&&(p<=g||(g=p,d=k))}a.value=d}),{regionIndex:a,optionByRegionIndex:r}},Ue=(t,o,n)=>{const a=e.ref([]),r=()=>{if(t.onlySearcher&&o.value){a.value=Array.from(o.value.keys());return}let i=[];if(t.modelValue.length>1)i=[...t.modelValue];else try{i=JSON.parse(localStorage.getItem("ui:project:regionSelector"+t.projectId+":regionsIndexes"))??[]}catch{}i.length&&(i=i.filter(d=>n.value.has(d))),i.length||(i=Array.from(n.value)),a.value=[...i]},l=()=>{a.value.length?localStorage.setItem("ui:project:regionSelector:"+t.projectId+":regionsIndexes",JSON.stringify(a.value)):localStorage.removeItem("ui:project:regionSelector:"+t.projectId+":regionsIndexes")};return e.watch(a,()=>{l()}),t.addCompare&&r(),{regionsIndexes:a}},qe=t=>{const o=e.computed(()=>te(t.forFrequency,t.autoRegion,t.searchers)),n=e.computed(()=>o.value.get(r.searcherKey.value)||ce),a=e.computed(()=>{const c=new Set;return o.value.forEach(f=>{f.regionByIndex.forEach(s=>{s.index!==K&&s.index!==y&&c.add(s.index)})}),c}),r=Ke(t,o),l=Oe(t,n),i=Ue(t,o,a);e.watch(o,()=>{if(t.onlySearcher?i.regionsIndexes.value=Array.from(o.value.keys()):i.regionsIndexes.value=i.regionsIndexes.value.filter(f=>a.value.has(f)),r.searcherKey.value===A)return;let c=o.value.keys().next().value;o.value.forEach(f=>{if(t.onlySearcher&&f.key===r.searcherKey.value){c=r.searcherKey.value;return}if(l.regionIndex.value&&f.regionByIndex?.has(l.regionIndex.value)&&(c=f.key),!t.onlySearcher){let s;c!==void 0&&(s=o.value.get(c)?.regionByIndex);const m=o.value.get(f.key)?.regionByIndex;s?.has(y)&&!m?.has(y)&&(c=f.key)}}),c!==void 0&&(r.searcherKey.value=c),l.regionIndex.value!==void 0&&!n.value?.regionByIndex?.has(l.regionIndex.value)&&(l.regionIndex.value=n.value?.regions?.keys().next().value)},{immediate:!0});const d=()=>{if(!(r.searcherKey.value===A||r.searcherKey.value===y))return r.searcherKey.value},u=()=>{if(t.onlySearcher||l.regionIndex.value===y)return;let c=l.regionIndex.value;if(t.forFrequency){const f=l.regionIndex.value;c=me(t.forFrequency,{searcher_key:d(),key:f},t.searchers)?.index}return c},g=()=>{const c=d();if(c!==void 0)return o.value.get(c)};return{selectSearcher:r,selectRegion:l,compare:i,searcherByKey:o,allRegionsIndexes:a,getSearcher:g,getRegion:()=>{const c=u();if(c!==void 0)return g()?.regionByIndex?.get(c)}}},We=e.defineComponent({__name:"regionSelector",props:e.mergeModels({projectId:{},searchers:{default:()=>[]},modelValue:{},modelValueSingle:{},addCompare:{type:Boolean},forFrequency:{type:Boolean},autoRegion:{type:Boolean},onlySearcher:{type:Boolean},addChanger:{type:Boolean,default:!0},addSearcherIcon:{type:Boolean,default:!0},addRegionIcon:{type:Boolean,default:!0}},{modelValue:{required:!0},modelModifiers:{},modelValueSingle:{},modelValueSingleModifiers:{}}),emits:["update:modelValue","update:modelValueSingle"],setup(t,{expose:o}){const n=t,a=e.useModel(t,"modelValue"),r=e.useModel(t,"modelValueSingle"),{selectSearcher:l,selectRegion:i,compare:d,searcherByKey:u,allRegionsIndexes:g,getSearcher:k,getRegion:c}=qe(n),f=()=>{const s=[];u.value.forEach(m=>{m.enabled&&m.regions.forEach(p=>{p.enabled&&s.push(p)})}),fe.open("regions",{regions:s,regionsIndexes:d.regionsIndexes.value,"@update:regionsIndexes":m=>d.regionsIndexes.value=m})};return e.watch([i.regionIndex,l.searcherKey,d.regionsIndexes],()=>{if(l.searcherKey.value===A&&d.regionsIndexes.value.length){if(JSON.stringify(a.value)===JSON.stringify(d.regionsIndexes.value))return;a.value=[...d.regionsIndexes.value]}else n.onlySearcher?(a.value=[l.searcherKey.value],l.searcherKey.value===y&&!n.autoRegion&&(a.value.length=0)):(a.value=[i.regionIndex.value],i.regionIndex.value===y&&!n.autoRegion&&(a.value.length=0));!n.onlySearcher&&!g.value.size&&(l.searcherKey.value=y)}),r.value&&e.watch(r,()=>{r.value&&(a.value=[r.value])},{immediate:!0}),e.watch(a,()=>{if(a.value[0]&&(r.value=a.value[0]),n.onlySearcher){if(!a.value.length||a.value.length===1&&!u.value.has(a.value[0])||a.value.length===1&&a.value[0]===y&&!n.autoRegion){let s=u.value.keys().next().value;s===y&&!n.autoRegion&&(s=void 0,r.value=y),s!==void 0?a.value=[s]:a.value.length=0;return}if(a.value.length>1&&JSON.stringify(a.value)!==JSON.stringify(d.regionsIndexes.value)){a.value=[...d.regionsIndexes.value];return}}else{let s=[...new Set(a.value)],m=u.value.values().next().value?.regionByIndex?.keys().next().value;if(n.forFrequency&&(m=u.value.values().next().value?.regionByIndex?.values().next().value?.key),m===y&&!n.autoRegion&&(m=void 0,r.value=y),!s.length)m!==void 0&&s.push(m);else if(s.length===1){let p=g.value;n.forFrequency&&(p=new Set,u.value.forEach(I=>{I.regionByIndex.forEach(C=>{C.index!==K&&C.index!==y&&p.add(C.key)})})),p.has(s[0])||(s=[],m!==void 0&&s.push(m))}else s=s.filter(p=>g.value.has(p)),!s.length&&m!==void 0&&s.push(m);if(JSON.stringify(a.value)!==JSON.stringify(s)){a.value=s;return}}if(!(a.value.length===1&&a.value[0]===(n.onlySearcher?l.searcherKey.value:i.regionIndex.value)))if(n.onlySearcher){if(a.value.length===1){l.searcherKey.value=a.value[0];return}l.searcherKey.value=A;return}else{if(!a.value.length)return;if(a.value.length===1&&l.searcherKey.value!==A){i.regionIndex.value=a.value[0];let s;for(const m of u.value.values()){for(const p of m.regionByIndex.values())if((n.forFrequency?p.key:p.index)===i.regionIndex.value){s=m.key;break}if(s!==void 0)break}s!==void 0&&(l.searcherKey.value=s)}else l.searcherKey.value=A,d.regionsIndexes.value=[...a.value]}},{immediate:!0}),o({getSearcher:k,getRegion:c}),(s,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-selectorRegion":!0,"top-selectorRegion-onlySearcher":t.onlySearcher})},[e.createVNode(S._sfc_main$10,{options:e.unref(l).optionBySearcherKey.value,modelValue:e.unref(l).searcherKey.value,"onUpdate:modelValue":m[0]||(m[0]=p=>e.unref(l).searcherKey.value=p),name:"searcher_key",addChanger:t.addChanger},null,8,["options","modelValue","addChanger"]),!t.onlySearcher&&e.unref(l).searcherKey.value!==e.unref(A)?(e.openBlock(),e.createBlock(S._sfc_main$10,{key:0,class:"top-select-region",options:e.unref(i).optionByRegionIndex.value,modelValue:e.unref(i).regionIndex.value,"onUpdate:modelValue":m[1]||(m[1]=p=>e.unref(i).regionIndex.value=p),name:t.forFrequency?"region_key":"region_index",addChanger:t.addChanger,"data-top-icon":t.addRegionIcon?"":void 0},null,8,["options","modelValue","name","addChanger","data-top-icon"])):e.createCommentVNode("",!0),t.addCompare&&!t.onlySearcher&&e.unref(l).searcherKey.value===e.unref(A)?(e.openBlock(),e.createBlock(S._sfc_main$1,{key:1,name:"compare",onClick:f,"data-count-compare-regions-indexes":e.unref(d).regionsIndexes.value.length},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.$i18n.Common.Selected_regions),1)]),_:1},8,["data-count-compare-regions-indexes"])):e.createCommentVNode("",!0)],2))}}),U=t=>(t=t.replace(/"/g,'"'),t.replace(/'/g,"'")),oe=t=>({...t,name:U(t.name),path:U(t.path)}),q=t=>{const o={...t,name:U(t.name)};return"folder_path"in o&&typeof o.folder_path=="string"&&(o.folder_path=U(o.folder_path)),o},V={id:0,name:"/",path:"/"};function ze(t){return t?S.useI18n()?.Common.All_folders:"/ ("+S.useI18n()?.Keywords.Root_folder+")"}const ne=(t,o,n=new Map,a={id:"root"},r=0)=>(a.childsIds=[],a.id&&(a.countAllGroupsActive=a.count_groups_active),t[a.id]&&t[a.id].forEach(l=>{l={...l},a.childsIds.push(l.id),l.id===0&&(l.name=ze(o));const i=r>1?"-".repeat(r-1)+" ":"";i&&!l.name.startsWith(i)&&(l.name=i+l.name),n.set(l.id,l),ne(t,o,n,l,r+1),a.childsIds=a.childsIds.concat(l.childsIds),a.id&&l.count_groups_active&&(a.countAllGroupsActive+=l.count_groups_active)}),n),Je=(t,o)=>{const n=t.gen(`/get/${o}/folders/`,["id","parent_id","name","path"]).changeParams({orders:["ord_path"],limit:100});return n.options.onApiLoaded=(a,r,l)=>{a.result&&(a.result=a.result.map(i=>oe(i))),l?.(a,r)},n};function ae(t,o,n){const a=Object.keys(t),r=a.map(l=>t[l]);return e.watch(r,(l,i,d)=>{const u={};l.forEach((g,k)=>{if(!Object.is(g,i[k])){const c=a[k];u[c]={old:i[k],new:g}}}),Object.keys(u).length&&o(u,d)},n)}const He=e.defineComponent({__name:"folders",props:e.mergeModels({folderId:{},folder:{},folders:{},projectId:{},canSelectAll:{type:Boolean},addChanger:{type:Boolean},addIcon:{type:Boolean,default:!0},client:{},service:{}},{folderId:{required:!0},folderIdModifiers:{},folder:{default:V},folderModifiers:{}}),emits:["update:folderId","update:folder"],setup(t){const o=t,n=e.useModel(t,"folderId"),a=e.useModel(t,"folder"),r=o.client&&!o.folders&&o.service?Je(o.client,o.service):void 0,l=e.ref(null),i=e.computed(()=>{const d=ne(o.folders??{root:[V]},o.canSelectAll),u=new Map;return d.forEach((g,k)=>{u.set(k,oe(g))}),u});return e.watch(()=>o.projectId,()=>{r?.changeParams({project_id:o.projectId}),r?.setOptions({checkFingerprint:"TopGroupSelectorFolders:"+o.projectId}),l.value?.resetCache()},{immediate:!0}),ae({modelFolder:a,modelFolderId:n},async d=>{if(n.value===a.value.id)return;if(d.modelFolder&&!d.modelFolderId){n.value=a.value.id;return}let u=i.value.get(o.folderId);u||(u=V),a.value=u,n.value=u.id},{immediate:!0}),(d,u)=>(e.openBlock(),e.createBlock(E._sfc_main,{class:"top-groupSelector_folder",modelValue:a.value,"onUpdate:modelValue":u[0]||(u[0]=g=>a.value=g),items:t.folders?[...i.value.values()]:void 0,"search-type":"inline",icon:t.addIcon?"":void 0,api:t.folders?void 0:e.unref(r),apiSetSearchParams:(...g)=>e.unref(E.apiSetSearchParamsFilter)(...g,"name"),addChanger:t.addChanger,useCache:""},null,8,["modelValue","items","icon","api","apiSetSearchParams","addChanger"]))}}),W={id:-1,name:"--",folder_id:V.id,folder_path:V.path},z={id:E.ITEM_ID_ALL,name:"All groups",folder_id:V.id,folder_path:V.path},J=()=>(z.name=S.useI18n()?.Common.All_groups,z),ge=()=>(z.name=S.useI18n()?.Keywords.Choose_group,z),Ye=(t,o,n)=>(t=[...t],o!==void 0&&(t=t.filter(a=>a.on==Number(o))),n&&n.id&&n.childsIds&&(t=t.filter(a=>a.folder_id===n.id||n.childsIds.includes(a.folder_id))),t),pe=(t,o)=>{const n=t.gen(`/get/${o}/groups/`,["id","name","folder_id","folder_path"]).changeParams({folder_id_depth:!0,limit:100});return n.options.onApiLoaded=(a,r,l)=>{a.result&&(a.result=a.result.map(i=>q(i))),l?.(a,r)},n},Qe=(t,o)=>t.gen(`/add/${o}/groups/`),_e={class:"top-groupSelector_groupItem"},Xe={key:0,class:"top-comment"},Ze={key:1,class:"top-groupSelector_groupItemFolderPath"},et=e.defineComponent({__name:"groups",props:e.mergeModels({groupId:{},group:{},projectId:{},folder:{},groups:{},on:{type:Boolean,default:void 0},canAdd:{type:[String,Boolean]},canSelectAll:{type:[Boolean,String]},autoselect:{default:"first"},addChanger:{type:Boolean,default:!0},showPath:{type:Boolean},addIcon:{type:Boolean,default:!0},client:{},service:{}},{groupId:{required:!0},groupIdModifiers:{},group:{required:!0},groupModifiers:{}}),emits:e.mergeModels(["addGroup"],["update:groupId","update:group"]),setup(t,{emit:o}){const n=t,a=o,r=e.useModel(t,"groupId"),l=e.useModel(t,"group"),i=n.client&&!n.groups&&n.service?pe(n.client,n.service):void 0,d=n.client&&n.service?Qe(n.client,n.service):void 0,u=e.ref(null),g=e.ref(void 0),k=P.genFieldFilter("folder_id","EQUALS",[n.folder?.id??0]);i?.changeParams({project_id:n.projectId,folder_id_depth:!0,filters:[k]}),n.on!==void 0&&i?.params.filters?.push(P.genFieldFilter("on","EQUALS",[Number(n.on)]));const c=e.computed(()=>{const m=g.value??n.groups;if(m)return m.map(p=>q(p))}),f=m=>{const p=q(m);l.value=p,r.value=p.id};ae({projectId:()=>n.projectId,folderId:()=>n.folder?.id,canSelectAll:()=>n.canSelectAll},m=>{if(m.projectId&&(i?.changeParams({project_id:n.projectId}),i?.setOptions({checkFingerprint:"TopGroupSelectorGroups:"+n.projectId})),m.folderId&&(k.values=[n.folder?.id??0],n.groups&&(g.value=Ye(n.groups,n.on,n.folder))),u.value?.resetCache(),(m.folderId?.old!==void 0||m.canSelectAll?.old!==void 0)&&r.value!==E.ITEM_ID_NEW){let p;n.autoselect==="first"&&(p=g.value?.[0],n.canSelectAll&&(p=e.reactive(J()))),(n.autoselect==="placeholder"||!p)&&(p=ge()),f(p)}},{immediate:!0}),ae({modelGroup:l,modelGroupId:r},async m=>{if(r.value!==l.value.id){if(m.modelGroup&&!m.modelGroupId){r.value=l.value.id;return}if(!(n.canAdd&&r.value===E.ITEM_ID_NEW)){if(n.groups){let p=g.value?.find(I=>I.id===r.value);if(!p&&n.canSelectAll&&(p=J()),p)f(p);else{const I=g.value?.[0];I&&!r.value?f(I):f(W)}}if(n.client&&!n.groups&&n.service&&(r.value||r.value===E.ITEM_ID_ALL&&!n.canSelectAll)){const p=pe(n.client,n.service).changeParams({project_id:n.projectId,id:r.value,filters:[k]});p?.setOptions({checkFingerprint:"TopGroupSelectorFindGroup:"+n.projectId});const I=await p.call();if(!I.errors?.length&&!I.result)return;!I.errors&&I.result[0]?f(I.result[0]):f(W)}}}},{immediate:!0});const s=async m=>{if(n.canAdd!=="api"||!d)return;const p=l.value,I=await d.changeParams({project_id:n.projectId,names:[m.name],to_id:n.folder?.id??V.id,to_type:"in_folder_last"}).call();I.result?(f(I.result),a("addGroup",I.result)):f(p),u.value?.resetCache(!0)};return(m,p)=>(e.openBlock(),e.createBlock(E._sfc_main,{ref_key:"refSelector",ref:u,class:"top-groupSelector_group",modelValue:l.value,"onUpdate:modelValue":p[0]||(p[0]=I=>l.value=I),items:c.value,searchType:"inline",icon:t.addIcon?"":void 0,api:t.groups?void 0:e.unref(i),apiSetSearchParams:(...I)=>e.unref(E.apiSetSearchParamsFilter)(...I,"name"),appendSearchToResult:!!t.canAdd,useAllItem:t.canSelectAll?e.unref(J)().name:!1,addChanger:t.addChanger,useCache:"",onAppendItem:s},{item:e.withCtx(({item:I})=>[e.createElementVNode("div",_e,[I.id===e.unref(E.ITEM_ID_NEW)?(e.openBlock(),e.createElementBlock("div",Xe,e.toDisplayString(m.$i18n.Common.Add)+": ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(I.name),1),I.folder_path&&t.showPath?(e.openBlock(),e.createElementBlock("span",Ze,e.toDisplayString(I.folder_path),1)):e.createCommentVNode("",!0)])]),_:1},8,["modelValue","items","icon","api","apiSetSearchParams","appendSearchToResult","useAllItem","addChanger"]))}}),tt={class:"top-groupSelector"},ot=e.defineComponent({__name:"groupSelector",props:e.mergeModels({folderId:{},folder:{},groupId:{},group:{},projectId:{},folders:{},groups:{},on:{type:Boolean,default:void 0},canSelectAllGroups:{type:Boolean},canAddGroup:{type:[String,Boolean]},autoselect:{default:"first"},addChanger:{type:Boolean,default:!0},showFolders:{type:Boolean,default:!0},showGroups:{type:Boolean,default:!0},addIcon:{type:Boolean,default:!0},client:{},service:{default:"keywords_2"}},{folderId:{required:!0},folderIdModifiers:{},folder:{},folderModifiers:{},groupId:{required:!0},groupIdModifiers:{},group:{default:W},groupModifiers:{}}),emits:e.mergeModels(["update:groups"],["update:folderId","update:folder","update:groupId","update:group"]),setup(t,{emit:o}){const n=t,a=e.useModel(t,"folderId"),r=e.useModel(t,"folder"),l=e.useModel(t,"groupId"),i=e.useModel(t,"group"),d=o,u=ne(n.folders??{root:[V]},n.canSelectAllGroups);r.value=u.get(a.value),r.value&&(r.value=oe(r.value));let g=n.groups?.find(c=>c.id===l.value);l.value||(g=n.groups?.[0]),n.canSelectAllGroups&&!g&&(g=J()),(n.autoselect==="placeholder"||!g)&&(g=ge()),g??=W,i.value=g,i.value=q(i.value);const k=c=>{let f;n.groups&&c&&(f=[...n.groups,c]),d("update:groups",f)};return(c,f)=>(e.openBlock(),e.createElementBlock("div",tt,[t.showFolders?(e.openBlock(),e.createBlock(He,{key:0,folderId:a.value,"onUpdate:folderId":f[0]||(f[0]=s=>a.value=s),folder:r.value,"onUpdate:folder":f[1]||(f[1]=s=>r.value=s),projectId:t.projectId,folders:t.folders,canSelectAll:t.canSelectAllGroups,addChanger:t.addChanger,addIcon:t.addIcon,client:t.client,service:t.service},null,8,["folderId","folder","projectId","folders","canSelectAll","addChanger","addIcon","client","service"])):e.createCommentVNode("",!0),t.showGroups?(e.openBlock(),e.createBlock(et,{key:1,groupId:l.value,"onUpdate:groupId":f[2]||(f[2]=s=>l.value=s),group:i.value,"onUpdate:group":f[3]||(f[3]=s=>i.value=s),projectId:t.projectId,folder:r.value,groups:t.groups,on:t.on,canAdd:t.canAddGroup,canSelectAll:t.canSelectAllGroups,autoselect:t.autoselect,addChanger:t.addChanger,showPath:t.showFolders&&!!t.folders?.[0],addIcon:t.addIcon,client:t.client,service:t.service,onAddGroup:k},null,8,["groupId","group","projectId","folder","groups","on","canAdd","canSelectAll","autoselect","addChanger","showPath","addIcon","client","service"])):e.createCommentVNode("",!0)]))}}),nt={class:"top-projectSelectorSubmenu_item"},at=["href","title","data-top-icon","data-right"],lt={class:"top-projectSelectorSubmenu_item"},rt=["href"],it=e.defineComponent({__name:"submenu",props:{id:{},right:{},url:{}},setup(t){const o=t,n=S.useI18n(),a=[{href:`/project/keywords/${o.id}/`,title:n.Common.Menu_phrases,icon:"",right:"2"},{href:`/project/dynamics/${o.id}/`,title:n.Common.Menu_dynamics,icon:"",right:"1"},{href:`/project/snapshots/${o.id}/`,title:n.Common.Menu_snapshots,icon:"",right:"1"},{href:`/project/competitors/${o.id}/`,title:n.Common.Menu_competitors,icon:"",right:"1"},{href:`/project/analytics/${o.id}/`,title:n.Common.Menu_analytics,icon:"",right:"5"},{href:`/project/broker/${o.id}/`,title:n.Common.Menu_broker,icon:"",right:"6"},{href:`/project/audit/${o.id}/sitemap/`,title:n.Audit.Sitemap_gen,icon:"",right:"8"},{href:`/project/audit/${o.id}/audit/`,title:n.Common.Menu_audit,icon:"",right:"8"},{href:`/project/audit/${o.id}/indexing/`,title:n.Audit.Indexing,icon:"",right:"8"},{href:`/project/audit/${o.id}/watcher/`,title:n.Audit.Watcher,icon:"",right:"9"},{href:`/project/settings/${o.id}/`,title:n.Common.Menu_settings,icon:"",right:"2"}],r=e.computed(()=>o.right.includes("0")?a.filter(l=>o.right[l.right]==="1"):a);return(l,i)=>{const d=e.resolveComponent("TopButton");return e.openBlock(),e.createBlock(e.unref(b._sfc_main),{class:"top-projectSelectorSubmenu",notch:!1,pos:"2"},{opener:e.withCtx(()=>[e.createVNode(d,{class:"top-projectSelectorSubmenu_opener","data-top-icon":"",color:"theme"})]),contentList:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,u=>(e.openBlock(),e.createElementBlock("li",nt,[e.createElementVNode("a",{href:u.href,title:u.title,"data-top-icon":u.icon,"data-right":u.right},null,8,at)]))),256)),e.createElementVNode("li",lt,[e.createElementVNode("a",{href:t.url,"data-top-icon":"",target:"_blank"},null,8,rt)])]),_:1})}}}),le=t=>({id:null,name:t,listItemProps:{type:"title"}}),re={scheduledUpdate:!1,manualUpdate:!1,guestProjects:!1},dt=(t,o)=>{const n=[],a={scheduledUpdate:le(S.useI18n().Projects.Scheduled_update),manualUpdate:le(S.useI18n().Projects.Manual_update),guestProjects:le(S.useI18n().Projects.Guest_projects)},r=o?{scheduledUpdate:!1,manualUpdate:!1,guestProjects:!1}:re;for(const l of t)!r.scheduledUpdate&&l.right?.startsWith("1")&&l.on>0&&(n.push(a.scheduledUpdate),r.scheduledUpdate=!0),!r.manualUpdate&&l.right?.startsWith("1")&&l.on===0&&(n.push(a.manualUpdate),r.manualUpdate=!0),!r.guestProjects&&l.right?.startsWith("0")&&l.on>=0&&(n.push(a.guestProjects),r.guestProjects=!0),n.push(l);return n},ct=t=>t.map(o=>({...o,listItemProps:{attrs:{title:o.name}}})),st=(t,o,n)=>{if(!t||t.length===0)return[];o&&Object.keys(re).forEach(r=>re[r]=!1);const a=ct(t);return dt(a,n)},ut=t=>{if(!t)return"";let o=t;return o=o.replace(/historyView=[^&]*/,""),o=o.replace(/competitorsIds=[^&]*/,""),o=o.replace(/searchersKeys=[^&]*/,""),o=o.replace(/regionIndex=[^&]*/,""),o=o.replace(/regionsIndexes=[^&]*/,""),o=o.replace(/folderId=[^&]*/,""),o=o.replace(/groupId=[^&]*/,""),o=o.replace(/tags=[^&]*/,""),window.mo?.getHash&&!window.mo.getHash("dataSort").toString().includes("0000-00-00")&&(o=o.replace(/dataSort=[^&]*/,"")),o=o.replace(/%22historyView%22:[^,]*,/,""),o=o.replace(/%22competitorsIds%22:\[[^\]]*],/,""),o=o.replace(/%22searchersKeys%22:\[[^\]]*],/,""),o=o.replace(/%22regionIndex%22:[^,]*,/,""),o=o.replace(/%22regionsIndexes%22:\[[^\]]*],/,""),o=o.replace(/%22folderId%22:[^,]*,/,""),o=o.replace(/%22groupId%22:[^,]*,/,""),o=o.replace(/%22tagsIds%22:\[[^\]]*],/,""),/%22dataSort%22:\{[^}]*0000-00-00[^}]*}/.test(o)||(o=o.replace(/%22dataSort%22:\{[^}]*},/,"")),o},mt=t=>{const o=location.pathname.split("/");let n="project/dynamics/",a="";o[1]=="project"&&(n=o[1]+"/"+o[2]+"/"),["watcher","indexing","sitemap","audit","direct","adwords"].includes(o[4])&&(a=o[4]+"/");let r="/"+n+t+"/"+a;const l=ut(location.hash);return r+=l,r},ve=t=>{let o=t.startsWith("http")?t:"http://"+t;return o=o.replace(/"/g,"%22"),o},ft=(t,o)=>{let n=t.params.filters??[];n=n.filter(i=>i.name!=="GEN_SEARCH_STRING()");const a=Ae.invertKeyboardLayout(o),r=o.replace(/([[^$.|?*+()])/g,"\\$1"),l=a.replace(/([[^$.|?*+()])/g,"\\$1");o&&n.push(P.genFieldFilter("GEN_SEARCH_STRING()","REGEXP",[`(${r}|${l})`])),t.changeParams({filters:n})},he=(t,o,n)=>{const a=t.gen("/get/projects_2/projects/",["id","user_id","name","url","on","right"]);return a.params={...n,filters:[P.genFieldFilter("on","GREATER_THAN_EQUALS",[0])],orders:[P.genFieldOrder("user_id","DESC",[o]),P.genFieldOrder("on","DESC"),P.genFieldOrder("favorite","DESC"),P.genFieldOrder("id","DESC")]},a.options.onApiLoaded=(r,l,i)=>{const d=l.data.filters.length===1&&l.data.offset===0||l.data.limit===1e3,u=l.data.limit===100&&l.data.filters.length>1?!0:void 0;r.result=st(r.result,d,u),i?.(r,l)},a},gt=t=>t.gen("/add/projects_2/projects/"),H="ui_project_selector_total:",pt=1440*60*1e3,T=e.shallowRef(),ye=e.ref(0),L=e.ref(null),Se=(t,o)=>{localStorage.setItem(H+t,JSON.stringify({projectsTotal:o,expiresAt:Date.now()+pt}))},vt=t=>{const o=localStorage.getItem(H+t);if(!o)return;const{projectsTotal:n,expiresAt:a}=JSON.parse(o);if(Date.now()>a){localStorage.removeItem(H+t);return}return n},Ie=(t,o=!0)=>{T.value=void 0,localStorage.removeItem(H+t),o&&ye.value++},ht={class:"top-projectSelector_item"},yt={class:"top-projectSelector_itemText"},St={class:"top-comment"},It={key:0,class:"top-comment"},kt=["href"],ke=1e3,Ct=e.defineComponent({__name:"projectSelector",props:e.mergeModels({client:{},project:{},addLinksToProjects:{type:Boolean,default:!0},excludeProjectId:{},modificator:{},placeholder:{},buttonProps:{},openerShortcut:{}},{project:{default:{id:null,name:""}},projectModifiers:{}}),emits:["update:project"],setup(t){const o=S.useI18n();if(!window.mo?.user?.id)throw new Error("TopProjectSelector: не удалось определить userId. Компонент требует авторизованного пользователя (см. window.mo.user.id)");const n=window.mo.user.id,a=t,r=e.useModel(t,"project"),l=he(a.client,n),i=gt(a.client),d=e.ref(vt(n)),u=e.ref(null),g=e.computed(()=>a.placeholder??o.Projects.Select_project),k=e.computed(()=>!T.value||!a.excludeProjectId?T.value:T.value.filter(C=>C.id!==a.excludeProjectId)),c=e.computed(()=>{if(!(!d.value&&d.value!==0))return d.value<ke?"static":"api"});e.watch(ye,()=>{p()});const f=async()=>{if(!L.value){const j=he(a.client,n,{limit:ke});L.value=j.call()}const C=await L.value;if(C.errors){L.value=null;return}return L.value=null,C},s=async()=>{if(d.value)return;const C=await f();C&&(d.value=C.total,c.value==="static"&&!T.value&&(T.value=C.result),d.value&&Se(n,d.value))},m=async C=>{const j=await i.changeParams({url:C.name,name:C.name}).call();if(!j.errors){if(T.value&&c.value==="static"){const h={id:Number(j.result),user_id:n,name:C.name,url:C.name,on:0,right:"11111111111111111111",listItemProps:{attrs:{title:C.name}}},v=T.value.findIndex(B=>B.on===0);T.value=[...T.value.slice(0,v),h,...T.value.slice(v)],d.value&&(d.value+=1,Se(n,d.value))}c.value==="api"&&Ie(n)}},p=()=>{c.value==="api"&&u.value?.resetCache(!0)},I=async()=>{if(T.value||c.value!=="static")return;const C=await f();C&&(T.value=C.result)};return e.onMounted(async()=>{await s()}),(C,j)=>{const h=e.resolveComponent("TopButton");return e.openBlock(),e.createBlock(E._sfc_main,{ref_key:"refSelector",ref:u,class:"top-projectSelector",modelValue:r.value,"onUpdate:modelValue":j[1]||(j[1]=v=>r.value=v),items:k.value,title:C.$i18n.Projects.Search_projects,modificator:t.modificator,searchFields:["id","name","url"],placeholder:g.value,hasCloserBtn:"",api:c.value==="api"?e.unref(l):void 0,apiSetSearchParams:c.value==="api"?(...v)=>e.unref(ft)(...v):void 0,useCache:"",appendSearchToResult:"",appendSearchAllowDuplicate:"",appendSearchToResultCond:e.unref(je.validUrl),appendWithoutSelect:"",buttonProps:t.buttonProps,openerShortcut:t.openerShortcut,onAppendItem:m,onOpen:I},{item:e.withCtx(({item:v})=>[e.createElementVNode("div",ht,[e.createElementVNode("div",yt,[v.id?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(e.unref(Me.ellipsis)(v.name,20))+" ",1),e.createElementVNode("span",St," id "+e.toDisplayString(v.id),1)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[v.listItemProps?.type?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",It,e.toDisplayString(C.$i18n.Projects.Add_project)+": ",1)),e.createTextVNode(" "+e.toDisplayString(v.name),1)],64))]),v.id?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[t.addLinksToProjects?(e.openBlock(),e.createElementBlock("a",{key:0,class:"top-projectSelector_itemLink",href:e.unref(mt)(v.id)},null,8,kt)):e.createCommentVNode("",!0),C.$core.state.isMobile?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(h,{key:1,class:"top-projectSelector_itemExtLink",href:e.unref(ve)(v.url),"data-top-icon":"",color:"theme",target:"_blank",onClick:j[0]||(j[0]=e.withModifiers(()=>{},["stop"]))},null,8,["href"])),e.createVNode(it,{id:v.id,right:v.right??void 0,url:e.unref(ve)(v.url)},null,8,["id","right","url"])],64)):e.createCommentVNode("",!0)])]),_:1},8,["modelValue","items","title","modificator","placeholder","api","apiSetSearchParams","appendSearchToResultCond","buttonProps","openerShortcut"])}}}),Ce=t=>"-"+t,G=t=>t[0]==="-"?t.substring(1):t,Y=(t,o)=>{t=G(t);const n=o.find(a=>a.id===t);if(n)return n},Bt=(t,o,n)=>{o||(o={id:t.id}),o.id=t.id,o.pos??="3",o.notch??=!0,o.posBy??="fixed";const a=Ve.TopPopupWorker.genElPopupOpener("div",o);return a.classList.add("top-tagSelector"),t.useTopButton&&a.classList.add("top-tagSelector-useTopButton","top-button","top-color_theme","top-as-selector"),t.useTopButton||a.classList.add("top-tagSelector-custom"),t.mode==="filter"&&a.classList.add("top-tagSelector-filter"),t.mode==="setter"&&!t.filters&&a.classList.add("top-tagSelector-setter_single"),t.mode==="setter"&&t.filters&&a.classList.add("top-tagSelector-setter_several"),a.onclick=r=>{r.preventDefault(),r.stopPropagation(),a.onclick=null;const l=e.ref(t.modelValue),i={model:l,mode:t.mode,targetId:t.targetId,filters:t.filters,payload:t.payload};N.storage(a,"topTagSelectorTarget",i),delete a.dataset.topPopupDisabled,e.isRef(t.modelValue)||e.watch(l,()=>{t.modelValue=l.value,Q(a,t,n)}),a.click()},e.isRef(t.modelValue)?e.watch(t.modelValue,()=>Q(a,t,n)):N.storage(a,"topTagSelectorRender",r=>{t.modelValue=r;const l=N.storage(a,"topTagSelectorTarget");l&&(l.model.value=r),Q(a,t,n)}),Q(a,t,n),a},xt=(t,o)=>{N.storage(t,"topTagSelectorRender")?.(o)},Q=(t,o,n)=>{const a=e.unref(o.modelValue);if(t.classList.toggle("top-tagSelector-selectedOne",!a.length||a.length===1),t.classList.toggle("top-tagSelector-toTwoLine",a.length>5),o.mode==="setter"&&o.filters){t.innerHTML=`<div>${n}</div>`;return}if(t.innerHTML="",!a.length&&o.mode==="filter"){const r=Be({id:"all",colorId:"",name:S.useI18n().Common?.All_tags??"",state:""});t.append(r)}a.forEach(r=>{const l=Be({id:G(r),colorId:Y(r,o.tags)?.color_id??"",name:Y(r,o.tags)?.name??"",state:G(r)===r?"selected":"excluded"});t.append(l)})},Be=t=>{const o=document.createElement("div");return o.classList.add("top-tagSelector_tagIcon"),o.classList.toggle("top-tagSelector-active",!!t.state),o.classList.toggle("top-tagSelector-excluded",t.state==="excluded"),o.dataset.tag_id=t.id,o.dataset.tag_color_id=t.colorId,o.title=t.name,o},wt=[{id:"1",name:"Without Tag",color_id:"1"},{id:"2",name:"Red",color_id:"2"},{id:"3",name:"Orange",color_id:"3"},{id:"4",name:"Yellow",color_id:"4"},{id:"5",name:"Blue",color_id:"5"},{id:"6",name:"Purple",color_id:"6"},{id:"7",name:"Green",color_id:"7"},{id:"8",name:"Magenta",color_id:"8"},{id:"9",name:"Dark blue",color_id:"9"},{id:"10",name:"Turquoise",color_id:"10"}],Tt=["data-tag_id","data-tag_color_id","title"],_=e.defineComponent({__name:"tagIcon",props:{id:{},colorId:{},name:{},state:{}},setup(t){return(o,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-tagSelector_tagIcon":!0,"top-tagSelector-active":!!t.state,"top-tagSelector-excluded":t.state==="excluded"}),"data-tag_id":t.id,"data-tag_color_id":t.colorId,title:t.name},null,10,Tt))}}),Et=["contenteditable","onKeydown"],xe=e.defineComponent({__name:"tagPopupListItem",props:e.mergeModels({editable:{type:Boolean},disabled:{type:Boolean},canExclude:{type:Boolean},id:{},colorId:{},name:{},state:{}},{name:{required:!0},nameModifiers:{}}),emits:e.mergeModels(["update:name","unselect","exclude","select"],["update:name"]),setup(t,{emit:o}){const n=t,a=o,r=e.useModel(t,"name"),l=e.ref(null),i=e.computed(()=>navigator.userAgent.indexOf("Firefox")!=-1?{contenteditable:d.value,onpaste:f=>f.preventDefault()}:{}),d=e.ref(!1),u=async()=>{d.value=!0,await e.nextTick(),l.value?.focus()},g=()=>{const f=l.value?.innerText;if(!f)return k();l.value&&(l.value.innerText=f),d.value=!1,a("update:name",f)},k=async()=>{l.value&&(l.value.innerText=n.name),d.value=!1},c=f=>{if(d.value||n.disabled)return;let s="selected";n.canExclude&&(f.ctrlKey||f.metaKey)&&(s="excluded"),n.state==s&&(s=""),s===""&&a("unselect"),s==="selected"&&a("select"),s==="excluded"&&a("exclude")};return(f,s)=>(e.openBlock(),e.createBlock(b._sfc_main$2,{class:e.normalizeClass({"top-tagSelector_tagListItem":!0,"top-tagSelector_tagListItem-inEdit":d.value,"top-tagSelector_tagListItem-disabled":t.disabled,"top-tagSelector_tagListItem-canExclude":t.canExclude,"top-tagSelector-active":!!t.state,"top-tagSelector-excluded":t.state==="excluded"}),onClick:e.withModifiers(c,["stop"])},{default:e.withCtx(()=>[e.createVNode(_,{id:t.id,name:r.value,colorId:t.colorId,state:t.state},null,8,["id","name","colorId","state"]),e.createElementVNode("span",e.mergeProps({ref_key:"elName",ref:l,class:"top-tagSelector_tagListItemName",contenteditable:d.value?"plaintext-only":!1},i.value,{onKeydown:[e.withKeys(e.withModifiers(g,["stop"]),["enter"]),e.withKeys(e.withModifiers(k,["stop"]),["esc"])]}),e.toDisplayString(r.value),17,Et),t.editable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[d.value?(e.openBlock(),e.createElementBlock("span",{key:1,"data-top-icon":"",class:"top-tagSelector_edit",onClick:e.withModifiers(g,["stop"])})):(e.openBlock(),e.createElementBlock("span",{key:0,"data-top-icon":"",class:"top-tagSelector_edit",onClick:u}))],64)):e.createCommentVNode("",!0)]),_:1},8,["class"]))}}),jt={key:1},we=e.defineComponent({inheritAttrs:!1,__name:"popupOpener",props:e.mergeModels({modelValue:{},id:{},tags:{},mode:{},targetId:{},filters:{},useTopButton:{type:Boolean},payload:{},styling:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=t,n=e.useModel(t,"modelValue"),a=o.useTopButton?S._sfc_main$1:"div",r=o.useTopButton?"html":"default",l={model:n,mode:o.mode,targetId:o.targetId,filters:o.filters,payload:o.payload};return(i,d)=>{const u=e.resolveDirective("top-data");return e.openBlock(),e.createBlock(b._sfc_main$1,{id:t.id},{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(a)),e.mergeProps({class:{"top-tagSelector":!0,"top-tagSelector-useTopButton":o.useTopButton,"top-tagSelector-custom":!o.useTopButton,"top-as-selector":o.useTopButton,"top-tagSelector-filter":o.mode==="filter","top-tagSelector-setter_single":o.mode==="setter"&&!t.filters,"top-tagSelector-setter_several":o.mode==="setter"&&t.filters,"top-tagSelector-selectedOne":!n.value.length||n.value.length===1,"top-tagSelector-toTwoLine":n.value.length>5},color:"theme",styling:t.styling},i.$attrs),{[e.unref(r)]:e.withCtx(()=>[!n.value.length&&t.mode==="filter"?(e.openBlock(),e.createBlock(_,{key:0,id:"all",colorId:"",name:i.$i18n.Common.All_tags??"",state:""},null,8,["name"])):e.createCommentVNode("",!0),t.mode==="setter"&&t.filters?(e.openBlock(),e.createElementBlock("div",jt,[e.renderSlot(i.$slots,"default")])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(n.value,g=>(e.openBlock(),e.createBlock(_,{id:e.unref(G)(g),colorId:e.unref(Y)(g,t.tags)?.color_id??"",name:e.unref(Y)(g,t.tags)?.name??"",state:e.unref(G)(g)===g?"selected":"excluded"},null,8,["id","colorId","name","state"]))),256))]),_:2},1040,["class","styling"])),[[u,l,"topTagSelectorTarget"]])]),_:3},8,["id"])}}}),Mt=e.defineComponent({__name:"tagSelector",props:e.mergeModels({modelValue:{},tags:{},tagsEditable:{type:Boolean},tagsMax:{default:10},id:{},singleMode:{type:Boolean},requiredForSetter:{type:Boolean,default:!0},maxTagsForSetter:{},emitDelay:{default:500},useTopButton:{type:Boolean,default:!0},styling:{}},{modelValue:{required:!0},modelModifiers:{},tags:{default:e.reactive(wt)},tagsModifiers:{}}),emits:e.mergeModels(["selector","setter","tagsChanged"],["update:modelValue","update:tags"]),setup(t,{emit:o}){const n=S.useI18n(),a=t,r=e.useModel(t,"modelValue"),l=e.useModel(t,"tags"),i=o,d=S.debounce((h,v)=>{i(h,v)},a.emitDelay);a.singleMode&&!r.value.length&&(r.value=[l.value[0].id]);const u=a.id??"top-popup-id-"+Math.random(),g=e.ref("add"),k=()=>{const h=" "+n.Common.Tags?.toLowerCase(),v=new Map;return v.set("add",{value:"add",title:n.Common.Add+h}),v.set("replace",{value:"replace",title:n.Common.Replace+h}),v.set("delete",{value:"delete",title:n.Common.Delete+h}),v};let c=e.shallowRef({model:r,mode:"filter",targetId:void 0,filters:void 0,payload:void 0});e.watch(r,()=>{d("selector",r.value)});const f=e.computed(()=>{if(c.value.mode==="setter"&&a.maxTagsForSetter&&!c.value.filters)return c.value.model.value.length>=a.maxTagsForSetter}),s=h=>{if(h!=="all"){if(c.value.model.value.includes(h))return"selected";if(c.value.model.value.includes(Ce(h)))return"excluded"}return h==="all"&&!c.value.model.value.length?"selected":""},m=(h,v)=>{const B=Ce(h);let x=c.value.model.value.filter(M=>M!==h&&M!==B);v==="select"&&x.push(h),v==="exclude"&&x.push(B),c.value.mode==="setter"&&c.value.targetId!==void 0&&a.requiredForSetter&&(x.length||x.push("1"),x.length===2&&c.value.model.value.length===1&&c.value.model.value[0]==="1"&&(x=x.filter(M=>M!=="1"))),a.singleMode&&!c.value.filters&&(x.length||(x=c.value.model.value),x.length>1&&(x=[x[x.length-1]])),x.sort((M,X)=>{if(!a.tags)return 0;const R=a.tags.findIndex(F=>F.id===M),D=a.tags.findIndex(F=>F.id===X);return R-D}),c.value.model.value=x,c.value.mode==="setter"&&c.value.targetId!==void 0&&d("setter",{tagsIds:x,targetId:c.value.targetId,payload:c.value.payload})},p=e.computed(()=>{let h="top-tagSelector_popup";return c.value.mode==="filter"&&(h+=" top-tagSelector_popup-filter"),c.value.mode==="setter"&&(h+=" top-tagSelector_popup-setter"),h}),I=()=>{const h=prompt("","New tag");if(!h||h==="New tag")return;const v=l.value.length+1;l.value.push({id:String(v),name:h,color_id:String((v-1)%10+1)}),i("tagsChanged",l.value)},C=h=>{if(c.value=N.storage(h.elPopupOpener,"topTagSelectorTarget"),!c.value)throw new Error("Open popup TopTagSelector required v-data:topTagSelectorTarget");if(c.value.filters&&(g.value="add",c.value.model.value=[]),!S.Core.$?.ui.sortable){console.info("Для работы сортировки требуется глобальная загрузка jQuery UI Sortable");return}!S.Core.state.isMobile&&!S.Core.state.isMobileUA&&l.value&&$(h.elPopup).sortable({items:'li:has([data-tag_id]:not([data-tag_id="all"]))',cancel:'[contenteditable="plaintext-only"], [contenteditable="true"]',distance:10,stop:function(v,B){if(!l.value)return;const x=$(B.item).parent().find("[data-tag_id]"),M=[];x.each((X,R)=>{if(!l.value)return;const D=$(R).attr("data-tag_id");M.push(D)}),l.value.sort((X,R)=>{const D=M.findIndex(ie=>ie===X.id),F=M.findIndex(ie=>ie===R.id);return D-F}),d("tagsChanged",l.value)}})},j=h=>{S.Core.$?.ui.sortable&&$(h.elPopup).data("ui-sortable")&&$(h.elPopup).sortable("destroy")};return(h,v)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(we,{modelValue:r.value,"onUpdate:modelValue":v[0]||(v[0]=B=>r.value=B),id:e.unref(u),tags:l.value,styling:t.styling,mode:"filter",useTopButton:t.useTopButton},null,8,["modelValue","id","tags","styling","useTopButton"]),e.createVNode(b._sfc_main,{id:e.unref(u),class:e.normalizeClass(p.value),onOpen:v[4]||(v[4]=B=>C(B)),onClose:v[5]||(v[5]=B=>j(B)),"transition-duration":50},e.createSlots({contentList:e.withCtx(()=>[e.unref(c).mode==="filter"&&!t.singleMode?(e.openBlock(),e.createBlock(xe,{key:0,id:"all",colorId:"",name:h.$i18n.Common.All_tags??"",state:e.unref(c).model.value.length?"":"selected",onSelect:v[3]||(v[3]=B=>e.unref(c).model.value=[])},null,8,["name","state"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,B=>(e.openBlock(),e.createBlock(xe,{key:B.id,id:B.id,colorId:B.color_id,name:B.name,state:s(B.id),canExclude:e.unref(c).mode==="filter"&&!t.singleMode,editable:t.tagsEditable,disabled:f.value&&s(B.id)==="",onUnselect:x=>m(B.id,"unselect"),onSelect:x=>m(B.id,"select"),onExclude:x=>m(B.id,"exclude"),"onUpdate:name":x=>{B.name=x,e.unref(d)("tagsChanged",l.value)}},null,8,["id","colorId","name","state","canExclude","editable","disabled","onUnselect","onSelect","onExclude","onUpdate:name"]))),128)),t.tagsEditable&&l.value.length<t.tagsMax&&l.value.length<20?(e.openBlock(),e.createBlock(b._sfc_main$2,{key:1,"data-top-icon":"",onClick:e.withModifiers(I,["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(h.$i18n.Common.Add),1)]),_:1})):e.createCommentVNode("",!0)]),_:2},[e.unref(c).mode==="setter"&&e.unref(c).filters?{name:"header",fn:e.withCtx(()=>[e.createVNode(S._sfc_main$10,{modelValue:g.value,"onUpdate:modelValue":v[1]||(v[1]=B=>g.value=B),options:k()},null,8,["modelValue","options"])]),key:"0"}:void 0,e.unref(c).mode==="setter"&&e.unref(c).filters?{name:"footer",fn:e.withCtx(()=>[e.createVNode(S._sfc_main$1,{color:"theme"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(h.$i18n.Common.Cancel),1)]),_:1}),e.createVNode(S._sfc_main$1,{onClick:v[2]||(v[2]=B=>e.unref(d)("setter",{tagsIds:e.unref(c).model.value,filters:e.unref(c).filters,filtersAction:g.value,payload:e.unref(c).payload}))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.value==="add"?h.$i18n.Common.Add:"")+" "+e.toDisplayString(g.value==="replace"?h.$i18n.Common.Replace:"")+" "+e.toDisplayString(g.value==="delete"?h.$i18n.Common.Delete:""),1)]),_:1})]),key:"1"}:void 0]),1032,["id","class"])],64))}});w.TopCompetitorSelector=be,w.TopGroupSelector=ot,w.TopProjectSelector=Ct,w.TopRegionSelector=We,w.TopTagSelector=Mt,w.TopTagSelectorPopupOpener=we,w.TopTagSelectorTagIcon=_,w.clearCache=Ie,w.dialogRegionSelector=fe,w.findRegion=me,w.genElTopTagSelectorPopupOpener=Bt,w.genSearcherByKey=te,w.renderElTopTagSelectorPopupOpener=xt,w.useItemsFromCompetitors=Ne,Object.defineProperty(w,Symbol.toStringTag,{value:"Module"})}));
|
|
2
2
|
//# sourceMappingURL=project.amd.js.map
|