123 |
- /*! For license information please see dav-settings-personal-availability.js.LICENSE.txt */
- (()=>{"use strict";var a,n={36824:(a,n,e)=>{var i=e(20144),o=e(31352),d=e(49683),l=e(79954),r=e(64024),s=e(14596),A=e(4820),p=e(56580),c=e.n(p),v=e(79753),u=e(45994);const C=c()((t=>(A.default.defaults.headers["X-Requested-With"]="XMLHttpRequest",s.lD().patch("request",A.default),s.eI((0,v.generateRemoteUrl)("dav/".concat(t,"/").concat((0,u.ts)().uid)))))),y=(0,e(17499).IY)().setApp("dav").detectUser().build();var m=e(10861),f=e.n(m),b=e(20571),x=e.n(b),g=e(13299),h=e.n(g),w=e(31144),k=e.n(w),B=e(25108);const S={name:"Availability",components:{NcButton:f(),NcCheckboxRadioSwitch:x(),CalendarAvailability:d.Dx,NcSettingsSection:h(),NcTimezonePicker:k()},data(){var t,a,n;return{loading:!0,saving:!1,timezone:null!==(t=null===(a=new Intl.DateTimeFormat)||void 0===a||null===(n=a.resolvedOptions())||void 0===n?void 0:n.timeZone)&&void 0!==t?t:"UTC",slots:{MO:[],TU:[],WE:[],TH:[],FR:[],SA:[],SU:[]},automated:"yes"===(0,l.j)("dav","user_status_automation")}},async mounted(){try{const t=await async function(){var t,a,n;const e=C("calendars"),i=await e.customRequest("inbox",{method:"PROPFIND",data:'<?xml version="1.0"?>\n\t\t\t<x0:propfind xmlns:x0="DAV:">\n\t\t\t <x0:prop>\n\t\t\t\t<x1:calendar-availability xmlns:x1="urn:ietf:params:xml:ns:caldav"/>\n\t\t\t </x0:prop>\n\t\t\t</x0:propfind>'}),o=await(0,s.sw)(i.data);if(!o)return;const l=null==o||null===(t=o.multistatus)||void 0===t||null===(a=t.response[0])||void 0===a||null===(n=a.propstat)||void 0===n?void 0:n.prop["calendar-availability"];return l?(0,d.Xg)(l):void 0}();if(t){const{slots:a,timezoneId:n}=t;this.slots=a,n&&(this.timezone=n),B.info("availability loaded",this.slots,this.timezoneId)}else B.info("no availability is set"),this.slots={MO:[],TU:[],WE:[],TH:[],FR:[],SA:[],SU:[]}}catch(a){B.error("could not load existing availability",a),(0,r.x2)(t("dav","Failed to load availability"))}finally{this.loading=!1}},methods:{async save(){try{this.saving=!0,await async function(t,a){const n=[...Object.keys(t).flatMap((a=>t[a].map((t=>({...t,day:a})))))],e=(0,d.ST)(n,a);y.debug("New availability ical created",{vavailability:e});const i=C("calendars");await i.customRequest("inbox",{method:"PROPPATCH",data:'<?xml version="1.0"?>\n\t\t\t<x0:propertyupdate xmlns:x0="DAV:">\n\t\t\t <x0:set>\n\t\t\t\t<x0:prop>\n\t\t\t\t <x1:calendar-availability xmlns:x1="urn:ietf:params:xml:ns:caldav">'.concat(e,"</x1:calendar-availability>\n\t\t\t\t</x0:prop>\n\t\t\t </x0:set>\n\t\t\t</x0:propertyupdate>")})}(this.slots,this.timezone),this.automated?await async function(){return await A.default.post((0,v.generateOcsUrl)("/apps/provisioning_api/api/v1/config/users/{appId}/{configKey}",{appId:"dav",configKey:"user_status_automation"}),{configValue:"yes"})}():await async function(){return await A.default.delete((0,v.generateOcsUrl)("/apps/provisioning_api/api/v1/config/users/{appId}/{configKey}",{appId:"dav",configKey:"user_status_automation"}))}(),(0,r.s$)(t("dav","Saved availability"))}catch(a){B.error("could not save availability",a),(0,r.x2)(t("dav","Failed to save availability"))}finally{this.saving=!1}}}};var _=e(93379),D=e.n(_),O=e(7795),T=e.n(O),$=e(90569),E=e.n($),z=e(3565),I=e.n(z),U=e(19216),R=e.n(U),P=e(44589),j=e.n(P),N=e(32413),F={};F.styleTagTransform=j(),F.setAttributes=I(),F.insert=E().bind(null,"head"),F.domAPI=T(),F.insertStyleElement=R(),D()(N.Z,F),N.Z&&N.Z.locals&&N.Z.locals;const q=(0,e(51900).Z)(S,(function(){var t=this,a=t._self._c;return a("NcSettingsSection",{attrs:{title:t.$t("dav","Availability"),description:t.$t("dav","If you configure your working hours, other users will see when you are out of office when they book a meeting.")}},[a("div",{staticClass:"time-zone"},[a("strong",[t._v("\n\t\t\t"+t._s(t.$t("dav","Time zone:"))+"\n\t\t")]),t._v(" "),a("span",{staticClass:"time-zone-text"},[a("NcTimezonePicker",{model:{value:t.timezone,callback:function(a){t.timezone=a},expression:"timezone"}})],1)]),t._v(" "),a("CalendarAvailability",{attrs:{slots:t.slots,loading:t.loading,"l10n-to":t.$t("dav","to"),"l10n-delete-slot":t.$t("dav","Delete slot"),"l10n-empty-day":t.$t("dav","No working hours set"),"l10n-add-slot":t.$t("dav","Add slot"),"l10n-monday":t.$t("dav","Monday"),"l10n-tuesday":t.$t("dav","Tuesday"),"l10n-wednesday":t.$t("dav","Wednesday"),"l10n-thursday":t.$t("dav","Thursday"),"l10n-friday":t.$t("dav","Friday"),"l10n-saturday":t.$t("dav","Saturday"),"l10n-sunday":t.$t("dav","Sunday")},on:{"update:slots":function(a){t.slots=a}}}),t._v(" "),a("NcCheckboxRadioSwitch",{attrs:{checked:t.automated},on:{"update:checked":function(a){t.automated=a}}},[t._v("\n\t\t"+t._s(t.$t("dav",'Automatically set user status to "Do not disturb" outside of availability to mute all notifications.'))+"\n\t")]),t._v(" "),a("NcButton",{attrs:{disabled:t.loading||t.saving,type:"primary"},on:{click:t.save}},[t._v("\n\t\t"+t._s(t.$t("dav","Save"))+"\n\t")])],1)}),[],!1,null,"6fabad0d",null).exports;i.default.prototype.$t=o.Iu,new(i.default.extend(q))({}).$mount("#settings-personal-availability")},32413:(t,a,n)=>{n.d(a,{Z:()=>l});var e=n(87537),i=n.n(e),o=n(23645),d=n.n(o)()(i());d.push([t.id,".availability-day[data-v-6fabad0d]{padding:0 10px 0 10px;position:absolute}.availability-slots[data-v-6fabad0d]{display:flex;white-space:nowrap}.availability-slot[data-v-6fabad0d]{display:flex;flex-direction:row;align-items:center}.availability-slot-group[data-v-6fabad0d]{display:flex;flex-direction:column}[data-v-6fabad0d] .mx-input-wrapper{width:85px}[data-v-6fabad0d] .mx-datepicker{width:97px}[data-v-6fabad0d] .multiselect{border:1px solid var(--color-border-dark);width:120px}.time-zone[data-v-6fabad0d]{padding:32px 12px 12px 0}.grid-table[data-v-6fabad0d]{display:grid;margin-bottom:32px;grid-column-gap:24px;grid-row-gap:6px;grid-template-columns:min-content min-content min-content}.button[data-v-6fabad0d]{align-self:flex-end}.label-weekday[data-v-6fabad0d]{position:relative;display:inline-flex;padding-top:4px}.delete-slot[data-v-6fabad0d]{background-color:rgba(0,0,0,0);border:none;padding-bottom:12px;opacity:.5}.delete-slot[data-v-6fabad0d]:hover{opacity:1}.add-another[data-v-6fabad0d]{background-color:rgba(0,0,0,0);border:none;opacity:.5;display:inline-flex;padding:0;margin:0;margin-bottom:3px}.add-another[data-v-6fabad0d]:hover{opacity:1}.to-text[data-v-6fabad0d]{padding-right:12px}.time-zone-text[data-v-6fabad0d]{padding-left:22px}.empty-content[data-v-6fabad0d]{color:var(--color-text-lighter);margin-top:4px}","",{version:3,sources:["webpack://./apps/dav/src/views/Availability.vue"],names:[],mappings:"AACA,mCACC,qBAAA,CACA,iBAAA,CAED,qCACC,YAAA,CACA,kBAAA,CAED,oCACC,YAAA,CACA,kBAAA,CACA,kBAAA,CAED,0CACC,YAAA,CACA,qBAAA,CAED,oCACC,UAAA,CAED,iCACC,UAAA,CAED,+BACC,yCAAA,CACA,WAAA,CAED,4BACC,wBAAA,CAED,6BACC,YAAA,CACA,kBAAA,CACA,oBAAA,CACA,gBAAA,CACA,yDAAA,CAED,yBACC,mBAAA,CAED,gCACC,iBAAA,CACA,mBAAA,CACA,eAAA,CAED,8BACC,8BAAA,CACA,WAAA,CACA,mBAAA,CACA,UAAA,CACA,oCACC,SAAA,CAIF,8BACC,8BAAA,CACA,WAAA,CACA,UAAA,CACA,mBAAA,CACA,SAAA,CACA,QAAA,CACA,iBAAA,CAEA,oCACC,SAAA,CAGF,0BACC,kBAAA,CAED,iCACC,iBAAA,CAED,gCACC,+BAAA,CACA,cAAA",sourcesContent:["\n.availability-day {\n\tpadding: 0 10px 0 10px;\n\tposition: absolute;\n}\n.availability-slots {\n\tdisplay: flex;\n\twhite-space: nowrap;\n}\n.availability-slot {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n}\n.availability-slot-group {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n::v-deep .mx-input-wrapper {\n\twidth: 85px;\n}\n::v-deep .mx-datepicker {\n\twidth: 97px;\n}\n::v-deep .multiselect {\n\tborder: 1px solid var(--color-border-dark);\n\twidth: 120px;\n}\n.time-zone {\n\tpadding: 32px 12px 12px 0;\n}\n.grid-table {\n\tdisplay: grid;\n\tmargin-bottom: 32px;\n\tgrid-column-gap: 24px;\n\tgrid-row-gap: 6px;\n\tgrid-template-columns: min-content min-content min-content;\n}\n.button {\n\talign-self: flex-end;\n}\n.label-weekday {\n\tposition: relative;\n\tdisplay: inline-flex;\n\tpadding-top: 4px;\n}\n.delete-slot {\n\tbackground-color: transparent;\n\tborder: none;\n\tpadding-bottom: 12px;\n\topacity: .5;\n\t&:hover {\n\t\topacity: 1;\n\t}\n}\n\n.add-another {\n\tbackground-color: transparent;\n\tborder: none;\n\topacity: .5;\n\tdisplay: inline-flex;\n\tpadding: 0;\n\tmargin: 0;\n\tmargin-bottom: 3px;\n\n\t&:hover {\n\t\topacity: 1;\n\t}\n}\n.to-text {\n\tpadding-right: 12px;\n}\n.time-zone-text{\n\tpadding-left: 22px;\n}\n.empty-content {\n\tcolor: var(--color-text-lighter);\n\tmargin-top: 4px;\n}\n\n"],sourceRoot:""}]);const l=d}},e={};function i(t){var a=e[t];if(void 0!==a)return a.exports;var o=e[t]={id:t,loaded:!1,exports:{}};return n[t].call(o.exports,o,o.exports,i),o.loaded=!0,o.exports}i.m=n,a=[],i.O=(t,n,e,o)=>{if(!n){var d=1/0;for(A=0;A<a.length;A++){n=a[A][0],e=a[A][1],o=a[A][2];for(var l=!0,r=0;r<n.length;r++)(!1&o||d>=o)&&Object.keys(i.O).every((t=>i.O[t](n[r])))?n.splice(r--,1):(l=!1,o<d&&(d=o));if(l){a.splice(A--,1);var s=e();void 0!==s&&(t=s)}}return t}o=o||0;for(var A=a.length;A>0&&a[A-1][2]>o;A--)a[A]=a[A-1];a[A]=[n,e,o]},i.n=t=>{var a=t&&t.__esModule?()=>t.default:()=>t;return i.d(a,{a}),a},i.d=(t,a)=>{for(var n in a)i.o(a,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:a[n]})},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),i.o=(t,a)=>Object.prototype.hasOwnProperty.call(t,a),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),i.j=3347,(()=>{i.b=document.baseURI||self.location.href;var t={3347:0};i.O.j=a=>0===t[a];var a=(a,n)=>{var e,o,d=n[0],l=n[1],r=n[2],s=0;if(d.some((a=>0!==t[a]))){for(e in l)i.o(l,e)&&(i.m[e]=l[e]);if(r)var A=r(i)}for(a&&a(n);s<d.length;s++)o=d[s],i.o(t,o)&&t[o]&&t[o][0](),t[o]=0;return i.O(A)},n=self.webpackChunknextcloud=self.webpackChunknextcloud||[];n.forEach(a.bind(null,0)),n.push=a.bind(null,n.push.bind(n))})(),i.nc=void 0;var o=i.O(void 0,[7874],(()=>i(36824)));o=i.O(o)})();
- //# sourceMappingURL=dav-settings-personal-availability.js.map?v=7be3e0734ed9e3c7d4dc
|