@topvisor/ui 1.4.3-fixTabsView.1 → 1.4.3-fixTabsView.3

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/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?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');
3
+ src: url('fonts/Topvisor-2.eot?wjsiw');
4
+ src: url('fonts/Topvisor-2.eot?wjsiw#iefix') format('embedded-opentype'),
5
+ url('fonts/Topvisor-2.ttf?wjsiw') format('truetype'),
6
+ url('fonts/Topvisor-2.woff?wjsiw') format('woff'),
7
+ url('fonts/Topvisor-2.svg?wjsiw#Topvisor-2') format('svg');
8
8
  font-weight: normal;
9
9
  font-style: normal;
10
10
  font-display: block;
@@ -142,6 +142,9 @@
142
142
  .icon2-chevron-up:before {
143
143
  content: "\e90f";
144
144
  }
145
+ .icon2-deduplicate:before {
146
+ content: "\ea1e";
147
+ }
145
148
  .icon2-goal:before {
146
149
  content: "\ea18";
147
150
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@topvisor/ui",
3
3
  "private": false,
4
- "version": "1.4.3-fixTabsView.1",
4
+ "version": "1.4.3-fixTabsView.3",
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-Bu_HvFoW.amd","../.chunks/policy.vue_vue_type_style_index_0_lang-Da7rztT5.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$1,{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,{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(/&quot;/g,'"'),t.replace(/&apos;/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$1,{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$1,{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$1,{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$1,{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$2,{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$1,{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-Bu_HvFoW.amd","../.chunks/policy.vue_vue_type_style_index_0_lang-Da7rztT5.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","../popup/worker.amd","../utils/keyboard.amd","../utils/dom.amd","../require/css.amd!../assets/project.css"],(function(je,w,e,S,b,E,Ae,Z,$t,Pt,P,$e,Pe,ce,be,N){"use strict";if(typeof e>"u")var e=window.Vue;const Ne={class:"top-competitorSelector"},Le={class:"top-ellipsis1"},Ge=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",Ne,[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$1,{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",Le,e.toDisplayString(i.content),1)]),_:2},1032,["class","data-top-icon","title","onClick"]))),256))]),_:1})):(e.openBlock(),e.createBlock(E._sfc_main,{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"]))]))}}),Re=(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}))),j=-1,y=-2,K=-1,De={0:"Yandex",1:"Google",4:"YouTube",5:"Bing",7:"Seznam",8:"AppStore",9:"GoogleStore",20:"Yandex.com",21:"Yandex.com.tr"},se={key:y,name:"--",index:y},ue={key:y,name:"--",regions:[se],regionByIndex:new Map([[y,se]])},O={key:y,name:"Autoselect",index:y},ee={key:y,name:"Autoselect",regions:[O],regionByIndex:new Map([[y,O]])},me={countryCode:"00",depth:1,device:0,key:K,index:K,lang:"ru",name:"Without region"},Fe=()=>(O.name=S.useI18n().Common.Autoselect,O),Ke=()=>(Fe(),ee.name=S.useI18n().Common.Autoselect,console.log(ee),ee),Oe=()=>(me.name=S.useI18n().Keywords.Without_region,me),te=(t=!1,o=!1,n=[])=>{let a;return t?a=Ue(n):a=fe(n),o&&a.set(y,Ke()),a.size||a.set(y,ue),a},fe=(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 f={...d};i.regionByIndex.set(f.index,f)}),!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:De[l],regions:[],regionByIndex:new Map};r.set(i.key,i)}),r},Ue=t=>{const o=fe(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={...Oe()};n.regionByIndex.set(a.index,a)}),o},ge=(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},pe=Ae.useAsyncTopDialog(()=>new Promise((t,o)=>je(["../.chunks/dialog_regionSelectorRegions-CZ0tMVSq.amd"],t,o))),qe=(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:j,title:n.Common.Compare};l.set(d.value,d)}return l});return{searcherKey:a,optionBySearcherKey:r}},We=(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 C={value:i.key,title:d};l.has(i.key)||l.set(i.key,C);return}i.device&&(d+=" ("+n.Common["Device_"+i.device]+")");const f=Z.getLangLabel(o.value.key||0,i.lang??"");f&&(d+=" / "+f);const u={value:i.index,title:d,icon:i.device?Z.getDeviceGIcon(i.device):void 0};l.set(i.index,u)}),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 f=i?.get(a.value)?.title||"",u=-1;for(const[C,c]of l.entries()){const g=c.title;if(typeof g!="string"||typeof C=="string")break;if(g===f){d=C;break}const s=new RegExp(` \\((${n.Common.Device_1}|${n.Common.Device_2})\\)`);let m=f,p=3;g.indexOf(m)===-1&&(m=f.replace(/^[^a-zа-я]/i,"").replace(s,""),p--),g.indexOf(m)===-1&&(m=f.replace(/ \/.*/,""),p--),g.indexOf(m)===-1&&(m=f.replace(/ \/.*/,""),m=m.replace(/^[^a-zа-я]/i,"").replace(s,""),p--),g.indexOf(m)!==-1&&(p<=u||(u=p,d=C))}a.value=d}),{regionIndex:a,optionByRegionIndex:r}},ze=(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}},Je=t=>{const o=e.computed(()=>te(t.forFrequency,t.autoRegion,t.searchers)),n=e.computed(()=>o.value.get(r.searcherKey.value)||ue),a=e.computed(()=>{const c=new Set;return o.value.forEach(g=>{g.regionByIndex.forEach(s=>{s.index!==K&&s.index!==y&&c.add(s.index)})}),c}),r=qe(t,o),l=We(t,n),i=ze(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===j)return;let c=o.value.keys().next().value;o.value.forEach(g=>{if(t.onlySearcher&&g.key===r.searcherKey.value){c=r.searcherKey.value;return}if(l.regionIndex.value&&g.regionByIndex?.has(l.regionIndex.value)&&(c=g.key),!t.onlySearcher){let s;c!==void 0&&(s=o.value.get(c)?.regionByIndex);const m=o.value.get(g.key)?.regionByIndex;s?.has(y)&&!m?.has(y)&&(c=g.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===j||r.searcherKey.value===y))return r.searcherKey.value},f=()=>{if(t.onlySearcher||l.regionIndex.value===y)return;let c=l.regionIndex.value;if(t.forFrequency){const g=l.regionIndex.value;c=ge(t.forFrequency,{searcher_key:d(),key:g},t.searchers)?.index}return c},u=()=>{const c=d();if(c!==void 0)return o.value.get(c)};return{selectSearcher:r,selectRegion:l,compare:i,searcherByKey:o,allRegionsIndexes:a,getSearcher:u,getRegion:()=>{const c=f();if(c!==void 0)return u()?.regionByIndex?.get(c)}}},He=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:f,allRegionsIndexes:u,getSearcher:C,getRegion:c}=Je(n),g=()=>{const s=[];f.value.forEach(m=>{m.enabled&&m.regions.forEach(p=>{p.enabled&&s.push(p)})}),pe.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===j&&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&&!u.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&&!f.value.has(a.value[0])||a.value.length===1&&a.value[0]===y&&!n.autoRegion){let s=f.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=f.value.values().next().value?.regionByIndex?.keys().next().value;if(n.forFrequency&&(m=f.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=u.value;n.forFrequency&&(p=new Set,f.value.forEach(I=>{I.regionByIndex.forEach(B=>{B.index!==K&&B.index!==y&&p.add(B.key)})})),p.has(s[0])||(s=[],m!==void 0&&s.push(m))}else s=s.filter(p=>u.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=j;return}else{if(!a.value.length)return;if(a.value.length===1&&l.searcherKey.value!==j){i.regionIndex.value=a.value[0];let s;for(const m of f.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=j,d.regionsIndexes.value=[...a.value]}},{immediate:!0}),o({getSearcher:C,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(j)?(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(j)?(e.openBlock(),e.createBlock(S._sfc_main$1,{key:1,name:"compare",onClick:g,"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(/&quot;/g,'"'),t.replace(/&apos;/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},A={id:0,name:"/",path:"/"};function Ye(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=Ye(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),Qe=(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 f={};l.forEach((u,C)=>{if(!Object.is(u,i[C])){const c=a[C];f[c]={old:i[C],new:u}}}),Object.keys(f).length&&o(f,d)},n)}const Xe=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&&o.service?Qe(o.client,o.service):void 0,l=e.ref(null),i=e.computed(()=>{const d=ne(o.folders??{root:[A]},o.canSelectAll),f=new Map;return d.forEach((u,C)=>{f.set(C,oe(u))}),f});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 f=i.value.get(o.folderId);f||(f=A),a.value=f,n.value=f.id},{immediate:!0}),(d,f)=>(e.openBlock(),e.createBlock(E._sfc_main$1,{class:"top-groupSelector_folder",modelValue:a.value,"onUpdate:modelValue":f[0]||(f[0]=u=>a.value=u),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:(...u)=>e.unref(E.apiSetSearchParamsFilter)(...u,"name"),addChanger:t.addChanger,useCache:""},null,8,["modelValue","items","icon","api","apiSetSearchParams","addChanger"]))}}),W={id:-1,name:"--",folder_id:A.id,folder_path:A.path},z={id:E.ITEM_ID_ALL,name:"All groups",folder_id:A.id,folder_path:A.path},J=()=>(z.name=S.useI18n()?.Common.All_groups,z),ve=()=>(z.name=S.useI18n()?.Keywords.Choose_group,z),_e=(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),he=(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},Ze=(t,o)=>t.gen(`/add/${o}/groups/`),et={class:"top-groupSelector_groupItem"},tt={key:0,class:"top-comment"},ot={key:1,class:"top-groupSelector_groupItemFolderPath"},nt=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?he(n.client,n.service):void 0,d=n.client&&n.service?Ze(n.client,n.service):void 0,f=e.ref(null),u=e.ref(void 0),C=P.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(P.genFieldFilter("on","EQUALS",[Number(n.on)]));const c=e.computed(()=>{const m=u.value??n.groups;if(m)return m.map(p=>q(p))}),g=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&&(C.values=[n.folder?.id??0],n.groups&&(u.value=_e(n.groups,n.on,n.folder))),f.value?.resetCache(),(m.folderId?.old!==void 0||m.canSelectAll?.old!==void 0)&&r.value!==E.ITEM_ID_NEW){let p;n.autoselect==="first"&&(p=u.value?.[0],n.canSelectAll&&(p=e.reactive(J()))),(n.autoselect==="placeholder"||!p)&&(p=ve()),g(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=u.value?.find(I=>I.id===r.value);if(!p&&n.canSelectAll&&(p=J()),p)g(p);else{const I=u.value?.[0];I&&!r.value?g(I):g(W)}}if(n.client&&!n.groups&&n.service&&(r.value||r.value===E.ITEM_ID_ALL&&!n.canSelectAll)){const p=he(n.client,n.service).changeParams({project_id:n.projectId,id:r.value,filters:[C]});p?.setOptions({checkFingerprint:"TopGroupSelectorFindGroup:"+n.projectId});const I=await p.call();if(!I.errors?.length&&!I.result)return;!I.errors&&I.result[0]?g(I.result[0]):g(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??A.id,to_type:"in_folder_last"}).call();I.result?(g(I.result),a("addGroup",I.result)):g(p),f.value?.resetCache(!0)};return(m,p)=>(e.openBlock(),e.createBlock(E._sfc_main$1,{ref_key:"refSelector",ref:f,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",et,[I.id===e.unref(E.ITEM_ID_NEW)?(e.openBlock(),e.createElementBlock("div",tt,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",ot,e.toDisplayString(I.folder_path),1)):e.createCommentVNode("",!0)])]),_:1},8,["modelValue","items","icon","api","apiSetSearchParams","appendSearchToResult","useAllItem","addChanger"]))}}),at={class:"top-groupSelector"},lt=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,f=ne(n.folders??{root:[A]},n.canSelectAllGroups);r.value=f.get(a.value),r.value&&(r.value=oe(r.value));let u=n.groups?.find(c=>c.id===l.value);l.value||(u=n.groups?.[0]),n.canSelectAllGroups&&!u&&(u=J()),(n.autoselect==="placeholder"||!u)&&(u=ve()),u??=W,i.value=u,i.value=q(i.value);const C=c=>{let g;n.groups&&c&&(g=[...n.groups,c]),d("update:groups",g)};return(c,g)=>(e.openBlock(),e.createElementBlock("div",at,[t.showFolders?(e.openBlock(),e.createBlock(Xe,{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(nt,{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)]))}}),le=t=>({id:null,name:t,listItemProps:{type:"title"}}),re={scheduledUpdate:!1,manualUpdate:!1,guestProjects:!1},rt=(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},it=t=>t.map(o=>({...o,listItemProps:{attrs:{title:o.name}}})),dt=(t,o,n)=>{if(!t||t.length===0)return[];o&&Object.keys(re).forEach(r=>re[r]=!1);const a=it(t);return rt(a,n)},ct=t=>{t=t.replace(/#.*/,"");let o=location.hash;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:\{[^}]*},/,"")),t+o},ye=(t,o)=>{o&&o.target instanceof HTMLElement&&ce.TopPopupWorker.close(o.target.closest(".top-popup-wrapper"));const n=ct(t);location.href=n},ie=t=>{const o=Se(),n=location.pathname.split("/");let a="project/dynamics/",r="";return n[1]=="project"&&(a=n[1]+"/"+n[2]+"/"),n[2]=="settings"&&(r=location.hash),["watcher","indexing","sitemap","audit","direct","adwords"].includes(n[4])&&(r=n[4]+"/"),"https://"+o+"/"+a+t+"/"+r},Se=()=>window.page?.subdomain?window.location.host.replace(window.page?.subdomain+".",""):window.location.host,Ie=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=be.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})},ke=(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,f=l.data.limit===100&&l.data.filters.length>1?!0:void 0;r.result=dt(r.result,d,f),i?.(r,l)},a},ut=t=>t.gen("/add/projects_2/projects/"),mt={class:"top-projectSelectorSubmenu_item"},ft=["href","title","data-top-icon","data-right"],gt={class:"top-projectSelectorSubmenu_item"},pt=["href"],vt=e.defineComponent({__name:"submenu",props:{id:{},right:{},url:{}},setup(t){const o=t,n=S.useI18n(),a=Se(),r=[{href:`https://${a}/project/keywords/${o.id}/`,title:n.Common.Menu_phrases,icon:"",right:"2"},{href:`https://${a}/project/dynamics/${o.id}/`,title:n.Common.Menu_dynamics,icon:"",right:"1"},{href:`https://${a}/project/snapshots/${o.id}/`,title:n.Common.Menu_snapshots,icon:"",right:"1"},{href:`https://${a}/project/competitors/${o.id}/`,title:n.Common.Menu_competitors,icon:"",right:"1"},{href:`https://${a}/project/analytics/${o.id}/`,title:n.Common.Menu_analytics,icon:"",right:"5"},{href:`https://${a}/project/broker/${o.id}/`,title:n.Common.Menu_broker,icon:"",right:"6"},{href:`https://${a}/project/audit/${o.id}/sitemap/`,title:n.Audit.Sitemap_gen,icon:"",right:"8"},{href:`https://${a}/project/audit/${o.id}/audit/`,title:n.Common.Menu_audit,icon:"",right:"8"},{href:`https://${a}/project/audit/${o.id}/indexing/`,title:n.Audit.Indexing,icon:"",right:"8"},{href:`https://${a}/project/audit/${o.id}/watcher/`,title:n.Audit.Watcher,icon:"",right:"9"},{href:`https://${a}/project/settings/${o.id}/`,title:n.Common.Menu_settings,icon:"",right:"2"}],l=e.computed(()=>o.right.includes("0")?r.filter(i=>o.right[i.right]==="1"):r);return(i,d)=>{const f=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(f,{class:"top-projectSelectorSubmenu_opener","data-top-icon":"",color:"theme"})]),contentList:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,u=>(e.openBlock(),e.createElementBlock("li",mt,[e.createElementVNode("a",{href:u.href,title:u.title,"data-top-icon":u.icon,"data-right":u.right},null,8,ft)]))),256)),e.createElementVNode("li",gt,[e.createElementVNode("a",{href:t.url,"data-top-icon":"",target:"_blank"},null,8,pt)])]),_:1})}}}),H="ui_project_selector_total:",ht=1440*60*1e3,T=e.shallowRef(),Ce=e.ref(0),L=e.ref(null),Be=(t,o)=>{localStorage.setItem(H+t,JSON.stringify({projectsTotal:o,expiresAt:Date.now()+ht}))},yt=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},xe=(t,o=!0)=>{T.value=void 0,localStorage.removeItem(H+t),o&&Ce.value++},St={class:"top-projectSelector_item"},It={class:"top-projectSelector_itemText"},kt={class:"top-comment"},Ct={key:0,class:"top-comment"},Bt=["href","onClick"],we=1e3,xt=e.defineComponent({__name:"projectSelector",props:e.mergeModels({modelValue:{},client:{},addLinksToProjects:{type:Boolean,default:!0},excludeProjectId:{},modificator:{},placeholder:{},buttonProps:{},openerShortcut:{}},{modelValue:{default:{id:null,name:""}},modelModifiers:{}}),emits:["update:modelValue"],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,"modelValue"),l=ke(a.client,n),i=ut(a.client),d=e.ref(yt(n)),f=e.ref(null),u=e.computed(()=>a.placeholder??o.Projects.Select_project),C=e.computed(()=>!T.value||!a.excludeProjectId?T.value:T.value.filter(B=>B.id!==a.excludeProjectId)),c=e.computed(()=>{if(!(!d.value&&d.value!==0))return d.value<we?"static":"api"});e.watch(Ce,()=>{p()}),e.watch(r,()=>{!r.value.id||!a.addLinksToProjects||ye(ie(r.value.id))});const g=async()=>{if(!L.value){const M=ke(a.client,n,{limit:we});L.value=M.call()}const B=await L.value;if(B.errors){L.value=null;return}return L.value=null,B},s=async()=>{if(d.value)return;const B=await g();B&&(d.value=B.total,c.value==="static"&&!T.value&&(T.value=B.result),d.value&&Be(n,d.value))},m=async B=>{const M=await i.changeParams({url:B.name,name:B.name}).call();if(!M.errors){if(T.value&&c.value==="static"){const h={id:Number(M.result),user_id:n,name:B.name,url:B.name,on:0,right:"11111111111111111111",listItemProps:{attrs:{title:B.name}}},v=T.value.findIndex(k=>k.on===0);T.value=[...T.value.slice(0,v),h,...T.value.slice(v)],d.value&&(d.value+=1,Be(n,d.value))}c.value==="api"&&xe(n)}},p=()=>{c.value==="api"&&f.value?.resetCache(!0)},I=async()=>{if(T.value||c.value!=="static")return;const B=await g();B&&(T.value=B.result)};return e.onMounted(async()=>{await s()}),(B,M)=>{const h=e.resolveComponent("TopButton");return e.openBlock(),e.createBlock(E._sfc_main$1,{ref_key:"refSelector",ref:f,class:"top-projectSelector",modelValue:r.value,"onUpdate:modelValue":M[1]||(M[1]=v=>r.value=v),items:C.value,title:B.$i18n.Projects.Search_projects,modificator:t.modificator,searchFields:["id","name","url"],placeholder:u.value,hasCloserBtn:"",api:c.value==="api"?e.unref(l):void 0,apiSetSearchParams:c.value==="api"?(...v)=>e.unref(st)(...v):void 0,useCache:"",appendSearchToResult:"",appendSearchAllowDuplicate:"",appendSearchToResultCond:e.unref($e.validUrl),appendWithoutSelect:"",buttonProps:t.buttonProps,openerShortcut:t.openerShortcut,onAppendItem:m,onOpen:I},{item:e.withCtx(({item:v})=>[e.createElementVNode("div",St,[e.createElementVNode("div",It,[v.id?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(e.unref(Pe.ellipsis)(v.name,20))+" ",1),e.createElementVNode("span",kt," 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",Ct,e.toDisplayString(B.$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(ie)(v.id),onClick:e.withModifiers(k=>e.unref(ye)(e.unref(ie)(v.id),k),["prevent","stop"])},null,8,Bt)):e.createCommentVNode("",!0),B.$core.state.isMobile?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(h,{key:1,class:"top-projectSelector_itemExtLink",href:e.unref(Ie)(v.url),"data-top-icon":"",color:"theme",target:"_blank",onClick:M[0]||(M[0]=e.withModifiers(()=>{},["stop"]))},null,8,["href"])),e.createVNode(vt,{id:v.id,right:v.right??void 0,url:e.unref(Ie)(v.url)},null,8,["id","right","url"])],64)):e.createCommentVNode("",!0)])]),_:1},8,["modelValue","items","title","modificator","placeholder","api","apiSetSearchParams","appendSearchToResultCond","buttonProps","openerShortcut"])}}}),Te=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},wt=(t,o,n)=>{o||(o={id:t.id}),o.id=t.id,o.pos??="3",o.notch??=!0,o.posBy??="fixed";const a=ce.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},Tt=(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=Ee({id:"all",colorId:"",name:S.useI18n().Common?.All_tags??"",state:""});t.append(r)}a.forEach(r=>{const l=Ee({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)})},Ee=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},Et=[{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"}],Mt=["data-tag_id","data-tag_color_id","title"],X=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,Mt))}}),Vt=["contenteditable","onKeydown"],Me=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:g=>g.preventDefault()}:{}),d=e.ref(!1),f=async()=>{d.value=!0,await e.nextTick(),l.value?.focus()},u=()=>{const g=l.value?.innerText;if(!g)return C();l.value&&(l.value.innerText=g),d.value=!1,a("update:name",g)},C=async()=>{l.value&&(l.value.innerText=n.name),d.value=!1},c=g=>{if(d.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(b._sfc_main$1,{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(X,{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(u,["stop"]),["enter"]),e.withKeys(e.withModifiers(C,["stop"]),["esc"])]}),e.toDisplayString(r.value),17,Vt),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(u,["stop"])})):(e.openBlock(),e.createElementBlock("span",{key:0,"data-top-icon":"",class:"top-tagSelector_edit",onClick:f}))],64)):e.createCommentVNode("",!0)]),_:1},8,["class"]))}}),jt={key:1},Ve=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 f=e.resolveDirective("top-data");return e.openBlock(),e.createBlock(b._sfc_main$2,{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(X,{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,u=>(e.openBlock(),e.createBlock(X,{id:e.unref(G)(u),colorId:e.unref(Y)(u,t.tags)?.color_id??"",name:e.unref(Y)(u,t.tags)?.name??"",state:e.unref(G)(u)===u?"selected":"excluded"},null,8,["id","colorId","name","state"]))),256))]),_:2},1040,["class","styling"])),[[f,l,"topTagSelectorTarget"]])]),_:3},8,["id"])}}}),At=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(Et)},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 f=a.id??"top-popup-id-"+Math.random(),u=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 c=e.shallowRef({model:r,mode:"filter",targetId:void 0,filters:void 0,payload:void 0});e.watch(r,()=>{d("selector",r.value)});const g=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(Te(h)))return"excluded"}return h==="all"&&!c.value.model.value.length?"selected":""},m=(h,v)=>{const k=Te(h);let x=c.value.model.value.filter(V=>V!==h&&V!==k);v==="select"&&x.push(h),v==="exclude"&&x.push(k),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(V=>V!=="1"))),a.singleMode&&!c.value.filters&&(x.length||(x=c.value.model.value),x.length>1&&(x=[x[x.length-1]])),x.sort((V,_)=>{if(!a.tags)return 0;const R=a.tags.findIndex(F=>F.id===V),D=a.tags.findIndex(F=>F.id===_);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)},B=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&&(u.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,k){if(!l.value)return;const x=$(k.item).parent().find("[data-tag_id]"),V=[];x.each((_,R)=>{if(!l.value)return;const D=$(R).attr("data-tag_id");V.push(D)}),l.value.sort((_,R)=>{const D=V.findIndex(de=>de===_.id),F=V.findIndex(de=>de===R.id);return D-F}),d("tagsChanged",l.value)}})},M=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(Ve,{modelValue:r.value,"onUpdate:modelValue":v[0]||(v[0]=k=>r.value=k),id:e.unref(f),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(f),class:e.normalizeClass(p.value),onOpen:v[4]||(v[4]=k=>B(k)),onClose:v[5]||(v[5]=k=>M(k)),"transition-duration":50},e.createSlots({contentList:e.withCtx(()=>[e.unref(c).mode==="filter"&&!t.singleMode?(e.openBlock(),e.createBlock(Me,{key:0,id:"all",colorId:"",name:h.$i18n.Common.All_tags??"",state:e.unref(c).model.value.length?"":"selected",onSelect:v[3]||(v[3]=k=>e.unref(c).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(Me,{key:k.id,id:k.id,colorId:k.color_id,name:k.name,state:s(k.id),canExclude:e.unref(c).mode==="filter"&&!t.singleMode,editable:t.tagsEditable,disabled:g.value&&s(k.id)==="",onUnselect:x=>m(k.id,"unselect"),onSelect:x=>m(k.id,"select"),onExclude:x=>m(k.id,"exclude"),"onUpdate:name":x=>{k.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$1,{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:u.value,"onUpdate:modelValue":v[1]||(v[1]=k=>u.value=k),options:C()},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]=k=>e.unref(d)("setter",{tagsIds:e.unref(c).model.value,filters:e.unref(c).filters,filtersAction:u.value,payload:e.unref(c).payload}))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.value==="add"?h.$i18n.Common.Add:"")+" "+e.toDisplayString(u.value==="replace"?h.$i18n.Common.Replace:"")+" "+e.toDisplayString(u.value==="delete"?h.$i18n.Common.Delete:""),1)]),_:1})]),key:"1"}:void 0]),1032,["id","class"])],64))}});w.TopCompetitorSelector=Ge,w.TopGroupSelector=lt,w.TopProjectSelector=xt,w.TopRegionSelector=He,w.TopTagSelector=At,w.TopTagSelectorPopupOpener=Ve,w.TopTagSelectorTagIcon=X,w.clearCache=xe,w.dialogRegionSelector=pe,w.findRegion=ge,w.genElTopTagSelectorPopupOpener=wt,w.genSearcherByKey=te,w.renderElTopTagSelectorPopupOpener=Tt,w.useItemsFromCompetitors=Re,Object.defineProperty(w,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=project.amd.js.map