nextcloud-server/dist/user_status-menu.js

2 lines
14 KiB
JavaScript

(()=>{var e,s,a,r={15340:()=>{},33114:(e,t,s)=>{"use strict";s.d(t,{A:()=>o});var a=s(85168),r=s(53334),n=s(95353),u=s(45369);const o={computed:{...(0,n.aH)({statusType:e=>e.userStatus.status,statusIsUserDefined:e=>e.userStatus.statusIsUserDefined,customIcon:e=>e.userStatus.icon,customMessage:e=>e.userStatus.message}),visibleMessage(){if(this.customIcon&&this.customMessage)return`${this.customIcon} ${this.customMessage}`;if(this.customMessage)return this.customMessage;if(this.statusIsUserDefined)switch(this.statusType){case"online":return(0,r.t)("user_status","Online");case"away":case"busy":return(0,r.t)("user_status","Away");case"dnd":return(0,r.t)("user_status","Do not disturb");case"invisible":return(0,r.t)("user_status","Invisible");case"offline":return(0,r.t)("user_status","Offline")}return(0,r.t)("user_status","Set status")}},methods:{async changeStatus(e){try{await this.$store.dispatch("setStatus",{statusType:e})}catch(e){(0,a.Qg)((0,r.t)("user_status","There was an error saving the new status")),u.v.debug(e)}}}}},45369:(e,t,s)=>{"use strict";s.d(t,{v:()=>a});const a=(0,s(35947).YK)().detectLogLevel().setApp("user_status").build()},47790:()=>{},51069:()=>{},53611:(e,t,s)=>{"use strict";s.d(t,{A:()=>a.N});var a=s(21618)},61913:(e,t,s)=>{"use strict";function a(){return new Date}s.d(t,{R:()=>a})},63779:()=>{},64688:()=>{},66089:()=>{},67789:(e,t,s)=>{"use strict";s.d(t,{A:()=>o});var a=s(71354),r=s.n(a),n=s(76314),u=s.n(n)()(r());u.push([e.id,".user-status-icon[data-v-3ecfc87b]{width:20px;height:20px;margin:calc((var(--default-clickable-area) - 20px)/2);opacity:1 !important;background-size:20px;vertical-align:middle !important}","",{version:3,sources:["webpack://./apps/user_status/src/UserStatus.vue"],names:[],mappings:"AACA,mCACC,UAAA,CACA,WAAA,CACA,qDAAA,CACA,oBAAA,CACA,oBAAA,CACA,gCAAA",sourcesContent:["\n.user-status-icon {\n\twidth: 20px;\n\theight: 20px;\n\tmargin: calc((var(--default-clickable-area) - 20px) / 2); // 20px icon size\n\topacity: 1 !important;\n\tbackground-size: 20px;\n\tvertical-align: middle !important;\n}\n"],sourceRoot:""}]);const o=u},73776:()=>{},77199:()=>{},77965:()=>{},78982:()=>{},79368:()=>{},79838:()=>{},82495:(e,s,a)=>{"use strict";var r=a(21777),n=a(61338),u=a(85471),o=a(17334),i=a.n(o),c=a(54914),d=a(74095),l=a(1522),m=a(53611),p=a(45369),f=a(33114),g=a(19051),v=a(63814);const h={name:"UserStatus",components:{Fragment:c.F,NcButton:d.A,NcListItem:l.A,NcUserStatusIcon:m.A,SetStatusModal:()=>Promise.all([a.e(4208),a.e(5133)]).then(a.bind(a,25750))},mixins:[f.A],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=i()(()=>{const e=this.isAway;this.isAway=!1,clearTimeout(this.setAwayTimeout),setTimeout(this.setAwayTimeout,12e4),e&&this._backgroundHeartbeat()},2e3,!0),window.addEventListener("mousemove",this.mouseMoveListener,{capture:!0,passive:!0}),this._backgroundHeartbeat()),(0,n.B1)("user_status:status.updated",this.handleUserStatusUpdated)},beforeDestroy(){window.removeEventListener("mouseMove",this.mouseMoveListener),clearInterval(this.heartbeatInterval),(0,n.al)("user_status:status.updated",this.handleUserStatusUpdated)},methods:{openModal(){this.isModalOpen=!0},closeModal(){this.isModalOpen=!1},async _backgroundHeartbeat(){try{const e=await async function(e){const t=(0,v.KT)("apps/user_status/api/v1/heartbeat?format=json");return(await g.Ay.put(t,{status:e?"away":"online"})).data.ocs.data}(this.isAway);e?.userId?this.$store.dispatch("setStatusFromHeartbeat",e):await this.$store.dispatch("reFetchStatusFromServer")}catch(e){p.v.debug("Failed sending heartbeat, got: "+e.response?.status)}},handleUserStatusUpdated(e){(0,r.HW)()?.uid===e.userId&&this.$store.dispatch("setStatusFromObject",{status:e.status,icon:e.icon,message:e.message})}}};var A=a(85072),y=a.n(A),b=a(97825),S=a.n(b),I=a(77659),w=a.n(I),_=a(55056),M=a.n(_),T=a(10540),C=a.n(T),k=a(41113),O=a.n(k),P=a(67789),F={};F.styleTagTransform=O(),F.setAttributes=M(),F.insert=w().bind(null,"head"),F.domAPI=S(),F.insertStyleElement=C(),y()(P.A,F),P.A&&P.A.locals&&P.A.locals;const U=(0,a(14486).A)(h,function(){var e=this,t=e._self._c;return t("Fragment",[e.inline?t("div",[t("NcButton",{on:{click:function(t){return t.stopPropagation(),e.openModal.apply(null,arguments)}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("NcUserStatusIcon",{staticClass:"user-status-icon",attrs:{status:e.statusType,"aria-hidden":"true"}})]},proxy:!0}])},[e._v("\n\t\t\t"+e._s(e.visibleMessage)+"\n\t\t")])],1):t("NcListItem",{staticClass:"user-status-menu-item",attrs:{compact:"",name:e.visibleMessage},on:{click:function(t){return t.stopPropagation(),e.openModal.apply(null,arguments)}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("NcUserStatusIcon",{staticClass:"user-status-icon",attrs:{status:e.statusType,"aria-hidden":"true"}})]},proxy:!0}],null,!1,2300440294)}),e._v(" "),e.isModalOpen?t("SetStatusModal",{attrs:{inline:e.inline},on:{close:e.closeModal}}):e._e()],1)},[],!1,null,"3ecfc87b",null).exports;var x=a(95353);const j={state:{predefinedStatuses:[]},mutations:{addPredefinedStatus(e,t){e.predefinedStatuses=[...e.predefinedStatuses,t]}},getters:{statusesHaveLoaded:e=>e.predefinedStatuses.length>0},actions:{async loadAllPredefinedStatuses({state:e,commit:t}){if(e.predefinedStatuses.length>0)return;const s=await async function(){const e=(0,v.KT)("apps/user_status/api/v1/predefined_statuses?format=json");return(await g.Ay.get(e)).data.ocs.data}();for(const e of s)t("addPredefinedStatus",e)}}},D={state:{status:null,statusIsUserDefined:null,message:null,icon:null,clearAt:null,messageIsPredefined:null,messageId:null},mutations:{loadBackupStatusFromServer(e,{status:t,statusIsUserDefined:s,message:a,icon:r,clearAt:n,messageIsPredefined:u,messageId:o}){e.status=t,e.message=a,e.icon=r,void 0!==s&&(e.statusIsUserDefined=s),void 0!==n&&(e.clearAt=n),void 0!==u&&(e.messageIsPredefined=u),void 0!==o&&(e.messageId=o)}},getters:{},actions:{async fetchBackupFromServer({commit:e}){try{e("loadBackupStatusFromServer",await async function(e){const t=(0,v.KT)("apps/user_status/api/v1/statuses/{userId}",{userId:"_"+e});return(await g.Ay.get(t)).data.ocs.data}((0,r.HW)()?.uid))}catch{}},async revertBackupFromServer({commit:e},{messageId:t}){const s=await async function(e){const t=(0,v.KT)("apps/user_status/api/v1/user_status/revert/{messageId}",{messageId:e});return(await g.Ay.delete(t)).data.ocs.data}(t);s&&(e("loadBackupStatusFromServer",{}),e("loadStatusFromServer",s),(0,n.Ic)("user_status:status.updated",{status:s.status,message:s.message,icon:s.icon,clearAt:s.clearAt,userId:(0,r.HW)()?.uid}))}}};var B=a(81222),H=a(51651),L=a(61913);function E(e){if(null===e)return null;const t=(0,L.R)();if("period"===e.type)return t.setSeconds(t.getSeconds()+e.time),Math.floor(t.getTime()/1e3);if("end-of"===e.type)switch(e.time){case"day":case"week":return Number((0,H.A)(t).endOf(e.time).format("X"))}return"_time"===e.type?e.time:null}const N={state:{status:null,statusIsUserDefined:null,message:null,icon:null,clearAt:null,messageIsPredefined:null,messageId:null},mutations:{setStatus(e,{statusType:t}){e.status=t,e.statusIsUserDefined=!0},setPredefinedMessage(e,{messageId:t,clearAt:s,message:a,icon:r}){e.messageId=t,e.messageIsPredefined=!0,e.message=a,e.icon=r,e.clearAt=s},setCustomMessage(e,{message:t,icon:s,clearAt:a}){e.messageId=null,e.messageIsPredefined=!1,e.message=t,e.icon=s,e.clearAt=a},clearMessage(e){e.messageId=null,e.messageIsPredefined=!1,e.message=null,e.icon=null,e.clearAt=null},loadStatusFromServer(e,{status:t,statusIsUserDefined:s,message:a,icon:r,clearAt:n,messageIsPredefined:u,messageId:o}){e.status=t,e.message=a,e.icon=r,void 0!==s&&(e.statusIsUserDefined=s),void 0!==n&&(e.clearAt=n),void 0!==u&&(e.messageIsPredefined=u),void 0!==o&&(e.messageId=o)}},getters:{},actions:{async setStatus({commit:e,state:t},{statusType:s}){await async function(e){const t=(0,v.KT)("apps/user_status/api/v1/user_status/status");await g.Ay.put(t,{statusType:e})}(s),e("setStatus",{statusType:s}),(0,n.Ic)("user_status:status.updated",{status:t.status,message:t.message,icon:t.icon,clearAt:t.clearAt,userId:(0,r.HW)()?.uid})},async setStatusFromObject({commit:e},t){e("loadStatusFromServer",t)},async setPredefinedMessage({commit:e,rootState:t,state:s},{messageId:a,clearAt:u}){const o=E(u);await async function(e,t=null){const s=(0,v.KT)("apps/user_status/api/v1/user_status/message/predefined?format=json");await g.Ay.put(s,{messageId:e,clearAt:t})}(a,o);const i=t.predefinedStatuses.predefinedStatuses.find(e=>e.id===a),{message:c,icon:d}=i;e("setPredefinedMessage",{messageId:a,clearAt:o,message:c,icon:d}),(0,n.Ic)("user_status:status.updated",{status:s.status,message:s.message,icon:s.icon,clearAt:s.clearAt,userId:(0,r.HW)()?.uid})},async setCustomMessage({commit:e,state:t},{message:s,icon:a,clearAt:u}){const o=E(u);await async function(e,t=null,s=null){const a=(0,v.KT)("apps/user_status/api/v1/user_status/message/custom?format=json");await g.Ay.put(a,{message:e,statusIcon:t,clearAt:s})}(s,a,o),e("setCustomMessage",{message:s,icon:a,clearAt:o}),(0,n.Ic)("user_status:status.updated",{status:t.status,message:t.message,icon:t.icon,clearAt:t.clearAt,userId:(0,r.HW)()?.uid})},async clearMessage({commit:e,state:t}){await async function(){const e=(0,v.KT)("apps/user_status/api/v1/user_status/message?format=json");await g.Ay.delete(e)}(),e("clearMessage"),(0,n.Ic)("user_status:status.updated",{status:t.status,message:t.message,icon:t.icon,clearAt:t.clearAt,userId:(0,r.HW)()?.uid})},async reFetchStatusFromServer({commit:e}){e("loadStatusFromServer",await async function(){const e=(0,v.KT)("apps/user_status/api/v1/user_status");return(await g.Ay.get(e)).data.ocs.data}())},async setStatusFromHeartbeat({commit:e},t){e("loadStatusFromServer",t)},loadStatusFromInitialState({commit:e}){e("loadStatusFromServer",(0,B.C)("user_status","status"))}}};u.Ay.use(x.Ay);const $=new x.il({modules:{predefinedStatuses:j,userStatus:N,userBackupStatus:D},strict:!0});function K(){const e=document.getElementById("user_status-menu-entry");new u.Ay({el:e,render:e=>e(U),store:$})}a.nc=(0,r.aV)(),u.Ay.prototype.t=t,u.Ay.prototype.$t=t,document.getElementById("user_status-menu-entry")?K():(0,n.B1)("core:user-menu:mounted",K),document.addEventListener("DOMContentLoaded",function(){OCA.Dashboard&&OCA.Dashboard.registerStatus("status",e=>new(u.Ay.extend(U))({propsData:{inline:!0},store:$}).$mount(e))})}},n={};function u(e){var t=n[e];if(void 0!==t)return t.exports;var s=n[e]={id:e,loaded:!1,exports:{}};return r[e].call(s.exports,s,s.exports,u),s.loaded=!0,s.exports}u.m=r,e=[],u.O=(t,s,a,r)=>{if(!s){var n=1/0;for(d=0;d<e.length;d++){for(var[s,a,r]=e[d],o=!0,i=0;i<s.length;i++)(!1&r||n>=r)&&Object.keys(u.O).every(e=>u.O[e](s[i]))?s.splice(i--,1):(o=!1,r<n&&(n=r));if(o){e.splice(d--,1);var c=a();void 0!==c&&(t=c)}}return t}r=r||0;for(var d=e.length;d>0&&e[d-1][2]>r;d--)e[d]=e[d-1];e[d]=[s,a,r]},u.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return u.d(t,{a:t}),t},u.d=(e,t)=>{for(var s in t)u.o(t,s)&&!u.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},u.f={},u.e=e=>Promise.all(Object.keys(u.f).reduce((t,s)=>(u.f[s](e,t),t),[])),u.u=e=>(5133===e?"user-status-modal":e)+"-"+e+".js?v="+{594:"706f8e77fcd637f25ccf",620:"8e3c118f58088ce04c74",2391:"a1c7f293d21dd6ef8096",2880:"62fd555d64b20d9a6c97",4325:"cc118df199f1941c08e4",5133:"8b1697ff161c7cf6af79",5862:"4ca96c4f928b038599cf",7145:"375037f0ab8e6cfa581e",8339:"3f9cf3b616cfbc0082d4"}[e],u.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),u.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s={},a="nextcloud:",u.l=(e,t,r,n)=>{if(s[e])s[e].push(t);else{var o,i;if(void 0!==r)for(var c=document.getElementsByTagName("script"),d=0;d<c.length;d++){var l=c[d];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==a+r){o=l;break}}o||(i=!0,(o=document.createElement("script")).charset="utf-8",u.nc&&o.setAttribute("nonce",u.nc),o.setAttribute("data-webpack",a+r),o.src=e),s[e]=[t];var m=(t,a)=>{o.onerror=o.onload=null,clearTimeout(p);var r=s[e];if(delete s[e],o.parentNode&&o.parentNode.removeChild(o),r&&r.forEach(e=>e(a)),t)return t(a)},p=setTimeout(m.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=m.bind(null,o.onerror),o.onload=m.bind(null,o.onload),i&&document.head.appendChild(o)}},u.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},u.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),u.j=9953,(()=>{var e;u.g.importScripts&&(e=u.g.location+"");var t=u.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var s=t.getElementsByTagName("script");if(s.length)for(var a=s.length-1;a>-1&&(!e||!/^http(s?):/.test(e));)e=s[a--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),u.p=e})(),(()=>{u.b="undefined"!=typeof document&&document.baseURI||self.location.href;var e={9953:0};u.f.j=(t,s)=>{var a=u.o(e,t)?e[t]:void 0;if(0!==a)if(a)s.push(a[2]);else{var r=new Promise((s,r)=>a=e[t]=[s,r]);s.push(a[2]=r);var n=u.p+u.u(t),o=new Error;u.l(n,s=>{if(u.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var r=s&&("load"===s.type?"missing":s.type),n=s&&s.target&&s.target.src;o.message="Loading chunk "+t+" failed.\n("+r+": "+n+")",o.name="ChunkLoadError",o.type=r,o.request=n,a[1](o)}},"chunk-"+t,t)}},u.O.j=t=>0===e[t];var t=(t,s)=>{var a,r,[n,o,i]=s,c=0;if(n.some(t=>0!==e[t])){for(a in o)u.o(o,a)&&(u.m[a]=o[a]);if(i)var d=i(u)}for(t&&t(s);c<n.length;c++)r=n[c],u.o(e,r)&&e[r]&&e[r][0](),e[r]=0;return u.O(d)},s=self.webpackChunknextcloud=self.webpackChunknextcloud||[];s.forEach(t.bind(null,0)),s.push=t.bind(null,s.push.bind(s))})(),u.nc=void 0;var o=u.O(void 0,[4208],()=>u(82495));o=u.O(o)})();
//# sourceMappingURL=user_status-menu.js.map?v=c0c7e5a9a7015d28e536