@omegagrid/tree 0.10.2 → 0.10.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/dateAdapter.d.ts +35 -0
- package/dist/adapters/dateAdapter.d.ts.map +1 -0
- package/dist/adapters/dateAdapter.js +222 -0
- package/dist/adapters/dateAdapter.js.map +1 -0
- package/dist/adapters/index.d.ts +2 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +2 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/constants.d.ts +53 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +11 -0
- package/dist/constants.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/model/filterModel.d.ts +17 -0
- package/dist/model/filterModel.d.ts.map +1 -0
- package/dist/model/filterModel.js +60 -0
- package/dist/model/filterModel.js.map +1 -0
- package/dist/model/index.d.ts +5 -0
- package/dist/model/index.d.ts.map +1 -0
- package/dist/model/index.js +5 -0
- package/dist/model/index.js.map +1 -0
- package/dist/model/nodeModel.d.ts +100 -0
- package/dist/model/nodeModel.d.ts.map +1 -0
- package/dist/model/nodeModel.js +59 -0
- package/dist/model/nodeModel.js.map +1 -0
- package/dist/model/selectionModel.d.ts +39 -0
- package/dist/model/selectionModel.d.ts.map +1 -0
- package/dist/model/selectionModel.js +199 -0
- package/dist/model/selectionModel.js.map +1 -0
- package/dist/model/treeAdapter.d.ts +10 -0
- package/dist/model/treeAdapter.d.ts.map +1 -0
- package/dist/model/treeAdapter.js +10 -0
- package/dist/model/treeAdapter.js.map +1 -0
- package/dist/model/treeModel.d.ts +27 -0
- package/dist/model/treeModel.d.ts.map +1 -0
- package/dist/model/treeModel.js +97 -0
- package/dist/model/treeModel.js.map +1 -0
- package/dist/options.d.ts +35 -0
- package/dist/options.d.ts.map +1 -0
- package/dist/options.js +30 -0
- package/dist/options.js.map +1 -0
- package/dist/types.d.ts +42 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +15 -0
- package/dist/types.js.map +1 -0
- package/dist/ui/dropdown.d.ts +68 -0
- package/dist/ui/dropdown.d.ts.map +1 -0
- package/dist/ui/dropdown.js +383 -0
- package/dist/ui/dropdown.js.map +1 -0
- package/dist/ui/dropdown.style.d.ts +2 -0
- package/dist/ui/dropdown.style.d.ts.map +1 -0
- package/dist/ui/dropdown.style.js +68 -0
- package/dist/ui/dropdown.style.js.map +1 -0
- package/dist/ui/index.d.ts +6 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +6 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/levels.d.ts +13 -0
- package/dist/ui/levels.d.ts.map +1 -0
- package/dist/ui/levels.js +64 -0
- package/dist/ui/levels.js.map +1 -0
- package/dist/ui/menu.d.ts +14 -0
- package/dist/ui/menu.d.ts.map +1 -0
- package/dist/ui/menu.js +89 -0
- package/dist/ui/menu.js.map +1 -0
- package/dist/ui/search.d.ts +18 -0
- package/dist/ui/search.d.ts.map +1 -0
- package/dist/ui/search.js +92 -0
- package/dist/ui/search.js.map +1 -0
- package/dist/ui/tree.d.ts +86 -0
- package/dist/ui/tree.d.ts.map +1 -0
- package/dist/ui/tree.js +482 -0
- package/dist/ui/tree.js.map +1 -0
- package/dist/ui/tree.renderer.d.ts +7 -0
- package/dist/ui/tree.renderer.d.ts.map +1 -0
- package/dist/ui/tree.renderer.js +114 -0
- package/dist/ui/tree.renderer.js.map +1 -0
- package/dist/ui/tree.style.d.ts +3 -0
- package/dist/ui/tree.style.d.ts.map +1 -0
- package/dist/ui/tree.style.js +147 -0
- package/dist/ui/tree.style.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { TreeAdapter, TreeSource } from "../model";
|
|
2
|
+
import { dates } from "@omegagrid/core";
|
|
3
|
+
export type DateTreeAdapterPeriodOptions = {
|
|
4
|
+
format?: dates.DateFormatString;
|
|
5
|
+
collapsed?: boolean;
|
|
6
|
+
selectable?: boolean;
|
|
7
|
+
order?: 'asc' | 'desc';
|
|
8
|
+
};
|
|
9
|
+
export type DateTreeAdapterOptions = {
|
|
10
|
+
locale?: string;
|
|
11
|
+
minDate?: Date | string;
|
|
12
|
+
maxDate?: Date | string;
|
|
13
|
+
monthOffset?: number;
|
|
14
|
+
years?: DateTreeAdapterPeriodOptions | boolean;
|
|
15
|
+
quarters?: DateTreeAdapterPeriodOptions | boolean;
|
|
16
|
+
months?: DateTreeAdapterPeriodOptions | boolean;
|
|
17
|
+
weeks?: DateTreeAdapterPeriodOptions | boolean;
|
|
18
|
+
days?: DateTreeAdapterPeriodOptions | boolean;
|
|
19
|
+
};
|
|
20
|
+
export type PeriodType = 'y' | 'q' | 'm' | 'w' | 'd';
|
|
21
|
+
export declare class DateTreeAdapter extends TreeAdapter {
|
|
22
|
+
#private;
|
|
23
|
+
static dateMap: Map<string, TreeSource>;
|
|
24
|
+
constructor(options?: DateTreeAdapterOptions);
|
|
25
|
+
getDates(): [Date, {
|
|
26
|
+
y: number;
|
|
27
|
+
q?: number;
|
|
28
|
+
m?: number;
|
|
29
|
+
w?: number;
|
|
30
|
+
d: number;
|
|
31
|
+
dw?: number;
|
|
32
|
+
}][];
|
|
33
|
+
getTree(): TreeSource;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=dateAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dateAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/dateAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEnD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,MAAM,MAAM,4BAA4B,GAAG;IAC1C,MAAM,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,KAAK,GAAC,MAAM,CAAA;CACpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,IAAI,GAAC,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,IAAI,GAAC,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,4BAA4B,GAAC,OAAO,CAAC;IAC7C,QAAQ,CAAC,EAAE,4BAA4B,GAAC,OAAO,CAAC;IAChD,MAAM,CAAC,EAAE,4BAA4B,GAAC,OAAO,CAAC;IAC9C,KAAK,CAAC,EAAE,4BAA4B,GAAC,OAAO,CAAC;IAC7C,IAAI,CAAC,EAAE,4BAA4B,GAAC,OAAO,CAAC;CAC5C,CAAC;AAiDF,MAAM,MAAM,UAAU,GAAG,GAAG,GAAC,GAAG,GAAC,GAAG,GAAC,GAAG,GAAC,GAAG,CAAC;AAM7C,qBAAa,eAAgB,SAAQ,WAAW;;IAE/C,MAAM,CAAC,OAAO,0BAAiC;gBAanC,OAAO,CAAC,EAAE,sBAAsB;IAqC5C,QAAQ;WACe,MAAM;YAAM,MAAM;YAAM,MAAM;YAAK,MAAM;WAAK,MAAM;aAAO,MAAM;;IAuDxF,OAAO,IAAK,UAAU;CAmEtB"}
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
2
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
4
|
+
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");
|
|
5
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
6
|
+
};
|
|
7
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
+
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");
|
|
10
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
+
};
|
|
12
|
+
var _DateTreeAdapter_options, _DateTreeAdapter_formatter, _DateTreeAdapter_years, _DateTreeAdapter_quarters, _DateTreeAdapter_months, _DateTreeAdapter_weeks, _DateTreeAdapter_days, _DateTreeAdapter_levelMap, _DateTreeAdapter_levels, _DateTreeAdapter_cacheKey;
|
|
13
|
+
import { TreeAdapter } from "../model";
|
|
14
|
+
import { add, sub, getISODay, startOfDay, startOfYear, endOfYear, endOfDay } from 'date-fns';
|
|
15
|
+
import { dates } from "@omegagrid/core";
|
|
16
|
+
const defaultYearsOptions = {
|
|
17
|
+
format: 'yyyy',
|
|
18
|
+
collapsed: true,
|
|
19
|
+
selectable: false,
|
|
20
|
+
order: 'desc'
|
|
21
|
+
};
|
|
22
|
+
const defaultQuartersOptions = {
|
|
23
|
+
format: 'Q.\'Q\' yyyy',
|
|
24
|
+
collapsed: true,
|
|
25
|
+
selectable: false,
|
|
26
|
+
order: 'asc'
|
|
27
|
+
};
|
|
28
|
+
const defaultMonthsOptions = {
|
|
29
|
+
format: 'LLLL yyyy',
|
|
30
|
+
collapsed: true,
|
|
31
|
+
selectable: false,
|
|
32
|
+
order: 'asc'
|
|
33
|
+
};
|
|
34
|
+
const defaultWeeksOptions = {
|
|
35
|
+
format: 'II. yyyy',
|
|
36
|
+
collapsed: true,
|
|
37
|
+
selectable: false,
|
|
38
|
+
order: 'asc'
|
|
39
|
+
};
|
|
40
|
+
const defaultDaysOptions = {
|
|
41
|
+
format: 'dd.MM.yyyy',
|
|
42
|
+
collapsed: true,
|
|
43
|
+
selectable: true,
|
|
44
|
+
order: 'asc'
|
|
45
|
+
};
|
|
46
|
+
const defaultOptions = {
|
|
47
|
+
locale: 'cs',
|
|
48
|
+
minDate: startOfYear(startOfDay(sub(new Date(), { years: 5 }))),
|
|
49
|
+
maxDate: endOfYear(startOfDay(add(new Date(), { years: 5 }))),
|
|
50
|
+
years: defaultYearsOptions,
|
|
51
|
+
quarters: defaultQuartersOptions,
|
|
52
|
+
months: defaultMonthsOptions,
|
|
53
|
+
weeks: false,
|
|
54
|
+
days: defaultDaysOptions,
|
|
55
|
+
monthOffset: 0
|
|
56
|
+
};
|
|
57
|
+
const convertDate = (date) => date instanceof Date
|
|
58
|
+
? date
|
|
59
|
+
: new Date(date + ' 00:00:00');
|
|
60
|
+
export class DateTreeAdapter extends TreeAdapter {
|
|
61
|
+
constructor(options) {
|
|
62
|
+
super();
|
|
63
|
+
_DateTreeAdapter_options.set(this, void 0);
|
|
64
|
+
_DateTreeAdapter_formatter.set(this, void 0);
|
|
65
|
+
_DateTreeAdapter_years.set(this, void 0);
|
|
66
|
+
_DateTreeAdapter_quarters.set(this, void 0);
|
|
67
|
+
_DateTreeAdapter_months.set(this, void 0);
|
|
68
|
+
_DateTreeAdapter_weeks.set(this, void 0);
|
|
69
|
+
_DateTreeAdapter_days.set(this, void 0);
|
|
70
|
+
_DateTreeAdapter_levelMap.set(this, {});
|
|
71
|
+
_DateTreeAdapter_levels.set(this, []);
|
|
72
|
+
_DateTreeAdapter_cacheKey.set(this, void 0);
|
|
73
|
+
__classPrivateFieldSet(this, _DateTreeAdapter_options, Object.assign({}, defaultOptions, options), "f");
|
|
74
|
+
__classPrivateFieldGet(this, _DateTreeAdapter_options, "f").minDate = convertDate(__classPrivateFieldGet(this, _DateTreeAdapter_options, "f").minDate);
|
|
75
|
+
__classPrivateFieldGet(this, _DateTreeAdapter_options, "f").maxDate = convertDate(__classPrivateFieldGet(this, _DateTreeAdapter_options, "f").maxDate);
|
|
76
|
+
if (__classPrivateFieldGet(this, _DateTreeAdapter_options, "f").years) {
|
|
77
|
+
__classPrivateFieldGet(this, _DateTreeAdapter_levels, "f").push('y');
|
|
78
|
+
__classPrivateFieldSet(this, _DateTreeAdapter_years, __classPrivateFieldGet(this, _DateTreeAdapter_options, "f").years ? Object.assign({}, defaultYearsOptions, __classPrivateFieldGet(this, _DateTreeAdapter_options, "f").years) : null, "f");
|
|
79
|
+
}
|
|
80
|
+
if (__classPrivateFieldGet(this, _DateTreeAdapter_options, "f").quarters) {
|
|
81
|
+
__classPrivateFieldGet(this, _DateTreeAdapter_levels, "f").push('q');
|
|
82
|
+
__classPrivateFieldSet(this, _DateTreeAdapter_quarters, __classPrivateFieldGet(this, _DateTreeAdapter_options, "f").quarters ? Object.assign({}, defaultQuartersOptions, __classPrivateFieldGet(this, _DateTreeAdapter_options, "f").quarters) : null, "f");
|
|
83
|
+
}
|
|
84
|
+
if (__classPrivateFieldGet(this, _DateTreeAdapter_options, "f").months) {
|
|
85
|
+
__classPrivateFieldGet(this, _DateTreeAdapter_levels, "f").push('m');
|
|
86
|
+
__classPrivateFieldSet(this, _DateTreeAdapter_months, __classPrivateFieldGet(this, _DateTreeAdapter_options, "f").months ? Object.assign({}, defaultMonthsOptions, __classPrivateFieldGet(this, _DateTreeAdapter_options, "f").months) : null, "f");
|
|
87
|
+
}
|
|
88
|
+
if (__classPrivateFieldGet(this, _DateTreeAdapter_options, "f").weeks) {
|
|
89
|
+
__classPrivateFieldGet(this, _DateTreeAdapter_levels, "f").push('w');
|
|
90
|
+
__classPrivateFieldSet(this, _DateTreeAdapter_weeks, __classPrivateFieldGet(this, _DateTreeAdapter_options, "f").weeks ? Object.assign({}, defaultWeeksOptions, __classPrivateFieldGet(this, _DateTreeAdapter_options, "f").weeks) : null, "f");
|
|
91
|
+
}
|
|
92
|
+
if (__classPrivateFieldGet(this, _DateTreeAdapter_options, "f").days) {
|
|
93
|
+
__classPrivateFieldGet(this, _DateTreeAdapter_levels, "f").push('d');
|
|
94
|
+
__classPrivateFieldSet(this, _DateTreeAdapter_days, __classPrivateFieldGet(this, _DateTreeAdapter_options, "f").days ? Object.assign({}, defaultDaysOptions, __classPrivateFieldGet(this, _DateTreeAdapter_options, "f").days) : null, "f");
|
|
95
|
+
}
|
|
96
|
+
__classPrivateFieldSet(this, _DateTreeAdapter_formatter, dates.createDateFormatter(__classPrivateFieldGet(this, _DateTreeAdapter_options, "f").locale), "f");
|
|
97
|
+
__classPrivateFieldGet(this, _DateTreeAdapter_levels, "f").forEach((p, i) => __classPrivateFieldGet(this, _DateTreeAdapter_levelMap, "f")[p] = i);
|
|
98
|
+
__classPrivateFieldSet(this, _DateTreeAdapter_cacheKey, btoa([
|
|
99
|
+
__classPrivateFieldGet(this, _DateTreeAdapter_levels, "f").join(''),
|
|
100
|
+
__classPrivateFieldGet(this, _DateTreeAdapter_options, "f").minDate.toISOString(),
|
|
101
|
+
__classPrivateFieldGet(this, _DateTreeAdapter_options, "f").maxDate.toISOString()
|
|
102
|
+
].join('_')), "f");
|
|
103
|
+
}
|
|
104
|
+
getDates() {
|
|
105
|
+
const arr = [];
|
|
106
|
+
const maxTime = (endOfDay(__classPrivateFieldGet(this, _DateTreeAdapter_options, "f").maxDate)).getTime();
|
|
107
|
+
let date = __classPrivateFieldGet(this, _DateTreeAdapter_options, "f").minDate;
|
|
108
|
+
let y, q, m, w, d, dw;
|
|
109
|
+
const mo = __classPrivateFieldGet(this, _DateTreeAdapter_options, "f").monthOffset ?? 0;
|
|
110
|
+
while (date.getTime() < maxTime) {
|
|
111
|
+
[y, q, m, w, d, dw] = [null, null, null, null, null, null];
|
|
112
|
+
if (__classPrivateFieldGet(this, _DateTreeAdapter_weeks, "f")) {
|
|
113
|
+
[w, y] = dates.getFiscalISOWeek(date, mo);
|
|
114
|
+
dw = getISODay(date);
|
|
115
|
+
}
|
|
116
|
+
else
|
|
117
|
+
y = dates.getFiscalYear(date, mo);
|
|
118
|
+
if (__classPrivateFieldGet(this, _DateTreeAdapter_quarters, "f"))
|
|
119
|
+
q = dates.getFiscalQuarter(date, mo);
|
|
120
|
+
m = date.getMonth() + 1;
|
|
121
|
+
d = date.getDate();
|
|
122
|
+
arr.push([date, { y, q, m, w, d, dw }]);
|
|
123
|
+
date = add(date, { days: 1 });
|
|
124
|
+
}
|
|
125
|
+
const yOrd = __classPrivateFieldGet(this, _DateTreeAdapter_years, "f")?.order == 'asc' ? 1 : -1;
|
|
126
|
+
const qOrd = __classPrivateFieldGet(this, _DateTreeAdapter_quarters, "f")?.order == 'asc' ? 1 : -1;
|
|
127
|
+
const dOrd = __classPrivateFieldGet(this, _DateTreeAdapter_days, "f")?.order == 'asc' ? 1 : -1;
|
|
128
|
+
const mOrd = __classPrivateFieldGet(this, _DateTreeAdapter_months, "f") ? (__classPrivateFieldGet(this, _DateTreeAdapter_months, "f").order == 'asc' ? 1 : -1) : dOrd;
|
|
129
|
+
const wOrd = __classPrivateFieldGet(this, _DateTreeAdapter_weeks, "f")?.order == 'asc' ? 1 : -1;
|
|
130
|
+
arr.sort((a, b) => {
|
|
131
|
+
if (__classPrivateFieldGet(this, _DateTreeAdapter_weeks, "f")) {
|
|
132
|
+
w = (a[1].w - b[1].w) * wOrd;
|
|
133
|
+
y = (a[1].y - b[1].y) * yOrd;
|
|
134
|
+
if (y != 0)
|
|
135
|
+
return y;
|
|
136
|
+
}
|
|
137
|
+
else if (__classPrivateFieldGet(this, _DateTreeAdapter_years, "f")) {
|
|
138
|
+
y = (a[1].y - b[1].y) * yOrd;
|
|
139
|
+
if (y != 0)
|
|
140
|
+
return y;
|
|
141
|
+
}
|
|
142
|
+
if (__classPrivateFieldGet(this, _DateTreeAdapter_quarters, "f")) {
|
|
143
|
+
q = (a[1].q - b[1].q) * qOrd;
|
|
144
|
+
if (q != 0)
|
|
145
|
+
return q;
|
|
146
|
+
}
|
|
147
|
+
if (__classPrivateFieldGet(this, _DateTreeAdapter_weeks, "f")) {
|
|
148
|
+
if (w != 0)
|
|
149
|
+
return w;
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
m = (a[1].m - b[1].m) * mOrd;
|
|
153
|
+
if (m != 0)
|
|
154
|
+
return m;
|
|
155
|
+
}
|
|
156
|
+
return __classPrivateFieldGet(this, _DateTreeAdapter_weeks, "f") ? (a[1].dw - b[1].dw) * dOrd : (a[1].d - b[1].d) * dOrd;
|
|
157
|
+
});
|
|
158
|
+
return arr;
|
|
159
|
+
}
|
|
160
|
+
getTree() {
|
|
161
|
+
if (DateTreeAdapter.dateMap.has(__classPrivateFieldGet(this, _DateTreeAdapter_cacheKey, "f")))
|
|
162
|
+
return DateTreeAdapter.dateMap.get(__classPrivateFieldGet(this, _DateTreeAdapter_cacheKey, "f"));
|
|
163
|
+
const source = [];
|
|
164
|
+
let y = 0, q = 0, m = 0, w = 0;
|
|
165
|
+
this.getDates().forEach(([date, opts]) => {
|
|
166
|
+
const nextYear = opts.y != y;
|
|
167
|
+
if (__classPrivateFieldGet(this, _DateTreeAdapter_years, "f") && nextYear) {
|
|
168
|
+
y = opts.y;
|
|
169
|
+
source.push({
|
|
170
|
+
k: y.toString(),
|
|
171
|
+
v: __classPrivateFieldGet(this, _DateTreeAdapter_formatter, "f").call(this, new Date(y, 1, 1), __classPrivateFieldGet(this, _DateTreeAdapter_years, "f").format),
|
|
172
|
+
l: __classPrivateFieldGet(this, _DateTreeAdapter_levelMap, "f").y,
|
|
173
|
+
ch: false,
|
|
174
|
+
collapsed: true
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
if (__classPrivateFieldGet(this, _DateTreeAdapter_quarters, "f") && (opts.q != q || nextYear)) {
|
|
178
|
+
q = opts.q;
|
|
179
|
+
source.push({
|
|
180
|
+
k: opts.y.toString() + q.toString(),
|
|
181
|
+
v: __classPrivateFieldGet(this, _DateTreeAdapter_formatter, "f").call(this, new Date(y, (q - 1) * 3, 1), __classPrivateFieldGet(this, _DateTreeAdapter_quarters, "f").format),
|
|
182
|
+
l: __classPrivateFieldGet(this, _DateTreeAdapter_levelMap, "f").q,
|
|
183
|
+
ch: false,
|
|
184
|
+
collapsed: true
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
if (__classPrivateFieldGet(this, _DateTreeAdapter_months, "f") && (opts.m != m || nextYear)) {
|
|
188
|
+
m = opts.m;
|
|
189
|
+
source.push({
|
|
190
|
+
k: date.getFullYear() + opts.m.toString().padStart(2, '0'),
|
|
191
|
+
v: __classPrivateFieldGet(this, _DateTreeAdapter_formatter, "f").call(this, date, __classPrivateFieldGet(this, _DateTreeAdapter_months, "f").format),
|
|
192
|
+
l: __classPrivateFieldGet(this, _DateTreeAdapter_levelMap, "f").m,
|
|
193
|
+
ch: false,
|
|
194
|
+
collapsed: true
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
if (__classPrivateFieldGet(this, _DateTreeAdapter_weeks, "f") && (opts.w != w || nextYear)) {
|
|
198
|
+
w = opts.w;
|
|
199
|
+
source.push({
|
|
200
|
+
k: opts.y + opts.w.toString().padStart(3, '0'),
|
|
201
|
+
v: `${opts.w.toString()}. ${opts.y}`,
|
|
202
|
+
l: __classPrivateFieldGet(this, _DateTreeAdapter_levelMap, "f").w,
|
|
203
|
+
ch: false,
|
|
204
|
+
collapsed: true
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
if (__classPrivateFieldGet(this, _DateTreeAdapter_days, "f")) {
|
|
208
|
+
source.push({
|
|
209
|
+
k: __classPrivateFieldGet(this, _DateTreeAdapter_formatter, "f").call(this, date, 'yyyyMMdd'),
|
|
210
|
+
v: __classPrivateFieldGet(this, _DateTreeAdapter_formatter, "f").call(this, date, __classPrivateFieldGet(this, _DateTreeAdapter_days, "f").format),
|
|
211
|
+
l: __classPrivateFieldGet(this, _DateTreeAdapter_levelMap, "f").d,
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
// TODO: consider caching to indexedDB
|
|
216
|
+
DateTreeAdapter.dateMap.set(__classPrivateFieldGet(this, _DateTreeAdapter_cacheKey, "f"), source);
|
|
217
|
+
return source;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
_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();
|
|
221
|
+
DateTreeAdapter.dateMap = new Map();
|
|
222
|
+
//# sourceMappingURL=dateAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dateAdapter.js","sourceRoot":"","sources":["../../src/adapters/dateAdapter.ts"],"names":[],"mappings":"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","sourcesContent":["import { TreeAdapter, TreeSource } from \"../model\";\nimport { add, sub, getISODay, startOfDay, startOfYear, endOfYear, endOfDay } from 'date-fns';\nimport { dates } from \"@omegagrid/core\";\n\nexport type DateTreeAdapterPeriodOptions = {\n\tformat?: dates.DateFormatString,\n\tcollapsed?: boolean,\n\tselectable?: boolean,\n\torder?: 'asc'|'desc'\n};\n\nexport type DateTreeAdapterOptions = {\n\tlocale?: string,\n\tminDate?: Date|string,\n\tmaxDate?: Date|string,\n\tmonthOffset?: number,\n\tyears?: DateTreeAdapterPeriodOptions|boolean,\n\tquarters?: DateTreeAdapterPeriodOptions|boolean,\n\tmonths?: DateTreeAdapterPeriodOptions|boolean,\n\tweeks?: DateTreeAdapterPeriodOptions|boolean,\n\tdays?: DateTreeAdapterPeriodOptions|boolean,\n};\n\nconst defaultYearsOptions: DateTreeAdapterPeriodOptions = {\n\tformat: 'yyyy',\n\tcollapsed: true,\n\tselectable: false,\n\torder: 'desc'\n};\n\nconst defaultQuartersOptions: DateTreeAdapterPeriodOptions = {\n\tformat: 'Q.\\'Q\\' yyyy',\n\tcollapsed: true,\n\tselectable: false,\n\torder: 'asc'\n};\n\nconst defaultMonthsOptions: DateTreeAdapterPeriodOptions = {\n\tformat: 'LLLL yyyy',\n\tcollapsed: true,\n\tselectable: false,\n\torder: 'asc'\n};\n\nconst defaultWeeksOptions: DateTreeAdapterPeriodOptions = {\n\tformat: 'II. yyyy',\n\tcollapsed: true,\n\tselectable: false,\n\torder: 'asc'\n};\n\nconst defaultDaysOptions: DateTreeAdapterPeriodOptions = {\n\tformat: 'dd.MM.yyyy',\n\tcollapsed: true,\n\tselectable: true,\n\torder: 'asc'\n};\n\nconst defaultOptions: DateTreeAdapterOptions = {\n\tlocale: 'cs',\n\tminDate: startOfYear(startOfDay(sub(new Date(), {years: 5}))),\n\tmaxDate: endOfYear(startOfDay(add(new Date(), {years: 5}))),\n\tyears: defaultYearsOptions,\n\tquarters: defaultQuartersOptions,\n\tmonths: defaultMonthsOptions,\n\tweeks: false,\n\tdays: defaultDaysOptions,\n\tmonthOffset: 0\n};\n\nexport type PeriodType = 'y'|'q'|'m'|'w'|'d';\n\nconst convertDate = (date: Date|string) => date instanceof Date \n\t? date \n\t: new Date(date + ' 00:00:00');\n\nexport class DateTreeAdapter extends TreeAdapter {\n\n\tstatic dateMap = new Map<string, TreeSource>();\n\n\t#options: DateTreeAdapterOptions;\n\t#formatter: dates.DateFormatterFunction;\n\t#years: DateTreeAdapterPeriodOptions;\n\t#quarters: DateTreeAdapterPeriodOptions;\n\t#months: DateTreeAdapterPeriodOptions;\n\t#weeks: DateTreeAdapterPeriodOptions;\n\t#days: DateTreeAdapterPeriodOptions;\n\t#levelMap: Partial<Record<PeriodType, number>> = {};\n\t#levels: PeriodType[] = [];\n\t#cacheKey: string;\n\n\tconstructor(options?: DateTreeAdapterOptions) {\n\t\tsuper();\n\t\tthis.#options = Object.assign({}, defaultOptions, options);\n\t\tthis.#options.minDate = convertDate(this.#options.minDate);\n\t\tthis.#options.maxDate = convertDate(this.#options.maxDate);\n\n\t\tif (this.#options.years) {\n\t\t\tthis.#levels.push('y');\n\t\t\tthis.#years = this.#options.years ? Object.assign({}, defaultYearsOptions, this.#options.years) : null;\n\t\t}\n\t\tif (this.#options.quarters) {\n\t\t\tthis.#levels.push('q');\n\t\t\tthis.#quarters = this.#options.quarters ? Object.assign({}, defaultQuartersOptions, this.#options.quarters) : null;\n\t\t}\n\t\tif (this.#options.months) {\n\t\t\tthis.#levels.push('m');\n\t\t\tthis.#months = this.#options.months ? Object.assign({}, defaultMonthsOptions, this.#options.months) : null;\n\t\t}\n\t\tif (this.#options.weeks) {\n\t\t\tthis.#levels.push('w');\n\t\t\tthis.#weeks = this.#options.weeks ? Object.assign({}, defaultWeeksOptions, this.#options.weeks) : null;\n\t\t}\n\t\tif (this.#options.days) {\n\t\t\tthis.#levels.push('d');\n\t\t\tthis.#days = this.#options.days ? Object.assign({}, defaultDaysOptions, this.#options.days) : null;\n\t\t}\n\n\t\tthis.#formatter = dates.createDateFormatter(this.#options.locale);\n\t\tthis.#levels.forEach((p, i) => this.#levelMap[p] = i);\n\n\t\tthis.#cacheKey = btoa([\n\t\t\tthis.#levels.join(''),\n\t\t\tthis.#options.minDate.toISOString(),\n\t\t\tthis.#options.maxDate.toISOString()\n\t\t].join('_'));\n\t}\n\n\tgetDates() {\n\t\tconst arr: [Date, {y: number, q?: number, m?: number, w?:number, d: number, dw?: number}][] = [];\n\t\tconst maxTime = (endOfDay(this.#options.maxDate as Date)).getTime();\n\t\tlet date = this.#options.minDate as Date;\n\t\tlet y: number, q: number, m: number, w: number, d: number, dw: number;\n\t\tconst mo = this.#options.monthOffset ?? 0;\n\t\twhile (date.getTime() < maxTime) {\n\t\t\t[y, q, m, w, d, dw] = [null, null, null, null, null, null];\n\t\t\t\n\t\t\tif (this.#weeks) {\n\t\t\t\t[w, y] = dates.getFiscalISOWeek(date, mo);\n\t\t\t\tdw = getISODay(date);\n\t\t\t} else y = dates.getFiscalYear(date, mo);\n\n\t\t\tif (this.#quarters) q = dates.getFiscalQuarter(date, mo);\n\t\t\tm = date.getMonth() + 1;\n\t\t\td = date.getDate();\n\n\t\t\tarr.push([date, { y, q, m, w, d, dw }]);\n\t\t\tdate = add(date, {days: 1});\n\t\t}\n\n\t\tconst yOrd = this.#years?.order == 'asc' ? 1 : -1;\n\t\tconst qOrd = this.#quarters?.order == 'asc' ? 1 : -1;\n\t\tconst dOrd = this.#days?.order == 'asc' ? 1 : -1;\n\t\tconst mOrd = this.#months ? (this.#months.order == 'asc' ? 1 : -1) : dOrd;\n\t\tconst wOrd = this.#weeks?.order == 'asc' ? 1 : -1;\n\n\t\tarr.sort((a, b) => {\n\t\t\tif (this.#weeks) {\n\t\t\t\tw = (a[1].w - b[1].w) * wOrd;\n\t\t\t\ty = (a[1].y - b[1].y) * yOrd;\n\t\t\t\tif (y != 0) return y;\n\t\t\t} else if (this.#years) {\n\t\t\t\ty = (a[1].y - b[1].y) * yOrd;\n\t\t\t\tif (y != 0) return y;\n\t\t\t}\n\n\t\t\tif (this.#quarters) {\n\t\t\t\tq = (a[1].q - b[1].q) * qOrd;\n\t\t\t\tif (q != 0) return q;\n\t\t\t}\n\n\t\t\tif (this.#weeks) {\n\t\t\t\tif (w != 0) return w;\n\t\t\t} else {\n\t\t\t\tm = (a[1].m - b[1].m) * mOrd;\n\t\t\t\tif (m != 0) return m;\n\t\t\t}\n\t\t\t\n\t\t\treturn this.#weeks ? (a[1].dw - b[1].dw) * dOrd : (a[1].d - b[1].d) * dOrd;\n\t\t});\n\n\t\treturn arr;\n\t}\n\n\tgetTree() : TreeSource {\n\t\tif (DateTreeAdapter.dateMap.has(this.#cacheKey)) return DateTreeAdapter.dateMap.get(this.#cacheKey);\n\n\t\tconst source: TreeSource = [];\n\t\tlet y = 0, q = 0, m = 0, w = 0;\n\t\t\n\t\tthis.getDates().forEach(([date, opts]) => {\n\t\t\tconst nextYear = opts.y != y;\n\t\t\t\n\t\t\tif (this.#years && nextYear) {\n\t\t\t\ty = opts.y;\n\t\t\t\tsource.push({\n\t\t\t\t\tk: y.toString(),\n\t\t\t\t\tv: this.#formatter(new Date(y, 1, 1), this.#years.format),\n\t\t\t\t\tl: this.#levelMap.y,\n\t\t\t\t\tch: false,\n\t\t\t\t\tcollapsed: true\n\t\t\t\t});\n\t\t\t}\n\t\t\t\n\t\t\tif (this.#quarters && (opts.q != q || nextYear)) {\n\t\t\t\tq = opts.q;\n\t\t\t\tsource.push({\n\t\t\t\t\tk: opts.y.toString() + q.toString(),\n\t\t\t\t\tv: this.#formatter(new Date(y, (q - 1) * 3, 1), this.#quarters.format),\n\t\t\t\t\tl: this.#levelMap.q,\n\t\t\t\t\tch: false,\n\t\t\t\t\tcollapsed: true\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (this.#months && (opts.m != m || nextYear)) {\n\t\t\t\tm = opts.m;\n\t\t\t\tsource.push({\n\t\t\t\t\tk: date.getFullYear() + opts.m.toString().padStart(2, '0'),\n\t\t\t\t\tv: this.#formatter(date, this.#months.format),\n\t\t\t\t\tl: this.#levelMap.m,\n\t\t\t\t\tch: false,\n\t\t\t\t\tcollapsed: true\n\t\t\t\t});\n\t\t\t}\n\t\t\t\n\t\t\tif (this.#weeks && (opts.w != w || nextYear)) {\n\t\t\t\tw = opts.w;\n\t\t\t\tsource.push({\n\t\t\t\t\tk: opts.y + opts.w.toString().padStart(3, '0'),\n\t\t\t\t\tv: `${opts.w.toString()}. ${opts.y}`,\n\t\t\t\t\tl: this.#levelMap.w,\n\t\t\t\t\tch: false,\n\t\t\t\t\tcollapsed: true\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (this.#days) {\n\t\t\t\tsource.push({\n\t\t\t\t\tk: this.#formatter(date, 'yyyyMMdd'),\n\t\t\t\t\tv: this.#formatter(date, this.#days.format),\n\t\t\t\t\tl: this.#levelMap.d,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\t// TODO: consider caching to indexedDB\n\t\tDateTreeAdapter.dateMap.set(this.#cacheKey, source);\n\t\treturn source;\n\t}\n\n}"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC","sourcesContent":["export * from './dateAdapter';"]}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
PREFIX: string;
|
|
3
|
+
DEFAULT_ACCENT_COLOR: string;
|
|
4
|
+
DEFAULT_ACCENT_COLOR_2: import("color")<string | number | import("color")<string | number | import("color")<string | number | import("color")<string | number | import("color")<string | number | import("color")<string | number | import("color")<string | number | import("color")<string | number | import("color")<string | number | import("color")<string | number | import("color")<string | number | import("color")<string | number | any | ArrayLike<number> | {
|
|
5
|
+
[key: string]: any;
|
|
6
|
+
}> | ArrayLike<number> | {
|
|
7
|
+
[key: string]: any;
|
|
8
|
+
}> | ArrayLike<number> | {
|
|
9
|
+
[key: string]: any;
|
|
10
|
+
}> | ArrayLike<number> | {
|
|
11
|
+
[key: string]: any;
|
|
12
|
+
}> | ArrayLike<number> | {
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
}> | ArrayLike<number> | {
|
|
15
|
+
[key: string]: any;
|
|
16
|
+
}> | ArrayLike<number> | {
|
|
17
|
+
[key: string]: any;
|
|
18
|
+
}> | ArrayLike<number> | {
|
|
19
|
+
[key: string]: any;
|
|
20
|
+
}> | ArrayLike<number> | {
|
|
21
|
+
[key: string]: any;
|
|
22
|
+
}> | ArrayLike<number> | {
|
|
23
|
+
[key: string]: any;
|
|
24
|
+
}> | ArrayLike<number> | {
|
|
25
|
+
[key: string]: any;
|
|
26
|
+
}> | ArrayLike<number> | {
|
|
27
|
+
[key: string]: any;
|
|
28
|
+
}>;
|
|
29
|
+
SIZER_SIZE: number;
|
|
30
|
+
SLIDER_SIZE: number;
|
|
31
|
+
SLIDER_MIN_LENGTH: number;
|
|
32
|
+
EXPANDER_SIZE: number;
|
|
33
|
+
LIST_ITEM_HEIGHT: number;
|
|
34
|
+
LIST_RENDERING_TRESHOLD: number;
|
|
35
|
+
LIST_AUTOSCROLL_TRESHOLD: number;
|
|
36
|
+
LIST_AUTOSCROLL_DELAY: number;
|
|
37
|
+
DEFAULT_TEXT_HIGHLIGHT_COLOR: string;
|
|
38
|
+
TOOLTIP_MARGIN: number;
|
|
39
|
+
MENU_ITEM_HEIGHT: number;
|
|
40
|
+
COLORPICKER_COLOR_SIZE: number;
|
|
41
|
+
DEFAULT_NUMBER_FORMAT: string;
|
|
42
|
+
BUTTON_HEIGHT: number;
|
|
43
|
+
FONT_SIZE: number;
|
|
44
|
+
FLOATING_WINDOW_MAX_WIDTH: number;
|
|
45
|
+
DEFAULT_NODE_HEIGHT: number;
|
|
46
|
+
DEFAULT_MAX_NODES: number;
|
|
47
|
+
RENDERING_NODE_TRESHOLD: number;
|
|
48
|
+
TREE_COLUMN_WIDTH: number;
|
|
49
|
+
MAX_HIGHLIGHT_ITEM_OFFSET: number;
|
|
50
|
+
SEARCH_DEBOUNCE_DELAY: number;
|
|
51
|
+
};
|
|
52
|
+
export default _default;
|
|
53
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wBAQC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { constants as coreConstants } from '@omegagrid/core';
|
|
2
|
+
export default {
|
|
3
|
+
DEFAULT_NODE_HEIGHT: 20,
|
|
4
|
+
DEFAULT_MAX_NODES: 10,
|
|
5
|
+
RENDERING_NODE_TRESHOLD: 20,
|
|
6
|
+
TREE_COLUMN_WIDTH: 16,
|
|
7
|
+
MAX_HIGHLIGHT_ITEM_OFFSET: 2,
|
|
8
|
+
SEARCH_DEBOUNCE_DELAY: 300,
|
|
9
|
+
...coreConstants
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE7D,eAAe;IACd,mBAAmB,EAAE,EAAE;IACvB,iBAAiB,EAAE,EAAE;IACrB,uBAAuB,EAAE,EAAE;IAC3B,iBAAiB,EAAE,EAAE;IACrB,yBAAyB,EAAE,CAAC;IAC5B,qBAAqB,EAAE,GAAG;IAC1B,GAAG,aAAa;CAChB,CAAA","sourcesContent":["import { constants as coreConstants } from '@omegagrid/core';\n\nexport default {\n\tDEFAULT_NODE_HEIGHT: 20,\n\tDEFAULT_MAX_NODES: 10,\n\tRENDERING_NODE_TRESHOLD: 20,\n\tTREE_COLUMN_WIDTH: 16,\n\tMAX_HIGHLIGHT_ITEM_OFFSET: 2,\n\tSEARCH_DEBOUNCE_DELAY: 300,\n\t...coreConstants\n}"]}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,MAAM,CAAC;AACrB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,MAAM,CAAC;AACrB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC","sourcesContent":["export * from './ui';\nexport * from './model';\nexport * from './adapters';\nexport * from './types';\nexport { Options as TreeOptions } from './options';"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { TreeModel } from './treeModel';
|
|
2
|
+
export type FilterSettings = {
|
|
3
|
+
term: string;
|
|
4
|
+
propertyc: string;
|
|
5
|
+
};
|
|
6
|
+
export type Matches = [number, number][];
|
|
7
|
+
export declare class FilterModel {
|
|
8
|
+
model: TreeModel;
|
|
9
|
+
private _term;
|
|
10
|
+
private _property;
|
|
11
|
+
get term(): string;
|
|
12
|
+
get hasFilter(): boolean;
|
|
13
|
+
constructor(model: TreeModel);
|
|
14
|
+
filter(term: string): void;
|
|
15
|
+
clear(): void;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=filterModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filterModel.d.ts","sourceRoot":"","sources":["../../src/model/filterModel.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,MAAM,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;AAezC,qBAAa,WAAW;IASJ,KAAK,EAAE,SAAS;IAPnC,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,SAAS,CAA4B;IAE7C,IAAI,IAAI,WAAwB;IAEhC,IAAI,SAAS,YAAoD;gBAE9C,KAAK,EAAE,SAAS;IAEnC,MAAM,CAAC,IAAI,EAAE,MAAM;IA8BnB,KAAK;CAUL"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/* eslint "@typescript-eslint/no-unused-vars": "off" */
|
|
2
|
+
import { html, utils } from '@omegagrid/core';
|
|
3
|
+
import { tree } from '@omegagrid/core';
|
|
4
|
+
const createMatcher = (term, property) => {
|
|
5
|
+
const regex = new RegExp(`${utils.escapeRegExp(utils.removeAccents(term))}`, 'ig');
|
|
6
|
+
let match;
|
|
7
|
+
return (item) => {
|
|
8
|
+
const matches = [];
|
|
9
|
+
while (match = regex.exec(utils.removeAccents((item[property] ?? "").toString()))) {
|
|
10
|
+
matches.push([match.index, regex.lastIndex]);
|
|
11
|
+
}
|
|
12
|
+
return matches;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
export class FilterModel {
|
|
16
|
+
get term() { return this._term; }
|
|
17
|
+
get hasFilter() { return this._term == '' || this._term == null; }
|
|
18
|
+
constructor(model) {
|
|
19
|
+
this.model = model;
|
|
20
|
+
this._term = null;
|
|
21
|
+
this._property = 'value';
|
|
22
|
+
}
|
|
23
|
+
filter(term) {
|
|
24
|
+
this._term = term;
|
|
25
|
+
const matcher = createMatcher(this._term, this._property);
|
|
26
|
+
let matches;
|
|
27
|
+
this.model.nodes.forEach(node => {
|
|
28
|
+
node.collapsed = false;
|
|
29
|
+
node.htmlValue = null;
|
|
30
|
+
if (term) {
|
|
31
|
+
matches = matcher(node);
|
|
32
|
+
node.filterState = matches.length > 0 ? tree.FilterState.Matched : tree.FilterState.Filtered;
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
node.filterState = tree.FilterState.Matched;
|
|
36
|
+
node.collapse();
|
|
37
|
+
}
|
|
38
|
+
if (node.filterState == tree.FilterState.Matched) {
|
|
39
|
+
node.walkUp(parentNode => {
|
|
40
|
+
if (parentNode.filterState == tree.FilterState.Filtered)
|
|
41
|
+
parentNode.filterState = tree.FilterState.ChildMatched;
|
|
42
|
+
});
|
|
43
|
+
if (term) {
|
|
44
|
+
node.htmlValue = html.highlightText(node.value, matches);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
this.model.indexVisibleNodes();
|
|
49
|
+
}
|
|
50
|
+
clear() {
|
|
51
|
+
this._term = null;
|
|
52
|
+
this.model.nodes.forEach(node => {
|
|
53
|
+
node.filterState = tree.FilterState.Matched;
|
|
54
|
+
node.collapsed = false;
|
|
55
|
+
node.htmlValue = null;
|
|
56
|
+
});
|
|
57
|
+
this.model.indexVisibleNodes();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=filterModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filterModel.js","sourceRoot":"","sources":["../../src/model/filterModel.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint \"@typescript-eslint/no-unused-vars\": \"off\" */\n\nimport { html, utils } from '@omegagrid/core';\nimport { tree } from '@omegagrid/core';\nimport { TreeModel } from './treeModel';\nimport { NodeModel } from './nodeModel';\n\nexport type FilterSettings = {\n\tterm: string;\n\tpropertyc: string;\n};\n\nexport type Matches = [number, number][];\n\nconst createMatcher = <TItem>(term: string, property: keyof TItem) => {\n\tconst regex = new RegExp(`${utils.escapeRegExp(utils.removeAccents(term))}`, 'ig');\n\tlet match: RegExpExecArray;\n\treturn (item: TItem) => {\n\t\tconst matches: Matches = [];\n\t\twhile (match = regex.exec(utils.removeAccents((item[property] ?? \"\").toString()))) {\n\t\t\tmatches.push([match.index, regex.lastIndex]);\n\t\t}\n\t\treturn matches;\n\t}\n};\n\n\nexport class FilterModel {\n\n\tprivate _term: string = null;\n\tprivate _property: keyof NodeModel = 'value';\n\n\tget term() { return this._term }\n\n\tget hasFilter() { return this._term == '' || this._term == null }\n\n\tconstructor(public model: TreeModel) { }\n\n\tfilter(term: string) {\n\t\tthis._term = term;\n\t\tconst matcher = createMatcher<NodeModel>(this._term, this._property);\n\t\tlet matches: Matches;\n\n\t\tthis.model.nodes.forEach(node => {\n\t\t\tnode.collapsed = false;\n\t\t\tnode.htmlValue = null;\n\t\t\tif (term) {\n\t\t\t\tmatches = matcher(node);\n\t\t\t\tnode.filterState = matches.length > 0 ? tree.FilterState.Matched : tree.FilterState.Filtered;\n\t\t\t} else {\n\t\t\t\tnode.filterState = tree.FilterState.Matched;\n\t\t\t\tnode.collapse();\n\t\t\t}\n\t\t\t\n\t\t\tif (node.filterState == tree.FilterState.Matched) {\n\t\t\t\tnode.walkUp(parentNode => {\n\t\t\t\t\tif (parentNode.filterState == tree.FilterState.Filtered) parentNode.filterState = tree.FilterState.ChildMatched;\n\t\t\t\t});\n\n\t\t\t\tif (term) {\n\t\t\t\t\tnode.htmlValue = html.highlightText(node.value, matches)\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tthis.model.indexVisibleNodes();\n\t}\n\n\tclear() {\n\t\tthis._term = null;\n\t\tthis.model.nodes.forEach(node => {\n\t\t\tnode.filterState = tree.FilterState.Matched;\n\t\t\tnode.collapsed = false;\n\t\t\tnode.htmlValue = null;\n\t\t});\n\t\tthis.model.indexVisibleNodes();\n\t}\n\n}"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC","sourcesContent":["export * from './nodeModel';\nexport * from './selectionModel';\nexport * from './treeAdapter';\nexport * from './treeModel';"]}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { CustomProperties, IconSpec, tree } from '@omegagrid/core';
|
|
2
|
+
import { FolderOptions, TreeNodeRenderer } from '../types';
|
|
3
|
+
import { TreeModel } from './treeModel';
|
|
4
|
+
export type NodeSource = {
|
|
5
|
+
k?: string;
|
|
6
|
+
v?: string;
|
|
7
|
+
key?: string;
|
|
8
|
+
value?: string;
|
|
9
|
+
t?: string;
|
|
10
|
+
s?: boolean;
|
|
11
|
+
ch?: boolean;
|
|
12
|
+
icon?: IconSpec | string;
|
|
13
|
+
folder?: FolderOptions;
|
|
14
|
+
props?: CustomProperties;
|
|
15
|
+
renderer?: TreeNodeRenderer;
|
|
16
|
+
} & tree.TreeNodeSource;
|
|
17
|
+
declare const NodeModel_base: (new (...input: any[]) => {
|
|
18
|
+
index: number;
|
|
19
|
+
parentIndex: number;
|
|
20
|
+
level: number;
|
|
21
|
+
visibleIndex: number;
|
|
22
|
+
_children: any[];
|
|
23
|
+
_count: number;
|
|
24
|
+
_parent: any;
|
|
25
|
+
_collapsed: boolean;
|
|
26
|
+
_hidden: boolean;
|
|
27
|
+
_filterState: tree.FilterState;
|
|
28
|
+
_filterable: boolean;
|
|
29
|
+
_sortable: boolean;
|
|
30
|
+
populate(source: tree.TreeNodeSource): void;
|
|
31
|
+
getSourceData(): tree.TreeNodeSource;
|
|
32
|
+
get filterable(): boolean;
|
|
33
|
+
get sortable(): boolean;
|
|
34
|
+
get filterState(): tree.FilterState;
|
|
35
|
+
set filterState(v: tree.FilterState): any;
|
|
36
|
+
get hidden(): boolean;
|
|
37
|
+
set hidden(value: boolean): any;
|
|
38
|
+
get visible(): boolean;
|
|
39
|
+
get collapsed(): boolean;
|
|
40
|
+
set collapsed(value: boolean): any;
|
|
41
|
+
get parent(): any;
|
|
42
|
+
set parent(parent: any): any;
|
|
43
|
+
get children(): any[];
|
|
44
|
+
set children(value: any[]): any;
|
|
45
|
+
get hasChildren(): boolean;
|
|
46
|
+
set count(value: number): any;
|
|
47
|
+
get isLoaded(): boolean;
|
|
48
|
+
get isPartialyLoaded(): boolean;
|
|
49
|
+
get hasParent(): boolean;
|
|
50
|
+
get firstChild(): any;
|
|
51
|
+
get lastChild(): any;
|
|
52
|
+
addChild(child: any): void;
|
|
53
|
+
insertChildren(children: any[], index: number): void;
|
|
54
|
+
deleteChildren(index: number | any[], count?: number): void;
|
|
55
|
+
expand(unhide?: boolean): void;
|
|
56
|
+
collapse(): void;
|
|
57
|
+
toggleCollapse(recursive?: boolean, unhide?: boolean): void;
|
|
58
|
+
clearChildren(): void;
|
|
59
|
+
walk(cb: (m: any) => unknown | void): void;
|
|
60
|
+
walkVisible(cb: (m: any) => unknown | void): void;
|
|
61
|
+
walkUp(cb: (m: any) => unknown | void): void;
|
|
62
|
+
_sort(comparer: (a: any, b: any) => number): void;
|
|
63
|
+
sort(comparer: (a: any, b: any) => number): void;
|
|
64
|
+
}) & tree.Constructor<import("@omegagrid/core").Populatable>;
|
|
65
|
+
export declare class NodeModel extends NodeModel_base {
|
|
66
|
+
model: TreeModel;
|
|
67
|
+
subLevels: number;
|
|
68
|
+
private _type;
|
|
69
|
+
get type(): string;
|
|
70
|
+
set type(v: string);
|
|
71
|
+
private _checkbox;
|
|
72
|
+
get checkbox(): boolean;
|
|
73
|
+
set checkbox(v: boolean);
|
|
74
|
+
private _key;
|
|
75
|
+
get key(): string;
|
|
76
|
+
private set key(value);
|
|
77
|
+
private _value;
|
|
78
|
+
get value(): string;
|
|
79
|
+
set value(v: string);
|
|
80
|
+
private _htmlValue;
|
|
81
|
+
get htmlValue(): string;
|
|
82
|
+
set htmlValue(v: string);
|
|
83
|
+
private _icon;
|
|
84
|
+
get icon(): IconSpec | string;
|
|
85
|
+
set icon(v: IconSpec | string);
|
|
86
|
+
private _folder;
|
|
87
|
+
get folder(): FolderOptions;
|
|
88
|
+
set folder(v: FolderOptions);
|
|
89
|
+
private _renderer;
|
|
90
|
+
get renderer(): TreeNodeRenderer;
|
|
91
|
+
set renderer(v: TreeNodeRenderer);
|
|
92
|
+
protected _properties: CustomProperties;
|
|
93
|
+
get properties(): CustomProperties;
|
|
94
|
+
set properties(v: CustomProperties);
|
|
95
|
+
constructor(model: TreeModel, source: NodeSource);
|
|
96
|
+
populate(source: NodeSource): void;
|
|
97
|
+
getSourceData(): NodeSource;
|
|
98
|
+
}
|
|
99
|
+
export {};
|
|
100
|
+
//# sourceMappingURL=nodeModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodeModel.d.ts","sourceRoot":"","sources":["../../src/model/nodeModel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,MAAM,UAAU,GAAG;IACxB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,OAAO,CAAC;IACZ,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,IAAI,CAAC,EAAE,QAAQ,GAAC,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,QAAQ,CAAC,EAAE,gBAAgB,CAAA;CAC3B,GAAG,IAAI,CAAC,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+CA0DZ,CAAC;iBACmB,CAAC;;4BAEX,CAAC,iBACrB,CAAA;;;;;;;;AA5DF,qBAAa,SAAU,SAAQ,cAAoB;IAuC/B,KAAK,EAAE,SAAS;IAtC5B,SAAS,EAAE,MAAM,CAAQ;IAEhC,OAAO,CAAC,KAAK,CAAS;IACtB,IAAI,IAAI,IAAI,MAAM,CAAsB;IACxC,IAAI,IAAI,CAAC,CAAC,EAAE,MAAM,EAAoB;IAEtC,OAAO,CAAC,SAAS,CAAiB;IAClC,IAAI,QAAQ,IAAI,OAAO,CAA0B;IACjD,IAAI,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAwB;IAE/C,OAAO,CAAC,IAAI,CAAS;IACrB,IAAI,GAAG,IAAI,MAAM,CAAqB;IACtC,OAAO,KAAK,GAAG,QAA6B;IAE5C,OAAO,CAAC,MAAM,CAAS;IACvB,IAAI,KAAK,IAAI,MAAM,CAAuB;IAC1C,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAAoB;IAEvC,OAAO,CAAC,UAAU,CAAS;IAC3B,IAAI,SAAS,IACI,MAAM,CADmB;IAC1C,IAAI,SAAS,CAAC,CAAC,EAAE,MAAM,EAAyB;IAEhD,OAAO,CAAC,KAAK,CAAkB;IAC/B,IAAI,IAAI,IAAI,QAAQ,GAAC,MAAM,CAAsB;IACjD,IAAI,IAAI,CAAC,CAAC,EAAE,QAAQ,GAAC,MAAM,EAAoB;IAE/C,OAAO,CAAC,OAAO,CAAgB;IAC/B,IAAI,MAAM,IAAI,aAAa,CAAwB;IACnD,IAAI,MAAM,CAAC,CAAC,EAAE,aAAa,EAAsB;IAEjD,OAAO,CAAC,SAAS,CAAmB;IACpC,IAAI,QAAQ,IAAI,gBAAgB,CAA6D;IAC7F,IAAI,QAAQ,CAAC,CAAC,EAAE,gBAAgB,EAAwB;IAExD,SAAS,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACxC,IAAI,UAAU,IACI,gBAAgB,CADU;IAC5C,IAAI,UAAU,CAAC,CAAC,EAAE,gBAAgB,EAA0B;gBAEzC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU;IAKvD,QAAQ,CAAC,MAAM,EAAE,UAAU;IAY3B,aAAa;CAYb"}
|