@worktile/gantt 18.0.5 → 18.1.0-next.1
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/class/item.d.ts +2 -2
- package/class/view-type.d.ts +0 -4
- package/components/calendar/grid/calendar-grid.component.d.ts +0 -2
- package/components/calendar/header/calendar-header.component.d.ts +0 -2
- package/components/toolbar/toolbar.component.d.ts +6 -5
- package/esm2022/class/item.mjs +1 -1
- package/esm2022/class/view-type.mjs +1 -23
- package/esm2022/components/bar/bar-drag.mjs +3 -3
- package/esm2022/components/calendar/grid/calendar-grid.component.mjs +3 -7
- package/esm2022/components/calendar/header/calendar-header.component.mjs +4 -7
- package/esm2022/components/toolbar/toolbar.component.mjs +6 -7
- package/esm2022/gantt-upper.mjs +18 -16
- package/esm2022/gantt.component.mjs +1 -1
- package/esm2022/gantt.config.mjs +55 -12
- package/esm2022/gantt.module.mjs +23 -20
- package/esm2022/gantt.pipe.mjs +16 -1
- package/esm2022/i18n/i18n.mjs +12 -0
- package/esm2022/i18n/index.mjs +18 -0
- package/esm2022/i18n/locales/de-de.mjs +51 -0
- package/esm2022/i18n/locales/en-us.mjs +49 -0
- package/esm2022/i18n/locales/ja-jp.mjs +49 -0
- package/esm2022/i18n/locales/ru-ru.mjs +51 -0
- package/esm2022/i18n/locales/zh-hans.mjs +49 -0
- package/esm2022/i18n/locales/zh-hant.mjs +49 -0
- package/esm2022/public-api.mjs +2 -1
- package/esm2022/root.component.mjs +2 -2
- package/esm2022/utils/date.mjs +12 -4
- package/esm2022/views/day.mjs +6 -4
- package/esm2022/views/hour.mjs +5 -3
- package/esm2022/views/month.mjs +6 -4
- package/esm2022/views/quarter.mjs +6 -4
- package/esm2022/views/view.mjs +2 -3
- package/esm2022/views/week.mjs +6 -4
- package/esm2022/views/year.mjs +5 -3
- package/fesm2022/worktile-gantt.mjs +459 -113
- package/fesm2022/worktile-gantt.mjs.map +1 -1
- package/gantt-upper.d.ts +5 -3
- package/gantt.component.d.ts +1 -1
- package/gantt.config.d.ts +20 -0
- package/gantt.module.d.ts +3 -4
- package/gantt.pipe.d.ts +5 -0
- package/i18n/i18n.d.ts +23 -0
- package/i18n/index.d.ts +10 -0
- package/i18n/locales/de-de.d.ts +49 -0
- package/i18n/locales/en-us.d.ts +48 -0
- package/i18n/locales/ja-jp.d.ts +48 -0
- package/i18n/locales/ru-ru.d.ts +49 -0
- package/i18n/locales/zh-hans.d.ts +48 -0
- package/i18n/locales/zh-hant.d.ts +48 -0
- package/package.json +3 -2
- package/public-api.d.ts +1 -0
- package/root.component.d.ts +1 -1
- package/utils/date.d.ts +4 -1
- package/views/factory.d.ts +1 -1
- package/views/view.d.ts +9 -0
package/esm2022/views/hour.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { zhHantLocale } from '../i18n';
|
|
1
2
|
import { GanttViewType } from '../class';
|
|
2
3
|
import { GanttDatePoint } from '../class/date-point';
|
|
3
4
|
import { GanttDate, differenceInMinutes, eachDayOfInterval, eachHourOfInterval } from '../utils/date';
|
|
@@ -9,6 +10,7 @@ const viewOptions = {
|
|
|
9
10
|
datePrecisionUnit: 'minute',
|
|
10
11
|
addAmount: 1,
|
|
11
12
|
addUnit: 'week',
|
|
13
|
+
dateDisplayFormats: zhHantLocale.views.hour.dateFormats,
|
|
12
14
|
dragPreviewDateFormat: 'HH:mm'
|
|
13
15
|
};
|
|
14
16
|
export class GanttViewHour extends GanttView {
|
|
@@ -38,7 +40,7 @@ export class GanttViewHour extends GanttView {
|
|
|
38
40
|
const points = [];
|
|
39
41
|
for (let i = 0; i < days.length; i++) {
|
|
40
42
|
const start = this.start.addDays(i);
|
|
41
|
-
const point = new GanttDatePoint(start, start.format(this.options.dateFormat.
|
|
43
|
+
const point = new GanttDatePoint(start, start.format(this.options.dateFormat?.day || this.options.dateDisplayFormats.primary), (this.getCellWidth() * 24) / 2 + i * (this.getCellWidth() * 24), primaryDatePointTop);
|
|
42
44
|
points.push(point);
|
|
43
45
|
}
|
|
44
46
|
return points;
|
|
@@ -48,7 +50,7 @@ export class GanttViewHour extends GanttView {
|
|
|
48
50
|
const points = [];
|
|
49
51
|
for (let i = 0; i < hours.length; i++) {
|
|
50
52
|
const start = new GanttDate(hours[i]);
|
|
51
|
-
const point = new GanttDatePoint(start, start.format(this.options.dateFormat.
|
|
53
|
+
const point = new GanttDatePoint(start, start.format(this.options.dateFormat?.hour || this.options.dateDisplayFormats.secondary), i * this.getCellWidth() + this.getCellWidth() / 2, secondaryDatePointTop, {
|
|
52
54
|
isWeekend: start.isWeekend(),
|
|
53
55
|
isToday: start.isToday()
|
|
54
56
|
});
|
|
@@ -84,4 +86,4 @@ export class GanttViewHour extends GanttView {
|
|
|
84
86
|
return matchDate?.start.addMinutes(underOneHourMinutes);
|
|
85
87
|
}
|
|
86
88
|
}
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG91ci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy92aWV3cy9ob3VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUFFLFNBQVMsRUFBbUMsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFaEgsTUFBTSxXQUFXLEdBQXFCO0lBQ2xDLFNBQVMsRUFBRSxFQUFFO0lBQ2IsS0FBSyxFQUFFLElBQUksU0FBUyxFQUFFLENBQUMsWUFBWSxFQUFFO0lBQ3JDLEdBQUcsRUFBRSxJQUFJLFNBQVMsRUFBRSxDQUFDLFVBQVUsRUFBRTtJQUNqQyxpQkFBaUIsRUFBRSxRQUFRO0lBQzNCLFNBQVMsRUFBRSxDQUFDO0lBQ1osT0FBTyxFQUFFLE1BQU07SUFDZixxQkFBcUIsRUFBRSxPQUFPO0NBQ2pDLENBQUM7QUFFRixNQUFNLE9BQU8sYUFBYyxTQUFRLFNBQVM7SUFPeEMsWUFBWSxLQUFvQixFQUFFLEdBQWtCLEVBQUUsT0FBMEI7UUFDNUUsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFQdEQscUJBQWdCLEdBQUcsSUFBSSxDQUFDO1FBRXhCLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBRXBCLGFBQVEsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDO0lBSXZDLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBZTtRQUN2QixPQUFPLElBQUksQ0FBQyxXQUFXLEVB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QUFTLEdBQUcsRUFBRSxDQUFDO1FBQ25DLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQztRQUN0RSxPQUFPLFNBQVMsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDNUQsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2FudHRWaWV3VHlwZSB9IGZyb20gJy4uL2NsYXNzJztcbmltcG9ydCB7IEdhbnR0RGF0ZVBvaW50IH0gZnJvbSAnLi4vY2xhc3MvZGF0ZS1wb2ludCc7XG5pbXBvcnQgeyBHYW50dERhdGUsIGRpZmZlcmVuY2VJbk1pbnV0ZXMsIGVhY2hEYXlPZkludGVydmFsLCBlYWNoSG91ck9mSW50ZXJ2YWwgfSBmcm9tICcuLi91dGlscy9kYXRlJztcbmltcG9ydCB7IEdhbnR0VmlldywgR2FudHRWaWV3RGF0ZSwgR2FudHRWaWV3T3B0aW9ucywgcHJpbWFyeURhdGVQb2ludFRvcCwgc2Vjb25kYXJ5RGF0ZVBvaW50VG9wIH0gZnJvbSAnLi92aWV3JztcblxuY29uc3Qgdmlld09wdGlvbnM6IEdhbnR0Vmlld09wdGlvbnMgPSB7XG4gICAgY2VsbFdpZHRoOiA4MCxcbiAgICBzdGFydDogbmV3IEdhbnR0RGF0ZSgpLnN0YXJ0T2ZNb250aCgpLFxuICAgIGVuZDogbmV3IEdhbnR0RGF0ZSgpLmVuZE9mTW9udGgoKSxcbiAgICBkYXRlUHJlY2lzaW9uVW5pdDogJ21pbnV0ZScsXG4gICAgYWRkQW1vdW50OiAxLFxuICAgIGFkZFVuaXQ6ICd3ZWVrJyxcbiAgICBkcmFnUHJldmlld0RhdGVGb3JtYXQ6ICdISDptbSdcbn07XG5cbmV4cG9ydCBjbGFzcyBHYW50dFZpZXdIb3VyIGV4dGVuZHMgR2FudHRWaWV3IHtcbiAgICBvdmVycmlkZSBzaG93V2Vla0JhY2tkcm9wID0gdHJ1ZTtcblxuICAgIG92ZXJyaWRlIHNob3dUaW1lbGluZSA9IHRydWU7XG5cbiAgICBvdmVycmlkZSB2aWV3VHlwZSA9IEdhbnR0Vmlld1R5cGUuaG91cjtcblxuICAgIGNvbnN0cnVjdG9yKHN0YXJ0OiBHYW50dFZpZXdEYXRlLCBlbmQ6IEdhbnR0Vmlld0RhdGUsIG9wdGlvbnM/OiBHYW50dFZpZXdPcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKHN0YXJ0LCBlbmQsIE9iamVjdC5hc3NpZ24oe30sIHZpZXdPcHRpb25zLCBvcHRpb25zKSk7XG4gICAgfVxuXG4gICAgdmlld1N0YXJ0T2YoZGF0ZTogR2FudHREYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLnN0YXJ0T2ZXZWVrKCk7XG4gICAgfVxuXG4gICAgdmlld0VuZE9mKGRhdGU6IEdhbnR0RGF0ZSkge1xuICAgICAgICByZXR1cm4gZGF0ZS5lbmRPZldlZWsoKTtcbiAgICB9XG5cbiAgICBnZXRQcmltYXJ5V2lkdGgoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENlbGxXaWR0aCgpICogMjQ7XG4gICAgfVxuXG4gICAgZ2V0RGF5T2NjdXBhbmN5V2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2VsbFdpZHRoICogNjA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRIb3VyT2NjdXBhbmN5V2lkdGgoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldERheU9jY3VwYW5jeVdpZHRoKCkgLyA2MDtcbiAgICB9XG5cbiAgICBnZXRQcmltYXJ5RGF0ZVBvaW50cygpOiBHYW50dERhdGVQb2ludFtdIHtcbiAgICAgICAgY29uc3QgZGF5cyA9IGVhY2hEYXlPZkludGVydmFsKHsgc3RhcnQ6IHRoaXMuc3RhcnQudmFsdWUsIGVuZDogdGhpcy5lbmQudmFsdWUgfSk7XG4gICAgICAgIGNvbnN0IHBvaW50czogR2FudHREYXRlUG9pbnRbXSA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRheXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5zdGFydC5hZGREYXlzKGkpO1xuICAgICAgICAgICAgY29uc3QgcG9pbnQgPSBuZXcgR2FudHREYXRlUG9pbnQoXG4gICAgICAgICAgICAgICAgc3RhcnQsXG4gICAgICAgICAgICAgICAgc3RhcnQuZm9ybWF0KHRoaXMub3B0aW9ucy5kYXRlRm9ybWF0LmRheSksXG4gICAgICAgICAgICAgICAgKHRoaXMuZ2V0Q2VsbFdpZHRoKCkgKiAyNCkgLyAyICsgaSAqICh0aGlzLmdldENlbGxXaWR0aCgpICogMjQpLFxuICAgICAgICAgICAgICAgIHByaW1hcnlEYXRlUG9pbnRUb3BcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBwb2ludHMucHVzaChwb2ludCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcG9pbnRzO1xuICAgIH1cblxuICAgIGdldFNlY29uZGFyeURhdGVQb2ludHMoKTogR2FudHREYXRlUG9pbnRbXSB7XG4gICAgICAgIGNvbnN0IGhvdXJzID0gZWFjaEhvdXJPZkludGVydmFsKHsgc3RhcnQ6IHRoaXMuc3RhcnQudmFsdWUsIGVuZDogdGhpcy5lbmQudmFsdWUgfSk7XG4gICAgICAgIGNvbnN0IHBvaW50czogR2FudHREYXRlUG9pbnRbXSA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGhvdXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBzdGFydCA9IG5ldyBHYW50dERhdGUoaG91cnNbaV0pO1xuICAgICAgICAgICAgY29uc3QgcG9pbnQgPSBuZXcgR2FudHREYXRlUG9pbnQoXG4gICAgICAgICAgICAgICAgc3RhcnQsXG4gICAgICAgICAgICAgICAgc3RhcnQuZm9ybWF0KHRoaXMub3B0aW9ucy5kYXRlRm9ybWF0LmhvdXIpLFxuICAgICAgICAgICAgICAgIGkgKiB0aGlzLmdldENlbGxXaWR0aCgpICsgdGhpcy5nZXRDZWxsV2lkdGgoKSAvIDIsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5RGF0ZVBvaW50VG9wLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaXNXZWVrZW5kOiBzdGFydC5pc1dlZWtlbmQoKSxcbiAgICAgICAgICAgICAgICAgICAgaXNUb2RheTogc3RhcnQuaXNUb2RheSgpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHBvaW50cy5wdXNoKHBvaW50KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcG9pbnRzO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGdldFRvZGF5WFBvaW50KCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHRvYWR5ID0gbmV3IEdhbnR0RGF0ZSgpLnN0YXJ0T2ZNaW51dGUoKTtcbiAgICAgICAgaWYgKHRvYWR5LnZhbHVlID4gdGhpcy5zdGFydC52YWx1ZSAmJiB0b2FkeS52YWx1ZSA8IHRoaXMuZW5kLnZhbHVlKSB7XG4gICAgICAgICAgICBjb25zdCB4ID0gdGhpcy5nZXRYUG9pbnRCeURhdGUodG9hZHkpO1xuICAgICAgICAgICAgcmV0dXJuIHg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG92ZXJyaWRlIGdldERhdGVJbnRlcnZhbFdpZHRoKHN0YXJ0OiBHYW50dERhdGUsIGVuZDogR2FudHREYXRlKSB7XG4gICAgICAgIGxldCByZXN1bHQgPSAwO1xuICAgICAgICBjb25zdCBtaW51dGVzID0gZGlmZmVyZW5jZUluTWludXRlcyhlbmQudmFsdWUsIHN0YXJ0LnZhbHVlKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtaW51dGVzOyBpKyspIHtcbiAgICAgICAgICAgIHJlc3VsdCArPSB0aGlzLmdldEhvdXJPY2N1cGFuY3lXaWR0aCgpIC8gNjA7XG4gICAgICAgIH1cbiAgICAgICAgcmVzdWx0ID0gbWludXRlcyA+PSAwID8gcmVzdWx0IDogLXJlc3VsdDtcbiAgICAgICAgcmV0dXJuIE51bWJlcihyZXN1bHQudG9GaXhlZCgzKSk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgZ2V0RGF0ZUJ5WFBvaW50KHg6IG51bWJlcikge1xuICAgICAgICBjb25zdCBob3VyV2lkdGggPSB0aGlzLmdldEhvdXJPY2N1cGFuY3lXaWR0aCgpO1xuICAgICAgICBjb25zdCBpbmRleE9mU2Vjb25kYXJ5RGF0ZSA9IE1hdGgubWF4KE1hdGguZmxvb3IoeCAvIGhvdXJXaWR0aCksIDApO1xuICAgICAgICBjb25zdCBtYXRjaERhdGUgPSB0aGlzLnNlY29uZGFyeURhdGVQb2ludHNbTWF0aC5taW4odGhpcy5zZWNvbmRhcnlEYXRlUG9pbnRzLmxlbmd0aCAtIDEsIGluZGV4T2ZTZWNvbmRhcnlEYXRlKV07XG4gICAgICAgIGNvbnN0IG1pbnV0ZVdpZHRoID0gaG91cldpZHRoIC8gNjA7XG4gICAgICAgIGNvbnN0IHVuZGVyT25lSG91ck1pbnV0ZXMgPSBNYXRoLmZsb29yKCh4ICUgaG91cldpZHRoKSAvIG1pbnV0ZVdpZHRoKTtcbiAgICAgICAgcmV0dXJuIG1hdGNoRGF0ZT8uc3RhcnQuYWRkTWludXRlcyh1bmRlck9uZUhvdXJNaW51dGVzKTtcbiAgICB9XG59XG4iXX0=
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG91ci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy92aWV3cy9ob3VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUUsU0FBUyxFQUFtQyxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVoSCxNQUFNLFdBQVcsR0FBcUI7SUFDbEMsU0FBUyxFQUFFLEVBQUU7SUFDYixLQUFLLEVBQUUsSUFBSSxTQUFTLEVBQUUsQ0FBQyxZQUFZLEVBQUU7SUFDckMsR0FBRyxFQUFFLElBQUksU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFO0lBQ2pDLGlCQUFpQixFQUFFLFFBQVE7SUFDM0IsU0FBUyxFQUFFLENBQUM7SUFDWixPQUFPLEVBQUUsTUFBTTtJQUNmLGtCQUFrQixFQUFFLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVc7SUFDdkQscUJBQXFCLEVBQUUsT0FBTztDQUNqQyxDQUFDO0FBRUYsTUFBTSxPQUFPLGFBQWMsU0FBUSxTQUFTO0lBT3hDLFlBQVksS0FBb0IsRUFBRSxHQUFrQixFQUFFLE9BQTBCO1FBQzVFLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBUHRELHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUV4QixpQkFBWSxHQUFHLElBQUksQ0FBQztR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QUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNwRSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7UUFDaEgsTUFBTSxXQUFXLEdBQUcsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNuQyxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsV0FBVyxDQUFDLENBQUM7UUFDdEUsT0FBTyxTQUFTLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzVELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHpoSGFudExvY2FsZSB9IGZyb20gJy4uL2kxOG4nO1xuaW1wb3J0IHsgR2FudHRWaWV3VHlwZSB9IGZyb20gJy4uL2NsYXNzJztcbmltcG9ydCB7IEdhbnR0RGF0ZVBvaW50IH0gZnJvbSAnLi4vY2xhc3MvZGF0ZS1wb2ludCc7XG5pbXBvcnQgeyBHYW50dERhdGUsIGRpZmZlcmVuY2VJbk1pbnV0ZXMsIGVhY2hEYXlPZkludGVydmFsLCBlYWNoSG91ck9mSW50ZXJ2YWwgfSBmcm9tICcuLi91dGlscy9kYXRlJztcbmltcG9ydCB7IEdhbnR0VmlldywgR2FudHRWaWV3RGF0ZSwgR2FudHRWaWV3T3B0aW9ucywgcHJpbWFyeURhdGVQb2ludFRvcCwgc2Vjb25kYXJ5RGF0ZVBvaW50VG9wIH0gZnJvbSAnLi92aWV3JztcblxuY29uc3Qgdmlld09wdGlvbnM6IEdhbnR0Vmlld09wdGlvbnMgPSB7XG4gICAgY2VsbFdpZHRoOiA4MCxcbiAgICBzdGFydDogbmV3IEdhbnR0RGF0ZSgpLnN0YXJ0T2ZNb250aCgpLFxuICAgIGVuZDogbmV3IEdhbnR0RGF0ZSgpLmVuZE9mTW9udGgoKSxcbiAgICBkYXRlUHJlY2lzaW9uVW5pdDogJ21pbnV0ZScsXG4gICAgYWRkQW1vdW50OiAxLFxuICAgIGFkZFVuaXQ6ICd3ZWVrJyxcbiAgICBkYXRlRGlzcGxheUZvcm1hdHM6IHpoSGFudExvY2FsZS52aWV3cy5ob3VyLmRhdGVGb3JtYXRzLFxuICAgIGRyYWdQcmV2aWV3RGF0ZUZvcm1hdDogJ0hIOm1tJ1xufTtcblxuZXhwb3J0IGNsYXNzIEdhbnR0Vmlld0hvdXIgZXh0ZW5kcyBHYW50dFZpZXcge1xuICAgIG92ZXJyaWRlIHNob3dXZWVrQmFja2Ryb3AgPSB0cnVlO1xuXG4gICAgb3ZlcnJpZGUgc2hvd1RpbWVsaW5lID0gdHJ1ZTtcblxuICAgIG92ZXJyaWRlIHZpZXdUeXBlID0gR2FudHRWaWV3VHlwZS5ob3VyO1xuXG4gICAgY29uc3RydWN0b3Ioc3RhcnQ6IEdhbnR0Vmlld0RhdGUsIGVuZDogR2FudHRWaWV3RGF0ZSwgb3B0aW9ucz86IEdhbnR0Vmlld09wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIoc3RhcnQsIGVuZCwgT2JqZWN0LmFzc2lnbih7fSwgdmlld09wdGlvbnMsIG9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICB2aWV3U3RhcnRPZihkYXRlOiBHYW50dERhdGUpIHtcbiAgICAgICAgcmV0dXJuIGRhdGUuc3RhcnRPZldlZWsoKTtcbiAgICB9XG5cbiAgICB2aWV3RW5kT2YoZGF0ZTogR2FudHREYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLmVuZE9mV2VlaygpO1xuICAgIH1cblxuICAgIGdldFByaW1hcnlXaWR0aCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2VsbFdpZHRoKCkgKiAyNDtcbiAgICB9XG5cbiAgICBnZXREYXlPY2N1cGFuY3lXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5jZWxsV2lkdGggKiA2MDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEhvdXJPY2N1cGFuY3lXaWR0aCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RGF5T2NjdXBhbmN5V2lkdGgoKSAvIDYwO1xuICAgIH1cblxuICAgIGdldFByaW1hcnlEYXRlUG9pbnRzKCk6IEdhbnR0RGF0ZVBvaW50W10ge1xuICAgICAgICBjb25zdCBkYXlzID0gZWFjaERheU9mSW50ZXJ2YWwoeyBzdGFydDogdGhpcy5zdGFydC52YWx1ZSwgZW5kOiB0aGlzLmVuZC52YWx1ZSB9KTtcbiAgICAgICAgY29uc3QgcG9pbnRzOiBHYW50dERhdGVQb2ludFtdID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF5cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgc3RhcnQgPSB0aGlzLnN0YXJ0LmFkZERheXMoaSk7XG4gICAgICAgICAgICBjb25zdCBwb2ludCA9IG5ldyBHYW50dERhdGVQb2ludChcbiAgICAgICAgICAgICAgICBzdGFydCxcbiAgICAgICAgICAgICAgICBzdGFydC5mb3JtYXQodGhpcy5vcHRpb25zLmRhdGVGb3JtYXQ/LmRheSB8fCB0aGlzLm9wdGlvbnMuZGF0ZURpc3BsYXlGb3JtYXRzLnByaW1hcnkpLFxuICAgICAgICAgICAgICAgICh0aGlzLmdldENlbGxXaWR0aCgpICogMjQpIC8gMiArIGkgKiAodGhpcy5nZXRDZWxsV2lkdGgoKSAqIDI0KSxcbiAgICAgICAgICAgICAgICBwcmltYXJ5RGF0ZVBvaW50VG9wXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcG9pbnRzLnB1c2gocG9pbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBvaW50cztcbiAgICB9XG5cbiAgICBnZXRTZWNvbmRhcnlEYXRlUG9pbnRzKCk6IEdhbnR0RGF0ZVBvaW50W10ge1xuICAgICAgICBjb25zdCBob3VycyA9IGVhY2hIb3VyT2ZJbnRlcnZhbCh7IHN0YXJ0OiB0aGlzLnN0YXJ0LnZhbHVlLCBlbmQ6IHRoaXMuZW5kLnZhbHVlIH0pO1xuICAgICAgICBjb25zdCBwb2ludHM6IEdhbnR0RGF0ZVBvaW50W10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBob3Vycy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgc3RhcnQgPSBuZXcgR2FudHREYXRlKGhvdXJzW2ldKTtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50ID0gbmV3IEdhbnR0RGF0ZVBvaW50KFxuICAgICAgICAgICAgICAgIHN0YXJ0LFxuICAgICAgICAgICAgICAgIHN0YXJ0LmZvcm1hdCh0aGlzLm9wdGlvbnMuZGF0ZUZvcm1hdD8uaG91ciB8fCB0aGlzLm9wdGlvbnMuZGF0ZURpc3BsYXlGb3JtYXRzLnNlY29uZGFyeSksXG4gICAgICAgICAgICAgICAgaSAqIHRoaXMuZ2V0Q2VsbFdpZHRoKCkgKyB0aGlzLmdldENlbGxXaWR0aCgpIC8gMixcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnlEYXRlUG9pbnRUb3AsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBpc1dlZWtlbmQ6IHN0YXJ0LmlzV2Vla2VuZCgpLFxuICAgICAgICAgICAgICAgICAgICBpc1RvZGF5OiBzdGFydC5pc1RvZGF5KClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcG9pbnRzLnB1c2gocG9pbnQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwb2ludHM7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgZ2V0VG9kYXlYUG9pbnQoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgdG9hZHkgPSBuZXcgR2FudHREYXRlKCkuc3RhcnRPZk1pbnV0ZSgpO1xuICAgICAgICBpZiAodG9hZHkudmFsdWUgPiB0aGlzLnN0YXJ0LnZhbHVlICYmIHRvYWR5LnZhbHVlIDwgdGhpcy5lbmQudmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnN0IHggPSB0aGlzLmdldFhQb2ludEJ5RGF0ZSh0b2FkeSk7XG4gICAgICAgICAgICByZXR1cm4geDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgZ2V0RGF0ZUludGVydmFsV2lkdGgoc3RhcnQ6IEdhbnR0RGF0ZSwgZW5kOiBHYW50dERhdGUpIHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IDA7XG4gICAgICAgIGNvbnN0IG1pbnV0ZXMgPSBkaWZmZXJlbmNlSW5NaW51dGVzKGVuZC52YWx1ZSwgc3RhcnQudmFsdWUpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1pbnV0ZXM7IGkrKykge1xuICAgICAgICAgICAgcmVzdWx0ICs9IHRoaXMuZ2V0SG91ck9jY3VwYW5jeVdpZHRoKCkgLyA2MDtcbiAgICAgICAgfVxuICAgICAgICByZXN1bHQgPSBtaW51dGVzID49IDAgPyByZXN1bHQgOiAtcmVzdWx0O1xuICAgICAgICByZXR1cm4gTnVtYmVyKHJlc3VsdC50b0ZpeGVkKDMpKTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBnZXREYXRlQnlYUG9pbnQoeDogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IGhvdXJXaWR0aCA9IHRoaXMuZ2V0SG91ck9jY3VwYW5jeVdpZHRoKCk7XG4gICAgICAgIGNvbnN0IGluZGV4T2ZTZWNvbmRhcnlEYXRlID0gTWF0aC5tYXgoTWF0aC5mbG9vcih4IC8gaG91cldpZHRoKSwgMCk7XG4gICAgICAgIGNvbnN0IG1hdGNoRGF0ZSA9IHRoaXMuc2Vjb25kYXJ5RGF0ZVBvaW50c1tNYXRoLm1pbih0aGlzLnNlY29uZGFyeURhdGVQb2ludHMubGVuZ3RoIC0gMSwgaW5kZXhPZlNlY29uZGFyeURhdGUpXTtcbiAgICAgICAgY29uc3QgbWludXRlV2lkdGggPSBob3VyV2lkdGggLyA2MDtcbiAgICAgICAgY29uc3QgdW5kZXJPbmVIb3VyTWludXRlcyA9IE1hdGguZmxvb3IoKHggJSBob3VyV2lkdGgpIC8gbWludXRlV2lkdGgpO1xuICAgICAgICByZXR1cm4gbWF0Y2hEYXRlPy5zdGFydC5hZGRNaW51dGVzKHVuZGVyT25lSG91ck1pbnV0ZXMpO1xuICAgIH1cbn1cbiJdfQ==
|
package/esm2022/views/month.mjs
CHANGED
|
@@ -2,12 +2,14 @@ import { GanttView, secondaryDatePointTop, primaryDatePointTop } from './view';
|
|
|
2
2
|
import { GanttDate, differenceInCalendarQuarters, eachMonthOfInterval } from '../utils/date';
|
|
3
3
|
import { GanttDatePoint } from '../class/date-point';
|
|
4
4
|
import { GanttViewType } from '../class';
|
|
5
|
+
import { zhHantLocale } from '../i18n';
|
|
5
6
|
const viewOptions = {
|
|
6
7
|
start: new GanttDate().startOfQuarter().addQuarters(-1),
|
|
7
8
|
end: new GanttDate().endOfQuarter().addQuarters(2),
|
|
8
9
|
cellWidth: 280,
|
|
9
10
|
addAmount: 1,
|
|
10
|
-
addUnit: 'quarter'
|
|
11
|
+
addUnit: 'quarter',
|
|
12
|
+
dateDisplayFormats: zhHantLocale.views.month.dateFormats
|
|
11
13
|
};
|
|
12
14
|
export class GanttViewMonth extends GanttView {
|
|
13
15
|
constructor(start, end, options) {
|
|
@@ -31,7 +33,7 @@ export class GanttViewMonth extends GanttView {
|
|
|
31
33
|
const points = [];
|
|
32
34
|
for (let i = 0; i < quarters; i++) {
|
|
33
35
|
const start = this.start.addQuarters(i);
|
|
34
|
-
const point = new GanttDatePoint(start, start.format(this.options.dateFormat.
|
|
36
|
+
const point = new GanttDatePoint(start, start.format(this.options.dateFormat?.yearQuarter || this.options.dateDisplayFormats.primary), (this.getCellWidth() * 3) / 2 + i * (this.getCellWidth() * 3), primaryDatePointTop);
|
|
35
37
|
points.push(point);
|
|
36
38
|
}
|
|
37
39
|
return points;
|
|
@@ -41,10 +43,10 @@ export class GanttViewMonth extends GanttView {
|
|
|
41
43
|
const points = [];
|
|
42
44
|
for (let i = 0; i < months.length; i++) {
|
|
43
45
|
const start = new GanttDate(months[i]);
|
|
44
|
-
const point = new GanttDatePoint(start, start.format(this.options.dateFormat.
|
|
46
|
+
const point = new GanttDatePoint(start, start.format(this.options.dateFormat?.month || this.options.dateDisplayFormats.secondary), i * this.getCellWidth() + this.getCellWidth() / 2, secondaryDatePointTop);
|
|
45
47
|
points.push(point);
|
|
46
48
|
}
|
|
47
49
|
return points;
|
|
48
50
|
}
|
|
49
51
|
}
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvdmlld3MvbW9udGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBbUMscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDaEgsT0FBTyxFQUFFLFNBQVMsRUFBRSw0QkFBNEIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXZDLE1BQU0sV0FBVyxHQUFxQjtJQUNsQyxLQUFLLEVBQUUsSUFBSSxTQUFTLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkQsR0FBRyxFQUFFLElBQUksU0FBUyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNsRCxTQUFTLEVBQUUsR0FBRztJQUNkLFNBQVMsRUFBRSxDQUFDO0lBQ1osT0FBTyxFQUFFLFNBQVM7SUFDbEIsa0JBQWtCLEVBQUUsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVztDQUMzRCxDQUFDO0FBRUYsTUFBTSxPQUFPLGNBQWUsU0FBUSxTQUFTO0lBR3pDLFlBQVksS0FBb0IsRUFBRSxHQUFrQixFQUFFLE9BQTBCO1FBQzVFLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBSHRELGFBQVEsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDO0lBSXhDLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBZTtRQUN2QixPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsU0FBUyxDQUFDLElBQWU7UUFDckIsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELGVBQWU7UUFDWCxPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELG9CQUFvQixDQUFDLElBQWU7UUFDaEMsT0FBTyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2hCLE1BQU0sUUFBUSxHQUFHLDRCQUE0QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlGLE1BQU0sTUFBTSxHQUFxQixFQUFFLENBQUM7UUFDcEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sS0FBSyxHQUFHLElBQUksY0FBYyxDQUM1QixLQUFLLEVBQ0wsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxXQUFXLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsRUFDN0YsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFDN0QsbUJBQW1CLENBQ3RCLENBQUM7WUFDRixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQsc0JBQXNCO1FBQ2xCLE1BQU0sTUFBTSxHQUFHLG1CQUFtQixDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDckYsTUFBTSxNQUFNLEdBQXFCLEVBQUUsQ0FBQztRQUNwQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sS0FBSyxHQUFHLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZDLE1BQU0sS0FBSyxHQUFHLElBQUksY0FBYyxDQUM1QixLQUFLLEVBQ0wsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsRUFDekYsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxFQUNqRCxxQkFBcUIsQ0FDeEIsQ0FBQztZQUNGLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdhbnR0VmlldywgR2FudHRWaWV3T3B0aW9ucywgR2FudHRWaWV3RGF0ZSwgc2Vjb25kYXJ5RGF0ZVBvaW50VG9wLCBwcmltYXJ5RGF0ZVBvaW50VG9wIH0gZnJvbSAnLi92aWV3JztcbmltcG9ydCB7IEdhbnR0RGF0ZSwgZGlmZmVyZW5jZUluQ2FsZW5kYXJRdWFydGVycywgZWFjaE1vbnRoT2ZJbnRlcnZhbCB9IGZyb20gJy4uL3V0aWxzL2RhdGUnO1xuaW1wb3J0IHsgR2FudHREYXRlUG9pbnQgfSBmcm9tICcuLi9jbGFzcy9kYXRlLXBvaW50JztcbmltcG9ydCB7IEdhbnR0Vmlld1R5cGUgfSBmcm9tICcuLi9jbGFzcyc7XG5pbXBvcnQgeyB6aEhhbnRMb2NhbGUgfSBmcm9tICcuLi9pMThuJztcblxuY29uc3Qgdmlld09wdGlvbnM6IEdhbnR0Vmlld09wdGlvbnMgPSB7XG4gICAgc3RhcnQ6IG5ldyBHYW50dERhdGUoKS5zdGFydE9mUXVhcnRlcigpLmFkZFF1YXJ0ZXJzKC0xKSxcbiAgICBlbmQ6IG5ldyBHYW50dERhdGUoKS5lbmRPZlF1YXJ0ZXIoKS5hZGRRdWFydGVycygyKSxcbiAgICBjZWxsV2lkdGg6IDI4MCxcbiAgICBhZGRBbW91bnQ6IDEsXG4gICAgYWRkVW5pdDogJ3F1YXJ0ZXInLFxuICAgIGRhdGVEaXNwbGF5Rm9ybWF0czogemhIYW50TG9jYWxlLnZpZXdzLm1vbnRoLmRhdGVGb3JtYXRzXG59O1xuXG5leHBvcnQgY2xhc3MgR2FudHRWaWV3TW9udGggZXh0ZW5kcyBHYW50dFZpZXcge1xuICAgIG92ZXJyaWRlIHZpZXdUeXBlID0gR2FudHRWaWV3VHlwZS5tb250aDtcblxuICAgIGNvbnN0cnVjdG9yKHN0YXJ0OiBHYW50dFZpZXdEYXRlLCBlbmQ6IEdhbnR0Vmlld0RhdGUsIG9wdGlvbnM/OiBHYW50dFZpZXdPcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKHN0YXJ0LCBlbmQsIE9iamVjdC5hc3NpZ24oe30sIHZpZXdPcHRpb25zLCBvcHRpb25zKSk7XG4gICAgfVxuXG4gICAgdmlld1N0YXJ0T2YoZGF0ZTogR2FudHREYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLnN0YXJ0T2ZRdWFydGVyKCk7XG4gICAgfVxuXG4gICAgdmlld0VuZE9mKGRhdGU6IEdhbnR0RGF0ZSkge1xuICAgICAgICByZXR1cm4gZGF0ZS5lbmRPZlF1YXJ0ZXIoKTtcbiAgICB9XG5cbiAgICBnZXRQcmltYXJ5V2lkdGgoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENlbGxXaWR0aCgpICogMztcbiAgICB9XG5cbiAgICBnZXREYXlPY2N1cGFuY3lXaWR0aChkYXRlOiBHYW50dERhdGUpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5jZWxsV2lkdGggLyBkYXRlLmdldERheXNJbk1vbnRoKCk7XG4gICAgfVxuXG4gICAgZ2V0UHJpbWFyeURhdGVQb2ludHMoKTogR2FudHREYXRlUG9pbnRbXSB7XG4gICAgICAgIGNvbnN0IHF1YXJ0ZXJzID0gZGlmZmVyZW5jZUluQ2FsZW5kYXJRdWFydGVycyh0aGlzLmVuZC5hZGRTZWNvbmRzKDEpLnZhbHVlLCB0aGlzLnN0YXJ0LnZhbHVlKTtcbiAgICAgICAgY29uc3QgcG9pbnRzOiBHYW50dERhdGVQb2ludFtdID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcXVhcnRlcnM7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgc3RhcnQgPSB0aGlzLnN0YXJ0LmFkZFF1YXJ0ZXJzKGkpO1xuICAgICAgICAgICAgY29uc3QgcG9pbnQgPSBuZXcgR2FudHREYXRlUG9pbnQoXG4gICAgICAgICAgICAgICAgc3RhcnQsXG4gICAgICAgICAgICAgICAgc3RhcnQuZm9ybWF0KHRoaXMub3B0aW9ucy5kYXRlRm9ybWF0Py55ZWFyUXVhcnRlciB8fCB0aGlzLm9wdGlvbnMuZGF0ZURpc3BsYXlGb3JtYXRzLnByaW1hcnkpLFxuICAgICAgICAgICAgICAgICh0aGlzLmdldENlbGxXaWR0aCgpICogMykgLyAyICsgaSAqICh0aGlzLmdldENlbGxXaWR0aCgpICogMyksXG4gICAgICAgICAgICAgICAgcHJpbWFyeURhdGVQb2ludFRvcFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHBvaW50cy5wdXNoKHBvaW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwb2ludHM7XG4gICAgfVxuXG4gICAgZ2V0U2Vjb25kYXJ5RGF0ZVBvaW50cygpOiBHYW50dERhdGVQb2ludFtdIHtcbiAgICAgICAgY29uc3QgbW9udGhzID0gZWFjaE1vbnRoT2ZJbnRlcnZhbCh7IHN0YXJ0OiB0aGlzLnN0YXJ0LnZhbHVlLCBlbmQ6IHRoaXMuZW5kLnZhbHVlIH0pO1xuICAgICAgICBjb25zdCBwb2ludHM6IEdhbnR0RGF0ZVBvaW50W10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtb250aHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gbmV3IEdhbnR0RGF0ZShtb250aHNbaV0pO1xuICAgICAgICAgICAgY29uc3QgcG9pbnQgPSBuZXcgR2FudHREYXRlUG9pbnQoXG4gICAgICAgICAgICAgICAgc3RhcnQsXG4gICAgICAgICAgICAgICAgc3RhcnQuZm9ybWF0KHRoaXMub3B0aW9ucy5kYXRlRm9ybWF0Py5tb250aCB8fCB0aGlzLm9wdGlvbnMuZGF0ZURpc3BsYXlGb3JtYXRzLnNlY29uZGFyeSksXG4gICAgICAgICAgICAgICAgaSAqIHRoaXMuZ2V0Q2VsbFdpZHRoKCkgKyB0aGlzLmdldENlbGxXaWR0aCgpIC8gMixcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnlEYXRlUG9pbnRUb3BcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBwb2ludHMucHVzaChwb2ludCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBvaW50cztcbiAgICB9XG59XG4iXX0=
|
|
@@ -3,6 +3,7 @@ import { GanttDate } from '../utils/date';
|
|
|
3
3
|
import { GanttDatePoint } from '../class/date-point';
|
|
4
4
|
import { eachYearOfInterval, differenceInCalendarQuarters } from 'date-fns';
|
|
5
5
|
import { GanttViewType } from '../class';
|
|
6
|
+
import { zhHantLocale } from '../i18n';
|
|
6
7
|
const viewOptions = {
|
|
7
8
|
start: new GanttDate().addYears(-1).startOfYear(),
|
|
8
9
|
end: new GanttDate().addYears(1).endOfYear(),
|
|
@@ -10,7 +11,8 @@ const viewOptions = {
|
|
|
10
11
|
max: new GanttDate().addYears(2).endOfYear(),
|
|
11
12
|
cellWidth: 500,
|
|
12
13
|
addAmount: 1,
|
|
13
|
-
addUnit: 'year'
|
|
14
|
+
addUnit: 'year',
|
|
15
|
+
dateDisplayFormats: zhHantLocale.views.quarter.dateFormats
|
|
14
16
|
};
|
|
15
17
|
export class GanttViewQuarter extends GanttView {
|
|
16
18
|
constructor(start, end, options) {
|
|
@@ -34,7 +36,7 @@ export class GanttViewQuarter extends GanttView {
|
|
|
34
36
|
const points = [];
|
|
35
37
|
for (let i = 0; i < years.length; i++) {
|
|
36
38
|
const start = new GanttDate(years[i]);
|
|
37
|
-
const point = new GanttDatePoint(start, `${start.format(this.options.dateFormat.
|
|
39
|
+
const point = new GanttDatePoint(start, `${start.format(this.options.dateFormat?.year || this.options.dateDisplayFormats.primary)}`, (this.getCellWidth() * 4) / 2 + i * (this.getCellWidth() * 4), primaryDatePointTop);
|
|
38
40
|
points.push(point);
|
|
39
41
|
}
|
|
40
42
|
return points;
|
|
@@ -44,10 +46,10 @@ export class GanttViewQuarter extends GanttView {
|
|
|
44
46
|
const points = [];
|
|
45
47
|
for (let i = 0; i <= quarters; i++) {
|
|
46
48
|
const start = this.start.addQuarters(i);
|
|
47
|
-
const point = new GanttDatePoint(start, start.format(this.options.dateFormat.
|
|
49
|
+
const point = new GanttDatePoint(start, start.format(this.options.dateFormat?.quarter || this.options.dateDisplayFormats.secondary), i * this.getCellWidth() + this.getCellWidth() / 2, secondaryDatePointTop);
|
|
48
50
|
points.push(point);
|
|
49
51
|
}
|
|
50
52
|
return points;
|
|
51
53
|
}
|
|
52
54
|
}
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy92aWV3cy9xdWFydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW1DLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFdkMsTUFBTSxXQUFXLEdBQXFCO0lBQ2xDLEtBQUssRUFBRSxJQUFJLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRTtJQUNqRCxHQUFHLEVBQUUsSUFBSSxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFO0lBQzVDLEdBQUcsRUFBRSxJQUFJLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRTtJQUMvQyxHQUFHLEVBQUUsSUFBSSxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFO0lBQzVDLFNBQVMsRUFBRSxHQUFHO0lBQ2QsU0FBUyxFQUFFLENBQUM7SUFDWixPQUFPLEVBQUUsTUFBTTtJQUNmLGtCQUFrQixFQUFFLFlBQVksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVc7Q0FDN0QsQ0FBQztBQUVGLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxTQUFTO0lBRzNDLFlB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aW1wb3J0IHsgR2FudHRWaWV3LCBHYW50dFZpZXdPcHRpb25zLCBHYW50dFZpZXdEYXRlLCBzZWNvbmRhcnlEYXRlUG9pbnRUb3AsIHByaW1hcnlEYXRlUG9pbnRUb3AgfSBmcm9tICcuL3ZpZXcnO1xuaW1wb3J0IHsgR2FudHREYXRlIH0gZnJvbSAnLi4vdXRpbHMvZGF0ZSc7XG5pbXBvcnQgeyBHYW50dERhdGVQb2ludCB9IGZyb20gJy4uL2NsYXNzL2RhdGUtcG9pbnQnO1xuaW1wb3J0IHsgZWFjaFllYXJPZkludGVydmFsLCBkaWZmZXJlbmNlSW5DYWxlbmRhclF1YXJ0ZXJzIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgR2FudHRWaWV3VHlwZSB9IGZyb20gJy4uL2NsYXNzJztcbmltcG9ydCB7IHpoSGFudExvY2FsZSB9IGZyb20gJy4uL2kxOG4nO1xuXG5jb25zdCB2aWV3T3B0aW9uczogR2FudHRWaWV3T3B0aW9ucyA9IHtcbiAgICBzdGFydDogbmV3IEdhbnR0RGF0ZSgpLmFkZFllYXJzKC0xKS5zdGFydE9mWWVhcigpLFxuICAgIGVuZDogbmV3IEdhbnR0RGF0ZSgpLmFkZFllYXJzKDEpLmVuZE9mWWVhcigpLFxuICAgIG1pbjogbmV3IEdhbnR0RGF0ZSgpLmFkZFllYXJzKC0yKS5zdGFydE9mWWVhcigpLFxuICAgIG1heDogbmV3IEdhbnR0RGF0ZSgpLmFkZFllYXJzKDIpLmVuZE9mWWVhcigpLFxuICAgIGNlbGxXaWR0aDogNTAwLFxuICAgIGFkZEFtb3VudDogMSxcbiAgICBhZGRVbml0OiAneWVhcicsXG4gICAgZGF0ZURpc3BsYXlGb3JtYXRzOiB6aEhhbnRMb2NhbGUudmlld3MucXVhcnRlci5kYXRlRm9ybWF0c1xufTtcblxuZXhwb3J0IGNsYXNzIEdhbnR0Vmlld1F1YXJ0ZXIgZXh0ZW5kcyBHYW50dFZpZXcge1xuICAgIG92ZXJyaWRlIHZpZXdUeXBlID0gR2FudHRWaWV3VHlwZS5xdWFydGVyO1xuXG4gICAgY29uc3RydWN0b3Ioc3RhcnQ6IEdhbnR0Vmlld0RhdGUsIGVuZDogR2FudHRWaWV3RGF0ZSwgb3B0aW9ucz86IEdhbnR0Vmlld09wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIoc3RhcnQsIGVuZCwgT2JqZWN0LmFzc2lnbih7fSwgdmlld09wdGlvbnMsIG9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICB2aWV3U3RhcnRPZihkYXRlOiBHYW50dERhdGUpIHtcbiAgICAgICAgcmV0dXJuIGRhdGUuc3RhcnRPZlllYXIoKTtcbiAgICB9XG5cbiAgICB2aWV3RW5kT2YoZGF0ZTogR2FudHREYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLmVuZE9mWWVhcigpO1xuICAgIH1cblxuICAgIGdldFByaW1hcnlXaWR0aCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2VsbFdpZHRoKCkgKiA0O1xuICAgIH1cblxuICAgIGdldERheU9jY3VwYW5jeVdpZHRoKGRhdGU6IEdhbnR0RGF0ZSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmNlbGxXaWR0aCAvIGRhdGUuZ2V0RGF5c0luUXVhcnRlcigpO1xuICAgIH1cblxuICAgIGdldFByaW1hcnlEYXRlUG9pbnRzKCk6IEdhbnR0RGF0ZVBvaW50W10ge1xuICAgICAgICBjb25zdCB5ZWFycyA9IGVhY2hZZWFyT2ZJbnRlcnZhbCh7IHN0YXJ0OiB0aGlzLnN0YXJ0LnZhbHVlLCBlbmQ6IHRoaXMuZW5kLnZhbHVlIH0pO1xuICAgICAgICBjb25zdCBwb2ludHM6IEdhbnR0RGF0ZVBvaW50W10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB5ZWFycy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgc3RhcnQgPSBuZXcgR2FudHREYXRlKHllYXJzW2ldKTtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50ID0gbmV3IEdhbnR0RGF0ZVBvaW50KFxuICAgICAgICAgICAgICAgIHN0YXJ0LFxuICAgICAgICAgICAgICAgIGAke3N0YXJ0LmZvcm1hdCh0aGlzLm9wdGlvbnMuZGF0ZUZvcm1hdD8ueWVhciB8fCB0aGlzLm9wdGlvbnMuZGF0ZURpc3BsYXlGb3JtYXRzLnByaW1hcnkpfWAsXG4gICAgICAgICAgICAgICAgKHRoaXMuZ2V0Q2VsbFdpZHRoKCkgKiA0KSAvIDIgKyBpICogKHRoaXMuZ2V0Q2VsbFdpZHRoKCkgKiA0KSxcbiAgICAgICAgICAgICAgICBwcmltYXJ5RGF0ZVBvaW50VG9wXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcG9pbnRzLnB1c2gocG9pbnQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwb2ludHM7XG4gICAgfVxuXG4gICAgZ2V0U2Vjb25kYXJ5RGF0ZVBvaW50cygpOiBHYW50dERhdGVQb2ludFtdIHtcbiAgICAgICAgY29uc3QgcXVhcnRlcnMgPSBkaWZmZXJlbmNlSW5DYWxlbmRhclF1YXJ0ZXJzKHRoaXMuZW5kLnZhbHVlLCB0aGlzLnN0YXJ0LnZhbHVlKTtcbiAgICAgICAgY29uc3QgcG9pbnRzOiBHYW50dERhdGVQb2ludFtdID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDw9IHF1YXJ0ZXJzOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5zdGFydC5hZGRRdWFydGVycyhpKTtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50ID0gbmV3IEdhbnR0RGF0ZVBvaW50KFxuICAgICAgICAgICAgICAgIHN0YXJ0LFxuICAgICAgICAgICAgICAgIHN0YXJ0LmZvcm1hdCh0aGlzLm9wdGlvbnMuZGF0ZUZvcm1hdD8ucXVhcnRlciB8fCB0aGlzLm9wdGlvbnMuZGF0ZURpc3BsYXlGb3JtYXRzLnNlY29uZGFyeSksXG4gICAgICAgICAgICAgICAgaSAqIHRoaXMuZ2V0Q2VsbFdpZHRoKCkgKyB0aGlzLmdldENlbGxXaWR0aCgpIC8gMixcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnlEYXRlUG9pbnRUb3BcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBwb2ludHMucHVzaChwb2ludCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBvaW50cztcbiAgICB9XG59XG4iXX0=
|
package/esm2022/views/view.mjs
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { differenceInCalendarDays, differenceInHours, differenceInMinutes } from 'date-fns';
|
|
2
2
|
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import { defaultConfig } from '../gantt.config';
|
|
4
3
|
import { GanttDate, differenceInDays } from '../utils/date';
|
|
5
4
|
export const primaryDatePointTop = '40%';
|
|
6
5
|
export const secondaryDatePointTop = '80%';
|
|
7
6
|
const viewOptions = {
|
|
8
7
|
min: new GanttDate().addYears(-1).startOfYear(),
|
|
9
8
|
max: new GanttDate().addYears(1).endOfYear(),
|
|
10
|
-
dateFormat: defaultConfig.dateFormat,
|
|
11
9
|
datePrecisionUnit: 'day',
|
|
12
10
|
dragPreviewDateFormat: 'MM-dd'
|
|
13
11
|
};
|
|
@@ -20,6 +18,7 @@ export class GanttView {
|
|
|
20
18
|
}
|
|
21
19
|
constructor(start, end, options) {
|
|
22
20
|
this.showTimeline = true;
|
|
21
|
+
this.dateFormats = {};
|
|
23
22
|
this.options = Object.assign({}, viewOptions, options);
|
|
24
23
|
const startDate = start.isCustom
|
|
25
24
|
? this.viewStartOf(start.date)
|
|
@@ -175,4 +174,4 @@ export class GanttView {
|
|
|
175
174
|
}
|
|
176
175
|
}
|
|
177
176
|
}
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy92aWV3cy92aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM1RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3ZDLE9BQU8sRUFBbUIsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBaUIsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0UsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0FBRXpDLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEtBQUssQ0FBQztBQXNCM0MsTUFBTSxXQUFXLEdBQXFCO0lBQ2xDLEdBQUcsRUFBRSxJQUFJLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRTtJQUMvQyxHQUFHLEVBQUUsSUFBSSxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFO0lBQzVDLFVBQVUsRUFBRSxhQUFhLENBQUMsVUFBVTtJQUNwQyxpQkFBaUIsRUFBRSxLQUFLO0lBQ3hCLHFCQUFxQixFQUFFLE9BQU87Q0FDakMsQ0FBQztBQUVGLE1BQU0sT0FBZ0IsU0FBUztJQU8zQixJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksR0FBRztRQUNILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBa0JELFlBQVksS0FBb0IsRUFBRSxHQUFrQixFQUFFLE9BQXlCO1FBTi9FLGlCQUFZLEdBQUcsSUFB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RCxvQkFBb0I7SUFDcEIsK0JBQStCLENBQUMsSUFBZTtRQUMzQyxRQUFRLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNyQyxLQUFLLFFBQVE7Z0JBQ1QsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztZQUNyRCxLQUFLLE1BQU07Z0JBQ1AsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2hEO2dCQUNJLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLENBQUM7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXMsIGRpZmZlcmVuY2VJbkhvdXJzLCBkaWZmZXJlbmNlSW5NaW51dGVzIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBHYW50dFZpZXdUeXBlIH0gZnJvbSAnLi4vY2xhc3MnO1xuaW1wb3J0IHsgR2FudHREYXRlUG9pbnQgfSBmcm9tICcuLi9jbGFzcy9kYXRlLXBvaW50JztcbmltcG9ydCB7IEdhbnR0RGF0ZUZvcm1hdCwgZGVmYXVsdENvbmZpZyB9IGZyb20gJy4uL2dhbnR0LmNvbmZpZyc7XG5pbXBvcnQgeyBHYW50dERhdGUsIEdhbnR0RGF0ZVV0aWwsIGRpZmZlcmVuY2VJbkRheXMgfSBmcm9tICcuLi91dGlscy9kYXRlJztcblxuZXhwb3J0IGNvbnN0IHByaW1hcnlEYXRlUG9pbnRUb3AgPSAnNDAlJztcblxuZXhwb3J0IGNvbnN0IHNlY29uZGFyeURhdGVQb2ludFRvcCA9ICc4MCUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdhbnR0Vmlld0RhdGUge1xuICAgIGRhdGU6IEdhbnR0RGF0ZTtcbiAgICBpc0N1c3RvbT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2FudHRWaWV3T3B0aW9ucyB7XG4gICAgc3RhcnQ/OiBHYW50dERhdGU7XG4gICAgZW5kPzogR2FudHREYXRlO1xuICAgIG1pbj86IEdhbnR0RGF0ZTtcbiAgICBtYXg/OiBHYW50dERhdGU7XG4gICAgY2VsbFdpZHRoPzogbnVtYmVyO1xuICAgIGFkZEFtb3VudD86IG51bWJlcjtcbiAgICBhZGRVbml0PzogR2FudHREYXRlVXRpbDtcbiAgICBkYXRlRm9ybWF0PzogR2FudHREYXRlRm9ybWF0O1xuICAgIGRhdGVQcmVjaXNpb25Vbml0PzogJ2RheScgfCAnaG91cicgfCAnbWludXRlJztcbiAgICBkcmFnUHJldmlld0RhdGVGb3JtYXQ/OiBzdHJpbmc7XG4gICAgLy8gY3VzdG9tIGtleSBhbmQgdmFsdWVcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmNvbnN0IHZpZXdPcHRpb25zOiBHYW50dFZpZXdPcHRpb25zID0ge1xuICAgIG1pbjogbmV3IEdhbnR0RGF0ZSgpLmFkZFllYXJzKC0xKS5zdGFydE9mWWVhcigpLFxuICAgIG1heDogbmV3IEdhbnR0RGF0ZSgpLmFkZFllYXJzKDEpLmVuZE9mWWVhcigpLFxuICAgIGRhdGVGb3JtYXQ6IGRlZmF1bHRDb25maWcuZGF0ZUZvcm1hdCxcbiAgICBkYXRlUHJlY2lzaW9uVW5pdDogJ2RheScsXG4gICAgZHJhZ1ByZXZpZXdEYXRlRm9ybWF0OiAnTU0tZGQnXG59O1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgR2FudHRWaWV3IHtcbiAgICB2aWV3VHlwZTogR2FudHRWaWV3VHlwZTtcblxuICAgIHN0YXJ0JDogQmVoYXZpb3JTdWJqZWN0PEdhbnR0RGF0ZT47XG5cbiAgICBlbmQkOiBCZWhhdmlvclN1YmplY3Q8R2FudHREYXRlPjtcblxuICAgIGdldCBzdGFydCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhcnQkLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgZ2V0IGVuZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW5kJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHByaW1hcnlEYXRlUG9pbnRzOiBHYW50dERhdGVQb2ludFtdO1xuXG4gICAgc2Vjb25kYXJ5RGF0ZVBvaW50czogR2FudHREYXRlUG9pbnRbXTtcblxuICAgIHdpZHRoOiBudW1iZXI7XG5cbiAgICBjZWxsV2lkdGg6IG51bWJlcjtcblxuICAgIHByaW1hcnlXaWR0aDogbnVtYmVyO1xuXG4gICAgc2hvd1RpbWVsaW5lID0gdHJ1ZTtcblxuICAgIHNob3dXZWVrQmFja2Ryb3A6IGJvb2xlYW47XG5cbiAgICBvcHRpb25zOiBHYW50dFZpZXdPcHRpb25zO1xuXG4gICAgY29uc3RydWN0b3Ioc3RhcnQ6IEdhbnR0Vmlld0RhdGUsIGVuZDogR2FudHRWaWV3RGF0ZSwgb3B0aW9uczogR2FudHRWaWV3T3B0aW9ucykge1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCB2aWV3T3B0aW9ucywgb3B0aW9ucyk7XG4gICAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHN0YXJ0LmlzQ3VzdG9tXG4gICAgICAgICAgICA/IHRoaXMudmlld1N0YXJ0T2Yoc3RhcnQuZGF0ZSlcbiAgICAgICAgICAgIDogdGhpcy52aWV3U3RhcnRPZihzdGFydC5kYXRlLnZhbHVlIDwgdGhpcy5vcHRpb25zLnN0YXJ0LnZhbHVlID8gc3RhcnQuZGF0ZSA6IHRoaXMub3B0aW9ucy5zdGFydCk7XG4gICAgICAgIGNvbnN0IGVuZERhdGUgPSBlbmQuaXNDdXN0b21cbiAgICAgICAgICAgID8gdGhpcy52aWV3RW5kT2YoZW5kLmRhdGUpXG4gICAgICAgICAgICA6IHRoaXMudmlld0VuZE9mKGVuZC5kYXRlLnZhbHVlID4gdGhpcy5vcHRpb25zLmVuZC52YWx1ZSA/IGVuZC5kYXRlIDogdGhpcy5vcHRpb25zLmVuZCk7XG4gICAgICAgIHRoaXMuc3RhcnQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxHYW50dERhdGU+KHN0YXJ0RGF0ZSk7XG4gICAgICAgIHRoaXMuZW5kJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8R2FudHREYXRlPihlbmREYXRlKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgfVxuXG4gICAgYWJzdHJhY3Qgdmlld1N0YXJ0T2YoZGF0ZTogR2FudHREYXRlKTogR2FudHREYXRlO1xuXG4gICAgYWJzdHJhY3Qgdmlld0VuZE9mKGRhdGU6IEdhbnR0RGF0ZSk6IEdhbnR0RGF0ZTtcblxuICAgIC8qKlxuICAgICAqIGRlcHJlY2F0ZWQsIHBsZWFzZSB1c2Ugdmlld1N0YXJ0T2YoKVxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICovXG4gICAgc3RhcnRPZihkYXRlOiBHYW50dERhdGUpOiBHYW50dERhdGUge1xuICAgICAgICByZXR1cm4gdGhpcy52aWV3U3RhcnRPZihkYXRlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBkZXByZWNhdGVkLCBwbGVhc2UgdXNlIHZpZXdFbmRPZigpXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKi9cbiAgICBlbmRPZihkYXRlOiBHYW50dERhdGUpOiBHYW50dERhdGUge1xuICAgICAgICByZXR1cm4gdGhpcy52aWV3RW5kT2YoZGF0ZSk7XG4gICAgfVxuXG4gICAgLy8g6I635Y+W5LiA57qn5pe26Ze0572R5qC85ZCI5bm25ZCO55qE5a695bqmXG4gICAgYWJzdHJhY3QgZ2V0UHJpbWFyeVdpZHRoKCk6IG51bWJlcjtcblxuICAgIC8vIOiOt+WPluW9k+WJjeinhuWbvuS4i+avj+S4gOWkqeWNoOeUqOeahOWuveW6plxuICAgIGFic3RyYWN0IGdldERheU9jY3VwYW5jeVdpZHRoKGRhdGU6IEdhbnR0RGF0ZSk6IG51bWJlcjtcblxuICAgIC8vIOiOt+WPluS4gOe6p+aXtumXtOeCue+8iOWdkOagh++8jOaYvuekuuWQjeensO+8iVxuICAgIGFic3RyYWN0IGdldFByaW1hcnlEYXRlUG9pbnRzKCk6IEdhbnR0RGF0ZVBvaW50W107XG5cbiAgICAvLyDojrflj5bkuoznuqfml7bpl7TngrnvvIjlnZDmoIfvvIzmmL7npLrlkI3np7DvvIlcbiAgICBhYnN0cmFjdCBnZXRTZWNvbmRhcnlEYXRlUG9pbnRzKCk6IEdhbnR0RGF0ZVBvaW50W107XG5cbiAgICBzdGFydE9mUHJlY2lzaW9uKGRhdGU6IEdhbnR0RGF0ZSkge1xuICAgICAgICBzd2l0Y2ggKHRoaXMub3B0aW9ucy5kYXRlUHJlY2lzaW9uVW5pdCkge1xuICAgICAgICAgICAgY2FzZSAnbWludXRlJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0ZS5zdGFydE9mTWludXRlKCk7XG4gICAgICAgICAgICBjYXNlICdob3VyJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0ZS5zdGFydE9mSG91cigpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0ZS5zdGFydE9mRGF5KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBlbmRPZlByZWNpc2lvbihkYXRlOiBHYW50dERhdGUpIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLm9wdGlvbnMuZGF0ZVByZWNpc2lvblVuaXQpIHtcbiAgICAgICAgICAgIGNhc2UgJ21pbnV0ZSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGUuZW5kT2ZNaW51dGUoKTtcbiAgICAgICAgICAgIGNhc2UgJ2hvdXInOlxuICAgICAgICAgICAgICAgIHJldHVybiBkYXRlLmVuZE9mSG91cigpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0ZS5lbmRPZkRheSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGlmZmVyZW5jZUJ5UHJlY2lzaW9uVW5pdChkYXRlTGVmdDogR2FudHREYXRlLCBkYXRlUmlnaHQ6IEdhbnR0RGF0ZSkge1xuICAgICAgICBzd2l0Y2ggKHRoaXMub3B0aW9ucy5kYXRlUHJlY2lzaW9uVW5pdCkge1xuICAgICAgICAgICAgY2FzZSAnbWludXRlJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGlmZmVyZW5jZUluTWludXRlcyhkYXRlTGVmdC52YWx1ZSwgZGF0ZVJpZ2h0LnZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgJ2hvdXInOlxuICAgICAgICAgICAgICAgIHJldHVybiBkaWZmZXJlbmNlSW5Ib3VycyhkYXRlTGVmdC52YWx1ZSwgZGF0ZVJpZ2h0LnZhbHVlKTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cyhkYXRlTGVmdC52YWx1ZSwgZGF0ZVJpZ2h0LnZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldERhdGVJbnRlcnZhbFdpZHRoKHN0YXJ0OiBHYW50dERhdGUsIGVuZDogR2FudHREYXRlKSB7XG4gICAgICAgIGxldCByZXN1bHQgPSAwO1xuICAgICAgICBjb25zdCBkYXlzID0gZGlmZmVyZW5jZUluRGF5cyhlbmQudmFsdWUsIHN0YXJ0LnZhbHVlKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBNYXRoLmFicyhkYXlzKTsgaSsrKSB7XG4gICAgICAgICAgICByZXN1bHQgKz0gdGhpcy5nZXREYXlPY2N1cGFuY3lXaWR0aChzdGFydC5hZGREYXlzKGkpKTtcbiAgICAgICAgfVxuICAgICAgICByZXN1bHQgPSBkYXlzID49IDAgPyByZXN1bHQgOiAtcmVzdWx0O1xuICAgICAgICByZXR1cm4gTnVtYmVyKHJlc3VsdC50b0ZpeGVkKDMpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaW5pdGlhbGl6ZSgpIHtcbiAgICAgICAgdGhpcy5wcmltYXJ5RGF0ZVBvaW50cyA9IHRoaXMuZ2V0UHJpbWFyeURhdGVQb2ludHMoKTtcbiAgICAgICAgdGhpcy5zZWNvbmRhcnlEYXRlUG9pbnRzID0gdGhpcy5nZXRTZWNvbmRhcnlEYXRlUG9pbnRzKCk7XG4gICAgICAgIHRoaXMud2lkdGggPSB0aGlzLmdldFdpZHRoKCk7XG4gICAgICAgIHRoaXMuY2VsbFdpZHRoID0gdGhpcy5nZXRDZWxsV2lkdGgoKTtcbiAgICAgICAgdGhpcy5wcmltYXJ5V2lkdGggPSB0aGlzLmdldFByaW1hcnlXaWR0aCgpO1xuICAgIH1cblxuICAgIGFkZFN0YXJ0RGF0ZSgpIHtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSB0aGlzLnZpZXdTdGFydE9mKHRoaXMuc3RhcnQuYWRkKHRoaXMub3B0aW9ucy5hZGRBbW91bnQgKiAtMSwgdGhpcy5vcHRpb25zLmFkZFVuaXQpKTtcbiAgICAgICAgaWYgKHN0YXJ0LnZhbHVlID49IHRoaXMub3B0aW9ucy5taW4udmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnN0IG9yaWdpbiA9IHRoaXMuc3RhcnQ7XG4gICAgICAgICAgICB0aGlzLnN0YXJ0JC5uZXh0KHN0YXJ0KTtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xuICAgICAgICAgICAgcmV0dXJuIHsgc3RhcnQ6IHRoaXMuc3RhcnQsIGVuZDogb3JpZ2luIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgYWRkRW5kRGF0ZSgpIHtcbiAgICAgICAgY29uc3QgZW5kID0gdGhpcy52aWV3RW5kT2YodGhpcy5lbmQuYWRkKHRoaXMub3B0aW9ucy5hZGRBbW91bnQsIHRoaXMub3B0aW9ucy5hZGRVbml0KSk7XG4gICAgICAgIGlmIChlbmQudmFsdWUgPD0gdGhpcy5vcHRpb25zLm1heC52YWx1ZSkge1xuICAgICAgICAgICAgY29uc3Qgb3JpZ2luID0gdGhpcy5lbmQ7XG4gICAgICAgICAgICB0aGlzLmVuZCQubmV4dChlbmQpO1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgICAgICAgICByZXR1cm4geyBzdGFydDogb3JpZ2luLCBlbmQ6IHRoaXMuZW5kIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgdXBkYXRlRGF0ZShzdGFydDogR2FudHREYXRlLCBlbmQ6IEdhbnR0RGF0ZSkge1xuICAgICAgICBzdGFydCA9IHRoaXMudmlld1N0YXJ0T2Yoc3RhcnQpO1xuICAgICAgICBlbmQgPSB0aGlzLnZpZXdFbmRPZihlbmQpO1xuICAgICAgICBpZiAoc3RhcnQudmFsdWUgPCB0aGlzLnN0YXJ0LnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnN0YXJ0JC5uZXh0KHN0YXJ0KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW5kLnZhbHVlID4gdGhpcy5lbmQudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZW5kJC5uZXh0KGVuZCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgfVxuXG4gICAgLy8g6I635Y+WVmlld+eahOWuveW6plxuICAgIGdldFdpZHRoKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDZWxsV2lkdGgoKSAqIHRoaXMuc2Vjb25kYXJ5RGF0ZVBvaW50cy5sZW5ndGg7XG4gICAgfVxuXG4gICAgLy8g6I635Y+W5Y2V5Liq572R5qC855qE5a695bqmXG4gICAgZ2V0Q2VsbFdpZHRoKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmNlbGxXaWR0aDtcbiAgICB9XG5cbiAgICAvLyDojrflj5blvZPliY3ml7bpl7TnmoRY5Z2Q5qCHXG4gICAgZ2V0VG9kYXlYUG9pbnQoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgdG9hZHkgPSBuZXcgR2FudHREYXRlKCkuc3RhcnRPZkRheSgpO1xuICAgICAgICBpZiAodG9hZHkudmFsdWUgPiB0aGlzLnN0YXJ0LnZhbHVlICYmIHRvYWR5LnZhbHVlIDwgdGhpcy5lbmQudmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnN0IHggPSB0aGlzLmdldFhQb2ludEJ5RGF0ZSh0b2FkeSkgKyB0aGlzLmdldERheU9jY3VwYW5jeVdpZHRoKHRvYWR5KSAvIDI7XG4gICAgICAgICAgICByZXR1cm4geDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8g6I635Y+W5oyH5a6a5pe26Ze055qEWOWdkOagh1xuICAgIGdldFhQb2ludEJ5RGF0ZShkYXRlOiBHYW50dERhdGUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RGF0ZUludGVydmFsV2lkdGgodGhpcy5zdGFydCwgZGF0ZSk7XG4gICAgfVxuXG4gICAgLy8g5qC55o2uWOWdkOagh+iOt+WPluWvueW6lOaXtumXtFxuICAgIGdldERhdGVCeVhQb2ludCh4OiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgaW5kZXhPZlNlY29uZGFyeURhdGUgPSBNYXRoLm1heChNYXRoLmZsb29yKHggLyB0aGlzLmdldENlbGxXaWR0aCgpKSwgMCk7XG4gICAgICAgIGNvbnN0IG1hdGNoRGF0ZSA9IHRoaXMuc2Vjb25kYXJ5RGF0ZVBvaW50c1tNYXRoLm1pbih0aGlzLnNlY29uZGFyeURhdGVQb2ludHMubGVuZ3RoIC0gMSwgaW5kZXhPZlNlY29uZGFyeURhdGUpXTtcbiAgICAgICAgY29uc3QgZGF5V2lkdGggPSB0aGlzLmdldERheU9jY3VwYW5jeVdpZHRoKG1hdGNoRGF0ZT8uc3RhcnQpO1xuICAgICAgICBpZiAoZGF5V2lkdGggPT09IHRoaXMuZ2V0Q2VsbFdpZHRoKCkpIHtcbiAgICAgICAgICAgIHJldHVybiBtYXRjaERhdGU/LnN0YXJ0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZGF5ID0gTWF0aC5mbG9vcigoeCAlIHRoaXMuZ2V0Q2VsbFdpZHRoKCkpIC8gZGF5V2lkdGgpO1xuICAgICAgICAgICAgcmV0dXJuIG1hdGNoRGF0ZT8uc3RhcnQuYWRkRGF5cyhkYXkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8g6I635Y+W5oyH5a6a5pe26Ze06IyD5Zu055qE5a695bqmXG4gICAgZ2V0RGF0ZVJhbmdlV2lkdGgoc3RhcnQ6IEdhbnR0RGF0ZSwgZW5kOiBHYW50dERhdGUpIHtcbiAgICAgICAgLy8gYWRkU2Vjb25kcygxKSDmmK/lm6DkuLrorqHnrpfnm7jlt67lpKnkvJrku6XkuIDkuKrmlbTlpKnmnaXorqHnrpcgZW5k5pe26Ze05LiA6Iis5pivNTnliIY1OeenkuS4jeaYr+S4gOS4quaVtOWkqe+8jOaJgOS7pemcgOimgeWKoDFcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RGF0ZUludGVydmFsV2lkdGgodGhpcy5zdGFydE9mUHJlY2lzaW9uKHN0YXJ0KSwgdGhpcy5lbmRPZlByZWNpc2lvbihlbmQpLmFkZFNlY29uZHMoMSkpO1xuICAgIH1cblxuICAgIC8vIOagueaNruaXpeacn+eyvuW6puiOt+WPluacgOWwj+aXtumXtOiMg+WbtOeahOWuveW6plxuICAgIGdldE1pblJhbmdlV2lkdGhCeVByZWNpc2lvblVuaXQoZGF0ZTogR2FudHREYXRlKSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5vcHRpb25zLmRhdGVQcmVjaXNpb25Vbml0KSB7XG4gICAgICAgICAgICBjYXNlICdtaW51dGUnOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldERheU9jY3VwYW5jeVdpZHRoKGRhdGUpIC8gMjQgLyA2MDtcbiAgICAgICAgICAgIGNhc2UgJ2hvdXInOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldERheU9jY3VwYW5jeVdpZHRoKGRhdGUpIC8gMjQ7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldERheU9jY3VwYW5jeVdpZHRoKGRhdGUpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy92aWV3cy92aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM1RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSXZDLE9BQU8sRUFBRSxTQUFTLEVBQWlCLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLEtBQUssQ0FBQztBQUV6QyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxLQUFLLENBQUM7QUF3QjNDLE1BQU0sV0FBVyxHQUFxQjtJQUNsQyxHQUFHLEVBQUUsSUFBSSxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUU7SUFDL0MsR0FBRyxFQUFFLElBQUksU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRTtJQUM1QyxpQkFBaUIsRUFBRSxLQUFLO0lBQ3hCLHFCQUFxQixFQUFFLE9BQU87Q0FDakMsQ0FBQztBQUVGLE1BQU0sT0FBZ0IsU0FBUztJQU8zQixJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksR0FBRztRQUNILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBdUJELFlBQVksS0FBb0IsRUFBRSxHQUFrQixFQUFFLE9BQXlCO1FBWC9FLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBTXBCLGdCQUFXLEdBR1AsRUFBRSxDQUFDO1FBR0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxD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QUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3JDLEtBQUssUUFBUTtnQkFDVCxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBQ3JELEtBQUssTUFBTTtnQkFDUCxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDaEQ7Z0JBQ0ksT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cywgZGlmZmVyZW5jZUluSG91cnMsIGRpZmZlcmVuY2VJbk1pbnV0ZXMgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEdhbnR0Vmlld1R5cGUgfSBmcm9tICcuLi9jbGFzcyc7XG5pbXBvcnQgeyBHYW50dERhdGVQb2ludCB9IGZyb20gJy4uL2NsYXNzL2RhdGUtcG9pbnQnO1xuaW1wb3J0IHsgR2FudHREYXRlRm9ybWF0IH0gZnJvbSAnLi4vZ2FudHQuY29uZmlnJztcbmltcG9ydCB7IEdhbnR0RGF0ZSwgR2FudHREYXRlVXRpbCwgZGlmZmVyZW5jZUluRGF5cyB9IGZyb20gJy4uL3V0aWxzL2RhdGUnO1xuaW1wb3J0IHsgemhIYW5zTG9jYWxlIH0gZnJvbSAnLi4vaTE4bic7XG5cbmV4cG9ydCBjb25zdCBwcmltYXJ5RGF0ZVBvaW50VG9wID0gJzQwJSc7XG5cbmV4cG9ydCBjb25zdCBzZWNvbmRhcnlEYXRlUG9pbnRUb3AgPSAnODAlJztcblxuZXhwb3J0IGludGVyZmFjZSBHYW50dFZpZXdEYXRlIHtcbiAgICBkYXRlOiBHYW50dERhdGU7XG4gICAgaXNDdXN0b20/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdhbnR0Vmlld09wdGlvbnMge1xuICAgIHN0YXJ0PzogR2FudHREYXRlO1xuICAgIGVuZD86IEdhbnR0RGF0ZTtcbiAgICBtaW4/OiBHYW50dERhdGU7XG4gICAgbWF4PzogR2FudHREYXRlO1xuICAgIGNlbGxXaWR0aD86IG51bWJlcjtcbiAgICBhZGRBbW91bnQ/OiBudW1iZXI7XG4gICAgYWRkVW5pdD86IEdhbnR0RGF0ZVV0aWw7XG4gICAgLyoqIEBkZXByZWNhdGVkIGRhdGVGb3JtYXQgaXMgZGVwcmVjYXRlZCwgcGxlYXNlIHVzZSBkYXRlRGlzcGxheUZvcm1hdHMgb3Igc2V0dGluZyBpMThuIGxvY2FsZSAqL1xuICAgIGRhdGVGb3JtYXQ/OiBHYW50dERhdGVGb3JtYXQ7XG4gICAgZGF0ZURpc3BsYXlGb3JtYXRzPzogeyBwcmltYXJ5Pzogc3RyaW5nOyBzZWNvbmRhcnk/OiBzdHJpbmcgfTtcbiAgICBkYXRlUHJlY2lzaW9uVW5pdD86ICdkYXknIHwgJ2hvdXInIHwgJ21pbnV0ZSc7XG4gICAgZHJhZ1ByZXZpZXdEYXRlRm9ybWF0Pzogc3RyaW5nO1xuICAgIC8vIGN1c3RvbSBrZXkgYW5kIHZhbHVlXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5jb25zdCB2aWV3T3B0aW9uczogR2FudHRWaWV3T3B0aW9ucyA9IHtcbiAgICBtaW46IG5ldyBHYW50dERhdGUoKS5hZGRZZWFycygtMSkuc3RhcnRPZlllYXIoKSxcbiAgICBtYXg6IG5ldyBHYW50dERhdGUoKS5hZGRZZWFycygxKS5lbmRPZlllYXIoKSxcbiAgICBkYXRlUHJlY2lzaW9uVW5pdDogJ2RheScsXG4gICAgZHJhZ1ByZXZpZXdEYXRlRm9ybWF0OiAnTU0tZGQnXG59O1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgR2FudHRWaWV3IHtcbiAgICB2aWV3VHlwZTogR2FudHRWaWV3VHlwZTtcblxuICAgIHN0YXJ0JDogQmVoYXZpb3JTdWJqZWN0PEdhbnR0RGF0ZT47XG5cbiAgICBlbmQkOiBCZWhhdmlvclN1YmplY3Q8R2FudHREYXRlPjtcblxuICAgIGdldCBzdGFydCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhcnQkLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgZ2V0IGVuZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW5kJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHByaW1hcnlEYXRlUG9pbnRzOiBHYW50dERhdGVQb2ludFtdO1xuXG4gICAgc2Vjb25kYXJ5RGF0ZVBvaW50czogR2FudHREYXRlUG9pbnRbXTtcblxuICAgIHdpZHRoOiBudW1iZXI7XG5cbiAgICBjZWxsV2lkdGg6IG51bWJlcjtcblxuICAgIHByaW1hcnlXaWR0aDogbnVtYmVyO1xuXG4gICAgc2hvd1RpbWVsaW5lID0gdHJ1ZTtcblxuICAgIHNob3dXZWVrQmFja2Ryb3A6IGJvb2xlYW47XG5cbiAgICBvcHRpb25zOiBHYW50dFZpZXdPcHRpb25zO1xuXG4gICAgZGF0ZUZvcm1hdHM6IHtcbiAgICAgICAgcHJpbWFyeT86IHN0cmluZztcbiAgICAgICAgc2Vjb25kYXJ5Pzogc3RyaW5nO1xuICAgIH0gPSB7fTtcblxuICAgIGNvbnN0cnVjdG9yKHN0YXJ0OiBHYW50dFZpZXdEYXRlLCBlbmQ6IEdhbnR0Vmlld0RhdGUsIG9wdGlvbnM6IEdhbnR0Vmlld09wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgdmlld09wdGlvbnMsIG9wdGlvbnMpO1xuXG4gICAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHN0YXJ0LmlzQ3VzdG9tXG4gICAgICAgICAgICA/IHRoaXMudmlld1N0YXJ0T2Yoc3RhcnQuZGF0ZSlcbiAgICAgICAgICAgIDogdGhpcy52aWV3U3RhcnRPZihzdGFydC5kYXRlLnZhbHVlIDwgdGhpcy5vcHRpb25zLnN0YXJ0LnZhbHVlID8gc3RhcnQuZGF0ZSA6IHRoaXMub3B0aW9ucy5zdGFydCk7XG4gICAgICAgIGNvbnN0IGVuZERhdGUgPSBlbmQuaXNDdXN0b21cbiAgICAgICAgICAgID8gdGhpcy52aWV3RW5kT2YoZW5kLmRhdGUpXG4gICAgICAgICAgICA6IHRoaXMudmlld0VuZE9mKGVuZC5kYXRlLnZhbHVlID4gdGhpcy5vcHRpb25zLmVuZC52YWx1ZSA/IGVuZC5kYXRlIDogdGhpcy5vcHRpb25zLmVuZCk7XG4gICAgICAgIHRoaXMuc3RhcnQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxHYW50dERhdGU+KHN0YXJ0RGF0ZSk7XG4gICAgICAgIHRoaXMuZW5kJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8R2FudHREYXRlPihlbmREYXRlKTtcblxuICAgICAgICB0aGlzLmluaXRpYWxpemUoKTtcbiAgICB9XG5cbiAgICBhYnN0cmFjdCB2aWV3U3RhcnRPZihkYXRlOiBHYW50dERhdGUpOiBHYW50dERhdGU7XG5cbiAgICBhYnN0cmFjdCB2aWV3RW5kT2YoZGF0ZTogR2FudHREYXRlKTogR2FudHREYXRlO1xuXG4gICAgLyoqXG4gICAgICogZGVwcmVjYXRlZCwgcGxlYXNlIHVzZSB2aWV3U3RhcnRPZigpXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKi9cbiAgICBzdGFydE9mKGRhdGU6IEdhbnR0RGF0ZSk6IEdhbnR0RGF0ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLnZpZXdTdGFydE9mKGRhdGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGRlcHJlY2F0ZWQsIHBsZWFzZSB1c2Ugdmlld0VuZE9mKClcbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqL1xuICAgIGVuZE9mKGRhdGU6IEdhbnR0RGF0ZSk6IEdhbnR0RGF0ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLnZpZXdFbmRPZihkYXRlKTtcbiAgICB9XG5cbiAgICAvLyDojrflj5bkuIDnuqfml7bpl7TnvZHmoLzlkIjlubblkI7nmoTlrr3luqZcbiAgICBhYnN0cmFjdCBnZXRQcmltYXJ5V2lkdGgoKTogbnVtYmVyO1xuXG4gICAgLy8g6I635Y+W5b2T5YmN6KeG5Zu+5LiL5q+P5LiA5aSp5Y2g55So55qE5a695bqmXG4gICAgYWJzdHJhY3QgZ2V0RGF5T2NjdXBhbmN5V2lkdGgoZGF0ZTogR2FudHREYXRlKTogbnVtYmVyO1xuXG4gICAgLy8g6I635Y+W5LiA57qn5pe26Ze054K577yI5Z2Q5qCH77yM5pi+56S65ZCN56ew77yJXG4gICAgYWJzdHJhY3QgZ2V0UHJpbWFyeURhdGVQb2ludHMoKTogR2FudHREYXRlUG9pbnRbXTtcblxuICAgIC8vIOiOt+WPluS6jOe6p+aXtumXtOeCue+8iOWdkOagh++8jOaYvuekuuWQjeensO+8iVxuICAgIGFic3RyYWN0IGdldFNlY29uZGFyeURhdGVQb2ludHMoKTogR2FudHREYXRlUG9pbnRbXTtcblxuICAgIHN0YXJ0T2ZQcmVjaXNpb24oZGF0ZTogR2FudHREYXRlKSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5vcHRpb25zLmRhdGVQcmVjaXNpb25Vbml0KSB7XG4gICAgICAgICAgICBjYXNlICdtaW51dGUnOlxuICAgICAgICAgICAgICAgIHJldHVybiBkYXRlLnN0YXJ0T2ZNaW51dGUoKTtcbiAgICAgICAgICAgIGNhc2UgJ2hvdXInOlxuICAgICAgICAgICAgICAgIHJldHVybiBkYXRlLnN0YXJ0T2ZIb3VyKCk7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBkYXRlLnN0YXJ0T2ZEYXkoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGVuZE9mUHJlY2lzaW9uKGRhdGU6IEdhbnR0RGF0ZSkge1xuICAgICAgICBzd2l0Y2ggKHRoaXMub3B0aW9ucy5kYXRlUHJlY2lzaW9uVW5pdCkge1xuICAgICAgICAgICAgY2FzZSAnbWludXRlJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0ZS5lbmRPZk1pbnV0ZSgpO1xuICAgICAgICAgICAgY2FzZSAnaG91cic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGUuZW5kT2ZIb3VyKCk7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBkYXRlLmVuZE9mRGF5KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkaWZmZXJlbmNlQnlQcmVjaXNpb25Vbml0KGRhdGVMZWZ0OiBHYW50dERhdGUsIGRhdGVSaWdodDogR2FudHREYXRlKSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5vcHRpb25zLmRhdGVQcmVjaXNpb25Vbml0KSB7XG4gICAgICAgICAgICBjYXNlICdtaW51dGUnOlxuICAgICAgICAgICAgICAgIHJldHVybiBkaWZmZXJlbmNlSW5NaW51dGVzKGRhdGVMZWZ0LnZhbHVlLCBkYXRlUmlnaHQudmFsdWUpO1xuICAgICAgICAgICAgY2FzZSAnaG91cic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRpZmZlcmVuY2VJbkhvdXJzKGRhdGVMZWZ0LnZhbHVlLCBkYXRlUmlnaHQudmFsdWUpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzKGRhdGVMZWZ0LnZhbHVlLCBkYXRlUmlnaHQudmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0RGF0ZUludGVydmFsV2lkdGgoc3RhcnQ6IEdhbnR0RGF0ZSwgZW5kOiBHYW50dERhdGUpIHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IDA7XG4gICAgICAgIGNvbnN0IGRheXMgPSBkaWZmZXJlbmNlSW5EYXlzKGVuZC52YWx1ZSwgc3RhcnQudmFsdWUpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IE1hdGguYWJzKGRheXMpOyBpKyspIHtcbiAgICAgICAgICAgIHJlc3VsdCArPSB0aGlzLmdldERheU9jY3VwYW5jeVdpZHRoKHN0YXJ0LmFkZERheXMoaSkpO1xuICAgICAgICB9XG4gICAgICAgIHJlc3VsdCA9IGRheXMgPj0gMCA/IHJlc3VsdCA6IC1yZXN1bHQ7XG4gICAgICAgIHJldHVybiBOdW1iZXIocmVzdWx0LnRvRml4ZWQoMykpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBpbml0aWFsaXplKCkge1xuICAgICAgICB0aGlzLnByaW1hcnlEYXRlUG9pbnRzID0gdGhpcy5nZXRQcmltYXJ5RGF0ZVBvaW50cygpO1xuICAgICAgICB0aGlzLnNlY29uZGFyeURhdGVQb2ludHMgPSB0aGlzLmdldFNlY29uZGFyeURhdGVQb2ludHMoKTtcbiAgICAgICAgdGhpcy53aWR0aCA9IHRoaXMuZ2V0V2lkdGgoKTtcbiAgICAgICAgdGhpcy5jZWxsV2lkdGggPSB0aGlzLmdldENlbGxXaWR0aCgpO1xuICAgICAgICB0aGlzLnByaW1hcnlXaWR0aCA9IHRoaXMuZ2V0UHJpbWFyeVdpZHRoKCk7XG4gICAgfVxuXG4gICAgYWRkU3RhcnREYXRlKCkge1xuICAgICAgICBjb25zdCBzdGFydCA9IHRoaXMudmlld1N0YXJ0T2YodGhpcy5zdGFydC5hZGQodGhpcy5vcHRpb25zLmFkZEFtb3VudCAqIC0xLCB0aGlzLm9wdGlvbnMuYWRkVW5pdCkpO1xuICAgICAgICBpZiAoc3RhcnQudmFsdWUgPj0gdGhpcy5vcHRpb25zLm1pbi52YWx1ZSkge1xuICAgICAgICAgICAgY29uc3Qgb3JpZ2luID0gdGhpcy5zdGFydDtcbiAgICAgICAgICAgIHRoaXMuc3RhcnQkLm5leHQoc3RhcnQpO1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgICAgICAgICByZXR1cm4geyBzdGFydDogdGhpcy5zdGFydCwgZW5kOiBvcmlnaW4gfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBhZGRFbmREYXRlKCkge1xuICAgICAgICBjb25zdCBlbmQgPSB0aGlzLnZpZXdFbmRPZih0aGlzLmVuZC5hZGQodGhpcy5vcHRpb25zLmFkZEFtb3VudCwgdGhpcy5vcHRpb25zLmFkZFVuaXQpKTtcbiAgICAgICAgaWYgKGVuZC52YWx1ZSA8PSB0aGlzLm9wdGlvbnMubWF4LnZhbHVlKSB7XG4gICAgICAgICAgICBjb25zdCBvcmlnaW4gPSB0aGlzLmVuZDtcbiAgICAgICAgICAgIHRoaXMuZW5kJC5uZXh0KGVuZCk7XG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemUoKTtcbiAgICAgICAgICAgIHJldHVybiB7IHN0YXJ0OiBvcmlnaW4sIGVuZDogdGhpcy5lbmQgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICB1cGRhdGVEYXRlKHN0YXJ0OiBHYW50dERhdGUsIGVuZDogR2FudHREYXRlKSB7XG4gICAgICAgIHN0YXJ0ID0gdGhpcy52aWV3U3RhcnRPZihzdGFydCk7XG4gICAgICAgIGVuZCA9IHRoaXMudmlld0VuZE9mKGVuZCk7XG4gICAgICAgIGlmIChzdGFydC52YWx1ZSA8IHRoaXMuc3RhcnQudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc3RhcnQkLm5leHQoc3RhcnQpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlbmQudmFsdWUgPiB0aGlzLmVuZC52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5lbmQkLm5leHQoZW5kKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmluaXRpYWxpemUoKTtcbiAgICB9XG5cbiAgICAvLyDojrflj5ZWaWV355qE5a695bqmXG4gICAgZ2V0V2lkdGgoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENlbGxXaWR0aCgpICogdGhpcy5zZWNvbmRhcnlEYXRlUG9pbnRzLmxlbmd0aDtcbiAgICB9XG5cbiAgICAvLyDojrflj5bljZXkuKrnvZHmoLznmoTlrr3luqZcbiAgICBnZXRDZWxsV2lkdGgoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuY2VsbFdpZHRoO1xuICAgIH1cblxuICAgIC8vIOiOt+WPluW9k+WJjeaXtumXtOeahFjlnZDmoIdcbiAgICBnZXRUb2RheVhQb2ludCgpOiBudW1iZXIge1xuICAgICAgICBjb25zdCB0b2FkeSA9IG5ldyBHYW50dERhdGUoKS5zdGFydE9mRGF5KCk7XG4gICAgICAgIGlmICh0b2FkeS52YWx1ZSA+IHRoaXMuc3RhcnQudmFsdWUgJiYgdG9hZHkudmFsdWUgPCB0aGlzLmVuZC52YWx1ZSkge1xuICAgICAgICAgICAgY29uc3QgeCA9IHRoaXMuZ2V0WFBvaW50QnlEYXRlKHRvYWR5KSArIHRoaXMuZ2V0RGF5T2NjdXBhbmN5V2lkdGgodG9hZHkpIC8gMjtcbiAgICAgICAgICAgIHJldHVybiB4O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyDojrflj5bmjIflrprml7bpl7TnmoRY5Z2Q5qCHXG4gICAgZ2V0WFBvaW50QnlEYXRlKGRhdGU6IEdhbnR0RGF0ZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXREYXRlSW50ZXJ2YWxXaWR0aCh0aGlzLnN0YXJ0LCBkYXRlKTtcbiAgICB9XG5cbiAgICAvLyDmoLnmja5Y5Z2Q5qCH6I635Y+W5a+55bqU5pe26Ze0XG4gICAgZ2V0RGF0ZUJ5WFBvaW50KHg6IG51bWJlcikge1xuICAgICAgICBjb25zdCBpbmRleE9mU2Vjb25kYXJ5RGF0ZSA9IE1hdGgubWF4KE1hdGguZmxvb3IoeCAvIHRoaXMuZ2V0Q2VsbFdpZHRoKCkpLCAwKTtcbiAgICAgICAgY29uc3QgbWF0Y2hEYXRlID0gdGhpcy5zZWNvbmRhcnlEYXRlUG9pbnRzW01hdGgubWluKHRoaXMuc2Vjb25kYXJ5RGF0ZVBvaW50cy5sZW5ndGggLSAxLCBpbmRleE9mU2Vjb25kYXJ5RGF0ZSldO1xuICAgICAgICBjb25zdCBkYXlXaWR0aCA9IHRoaXMuZ2V0RGF5T2NjdXBhbmN5V2lkdGgobWF0Y2hEYXRlPy5zdGFydCk7XG4gICAgICAgIGlmIChkYXlXaWR0aCA9PT0gdGhpcy5nZXRDZWxsV2lkdGgoKSkge1xuICAgICAgICAgICAgcmV0dXJuIG1hdGNoRGF0ZT8uc3RhcnQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBkYXkgPSBNYXRoLmZsb29yKCh4ICUgdGhpcy5nZXRDZWxsV2lkdGgoKSkgLyBkYXlXaWR0aCk7XG4gICAgICAgICAgICByZXR1cm4gbWF0Y2hEYXRlPy5zdGFydC5hZGREYXlzKGRheSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyDojrflj5bmjIflrprml7bpl7TojIPlm7TnmoTlrr3luqZcbiAgICBnZXREYXRlUmFuZ2VXaWR0aChzdGFydDogR2FudHREYXRlLCBlbmQ6IEdhbnR0RGF0ZSkge1xuICAgICAgICAvLyBhZGRTZWNvbmRzKDEpIOaYr+WboOS4uuiuoeeul+ebuOW3ruWkqeS8muS7peS4gOS4quaVtOWkqeadpeiuoeeulyBlbmTml7bpl7TkuIDoiKzmmK81OeWIhjU556eS5LiN5piv5LiA5Liq5pW05aSp77yM5omA5Lul6ZyA6KaB5YqgMVxuICAgICAgICByZXR1cm4gdGhpcy5nZXREYXRlSW50ZXJ2YWxXaWR0aCh0aGlzLnN0YXJ0T2ZQcmVjaXNpb24oc3RhcnQpLCB0aGlzLmVuZE9mUHJlY2lzaW9uKGVuZCkuYWRkU2Vjb25kcygxKSk7XG4gICAgfVxuXG4gICAgLy8g5qC55o2u5pel5pyf57K+5bqm6I635Y+W5pyA5bCP5pe26Ze06IyD5Zu055qE5a695bqmXG4gICAgZ2V0TWluUmFuZ2VXaWR0aEJ5UHJlY2lzaW9uVW5pdChkYXRlOiBHYW50dERhdGUpIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLm9wdGlvbnMuZGF0ZVByZWNpc2lvblVuaXQpIHtcbiAgICAgICAgICAgIGNhc2UgJ21pbnV0ZSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RGF5T2NjdXBhbmN5V2lkdGgoZGF0ZSkgLyAyNCAvIDYwO1xuICAgICAgICAgICAgY2FzZSAnaG91cic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RGF5T2NjdXBhbmN5V2lkdGgoZGF0ZSkgLyAyNDtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RGF5T2NjdXBhbmN5V2lkdGgoZGF0ZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
package/esm2022/views/week.mjs
CHANGED
|
@@ -2,12 +2,14 @@ import { GanttViewType } from '../class';
|
|
|
2
2
|
import { GanttDatePoint } from '../class/date-point';
|
|
3
3
|
import { eachWeekOfInterval, GanttDate } from '../utils/date';
|
|
4
4
|
import { GanttView, primaryDatePointTop, secondaryDatePointTop } from './view';
|
|
5
|
+
import { zhHantLocale } from '../i18n';
|
|
5
6
|
const viewOptions = {
|
|
6
7
|
cellWidth: 280,
|
|
7
8
|
start: new GanttDate().startOfYear().startOfWeek(),
|
|
8
9
|
end: new GanttDate().endOfYear().endOfWeek(),
|
|
9
10
|
addAmount: 1,
|
|
10
|
-
addUnit: 'month'
|
|
11
|
+
addUnit: 'month',
|
|
12
|
+
dateDisplayFormats: zhHantLocale.views.week.dateFormats
|
|
11
13
|
};
|
|
12
14
|
export class GanttViewWeek extends GanttView {
|
|
13
15
|
constructor(start, end, options) {
|
|
@@ -32,7 +34,7 @@ export class GanttViewWeek extends GanttView {
|
|
|
32
34
|
for (let i = 0; i < weeks.length; i++) {
|
|
33
35
|
const weekStart = new GanttDate(weeks[i]);
|
|
34
36
|
const increaseWeek = weekStart.getDaysInMonth() - weekStart.getDate() >= 3 ? 0 : 1;
|
|
35
|
-
const point = new GanttDatePoint(weekStart, weekStart.addWeeks(increaseWeek).format(this.options.dateFormat.
|
|
37
|
+
const point = new GanttDatePoint(weekStart, weekStart.addWeeks(increaseWeek).format(this.options.dateFormat?.year || this.options.dateDisplayFormats.primary), this.getCellWidth() / 2 + i * this.getCellWidth(), primaryDatePointTop);
|
|
36
38
|
points.push(point);
|
|
37
39
|
}
|
|
38
40
|
return points;
|
|
@@ -42,10 +44,10 @@ export class GanttViewWeek extends GanttView {
|
|
|
42
44
|
const points = [];
|
|
43
45
|
for (let i = 0; i < weeks.length; i++) {
|
|
44
46
|
const start = new GanttDate(weeks[i]);
|
|
45
|
-
const point = new GanttDatePoint(start, `${start.format(this.options.dateFormat.
|
|
47
|
+
const point = new GanttDatePoint(start, `${start.format(this.options.dateFormat?.week || this.options.dateDisplayFormats.secondary)}`, i * this.getCellWidth() + this.getCellWidth() / 2, secondaryDatePointTop);
|
|
46
48
|
points.push(point);
|
|
47
49
|
}
|
|
48
50
|
return points;
|
|
49
51
|
}
|
|
50
52
|
}
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vlay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy92aWV3cy93ZWVrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBbUMsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDaEgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV2QyxNQUFNLFdBQVcsR0FBcUI7SUFDbEMsU0FBUyxFQUFFLEdBQUc7SUFDZCxLQUFLLEVBQUUsSUFBSSxTQUFTLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxXQUFXLEVBQUU7SUFDbEQsR0FBRyxFQUFFLElBQUksU0FBUyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsU0FBUyxFQUFFO0lBQzVDLFNBQVMsRUFBRSxDQUFDO0lBQ1osT0FBTyxFQUFFLE9BQU87SUFDaEIsa0JBQWtCLEVBQUUsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVztDQUMxRCxDQUFDO0FBRUYsTUFBTSxPQUFPLGFBQWMsU0FBUSxTQUFTO0lBR3hDLFlBQVksS0FBb0IsRUFBRSxHQUFrQixFQUFFLE9BQTBCO1FBQzVFLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBSHRELGFBQVEsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDO0lBSXZDLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBZTtRQUN2QixPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsU0FBUyxDQUFDLElBQWU7UUFDckIsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGVBQWU7UUFDWCxPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsb0JBQW9CO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELG9CQUFvQjtRQUNoQixNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNqRyxNQUFNLE1BQU0sR0FBcUIsRUFBRSxDQUFDO1FBQ3BDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDcEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUMsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLGNBQWMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25GLE1BQU0sS0FBSyxHQUFHLElBQUksY0FBYyxDQUM1QixTQUFTLEVBQ1QsU0FBUyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLEVBQ2pILElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFDakQsbUJBQW1CLENBQ3RCLENBQUM7WUFDRixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQsc0JBQXNCO1FBQ2xCLE1BQU0sS0FBSyxHQUFHLGtCQUFrQixDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ2pHLE1BQU0sTUFBTSxHQUFxQixFQUFFLENBQUM7UUFDcEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNwQyxNQUFNLEtBQUssR0FBRyxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0QyxNQUFNLEtBQUssR0FBRyxJQUFJLGNBQWMsQ0FDNUIsS0FBSyxFQUNMLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUM3RixDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLEVBQ2pELHFCQUFxQixDQUN4QixDQUFDO1lBQ0YsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2FudHRWaWV3VHlwZSB9IGZyb20gJy4uL2NsYXNzJztcbmltcG9ydCB7IEdhbnR0RGF0ZVBvaW50IH0gZnJvbSAnLi4vY2xhc3MvZGF0ZS1wb2ludCc7XG5pbXBvcnQgeyBlYWNoV2Vla09mSW50ZXJ2YWwsIEdhbnR0RGF0ZSB9IGZyb20gJy4uL3V0aWxzL2RhdGUnO1xuaW1wb3J0IHsgR2FudHRWaWV3LCBHYW50dFZpZXdEYXRlLCBHYW50dFZpZXdPcHRpb25zLCBwcmltYXJ5RGF0ZVBvaW50VG9wLCBzZWNvbmRhcnlEYXRlUG9pbnRUb3AgfSBmcm9tICcuL3ZpZXcnO1xuaW1wb3J0IHsgemhIYW50TG9jYWxlIH0gZnJvbSAnLi4vaTE4bic7XG5cbmNvbnN0IHZpZXdPcHRpb25zOiBHYW50dFZpZXdPcHRpb25zID0ge1xuICAgIGNlbGxXaWR0aDogMjgwLFxuICAgIHN0YXJ0OiBuZXcgR2FudHREYXRlKCkuc3RhcnRPZlllYXIoKS5zdGFydE9mV2VlaygpLFxuICAgIGVuZDogbmV3IEdhbnR0RGF0ZSgpLmVuZE9mWWVhcigpLmVuZE9mV2VlaygpLFxuICAgIGFkZEFtb3VudDogMSxcbiAgICBhZGRVbml0OiAnbW9udGgnLFxuICAgIGRhdGVEaXNwbGF5Rm9ybWF0czogemhIYW50TG9jYWxlLnZpZXdzLndlZWsuZGF0ZUZvcm1hdHNcbn07XG5cbmV4cG9ydCBjbGFzcyBHYW50dFZpZXdXZWVrIGV4dGVuZHMgR2FudHRWaWV3IHtcbiAgICBvdmVycmlkZSB2aWV3VHlwZSA9IEdhbnR0Vmlld1R5cGUud2VlaztcblxuICAgIGNvbnN0cnVjdG9yKHN0YXJ0OiBHYW50dFZpZXdEYXRlLCBlbmQ6IEdhbnR0Vmlld0RhdGUsIG9wdGlvbnM/OiBHYW50dFZpZXdPcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKHN0YXJ0LCBlbmQsIE9iamVjdC5hc3NpZ24oe30sIHZpZXdPcHRpb25zLCBvcHRpb25zKSk7XG4gICAgfVxuXG4gICAgdmlld1N0YXJ0T2YoZGF0ZTogR2FudHREYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLnN0YXJ0T2ZXZWVrKCk7XG4gICAgfVxuXG4gICAgdmlld0VuZE9mKGRhdGU6IEdhbnR0RGF0ZSkge1xuICAgICAgICByZXR1cm4gZGF0ZS5lbmRPZldlZWsoKTtcbiAgICB9XG5cbiAgICBnZXRQcmltYXJ5V2lkdGgoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENlbGxXaWR0aCgpO1xuICAgIH1cblxuICAgIGdldERheU9jY3VwYW5jeVdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmNlbGxXaWR0aCAvIDc7XG4gICAgfVxuXG4gICAgZ2V0UHJpbWFyeURhdGVQb2ludHMoKTogR2FudHREYXRlUG9pbnRbXSB7XG4gICAgICAgIGNvbnN0IHdlZWtzID0gZWFjaFdlZWtPZkludGVydmFsKHsgc3RhcnQ6IHRoaXMuc3RhcnQudmFsdWUsIGVuZDogdGhpcy5lbmQuYWRkU2Vjb25kcygxKS52YWx1ZSB9KTtcbiAgICAgICAgY29uc3QgcG9pbnRzOiBHYW50dERhdGVQb2ludFtdID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgd2Vla3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHdlZWtTdGFydCA9IG5ldyBHYW50dERhdGUod2Vla3NbaV0pO1xuICAgICAgICAgICAgY29uc3QgaW5jcmVhc2VXZWVrID0gd2Vla1N0YXJ0LmdldERheXNJbk1vbnRoKCkgLSB3ZWVrU3RhcnQuZ2V0RGF0ZSgpID49IDMgPyAwIDogMTtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50ID0gbmV3IEdhbnR0RGF0ZVBvaW50KFxuICAgICAgICAgICAgICAgIHdlZWtTdGFydCxcbiAgICAgICAgICAgICAgICB3ZWVrU3RhcnQuYWRkV2Vla3MoaW5jcmVhc2VXZWVrKS5mb3JtYXQodGhpcy5vcHRpb25zLmRhdGVGb3JtYXQ/LnllYXIgfHwgdGhpcy5vcHRpb25zLmRhdGVEaXNwbGF5Rm9ybWF0cy5wcmltYXJ5KSxcbiAgICAgICAgICAgICAgICB0aGlzLmdldENlbGxXaWR0aCgpIC8gMiArIGkgKiB0aGlzLmdldENlbGxXaWR0aCgpLFxuICAgICAgICAgICAgICAgIHByaW1hcnlEYXRlUG9pbnRUb3BcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBwb2ludHMucHVzaChwb2ludCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBvaW50cztcbiAgICB9XG5cbiAgICBnZXRTZWNvbmRhcnlEYXRlUG9pbnRzKCk6IEdhbnR0RGF0ZVBvaW50W10ge1xuICAgICAgICBjb25zdCB3ZWVrcyA9IGVhY2hXZWVrT2ZJbnRlcnZhbCh7IHN0YXJ0OiB0aGlzLnN0YXJ0LnZhbHVlLCBlbmQ6IHRoaXMuZW5kLmFkZFNlY29uZHMoMSkudmFsdWUgfSk7XG4gICAgICAgIGNvbnN0IHBvaW50czogR2FudHREYXRlUG9pbnRbXSA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHdlZWtzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBzdGFydCA9IG5ldyBHYW50dERhdGUod2Vla3NbaV0pO1xuICAgICAgICAgICAgY29uc3QgcG9pbnQgPSBuZXcgR2FudHREYXRlUG9pbnQoXG4gICAgICAgICAgICAgICAgc3RhcnQsXG4gICAgICAgICAgICAgICAgYCR7c3RhcnQuZm9ybWF0KHRoaXMub3B0aW9ucy5kYXRlRm9ybWF0Py53ZWVrIHx8IHRoaXMub3B0aW9ucy5kYXRlRGlzcGxheUZvcm1hdHMuc2Vjb25kYXJ5KX1gLFxuICAgICAgICAgICAgICAgIGkgKiB0aGlzLmdldENlbGxXaWR0aCgpICsgdGhpcy5nZXRDZWxsV2lkdGgoKSAvIDIsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5RGF0ZVBvaW50VG9wXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcG9pbnRzLnB1c2gocG9pbnQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwb2ludHM7XG4gICAgfVxufVxuIl19
|
package/esm2022/views/year.mjs
CHANGED
|
@@ -3,12 +3,14 @@ import { GanttDate } from '../utils/date';
|
|
|
3
3
|
import { GanttDatePoint } from '../class/date-point';
|
|
4
4
|
import { eachYearOfInterval, differenceInCalendarYears } from 'date-fns';
|
|
5
5
|
import { GanttViewType } from '../class';
|
|
6
|
+
import { zhHantLocale } from '../i18n';
|
|
6
7
|
const viewOptions = {
|
|
7
8
|
cellWidth: 480,
|
|
8
9
|
start: new GanttDate().addYears(-2).startOfYear(),
|
|
9
10
|
end: new GanttDate().addYears(2).endOfYear(),
|
|
10
11
|
addAmount: 1,
|
|
11
|
-
addUnit: 'year'
|
|
12
|
+
addUnit: 'year',
|
|
13
|
+
dateDisplayFormats: zhHantLocale.views.year.dateFormats
|
|
12
14
|
};
|
|
13
15
|
export class GanttViewYear extends GanttView {
|
|
14
16
|
constructor(start, end, options) {
|
|
@@ -43,10 +45,10 @@ export class GanttViewYear extends GanttView {
|
|
|
43
45
|
const pointTop = '60%';
|
|
44
46
|
for (let i = 0; i <= years; i++) {
|
|
45
47
|
const start = this.start.addYears(i);
|
|
46
|
-
const point = new GanttDatePoint(start, `${start.format(this.options.dateFormat.
|
|
48
|
+
const point = new GanttDatePoint(start, `${start.format(this.options.dateFormat?.year || this.options.dateDisplayFormats.secondary || this.options.dateDisplayFormats.primary)}`, i * this.getCellWidth() + this.getCellWidth() / 2, pointTop);
|
|
47
49
|
points.push(point);
|
|
48
50
|
}
|
|
49
51
|
return points;
|
|
50
52
|
}
|
|
51
53
|
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy92aWV3cy95ZWFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW1DLG1CQUFtQixFQUF5QixNQUFNLFFBQVEsQ0FBQztBQUNoSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXZDLE1BQU0sV0FBVyxHQUFxQjtJQUNsQyxTQUFTLEVBQUUsR0FBRztJQUNkLEtBQUssRUFBRSxJQUFJLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRTtJQUNqRCxHQUFHLEVBQUUsSUFBSSxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFO0lBQzVDLFNBQVMsRUFBRSxDQUFDO0lBQ1osT0FBTyxFQUFFLE1BQU07SUFDZixrQkFBa0IsRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXO0NBQzFELENBQUM7QUFFRixNQUFNLE9BQU8sYUFBYyxTQUFRLFNBQVM7SUFHeEMsWUFBWSxLQUFvQixFQUFFLEdBQWtCLEVBQUUsT0FBMEI7UUFDNUUsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFIdEQsYUFBUSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUM7SUFJdkMsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFlO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxTQUFTLENBQUMsSUFBZTtRQUNyQixPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsZUFBZTtRQUNYLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxJQUFlO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVELG9CQUFvQjtRQUNoQixNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ25GLE1BQU0sTUFBTSxHQUFxQixFQUFFLENBQUM7UUFDcEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNwQyxNQUFNLEtBQUssR0FBRyxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0QyxNQUFNLEtBQUssR0FBRyxJQUFJLGNBQWMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3BILE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxzQkFBc0I7UUFDbEIsTUFBTSxLQUFLLEdBQUcseUJBQXlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxRSxNQUFNLE1BQU0sR0FBcUIsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN2QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDOUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckMsTUFBTSxLQUFLLEdBQUcsSUFBSSxjQUFjLENBQzVCLEtBQUssRUFDTCxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUN4SCxFQUFFLEVBQ0gsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxFQUNqRCxRQUFRLENBQ1gsQ0FBQztZQUNGLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdhbnR0VmlldywgR2FudHRWaWV3T3B0aW9ucywgR2FudHRWaWV3RGF0ZSwgcHJpbWFyeURhdGVQb2ludFRvcCwgc2Vjb25kYXJ5RGF0ZVBvaW50VG9wIH0gZnJvbSAnLi92aWV3JztcbmltcG9ydCB7IEdhbnR0RGF0ZSB9IGZyb20gJy4uL3V0aWxzL2RhdGUnO1xuaW1wb3J0IHsgR2FudHREYXRlUG9pbnQgfSBmcm9tICcuLi9jbGFzcy9kYXRlLXBvaW50JztcbmltcG9ydCB7IGVhY2hZZWFyT2ZJbnRlcnZhbCwgZGlmZmVyZW5jZUluQ2FsZW5kYXJZZWFycyB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IEdhbnR0Vmlld1R5cGUgfSBmcm9tICcuLi9jbGFzcyc7XG5pbXBvcnQgeyB6aEhhbnRMb2NhbGUgfSBmcm9tICcuLi9pMThuJztcblxuY29uc3Qgdmlld09wdGlvbnM6IEdhbnR0Vmlld09wdGlvbnMgPSB7XG4gICAgY2VsbFdpZHRoOiA0ODAsXG4gICAgc3RhcnQ6IG5ldyBHYW50dERhdGUoKS5hZGRZZWFycygtMikuc3RhcnRPZlllYXIoKSxcbiAgICBlbmQ6IG5ldyBHYW50dERhdGUoKS5hZGRZZWFycygyKS5lbmRPZlllYXIoKSxcbiAgICBhZGRBbW91bnQ6IDEsXG4gICAgYWRkVW5pdDogJ3llYXInLFxuICAgIGRhdGVEaXNwbGF5Rm9ybWF0czogemhIYW50TG9jYWxlLnZpZXdzLnllYXIuZGF0ZUZvcm1hdHNcbn07XG5cbmV4cG9ydCBjbGFzcyBHYW50dFZpZXdZZWFyIGV4dGVuZHMgR2FudHRWaWV3IHtcbiAgICBvdmVycmlkZSB2aWV3VHlwZSA9IEdhbnR0Vmlld1R5cGUueWVhcjtcblxuICAgIGNvbnN0cnVjdG9yKHN0YXJ0OiBHYW50dFZpZXdEYXRlLCBlbmQ6IEdhbnR0Vmlld0RhdGUsIG9wdGlvbnM/OiBHYW50dFZpZXdPcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKHN0YXJ0LCBlbmQsIE9iamVjdC5hc3NpZ24oe30sIHZpZXdPcHRpb25zLCBvcHRpb25zKSk7XG4gICAgfVxuXG4gICAgdmlld1N0YXJ0T2YoZGF0ZTogR2FudHREYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLnN0YXJ0T2ZZZWFyKCk7XG4gICAgfVxuXG4gICAgdmlld0VuZE9mKGRhdGU6IEdhbnR0RGF0ZSkge1xuICAgICAgICByZXR1cm4gZGF0ZS5lbmRPZlllYXIoKTtcbiAgICB9XG5cbiAgICBnZXRQcmltYXJ5V2lkdGgoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENlbGxXaWR0aCgpO1xuICAgIH1cblxuICAgIGdldERheU9jY3VwYW5jeVdpZHRoKGRhdGU6IEdhbnR0RGF0ZSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmNlbGxXaWR0aCAvIGRhdGUuZ2V0RGF5c0luWWVhcigpO1xuICAgIH1cblxuICAgIGdldFByaW1hcnlEYXRlUG9pbnRzKCk6IEdhbnR0RGF0ZVBvaW50W10ge1xuICAgICAgICBjb25zdCB5ZWFycyA9IGVhY2hZZWFyT2ZJbnRlcnZhbCh7IHN0YXJ0OiB0aGlzLnN0YXJ0LnZhbHVlLCBlbmQ6IHRoaXMuZW5kLnZhbHVlIH0pO1xuICAgICAgICBjb25zdCBwb2ludHM6IEdhbnR0RGF0ZVBvaW50W10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB5ZWFycy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgc3RhcnQgPSBuZXcgR2FudHREYXRlKHllYXJzW2ldKTtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50ID0gbmV3IEdhbnR0RGF0ZVBvaW50KHN0YXJ0LCBgYCwgdGhpcy5nZXRDZWxsV2lkdGgoKSAvIDIgKyBpICogdGhpcy5nZXRDZWxsV2lkdGgoKSwgcHJpbWFyeURhdGVQb2ludFRvcCk7XG4gICAgICAgICAgICBwb2ludHMucHVzaChwb2ludCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBvaW50cztcbiAgICB9XG5cbiAgICBnZXRTZWNvbmRhcnlEYXRlUG9pbnRzKCk6IEdhbnR0RGF0ZVBvaW50W10ge1xuICAgICAgICBjb25zdCB5ZWFycyA9IGRpZmZlcmVuY2VJbkNhbGVuZGFyWWVhcnModGhpcy5lbmQudmFsdWUsIHRoaXMuc3RhcnQudmFsdWUpO1xuICAgICAgICBjb25zdCBwb2ludHM6IEdhbnR0RGF0ZVBvaW50W10gPSBbXTtcbiAgICAgICAgY29uc3QgcG9pbnRUb3AgPSAnNjAlJztcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPD0geWVhcnM7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgc3RhcnQgPSB0aGlzLnN0YXJ0LmFkZFllYXJzKGkpO1xuICAgICAgICAgICAgY29uc3QgcG9pbnQgPSBuZXcgR2FudHREYXRlUG9pbnQoXG4gICAgICAgICAgICAgICAgc3RhcnQsXG4gICAgICAgICAgICAgICAgYCR7c3RhcnQuZm9ybWF0KFxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMuZGF0ZUZvcm1hdD8ueWVhciB8fCB0aGlzLm9wdGlvbnMuZGF0ZURpc3BsYXlGb3JtYXRzLnNlY29uZGFyeSB8fCB0aGlzLm9wdGlvbnMuZGF0ZURpc3BsYXlGb3JtYXRzLnByaW1hcnlcbiAgICAgICAgICAgICAgICApfWAsXG4gICAgICAgICAgICAgICAgaSAqIHRoaXMuZ2V0Q2VsbFdpZHRoKCkgKyB0aGlzLmdldENlbGxXaWR0aCgpIC8gMixcbiAgICAgICAgICAgICAgICBwb2ludFRvcFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHBvaW50cy5wdXNoKHBvaW50KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcG9pbnRzO1xuICAgIH1cbn1cbiJdfQ==
|