UNPKG

@progress/kendo-vue-dateinputs

Version:
9 lines (8 loc) 3.29 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("@progress/kendo-date-math"),l=require("../models/NavigationAction.js"),R=require("../models/SelectionRange.js"),o=require("../../utils.js"),T=[[]],h=4,q=3,V={[l.Action.Left]:i=>r.addDecades(i,-1),[l.Action.Up]:i=>r.addDecades(i,-4),[l.Action.Right]:i=>r.addDecades(i,1),[l.Action.Down]:i=>r.addDecades(i,4),[l.Action.PrevView]:i=>r.addCenturies(i,-1),[l.Action.NextView]:i=>r.addCenturies(i,1),[l.Action.FirstInView]:i=>r.firstDecadeOfCentury(i),[l.Action.LastInView]:i=>r.lastDecadeOfCentury(i)};class m{addToDate(e,t){return r.addCenturies(e,t)}datesList(e,t){return o.range(0,t).map(n=>r.addCenturies(e,n))}data(e){const{cellUID:t,focusedDate:n,isActiveView:c,max:s,min:u,selectedDate:d,selectionRange:g=R.EMPTY_SELECTIONRANGE,viewDate:f}=e;if(!f)return T;const C=o.range(0,h),S=r.firstDecadeOfCentury(f),Y=r.lastDecadeOfCentury(f),I=o.getToday();return o.range(0,q).map(A=>{const w=r.addDecades(S,A*h);return C.map(F=>{const a=this.normalize(r.addDecades(w,F),u,s);if(!this.isInSameView(a,Y))return null;const E=this.isEqual(a,g.start),y=this.isEqual(a,g.end),D=!E&&!y&&o.isInSelectionRange(a,g),O=c&&(Array.isArray(d)?this.isSelectedFromArray(a,d,u,s):o.isInRange(d,u,s)&&this.isEqual(a,d));return{formattedValue:this.value(a),id:`${t}${a.getTime()}`,isFocused:this.isEqual(a,n),isSelected:O,isWeekend:!1,isInRange:o.isInRange(a,u,s),isRangeStart:E,isRangeMid:D,isRangeEnd:y,isRangeSplitEnd:D&&this.isEqual(a,Y),isRangeSplitStart:D&&this.isEqual(a,S),isToday:this.isEqual(a,I),title:this.cellTitle(a),value:a}})})}isSelectedFromArray(e,t,n,c){let s=!1;return t.forEach(u=>{o.isInRange(e,n,c)&&this.isEqual(e,u)&&(s=!0)}),s}isEqual(e,t){return!e||!t?!1:r.firstYearOfDecade(e).getFullYear()===r.firstYearOfDecade(t).getFullYear()}isInArray(e,t){if(!t.length)return!1;const n=e.getFullYear();return t[0].getFullYear()<=n&&n<=t[t.length-1].getFullYear()+99}isInRange(e,t,n){const c=r.firstYearOfDecade(e).getFullYear(),s=!t||r.firstYearOfDecade(t).getFullYear()<=c,u=!n||c<=r.firstYearOfDecade(n).getFullYear();return s&&u}isInSameView(e,t){return r.durationInCenturies(e,t)===0}isRangeStart(e){return e.getFullYear()%1e3===0}move(e,t){const n=V[t];return n?n(e):e}cellTitle(e){return r.firstYearOfDecade(e).getFullYear().toString()}navigationTitle(e){return e?r.firstDecadeOfCentury(e).getFullYear().toString():""}title(e){return e?`${r.firstDecadeOfCentury(e).getFullYear()} - ${r.lastDecadeOfCentury(e).getFullYear()}`:""}rowLength(e){return h}skip(e,t){return r.durationInCenturies(t,e)}total(e,t){return r.durationInCenturies(e,t)+1}value(e){return e?r.firstYearOfDecade(e).getFullYear().toString():""}viewDate(e,t,n=1){return r.durationInCenturies(e,t)<n?r.addCenturies(e,-1):e}normalize(e,t,n){return e<t&&this.isEqual(e,t)?r.cloneDate(t):e>n&&this.isEqual(e,n)?r.cloneDate(n):e}}exports.CenturyViewService=m;