UNPKG

@lspriv/wx-calendar

Version:

微信小程序日历

1 lines 1.9 kB
"use strict";var e=this&&this.__awaiter||function(e,o,s,c){return new(s=s||Promise)(function(n,t){function a(e){try{r(c.next(e))}catch(e){t(e)}}function i(e){try{r(c.throw(e))}catch(e){t(e)}}function r(e){var t;e.done?n(e.value):((t=e.value)instanceof s?t:new s(function(e){e(t)})).then(a,i)}r((c=c.apply(e,o||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Pointer=exports.createPointer=void 0;let a=require("./tools"),i=require("../interface/calendar"),t=require("../interface/component"),n=e=>Object.assign({x:0,y:0,show:!1,animate:!0,transition:!0},e),r=(exports.createPointer=n,(e,t)=>{let{month:n,day:a}=t;t=(0,i.findDateIndex)(e.weeks,e=>e.month==n&&e.day==a);return{ddx:t%7,wdx:Math.floor(t/7),len:e.weeks.length}}),o=(e,t,n)=>{var{ddx:e,wdx:t,len:a}=r(e,t);return{x:n[e]+"px",y:`calc(100% / ${a} * ${t})`}};class s extends t.CalendarHandler{constructor(){super(...arguments),this.show=!0}update(e,t=!1,n,a=!1){var i=this._instance_,r=(n=n||(null==e?void 0:e.checked)||i.data.checked,null!=(r=null==e?void 0:e.current)?r:i.data.current),r=null!=e&&e.panels?e.panels[r]:(null==e?void 0:e[`panels[${r}]`])||i.data.panels[r],{x:t,y:r}=(this._vibrate_=t,o(r,n,i._centres_));null!=e&&e.pointer?e.pointer=Object.assign(Object.assign({},e.pointer),{x:t,y:r,show:this.show,animate:!0}):e?(e["pointer.x"]=t,e["pointer.y"]=r,e["pointer.show"]=this.show,e["pointer.animate"]=!a):i.setData({"pointer.x":t,"pointer.y":r,"pointer.show":this.show,"pointer.animate":!a})}animationEnd(){var e=this._instance_;e.setData({"pointer.animate":!1}),e.data.vibrate&&this._vibrate_&&this.show&&wx.vibrateShort({type:"light"})}resetOffsetY(n){return e(this,void 0,void 0,function*(){var e=this._instance_,t=e._calendar_.createMonth(n,e.data.weekstart),t=o(t,n,e._centres_).y;e.setData({"pointer.y":t,"pointer.show":!1,"pointer.animate":!1}),yield(0,a.nextTick)()})}}exports.Pointer=s;