← Back
Editing: mail.delegation-modal.bb31a2a233f987ed0556.js
(globalThis.webpackChunknextcloud_mail=globalThis.webpackChunknextcloud_mail||[]).push([[1989],{8533(e,t,a){"use strict";a.d(t,{A:()=>o});var s=a(71354),i=a.n(s),l=a(76314),n=a.n(l)()(i());n.push([e.id,".delegation-modal[data-v-2b50ca03]{padding:var(--default-grid-baseline) calc(var(--default-grid-baseline)*3) calc(var(--default-grid-baseline)*3)}.delegation-modal h2[data-v-2b50ca03]{margin:0;text-align:center}.delegation-modal__section[data-v-2b50ca03]{margin-top:calc(var(--default-grid-baseline)*3)}.delegation-modal__description[data-v-2b50ca03]{color:var(--color-text-maxcontrast);margin-bottom:calc(var(--default-grid-baseline)*2)}.add-delegates-dialog__description[data-v-2b50ca03]{color:var(--color-text-maxcontrast);padding:calc(var(--default-grid-baseline)*2) 0}.add-delegates-dialog__select[data-v-2b50ca03]{width:100%}.revoke-dialog__text[data-v-2b50ca03]{padding-bottom:calc(var(--default-grid-baseline)*2)}","",{version:3,sources:["webpack://./src/components/DelegationModal.vue"],names:[],mappings:"AACA,mCACC,8GAAA,CACA,sCACC,QAAA,CACA,iBAAA,CAED,4CACC,+CAAA,CAGD,gDACC,mCAAA,CACA,kDAAA,CAKD,oDACC,mCAAA,CACA,8CAAA,CAED,+CACC,UAAA,CAKD,sCACC,mDAAA",sourcesContent:["\n.delegation-modal {\n\tpadding: var(--default-grid-baseline) calc(var(--default-grid-baseline) * 3) calc(var(--default-grid-baseline) * 3);\n\th2 {\n\t\tmargin: 0;\n\t\ttext-align: center;\n\t}\n\t&__section {\n\t\tmargin-top: calc(var(--default-grid-baseline) * 3);\n\t}\n\n\t&__description {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tmargin-bottom: calc(var(--default-grid-baseline) * 2);\n\t}\n}\n\n.add-delegates-dialog{\n\t&__description{\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tpadding: calc(var(--default-grid-baseline) * 2) 0;\n\t}\n\t&__select{\n\t\twidth: 100%;\n\t}\n}\n\n.revoke-dialog {\n\t&__text{\n\t\tpadding-bottom: calc(var(--default-grid-baseline) * 2);\n\t}\n}\n"],sourceRoot:""}]);const o=n},63668(e){e.exports='<svg xmlns="http://www.w3.org/2000/svg" id="mdi-check" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg>'},64920(e,a,s){"use strict";s.r(a),s.d(a,{default:()=>T});var i=s(63668),l=s.n(i),n=s(21777),o=s(72302),r=s(85168),d=s(63814),c=s(40715),g=s(78034),u=s(12572),m=s.n(u),v=s(56702),h=s(49954),p=s(85745);const A={name:"DelegationModal",components:{NcAvatar:g.Bx,NcButton:g.x1,NcDialog:g.i$,NcListItem:g.l,NcModal:g.FH,NcSelectUsers:g.cy,NcLoadingIcon:g.ne,IconClose:v.A,IconPlus:h.A},props:{account:{type:Object,required:!0}},data:()=>({view:"main",delegates:[],loading:!0,revokeUser:null,selectedUser:null,userSuggestions:[],searchLoading:!1,delegating:!1}),computed:{addDelegateButtons(){return[{label:t("mail","Cancel"),type:"tertiary",disabled:this.delegating,callback:()=>{this.closeDialog()}},{label:t("mail","Delegate access"),type:"primary",icon:l(),disabled:!this.selectedUser||this.delegating,callback:async()=>{await this.addDelegate()}}]},revokeButtons(){return[{label:t("mail","Cancel"),type:"tertiary",callback:()=>{this.closeDialog()}},{label:t("mail","Revoke"),type:"error",callback:async()=>{await this.revokeDelegate()}}]},revokeText(){return this.revokeUser?t("mail","{userId} will no longer be able to act on your behalf",{userId:this.revokeUser.displayName||this.revokeUser.userId}):""}},async mounted(){await this.fetchDelegates(),this.loading=!1},methods:{async fetchDelegates(){try{this.delegates=await async function(e){const t=(0,d.Jv)("/apps/mail/api/delegations/{accountId}",{accountId:e}),{data:a}=await o.Ay.get(t);return a}(this.account.accountId)}catch(e){p.A.error("Could not fetch delegates",{error:e}),(0,r.Qg)(t("mail","Could not fetch delegates"))}},openAddDelegate(){this.view="add"},confirmRevoke(e){this.revokeUser=e,this.view="revoke"},onSearch(e){this.debounceGetSuggestions(e.trim())},debounceGetSuggestions:m()(300,(function(...e){this.getSuggestions(...e)})),async getSuggestions(e){if(e){this.searchLoading=!0;try{const t=await o.Ay.get((0,d.KT)("apps/files_sharing/api/v1/sharees"),{params:{format:"json",itemType:"file",search:e,shareTypes:[c.I.User]}}),a=t.data.ocs.data,s=t.data.ocs.data.exact.users.concat(a.users),i=(0,n.HW)().uid,l=this.delegates.map((e=>e.userId));this.userSuggestions=s.map((e=>({id:e.value.shareWith,displayName:e.name||e.label,subname:e.value.shareWith,user:e.value.shareWith}))).filter((e=>e.id!==i&&!l.includes(e.id)))}catch(e){p.A.error("Error fetching user suggestions",{error:e})}finally{this.searchLoading=!1}}else this.userSuggestions=[]},async addDelegate(){if(this.selectedUser){this.delegating=!0;try{const e=await async function(e,t){const a=(0,d.Jv)("/apps/mail/api/delegations/{accountId}",{accountId:e}),{data:s}=await o.Ay.post(a,{userId:t});return s}(this.account.accountId,this.selectedUser.id);this.delegates.push({...e,displayName:this.selectedUser.displayName}),(0,r.Te)(t("mail","Delegated access to {displayName}",{displayName:this.selectedUser.displayName||this.selectedUser.id}))}catch(e){p.A.error("Could not delegate access",{error:e}),(0,r.Qg)(t("mail","Could not delegate access"))}finally{this.delegating=!1,this.closeDialog()}}},async revokeDelegate(){if(this.revokeUser)try{await async function(e,t){const a=(0,d.Jv)("/apps/mail/api/delegations/{accountId}/{userId}",{accountId:e,userId:t}),{data:s}=await o.Ay.delete(a);return s}(this.account.accountId,this.revokeUser.userId),this.delegates=this.delegates.filter((e=>e.userId!==this.revokeUser.userId)),(0,r.Te)(t("mail","Revoked access for {displayName}",{displayName:this.revokeUser.displayName}))}catch(e){p.A.error("Could not revoke delegation",{error:e}),(0,r.Qg)(t("mail","Could not revoke delegation"))}},closeDialog(){this.view="main"}}};var b=s(85072),y=s.n(b),C=s(97825),f=s.n(C),_=s(77659),k=s.n(_),w=s(55056),D=s.n(w),I=s(10540),x=s.n(I),N=s(41113),U=s.n(N),S=s(8533),L={};L.styleTagTransform=U(),L.setAttributes=D(),L.insert=k().bind(null,"head"),L.domAPI=f(),L.insertStyleElement=x(),y()(S.A,L),S.A&&S.A.locals&&S.A.locals;const T=(0,s(14486).A)(A,(function(){var e=this,t=e._self._c;return"main"===e.view?t("NcModal",{attrs:{size:"normal","label-id":"delegation-modal-title"},on:{close:function(t){return e.$emit("close")}}},[t("div",{staticClass:"delegation-modal"},[t("h2",{attrs:{id:"delegation-modal-title"}},[e._v("\n\t\t\t"+e._s(e.t("mail","Delegation"))+"\n\t\t")]),e._v(" "),t("div",{staticClass:"delegation-modal__section"},[t("p",{staticClass:"delegation-modal__description"},[e._v("\n\t\t\t\t"+e._s(e.t("mail","Allow users to send, receive, and delete mail on your behalf"))+"\n\t\t\t")]),e._v(" "),e.loading?t("div",{staticClass:"filter-list__loading"},[t("NcLoadingIcon")],1):t("ul",e._l(e.delegates,(function(a){return t("NcListItem",{key:a.userId,attrs:{name:a.displayName||a.userId},scopedSlots:e._u([{key:"icon",fn:function(){return[t("NcAvatar",{attrs:{"disable-menu":"",size:34,user:a.userId}})]},proxy:!0},{key:"extra-actions",fn:function(){return[t("NcButton",{attrs:{title:e.t("mail","Revoke access"),"aria-label":e.t("mail","Revoke access"),variant:"tertiary-no-background"},on:{click:function(t){return e.confirmRevoke(a)}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("IconClose",{attrs:{size:20}})]},proxy:!0}],null,!0)})]},proxy:!0}],null,!0)})})),1),e._v(" "),t("NcButton",{attrs:{wide:"",variant:"secondary"},on:{click:e.openAddDelegate},scopedSlots:e._u([{key:"icon",fn:function(){return[t("IconPlus",{attrs:{size:20}})]},proxy:!0}],null,!1,1991456921)},[e._v("\n\t\t\t\t"+e._s(e.t("mail","Add delegate"))+"\n\t\t\t")])],1)])]):"add"===e.view?t("NcDialog",{staticClass:"add-delegates-dialog",attrs:{open:"add"===e.view,name:e.t("mail","Add delegate"),buttons:e.addDelegateButtons},on:{closing:e.closeDialog}},[t("NcSelectUsers",{staticClass:"add-delegates-dialog__select",attrs:{"input-label":e.t("mail","Select a user"),options:e.userSuggestions,loading:e.searchLoading,placeholder:e.t("mail","Select a user")},on:{search:e.onSearch},model:{value:e.selectedUser,callback:function(t){e.selectedUser=t},expression:"selectedUser"}}),e._v(" "),t("p",{staticClass:"add-delegates-dialog__description"},[e._v("\n\t\t"+e._s(e.t("mail","They will be able to send, receive, and delete mail on your behalf"))+"\n\t")])],1):"revoke"===e.view?t("NcDialog",{staticClass:"revoke-dialog",attrs:{open:"revoke"===e.view,name:e.t("mail","Revoke access?"),buttons:e.revokeButtons},on:{closing:e.closeDialog}},[t("p",{staticClass:"revoke-dialog__text"},[e._v("\n\t\t"+e._s(e.revokeText)+"\n\t")])]):e._e()}),[],!1,null,"2b50ca03",null).exports}}]); //# sourceMappingURL=mail.delegation-modal.bb31a2a233f987ed0556.js.map
Save File
Cancel