@topvisor/ui 1.4.0-TopGroupSelector.10 → 1.4.0-TopGroupSelector.12

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@topvisor/ui",
3
3
  "private": false,
4
- "version": "1.4.0-TopGroupSelector.10",
4
+ "version": "1.4.0-TopGroupSelector.12",
5
5
  "type": "module",
6
6
  "description": "Topvisor UI-kit Vue",
7
7
  "author": "Topvisor",
@@ -1,2 +1,2 @@
1
- define(["require","exports","vue","../.chunks/forms-CUSCBQu3.amd","../.chunks/popupHint.vue_vue_type_style_index_0_lang-DtiT6NE4.amd","../.chunks/policy.vue_vue_type_style_index_0_lang-DJOaMdBm.amd","../.chunks/utils-CzHUG_xz.amd","../utils/searchers.amd","../.chunks/core-BsPx05H9.amd","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-Dq9kWWMg.amd","../.chunks/field-Cvv0SRcJ.amd","../utils/dom.amd","../popup/worker.amd","../require/css.amd!../assets/project.css"],(function(se,B,e,y,V,C,fe,W,Je,Ye,H,A,ge){"use strict";if(typeof e>"u")var e=window.Vue;const me={class:"top-competitorSelector"},ve={class:"top-ellipsis1"},pe=e.defineComponent({__name:"competitorSelector",props:e.mergeModels({modelValue:{},items:{},showSelectAllItem:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const a=t,l=e.useModel(t,"modelValue"),o=e.computed(()=>{if(a.showSelectAllItem)return{icon:"",title:y.useI18n().Common.Select_all,value:"all",content:""}});return(d,n)=>(e.openBlock(),e.createElementBlock("div",me,[e.unref(y.Core).state.isMobile?(e.openBlock(),e.createBlock(V._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===l.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":l.value?.includes(r.value)}),"data-top-icon":r.icon,title:r.title,onClick:()=>l.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(C._sfc_main$1,{key:1,modelValue:l.value,"onUpdate:modelValue":n[0]||(n[0]=r=>l.value=r),items:t.items,isMultiple:!0,styling:"bar",canBeEmptyMultiple:!1,selectAllItem:o.value},null,8,["modelValue","items","selectAllItem"]))]))}}),he=(t,a)=>e.computed(()=>e.toValue(t).filter(d=>d.on>=0||d.id===a).map(d=>({value:d.id,title:d.url+` [${d.id}]`,icon:d.id===e.toValue(a)?"":"",content:d.name}))),M=-1,h=-2,O=-1,ye={0:"Yandex",1:"Google",4:"YouTube",5:"Bing",7:"Seznam",8:"AppStore",9:"GoogleStore",20:"Yandex.com",21:"Yandex.com.tr"},_={key:h,name:"--",index:h},ee={key:h,name:"--",regions:[_],regionByIndex:new Map([[h,_]])},R={key:h,name:"Autoselect",index:h},J={key:h,name:"Autoselect",regions:[R],regionByIndex:new Map([[h,R]])},te={countryCode:"00",depth:1,device:0,key:O,index:O,lang:"ru",name:"Without region"},Ie=()=>(R.name=y.useI18n().Common.Autoselect,R),Se=()=>(Ie(),J.name=y.useI18n().Common.Autoselect,console.log(J),J),ke=()=>(te.name=y.useI18n().Keywords.Without_region,te),Y=(t=!1,a=!1,l=[])=>{let o;return t?o=xe(l):o=oe(l),a&&o.set(h,Se()),o.size||o.set(h,ee),o},oe=(t,a=!0,l=[],o=!1)=>{const d=new Map;return t.forEach(n=>{if(!n.enabled||o&&typeof n.key=="number"&&n.key>1)return;const r={...n};r.regionByIndex=new Map,n.regions&&n.regions.forEach(c=>{if(a&&!c.enabled)return;const m={...c};r.regionByIndex.set(m.index,m)}),!r.regionByIndex.size&&l.length,(!n.regions||r.regionByIndex.size||l.length)&&typeof r.key=="number"&&d.set(r.key,r)}),l.forEach(n=>{if(d.has(n))return;const r={key:n,name:ye[n],regions:[],regionByIndex:new Map};d.set(r.key,r)}),d},xe=t=>{const a=oe(t,!1,[0,1],!0);if(a.has(2)){const l=a.get(2);l&&(l.regionByIndex=new Map)}return a.forEach(l=>{if(!l.regionByIndex)return;const o={...ke()};l.regionByIndex.set(o.index,o)}),a},le=(t,a,l=[])=>{const o=Y(t,!1,l);let d;return o.forEach(n=>{if(!(a.searcher_key!==void 0&&a.searcher_key!=n.key)&&n.regions&&(n.regions.forEach(r=>{if(!d&&!(a.key!==void 0&&a.key!=r.key)&&!(a.index!==void 0&&a.index!=r.index)&&!(!t&&(a.lang!==void 0&&a.lang!=r.lang||a.device!==void 0&&a.device!=r.device)))return r.searcher_key=n.key,d=r,!1}),d))return!1}),d},ne=fe.useAsyncTopDialog(()=>new Promise((t,a)=>se(["../.chunks/dialog_regionSelectorRegions-CZ8IX7la.amd"],t,a))),Be=(t,a)=>{const l=y.useI18n(),o=e.ref(a.value.keys().next().value??h),d=e.computed(()=>{const n=new Map;if(a.value.forEach(r=>{let c={value:r.key,title:r.name};t.addSearcherIcon&&(c.icon=W.getSearcherGIcon(r.key)),n.set(r.key,c)}),t.addCompare&&!n.has(h)){const r={value:"",title:"--------------------",disabled:!0};n.set(r.value,r);const c={value:M,title:l.Common.Compare};n.set(c.value,c)}return n});return{searcherKey:o,optionBySearcherKey:d}},Ce=(t,a)=>{const l=y.useI18n(),o=e.ref(h);t.modelValue.length===1&&(o.value=t.modelValue[0]),o.value===h&&(t.forFrequency?o.value=a.value?.regionByIndex.values().next().value?.key??h:o.value=a.value?.regionByIndex.keys().next().value??h);const d=e.computed(()=>{const n=new Map;return a.value.regionByIndex?.forEach(r=>{let c=r.name;if(t.forFrequency){const k={value:r.key,title:c};n.has(r.key)||n.set(r.key,k);return}r.device&&(c+=" ("+l.Common["Device_"+r.device]+")");const m=W.getLangLabel(a.value.key||0,r.lang??"");m&&(c+=" / "+m);const f={value:r.index,title:c,icon:r.device?W.getDeviceGIcon(r.device):void 0};n.set(r.index,f)}),n});return e.watch(d,(n,r)=>{if(t.onlySearcher||o.value!==void 0&&n.get(o.value))return;let c=n.keys().next().value;if(o.value===h||c===h){o.value=c;return}let m=r?.get(o.value)?.title||"",f=-1;for(const[k,i]of n.entries()){const v=i.title;if(typeof v!="string"||typeof k=="string")break;if(v===m){c=k;break}const u=new RegExp(` \\((${l.Common.Device_1}|${l.Common.Device_2})\\)`);let s=m,g=3;v.indexOf(s)===-1&&(s=m.replace(/^[^a-zа-я]/i,"").replace(u,""),g--),v.indexOf(s)===-1&&(s=m.replace(/ \/.*/,""),g--),v.indexOf(s)===-1&&(s=m.replace(/ \/.*/,""),s=s.replace(/^[^a-zа-я]/i,"").replace(u,""),g--),v.indexOf(s)!==-1&&(g<=f||(f=g,c=k))}o.value=c}),{regionIndex:o,optionByRegionIndex:d}},Te=(t,a,l)=>{const o=e.ref([]),d=()=>{if(t.onlySearcher&&a.value){o.value=Array.from(a.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(c=>l.value.has(c))),r.length||(r=Array.from(l.value)),o.value=[...r]},n=()=>{o.value.length?localStorage.setItem("ui:project:regionSelector:"+t.projectId+":regionsIndexes",JSON.stringify(o.value)):localStorage.removeItem("ui:project:regionSelector:"+t.projectId+":regionsIndexes")};return e.watch(o,()=>{n()}),t.addCompare&&d(),{regionsIndexes:o}},Me=t=>{const a=e.computed(()=>Y(t.forFrequency,t.autoRegion,t.searchers)),l=e.computed(()=>a.value.get(d.searcherKey.value)||ee),o=e.computed(()=>{const i=new Set;return a.value.forEach(v=>{v.regionByIndex.forEach(u=>{u.index!==O&&u.index!==h&&i.add(u.index)})}),i}),d=Be(t,a),n=Ce(t,l),r=Te(t,a,o);e.watch(a,()=>{if(t.onlySearcher?r.regionsIndexes.value=Array.from(a.value.keys()):r.regionsIndexes.value=r.regionsIndexes.value.filter(v=>o.value.has(v)),d.searcherKey.value===M)return;let i=a.value.keys().next().value;a.value.forEach(v=>{if(t.onlySearcher&&v.key===d.searcherKey.value){i=d.searcherKey.value;return}if(n.regionIndex.value&&v.regionByIndex?.has(n.regionIndex.value)&&(i=v.key),!t.onlySearcher){let u;i!==void 0&&(u=a.value.get(i)?.regionByIndex);const s=a.value.get(v.key)?.regionByIndex;u?.has(h)&&!s?.has(h)&&(i=v.key)}}),i!==void 0&&(d.searcherKey.value=i),n.regionIndex.value!==void 0&&!l.value?.regionByIndex?.has(n.regionIndex.value)&&(n.regionIndex.value=l.value?.regions?.keys().next().value)},{immediate:!0});const c=()=>{if(!(d.searcherKey.value===M||d.searcherKey.value===h))return d.searcherKey.value},m=()=>{if(t.onlySearcher||n.regionIndex.value===h)return;let i=n.regionIndex.value;if(t.forFrequency){const v=n.regionIndex.value;i=le(t.forFrequency,{searcher_key:c(),key:v},t.searchers)?.index}return i},f=()=>{const i=c();if(i!==void 0)return a.value.get(i)};return{selectSearcher:d,selectRegion:n,compare:r,searcherByKey:a,allRegionsIndexes:o,getSearcher:f,getRegion:()=>{const i=m();if(i!==void 0)return f()?.regionByIndex?.get(i)}}},we=e.defineComponent({__name:"regionSelector",props:e.mergeModels({projectId:{},searchers:{default:()=>[]},modelValue:{},modelValueSingle:{},addCompare:{type:Boolean},forFrequency:{type:Boolean},autoRegion:{type:Boolean},onlySearcher:{type:Boolean},addChanger:{type:Boolean,default:!0},addSearcherIcon:{type:Boolean,default:!0},addRegionIcon:{type:Boolean,default:!0}},{modelValue:{required:!0},modelModifiers:{},modelValueSingle:{},modelValueSingleModifiers:{}}),emits:["update:modelValue","update:modelValueSingle"],setup(t,{expose:a}){const l=t,o=e.useModel(t,"modelValue"),d=e.useModel(t,"modelValueSingle"),{selectSearcher:n,selectRegion:r,compare:c,searcherByKey:m,allRegionsIndexes:f,getSearcher:k,getRegion:i}=Me(l),v=()=>{const u=[];m.value.forEach(s=>{s.enabled&&s.regions.forEach(g=>{g.enabled&&u.push(g)})}),ne.open("regions",{regions:u,regionsIndexes:c.regionsIndexes.value,"@update:regionsIndexes":s=>c.regionsIndexes.value=s})};return e.watch([r.regionIndex,n.searcherKey,c.regionsIndexes],()=>{if(n.searcherKey.value===M&&c.regionsIndexes.value.length){if(JSON.stringify(o.value)===JSON.stringify(c.regionsIndexes.value))return;o.value=[...c.regionsIndexes.value]}else l.onlySearcher?(o.value=[n.searcherKey.value],n.searcherKey.value===h&&!l.autoRegion&&(o.value.length=0)):(o.value=[r.regionIndex.value],r.regionIndex.value===h&&!l.autoRegion&&(o.value.length=0));!l.onlySearcher&&!f.value.size&&(n.searcherKey.value=h)}),d.value&&e.watch(d,()=>{d.value&&(o.value=[d.value])},{immediate:!0}),e.watch(o,()=>{if(o.value[0]&&(d.value=o.value[0]),l.onlySearcher){if(!o.value.length||o.value.length===1&&!m.value.has(o.value[0])||o.value.length===1&&o.value[0]===h&&!l.autoRegion){let u=m.value.keys().next().value;u===h&&!l.autoRegion&&(u=void 0,d.value=h),u!==void 0?o.value=[u]:o.value.length=0;return}if(o.value.length>1&&JSON.stringify(o.value)!==JSON.stringify(c.regionsIndexes.value)){o.value=[...c.regionsIndexes.value];return}}else{let u=[...new Set(o.value)],s=m.value.values().next().value?.regionByIndex?.keys().next().value;if(l.forFrequency&&(s=m.value.values().next().value?.regionByIndex?.values().next().value?.key),s===h&&!l.autoRegion&&(s=void 0,d.value=h),!u.length)s!==void 0&&u.push(s);else if(u.length===1){let g=f.value;l.forFrequency&&(g=new Set,m.value.forEach(U=>{U.regionByIndex.forEach(N=>{N.index!==O&&N.index!==h&&g.add(N.key)})})),g.has(u[0])||(u=[],s!==void 0&&u.push(s))}else u=u.filter(g=>f.value.has(g)),!u.length&&s!==void 0&&u.push(s);if(JSON.stringify(o.value)!==JSON.stringify(u)){o.value=u;return}}if(!(o.value.length===1&&o.value[0]===(l.onlySearcher?n.searcherKey.value:r.regionIndex.value)))if(l.onlySearcher){if(o.value.length===1){n.searcherKey.value=o.value[0];return}n.searcherKey.value=M;return}else{if(!o.value.length)return;if(o.value.length===1&&n.searcherKey.value!==M){r.regionIndex.value=o.value[0];let u;for(const s of m.value.values()){for(const g of s.regionByIndex.values())if((l.forFrequency?g.key:g.index)===r.regionIndex.value){u=s.key;break}if(u!==void 0)break}u!==void 0&&(n.searcherKey.value=u)}else n.searcherKey.value=M,c.regionsIndexes.value=[...o.value]}},{immediate:!0}),a({getSearcher:k,getRegion:i}),(u,s)=>(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(n).optionBySearcherKey.value,modelValue:e.unref(n).searcherKey.value,"onUpdate:modelValue":s[0]||(s[0]=g=>e.unref(n).searcherKey.value=g),name:"searcher_key",addChanger:t.addChanger},null,8,["options","modelValue","addChanger"]),!t.onlySearcher&&e.unref(n).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":s[1]||(s[1]=g=>e.unref(r).regionIndex.value=g),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(n).searcherKey.value===e.unref(M)?(e.openBlock(),e.createBlock(y._sfc_main$1,{key:1,name:"compare",onClick:v,"data-count-compare-regions-indexes":e.unref(c).regionsIndexes.value.length},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.$i18n.Common.Selected_regions),1)]),_:1},8,["data-count-compare-regions-indexes"])):e.createCommentVNode("",!0)],2))}}),w={id:0,name:"/",path:"/"};function Ve(t){return t?y.useI18n()?.Common.All_folders:"/ ("+y.useI18n()?.Keywords.Root_folder+")"}const Q=(t,a,l=new Map,o={id:"root"},d=0)=>(o.childsIds=[],o.id&&(o.countAllGroupsActive=o.count_groups_active),t[o.id]&&t[o.id].forEach(n=>{n={...n},o.childsIds.push(n.id),n.id===0&&(n.name=Ve(a));const r=d>1?"-".repeat(d-1)+" ":"";r&&!n.name.startsWith(r)&&(n.name=r+n.name),l.set(n.id,n),Q(t,a,l,n,d+1),o.childsIds=o.childsIds.concat(n.childsIds),o.id&&n.count_groups_active&&(o.countAllGroupsActive+=n.count_groups_active)}),l),Ae=t=>t.gen("/get/keywords_2/folders/",["id","parent_id","name","path"]).changeParams({orders:["ord_path"],limit:100});function X(t,a,l){const o=Object.keys(t),d=o.map(n=>t[n]);return e.watch(d,(n,r,c)=>{const m={};n.forEach((f,k)=>{if(!Object.is(f,r[k])){const i=o[k];m[i]={old:r[k],new:f}}}),Object.keys(m).length&&a(m,c)},l)}const Ee=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:w},folderModifiers:{}}),emits:["update:folderId","update:folder"],setup(t){const a=t,l=e.useModel(t,"folderId"),o=e.useModel(t,"folder"),d=a.client&&!a.folders?Ae(a.client):void 0,n=e.ref(null);e.watch(()=>a.projectId,()=>{d?.changeParams({project_id:a.projectId}),d?.setOptions({checkFingerprint:"TopGroupSelectorFolders:"+a.projectId}),n.value?.resetCache()},{immediate:!0});const r=e.computed(()=>Q(a.folders??{root:[w]},a.canSelectAll));return X({modelFolder:o,modelFolderId:l},async c=>{if(l.value===o.value.id)return;if(c.modelFolder&&!c.modelFolderId){l.value=o.value.id;return}let m=r.value.get(a.folderId);m||(m=w),o.value=m,l.value=m.id},{immediate:!0}),(c,m)=>(e.openBlock(),e.createBlock(C._sfc_main,{class:"top-groupSelector_folder",modelValue:o.value,"onUpdate:modelValue":m[0]||(m[0]=f=>o.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(d),apiSetSearchParams:(...f)=>e.unref(C.apiSetSearchParamsFilter)(...f,"name"),addChanger:t.addChanger,useCache:""},null,8,["modelValue","items","icon","api","apiSetSearchParams","addChanger"]))}}),j={id:-1,name:"--",folder_id:w.id,folder_path:w.path},D={id:C.ITEM_ID_ALL,name:"All groups",folder_id:w.id,folder_path:w.path},E=()=>(D.name=y.useI18n()?.Common.All_groups,D),ae=()=>(D.name=y.useI18n()?.Keywords.Choose_group,D),be=(t,a,l)=>(t=[...t],a!==void 0&&(t=t.filter(o=>o.on==Number(a))),l&&l.id&&l.childsIds&&(t=t.filter(o=>o.folder_id===l.id||l.childsIds.includes(o.folder_id))),t),re=t=>t.gen("/get/keywords_2/groups/",["id","name","folder_id","folder_path"]).changeParams({folder_id_depth:!0,limit:100}),$e=t=>t.gen("/add/keywords_2/groups/"),Ne={class:"top-groupSelector_groupItem"},Ge={key:0,class:"top-comment"},Ke={key:1,class:"top-groupSelector_groupItemFolderPath"},Le=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},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:a}){const l=t,o=a,d=e.useModel(t,"groupId"),n=e.useModel(t,"group"),r=l.client&&!l.groups?re(l.client):void 0,c=l.client?$e(l.client):void 0,m=e.ref(null),f=e.ref(void 0),k=H.genFieldFilter("folder_id","EQUALS",[l.folder?.id??0]);r?.changeParams({project_id:l.projectId,filters:[k]}),l.on!==void 0&&r?.params.filters?.push(H.genFieldFilter("on","EQUALS",[l.on]));const i=u=>{n.value=u,d.value=u.id};X({projectId:()=>l.projectId,folderId:()=>l.folder?.id,canSelectAll:()=>l.canSelectAll},u=>{if(u.projectId&&(r?.changeParams({project_id:l.projectId}),r?.setOptions({checkFingerprint:"TopGroupSelectorGroups:"+l.projectId})),u.folderId&&(k.values=[l.folder?.id??0],l.groups&&(f.value=be(l.groups,l.on,l.folder))),m.value?.resetCache(),(u.folderId?.old!==void 0||u.canSelectAll?.old!==void 0)&&d.value!==C.ITEM_ID_NEW){let s;l.autoselect==="first"&&(s=f.value?.[0],l.canSelectAll&&(s=e.reactive(E()))),(l.autoselect==="placeholder"||!s)&&(s=ae()),i(s)}},{immediate:!0}),X({modelGroup:n,modelGroupId:d},async u=>{if(d.value!==n.value.id){if(u.modelGroup&&!u.modelGroupId){d.value=n.value.id;return}if(!(l.canAdd&&d.value===C.ITEM_ID_NEW)){if(l.groups){let s=f.value?.find(g=>g.id===d.value);if(!s&&l.canSelectAll&&(s=E()),s)i(s);else{const g=f.value?.[0];g&&!d.value?i(g):i(j)}}if(l.client&&!l.groups&&(d.value||d.value===C.ITEM_ID_ALL&&!l.canSelectAll)){const s=re(l.client).changeParams({project_id:l.projectId,id:d.value,filters:[k]});s?.setOptions({checkFingerprint:"TopGroupSelectorFindGroup:"+l.projectId});const g=await s.call();if(!g.errors?.length&&!g.result)return;!g.errors&&g.result[0]?i(g.result[0]):i(j)}}}},{immediate:!0});const v=async u=>{if(l.canAdd!=="api"||!c)return;const s=n.value,g=await c.changeParams({project_id:l.projectId,names:[u.name],to_id:l.folder?.id??w.id,to_type:"in_folder_last"}).call();g.result?(i(g.result),o("addGroup",g.result)):i(s),m.value?.resetCache(!0)};return(u,s)=>(e.openBlock(),e.createBlock(C._sfc_main,{ref_key:"refSelector",ref:m,class:"top-groupSelector_group",modelValue:n.value,"onUpdate:modelValue":s[0]||(s[0]=g=>n.value=g),items:f.value??t.groups,searchType:"inline",icon:t.addIcon?"":void 0,api:t.groups?void 0:e.unref(r),apiSetSearchParams:(...g)=>e.unref(C.apiSetSearchParamsFilter)(...g,"name"),appendSearchToResult:!!t.canAdd,useAllItem:t.canSelectAll?e.unref(E)().name:!1,addChanger:t.addChanger,useCache:"",onAppendItem:v},{item:e.withCtx(({item:g})=>[e.createElementVNode("div",Ne,[g.id===e.unref(C.ITEM_ID_NEW)?(e.openBlock(),e.createElementBlock("div",Ge,e.toDisplayString(u.$i18n.Common.Add)+": ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(g.name),1),g.folder_path?(e.openBlock(),e.createElementBlock("span",Ke,e.toDisplayString(g.folder_path),1)):e.createCommentVNode("",!0)])]),_:1},8,["modelValue","items","icon","api","apiSetSearchParams","appendSearchToResult","useAllItem","addChanger"]))}}),Oe={class:"top-groupSelector"},Re=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:j},groupModifiers:{}}),emits:e.mergeModels(["update:groups"],["update:folderId","update:folder","update:groupId","update:group"]),setup(t,{emit:a}){const l=t,o=e.useModel(t,"folderId"),d=e.useModel(t,"folder"),n=e.useModel(t,"groupId"),r=e.useModel(t,"group"),c=a,m=Q(l.folders??{root:[w]},l.canSelectAllGroups);d.value=m.get(o.value);let f=l.groups?.find(i=>i.id===n.value);n.value||(f=l.groups?.[0]),l.canSelectAllGroups&&!f&&(f=E()),l.canSelectAllGroups&&!f&&(f=E()),(l.autoselect==="placeholder"||!f)&&(f=ae()),f??=j,r.value=f;const k=i=>{let v;l.groups&&i&&(v=[...l.groups,i]),c("update:groups",v)};return(i,v)=>(e.openBlock(),e.createElementBlock("div",Oe,[t.showFolders?(e.openBlock(),e.createBlock(Ee,{key:0,folderId:o.value,"onUpdate:folderId":v[0]||(v[0]=u=>o.value=u),folder:d.value,"onUpdate:folder":v[1]||(v[1]=u=>d.value=u),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(Le,{key:1,groupId:n.value,"onUpdate:groupId":v[2]||(v[2]=u=>n.value=u),group:r.value,"onUpdate:group":v[3]||(v[3]=u=>r.value=u),projectId:t.projectId,folder:d.value,groups:t.groups,on:t.on,canAdd:t.canAddGroup,canSelectAll:t.canSelectAllGroups,autoselect:t.autoselect,addChanger:t.addChanger,addIcon:t.addIcon,client:t.client,onAddGroup:k},null,8,["groupId","group","projectId","folder","groups","on","canAdd","canSelectAll","autoselect","addChanger","addIcon","client"])):e.createCommentVNode("",!0)]))}}),de=t=>"-"+t,b=t=>t[0]==="-"?t.substring(1):t,P=(t,a)=>{t=b(t);const l=a.find(o=>o.id===t);if(l)return l},je=(t,a,l)=>{a||(a={id:t.id}),a.id=t.id,a.pos??="3",a.notch??=!0,a.posBy??="fixed";const o=ge.TopPopupWorker.genElPopupOpener("div",a);return o.classList.add("top-tagSelector"),t.useTopButton&&o.classList.add("top-tagSelector-useTopButton","top-button","top-color_theme","top-as-selector"),t.useTopButton||o.classList.add("top-tagSelector-custom"),t.mode==="filter"&&o.classList.add("top-tagSelector-filter"),t.mode==="setter"&&!t.filters&&o.classList.add("top-tagSelector-setter_single"),t.mode==="setter"&&t.filters&&o.classList.add("top-tagSelector-setter_several"),o.onclick=d=>{d.preventDefault(),d.stopPropagation(),o.onclick=null;const n=e.ref(t.modelValue),r={model:n,mode:t.mode,targetId:t.targetId,filters:t.filters,payload:t.payload};A.storage(o,"topTagSelectorTarget",r),delete o.dataset.topPopupDisabled,e.isRef(t.modelValue)||e.watch(n,()=>{t.modelValue=n.value,F(o,t,l)}),o.click()},e.isRef(t.modelValue)?e.watch(t.modelValue,()=>F(o,t,l)):A.storage(o,"topTagSelectorRender",d=>{t.modelValue=d;const n=A.storage(o,"topTagSelectorTarget");n&&(n.model.value=d),F(o,t,l)}),F(o,t,l),o},De=(t,a)=>{A.storage(t,"topTagSelectorRender")?.(a)},F=(t,a,l)=>{const o=e.unref(a.modelValue);if(t.classList.toggle("top-tagSelector-selectedOne",!o.length||o.length===1),t.classList.toggle("top-tagSelector-toTwoLine",o.length>5),a.mode==="setter"&&a.filters){t.innerHTML=`<div>${l}</div>`;return}if(t.innerHTML="",!o.length&&a.mode==="filter"){const d=ie({id:"all",colorId:"",name:y.useI18n().Common?.All_tags??"",state:""});t.append(d)}o.forEach(d=>{const n=ie({id:b(d),colorId:P(d,a.tags)?.color_id??"",name:P(d,a.tags)?.name??"",state:b(d)===d?"selected":"excluded"});t.append(n)})},ie=t=>{const a=document.createElement("div");return a.classList.add("top-tagSelector_tagIcon"),a.classList.toggle("top-tagSelector-active",!!t.state),a.classList.toggle("top-tagSelector-excluded",t.state==="excluded"),a.dataset.tag_id=t.id,a.dataset.tag_color_id=t.colorId,a.title=t.name,a},Pe=[{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"}],Fe=["data-tag_id","data-tag_color_id","title"],q=e.defineComponent({__name:"tagIcon",props:{id:{},colorId:{},name:{},state:{}},setup(t){return(a,l)=>(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,Fe))}}),qe=["contenteditable","onKeydown"],ue=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:a}){const l=t,o=a,d=e.useModel(t,"name"),n=e.ref(null),r=e.computed(()=>navigator.userAgent.indexOf("Firefox")!=-1?{contenteditable:c.value,onpaste:v=>v.preventDefault()}:{}),c=e.ref(!1),m=async()=>{c.value=!0,await e.nextTick(),n.value?.focus()},f=()=>{const v=n.value?.innerText;if(!v)return k();n.value&&(n.value.innerText=v),c.value=!1,o("update:name",v)},k=async()=>{n.value&&(n.value.innerText=l.name),c.value=!1},i=v=>{if(c.value||l.disabled)return;let u="selected";l.canExclude&&(v.ctrlKey||v.metaKey)&&(u="excluded"),l.state==u&&(u=""),u===""&&o("unselect"),u==="selected"&&o("select"),u==="excluded"&&o("exclude")};return(v,u)=>(e.openBlock(),e.createBlock(V._sfc_main$2,{class:e.normalizeClass({"top-tagSelector_tagListItem":!0,"top-tagSelector_tagListItem-inEdit":c.value,"top-tagSelector_tagListItem-disabled":t.disabled,"top-tagSelector_tagListItem-canExclude":t.canExclude,"top-tagSelector-active":!!t.state,"top-tagSelector-excluded":t.state==="excluded"}),onClick:e.withModifiers(i,["stop"])},{default:e.withCtx(()=>[e.createVNode(q,{id:t.id,name:d.value,colorId:t.colorId,state:t.state},null,8,["id","name","colorId","state"]),e.createElementVNode("span",e.mergeProps({ref_key:"elName",ref:n,class:"top-tagSelector_tagListItemName",contenteditable:c.value?"plaintext-only":!1},r.value,{onKeydown:[e.withKeys(e.withModifiers(f,["stop"]),["enter"]),e.withKeys(e.withModifiers(k,["stop"]),["esc"])]}),e.toDisplayString(d.value),17,qe),t.editable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[c.value?(e.openBlock(),e.createElementBlock("span",{key:1,"data-top-icon":"",class:"top-tagSelector_edit",onClick:e.withModifiers(f,["stop"])})):(e.openBlock(),e.createElementBlock("span",{key:0,"data-top-icon":"",class:"top-tagSelector_edit",onClick:m}))],64)):e.createCommentVNode("",!0)]),_:1},8,["class"]))}}),Ue={key:1},ce=e.defineComponent({inheritAttrs:!1,__name:"popupOpener",props:e.mergeModels({modelValue:{},id:{},tags:{},mode:{},targetId:{},filters:{},useTopButton:{type:Boolean},payload:{},styling:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const a=t,l=e.useModel(t,"modelValue"),o=a.useTopButton?y._sfc_main$1:"div",d=a.useTopButton?"html":"default",n={model:l,mode:a.mode,targetId:a.targetId,filters:a.filters,payload:a.payload};return(r,c)=>{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(o)),e.mergeProps({class:{"top-tagSelector":!0,"top-tagSelector-useTopButton":a.useTopButton,"top-tagSelector-custom":!a.useTopButton,"top-as-selector":a.useTopButton,"top-tagSelector-filter":a.mode==="filter","top-tagSelector-setter_single":a.mode==="setter"&&!t.filters,"top-tagSelector-setter_several":a.mode==="setter"&&t.filters,"top-tagSelector-selectedOne":!l.value.length||l.value.length===1,"top-tagSelector-toTwoLine":l.value.length>5},color:"theme",styling:t.styling},r.$attrs),{[e.unref(d)]:e.withCtx(()=>[!l.value.length&&t.mode==="filter"?(e.openBlock(),e.createBlock(q,{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",Ue,[e.renderSlot(r.$slots,"default")])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(l.value,f=>(e.openBlock(),e.createBlock(q,{id:e.unref(b)(f),colorId:e.unref(P)(f,t.tags)?.color_id??"",name:e.unref(P)(f,t.tags)?.name??"",state:e.unref(b)(f)===f?"selected":"excluded"},null,8,["id","colorId","name","state"]))),256))]),_:2},1040,["class","styling"])),[[m,n,"topTagSelectorTarget"]])]),_:3},8,["id"])}}}),ze=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(Pe)},tagsModifiers:{}}),emits:e.mergeModels(["selector","setter","tagsChanged"],["update:modelValue","update:tags"]),setup(t,{emit:a}){const l=y.useI18n(),o=t,d=e.useModel(t,"modelValue"),n=e.useModel(t,"tags"),r=a,c=y.debounce((p,I)=>{r(p,I)},o.emitDelay);o.singleMode&&!d.value.length&&(d.value=[n.value[0].id]);const m=o.id??"top-popup-id-"+Math.random(),f=e.ref("add"),k=()=>{const p=" "+l.Common.Tags?.toLowerCase(),I=new Map;return I.set("add",{value:"add",title:l.Common.Add+p}),I.set("replace",{value:"replace",title:l.Common.Replace+p}),I.set("delete",{value:"delete",title:l.Common.Delete+p}),I};let i=e.shallowRef({model:d,mode:"filter",targetId:void 0,filters:void 0,payload:void 0});e.watch(d,()=>{c("selector",d.value)});const v=e.computed(()=>{if(i.value.mode==="setter"&&o.maxTagsForSetter&&!i.value.filters)return i.value.model.value.length>=o.maxTagsForSetter}),u=p=>{if(p!=="all"){if(i.value.model.value.includes(p))return"selected";if(i.value.model.value.includes(de(p)))return"excluded"}return p==="all"&&!i.value.model.value.length?"selected":""},s=(p,I)=>{const S=de(p);let x=i.value.model.value.filter(T=>T!==p&&T!==S);I==="select"&&x.push(p),I==="exclude"&&x.push(S),i.value.mode==="setter"&&i.value.targetId!==void 0&&o.requiredForSetter&&(x.length||x.push("1"),x.length===2&&i.value.model.value.length===1&&i.value.model.value[0]==="1"&&(x=x.filter(T=>T!=="1"))),o.singleMode&&!i.value.filters&&(x.length||(x=i.value.model.value),x.length>1&&(x=[x[x.length-1]])),x.sort((T,z)=>{if(!o.tags)return 0;const G=o.tags.findIndex(L=>L.id===T),K=o.tags.findIndex(L=>L.id===z);return G-K}),i.value.model.value=x,i.value.mode==="setter"&&i.value.targetId!==void 0&&c("setter",{tagsIds:x,targetId:i.value.targetId,payload:i.value.payload})},g=e.computed(()=>{let p="top-tagSelector_popup";return i.value.mode==="filter"&&(p+=" top-tagSelector_popup-filter"),i.value.mode==="setter"&&(p+=" top-tagSelector_popup-setter"),p}),U=()=>{const p=prompt("","New tag");if(!p||p==="New tag")return;const I=n.value.length+1;n.value.push({id:String(I),name:p,color_id:String((I-1)%10+1)}),r("tagsChanged",n.value)},N=p=>{if(i.value=A.storage(p.elPopupOpener,"topTagSelectorTarget"),!i.value)throw new Error("Open popup TopTagSelector required v-data:topTagSelectorTarget");if(i.value.filters&&(f.value="add",i.value.model.value=[]),!y.Core.$?.ui.sortable){console.info("Для работы сортировки требуется глобальная загрузка jQuery UI Sortable");return}!y.Core.state.isMobile&&!y.Core.state.isMobileUA&&n.value&&$(p.elPopup).sortable({items:'li:has([data-tag_id]:not([data-tag_id="all"]))',cancel:'[contenteditable="plaintext-only"], [contenteditable="true"]',distance:10,stop:function(I,S){if(!n.value)return;const x=$(S.item).parent().find("[data-tag_id]"),T=[];x.each((z,G)=>{if(!n.value)return;const K=$(G).attr("data-tag_id");T.push(K)}),n.value.sort((z,G)=>{const K=T.findIndex(Z=>Z===z.id),L=T.findIndex(Z=>Z===G.id);return K-L}),c("tagsChanged",n.value)}})},We=p=>{y.Core.$?.ui.sortable&&$(p.elPopup).data("ui-sortable")&&$(p.elPopup).sortable("destroy")};return(p,I)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(ce,{modelValue:d.value,"onUpdate:modelValue":I[0]||(I[0]=S=>d.value=S),id:e.unref(m),tags:n.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(g.value),onOpen:I[4]||(I[4]=S=>N(S)),onClose:I[5]||(I[5]=S=>We(S)),"transition-duration":50},e.createSlots({contentList:e.withCtx(()=>[e.unref(i).mode==="filter"&&!t.singleMode?(e.openBlock(),e.createBlock(ue,{key:0,id:"all",colorId:"",name:p.$i18n.Common.All_tags??"",state:e.unref(i).model.value.length?"":"selected",onSelect:I[3]||(I[3]=S=>e.unref(i).model.value=[])},null,8,["name","state"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,S=>(e.openBlock(),e.createBlock(ue,{key:S.id,id:S.id,colorId:S.color_id,name:S.name,state:u(S.id),canExclude:e.unref(i).mode==="filter"&&!t.singleMode,editable:t.tagsEditable,disabled:v.value&&u(S.id)==="",onUnselect:x=>s(S.id,"unselect"),onSelect:x=>s(S.id,"select"),onExclude:x=>s(S.id,"exclude"),"onUpdate:name":x=>{S.name=x,e.unref(c)("tagsChanged",n.value)}},null,8,["id","colorId","name","state","canExclude","editable","disabled","onUnselect","onSelect","onExclude","onUpdate:name"]))),128)),t.tagsEditable&&n.value.length<t.tagsMax&&n.value.length<20?(e.openBlock(),e.createBlock(V._sfc_main$2,{key:1,"data-top-icon":"",onClick:e.withModifiers(U,["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.$i18n.Common.Add),1)]),_:1})):e.createCommentVNode("",!0)]),_:2},[e.unref(i).mode==="setter"&&e.unref(i).filters?{name:"header",fn:e.withCtx(()=>[e.createVNode(y._sfc_main$10,{modelValue:f.value,"onUpdate:modelValue":I[1]||(I[1]=S=>f.value=S),options:k()},null,8,["modelValue","options"])]),key:"0"}:void 0,e.unref(i).mode==="setter"&&e.unref(i).filters?{name:"footer",fn:e.withCtx(()=>[e.createVNode(y._sfc_main$1,{color:"theme"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.$i18n.Common.Cancel),1)]),_:1}),e.createVNode(y._sfc_main$1,{onClick:I[2]||(I[2]=S=>e.unref(c)("setter",{tagsIds:e.unref(i).model.value,filters:e.unref(i).filters,filtersAction:f.value,payload:e.unref(i).payload}))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.value==="add"?p.$i18n.Common.Add:"")+" "+e.toDisplayString(f.value==="replace"?p.$i18n.Common.Replace:"")+" "+e.toDisplayString(f.value==="delete"?p.$i18n.Common.Delete:""),1)]),_:1})]),key:"1"}:void 0]),1032,["id","class"])],64))}});B.TopCompetitorSelector=pe,B.TopGroupSelector=Re,B.TopRegionSelector=we,B.TopTagSelector=ze,B.TopTagSelectorPopupOpener=ce,B.TopTagSelectorTagIcon=q,B.dialogRegionSelector=ne,B.findRegion=le,B.genElTopTagSelectorPopupOpener=je,B.genSearcherByKey=Y,B.renderElTopTagSelectorPopupOpener=De,B.useItemsFromCompetitors=he,Object.defineProperty(B,Symbol.toStringTag,{value:"Module"})}));
1
+ define(["require","exports","vue","../.chunks/forms-CUSCBQu3.amd","../.chunks/popupHint.vue_vue_type_style_index_0_lang-DtiT6NE4.amd","../.chunks/policy.vue_vue_type_style_index_0_lang-DJOaMdBm.amd","../.chunks/utils-CzHUG_xz.amd","../utils/searchers.amd","../.chunks/core-BsPx05H9.amd","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-Dq9kWWMg.amd","../.chunks/field-Cvv0SRcJ.amd","../utils/dom.amd","../popup/worker.amd","../require/css.amd!../assets/project.css"],(function(se,B,e,y,V,C,fe,W,Je,Ye,H,A,ge){"use strict";if(typeof e>"u")var e=window.Vue;const me={class:"top-competitorSelector"},ve={class:"top-ellipsis1"},pe=e.defineComponent({__name:"competitorSelector",props:e.mergeModels({modelValue:{},items:{},showSelectAllItem:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const a=t,l=e.useModel(t,"modelValue"),o=e.computed(()=>{if(a.showSelectAllItem)return{icon:"",title:y.useI18n().Common.Select_all,value:"all",content:""}});return(d,n)=>(e.openBlock(),e.createElementBlock("div",me,[e.unref(y.Core).state.isMobile?(e.openBlock(),e.createBlock(V._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===l.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":l.value?.includes(r.value)}),"data-top-icon":r.icon,title:r.title,onClick:()=>l.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(C._sfc_main$1,{key:1,modelValue:l.value,"onUpdate:modelValue":n[0]||(n[0]=r=>l.value=r),items:t.items,isMultiple:!0,styling:"bar",canBeEmptyMultiple:!1,selectAllItem:o.value},null,8,["modelValue","items","selectAllItem"]))]))}}),he=(t,a)=>e.computed(()=>e.toValue(t).filter(d=>d.on>=0||d.id===a).map(d=>({value:d.id,title:d.url+` [${d.id}]`,icon:d.id===e.toValue(a)?"":"",content:d.name}))),T=-1,h=-2,O=-1,ye={0:"Yandex",1:"Google",4:"YouTube",5:"Bing",7:"Seznam",8:"AppStore",9:"GoogleStore",20:"Yandex.com",21:"Yandex.com.tr"},_={key:h,name:"--",index:h},ee={key:h,name:"--",regions:[_],regionByIndex:new Map([[h,_]])},R={key:h,name:"Autoselect",index:h},J={key:h,name:"Autoselect",regions:[R],regionByIndex:new Map([[h,R]])},te={countryCode:"00",depth:1,device:0,key:O,index:O,lang:"ru",name:"Without region"},Ie=()=>(R.name=y.useI18n().Common.Autoselect,R),Se=()=>(Ie(),J.name=y.useI18n().Common.Autoselect,console.log(J),J),ke=()=>(te.name=y.useI18n().Keywords.Without_region,te),Y=(t=!1,a=!1,l=[])=>{let o;return t?o=xe(l):o=oe(l),a&&o.set(h,Se()),o.size||o.set(h,ee),o},oe=(t,a=!0,l=[],o=!1)=>{const d=new Map;return t.forEach(n=>{if(!n.enabled||o&&typeof n.key=="number"&&n.key>1)return;const r={...n};r.regionByIndex=new Map,n.regions&&n.regions.forEach(c=>{if(a&&!c.enabled)return;const m={...c};r.regionByIndex.set(m.index,m)}),!r.regionByIndex.size&&l.length,(!n.regions||r.regionByIndex.size||l.length)&&typeof r.key=="number"&&d.set(r.key,r)}),l.forEach(n=>{if(d.has(n))return;const r={key:n,name:ye[n],regions:[],regionByIndex:new Map};d.set(r.key,r)}),d},xe=t=>{const a=oe(t,!1,[0,1],!0);if(a.has(2)){const l=a.get(2);l&&(l.regionByIndex=new Map)}return a.forEach(l=>{if(!l.regionByIndex)return;const o={...ke()};l.regionByIndex.set(o.index,o)}),a},le=(t,a,l=[])=>{const o=Y(t,!1,l);let d;return o.forEach(n=>{if(!(a.searcher_key!==void 0&&a.searcher_key!=n.key)&&n.regions&&(n.regions.forEach(r=>{if(!d&&!(a.key!==void 0&&a.key!=r.key)&&!(a.index!==void 0&&a.index!=r.index)&&!(!t&&(a.lang!==void 0&&a.lang!=r.lang||a.device!==void 0&&a.device!=r.device)))return r.searcher_key=n.key,d=r,!1}),d))return!1}),d},ne=fe.useAsyncTopDialog(()=>new Promise((t,a)=>se(["../.chunks/dialog_regionSelectorRegions-CZ8IX7la.amd"],t,a))),Be=(t,a)=>{const l=y.useI18n(),o=e.ref(a.value.keys().next().value??h),d=e.computed(()=>{const n=new Map;if(a.value.forEach(r=>{let c={value:r.key,title:r.name};t.addSearcherIcon&&(c.icon=W.getSearcherGIcon(r.key)),n.set(r.key,c)}),t.addCompare&&!n.has(h)){const r={value:"",title:"--------------------",disabled:!0};n.set(r.value,r);const c={value:T,title:l.Common.Compare};n.set(c.value,c)}return n});return{searcherKey:o,optionBySearcherKey:d}},Ce=(t,a)=>{const l=y.useI18n(),o=e.ref(h);t.modelValue.length===1&&(o.value=t.modelValue[0]),o.value===h&&(t.forFrequency?o.value=a.value?.regionByIndex.values().next().value?.key??h:o.value=a.value?.regionByIndex.keys().next().value??h);const d=e.computed(()=>{const n=new Map;return a.value.regionByIndex?.forEach(r=>{let c=r.name;if(t.forFrequency){const k={value:r.key,title:c};n.has(r.key)||n.set(r.key,k);return}r.device&&(c+=" ("+l.Common["Device_"+r.device]+")");const m=W.getLangLabel(a.value.key||0,r.lang??"");m&&(c+=" / "+m);const f={value:r.index,title:c,icon:r.device?W.getDeviceGIcon(r.device):void 0};n.set(r.index,f)}),n});return e.watch(d,(n,r)=>{if(t.onlySearcher||o.value!==void 0&&n.get(o.value))return;let c=n.keys().next().value;if(o.value===h||c===h){o.value=c;return}let m=r?.get(o.value)?.title||"",f=-1;for(const[k,i]of n.entries()){const v=i.title;if(typeof v!="string"||typeof k=="string")break;if(v===m){c=k;break}const u=new RegExp(` \\((${l.Common.Device_1}|${l.Common.Device_2})\\)`);let s=m,g=3;v.indexOf(s)===-1&&(s=m.replace(/^[^a-zа-я]/i,"").replace(u,""),g--),v.indexOf(s)===-1&&(s=m.replace(/ \/.*/,""),g--),v.indexOf(s)===-1&&(s=m.replace(/ \/.*/,""),s=s.replace(/^[^a-zа-я]/i,"").replace(u,""),g--),v.indexOf(s)!==-1&&(g<=f||(f=g,c=k))}o.value=c}),{regionIndex:o,optionByRegionIndex:d}},we=(t,a,l)=>{const o=e.ref([]),d=()=>{if(t.onlySearcher&&a.value){o.value=Array.from(a.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(c=>l.value.has(c))),r.length||(r=Array.from(l.value)),o.value=[...r]},n=()=>{o.value.length?localStorage.setItem("ui:project:regionSelector:"+t.projectId+":regionsIndexes",JSON.stringify(o.value)):localStorage.removeItem("ui:project:regionSelector:"+t.projectId+":regionsIndexes")};return e.watch(o,()=>{n()}),t.addCompare&&d(),{regionsIndexes:o}},Te=t=>{const a=e.computed(()=>Y(t.forFrequency,t.autoRegion,t.searchers)),l=e.computed(()=>a.value.get(d.searcherKey.value)||ee),o=e.computed(()=>{const i=new Set;return a.value.forEach(v=>{v.regionByIndex.forEach(u=>{u.index!==O&&u.index!==h&&i.add(u.index)})}),i}),d=Be(t,a),n=Ce(t,l),r=we(t,a,o);e.watch(a,()=>{if(t.onlySearcher?r.regionsIndexes.value=Array.from(a.value.keys()):r.regionsIndexes.value=r.regionsIndexes.value.filter(v=>o.value.has(v)),d.searcherKey.value===T)return;let i=a.value.keys().next().value;a.value.forEach(v=>{if(t.onlySearcher&&v.key===d.searcherKey.value){i=d.searcherKey.value;return}if(n.regionIndex.value&&v.regionByIndex?.has(n.regionIndex.value)&&(i=v.key),!t.onlySearcher){let u;i!==void 0&&(u=a.value.get(i)?.regionByIndex);const s=a.value.get(v.key)?.regionByIndex;u?.has(h)&&!s?.has(h)&&(i=v.key)}}),i!==void 0&&(d.searcherKey.value=i),n.regionIndex.value!==void 0&&!l.value?.regionByIndex?.has(n.regionIndex.value)&&(n.regionIndex.value=l.value?.regions?.keys().next().value)},{immediate:!0});const c=()=>{if(!(d.searcherKey.value===T||d.searcherKey.value===h))return d.searcherKey.value},m=()=>{if(t.onlySearcher||n.regionIndex.value===h)return;let i=n.regionIndex.value;if(t.forFrequency){const v=n.regionIndex.value;i=le(t.forFrequency,{searcher_key:c(),key:v},t.searchers)?.index}return i},f=()=>{const i=c();if(i!==void 0)return a.value.get(i)};return{selectSearcher:d,selectRegion:n,compare:r,searcherByKey:a,allRegionsIndexes:o,getSearcher:f,getRegion:()=>{const i=m();if(i!==void 0)return f()?.regionByIndex?.get(i)}}},Me=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:a}){const l=t,o=e.useModel(t,"modelValue"),d=e.useModel(t,"modelValueSingle"),{selectSearcher:n,selectRegion:r,compare:c,searcherByKey:m,allRegionsIndexes:f,getSearcher:k,getRegion:i}=Te(l),v=()=>{const u=[];m.value.forEach(s=>{s.enabled&&s.regions.forEach(g=>{g.enabled&&u.push(g)})}),ne.open("regions",{regions:u,regionsIndexes:c.regionsIndexes.value,"@update:regionsIndexes":s=>c.regionsIndexes.value=s})};return e.watch([r.regionIndex,n.searcherKey,c.regionsIndexes],()=>{if(n.searcherKey.value===T&&c.regionsIndexes.value.length){if(JSON.stringify(o.value)===JSON.stringify(c.regionsIndexes.value))return;o.value=[...c.regionsIndexes.value]}else l.onlySearcher?(o.value=[n.searcherKey.value],n.searcherKey.value===h&&!l.autoRegion&&(o.value.length=0)):(o.value=[r.regionIndex.value],r.regionIndex.value===h&&!l.autoRegion&&(o.value.length=0));!l.onlySearcher&&!f.value.size&&(n.searcherKey.value=h)}),d.value&&e.watch(d,()=>{d.value&&(o.value=[d.value])},{immediate:!0}),e.watch(o,()=>{if(o.value[0]&&(d.value=o.value[0]),l.onlySearcher){if(!o.value.length||o.value.length===1&&!m.value.has(o.value[0])||o.value.length===1&&o.value[0]===h&&!l.autoRegion){let u=m.value.keys().next().value;u===h&&!l.autoRegion&&(u=void 0,d.value=h),u!==void 0?o.value=[u]:o.value.length=0;return}if(o.value.length>1&&JSON.stringify(o.value)!==JSON.stringify(c.regionsIndexes.value)){o.value=[...c.regionsIndexes.value];return}}else{let u=[...new Set(o.value)],s=m.value.values().next().value?.regionByIndex?.keys().next().value;if(l.forFrequency&&(s=m.value.values().next().value?.regionByIndex?.values().next().value?.key),s===h&&!l.autoRegion&&(s=void 0,d.value=h),!u.length)s!==void 0&&u.push(s);else if(u.length===1){let g=f.value;l.forFrequency&&(g=new Set,m.value.forEach(U=>{U.regionByIndex.forEach(N=>{N.index!==O&&N.index!==h&&g.add(N.key)})})),g.has(u[0])||(u=[],s!==void 0&&u.push(s))}else u=u.filter(g=>f.value.has(g)),!u.length&&s!==void 0&&u.push(s);if(JSON.stringify(o.value)!==JSON.stringify(u)){o.value=u;return}}if(!(o.value.length===1&&o.value[0]===(l.onlySearcher?n.searcherKey.value:r.regionIndex.value)))if(l.onlySearcher){if(o.value.length===1){n.searcherKey.value=o.value[0];return}n.searcherKey.value=T;return}else{if(!o.value.length)return;if(o.value.length===1&&n.searcherKey.value!==T){r.regionIndex.value=o.value[0];let u;for(const s of m.value.values()){for(const g of s.regionByIndex.values())if((l.forFrequency?g.key:g.index)===r.regionIndex.value){u=s.key;break}if(u!==void 0)break}u!==void 0&&(n.searcherKey.value=u)}else n.searcherKey.value=T,c.regionsIndexes.value=[...o.value]}},{immediate:!0}),a({getSearcher:k,getRegion:i}),(u,s)=>(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(n).optionBySearcherKey.value,modelValue:e.unref(n).searcherKey.value,"onUpdate:modelValue":s[0]||(s[0]=g=>e.unref(n).searcherKey.value=g),name:"searcher_key",addChanger:t.addChanger},null,8,["options","modelValue","addChanger"]),!t.onlySearcher&&e.unref(n).searcherKey.value!==e.unref(T)?(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":s[1]||(s[1]=g=>e.unref(r).regionIndex.value=g),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(n).searcherKey.value===e.unref(T)?(e.openBlock(),e.createBlock(y._sfc_main$1,{key:1,name:"compare",onClick:v,"data-count-compare-regions-indexes":e.unref(c).regionsIndexes.value.length},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.$i18n.Common.Selected_regions),1)]),_:1},8,["data-count-compare-regions-indexes"])):e.createCommentVNode("",!0)],2))}}),M={id:0,name:"/",path:"/"};function Ve(t){return t?y.useI18n()?.Common.All_folders:"/ ("+y.useI18n()?.Keywords.Root_folder+")"}const Q=(t,a,l=new Map,o={id:"root"},d=0)=>(o.childsIds=[],o.id&&(o.countAllGroupsActive=o.count_groups_active),t[o.id]&&t[o.id].forEach(n=>{n={...n},o.childsIds.push(n.id),n.id===0&&(n.name=Ve(a));const r=d>1?"-".repeat(d-1)+" ":"";r&&!n.name.startsWith(r)&&(n.name=r+n.name),l.set(n.id,n),Q(t,a,l,n,d+1),o.childsIds=o.childsIds.concat(n.childsIds),o.id&&n.count_groups_active&&(o.countAllGroupsActive+=n.count_groups_active)}),l),Ae=t=>t.gen("/get/keywords_2/folders/",["id","parent_id","name","path"]).changeParams({orders:["ord_path"],limit:100});function X(t,a,l){const o=Object.keys(t),d=o.map(n=>t[n]);return e.watch(d,(n,r,c)=>{const m={};n.forEach((f,k)=>{if(!Object.is(f,r[k])){const i=o[k];m[i]={old:r[k],new:f}}}),Object.keys(m).length&&a(m,c)},l)}const Ee=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 a=t,l=e.useModel(t,"folderId"),o=e.useModel(t,"folder"),d=a.client&&!a.folders?Ae(a.client):void 0,n=e.ref(null);e.watch(()=>a.projectId,()=>{d?.changeParams({project_id:a.projectId}),d?.setOptions({checkFingerprint:"TopGroupSelectorFolders:"+a.projectId}),n.value?.resetCache()},{immediate:!0});const r=e.computed(()=>Q(a.folders??{root:[M]},a.canSelectAll));return X({modelFolder:o,modelFolderId:l},async c=>{if(l.value===o.value.id)return;if(c.modelFolder&&!c.modelFolderId){l.value=o.value.id;return}let m=r.value.get(a.folderId);m||(m=M),o.value=m,l.value=m.id},{immediate:!0}),(c,m)=>(e.openBlock(),e.createBlock(C._sfc_main,{class:"top-groupSelector_folder",modelValue:o.value,"onUpdate:modelValue":m[0]||(m[0]=f=>o.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(d),apiSetSearchParams:(...f)=>e.unref(C.apiSetSearchParamsFilter)(...f,"name"),addChanger:t.addChanger,useCache:""},null,8,["modelValue","items","icon","api","apiSetSearchParams","addChanger"]))}}),j={id:-1,name:"--",folder_id:M.id,folder_path:M.path},D={id:C.ITEM_ID_ALL,name:"All groups",folder_id:M.id,folder_path:M.path},E=()=>(D.name=y.useI18n()?.Common.All_groups,D),ae=()=>(D.name=y.useI18n()?.Keywords.Choose_group,D),be=(t,a,l)=>(t=[...t],a!==void 0&&(t=t.filter(o=>o.on==Number(a))),l&&l.id&&l.childsIds&&(t=t.filter(o=>o.folder_id===l.id||l.childsIds.includes(o.folder_id))),t),re=t=>t.gen("/get/keywords_2/groups/",["id","name","folder_id","folder_path"]).changeParams({folder_id_depth:!0,limit:100}),$e=t=>t.gen("/add/keywords_2/groups/"),Ne={class:"top-groupSelector_groupItem"},Ge={key:0,class:"top-comment"},Ke={key:1,class:"top-groupSelector_groupItemFolderPath"},Le=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:a}){const l=t,o=a,d=e.useModel(t,"groupId"),n=e.useModel(t,"group"),r=l.client&&!l.groups?re(l.client):void 0,c=l.client?$e(l.client):void 0,m=e.ref(null),f=e.ref(void 0),k=H.genFieldFilter("folder_id","EQUALS",[l.folder?.id??0]);r?.changeParams({project_id:l.projectId,folder_id_depth:!0,filters:[k]}),l.on!==void 0&&r?.params.filters?.push(H.genFieldFilter("on","EQUALS",[Number(l.on)]));const i=u=>{n.value=u,d.value=u.id};X({projectId:()=>l.projectId,folderId:()=>l.folder?.id,canSelectAll:()=>l.canSelectAll},u=>{if(u.projectId&&(r?.changeParams({project_id:l.projectId}),r?.setOptions({checkFingerprint:"TopGroupSelectorGroups:"+l.projectId})),u.folderId&&(k.values=[l.folder?.id??0],l.groups&&(f.value=be(l.groups,l.on,l.folder))),m.value?.resetCache(),(u.folderId?.old!==void 0||u.canSelectAll?.old!==void 0)&&d.value!==C.ITEM_ID_NEW){let s;l.autoselect==="first"&&(s=f.value?.[0],l.canSelectAll&&(s=e.reactive(E()))),(l.autoselect==="placeholder"||!s)&&(s=ae()),i(s)}},{immediate:!0}),X({modelGroup:n,modelGroupId:d},async u=>{if(d.value!==n.value.id){if(u.modelGroup&&!u.modelGroupId){d.value=n.value.id;return}if(!(l.canAdd&&d.value===C.ITEM_ID_NEW)){if(l.groups){let s=f.value?.find(g=>g.id===d.value);if(!s&&l.canSelectAll&&(s=E()),s)i(s);else{const g=f.value?.[0];g&&!d.value?i(g):i(j)}}if(l.client&&!l.groups&&(d.value||d.value===C.ITEM_ID_ALL&&!l.canSelectAll)){const s=re(l.client).changeParams({project_id:l.projectId,id:d.value,filters:[k]});s?.setOptions({checkFingerprint:"TopGroupSelectorFindGroup:"+l.projectId});const g=await s.call();if(!g.errors?.length&&!g.result)return;!g.errors&&g.result[0]?i(g.result[0]):i(j)}}}},{immediate:!0});const v=async u=>{if(l.canAdd!=="api"||!c)return;const s=n.value,g=await c.changeParams({project_id:l.projectId,names:[u.name],to_id:l.folder?.id??M.id,to_type:"in_folder_last"}).call();g.result?(i(g.result),o("addGroup",g.result)):i(s),m.value?.resetCache(!0)};return(u,s)=>(e.openBlock(),e.createBlock(C._sfc_main,{ref_key:"refSelector",ref:m,class:"top-groupSelector_group",modelValue:n.value,"onUpdate:modelValue":s[0]||(s[0]=g=>n.value=g),items:f.value??t.groups,searchType:"inline",icon:t.addIcon?"":void 0,api:t.groups?void 0:e.unref(r),apiSetSearchParams:(...g)=>e.unref(C.apiSetSearchParamsFilter)(...g,"name"),appendSearchToResult:!!t.canAdd,useAllItem:t.canSelectAll?e.unref(E)().name:!1,addChanger:t.addChanger,useCache:"",onAppendItem:v},{item:e.withCtx(({item:g})=>[e.createElementVNode("div",Ne,[g.id===e.unref(C.ITEM_ID_NEW)?(e.openBlock(),e.createElementBlock("div",Ge,e.toDisplayString(u.$i18n.Common.Add)+": ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(g.name),1),g.folder_path&&t.showPath?(e.openBlock(),e.createElementBlock("span",Ke,e.toDisplayString(g.folder_path),1)):e.createCommentVNode("",!0)])]),_:1},8,["modelValue","items","icon","api","apiSetSearchParams","appendSearchToResult","useAllItem","addChanger"]))}}),Oe={class:"top-groupSelector"},Re=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:j},groupModifiers:{}}),emits:e.mergeModels(["update:groups"],["update:folderId","update:folder","update:groupId","update:group"]),setup(t,{emit:a}){const l=t,o=e.useModel(t,"folderId"),d=e.useModel(t,"folder"),n=e.useModel(t,"groupId"),r=e.useModel(t,"group"),c=a,m=Q(l.folders??{root:[M]},l.canSelectAllGroups);d.value=m.get(o.value);let f=l.groups?.find(i=>i.id===n.value);n.value||(f=l.groups?.[0]),l.canSelectAllGroups&&!f&&(f=E()),l.canSelectAllGroups&&!f&&(f=E()),(l.autoselect==="placeholder"||!f)&&(f=ae()),f??=j,r.value=f;const k=i=>{let v;l.groups&&i&&(v=[...l.groups,i]),c("update:groups",v)};return(i,v)=>(e.openBlock(),e.createElementBlock("div",Oe,[t.showFolders?(e.openBlock(),e.createBlock(Ee,{key:0,folderId:o.value,"onUpdate:folderId":v[0]||(v[0]=u=>o.value=u),folder:d.value,"onUpdate:folder":v[1]||(v[1]=u=>d.value=u),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(Le,{key:1,groupId:n.value,"onUpdate:groupId":v[2]||(v[2]=u=>n.value=u),group:r.value,"onUpdate:group":v[3]||(v[3]=u=>r.value=u),projectId:t.projectId,folder:d.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:k},null,8,["groupId","group","projectId","folder","groups","on","canAdd","canSelectAll","autoselect","addChanger","showPath","addIcon","client"])):e.createCommentVNode("",!0)]))}}),de=t=>"-"+t,b=t=>t[0]==="-"?t.substring(1):t,P=(t,a)=>{t=b(t);const l=a.find(o=>o.id===t);if(l)return l},je=(t,a,l)=>{a||(a={id:t.id}),a.id=t.id,a.pos??="3",a.notch??=!0,a.posBy??="fixed";const o=ge.TopPopupWorker.genElPopupOpener("div",a);return o.classList.add("top-tagSelector"),t.useTopButton&&o.classList.add("top-tagSelector-useTopButton","top-button","top-color_theme","top-as-selector"),t.useTopButton||o.classList.add("top-tagSelector-custom"),t.mode==="filter"&&o.classList.add("top-tagSelector-filter"),t.mode==="setter"&&!t.filters&&o.classList.add("top-tagSelector-setter_single"),t.mode==="setter"&&t.filters&&o.classList.add("top-tagSelector-setter_several"),o.onclick=d=>{d.preventDefault(),d.stopPropagation(),o.onclick=null;const n=e.ref(t.modelValue),r={model:n,mode:t.mode,targetId:t.targetId,filters:t.filters,payload:t.payload};A.storage(o,"topTagSelectorTarget",r),delete o.dataset.topPopupDisabled,e.isRef(t.modelValue)||e.watch(n,()=>{t.modelValue=n.value,F(o,t,l)}),o.click()},e.isRef(t.modelValue)?e.watch(t.modelValue,()=>F(o,t,l)):A.storage(o,"topTagSelectorRender",d=>{t.modelValue=d;const n=A.storage(o,"topTagSelectorTarget");n&&(n.model.value=d),F(o,t,l)}),F(o,t,l),o},De=(t,a)=>{A.storage(t,"topTagSelectorRender")?.(a)},F=(t,a,l)=>{const o=e.unref(a.modelValue);if(t.classList.toggle("top-tagSelector-selectedOne",!o.length||o.length===1),t.classList.toggle("top-tagSelector-toTwoLine",o.length>5),a.mode==="setter"&&a.filters){t.innerHTML=`<div>${l}</div>`;return}if(t.innerHTML="",!o.length&&a.mode==="filter"){const d=ie({id:"all",colorId:"",name:y.useI18n().Common?.All_tags??"",state:""});t.append(d)}o.forEach(d=>{const n=ie({id:b(d),colorId:P(d,a.tags)?.color_id??"",name:P(d,a.tags)?.name??"",state:b(d)===d?"selected":"excluded"});t.append(n)})},ie=t=>{const a=document.createElement("div");return a.classList.add("top-tagSelector_tagIcon"),a.classList.toggle("top-tagSelector-active",!!t.state),a.classList.toggle("top-tagSelector-excluded",t.state==="excluded"),a.dataset.tag_id=t.id,a.dataset.tag_color_id=t.colorId,a.title=t.name,a},Pe=[{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"}],Fe=["data-tag_id","data-tag_color_id","title"],q=e.defineComponent({__name:"tagIcon",props:{id:{},colorId:{},name:{},state:{}},setup(t){return(a,l)=>(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,Fe))}}),qe=["contenteditable","onKeydown"],ue=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:a}){const l=t,o=a,d=e.useModel(t,"name"),n=e.ref(null),r=e.computed(()=>navigator.userAgent.indexOf("Firefox")!=-1?{contenteditable:c.value,onpaste:v=>v.preventDefault()}:{}),c=e.ref(!1),m=async()=>{c.value=!0,await e.nextTick(),n.value?.focus()},f=()=>{const v=n.value?.innerText;if(!v)return k();n.value&&(n.value.innerText=v),c.value=!1,o("update:name",v)},k=async()=>{n.value&&(n.value.innerText=l.name),c.value=!1},i=v=>{if(c.value||l.disabled)return;let u="selected";l.canExclude&&(v.ctrlKey||v.metaKey)&&(u="excluded"),l.state==u&&(u=""),u===""&&o("unselect"),u==="selected"&&o("select"),u==="excluded"&&o("exclude")};return(v,u)=>(e.openBlock(),e.createBlock(V._sfc_main$2,{class:e.normalizeClass({"top-tagSelector_tagListItem":!0,"top-tagSelector_tagListItem-inEdit":c.value,"top-tagSelector_tagListItem-disabled":t.disabled,"top-tagSelector_tagListItem-canExclude":t.canExclude,"top-tagSelector-active":!!t.state,"top-tagSelector-excluded":t.state==="excluded"}),onClick:e.withModifiers(i,["stop"])},{default:e.withCtx(()=>[e.createVNode(q,{id:t.id,name:d.value,colorId:t.colorId,state:t.state},null,8,["id","name","colorId","state"]),e.createElementVNode("span",e.mergeProps({ref_key:"elName",ref:n,class:"top-tagSelector_tagListItemName",contenteditable:c.value?"plaintext-only":!1},r.value,{onKeydown:[e.withKeys(e.withModifiers(f,["stop"]),["enter"]),e.withKeys(e.withModifiers(k,["stop"]),["esc"])]}),e.toDisplayString(d.value),17,qe),t.editable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[c.value?(e.openBlock(),e.createElementBlock("span",{key:1,"data-top-icon":"",class:"top-tagSelector_edit",onClick:e.withModifiers(f,["stop"])})):(e.openBlock(),e.createElementBlock("span",{key:0,"data-top-icon":"",class:"top-tagSelector_edit",onClick:m}))],64)):e.createCommentVNode("",!0)]),_:1},8,["class"]))}}),Ue={key:1},ce=e.defineComponent({inheritAttrs:!1,__name:"popupOpener",props:e.mergeModels({modelValue:{},id:{},tags:{},mode:{},targetId:{},filters:{},useTopButton:{type:Boolean},payload:{},styling:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const a=t,l=e.useModel(t,"modelValue"),o=a.useTopButton?y._sfc_main$1:"div",d=a.useTopButton?"html":"default",n={model:l,mode:a.mode,targetId:a.targetId,filters:a.filters,payload:a.payload};return(r,c)=>{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(o)),e.mergeProps({class:{"top-tagSelector":!0,"top-tagSelector-useTopButton":a.useTopButton,"top-tagSelector-custom":!a.useTopButton,"top-as-selector":a.useTopButton,"top-tagSelector-filter":a.mode==="filter","top-tagSelector-setter_single":a.mode==="setter"&&!t.filters,"top-tagSelector-setter_several":a.mode==="setter"&&t.filters,"top-tagSelector-selectedOne":!l.value.length||l.value.length===1,"top-tagSelector-toTwoLine":l.value.length>5},color:"theme",styling:t.styling},r.$attrs),{[e.unref(d)]:e.withCtx(()=>[!l.value.length&&t.mode==="filter"?(e.openBlock(),e.createBlock(q,{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",Ue,[e.renderSlot(r.$slots,"default")])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(l.value,f=>(e.openBlock(),e.createBlock(q,{id:e.unref(b)(f),colorId:e.unref(P)(f,t.tags)?.color_id??"",name:e.unref(P)(f,t.tags)?.name??"",state:e.unref(b)(f)===f?"selected":"excluded"},null,8,["id","colorId","name","state"]))),256))]),_:2},1040,["class","styling"])),[[m,n,"topTagSelectorTarget"]])]),_:3},8,["id"])}}}),ze=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(Pe)},tagsModifiers:{}}),emits:e.mergeModels(["selector","setter","tagsChanged"],["update:modelValue","update:tags"]),setup(t,{emit:a}){const l=y.useI18n(),o=t,d=e.useModel(t,"modelValue"),n=e.useModel(t,"tags"),r=a,c=y.debounce((p,I)=>{r(p,I)},o.emitDelay);o.singleMode&&!d.value.length&&(d.value=[n.value[0].id]);const m=o.id??"top-popup-id-"+Math.random(),f=e.ref("add"),k=()=>{const p=" "+l.Common.Tags?.toLowerCase(),I=new Map;return I.set("add",{value:"add",title:l.Common.Add+p}),I.set("replace",{value:"replace",title:l.Common.Replace+p}),I.set("delete",{value:"delete",title:l.Common.Delete+p}),I};let i=e.shallowRef({model:d,mode:"filter",targetId:void 0,filters:void 0,payload:void 0});e.watch(d,()=>{c("selector",d.value)});const v=e.computed(()=>{if(i.value.mode==="setter"&&o.maxTagsForSetter&&!i.value.filters)return i.value.model.value.length>=o.maxTagsForSetter}),u=p=>{if(p!=="all"){if(i.value.model.value.includes(p))return"selected";if(i.value.model.value.includes(de(p)))return"excluded"}return p==="all"&&!i.value.model.value.length?"selected":""},s=(p,I)=>{const S=de(p);let x=i.value.model.value.filter(w=>w!==p&&w!==S);I==="select"&&x.push(p),I==="exclude"&&x.push(S),i.value.mode==="setter"&&i.value.targetId!==void 0&&o.requiredForSetter&&(x.length||x.push("1"),x.length===2&&i.value.model.value.length===1&&i.value.model.value[0]==="1"&&(x=x.filter(w=>w!=="1"))),o.singleMode&&!i.value.filters&&(x.length||(x=i.value.model.value),x.length>1&&(x=[x[x.length-1]])),x.sort((w,z)=>{if(!o.tags)return 0;const G=o.tags.findIndex(L=>L.id===w),K=o.tags.findIndex(L=>L.id===z);return G-K}),i.value.model.value=x,i.value.mode==="setter"&&i.value.targetId!==void 0&&c("setter",{tagsIds:x,targetId:i.value.targetId,payload:i.value.payload})},g=e.computed(()=>{let p="top-tagSelector_popup";return i.value.mode==="filter"&&(p+=" top-tagSelector_popup-filter"),i.value.mode==="setter"&&(p+=" top-tagSelector_popup-setter"),p}),U=()=>{const p=prompt("","New tag");if(!p||p==="New tag")return;const I=n.value.length+1;n.value.push({id:String(I),name:p,color_id:String((I-1)%10+1)}),r("tagsChanged",n.value)},N=p=>{if(i.value=A.storage(p.elPopupOpener,"topTagSelectorTarget"),!i.value)throw new Error("Open popup TopTagSelector required v-data:topTagSelectorTarget");if(i.value.filters&&(f.value="add",i.value.model.value=[]),!y.Core.$?.ui.sortable){console.info("Для работы сортировки требуется глобальная загрузка jQuery UI Sortable");return}!y.Core.state.isMobile&&!y.Core.state.isMobileUA&&n.value&&$(p.elPopup).sortable({items:'li:has([data-tag_id]:not([data-tag_id="all"]))',cancel:'[contenteditable="plaintext-only"], [contenteditable="true"]',distance:10,stop:function(I,S){if(!n.value)return;const x=$(S.item).parent().find("[data-tag_id]"),w=[];x.each((z,G)=>{if(!n.value)return;const K=$(G).attr("data-tag_id");w.push(K)}),n.value.sort((z,G)=>{const K=w.findIndex(Z=>Z===z.id),L=w.findIndex(Z=>Z===G.id);return K-L}),c("tagsChanged",n.value)}})},We=p=>{y.Core.$?.ui.sortable&&$(p.elPopup).data("ui-sortable")&&$(p.elPopup).sortable("destroy")};return(p,I)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(ce,{modelValue:d.value,"onUpdate:modelValue":I[0]||(I[0]=S=>d.value=S),id:e.unref(m),tags:n.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(g.value),onOpen:I[4]||(I[4]=S=>N(S)),onClose:I[5]||(I[5]=S=>We(S)),"transition-duration":50},e.createSlots({contentList:e.withCtx(()=>[e.unref(i).mode==="filter"&&!t.singleMode?(e.openBlock(),e.createBlock(ue,{key:0,id:"all",colorId:"",name:p.$i18n.Common.All_tags??"",state:e.unref(i).model.value.length?"":"selected",onSelect:I[3]||(I[3]=S=>e.unref(i).model.value=[])},null,8,["name","state"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,S=>(e.openBlock(),e.createBlock(ue,{key:S.id,id:S.id,colorId:S.color_id,name:S.name,state:u(S.id),canExclude:e.unref(i).mode==="filter"&&!t.singleMode,editable:t.tagsEditable,disabled:v.value&&u(S.id)==="",onUnselect:x=>s(S.id,"unselect"),onSelect:x=>s(S.id,"select"),onExclude:x=>s(S.id,"exclude"),"onUpdate:name":x=>{S.name=x,e.unref(c)("tagsChanged",n.value)}},null,8,["id","colorId","name","state","canExclude","editable","disabled","onUnselect","onSelect","onExclude","onUpdate:name"]))),128)),t.tagsEditable&&n.value.length<t.tagsMax&&n.value.length<20?(e.openBlock(),e.createBlock(V._sfc_main$2,{key:1,"data-top-icon":"",onClick:e.withModifiers(U,["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.$i18n.Common.Add),1)]),_:1})):e.createCommentVNode("",!0)]),_:2},[e.unref(i).mode==="setter"&&e.unref(i).filters?{name:"header",fn:e.withCtx(()=>[e.createVNode(y._sfc_main$10,{modelValue:f.value,"onUpdate:modelValue":I[1]||(I[1]=S=>f.value=S),options:k()},null,8,["modelValue","options"])]),key:"0"}:void 0,e.unref(i).mode==="setter"&&e.unref(i).filters?{name:"footer",fn:e.withCtx(()=>[e.createVNode(y._sfc_main$1,{color:"theme"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.$i18n.Common.Cancel),1)]),_:1}),e.createVNode(y._sfc_main$1,{onClick:I[2]||(I[2]=S=>e.unref(c)("setter",{tagsIds:e.unref(i).model.value,filters:e.unref(i).filters,filtersAction:f.value,payload:e.unref(i).payload}))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.value==="add"?p.$i18n.Common.Add:"")+" "+e.toDisplayString(f.value==="replace"?p.$i18n.Common.Replace:"")+" "+e.toDisplayString(f.value==="delete"?p.$i18n.Common.Delete:""),1)]),_:1})]),key:"1"}:void 0]),1032,["id","class"])],64))}});B.TopCompetitorSelector=pe,B.TopGroupSelector=Re,B.TopRegionSelector=Me,B.TopTagSelector=ze,B.TopTagSelectorPopupOpener=ce,B.TopTagSelectorTagIcon=q,B.dialogRegionSelector=ne,B.findRegion=le,B.genElTopTagSelectorPopupOpener=je,B.genSearcherByKey=Y,B.renderElTopTagSelectorPopupOpener=De,B.useItemsFromCompetitors=he,Object.defineProperty(B,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=project.amd.js.map