mirror of
https://github.com/kuaifan/dootask.git
synced 2025-12-10 18:02:55 +00:00
2 lines
12 KiB
JavaScript
Vendored
2 lines
12 KiB
JavaScript
Vendored
import{C as u}from"./tui-calendar-hi.3b6b4623.js";import{n as h,p as f,e as y}from"./app.1c2a0fa1.js";import{m as g,a as w}from"./vuex.cc7cb26e.js";import"./tui-date-picker.ca22ee8a.js";import"./@babel.f9bcab46.js";import"./tui-time-picker.c14df421.js";import"./jquery.ce39e51d.js";import"./dayjs.23d8b964.js";import"./localforage.f1b1079d.js";import"./markdown-it.bda97caf.js";import"./mdurl.ce6c1dd8.js";import"./uc.micro.8d343c98.js";import"./entities.48a44fec.js";import"./linkify-it.c5e8196e.js";import"./punycode.js.4b3f125a.js";import"./highlight.js.ab8aeea4.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./@traptitech.897ae552.js";import"./vue.fd9b772e.js";import"./openpgp_hi.15f91b1d.js";import"./axios.79c8b3d5.js";import"./mitt.1ea0a2a3.js";import"./quill-hi.654cb53d.js";import"./parchment.d5c5924e.js";import"./quill-delta.f1b7ce48.js";import"./fast-diff.f17881f3.js";import"./lodash.clonedeep.e8ef3f14.js";import"./lodash.isequal.d6a986d0.js";import"./eventemitter3.78b735ad.js";import"./lodash-es.df04b444.js";import"./quill-mention-hi.41f02fd4.js";import"./view-design-hi.75f80746.js";import"./html-to-md.8a9a8796.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.50be9c5e.js";import"./clipboard.058ef547.js";import"./vuedraggable.9fd6afed.js";import"./sortablejs.d74243d9.js";import"./vue-resize-observer.c3c9ca4e.js";import"./element-sea.1d49e96e.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.0bdc1850.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.49abba38.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var v=function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("div",{ref:"container",staticClass:"calendar-wrapper"})},$=[];const k={name:"Calendar",props:{view:String,useFormPopup:{type:Boolean,default:()=>{}},useDetailPopup:{type:Boolean,default:()=>{}},isReadOnly:{type:Boolean,default:()=>{}},usageStatistics:{type:Boolean,default:()=>{}},eventFilter:Function,week:Object,month:Object,gridSelection:{type:[Object,Boolean],default:()=>{}},timezone:Object,theme:Object,template:Object,calendars:Array,events:Array},data(){return{calendarInstance:null}},watch:{view(e){this.calendarInstance.changeView(e)},useFormPopup(e){this.calendarInstance.setOptions({useFormPopup:e})},useDetailPopup(e){this.calendarInstance.setOptions({useDetailPopup:e})},isReadOnly(e){this.calendarInstance.setOptions({isReadOnly:e})},eventFilter(e){this.calendarInstance.setOptions({eventFilter:e})},week(e){this.calendarInstance.setOptions({week:e})},month(e){this.calendarInstance.setOptions({month:e})},gridSelection(e){this.calendarInstance.setOptions({gridSelection:e})},timezone(e){this.calendarInstance.setOptions({timezone:e})},theme(e){this.calendarInstance.setTheme(e)},template(e){this.calendarInstance.setOptions({template:e})},calendars(e){this.calendarInstance.setCalendars(e)},events(e){this.calendarInstance.clear(),this.calendarInstance.createEvents(e)}},mounted(){this.calendarInstance=new u(this.$refs.container,{defaultView:this.view,useFormPopup:this.useFormPopup,useDetailPopup:this.useDetailPopup,isReadOnly:this.isReadOnly,usageStatistics:this.usageStatistics,eventFilter:this.eventFilter,week:this.week,month:this.month,gridSelection:this.gridSelection,timezone:this.timezone,theme:this.theme,template:this.template,calendars:this.calendars}),this.addEventListeners(),this.calendarInstance.createEvents(this.events)},beforeDestroy(){this.calendarInstance.off(),this.calendarInstance.destroy()},methods:{addEventListeners(){Object.keys(this.$listeners).forEach(e=>{this.calendarInstance.on(e,(...a)=>this.$emit(e,...a))})},getRootElement(){return this.$refs.container},getInstance(){return this.calendarInstance}}},m={};var _=h(k,v,$,!1,b,null,null,null);function b(e){for(let a in m)this[a]=m[a]}var T=function(){return _.exports}();const D={common:{border:"1px solid #f4f5f5",backgroundColor:"white",holiday:{color:"#f54f3d"},saturday:{color:"#84c56a"},dayName:{color:"#606266"},today:{color:"#fff"},gridSelection:{backgroundColor:"rgba(132, 197, 106, 0.1)",border:"1px solid #84c56a"}},month:{dayName:{borderLeft:"none",backgroundColor:"inherit"},holidayExceptThisMonth:{color:"#f3acac"},dayExceptThisMonth:{color:"#bbb"},weekend:{backgroundColor:"#fafafa"},moreView:{boxShadow:"none"},moreViewTitle:{backgroundColor:"#f4f4f4"}},week:{dayName:{borderTop:"none",borderBottom:"none",borderLeft:"1px solid #f4f5f5",backgroundColor:"inherit"},today:{color:"#303133",backgroundColor:"inherit"},pastDay:{color:"#999"},panelResizer:{border:"1px solid #f4f5f5"},dayGrid:{borderRight:"1px solid #f4f5f5"},dayGridLeft:{width:"100px",backgroundColor:"",borderRight:"1px solid #f4f5f5"},weekend:{backgroundColor:"inherit"},timeGridLeft:{width:"100px",backgroundColor:"#fafafa",borderRight:"1px solid #f4f5f5"},timeGridLeftAdditionalTimezone:{backgroundColor:"#fdfdfd"},timeGridHourLine:{borderBottom:"1px solid #eee"},timeGridHalfHourLine:{borderBottom:"1px dotted #f9f9f9"},timeGrid:{borderRight:"1px solid #f4f5f5"},nowIndicatorLabel:{color:"#84c56a"},nowIndicatorPast:{border:"1px solid rgba(132, 197, 106, 0.3)"},nowIndicatorBullet:{backgroundColor:"#84c56a"},nowIndicatorToday:{border:"1px solid #84c56a"},nowIndicatorFuture:{border:"1px solid #84c56a"},pastTime:{color:"#999"},futureTime:{color:"#606266"},gridSelection:{color:"#84c56a"}}};var C=function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("div",{staticClass:"page-calendar"},[t("PageTitle",{attrs:{title:e.$L("\u65E5\u5386")}}),t("div",{staticClass:"calendar-head"},[t("div",{staticClass:"calendar-titbox"},[t("div",{staticClass:"calendar-title"},[t("div",{staticClass:"common-nav-back portrait",on:{click:function(n){return e.goForward({name:"manage-application"},!0)}}},[t("i",{staticClass:"taskfont"},[e._v("\uE676")])]),t("h1",[e._v(e._s(e.rangeText))])]),t("div",{staticClass:"calendar-nav"},[t("ButtonGroup",{staticClass:"calendar-arrow",attrs:{size:"small"}},[t("Button",{on:{click:function(n){return e.onMove(-1)}}},[t("Icon",{attrs:{type:"ios-arrow-back"}})],1),t("Button",{on:{click:function(n){return e.onMove(1)}}},[t("Icon",{attrs:{type:"ios-arrow-forward"}})],1)],1),t("ButtonGroup",{staticClass:"calendar-arrow",attrs:{size:"small"}},[t("Button",{on:{click:e.onToDay}},[e._v(e._s(e.$L("\u4ECA\u5929")))])],1)],1),t("ButtonGroup",{staticClass:"calendar-view"},[t("Button",{attrs:{type:e.options.view=="day"?"primary":"default"},on:{click:function(n){return e.setView("day")}}},[e._v(e._s(e.$L("\u65E5")))]),t("Button",{attrs:{type:e.options.view=="week"?"primary":"default"},on:{click:function(n){return e.setView("week")}}},[e._v(e._s(e.$L("\u5468")))]),t("Button",{attrs:{type:e.options.view=="month"?"primary":"default"},on:{click:function(n){return e.setView("month")}}},[e._v(e._s(e.$L("\u6708")))])],1)],1)]),t("div",{staticClass:"calendar-box"},[t("Calendar",{ref:"calendar",attrs:{view:e.options.view,week:e.options.week,month:e.options.month,theme:e.options.theme,template:e.options.template,events:e.events,"is-read-only":e.windowTouch},on:{selectDateTime:e.onSelectDateTime,beforeUpdateEvent:e.onBeforeUpdateEvent,clickDayName:e.onClickDayName,clickEvent:e.onClickEvent}})],1)],1)},Y=[];const I={components:{Calendar:T},data(){return{lists:[],rangeText:"Calendar",rangeTime:[],loadIng:0,loadTimer:null,options:{view:"month",week:{showTimezoneCollapseButton:!0,timezonesCollapsed:!1,eventView:!0,taskView:!1},month:{startDayOfWeek:0},theme:D,template:{allday:this.getTemplateForGeneral,time:this.getTemplateForGeneral}}}},created(){f([{key:"{\u65E5}",zh:"\u65E5",general:"Sun"},{key:"{\u4E00}",zh:"\u4E00",general:"Mon"},{key:"{\u4E8C}",zh:"\u4E8C",general:"Tue"},{key:"{\u4E09}",zh:"\u4E09",general:"Wed"},{key:"{\u56DB}",zh:"\u56DB",general:"Thu"},{key:"{\u4E94}",zh:"\u4E94",general:"Fri"},{key:"{\u516D}",zh:"\u516D",general:"Sat"}]);const e=[this.$L("{\u65E5}"),this.$L("{\u4E00}"),this.$L("{\u4E8C}"),this.$L("{\u4E09}"),this.$L("{\u56DB}"),this.$L("{\u4E94}"),this.$L("{\u516D}")];this.options.week.dayNames=e,this.options.month.dayNames=e,this.options.view=this.$store.state.cacheCalendarView||this.options.view,this.windowWidth<600&&(this.options.template.monthGridHeaderExceed=a=>`<span>+${a}</span>`)},activated(){this.setDateRangeText()},deactivated(){this.$store.dispatch("forgetTaskCompleteTemp",!0)},computed:{...g(["cacheTasks","taskCompleteTemps","wsOpenNum","themeName"]),...w(["transforTasks"]),calendar(){return this.$refs.calendar.getInstance()},events({cacheTasks:e,taskCompleteTemps:a}){const t=(r,o=!0)=>r.archived_at||r.complete_at&&o===!0||!r.end_at?!1:r.owner==1;let n=e.filter(r=>t(r));if(a.length>0){let r=e.filter(o=>a.includes(o.id)&&t(o,!1));r.length>0&&(n=$A.cloneJSON(n),n.push(...r))}const s=$A.dayjs().startOf("day").add(1,"second"),d=$A.dayjs().endOf("day").subtract(1,"second");return this.transforTasks(n).map(r=>{const o=$A.dayjs(r.start_at),l=$A.dayjs(r.end_at),c=o.isBefore(s)&&l.isAfter(d),i={id:r.id,calendarId:String(r.project_id),title:r.name,body:r.desc,isAllday:c,category:c?"allday":"time",start:o,end:l,color:"#515a6e",backgroundColor:r.color||"#E3EAFD",borderColor:r.p_color,raw:r};return r.complete_at?(i.color="#c3c2c2",i.backgroundColor="#f3f3f3",i.borderColor="#e3e3e3"):r.overdue&&(i.color="#f56c6c",i.backgroundColor=r.color||"#fef0f0"),i.borderColor||(i.borderColor=i.backgroundColor),i})}},watch:{rangeTime(e){this.getTask(e)},wsOpenNum(e){e<=1||(this.wsTimer&&clearTimeout(this.wsTimer),this.wsTimer=setTimeout(()=>{this.routeName=="manage-calendar"&&this.setDateRangeText()},5e3))}},methods:{getTask(e){if(this.loadIng>0){this.loadTimer&&clearTimeout(this.loadTimer),this.loadTimer=setTimeout(()=>this.getTask(e),100);return}this.loadIng++,this.$store.dispatch("getTasks",{time:e}).finally(a=>{this.loadIng--})},getTemplateForGeneral({title:e,raw:a}){return a.sub_my&&a.sub_my.length>0&&(e=`[+${a.sub_my.length}] ${e}`),a.sub_top===!0&&(e=`[${this.$L("\u5B50\u4EFB\u52A1")}] ${e}`),a.flow_item_name&&(e=`[${a.flow_item_name}] ${e}`),a.overdue&&(e=`[${this.$L("\u8D85\u671F")}] ${e}`),e},async onSelectDateTime({start:e,end:a}){const t=[$A.dayjs(e),$A.dayjs(a)];this.options.view=="month"&&(t[0]=t[0].startOf("day"),t[1]=t[1].startOf("day"));const n=await this.$store.dispatch("taskDefaultTime",$A.newDateString(t,"YYYY-MM-DD HH:mm"));y.emit("addTask",{times:n,owner:[this.userId],beforeClose:()=>this.calendar.clearGridSelections()})},onBeforeUpdateEvent({changes:e,event:a}){if(!e.start&&!e.end)return;const t=this.cacheTasks.find(({id:o})=>o===a.id);if(!t)return;const n=$A.dayjs(e.start||t.start_at),s=$A.dayjs(e.end||t.end_at),d=$A.dayjs(t.start_at),r=$A.dayjs(t.end_at);n.isSame(d,"minute")&&s.isSame(r,"minute")||(this.calendar.updateEvent(a.id,a.calendarId,{...e}),this.$store.dispatch("taskUpdate",{task_id:t.id,times:$A.newDateString([n,s],"YYYY-MM-DD HH:mm")}).then(({msg:o})=>{$A.messageSuccess(o)}).catch(({msg:o})=>{$A.modalError({content:o,onOk:l=>{this.calendar.updateEvent(a.id,a.calendarId,{start:d,end:r})}})}))},onClickDayName(e){this.onSelectDateTime({start:$A.newDateString(e.date,"YYYY-MM-DD 00:00"),end:$A.newDateString(e.date,"YYYY-MM-DD 23:59")})},onClickEvent({event:e}){this.$store.dispatch("openTask",e.raw)},onMove(e){this.calendar.move(e),this.setDateRangeText()},onToDay(){this.calendar.today(),this.setDateRangeText()},setView(e){this.options.view=e,this.calendar.changeView(e),this.setDateRangeText(),$A.IDBSave("cacheCalendarView",this.$store.state.cacheCalendarView=e)},setDateRangeText(){const e=this.calendar.getDate(),a=this.calendar.getDateRangeStart(),t=this.calendar.getDateRangeEnd();switch(this.calendar.getViewName()){case"month":this.rangeText=$A.dayjs(e).format("YYYY.MM");break;case"day":this.rangeText=$A.dayjs(e).format("YYYY.MM.DD");break;default:const n=a.getFullYear(),s=t.getFullYear();n!==s?this.rangeText=$A.dayjs(a).format("YYYY.MM.DD")+" ~ "+$A.dayjs(t).format("YYYY.MM.DD"):this.rangeText=$A.dayjs(a).format("YYYY.MM.DD")+" ~ "+$A.dayjs(t).format("MM.DD");break}this.rangeTime=[$A.dayjs(a).format("YYYY-MM-DD"),$A.dayjs(t).format("YYYY-MM-DD")]}}},p={};var x=h(I,C,Y,!1,S,null,null,null);function S(e){for(let a in p)this[a]=p[a]}var De=function(){return x.exports}();export{De as default};
|