Repository navigation
Expand file tree
/
Copy pathaddToFolderDropdownMenu-Cq8P4qeo.js
More file actions
3 lines (3 loc) · 10.9 KB
/
Copy pathaddToFolderDropdownMenu-Cq8P4qeo.js
File metadata and controls
3 lines (3 loc) · 10.9 KB
1
2
3
//# allFunctionsCalledOnLoad
import{s as e}from"./userAgent-DC86zy_h.js";import{r as t}from"./cancellablePromise-CCgNT6Fl.js";import{n}from"./rootScope-Bvsn3YYP.js";import{n as r,r as i}from"./eventListenerBase-OLQI584v.js";import{a,u as o}from"./langPack-Cx34d7Qs.js";import{A as s,S as c,f as l,g as u,h as d,i as f,j as p,p as m,s as h,v as g,x as _}from"./solid-Beq2bZCx.js";import{n as ee}from"./appNavigationController-DJQgP5oF.js";import{n as v}from"./bindManagersToAccount-JVm7nXNI.js";import{o as y}from"./store-CyBR0Q3R.js";import{a as b,c as x,d as S,g as C,h as w,o as T,r as E,s as D}from"./web-BIda0ujS.js";import{t as O}from"./iconTsx-B6kOwxE-.js";import{t as k}from"./scrollable2-kPNG-GU4.js";import{t as A}from"./clickEvent-DEE669v6.js";import{a as j}from"./sticker-crDJZoNb.js";import{t as M}from"./defineSolidElement-CPY4mv3y.js";import{t as N}from"./transition-Ck57783R.js";import{S as P,en as F,tn as I}from"./confirmationPopup-Dcep-P6V.js";import{in as L}from"./getChatMigratedTo-BkdTXEMB.js";import{A as R}from"./formatStarsAmount-CRaPhHSW.js";import{A as z}from"./openEditors-CzYjk_4s.js";import{t as B}from"./folderTitle-B59OgWmY.js";import{t as V}from"./isRTL-BayRdYbL.js";import{Bt as H,Ut as U,Vt as W}from"./appDialogsManager-rnxHvj7E.js";function G(e,t){return K(e.toLowerCase(),t.toLowerCase(),t.length)}function K(e,t,n){let r=[],i=0,a=e.length,o=t.length;for(let s=0;s<o;s++)for(let o=0;o<a;o++){if(e[o]!==t[s])continue;let{found:a}=K(e.slice(o+1),t.slice(s+1),n),c=[o,...a.map(e=>e+o+1)],l=J(e,t,c,n,!0)-q.missing(n)*s;l>i&&(i=l,r=c)}return{found:r,score:J(e,t,r,n,!0)}}var q={missing:e=>1/e,gap:(e,t)=>.25/e*t};function J(e,t,n,r,i){let a=e.length,o=t.length,s=n.length;if(!s)return 0;let c=1,l=0,u=-1;for(let i=0;i<s&&l<o;i++){let s=n[i];if(!(s<a))break;for(;e[s]!==t[l]&&l<o;)l++,c-=q.missing(r);l++,u!=-1&&s-u>1&&(c-=q.gap(o,s-u-1)),u=s}return i&&(c-=(r-l)*q.missing(r)),c}var Y={Container:`_Container_1j19f_1`,withScrollable:`_withScrollable_1j19f_5`,Scrollable:`_Scrollable_1j19f_10`,ScrollableContainer:`_ScrollableContainer_1j19f_19`,mobile:`_mobile_1j19f_25`,Label:`_Label_1j19f_29`,LabelText:`_LabelText_1j19f_40`,Input:`_Input_1j19f_48`,EmptySearchTip:`_EmptySearchTip_1j19f_59`,Char:`_Char_1j19f_71`,single:`_single_1j19f_79`,middle:`_middle_1j19f_83`,start:`_start_1j19f_87`,end:`_end_1j19f_94`,Hidden:`_Hidden_1j19f_102`,Item:`_Item_1j19f_106`,selected:`_selected_1j19f_106`,ItemLabel:`_ItemLabel_1j19f_109`,ItemLabelText:`_ItemLabelText_1j19f_116`,ItemLabelEnter:`_ItemLabelEnter_1j19f_119`,ItemIcon:`_ItemIcon_1j19f_122`,ItemIconCheck:`_ItemIconCheck_1j19f_125`},X=i(`AddToFolderDropdownMenu`,r.Debug);async function Z(){return(await n.managers.filtersStorage.getDialogFilters()).filter(e=>e.id!==1&&e.id!==0).sort((e,t)=>!e.id||!t.id?0:e?.localId-t?.localId)}var Q=e=>Math.abs(e);async function te(e,t){let r=v(n.managers);X.debug(`addToFilter before`,e),e={...e},e._===`dialogFilter`&&(e.excludePeerIds=e.excludePeerIds?.filter(e=>Q(e)!==Q(t)),e.exclude_peers=e.exclude_peers?.filter(e=>Q(R(e))!==Q(t))),e.pinnedPeerIds.find(e=>Q(e)===Q(t))||(e.includePeerIds=[...(e.includePeerIds||[]).filter(e=>Q(e)!==Q(t)),t],e.include_peers=[...(e.include_peers||[]).filter(e=>Q(R(e))!==Q(t)),await r.appPeersManager.getInputPeerById(t)]),X.debug(`addToFilter after`,e),await r.filtersStorage.updateDialogFilter(e)}async function ne(e,t){let r=v(n.managers);X.debug(`removeFromFilter before`,e),e={...e},e.includePeerIds=e.includePeerIds?.filter(e=>Q(t)!==Q(e)),e.include_peers=e.include_peers?.filter(e=>Q(R(e))!==Q(t)),e.pinnedPeerIds=e.pinnedPeerIds?.filter(e=>Q(t)!==Q(e)),e.pinned_peers=e.pinned_peers?.filter(e=>Q(R(e))!==Q(t)),e._===`dialogFilter`&&(e.excludePeerIds=[...(e.excludePeerIds||[]).filter(e=>Q(e)!==Q(t)),t],e.exclude_peers=[...(e.exclude_peers||[]).filter(e=>Q(R(e))!==Q(t)),await r.appPeersManager.getInputPeerById(t)]),X.debug(`removeFromFilter after`,e),await r.filtersStorage.updateDialogFilter(e)}function re(e,t){let n=document.createElement(`span`),r=B(e,t,!0);n.append(r);let i=V(n.textContent);n.dir=i?`rtl`:`ltr`,n.querySelector(`custom-emoji-renderer-element`)?.setTextColor(`primary-text-color`);let a=document.createTreeWalker(n,NodeFilter.SHOW_TEXT),o=[],s=[];for(;a.nextNode();)o.push(a.currentNode);for(let e of o){let t=document.createDocumentFragment(),n=e.nodeValue.split(``).map(e=>{let t=document.createElement(`span`);return t.innerText=e,t});s.push(n),t.append(...n),e.parentNode.replaceChild(t,e)}return{span:n,charSpansGroups:s,rtl:i}}function ie(e,t,n){let[r,i]=n?[Y.end,Y.start]:[Y.start,Y.end],a=0,o=[];for(let n of e){let e=n.length,s=t.filter(t=>t>=a&&t<a+e).map(e=>e-a),c=s.length;a+=e;for(let e=0;e<c;e++){let t=e;for(;t<c-1&&s[t+1]-1===s[t];)t++;if(t===e){let t=n[s[e]];t.classList.add(Y.Char,Y.single),o.push(t);continue}let a=n[s[e]],l=n[s[t]];a.classList.add(Y.Char,r),l.classList.add(Y.Char,i),o.push(a,l);for(let r=e+1;r<t;r++){let e=n[s[r]];e.classList.add(Y.Char,Y.middle),o.push(e)}e=t}}s(()=>{o.forEach(e=>{e.className=``})})}var $=w(`<span>`),ae=.25,oe=({filter:e,isChecked:t,docId:r,emoji:i})=>{let[a,o]=c(!1);return(()=>{var s=$();return x(s,l(h,{get when(){return(r||i)&&!a()},get fallback(){return l(O,{get icon(){return H(e)}})},get children(){return l(W,{get managers(){return n.managers},color:`primary-text-color`,docId:r,emoji:i,size:20,onFail:()=>o(!0),get dontAnimate(){return e.pFlags?.title_noanimate}})}}),null),x(s,l(N,{name:`t-zoom`,get children(){return l(h,{get when(){return t()},get children(){var e=$();return x(e,l(O,{icon:`check`})),g(()=>T(e,Y.ItemIconCheck)),e}})}}),null),g(()=>T(s,`btn-menu-item-icon ${Y.ItemIcon}`)),s})()},se=({label:e,isSelected:t})=>(()=>{var n=$();return x(n,e,null),x(n,l(h,{get when(){return t()},get children(){return l(O,{icon:`enter`,get class(){return Y.ItemLabelEnter}})}}),null),g(()=>T(n,Y.ItemLabel)),n})(),ce=({filters:e,isInFilter:n,isSelected:r,onToggle:i,currentFilter:a})=>u(()=>{let o=j();return X.debug(`creating folder items`),s(()=>{X.debug(`destroying folder items middleware`),o.destroy()}),e().map(e=>{let c=U(e.title),{span:l,charSpansGroups:u,rtl:f}=re(c.text,o.get());l.classList.add(Y.ItemLabelText);let p={iconElement:oe({filter:e,isChecked:()=>n(e),docId:c.docId,emoji:c.emoji}),textElement:se({label:l,isSelected:()=>r(e.id)}),onClick:t},m=P(p);return p.element?.addEventListener(A,async t=>{t.shiftKey&&a()!==e.id&&t.stopPropagation(),i(e)},!0),p.element?.classList.add(Y.Item),p.element&&(p.element.setAttribute(`role`,`menuitemcheckbox`),l.textContent&&p.element.setAttribute(`aria-label`,l.textContent)),d(()=>{p.element?.setAttribute(`aria-checked`,``+n(e))}),d(()=>{r(e.id)&&(p.element?.classList.add(Y.selected),s(()=>void p.element?.classList.remove(Y.selected)))}),{filter:e,textContent:l.textContent,buttonMenuItem:m,element:p.element,charSpansGroups:u,rtl:f}})}),le=({dialog:e,onNewDialog:t,isInFilter:r})=>{let i=!1;return async a=>{let o=v(n.managers);if(i||!a)return;let s=y(a);i=!0;try{await(r(a)?ne(s,e().peerId):te(s,e().peerId));let n=await o.dialogsStorage.getAnyDialog(e().peerId);if(!L(n))return;t(n)}catch{}finally{i=!1}}},ue=({folderItems:e,search:t,isSelected:n,setSelected:r})=>u(()=>{if(!t())return{folders:e(),visibleFoldersCount:e().length};let i=e().map(e=>({finderResult:G(e.textContent,t()),src:e})).sort(({finderResult:{found:e,score:t}},{finderResult:{found:n,score:r}})=>t===r?(e[0]||0)-(n[0]||0):r-t);r(0),s(()=>void r());let a=i.filter(({src:e,finderResult:t})=>{if(t.score>=ae)return d(()=>{n(e.filter.id)&&e.element.scrollIntoView({block:`center`})}),ie(e.charSpansGroups,t.found,e.rtl),!0;e.buttonMenuItem.forEach(e=>e.classList.add(Y.Hidden)),s(()=>void e.buttonMenuItem.forEach(e=>e.classList.remove(Y.Hidden)))}).length;return{folders:i.map(({src:e})=>e),visibleFoldersCount:a}}),de=({pivot:e})=>{let n=t;return setTimeout(()=>{n=void 0},200),s(()=>{n?.()}),{showHint:()=>{n||(n=z({element:e(),vertical:`top`,textElement:a(`AddToFolderTip`),lighter:!0,auto:!0,useOverlay:!1,onClose:()=>{n=void 0}}).close)},closeAndDisableTooltip:()=>{n?.(),n=t}}},fe=({search:e,setSearch:t,selected:n,setSelected:r,selectedFilter:i,currentFilter:a,onToggle:o,visibleFoldersCount:s})=>c=>{if([`ArrowUp`,`ArrowLeft`,`ArrowDown`,`ArrowRight`,`Enter`].includes(c.code)&&c.preventDefault(),c.code===`Escape`&&(e()?t(``):F.close()),c.code===`Enter`&&i()){o(i()),(!c.shiftKey||a()===i().id)&&F.close();return}if(typeof n()!=`number`)return;let l=I(),u=c.code===`ArrowUp`||c.code===l.previous?-1:+(c.code===`ArrowDown`||c.code===l.next);r(e=>(e+u+s())%s())},pe=w(`<input>`),me=w(`<div>`),he=w(`<div style=--max-visible-items:6>`),ge=8,_e=M({name:`add-to-folder-dropdown-menu`,component:(t,n,r)=>{t.element.classList.add(`btn-menu`,Y.Container),t.element.setAttribute(`role`,`menu`);let i,v,y,[w,D]=c(``),[j,M]=c(),[N,P]=c([]),F=_(()=>t.dialog,(e,t)=>!!t?.[`index_${e.localId}`]),I=u(()=>N()[j()]?.filter),L=_(()=>I()?.id),R=u(()=>t.filters.length>ge),z=le({dialog:()=>t.dialog,onNewDialog:e=>{t.dialog=e,t.onNewDialog?.(e)},isInFilter:F}),B=ue({folderItems:ce({filters:()=>t.filters,isInFilter:F,isSelected:L,onToggle:z,currentFilter:t.currentFilter}),search:w,isSelected:L,setSelected:M}),{showHint:V,closeAndDisableTooltip:H}=de({pivot:()=>i});r.closeTooltip=H;let U=fe({search:w,setSearch:D,selected:j,setSelected:M,selectedFilter:I,currentFilter:t.currentFilter,onToggle:z,visibleFoldersCount:()=>B().visibleFoldersCount});p(()=>{y?.addEventListener(A,e=>{e.stopPropagation()},!0)}),m(()=>{P(B().folders)}),d(()=>{typeof j()!=`number`&&v?.scrollIntoView({block:`center`})}),d(()=>{t.element.classList.toggle(Y.withScrollable,R())});let W=ee.registerEscapeHandler(()=>!w());s(()=>{t.onCleanup?.(),W()});let G=()=>l(f,{get each(){return B().folders},children:e=>e.buttonMenuItem});return l(h,{get when(){return R()},get fallback(){return l(G,{})},get children(){var t=he();return x(t,l(h,{when:!e,get children(){var e=pe();return C(e=>void setTimeout(()=>void e.focus(),100),e),E(e,`keydown`,U,!0),e.addEventListener(`blur`,e=>{e.target.focus()}),e.$$input=e=>void D(e.target.value),g(t=>{var n=Y.Input,r=o.format(`AddToFolderSearch`,!0);return n!==t.e&&T(e,t.e=n),r!==t.t&&S(e,`aria-label`,t.t=r),t},{e:void 0,t:void 0}),g(()=>e.value=w()),e}}),null),x(t,l(h,{get when(){return!B().visibleFoldersCount},get children(){return(()=>{let e=a(`AddToFolderEmptySearchResult`);return e.classList.add(Y.EmptySearchTip),e})()}}),null),x(t,l(k,{get class(){return Y.Scrollable},thumbRef:e=>void(y=e),get children(){return[l(h,{when:!e,get children(){var e=me();E(e,`pointerenter`,V);var t=v;return typeof t==`function`?C(t,e):v=e,x(e,()=>{let e=a(`AddToFolderSearch`);return e.classList.add(Y.LabelText),e},null),x(e,l(O,{ref(e){var t=i;typeof t==`function`?t(e):i=e},icon:`info`,"aria-hidden":!1,get"aria-label"(){return o.format(`AddToFolderTip`,!0)}}),null),g(()=>T(e,Y.Label)),e}}),l(G,{})]}}),null),g(n=>{var r=Y.ScrollableContainer,i={[Y.mobile]:e};return r!==n.e&&T(t,n.e=r),n.t=b(t,i,n.t),n},{e:void 0,t:void 0}),t}})}});D([`input`,`keydown`]);export{_e as default,Z as fetchDialogFilters};
//# sourceMappingURL=addToFolderDropdownMenu-Cq8P4qeo.js.map