UNPKG

@lspriv/wx-calendar

Version:

微信小程序日历

1 lines 1.5 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.MARK_PLUGIN_KEY=exports.MarkPlugin=exports.SCHEDULE_MARK_ORIGIN=void 0;let y=require("../interface/calendar");exports.SCHEDULE_MARK_ORIGIN="component_prop_marks";class e{update(e,t){let r=new Map;for(let e=0;e<t.length;e++){var s=t[e],a=s.date?(0,y.normalDate)(s.date):(0,y.normalDate)(+s.year,+s.month,+s.day),a=a.year+`_${a.month}_`+a.day,l=r.get(a);l?"schedule"===s.type?l.schedule?l.schedule.push(s):l.schedule=[s]:l[s.type]=s:(l="schedule"===s.type?{schedule:[s]}:{[s.type]:s},r.set(a,l))}var _=this._marks_?[...this._marks_.entries()].flatMap(([e])=>r.has(e)?[]:(0,y.formDateByStrKey)(e)):[],o=[...r.keys()].map(e=>(0,y.formDateByStrKey)(e));this._marks_=r,e._loaded_&&e._calendar_.service.updateDates([...o,..._])}PLUGIN_TRACK_DATE(e){if(!this._marks_)return null;let t=e.year+`_${e.month}_`+e.day;var r,e=this._marks_.get(t);return e?(r={},e.style&&(r.style=e.style.style),e.solar&&(r.solar={text:e.solar.text,style:e.solar.style}),e.corner&&(r.corner={text:e.corner.text,style:e.corner.style}),e.festival&&(r.festival={text:e.festival.text,style:e.festival.style}),e.schedule&&(r.schedule=e.schedule.map(e=>({text:e.text,style:e.style,key:(0,y.getMarkKey)(t,exports.MARK_PLUGIN_KEY)}))),r):null}PLUGIN_TRACK_SCHEDULE(e,t){return t?(t=e.month-1,{dtStart:new Date(e.year,t,e.day),dtEnd:new Date(e.year,t,e.day+1),origin:exports.SCHEDULE_MARK_ORIGIN}):null}}(exports.MarkPlugin=e).KEY="mark",exports.MARK_PLUGIN_KEY=e.KEY;