@lspriv/wx-calendar
Version:
1 lines • 3.78 kB
JavaScript
"use strict";var t=this&&this.__awaiter||function(t,_,l,r){return new(l=l||Promise)(function(e,i){function a(t){try{n(r.next(t))}catch(t){i(t)}}function s(t){try{n(r.throw(t))}catch(t){i(t)}}function n(t){var i;t.done?e(t.value):((i=t.value)instanceof l?i:new l(function(t){t(i)})).then(a,s)}n((r=r.apply(t,_||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AnnualPanelSwitch=void 0;let i=require("../interface/component"),r=require("./tools"),o=require("./constants"),h=require("../utils/shared"),{shared:c,timing:e,Easing:a}=wx.worklet,d="-150vh";class s extends i.CalendarHandler{constructor(t){super(t),this._interactive_callbacks_=[],this._transforming_=!1,this.skyline&&this.initialize()}initialize(){this._style_ids_=new Map,this.bindAnimations()}bindAnimations(){return t(this,void 0,void 0,function*(){let t=c(d),i=c(0),e=c(0),a=c(1);this._top_=t,this._opacity_=i,this._calendar_trans_=e,this._calendar_alpha_=a;var[s,n,_,l]=yield(0,h.promises)([(0,r.applyAnimated)(this._instance_,o.SELECTOR.ANNUAL,()=>{"worklet";return{top:t.value,opacity:i.value}}),(0,r.applyAnimated)(this._instance_,o.SELECTOR.CALENDAR,()=>{"worklet";return{opacity:1-i.value}}),(0,r.applyAnimated)(this._instance_,o.SELECTOR.PANEL_HEADER,()=>{"worklet";return{transform:`translateY(${-e.value}%)`,opacity:a.value}}),(0,r.applyAnimated)(this._instance_,o.SELECTOR.BAR,()=>{"worklet";return{transform:`translateY(${e.value}%)`,opacity:a.value}})]);this._style_ids_.set(o.SELECTOR.ANNUAL,s),this._style_ids_.set(o.SELECTOR.CALENDAR,n),this._style_ids_.set(o.SELECTOR.PANEL_HEADER,_),this._style_ids_.set(o.SELECTOR.BAR,l)})}showCalendar(){var t={duration:280,easing:a.out(a.sin)};this._calendar_trans_.value=e(0,t),this._calendar_alpha_.value=e(1,t)}hiddenCalendar(){this._calendar_trans_.value=200,this._calendar_alpha_.value=0}getCalendarRect(){return t(this,void 0,void 0,function*(){return(yield(0,r.nodeRect)(this._instance_)(o.SELECTOR.CALENDAR))[0]})}switch(a,s){return t(this,void 0,void 0,function*(){var i,e=this._instance_;if(!this._transforming_){this._transforming_=!0;let t=this.skyline;a?(yield e._panel_.toYear(s.year),i=yield this.getCalendarRect(),t?this._top_.value=`-${i.top}px`:e.setData({annualTop:0,annualDuration:300,annualOpacity:1}),yield(0,r.severalTicks)(60),e._printer_.initializeColors(),yield e._printer_.open(s,i,()=>{t&&(this._opacity_.value=1)}),t&&this.hiddenCalendar()):(yield e._panel_.toAnnualMonth(s,!(e._view_&o.View.week)),yield(0,r.severalTicks)(60),yield e._printer_.close(s),t?this._opacity_.value=0:e.setData({annualOpacity:0}),t&&this.showCalendar(),yield(0,r.nextTick)(),t?this._top_.value=d:e.setData({annualTop:d})),this._transforming_=!1,this.execInteractiveCallbacks()}})}clearSkyline(){var t,i=this._instance_;null!=(t=this._style_ids_)&&t.has(o.SELECTOR.ANNUAL)&&(0,r.clearAnimated)(i,o.SELECTOR.ANNUAL,[this._style_ids_.get(o.SELECTOR.ANNUAL)]),null!=(t=this._style_ids_)&&t.has(o.SELECTOR.CALENDAR)&&(0,r.clearAnimated)(i,o.SELECTOR.CALENDAR,[this._style_ids_.get(o.SELECTOR.CALENDAR)]),null!=(t=this._style_ids_)&&t.has(o.SELECTOR.PANEL_HEADER)&&(0,r.clearAnimated)(i,o.SELECTOR.PANEL_HEADER,[this._style_ids_.get(o.SELECTOR.PANEL_HEADER)]),null!=(t=this._style_ids_)&&t.has(o.SELECTOR.BAR)&&(0,r.clearAnimated)(i,o.SELECTOR.BAR,[this._style_ids_.get(o.SELECTOR.BAR)]),null!=(t=this._style_ids_)&&t.clear(),this._style_ids_=void 0,this._opacity_=void 0,this._top_=void 0,this._calendar_trans_=void 0,this._calendar_alpha_=void 0}execInteractiveCallbacks(){for(;this._interactive_callbacks_.length;){var t=this._interactive_callbacks_.shift();(0,h.isFunction)(t)&&t()}}interaction(){return this._transforming_?new Promise(t=>{this._interactive_callbacks_.push(t)}):Promise.resolve()}}exports.AnnualPanelSwitch=s;