@omegagrid/tree
Advanced tools
Comparing version 0.4.33 to 0.4.34
@@ -20,15 +20,6 @@ import { TreeAdapter, TreeSource } from "../model"; | ||
}; | ||
export type PeriodType = 'y' | 'q' | 'm' | 'w' | 'd'; | ||
export declare class DateTreeAdapter extends TreeAdapter { | ||
private _options; | ||
private _yLevel; | ||
private _qLevel; | ||
private _mLevel; | ||
private _wLevel; | ||
private _dLevel; | ||
private _formatter; | ||
private _years; | ||
private _quarters; | ||
private _months; | ||
private _weeks; | ||
private _days; | ||
#private; | ||
static dateMap: Map<string, TreeSource>; | ||
constructor(options?: DateTreeAdapterOptions); | ||
@@ -35,0 +26,0 @@ getDates(): [Date, { |
"use strict"; | ||
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { | ||
if (kind === "m") throw new TypeError("Private method is not writable"); | ||
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); | ||
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); | ||
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; | ||
}; | ||
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { | ||
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); | ||
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); | ||
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); | ||
}; | ||
var _DateTreeAdapter_options, _DateTreeAdapter_formatter, _DateTreeAdapter_years, _DateTreeAdapter_quarters, _DateTreeAdapter_months, _DateTreeAdapter_weeks, _DateTreeAdapter_days, _DateTreeAdapter_levelMap, _DateTreeAdapter_levels, _DateTreeAdapter_cacheKey; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -39,4 +51,4 @@ exports.DateTreeAdapter = void 0; | ||
locale: 'cs', | ||
minDate: new Date('2010-01-01'), | ||
maxDate: new Date('2030-12-31'), | ||
minDate: (0, date_fns_1.startOfDay)((0, date_fns_1.sub)(new Date(), { years: 5 })), | ||
maxDate: (0, date_fns_1.startOfDay)((0, date_fns_1.add)(new Date(), { years: 5 })), | ||
years: defaultYearsOptions, | ||
@@ -52,27 +64,42 @@ quarters: defaultQuartersOptions, | ||
super(); | ||
this._options = Object.assign({}, defaultOptions, options); | ||
this._options.minDate = this._options.minDate instanceof Date ? this._options.minDate : new Date(this._options.minDate); | ||
this._options.maxDate = this._options.maxDate instanceof Date ? this._options.maxDate : new Date(this._options.maxDate); | ||
let level = 0; | ||
if (this._options.years) { | ||
this._yLevel = level++; | ||
this._years = this._options.years ? Object.assign({}, defaultYearsOptions, this._options.years) : null; | ||
_DateTreeAdapter_options.set(this, void 0); | ||
_DateTreeAdapter_formatter.set(this, void 0); | ||
_DateTreeAdapter_years.set(this, void 0); | ||
_DateTreeAdapter_quarters.set(this, void 0); | ||
_DateTreeAdapter_months.set(this, void 0); | ||
_DateTreeAdapter_weeks.set(this, void 0); | ||
_DateTreeAdapter_days.set(this, void 0); | ||
_DateTreeAdapter_levelMap.set(this, {}); | ||
_DateTreeAdapter_levels.set(this, []); | ||
_DateTreeAdapter_cacheKey.set(this, void 0); | ||
__classPrivateFieldSet(this, _DateTreeAdapter_options, Object.assign({}, defaultOptions, options), "f"); | ||
__classPrivateFieldGet(this, _DateTreeAdapter_options, "f").minDate = __classPrivateFieldGet(this, _DateTreeAdapter_options, "f").minDate instanceof Date ? __classPrivateFieldGet(this, _DateTreeAdapter_options, "f").minDate : new Date(__classPrivateFieldGet(this, _DateTreeAdapter_options, "f").minDate); | ||
__classPrivateFieldGet(this, _DateTreeAdapter_options, "f").maxDate = __classPrivateFieldGet(this, _DateTreeAdapter_options, "f").maxDate instanceof Date ? __classPrivateFieldGet(this, _DateTreeAdapter_options, "f").maxDate : new Date(__classPrivateFieldGet(this, _DateTreeAdapter_options, "f").maxDate); | ||
if (__classPrivateFieldGet(this, _DateTreeAdapter_options, "f").years) { | ||
__classPrivateFieldGet(this, _DateTreeAdapter_levels, "f").push('y'); | ||
__classPrivateFieldSet(this, _DateTreeAdapter_years, __classPrivateFieldGet(this, _DateTreeAdapter_options, "f").years ? Object.assign({}, defaultYearsOptions, __classPrivateFieldGet(this, _DateTreeAdapter_options, "f").years) : null, "f"); | ||
} | ||
if (this._options.quarters) { | ||
this._qLevel = level++; | ||
this._quarters = this._options.quarters ? Object.assign({}, defaultQuartersOptions, this._options.quarters) : null; | ||
if (__classPrivateFieldGet(this, _DateTreeAdapter_options, "f").quarters) { | ||
__classPrivateFieldGet(this, _DateTreeAdapter_levels, "f").push('q'); | ||
__classPrivateFieldSet(this, _DateTreeAdapter_quarters, __classPrivateFieldGet(this, _DateTreeAdapter_options, "f").quarters ? Object.assign({}, defaultQuartersOptions, __classPrivateFieldGet(this, _DateTreeAdapter_options, "f").quarters) : null, "f"); | ||
} | ||
if (this._options.months) { | ||
this._mLevel = level++; | ||
this._months = this._options.months ? Object.assign({}, defaultMonthsOptions, this._options.months) : null; | ||
if (__classPrivateFieldGet(this, _DateTreeAdapter_options, "f").months) { | ||
__classPrivateFieldGet(this, _DateTreeAdapter_levels, "f").push('m'); | ||
__classPrivateFieldSet(this, _DateTreeAdapter_months, __classPrivateFieldGet(this, _DateTreeAdapter_options, "f").months ? Object.assign({}, defaultMonthsOptions, __classPrivateFieldGet(this, _DateTreeAdapter_options, "f").months) : null, "f"); | ||
} | ||
if (this._options.weeks) { | ||
this._wLevel = level++; | ||
this._weeks = this._options.weeks ? Object.assign({}, defaultWeeksOptions, this._options.weeks) : null; | ||
if (__classPrivateFieldGet(this, _DateTreeAdapter_options, "f").weeks) { | ||
__classPrivateFieldGet(this, _DateTreeAdapter_levels, "f").push('w'); | ||
__classPrivateFieldSet(this, _DateTreeAdapter_weeks, __classPrivateFieldGet(this, _DateTreeAdapter_options, "f").weeks ? Object.assign({}, defaultWeeksOptions, __classPrivateFieldGet(this, _DateTreeAdapter_options, "f").weeks) : null, "f"); | ||
} | ||
if (this._options.days) { | ||
this._dLevel = level++; | ||
this._days = this._options.days ? Object.assign({}, defaultDaysOptions, this._options.days) : null; | ||
if (__classPrivateFieldGet(this, _DateTreeAdapter_options, "f").days) { | ||
__classPrivateFieldGet(this, _DateTreeAdapter_levels, "f").push('d'); | ||
__classPrivateFieldSet(this, _DateTreeAdapter_days, __classPrivateFieldGet(this, _DateTreeAdapter_options, "f").days ? Object.assign({}, defaultDaysOptions, __classPrivateFieldGet(this, _DateTreeAdapter_options, "f").days) : null, "f"); | ||
} | ||
this._formatter = core_1.dates.createDateFormatter(this._options.locale); | ||
__classPrivateFieldSet(this, _DateTreeAdapter_formatter, core_1.dates.createDateFormatter(__classPrivateFieldGet(this, _DateTreeAdapter_options, "f").locale), "f"); | ||
__classPrivateFieldGet(this, _DateTreeAdapter_levels, "f").forEach((p, i) => __classPrivateFieldGet(this, _DateTreeAdapter_levelMap, "f")[p] = i); | ||
__classPrivateFieldSet(this, _DateTreeAdapter_cacheKey, btoa([ | ||
__classPrivateFieldGet(this, _DateTreeAdapter_levels, "f").join(''), | ||
__classPrivateFieldGet(this, _DateTreeAdapter_options, "f").minDate.toISOString(), | ||
__classPrivateFieldGet(this, _DateTreeAdapter_options, "f").maxDate.toISOString() | ||
].join('_')), "f"); | ||
} | ||
@@ -82,9 +109,9 @@ getDates() { | ||
const arr = []; | ||
const maxTime = this._options.maxDate.getTime(); | ||
let date = this._options.minDate; | ||
const maxTime = __classPrivateFieldGet(this, _DateTreeAdapter_options, "f").maxDate.getTime(); | ||
let date = __classPrivateFieldGet(this, _DateTreeAdapter_options, "f").minDate; | ||
let y, q, m, w, d, dw; | ||
const mo = (_a = this._options.monthOffset) !== null && _a !== void 0 ? _a : 0; | ||
const mo = (_a = __classPrivateFieldGet(this, _DateTreeAdapter_options, "f").monthOffset) !== null && _a !== void 0 ? _a : 0; | ||
while (date.getTime() < maxTime) { | ||
[y, q, m, w, d, dw] = [null, null, null, null, null, null]; | ||
if (this._weeks) { | ||
if (__classPrivateFieldGet(this, _DateTreeAdapter_weeks, "f")) { | ||
[w, y] = core_1.dates.getFiscalISOWeek(date, mo); | ||
@@ -95,3 +122,3 @@ dw = (0, date_fns_1.getISODay)(date); | ||
y = core_1.dates.getFiscalYear(date, mo); | ||
if (this._quarters) | ||
if (__classPrivateFieldGet(this, _DateTreeAdapter_quarters, "f")) | ||
q = core_1.dates.getFiscalQuarter(date, mo); | ||
@@ -103,9 +130,9 @@ m = date.getMonth() + 1; | ||
} | ||
const yOrd = ((_b = this._years) === null || _b === void 0 ? void 0 : _b.order) == 'asc' ? 1 : -1; | ||
const qOrd = ((_c = this._quarters) === null || _c === void 0 ? void 0 : _c.order) == 'asc' ? 1 : -1; | ||
const dOrd = ((_d = this._days) === null || _d === void 0 ? void 0 : _d.order) == 'asc' ? 1 : -1; | ||
const mOrd = this._months ? (this._months.order == 'asc' ? 1 : -1) : dOrd; | ||
const wOrd = ((_e = this._weeks) === null || _e === void 0 ? void 0 : _e.order) == 'asc' ? 1 : -1; | ||
const yOrd = ((_b = __classPrivateFieldGet(this, _DateTreeAdapter_years, "f")) === null || _b === void 0 ? void 0 : _b.order) == 'asc' ? 1 : -1; | ||
const qOrd = ((_c = __classPrivateFieldGet(this, _DateTreeAdapter_quarters, "f")) === null || _c === void 0 ? void 0 : _c.order) == 'asc' ? 1 : -1; | ||
const dOrd = ((_d = __classPrivateFieldGet(this, _DateTreeAdapter_days, "f")) === null || _d === void 0 ? void 0 : _d.order) == 'asc' ? 1 : -1; | ||
const mOrd = __classPrivateFieldGet(this, _DateTreeAdapter_months, "f") ? (__classPrivateFieldGet(this, _DateTreeAdapter_months, "f").order == 'asc' ? 1 : -1) : dOrd; | ||
const wOrd = ((_e = __classPrivateFieldGet(this, _DateTreeAdapter_weeks, "f")) === null || _e === void 0 ? void 0 : _e.order) == 'asc' ? 1 : -1; | ||
arr.sort((a, b) => { | ||
if (this._weeks) { | ||
if (__classPrivateFieldGet(this, _DateTreeAdapter_weeks, "f")) { | ||
w = (a[1].w - b[1].w) * wOrd; | ||
@@ -116,3 +143,3 @@ y = (a[1].y - b[1].y) * yOrd; | ||
} | ||
else if (this._years) { | ||
else if (__classPrivateFieldGet(this, _DateTreeAdapter_years, "f")) { | ||
y = (a[1].y - b[1].y) * yOrd; | ||
@@ -122,3 +149,3 @@ if (y != 0) | ||
} | ||
if (this._quarters) { | ||
if (__classPrivateFieldGet(this, _DateTreeAdapter_quarters, "f")) { | ||
q = (a[1].q - b[1].q) * qOrd; | ||
@@ -128,3 +155,3 @@ if (q != 0) | ||
} | ||
if (this._weeks) { | ||
if (__classPrivateFieldGet(this, _DateTreeAdapter_weeks, "f")) { | ||
if (w != 0) | ||
@@ -138,3 +165,3 @@ return w; | ||
} | ||
return this._weeks ? (a[1].dw - b[1].dw) * dOrd : (a[1].d - b[1].d) * dOrd; | ||
return __classPrivateFieldGet(this, _DateTreeAdapter_weeks, "f") ? (a[1].dw - b[1].dw) * dOrd : (a[1].d - b[1].d) * dOrd; | ||
}); | ||
@@ -144,11 +171,14 @@ return arr; | ||
getTree() { | ||
console.log(DateTreeAdapter.dateMap.get(__classPrivateFieldGet(this, _DateTreeAdapter_cacheKey, "f"))); | ||
if (DateTreeAdapter.dateMap.has(__classPrivateFieldGet(this, _DateTreeAdapter_cacheKey, "f"))) | ||
return DateTreeAdapter.dateMap.get(__classPrivateFieldGet(this, _DateTreeAdapter_cacheKey, "f")); | ||
const source = []; | ||
let y = 0, q = 0, m = 0, w = 0; | ||
this.getDates().forEach(([date, opts]) => { | ||
if (this._years && opts.y != y) { | ||
if (__classPrivateFieldGet(this, _DateTreeAdapter_years, "f") && opts.y != y) { | ||
y = opts.y; | ||
source.push({ | ||
k: y.toString(), | ||
v: this._formatter(new Date(y, 1, 1), this._years.format), | ||
l: this._yLevel, | ||
v: __classPrivateFieldGet(this, _DateTreeAdapter_formatter, "f").call(this, new Date(y, 1, 1), __classPrivateFieldGet(this, _DateTreeAdapter_years, "f").format), | ||
l: __classPrivateFieldGet(this, _DateTreeAdapter_levelMap, "f").y, | ||
ch: false, | ||
@@ -158,8 +188,8 @@ collapsed: true | ||
} | ||
if (this._quarters && opts.q != q) { | ||
if (__classPrivateFieldGet(this, _DateTreeAdapter_quarters, "f") && opts.q != q) { | ||
q = opts.q; | ||
source.push({ | ||
k: opts.y.toString() + q.toString(), | ||
v: this._formatter(new Date(y, (q - 1) * 3, 1), this._quarters.format), | ||
l: this._qLevel, | ||
v: __classPrivateFieldGet(this, _DateTreeAdapter_formatter, "f").call(this, new Date(y, (q - 1) * 3, 1), __classPrivateFieldGet(this, _DateTreeAdapter_quarters, "f").format), | ||
l: __classPrivateFieldGet(this, _DateTreeAdapter_levelMap, "f").q, | ||
ch: false, | ||
@@ -169,8 +199,8 @@ collapsed: true | ||
} | ||
if (this._months && opts.m != m) { | ||
if (__classPrivateFieldGet(this, _DateTreeAdapter_months, "f") && opts.m != m) { | ||
m = opts.m; | ||
source.push({ | ||
k: date.getFullYear() + opts.m.toString().padStart(2, '0'), | ||
v: this._formatter(date, this._months.format), | ||
l: this._mLevel, | ||
v: __classPrivateFieldGet(this, _DateTreeAdapter_formatter, "f").call(this, date, __classPrivateFieldGet(this, _DateTreeAdapter_months, "f").format), | ||
l: __classPrivateFieldGet(this, _DateTreeAdapter_levelMap, "f").m, | ||
ch: false, | ||
@@ -180,3 +210,3 @@ collapsed: true | ||
} | ||
if (this._weeks && opts.w != w) { | ||
if (__classPrivateFieldGet(this, _DateTreeAdapter_weeks, "f") && opts.w != w) { | ||
w = opts.w; | ||
@@ -186,3 +216,3 @@ source.push({ | ||
v: `${opts.w.toString()}. ${opts.y}`, | ||
l: this._wLevel, | ||
l: __classPrivateFieldGet(this, _DateTreeAdapter_levelMap, "f").w, | ||
ch: false, | ||
@@ -192,10 +222,12 @@ collapsed: true | ||
} | ||
if (this._days) { | ||
if (__classPrivateFieldGet(this, _DateTreeAdapter_days, "f")) { | ||
source.push({ | ||
k: this._formatter(date, 'yyyyMMdd'), | ||
v: this._formatter(date, this._days.format), | ||
l: this._dLevel | ||
k: __classPrivateFieldGet(this, _DateTreeAdapter_formatter, "f").call(this, date, 'yyyyMMdd'), | ||
v: __classPrivateFieldGet(this, _DateTreeAdapter_formatter, "f").call(this, date, __classPrivateFieldGet(this, _DateTreeAdapter_days, "f").format), | ||
l: __classPrivateFieldGet(this, _DateTreeAdapter_levelMap, "f").d, | ||
}); | ||
} | ||
}); | ||
// TODO: consider caching to indexedDB | ||
DateTreeAdapter.dateMap.set(__classPrivateFieldGet(this, _DateTreeAdapter_cacheKey, "f"), source); | ||
return source; | ||
@@ -205,2 +237,4 @@ } | ||
exports.DateTreeAdapter = DateTreeAdapter; | ||
_DateTreeAdapter_options = new WeakMap(), _DateTreeAdapter_formatter = new WeakMap(), _DateTreeAdapter_years = new WeakMap(), _DateTreeAdapter_quarters = new WeakMap(), _DateTreeAdapter_months = new WeakMap(), _DateTreeAdapter_weeks = new WeakMap(), _DateTreeAdapter_days = new WeakMap(), _DateTreeAdapter_levelMap = new WeakMap(), _DateTreeAdapter_levels = new WeakMap(), _DateTreeAdapter_cacheKey = new WeakMap(); | ||
DateTreeAdapter.dateMap = new Map(); | ||
//# sourceMappingURL=dateAdapter.js.map |
{ | ||
"name": "@omegagrid/tree", | ||
"version": "0.4.33", | ||
"version": "0.4.34", | ||
"license": "UNLICENSED", | ||
@@ -30,4 +30,4 @@ "description": "Universal treeview component", | ||
"dependencies": { | ||
"@omegagrid/core": "^0.4.33", | ||
"@omegagrid/localize": "^0.4.33", | ||
"@omegagrid/core": "^0.4.34", | ||
"@omegagrid/localize": "^0.4.34", | ||
"date-fns": "^3.2.0", | ||
@@ -34,0 +34,0 @@ "lit": "^3.1.1", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
187121
2576
Updated@omegagrid/core@^0.4.34
Updated@omegagrid/localize@^0.4.34