@topvisor/ui 1.4.3-fixVTopTooltip.2 → 1.4.3-fixVTopTooltip.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.
Files changed (28) hide show
  1. package/.chunks/policy.vue_vue_type_style_index_0_lang-BFldQm5e.es.js +519 -0
  2. package/.chunks/policy.vue_vue_type_style_index_0_lang-BFldQm5e.es.js.map +1 -0
  3. package/.chunks/policy.vue_vue_type_style_index_0_lang-CR-aHxza.amd.js +2 -0
  4. package/.chunks/policy.vue_vue_type_style_index_0_lang-CR-aHxza.amd.js.map +1 -0
  5. package/formsExt/formsExt.amd.js +1 -1
  6. package/formsExt/formsExt.js +1 -1
  7. package/icomoon/Topvisor icons.json +285 -229
  8. package/icomoon/demo.html +29 -1
  9. package/icomoon/fonts/Topvisor-2.eot +0 -0
  10. package/icomoon/fonts/Topvisor-2.svg +2 -0
  11. package/icomoon/fonts/Topvisor-2.ttf +0 -0
  12. package/icomoon/fonts/Topvisor-2.woff +0 -0
  13. package/icomoon/selection.json +1 -1
  14. package/icomoon/style.css +11 -5
  15. package/package.json +1 -1
  16. package/project/project.amd.js +1 -1
  17. package/project/project.amd.js.map +1 -1
  18. package/project/project.js +45 -43
  19. package/project/project.js.map +1 -1
  20. package/src/components/formsExt/selector2/composables/useMenu.d.ts +1 -1
  21. package/src/components/formsExt/selector2/types.d.ts +6 -0
  22. package/src/components/project/groupSelector/groups/groups.vue.d.ts +1 -0
  23. package/src/components/project/project.d.ts +1 -0
  24. package/src/components/project/projectSelector/projectSelector.vue.d.ts +1 -0
  25. package/.chunks/policy.vue_vue_type_style_index_0_lang-BavS2pf9.es.js +0 -517
  26. package/.chunks/policy.vue_vue_type_style_index_0_lang-BavS2pf9.es.js.map +0 -1
  27. package/.chunks/policy.vue_vue_type_style_index_0_lang-gH1s78kS.amd.js +0 -2
  28. package/.chunks/policy.vue_vue_type_style_index_0_lang-gH1s78kS.amd.js.map +0 -1
package/icomoon/style.css CHANGED
@@ -1,10 +1,10 @@
1
1
  @font-face {
2
2
  font-family: 'Topvisor-2';
3
- src: url('fonts/Topvisor-2.eot?4u73ki');
4
- src: url('fonts/Topvisor-2.eot?4u73ki#iefix') format('embedded-opentype'),
5
- url('fonts/Topvisor-2.ttf?4u73ki') format('truetype'),
6
- url('fonts/Topvisor-2.woff?4u73ki') format('woff'),
7
- url('fonts/Topvisor-2.svg?4u73ki#Topvisor-2') format('svg');
3
+ src: url('fonts/Topvisor-2.eot?hdob41');
4
+ src: url('fonts/Topvisor-2.eot?hdob41#iefix') format('embedded-opentype'),
5
+ url('fonts/Topvisor-2.ttf?hdob41') format('truetype'),
6
+ url('fonts/Topvisor-2.woff?hdob41') format('woff'),
7
+ url('fonts/Topvisor-2.svg?hdob41#Topvisor-2') format('svg');
8
8
  font-weight: normal;
9
9
  font-style: normal;
10
10
  font-display: block;
@@ -199,6 +199,12 @@
199
199
  .icon2-snapshot:before {
200
200
  content: "\e91b";
201
201
  }
202
+ .icon2-ai-overview-short:before {
203
+ content: "\ea1c";
204
+ }
205
+ .icon2-ai-overview-full:before {
206
+ content: "\ea1d";
207
+ }
202
208
  .icon2-plan:before {
203
209
  content: "\ea19";
204
210
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@topvisor/ui",
3
3
  "private": false,
4
- "version": "1.4.3-fixVTopTooltip.2",
4
+ "version": "1.4.3-fixVTopTooltip.5",
5
5
  "type": "module",
6
6
  "description": "Topvisor UI-kit Vue",
7
7
  "author": "Topvisor",
@@ -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-gH1s78kS.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(Ce,x,e,S,P,w,Be,X,jt,Et,A,xe,Te,we,N,je){"use strict";if(typeof e>"u")var e=window.Vue;const Ee={class:"top-competitorSelector"},Me={class:"top-ellipsis1"},Ve=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",Ee,[e.unref(S.Core).state.isMobile?(e.openBlock(),e.createBlock(P._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(P._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",Me,e.toDisplayString(i.content),1)]),_:2},1032,["class","data-top-icon","title","onClick"]))),256))]),_:1})):(e.openBlock(),e.createBlock(w._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"]))]))}}),Ae=(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}))),M=-1,y=-2,F=-1,$e={0:"Yandex",1:"Google",4:"YouTube",5:"Bing",7:"Seznam",8:"AppStore",9:"GoogleStore",20:"Yandex.com",21:"Yandex.com.tr"},le={key:y,name:"--",index:y},re={key:y,name:"--",regions:[le],regionByIndex:new Map([[y,le]])},U={key:y,name:"Autoselect",index:y},Z={key:y,name:"Autoselect",regions:[U],regionByIndex:new Map([[y,U]])},ie={countryCode:"00",depth:1,device:0,key:F,index:F,lang:"ru",name:"Without region"},Pe=()=>(U.name=S.useI18n().Common.Autoselect,U),be=()=>(Pe(),Z.name=S.useI18n().Common.Autoselect,console.log(Z),Z),Ne=()=>(ie.name=S.useI18n().Keywords.Without_region,ie),_=(t=!1,o=!1,n=[])=>{let a;return t?a=Le(n):a=de(n),o&&a.set(y,be()),a.size||a.set(y,re),a},de=(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(c=>{if(o&&!c.enabled)return;const m={...c};i.regionByIndex.set(m.index,m)}),!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:$e[l],regions:[],regionByIndex:new Map};r.set(i.key,i)}),r},Le=t=>{const o=de(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={...Ne()};n.regionByIndex.set(a.index,a)}),o},ce=(t,o,n=[])=>{const a=_(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},se=Be.useAsyncTopDialog(()=>new Promise((t,o)=>Ce(["../.chunks/dialog_regionSelectorRegions-CZ0tMVSq.amd"],t,o))),Ge=(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 c={value:i.key,title:i.name};t.addSearcherIcon&&(c.icon=X.getSearcherGIcon(i.key)),l.set(i.key,c)}),t.addCompare&&!l.has(y)){const i={value:"",title:"--------------------",disabled:!0};l.set(i.value,i);const c={value:M,title:n.Common.Compare};l.set(c.value,c)}return l});return{searcherKey:a,optionBySearcherKey:r}},Re=(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 c=i.name;if(t.forFrequency){const C={value:i.key,title:c};l.has(i.key)||l.set(i.key,C);return}i.device&&(c+=" ("+n.Common["Device_"+i.device]+")");const m=X.getLangLabel(o.value.key||0,i.lang??"");m&&(c+=" / "+m);const f={value:i.index,title:c,icon:i.device?X.getDeviceGIcon(i.device):void 0};l.set(i.index,f)}),l});return e.watch(r,(l,i)=>{if(t.onlySearcher||a.value!==void 0&&l.get(a.value))return;let c=l.keys().next().value;if(a.value===y||c===y){a.value=c;return}let m=i?.get(a.value)?.title||"",f=-1;for(const[C,d]of l.entries()){const g=d.title;if(typeof g!="string"||typeof C=="string")break;if(g===m){c=C;break}const s=new RegExp(` \\((${n.Common.Device_1}|${n.Common.Device_2})\\)`);let u=m,p=3;g.indexOf(u)===-1&&(u=m.replace(/^[^a-zа-я]/i,"").replace(s,""),p--),g.indexOf(u)===-1&&(u=m.replace(/ \/.*/,""),p--),g.indexOf(u)===-1&&(u=m.replace(/ \/.*/,""),u=u.replace(/^[^a-zа-я]/i,"").replace(s,""),p--),g.indexOf(u)!==-1&&(p<=f||(f=p,c=C))}a.value=c}),{regionIndex:a,optionByRegionIndex:r}},Ke=(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(c=>n.value.has(c))),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}},Oe=t=>{const o=e.computed(()=>_(t.forFrequency,t.autoRegion,t.searchers)),n=e.computed(()=>o.value.get(r.searcherKey.value)||re),a=e.computed(()=>{const d=new Set;return o.value.forEach(g=>{g.regionByIndex.forEach(s=>{s.index!==F&&s.index!==y&&d.add(s.index)})}),d}),r=Ge(t,o),l=Re(t,n),i=Ke(t,o,a);e.watch(o,()=>{if(t.onlySearcher?i.regionsIndexes.value=Array.from(o.value.keys()):i.regionsIndexes.value=i.regionsIndexes.value.filter(g=>a.value.has(g)),r.searcherKey.value===M)return;let d=o.value.keys().next().value;o.value.forEach(g=>{if(t.onlySearcher&&g.key===r.searcherKey.value){d=r.searcherKey.value;return}if(l.regionIndex.value&&g.regionByIndex?.has(l.regionIndex.value)&&(d=g.key),!t.onlySearcher){let s;d!==void 0&&(s=o.value.get(d)?.regionByIndex);const u=o.value.get(g.key)?.regionByIndex;s?.has(y)&&!u?.has(y)&&(d=g.key)}}),d!==void 0&&(r.searcherKey.value=d),l.regionIndex.value!==void 0&&!n.value?.regionByIndex?.has(l.regionIndex.value)&&(l.regionIndex.value=n.value?.regions?.keys().next().value)},{immediate:!0});const c=()=>{if(!(r.searcherKey.value===M||r.searcherKey.value===y))return r.searcherKey.value},m=()=>{if(t.onlySearcher||l.regionIndex.value===y)return;let d=l.regionIndex.value;if(t.forFrequency){const g=l.regionIndex.value;d=ce(t.forFrequency,{searcher_key:c(),key:g},t.searchers)?.index}return d},f=()=>{const d=c();if(d!==void 0)return o.value.get(d)};return{selectSearcher:r,selectRegion:l,compare:i,searcherByKey:o,allRegionsIndexes:a,getSearcher:f,getRegion:()=>{const d=m();if(d!==void 0)return f()?.regionByIndex?.get(d)}}},De=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:c,searcherByKey:m,allRegionsIndexes:f,getSearcher:C,getRegion:d}=Oe(n),g=()=>{const s=[];m.value.forEach(u=>{u.enabled&&u.regions.forEach(p=>{p.enabled&&s.push(p)})}),se.open("regions",{regions:s,regionsIndexes:c.regionsIndexes.value,"@update:regionsIndexes":u=>c.regionsIndexes.value=u})};return e.watch([i.regionIndex,l.searcherKey,c.regionsIndexes],()=>{if(l.searcherKey.value===M&&c.regionsIndexes.value.length){if(JSON.stringify(a.value)===JSON.stringify(c.regionsIndexes.value))return;a.value=[...c.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&&!f.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&&!m.value.has(a.value[0])||a.value.length===1&&a.value[0]===y&&!n.autoRegion){let s=m.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(c.regionsIndexes.value)){a.value=[...c.regionsIndexes.value];return}}else{let s=[...new Set(a.value)],u=m.value.values().next().value?.regionByIndex?.keys().next().value;if(n.forFrequency&&(u=m.value.values().next().value?.regionByIndex?.values().next().value?.key),u===y&&!n.autoRegion&&(u=void 0,r.value=y),!s.length)u!==void 0&&s.push(u);else if(s.length===1){let p=f.value;n.forFrequency&&(p=new Set,m.value.forEach(b=>{b.regionByIndex.forEach(I=>{I.index!==F&&I.index!==y&&p.add(I.key)})})),p.has(s[0])||(s=[],u!==void 0&&s.push(u))}else s=s.filter(p=>f.value.has(p)),!s.length&&u!==void 0&&s.push(u);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=M;return}else{if(!a.value.length)return;if(a.value.length===1&&l.searcherKey.value!==M){i.regionIndex.value=a.value[0];let s;for(const u of m.value.values()){for(const p of u.regionByIndex.values())if((n.forFrequency?p.key:p.index)===i.regionIndex.value){s=u.key;break}if(s!==void 0)break}s!==void 0&&(l.searcherKey.value=s)}else l.searcherKey.value=M,c.regionsIndexes.value=[...a.value]}},{immediate:!0}),o({getSearcher:C,getRegion:d}),(s,u)=>(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":u[0]||(u[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(M)?(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":u[1]||(u[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(M)?(e.openBlock(),e.createBlock(S._sfc_main$1,{key:1,name:"compare",onClick:g,"data-count-compare-regions-indexes":e.unref(c).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))}}),V={id:0,name:"/",path:"/"};function Fe(t){return t?S.useI18n()?.Common.All_folders:"/ ("+S.useI18n()?.Keywords.Root_folder+")"}const ee=(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=Fe(o));const i=r>1?"-".repeat(r-1)+" ":"";i&&!l.name.startsWith(i)&&(l.name=i+l.name),n.set(l.id,l),ee(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),Ue=(t,o)=>t.gen(`/get/${o}/folders/`,["id","parent_id","name","path"]).changeParams({orders:["ord_path"],limit:100});function te(t,o,n){const a=Object.keys(t),r=a.map(l=>t[l]);return e.watch(r,(l,i,c)=>{const m={};l.forEach((f,C)=>{if(!Object.is(f,i[C])){const d=a[C];m[d]={old:i[C],new:f}}}),Object.keys(m).length&&o(m,c)},n)}const qe=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?Ue(o.client,o.service):void 0,l=e.ref(null);e.watch(()=>o.projectId,()=>{r?.changeParams({project_id:o.projectId}),r?.setOptions({checkFingerprint:"TopGroupSelectorFolders:"+o.projectId}),l.value?.resetCache()},{immediate:!0});const i=e.computed(()=>ee(o.folders??{root:[V]},o.canSelectAll));return te({modelFolder:a,modelFolderId:n},async c=>{if(n.value===a.value.id)return;if(c.modelFolder&&!c.modelFolderId){n.value=a.value.id;return}let m=i.value.get(o.folderId);m||(m=V),a.value=m,n.value=m.id},{immediate:!0}),(c,m)=>(e.openBlock(),e.createBlock(w._sfc_main,{class:"top-groupSelector_folder",modelValue:a.value,"onUpdate:modelValue":m[0]||(m[0]=f=>a.value=f),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:(...f)=>e.unref(w.apiSetSearchParamsFilter)(...f,"name"),addChanger:t.addChanger,useCache:""},null,8,["modelValue","items","icon","api","apiSetSearchParams","addChanger"]))}}),q={id:-1,name:"--",folder_id:V.id,folder_path:V.path},W={id:w.ITEM_ID_ALL,name:"All groups",folder_id:V.id,folder_path:V.path},L=()=>(W.name=S.useI18n()?.Common.All_groups,W),ue=()=>(W.name=S.useI18n()?.Keywords.Choose_group,W),We=(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),me=(t,o)=>t.gen(`/get/${o}/groups/`,["id","name","folder_id","folder_path"]).changeParams({folder_id_depth:!0,limit:100}),ze=(t,o)=>t.gen(`/add/${o}/groups/`),Je={class:"top-groupSelector_groupItem"},He={key:0,class:"top-comment"},Ye={key:1,class:"top-groupSelector_groupItemFolderPath"},Qe=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?me(n.client,n.service):void 0,c=n.client?ze(n.client,n.service):void 0,m=e.ref(null),f=e.ref(void 0),C=A.genFieldFilter("folder_id","EQUALS",[n.folder?.id??0]);i?.changeParams({project_id:n.projectId,folder_id_depth:!0,filters:[C]}),n.on!==void 0&&i?.params.filters?.push(A.genFieldFilter("on","EQUALS",[Number(n.on)]));const d=s=>{l.value=s,r.value=s.id};te({projectId:()=>n.projectId,folderId:()=>n.folder?.id,canSelectAll:()=>n.canSelectAll},s=>{if(s.projectId&&(i?.changeParams({project_id:n.projectId}),i?.setOptions({checkFingerprint:"TopGroupSelectorGroups:"+n.projectId})),s.folderId&&(C.values=[n.folder?.id??0],n.groups&&(f.value=We(n.groups,n.on,n.folder))),m.value?.resetCache(),(s.folderId?.old!==void 0||s.canSelectAll?.old!==void 0)&&r.value!==w.ITEM_ID_NEW){let u;n.autoselect==="first"&&(u=f.value?.[0],n.canSelectAll&&(u=e.reactive(L()))),(n.autoselect==="placeholder"||!u)&&(u=ue()),d(u)}},{immediate:!0}),te({modelGroup:l,modelGroupId:r},async s=>{if(r.value!==l.value.id){if(s.modelGroup&&!s.modelGroupId){r.value=l.value.id;return}if(!(n.canAdd&&r.value===w.ITEM_ID_NEW)){if(n.groups){let u=f.value?.find(p=>p.id===r.value);if(!u&&n.canSelectAll&&(u=L()),u)d(u);else{const p=f.value?.[0];p&&!r.value?d(p):d(q)}}if(n.client&&!n.groups&&(r.value||r.value===w.ITEM_ID_ALL&&!n.canSelectAll)){const u=me(n.client,n.service).changeParams({project_id:n.projectId,id:r.value,filters:[C]});u?.setOptions({checkFingerprint:"TopGroupSelectorFindGroup:"+n.projectId});const p=await u.call();if(!p.errors?.length&&!p.result)return;!p.errors&&p.result[0]?d(p.result[0]):d(q)}}}},{immediate:!0});const g=async s=>{if(n.canAdd!=="api"||!c)return;const u=l.value,p=await c.changeParams({project_id:n.projectId,names:[s.name],to_id:n.folder?.id??V.id,to_type:"in_folder_last"}).call();p.result?(d(p.result),a("addGroup",p.result)):d(u),m.value?.resetCache(!0)};return(s,u)=>(e.openBlock(),e.createBlock(w._sfc_main,{ref_key:"refSelector",ref:m,class:"top-groupSelector_group",modelValue:l.value,"onUpdate:modelValue":u[0]||(u[0]=p=>l.value=p),items:f.value??t.groups,searchType:"inline",icon:t.addIcon?"":void 0,api:t.groups?void 0:e.unref(i),apiSetSearchParams:(...p)=>e.unref(w.apiSetSearchParamsFilter)(...p,"name"),appendSearchToResult:!!t.canAdd,useAllItem:t.canSelectAll?e.unref(L)().name:!1,addChanger:t.addChanger,useCache:"",onAppendItem:g},{item:e.withCtx(({item:p})=>[e.createElementVNode("div",Je,[p.id===e.unref(w.ITEM_ID_NEW)?(e.openBlock(),e.createElementBlock("div",He,e.toDisplayString(s.$i18n.Common.Add)+": ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(p.name),1),p.folder_path&&t.showPath?(e.openBlock(),e.createElementBlock("span",Ye,e.toDisplayString(p.folder_path),1)):e.createCommentVNode("",!0)])]),_:1},8,["modelValue","items","icon","api","apiSetSearchParams","appendSearchToResult","useAllItem","addChanger"]))}}),Xe={class:"top-groupSelector"},Ze=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:q},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"),c=o,m=ee(n.folders??{root:[V]},n.canSelectAllGroups);r.value=m.get(a.value);let f=n.groups?.find(d=>d.id===l.value);l.value||(f=n.groups?.[0]),n.canSelectAllGroups&&!f&&(f=L()),n.canSelectAllGroups&&!f&&(f=L()),(n.autoselect==="placeholder"||!f)&&(f=ue()),f??=q,i.value=f;const C=d=>{let g;n.groups&&d&&(g=[...n.groups,d]),c("update:groups",g)};return(d,g)=>(e.openBlock(),e.createElementBlock("div",Xe,[t.showFolders?(e.openBlock(),e.createBlock(qe,{key:0,folderId:a.value,"onUpdate:folderId":g[0]||(g[0]=s=>a.value=s),folder:r.value,"onUpdate:folder":g[1]||(g[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(Qe,{key:1,groupId:l.value,"onUpdate:groupId":g[2]||(g[2]=s=>l.value=s),group:i.value,"onUpdate:group":g[3]||(g[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:C},null,8,["groupId","group","projectId","folder","groups","on","canAdd","canSelectAll","autoselect","addChanger","showPath","addIcon","client","service"])):e.createCommentVNode("",!0)]))}}),_e={class:"top-projectSelectorSubmenu_item"},et=["href","title","data-top-icon","data-right"],tt={class:"top-projectSelectorSubmenu_item"},ot=["href"],nt=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 c=e.resolveComponent("TopButton");return e.openBlock(),e.createBlock(e.unref(P._sfc_main),{class:"top-projectSelectorSubmenu",notch:!1,pos:"2"},{opener:e.withCtx(()=>[e.createVNode(c,{class:"top-projectSelectorSubmenu_opener","data-top-icon":"",color:"theme"})]),contentList:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,m=>(e.openBlock(),e.createElementBlock("li",_e,[e.createElementVNode("a",{href:m.href,title:m.title,"data-top-icon":m.icon,"data-right":m.right},null,8,et)]))),256)),e.createElementVNode("li",tt,[e.createElementVNode("a",{href:t.url,"data-top-icon":"",target:"_blank"},null,8,ot)])]),_:1})}}}),oe=t=>({id:null,name:t,listItemProps:{type:"title"}}),ne={scheduledUpdate:!1,manualUpdate:!1,guestProjects:!1},at=(t,o)=>{const n=[],a={scheduledUpdate:oe(S.useI18n().Projects.Scheduled_update),manualUpdate:oe(S.useI18n().Projects.Manual_update),guestProjects:oe(S.useI18n().Projects.Guest_projects)},r=o?{scheduledUpdate:!1,manualUpdate:!1,guestProjects:!1}:ne;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},lt=t=>t.map(o=>({...o,listItemProps:{attrs:{title:o.name}}})),rt=(t,o,n)=>{if(!t||t.length===0)return[];o&&Object.keys(ne).forEach(r=>ne[r]=!1);const a=lt(t);return at(a,n)},it=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},dt=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=it(location.hash);return r+=l,r},fe=t=>{let o=t.startsWith("http")?t:"http://"+t;return o=o.replace(/"/g,"%22"),o},ct=(t,o)=>{let n=t.params.filters??[];n=n.filter(i=>i.name!=="GEN_SEARCH_STRING()");const a=we.invertKeyboardLayout(o),r=o.replace(/([[^$.|?*+()])/g,"\\$1"),l=a.replace(/([[^$.|?*+()])/g,"\\$1");o&&n.push(A.genFieldFilter("GEN_SEARCH_STRING()","REGEXP",[`(${r}|${l})`])),t.changeParams({filters:n})},ge=(t,o,n)=>{const a=t.gen("/get/projects_2/projects/",["id","user_id","name","url","on","right"]);return a.params={...n,filters:[A.genFieldFilter("on","GREATER_THAN_EQUALS",[0])],orders:[A.genFieldOrder("user_id","DESC",[o]),A.genFieldOrder("on","DESC"),A.genFieldOrder("favorite","DESC"),A.genFieldOrder("id","DESC")]},a.options.onApiLoaded=(r,l,i)=>{const c=l.data.filters.length===1&&l.data.offset===0||l.data.limit===1e3,m=l.data.limit===100&&l.data.filters.length>1?!0:void 0;r.result=rt(r.result,c,m),i?.(r,l)},a},st=t=>t.gen("/add/projects_2/projects/"),z="ui_project_selector_total:",ut=1440*60*1e3,T=e.shallowRef(),pe=e.ref(0),G=e.ref(null),ve=(t,o)=>{localStorage.setItem(z+t,JSON.stringify({projectsTotal:o,expiresAt:Date.now()+ut}))},mt=t=>{const o=localStorage.getItem(z+t);if(!o)return;const{projectsTotal:n,expiresAt:a}=JSON.parse(o);if(Date.now()>a){localStorage.removeItem(z+t);return}return n},ft=(t,o=!0)=>{T.value=void 0,localStorage.removeItem(z+t),o&&pe.value++},gt={class:"top-projectSelector_item"},pt={class:"top-projectSelector_itemText"},vt={class:"top-comment"},ht={key:0,class:"top-comment"},yt=["href"],he=1e3,St=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=ge(a.client,n),i=st(a.client),c=e.ref(mt(n)),m=e.ref(null),f=e.computed(()=>a.placeholder??o.Projects.Select_project),C=e.computed(()=>!T.value||!a.excludeProjectId?T.value:T.value.filter(I=>I.id!==a.excludeProjectId)),d=e.computed(()=>{if(!(!c.value&&c.value!==0))return c.value<he?"static":"api"});e.watch(pe,()=>{p()});const g=async()=>{if(!G.value){const j=ge(a.client,n,{limit:he});G.value=j.call()}const I=await G.value;if(I.errors){G.value=null;return}return G.value=null,I},s=async()=>{if(c.value)return;const I=await g();I&&(c.value=I.total,d.value==="static"&&!T.value&&(T.value=I.result),c.value&&ve(n,c.value))},u=async I=>{const j=await i.changeParams({url:I.name,name:I.name}).call();if(!j.errors){if(T.value&&d.value==="static"){const h={id:Number(j.result),user_id:n,name:I.name,url:I.name,on:0,right:"11111111111111111111",listItemProps:{attrs:{title:I.name}}},v=T.value.findIndex(k=>k.on===0);T.value=[...T.value.slice(0,v),h,...T.value.slice(v)],c.value&&(c.value+=1,ve(n,c.value))}d.value==="api"&&ft(n)}},p=()=>{d.value==="api"&&m.value?.resetCache(!0)},b=async()=>{if(T.value||d.value!=="static")return;const I=await g();I&&(T.value=I.result)};return e.onMounted(async()=>{await s()}),(I,j)=>{const h=e.resolveComponent("TopButton");return e.openBlock(),e.createBlock(w._sfc_main,{ref_key:"refSelector",ref:m,class:"top-projectSelector",modelValue:r.value,"onUpdate:modelValue":j[1]||(j[1]=v=>r.value=v),items:C.value,title:I.$i18n.Projects.Search_projects,modificator:t.modificator,searchFields:["id","name","url"],placeholder:f.value,hasCloserBtn:"",api:d.value==="api"?e.unref(l):void 0,apiSetSearchParams:d.value==="api"?(...v)=>e.unref(ct)(...v):void 0,useCache:"",appendSearchToResult:"",appendSearchToResultCond:e.unref(xe.validUrl),appendWithoutSelect:"",buttonProps:t.buttonProps,openerShortcut:t.openerShortcut,onAppendItem:u,onOpen:b},{item:e.withCtx(({item:v})=>[e.createElementVNode("div",gt,[e.createElementVNode("div",pt,[v.id?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(e.unref(Te.ellipsis)(v.name,20))+" ",1),e.createElementVNode("span",vt," 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",ht,e.toDisplayString(I.$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(dt)(v.id)},null,8,yt)):e.createCommentVNode("",!0),I.$core.state.isMobile?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(h,{key:1,class:"top-projectSelector_itemExtLink",href:e.unref(fe)(v.url),"data-top-icon":"",color:"theme",target:"_blank",onClick:j[0]||(j[0]=e.withModifiers(()=>{},["stop"]))},null,8,["href"])),e.createVNode(nt,{id:v.id,right:v.right??void 0,url:e.unref(fe)(v.url)},null,8,["id","right","url"])],64)):e.createCommentVNode("",!0)])]),_:1},8,["modelValue","items","title","modificator","placeholder","api","apiSetSearchParams","appendSearchToResultCond","buttonProps","openerShortcut"])}}}),ye=t=>"-"+t,R=t=>t[0]==="-"?t.substring(1):t,J=(t,o)=>{t=R(t);const n=o.find(a=>a.id===t);if(n)return n},It=(t,o,n)=>{o||(o={id:t.id}),o.id=t.id,o.pos??="3",o.notch??=!0,o.posBy??="fixed";const a=je.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,H(a,t,n)}),a.click()},e.isRef(t.modelValue)?e.watch(t.modelValue,()=>H(a,t,n)):N.storage(a,"topTagSelectorRender",r=>{t.modelValue=r;const l=N.storage(a,"topTagSelectorTarget");l&&(l.model.value=r),H(a,t,n)}),H(a,t,n),a},kt=(t,o)=>{N.storage(t,"topTagSelectorRender")?.(o)},H=(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=Se({id:"all",colorId:"",name:S.useI18n().Common?.All_tags??"",state:""});t.append(r)}a.forEach(r=>{const l=Se({id:R(r),colorId:J(r,o.tags)?.color_id??"",name:J(r,o.tags)?.name??"",state:R(r)===r?"selected":"excluded"});t.append(l)})},Se=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},Ct=[{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"}],Bt=["data-tag_id","data-tag_color_id","title"],Y=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,Bt))}}),xt=["contenteditable","onKeydown"],Ie=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:c.value,onpaste:g=>g.preventDefault()}:{}),c=e.ref(!1),m=async()=>{c.value=!0,await e.nextTick(),l.value?.focus()},f=()=>{const g=l.value?.innerText;if(!g)return C();l.value&&(l.value.innerText=g),c.value=!1,a("update:name",g)},C=async()=>{l.value&&(l.value.innerText=n.name),c.value=!1},d=g=>{if(c.value||n.disabled)return;let s="selected";n.canExclude&&(g.ctrlKey||g.metaKey)&&(s="excluded"),n.state==s&&(s=""),s===""&&a("unselect"),s==="selected"&&a("select"),s==="excluded"&&a("exclude")};return(g,s)=>(e.openBlock(),e.createBlock(P._sfc_main$2,{class:e.normalizeClass({"top-tagSelector_tagListItem":!0,"top-tagSelector_tagListItem-inEdit":c.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(d,["stop"])},{default:e.withCtx(()=>[e.createVNode(Y,{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:c.value?"plaintext-only":!1},i.value,{onKeydown:[e.withKeys(e.withModifiers(f,["stop"]),["enter"]),e.withKeys(e.withModifiers(C,["stop"]),["esc"])]}),e.toDisplayString(r.value),17,xt),t.editable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[c.value?(e.openBlock(),e.createElementBlock("span",{key:1,"data-top-icon":"",class:"top-tagSelector_edit",onClick:e.withModifiers(f,["stop"])})):(e.openBlock(),e.createElementBlock("span",{key:0,"data-top-icon":"",class:"top-tagSelector_edit",onClick:m}))],64)):e.createCommentVNode("",!0)]),_:1},8,["class"]))}}),Tt={key:1},ke=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,c)=>{const m=e.resolveDirective("top-data");return e.openBlock(),e.createBlock(P._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(Y,{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",Tt,[e.renderSlot(i.$slots,"default")])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(n.value,f=>(e.openBlock(),e.createBlock(Y,{id:e.unref(R)(f),colorId:e.unref(J)(f,t.tags)?.color_id??"",name:e.unref(J)(f,t.tags)?.name??"",state:e.unref(R)(f)===f?"selected":"excluded"},null,8,["id","colorId","name","state"]))),256))]),_:2},1040,["class","styling"])),[[m,l,"topTagSelectorTarget"]])]),_:3},8,["id"])}}}),wt=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(Ct)},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,c=S.debounce((h,v)=>{i(h,v)},a.emitDelay);a.singleMode&&!r.value.length&&(r.value=[l.value[0].id]);const m=a.id??"top-popup-id-"+Math.random(),f=e.ref("add"),C=()=>{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 d=e.shallowRef({model:r,mode:"filter",targetId:void 0,filters:void 0,payload:void 0});e.watch(r,()=>{c("selector",r.value)});const g=e.computed(()=>{if(d.value.mode==="setter"&&a.maxTagsForSetter&&!d.value.filters)return d.value.model.value.length>=a.maxTagsForSetter}),s=h=>{if(h!=="all"){if(d.value.model.value.includes(h))return"selected";if(d.value.model.value.includes(ye(h)))return"excluded"}return h==="all"&&!d.value.model.value.length?"selected":""},u=(h,v)=>{const k=ye(h);let B=d.value.model.value.filter(E=>E!==h&&E!==k);v==="select"&&B.push(h),v==="exclude"&&B.push(k),d.value.mode==="setter"&&d.value.targetId!==void 0&&a.requiredForSetter&&(B.length||B.push("1"),B.length===2&&d.value.model.value.length===1&&d.value.model.value[0]==="1"&&(B=B.filter(E=>E!=="1"))),a.singleMode&&!d.value.filters&&(B.length||(B=d.value.model.value),B.length>1&&(B=[B[B.length-1]])),B.sort((E,Q)=>{if(!a.tags)return 0;const K=a.tags.findIndex(D=>D.id===E),O=a.tags.findIndex(D=>D.id===Q);return K-O}),d.value.model.value=B,d.value.mode==="setter"&&d.value.targetId!==void 0&&c("setter",{tagsIds:B,targetId:d.value.targetId,payload:d.value.payload})},p=e.computed(()=>{let h="top-tagSelector_popup";return d.value.mode==="filter"&&(h+=" top-tagSelector_popup-filter"),d.value.mode==="setter"&&(h+=" top-tagSelector_popup-setter"),h}),b=()=>{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)},I=h=>{if(d.value=N.storage(h.elPopupOpener,"topTagSelectorTarget"),!d.value)throw new Error("Open popup TopTagSelector required v-data:topTagSelectorTarget");if(d.value.filters&&(f.value="add",d.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,k){if(!l.value)return;const B=$(k.item).parent().find("[data-tag_id]"),E=[];B.each((Q,K)=>{if(!l.value)return;const O=$(K).attr("data-tag_id");E.push(O)}),l.value.sort((Q,K)=>{const O=E.findIndex(ae=>ae===Q.id),D=E.findIndex(ae=>ae===K.id);return O-D}),c("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(ke,{modelValue:r.value,"onUpdate:modelValue":v[0]||(v[0]=k=>r.value=k),id:e.unref(m),tags:l.value,styling:t.styling,mode:"filter",useTopButton:t.useTopButton},null,8,["modelValue","id","tags","styling","useTopButton"]),e.createVNode(P._sfc_main,{id:e.unref(m),class:e.normalizeClass(p.value),onOpen:v[4]||(v[4]=k=>I(k)),onClose:v[5]||(v[5]=k=>j(k)),"transition-duration":50},e.createSlots({contentList:e.withCtx(()=>[e.unref(d).mode==="filter"&&!t.singleMode?(e.openBlock(),e.createBlock(Ie,{key:0,id:"all",colorId:"",name:h.$i18n.Common.All_tags??"",state:e.unref(d).model.value.length?"":"selected",onSelect:v[3]||(v[3]=k=>e.unref(d).model.value=[])},null,8,["name","state"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,k=>(e.openBlock(),e.createBlock(Ie,{key:k.id,id:k.id,colorId:k.color_id,name:k.name,state:s(k.id),canExclude:e.unref(d).mode==="filter"&&!t.singleMode,editable:t.tagsEditable,disabled:g.value&&s(k.id)==="",onUnselect:B=>u(k.id,"unselect"),onSelect:B=>u(k.id,"select"),onExclude:B=>u(k.id,"exclude"),"onUpdate:name":B=>{k.name=B,e.unref(c)("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(P._sfc_main$2,{key:1,"data-top-icon":"",onClick:e.withModifiers(b,["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(h.$i18n.Common.Add),1)]),_:1})):e.createCommentVNode("",!0)]),_:2},[e.unref(d).mode==="setter"&&e.unref(d).filters?{name:"header",fn:e.withCtx(()=>[e.createVNode(S._sfc_main$10,{modelValue:f.value,"onUpdate:modelValue":v[1]||(v[1]=k=>f.value=k),options:C()},null,8,["modelValue","options"])]),key:"0"}:void 0,e.unref(d).mode==="setter"&&e.unref(d).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]=k=>e.unref(c)("setter",{tagsIds:e.unref(d).model.value,filters:e.unref(d).filters,filtersAction:f.value,payload:e.unref(d).payload}))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.value==="add"?h.$i18n.Common.Add:"")+" "+e.toDisplayString(f.value==="replace"?h.$i18n.Common.Replace:"")+" "+e.toDisplayString(f.value==="delete"?h.$i18n.Common.Delete:""),1)]),_:1})]),key:"1"}:void 0]),1032,["id","class"])],64))}});x.TopCompetitorSelector=Ve,x.TopGroupSelector=Ze,x.TopProjectSelector=St,x.TopRegionSelector=De,x.TopTagSelector=wt,x.TopTagSelectorPopupOpener=ke,x.TopTagSelectorTagIcon=Y,x.dialogRegionSelector=se,x.findRegion=ce,x.genElTopTagSelectorPopupOpener=It,x.genSearcherByKey=_,x.renderElTopTagSelectorPopupOpener=kt,x.useItemsFromCompetitors=Ae,Object.defineProperty(x,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(Be,x,e,S,P,T,xe,X,jt,Et,V,we,Te,je,N,Ee){"use strict";if(typeof e>"u")var e=window.Vue;const Me={class:"top-competitorSelector"},Ae={class:"top-ellipsis1"},Ve=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",Me,[e.unref(S.Core).state.isMobile?(e.openBlock(),e.createBlock(P._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(P._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",Ae,e.toDisplayString(i.content),1)]),_:2},1032,["class","data-top-icon","title","onClick"]))),256))]),_:1})):(e.openBlock(),e.createBlock(T._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"]))]))}}),$e=(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}))),M=-1,y=-2,F=-1,Pe={0:"Yandex",1:"Google",4:"YouTube",5:"Bing",7:"Seznam",8:"AppStore",9:"GoogleStore",20:"Yandex.com",21:"Yandex.com.tr"},le={key:y,name:"--",index:y},re={key:y,name:"--",regions:[le],regionByIndex:new Map([[y,le]])},U={key:y,name:"Autoselect",index:y},Z={key:y,name:"Autoselect",regions:[U],regionByIndex:new Map([[y,U]])},ie={countryCode:"00",depth:1,device:0,key:F,index:F,lang:"ru",name:"Without region"},be=()=>(U.name=S.useI18n().Common.Autoselect,U),Ne=()=>(be(),Z.name=S.useI18n().Common.Autoselect,console.log(Z),Z),Le=()=>(ie.name=S.useI18n().Keywords.Without_region,ie),_=(t=!1,o=!1,n=[])=>{let a;return t?a=Ge(n):a=de(n),o&&a.set(y,Ne()),a.size||a.set(y,re),a},de=(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(c=>{if(o&&!c.enabled)return;const m={...c};i.regionByIndex.set(m.index,m)}),!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:Pe[l],regions:[],regionByIndex:new Map};r.set(i.key,i)}),r},Ge=t=>{const o=de(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={...Le()};n.regionByIndex.set(a.index,a)}),o},ce=(t,o,n=[])=>{const a=_(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},se=xe.useAsyncTopDialog(()=>new Promise((t,o)=>Be(["../.chunks/dialog_regionSelectorRegions-CZ0tMVSq.amd"],t,o))),Re=(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 c={value:i.key,title:i.name};t.addSearcherIcon&&(c.icon=X.getSearcherGIcon(i.key)),l.set(i.key,c)}),t.addCompare&&!l.has(y)){const i={value:"",title:"--------------------",disabled:!0};l.set(i.value,i);const c={value:M,title:n.Common.Compare};l.set(c.value,c)}return l});return{searcherKey:a,optionBySearcherKey:r}},De=(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 c=i.name;if(t.forFrequency){const C={value:i.key,title:c};l.has(i.key)||l.set(i.key,C);return}i.device&&(c+=" ("+n.Common["Device_"+i.device]+")");const m=X.getLangLabel(o.value.key||0,i.lang??"");m&&(c+=" / "+m);const f={value:i.index,title:c,icon:i.device?X.getDeviceGIcon(i.device):void 0};l.set(i.index,f)}),l});return e.watch(r,(l,i)=>{if(t.onlySearcher||a.value!==void 0&&l.get(a.value))return;let c=l.keys().next().value;if(a.value===y||c===y){a.value=c;return}let m=i?.get(a.value)?.title||"",f=-1;for(const[C,d]of l.entries()){const g=d.title;if(typeof g!="string"||typeof C=="string")break;if(g===m){c=C;break}const s=new RegExp(` \\((${n.Common.Device_1}|${n.Common.Device_2})\\)`);let u=m,p=3;g.indexOf(u)===-1&&(u=m.replace(/^[^a-zа-я]/i,"").replace(s,""),p--),g.indexOf(u)===-1&&(u=m.replace(/ \/.*/,""),p--),g.indexOf(u)===-1&&(u=m.replace(/ \/.*/,""),u=u.replace(/^[^a-zа-я]/i,"").replace(s,""),p--),g.indexOf(u)!==-1&&(p<=f||(f=p,c=C))}a.value=c}),{regionIndex:a,optionByRegionIndex:r}},Ke=(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(c=>n.value.has(c))),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}},Oe=t=>{const o=e.computed(()=>_(t.forFrequency,t.autoRegion,t.searchers)),n=e.computed(()=>o.value.get(r.searcherKey.value)||re),a=e.computed(()=>{const d=new Set;return o.value.forEach(g=>{g.regionByIndex.forEach(s=>{s.index!==F&&s.index!==y&&d.add(s.index)})}),d}),r=Re(t,o),l=De(t,n),i=Ke(t,o,a);e.watch(o,()=>{if(t.onlySearcher?i.regionsIndexes.value=Array.from(o.value.keys()):i.regionsIndexes.value=i.regionsIndexes.value.filter(g=>a.value.has(g)),r.searcherKey.value===M)return;let d=o.value.keys().next().value;o.value.forEach(g=>{if(t.onlySearcher&&g.key===r.searcherKey.value){d=r.searcherKey.value;return}if(l.regionIndex.value&&g.regionByIndex?.has(l.regionIndex.value)&&(d=g.key),!t.onlySearcher){let s;d!==void 0&&(s=o.value.get(d)?.regionByIndex);const u=o.value.get(g.key)?.regionByIndex;s?.has(y)&&!u?.has(y)&&(d=g.key)}}),d!==void 0&&(r.searcherKey.value=d),l.regionIndex.value!==void 0&&!n.value?.regionByIndex?.has(l.regionIndex.value)&&(l.regionIndex.value=n.value?.regions?.keys().next().value)},{immediate:!0});const c=()=>{if(!(r.searcherKey.value===M||r.searcherKey.value===y))return r.searcherKey.value},m=()=>{if(t.onlySearcher||l.regionIndex.value===y)return;let d=l.regionIndex.value;if(t.forFrequency){const g=l.regionIndex.value;d=ce(t.forFrequency,{searcher_key:c(),key:g},t.searchers)?.index}return d},f=()=>{const d=c();if(d!==void 0)return o.value.get(d)};return{selectSearcher:r,selectRegion:l,compare:i,searcherByKey:o,allRegionsIndexes:a,getSearcher:f,getRegion:()=>{const d=m();if(d!==void 0)return f()?.regionByIndex?.get(d)}}},Fe=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:c,searcherByKey:m,allRegionsIndexes:f,getSearcher:C,getRegion:d}=Oe(n),g=()=>{const s=[];m.value.forEach(u=>{u.enabled&&u.regions.forEach(p=>{p.enabled&&s.push(p)})}),se.open("regions",{regions:s,regionsIndexes:c.regionsIndexes.value,"@update:regionsIndexes":u=>c.regionsIndexes.value=u})};return e.watch([i.regionIndex,l.searcherKey,c.regionsIndexes],()=>{if(l.searcherKey.value===M&&c.regionsIndexes.value.length){if(JSON.stringify(a.value)===JSON.stringify(c.regionsIndexes.value))return;a.value=[...c.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&&!f.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&&!m.value.has(a.value[0])||a.value.length===1&&a.value[0]===y&&!n.autoRegion){let s=m.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(c.regionsIndexes.value)){a.value=[...c.regionsIndexes.value];return}}else{let s=[...new Set(a.value)],u=m.value.values().next().value?.regionByIndex?.keys().next().value;if(n.forFrequency&&(u=m.value.values().next().value?.regionByIndex?.values().next().value?.key),u===y&&!n.autoRegion&&(u=void 0,r.value=y),!s.length)u!==void 0&&s.push(u);else if(s.length===1){let p=f.value;n.forFrequency&&(p=new Set,m.value.forEach(b=>{b.regionByIndex.forEach(I=>{I.index!==F&&I.index!==y&&p.add(I.key)})})),p.has(s[0])||(s=[],u!==void 0&&s.push(u))}else s=s.filter(p=>f.value.has(p)),!s.length&&u!==void 0&&s.push(u);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=M;return}else{if(!a.value.length)return;if(a.value.length===1&&l.searcherKey.value!==M){i.regionIndex.value=a.value[0];let s;for(const u of m.value.values()){for(const p of u.regionByIndex.values())if((n.forFrequency?p.key:p.index)===i.regionIndex.value){s=u.key;break}if(s!==void 0)break}s!==void 0&&(l.searcherKey.value=s)}else l.searcherKey.value=M,c.regionsIndexes.value=[...a.value]}},{immediate:!0}),o({getSearcher:C,getRegion:d}),(s,u)=>(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":u[0]||(u[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(M)?(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":u[1]||(u[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(M)?(e.openBlock(),e.createBlock(S._sfc_main$1,{key:1,name:"compare",onClick:g,"data-count-compare-regions-indexes":e.unref(c).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))}}),A={id:0,name:"/",path:"/"};function Ue(t){return t?S.useI18n()?.Common.All_folders:"/ ("+S.useI18n()?.Keywords.Root_folder+")"}const ee=(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=Ue(o));const i=r>1?"-".repeat(r-1)+" ":"";i&&!l.name.startsWith(i)&&(l.name=i+l.name),n.set(l.id,l),ee(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),qe=(t,o)=>t.gen(`/get/${o}/folders/`,["id","parent_id","name","path"]).changeParams({orders:["ord_path"],limit:100});function te(t,o,n){const a=Object.keys(t),r=a.map(l=>t[l]);return e.watch(r,(l,i,c)=>{const m={};l.forEach((f,C)=>{if(!Object.is(f,i[C])){const d=a[C];m[d]={old:i[C],new:f}}}),Object.keys(m).length&&o(m,c)},n)}const We=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:A},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?qe(o.client,o.service):void 0,l=e.ref(null);e.watch(()=>o.projectId,()=>{r?.changeParams({project_id:o.projectId}),r?.setOptions({checkFingerprint:"TopGroupSelectorFolders:"+o.projectId}),l.value?.resetCache()},{immediate:!0});const i=e.computed(()=>ee(o.folders??{root:[A]},o.canSelectAll));return te({modelFolder:a,modelFolderId:n},async c=>{if(n.value===a.value.id)return;if(c.modelFolder&&!c.modelFolderId){n.value=a.value.id;return}let m=i.value.get(o.folderId);m||(m=A),a.value=m,n.value=m.id},{immediate:!0}),(c,m)=>(e.openBlock(),e.createBlock(T._sfc_main,{class:"top-groupSelector_folder",modelValue:a.value,"onUpdate:modelValue":m[0]||(m[0]=f=>a.value=f),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:(...f)=>e.unref(T.apiSetSearchParamsFilter)(...f,"name"),addChanger:t.addChanger,useCache:""},null,8,["modelValue","items","icon","api","apiSetSearchParams","addChanger"]))}}),q={id:-1,name:"--",folder_id:A.id,folder_path:A.path},W={id:T.ITEM_ID_ALL,name:"All groups",folder_id:A.id,folder_path:A.path},L=()=>(W.name=S.useI18n()?.Common.All_groups,W),ue=()=>(W.name=S.useI18n()?.Keywords.Choose_group,W),ze=(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),me=(t,o)=>t.gen(`/get/${o}/groups/`,["id","name","folder_id","folder_path"]).changeParams({folder_id_depth:!0,limit:100}),Je=(t,o)=>t.gen(`/add/${o}/groups/`),He={class:"top-groupSelector_groupItem"},Ye={key:0,class:"top-comment"},Qe={key:1,class:"top-groupSelector_groupItemFolderPath"},Xe=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?me(n.client,n.service):void 0,c=n.client?Je(n.client,n.service):void 0,m=e.ref(null),f=e.ref(void 0),C=V.genFieldFilter("folder_id","EQUALS",[n.folder?.id??0]);i?.changeParams({project_id:n.projectId,folder_id_depth:!0,filters:[C]}),n.on!==void 0&&i?.params.filters?.push(V.genFieldFilter("on","EQUALS",[Number(n.on)]));const d=s=>{l.value=s,r.value=s.id};te({projectId:()=>n.projectId,folderId:()=>n.folder?.id,canSelectAll:()=>n.canSelectAll},s=>{if(s.projectId&&(i?.changeParams({project_id:n.projectId}),i?.setOptions({checkFingerprint:"TopGroupSelectorGroups:"+n.projectId})),s.folderId&&(C.values=[n.folder?.id??0],n.groups&&(f.value=ze(n.groups,n.on,n.folder))),m.value?.resetCache(),(s.folderId?.old!==void 0||s.canSelectAll?.old!==void 0)&&r.value!==T.ITEM_ID_NEW){let u;n.autoselect==="first"&&(u=f.value?.[0],n.canSelectAll&&(u=e.reactive(L()))),(n.autoselect==="placeholder"||!u)&&(u=ue()),d(u)}},{immediate:!0}),te({modelGroup:l,modelGroupId:r},async s=>{if(r.value!==l.value.id){if(s.modelGroup&&!s.modelGroupId){r.value=l.value.id;return}if(!(n.canAdd&&r.value===T.ITEM_ID_NEW)){if(n.groups){let u=f.value?.find(p=>p.id===r.value);if(!u&&n.canSelectAll&&(u=L()),u)d(u);else{const p=f.value?.[0];p&&!r.value?d(p):d(q)}}if(n.client&&!n.groups&&(r.value||r.value===T.ITEM_ID_ALL&&!n.canSelectAll)){const u=me(n.client,n.service).changeParams({project_id:n.projectId,id:r.value,filters:[C]});u?.setOptions({checkFingerprint:"TopGroupSelectorFindGroup:"+n.projectId});const p=await u.call();if(!p.errors?.length&&!p.result)return;!p.errors&&p.result[0]?d(p.result[0]):d(q)}}}},{immediate:!0});const g=async s=>{if(n.canAdd!=="api"||!c)return;const u=l.value,p=await c.changeParams({project_id:n.projectId,names:[s.name],to_id:n.folder?.id??A.id,to_type:"in_folder_last"}).call();p.result?(d(p.result),a("addGroup",p.result)):d(u),m.value?.resetCache(!0)};return(s,u)=>(e.openBlock(),e.createBlock(T._sfc_main,{ref_key:"refSelector",ref:m,class:"top-groupSelector_group",modelValue:l.value,"onUpdate:modelValue":u[0]||(u[0]=p=>l.value=p),items:f.value??t.groups,searchType:"inline",icon:t.addIcon?"":void 0,api:t.groups?void 0:e.unref(i),apiSetSearchParams:(...p)=>e.unref(T.apiSetSearchParamsFilter)(...p,"name"),appendSearchToResult:!!t.canAdd,useAllItem:t.canSelectAll?e.unref(L)().name:!1,addChanger:t.addChanger,useCache:"",onAppendItem:g},{item:e.withCtx(({item:p})=>[e.createElementVNode("div",He,[p.id===e.unref(T.ITEM_ID_NEW)?(e.openBlock(),e.createElementBlock("div",Ye,e.toDisplayString(s.$i18n.Common.Add)+": ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(p.name),1),p.folder_path&&t.showPath?(e.openBlock(),e.createElementBlock("span",Qe,e.toDisplayString(p.folder_path),1)):e.createCommentVNode("",!0)])]),_:1},8,["modelValue","items","icon","api","apiSetSearchParams","appendSearchToResult","useAllItem","addChanger"]))}}),Ze={class:"top-groupSelector"},_e=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:q},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"),c=o,m=ee(n.folders??{root:[A]},n.canSelectAllGroups);r.value=m.get(a.value);let f=n.groups?.find(d=>d.id===l.value);l.value||(f=n.groups?.[0]),n.canSelectAllGroups&&!f&&(f=L()),n.canSelectAllGroups&&!f&&(f=L()),(n.autoselect==="placeholder"||!f)&&(f=ue()),f??=q,i.value=f;const C=d=>{let g;n.groups&&d&&(g=[...n.groups,d]),c("update:groups",g)};return(d,g)=>(e.openBlock(),e.createElementBlock("div",Ze,[t.showFolders?(e.openBlock(),e.createBlock(We,{key:0,folderId:a.value,"onUpdate:folderId":g[0]||(g[0]=s=>a.value=s),folder:r.value,"onUpdate:folder":g[1]||(g[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(Xe,{key:1,groupId:l.value,"onUpdate:groupId":g[2]||(g[2]=s=>l.value=s),group:i.value,"onUpdate:group":g[3]||(g[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:C},null,8,["groupId","group","projectId","folder","groups","on","canAdd","canSelectAll","autoselect","addChanger","showPath","addIcon","client","service"])):e.createCommentVNode("",!0)]))}}),et={class:"top-projectSelectorSubmenu_item"},tt=["href","title","data-top-icon","data-right"],ot={class:"top-projectSelectorSubmenu_item"},nt=["href"],at=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 c=e.resolveComponent("TopButton");return e.openBlock(),e.createBlock(e.unref(P._sfc_main),{class:"top-projectSelectorSubmenu",notch:!1,pos:"2"},{opener:e.withCtx(()=>[e.createVNode(c,{class:"top-projectSelectorSubmenu_opener","data-top-icon":"",color:"theme"})]),contentList:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,m=>(e.openBlock(),e.createElementBlock("li",et,[e.createElementVNode("a",{href:m.href,title:m.title,"data-top-icon":m.icon,"data-right":m.right},null,8,tt)]))),256)),e.createElementVNode("li",ot,[e.createElementVNode("a",{href:t.url,"data-top-icon":"",target:"_blank"},null,8,nt)])]),_:1})}}}),oe=t=>({id:null,name:t,listItemProps:{type:"title"}}),ne={scheduledUpdate:!1,manualUpdate:!1,guestProjects:!1},lt=(t,o)=>{const n=[],a={scheduledUpdate:oe(S.useI18n().Projects.Scheduled_update),manualUpdate:oe(S.useI18n().Projects.Manual_update),guestProjects:oe(S.useI18n().Projects.Guest_projects)},r=o?{scheduledUpdate:!1,manualUpdate:!1,guestProjects:!1}:ne;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},rt=t=>t.map(o=>({...o,listItemProps:{attrs:{title:o.name}}})),it=(t,o,n)=>{if(!t||t.length===0)return[];o&&Object.keys(ne).forEach(r=>ne[r]=!1);const a=rt(t);return lt(a,n)},dt=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},ct=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=dt(location.hash);return r+=l,r},fe=t=>{let o=t.startsWith("http")?t:"http://"+t;return o=o.replace(/"/g,"%22"),o},st=(t,o)=>{let n=t.params.filters??[];n=n.filter(i=>i.name!=="GEN_SEARCH_STRING()");const a=je.invertKeyboardLayout(o),r=o.replace(/([[^$.|?*+()])/g,"\\$1"),l=a.replace(/([[^$.|?*+()])/g,"\\$1");o&&n.push(V.genFieldFilter("GEN_SEARCH_STRING()","REGEXP",[`(${r}|${l})`])),t.changeParams({filters:n})},ge=(t,o,n)=>{const a=t.gen("/get/projects_2/projects/",["id","user_id","name","url","on","right"]);return a.params={...n,filters:[V.genFieldFilter("on","GREATER_THAN_EQUALS",[0])],orders:[V.genFieldOrder("user_id","DESC",[o]),V.genFieldOrder("on","DESC"),V.genFieldOrder("favorite","DESC"),V.genFieldOrder("id","DESC")]},a.options.onApiLoaded=(r,l,i)=>{const c=l.data.filters.length===1&&l.data.offset===0||l.data.limit===1e3,m=l.data.limit===100&&l.data.filters.length>1?!0:void 0;r.result=it(r.result,c,m),i?.(r,l)},a},ut=t=>t.gen("/add/projects_2/projects/"),z="ui_project_selector_total:",mt=1440*60*1e3,w=e.shallowRef(),pe=e.ref(0),G=e.ref(null),ve=(t,o)=>{localStorage.setItem(z+t,JSON.stringify({projectsTotal:o,expiresAt:Date.now()+mt}))},ft=t=>{const o=localStorage.getItem(z+t);if(!o)return;const{projectsTotal:n,expiresAt:a}=JSON.parse(o);if(Date.now()>a){localStorage.removeItem(z+t);return}return n},he=(t,o=!0)=>{w.value=void 0,localStorage.removeItem(z+t),o&&pe.value++},gt={class:"top-projectSelector_item"},pt={class:"top-projectSelector_itemText"},vt={class:"top-comment"},ht={key:0,class:"top-comment"},yt=["href"],ye=1e3,St=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=ge(a.client,n),i=ut(a.client),c=e.ref(ft(n)),m=e.ref(null),f=e.computed(()=>a.placeholder??o.Projects.Select_project),C=e.computed(()=>!w.value||!a.excludeProjectId?w.value:w.value.filter(I=>I.id!==a.excludeProjectId)),d=e.computed(()=>{if(!(!c.value&&c.value!==0))return c.value<ye?"static":"api"});e.watch(pe,()=>{p()});const g=async()=>{if(!G.value){const j=ge(a.client,n,{limit:ye});G.value=j.call()}const I=await G.value;if(I.errors){G.value=null;return}return G.value=null,I},s=async()=>{if(c.value)return;const I=await g();I&&(c.value=I.total,d.value==="static"&&!w.value&&(w.value=I.result),c.value&&ve(n,c.value))},u=async I=>{const j=await i.changeParams({url:I.name,name:I.name}).call();if(!j.errors){if(w.value&&d.value==="static"){const h={id:Number(j.result),user_id:n,name:I.name,url:I.name,on:0,right:"11111111111111111111",listItemProps:{attrs:{title:I.name}}},v=w.value.findIndex(k=>k.on===0);w.value=[...w.value.slice(0,v),h,...w.value.slice(v)],c.value&&(c.value+=1,ve(n,c.value))}d.value==="api"&&he(n)}},p=()=>{d.value==="api"&&m.value?.resetCache(!0)},b=async()=>{if(w.value||d.value!=="static")return;const I=await g();I&&(w.value=I.result)};return e.onMounted(async()=>{await s()}),(I,j)=>{const h=e.resolveComponent("TopButton");return e.openBlock(),e.createBlock(T._sfc_main,{ref_key:"refSelector",ref:m,class:"top-projectSelector",modelValue:r.value,"onUpdate:modelValue":j[1]||(j[1]=v=>r.value=v),items:C.value,title:I.$i18n.Projects.Search_projects,modificator:t.modificator,searchFields:["id","name","url"],placeholder:f.value,hasCloserBtn:"",api:d.value==="api"?e.unref(l):void 0,apiSetSearchParams:d.value==="api"?(...v)=>e.unref(st)(...v):void 0,useCache:"",appendSearchToResult:"",appendSearchAllowDuplicate:"",appendSearchToResultCond:e.unref(we.validUrl),appendWithoutSelect:"",buttonProps:t.buttonProps,openerShortcut:t.openerShortcut,onAppendItem:u,onOpen:b},{item:e.withCtx(({item:v})=>[e.createElementVNode("div",gt,[e.createElementVNode("div",pt,[v.id?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(e.unref(Te.ellipsis)(v.name,20))+" ",1),e.createElementVNode("span",vt," 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",ht,e.toDisplayString(I.$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(ct)(v.id)},null,8,yt)):e.createCommentVNode("",!0),I.$core.state.isMobile?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(h,{key:1,class:"top-projectSelector_itemExtLink",href:e.unref(fe)(v.url),"data-top-icon":"",color:"theme",target:"_blank",onClick:j[0]||(j[0]=e.withModifiers(()=>{},["stop"]))},null,8,["href"])),e.createVNode(at,{id:v.id,right:v.right??void 0,url:e.unref(fe)(v.url)},null,8,["id","right","url"])],64)):e.createCommentVNode("",!0)])]),_:1},8,["modelValue","items","title","modificator","placeholder","api","apiSetSearchParams","appendSearchToResultCond","buttonProps","openerShortcut"])}}}),Se=t=>"-"+t,R=t=>t[0]==="-"?t.substring(1):t,J=(t,o)=>{t=R(t);const n=o.find(a=>a.id===t);if(n)return n},It=(t,o,n)=>{o||(o={id:t.id}),o.id=t.id,o.pos??="3",o.notch??=!0,o.posBy??="fixed";const a=Ee.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,H(a,t,n)}),a.click()},e.isRef(t.modelValue)?e.watch(t.modelValue,()=>H(a,t,n)):N.storage(a,"topTagSelectorRender",r=>{t.modelValue=r;const l=N.storage(a,"topTagSelectorTarget");l&&(l.model.value=r),H(a,t,n)}),H(a,t,n),a},kt=(t,o)=>{N.storage(t,"topTagSelectorRender")?.(o)},H=(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=Ie({id:"all",colorId:"",name:S.useI18n().Common?.All_tags??"",state:""});t.append(r)}a.forEach(r=>{const l=Ie({id:R(r),colorId:J(r,o.tags)?.color_id??"",name:J(r,o.tags)?.name??"",state:R(r)===r?"selected":"excluded"});t.append(l)})},Ie=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},Ct=[{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"}],Bt=["data-tag_id","data-tag_color_id","title"],Y=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,Bt))}}),xt=["contenteditable","onKeydown"],ke=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:c.value,onpaste:g=>g.preventDefault()}:{}),c=e.ref(!1),m=async()=>{c.value=!0,await e.nextTick(),l.value?.focus()},f=()=>{const g=l.value?.innerText;if(!g)return C();l.value&&(l.value.innerText=g),c.value=!1,a("update:name",g)},C=async()=>{l.value&&(l.value.innerText=n.name),c.value=!1},d=g=>{if(c.value||n.disabled)return;let s="selected";n.canExclude&&(g.ctrlKey||g.metaKey)&&(s="excluded"),n.state==s&&(s=""),s===""&&a("unselect"),s==="selected"&&a("select"),s==="excluded"&&a("exclude")};return(g,s)=>(e.openBlock(),e.createBlock(P._sfc_main$2,{class:e.normalizeClass({"top-tagSelector_tagListItem":!0,"top-tagSelector_tagListItem-inEdit":c.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(d,["stop"])},{default:e.withCtx(()=>[e.createVNode(Y,{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:c.value?"plaintext-only":!1},i.value,{onKeydown:[e.withKeys(e.withModifiers(f,["stop"]),["enter"]),e.withKeys(e.withModifiers(C,["stop"]),["esc"])]}),e.toDisplayString(r.value),17,xt),t.editable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[c.value?(e.openBlock(),e.createElementBlock("span",{key:1,"data-top-icon":"",class:"top-tagSelector_edit",onClick:e.withModifiers(f,["stop"])})):(e.openBlock(),e.createElementBlock("span",{key:0,"data-top-icon":"",class:"top-tagSelector_edit",onClick:m}))],64)):e.createCommentVNode("",!0)]),_:1},8,["class"]))}}),wt={key:1},Ce=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,c)=>{const m=e.resolveDirective("top-data");return e.openBlock(),e.createBlock(P._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(Y,{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",wt,[e.renderSlot(i.$slots,"default")])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(n.value,f=>(e.openBlock(),e.createBlock(Y,{id:e.unref(R)(f),colorId:e.unref(J)(f,t.tags)?.color_id??"",name:e.unref(J)(f,t.tags)?.name??"",state:e.unref(R)(f)===f?"selected":"excluded"},null,8,["id","colorId","name","state"]))),256))]),_:2},1040,["class","styling"])),[[m,l,"topTagSelectorTarget"]])]),_:3},8,["id"])}}}),Tt=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(Ct)},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,c=S.debounce((h,v)=>{i(h,v)},a.emitDelay);a.singleMode&&!r.value.length&&(r.value=[l.value[0].id]);const m=a.id??"top-popup-id-"+Math.random(),f=e.ref("add"),C=()=>{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 d=e.shallowRef({model:r,mode:"filter",targetId:void 0,filters:void 0,payload:void 0});e.watch(r,()=>{c("selector",r.value)});const g=e.computed(()=>{if(d.value.mode==="setter"&&a.maxTagsForSetter&&!d.value.filters)return d.value.model.value.length>=a.maxTagsForSetter}),s=h=>{if(h!=="all"){if(d.value.model.value.includes(h))return"selected";if(d.value.model.value.includes(Se(h)))return"excluded"}return h==="all"&&!d.value.model.value.length?"selected":""},u=(h,v)=>{const k=Se(h);let B=d.value.model.value.filter(E=>E!==h&&E!==k);v==="select"&&B.push(h),v==="exclude"&&B.push(k),d.value.mode==="setter"&&d.value.targetId!==void 0&&a.requiredForSetter&&(B.length||B.push("1"),B.length===2&&d.value.model.value.length===1&&d.value.model.value[0]==="1"&&(B=B.filter(E=>E!=="1"))),a.singleMode&&!d.value.filters&&(B.length||(B=d.value.model.value),B.length>1&&(B=[B[B.length-1]])),B.sort((E,Q)=>{if(!a.tags)return 0;const D=a.tags.findIndex(O=>O.id===E),K=a.tags.findIndex(O=>O.id===Q);return D-K}),d.value.model.value=B,d.value.mode==="setter"&&d.value.targetId!==void 0&&c("setter",{tagsIds:B,targetId:d.value.targetId,payload:d.value.payload})},p=e.computed(()=>{let h="top-tagSelector_popup";return d.value.mode==="filter"&&(h+=" top-tagSelector_popup-filter"),d.value.mode==="setter"&&(h+=" top-tagSelector_popup-setter"),h}),b=()=>{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)},I=h=>{if(d.value=N.storage(h.elPopupOpener,"topTagSelectorTarget"),!d.value)throw new Error("Open popup TopTagSelector required v-data:topTagSelectorTarget");if(d.value.filters&&(f.value="add",d.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,k){if(!l.value)return;const B=$(k.item).parent().find("[data-tag_id]"),E=[];B.each((Q,D)=>{if(!l.value)return;const K=$(D).attr("data-tag_id");E.push(K)}),l.value.sort((Q,D)=>{const K=E.findIndex(ae=>ae===Q.id),O=E.findIndex(ae=>ae===D.id);return K-O}),c("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(Ce,{modelValue:r.value,"onUpdate:modelValue":v[0]||(v[0]=k=>r.value=k),id:e.unref(m),tags:l.value,styling:t.styling,mode:"filter",useTopButton:t.useTopButton},null,8,["modelValue","id","tags","styling","useTopButton"]),e.createVNode(P._sfc_main,{id:e.unref(m),class:e.normalizeClass(p.value),onOpen:v[4]||(v[4]=k=>I(k)),onClose:v[5]||(v[5]=k=>j(k)),"transition-duration":50},e.createSlots({contentList:e.withCtx(()=>[e.unref(d).mode==="filter"&&!t.singleMode?(e.openBlock(),e.createBlock(ke,{key:0,id:"all",colorId:"",name:h.$i18n.Common.All_tags??"",state:e.unref(d).model.value.length?"":"selected",onSelect:v[3]||(v[3]=k=>e.unref(d).model.value=[])},null,8,["name","state"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,k=>(e.openBlock(),e.createBlock(ke,{key:k.id,id:k.id,colorId:k.color_id,name:k.name,state:s(k.id),canExclude:e.unref(d).mode==="filter"&&!t.singleMode,editable:t.tagsEditable,disabled:g.value&&s(k.id)==="",onUnselect:B=>u(k.id,"unselect"),onSelect:B=>u(k.id,"select"),onExclude:B=>u(k.id,"exclude"),"onUpdate:name":B=>{k.name=B,e.unref(c)("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(P._sfc_main$2,{key:1,"data-top-icon":"",onClick:e.withModifiers(b,["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(h.$i18n.Common.Add),1)]),_:1})):e.createCommentVNode("",!0)]),_:2},[e.unref(d).mode==="setter"&&e.unref(d).filters?{name:"header",fn:e.withCtx(()=>[e.createVNode(S._sfc_main$10,{modelValue:f.value,"onUpdate:modelValue":v[1]||(v[1]=k=>f.value=k),options:C()},null,8,["modelValue","options"])]),key:"0"}:void 0,e.unref(d).mode==="setter"&&e.unref(d).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]=k=>e.unref(c)("setter",{tagsIds:e.unref(d).model.value,filters:e.unref(d).filters,filtersAction:f.value,payload:e.unref(d).payload}))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.value==="add"?h.$i18n.Common.Add:"")+" "+e.toDisplayString(f.value==="replace"?h.$i18n.Common.Replace:"")+" "+e.toDisplayString(f.value==="delete"?h.$i18n.Common.Delete:""),1)]),_:1})]),key:"1"}:void 0]),1032,["id","class"])],64))}});x.TopCompetitorSelector=Ve,x.TopGroupSelector=_e,x.TopProjectSelector=St,x.TopRegionSelector=Fe,x.TopTagSelector=Tt,x.TopTagSelectorPopupOpener=Ce,x.TopTagSelectorTagIcon=Y,x.clearCache=he,x.dialogRegionSelector=se,x.findRegion=ce,x.genElTopTagSelectorPopupOpener=It,x.genSearcherByKey=_,x.renderElTopTagSelectorPopupOpener=kt,x.useItemsFromCompetitors=$e,Object.defineProperty(x,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=project.amd.js.map