@topvisor/ui 1.4.3-projectSelector.0 → 1.4.3-projectSelector.1

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.
@@ -1,2 +1,2 @@
1
- define(["require","exports","vue","../.chunks/forms-EhKRBbpk.amd","../.chunks/popupHint.vue_vue_type_style_index_0_lang-24i49Ad3.amd","../.chunks/policy.vue_vue_type_style_index_0_lang-AfwHvWs8.amd","../.chunks/utils-DsGgpnXD.amd","../utils/searchers.amd","../.chunks/core-BEpKBNHt.amd","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-C3qaTBlO.amd","../.chunks/field-Cvv0SRcJ.amd","../utils/check.amd","../utils/string.amd","../utils/dom.amd","../popup/worker.amd","../require/css.amd!../assets/project.css"],(function(xe,T,e,S,b,w,Te,Q,Tt,wt,P,le,we,N,Me){"use strict";if(typeof e>"u")var e=window.Vue;const je={class:"top-competitorSelector"},Ve={class:"top-ellipsis1"},Ae=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(i,l)=>(e.openBlock(),e.createElementBlock("div",je,[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(r=>r.value===n.value?.[0])?.content),1)]),_:1})]),contentList:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,r=>(e.openBlock(),e.createBlock(b._sfc_main$2,{class:e.normalizeClass({"top-active":n.value?.includes(r.value)}),"data-top-icon":r.icon,title:r.title,onClick:()=>n.value=[r.value]},{default:e.withCtx(()=>[e.createElementVNode("span",Ve,e.toDisplayString(r.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]=r=>n.value=r),items:t.items,isMultiple:!0,styling:"bar",canBeEmptyMultiple:!1,selectAllItem:a.value},null,8,["modelValue","items","selectAllItem"]))]))}}),Ee=(t,o)=>e.computed(()=>e.toValue(t).filter(i=>i.on>=0||i.id===o).map(i=>({value:i.id,title:i.url+` [${i.id}]`,icon:i.id===e.toValue(o)?"":"",content:i.name}))),j=-1,h=-2,K=-1,be={0:"Yandex",1:"Google",4:"YouTube",5:"Bing",7:"Seznam",8:"AppStore",9:"GoogleStore",20:"Yandex.com",21:"Yandex.com.tr"},re={key:h,name:"--",index:h},ie={key:h,name:"--",regions:[re],regionByIndex:new Map([[h,re]])},F={key:h,name:"Autoselect",index:h},X={key:h,name:"Autoselect",regions:[F],regionByIndex:new Map([[h,F]])},de={countryCode:"00",depth:1,device:0,key:K,index:K,lang:"ru",name:"Without region"},Pe=()=>(F.name=S.useI18n().Common.Autoselect,F),$e=()=>(Pe(),X.name=S.useI18n().Common.Autoselect,console.log(X),X),Ne=()=>(de.name=S.useI18n().Keywords.Without_region,de),Z=(t=!1,o=!1,n=[])=>{let a;return t?a=Le(n):a=ce(n),o&&a.set(h,$e()),a.size||a.set(h,ie),a},ce=(t,o=!0,n=[],a=!1)=>{const i=new Map;return t.forEach(l=>{if(!l.enabled||a&&typeof l.key=="number"&&l.key>1)return;const r={...l};r.regionByIndex=new Map,l.regions&&l.regions.forEach(u=>{if(o&&!u.enabled)return;const g={...u};r.regionByIndex.set(g.index,g)}),!r.regionByIndex.size&&n.length,(!l.regions||r.regionByIndex.size||n.length)&&i.set(r.key,r)}),n.forEach(l=>{if(i.has(l))return;const r={key:l,name:be[l],regions:[],regionByIndex:new Map};i.set(r.key,r)}),i},Le=t=>{const o=ce(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},ue=(t,o,n=[])=>{const a=Z(t,!1,n);let i;return a.forEach(l=>{if(!(o.searcher_key!==void 0&&o.searcher_key!=l.key)&&l.regions&&(l.regions.forEach(r=>{if(!i&&!(o.key!==void 0&&o.key!=r.key)&&!(o.index!==void 0&&o.index!=r.index)&&!(!t&&(o.lang!==void 0&&o.lang!=r.lang||o.device!==void 0&&o.device!=r.device)))return r.searcher_key=l.key,i=r,!1}),i))return!1}),i},se=Te.useAsyncTopDialog(()=>new Promise((t,o)=>xe(["../.chunks/dialog_regionSelectorRegions-CHC-Blbu.amd"],t,o))),Ge=(t,o)=>{const n=S.useI18n(),a=e.ref(o.value.keys().next().value??h),i=e.computed(()=>{const l=new Map;if(o.value.forEach(r=>{let u={value:r.key,title:r.name};t.addSearcherIcon&&(u.icon=Q.getSearcherGIcon(r.key)),l.set(r.key,u)}),t.addCompare&&!l.has(h)){const r={value:"",title:"--------------------",disabled:!0};l.set(r.value,r);const u={value:j,title:n.Common.Compare};l.set(u.value,u)}return l});return{searcherKey:a,optionBySearcherKey:i}},Oe=(t,o)=>{const n=S.useI18n(),a=e.ref(h);t.modelValue.length===1&&(a.value=t.modelValue[0]),a.value===h&&(t.forFrequency?a.value=o.value?.regionByIndex.values().next().value?.key??h:a.value=o.value?.regionByIndex.keys().next().value??h);const i=e.computed(()=>{const l=new Map;return o.value.regionByIndex?.forEach(r=>{let u=r.name;if(t.forFrequency){const y={value:r.key,title:u};l.has(r.key)||l.set(r.key,y);return}r.device&&(u+=" ("+n.Common["Device_"+r.device]+")");const g=Q.getLangLabel(o.value.key||0,r.lang??"");g&&(u+=" / "+g);const f={value:r.index,title:u,icon:r.device?Q.getDeviceGIcon(r.device):void 0};l.set(r.index,f)}),l});return e.watch(i,(l,r)=>{if(t.onlySearcher||a.value!==void 0&&l.get(a.value))return;let u=l.keys().next().value;if(a.value===h||u===h){a.value=u;return}let g=r?.get(a.value)?.title||"",f=-1;for(const[y,d]of l.entries()){const p=d.title;if(typeof p!="string"||typeof y=="string")break;if(p===g){u=y;break}const c=new RegExp(` \\((${n.Common.Device_1}|${n.Common.Device_2})\\)`);let m=g,s=3;p.indexOf(m)===-1&&(m=g.replace(/^[^a-zа-я]/i,"").replace(c,""),s--),p.indexOf(m)===-1&&(m=g.replace(/ \/.*/,""),s--),p.indexOf(m)===-1&&(m=g.replace(/ \/.*/,""),m=m.replace(/^[^a-zа-я]/i,"").replace(c,""),s--),p.indexOf(m)!==-1&&(s<=f||(f=s,u=y))}a.value=u}),{regionIndex:a,optionByRegionIndex:i}},Re=(t,o,n)=>{const a=e.ref([]),i=()=>{if(t.onlySearcher&&o.value){a.value=Array.from(o.value.keys());return}let r=[];if(t.modelValue.length>1)r=[...t.modelValue];else try{r=JSON.parse(localStorage.getItem("ui:project:regionSelector"+t.projectId+":regionsIndexes"))??[]}catch{}r.length&&(r=r.filter(u=>n.value.has(u))),r.length||(r=Array.from(n.value)),a.value=[...r]},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&&i(),{regionsIndexes:a}},De=t=>{const o=e.computed(()=>Z(t.forFrequency,t.autoRegion,t.searchers)),n=e.computed(()=>o.value.get(i.searcherKey.value)||ie),a=e.computed(()=>{const d=new Set;return o.value.forEach(p=>{p.regionByIndex.forEach(c=>{c.index!==K&&c.index!==h&&d.add(c.index)})}),d}),i=Ge(t,o),l=Oe(t,n),r=Re(t,o,a);e.watch(o,()=>{if(t.onlySearcher?r.regionsIndexes.value=Array.from(o.value.keys()):r.regionsIndexes.value=r.regionsIndexes.value.filter(p=>a.value.has(p)),i.searcherKey.value===j)return;let d=o.value.keys().next().value;o.value.forEach(p=>{if(t.onlySearcher&&p.key===i.searcherKey.value){d=i.searcherKey.value;return}if(l.regionIndex.value&&p.regionByIndex?.has(l.regionIndex.value)&&(d=p.key),!t.onlySearcher){let c;d!==void 0&&(c=o.value.get(d)?.regionByIndex);const m=o.value.get(p.key)?.regionByIndex;c?.has(h)&&!m?.has(h)&&(d=p.key)}}),d!==void 0&&(i.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 u=()=>{if(!(i.searcherKey.value===j||i.searcherKey.value===h))return i.searcherKey.value},g=()=>{if(t.onlySearcher||l.regionIndex.value===h)return;let d=l.regionIndex.value;if(t.forFrequency){const p=l.regionIndex.value;d=ue(t.forFrequency,{searcher_key:u(),key:p},t.searchers)?.index}return d},f=()=>{const d=u();if(d!==void 0)return o.value.get(d)};return{selectSearcher:i,selectRegion:l,compare:r,searcherByKey:o,allRegionsIndexes:a,getSearcher:f,getRegion:()=>{const d=g();if(d!==void 0)return f()?.regionByIndex?.get(d)}}},Ke=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"),i=e.useModel(t,"modelValueSingle"),{selectSearcher:l,selectRegion:r,compare:u,searcherByKey:g,allRegionsIndexes:f,getSearcher:y,getRegion:d}=De(n),p=()=>{const c=[];g.value.forEach(m=>{m.enabled&&m.regions.forEach(s=>{s.enabled&&c.push(s)})}),se.open("regions",{regions:c,regionsIndexes:u.regionsIndexes.value,"@update:regionsIndexes":m=>u.regionsIndexes.value=m})};return e.watch([r.regionIndex,l.searcherKey,u.regionsIndexes],()=>{if(l.searcherKey.value===j&&u.regionsIndexes.value.length){if(JSON.stringify(a.value)===JSON.stringify(u.regionsIndexes.value))return;a.value=[...u.regionsIndexes.value]}else n.onlySearcher?(a.value=[l.searcherKey.value],l.searcherKey.value===h&&!n.autoRegion&&(a.value.length=0)):(a.value=[r.regionIndex.value],r.regionIndex.value===h&&!n.autoRegion&&(a.value.length=0));!n.onlySearcher&&!f.value.size&&(l.searcherKey.value=h)}),i.value&&e.watch(i,()=>{i.value&&(a.value=[i.value])},{immediate:!0}),e.watch(a,()=>{if(a.value[0]&&(i.value=a.value[0]),n.onlySearcher){if(!a.value.length||a.value.length===1&&!g.value.has(a.value[0])||a.value.length===1&&a.value[0]===h&&!n.autoRegion){let c=g.value.keys().next().value;c===h&&!n.autoRegion&&(c=void 0,i.value=h),c!==void 0?a.value=[c]:a.value.length=0;return}if(a.value.length>1&&JSON.stringify(a.value)!==JSON.stringify(u.regionsIndexes.value)){a.value=[...u.regionsIndexes.value];return}}else{let c=[...new Set(a.value)],m=g.value.values().next().value?.regionByIndex?.keys().next().value;if(n.forFrequency&&(m=g.value.values().next().value?.regionByIndex?.values().next().value?.key),m===h&&!n.autoRegion&&(m=void 0,i.value=h),!c.length)m!==void 0&&c.push(m);else if(c.length===1){let s=f.value;n.forFrequency&&(s=new Set,g.value.forEach(B=>{B.regionByIndex.forEach(E=>{E.index!==K&&E.index!==h&&s.add(E.key)})})),s.has(c[0])||(c=[],m!==void 0&&c.push(m))}else c=c.filter(s=>f.value.has(s)),!c.length&&m!==void 0&&c.push(m);if(JSON.stringify(a.value)!==JSON.stringify(c)){a.value=c;return}}if(!(a.value.length===1&&a.value[0]===(n.onlySearcher?l.searcherKey.value:r.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){r.regionIndex.value=a.value[0];let c;for(const m of g.value.values()){for(const s of m.regionByIndex.values())if((n.forFrequency?s.key:s.index)===r.regionIndex.value){c=m.key;break}if(c!==void 0)break}c!==void 0&&(l.searcherKey.value=c)}else l.searcherKey.value=j,u.regionsIndexes.value=[...a.value]}},{immediate:!0}),o({getSearcher:y,getRegion:d}),(c,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]=s=>e.unref(l).searcherKey.value=s),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(r).optionByRegionIndex.value,modelValue:e.unref(r).regionIndex.value,"onUpdate:modelValue":m[1]||(m[1]=s=>e.unref(r).regionIndex.value=s),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:p,"data-count-compare-regions-indexes":e.unref(u).regionsIndexes.value.length},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.$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 _=(t,o,n=new Map,a={id:"root"},i=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 r=i>1?"-".repeat(i-1)+" ":"";r&&!l.name.startsWith(r)&&(l.name=r+l.name),n.set(l.id,l),_(t,o,n,l,i+1),a.childsIds=a.childsIds.concat(l.childsIds),a.id&&l.count_groups_active&&(a.countAllGroupsActive+=l.count_groups_active)}),n),Ue=t=>t.gen("/get/keywords_2/folders/",["id","parent_id","name","path"]).changeParams({orders:["ord_path"],limit:100});function ee(t,o,n){const a=Object.keys(t),i=a.map(l=>t[l]);return e.watch(i,(l,r,u)=>{const g={};l.forEach((f,y)=>{if(!Object.is(f,r[y])){const d=a[y];g[d]={old:r[y],new:f}}}),Object.keys(g).length&&o(g,u)},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:{}},{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"),i=o.client&&!o.folders?Ue(o.client):void 0,l=e.ref(null);e.watch(()=>o.projectId,()=>{i?.changeParams({project_id:o.projectId}),i?.setOptions({checkFingerprint:"TopGroupSelectorFolders:"+o.projectId}),l.value?.resetCache()},{immediate:!0});const r=e.computed(()=>_(o.folders??{root:[V]},o.canSelectAll));return ee({modelFolder:a,modelFolderId:n},async u=>{if(n.value===a.value.id)return;if(u.modelFolder&&!u.modelFolderId){n.value=a.value.id;return}let g=r.value.get(o.folderId);g||(g=V),a.value=g,n.value=g.id},{immediate:!0}),(u,g)=>(e.openBlock(),e.createBlock(w._sfc_main,{class:"top-groupSelector_folder",modelValue:a.value,"onUpdate:modelValue":g[0]||(g[0]=f=>a.value=f),items:t.folders?[...r.value.values()]:void 0,"search-type":"inline",icon:t.addIcon?"":void 0,api:t.folders?void 0:e.unref(i),apiSetSearchParams:(...f)=>e.unref(w.apiSetSearchParamsFilter)(...f,"name"),addChanger:t.addChanger,useCache:""},null,8,["modelValue","items","icon","api","apiSetSearchParams","addChanger"]))}}),U={id:-1,name:"--",folder_id:V.id,folder_path:V.path},q={id:w.ITEM_ID_ALL,name:"All groups",folder_id:V.id,folder_path:V.path},L=()=>(q.name=S.useI18n()?.Common.All_groups,q),fe=()=>(q.name=S.useI18n()?.Keywords.Choose_group,q),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=>t.gen("/get/keywords_2/groups/",["id","name","folder_id","folder_path"]).changeParams({folder_id_depth:!0,limit:100}),ze=t=>t.gen("/add/keywords_2/groups/"),Je={class:"top-groupSelector_groupItem"},Ye={key:0,class:"top-comment"},He={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:{}},{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,i=e.useModel(t,"groupId"),l=e.useModel(t,"group"),r=n.client&&!n.groups?me(n.client):void 0,u=n.client?ze(n.client):void 0,g=e.ref(null),f=e.ref(void 0),y=P.genFieldFilter("folder_id","EQUALS",[n.folder?.id??0]);r?.changeParams({project_id:n.projectId,folder_id_depth:!0,filters:[y]}),n.on!==void 0&&r?.params.filters?.push(P.genFieldFilter("on","EQUALS",[Number(n.on)]));const d=c=>{l.value=c,i.value=c.id};ee({projectId:()=>n.projectId,folderId:()=>n.folder?.id,canSelectAll:()=>n.canSelectAll},c=>{if(c.projectId&&(r?.changeParams({project_id:n.projectId}),r?.setOptions({checkFingerprint:"TopGroupSelectorGroups:"+n.projectId})),c.folderId&&(y.values=[n.folder?.id??0],n.groups&&(f.value=We(n.groups,n.on,n.folder))),g.value?.resetCache(),(c.folderId?.old!==void 0||c.canSelectAll?.old!==void 0)&&i.value!==w.ITEM_ID_NEW){let m;n.autoselect==="first"&&(m=f.value?.[0],n.canSelectAll&&(m=e.reactive(L()))),(n.autoselect==="placeholder"||!m)&&(m=fe()),d(m)}},{immediate:!0}),ee({modelGroup:l,modelGroupId:i},async c=>{if(i.value!==l.value.id){if(c.modelGroup&&!c.modelGroupId){i.value=l.value.id;return}if(!(n.canAdd&&i.value===w.ITEM_ID_NEW)){if(n.groups){let m=f.value?.find(s=>s.id===i.value);if(!m&&n.canSelectAll&&(m=L()),m)d(m);else{const s=f.value?.[0];s&&!i.value?d(s):d(U)}}if(n.client&&!n.groups&&(i.value||i.value===w.ITEM_ID_ALL&&!n.canSelectAll)){const m=me(n.client).changeParams({project_id:n.projectId,id:i.value,filters:[y]});m?.setOptions({checkFingerprint:"TopGroupSelectorFindGroup:"+n.projectId});const s=await m.call();if(!s.errors?.length&&!s.result)return;!s.errors&&s.result[0]?d(s.result[0]):d(U)}}}},{immediate:!0});const p=async c=>{if(n.canAdd!=="api"||!u)return;const m=l.value,s=await u.changeParams({project_id:n.projectId,names:[c.name],to_id:n.folder?.id??V.id,to_type:"in_folder_last"}).call();s.result?(d(s.result),a("addGroup",s.result)):d(m),g.value?.resetCache(!0)};return(c,m)=>(e.openBlock(),e.createBlock(w._sfc_main,{ref_key:"refSelector",ref:g,class:"top-groupSelector_group",modelValue:l.value,"onUpdate:modelValue":m[0]||(m[0]=s=>l.value=s),items:f.value??t.groups,searchType:"inline",icon:t.addIcon?"":void 0,api:t.groups?void 0:e.unref(r),apiSetSearchParams:(...s)=>e.unref(w.apiSetSearchParamsFilter)(...s,"name"),appendSearchToResult:!!t.canAdd,useAllItem:t.canSelectAll?e.unref(L)().name:!1,addChanger:t.addChanger,useCache:"",onAppendItem:p},{item:e.withCtx(({item:s})=>[e.createElementVNode("div",Je,[s.id===e.unref(w.ITEM_ID_NEW)?(e.openBlock(),e.createElementBlock("div",Ye,e.toDisplayString(c.$i18n.Common.Add)+": ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(s.name),1),s.folder_path&&t.showPath?(e.openBlock(),e.createElementBlock("span",He,e.toDisplayString(s.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:{}},{folderId:{required:!0},folderIdModifiers:{},folder:{},folderModifiers:{},groupId:{required:!0},groupIdModifiers:{},group:{default:U},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"),i=e.useModel(t,"folder"),l=e.useModel(t,"groupId"),r=e.useModel(t,"group"),u=o,g=_(n.folders??{root:[V]},n.canSelectAllGroups);i.value=g.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=fe()),f??=U,r.value=f;const y=d=>{let p;n.groups&&d&&(p=[...n.groups,d]),u("update:groups",p)};return(d,p)=>(e.openBlock(),e.createElementBlock("div",Xe,[t.showFolders?(e.openBlock(),e.createBlock(qe,{key:0,folderId:a.value,"onUpdate:folderId":p[0]||(p[0]=c=>a.value=c),folder:i.value,"onUpdate:folder":p[1]||(p[1]=c=>i.value=c),projectId:t.projectId,folders:t.folders,canSelectAll:t.canSelectAllGroups,addChanger:t.addChanger,addIcon:t.addIcon,client:t.client},null,8,["folderId","folder","projectId","folders","canSelectAll","addChanger","addIcon","client"])):e.createCommentVNode("",!0),t.showGroups?(e.openBlock(),e.createBlock(Qe,{key:1,groupId:l.value,"onUpdate:groupId":p[2]||(p[2]=c=>l.value=c),group:r.value,"onUpdate:group":p[3]||(p[3]=c=>r.value=c),projectId:t.projectId,folder:i.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,onAddGroup:y},null,8,["groupId","group","projectId","folder","groups","on","canAdd","canSelectAll","autoselect","addChanger","showPath","addIcon","client"])):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();let 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"}];const i=e.computed(()=>o.right.includes("0")?a.filter(l=>o.right[l.right]==="1"):a);return(l,r)=>{const u=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(u,{class:"top-projectSelectorSubmenu_opener","data-top-icon":"",color:"theme"})]),contentList:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,g=>(e.openBlock(),e.createElementBlock("li",_e,[e.createElementVNode("a",{href:g.href,title:g.title,"data-top-icon":g.icon,"data-right":g.right},null,8,et)]))),256)),e.createElementVNode("li",tt,[e.createElementVNode("a",{href:t.url,"data-top-icon":"",target:"_blank"},null,8,ot)])]),_:1})}}}),te=t=>({id:null,name:t,listItemProps:{type:"title"}}),oe={scheduledUpdate:!1,manualUpdate:!1,guestProjects:!1},at=(t,o)=>{const n=[],a={scheduledUpdate:te(S.useI18n().Projects.Scheduled_update),manualUpdate:te(S.useI18n().Projects.Manual_update),guestProjects:te(S.useI18n().Projects.Guest_projects)},i=o?{scheduledUpdate:!1,manualUpdate:!1,guestProjects:!1}:oe;for(const l of t)!i.scheduledUpdate&&l.right?.startsWith("1")&&l.on>0&&(n.push(a.scheduledUpdate),i.scheduledUpdate=!0),!i.manualUpdate&&l.right?.startsWith("1")&&l.on===0&&(n.push(a.manualUpdate),i.manualUpdate=!0),!i.guestProjects&&l.right?.startsWith("0")&&l.on>=0&&(n.push(a.guestProjects),i.guestProjects=!0),n.push(l);return n},lt=(t,o,n,a)=>!t||t.length===0?[]:(o&&(t=t.filter(i=>i.id!==o)),n&&Object.keys(oe).forEach(i=>oe[i]=!1),at(t,a)),rt=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},ge=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 i="/"+n+t+"/"+a;const l=rt(location.hash);return i+=l,i},it=(t,o)=>{if(t)return t.map(n=>n.id?{...n,listItemProps:{class:"top-projectSelector_item",href:o?ge(Number(n.id)):void 0,title:n.name}}:n)},pe=t=>{let o=t.startsWith("http")?t:"http://"+t;return o=o.replace(/"/g,"%22"),o},ve=(t,o,n,a)=>{const i=t.gen("/get/projects_2/projects/",["id","user_id","name","url","on","right"]);return i.params={...a,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")]},i.options.onApiLoaded=(l,r,u)=>{const g=r.data.filters.length===1&&r.data.offset===0||r.data.limit===1e3,f=r.data.limit===100&&r.data.filters.length>1?!0:void 0;l.result=lt(l.result,n,g,f),u?.(l,r)},i},dt=t=>t.gen("/add/projects_2/projects/"),ne="ui_project_selector_total:",ct=1440*60*1e3,A=e.shallowRef(),he=e.ref(0),W=e.ref(null),Se=(t,o)=>{localStorage.setItem(ne+t,JSON.stringify({projectsTotal:o,expiresAt:Date.now()+ct}))},ut=t=>{const o=localStorage.getItem(ne+t);if(!o)return;const{projectsTotal:n,expiresAt:a}=JSON.parse(o);if(Date.now()>a){localStorage.removeItem(ne+t);return}return n},st=(t=!0)=>{A.value=void 0,t&&he.value++},ft={class:"top-projectSelector_itemText"},mt={class:"top-projectSelector_itemName"},gt={class:"top-projectSelector_itemId"},pt={key:1},vt={key:0,class:"top-comment"},ye=1e3,ht=e.defineComponent({__name:"projectSelector",props:e.mergeModels({userId:{default:window.mo?.user?.id},client:{},project:{},addLinksToProjects:{type:Boolean,default:!0},excludeProjectId:{},modificator:{default:"projectSelector"},placeholder:{},buttonProps:{},openerShortcut:{}},{project:{required:!1},projectModifiers:{}}),emits:["update:project"],setup(t){const o=S.useI18n(),n=t,a=e.useModel(t,"project"),i=ve(n.client,n.userId,n.excludeProjectId),l=dt(n.client),r=e.ref(ut(n.userId)),u=e.ref(null),g=e.computed(()=>n.placeholder??o.Projects.Select_project),f=e.computed(()=>{if(!(!r.value&&r.value!==0))return r.value<ye?"static":"api"});e.watch(he,()=>{c()});const y=async()=>{if(!W.value){const B=ve(n.client,n.userId,n.excludeProjectId,{limit:ye});W.value=B.call()}const s=await W.value;if(!s.errors)return W.value=null,s},d=async()=>{if(r.value)return;const s=await y();s&&(r.value=s.total,f.value==="static"&&!A.value&&(A.value=s.result),r.value&&Se(n.userId,r.value))},p=async s=>{const B=await l.changeParams({url:s.name,name:s.name}).call();if(!B.errors){if(A.value&&f.value==="static"){const E={id:Number(B.result),user_id:n.userId,name:s.name,url:s.name,on:0,right:"11111111111111111111",listItemProps:{class:"top-projectSelector_item",href:n.addLinksToProjects?ge(Number(B.result)):void 0,title:s.name}};A.value=[E,...A.value],r.value&&Se(n.userId,r.value+1)}f.value==="api"&&st(n.userId)}},c=()=>{f.value==="api"&&u.value?.resetCache(!0)},m=async()=>{if(A.value||f.value!=="static")return;const s=await y();s&&(A.value=s.result)};return e.onMounted(async()=>{await d()}),(s,B)=>{const E=e.resolveComponent("TopButton");return f.value?(e.openBlock(),e.createBlock(w._sfc_main,{key:0,ref_key:"refSelector",ref:u,class:"top-projectSelector",modelValue:a.value,"onUpdate:modelValue":B[1]||(B[1]=x=>a.value=x),items:e.unref(it)(e.unref(A),t.addLinksToProjects),title:s.$i18n.Projects.Search_projects,modificator:t.modificator,placeholder:g.value,hasCloserBtn:"",api:f.value==="api"?e.unref(i):void 0,apiSetSearchParams:f.value==="api"?(...x)=>e.unref(w.apiSetSearchParamsFilter)(...x,"name"):void 0,useCache:"",appendSearchToResult:"",appendSearchToResultCond:e.unref(le.validUrl),appendWithoutSelect:"",buttonProps:t.buttonProps,openerShortcut:t.openerShortcut,onAppendItem:p,onOpen:m},{item:e.withCtx(({item:x})=>[x.id?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",ft,[e.createElementVNode("span",mt,e.toDisplayString(e.unref(we.ellipsis)(x.name,20)),1),e.createElementVNode("span",gt," id "+e.toDisplayString(x.id),1)]),s.$core.state.isMobile?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(E,{key:0,class:"top-projectSelector_itemLink",href:e.unref(pe)(x.url),"data-top-icon":"",color:"theme",target:"_blank",onClick:B[0]||(B[0]=e.withModifiers(()=>{},["stop"]))},null,8,["href"])),e.createVNode(nt,{id:x.id,right:x.right??void 0,url:e.unref(pe)(x.url)},null,8,["id","right","url"])],64)):(e.openBlock(),e.createElementBlock("div",pt,[e.unref(le.validUrl)(x.name)?(e.openBlock(),e.createElementBlock("div",vt,e.toDisplayString(s.$i18n.Projects.Add_project)+": ",1)):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(x.name),1)]))]),_:1},8,["modelValue","items","title","modificator","placeholder","api","apiSetSearchParams","appendSearchToResultCond","buttonProps","openerShortcut"])):e.createCommentVNode("",!0)}}}),Ie=t=>"-"+t,G=t=>t[0]==="-"?t.substring(1):t,z=(t,o)=>{t=G(t);const n=o.find(a=>a.id===t);if(n)return n},St=(t,o,n)=>{o||(o={id:t.id}),o.id=t.id,o.pos??="3",o.notch??=!0,o.posBy??="fixed";const a=Me.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=i=>{i.preventDefault(),i.stopPropagation(),a.onclick=null;const l=e.ref(t.modelValue),r={model:l,mode:t.mode,targetId:t.targetId,filters:t.filters,payload:t.payload};N.storage(a,"topTagSelectorTarget",r),delete a.dataset.topPopupDisabled,e.isRef(t.modelValue)||e.watch(l,()=>{t.modelValue=l.value,J(a,t,n)}),a.click()},e.isRef(t.modelValue)?e.watch(t.modelValue,()=>J(a,t,n)):N.storage(a,"topTagSelectorRender",i=>{t.modelValue=i;const l=N.storage(a,"topTagSelectorTarget");l&&(l.model.value=i),J(a,t,n)}),J(a,t,n),a},yt=(t,o)=>{N.storage(t,"topTagSelectorRender")?.(o)},J=(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 i=ke({id:"all",colorId:"",name:S.useI18n().Common?.All_tags??"",state:""});t.append(i)}a.forEach(i=>{const l=ke({id:G(i),colorId:z(i,o.tags)?.color_id??"",name:z(i,o.tags)?.name??"",state:G(i)===i?"selected":"excluded"});t.append(l)})},ke=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},It=[{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"}],kt=["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,kt))}}),Ct=["contenteditable","onKeydown"],Ce=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,i=e.useModel(t,"name"),l=e.ref(null),r=e.computed(()=>navigator.userAgent.indexOf("Firefox")!=-1?{contenteditable:u.value,onpaste:p=>p.preventDefault()}:{}),u=e.ref(!1),g=async()=>{u.value=!0,await e.nextTick(),l.value?.focus()},f=()=>{const p=l.value?.innerText;if(!p)return y();l.value&&(l.value.innerText=p),u.value=!1,a("update:name",p)},y=async()=>{l.value&&(l.value.innerText=n.name),u.value=!1},d=p=>{if(u.value||n.disabled)return;let c="selected";n.canExclude&&(p.ctrlKey||p.metaKey)&&(c="excluded"),n.state==c&&(c=""),c===""&&a("unselect"),c==="selected"&&a("select"),c==="excluded"&&a("exclude")};return(p,c)=>(e.openBlock(),e.createBlock(b._sfc_main$2,{class:e.normalizeClass({"top-tagSelector_tagListItem":!0,"top-tagSelector_tagListItem-inEdit":u.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:i.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:u.value?"plaintext-only":!1},r.value,{onKeydown:[e.withKeys(e.withModifiers(f,["stop"]),["enter"]),e.withKeys(e.withModifiers(y,["stop"]),["esc"])]}),e.toDisplayString(i.value),17,Ct),t.editable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[u.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:g}))],64)):e.createCommentVNode("",!0)]),_:1},8,["class"]))}}),Bt={key:1},Be=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",i=o.useTopButton?"html":"default",l={model:n,mode:o.mode,targetId:o.targetId,filters:o.filters,payload:o.payload};return(r,u)=>{const g=e.resolveDirective("top-data");return e.openBlock(),e.createBlock(b._sfc_main$1,{id:t.id},{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(a)),e.mergeProps({class:{"top-tagSelector":!0,"top-tagSelector-useTopButton":o.useTopButton,"top-tagSelector-custom":!o.useTopButton,"top-as-selector":o.useTopButton,"top-tagSelector-filter":o.mode==="filter","top-tagSelector-setter_single":o.mode==="setter"&&!t.filters,"top-tagSelector-setter_several":o.mode==="setter"&&t.filters,"top-tagSelector-selectedOne":!n.value.length||n.value.length===1,"top-tagSelector-toTwoLine":n.value.length>5},color:"theme",styling:t.styling},r.$attrs),{[e.unref(i)]:e.withCtx(()=>[!n.value.length&&t.mode==="filter"?(e.openBlock(),e.createBlock(Y,{key:0,id:"all",colorId:"",name:r.$i18n.Common.All_tags??"",state:""},null,8,["name"])):e.createCommentVNode("",!0),t.mode==="setter"&&t.filters?(e.openBlock(),e.createElementBlock("div",Bt,[e.renderSlot(r.$slots,"default")])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(n.value,f=>(e.openBlock(),e.createBlock(Y,{id:e.unref(G)(f),colorId:e.unref(z)(f,t.tags)?.color_id??"",name:e.unref(z)(f,t.tags)?.name??"",state:e.unref(G)(f)===f?"selected":"excluded"},null,8,["id","colorId","name","state"]))),256))]),_:2},1040,["class","styling"])),[[g,l,"topTagSelectorTarget"]])]),_:3},8,["id"])}}}),xt=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(It)},tagsModifiers:{}}),emits:e.mergeModels(["selector","setter","tagsChanged"],["update:modelValue","update:tags"]),setup(t,{emit:o}){const n=S.useI18n(),a=t,i=e.useModel(t,"modelValue"),l=e.useModel(t,"tags"),r=o,u=S.debounce((v,I)=>{r(v,I)},a.emitDelay);a.singleMode&&!i.value.length&&(i.value=[l.value[0].id]);const g=a.id??"top-popup-id-"+Math.random(),f=e.ref("add"),y=()=>{const v=" "+n.Common.Tags?.toLowerCase(),I=new Map;return I.set("add",{value:"add",title:n.Common.Add+v}),I.set("replace",{value:"replace",title:n.Common.Replace+v}),I.set("delete",{value:"delete",title:n.Common.Delete+v}),I};let d=e.shallowRef({model:i,mode:"filter",targetId:void 0,filters:void 0,payload:void 0});e.watch(i,()=>{u("selector",i.value)});const p=e.computed(()=>{if(d.value.mode==="setter"&&a.maxTagsForSetter&&!d.value.filters)return d.value.model.value.length>=a.maxTagsForSetter}),c=v=>{if(v!=="all"){if(d.value.model.value.includes(v))return"selected";if(d.value.model.value.includes(Ie(v)))return"excluded"}return v==="all"&&!d.value.model.value.length?"selected":""},m=(v,I)=>{const k=Ie(v);let C=d.value.model.value.filter(M=>M!==v&&M!==k);I==="select"&&C.push(v),I==="exclude"&&C.push(k),d.value.mode==="setter"&&d.value.targetId!==void 0&&a.requiredForSetter&&(C.length||C.push("1"),C.length===2&&d.value.model.value.length===1&&d.value.model.value[0]==="1"&&(C=C.filter(M=>M!=="1"))),a.singleMode&&!d.value.filters&&(C.length||(C=d.value.model.value),C.length>1&&(C=[C[C.length-1]])),C.sort((M,H)=>{if(!a.tags)return 0;const O=a.tags.findIndex(D=>D.id===M),R=a.tags.findIndex(D=>D.id===H);return O-R}),d.value.model.value=C,d.value.mode==="setter"&&d.value.targetId!==void 0&&u("setter",{tagsIds:C,targetId:d.value.targetId,payload:d.value.payload})},s=e.computed(()=>{let v="top-tagSelector_popup";return d.value.mode==="filter"&&(v+=" top-tagSelector_popup-filter"),d.value.mode==="setter"&&(v+=" top-tagSelector_popup-setter"),v}),B=()=>{const v=prompt("","New tag");if(!v||v==="New tag")return;const I=l.value.length+1;l.value.push({id:String(I),name:v,color_id:String((I-1)%10+1)}),r("tagsChanged",l.value)},E=v=>{if(d.value=N.storage(v.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&&$(v.elPopup).sortable({items:'li:has([data-tag_id]:not([data-tag_id="all"]))',cancel:'[contenteditable="plaintext-only"], [contenteditable="true"]',distance:10,stop:function(I,k){if(!l.value)return;const C=$(k.item).parent().find("[data-tag_id]"),M=[];C.each((H,O)=>{if(!l.value)return;const R=$(O).attr("data-tag_id");M.push(R)}),l.value.sort((H,O)=>{const R=M.findIndex(ae=>ae===H.id),D=M.findIndex(ae=>ae===O.id);return R-D}),u("tagsChanged",l.value)}})},x=v=>{S.Core.$?.ui.sortable&&$(v.elPopup).data("ui-sortable")&&$(v.elPopup).sortable("destroy")};return(v,I)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(Be,{modelValue:i.value,"onUpdate:modelValue":I[0]||(I[0]=k=>i.value=k),id:e.unref(g),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(g),class:e.normalizeClass(s.value),onOpen:I[4]||(I[4]=k=>E(k)),onClose:I[5]||(I[5]=k=>x(k)),"transition-duration":50},e.createSlots({contentList:e.withCtx(()=>[e.unref(d).mode==="filter"&&!t.singleMode?(e.openBlock(),e.createBlock(Ce,{key:0,id:"all",colorId:"",name:v.$i18n.Common.All_tags??"",state:e.unref(d).model.value.length?"":"selected",onSelect:I[3]||(I[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(Ce,{key:k.id,id:k.id,colorId:k.color_id,name:k.name,state:c(k.id),canExclude:e.unref(d).mode==="filter"&&!t.singleMode,editable:t.tagsEditable,disabled:p.value&&c(k.id)==="",onUnselect:C=>m(k.id,"unselect"),onSelect:C=>m(k.id,"select"),onExclude:C=>m(k.id,"exclude"),"onUpdate:name":C=>{k.name=C,e.unref(u)("tagsChanged",l.value)}},null,8,["id","colorId","name","state","canExclude","editable","disabled","onUnselect","onSelect","onExclude","onUpdate:name"]))),128)),t.tagsEditable&&l.value.length<t.tagsMax&&l.value.length<20?(e.openBlock(),e.createBlock(b._sfc_main$2,{key:1,"data-top-icon":"",onClick:e.withModifiers(B,["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(v.$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":I[1]||(I[1]=k=>f.value=k),options:y()},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(v.$i18n.Common.Cancel2),1)]),_:1}),e.createVNode(S._sfc_main$1,{onClick:I[2]||(I[2]=k=>e.unref(u)("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"?v.$i18n.Common.Add:"")+" "+e.toDisplayString(f.value==="replace"?v.$i18n.Common.Replace:"")+" "+e.toDisplayString(f.value==="delete"?v.$i18n.Common.Delete:""),1)]),_:1})]),key:"1"}:void 0]),1032,["id","class"])],64))}});T.TopCompetitorSelector=Ae,T.TopGroupSelector=Ze,T.TopProjectSelector=ht,T.TopRegionSelector=Ke,T.TopTagSelector=xt,T.TopTagSelectorPopupOpener=Be,T.TopTagSelectorTagIcon=Y,T.dialogRegionSelector=se,T.findRegion=ue,T.genElTopTagSelectorPopupOpener=St,T.genSearcherByKey=Z,T.renderElTopTagSelectorPopupOpener=yt,T.useItemsFromCompetitors=Ee,Object.defineProperty(T,Symbol.toStringTag,{value:"Module"})}));
1
+ define(["require","exports","vue","../.chunks/forms-EhKRBbpk.amd","../.chunks/popupHint.vue_vue_type_style_index_0_lang-24i49Ad3.amd","../.chunks/policy.vue_vue_type_style_index_0_lang-EZT5LjSx.amd","../.chunks/utils-DsGgpnXD.amd","../utils/searchers.amd","../.chunks/core-BEpKBNHt.amd","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-C3qaTBlO.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(xe,T,e,y,P,w,Te,Q,Et,Mt,b,le,we,Ee,N,Me){"use strict";if(typeof e>"u")var e=window.Vue;const je={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:y.useI18n().Common.Select_all,value:"all",content:""}});return(i,l)=>(e.openBlock(),e.createElementBlock("div",je,[e.unref(y.Core).state.isMobile?(e.openBlock(),e.createBlock(P._sfc_main,{key:0},{opener:e.withCtx(()=>[e.createVNode(y._sfc_main$1,{class:"top-competitorSelector_opener",color:"theme",icon:"",icon2:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.items.find(r=>r.value===n.value?.[0])?.content),1)]),_:1})]),contentList:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,r=>(e.openBlock(),e.createBlock(P._sfc_main$2,{class:e.normalizeClass({"top-active":n.value?.includes(r.value)}),"data-top-icon":r.icon,title:r.title,onClick:()=>n.value=[r.value]},{default:e.withCtx(()=>[e.createElementVNode("span",Ae,e.toDisplayString(r.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]=r=>n.value=r),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(i=>i.on>=0||i.id===o).map(i=>({value:i.id,title:i.url+` [${i.id}]`,icon:i.id===e.toValue(o)?"":"",content:i.name}))),M=-1,h=-2,D=-1,be={0:"Yandex",1:"Google",4:"YouTube",5:"Bing",7:"Seznam",8:"AppStore",9:"GoogleStore",20:"Yandex.com",21:"Yandex.com.tr"},re={key:h,name:"--",index:h},ie={key:h,name:"--",regions:[re],regionByIndex:new Map([[h,re]])},F={key:h,name:"Autoselect",index:h},_={key:h,name:"Autoselect",regions:[F],regionByIndex:new Map([[h,F]])},de={countryCode:"00",depth:1,device:0,key:D,index:D,lang:"ru",name:"Without region"},Pe=()=>(F.name=y.useI18n().Common.Autoselect,F),Ne=()=>(Pe(),_.name=y.useI18n().Common.Autoselect,console.log(_),_),Le=()=>(de.name=y.useI18n().Keywords.Without_region,de),X=(t=!1,o=!1,n=[])=>{let a;return t?a=Ge(n):a=ce(n),o&&a.set(h,Ne()),a.size||a.set(h,ie),a},ce=(t,o=!0,n=[],a=!1)=>{const i=new Map;return t.forEach(l=>{if(!l.enabled||a&&typeof l.key=="number"&&l.key>1)return;const r={...l};r.regionByIndex=new Map,l.regions&&l.regions.forEach(u=>{if(o&&!u.enabled)return;const g={...u};r.regionByIndex.set(g.index,g)}),!r.regionByIndex.size&&n.length,(!l.regions||r.regionByIndex.size||n.length)&&i.set(r.key,r)}),n.forEach(l=>{if(i.has(l))return;const r={key:l,name:be[l],regions:[],regionByIndex:new Map};i.set(r.key,r)}),i},Ge=t=>{const o=ce(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},ue=(t,o,n=[])=>{const a=X(t,!1,n);let i;return a.forEach(l=>{if(!(o.searcher_key!==void 0&&o.searcher_key!=l.key)&&l.regions&&(l.regions.forEach(r=>{if(!i&&!(o.key!==void 0&&o.key!=r.key)&&!(o.index!==void 0&&o.index!=r.index)&&!(!t&&(o.lang!==void 0&&o.lang!=r.lang||o.device!==void 0&&o.device!=r.device)))return r.searcher_key=l.key,i=r,!1}),i))return!1}),i},se=Te.useAsyncTopDialog(()=>new Promise((t,o)=>xe(["../.chunks/dialog_regionSelectorRegions-CHC-Blbu.amd"],t,o))),Re=(t,o)=>{const n=y.useI18n(),a=e.ref(o.value.keys().next().value??h),i=e.computed(()=>{const l=new Map;if(o.value.forEach(r=>{let u={value:r.key,title:r.name};t.addSearcherIcon&&(u.icon=Q.getSearcherGIcon(r.key)),l.set(r.key,u)}),t.addCompare&&!l.has(h)){const r={value:"",title:"--------------------",disabled:!0};l.set(r.value,r);const u={value:M,title:n.Common.Compare};l.set(u.value,u)}return l});return{searcherKey:a,optionBySearcherKey:i}},Ke=(t,o)=>{const n=y.useI18n(),a=e.ref(h);t.modelValue.length===1&&(a.value=t.modelValue[0]),a.value===h&&(t.forFrequency?a.value=o.value?.regionByIndex.values().next().value?.key??h:a.value=o.value?.regionByIndex.keys().next().value??h);const i=e.computed(()=>{const l=new Map;return o.value.regionByIndex?.forEach(r=>{let u=r.name;if(t.forFrequency){const S={value:r.key,title:u};l.has(r.key)||l.set(r.key,S);return}r.device&&(u+=" ("+n.Common["Device_"+r.device]+")");const g=Q.getLangLabel(o.value.key||0,r.lang??"");g&&(u+=" / "+g);const f={value:r.index,title:u,icon:r.device?Q.getDeviceGIcon(r.device):void 0};l.set(r.index,f)}),l});return e.watch(i,(l,r)=>{if(t.onlySearcher||a.value!==void 0&&l.get(a.value))return;let u=l.keys().next().value;if(a.value===h||u===h){a.value=u;return}let g=r?.get(a.value)?.title||"",f=-1;for(const[S,d]of l.entries()){const p=d.title;if(typeof p!="string"||typeof S=="string")break;if(p===g){u=S;break}const c=new RegExp(` \\((${n.Common.Device_1}|${n.Common.Device_2})\\)`);let m=g,s=3;p.indexOf(m)===-1&&(m=g.replace(/^[^a-zа-я]/i,"").replace(c,""),s--),p.indexOf(m)===-1&&(m=g.replace(/ \/.*/,""),s--),p.indexOf(m)===-1&&(m=g.replace(/ \/.*/,""),m=m.replace(/^[^a-zа-я]/i,"").replace(c,""),s--),p.indexOf(m)!==-1&&(s<=f||(f=s,u=S))}a.value=u}),{regionIndex:a,optionByRegionIndex:i}},Oe=(t,o,n)=>{const a=e.ref([]),i=()=>{if(t.onlySearcher&&o.value){a.value=Array.from(o.value.keys());return}let r=[];if(t.modelValue.length>1)r=[...t.modelValue];else try{r=JSON.parse(localStorage.getItem("ui:project:regionSelector"+t.projectId+":regionsIndexes"))??[]}catch{}r.length&&(r=r.filter(u=>n.value.has(u))),r.length||(r=Array.from(n.value)),a.value=[...r]},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&&i(),{regionsIndexes:a}},De=t=>{const o=e.computed(()=>X(t.forFrequency,t.autoRegion,t.searchers)),n=e.computed(()=>o.value.get(i.searcherKey.value)||ie),a=e.computed(()=>{const d=new Set;return o.value.forEach(p=>{p.regionByIndex.forEach(c=>{c.index!==D&&c.index!==h&&d.add(c.index)})}),d}),i=Re(t,o),l=Ke(t,n),r=Oe(t,o,a);e.watch(o,()=>{if(t.onlySearcher?r.regionsIndexes.value=Array.from(o.value.keys()):r.regionsIndexes.value=r.regionsIndexes.value.filter(p=>a.value.has(p)),i.searcherKey.value===M)return;let d=o.value.keys().next().value;o.value.forEach(p=>{if(t.onlySearcher&&p.key===i.searcherKey.value){d=i.searcherKey.value;return}if(l.regionIndex.value&&p.regionByIndex?.has(l.regionIndex.value)&&(d=p.key),!t.onlySearcher){let c;d!==void 0&&(c=o.value.get(d)?.regionByIndex);const m=o.value.get(p.key)?.regionByIndex;c?.has(h)&&!m?.has(h)&&(d=p.key)}}),d!==void 0&&(i.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 u=()=>{if(!(i.searcherKey.value===M||i.searcherKey.value===h))return i.searcherKey.value},g=()=>{if(t.onlySearcher||l.regionIndex.value===h)return;let d=l.regionIndex.value;if(t.forFrequency){const p=l.regionIndex.value;d=ue(t.forFrequency,{searcher_key:u(),key:p},t.searchers)?.index}return d},f=()=>{const d=u();if(d!==void 0)return o.value.get(d)};return{selectSearcher:i,selectRegion:l,compare:r,searcherByKey:o,allRegionsIndexes:a,getSearcher:f,getRegion:()=>{const d=g();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"),i=e.useModel(t,"modelValueSingle"),{selectSearcher:l,selectRegion:r,compare:u,searcherByKey:g,allRegionsIndexes:f,getSearcher:S,getRegion:d}=De(n),p=()=>{const c=[];g.value.forEach(m=>{m.enabled&&m.regions.forEach(s=>{s.enabled&&c.push(s)})}),se.open("regions",{regions:c,regionsIndexes:u.regionsIndexes.value,"@update:regionsIndexes":m=>u.regionsIndexes.value=m})};return e.watch([r.regionIndex,l.searcherKey,u.regionsIndexes],()=>{if(l.searcherKey.value===M&&u.regionsIndexes.value.length){if(JSON.stringify(a.value)===JSON.stringify(u.regionsIndexes.value))return;a.value=[...u.regionsIndexes.value]}else n.onlySearcher?(a.value=[l.searcherKey.value],l.searcherKey.value===h&&!n.autoRegion&&(a.value.length=0)):(a.value=[r.regionIndex.value],r.regionIndex.value===h&&!n.autoRegion&&(a.value.length=0));!n.onlySearcher&&!f.value.size&&(l.searcherKey.value=h)}),i.value&&e.watch(i,()=>{i.value&&(a.value=[i.value])},{immediate:!0}),e.watch(a,()=>{if(a.value[0]&&(i.value=a.value[0]),n.onlySearcher){if(!a.value.length||a.value.length===1&&!g.value.has(a.value[0])||a.value.length===1&&a.value[0]===h&&!n.autoRegion){let c=g.value.keys().next().value;c===h&&!n.autoRegion&&(c=void 0,i.value=h),c!==void 0?a.value=[c]:a.value.length=0;return}if(a.value.length>1&&JSON.stringify(a.value)!==JSON.stringify(u.regionsIndexes.value)){a.value=[...u.regionsIndexes.value];return}}else{let c=[...new Set(a.value)],m=g.value.values().next().value?.regionByIndex?.keys().next().value;if(n.forFrequency&&(m=g.value.values().next().value?.regionByIndex?.values().next().value?.key),m===h&&!n.autoRegion&&(m=void 0,i.value=h),!c.length)m!==void 0&&c.push(m);else if(c.length===1){let s=f.value;n.forFrequency&&(s=new Set,g.value.forEach(B=>{B.regionByIndex.forEach(V=>{V.index!==D&&V.index!==h&&s.add(V.key)})})),s.has(c[0])||(c=[],m!==void 0&&c.push(m))}else c=c.filter(s=>f.value.has(s)),!c.length&&m!==void 0&&c.push(m);if(JSON.stringify(a.value)!==JSON.stringify(c)){a.value=c;return}}if(!(a.value.length===1&&a.value[0]===(n.onlySearcher?l.searcherKey.value:r.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){r.regionIndex.value=a.value[0];let c;for(const m of g.value.values()){for(const s of m.regionByIndex.values())if((n.forFrequency?s.key:s.index)===r.regionIndex.value){c=m.key;break}if(c!==void 0)break}c!==void 0&&(l.searcherKey.value=c)}else l.searcherKey.value=M,u.regionsIndexes.value=[...a.value]}},{immediate:!0}),o({getSearcher:S,getRegion:d}),(c,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-selectorRegion":!0,"top-selectorRegion-onlySearcher":t.onlySearcher})},[e.createVNode(y._sfc_main$10,{options:e.unref(l).optionBySearcherKey.value,modelValue:e.unref(l).searcherKey.value,"onUpdate:modelValue":m[0]||(m[0]=s=>e.unref(l).searcherKey.value=s),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(y._sfc_main$10,{key:0,class:"top-select-region",options:e.unref(r).optionByRegionIndex.value,modelValue:e.unref(r).regionIndex.value,"onUpdate:modelValue":m[1]||(m[1]=s=>e.unref(r).regionIndex.value=s),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(y._sfc_main$1,{key:1,name:"compare",onClick:p,"data-count-compare-regions-indexes":e.unref(u).regionsIndexes.value.length},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.$i18n.Common.Selected_regions),1)]),_:1},8,["data-count-compare-regions-indexes"])):e.createCommentVNode("",!0)],2))}}),j={id:0,name:"/",path:"/"};function Ue(t){return t?y.useI18n()?.Common.All_folders:"/ ("+y.useI18n()?.Keywords.Root_folder+")"}const Z=(t,o,n=new Map,a={id:"root"},i=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 r=i>1?"-".repeat(i-1)+" ":"";r&&!l.name.startsWith(r)&&(l.name=r+l.name),n.set(l.id,l),Z(t,o,n,l,i+1),a.childsIds=a.childsIds.concat(l.childsIds),a.id&&l.count_groups_active&&(a.countAllGroupsActive+=l.count_groups_active)}),n),qe=t=>t.gen("/get/keywords_2/folders/",["id","parent_id","name","path"]).changeParams({orders:["ord_path"],limit:100});function ee(t,o,n){const a=Object.keys(t),i=a.map(l=>t[l]);return e.watch(i,(l,r,u)=>{const g={};l.forEach((f,S)=>{if(!Object.is(f,r[S])){const d=a[S];g[d]={old:r[S],new:f}}}),Object.keys(g).length&&o(g,u)},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:{}},{folderId:{required:!0},folderIdModifiers:{},folder:{default:j},folderModifiers:{}}),emits:["update:folderId","update:folder"],setup(t){const o=t,n=e.useModel(t,"folderId"),a=e.useModel(t,"folder"),i=o.client&&!o.folders?qe(o.client):void 0,l=e.ref(null);e.watch(()=>o.projectId,()=>{i?.changeParams({project_id:o.projectId}),i?.setOptions({checkFingerprint:"TopGroupSelectorFolders:"+o.projectId}),l.value?.resetCache()},{immediate:!0});const r=e.computed(()=>Z(o.folders??{root:[j]},o.canSelectAll));return ee({modelFolder:a,modelFolderId:n},async u=>{if(n.value===a.value.id)return;if(u.modelFolder&&!u.modelFolderId){n.value=a.value.id;return}let g=r.value.get(o.folderId);g||(g=j),a.value=g,n.value=g.id},{immediate:!0}),(u,g)=>(e.openBlock(),e.createBlock(w._sfc_main,{class:"top-groupSelector_folder",modelValue:a.value,"onUpdate:modelValue":g[0]||(g[0]=f=>a.value=f),items:t.folders?[...r.value.values()]:void 0,"search-type":"inline",icon:t.addIcon?"":void 0,api:t.folders?void 0:e.unref(i),apiSetSearchParams:(...f)=>e.unref(w.apiSetSearchParamsFilter)(...f,"name"),addChanger:t.addChanger,useCache:""},null,8,["modelValue","items","icon","api","apiSetSearchParams","addChanger"]))}}),U={id:-1,name:"--",folder_id:j.id,folder_path:j.path},q={id:w.ITEM_ID_ALL,name:"All groups",folder_id:j.id,folder_path:j.path},L=()=>(q.name=y.useI18n()?.Common.All_groups,q),fe=()=>(q.name=y.useI18n()?.Keywords.Choose_group,q),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=>t.gen("/get/keywords_2/groups/",["id","name","folder_id","folder_path"]).changeParams({folder_id_depth:!0,limit:100}),Je=t=>t.gen("/add/keywords_2/groups/"),He={class:"top-groupSelector_groupItem"},Ye={key:0,class:"top-comment"},Qe={key:1,class:"top-groupSelector_groupItemFolderPath"},_e=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:{}},{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,i=e.useModel(t,"groupId"),l=e.useModel(t,"group"),r=n.client&&!n.groups?me(n.client):void 0,u=n.client?Je(n.client):void 0,g=e.ref(null),f=e.ref(void 0),S=b.genFieldFilter("folder_id","EQUALS",[n.folder?.id??0]);r?.changeParams({project_id:n.projectId,folder_id_depth:!0,filters:[S]}),n.on!==void 0&&r?.params.filters?.push(b.genFieldFilter("on","EQUALS",[Number(n.on)]));const d=c=>{l.value=c,i.value=c.id};ee({projectId:()=>n.projectId,folderId:()=>n.folder?.id,canSelectAll:()=>n.canSelectAll},c=>{if(c.projectId&&(r?.changeParams({project_id:n.projectId}),r?.setOptions({checkFingerprint:"TopGroupSelectorGroups:"+n.projectId})),c.folderId&&(S.values=[n.folder?.id??0],n.groups&&(f.value=ze(n.groups,n.on,n.folder))),g.value?.resetCache(),(c.folderId?.old!==void 0||c.canSelectAll?.old!==void 0)&&i.value!==w.ITEM_ID_NEW){let m;n.autoselect==="first"&&(m=f.value?.[0],n.canSelectAll&&(m=e.reactive(L()))),(n.autoselect==="placeholder"||!m)&&(m=fe()),d(m)}},{immediate:!0}),ee({modelGroup:l,modelGroupId:i},async c=>{if(i.value!==l.value.id){if(c.modelGroup&&!c.modelGroupId){i.value=l.value.id;return}if(!(n.canAdd&&i.value===w.ITEM_ID_NEW)){if(n.groups){let m=f.value?.find(s=>s.id===i.value);if(!m&&n.canSelectAll&&(m=L()),m)d(m);else{const s=f.value?.[0];s&&!i.value?d(s):d(U)}}if(n.client&&!n.groups&&(i.value||i.value===w.ITEM_ID_ALL&&!n.canSelectAll)){const m=me(n.client).changeParams({project_id:n.projectId,id:i.value,filters:[S]});m?.setOptions({checkFingerprint:"TopGroupSelectorFindGroup:"+n.projectId});const s=await m.call();if(!s.errors?.length&&!s.result)return;!s.errors&&s.result[0]?d(s.result[0]):d(U)}}}},{immediate:!0});const p=async c=>{if(n.canAdd!=="api"||!u)return;const m=l.value,s=await u.changeParams({project_id:n.projectId,names:[c.name],to_id:n.folder?.id??j.id,to_type:"in_folder_last"}).call();s.result?(d(s.result),a("addGroup",s.result)):d(m),g.value?.resetCache(!0)};return(c,m)=>(e.openBlock(),e.createBlock(w._sfc_main,{ref_key:"refSelector",ref:g,class:"top-groupSelector_group",modelValue:l.value,"onUpdate:modelValue":m[0]||(m[0]=s=>l.value=s),items:f.value??t.groups,searchType:"inline",icon:t.addIcon?"":void 0,api:t.groups?void 0:e.unref(r),apiSetSearchParams:(...s)=>e.unref(w.apiSetSearchParamsFilter)(...s,"name"),appendSearchToResult:!!t.canAdd,useAllItem:t.canSelectAll?e.unref(L)().name:!1,addChanger:t.addChanger,useCache:"",onAppendItem:p},{item:e.withCtx(({item:s})=>[e.createElementVNode("div",He,[s.id===e.unref(w.ITEM_ID_NEW)?(e.openBlock(),e.createElementBlock("div",Ye,e.toDisplayString(c.$i18n.Common.Add)+": ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(s.name),1),s.folder_path&&t.showPath?(e.openBlock(),e.createElementBlock("span",Qe,e.toDisplayString(s.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:{}},{folderId:{required:!0},folderIdModifiers:{},folder:{},folderModifiers:{},groupId:{required:!0},groupIdModifiers:{},group:{default:U},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"),i=e.useModel(t,"folder"),l=e.useModel(t,"groupId"),r=e.useModel(t,"group"),u=o,g=Z(n.folders??{root:[j]},n.canSelectAllGroups);i.value=g.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=fe()),f??=U,r.value=f;const S=d=>{let p;n.groups&&d&&(p=[...n.groups,d]),u("update:groups",p)};return(d,p)=>(e.openBlock(),e.createElementBlock("div",Xe,[t.showFolders?(e.openBlock(),e.createBlock(We,{key:0,folderId:a.value,"onUpdate:folderId":p[0]||(p[0]=c=>a.value=c),folder:i.value,"onUpdate:folder":p[1]||(p[1]=c=>i.value=c),projectId:t.projectId,folders:t.folders,canSelectAll:t.canSelectAllGroups,addChanger:t.addChanger,addIcon:t.addIcon,client:t.client},null,8,["folderId","folder","projectId","folders","canSelectAll","addChanger","addIcon","client"])):e.createCommentVNode("",!0),t.showGroups?(e.openBlock(),e.createBlock(_e,{key:1,groupId:l.value,"onUpdate:groupId":p[2]||(p[2]=c=>l.value=c),group:r.value,"onUpdate:group":p[3]||(p[3]=c=>r.value=c),projectId:t.projectId,folder:i.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,onAddGroup:S},null,8,["groupId","group","projectId","folder","groups","on","canAdd","canSelectAll","autoselect","addChanger","showPath","addIcon","client"])):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=y.useI18n();let 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"}];const i=e.computed(()=>o.right.includes("0")?a.filter(l=>o.right[l.right]==="1"):a);return(l,r)=>{const u=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(u,{class:"top-projectSelectorSubmenu_opener","data-top-icon":"",color:"theme"})]),contentList:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,g=>(e.openBlock(),e.createElementBlock("li",et,[e.createElementVNode("a",{href:g.href,title:g.title,"data-top-icon":g.icon,"data-right":g.right},null,8,tt)]))),256)),e.createElementVNode("li",ot,[e.createElementVNode("a",{href:t.url,"data-top-icon":"",target:"_blank"},null,8,nt)])]),_:1})}}}),te=t=>({id:null,name:t,listItemProps:{type:"title"}}),oe={scheduledUpdate:!1,manualUpdate:!1,guestProjects:!1},lt=(t,o)=>{const n=[],a={scheduledUpdate:te(y.useI18n().Projects.Scheduled_update),manualUpdate:te(y.useI18n().Projects.Manual_update),guestProjects:te(y.useI18n().Projects.Guest_projects)},i=o?{scheduledUpdate:!1,manualUpdate:!1,guestProjects:!1}:oe;for(const l of t)!i.scheduledUpdate&&l.right?.startsWith("1")&&l.on>0&&(n.push(a.scheduledUpdate),i.scheduledUpdate=!0),!i.manualUpdate&&l.right?.startsWith("1")&&l.on===0&&(n.push(a.manualUpdate),i.manualUpdate=!0),!i.guestProjects&&l.right?.startsWith("0")&&l.on>=0&&(n.push(a.guestProjects),i.guestProjects=!0),n.push(l);return n},rt=(t,o,n,a)=>!t||t.length===0?[]:(o&&(t=t.filter(i=>i.id!==o)),n&&Object.keys(oe).forEach(i=>oe[i]=!1),lt(t,a)),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},ge=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 i="/"+n+t+"/"+a;const l=it(location.hash);return i+=l,i},dt=(t,o)=>{if(t)return t.map(n=>n.id?{...n,listItemProps:{class:"top-projectSelector_item",href:o?ge(Number(n.id)):void 0,title:n.name}}:n)},pe=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(r=>r.name!=="GEN_SEARCH_STRING()");const a=Ee.invertKeyboardLayout(o),i=o.replace(/([[^$.|?*+()])/g,"\\$1"),l=a.replace(/([[^$.|?*+()])/g,"\\$1");n.push(b.genFieldFilter("GEN_SEARCH_STRING()","REGEXP",[`(${i}|${l})`])),t.changeParams({filters:n})},ve=(t,o,n,a)=>{const i=t.gen("/get/projects_2/projects/",["id","user_id","name","url","on","right"]);return i.params={...a,filters:[b.genFieldFilter("on","GREATER_THAN_EQUALS",[0])],orders:[b.genFieldOrder("user_id","DESC",[o]),b.genFieldOrder("on","DESC"),b.genFieldOrder("favorite","DESC"),b.genFieldOrder("id","DESC")]},i.options.onApiLoaded=(l,r,u)=>{const g=r.data.filters.length===1&&r.data.offset===0||r.data.limit===1e3,f=r.data.limit===100&&r.data.filters.length>1?!0:void 0;l.result=rt(l.result,n,g,f),u?.(l,r)},i},ut=t=>t.gen("/add/projects_2/projects/"),ne="ui_project_selector_total:",st=1440*60*1e3,A=e.shallowRef(),he=e.ref(0),W=e.ref(null),ye=(t,o)=>{localStorage.setItem(ne+t,JSON.stringify({projectsTotal:o,expiresAt:Date.now()+st}))},ft=t=>{const o=localStorage.getItem(ne+t);if(!o)return;const{projectsTotal:n,expiresAt:a}=JSON.parse(o);if(Date.now()>a){localStorage.removeItem(ne+t);return}return n},mt=(t=!0)=>{A.value=void 0,t&&he.value++},gt={class:"top-projectSelector_itemText"},pt={class:"top-projectSelector_itemName"},vt={class:"top-projectSelector_itemId"},ht={key:1},yt={key:0,class:"top-comment"},Se=1e3,St=e.defineComponent({__name:"projectSelector",props:e.mergeModels({userId:{default:window.mo?.user?.id},client:{},project:{},addLinksToProjects:{type:Boolean,default:!0},excludeProjectId:{},modificator:{default:"projectSelector"},placeholder:{},buttonProps:{},openerShortcut:{}},{project:{default:{id:null,name:""},required:!1},projectModifiers:{}}),emits:["update:project"],setup(t){const o=y.useI18n(),n=t,a=e.useModel(t,"project"),i=ve(n.client,n.userId,n.excludeProjectId),l=ut(n.client),r=e.ref(ft(n.userId)),u=e.ref(null),g=e.computed(()=>n.placeholder??o.Projects.Select_project),f=e.computed(()=>{if(!(!r.value&&r.value!==0))return r.value<Se?"static":"api"});e.watch(he,()=>{c()});const S=async()=>{if(!W.value){const B=ve(n.client,n.userId,n.excludeProjectId,{limit:Se});W.value=B.call()}const s=await W.value;if(!s.errors)return W.value=null,s},d=async()=>{if(r.value)return;const s=await S();s&&(r.value=s.total,f.value==="static"&&!A.value&&(A.value=s.result),r.value&&ye(n.userId,r.value))},p=async s=>{const B=await l.changeParams({url:s.name,name:s.name}).call();if(!B.errors){if(A.value&&f.value==="static"){const V={id:Number(B.result),user_id:n.userId,name:s.name,url:s.name,on:0,right:"11111111111111111111",listItemProps:{class:"top-projectSelector_item",href:n.addLinksToProjects?ge(Number(B.result)):void 0,title:s.name}};A.value=[V,...A.value],r.value&&ye(n.userId,r.value+1)}f.value==="api"&&mt(n.userId)}},c=()=>{f.value==="api"&&u.value?.resetCache(!0)},m=async()=>{if(A.value||f.value!=="static")return;const s=await S();s&&(A.value=s.result)};return e.onMounted(async()=>{await d()}),(s,B)=>{const V=e.resolveComponent("TopButton");return f.value?(e.openBlock(),e.createBlock(w._sfc_main,{key:0,ref_key:"refSelector",ref:u,class:"top-projectSelector",modelValue:a.value,"onUpdate:modelValue":B[1]||(B[1]=x=>a.value=x),items:e.unref(dt)(e.unref(A),t.addLinksToProjects),title:s.$i18n.Projects.Search_projects,modificator:t.modificator,placeholder:g.value,hasCloserBtn:"",api:f.value==="api"?e.unref(i):void 0,apiSetSearchParams:f.value==="api"?(...x)=>e.unref(ct)(...x):void 0,useCache:"",appendSearchToResult:"",appendSearchToResultCond:e.unref(le.validUrl),appendWithoutSelect:"",buttonProps:t.buttonProps,openerShortcut:t.openerShortcut,onAppendItem:p,onOpen:m},{item:e.withCtx(({item:x})=>[x.id?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",gt,[e.createElementVNode("span",pt,e.toDisplayString(e.unref(we.ellipsis)(x.name,20)),1),e.createElementVNode("span",vt," id "+e.toDisplayString(x.id),1)]),s.$core.state.isMobile?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(V,{key:0,class:"top-projectSelector_itemLink",href:e.unref(pe)(x.url),"data-top-icon":"",color:"theme",target:"_blank",onClick:B[0]||(B[0]=e.withModifiers(()=>{},["stop"]))},null,8,["href"])),e.createVNode(at,{id:x.id,right:x.right??void 0,url:e.unref(pe)(x.url)},null,8,["id","right","url"])],64)):(e.openBlock(),e.createElementBlock("div",ht,[e.unref(le.validUrl)(x.name)?(e.openBlock(),e.createElementBlock("div",yt,e.toDisplayString(s.$i18n.Projects.Add_project)+": ",1)):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(x.name),1)]))]),_:1},8,["modelValue","items","title","modificator","placeholder","api","apiSetSearchParams","appendSearchToResultCond","buttonProps","openerShortcut"])):e.createCommentVNode("",!0)}}}),Ie=t=>"-"+t,G=t=>t[0]==="-"?t.substring(1):t,z=(t,o)=>{t=G(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=Me.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=i=>{i.preventDefault(),i.stopPropagation(),a.onclick=null;const l=e.ref(t.modelValue),r={model:l,mode:t.mode,targetId:t.targetId,filters:t.filters,payload:t.payload};N.storage(a,"topTagSelectorTarget",r),delete a.dataset.topPopupDisabled,e.isRef(t.modelValue)||e.watch(l,()=>{t.modelValue=l.value,J(a,t,n)}),a.click()},e.isRef(t.modelValue)?e.watch(t.modelValue,()=>J(a,t,n)):N.storage(a,"topTagSelectorRender",i=>{t.modelValue=i;const l=N.storage(a,"topTagSelectorTarget");l&&(l.model.value=i),J(a,t,n)}),J(a,t,n),a},kt=(t,o)=>{N.storage(t,"topTagSelectorRender")?.(o)},J=(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 i=ke({id:"all",colorId:"",name:y.useI18n().Common?.All_tags??"",state:""});t.append(i)}a.forEach(i=>{const l=ke({id:G(i),colorId:z(i,o.tags)?.color_id??"",name:z(i,o.tags)?.name??"",state:G(i)===i?"selected":"excluded"});t.append(l)})},ke=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"],H=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"],Ce=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,i=e.useModel(t,"name"),l=e.ref(null),r=e.computed(()=>navigator.userAgent.indexOf("Firefox")!=-1?{contenteditable:u.value,onpaste:p=>p.preventDefault()}:{}),u=e.ref(!1),g=async()=>{u.value=!0,await e.nextTick(),l.value?.focus()},f=()=>{const p=l.value?.innerText;if(!p)return S();l.value&&(l.value.innerText=p),u.value=!1,a("update:name",p)},S=async()=>{l.value&&(l.value.innerText=n.name),u.value=!1},d=p=>{if(u.value||n.disabled)return;let c="selected";n.canExclude&&(p.ctrlKey||p.metaKey)&&(c="excluded"),n.state==c&&(c=""),c===""&&a("unselect"),c==="selected"&&a("select"),c==="excluded"&&a("exclude")};return(p,c)=>(e.openBlock(),e.createBlock(P._sfc_main$2,{class:e.normalizeClass({"top-tagSelector_tagListItem":!0,"top-tagSelector_tagListItem-inEdit":u.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(H,{id:t.id,name:i.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:u.value?"plaintext-only":!1},r.value,{onKeydown:[e.withKeys(e.withModifiers(f,["stop"]),["enter"]),e.withKeys(e.withModifiers(S,["stop"]),["esc"])]}),e.toDisplayString(i.value),17,xt),t.editable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[u.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:g}))],64)):e.createCommentVNode("",!0)]),_:1},8,["class"]))}}),Tt={key:1},Be=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?y._sfc_main$1:"div",i=o.useTopButton?"html":"default",l={model:n,mode:o.mode,targetId:o.targetId,filters:o.filters,payload:o.payload};return(r,u)=>{const g=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},r.$attrs),{[e.unref(i)]:e.withCtx(()=>[!n.value.length&&t.mode==="filter"?(e.openBlock(),e.createBlock(H,{key:0,id:"all",colorId:"",name:r.$i18n.Common.All_tags??"",state:""},null,8,["name"])):e.createCommentVNode("",!0),t.mode==="setter"&&t.filters?(e.openBlock(),e.createElementBlock("div",Tt,[e.renderSlot(r.$slots,"default")])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(n.value,f=>(e.openBlock(),e.createBlock(H,{id:e.unref(G)(f),colorId:e.unref(z)(f,t.tags)?.color_id??"",name:e.unref(z)(f,t.tags)?.name??"",state:e.unref(G)(f)===f?"selected":"excluded"},null,8,["id","colorId","name","state"]))),256))]),_:2},1040,["class","styling"])),[[g,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=y.useI18n(),a=t,i=e.useModel(t,"modelValue"),l=e.useModel(t,"tags"),r=o,u=y.debounce((v,I)=>{r(v,I)},a.emitDelay);a.singleMode&&!i.value.length&&(i.value=[l.value[0].id]);const g=a.id??"top-popup-id-"+Math.random(),f=e.ref("add"),S=()=>{const v=" "+n.Common.Tags?.toLowerCase(),I=new Map;return I.set("add",{value:"add",title:n.Common.Add+v}),I.set("replace",{value:"replace",title:n.Common.Replace+v}),I.set("delete",{value:"delete",title:n.Common.Delete+v}),I};let d=e.shallowRef({model:i,mode:"filter",targetId:void 0,filters:void 0,payload:void 0});e.watch(i,()=>{u("selector",i.value)});const p=e.computed(()=>{if(d.value.mode==="setter"&&a.maxTagsForSetter&&!d.value.filters)return d.value.model.value.length>=a.maxTagsForSetter}),c=v=>{if(v!=="all"){if(d.value.model.value.includes(v))return"selected";if(d.value.model.value.includes(Ie(v)))return"excluded"}return v==="all"&&!d.value.model.value.length?"selected":""},m=(v,I)=>{const k=Ie(v);let C=d.value.model.value.filter(E=>E!==v&&E!==k);I==="select"&&C.push(v),I==="exclude"&&C.push(k),d.value.mode==="setter"&&d.value.targetId!==void 0&&a.requiredForSetter&&(C.length||C.push("1"),C.length===2&&d.value.model.value.length===1&&d.value.model.value[0]==="1"&&(C=C.filter(E=>E!=="1"))),a.singleMode&&!d.value.filters&&(C.length||(C=d.value.model.value),C.length>1&&(C=[C[C.length-1]])),C.sort((E,Y)=>{if(!a.tags)return 0;const R=a.tags.findIndex(O=>O.id===E),K=a.tags.findIndex(O=>O.id===Y);return R-K}),d.value.model.value=C,d.value.mode==="setter"&&d.value.targetId!==void 0&&u("setter",{tagsIds:C,targetId:d.value.targetId,payload:d.value.payload})},s=e.computed(()=>{let v="top-tagSelector_popup";return d.value.mode==="filter"&&(v+=" top-tagSelector_popup-filter"),d.value.mode==="setter"&&(v+=" top-tagSelector_popup-setter"),v}),B=()=>{const v=prompt("","New tag");if(!v||v==="New tag")return;const I=l.value.length+1;l.value.push({id:String(I),name:v,color_id:String((I-1)%10+1)}),r("tagsChanged",l.value)},V=v=>{if(d.value=N.storage(v.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=[]),!y.Core.$?.ui.sortable){console.info("Для работы сортировки требуется глобальная загрузка jQuery UI Sortable");return}!y.Core.state.isMobile&&!y.Core.state.isMobileUA&&l.value&&$(v.elPopup).sortable({items:'li:has([data-tag_id]:not([data-tag_id="all"]))',cancel:'[contenteditable="plaintext-only"], [contenteditable="true"]',distance:10,stop:function(I,k){if(!l.value)return;const C=$(k.item).parent().find("[data-tag_id]"),E=[];C.each((Y,R)=>{if(!l.value)return;const K=$(R).attr("data-tag_id");E.push(K)}),l.value.sort((Y,R)=>{const K=E.findIndex(ae=>ae===Y.id),O=E.findIndex(ae=>ae===R.id);return K-O}),u("tagsChanged",l.value)}})},x=v=>{y.Core.$?.ui.sortable&&$(v.elPopup).data("ui-sortable")&&$(v.elPopup).sortable("destroy")};return(v,I)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(Be,{modelValue:i.value,"onUpdate:modelValue":I[0]||(I[0]=k=>i.value=k),id:e.unref(g),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(g),class:e.normalizeClass(s.value),onOpen:I[4]||(I[4]=k=>V(k)),onClose:I[5]||(I[5]=k=>x(k)),"transition-duration":50},e.createSlots({contentList:e.withCtx(()=>[e.unref(d).mode==="filter"&&!t.singleMode?(e.openBlock(),e.createBlock(Ce,{key:0,id:"all",colorId:"",name:v.$i18n.Common.All_tags??"",state:e.unref(d).model.value.length?"":"selected",onSelect:I[3]||(I[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(Ce,{key:k.id,id:k.id,colorId:k.color_id,name:k.name,state:c(k.id),canExclude:e.unref(d).mode==="filter"&&!t.singleMode,editable:t.tagsEditable,disabled:p.value&&c(k.id)==="",onUnselect:C=>m(k.id,"unselect"),onSelect:C=>m(k.id,"select"),onExclude:C=>m(k.id,"exclude"),"onUpdate:name":C=>{k.name=C,e.unref(u)("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(v.$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(y._sfc_main$10,{modelValue:f.value,"onUpdate:modelValue":I[1]||(I[1]=k=>f.value=k),options:S()},null,8,["modelValue","options"])]),key:"0"}:void 0,e.unref(d).mode==="setter"&&e.unref(d).filters?{name:"footer",fn:e.withCtx(()=>[e.createVNode(y._sfc_main$1,{color:"theme"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(v.$i18n.Common.Cancel2),1)]),_:1}),e.createVNode(y._sfc_main$1,{onClick:I[2]||(I[2]=k=>e.unref(u)("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"?v.$i18n.Common.Add:"")+" "+e.toDisplayString(f.value==="replace"?v.$i18n.Common.Replace:"")+" "+e.toDisplayString(f.value==="delete"?v.$i18n.Common.Delete:""),1)]),_:1})]),key:"1"}:void 0]),1032,["id","class"])],64))}});T.TopCompetitorSelector=Ve,T.TopGroupSelector=Ze,T.TopProjectSelector=St,T.TopRegionSelector=Fe,T.TopTagSelector=wt,T.TopTagSelectorPopupOpener=Be,T.TopTagSelectorTagIcon=H,T.dialogRegionSelector=se,T.findRegion=ue,T.genElTopTagSelectorPopupOpener=It,T.genSearcherByKey=X,T.renderElTopTagSelectorPopupOpener=kt,T.useItemsFromCompetitors=$e,Object.defineProperty(T,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=project.amd.js.map