@worktile/gantt 18.1.0-next.2 → 19.0.0
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/components/main/gantt-main.component.d.ts +3 -2
- package/fesm2022/worktile-gantt.mjs +124 -127
- package/fesm2022/worktile-gantt.mjs.map +1 -1
- package/gantt-item-upper.d.ts +1 -1
- package/gantt-upper.d.ts +1 -1
- package/gantt.module.d.ts +1 -1
- package/gantt.pipe.d.ts +5 -5
- package/package.json +4 -6
- package/esm2022/class/baseline.mjs +0 -18
- package/esm2022/class/date-point.mjs +0 -11
- package/esm2022/class/event.mjs +0 -27
- package/esm2022/class/group.mjs +0 -17
- package/esm2022/class/index.mjs +0 -9
- package/esm2022/class/item.mjs +0 -85
- package/esm2022/class/link.mjs +0 -19
- package/esm2022/class/toolbar.mjs +0 -2
- package/esm2022/class/view-type.mjs +0 -10
- package/esm2022/components/bar/bar-drag.mjs +0 -560
- package/esm2022/components/bar/bar.component.mjs +0 -132
- package/esm2022/components/baseline/baseline.component.mjs +0 -43
- package/esm2022/components/calendar/grid/calendar-grid.component.mjs +0 -66
- package/esm2022/components/calendar/header/calendar-header.component.mjs +0 -70
- package/esm2022/components/drag-backdrop/drag-backdrop.component.mjs +0 -21
- package/esm2022/components/icon/icon.component.mjs +0 -37
- package/esm2022/components/icon/icons.mjs +0 -93
- package/esm2022/components/links/lines/curve.mjs +0 -95
- package/esm2022/components/links/lines/factory.mjs +0 -14
- package/esm2022/components/links/lines/line.mjs +0 -24
- package/esm2022/components/links/lines/straight.mjs +0 -58
- package/esm2022/components/links/links.component.mjs +0 -196
- package/esm2022/components/loader/loader.component.mjs +0 -30
- package/esm2022/components/main/gantt-main.component.mjs +0 -94
- package/esm2022/components/range/range.component.mjs +0 -25
- package/esm2022/components/scrollbar/scrollbar.component.mjs +0 -27
- package/esm2022/components/table/body/gantt-table-body.component.mjs +0 -329
- package/esm2022/components/table/header/gantt-table-header.component.mjs +0 -152
- package/esm2022/components/toolbar/toolbar.component.mjs +0 -37
- package/esm2022/gantt-abstract.mjs +0 -3
- package/esm2022/gantt-dom.service.mjs +0 -156
- package/esm2022/gantt-drag-container.mjs +0 -78
- package/esm2022/gantt-item-upper.mjs +0 -67
- package/esm2022/gantt-print.service.mjs +0 -94
- package/esm2022/gantt-upper.mjs +0 -402
- package/esm2022/gantt.component.mjs +0 -361
- package/esm2022/gantt.config.mjs +0 -69
- package/esm2022/gantt.module.mjs +0 -141
- package/esm2022/gantt.pipe.mjs +0 -61
- package/esm2022/gantt.styles.mjs +0 -10
- package/esm2022/i18n/i18n.mjs +0 -12
- package/esm2022/i18n/index.mjs +0 -18
- package/esm2022/i18n/locales/de-de.mjs +0 -51
- package/esm2022/i18n/locales/en-us.mjs +0 -49
- package/esm2022/i18n/locales/ja-jp.mjs +0 -49
- package/esm2022/i18n/locales/ru-ru.mjs +0 -51
- package/esm2022/i18n/locales/zh-hans.mjs +0 -49
- package/esm2022/i18n/locales/zh-hant.mjs +0 -49
- package/esm2022/public-api.mjs +0 -28
- package/esm2022/root.component.mjs +0 -174
- package/esm2022/table/gantt-column.component.mjs +0 -46
- package/esm2022/table/gantt-table.component.mjs +0 -49
- package/esm2022/utils/date.mjs +0 -180
- package/esm2022/utils/drag-scroll.mjs +0 -54
- package/esm2022/utils/helpers.mjs +0 -73
- package/esm2022/utils/passive-listeners.mjs +0 -30
- package/esm2022/utils/set-style-with-vendor-prefix.mjs +0 -15
- package/esm2022/views/day.mjs +0 -58
- package/esm2022/views/factory.mjs +0 -22
- package/esm2022/views/hour.mjs +0 -89
- package/esm2022/views/month.mjs +0 -52
- package/esm2022/views/quarter.mjs +0 -55
- package/esm2022/views/view.mjs +0 -177
- package/esm2022/views/week.mjs +0 -53
- package/esm2022/views/year.mjs +0 -54
- package/esm2022/worktile-gantt.mjs +0 -5
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Proximity, as a ratio to width/height at which to start auto-scrolling the drop list or the
|
|
3
|
-
* viewport. The value comes from trying it out manually until it feels right.
|
|
4
|
-
*/
|
|
5
|
-
const SCROLL_PROXIMITY_THRESHOLD = 0.05;
|
|
6
|
-
/**
|
|
7
|
-
* Gets whether the horizontal auto-scroll direction of a node.
|
|
8
|
-
* @param clientRect Dimensions of the node.
|
|
9
|
-
* @param pointerX Position of the user's pointer along the x axis.
|
|
10
|
-
*/
|
|
11
|
-
export function getHorizontalScrollDirection(clientRect, pointerX) {
|
|
12
|
-
const { left, right, width } = clientRect;
|
|
13
|
-
const xThreshold = width * SCROLL_PROXIMITY_THRESHOLD;
|
|
14
|
-
if (pointerX >= left - xThreshold && pointerX <= left + xThreshold) {
|
|
15
|
-
return 1 /* AutoScrollHorizontalDirection.LEFT */;
|
|
16
|
-
}
|
|
17
|
-
else if (pointerX >= right - xThreshold && pointerX <= right + xThreshold) {
|
|
18
|
-
return 2 /* AutoScrollHorizontalDirection.RIGHT */;
|
|
19
|
-
}
|
|
20
|
-
return 0 /* AutoScrollHorizontalDirection.NONE */;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Checks whether the pointer coordinates are close to a ClientRect.
|
|
24
|
-
* @param rect ClientRect to check against.
|
|
25
|
-
* @param threshold Threshold around the ClientRect.
|
|
26
|
-
* @param pointerX Coordinates along the X axis.
|
|
27
|
-
* @param pointerY Coordinates along the Y axis.
|
|
28
|
-
*/
|
|
29
|
-
export function isPointerNearClientRect(rect, threshold, pointerX, pointerY) {
|
|
30
|
-
const { top, right, bottom, left, width, height } = rect;
|
|
31
|
-
const xThreshold = width * threshold;
|
|
32
|
-
const yThreshold = height * threshold;
|
|
33
|
-
return pointerY > top - yThreshold && pointerY < bottom + yThreshold && pointerX > left - xThreshold && pointerX < right + xThreshold;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Gets the speed rate of auto scrolling
|
|
37
|
-
* @param clientRect Dimensions of the node.
|
|
38
|
-
* @param pointerX Position of the user's pointer along the x axis.
|
|
39
|
-
* @param horizontalScrollDirection The direction in which the mouse is dragged horizontally
|
|
40
|
-
*/
|
|
41
|
-
export function getAutoScrollSpeedRates(clientRect, pointerX, horizontalScrollDirection) {
|
|
42
|
-
let autoScrollSpeedRates = 4;
|
|
43
|
-
const speedLevels = 4;
|
|
44
|
-
const { left, right, width } = clientRect;
|
|
45
|
-
const xThreshold = width * SCROLL_PROXIMITY_THRESHOLD;
|
|
46
|
-
if (horizontalScrollDirection === 1 /* AutoScrollHorizontalDirection.LEFT */) {
|
|
47
|
-
autoScrollSpeedRates = Math.ceil((xThreshold - (pointerX > left ? pointerX - left : 0)) / (xThreshold / speedLevels));
|
|
48
|
-
}
|
|
49
|
-
if (horizontalScrollDirection === 2 /* AutoScrollHorizontalDirection.RIGHT */) {
|
|
50
|
-
autoScrollSpeedRates = Math.ceil((xThreshold - (right > pointerX ? right - pointerX : 0)) / (xThreshold / speedLevels));
|
|
51
|
-
}
|
|
52
|
-
return autoScrollSpeedRates;
|
|
53
|
-
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1zY3JvbGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvdXRpbHMvZHJhZy1zY3JvbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0E7OztHQUdHO0FBQ0gsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLENBQUM7QUFFeEM7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSw0QkFBNEIsQ0FBQyxVQUFtQixFQUFFLFFBQWdCO0lBQzlFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLFVBQVUsQ0FBQztJQUMxQyxNQUFNLFVBQVUsR0FBRyxLQUFLLEdBQUcsMEJBQTBCLENBQUM7SUFFdEQsSUFBSSxRQUFRLElBQUksSUFBSSxHQUFHLFVBQVUsSUFBSSxRQUFRLElBQUksSUFBSSxHQUFHLFVBQVUsRUFBRSxDQUFDO1FBQ2pFLGtEQUEwQztJQUM5QyxDQUFDO1NBQU0sSUFBSSxRQUFRLElBQUksS0FBSyxHQUFHLFVBQVUsSUFBSSxRQUFRLElBQUksS0FBSyxHQUFHLFVBQVUsRUFBRSxDQUFDO1FBQzFFLG1EQUEyQztJQUMvQyxDQUFDO0lBRUQsa0RBQTBDO0FBQzlDLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsSUFBYSxFQUFFLFNBQWlCLEVBQUUsUUFBZ0IsRUFBRSxRQUFnQjtJQUN4RyxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDekQsTUFBTSxVQUFVLEdBQUcsS0FBSyxHQUFHLFNBQVMsQ0FBQztJQUNyQyxNQUFNLFVBQVUsR0FBRyxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBRXRDLE9BQU8sUUFBUSxHQUFHLEdBQUcsR0FBRyxVQUFVLElBQUksUUFBUSxHQUFHLE1BQU0sR0FBRyxVQUFVLElBQUksUUFBUSxHQUFHLElBQUksR0FBRyxVQUFVLElBQUksUUFBUSxHQUFHLEtBQUssR0FBRyxVQUFVLENBQUM7QUFDMUksQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUFDLFVBQW1CLEVBQUUsUUFBZ0IsRUFBRSx5QkFBd0Q7SUFDbkksSUFBSSxvQkFBb0IsR0FBRyxDQUFDLENBQUM7SUFDN0IsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDO0lBQ3RCLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLFVBQVUsQ0FBQztJQUMxQyxNQUFNLFVBQVUsR0FBRyxLQUFLLEdBQUcsMEJBQTBCLENBQUM7SUFFdEQsSUFBSSx5QkFBeUIsK0NBQXVDLEVBQUUsQ0FBQztRQUNuRSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQzFILENBQUM7SUFDRCxJQUFJLHlCQUF5QixnREFBd0MsRUFBRSxDQUFDO1FBQ3BFLG9CQUFvQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDNUgsQ0FBQztJQUVELE9BQU8sb0JBQW9CLENBQUM7QUFDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBIb3Jpem9udGFsIGRpcmVjdGlvbiBpbiB3aGljaCB3ZSBjYW4gYXV0by1zY3JvbGwuICovXG5leHBvcnQgY29uc3QgZW51bSBBdXRvU2Nyb2xsSG9yaXpvbnRhbERpcmVjdGlvbiB7XG4gICAgTk9ORSxcbiAgICBMRUZULFxuICAgIFJJR0hUXG59XG5cbi8qKlxuICogUHJveGltaXR5LCBhcyBhIHJhdGlvIHRvIHdpZHRoL2hlaWdodCBhdCB3aGljaCB0byBzdGFydCBhdXRvLXNjcm9sbGluZyB0aGUgZHJvcCBsaXN0IG9yIHRoZVxuICogdmlld3BvcnQuIFRoZSB2YWx1ZSBjb21lcyBmcm9tIHRyeWluZyBpdCBvdXQgbWFudWFsbHkgdW50aWwgaXQgZmVlbHMgcmlnaHQuXG4gKi9cbmNvbnN0IFNDUk9MTF9QUk9YSU1JVFlfVEhSRVNIT0xEID0gMC4wNTtcblxuLyoqXG4gKiBHZXRzIHdoZXRoZXIgdGhlIGhvcml6b250YWwgYXV0by1zY3JvbGwgZGlyZWN0aW9uIG9mIGEgbm9kZS5cbiAqIEBwYXJhbSBjbGllbnRSZWN0IERpbWVuc2lvbnMgb2YgdGhlIG5vZGUuXG4gKiBAcGFyYW0gcG9pbnRlclggUG9zaXRpb24gb2YgdGhlIHVzZXIncyBwb2ludGVyIGFsb25nIHRoZSB4IGF4aXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRIb3Jpem9udGFsU2Nyb2xsRGlyZWN0aW9uKGNsaWVudFJlY3Q6IERPTVJlY3QsIHBvaW50ZXJYOiBudW1iZXIpIHtcbiAgICBjb25zdCB7IGxlZnQsIHJpZ2h0LCB3aWR0aCB9ID0gY2xpZW50UmVjdDtcbiAgICBjb25zdCB4VGhyZXNob2xkID0gd2lkdGggKiBTQ1JPTExfUFJPWElNSVRZX1RIUkVTSE9MRDtcblxuICAgIGlmIChwb2ludGVyWCA+PSBsZWZ0IC0geFRocmVzaG9sZCAmJiBwb2ludGVyWCA8PSBsZWZ0ICsgeFRocmVzaG9sZCkge1xuICAgICAgICByZXR1cm4gQXV0b1Njcm9sbEhvcml6b250YWxEaXJlY3Rpb24uTEVGVDtcbiAgICB9IGVsc2UgaWYgKHBvaW50ZXJYID49IHJpZ2h0IC0geFRocmVzaG9sZCAmJiBwb2ludGVyWCA8PSByaWdodCArIHhUaHJlc2hvbGQpIHtcbiAgICAgICAgcmV0dXJuIEF1dG9TY3JvbGxIb3Jpem9udGFsRGlyZWN0aW9uLlJJR0hUO1xuICAgIH1cblxuICAgIHJldHVybiBBdXRvU2Nyb2xsSG9yaXpvbnRhbERpcmVjdGlvbi5OT05FO1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIHRoZSBwb2ludGVyIGNvb3JkaW5hdGVzIGFyZSBjbG9zZSB0byBhIENsaWVudFJlY3QuXG4gKiBAcGFyYW0gcmVjdCBDbGllbnRSZWN0IHRvIGNoZWNrIGFnYWluc3QuXG4gKiBAcGFyYW0gdGhyZXNob2xkIFRocmVzaG9sZCBhcm91bmQgdGhlIENsaWVudFJlY3QuXG4gKiBAcGFyYW0gcG9pbnRlclggQ29vcmRpbmF0ZXMgYWxvbmcgdGhlIFggYXhpcy5cbiAqIEBwYXJhbSBwb2ludGVyWSBDb29yZGluYXRlcyBhbG9uZyB0aGUgWSBheGlzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNQb2ludGVyTmVhckNsaWVudFJlY3QocmVjdDogRE9NUmVjdCwgdGhyZXNob2xkOiBudW1iZXIsIHBvaW50ZXJYOiBudW1iZXIsIHBvaW50ZXJZOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBjb25zdCB7IHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCwgd2lkdGgsIGhlaWdodCB9ID0gcmVjdDtcbiAgICBjb25zdCB4VGhyZXNob2xkID0gd2lkdGggKiB0aHJlc2hvbGQ7XG4gICAgY29uc3QgeVRocmVzaG9sZCA9IGhlaWdodCAqIHRocmVzaG9sZDtcblxuICAgIHJldHVybiBwb2ludGVyWSA+IHRvcCAtIHlUaHJlc2hvbGQgJiYgcG9pbnRlclkgPCBib3R0b20gKyB5VGhyZXNob2xkICYmIHBvaW50ZXJYID4gbGVmdCAtIHhUaHJlc2hvbGQgJiYgcG9pbnRlclggPCByaWdodCArIHhUaHJlc2hvbGQ7XG59XG5cbi8qKlxuICogR2V0cyB0aGUgc3BlZWQgcmF0ZSBvZiBhdXRvIHNjcm9sbGluZ1xuICogQHBhcmFtIGNsaWVudFJlY3QgRGltZW5zaW9ucyBvZiB0aGUgbm9kZS5cbiAqIEBwYXJhbSBwb2ludGVyWCBQb3NpdGlvbiBvZiB0aGUgdXNlcidzIHBvaW50ZXIgYWxvbmcgdGhlIHggYXhpcy5cbiAqIEBwYXJhbSBob3Jpem9udGFsU2Nyb2xsRGlyZWN0aW9uIFRoZSBkaXJlY3Rpb24gaW4gd2hpY2ggdGhlIG1vdXNlIGlzIGRyYWdnZWQgaG9yaXpvbnRhbGx5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBdXRvU2Nyb2xsU3BlZWRSYXRlcyhjbGllbnRSZWN0OiBET01SZWN0LCBwb2ludGVyWDogbnVtYmVyLCBob3Jpem9udGFsU2Nyb2xsRGlyZWN0aW9uOiBBdXRvU2Nyb2xsSG9yaXpvbnRhbERpcmVjdGlvbikge1xuICAgIGxldCBhdXRvU2Nyb2xsU3BlZWRSYXRlcyA9IDQ7XG4gICAgY29uc3Qgc3BlZWRMZXZlbHMgPSA0O1xuICAgIGNvbnN0IHsgbGVmdCwgcmlnaHQsIHdpZHRoIH0gPSBjbGllbnRSZWN0O1xuICAgIGNvbnN0IHhUaHJlc2hvbGQgPSB3aWR0aCAqIFNDUk9MTF9QUk9YSU1JVFlfVEhSRVNIT0xEO1xuXG4gICAgaWYgKGhvcml6b250YWxTY3JvbGxEaXJlY3Rpb24gPT09IEF1dG9TY3JvbGxIb3Jpem9udGFsRGlyZWN0aW9uLkxFRlQpIHtcbiAgICAgICAgYXV0b1Njcm9sbFNwZWVkUmF0ZXMgPSBNYXRoLmNlaWwoKHhUaHJlc2hvbGQgLSAocG9pbnRlclggPiBsZWZ0ID8gcG9pbnRlclggLSBsZWZ0IDogMCkpIC8gKHhUaHJlc2hvbGQgLyBzcGVlZExldmVscykpO1xuICAgIH1cbiAgICBpZiAoaG9yaXpvbnRhbFNjcm9sbERpcmVjdGlvbiA9PT0gQXV0b1Njcm9sbEhvcml6b250YWxEaXJlY3Rpb24uUklHSFQpIHtcbiAgICAgICAgYXV0b1Njcm9sbFNwZWVkUmF0ZXMgPSBNYXRoLmNlaWwoKHhUaHJlc2hvbGQgLSAocmlnaHQgPiBwb2ludGVyWCA/IHJpZ2h0IC0gcG9pbnRlclggOiAwKSkgLyAoeFRocmVzaG9sZCAvIHNwZWVkTGV2ZWxzKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGF1dG9TY3JvbGxTcGVlZFJhdGVzO1xufVxuIl19
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
export function isNumber(value) {
|
|
2
|
-
return typeof value === 'number';
|
|
3
|
-
}
|
|
4
|
-
export function isString(value) {
|
|
5
|
-
return typeof value === 'string';
|
|
6
|
-
}
|
|
7
|
-
export function isUndefined(value) {
|
|
8
|
-
return value === undefined;
|
|
9
|
-
}
|
|
10
|
-
export function hexToRgb(color, opacity = 1) {
|
|
11
|
-
if (/^#/g.test(color)) {
|
|
12
|
-
return `rgba(${parseInt(color.slice(1, 3), 16)},${parseInt(color.slice(3, 5), 16)},${parseInt(color.slice(5, 7), 16)},${opacity})`;
|
|
13
|
-
}
|
|
14
|
-
else {
|
|
15
|
-
return color;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
export function uniqBy(array, key) {
|
|
19
|
-
const valuesMap = {};
|
|
20
|
-
const result = [];
|
|
21
|
-
(array || []).forEach((value) => {
|
|
22
|
-
const _key = value[key];
|
|
23
|
-
if (!valuesMap[_key]) {
|
|
24
|
-
valuesMap[_key] = value;
|
|
25
|
-
result.push(value);
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
return result;
|
|
29
|
-
}
|
|
30
|
-
export function flatten(array) {
|
|
31
|
-
return array.reduce((pre, cur) => {
|
|
32
|
-
return pre.concat(Array.isArray(cur) ? flatten(cur) : cur);
|
|
33
|
-
}, []);
|
|
34
|
-
}
|
|
35
|
-
// export function recursiveItems(items: GanttItemInternal[]) {
|
|
36
|
-
// const result = [];
|
|
37
|
-
// (items || []).forEach((item) => {
|
|
38
|
-
// result.push(item);
|
|
39
|
-
// if (item.expanded && item.children) {
|
|
40
|
-
// result.push(...recursiveItems(item.children));
|
|
41
|
-
// }
|
|
42
|
-
// });
|
|
43
|
-
// return result;
|
|
44
|
-
// }
|
|
45
|
-
export function recursiveItems(items) {
|
|
46
|
-
const result = [];
|
|
47
|
-
(items || []).forEach((item) => {
|
|
48
|
-
result.push(item);
|
|
49
|
-
if (item.expanded && item.children) {
|
|
50
|
-
result.push(...recursiveItems(item.children));
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
return result;
|
|
54
|
-
}
|
|
55
|
-
export function getFlatItems(items) {
|
|
56
|
-
const result = [];
|
|
57
|
-
(items || []).forEach((item) => {
|
|
58
|
-
result.push(item);
|
|
59
|
-
if (item.children) {
|
|
60
|
-
result.push(...getFlatItems(item.children));
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
return result;
|
|
64
|
-
}
|
|
65
|
-
export function keyBy(array, key) {
|
|
66
|
-
const result = {};
|
|
67
|
-
array.forEach((item) => {
|
|
68
|
-
const keyValue = item[key];
|
|
69
|
-
result[keyValue] = item;
|
|
70
|
-
});
|
|
71
|
-
return result;
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy91dGlscy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBVTtJQUMvQixPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQztBQUNyQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxLQUFVO0lBQy9CLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDO0FBQ3JDLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLEtBQVU7SUFDbEMsT0FBTyxLQUFLLEtBQUssU0FBUyxDQUFDO0FBQy9CLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEtBQWEsRUFBRSxPQUFPLEdBQUcsQ0FBQztJQUMvQyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNwQixPQUFPLFFBQVEsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksT0FBTyxHQUFHLENBQUM7SUFDdkksQ0FBQztTQUFNLENBQUM7UUFDSixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxNQUFNLENBQWMsS0FBVSxFQUFFLEdBQVk7SUFDeEQsTUFBTSxTQUFTLEdBQWtCLEVBQUUsQ0FBQztJQUNwQyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDbEIsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDNUIsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLEdBQWEsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNuQixTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQztBQUVELE1BQU0sVUFBVSxPQUFPLENBQWMsS0FBVTtJQUMzQyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDN0IsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0QsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1gsQ0FBQztBQUVELCtEQUErRDtBQUMvRCx5QkFBeUI7QUFDekIsd0NBQXdDO0FBQ3hDLDZCQUE2QjtBQUM3QixnREFBZ0Q7QUFDaEQsNkRBQTZEO0FBQzdELFlBQVk7QUFDWixVQUFVO0FBQ1YscUJBQXFCO0FBQ3JCLElBQUk7QUFFSixNQUFNLFVBQVUsY0FBYyxDQUFDLEtBQTBCO0lBQ3JELE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNsQixDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUMzQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNsRCxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxLQUFrQjtJQUMzQyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDbEIsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDM0IsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ2hELENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUM7QUFFRCxNQUFNLFVBQVUsS0FBSyxDQUFJLEtBQVUsRUFBRSxHQUF1QztJQUN4RSxNQUFNLE1BQU0sR0FBeUIsRUFBRSxDQUFDO0lBQ3hDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUNuQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUIsTUFBYyxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQztJQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHYW50dEl0ZW0sIEdhbnR0SXRlbUludGVybmFsIH0gZnJvbSAnLi4vY2xhc3MvaXRlbSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGljdGlvbmFyeTxUID0gdW5rbm93bj4ge1xuICAgIFtrZXk6IHN0cmluZ106IFQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc051bWJlcih2YWx1ZTogYW55KSB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcic7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1N0cmluZyh2YWx1ZTogYW55KSB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZyc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1VuZGVmaW5lZCh2YWx1ZTogYW55KSB7XG4gICAgcmV0dXJuIHZhbHVlID09PSB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoZXhUb1JnYihjb2xvcjogc3RyaW5nLCBvcGFjaXR5ID0gMSkge1xuICAgIGlmICgvXiMvZy50ZXN0KGNvbG9yKSkge1xuICAgICAgICByZXR1cm4gYHJnYmEoJHtwYXJzZUludChjb2xvci5zbGljZSgxLCAzKSwgMTYpfSwke3BhcnNlSW50KGNvbG9yLnNsaWNlKDMsIDUpLCAxNil9LCR7cGFyc2VJbnQoY29sb3Iuc2xpY2UoNSwgNyksIDE2KX0sJHtvcGFjaXR5fSlgO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBjb2xvcjtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1bmlxQnk8VCA9IHVua25vd24+KGFycmF5OiBUW10sIGtleToga2V5b2YgVCkge1xuICAgIGNvbnN0IHZhbHVlc01hcDogRGljdGlvbmFyeTxUPiA9IHt9O1xuICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgIChhcnJheSB8fCBbXSkuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICAgICAgY29uc3QgX2tleSA9IHZhbHVlW2tleSBhcyBzdHJpbmddO1xuICAgICAgICBpZiAoIXZhbHVlc01hcFtfa2V5XSkge1xuICAgICAgICAgICAgdmFsdWVzTWFwW19rZXldID0gdmFsdWU7XG4gICAgICAgICAgICByZXN1bHQucHVzaCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmxhdHRlbjxUID0gdW5rbm93bj4oYXJyYXk6IFRbXSkge1xuICAgIHJldHVybiBhcnJheS5yZWR1Y2UoKHByZSwgY3VyKSA9PiB7XG4gICAgICAgIHJldHVybiBwcmUuY29uY2F0KEFycmF5LmlzQXJyYXkoY3VyKSA/IGZsYXR0ZW4oY3VyKSA6IGN1cik7XG4gICAgfSwgW10pO1xufVxuXG4vLyBleHBvcnQgZnVuY3Rpb24gcmVjdXJzaXZlSXRlbXMoaXRlbXM6IEdhbnR0SXRlbUludGVybmFsW10pIHtcbi8vICAgICBjb25zdCByZXN1bHQgPSBbXTtcbi8vICAgICAoaXRlbXMgfHwgW10pLmZvckVhY2goKGl0ZW0pID0+IHtcbi8vICAgICAgICAgcmVzdWx0LnB1c2goaXRlbSk7XG4vLyAgICAgICAgIGlmIChpdGVtLmV4cGFuZGVkICYmIGl0ZW0uY2hpbGRyZW4pIHtcbi8vICAgICAgICAgICAgIHJlc3VsdC5wdXNoKC4uLnJlY3Vyc2l2ZUl0ZW1zKGl0ZW0uY2hpbGRyZW4pKTtcbi8vICAgICAgICAgfVxuLy8gICAgIH0pO1xuLy8gICAgIHJldHVybiByZXN1bHQ7XG4vLyB9XG5cbmV4cG9ydCBmdW5jdGlvbiByZWN1cnNpdmVJdGVtcyhpdGVtczogR2FudHRJdGVtSW50ZXJuYWxbXSkge1xuICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgIChpdGVtcyB8fCBbXSkuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICByZXN1bHQucHVzaChpdGVtKTtcbiAgICAgICAgaWYgKGl0ZW0uZXhwYW5kZWQgJiYgaXRlbS5jaGlsZHJlbikge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2goLi4ucmVjdXJzaXZlSXRlbXMoaXRlbS5jaGlsZHJlbikpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZsYXRJdGVtcyhpdGVtczogR2FudHRJdGVtW10pIHtcbiAgICBjb25zdCByZXN1bHQgPSBbXTtcbiAgICAoaXRlbXMgfHwgW10pLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgcmVzdWx0LnB1c2goaXRlbSk7XG4gICAgICAgIGlmIChpdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICByZXN1bHQucHVzaCguLi5nZXRGbGF0SXRlbXMoaXRlbS5jaGlsZHJlbikpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGtleUJ5PFQ+KGFycmF5OiBUW10sIGtleTogVCBleHRlbmRzIG9iamVjdCA/IGtleW9mIFQgOiBuZXZlcik6IHsgW2tleTogc3RyaW5nXTogVCB9IHtcbiAgICBjb25zdCByZXN1bHQ6IHsgW2tleTogc3RyaW5nXTogVCB9ID0ge307XG4gICAgYXJyYXkuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICBjb25zdCBrZXlWYWx1ZSA9IGl0ZW1ba2V5XTtcbiAgICAgICAgKHJlc3VsdCBhcyBhbnkpW2tleVZhbHVlXSA9IGl0ZW07XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbiJdfQ==
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/** Cached result of whether the user's browser supports passive event listeners. */
|
|
2
|
-
let supportsPassiveEvents;
|
|
3
|
-
/**
|
|
4
|
-
* Checks whether the user's browser supports passive event listeners.
|
|
5
|
-
* See: https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md
|
|
6
|
-
*/
|
|
7
|
-
export function supportsPassiveEventListeners() {
|
|
8
|
-
if (supportsPassiveEvents == null && typeof window !== 'undefined') {
|
|
9
|
-
try {
|
|
10
|
-
window.addEventListener('test', null, Object.defineProperty({}, 'passive', {
|
|
11
|
-
get: () => (supportsPassiveEvents = true)
|
|
12
|
-
}));
|
|
13
|
-
}
|
|
14
|
-
finally {
|
|
15
|
-
supportsPassiveEvents = supportsPassiveEvents || false;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
return supportsPassiveEvents;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Normalizes an `AddEventListener` object to something that can be passed
|
|
22
|
-
* to `addEventListener` on any browser, no matter whether it supports the
|
|
23
|
-
* `options` parameter.
|
|
24
|
-
*/
|
|
25
|
-
export function normalizePassiveListenerOptions(options) {
|
|
26
|
-
return supportsPassiveEventListeners() ? options : !!options.capture;
|
|
27
|
-
}
|
|
28
|
-
/** Options used to bind passive event listeners. */
|
|
29
|
-
export const passiveListenerOptions = normalizePassiveListenerOptions({ passive: true });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc2l2ZS1saXN0ZW5lcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvdXRpbHMvcGFzc2l2ZS1saXN0ZW5lcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0ZBQW9GO0FBQ3BGLElBQUkscUJBQThCLENBQUM7QUFFbkM7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLDZCQUE2QjtJQUN6QyxJQUFJLHFCQUFxQixJQUFJLElBQUksSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUNqRSxJQUFJLENBQUM7WUFDRCxNQUFNLENBQUMsZ0JBQWdCLENBQ25CLE1BQU0sRUFDTixJQUFLLEVBQ0wsTUFBTSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFO2dCQUNqQyxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUM7YUFDNUMsQ0FBQyxDQUNMLENBQUM7UUFDTixDQUFDO2dCQUFTLENBQUM7WUFDUCxxQkFBcUIsR0FBRyxxQkFBcUIsSUFBSSxLQUFLLENBQUM7UUFDM0QsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLHFCQUFxQixDQUFDO0FBQ2pDLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLCtCQUErQixDQUFDLE9BQWdDO0lBQzVFLE9BQU8sNkJBQTZCLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztBQUN6RSxDQUFDO0FBRUQsb0RBQW9EO0FBQ3BELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUE0QiwrQkFBK0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIENhY2hlZCByZXN1bHQgb2Ygd2hldGhlciB0aGUgdXNlcidzIGJyb3dzZXIgc3VwcG9ydHMgcGFzc2l2ZSBldmVudCBsaXN0ZW5lcnMuICovXG5sZXQgc3VwcG9ydHNQYXNzaXZlRXZlbnRzOiBib29sZWFuO1xuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIHRoZSB1c2VyJ3MgYnJvd3NlciBzdXBwb3J0cyBwYXNzaXZlIGV2ZW50IGxpc3RlbmVycy5cbiAqIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL1dJQ0cvRXZlbnRMaXN0ZW5lck9wdGlvbnMvYmxvYi9naC1wYWdlcy9leHBsYWluZXIubWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN1cHBvcnRzUGFzc2l2ZUV2ZW50TGlzdGVuZXJzKCk6IGJvb2xlYW4ge1xuICAgIGlmIChzdXBwb3J0c1Bhc3NpdmVFdmVudHMgPT0gbnVsbCAmJiB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICAgICAgICAgJ3Rlc3QnLFxuICAgICAgICAgICAgICAgIG51bGwhLFxuICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwgJ3Bhc3NpdmUnLCB7XG4gICAgICAgICAgICAgICAgICAgIGdldDogKCkgPT4gKHN1cHBvcnRzUGFzc2l2ZUV2ZW50cyA9IHRydWUpXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICBzdXBwb3J0c1Bhc3NpdmVFdmVudHMgPSBzdXBwb3J0c1Bhc3NpdmVFdmVudHMgfHwgZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc3VwcG9ydHNQYXNzaXZlRXZlbnRzO1xufVxuXG4vKipcbiAqIE5vcm1hbGl6ZXMgYW4gYEFkZEV2ZW50TGlzdGVuZXJgIG9iamVjdCB0byBzb21ldGhpbmcgdGhhdCBjYW4gYmUgcGFzc2VkXG4gKiB0byBgYWRkRXZlbnRMaXN0ZW5lcmAgb24gYW55IGJyb3dzZXIsIG5vIG1hdHRlciB3aGV0aGVyIGl0IHN1cHBvcnRzIHRoZVxuICogYG9wdGlvbnNgIHBhcmFtZXRlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZVBhc3NpdmVMaXN0ZW5lck9wdGlvbnMob3B0aW9uczogQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMpOiBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyB8IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdXBwb3J0c1Bhc3NpdmVFdmVudExpc3RlbmVycygpID8gb3B0aW9ucyA6ICEhb3B0aW9ucy5jYXB0dXJlO1xufVxuXG4vKiogT3B0aW9ucyB1c2VkIHRvIGJpbmQgcGFzc2l2ZSBldmVudCBsaXN0ZW5lcnMuICovXG5leHBvcnQgY29uc3QgcGFzc2l2ZUxpc3RlbmVyT3B0aW9ucyA9IDxBZGRFdmVudExpc3RlbmVyT3B0aW9ucz5ub3JtYWxpemVQYXNzaXZlTGlzdGVuZXJPcHRpb25zKHsgcGFzc2l2ZTogdHJ1ZSB9KTtcbiJdfQ==
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
const supports = (typeof window !== 'undefined' && !!window.CSS && CSS.supports) || (() => false);
|
|
2
|
-
/**
|
|
3
|
-
* Note: we don't need to add vendor prefixes within `.scss` files since they're added automatically.
|
|
4
|
-
* This function is necessary when the `element.style` is updated directly through the JavaScript.
|
|
5
|
-
* This is not required to be used with CSS properties that don't require vendor prefixes (e.g. `opacity`).
|
|
6
|
-
*/
|
|
7
|
-
export function setStyleWithVendorPrefix({ element, style, value }) {
|
|
8
|
-
element.style[style] = value;
|
|
9
|
-
if (supports(`-webkit-${style}: ${value}`)) {
|
|
10
|
-
// Note: some browsers still require setting `-webkit` vendor prefix. E.g. Mozilla 49 has implemented
|
|
11
|
-
// the 3D support for `transform`, but it requires setting `-webkit-` prefix.
|
|
12
|
-
element.style[`-webkit-${style}`] = value;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LXN0eWxlLXdpdGgtdmVuZG9yLXByZWZpeC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy91dGlscy9zZXQtc3R5bGUtd2l0aC12ZW5kb3ItcHJlZml4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sUUFBUSxHQUFHLENBQUMsT0FBTyxNQUFNLEtBQUssV0FBVyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBRWxHOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBbUM7SUFDL0YsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUM7SUFFN0IsSUFBSSxRQUFRLENBQUMsV0FBVyxLQUFLLEtBQUssS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3pDLHFHQUFxRztRQUNyRyw2RUFBNkU7UUFDN0UsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLEtBQUssRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQzlDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW50ZXJmYWNlIFNldFN0eWxlV2l0aFZlbmRvclByZWZpeE9wdGlvbnMge1xuICAgIGVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICAgIC8vIFRoZSBuYW1lIG9mIHRoZSBDU1MgcHJvcGVydHksIGUuZy4gYHRyYW5zZm9ybWAuXG4gICAgc3R5bGU6IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nO1xufVxuXG5jb25zdCBzdXBwb3J0cyA9ICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiAhIXdpbmRvdy5DU1MgJiYgQ1NTLnN1cHBvcnRzKSB8fCAoKCkgPT4gZmFsc2UpO1xuXG4vKipcbiAqIE5vdGU6IHdlIGRvbid0IG5lZWQgdG8gYWRkIHZlbmRvciBwcmVmaXhlcyB3aXRoaW4gYC5zY3NzYCBmaWxlcyBzaW5jZSB0aGV5J3JlIGFkZGVkIGF1dG9tYXRpY2FsbHkuXG4gKiBUaGlzIGZ1bmN0aW9uIGlzIG5lY2Vzc2FyeSB3aGVuIHRoZSBgZWxlbWVudC5zdHlsZWAgaXMgdXBkYXRlZCBkaXJlY3RseSB0aHJvdWdoIHRoZSBKYXZhU2NyaXB0LlxuICogVGhpcyBpcyBub3QgcmVxdWlyZWQgdG8gYmUgdXNlZCB3aXRoIENTUyBwcm9wZXJ0aWVzIHRoYXQgZG9uJ3QgcmVxdWlyZSB2ZW5kb3IgcHJlZml4ZXMgKGUuZy4gYG9wYWNpdHlgKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldFN0eWxlV2l0aFZlbmRvclByZWZpeCh7IGVsZW1lbnQsIHN0eWxlLCB2YWx1ZSB9OiBTZXRTdHlsZVdpdGhWZW5kb3JQcmVmaXhPcHRpb25zKTogdm9pZCB7XG4gICAgZWxlbWVudC5zdHlsZVtzdHlsZV0gPSB2YWx1ZTtcblxuICAgIGlmIChzdXBwb3J0cyhgLXdlYmtpdC0ke3N0eWxlfTogJHt2YWx1ZX1gKSkge1xuICAgICAgICAvLyBOb3RlOiBzb21lIGJyb3dzZXJzIHN0aWxsIHJlcXVpcmUgc2V0dGluZyBgLXdlYmtpdGAgdmVuZG9yIHByZWZpeC4gRS5nLiBNb3ppbGxhIDQ5IGhhcyBpbXBsZW1lbnRlZFxuICAgICAgICAvLyB0aGUgM0Qgc3VwcG9ydCBmb3IgYHRyYW5zZm9ybWAsIGJ1dCBpdCByZXF1aXJlcyBzZXR0aW5nIGAtd2Via2l0LWAgcHJlZml4LlxuICAgICAgICBlbGVtZW50LnN0eWxlW2Atd2Via2l0LSR7c3R5bGV9YF0gPSB2YWx1ZTtcbiAgICB9XG59XG4iXX0=
|
package/esm2022/views/day.mjs
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { zhHantLocale } from '../i18n';
|
|
2
|
-
import { GanttViewType } from '../class';
|
|
3
|
-
import { GanttDatePoint } from '../class/date-point';
|
|
4
|
-
import { GanttDate, eachDayOfInterval, eachWeekOfInterval } from '../utils/date';
|
|
5
|
-
import { GanttView, primaryDatePointTop, secondaryDatePointTop } from './view';
|
|
6
|
-
const viewOptions = {
|
|
7
|
-
cellWidth: 35,
|
|
8
|
-
start: new GanttDate().startOfYear().startOfWeek(),
|
|
9
|
-
end: new GanttDate().endOfYear().endOfWeek(),
|
|
10
|
-
addAmount: 1,
|
|
11
|
-
addUnit: 'month',
|
|
12
|
-
dateDisplayFormats: zhHantLocale.views.day.dateFormats
|
|
13
|
-
};
|
|
14
|
-
export class GanttViewDay extends GanttView {
|
|
15
|
-
constructor(start, end, options) {
|
|
16
|
-
super(start, end, Object.assign({}, viewOptions, options));
|
|
17
|
-
this.showWeekBackdrop = true;
|
|
18
|
-
this.showTimeline = false;
|
|
19
|
-
this.viewType = GanttViewType.day;
|
|
20
|
-
}
|
|
21
|
-
viewStartOf(date) {
|
|
22
|
-
return date.startOfWeek();
|
|
23
|
-
}
|
|
24
|
-
viewEndOf(date) {
|
|
25
|
-
return date.endOfWeek();
|
|
26
|
-
}
|
|
27
|
-
getPrimaryWidth() {
|
|
28
|
-
return this.getCellWidth() * 7;
|
|
29
|
-
}
|
|
30
|
-
getDayOccupancyWidth() {
|
|
31
|
-
return this.cellWidth;
|
|
32
|
-
}
|
|
33
|
-
getPrimaryDatePoints() {
|
|
34
|
-
const weeks = eachWeekOfInterval({ start: this.start.value, end: this.end.addSeconds(1).value });
|
|
35
|
-
const points = [];
|
|
36
|
-
for (let i = 0; i < weeks.length; i++) {
|
|
37
|
-
const weekStart = new GanttDate(weeks[i]);
|
|
38
|
-
const increaseWeek = weekStart.getDaysInMonth() - weekStart.getDate() >= 3 ? 0 : 1;
|
|
39
|
-
const point = new GanttDatePoint(weekStart, weekStart.addWeeks(increaseWeek).format(this.options.dateFormat?.yearMonth || this.options.dateDisplayFormats.primary), (this.getCellWidth() * 7) / 2 + i * (this.getCellWidth() * 7), primaryDatePointTop);
|
|
40
|
-
points.push(point);
|
|
41
|
-
}
|
|
42
|
-
return points;
|
|
43
|
-
}
|
|
44
|
-
getSecondaryDatePoints() {
|
|
45
|
-
const days = eachDayOfInterval({ start: this.start.value, end: this.end.value });
|
|
46
|
-
const points = [];
|
|
47
|
-
for (let i = 0; i < days.length; i++) {
|
|
48
|
-
const start = new GanttDate(days[i]);
|
|
49
|
-
const point = new GanttDatePoint(start, start.format(this.options.dateDisplayFormats.secondary) || start.getDate().toString(), i * this.getCellWidth() + this.getCellWidth() / 2, secondaryDatePointTop, {
|
|
50
|
-
isWeekend: start.isWeekend(),
|
|
51
|
-
isToday: start.isToday()
|
|
52
|
-
});
|
|
53
|
-
points.push(point);
|
|
54
|
-
}
|
|
55
|
-
return points;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2FudHQvc3JjL3ZpZXdzL2RheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFFLFNBQVMsRUFBbUMsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFaEgsTUFBTSxXQUFXLEdBQXFCO0lBQ2xDLFNBQVMsRUFBRSxFQUFFO0lBQ2IsS0FBSyxFQUFFLElBQUksU0FBUyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFO0lBQ2xELEdBQUcsRUFBRSxJQUFJLFNBQVMsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLFNBQVMsRUFBRTtJQUM1QyxTQUFTLEVBQUUsQ0FBQztJQUNaLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLGtCQUFrQixFQUFFLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFdBQVc7Q0FDekQsQ0FBQztBQUVGLE1BQU0sT0FBTyxZQUFhLFNBQVEsU0FBUztJQU92QyxZQUFZLEtBQW9CLEVBQUUsR0FBa0IsRUFBRSxPQUEwQjtRQUM1RSxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztRQVB0RCxxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFFeEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFckIsYUFBUSxHQUFHLGFBQWEsQ0FBQyxHQUFH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QUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHpoSGFudExvY2FsZSB9IGZyb20gJy4uL2kxOG4nO1xuaW1wb3J0IHsgR2FudHRWaWV3VHlwZSB9IGZyb20gJy4uL2NsYXNzJztcbmltcG9ydCB7IEdhbnR0RGF0ZVBvaW50IH0gZnJvbSAnLi4vY2xhc3MvZGF0ZS1wb2ludCc7XG5pbXBvcnQgeyBHYW50dERhdGUsIGVhY2hEYXlPZkludGVydmFsLCBlYWNoV2Vla09mSW50ZXJ2YWwgfSBmcm9tICcuLi91dGlscy9kYXRlJztcbmltcG9ydCB7IEdhbnR0VmlldywgR2FudHRWaWV3RGF0ZSwgR2FudHRWaWV3T3B0aW9ucywgcHJpbWFyeURhdGVQb2ludFRvcCwgc2Vjb25kYXJ5RGF0ZVBvaW50VG9wIH0gZnJvbSAnLi92aWV3JztcblxuY29uc3Qgdmlld09wdGlvbnM6IEdhbnR0Vmlld09wdGlvbnMgPSB7XG4gICAgY2VsbFdpZHRoOiAzNSxcbiAgICBzdGFydDogbmV3IEdhbnR0RGF0ZSgpLnN0YXJ0T2ZZZWFyKCkuc3RhcnRPZldlZWsoKSxcbiAgICBlbmQ6IG5ldyBHYW50dERhdGUoKS5lbmRPZlllYXIoKS5lbmRPZldlZWsoKSxcbiAgICBhZGRBbW91bnQ6IDEsXG4gICAgYWRkVW5pdDogJ21vbnRoJyxcbiAgICBkYXRlRGlzcGxheUZvcm1hdHM6IHpoSGFudExvY2FsZS52aWV3cy5kYXkuZGF0ZUZvcm1hdHNcbn07XG5cbmV4cG9ydCBjbGFzcyBHYW50dFZpZXdEYXkgZXh0ZW5kcyBHYW50dFZpZXcge1xuICAgIG92ZXJyaWRlIHNob3dXZWVrQmFja2Ryb3AgPSB0cnVlO1xuXG4gICAgb3ZlcnJpZGUgc2hvd1RpbWVsaW5lID0gZmFsc2U7XG5cbiAgICBvdmVycmlkZSB2aWV3VHlwZSA9IEdhbnR0Vmlld1R5cGUuZGF5O1xuXG4gICAgY29uc3RydWN0b3Ioc3RhcnQ6IEdhbnR0Vmlld0RhdGUsIGVuZDogR2FudHRWaWV3RGF0ZSwgb3B0aW9ucz86IEdhbnR0Vmlld09wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIoc3RhcnQsIGVuZCwgT2JqZWN0LmFzc2lnbih7fSwgdmlld09wdGlvbnMsIG9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICB2aWV3U3RhcnRPZihkYXRlOiBHYW50dERhdGUpIHtcbiAgICAgICAgcmV0dXJuIGRhdGUuc3RhcnRPZldlZWsoKTtcbiAgICB9XG5cbiAgICB2aWV3RW5kT2YoZGF0ZTogR2FudHREYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLmVuZE9mV2VlaygpO1xuICAgIH1cblxuICAgIGdldFByaW1hcnlXaWR0aCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2VsbFdpZHRoKCkgKiA3O1xuICAgIH1cblxuICAgIGdldERheU9jY3VwYW5jeVdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmNlbGxXaWR0aDtcbiAgICB9XG5cbiAgICBnZXRQcmltYXJ5RGF0ZVBvaW50cygpOiBHYW50dERhdGVQb2ludFtdIHtcbiAgICAgICAgY29uc3Qgd2Vla3MgPSBlYWNoV2Vla09mSW50ZXJ2YWwoeyBzdGFydDogdGhpcy5zdGFydC52YWx1ZSwgZW5kOiB0aGlzLmVuZC5hZGRTZWNvbmRzKDEpLnZhbHVlIH0pO1xuICAgICAgICBjb25zdCBwb2ludHM6IEdhbnR0RGF0ZVBvaW50W10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB3ZWVrcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgd2Vla1N0YXJ0ID0gbmV3IEdhbnR0RGF0ZSh3ZWVrc1tpXSk7XG4gICAgICAgICAgICBjb25zdCBpbmNyZWFzZVdlZWsgPSB3ZWVrU3RhcnQuZ2V0RGF5c0luTW9udGgoKSAtIHdlZWtTdGFydC5nZXREYXRlKCkgPj0gMyA/IDAgOiAxO1xuICAgICAgICAgICAgY29uc3QgcG9pbnQgPSBuZXcgR2FudHREYXRlUG9pbnQoXG4gICAgICAgICAgICAgICAgd2Vla1N0YXJ0LFxuICAgICAgICAgICAgICAgIHdlZWtTdGFydC5hZGRXZWVrcyhpbmNyZWFzZVdlZWspLmZvcm1hdCh0aGlzLm9wdGlvbnMuZGF0ZUZvcm1hdD8ueWVhck1vbnRoIHx8IHRoaXMub3B0aW9ucy5kYXRlRGlzcGxheUZvcm1hdHMucHJpbWFyeSksXG4gICAgICAgICAgICAgICAgKHRoaXMuZ2V0Q2VsbFdpZHRoKCkgKiA3KSAvIDIgKyBpICogKHRoaXMuZ2V0Q2VsbFdpZHRoKCkgKiA3KSxcbiAgICAgICAgICAgICAgICBwcmltYXJ5RGF0ZVBvaW50VG9wXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcG9pbnRzLnB1c2gocG9pbnQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwb2ludHM7XG4gICAgfVxuXG4gICAgZ2V0U2Vjb25kYXJ5RGF0ZVBvaW50cygpOiBHYW50dERhdGVQb2ludFtdIHtcbiAgICAgICAgY29uc3QgZGF5cyA9IGVhY2hEYXlPZkludGVydmFsKHsgc3RhcnQ6IHRoaXMuc3RhcnQudmFsdWUsIGVuZDogdGhpcy5lbmQudmFsdWUgfSk7XG4gICAgICAgIGNvbnN0IHBvaW50czogR2FudHREYXRlUG9pbnRbXSA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRheXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gbmV3IEdhbnR0RGF0ZShkYXlzW2ldKTtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50ID0gbmV3IEdhbnR0RGF0ZVBvaW50KFxuICAgICAgICAgICAgICAgIHN0YXJ0LFxuICAgICAgICAgICAgICAgIHN0YXJ0LmZvcm1hdCh0aGlzLm9wdGlvbnMuZGF0ZURpc3BsYXlGb3JtYXRzLnNlY29uZGFyeSkgfHwgc3RhcnQuZ2V0RGF0ZSgpLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgaSAqIHRoaXMuZ2V0Q2VsbFdpZHRoKCkgKyB0aGlzLmdldENlbGxXaWR0aCgpIC8gMixcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnlEYXRlUG9pbnRUb3AsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBpc1dlZWtlbmQ6IHN0YXJ0LmlzV2Vla2VuZCgpLFxuICAgICAgICAgICAgICAgICAgICBpc1RvZGF5OiBzdGFydC5pc1RvZGF5KClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcG9pbnRzLnB1c2gocG9pbnQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwb2ludHM7XG4gICAgfVxufVxuIl19
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { GanttViewMonth } from './month';
|
|
2
|
-
import { GanttViewType } from '../class/view-type';
|
|
3
|
-
import { GanttViewQuarter } from './quarter';
|
|
4
|
-
import { GanttViewDay } from './day';
|
|
5
|
-
import { GanttViewWeek } from './week';
|
|
6
|
-
import { GanttViewYear } from './year';
|
|
7
|
-
import { GanttViewHour } from './hour';
|
|
8
|
-
const ganttViewsMap = {
|
|
9
|
-
[GanttViewType.hour]: GanttViewHour,
|
|
10
|
-
[GanttViewType.day]: GanttViewDay,
|
|
11
|
-
[GanttViewType.week]: GanttViewWeek,
|
|
12
|
-
[GanttViewType.month]: GanttViewMonth,
|
|
13
|
-
[GanttViewType.quarter]: GanttViewQuarter,
|
|
14
|
-
[GanttViewType.year]: GanttViewYear
|
|
15
|
-
};
|
|
16
|
-
export function registerView(type, view) {
|
|
17
|
-
ganttViewsMap[type] = view;
|
|
18
|
-
}
|
|
19
|
-
export function createViewFactory(type, start, end, options) {
|
|
20
|
-
return new ganttViewsMap[type](start, end, options);
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy92aWV3cy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDdkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRXZDLE1BQU0sYUFBYSxHQUFHO0lBQ2xCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLGFBQWE7SUFDbkMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsWUFBWTtJQUNqQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxhQUFhO0lBQ25DLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxFQUFFLGNBQWM7SUFDckMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUUsZ0JBQWdCO0lBQ3pDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLGFBQWE7Q0FDdEMsQ0FBQztBQUVGLE1BQU0sVUFBVSxZQUFZLENBQTZCLElBQVksRUFBRSxJQUFPO0lBQzFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7QUFDL0IsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxJQUFtQixFQUFFLEtBQW9CLEVBQUUsR0FBa0IsRUFBRSxPQUEwQjtJQUN2SCxPQUFPLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDeEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdhbnR0Vmlld09wdGlvbnMsIEdhbnR0Vmlld0RhdGUsIEdhbnR0VmlldyB9IGZyb20gJy4vdmlldyc7XG5pbXBvcnQgeyBHYW50dFZpZXdNb250aCB9IGZyb20gJy4vbW9udGgnO1xuaW1wb3J0IHsgR2FudHRWaWV3VHlwZSB9IGZyb20gJy4uL2NsYXNzL3ZpZXctdHlwZSc7XG5pbXBvcnQgeyBHYW50dFZpZXdRdWFydGVyIH0gZnJvbSAnLi9xdWFydGVyJztcbmltcG9ydCB7IEdhbnR0Vmlld0RheSB9IGZyb20gJy4vZGF5JztcbmltcG9ydCB7IEdhbnR0Vmlld1dlZWsgfSBmcm9tICcuL3dlZWsnO1xuaW1wb3J0IHsgR2FudHRWaWV3WWVhciB9IGZyb20gJy4veWVhcic7XG5pbXBvcnQgeyBHYW50dFZpZXdIb3VyIH0gZnJvbSAnLi9ob3VyJztcblxuY29uc3QgZ2FudHRWaWV3c01hcCA9IHtcbiAgICBbR2FudHRWaWV3VHlwZS5ob3VyXTogR2FudHRWaWV3SG91cixcbiAgICBbR2FudHRWaWV3VHlwZS5kYXldOiBHYW50dFZpZXdEYXksXG4gICAgW0dhbnR0Vmlld1R5cGUud2Vla106IEdhbnR0Vmlld1dlZWssXG4gICAgW0dhbnR0Vmlld1R5cGUubW9udGhdOiBHYW50dFZpZXdNb250aCxcbiAgICBbR2FudHRWaWV3VHlwZS5xdWFydGVyXTogR2FudHRWaWV3UXVhcnRlcixcbiAgICBbR2FudHRWaWV3VHlwZS55ZWFyXTogR2FudHRWaWV3WWVhclxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyVmlldzxUIGV4dGVuZHMgdHlwZW9mIEdhbnR0Vmlldz4odHlwZTogc3RyaW5nLCB2aWV3OiBUKSB7XG4gICAgZ2FudHRWaWV3c01hcFt0eXBlXSA9IHZpZXc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVWaWV3RmFjdG9yeSh0eXBlOiBHYW50dFZpZXdUeXBlLCBzdGFydDogR2FudHRWaWV3RGF0ZSwgZW5kOiBHYW50dFZpZXdEYXRlLCBvcHRpb25zPzogR2FudHRWaWV3T3B0aW9ucykge1xuICAgIHJldHVybiBuZXcgZ2FudHRWaWV3c01hcFt0eXBlXShzdGFydCwgZW5kLCBvcHRpb25zKTtcbn1cbiJdfQ==
|
package/esm2022/views/hour.mjs
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { zhHantLocale } from '../i18n';
|
|
2
|
-
import { GanttViewType } from '../class';
|
|
3
|
-
import { GanttDatePoint } from '../class/date-point';
|
|
4
|
-
import { GanttDate, differenceInMinutes, eachDayOfInterval, eachHourOfInterval } from '../utils/date';
|
|
5
|
-
import { GanttView, primaryDatePointTop, secondaryDatePointTop } from './view';
|
|
6
|
-
const viewOptions = {
|
|
7
|
-
cellWidth: 80,
|
|
8
|
-
start: new GanttDate().startOfMonth(),
|
|
9
|
-
end: new GanttDate().endOfMonth(),
|
|
10
|
-
datePrecisionUnit: 'minute',
|
|
11
|
-
addAmount: 1,
|
|
12
|
-
addUnit: 'week',
|
|
13
|
-
dateDisplayFormats: zhHantLocale.views.hour.dateFormats,
|
|
14
|
-
dragPreviewDateFormat: 'HH:mm'
|
|
15
|
-
};
|
|
16
|
-
export class GanttViewHour extends GanttView {
|
|
17
|
-
constructor(start, end, options) {
|
|
18
|
-
super(start, end, Object.assign({}, viewOptions, options));
|
|
19
|
-
this.showWeekBackdrop = true;
|
|
20
|
-
this.showTimeline = true;
|
|
21
|
-
this.viewType = GanttViewType.hour;
|
|
22
|
-
}
|
|
23
|
-
viewStartOf(date) {
|
|
24
|
-
return date.startOfWeek();
|
|
25
|
-
}
|
|
26
|
-
viewEndOf(date) {
|
|
27
|
-
return date.endOfWeek();
|
|
28
|
-
}
|
|
29
|
-
getPrimaryWidth() {
|
|
30
|
-
return this.getCellWidth() * 24;
|
|
31
|
-
}
|
|
32
|
-
getDayOccupancyWidth() {
|
|
33
|
-
return this.cellWidth * 60;
|
|
34
|
-
}
|
|
35
|
-
getHourOccupancyWidth() {
|
|
36
|
-
return this.getDayOccupancyWidth() / 60;
|
|
37
|
-
}
|
|
38
|
-
getPrimaryDatePoints() {
|
|
39
|
-
const days = eachDayOfInterval({ start: this.start.value, end: this.end.value });
|
|
40
|
-
const points = [];
|
|
41
|
-
for (let i = 0; i < days.length; i++) {
|
|
42
|
-
const start = this.start.addDays(i);
|
|
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);
|
|
44
|
-
points.push(point);
|
|
45
|
-
}
|
|
46
|
-
return points;
|
|
47
|
-
}
|
|
48
|
-
getSecondaryDatePoints() {
|
|
49
|
-
const hours = eachHourOfInterval({ start: this.start.value, end: this.end.value });
|
|
50
|
-
const points = [];
|
|
51
|
-
for (let i = 0; i < hours.length; i++) {
|
|
52
|
-
const start = new GanttDate(hours[i]);
|
|
53
|
-
const point = new GanttDatePoint(start, start.format(this.options.dateFormat?.hour || this.options.dateDisplayFormats.secondary), i * this.getCellWidth() + this.getCellWidth() / 2, secondaryDatePointTop, {
|
|
54
|
-
isWeekend: start.isWeekend(),
|
|
55
|
-
isToday: start.isToday()
|
|
56
|
-
});
|
|
57
|
-
points.push(point);
|
|
58
|
-
}
|
|
59
|
-
return points;
|
|
60
|
-
}
|
|
61
|
-
getTodayXPoint() {
|
|
62
|
-
const toady = new GanttDate().startOfMinute();
|
|
63
|
-
if (toady.value > this.start.value && toady.value < this.end.value) {
|
|
64
|
-
const x = this.getXPointByDate(toady);
|
|
65
|
-
return x;
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
return null;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
getDateIntervalWidth(start, end) {
|
|
72
|
-
let result = 0;
|
|
73
|
-
const minutes = differenceInMinutes(end.value, start.value);
|
|
74
|
-
for (let i = 0; i < minutes; i++) {
|
|
75
|
-
result += this.getHourOccupancyWidth() / 60;
|
|
76
|
-
}
|
|
77
|
-
result = minutes >= 0 ? result : -result;
|
|
78
|
-
return Number(result.toFixed(3));
|
|
79
|
-
}
|
|
80
|
-
getDateByXPoint(x) {
|
|
81
|
-
const hourWidth = this.getHourOccupancyWidth();
|
|
82
|
-
const indexOfSecondaryDate = Math.max(Math.floor(x / hourWidth), 0);
|
|
83
|
-
const matchDate = this.secondaryDatePoints[Math.min(this.secondaryDatePoints.length - 1, indexOfSecondaryDate)];
|
|
84
|
-
const minuteWidth = hourWidth / 60;
|
|
85
|
-
const underOneHourMinutes = Math.floor((x % hourWidth) / minuteWidth);
|
|
86
|
-
return matchDate?.start.addMinutes(underOneHourMinutes);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG91ci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy92aWV3cy9ob3VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUUsU0FBUyxFQUFtQyxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVoSCxNQUFNLFdBQVcsR0FBcUI7SUFDbEMsU0FBUyxFQUFFLEVBQUU7SUFDYixLQUFLLEVBQUUsSUFBSSxTQUFTLEVBQUUsQ0FBQyxZQUFZLEVBQUU7SUFDckMsR0FBRyxFQUFFLElBQUksU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFO0lBQ2pDLGlCQUFpQixFQUFFLFFBQVE7SUFDM0IsU0FBUyxFQUFFLENBQUM7SUFDWixPQUFPLEVBQUUsTUFBTTtJQUNmLGtCQUFrQixFQUFFLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVc7SUFDdkQscUJBQXFCLEVBQUUsT0FBTztDQUNqQyxDQUFDO0FBRUYsTUFBTSxPQUFPLGFBQWMsU0FBUSxTQUFTO0lBT3hDLFlBQVksS0FBb0IsRUFBRSxHQUFrQixFQUFFLE9BQTBCO1FBQzVFLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBUHRELHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUV4QixpQkFBWSxHQUFHLElBQUksQ0FBQztR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QUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNwRSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7UUFDaEgsTUFBTSxXQUFXLEdBQUcsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNuQyxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsV0FBVyxDQUFDLENBQUM7UUFDdEUsT0FBTyxTQUFTLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzVELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHpoSGFudExvY2FsZSB9IGZyb20gJy4uL2kxOG4nO1xuaW1wb3J0IHsgR2FudHRWaWV3VHlwZSB9IGZyb20gJy4uL2NsYXNzJztcbmltcG9ydCB7IEdhbnR0RGF0ZVBvaW50IH0gZnJvbSAnLi4vY2xhc3MvZGF0ZS1wb2ludCc7XG5pbXBvcnQgeyBHYW50dERhdGUsIGRpZmZlcmVuY2VJbk1pbnV0ZXMsIGVhY2hEYXlPZkludGVydmFsLCBlYWNoSG91ck9mSW50ZXJ2YWwgfSBmcm9tICcuLi91dGlscy9kYXRlJztcbmltcG9ydCB7IEdhbnR0VmlldywgR2FudHRWaWV3RGF0ZSwgR2FudHRWaWV3T3B0aW9ucywgcHJpbWFyeURhdGVQb2ludFRvcCwgc2Vjb25kYXJ5RGF0ZVBvaW50VG9wIH0gZnJvbSAnLi92aWV3JztcblxuY29uc3Qgdmlld09wdGlvbnM6IEdhbnR0Vmlld09wdGlvbnMgPSB7XG4gICAgY2VsbFdpZHRoOiA4MCxcbiAgICBzdGFydDogbmV3IEdhbnR0RGF0ZSgpLnN0YXJ0T2ZNb250aCgpLFxuICAgIGVuZDogbmV3IEdhbnR0RGF0ZSgpLmVuZE9mTW9udGgoKSxcbiAgICBkYXRlUHJlY2lzaW9uVW5pdDogJ21pbnV0ZScsXG4gICAgYWRkQW1vdW50OiAxLFxuICAgIGFkZFVuaXQ6ICd3ZWVrJyxcbiAgICBkYXRlRGlzcGxheUZvcm1hdHM6IHpoSGFudExvY2FsZS52aWV3cy5ob3VyLmRhdGVGb3JtYXRzLFxuICAgIGRyYWdQcmV2aWV3RGF0ZUZvcm1hdDogJ0hIOm1tJ1xufTtcblxuZXhwb3J0IGNsYXNzIEdhbnR0Vmlld0hvdXIgZXh0ZW5kcyBHYW50dFZpZXcge1xuICAgIG92ZXJyaWRlIHNob3dXZWVrQmFja2Ryb3AgPSB0cnVlO1xuXG4gICAgb3ZlcnJpZGUgc2hvd1RpbWVsaW5lID0gdHJ1ZTtcblxuICAgIG92ZXJyaWRlIHZpZXdUeXBlID0gR2FudHRWaWV3VHlwZS5ob3VyO1xuXG4gICAgY29uc3RydWN0b3Ioc3RhcnQ6IEdhbnR0Vmlld0RhdGUsIGVuZDogR2FudHRWaWV3RGF0ZSwgb3B0aW9ucz86IEdhbnR0Vmlld09wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIoc3RhcnQsIGVuZCwgT2JqZWN0LmFzc2lnbih7fSwgdmlld09wdGlvbnMsIG9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICB2aWV3U3RhcnRPZihkYXRlOiBHYW50dERhdGUpIHtcbiAgICAgICAgcmV0dXJuIGRhdGUuc3RhcnRPZldlZWsoKTtcbiAgICB9XG5cbiAgICB2aWV3RW5kT2YoZGF0ZTogR2FudHREYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLmVuZE9mV2VlaygpO1xuICAgIH1cblxuICAgIGdldFByaW1hcnlXaWR0aCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2VsbFdpZHRoKCkgKiAyNDtcbiAgICB9XG5cbiAgICBnZXREYXlPY2N1cGFuY3lXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5jZWxsV2lkdGggKiA2MDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEhvdXJPY2N1cGFuY3lXaWR0aCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RGF5T2NjdXBhbmN5V2lkdGgoKSAvIDYwO1xuICAgIH1cblxuICAgIGdldFByaW1hcnlEYXRlUG9pbnRzKCk6IEdhbnR0RGF0ZVBvaW50W10ge1xuICAgICAgICBjb25zdCBkYXlzID0gZWFjaERheU9mSW50ZXJ2YWwoeyBzdGFydDogdGhpcy5zdGFydC52YWx1ZSwgZW5kOiB0aGlzLmVuZC52YWx1ZSB9KTtcbiAgICAgICAgY29uc3QgcG9pbnRzOiBHYW50dERhdGVQb2ludFtdID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF5cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgc3RhcnQgPSB0aGlzLnN0YXJ0LmFkZERheXMoaSk7XG4gICAgICAgICAgICBjb25zdCBwb2ludCA9IG5ldyBHYW50dERhdGVQb2ludChcbiAgICAgICAgICAgICAgICBzdGFydCxcbiAgICAgICAgICAgICAgICBzdGFydC5mb3JtYXQodGhpcy5vcHRpb25zLmRhdGVGb3JtYXQ/LmRheSB8fCB0aGlzLm9wdGlvbnMuZGF0ZURpc3BsYXlGb3JtYXRzLnByaW1hcnkpLFxuICAgICAgICAgICAgICAgICh0aGlzLmdldENlbGxXaWR0aCgpICogMjQpIC8gMiArIGkgKiAodGhpcy5nZXRDZWxsV2lkdGgoKSAqIDI0KSxcbiAgICAgICAgICAgICAgICBwcmltYXJ5RGF0ZVBvaW50VG9wXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcG9pbnRzLnB1c2gocG9pbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBvaW50cztcbiAgICB9XG5cbiAgICBnZXRTZWNvbmRhcnlEYXRlUG9pbnRzKCk6IEdhbnR0RGF0ZVBvaW50W10ge1xuICAgICAgICBjb25zdCBob3VycyA9IGVhY2hIb3VyT2ZJbnRlcnZhbCh7IHN0YXJ0OiB0aGlzLnN0YXJ0LnZhbHVlLCBlbmQ6IHRoaXMuZW5kLnZhbHVlIH0pO1xuICAgICAgICBjb25zdCBwb2ludHM6IEdhbnR0RGF0ZVBvaW50W10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBob3Vycy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgc3RhcnQgPSBuZXcgR2FudHREYXRlKGhvdXJzW2ldKTtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50ID0gbmV3IEdhbnR0RGF0ZVBvaW50KFxuICAgICAgICAgICAgICAgIHN0YXJ0LFxuICAgICAgICAgICAgICAgIHN0YXJ0LmZvcm1hdCh0aGlzLm9wdGlvbnMuZGF0ZUZvcm1hdD8uaG91ciB8fCB0aGlzLm9wdGlvbnMuZGF0ZURpc3BsYXlGb3JtYXRzLnNlY29uZGFyeSksXG4gICAgICAgICAgICAgICAgaSAqIHRoaXMuZ2V0Q2VsbFdpZHRoKCkgKyB0aGlzLmdldENlbGxXaWR0aCgpIC8gMixcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnlEYXRlUG9pbnRUb3AsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBpc1dlZWtlbmQ6IHN0YXJ0LmlzV2Vla2VuZCgpLFxuICAgICAgICAgICAgICAgICAgICBpc1RvZGF5OiBzdGFydC5pc1RvZGF5KClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcG9pbnRzLnB1c2gocG9pbnQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwb2ludHM7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgZ2V0VG9kYXlYUG9pbnQoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgdG9hZHkgPSBuZXcgR2FudHREYXRlKCkuc3RhcnRPZk1pbnV0ZSgpO1xuICAgICAgICBpZiAodG9hZHkudmFsdWUgPiB0aGlzLnN0YXJ0LnZhbHVlICYmIHRvYWR5LnZhbHVlIDwgdGhpcy5lbmQudmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnN0IHggPSB0aGlzLmdldFhQb2ludEJ5RGF0ZSh0b2FkeSk7XG4gICAgICAgICAgICByZXR1cm4geDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgZ2V0RGF0ZUludGVydmFsV2lkdGgoc3RhcnQ6IEdhbnR0RGF0ZSwgZW5kOiBHYW50dERhdGUpIHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IDA7XG4gICAgICAgIGNvbnN0IG1pbnV0ZXMgPSBkaWZmZXJlbmNlSW5NaW51dGVzKGVuZC52YWx1ZSwgc3RhcnQudmFsdWUpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1pbnV0ZXM7IGkrKykge1xuICAgICAgICAgICAgcmVzdWx0ICs9IHRoaXMuZ2V0SG91ck9jY3VwYW5jeVdpZHRoKCkgLyA2MDtcbiAgICAgICAgfVxuICAgICAgICByZXN1bHQgPSBtaW51dGVzID49IDAgPyByZXN1bHQgOiAtcmVzdWx0O1xuICAgICAgICByZXR1cm4gTnVtYmVyKHJlc3VsdC50b0ZpeGVkKDMpKTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBnZXREYXRlQnlYUG9pbnQoeDogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IGhvdXJXaWR0aCA9IHRoaXMuZ2V0SG91ck9jY3VwYW5jeVdpZHRoKCk7XG4gICAgICAgIGNvbnN0IGluZGV4T2ZTZWNvbmRhcnlEYXRlID0gTWF0aC5tYXgoTWF0aC5mbG9vcih4IC8gaG91cldpZHRoKSwgMCk7XG4gICAgICAgIGNvbnN0IG1hdGNoRGF0ZSA9IHRoaXMuc2Vjb25kYXJ5RGF0ZVBvaW50c1tNYXRoLm1pbih0aGlzLnNlY29uZGFyeURhdGVQb2ludHMubGVuZ3RoIC0gMSwgaW5kZXhPZlNlY29uZGFyeURhdGUpXTtcbiAgICAgICAgY29uc3QgbWludXRlV2lkdGggPSBob3VyV2lkdGggLyA2MDtcbiAgICAgICAgY29uc3QgdW5kZXJPbmVIb3VyTWludXRlcyA9IE1hdGguZmxvb3IoKHggJSBob3VyV2lkdGgpIC8gbWludXRlV2lkdGgpO1xuICAgICAgICByZXR1cm4gbWF0Y2hEYXRlPy5zdGFydC5hZGRNaW51dGVzKHVuZGVyT25lSG91ck1pbnV0ZXMpO1xuICAgIH1cbn1cbiJdfQ==
|
package/esm2022/views/month.mjs
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { GanttView, secondaryDatePointTop, primaryDatePointTop } from './view';
|
|
2
|
-
import { GanttDate, differenceInCalendarQuarters, eachMonthOfInterval } from '../utils/date';
|
|
3
|
-
import { GanttDatePoint } from '../class/date-point';
|
|
4
|
-
import { GanttViewType } from '../class';
|
|
5
|
-
import { zhHantLocale } from '../i18n';
|
|
6
|
-
const viewOptions = {
|
|
7
|
-
start: new GanttDate().startOfQuarter().addQuarters(-1),
|
|
8
|
-
end: new GanttDate().endOfQuarter().addQuarters(2),
|
|
9
|
-
cellWidth: 280,
|
|
10
|
-
addAmount: 1,
|
|
11
|
-
addUnit: 'quarter',
|
|
12
|
-
dateDisplayFormats: zhHantLocale.views.month.dateFormats
|
|
13
|
-
};
|
|
14
|
-
export class GanttViewMonth extends GanttView {
|
|
15
|
-
constructor(start, end, options) {
|
|
16
|
-
super(start, end, Object.assign({}, viewOptions, options));
|
|
17
|
-
this.viewType = GanttViewType.month;
|
|
18
|
-
}
|
|
19
|
-
viewStartOf(date) {
|
|
20
|
-
return date.startOfQuarter();
|
|
21
|
-
}
|
|
22
|
-
viewEndOf(date) {
|
|
23
|
-
return date.endOfQuarter();
|
|
24
|
-
}
|
|
25
|
-
getPrimaryWidth() {
|
|
26
|
-
return this.getCellWidth() * 3;
|
|
27
|
-
}
|
|
28
|
-
getDayOccupancyWidth(date) {
|
|
29
|
-
return this.cellWidth / date.getDaysInMonth();
|
|
30
|
-
}
|
|
31
|
-
getPrimaryDatePoints() {
|
|
32
|
-
const quarters = differenceInCalendarQuarters(this.end.addSeconds(1).value, this.start.value);
|
|
33
|
-
const points = [];
|
|
34
|
-
for (let i = 0; i < quarters; i++) {
|
|
35
|
-
const start = this.start.addQuarters(i);
|
|
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);
|
|
37
|
-
points.push(point);
|
|
38
|
-
}
|
|
39
|
-
return points;
|
|
40
|
-
}
|
|
41
|
-
getSecondaryDatePoints() {
|
|
42
|
-
const months = eachMonthOfInterval({ start: this.start.value, end: this.end.value });
|
|
43
|
-
const points = [];
|
|
44
|
-
for (let i = 0; i < months.length; i++) {
|
|
45
|
-
const start = new GanttDate(months[i]);
|
|
46
|
-
const point = new GanttDatePoint(start, start.format(this.options.dateFormat?.month || this.options.dateDisplayFormats.secondary), i * this.getCellWidth() + this.getCellWidth() / 2, secondaryDatePointTop);
|
|
47
|
-
points.push(point);
|
|
48
|
-
}
|
|
49
|
-
return points;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvdmlld3MvbW9udGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBbUMscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDaEgsT0FBTyxFQUFFLFNBQVMsRUFBRSw0QkFBNEIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXZDLE1BQU0sV0FBVyxHQUFxQjtJQUNsQyxLQUFLLEVBQUUsSUFBSSxTQUFTLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkQsR0FBRyxFQUFFLElBQUksU0FBUyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNsRCxTQUFTLEVBQUUsR0FBRztJQUNkLFNBQVMsRUFBRSxDQUFDO0lBQ1osT0FBTyxFQUFFLFNBQVM7SUFDbEIsa0JBQWtCLEVBQUUsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVztDQUMzRCxDQUFDO0FBRUYsTUFBTSxPQUFPLGNBQWUsU0FBUSxTQUFTO0lBR3pDLFlBQVksS0FBb0IsRUFBRSxHQUFrQixFQUFFLE9BQTBCO1FBQzVFLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBSHRELGFBQVEsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDO0lBSXhDLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBZTtRQUN2QixPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsU0FBUyxDQUFDLElBQWU7UUFDckIsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELGVBQWU7UUFDWCxPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELG9CQUFvQixDQUFDLElBQWU7UUFDaEMsT0FBTyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2hCLE1BQU0sUUFBUSxHQUFHLDRCQUE0QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlGLE1BQU0sTUFBTSxHQUFxQixFQUFFLENBQUM7UUFDcEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sS0FBSyxHQUFHLElBQUksY0FBYyxDQUM1QixLQUFLLEVBQ0wsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxXQUFXLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsRUFDN0YsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFDN0QsbUJBQW1CLENBQ3RCLENBQUM7WUFDRixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQsc0JBQXNCO1FBQ2xCLE1BQU0sTUFBTSxHQUFHLG1CQUFtQixDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDckYsTUFBTSxNQUFNLEdBQXFCLEVBQUUsQ0FBQztRQUNwQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sS0FBSyxHQUFHLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZDLE1BQU0sS0FBSyxHQUFHLElBQUksY0FBYyxDQUM1QixLQUFLLEVBQ0wsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsRUFDekYsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxFQUNqRCxxQkFBcUIsQ0FDeEIsQ0FBQztZQUNGLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdhbnR0VmlldywgR2FudHRWaWV3T3B0aW9ucywgR2FudHRWaWV3RGF0ZSwgc2Vjb25kYXJ5RGF0ZVBvaW50VG9wLCBwcmltYXJ5RGF0ZVBvaW50VG9wIH0gZnJvbSAnLi92aWV3JztcbmltcG9ydCB7IEdhbnR0RGF0ZSwgZGlmZmVyZW5jZUluQ2FsZW5kYXJRdWFydGVycywgZWFjaE1vbnRoT2ZJbnRlcnZhbCB9IGZyb20gJy4uL3V0aWxzL2RhdGUnO1xuaW1wb3J0IHsgR2FudHREYXRlUG9pbnQgfSBmcm9tICcuLi9jbGFzcy9kYXRlLXBvaW50JztcbmltcG9ydCB7IEdhbnR0Vmlld1R5cGUgfSBmcm9tICcuLi9jbGFzcyc7XG5pbXBvcnQgeyB6aEhhbnRMb2NhbGUgfSBmcm9tICcuLi9pMThuJztcblxuY29uc3Qgdmlld09wdGlvbnM6IEdhbnR0Vmlld09wdGlvbnMgPSB7XG4gICAgc3RhcnQ6IG5ldyBHYW50dERhdGUoKS5zdGFydE9mUXVhcnRlcigpLmFkZFF1YXJ0ZXJzKC0xKSxcbiAgICBlbmQ6IG5ldyBHYW50dERhdGUoKS5lbmRPZlF1YXJ0ZXIoKS5hZGRRdWFydGVycygyKSxcbiAgICBjZWxsV2lkdGg6IDI4MCxcbiAgICBhZGRBbW91bnQ6IDEsXG4gICAgYWRkVW5pdDogJ3F1YXJ0ZXInLFxuICAgIGRhdGVEaXNwbGF5Rm9ybWF0czogemhIYW50TG9jYWxlLnZpZXdzLm1vbnRoLmRhdGVGb3JtYXRzXG59O1xuXG5leHBvcnQgY2xhc3MgR2FudHRWaWV3TW9udGggZXh0ZW5kcyBHYW50dFZpZXcge1xuICAgIG92ZXJyaWRlIHZpZXdUeXBlID0gR2FudHRWaWV3VHlwZS5tb250aDtcblxuICAgIGNvbnN0cnVjdG9yKHN0YXJ0OiBHYW50dFZpZXdEYXRlLCBlbmQ6IEdhbnR0Vmlld0RhdGUsIG9wdGlvbnM/OiBHYW50dFZpZXdPcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKHN0YXJ0LCBlbmQsIE9iamVjdC5hc3NpZ24oe30sIHZpZXdPcHRpb25zLCBvcHRpb25zKSk7XG4gICAgfVxuXG4gICAgdmlld1N0YXJ0T2YoZGF0ZTogR2FudHREYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLnN0YXJ0T2ZRdWFydGVyKCk7XG4gICAgfVxuXG4gICAgdmlld0VuZE9mKGRhdGU6IEdhbnR0RGF0ZSkge1xuICAgICAgICByZXR1cm4gZGF0ZS5lbmRPZlF1YXJ0ZXIoKTtcbiAgICB9XG5cbiAgICBnZXRQcmltYXJ5V2lkdGgoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENlbGxXaWR0aCgpICogMztcbiAgICB9XG5cbiAgICBnZXREYXlPY2N1cGFuY3lXaWR0aChkYXRlOiBHYW50dERhdGUpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5jZWxsV2lkdGggLyBkYXRlLmdldERheXNJbk1vbnRoKCk7XG4gICAgfVxuXG4gICAgZ2V0UHJpbWFyeURhdGVQb2ludHMoKTogR2FudHREYXRlUG9pbnRbXSB7XG4gICAgICAgIGNvbnN0IHF1YXJ0ZXJzID0gZGlmZmVyZW5jZUluQ2FsZW5kYXJRdWFydGVycyh0aGlzLmVuZC5hZGRTZWNvbmRzKDEpLnZhbHVlLCB0aGlzLnN0YXJ0LnZhbHVlKTtcbiAgICAgICAgY29uc3QgcG9pbnRzOiBHYW50dERhdGVQb2ludFtdID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcXVhcnRlcnM7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgc3RhcnQgPSB0aGlzLnN0YXJ0LmFkZFF1YXJ0ZXJzKGkpO1xuICAgICAgICAgICAgY29uc3QgcG9pbnQgPSBuZXcgR2FudHREYXRlUG9pbnQoXG4gICAgICAgICAgICAgICAgc3RhcnQsXG4gICAgICAgICAgICAgICAgc3RhcnQuZm9ybWF0KHRoaXMub3B0aW9ucy5kYXRlRm9ybWF0Py55ZWFyUXVhcnRlciB8fCB0aGlzLm9wdGlvbnMuZGF0ZURpc3BsYXlGb3JtYXRzLnByaW1hcnkpLFxuICAgICAgICAgICAgICAgICh0aGlzLmdldENlbGxXaWR0aCgpICogMykgLyAyICsgaSAqICh0aGlzLmdldENlbGxXaWR0aCgpICogMyksXG4gICAgICAgICAgICAgICAgcHJpbWFyeURhdGVQb2ludFRvcFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHBvaW50cy5wdXNoKHBvaW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwb2ludHM7XG4gICAgfVxuXG4gICAgZ2V0U2Vjb25kYXJ5RGF0ZVBvaW50cygpOiBHYW50dERhdGVQb2ludFtdIHtcbiAgICAgICAgY29uc3QgbW9udGhzID0gZWFjaE1vbnRoT2ZJbnRlcnZhbCh7IHN0YXJ0OiB0aGlzLnN0YXJ0LnZhbHVlLCBlbmQ6IHRoaXMuZW5kLnZhbHVlIH0pO1xuICAgICAgICBjb25zdCBwb2ludHM6IEdhbnR0RGF0ZVBvaW50W10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtb250aHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gbmV3IEdhbnR0RGF0ZShtb250aHNbaV0pO1xuICAgICAgICAgICAgY29uc3QgcG9pbnQgPSBuZXcgR2FudHREYXRlUG9pbnQoXG4gICAgICAgICAgICAgICAgc3RhcnQsXG4gICAgICAgICAgICAgICAgc3RhcnQuZm9ybWF0KHRoaXMub3B0aW9ucy5kYXRlRm9ybWF0Py5tb250aCB8fCB0aGlzLm9wdGlvbnMuZGF0ZURpc3BsYXlGb3JtYXRzLnNlY29uZGFyeSksXG4gICAgICAgICAgICAgICAgaSAqIHRoaXMuZ2V0Q2VsbFdpZHRoKCkgKyB0aGlzLmdldENlbGxXaWR0aCgpIC8gMixcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnlEYXRlUG9pbnRUb3BcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBwb2ludHMucHVzaChwb2ludCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBvaW50cztcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { GanttView, secondaryDatePointTop, primaryDatePointTop } from './view';
|
|
2
|
-
import { GanttDate } from '../utils/date';
|
|
3
|
-
import { GanttDatePoint } from '../class/date-point';
|
|
4
|
-
import { eachYearOfInterval, differenceInCalendarQuarters } from 'date-fns';
|
|
5
|
-
import { GanttViewType } from '../class';
|
|
6
|
-
import { zhHantLocale } from '../i18n';
|
|
7
|
-
const viewOptions = {
|
|
8
|
-
start: new GanttDate().addYears(-1).startOfYear(),
|
|
9
|
-
end: new GanttDate().addYears(1).endOfYear(),
|
|
10
|
-
min: new GanttDate().addYears(-2).startOfYear(),
|
|
11
|
-
max: new GanttDate().addYears(2).endOfYear(),
|
|
12
|
-
cellWidth: 500,
|
|
13
|
-
addAmount: 1,
|
|
14
|
-
addUnit: 'year',
|
|
15
|
-
dateDisplayFormats: zhHantLocale.views.quarter.dateFormats
|
|
16
|
-
};
|
|
17
|
-
export class GanttViewQuarter extends GanttView {
|
|
18
|
-
constructor(start, end, options) {
|
|
19
|
-
super(start, end, Object.assign({}, viewOptions, options));
|
|
20
|
-
this.viewType = GanttViewType.quarter;
|
|
21
|
-
}
|
|
22
|
-
viewStartOf(date) {
|
|
23
|
-
return date.startOfYear();
|
|
24
|
-
}
|
|
25
|
-
viewEndOf(date) {
|
|
26
|
-
return date.endOfYear();
|
|
27
|
-
}
|
|
28
|
-
getPrimaryWidth() {
|
|
29
|
-
return this.getCellWidth() * 4;
|
|
30
|
-
}
|
|
31
|
-
getDayOccupancyWidth(date) {
|
|
32
|
-
return this.cellWidth / date.getDaysInQuarter();
|
|
33
|
-
}
|
|
34
|
-
getPrimaryDatePoints() {
|
|
35
|
-
const years = eachYearOfInterval({ start: this.start.value, end: this.end.value });
|
|
36
|
-
const points = [];
|
|
37
|
-
for (let i = 0; i < years.length; i++) {
|
|
38
|
-
const start = new GanttDate(years[i]);
|
|
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);
|
|
40
|
-
points.push(point);
|
|
41
|
-
}
|
|
42
|
-
return points;
|
|
43
|
-
}
|
|
44
|
-
getSecondaryDatePoints() {
|
|
45
|
-
const quarters = differenceInCalendarQuarters(this.end.value, this.start.value);
|
|
46
|
-
const points = [];
|
|
47
|
-
for (let i = 0; i <= quarters; i++) {
|
|
48
|
-
const start = this.start.addQuarters(i);
|
|
49
|
-
const point = new GanttDatePoint(start, start.format(this.options.dateFormat?.quarter || this.options.dateDisplayFormats.secondary), i * this.getCellWidth() + this.getCellWidth() / 2, secondaryDatePointTop);
|
|
50
|
-
points.push(point);
|
|
51
|
-
}
|
|
52
|
-
return points;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy92aWV3cy9xdWFydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW1DLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFdkMsTUFBTSxXQUFXLEdBQXFCO0lBQ2xDLEtBQUssRUFBRSxJQUFJLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRTtJQUNqRCxHQUFHLEVBQUUsSUFBSSxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFO0lBQzVDLEdBQUcsRUFBRSxJQUFJLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRTtJQUMvQyxHQUFHLEVBQUUsSUFBSSxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFO0lBQzVDLFNBQVMsRUFBRSxHQUFHO0lBQ2QsU0FBUyxFQUFFLENBQUM7SUFDWixPQUFPLEVBQUUsTUFBTTtJQUNmLGtCQUFrQixFQUFFLFlBQVksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVc7Q0FDN0QsQ0FBQztBQUVGLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxTQUFTO0lBRzNDLFlB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aW1wb3J0IHsgR2FudHRWaWV3LCBHYW50dFZpZXdPcHRpb25zLCBHYW50dFZpZXdEYXRlLCBzZWNvbmRhcnlEYXRlUG9pbnRUb3AsIHByaW1hcnlEYXRlUG9pbnRUb3AgfSBmcm9tICcuL3ZpZXcnO1xuaW1wb3J0IHsgR2FudHREYXRlIH0gZnJvbSAnLi4vdXRpbHMvZGF0ZSc7XG5pbXBvcnQgeyBHYW50dERhdGVQb2ludCB9IGZyb20gJy4uL2NsYXNzL2RhdGUtcG9pbnQnO1xuaW1wb3J0IHsgZWFjaFllYXJPZkludGVydmFsLCBkaWZmZXJlbmNlSW5DYWxlbmRhclF1YXJ0ZXJzIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgR2FudHRWaWV3VHlwZSB9IGZyb20gJy4uL2NsYXNzJztcbmltcG9ydCB7IHpoSGFudExvY2FsZSB9IGZyb20gJy4uL2kxOG4nO1xuXG5jb25zdCB2aWV3T3B0aW9uczogR2FudHRWaWV3T3B0aW9ucyA9IHtcbiAgICBzdGFydDogbmV3IEdhbnR0RGF0ZSgpLmFkZFllYXJzKC0xKS5zdGFydE9mWWVhcigpLFxuICAgIGVuZDogbmV3IEdhbnR0RGF0ZSgpLmFkZFllYXJzKDEpLmVuZE9mWWVhcigpLFxuICAgIG1pbjogbmV3IEdhbnR0RGF0ZSgpLmFkZFllYXJzKC0yKS5zdGFydE9mWWVhcigpLFxuICAgIG1heDogbmV3IEdhbnR0RGF0ZSgpLmFkZFllYXJzKDIpLmVuZE9mWWVhcigpLFxuICAgIGNlbGxXaWR0aDogNTAwLFxuICAgIGFkZEFtb3VudDogMSxcbiAgICBhZGRVbml0OiAneWVhcicsXG4gICAgZGF0ZURpc3BsYXlGb3JtYXRzOiB6aEhhbnRMb2NhbGUudmlld3MucXVhcnRlci5kYXRlRm9ybWF0c1xufTtcblxuZXhwb3J0IGNsYXNzIEdhbnR0Vmlld1F1YXJ0ZXIgZXh0ZW5kcyBHYW50dFZpZXcge1xuICAgIG92ZXJyaWRlIHZpZXdUeXBlID0gR2FudHRWaWV3VHlwZS5xdWFydGVyO1xuXG4gICAgY29uc3RydWN0b3Ioc3RhcnQ6IEdhbnR0Vmlld0RhdGUsIGVuZDogR2FudHRWaWV3RGF0ZSwgb3B0aW9ucz86IEdhbnR0Vmlld09wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIoc3RhcnQsIGVuZCwgT2JqZWN0LmFzc2lnbih7fSwgdmlld09wdGlvbnMsIG9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICB2aWV3U3RhcnRPZihkYXRlOiBHYW50dERhdGUpIHtcbiAgICAgICAgcmV0dXJuIGRhdGUuc3RhcnRPZlllYXIoKTtcbiAgICB9XG5cbiAgICB2aWV3RW5kT2YoZGF0ZTogR2FudHREYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLmVuZE9mWWVhcigpO1xuICAgIH1cblxuICAgIGdldFByaW1hcnlXaWR0aCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2VsbFdpZHRoKCkgKiA0O1xuICAgIH1cblxuICAgIGdldERheU9jY3VwYW5jeVdpZHRoKGRhdGU6IEdhbnR0RGF0ZSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmNlbGxXaWR0aCAvIGRhdGUuZ2V0RGF5c0luUXVhcnRlcigpO1xuICAgIH1cblxuICAgIGdldFByaW1hcnlEYXRlUG9pbnRzKCk6IEdhbnR0RGF0ZVBvaW50W10ge1xuICAgICAgICBjb25zdCB5ZWFycyA9IGVhY2hZZWFyT2ZJbnRlcnZhbCh7IHN0YXJ0OiB0aGlzLnN0YXJ0LnZhbHVlLCBlbmQ6IHRoaXMuZW5kLnZhbHVlIH0pO1xuICAgICAgICBjb25zdCBwb2ludHM6IEdhbnR0RGF0ZVBvaW50W10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB5ZWFycy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgc3RhcnQgPSBuZXcgR2FudHREYXRlKHllYXJzW2ldKTtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50ID0gbmV3IEdhbnR0RGF0ZVBvaW50KFxuICAgICAgICAgICAgICAgIHN0YXJ0LFxuICAgICAgICAgICAgICAgIGAke3N0YXJ0LmZvcm1hdCh0aGlzLm9wdGlvbnMuZGF0ZUZvcm1hdD8ueWVhciB8fCB0aGlzLm9wdGlvbnMuZGF0ZURpc3BsYXlGb3JtYXRzLnByaW1hcnkpfWAsXG4gICAgICAgICAgICAgICAgKHRoaXMuZ2V0Q2VsbFdpZHRoKCkgKiA0KSAvIDIgKyBpICogKHRoaXMuZ2V0Q2VsbFdpZHRoKCkgKiA0KSxcbiAgICAgICAgICAgICAgICBwcmltYXJ5RGF0ZVBvaW50VG9wXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcG9pbnRzLnB1c2gocG9pbnQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwb2ludHM7XG4gICAgfVxuXG4gICAgZ2V0U2Vjb25kYXJ5RGF0ZVBvaW50cygpOiBHYW50dERhdGVQb2ludFtdIHtcbiAgICAgICAgY29uc3QgcXVhcnRlcnMgPSBkaWZmZXJlbmNlSW5DYWxlbmRhclF1YXJ0ZXJzKHRoaXMuZW5kLnZhbHVlLCB0aGlzLnN0YXJ0LnZhbHVlKTtcbiAgICAgICAgY29uc3QgcG9pbnRzOiBHYW50dERhdGVQb2ludFtdID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDw9IHF1YXJ0ZXJzOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5zdGFydC5hZGRRdWFydGVycyhpKTtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50ID0gbmV3IEdhbnR0RGF0ZVBvaW50KFxuICAgICAgICAgICAgICAgIHN0YXJ0LFxuICAgICAgICAgICAgICAgIHN0YXJ0LmZvcm1hdCh0aGlzLm9wdGlvbnMuZGF0ZUZvcm1hdD8ucXVhcnRlciB8fCB0aGlzLm9wdGlvbnMuZGF0ZURpc3BsYXlGb3JtYXRzLnNlY29uZGFyeSksXG4gICAgICAgICAgICAgICAgaSAqIHRoaXMuZ2V0Q2VsbFdpZHRoKCkgKyB0aGlzLmdldENlbGxXaWR0aCgpIC8gMixcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnlEYXRlUG9pbnRUb3BcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBwb2ludHMucHVzaChwb2ludCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBvaW50cztcbiAgICB9XG59XG4iXX0=
|