nextcloud/dist/user_status-menu.js

3 lines
20 KiB
JavaScript
Raw Normal View History

/*! For license information please see user_status-menu.js.LICENSE.txt */
(()=>{var e,s,a,r={43492:(e,s,a)=>{"use strict";var r=a(20144),n=a(77958),o=a(69183),u=a(74628),i=a(20296),c=a.n(i),l=a(93664),d=a(79753),m=a(84387),p=a(25108);const g={name:"UserStatus",components:{NcButton:u.Z,SetStatusModal:()=>Promise.all([a.e(7874),a.e(8299)]).then(a.bind(a,76611))},mixins:[m.Z],props:{inline:{type:Boolean,default:!1}},data:()=>({heartbeatInterval:null,isAway:!1,isModalOpen:!1,mouseMoveListener:null,setAwayTimeout:null}),mounted(){this.$store.dispatch("loadStatusFromInitialState"),OC.config.session_keepalive&&(this.heartbeatInterval=setInterval(this._backgroundHeartbeat.bind(this),3e5),this.setAwayTimeout=()=>{this.isAway=!0},this.mouseMoveListener=c()((()=>{const t=this.isAway;this.isAway=!1,clearTimeout(this.setAwayTimeout),setTimeout(this.setAwayTimeout,12e4),t&&this._backgroundHeartbeat()}),2e3,!0),window.addEventListener("mousemove",this.mouseMoveListener,{capture:!0,passive:!0}),this._backgroundHeartbeat()),(0,o.Ld)("user_status:status.updated",this.handleUserStatusUpdated)},beforeDestroy(){window.removeEventListener("mouseMove",this.mouseMoveListener),clearInterval(this.heartbeatInterval),(0,o.r1)("user_status:status.updated",this.handleUserStatusUpdated)},methods:{openModal(){this.isModalOpen=!0},closeModal(){this.isModalOpen=!1},async _backgroundHeartbeat(){try{const t=await(async t=>{const e=(0,d.generateOcsUrl)("apps/user_status/api/v1/heartbeat?format=json");return(await l.Z.put(e,{status:t?"away":"online"})).data.ocs.data})(this.isAway);t?.userId?this.$store.dispatch("setStatusFromHeartbeat",t):await this.$store.dispatch("reFetchStatusFromServer")}catch(t){p.debug("Failed sending heartbeat, got: "+t.response?.status)}},handleUserStatusUpdated(t){OC.getCurrentUser().uid===t.userId&&this.$store.dispatch("setStatusFromObject",{status:t.status,icon:t.icon,message:t.message})}}};var h=a(93379),f=a.n(h),v=a(7795),j=a.n(v),b=a(90569),A=a.n(b),y=a(3565),k=a.n(y),w=a(19216),S=a.n(w),C=a(44589),I=a.n(C),_=a(95248),x={};x.styleTagTransform=I(),x.setAttributes=k(),x.insert=A().bind(null,"head"),x.domAPI=j(),x.insertStyleElement=S(),f()(_.Z,x),_.Z&&_.Z.locals&&_.Z.locals;const O=(0,a(51900).Z)(g,(function(){var t=this,e=t._self._c;return e(t.inline?"div":"li",{tag:"component"},[t.inline?e("NcButton",{attrs:{icon:t.statusIcon},on:{click:function(e){return e.stopPropagation(),t.openModal.apply(null,arguments)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("span",{staticClass:"user-status-icon",class:t.statusIcon,attrs:{"aria-hidden":"true"}})]},proxy:!0}])},[t._v("\n\t\t"+t._s(t.visibleMessage)+"\n\t")]):e("button",{staticClass:"user-status-menu-item",on:{click:function(e){return e.stopPropagation(),t.openModal.apply(null,arguments)}}},[e("span",{staticClass:"user-status-icon",class:t.statusIcon,attrs:{"aria-hidden":"true"}}),t._v("\n\t\t"+t._s(t.visibleMessage)+"\n\t")]),t._v(" "),t.isModalOpen?e("SetStatusModal",{on:{close:t.closeModal}}):t._e()],1)}),[],!1,null,"754ee57b",null).exports;var M=a(20629);const U={state:{predefinedStatuses:[]},mutations:{addPredefinedStatus(t,e){t.predefinedStatuses=[...t.predefinedStatuses,e]}},getters:{statusesHaveLoaded:t=>t.predefinedStatuses.length>0},actions:{async loadAllPredefinedStatuses(t){let{state:e,commit:s}=t;if(e.predefinedStatuses.length>0)return;const a=await(async()=>{const t=(0,d.generateOcsUrl)("apps/user_status/api/v1/predefined_statuses?format=json");return(await l.Z.get(t)).data.ocs.data})();for(const t of a)s("addPredefinedStatus",t)}}};var z=a(43554),P=a(64039),T=a(80351),F=a.n(T);const D=t=>{if(null===t)return null;const e=(0,P.n)();if("period"===t.type)return e.setSeconds(e.getSeconds()+t.time),Math.floor(e.getTime()/1e3);if("end-of"===t.type)switch(t.time){case"day":case"week":return Number(F()(e).endOf(t.time).format("X"))}return"_time"===t.type?t.time:null},E={state:{status:null,statusIsUserDefined:null,message:null,icon:null,clearAt:null,messageIsPredefined:null,messageId:null},mutations:{setStatus(t,e){let{statusType:s}=e;t.status=s,t.statusIsUserDefined=!0},setPredefinedMessage(t,e){let{messageId:s,clearAt:a,message:r,icon:n}=e;
//# sourceMappingURL=user_status-menu.js.map?v=23a68864f83a2faa1cca