@topvisor/ui 1.4.1-projectSelector.3 → 1.4.1-projectSelector.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.chunks/{policy.vue_vue_type_style_index_0_lang-dgZjCI-7.amd.js → policy.vue_vue_type_style_index_0_lang-BkKOPt0o.amd.js} +2 -2
- package/.chunks/{policy.vue_vue_type_style_index_0_lang-dgZjCI-7.amd.js.map → policy.vue_vue_type_style_index_0_lang-BkKOPt0o.amd.js.map} +1 -1
- package/.chunks/{policy.vue_vue_type_style_index_0_lang-RJnqOsjD.es.js → policy.vue_vue_type_style_index_0_lang-CaEdkGWd.es.js} +2 -2
- package/.chunks/{policy.vue_vue_type_style_index_0_lang-RJnqOsjD.es.js.map → policy.vue_vue_type_style_index_0_lang-CaEdkGWd.es.js.map} +1 -1
- package/formsExt/formsExt.amd.js +1 -1
- package/formsExt/formsExt.js +1 -1
- package/package.json +1 -1
- package/project/project.amd.js +1 -1
- package/project/project.amd.js.map +1 -1
- package/project/project.js +111 -110
- package/project/project.js.map +1 -1
- package/src/components/formsExt/selector2/selector2.vue.d.ts +1 -0
- package/src/components/project/groupSelector/groups/groups.vue.d.ts +3 -1
- package/src/components/project/projectSelector/projectSelector.vue.d.ts +3 -1
package/project/project.amd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define(["require","exports","vue","../.chunks/forms-B_v2vU59.amd","../.chunks/popupHint.vue_vue_type_style_index_0_lang-CdIajfDS.amd","../.chunks/policy.vue_vue_type_style_index_0_lang-dgZjCI-7.amd","../.chunks/utils-DNzj9OOY.amd","../utils/searchers.amd","../.chunks/core-DJS4o9Vt.amd","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-B3hYoW1m.amd","../.chunks/field-Cvv0SRcJ.amd","../utils/check.amd","../utils/string.amd","../utils/dom.amd","../popup/worker.amd","../require/css.amd!../assets/project.css"],(function(ke,B,e,S,A,T,Ce,H,Ct,xt,E,ne,xe,P,Be){"use strict";if(typeof e>"u")var e=window.Vue;const Te={class:"top-competitorSelector"},we={class:"top-ellipsis1"},je=e.defineComponent({__name:"competitorSelector",props:e.mergeModels({modelValue:{},items:{},showSelectAllItem:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=t,a=e.useModel(t,"modelValue"),n=e.computed(()=>{if(o.showSelectAllItem)return{icon:"",title:S.useI18n().Common.Select_all,value:"all",content:""}});return(i,l)=>(e.openBlock(),e.createElementBlock("div",Te,[e.unref(S.Core).state.isMobile?(e.openBlock(),e.createBlock(A._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===a.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(A._sfc_main$2,{class:e.normalizeClass({"top-active":a.value?.includes(r.value)}),"data-top-icon":r.icon,title:r.title,onClick:()=>a.value=[r.value]},{default:e.withCtx(()=>[e.createElementVNode("span",we,e.toDisplayString(r.content),1)]),_:2},1032,["class","data-top-icon","title","onClick"]))),256))]),_:1})):(e.openBlock(),e.createBlock(T._sfc_main$1,{key:1,modelValue:a.value,"onUpdate:modelValue":l[0]||(l[0]=r=>a.value=r),items:t.items,isMultiple:!0,styling:"bar",canBeEmptyMultiple:!1,selectAllItem:n.value},null,8,["modelValue","items","selectAllItem"]))]))}}),Me=(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,y=-2,O=-1,Ae={0:"Yandex",1:"Google",4:"YouTube",5:"Bing",7:"Seznam",8:"AppStore",9:"GoogleStore",20:"Yandex.com",21:"Yandex.com.tr"},ae={key:y,name:"--",index:y},le={key:y,name:"--",regions:[ae],regionByIndex:new Map([[y,ae]])},R={key:y,name:"Autoselect",index:y},Q={key:y,name:"Autoselect",regions:[R],regionByIndex:new Map([[y,R]])},re={countryCode:"00",depth:1,device:0,key:O,index:O,lang:"ru",name:"Without region"},Ve=()=>(R.name=S.useI18n().Common.Autoselect,R),Ee=()=>(Ve(),Q.name=S.useI18n().Common.Autoselect,console.log(Q),Q),be=()=>(re.name=S.useI18n().Keywords.Without_region,re),X=(t=!1,o=!1,a=[])=>{let n;return t?n=Pe(a):n=ie(a),o&&n.set(y,Ee()),n.size||n.set(y,le),n},ie=(t,o=!0,a=[],n=!1)=>{const i=new Map;return t.forEach(l=>{if(!l.enabled||n&&typeof l.key=="number"&&l.key>1)return;const r={...l};r.regionByIndex=new Map,l.regions&&l.regions.forEach(s=>{if(o&&!s.enabled)return;const m={...s};r.regionByIndex.set(m.index,m)}),!r.regionByIndex.size&&a.length,(!l.regions||r.regionByIndex.size||a.length)&&typeof r.key=="number"&&i.set(r.key,r)}),a.forEach(l=>{if(i.has(l))return;const r={key:l,name:Ae[l],regions:[],regionByIndex:new Map};i.set(r.key,r)}),i},Pe=t=>{const o=ie(t,!1,[0,1],!0);if(o.has(2)){const a=o.get(2);a&&(a.regionByIndex=new Map)}return o.forEach(a=>{if(!a.regionByIndex)return;const n={...be()};a.regionByIndex.set(n.index,n)}),o},de=(t,o,a=[])=>{const n=X(t,!1,a);let i;return n.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},ce=Ce.useAsyncTopDialog(()=>new Promise((t,o)=>ke(["../.chunks/dialog_regionSelectorRegions-C1DNLHM7.amd"],t,o))),$e=(t,o)=>{const a=S.useI18n(),n=e.ref(o.value.keys().next().value??y),i=e.computed(()=>{const l=new Map;if(o.value.forEach(r=>{let s={value:r.key,title:r.name};t.addSearcherIcon&&(s.icon=H.getSearcherGIcon(r.key)),l.set(r.key,s)}),t.addCompare&&!l.has(y)){const r={value:"",title:"--------------------",disabled:!0};l.set(r.value,r);const s={value:j,title:a.Common.Compare};l.set(s.value,s)}return l});return{searcherKey:n,optionBySearcherKey:i}},Ne=(t,o)=>{const a=S.useI18n(),n=e.ref(y);t.modelValue.length===1&&(n.value=t.modelValue[0]),n.value===y&&(t.forFrequency?n.value=o.value?.regionByIndex.values().next().value?.key??y:n.value=o.value?.regionByIndex.keys().next().value??y);const i=e.computed(()=>{const l=new Map;return o.value.regionByIndex?.forEach(r=>{let s=r.name;if(t.forFrequency){const I={value:r.key,title:s};l.has(r.key)||l.set(r.key,I);return}r.device&&(s+=" ("+a.Common["Device_"+r.device]+")");const m=H.getLangLabel(o.value.key||0,r.lang??"");m&&(s+=" / "+m);const f={value:r.index,title:s,icon:r.device?H.getDeviceGIcon(r.device):void 0};l.set(r.index,f)}),l});return e.watch(i,(l,r)=>{if(t.onlySearcher||n.value!==void 0&&l.get(n.value))return;let s=l.keys().next().value;if(n.value===y||s===y){n.value=s;return}let m=r?.get(n.value)?.title||"",f=-1;for(const[I,d]of l.entries()){const g=d.title;if(typeof g!="string"||typeof I=="string")break;if(g===m){s=I;break}const c=new RegExp(` \\((${a.Common.Device_1}|${a.Common.Device_2})\\)`);let u=m,p=3;g.indexOf(u)===-1&&(u=m.replace(/^[^a-zа-я]/i,"").replace(c,""),p--),g.indexOf(u)===-1&&(u=m.replace(/ \/.*/,""),p--),g.indexOf(u)===-1&&(u=m.replace(/ \/.*/,""),u=u.replace(/^[^a-zа-я]/i,"").replace(c,""),p--),g.indexOf(u)!==-1&&(p<=f||(f=p,s=I))}n.value=s}),{regionIndex:n,optionByRegionIndex:i}},Le=(t,o,a)=>{const n=e.ref([]),i=()=>{if(t.onlySearcher&&o.value){n.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(s=>a.value.has(s))),r.length||(r=Array.from(a.value)),n.value=[...r]},l=()=>{n.value.length?localStorage.setItem("ui:project:regionSelector:"+t.projectId+":regionsIndexes",JSON.stringify(n.value)):localStorage.removeItem("ui:project:regionSelector:"+t.projectId+":regionsIndexes")};return e.watch(n,()=>{l()}),t.addCompare&&i(),{regionsIndexes:n}},Ge=t=>{const o=e.computed(()=>X(t.forFrequency,t.autoRegion,t.searchers)),a=e.computed(()=>o.value.get(i.searcherKey.value)||le),n=e.computed(()=>{const d=new Set;return o.value.forEach(g=>{g.regionByIndex.forEach(c=>{c.index!==O&&c.index!==y&&d.add(c.index)})}),d}),i=$e(t,o),l=Ne(t,a),r=Le(t,o,n);e.watch(o,()=>{if(t.onlySearcher?r.regionsIndexes.value=Array.from(o.value.keys()):r.regionsIndexes.value=r.regionsIndexes.value.filter(g=>n.value.has(g)),i.searcherKey.value===j)return;let d=o.value.keys().next().value;o.value.forEach(g=>{if(t.onlySearcher&&g.key===i.searcherKey.value){d=i.searcherKey.value;return}if(l.regionIndex.value&&g.regionByIndex?.has(l.regionIndex.value)&&(d=g.key),!t.onlySearcher){let c;d!==void 0&&(c=o.value.get(d)?.regionByIndex);const u=o.value.get(g.key)?.regionByIndex;c?.has(y)&&!u?.has(y)&&(d=g.key)}}),d!==void 0&&(i.searcherKey.value=d),l.regionIndex.value!==void 0&&!a.value?.regionByIndex?.has(l.regionIndex.value)&&(l.regionIndex.value=a.value?.regions?.keys().next().value)},{immediate:!0});const s=()=>{if(!(i.searcherKey.value===j||i.searcherKey.value===y))return i.searcherKey.value},m=()=>{if(t.onlySearcher||l.regionIndex.value===y)return;let d=l.regionIndex.value;if(t.forFrequency){const g=l.regionIndex.value;d=de(t.forFrequency,{searcher_key:s(),key:g},t.searchers)?.index}return d},f=()=>{const d=s();if(d!==void 0)return o.value.get(d)};return{selectSearcher:i,selectRegion:l,compare:r,searcherByKey:o,allRegionsIndexes:n,getSearcher:f,getRegion:()=>{const d=m();if(d!==void 0)return f()?.regionByIndex?.get(d)}}},De=e.defineComponent({__name:"regionSelector",props:e.mergeModels({projectId:{},searchers:{default:()=>[]},modelValue:{},modelValueSingle:{},addCompare:{type:Boolean},forFrequency:{type:Boolean},autoRegion:{type:Boolean},onlySearcher:{type:Boolean},addChanger:{type:Boolean,default:!0},addSearcherIcon:{type:Boolean,default:!0},addRegionIcon:{type:Boolean,default:!0}},{modelValue:{required:!0},modelModifiers:{},modelValueSingle:{},modelValueSingleModifiers:{}}),emits:["update:modelValue","update:modelValueSingle"],setup(t,{expose:o}){const a=t,n=e.useModel(t,"modelValue"),i=e.useModel(t,"modelValueSingle"),{selectSearcher:l,selectRegion:r,compare:s,searcherByKey:m,allRegionsIndexes:f,getSearcher:I,getRegion:d}=Ge(a),g=()=>{const c=[];m.value.forEach(u=>{u.enabled&&u.regions.forEach(p=>{p.enabled&&c.push(p)})}),ce.open("regions",{regions:c,regionsIndexes:s.regionsIndexes.value,"@update:regionsIndexes":u=>s.regionsIndexes.value=u})};return e.watch([r.regionIndex,l.searcherKey,s.regionsIndexes],()=>{if(l.searcherKey.value===j&&s.regionsIndexes.value.length){if(JSON.stringify(n.value)===JSON.stringify(s.regionsIndexes.value))return;n.value=[...s.regionsIndexes.value]}else a.onlySearcher?(n.value=[l.searcherKey.value],l.searcherKey.value===y&&!a.autoRegion&&(n.value.length=0)):(n.value=[r.regionIndex.value],r.regionIndex.value===y&&!a.autoRegion&&(n.value.length=0));!a.onlySearcher&&!f.value.size&&(l.searcherKey.value=y)}),i.value&&e.watch(i,()=>{i.value&&(n.value=[i.value])},{immediate:!0}),e.watch(n,()=>{if(n.value[0]&&(i.value=n.value[0]),a.onlySearcher){if(!n.value.length||n.value.length===1&&!m.value.has(n.value[0])||n.value.length===1&&n.value[0]===y&&!a.autoRegion){let c=m.value.keys().next().value;c===y&&!a.autoRegion&&(c=void 0,i.value=y),c!==void 0?n.value=[c]:n.value.length=0;return}if(n.value.length>1&&JSON.stringify(n.value)!==JSON.stringify(s.regionsIndexes.value)){n.value=[...s.regionsIndexes.value];return}}else{let c=[...new Set(n.value)],u=m.value.values().next().value?.regionByIndex?.keys().next().value;if(a.forFrequency&&(u=m.value.values().next().value?.regionByIndex?.values().next().value?.key),u===y&&!a.autoRegion&&(u=void 0,i.value=y),!c.length)u!==void 0&&c.push(u);else if(c.length===1){let p=f.value;a.forFrequency&&(p=new Set,m.value.forEach(b=>{b.regionByIndex.forEach(V=>{V.index!==O&&V.index!==y&&p.add(V.key)})})),p.has(c[0])||(c=[],u!==void 0&&c.push(u))}else c=c.filter(p=>f.value.has(p)),!c.length&&u!==void 0&&c.push(u);if(JSON.stringify(n.value)!==JSON.stringify(c)){n.value=c;return}}if(!(n.value.length===1&&n.value[0]===(a.onlySearcher?l.searcherKey.value:r.regionIndex.value)))if(a.onlySearcher){if(n.value.length===1){l.searcherKey.value=n.value[0];return}l.searcherKey.value=j;return}else{if(!n.value.length)return;if(n.value.length===1&&l.searcherKey.value!==j){r.regionIndex.value=n.value[0];let c;for(const u of m.value.values()){for(const p of u.regionByIndex.values())if((a.forFrequency?p.key:p.index)===r.regionIndex.value){c=u.key;break}if(c!==void 0)break}c!==void 0&&(l.searcherKey.value=c)}else l.searcherKey.value=j,s.regionsIndexes.value=[...n.value]}},{immediate:!0}),o({getSearcher:I,getRegion:d}),(c,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-selectorRegion":!0,"top-selectorRegion-onlySearcher":t.onlySearcher})},[e.createVNode(S._sfc_main$10,{options:e.unref(l).optionBySearcherKey.value,modelValue:e.unref(l).searcherKey.value,"onUpdate:modelValue":u[0]||(u[0]=p=>e.unref(l).searcherKey.value=p),name:"searcher_key",addChanger:t.addChanger},null,8,["options","modelValue","addChanger"]),!t.onlySearcher&&e.unref(l).searcherKey.value!==e.unref(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":u[1]||(u[1]=p=>e.unref(r).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(s).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))}}),M={id:0,name:"/",path:"/"};function Ke(t){return t?S.useI18n()?.Common.All_folders:"/ ("+S.useI18n()?.Keywords.Root_folder+")"}const Z=(t,o,a=new Map,n={id:"root"},i=0)=>(n.childsIds=[],n.id&&(n.countAllGroupsActive=n.count_groups_active),t[n.id]&&t[n.id].forEach(l=>{l={...l},n.childsIds.push(l.id),l.id===0&&(l.name=Ke(o));const r=i>1?"-".repeat(i-1)+" ":"";r&&!l.name.startsWith(r)&&(l.name=r+l.name),a.set(l.id,l),Z(t,o,a,l,i+1),n.childsIds=n.childsIds.concat(l.childsIds),n.id&&l.count_groups_active&&(n.countAllGroupsActive+=l.count_groups_active)}),a),Oe=t=>t.gen("/get/keywords_2/folders/",["id","parent_id","name","path"]).changeParams({orders:["ord_path"],limit:100});function _(t,o,a){const n=Object.keys(t),i=n.map(l=>t[l]);return e.watch(i,(l,r,s)=>{const m={};l.forEach((f,I)=>{if(!Object.is(f,r[I])){const d=n[I];m[d]={old:r[I],new:f}}}),Object.keys(m).length&&o(m,s)},a)}const Re=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:M},folderModifiers:{}}),emits:["update:folderId","update:folder"],setup(t){const o=t,a=e.useModel(t,"folderId"),n=e.useModel(t,"folder"),i=o.client&&!o.folders?Oe(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:[M]},o.canSelectAll));return _({modelFolder:n,modelFolderId:a},async s=>{if(a.value===n.value.id)return;if(s.modelFolder&&!s.modelFolderId){a.value=n.value.id;return}let m=r.value.get(o.folderId);m||(m=M),n.value=m,a.value=m.id},{immediate:!0}),(s,m)=>(e.openBlock(),e.createBlock(T._sfc_main,{class:"top-groupSelector_folder",modelValue:n.value,"onUpdate:modelValue":m[0]||(m[0]=f=>n.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(T.apiSetSearchParamsFilter)(...f,"name"),addChanger:t.addChanger,useCache:""},null,8,["modelValue","items","icon","api","apiSetSearchParams","addChanger"]))}}),F={id:-1,name:"--",folder_id:M.id,folder_path:M.path},U={id:T.ITEM_ID_ALL,name:"All groups",folder_id:M.id,folder_path:M.path},N=()=>(U.name=S.useI18n()?.Common.All_groups,U),se=()=>(U.name=S.useI18n()?.Keywords.Choose_group,U),Fe=(t,o,a)=>(t=[...t],o!==void 0&&(t=t.filter(n=>n.on==Number(o))),a&&a.id&&a.childsIds&&(t=t.filter(n=>n.folder_id===a.id||a.childsIds.includes(n.folder_id))),t),ue=t=>t.gen("/get/keywords_2/groups/",["id","name","folder_id","folder_path"]).changeParams({folder_id_depth:!0,limit:100}),Ue=t=>t.gen("/add/keywords_2/groups/"),qe={class:"top-groupSelector_groupItem"},We={key:0,class:"top-comment"},ze={key:1,class:"top-groupSelector_groupItemFolderPath"},Je=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 a=t,n=o,i=e.useModel(t,"groupId"),l=e.useModel(t,"group"),r=a.client&&!a.groups?ue(a.client):void 0,s=a.client?Ue(a.client):void 0,m=e.ref(null),f=e.ref(void 0),I=E.genFieldFilter("folder_id","EQUALS",[a.folder?.id??0]);r?.changeParams({project_id:a.projectId,folder_id_depth:!0,filters:[I]}),a.on!==void 0&&r?.params.filters?.push(E.genFieldFilter("on","EQUALS",[Number(a.on)]));const d=c=>{l.value=c,i.value=c.id};_({projectId:()=>a.projectId,folderId:()=>a.folder?.id,canSelectAll:()=>a.canSelectAll},c=>{if(c.projectId&&(r?.changeParams({project_id:a.projectId}),r?.setOptions({checkFingerprint:"TopGroupSelectorGroups:"+a.projectId})),c.folderId&&(I.values=[a.folder?.id??0],a.groups&&(f.value=Fe(a.groups,a.on,a.folder))),m.value?.resetCache(),(c.folderId?.old!==void 0||c.canSelectAll?.old!==void 0)&&i.value!==T.ITEM_ID_NEW){let u;a.autoselect==="first"&&(u=f.value?.[0],a.canSelectAll&&(u=e.reactive(N()))),(a.autoselect==="placeholder"||!u)&&(u=se()),d(u)}},{immediate:!0}),_({modelGroup:l,modelGroupId:i},async c=>{if(i.value!==l.value.id){if(c.modelGroup&&!c.modelGroupId){i.value=l.value.id;return}if(!(a.canAdd&&i.value===T.ITEM_ID_NEW)){if(a.groups){let u=f.value?.find(p=>p.id===i.value);if(!u&&a.canSelectAll&&(u=N()),u)d(u);else{const p=f.value?.[0];p&&!i.value?d(p):d(F)}}if(a.client&&!a.groups&&(i.value||i.value===T.ITEM_ID_ALL&&!a.canSelectAll)){const u=ue(a.client).changeParams({project_id:a.projectId,id:i.value,filters:[I]});u?.setOptions({checkFingerprint:"TopGroupSelectorFindGroup:"+a.projectId});const p=await u.call();if(!p.errors?.length&&!p.result)return;!p.errors&&p.result[0]?d(p.result[0]):d(F)}}}},{immediate:!0});const g=async c=>{if(a.canAdd!=="api"||!s)return;const u=l.value,p=await s.changeParams({project_id:a.projectId,names:[c.name],to_id:a.folder?.id??M.id,to_type:"in_folder_last"}).call();p.result?(d(p.result),n("addGroup",p.result)):d(u),m.value?.resetCache(!0)};return(c,u)=>(e.openBlock(),e.createBlock(T._sfc_main,{ref_key:"refSelector",ref:m,class:"top-groupSelector_group",modelValue:l.value,"onUpdate:modelValue":u[0]||(u[0]=p=>l.value=p),items:f.value??t.groups,searchType:"inline",icon:t.addIcon?"":void 0,api:t.groups?void 0:e.unref(r),apiSetSearchParams:(...p)=>e.unref(T.apiSetSearchParamsFilter)(...p,"name"),appendSearchToResult:!!t.canAdd,useAllItem:t.canSelectAll?e.unref(N)().name:!1,addChanger:t.addChanger,useCache:"",onAppendItem:g},{item:e.withCtx(({item:p})=>[e.createElementVNode("div",qe,[p.id===e.unref(T.ITEM_ID_NEW)?(e.openBlock(),e.createElementBlock("div",We,e.toDisplayString(c.$i18n.Common.Add)+": ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(p.name),1),p.folder_path&&t.showPath?(e.openBlock(),e.createElementBlock("span",ze,e.toDisplayString(p.folder_path),1)):e.createCommentVNode("",!0)])]),_:1},8,["modelValue","items","icon","api","apiSetSearchParams","appendSearchToResult","useAllItem","addChanger"]))}}),Ye={class:"top-groupSelector"},He=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:F},groupModifiers:{}}),emits:e.mergeModels(["update:groups"],["update:folderId","update:folder","update:groupId","update:group"]),setup(t,{emit:o}){const a=t,n=e.useModel(t,"folderId"),i=e.useModel(t,"folder"),l=e.useModel(t,"groupId"),r=e.useModel(t,"group"),s=o,m=Z(a.folders??{root:[M]},a.canSelectAllGroups);i.value=m.get(n.value);let f=a.groups?.find(d=>d.id===l.value);l.value||(f=a.groups?.[0]),a.canSelectAllGroups&&!f&&(f=N()),a.canSelectAllGroups&&!f&&(f=N()),(a.autoselect==="placeholder"||!f)&&(f=se()),f??=F,r.value=f;const I=d=>{let g;a.groups&&d&&(g=[...a.groups,d]),s("update:groups",g)};return(d,g)=>(e.openBlock(),e.createElementBlock("div",Ye,[t.showFolders?(e.openBlock(),e.createBlock(Re,{key:0,folderId:n.value,"onUpdate:folderId":g[0]||(g[0]=c=>n.value=c),folder:i.value,"onUpdate:folder":g[1]||(g[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(Je,{key:1,groupId:l.value,"onUpdate:groupId":g[2]||(g[2]=c=>l.value=c),group:r.value,"onUpdate:group":g[3]||(g[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:I},null,8,["groupId","group","projectId","folder","groups","on","canAdd","canSelectAll","autoselect","addChanger","showPath","addIcon","client"])):e.createCommentVNode("",!0)]))}}),Qe={class:"top-projectSelectorSubmenu_item"},Xe=["href","title","data-top-icon","data-right"],Ze={class:"top-projectSelectorSubmenu_item"},_e=["href"],et=e.defineComponent({__name:"submenu",props:{id:{},right:{},url:{}},setup(t){const o=t,a=S.useI18n();let n=[{href:`/project/keywords/${o.id}/`,title:a.Common.Menu_phrases,icon:"",right:"2"},{href:`/project/dynamics/${o.id}/`,title:a.Common.Menu_dynamics,icon:"",right:"1"},{href:`/project/snapshots/${o.id}/`,title:a.Common.Menu_snapshots,icon:"",right:"1"},{href:`/project/competitors/${o.id}/`,title:a.Common.Menu_competitors,icon:"",right:"1"},{href:`/project/analytics/${o.id}/`,title:a.Common.Menu_analytics,icon:"",right:"5"},{href:`/project/broker/${o.id}/`,title:a.Common.Menu_broker,icon:"",right:"6"},{href:`/project/audit/${o.id}/sitemap/`,title:a.Audit.Sitemap_gen,icon:"",right:"8"},{href:`/project/audit/${o.id}/audit/`,title:a.Common.Menu_audit,icon:"",right:"8"},{href:`//project/audit/${o.id}/indexing/`,title:a.Audit.Indexing,icon:"",right:"8"},{href:`/project/audit/${o.id}/watcher/`,title:a.Audit.Watcher,icon:"",right:"9"},{href:`/project/settings/${o.id}/`,title:a.Common.Menu_settings,icon:"",right:"2"}];const i=e.computed(()=>o.right.includes("0")?n.filter(l=>o.right[l.right]==="1"):n);return(l,r)=>{const s=e.resolveComponent("TopButton");return e.openBlock(),e.createBlock(e.unref(A._sfc_main),{class:"top-projectSelectorSubmenu",notch:!1,pos:"2"},{opener:e.withCtx(()=>[e.createVNode(s,{class:"top-projectSelectorSubmenu_opener","data-top-icon":"",color:"theme"})]),contentList:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,m=>(e.openBlock(),e.createElementBlock("li",Qe,[e.createElementVNode("a",{href:m.href,title:m.title,"data-top-icon":m.icon,"data-right":m.right},null,8,Xe)]))),256)),e.createElementVNode("li",Ze,[e.createElementVNode("a",{href:t.url,"data-top-icon":"",target:"_blank"},null,8,_e)])]),_:1})}}}),ee=t=>({id:null,name:t,listItemProps:{type:"title"}}),te={scheduledUpdate:!1,manualUpdate:!1,guestProjects:!1},tt=(t,o)=>{const a=[],n={scheduledUpdate:ee(S.useI18n().Projects.Scheduled_update),manualUpdate:ee(S.useI18n().Projects.Manual_update),guestProjects:ee(S.useI18n().Projects.Guest_projects)},i=o?{scheduledUpdate:!1,manualUpdate:!1,guestProjects:!1}:te;for(const l of t)!i.scheduledUpdate&&l.right?.startsWith("1")&&l.on>0&&(a.push(n.scheduledUpdate),i.scheduledUpdate=!0),!i.manualUpdate&&l.right?.startsWith("1")&&l.on===0&&(a.push(n.manualUpdate),i.manualUpdate=!0),!i.guestProjects&&l.right?.startsWith("0")&&l.on>=0&&(a.push(n.guestProjects),i.guestProjects=!0),a.push(l);return a},ot=(t,o)=>t.map(a=>({...a,listItemProps:{class:"top-projectSelector_item",href:o?me(Number(a.id)):void 0,title:a.name}})),nt=(t,o,a,n,i)=>{if(!t||t.length===0)return[];o&&(t=t.filter(r=>r.id!==o)),n&&Object.keys(te).forEach(r=>te[r]=!1);const l=ot(t,a);return tt(l,i)},at=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},me=t=>{const o=location.pathname.split("/");let a="project/dynamics/",n="";o[1]=="project"&&(a=o[1]+"/"+o[2]+"/"),["watcher","indexing","sitemap","audit","direct","adwords"].includes(o[4])&&(n=o[4]+"/");let i="/"+a+t+"/"+n;const l=at(location.hash);return i+=l,i},fe=t=>{let o=t.startsWith("http")?t:"http://"+t;return o=o.replace(/"/g,"%22"),o},ge=(t,o,a,n,i)=>{const l=t.gen("/get/projects_2/projects/",["id","user_id","name","url","on","right"]);return l.params={...i,filters:[E.genFieldFilter("on","GREATER_THAN_EQUALS",[0])],orders:[E.genFieldOrder("user_id","DESC",[a]),E.genFieldOrder("on","DESC"),E.genFieldOrder("id","DESC")]},l.options.onApiLoaded=(r,s,m)=>{const f=s.data.limit===100&&s.data.filters.length===1&&s.data.offset===0,I=s.data.limit===100&&s.data.filters.length>1?!0:void 0;r.result=nt(r.result,o,n,f,I),m?.(r,s)},l},lt=t=>t.gen("/add/projects_2/projects/"),q="projects_total:",rt=1440*60*1e3,it=(t,o)=>{localStorage.setItem(q+t,JSON.stringify({value:o,expiresAt:Date.now()+rt}))},dt=t=>{const o=localStorage.getItem(q+t);if(!o)return null;const{value:a,expiresAt:n}=JSON.parse(o);return Date.now()>n?(localStorage.removeItem(q+t),null):a},pe=t=>{localStorage.removeItem(q+t)},ct={class:"top-projectSelector_itemText"},st={class:"top-projectSelector_itemName"},ut={class:"top-projectSelector_itemId"},mt={key:1},ft={key:0,class:"top-comment"},ve=1e3,gt=e.defineComponent({__name:"projectSelector",props:e.mergeModels({project:{},addLinksToProjects:{type:Boolean,default:!0},userId:{default:window.mo?.user?.id},excludeProjectId:{},placeholder:{},openerText:{},buttonProps:{},openerShortcut:{},client:{}},{project:{default:{id:T.ITEM_ID_NEW,name:""}},projectModifiers:{}}),emits:["update:project"],setup(t,{expose:o}){const a=S.useI18n(),n=t,i=e.computed(()=>n.placeholder??a.Projects.Select_project),l=e.computed(()=>n.openerText??a.Common.Projects),r=e.useModel(t,"project");r.value.name||(r.value.name=l.value);const s=()=>{c.value==="api"&&g.value?.resetCache(!0),I.value=void 0,pe(n.userId)};o({resetCache:s});const m=ge(n.client,n.excludeProjectId,n.userId,n.addLinksToProjects),f=lt(n.client),I=e.ref(),d=e.ref(dt(n.userId)),g=e.ref(null),c=e.computed(()=>{if(d.value)return d.value<ve?"static":"api"}),u=async()=>{const v=await ge(n.client,n.excludeProjectId,n.userId,n.addLinksToProjects,{limit:ve}).call();if(!v.errors)return v},p=async()=>{if(d.value)return;const x=await u();d.value=x?.total,c.value==="static"&&(I.value=x?.result),d.value&&it(n.userId,d.value)},b=async x=>{const v=await f.changeParams({url:x.name,name:x.name}).call();if(!v.errors){if(I.value&&c.value==="static"){const k={id:Number(v.result),url:x.name,name:x.name,user_id:n.userId,on:0,right:"11111111111111111111",listItemProps:{class:"top-projectSelector_item",href:n.addLinksToProjects?me(Number(v.result)):void 0}};I.value?.unshift(k),pe(n.userId)}c.value==="api"&&s()}},V=async()=>{if(I.value||c.value!=="static")return;const x=await u();I.value=x?.result};return e.onMounted(async()=>{await p(),r.value.name||(r.value.name=l.value)}),(x,v)=>{const k=e.resolveComponent("TopButton");return c.value?(e.openBlock(),e.createBlock(T._sfc_main,{key:0,ref_key:"refSelector",ref:g,class:"top-projectSelector",modelValue:r.value,"onUpdate:modelValue":v[1]||(v[1]=h=>r.value=h),items:I.value,title:x.$i18n.Projects.Search_projects,modificator:"projectSelector",placeholder:i.value,hasCloserBtn:"",api:c.value==="api"?e.unref(m):void 0,apiSetSearchParams:c.value==="api"?(...h)=>e.unref(T.apiSetSearchParamsFilter)(...h,"name"):void 0,useCache:"",appendSearchToResult:"",appendSearchToResultCond:e.unref(ne.validUrl),closeAfterAppend:!1,buttonProps:t.buttonProps,openerShortcut:t.openerShortcut,onAppendItem:b,onOpen:V},{item:e.withCtx(({item:h})=>[h.id?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",ct,[e.createElementVNode("span",st,e.toDisplayString(e.unref(xe.ellipsis)(h.name,25)),1),e.createElementVNode("span",ut," id "+e.toDisplayString(h.id),1)]),x.$core.state.isMobile?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(k,{key:0,class:"top-projectSelector_itemLink",href:e.unref(fe)(h.url),"data-top-icon":"",color:"theme",target:"_blank",onClick:v[0]||(v[0]=e.withModifiers(()=>{},["stop"]))},null,8,["href"])),e.createVNode(et,{id:h.id,right:h.right??void 0,url:e.unref(fe)(h.url)},null,8,["id","right","url"])],64)):(e.openBlock(),e.createElementBlock("div",mt,[e.unref(ne.validUrl)(h.name)?(e.openBlock(),e.createElementBlock("div",ft,e.toDisplayString(x.$i18n.Projects.Add_project)+": ",1)):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(h.name),1)]))]),_:1},8,["modelValue","items","title","placeholder","api","apiSetSearchParams","appendSearchToResultCond","buttonProps","openerShortcut"])):e.createCommentVNode("",!0)}}}),he=t=>"-"+t,L=t=>t[0]==="-"?t.substring(1):t,W=(t,o)=>{t=L(t);const a=o.find(n=>n.id===t);if(a)return a},pt=(t,o,a)=>{o||(o={id:t.id}),o.id=t.id,o.pos??="3",o.notch??=!0,o.posBy??="fixed";const n=Be.TopPopupWorker.genElPopupOpener("div",o);return n.classList.add("top-tagSelector"),t.useTopButton&&n.classList.add("top-tagSelector-useTopButton","top-button","top-color_theme","top-as-selector"),t.useTopButton||n.classList.add("top-tagSelector-custom"),t.mode==="filter"&&n.classList.add("top-tagSelector-filter"),t.mode==="setter"&&!t.filters&&n.classList.add("top-tagSelector-setter_single"),t.mode==="setter"&&t.filters&&n.classList.add("top-tagSelector-setter_several"),n.onclick=i=>{i.preventDefault(),i.stopPropagation(),n.onclick=null;const l=e.ref(t.modelValue),r={model:l,mode:t.mode,targetId:t.targetId,filters:t.filters,payload:t.payload};P.storage(n,"topTagSelectorTarget",r),delete n.dataset.topPopupDisabled,e.isRef(t.modelValue)||e.watch(l,()=>{t.modelValue=l.value,z(n,t,a)}),n.click()},e.isRef(t.modelValue)?e.watch(t.modelValue,()=>z(n,t,a)):P.storage(n,"topTagSelectorRender",i=>{t.modelValue=i;const l=P.storage(n,"topTagSelectorTarget");l&&(l.model.value=i),z(n,t,a)}),z(n,t,a),n},vt=(t,o)=>{P.storage(t,"topTagSelectorRender")?.(o)},z=(t,o,a)=>{const n=e.unref(o.modelValue);if(t.classList.toggle("top-tagSelector-selectedOne",!n.length||n.length===1),t.classList.toggle("top-tagSelector-toTwoLine",n.length>5),o.mode==="setter"&&o.filters){t.innerHTML=`<div>${a}</div>`;return}if(t.innerHTML="",!n.length&&o.mode==="filter"){const i=Ie({id:"all",colorId:"",name:S.useI18n().Common?.All_tags??"",state:""});t.append(i)}n.forEach(i=>{const l=Ie({id:L(i),colorId:W(i,o.tags)?.color_id??"",name:W(i,o.tags)?.name??"",state:L(i)===i?"selected":"excluded"});t.append(l)})},Ie=t=>{const o=document.createElement("div");return o.classList.add("top-tagSelector_tagIcon"),o.classList.toggle("top-tagSelector-active",!!t.state),o.classList.toggle("top-tagSelector-excluded",t.state==="excluded"),o.dataset.tag_id=t.id,o.dataset.tag_color_id=t.colorId,o.title=t.name,o},ht=[{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"}],It=["data-tag_id","data-tag_color_id","title"],J=e.defineComponent({__name:"tagIcon",props:{id:{},colorId:{},name:{},state:{}},setup(t){return(o,a)=>(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,It))}}),yt=["contenteditable","onKeydown"],ye=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 a=t,n=o,i=e.useModel(t,"name"),l=e.ref(null),r=e.computed(()=>navigator.userAgent.indexOf("Firefox")!=-1?{contenteditable:s.value,onpaste:g=>g.preventDefault()}:{}),s=e.ref(!1),m=async()=>{s.value=!0,await e.nextTick(),l.value?.focus()},f=()=>{const g=l.value?.innerText;if(!g)return I();l.value&&(l.value.innerText=g),s.value=!1,n("update:name",g)},I=async()=>{l.value&&(l.value.innerText=a.name),s.value=!1},d=g=>{if(s.value||a.disabled)return;let c="selected";a.canExclude&&(g.ctrlKey||g.metaKey)&&(c="excluded"),a.state==c&&(c=""),c===""&&n("unselect"),c==="selected"&&n("select"),c==="excluded"&&n("exclude")};return(g,c)=>(e.openBlock(),e.createBlock(A._sfc_main$2,{class:e.normalizeClass({"top-tagSelector_tagListItem":!0,"top-tagSelector_tagListItem-inEdit":s.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(J,{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:s.value?"plaintext-only":!1},r.value,{onKeydown:[e.withKeys(e.withModifiers(f,["stop"]),["enter"]),e.withKeys(e.withModifiers(I,["stop"]),["esc"])]}),e.toDisplayString(i.value),17,yt),t.editable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[s.value?(e.openBlock(),e.createElementBlock("span",{key:1,"data-top-icon":"",class:"top-tagSelector_edit",onClick:e.withModifiers(f,["stop"])})):(e.openBlock(),e.createElementBlock("span",{key:0,"data-top-icon":"",class:"top-tagSelector_edit",onClick:m}))],64)):e.createCommentVNode("",!0)]),_:1},8,["class"]))}}),St={key:1},Se=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,a=e.useModel(t,"modelValue"),n=o.useTopButton?S._sfc_main$1:"div",i=o.useTopButton?"html":"default",l={model:a,mode:o.mode,targetId:o.targetId,filters:o.filters,payload:o.payload};return(r,s)=>{const m=e.resolveDirective("top-data");return e.openBlock(),e.createBlock(A._sfc_main$1,{id:t.id},{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(n)),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":!a.value.length||a.value.length===1,"top-tagSelector-toTwoLine":a.value.length>5},color:"theme",styling:t.styling},r.$attrs),{[e.unref(i)]:e.withCtx(()=>[!a.value.length&&t.mode==="filter"?(e.openBlock(),e.createBlock(J,{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",St,[e.renderSlot(r.$slots,"default")])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(a.value,f=>(e.openBlock(),e.createBlock(J,{id:e.unref(L)(f),colorId:e.unref(W)(f,t.tags)?.color_id??"",name:e.unref(W)(f,t.tags)?.name??"",state:e.unref(L)(f)===f?"selected":"excluded"},null,8,["id","colorId","name","state"]))),256))]),_:2},1040,["class","styling"])),[[m,l,"topTagSelectorTarget"]])]),_:3},8,["id"])}}}),kt=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(ht)},tagsModifiers:{}}),emits:e.mergeModels(["selector","setter","tagsChanged"],["update:modelValue","update:tags"]),setup(t,{emit:o}){const a=S.useI18n(),n=t,i=e.useModel(t,"modelValue"),l=e.useModel(t,"tags"),r=o,s=S.debounce((v,k)=>{r(v,k)},n.emitDelay);n.singleMode&&!i.value.length&&(i.value=[l.value[0].id]);const m=n.id??"top-popup-id-"+Math.random(),f=e.ref("add"),I=()=>{const v=" "+a.Common.Tags?.toLowerCase(),k=new Map;return k.set("add",{value:"add",title:a.Common.Add+v}),k.set("replace",{value:"replace",title:a.Common.Replace+v}),k.set("delete",{value:"delete",title:a.Common.Delete+v}),k};let d=e.shallowRef({model:i,mode:"filter",targetId:void 0,filters:void 0,payload:void 0});e.watch(i,()=>{s("selector",i.value)});const g=e.computed(()=>{if(d.value.mode==="setter"&&n.maxTagsForSetter&&!d.value.filters)return d.value.model.value.length>=n.maxTagsForSetter}),c=v=>{if(v!=="all"){if(d.value.model.value.includes(v))return"selected";if(d.value.model.value.includes(he(v)))return"excluded"}return v==="all"&&!d.value.model.value.length?"selected":""},u=(v,k)=>{const h=he(v);let C=d.value.model.value.filter(w=>w!==v&&w!==h);k==="select"&&C.push(v),k==="exclude"&&C.push(h),d.value.mode==="setter"&&d.value.targetId!==void 0&&n.requiredForSetter&&(C.length||C.push("1"),C.length===2&&d.value.model.value.length===1&&d.value.model.value[0]==="1"&&(C=C.filter(w=>w!=="1"))),n.singleMode&&!d.value.filters&&(C.length||(C=d.value.model.value),C.length>1&&(C=[C[C.length-1]])),C.sort((w,Y)=>{if(!n.tags)return 0;const G=n.tags.findIndex(K=>K.id===w),D=n.tags.findIndex(K=>K.id===Y);return G-D}),d.value.model.value=C,d.value.mode==="setter"&&d.value.targetId!==void 0&&s("setter",{tagsIds:C,targetId:d.value.targetId,payload:d.value.payload})},p=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 k=l.value.length+1;l.value.push({id:String(k),name:v,color_id:String((k-1)%10+1)}),r("tagsChanged",l.value)},V=v=>{if(d.value=P.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(k,h){if(!l.value)return;const C=$(h.item).parent().find("[data-tag_id]"),w=[];C.each((Y,G)=>{if(!l.value)return;const D=$(G).attr("data-tag_id");w.push(D)}),l.value.sort((Y,G)=>{const D=w.findIndex(oe=>oe===Y.id),K=w.findIndex(oe=>oe===G.id);return D-K}),s("tagsChanged",l.value)}})},x=v=>{S.Core.$?.ui.sortable&&$(v.elPopup).data("ui-sortable")&&$(v.elPopup).sortable("destroy")};return(v,k)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(Se,{modelValue:i.value,"onUpdate:modelValue":k[0]||(k[0]=h=>i.value=h),id:e.unref(m),tags:l.value,styling:t.styling,mode:"filter",useTopButton:t.useTopButton},null,8,["modelValue","id","tags","styling","useTopButton"]),e.createVNode(A._sfc_main,{id:e.unref(m),class:e.normalizeClass(p.value),onOpen:k[4]||(k[4]=h=>V(h)),onClose:k[5]||(k[5]=h=>x(h)),"transition-duration":50},e.createSlots({contentList:e.withCtx(()=>[e.unref(d).mode==="filter"&&!t.singleMode?(e.openBlock(),e.createBlock(ye,{key:0,id:"all",colorId:"",name:v.$i18n.Common.All_tags??"",state:e.unref(d).model.value.length?"":"selected",onSelect:k[3]||(k[3]=h=>e.unref(d).model.value=[])},null,8,["name","state"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,h=>(e.openBlock(),e.createBlock(ye,{key:h.id,id:h.id,colorId:h.color_id,name:h.name,state:c(h.id),canExclude:e.unref(d).mode==="filter"&&!t.singleMode,editable:t.tagsEditable,disabled:g.value&&c(h.id)==="",onUnselect:C=>u(h.id,"unselect"),onSelect:C=>u(h.id,"select"),onExclude:C=>u(h.id,"exclude"),"onUpdate:name":C=>{h.name=C,e.unref(s)("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(A._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":k[1]||(k[1]=h=>f.value=h),options:I()},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:k[2]||(k[2]=h=>e.unref(s)("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))}});B.TopCompetitorSelector=je,B.TopGroupSelector=He,B.TopProjectSelector=gt,B.TopRegionSelector=De,B.TopTagSelector=kt,B.TopTagSelectorPopupOpener=Se,B.TopTagSelectorTagIcon=J,B.dialogRegionSelector=ce,B.findRegion=de,B.genElTopTagSelectorPopupOpener=pt,B.genSearcherByKey=X,B.renderElTopTagSelectorPopupOpener=vt,B.useItemsFromCompetitors=Me,Object.defineProperty(B,Symbol.toStringTag,{value:"Module"})}));
|
|
1
|
+
define(["require","exports","vue","../.chunks/forms-B_v2vU59.amd","../.chunks/popupHint.vue_vue_type_style_index_0_lang-CdIajfDS.amd","../.chunks/policy.vue_vue_type_style_index_0_lang-BkKOPt0o.amd","../.chunks/utils-DNzj9OOY.amd","../utils/searchers.amd","../.chunks/core-DJS4o9Vt.amd","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-B3hYoW1m.amd","../.chunks/field-Cvv0SRcJ.amd","../utils/check.amd","../utils/string.amd","../utils/dom.amd","../popup/worker.amd","../require/css.amd!../assets/project.css"],(function(ke,B,e,S,V,T,Ce,H,Ct,xt,A,ne,xe,P,Be){"use strict";if(typeof e>"u")var e=window.Vue;const Te={class:"top-competitorSelector"},we={class:"top-ellipsis1"},je=e.defineComponent({__name:"competitorSelector",props:e.mergeModels({modelValue:{},items:{},showSelectAllItem:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=t,a=e.useModel(t,"modelValue"),n=e.computed(()=>{if(o.showSelectAllItem)return{icon:"",title:S.useI18n().Common.Select_all,value:"all",content:""}});return(i,l)=>(e.openBlock(),e.createElementBlock("div",Te,[e.unref(S.Core).state.isMobile?(e.openBlock(),e.createBlock(V._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===a.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(V._sfc_main$2,{class:e.normalizeClass({"top-active":a.value?.includes(r.value)}),"data-top-icon":r.icon,title:r.title,onClick:()=>a.value=[r.value]},{default:e.withCtx(()=>[e.createElementVNode("span",we,e.toDisplayString(r.content),1)]),_:2},1032,["class","data-top-icon","title","onClick"]))),256))]),_:1})):(e.openBlock(),e.createBlock(T._sfc_main$1,{key:1,modelValue:a.value,"onUpdate:modelValue":l[0]||(l[0]=r=>a.value=r),items:t.items,isMultiple:!0,styling:"bar",canBeEmptyMultiple:!1,selectAllItem:n.value},null,8,["modelValue","items","selectAllItem"]))]))}}),Me=(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,y=-2,K=-1,Ve={0:"Yandex",1:"Google",4:"YouTube",5:"Bing",7:"Seznam",8:"AppStore",9:"GoogleStore",20:"Yandex.com",21:"Yandex.com.tr"},ae={key:y,name:"--",index:y},le={key:y,name:"--",regions:[ae],regionByIndex:new Map([[y,ae]])},R={key:y,name:"Autoselect",index:y},Q={key:y,name:"Autoselect",regions:[R],regionByIndex:new Map([[y,R]])},re={countryCode:"00",depth:1,device:0,key:K,index:K,lang:"ru",name:"Without region"},Ae=()=>(R.name=S.useI18n().Common.Autoselect,R),Ee=()=>(Ae(),Q.name=S.useI18n().Common.Autoselect,console.log(Q),Q),be=()=>(re.name=S.useI18n().Keywords.Without_region,re),X=(t=!1,o=!1,a=[])=>{let n;return t?n=Pe(a):n=ie(a),o&&n.set(y,Ee()),n.size||n.set(y,le),n},ie=(t,o=!0,a=[],n=!1)=>{const i=new Map;return t.forEach(l=>{if(!l.enabled||n&&typeof l.key=="number"&&l.key>1)return;const r={...l};r.regionByIndex=new Map,l.regions&&l.regions.forEach(s=>{if(o&&!s.enabled)return;const m={...s};r.regionByIndex.set(m.index,m)}),!r.regionByIndex.size&&a.length,(!l.regions||r.regionByIndex.size||a.length)&&typeof r.key=="number"&&i.set(r.key,r)}),a.forEach(l=>{if(i.has(l))return;const r={key:l,name:Ve[l],regions:[],regionByIndex:new Map};i.set(r.key,r)}),i},Pe=t=>{const o=ie(t,!1,[0,1],!0);if(o.has(2)){const a=o.get(2);a&&(a.regionByIndex=new Map)}return o.forEach(a=>{if(!a.regionByIndex)return;const n={...be()};a.regionByIndex.set(n.index,n)}),o},de=(t,o,a=[])=>{const n=X(t,!1,a);let i;return n.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},ce=Ce.useAsyncTopDialog(()=>new Promise((t,o)=>ke(["../.chunks/dialog_regionSelectorRegions-C1DNLHM7.amd"],t,o))),$e=(t,o)=>{const a=S.useI18n(),n=e.ref(o.value.keys().next().value??y),i=e.computed(()=>{const l=new Map;if(o.value.forEach(r=>{let s={value:r.key,title:r.name};t.addSearcherIcon&&(s.icon=H.getSearcherGIcon(r.key)),l.set(r.key,s)}),t.addCompare&&!l.has(y)){const r={value:"",title:"--------------------",disabled:!0};l.set(r.value,r);const s={value:j,title:a.Common.Compare};l.set(s.value,s)}return l});return{searcherKey:n,optionBySearcherKey:i}},Ne=(t,o)=>{const a=S.useI18n(),n=e.ref(y);t.modelValue.length===1&&(n.value=t.modelValue[0]),n.value===y&&(t.forFrequency?n.value=o.value?.regionByIndex.values().next().value?.key??y:n.value=o.value?.regionByIndex.keys().next().value??y);const i=e.computed(()=>{const l=new Map;return o.value.regionByIndex?.forEach(r=>{let s=r.name;if(t.forFrequency){const I={value:r.key,title:s};l.has(r.key)||l.set(r.key,I);return}r.device&&(s+=" ("+a.Common["Device_"+r.device]+")");const m=H.getLangLabel(o.value.key||0,r.lang??"");m&&(s+=" / "+m);const f={value:r.index,title:s,icon:r.device?H.getDeviceGIcon(r.device):void 0};l.set(r.index,f)}),l});return e.watch(i,(l,r)=>{if(t.onlySearcher||n.value!==void 0&&l.get(n.value))return;let s=l.keys().next().value;if(n.value===y||s===y){n.value=s;return}let m=r?.get(n.value)?.title||"",f=-1;for(const[I,d]of l.entries()){const g=d.title;if(typeof g!="string"||typeof I=="string")break;if(g===m){s=I;break}const c=new RegExp(` \\((${a.Common.Device_1}|${a.Common.Device_2})\\)`);let u=m,p=3;g.indexOf(u)===-1&&(u=m.replace(/^[^a-zа-я]/i,"").replace(c,""),p--),g.indexOf(u)===-1&&(u=m.replace(/ \/.*/,""),p--),g.indexOf(u)===-1&&(u=m.replace(/ \/.*/,""),u=u.replace(/^[^a-zа-я]/i,"").replace(c,""),p--),g.indexOf(u)!==-1&&(p<=f||(f=p,s=I))}n.value=s}),{regionIndex:n,optionByRegionIndex:i}},Le=(t,o,a)=>{const n=e.ref([]),i=()=>{if(t.onlySearcher&&o.value){n.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(s=>a.value.has(s))),r.length||(r=Array.from(a.value)),n.value=[...r]},l=()=>{n.value.length?localStorage.setItem("ui:project:regionSelector:"+t.projectId+":regionsIndexes",JSON.stringify(n.value)):localStorage.removeItem("ui:project:regionSelector:"+t.projectId+":regionsIndexes")};return e.watch(n,()=>{l()}),t.addCompare&&i(),{regionsIndexes:n}},Ge=t=>{const o=e.computed(()=>X(t.forFrequency,t.autoRegion,t.searchers)),a=e.computed(()=>o.value.get(i.searcherKey.value)||le),n=e.computed(()=>{const d=new Set;return o.value.forEach(g=>{g.regionByIndex.forEach(c=>{c.index!==K&&c.index!==y&&d.add(c.index)})}),d}),i=$e(t,o),l=Ne(t,a),r=Le(t,o,n);e.watch(o,()=>{if(t.onlySearcher?r.regionsIndexes.value=Array.from(o.value.keys()):r.regionsIndexes.value=r.regionsIndexes.value.filter(g=>n.value.has(g)),i.searcherKey.value===j)return;let d=o.value.keys().next().value;o.value.forEach(g=>{if(t.onlySearcher&&g.key===i.searcherKey.value){d=i.searcherKey.value;return}if(l.regionIndex.value&&g.regionByIndex?.has(l.regionIndex.value)&&(d=g.key),!t.onlySearcher){let c;d!==void 0&&(c=o.value.get(d)?.regionByIndex);const u=o.value.get(g.key)?.regionByIndex;c?.has(y)&&!u?.has(y)&&(d=g.key)}}),d!==void 0&&(i.searcherKey.value=d),l.regionIndex.value!==void 0&&!a.value?.regionByIndex?.has(l.regionIndex.value)&&(l.regionIndex.value=a.value?.regions?.keys().next().value)},{immediate:!0});const s=()=>{if(!(i.searcherKey.value===j||i.searcherKey.value===y))return i.searcherKey.value},m=()=>{if(t.onlySearcher||l.regionIndex.value===y)return;let d=l.regionIndex.value;if(t.forFrequency){const g=l.regionIndex.value;d=de(t.forFrequency,{searcher_key:s(),key:g},t.searchers)?.index}return d},f=()=>{const d=s();if(d!==void 0)return o.value.get(d)};return{selectSearcher:i,selectRegion:l,compare:r,searcherByKey:o,allRegionsIndexes:n,getSearcher:f,getRegion:()=>{const d=m();if(d!==void 0)return f()?.regionByIndex?.get(d)}}},De=e.defineComponent({__name:"regionSelector",props:e.mergeModels({projectId:{},searchers:{default:()=>[]},modelValue:{},modelValueSingle:{},addCompare:{type:Boolean},forFrequency:{type:Boolean},autoRegion:{type:Boolean},onlySearcher:{type:Boolean},addChanger:{type:Boolean,default:!0},addSearcherIcon:{type:Boolean,default:!0},addRegionIcon:{type:Boolean,default:!0}},{modelValue:{required:!0},modelModifiers:{},modelValueSingle:{},modelValueSingleModifiers:{}}),emits:["update:modelValue","update:modelValueSingle"],setup(t,{expose:o}){const a=t,n=e.useModel(t,"modelValue"),i=e.useModel(t,"modelValueSingle"),{selectSearcher:l,selectRegion:r,compare:s,searcherByKey:m,allRegionsIndexes:f,getSearcher:I,getRegion:d}=Ge(a),g=()=>{const c=[];m.value.forEach(u=>{u.enabled&&u.regions.forEach(p=>{p.enabled&&c.push(p)})}),ce.open("regions",{regions:c,regionsIndexes:s.regionsIndexes.value,"@update:regionsIndexes":u=>s.regionsIndexes.value=u})};return e.watch([r.regionIndex,l.searcherKey,s.regionsIndexes],()=>{if(l.searcherKey.value===j&&s.regionsIndexes.value.length){if(JSON.stringify(n.value)===JSON.stringify(s.regionsIndexes.value))return;n.value=[...s.regionsIndexes.value]}else a.onlySearcher?(n.value=[l.searcherKey.value],l.searcherKey.value===y&&!a.autoRegion&&(n.value.length=0)):(n.value=[r.regionIndex.value],r.regionIndex.value===y&&!a.autoRegion&&(n.value.length=0));!a.onlySearcher&&!f.value.size&&(l.searcherKey.value=y)}),i.value&&e.watch(i,()=>{i.value&&(n.value=[i.value])},{immediate:!0}),e.watch(n,()=>{if(n.value[0]&&(i.value=n.value[0]),a.onlySearcher){if(!n.value.length||n.value.length===1&&!m.value.has(n.value[0])||n.value.length===1&&n.value[0]===y&&!a.autoRegion){let c=m.value.keys().next().value;c===y&&!a.autoRegion&&(c=void 0,i.value=y),c!==void 0?n.value=[c]:n.value.length=0;return}if(n.value.length>1&&JSON.stringify(n.value)!==JSON.stringify(s.regionsIndexes.value)){n.value=[...s.regionsIndexes.value];return}}else{let c=[...new Set(n.value)],u=m.value.values().next().value?.regionByIndex?.keys().next().value;if(a.forFrequency&&(u=m.value.values().next().value?.regionByIndex?.values().next().value?.key),u===y&&!a.autoRegion&&(u=void 0,i.value=y),!c.length)u!==void 0&&c.push(u);else if(c.length===1){let p=f.value;a.forFrequency&&(p=new Set,m.value.forEach(b=>{b.regionByIndex.forEach(E=>{E.index!==K&&E.index!==y&&p.add(E.key)})})),p.has(c[0])||(c=[],u!==void 0&&c.push(u))}else c=c.filter(p=>f.value.has(p)),!c.length&&u!==void 0&&c.push(u);if(JSON.stringify(n.value)!==JSON.stringify(c)){n.value=c;return}}if(!(n.value.length===1&&n.value[0]===(a.onlySearcher?l.searcherKey.value:r.regionIndex.value)))if(a.onlySearcher){if(n.value.length===1){l.searcherKey.value=n.value[0];return}l.searcherKey.value=j;return}else{if(!n.value.length)return;if(n.value.length===1&&l.searcherKey.value!==j){r.regionIndex.value=n.value[0];let c;for(const u of m.value.values()){for(const p of u.regionByIndex.values())if((a.forFrequency?p.key:p.index)===r.regionIndex.value){c=u.key;break}if(c!==void 0)break}c!==void 0&&(l.searcherKey.value=c)}else l.searcherKey.value=j,s.regionsIndexes.value=[...n.value]}},{immediate:!0}),o({getSearcher:I,getRegion:d}),(c,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-selectorRegion":!0,"top-selectorRegion-onlySearcher":t.onlySearcher})},[e.createVNode(S._sfc_main$10,{options:e.unref(l).optionBySearcherKey.value,modelValue:e.unref(l).searcherKey.value,"onUpdate:modelValue":u[0]||(u[0]=p=>e.unref(l).searcherKey.value=p),name:"searcher_key",addChanger:t.addChanger},null,8,["options","modelValue","addChanger"]),!t.onlySearcher&&e.unref(l).searcherKey.value!==e.unref(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":u[1]||(u[1]=p=>e.unref(r).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(s).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))}}),M={id:0,name:"/",path:"/"};function Oe(t){return t?S.useI18n()?.Common.All_folders:"/ ("+S.useI18n()?.Keywords.Root_folder+")"}const Z=(t,o,a=new Map,n={id:"root"},i=0)=>(n.childsIds=[],n.id&&(n.countAllGroupsActive=n.count_groups_active),t[n.id]&&t[n.id].forEach(l=>{l={...l},n.childsIds.push(l.id),l.id===0&&(l.name=Oe(o));const r=i>1?"-".repeat(i-1)+" ":"";r&&!l.name.startsWith(r)&&(l.name=r+l.name),a.set(l.id,l),Z(t,o,a,l,i+1),n.childsIds=n.childsIds.concat(l.childsIds),n.id&&l.count_groups_active&&(n.countAllGroupsActive+=l.count_groups_active)}),a),Ke=t=>t.gen("/get/keywords_2/folders/",["id","parent_id","name","path"]).changeParams({orders:["ord_path"],limit:100});function _(t,o,a){const n=Object.keys(t),i=n.map(l=>t[l]);return e.watch(i,(l,r,s)=>{const m={};l.forEach((f,I)=>{if(!Object.is(f,r[I])){const d=n[I];m[d]={old:r[I],new:f}}}),Object.keys(m).length&&o(m,s)},a)}const Re=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:M},folderModifiers:{}}),emits:["update:folderId","update:folder"],setup(t){const o=t,a=e.useModel(t,"folderId"),n=e.useModel(t,"folder"),i=o.client&&!o.folders?Ke(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:[M]},o.canSelectAll));return _({modelFolder:n,modelFolderId:a},async s=>{if(a.value===n.value.id)return;if(s.modelFolder&&!s.modelFolderId){a.value=n.value.id;return}let m=r.value.get(o.folderId);m||(m=M),n.value=m,a.value=m.id},{immediate:!0}),(s,m)=>(e.openBlock(),e.createBlock(T._sfc_main,{class:"top-groupSelector_folder",modelValue:n.value,"onUpdate:modelValue":m[0]||(m[0]=f=>n.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(T.apiSetSearchParamsFilter)(...f,"name"),addChanger:t.addChanger,useCache:""},null,8,["modelValue","items","icon","api","apiSetSearchParams","addChanger"]))}}),F={id:-1,name:"--",folder_id:M.id,folder_path:M.path},U={id:T.ITEM_ID_ALL,name:"All groups",folder_id:M.id,folder_path:M.path},N=()=>(U.name=S.useI18n()?.Common.All_groups,U),se=()=>(U.name=S.useI18n()?.Keywords.Choose_group,U),Fe=(t,o,a)=>(t=[...t],o!==void 0&&(t=t.filter(n=>n.on==Number(o))),a&&a.id&&a.childsIds&&(t=t.filter(n=>n.folder_id===a.id||a.childsIds.includes(n.folder_id))),t),ue=t=>t.gen("/get/keywords_2/groups/",["id","name","folder_id","folder_path"]).changeParams({folder_id_depth:!0,limit:100}),Ue=t=>t.gen("/add/keywords_2/groups/"),qe={class:"top-groupSelector_groupItem"},We={key:0,class:"top-comment"},ze={key:1,class:"top-groupSelector_groupItemFolderPath"},Je=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 a=t,n=o,i=e.useModel(t,"groupId"),l=e.useModel(t,"group"),r=a.client&&!a.groups?ue(a.client):void 0,s=a.client?Ue(a.client):void 0,m=e.ref(null),f=e.ref(void 0),I=A.genFieldFilter("folder_id","EQUALS",[a.folder?.id??0]);r?.changeParams({project_id:a.projectId,folder_id_depth:!0,filters:[I]}),a.on!==void 0&&r?.params.filters?.push(A.genFieldFilter("on","EQUALS",[Number(a.on)]));const d=c=>{l.value=c,i.value=c.id};_({projectId:()=>a.projectId,folderId:()=>a.folder?.id,canSelectAll:()=>a.canSelectAll},c=>{if(c.projectId&&(r?.changeParams({project_id:a.projectId}),r?.setOptions({checkFingerprint:"TopGroupSelectorGroups:"+a.projectId})),c.folderId&&(I.values=[a.folder?.id??0],a.groups&&(f.value=Fe(a.groups,a.on,a.folder))),m.value?.resetCache(),(c.folderId?.old!==void 0||c.canSelectAll?.old!==void 0)&&i.value!==T.ITEM_ID_NEW){let u;a.autoselect==="first"&&(u=f.value?.[0],a.canSelectAll&&(u=e.reactive(N()))),(a.autoselect==="placeholder"||!u)&&(u=se()),d(u)}},{immediate:!0}),_({modelGroup:l,modelGroupId:i},async c=>{if(i.value!==l.value.id){if(c.modelGroup&&!c.modelGroupId){i.value=l.value.id;return}if(!(a.canAdd&&i.value===T.ITEM_ID_NEW)){if(a.groups){let u=f.value?.find(p=>p.id===i.value);if(!u&&a.canSelectAll&&(u=N()),u)d(u);else{const p=f.value?.[0];p&&!i.value?d(p):d(F)}}if(a.client&&!a.groups&&(i.value||i.value===T.ITEM_ID_ALL&&!a.canSelectAll)){const u=ue(a.client).changeParams({project_id:a.projectId,id:i.value,filters:[I]});u?.setOptions({checkFingerprint:"TopGroupSelectorFindGroup:"+a.projectId});const p=await u.call();if(!p.errors?.length&&!p.result)return;!p.errors&&p.result[0]?d(p.result[0]):d(F)}}}},{immediate:!0});const g=async c=>{if(a.canAdd!=="api"||!s)return;const u=l.value,p=await s.changeParams({project_id:a.projectId,names:[c.name],to_id:a.folder?.id??M.id,to_type:"in_folder_last"}).call();p.result?(d(p.result),n("addGroup",p.result)):d(u),m.value?.resetCache(!0)};return(c,u)=>(e.openBlock(),e.createBlock(T._sfc_main,{ref_key:"refSelector",ref:m,class:"top-groupSelector_group",modelValue:l.value,"onUpdate:modelValue":u[0]||(u[0]=p=>l.value=p),items:f.value??t.groups,searchType:"inline",icon:t.addIcon?"":void 0,api:t.groups?void 0:e.unref(r),apiSetSearchParams:(...p)=>e.unref(T.apiSetSearchParamsFilter)(...p,"name"),appendSearchToResult:!!t.canAdd,useAllItem:t.canSelectAll?e.unref(N)().name:!1,addChanger:t.addChanger,useCache:"",onAppendItem:g},{item:e.withCtx(({item:p})=>[e.createElementVNode("div",qe,[p.id===e.unref(T.ITEM_ID_NEW)?(e.openBlock(),e.createElementBlock("div",We,e.toDisplayString(c.$i18n.Common.Add)+": ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(p.name),1),p.folder_path&&t.showPath?(e.openBlock(),e.createElementBlock("span",ze,e.toDisplayString(p.folder_path),1)):e.createCommentVNode("",!0)])]),_:1},8,["modelValue","items","icon","api","apiSetSearchParams","appendSearchToResult","useAllItem","addChanger"]))}}),Ye={class:"top-groupSelector"},He=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:F},groupModifiers:{}}),emits:e.mergeModels(["update:groups"],["update:folderId","update:folder","update:groupId","update:group"]),setup(t,{emit:o}){const a=t,n=e.useModel(t,"folderId"),i=e.useModel(t,"folder"),l=e.useModel(t,"groupId"),r=e.useModel(t,"group"),s=o,m=Z(a.folders??{root:[M]},a.canSelectAllGroups);i.value=m.get(n.value);let f=a.groups?.find(d=>d.id===l.value);l.value||(f=a.groups?.[0]),a.canSelectAllGroups&&!f&&(f=N()),a.canSelectAllGroups&&!f&&(f=N()),(a.autoselect==="placeholder"||!f)&&(f=se()),f??=F,r.value=f;const I=d=>{let g;a.groups&&d&&(g=[...a.groups,d]),s("update:groups",g)};return(d,g)=>(e.openBlock(),e.createElementBlock("div",Ye,[t.showFolders?(e.openBlock(),e.createBlock(Re,{key:0,folderId:n.value,"onUpdate:folderId":g[0]||(g[0]=c=>n.value=c),folder:i.value,"onUpdate:folder":g[1]||(g[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(Je,{key:1,groupId:l.value,"onUpdate:groupId":g[2]||(g[2]=c=>l.value=c),group:r.value,"onUpdate:group":g[3]||(g[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:I},null,8,["groupId","group","projectId","folder","groups","on","canAdd","canSelectAll","autoselect","addChanger","showPath","addIcon","client"])):e.createCommentVNode("",!0)]))}}),Qe={class:"top-projectSelectorSubmenu_item"},Xe=["href","title","data-top-icon","data-right"],Ze={class:"top-projectSelectorSubmenu_item"},_e=["href"],et=e.defineComponent({__name:"submenu",props:{id:{},right:{},url:{}},setup(t){const o=t,a=S.useI18n();let n=[{href:`/project/keywords/${o.id}/`,title:a.Common.Menu_phrases,icon:"",right:"2"},{href:`/project/dynamics/${o.id}/`,title:a.Common.Menu_dynamics,icon:"",right:"1"},{href:`/project/snapshots/${o.id}/`,title:a.Common.Menu_snapshots,icon:"",right:"1"},{href:`/project/competitors/${o.id}/`,title:a.Common.Menu_competitors,icon:"",right:"1"},{href:`/project/analytics/${o.id}/`,title:a.Common.Menu_analytics,icon:"",right:"5"},{href:`/project/broker/${o.id}/`,title:a.Common.Menu_broker,icon:"",right:"6"},{href:`/project/audit/${o.id}/sitemap/`,title:a.Audit.Sitemap_gen,icon:"",right:"8"},{href:`/project/audit/${o.id}/audit/`,title:a.Common.Menu_audit,icon:"",right:"8"},{href:`//project/audit/${o.id}/indexing/`,title:a.Audit.Indexing,icon:"",right:"8"},{href:`/project/audit/${o.id}/watcher/`,title:a.Audit.Watcher,icon:"",right:"9"},{href:`/project/settings/${o.id}/`,title:a.Common.Menu_settings,icon:"",right:"2"}];const i=e.computed(()=>o.right.includes("0")?n.filter(l=>o.right[l.right]==="1"):n);return(l,r)=>{const s=e.resolveComponent("TopButton");return e.openBlock(),e.createBlock(e.unref(V._sfc_main),{class:"top-projectSelectorSubmenu",notch:!1,pos:"2"},{opener:e.withCtx(()=>[e.createVNode(s,{class:"top-projectSelectorSubmenu_opener","data-top-icon":"",color:"theme"})]),contentList:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,m=>(e.openBlock(),e.createElementBlock("li",Qe,[e.createElementVNode("a",{href:m.href,title:m.title,"data-top-icon":m.icon,"data-right":m.right},null,8,Xe)]))),256)),e.createElementVNode("li",Ze,[e.createElementVNode("a",{href:t.url,"data-top-icon":"",target:"_blank"},null,8,_e)])]),_:1})}}}),ee=t=>({id:null,name:t,listItemProps:{type:"title"}}),te={scheduledUpdate:!1,manualUpdate:!1,guestProjects:!1},tt=(t,o)=>{const a=[],n={scheduledUpdate:ee(S.useI18n().Projects.Scheduled_update),manualUpdate:ee(S.useI18n().Projects.Manual_update),guestProjects:ee(S.useI18n().Projects.Guest_projects)},i=o?{scheduledUpdate:!1,manualUpdate:!1,guestProjects:!1}:te;for(const l of t)!i.scheduledUpdate&&l.right?.startsWith("1")&&l.on>0&&(a.push(n.scheduledUpdate),i.scheduledUpdate=!0),!i.manualUpdate&&l.right?.startsWith("1")&&l.on===0&&(a.push(n.manualUpdate),i.manualUpdate=!0),!i.guestProjects&&l.right?.startsWith("0")&&l.on>=0&&(a.push(n.guestProjects),i.guestProjects=!0),a.push(l);return a},ot=(t,o)=>t.map(a=>({...a,listItemProps:{class:"top-projectSelector_item",href:o?me(Number(a.id)):void 0,title:a.name}})),nt=(t,o,a,n,i)=>{if(!t||t.length===0)return[];o&&(t=t.filter(r=>r.id!==o)),n&&Object.keys(te).forEach(r=>te[r]=!1);const l=ot(t,a);return tt(l,i)},at=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},me=t=>{const o=location.pathname.split("/");let a="project/dynamics/",n="";o[1]=="project"&&(a=o[1]+"/"+o[2]+"/"),["watcher","indexing","sitemap","audit","direct","adwords"].includes(o[4])&&(n=o[4]+"/");let i="/"+a+t+"/"+n;const l=at(location.hash);return i+=l,i},fe=t=>{let o=t.startsWith("http")?t:"http://"+t;return o=o.replace(/"/g,"%22"),o},ge=(t,o,a,n,i)=>{const l=t.gen("/get/projects_2/projects/",["id","user_id","name","url","on","right"]);return l.params={...i,filters:[A.genFieldFilter("on","GREATER_THAN_EQUALS",[0])],orders:[A.genFieldOrder("user_id","DESC",[a]),A.genFieldOrder("on","DESC"),A.genFieldOrder("favorite","DESC"),A.genFieldOrder("id","DESC")]},l.options.onApiLoaded=(r,s,m)=>{const f=s.data.limit===100&&s.data.filters.length===1&&s.data.offset===0,I=s.data.limit===100&&s.data.filters.length>1?!0:void 0;r.result=nt(r.result,o,n,f,I),m?.(r,s)},l},lt=t=>t.gen("/add/projects_2/projects/"),q="projects_total:",rt=1440*60*1e3,it=(t,o)=>{localStorage.setItem(q+t,JSON.stringify({value:o,expiresAt:Date.now()+rt}))},dt=t=>{const o=localStorage.getItem(q+t);if(!o)return null;const{value:a,expiresAt:n}=JSON.parse(o);return Date.now()>n?(localStorage.removeItem(q+t),null):a},pe=t=>{localStorage.removeItem(q+t)},ct={class:"top-projectSelector_itemText"},st={class:"top-projectSelector_itemName"},ut={class:"top-projectSelector_itemId"},mt={key:1},ft={key:0,class:"top-comment"},ve=1e3,gt=e.defineComponent({__name:"projectSelector",props:e.mergeModels({project:{},addLinksToProjects:{type:Boolean,default:!0},userId:{default:window.mo?.user?.id},excludeProjectId:{},placeholder:{},openerText:{},buttonProps:{},openerShortcut:{},client:{}},{project:{default:{id:T.ITEM_ID_NEW,name:""}},projectModifiers:{}}),emits:["update:project"],setup(t,{expose:o}){const a=S.useI18n(),n=t,i=e.computed(()=>n.placeholder??a.Projects.Select_project),l=e.computed(()=>n.openerText??a.Common.Projects),r=e.useModel(t,"project");r.value.name||(r.value.name=l.value);const s=()=>{c.value==="api"&&g.value?.resetCache(!0),I.value=void 0,pe(n.userId)};o({resetCache:s});const m=ge(n.client,n.excludeProjectId,n.userId,n.addLinksToProjects),f=lt(n.client),I=e.ref(),d=e.ref(dt(n.userId)),g=e.ref(null),c=e.computed(()=>{if(d.value)return d.value<ve?"static":"api"}),u=async()=>{const v=await ge(n.client,n.excludeProjectId,n.userId,n.addLinksToProjects,{limit:ve}).call();if(!v.errors)return v},p=async()=>{if(d.value)return;const x=await u();d.value=x?.total,c.value==="static"&&(I.value=x?.result),d.value&&it(n.userId,d.value)},b=async x=>{const v=await f.changeParams({url:x.name,name:x.name}).call();if(!v.errors){if(I.value&&c.value==="static"){const k={id:Number(v.result),user_id:n.userId,name:x.name,url:x.name,on:0,right:"11111111111111111111",listItemProps:{class:"top-projectSelector_item",href:n.addLinksToProjects?me(Number(v.result)):void 0,title:x.name}};I.value?.unshift(k),pe(n.userId)}c.value==="api"&&s()}},E=async()=>{if(I.value||c.value!=="static")return;const x=await u();I.value=x?.result};return e.onMounted(async()=>{await p(),r.value.name||(r.value.name=l.value)}),(x,v)=>{const k=e.resolveComponent("TopButton");return c.value?(e.openBlock(),e.createBlock(T._sfc_main,{key:0,ref_key:"refSelector",ref:g,class:"top-projectSelector",modelValue:r.value,"onUpdate:modelValue":v[1]||(v[1]=h=>r.value=h),items:I.value,title:x.$i18n.Projects.Search_projects,modificator:"projectSelector",placeholder:i.value,hasCloserBtn:"",api:c.value==="api"?e.unref(m):void 0,apiSetSearchParams:c.value==="api"?(...h)=>e.unref(T.apiSetSearchParamsFilter)(...h,"name"):void 0,useCache:"",appendSearchToResult:"",appendSearchToResultCond:e.unref(ne.validUrl),buttonProps:t.buttonProps,openerShortcut:t.openerShortcut,onAppendItem:b,onOpen:E},{item:e.withCtx(({item:h})=>[h.id?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",ct,[e.createElementVNode("span",st,e.toDisplayString(e.unref(xe.ellipsis)(h.name,25)),1),e.createElementVNode("span",ut," id "+e.toDisplayString(h.id),1)]),x.$core.state.isMobile?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(k,{key:0,class:"top-projectSelector_itemLink",href:e.unref(fe)(h.url),"data-top-icon":"",color:"theme",target:"_blank",onClick:v[0]||(v[0]=e.withModifiers(()=>{},["stop"]))},null,8,["href"])),e.createVNode(et,{id:h.id,right:h.right??void 0,url:e.unref(fe)(h.url)},null,8,["id","right","url"])],64)):(e.openBlock(),e.createElementBlock("div",mt,[e.unref(ne.validUrl)(h.name)?(e.openBlock(),e.createElementBlock("div",ft,e.toDisplayString(x.$i18n.Projects.Add_project)+": ",1)):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(h.name),1)]))]),_:1},8,["modelValue","items","title","placeholder","api","apiSetSearchParams","appendSearchToResultCond","buttonProps","openerShortcut"])):e.createCommentVNode("",!0)}}}),he=t=>"-"+t,L=t=>t[0]==="-"?t.substring(1):t,W=(t,o)=>{t=L(t);const a=o.find(n=>n.id===t);if(a)return a},pt=(t,o,a)=>{o||(o={id:t.id}),o.id=t.id,o.pos??="3",o.notch??=!0,o.posBy??="fixed";const n=Be.TopPopupWorker.genElPopupOpener("div",o);return n.classList.add("top-tagSelector"),t.useTopButton&&n.classList.add("top-tagSelector-useTopButton","top-button","top-color_theme","top-as-selector"),t.useTopButton||n.classList.add("top-tagSelector-custom"),t.mode==="filter"&&n.classList.add("top-tagSelector-filter"),t.mode==="setter"&&!t.filters&&n.classList.add("top-tagSelector-setter_single"),t.mode==="setter"&&t.filters&&n.classList.add("top-tagSelector-setter_several"),n.onclick=i=>{i.preventDefault(),i.stopPropagation(),n.onclick=null;const l=e.ref(t.modelValue),r={model:l,mode:t.mode,targetId:t.targetId,filters:t.filters,payload:t.payload};P.storage(n,"topTagSelectorTarget",r),delete n.dataset.topPopupDisabled,e.isRef(t.modelValue)||e.watch(l,()=>{t.modelValue=l.value,z(n,t,a)}),n.click()},e.isRef(t.modelValue)?e.watch(t.modelValue,()=>z(n,t,a)):P.storage(n,"topTagSelectorRender",i=>{t.modelValue=i;const l=P.storage(n,"topTagSelectorTarget");l&&(l.model.value=i),z(n,t,a)}),z(n,t,a),n},vt=(t,o)=>{P.storage(t,"topTagSelectorRender")?.(o)},z=(t,o,a)=>{const n=e.unref(o.modelValue);if(t.classList.toggle("top-tagSelector-selectedOne",!n.length||n.length===1),t.classList.toggle("top-tagSelector-toTwoLine",n.length>5),o.mode==="setter"&&o.filters){t.innerHTML=`<div>${a}</div>`;return}if(t.innerHTML="",!n.length&&o.mode==="filter"){const i=Ie({id:"all",colorId:"",name:S.useI18n().Common?.All_tags??"",state:""});t.append(i)}n.forEach(i=>{const l=Ie({id:L(i),colorId:W(i,o.tags)?.color_id??"",name:W(i,o.tags)?.name??"",state:L(i)===i?"selected":"excluded"});t.append(l)})},Ie=t=>{const o=document.createElement("div");return o.classList.add("top-tagSelector_tagIcon"),o.classList.toggle("top-tagSelector-active",!!t.state),o.classList.toggle("top-tagSelector-excluded",t.state==="excluded"),o.dataset.tag_id=t.id,o.dataset.tag_color_id=t.colorId,o.title=t.name,o},ht=[{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"}],It=["data-tag_id","data-tag_color_id","title"],J=e.defineComponent({__name:"tagIcon",props:{id:{},colorId:{},name:{},state:{}},setup(t){return(o,a)=>(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,It))}}),yt=["contenteditable","onKeydown"],ye=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 a=t,n=o,i=e.useModel(t,"name"),l=e.ref(null),r=e.computed(()=>navigator.userAgent.indexOf("Firefox")!=-1?{contenteditable:s.value,onpaste:g=>g.preventDefault()}:{}),s=e.ref(!1),m=async()=>{s.value=!0,await e.nextTick(),l.value?.focus()},f=()=>{const g=l.value?.innerText;if(!g)return I();l.value&&(l.value.innerText=g),s.value=!1,n("update:name",g)},I=async()=>{l.value&&(l.value.innerText=a.name),s.value=!1},d=g=>{if(s.value||a.disabled)return;let c="selected";a.canExclude&&(g.ctrlKey||g.metaKey)&&(c="excluded"),a.state==c&&(c=""),c===""&&n("unselect"),c==="selected"&&n("select"),c==="excluded"&&n("exclude")};return(g,c)=>(e.openBlock(),e.createBlock(V._sfc_main$2,{class:e.normalizeClass({"top-tagSelector_tagListItem":!0,"top-tagSelector_tagListItem-inEdit":s.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(J,{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:s.value?"plaintext-only":!1},r.value,{onKeydown:[e.withKeys(e.withModifiers(f,["stop"]),["enter"]),e.withKeys(e.withModifiers(I,["stop"]),["esc"])]}),e.toDisplayString(i.value),17,yt),t.editable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[s.value?(e.openBlock(),e.createElementBlock("span",{key:1,"data-top-icon":"",class:"top-tagSelector_edit",onClick:e.withModifiers(f,["stop"])})):(e.openBlock(),e.createElementBlock("span",{key:0,"data-top-icon":"",class:"top-tagSelector_edit",onClick:m}))],64)):e.createCommentVNode("",!0)]),_:1},8,["class"]))}}),St={key:1},Se=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,a=e.useModel(t,"modelValue"),n=o.useTopButton?S._sfc_main$1:"div",i=o.useTopButton?"html":"default",l={model:a,mode:o.mode,targetId:o.targetId,filters:o.filters,payload:o.payload};return(r,s)=>{const m=e.resolveDirective("top-data");return e.openBlock(),e.createBlock(V._sfc_main$1,{id:t.id},{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(n)),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":!a.value.length||a.value.length===1,"top-tagSelector-toTwoLine":a.value.length>5},color:"theme",styling:t.styling},r.$attrs),{[e.unref(i)]:e.withCtx(()=>[!a.value.length&&t.mode==="filter"?(e.openBlock(),e.createBlock(J,{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",St,[e.renderSlot(r.$slots,"default")])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(a.value,f=>(e.openBlock(),e.createBlock(J,{id:e.unref(L)(f),colorId:e.unref(W)(f,t.tags)?.color_id??"",name:e.unref(W)(f,t.tags)?.name??"",state:e.unref(L)(f)===f?"selected":"excluded"},null,8,["id","colorId","name","state"]))),256))]),_:2},1040,["class","styling"])),[[m,l,"topTagSelectorTarget"]])]),_:3},8,["id"])}}}),kt=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(ht)},tagsModifiers:{}}),emits:e.mergeModels(["selector","setter","tagsChanged"],["update:modelValue","update:tags"]),setup(t,{emit:o}){const a=S.useI18n(),n=t,i=e.useModel(t,"modelValue"),l=e.useModel(t,"tags"),r=o,s=S.debounce((v,k)=>{r(v,k)},n.emitDelay);n.singleMode&&!i.value.length&&(i.value=[l.value[0].id]);const m=n.id??"top-popup-id-"+Math.random(),f=e.ref("add"),I=()=>{const v=" "+a.Common.Tags?.toLowerCase(),k=new Map;return k.set("add",{value:"add",title:a.Common.Add+v}),k.set("replace",{value:"replace",title:a.Common.Replace+v}),k.set("delete",{value:"delete",title:a.Common.Delete+v}),k};let d=e.shallowRef({model:i,mode:"filter",targetId:void 0,filters:void 0,payload:void 0});e.watch(i,()=>{s("selector",i.value)});const g=e.computed(()=>{if(d.value.mode==="setter"&&n.maxTagsForSetter&&!d.value.filters)return d.value.model.value.length>=n.maxTagsForSetter}),c=v=>{if(v!=="all"){if(d.value.model.value.includes(v))return"selected";if(d.value.model.value.includes(he(v)))return"excluded"}return v==="all"&&!d.value.model.value.length?"selected":""},u=(v,k)=>{const h=he(v);let C=d.value.model.value.filter(w=>w!==v&&w!==h);k==="select"&&C.push(v),k==="exclude"&&C.push(h),d.value.mode==="setter"&&d.value.targetId!==void 0&&n.requiredForSetter&&(C.length||C.push("1"),C.length===2&&d.value.model.value.length===1&&d.value.model.value[0]==="1"&&(C=C.filter(w=>w!=="1"))),n.singleMode&&!d.value.filters&&(C.length||(C=d.value.model.value),C.length>1&&(C=[C[C.length-1]])),C.sort((w,Y)=>{if(!n.tags)return 0;const G=n.tags.findIndex(O=>O.id===w),D=n.tags.findIndex(O=>O.id===Y);return G-D}),d.value.model.value=C,d.value.mode==="setter"&&d.value.targetId!==void 0&&s("setter",{tagsIds:C,targetId:d.value.targetId,payload:d.value.payload})},p=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 k=l.value.length+1;l.value.push({id:String(k),name:v,color_id:String((k-1)%10+1)}),r("tagsChanged",l.value)},E=v=>{if(d.value=P.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(k,h){if(!l.value)return;const C=$(h.item).parent().find("[data-tag_id]"),w=[];C.each((Y,G)=>{if(!l.value)return;const D=$(G).attr("data-tag_id");w.push(D)}),l.value.sort((Y,G)=>{const D=w.findIndex(oe=>oe===Y.id),O=w.findIndex(oe=>oe===G.id);return D-O}),s("tagsChanged",l.value)}})},x=v=>{S.Core.$?.ui.sortable&&$(v.elPopup).data("ui-sortable")&&$(v.elPopup).sortable("destroy")};return(v,k)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(Se,{modelValue:i.value,"onUpdate:modelValue":k[0]||(k[0]=h=>i.value=h),id:e.unref(m),tags:l.value,styling:t.styling,mode:"filter",useTopButton:t.useTopButton},null,8,["modelValue","id","tags","styling","useTopButton"]),e.createVNode(V._sfc_main,{id:e.unref(m),class:e.normalizeClass(p.value),onOpen:k[4]||(k[4]=h=>E(h)),onClose:k[5]||(k[5]=h=>x(h)),"transition-duration":50},e.createSlots({contentList:e.withCtx(()=>[e.unref(d).mode==="filter"&&!t.singleMode?(e.openBlock(),e.createBlock(ye,{key:0,id:"all",colorId:"",name:v.$i18n.Common.All_tags??"",state:e.unref(d).model.value.length?"":"selected",onSelect:k[3]||(k[3]=h=>e.unref(d).model.value=[])},null,8,["name","state"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,h=>(e.openBlock(),e.createBlock(ye,{key:h.id,id:h.id,colorId:h.color_id,name:h.name,state:c(h.id),canExclude:e.unref(d).mode==="filter"&&!t.singleMode,editable:t.tagsEditable,disabled:g.value&&c(h.id)==="",onUnselect:C=>u(h.id,"unselect"),onSelect:C=>u(h.id,"select"),onExclude:C=>u(h.id,"exclude"),"onUpdate:name":C=>{h.name=C,e.unref(s)("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(V._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":k[1]||(k[1]=h=>f.value=h),options:I()},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:k[2]||(k[2]=h=>e.unref(s)("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))}});B.TopCompetitorSelector=je,B.TopGroupSelector=He,B.TopProjectSelector=gt,B.TopRegionSelector=De,B.TopTagSelector=kt,B.TopTagSelectorPopupOpener=Se,B.TopTagSelectorTagIcon=J,B.dialogRegionSelector=ce,B.findRegion=de,B.genElTopTagSelectorPopupOpener=pt,B.genSearcherByKey=X,B.renderElTopTagSelectorPopupOpener=vt,B.useItemsFromCompetitors=Me,Object.defineProperty(B,Symbol.toStringTag,{value:"Module"})}));
|
|
2
2
|
//# sourceMappingURL=project.amd.js.map
|