@worktile/gantt 12.0.1 → 12.0.2
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/README.md +13 -116
- package/bundles/worktile-gantt.umd.js +3303 -0
- package/bundles/worktile-gantt.umd.js.map +1 -0
- package/class/date-point.d.ts +15 -0
- package/{packages/gantt/src/class/event.ts → class/event.d.ts} +6 -12
- package/class/group.d.ts +22 -0
- package/{packages/gantt/src/class/index.ts → class/index.d.ts} +0 -0
- package/class/item.d.ts +70 -0
- package/class/view-type.d.ts +7 -0
- package/components/bar/bar-drag.d.ts +37 -0
- package/components/bar/bar.component.d.ts +26 -0
- package/components/calendar/calendar.component.d.ts +28 -0
- package/components/drag-backdrop/drag-backdrop.component.d.ts +9 -0
- package/components/icon/icon.component.d.ts +13 -0
- package/components/icon/icons.d.ts +8 -0
- package/components/links/links.component.d.ts +47 -0
- package/components/main/gantt-main.component.d.ts +21 -0
- package/components/range/range.component.d.ts +13 -0
- package/components/table/gantt-table.component.d.ts +36 -0
- package/esm2015/class/date-point.js +10 -0
- package/esm2015/class/event.js +13 -0
- package/esm2015/class/group.js +17 -0
- package/esm2015/class/index.js +6 -0
- package/esm2015/class/item.js +78 -0
- package/esm2015/class/view-type.js +9 -0
- package/esm2015/components/bar/bar-drag.js +264 -0
- package/esm2015/components/bar/bar.component.js +98 -0
- package/esm2015/components/calendar/calendar.component.js +86 -0
- package/esm2015/components/drag-backdrop/drag-backdrop.component.js +21 -0
- package/esm2015/components/icon/icon.component.js +38 -0
- package/esm2015/components/icon/icons.js +87 -0
- package/esm2015/components/links/links.component.js +213 -0
- package/esm2015/components/main/gantt-main.component.js +53 -0
- package/esm2015/components/range/range.component.js +37 -0
- package/esm2015/components/table/gantt-table.component.js +146 -0
- package/esm2015/gantt-abstract.js +3 -0
- package/esm2015/gantt-dom.service.js +103 -0
- package/esm2015/gantt-drag-container.js +59 -0
- package/esm2015/gantt-item-upper.js +58 -0
- package/esm2015/gantt-print.service.js +94 -0
- package/esm2015/gantt-upper.js +254 -0
- package/esm2015/gantt.component.js +131 -0
- package/esm2015/gantt.module.js +74 -0
- package/esm2015/gantt.pipe.js +43 -0
- package/esm2015/gantt.styles.js +15 -0
- package/esm2015/public-api.js +18 -0
- package/esm2015/root.component.js +123 -0
- package/esm2015/table/gantt-column.component.js +37 -0
- package/esm2015/table/gantt-table.component.js +20 -0
- package/esm2015/utils/date.js +160 -0
- package/esm2015/utils/helpers.js +55 -0
- package/esm2015/views/day.js +54 -0
- package/esm2015/views/factory.js +23 -0
- package/esm2015/views/month.js +48 -0
- package/esm2015/views/quarter.js +51 -0
- package/esm2015/views/view.js +121 -0
- package/esm2015/views/week.js +49 -0
- package/esm2015/views/year.js +50 -0
- package/esm2015/worktile-gantt.js +5 -0
- package/fesm2015/worktile-gantt.js +2637 -0
- package/fesm2015/worktile-gantt.js.map +1 -0
- package/{packages/gantt/src/gantt-abstract.ts → gantt-abstract.d.ts} +1 -3
- package/gantt-dom.service.d.ts +32 -0
- package/gantt-drag-container.d.ts +23 -0
- package/gantt-item-upper.d.ts +20 -0
- package/gantt-print.service.d.ts +13 -0
- package/gantt-upper.d.ts +64 -0
- package/gantt.component.d.ts +29 -0
- package/gantt.module.d.ts +21 -0
- package/gantt.pipe.d.ts +18 -0
- package/gantt.styles.d.ts +15 -0
- package/main.bundle.scss +645 -0
- package/package.json +16 -113
- package/{packages/gantt/src/public-api.ts → public-api.d.ts} +0 -4
- package/root.component.d.ts +28 -0
- package/table/gantt-column.component.d.ts +15 -0
- package/table/gantt-table.component.d.ts +10 -0
- package/utils/date.d.ts +59 -0
- package/utils/helpers.d.ts +12 -0
- package/views/day.d.ts +14 -0
- package/views/factory.d.ts +8 -0
- package/views/month.d.ts +12 -0
- package/views/quarter.d.ts +12 -0
- package/views/view.d.ts +56 -0
- package/views/week.d.ts +12 -0
- package/views/year.d.ts +12 -0
- package/worktile-gantt.d.ts +5 -0
- package/.all-contributorsrc +0 -53
- package/.angulardoc.json +0 -4
- package/.circleci/config.yml +0 -17
- package/.coveralls.yml +0 -1
- package/.docgenirc.js +0 -64
- package/.editorconfig +0 -22
- package/.prettierrc +0 -24
- package/.travis.yml +0 -23
- package/CHANGELOG.md +0 -564
- package/Dockerfile +0 -4
- package/LICENSE +0 -21
- package/angular.json +0 -136
- package/docs/guides/basic/components.md +0 -54
- package/docs/guides/basic/event.md +0 -70
- package/docs/guides/basic/index.md +0 -4
- package/docs/guides/basic/style.md +0 -68
- package/docs/guides/basic/type.md +0 -70
- package/docs/guides/basic/usage.md +0 -189
- package/docs/guides/index.md +0 -5
- package/docs/guides/intro/getting-started.md +0 -79
- package/docs/guides/intro/index.md +0 -51
- package/docs/index.md +0 -0
- package/example/browserslist +0 -12
- package/example/src/app/app-routing.module.ts +0 -26
- package/example/src/app/app.component.html +0 -2
- package/example/src/app/app.component.ts +0 -11
- package/example/src/app/app.module.ts +0 -57
- package/example/src/app/components/components.component.html +0 -6
- package/example/src/app/components/components.component.ts +0 -33
- package/example/src/app/configuration/parameters/api/zh-cn.js +0 -350
- package/example/src/app/configuration/parameters/doc/zh-cn.md +0 -5
- package/example/src/app/gantt/gantt.component.html +0 -51
- package/example/src/app/gantt/gantt.component.ts +0 -119
- package/example/src/app/gantt-advanced/component/flat.component.html +0 -30
- package/example/src/app/gantt-advanced/component/flat.component.ts +0 -72
- package/example/src/app/gantt-advanced/component/flat.scss +0 -31
- package/example/src/app/gantt-advanced/gantt-advanced.component.html +0 -32
- package/example/src/app/gantt-advanced/gantt-advanced.component.ts +0 -34
- package/example/src/app/gantt-advanced/mocks.ts +0 -158
- package/example/src/app/gantt-groups/gantt-groups.component.html +0 -42
- package/example/src/app/gantt-groups/gantt-groups.component.ts +0 -62
- package/example/src/app/gantt-range/gantt-range.component.html +0 -66
- package/example/src/app/gantt-range/gantt-range.component.ts +0 -67
- package/example/src/app/gantt-range/mocks.ts +0 -150
- package/example/src/app/helper.ts +0 -38
- package/example/src/assets/.gitkeep +0 -0
- package/example/src/environments/environment.prod.ts +0 -3
- package/example/src/environments/environment.ts +0 -16
- package/example/src/favicon.ico +0 -0
- package/example/src/index.html +0 -13
- package/example/src/main.ts +0 -12
- package/example/src/polyfills.ts +0 -63
- package/example/src/styles.scss +0 -56
- package/example/tsconfig.app.json +0 -18
- package/nginx.conf +0 -17
- package/packages/gantt/README.md +0 -24
- package/packages/gantt/karma.conf.js +0 -46
- package/packages/gantt/ng-package.json +0 -7
- package/packages/gantt/ng-package.prod.json +0 -7
- package/packages/gantt/package.json +0 -16
- package/packages/gantt/src/class/date-point.ts +0 -14
- package/packages/gantt/src/class/group.ts +0 -36
- package/packages/gantt/src/class/item.ts +0 -129
- package/packages/gantt/src/class/test/group.spec.ts +0 -21
- package/packages/gantt/src/class/test/item.spec.ts +0 -102
- package/packages/gantt/src/class/view-type.ts +0 -7
- package/packages/gantt/src/components/bar/bar-drag.ts +0 -298
- package/packages/gantt/src/components/bar/bar.component.html +0 -17
- package/packages/gantt/src/components/bar/bar.component.scss +0 -169
- package/packages/gantt/src/components/bar/bar.component.ts +0 -109
- package/packages/gantt/src/components/bar/test/bar.component.spec.ts +0 -54
- package/packages/gantt/src/components/bar/test/bar.drag.spec.ts +0 -196
- package/packages/gantt/src/components/calendar/calendar.component.html +0 -52
- package/packages/gantt/src/components/calendar/calendar.component.scss +0 -77
- package/packages/gantt/src/components/calendar/calendar.component.ts +0 -100
- package/packages/gantt/src/components/drag-backdrop/drag-backdrop.component.html +0 -6
- package/packages/gantt/src/components/drag-backdrop/drag-backdrop.component.scss +0 -48
- package/packages/gantt/src/components/drag-backdrop/drag-backdrop.component.ts +0 -13
- package/packages/gantt/src/components/icon/icon.component.scss +0 -13
- package/packages/gantt/src/components/icon/icon.component.ts +0 -28
- package/packages/gantt/src/components/icon/icons.ts +0 -86
- package/packages/gantt/src/components/links/links.component.html +0 -19
- package/packages/gantt/src/components/links/links.component.scss +0 -27
- package/packages/gantt/src/components/links/links.component.ts +0 -263
- package/packages/gantt/src/components/main/gantt-main.component.html +0 -35
- package/packages/gantt/src/components/main/gantt-main.component.ts +0 -35
- package/packages/gantt/src/components/range/range.component.html +0 -8
- package/packages/gantt/src/components/range/range.component.scss +0 -35
- package/packages/gantt/src/components/range/range.component.ts +0 -27
- package/packages/gantt/src/components/range/test/range.component.spec.ts +0 -80
- package/packages/gantt/src/components/table/gantt-table.component.html +0 -105
- package/packages/gantt/src/components/table/gantt-table.component.scss +0 -144
- package/packages/gantt/src/components/table/gantt-table.component.ts +0 -166
- package/packages/gantt/src/components/table/test/table.spec.ts +0 -129
- package/packages/gantt/src/gantt-dom.service.ts +0 -134
- package/packages/gantt/src/gantt-drag-container.ts +0 -73
- package/packages/gantt/src/gantt-item-upper.ts +0 -50
- package/packages/gantt/src/gantt-print.service.ts +0 -104
- package/packages/gantt/src/gantt-upper.ts +0 -289
- package/packages/gantt/src/gantt.component.html +0 -18
- package/packages/gantt/src/gantt.component.scss +0 -77
- package/packages/gantt/src/gantt.component.ts +0 -134
- package/packages/gantt/src/gantt.module.ts +0 -47
- package/packages/gantt/src/gantt.pipe.ts +0 -31
- package/packages/gantt/src/gantt.styles.ts +0 -28
- package/packages/gantt/src/root.component.html +0 -12
- package/packages/gantt/src/root.component.ts +0 -121
- package/packages/gantt/src/styles/index.scss +0 -9
- package/packages/gantt/src/styles/variables.scss +0 -46
- package/packages/gantt/src/table/gantt-column.component.ts +0 -25
- package/packages/gantt/src/table/gantt-table.component.ts +0 -14
- package/packages/gantt/src/table/test/table.spec.ts +0 -56
- package/packages/gantt/src/test/gantt.component.spec.ts +0 -404
- package/packages/gantt/src/test/mocks/data.ts +0 -303
- package/packages/gantt/src/test.ts +0 -21
- package/packages/gantt/src/utils/date.ts +0 -276
- package/packages/gantt/src/utils/helpers.ts +0 -66
- package/packages/gantt/src/utils/test/date.spec.ts +0 -105
- package/packages/gantt/src/utils/test/helpers.spec.ts +0 -73
- package/packages/gantt/src/utils/testing.ts +0 -64
- package/packages/gantt/src/views/day.ts +0 -74
- package/packages/gantt/src/views/factory.ts +0 -25
- package/packages/gantt/src/views/month.ts +0 -66
- package/packages/gantt/src/views/quarter.ts +0 -68
- package/packages/gantt/src/views/test/day.spec.ts +0 -45
- package/packages/gantt/src/views/test/factory.spec.ts +0 -41
- package/packages/gantt/src/views/test/mock.ts +0 -14
- package/packages/gantt/src/views/test/month.spec.ts +0 -45
- package/packages/gantt/src/views/test/quarter.spec.ts +0 -45
- package/packages/gantt/src/views/test/view.spec.ts +0 -144
- package/packages/gantt/src/views/test/week.spec.ts +0 -45
- package/packages/gantt/src/views/test/year.spec.ts +0 -45
- package/packages/gantt/src/views/view.ts +0 -186
- package/packages/gantt/src/views/week.ts +0 -66
- package/packages/gantt/src/views/year.ts +0 -62
- package/packages/gantt/tsconfig.lib.json +0 -20
- package/packages/gantt/tsconfig.lib.prod.json +0 -9
- package/packages/gantt/tsconfig.schematics.json +0 -25
- package/packages/gantt/tsconfig.spec.json +0 -17
- package/packages/gantt/tslint.json +0 -18
- package/scss-bundle.config.json +0 -7
- package/tsconfig.json +0 -26
- package/tslint.json +0 -51
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { Component, HostBinding, Inject, ContentChild, Input, Optional } from '@angular/core';
|
|
2
|
+
import { GanttDomService, ScrollDirection } from './gantt-dom.service';
|
|
3
|
+
import { GanttDragContainer } from './gantt-drag-container';
|
|
4
|
+
import { take, takeUntil, startWith } from 'rxjs/operators';
|
|
5
|
+
import { Subject } from 'rxjs';
|
|
6
|
+
import { GANTT_UPPER_TOKEN } from './gantt-upper';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "./gantt-dom.service";
|
|
9
|
+
import * as i2 from "./gantt-drag-container";
|
|
10
|
+
import * as i3 from "./gantt-print.service";
|
|
11
|
+
import * as i4 from "./components/calendar/calendar.component";
|
|
12
|
+
import * as i5 from "./components/drag-backdrop/drag-backdrop.component";
|
|
13
|
+
import * as i6 from "@angular/common";
|
|
14
|
+
import * as i7 from "./gantt-upper";
|
|
15
|
+
export class NgxGanttRootComponent {
|
|
16
|
+
constructor(elementRef, ngZone, dom, dragContainer, ganttUpper, printService) {
|
|
17
|
+
this.elementRef = elementRef;
|
|
18
|
+
this.ngZone = ngZone;
|
|
19
|
+
this.dom = dom;
|
|
20
|
+
this.dragContainer = dragContainer;
|
|
21
|
+
this.ganttUpper = ganttUpper;
|
|
22
|
+
this.printService = printService;
|
|
23
|
+
this.ganttClass = true;
|
|
24
|
+
this.unsubscribe$ = new Subject();
|
|
25
|
+
this.ganttUpper.dragContainer = dragContainer;
|
|
26
|
+
}
|
|
27
|
+
get view() {
|
|
28
|
+
return this.ganttUpper.view;
|
|
29
|
+
}
|
|
30
|
+
ngOnInit() {
|
|
31
|
+
this.ngZone.onStable.pipe(take(1)).subscribe(() => {
|
|
32
|
+
this.dom.initialize(this.elementRef);
|
|
33
|
+
if (this.printService) {
|
|
34
|
+
this.printService.register(this.elementRef);
|
|
35
|
+
}
|
|
36
|
+
this.setupScrollClass();
|
|
37
|
+
this.setupResize();
|
|
38
|
+
this.setupViewScroll();
|
|
39
|
+
// 优化初始化时Scroll滚动体验问题,通过透明度解决,默认透明度为0,滚动结束后恢复
|
|
40
|
+
this.elementRef.nativeElement.style.opacity = '1';
|
|
41
|
+
this.ganttUpper.viewChange.pipe(startWith(null)).subscribe(() => {
|
|
42
|
+
this.scrollToToday();
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
setupViewScroll() {
|
|
47
|
+
if (this.ganttUpper.disabledLoadOnScroll) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
this.dom
|
|
51
|
+
.getViewerScroll()
|
|
52
|
+
.pipe(takeUntil(this.unsubscribe$))
|
|
53
|
+
.subscribe((event) => {
|
|
54
|
+
if (event.direction === ScrollDirection.LEFT) {
|
|
55
|
+
const dates = this.view.addStartDate();
|
|
56
|
+
if (dates) {
|
|
57
|
+
event.target.scrollLeft += this.view.getDateRangeWidth(dates.start, dates.end);
|
|
58
|
+
this.ngZone.run(() => {
|
|
59
|
+
this.ganttUpper.loadOnScroll.emit({ start: dates.start.getUnixTime(), end: dates.end.getUnixTime() });
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
if (event.direction === ScrollDirection.RIGHT) {
|
|
64
|
+
const dates = this.view.addEndDate();
|
|
65
|
+
if (dates) {
|
|
66
|
+
this.ngZone.run(() => {
|
|
67
|
+
this.ganttUpper.loadOnScroll.emit({ start: dates.start.getUnixTime(), end: dates.end.getUnixTime() });
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
setupResize() {
|
|
74
|
+
this.dom
|
|
75
|
+
.getResize()
|
|
76
|
+
.pipe(takeUntil(this.unsubscribe$))
|
|
77
|
+
.subscribe(() => {
|
|
78
|
+
this.setupScrollClass();
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
setupScrollClass() {
|
|
82
|
+
const mainContainer = this.dom.mainContainer;
|
|
83
|
+
const height = mainContainer.offsetHeight;
|
|
84
|
+
const scrollHeight = mainContainer.scrollHeight;
|
|
85
|
+
if (scrollHeight > height) {
|
|
86
|
+
this.elementRef.nativeElement.className = 'gantt gantt-scroll';
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
this.elementRef.nativeElement.className = 'gantt';
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
scrollToToday() {
|
|
93
|
+
const x = this.view.getTodayXPoint();
|
|
94
|
+
this.dom.scrollMainContainer(x);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
NgxGanttRootComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: NgxGanttRootComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.GanttDomService }, { token: i2.GanttDragContainer }, { token: GANTT_UPPER_TOKEN }, { token: i3.GanttPrintService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
98
|
+
NgxGanttRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: NgxGanttRootComponent, selector: "ngx-gantt-root", inputs: { sideWidth: "sideWidth" }, host: { properties: { "class.gantt": "this.ganttClass" } }, providers: [GanttDomService, GanttDragContainer], queries: [{ propertyName: "sideTemplate", first: true, predicate: ["sideTemplate"], descendants: true, static: true }, { propertyName: "mainTemplate", first: true, predicate: ["mainTemplate"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"gantt-side\" [style.width.px]=\"sideWidth\">\n <div class=\"gantt-side-container\">\n <ng-template [ngTemplateOutlet]=\"sideTemplate\"></ng-template>\n </div>\n</div>\n<div class=\"gantt-container\">\n <gantt-calendar-overlay></gantt-calendar-overlay>\n <gantt-drag-backdrop></gantt-drag-backdrop>\n <div class=\"gantt-main\">\n <ng-template [ngTemplateOutlet]=\"mainTemplate\"></ng-template>\n </div>\n</div>\n", components: [{ type: i4.GanttCalendarComponent, selector: "gantt-calendar-overlay" }, { type: i5.GanttDragBackdropComponent, selector: "gantt-drag-backdrop" }], directives: [{ type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: NgxGanttRootComponent, decorators: [{
|
|
100
|
+
type: Component,
|
|
101
|
+
args: [{
|
|
102
|
+
selector: 'ngx-gantt-root',
|
|
103
|
+
templateUrl: './root.component.html',
|
|
104
|
+
providers: [GanttDomService, GanttDragContainer]
|
|
105
|
+
}]
|
|
106
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.GanttDomService }, { type: i2.GanttDragContainer }, { type: i7.GanttUpper, decorators: [{
|
|
107
|
+
type: Inject,
|
|
108
|
+
args: [GANTT_UPPER_TOKEN]
|
|
109
|
+
}] }, { type: i3.GanttPrintService, decorators: [{
|
|
110
|
+
type: Optional
|
|
111
|
+
}] }]; }, propDecorators: { sideWidth: [{
|
|
112
|
+
type: Input
|
|
113
|
+
}], ganttClass: [{
|
|
114
|
+
type: HostBinding,
|
|
115
|
+
args: ['class.gantt']
|
|
116
|
+
}], sideTemplate: [{
|
|
117
|
+
type: ContentChild,
|
|
118
|
+
args: ['sideTemplate', { static: true }]
|
|
119
|
+
}], mainTemplate: [{
|
|
120
|
+
type: ContentChild,
|
|
121
|
+
args: ['mainTemplate', { static: true }]
|
|
122
|
+
}] } });
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvcm9vdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvcm9vdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUVULFdBQVcsRUFHWCxNQUFNLEVBQ04sWUFBWSxFQUVaLEtBQUssRUFDTCxRQUFRLEVBRVgsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBYyxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7O0FBUTlELE1BQU0sT0FBTyxxQkFBcUI7SUFlOUIsWUFDWSxVQUFtQyxFQUNuQyxNQUFjLEVBQ2QsR0FBb0IsRUFDckIsYUFBaUMsRUFDTCxVQUFzQixFQUNyQyxZQUErQjtRQUwzQyxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUNuQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsUUFBRyxHQUFILEdBQUcsQ0FBaUI7UUFDckIsa0JBQWEsR0FBYixhQUFhLENBQW9CO1FBQ0wsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNyQyxpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFsQjNCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFNdEMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBY2pDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztJ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Z0JBRXNCLFlBQVk7c0JBQTNELFlBQVk7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFRSxZQUFZO3NCQUEzRCxZQUFZO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBPbkluaXQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgTmdab25lLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBBZnRlclZpZXdJbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR2FudHREb21TZXJ2aWNlLCBTY3JvbGxEaXJlY3Rpb24gfSBmcm9tICcuL2dhbnR0LWRvbS5zZXJ2aWNlJztcbmltcG9ydCB7IEdhbnR0RHJhZ0NvbnRhaW5lciB9IGZyb20gJy4vZ2FudHQtZHJhZy1jb250YWluZXInO1xuaW1wb3J0IHsgdGFrZSwgdGFrZVVudGlsLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBHYW50dFVwcGVyLCBHQU5UVF9VUFBFUl9UT0tFTiB9IGZyb20gJy4vZ2FudHQtdXBwZXInO1xuaW1wb3J0IHsgR2FudHRQcmludFNlcnZpY2UgfSBmcm9tICcuL2dhbnR0LXByaW50LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25neC1nYW50dC1yb290JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcm9vdC5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbR2FudHREb21TZXJ2aWNlLCBHYW50dERyYWdDb250YWluZXJdXG59KVxuZXhwb3J0IGNsYXNzIE5neEdhbnR0Um9vdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgc2lkZVdpZHRoOiBudW1iZXI7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmdhbnR0JykgZ2FudHRDbGFzcyA9IHRydWU7XG5cbiAgICBAQ29udGVudENoaWxkKCdzaWRlVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBzaWRlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAQ29udGVudENoaWxkKCdtYWluVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBtYWluVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBwcml2YXRlIHVuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBwcml2YXRlIGdldCB2aWV3KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nYW50dFVwcGVyLnZpZXc7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgZG9tOiBHYW50dERvbVNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBkcmFnQ29udGFpbmVyOiBHYW50dERyYWdDb250YWluZXIsXG4gICAgICAgIEBJbmplY3QoR0FOVFRfVVBQRVJfVE9LRU4pIHByaXZhdGUgZ2FudHRVcHBlcjogR2FudHRVcHBlcixcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBwcmludFNlcnZpY2U6IEdhbnR0UHJpbnRTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuZ2FudHRVcHBlci5kcmFnQ29udGFpbmVyID0gZHJhZ0NvbnRhaW5lcjtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUub25TdGFibGUucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5kb20uaW5pdGlhbGl6ZSh0aGlzLmVsZW1lbnRSZWYpO1xuICAgICAgICAgICAgaWYgKHRoaXMucHJpbnRTZXJ2aWNlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmludFNlcnZpY2UucmVnaXN0ZXIodGhpcy5lbGVtZW50UmVmKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc2V0dXBTY3JvbGxDbGFzcygpO1xuICAgICAgICAgICAgdGhpcy5zZXR1cFJlc2l6ZSgpO1xuICAgICAgICAgICAgdGhpcy5zZXR1cFZpZXdTY3JvbGwoKTtcbiAgICAgICAgICAgIC8vIOS8mOWMluWIneWni+WMluaXtlNjcm9sbOa7muWKqOS9k+mqjOmXrumimO+8jOmAmui/h+mAj+aYjuW6puino+WGs++8jOm7mOiupOmAj+aYjuW6puS4ujDvvIzmu5rliqjnu5PmnZ/lkI7mgaLlpI1cbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLm9wYWNpdHkgPSAnMSc7XG4gICAgICAgICAgICB0aGlzLmdhbnR0VXBwZXIudmlld0NoYW5nZS5waXBlKHN0YXJ0V2l0aChudWxsKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbFRvVG9kYXkoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldHVwVmlld1Njcm9sbCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZ2FudHRVcHBlci5kaXNhYmxlZExvYWRPblNjcm9sbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZG9tXG4gICAgICAgICAgICAuZ2V0Vmlld2VyU2Nyb2xsKClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChldmVudC5kaXJlY3Rpb24gPT09IFNjcm9sbERpcmVjdGlvbi5MRUZUKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGVzID0gdGhpcy52aWV3LmFkZFN0YXJ0RGF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGF0ZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldC5zY3JvbGxMZWZ0ICs9IHRoaXMudmlldy5nZXREYXRlUmFuZ2VXaWR0aChkYXRlcy5zdGFydCwgZGF0ZXMuZW5kKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nYW50dFVwcGVyLmxvYWRPblNjcm9sbC5lbWl0KHsgc3RhcnQ6IGRhdGVzLnN0YXJ0LmdldFVuaXhUaW1lKCksIGVuZDogZGF0ZXMuZW5kLmdldFVuaXhUaW1lKCkgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQuZGlyZWN0aW9uID09PSBTY3JvbGxEaXJlY3Rpb24uUklHSFQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0ZXMgPSB0aGlzLnZpZXcuYWRkRW5kRGF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGF0ZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nYW50dFVwcGVyLmxvYWRPblNjcm9sbC5lbWl0KHsgc3RhcnQ6IGRhdGVzLnN0YXJ0LmdldFVuaXhUaW1lKCksIGVuZDogZGF0ZXMuZW5kLmdldFVuaXhUaW1lKCkgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBSZXNpemUoKSB7XG4gICAgICAgIHRoaXMuZG9tXG4gICAgICAgICAgICAuZ2V0UmVzaXplKClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldHVwU2Nyb2xsQ2xhc3MoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBTY3JvbGxDbGFzcygpIHtcbiAgICAgICAgY29uc3QgbWFpbkNvbnRhaW5lciA9IHRoaXMuZG9tLm1haW5Db250YWluZXIgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGhlaWdodCA9IG1haW5Db250YWluZXIub2Zmc2V0SGVpZ2h0O1xuICAgICAgICBjb25zdCBzY3JvbGxIZWlnaHQgPSBtYWluQ29udGFpbmVyLnNjcm9sbEhlaWdodDtcbiAgICAgICAgaWYgKHNjcm9sbEhlaWdodCA+IGhlaWdodCkge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NOYW1lID0gJ2dhbnR0IGdhbnR0LXNjcm9sbCc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc05hbWUgPSAnZ2FudHQnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzY3JvbGxUb1RvZGF5KCkge1xuICAgICAgICBjb25zdCB4ID0gdGhpcy52aWV3LmdldFRvZGF5WFBvaW50KCk7XG4gICAgICAgIHRoaXMuZG9tLnNjcm9sbE1haW5Db250YWluZXIoeCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImdhbnR0LXNpZGVcIiBbc3R5bGUud2lkdGgucHhdPVwic2lkZVdpZHRoXCI+XG4gIDxkaXYgY2xhc3M9XCJnYW50dC1zaWRlLWNvbnRhaW5lclwiPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJzaWRlVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImdhbnR0LWNvbnRhaW5lclwiPlxuICA8Z2FudHQtY2FsZW5kYXItb3ZlcmxheT48L2dhbnR0LWNhbGVuZGFyLW92ZXJsYXk+XG4gIDxnYW50dC1kcmFnLWJhY2tkcm9wPjwvZ2FudHQtZHJhZy1iYWNrZHJvcD5cbiAgPGRpdiBjbGFzcz1cImdhbnR0LW1haW5cIj5cbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibWFpblRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Component, ContentChild, Input, Inject } from '@angular/core';
|
|
2
|
+
import { coerceCssPixelValue } from '@angular/cdk/coercion';
|
|
3
|
+
import { GANTT_UPPER_TOKEN } from '../gantt-upper';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../gantt-upper";
|
|
6
|
+
export class NgxGanttTableColumnComponent {
|
|
7
|
+
constructor(ganttUpper) {
|
|
8
|
+
this.ganttUpper = ganttUpper;
|
|
9
|
+
}
|
|
10
|
+
set width(width) {
|
|
11
|
+
this.columnWidth = coerceCssPixelValue(width);
|
|
12
|
+
}
|
|
13
|
+
ngOnInit() { }
|
|
14
|
+
}
|
|
15
|
+
NgxGanttTableColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: NgxGanttTableColumnComponent, deps: [{ token: GANTT_UPPER_TOKEN }], target: i0.ɵɵFactoryTarget.Component });
|
|
16
|
+
NgxGanttTableColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: NgxGanttTableColumnComponent, selector: "ngx-gantt-column", inputs: { width: "width", name: "name" }, queries: [{ propertyName: "templateRef", first: true, predicate: ["cell"], descendants: true, static: true }, { propertyName: "headerTemplateRef", first: true, predicate: ["header"], descendants: true, static: true }], ngImport: i0, template: '', isInline: true });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: NgxGanttTableColumnComponent, decorators: [{
|
|
18
|
+
type: Component,
|
|
19
|
+
args: [{
|
|
20
|
+
selector: 'ngx-gantt-column',
|
|
21
|
+
template: ''
|
|
22
|
+
}]
|
|
23
|
+
}], ctorParameters: function () { return [{ type: i1.GanttUpper, decorators: [{
|
|
24
|
+
type: Inject,
|
|
25
|
+
args: [GANTT_UPPER_TOKEN]
|
|
26
|
+
}] }]; }, propDecorators: { width: [{
|
|
27
|
+
type: Input
|
|
28
|
+
}], name: [{
|
|
29
|
+
type: Input
|
|
30
|
+
}], templateRef: [{
|
|
31
|
+
type: ContentChild,
|
|
32
|
+
args: ['cell', { static: true }]
|
|
33
|
+
}], headerTemplateRef: [{
|
|
34
|
+
type: ContentChild,
|
|
35
|
+
args: ['header', { static: true }]
|
|
36
|
+
}] } });
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FudHQtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy90YWJsZS9nYW50dC1jb2x1bW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsWUFBWSxFQUFlLEtBQUssRUFBZ0IsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBYyxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFLL0QsTUFBTSxPQUFPLDRCQUE0QjtJQWNyQyxZQUE4QyxVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUcsQ0FBQztJQVh4RSxJQUNJLEtBQUssQ0FBQyxLQUFzQjtRQUM1QixJQUFJLENBQUMsV0FBVyxHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFVRCxRQUFRLEtBQUksQ0FBQzs7eUhBaEJKLDRCQUE0QixrQkFjakIsaUJBQWlCOzZHQWQ1Qiw0QkFBNEIsNlRBRjNCLEVBQUU7MkZBRUgsNEJBQTRCO2tCQUp4QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRSxFQUFFO2lCQUNmOzswQkFlZ0IsTUFBTTsyQkFBQyxpQkFBaUI7NENBVmpDLEtBQUs7c0JBRFIsS0FBSztnQkFLRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRWtDLFdBQVc7c0JBQWxELFlBQVk7dUJBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFSSxpQkFBaUI7c0JBQTFELFlBQVk7dUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBDb250ZW50Q2hpbGQsIFRlbXBsYXRlUmVmLCBJbnB1dCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlQ3NzUGl4ZWxWYWx1ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBHYW50dFVwcGVyLCBHQU5UVF9VUFBFUl9UT0tFTiB9IGZyb20gJy4uL2dhbnR0LXVwcGVyJztcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd4LWdhbnR0LWNvbHVtbicsXG4gICAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGNsYXNzIE5neEdhbnR0VGFibGVDb2x1bW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHB1YmxpYyBjb2x1bW5XaWR0aDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgd2lkdGgod2lkdGg6IG51bWJlciB8IHN0cmluZykge1xuICAgICAgICB0aGlzLmNvbHVtbldpZHRoID0gY29lcmNlQ3NzUGl4ZWxWYWx1ZSh3aWR0aCk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xuXG4gICAgQENvbnRlbnRDaGlsZCgnY2VsbCcsIHsgc3RhdGljOiB0cnVlIH0pIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQENvbnRlbnRDaGlsZCgnaGVhZGVyJywgeyBzdGF0aWM6IHRydWUgfSkgaGVhZGVyVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KEdBTlRUX1VQUEVSX1RPS0VOKSBwdWJsaWMgZ2FudHRVcHBlcjogR2FudHRVcHBlcikge31cblxuICAgIG5nT25Jbml0KCkge31cbn1cbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Component, EventEmitter, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class NgxGanttTableComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.columnChanges = new EventEmitter();
|
|
6
|
+
}
|
|
7
|
+
ngOnInit() { }
|
|
8
|
+
}
|
|
9
|
+
NgxGanttTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: NgxGanttTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
+
NgxGanttTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: NgxGanttTableComponent, selector: "ngx-gantt-table", outputs: { columnChanges: "columnChanges" }, ngImport: i0, template: '', isInline: true });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: NgxGanttTableComponent, decorators: [{
|
|
12
|
+
type: Component,
|
|
13
|
+
args: [{
|
|
14
|
+
selector: 'ngx-gantt-table',
|
|
15
|
+
template: ''
|
|
16
|
+
}]
|
|
17
|
+
}], ctorParameters: function () { return []; }, propDecorators: { columnChanges: [{
|
|
18
|
+
type: Output
|
|
19
|
+
}] } });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FudHQtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2FudHQvc3JjL3RhYmxlL2dhbnR0LXRhYmxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT3hFLE1BQU0sT0FBTyxzQkFBc0I7SUFHL0I7UUFGVSxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFtQixDQUFDO0lBRS9DLENBQUM7SUFFaEIsUUFBUSxLQUFJLENBQUM7O21IQUxKLHNCQUFzQjt1R0FBdEIsc0JBQXNCLG9HQUZyQixFQUFFOzJGQUVILHNCQUFzQjtrQkFKbEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixRQUFRLEVBQUUsRUFBRTtpQkFDZjswRUFFYSxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHYW50dFRhYmxlRXZlbnQgfSBmcm9tICcuLi9jbGFzcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd4LWdhbnR0LXRhYmxlJyxcbiAgICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgY2xhc3MgTmd4R2FudHRUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQE91dHB1dCgpIGNvbHVtbkNoYW5nZXMgPSBuZXcgRXZlbnRFbWl0dGVyPEdhbnR0VGFibGVFdmVudD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge31cblxuICAgIG5nT25Jbml0KCkge31cbn1cbiJdfQ==
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { addYears, addMonths, addDays, addWeeks, addQuarters, getUnixTime, startOfDay, startOfWeek, startOfMonth, startOfQuarter, startOfYear, endOfDay, endOfWeek, endOfMonth, endOfQuarter, endOfYear, format, fromUnixTime, getDaysInMonth, addSeconds, setDate, addMinutes, addHours, differenceInCalendarDays, isWeekend, getWeek, isToday } from 'date-fns';
|
|
2
|
+
export { addYears, addMonths, addDays, addWeeks, addQuarters, getUnixTime, startOfDay, startOfWeek, startOfMonth, startOfQuarter, startOfYear, endOfDay, endOfWeek, endOfMonth, endOfQuarter, endOfYear, format, fromUnixTime, getDaysInMonth, addSeconds, setDate, addMinutes, addHours, differenceInCalendarDays, isWeekend, getWeek, isToday, differenceInDays, differenceInCalendarQuarters, eachMonthOfInterval, eachWeekOfInterval, eachDayOfInterval } from 'date-fns';
|
|
3
|
+
export class GanttDate {
|
|
4
|
+
constructor(date) {
|
|
5
|
+
if (date) {
|
|
6
|
+
if (date instanceof Date) {
|
|
7
|
+
this.value = date;
|
|
8
|
+
}
|
|
9
|
+
else if (typeof date === 'string' || typeof date === 'number') {
|
|
10
|
+
if (date.toString().length < 13) {
|
|
11
|
+
this.value = fromUnixTime(+date);
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
this.value = new Date(date);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
throw new Error(`The input date type is not supported expect Date | string
|
|
19
|
+
| number | { date: number; with_time: 0 | 1}, actual ${JSON.stringify(date)}`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
this.value = new Date();
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
getYear() {
|
|
27
|
+
return this.value.getFullYear();
|
|
28
|
+
}
|
|
29
|
+
getMonth() {
|
|
30
|
+
return this.value.getMonth();
|
|
31
|
+
}
|
|
32
|
+
getDay() {
|
|
33
|
+
return this.value.getDay();
|
|
34
|
+
}
|
|
35
|
+
getTime() {
|
|
36
|
+
return this.value.getTime();
|
|
37
|
+
}
|
|
38
|
+
getDate() {
|
|
39
|
+
return this.value.getDate();
|
|
40
|
+
}
|
|
41
|
+
getHours() {
|
|
42
|
+
return this.value.getHours();
|
|
43
|
+
}
|
|
44
|
+
getMinutes() {
|
|
45
|
+
return this.value.getMinutes();
|
|
46
|
+
}
|
|
47
|
+
getSeconds() {
|
|
48
|
+
return this.value.getSeconds();
|
|
49
|
+
}
|
|
50
|
+
getMilliseconds() {
|
|
51
|
+
return this.value.getMilliseconds();
|
|
52
|
+
}
|
|
53
|
+
getWeek(options = { weekStartsOn: 1 }) {
|
|
54
|
+
return getWeek(this.value, options);
|
|
55
|
+
}
|
|
56
|
+
getDaysInMonth() {
|
|
57
|
+
return getDaysInMonth(this.value);
|
|
58
|
+
}
|
|
59
|
+
getDaysInQuarter() {
|
|
60
|
+
return differenceInCalendarDays(this.endOfQuarter().addSeconds(1).value, this.startOfQuarter().value);
|
|
61
|
+
}
|
|
62
|
+
getDaysInYear() {
|
|
63
|
+
return differenceInCalendarDays(this.endOfYear().addSeconds(1).value, this.startOfYear().value);
|
|
64
|
+
}
|
|
65
|
+
setDate(dayOfMonth) {
|
|
66
|
+
return new GanttDate(setDate(this.value, dayOfMonth));
|
|
67
|
+
}
|
|
68
|
+
clone() {
|
|
69
|
+
return new GanttDate(new Date(this.value));
|
|
70
|
+
}
|
|
71
|
+
add(amount, unit) {
|
|
72
|
+
switch (unit) {
|
|
73
|
+
case 'second':
|
|
74
|
+
return new GanttDate(this.value).addSeconds(amount);
|
|
75
|
+
case 'minute':
|
|
76
|
+
return new GanttDate(this.value).addMinutes(amount);
|
|
77
|
+
case 'hour':
|
|
78
|
+
return new GanttDate(this.value).addHours(amount);
|
|
79
|
+
case 'day':
|
|
80
|
+
return new GanttDate(this.value).addDays(amount);
|
|
81
|
+
case 'week':
|
|
82
|
+
return new GanttDate(this.value).addWeeks(amount);
|
|
83
|
+
case 'month':
|
|
84
|
+
return new GanttDate(this.value).addMonths(amount);
|
|
85
|
+
case 'quarter':
|
|
86
|
+
return new GanttDate(this.value).addQuarters(amount);
|
|
87
|
+
case 'year':
|
|
88
|
+
return new GanttDate(this.value).addYears(amount);
|
|
89
|
+
default:
|
|
90
|
+
return new GanttDate(this.value).addSeconds(amount);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
addSeconds(amount) {
|
|
94
|
+
return new GanttDate(addSeconds(this.value, amount));
|
|
95
|
+
}
|
|
96
|
+
addMinutes(amount) {
|
|
97
|
+
return new GanttDate(addMinutes(this.value, amount));
|
|
98
|
+
}
|
|
99
|
+
addHours(amount) {
|
|
100
|
+
return new GanttDate(addHours(this.value, amount));
|
|
101
|
+
}
|
|
102
|
+
addDays(amount) {
|
|
103
|
+
return new GanttDate(addDays(this.value, amount));
|
|
104
|
+
}
|
|
105
|
+
addWeeks(amount) {
|
|
106
|
+
return new GanttDate(addWeeks(this.value, amount));
|
|
107
|
+
}
|
|
108
|
+
addMonths(amount) {
|
|
109
|
+
return new GanttDate(addMonths(this.value, amount));
|
|
110
|
+
}
|
|
111
|
+
addQuarters(amount) {
|
|
112
|
+
return new GanttDate(addQuarters(this.value, amount));
|
|
113
|
+
}
|
|
114
|
+
addYears(amount) {
|
|
115
|
+
return new GanttDate(addYears(this.value, amount));
|
|
116
|
+
}
|
|
117
|
+
startOfDay() {
|
|
118
|
+
return new GanttDate(startOfDay(this.value));
|
|
119
|
+
}
|
|
120
|
+
startOfWeek(options) {
|
|
121
|
+
return new GanttDate(startOfWeek(this.value, options));
|
|
122
|
+
}
|
|
123
|
+
startOfMonth() {
|
|
124
|
+
return new GanttDate(startOfMonth(this.value));
|
|
125
|
+
}
|
|
126
|
+
startOfQuarter() {
|
|
127
|
+
return new GanttDate(startOfQuarter(this.value));
|
|
128
|
+
}
|
|
129
|
+
startOfYear() {
|
|
130
|
+
return new GanttDate(startOfYear(this.value));
|
|
131
|
+
}
|
|
132
|
+
endOfDay() {
|
|
133
|
+
return new GanttDate(endOfDay(this.value));
|
|
134
|
+
}
|
|
135
|
+
endOfWeek(options) {
|
|
136
|
+
return new GanttDate(endOfWeek(this.value, options));
|
|
137
|
+
}
|
|
138
|
+
endOfMonth() {
|
|
139
|
+
return new GanttDate(endOfMonth(this.value));
|
|
140
|
+
}
|
|
141
|
+
endOfQuarter() {
|
|
142
|
+
return new GanttDate(endOfQuarter(this.value));
|
|
143
|
+
}
|
|
144
|
+
endOfYear() {
|
|
145
|
+
return new GanttDate(endOfYear(this.value));
|
|
146
|
+
}
|
|
147
|
+
getUnixTime() {
|
|
148
|
+
return getUnixTime(this.value);
|
|
149
|
+
}
|
|
150
|
+
format(mat, options) {
|
|
151
|
+
return format(this.value, mat, options);
|
|
152
|
+
}
|
|
153
|
+
isWeekend() {
|
|
154
|
+
return isWeekend(this.value);
|
|
155
|
+
}
|
|
156
|
+
isToday() {
|
|
157
|
+
return isToday(this.value);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy91dGlscy9kYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxRQUFRLEVBQ1IsU0FBUyxFQUNULE9BQU8sRUFDUCxRQUFRLEVBQ1IsV0FBVyxFQUNYLFdBQVcsRUFDWCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixjQUFjLEVBQ2QsV0FBVyxFQUNYLFFBQVEsRUFDUixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDWixjQUFjLEVBQ2QsVUFBVSxFQUNWLE9BQU8sRUFDUCxVQUFVLEVBQ1YsUUFBUSxFQUNSLHdCQUF3QixFQUN4QixTQUFTLEVBQ1QsT0FBTyxFQUNQLE9BQU8sRUFNVixNQUFNLFVBQVUsQ0FBQztBQUVsQixPQUFPLEVBQ0gsUUFBUSxFQUNSLFNBQVMsRUFDVCxPQUFPLEVBQ1AsUUFBUSxFQUNSLFdBQVcsRUFDWCxXQUFXLEVBQ1gsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osY0FBYyxFQUNkLFdBQVcsRUFDWCxRQUFRLEVBQ1IsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osU0FBUyxFQUNULE1BQU0sRUFDTixZQUFZLEVBQ1osY0FBYyxFQUNkLFVBQVUsRUFDVixPQUFPLEVBQ1AsVUFBVSxFQUNWLFFBQVEsRUFDUix3QkFBd0IsRUFDeEIsU0FBUyxFQUNULE9BQU8sRUFDUCxPQUFPLEVBQ1AsZ0JBQWdCLEVBQ2hCLDRCQUE0QixFQUM1QixtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNwQixNQUFNLFVBQVUsQ0FBQztBQUlsQixNQUFNLE9BQU8sU0FBUztJQUdsQixZQUFZLElBQTZCO1FBQ3JDLElBQUksSUFBSSxFQUFFO1lBQ04sSUFBSSxJQUFJLFlBQVksSUFBSSxFQUFFO2dCQUN0QixJQUFJ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T0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELFNBQVM7UUFDTCxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELE9BQU87UUFDSCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBhZGRZZWFycyxcbiAgICBhZGRNb250aHMsXG4gICAgYWRkRGF5cyxcbiAgICBhZGRXZWVrcyxcbiAgICBhZGRRdWFydGVycyxcbiAgICBnZXRVbml4VGltZSxcbiAgICBzdGFydE9mRGF5LFxuICAgIHN0YXJ0T2ZXZWVrLFxuICAgIHN0YXJ0T2ZNb250aCxcbiAgICBzdGFydE9mUXVhcnRlcixcbiAgICBzdGFydE9mWWVhcixcbiAgICBlbmRPZkRheSxcbiAgICBlbmRPZldlZWssXG4gICAgZW5kT2ZNb250aCxcbiAgICBlbmRPZlF1YXJ0ZXIsXG4gICAgZW5kT2ZZZWFyLFxuICAgIGZvcm1hdCxcbiAgICBmcm9tVW5peFRpbWUsXG4gICAgZ2V0RGF5c0luTW9udGgsXG4gICAgYWRkU2Vjb25kcyxcbiAgICBzZXREYXRlLFxuICAgIGFkZE1pbnV0ZXMsXG4gICAgYWRkSG91cnMsXG4gICAgZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzLFxuICAgIGlzV2Vla2VuZCxcbiAgICBnZXRXZWVrLFxuICAgIGlzVG9kYXksXG4gICAgZGlmZmVyZW5jZUluRGF5cyxcbiAgICBkaWZmZXJlbmNlSW5DYWxlbmRhclF1YXJ0ZXJzLFxuICAgIGVhY2hNb250aE9mSW50ZXJ2YWwsXG4gICAgZWFjaFdlZWtPZkludGVydmFsLFxuICAgIGVhY2hEYXlPZkludGVydmFsXG59IGZyb20gJ2RhdGUtZm5zJztcblxuZXhwb3J0IHtcbiAgICBhZGRZZWFycyxcbiAgICBhZGRNb250aHMsXG4gICAgYWRkRGF5cyxcbiAgICBhZGRXZWVrcyxcbiAgICBhZGRRdWFydGVycyxcbiAgICBnZXRVbml4VGltZSxcbiAgICBzdGFydE9mRGF5LFxuICAgIHN0YXJ0T2ZXZWVrLFxuICAgIHN0YXJ0T2ZNb250aCxcbiAgICBzdGFydE9mUXVhcnRlcixcbiAgICBzdGFydE9mWWVhcixcbiAgICBlbmRPZkRheSxcbiAgICBlbmRPZldlZWssXG4gICAgZW5kT2ZNb250aCxcbiAgICBlbmRPZlF1YXJ0ZXIsXG4gICAgZW5kT2ZZZWFyLFxuICAgIGZvcm1hdCxcbiAgICBmcm9tVW5peFRpbWUsXG4gICAgZ2V0RGF5c0luTW9udGgsXG4gICAgYWRkU2Vjb25kcyxcbiAgICBzZXREYXRlLFxuICAgIGFkZE1pbnV0ZXMsXG4gICAgYWRkSG91cnMsXG4gICAgZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzLFxuICAgIGlzV2Vla2VuZCxcbiAgICBnZXRXZWVrLFxuICAgIGlzVG9kYXksXG4gICAgZGlmZmVyZW5jZUluRGF5cyxcbiAgICBkaWZmZXJlbmNlSW5DYWxlbmRhclF1YXJ0ZXJzLFxuICAgIGVhY2hNb250aE9mSW50ZXJ2YWwsXG4gICAgZWFjaFdlZWtPZkludGVydmFsLFxuICAgIGVhY2hEYXlPZkludGVydmFsXG59IGZyb20gJ2RhdGUtZm5zJztcblxuZXhwb3J0IHR5cGUgR2FudHREYXRlVXRpbCA9ICdzZWNvbmQnIHwgJ21pbnV0ZScgfCAnaG91cicgfCAnZGF5JyB8ICd3ZWVrJyB8ICdtb250aCcgfCAncXVhcnRlcicgfCAneWVhcic7XG5cbmV4cG9ydCBjbGFzcyBHYW50dERhdGUge1xuICAgIHZhbHVlOiBEYXRlO1xuXG4gICAgY29uc3RydWN0b3IoZGF0ZT86IERhdGUgfCBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICAgICAgaWYgKGRhdGUpIHtcbiAgICAgICAgICAgIGlmIChkYXRlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBkYXRlO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZGF0ZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIGRhdGUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICAgICAgaWYgKGRhdGUudG9TdHJpbmcoKS5sZW5ndGggPCAxMykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gZnJvbVVuaXhUaW1lKCtkYXRlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gbmV3IERhdGUoZGF0ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgICAgIGBUaGUgaW5wdXQgZGF0ZSB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQgZXhwZWN0IERhdGUgfCBzdHJpbmdcbiAgICAgICAgICAgICAgICAgICAgIHwgbnVtYmVyIHwgeyBkYXRlOiBudW1iZXI7IHdpdGhfdGltZTogMCB8IDF9LCBhY3R1YWwgJHtKU09OLnN0cmluZ2lmeShkYXRlKX1gXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0WWVhcigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5nZXRGdWxsWWVhcigpO1xuICAgIH1cblxuICAgIGdldE1vbnRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLmdldE1vbnRoKCk7XG4gICAgfVxuXG4gICAgZ2V0RGF5KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLmdldERheSgpO1xuICAgIH1cblxuICAgIGdldFRpbWUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUuZ2V0VGltZSgpO1xuICAgIH1cblxuICAgIGdldERhdGUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUuZ2V0RGF0ZSgpO1xuICAgIH1cblxuICAgIGdldEhvdXJzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLmdldEhvdXJzKCk7XG4gICAgfVxuXG4gICAgZ2V0TWludXRlcygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5nZXRNaW51dGVzKCk7XG4gICAgfVxuXG4gICAgZ2V0U2Vjb25kcygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5nZXRTZWNvbmRzKCk7XG4gICAgfVxuXG4gICAgZ2V0TWlsbGlzZWNvbmRzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLmdldE1pbGxpc2Vjb25kcygpO1xuICAgIH1cblxuICAgIGdldFdlZWsob3B0aW9uczogeyBsb2NhbGU/OiBMb2NhbGU7IHdlZWtTdGFydHNPbj86IDAgfCAxIHwgMiB8IDMgfCA0IHwgNSB8IDYgfSA9IHsgd2Vla1N0YXJ0c09uOiAxIH0pOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gZ2V0V2Vlayh0aGlzLnZhbHVlLCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICBnZXREYXlzSW5Nb250aCgpIHtcbiAgICAgICAgcmV0dXJuIGdldERheXNJbk1vbnRoKHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIGdldERheXNJblF1YXJ0ZXIoKSB7XG4gICAgICAgIHJldHVybiBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXModGhpcy5lbmRPZlF1YXJ0ZXIoKS5hZGRTZWNvbmRzKDEpLnZhbHVlLCB0aGlzLnN0YXJ0T2ZRdWFydGVyKCkudmFsdWUpO1xuICAgIH1cblxuICAgIGdldERheXNJblllYXIoKSB7XG4gICAgICAgIHJldHVybiBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXModGhpcy5lbmRPZlllYXIoKS5hZGRTZWNvbmRzKDEpLnZhbHVlLCB0aGlzLnN0YXJ0T2ZZZWFyKCkudmFsdWUpO1xuICAgIH1cblxuICAgIHNldERhdGUoZGF5T2ZNb250aDogbnVtYmVyKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUoc2V0RGF0ZSh0aGlzLnZhbHVlLCBkYXlPZk1vbnRoKSk7XG4gICAgfVxuXG4gICAgY2xvbmUoKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUobmV3IERhdGUodGhpcy52YWx1ZSkpO1xuICAgIH1cblxuICAgIGFkZChhbW91bnQ6IG51bWJlciwgdW5pdD86IEdhbnR0RGF0ZVV0aWwpIHtcbiAgICAgICAgc3dpdGNoICh1bml0KSB7XG4gICAgICAgICAgICBjYXNlICdzZWNvbmQnOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKHRoaXMudmFsdWUpLmFkZFNlY29uZHMoYW1vdW50KTtcbiAgICAgICAgICAgIGNhc2UgJ21pbnV0ZSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUodGhpcy52YWx1ZSkuYWRkTWludXRlcyhhbW91bnQpO1xuICAgICAgICAgICAgY2FzZSAnaG91cic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUodGhpcy52YWx1ZSkuYWRkSG91cnMoYW1vdW50KTtcbiAgICAgICAgICAgIGNhc2UgJ2RheSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUodGhpcy52YWx1ZSkuYWRkRGF5cyhhbW91bnQpO1xuICAgICAgICAgICAgY2FzZSAnd2Vlayc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUodGhpcy52YWx1ZSkuYWRkV2Vla3MoYW1vdW50KTtcbiAgICAgICAgICAgIGNhc2UgJ21vbnRoJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZSh0aGlzLnZhbHVlKS5hZGRNb250aHMoYW1vdW50KTtcbiAgICAgICAgICAgIGNhc2UgJ3F1YXJ0ZXInOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKHRoaXMudmFsdWUpLmFkZFF1YXJ0ZXJzKGFtb3VudCk7XG4gICAgICAgICAgICBjYXNlICd5ZWFyJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZSh0aGlzLnZhbHVlKS5hZGRZZWFycyhhbW91bnQpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZSh0aGlzLnZhbHVlKS5hZGRTZWNvbmRzKGFtb3VudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhZGRTZWNvbmRzKGFtb3VudDogbnVtYmVyKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUoYWRkU2Vjb25kcyh0aGlzLnZhbHVlLCBhbW91bnQpKTtcbiAgICB9XG5cbiAgICBhZGRNaW51dGVzKGFtb3VudDogbnVtYmVyKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUoYWRkTWludXRlcyh0aGlzLnZhbHVlLCBhbW91bnQpKTtcbiAgICB9XG5cbiAgICBhZGRIb3VycyhhbW91bnQ6IG51bWJlcik6IEdhbnR0RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKGFkZEhvdXJzKHRoaXMudmFsdWUsIGFtb3VudCkpO1xuICAgIH1cblxuICAgIGFkZERheXMoYW1vdW50OiBudW1iZXIpOiBHYW50dERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZShhZGREYXlzKHRoaXMudmFsdWUsIGFtb3VudCkpO1xuICAgIH1cblxuICAgIGFkZFdlZWtzKGFtb3VudDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKGFkZFdlZWtzKHRoaXMudmFsdWUsIGFtb3VudCkpO1xuICAgIH1cblxuICAgIGFkZE1vbnRocyhhbW91bnQ6IG51bWJlcik6IEdhbnR0RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKGFkZE1vbnRocyh0aGlzLnZhbHVlLCBhbW91bnQpKTtcbiAgICB9XG5cbiAgICBhZGRRdWFydGVycyhhbW91bnQ6IG51bWJlcik6IEdhbnR0RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKGFkZFF1YXJ0ZXJzKHRoaXMudmFsdWUsIGFtb3VudCkpO1xuICAgIH1cblxuICAgIGFkZFllYXJzKGFtb3VudDogbnVtYmVyKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUoYWRkWWVhcnModGhpcy52YWx1ZSwgYW1vdW50KSk7XG4gICAgfVxuXG4gICAgc3RhcnRPZkRheSgpOiBHYW50dERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZShzdGFydE9mRGF5KHRoaXMudmFsdWUpKTtcbiAgICB9XG5cbiAgICBzdGFydE9mV2VlayhvcHRpb25zPzogeyBsb2NhbGU/OiBMb2NhbGU7IHdlZWtTdGFydHNPbj86IDAgfCAxIHwgMiB8IDMgfCA0IHwgNSB8IDYgfSk6IEdhbnR0RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKHN0YXJ0T2ZXZWVrKHRoaXMudmFsdWUsIG9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICBzdGFydE9mTW9udGgoKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUoc3RhcnRPZk1vbnRoKHRoaXMudmFsdWUpKTtcbiAgICB9XG5cbiAgICBzdGFydE9mUXVhcnRlcigpOiBHYW50dERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZShzdGFydE9mUXVhcnRlcih0aGlzLnZhbHVlKSk7XG4gICAgfVxuXG4gICAgc3RhcnRPZlllYXIoKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUoc3RhcnRPZlllYXIodGhpcy52YWx1ZSkpO1xuICAgIH1cblxuICAgIGVuZE9mRGF5KCk6IEdhbnR0RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKGVuZE9mRGF5KHRoaXMudmFsdWUpKTtcbiAgICB9XG5cbiAgICBlbmRPZldlZWsob3B0aW9ucz86IHsgbG9jYWxlPzogTG9jYWxlOyB3ZWVrU3RhcnRzT24/OiAwIHwgMSB8IDIgfCAzIHwgNCB8IDUgfCA2IH0pOiBHYW50dERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZShlbmRPZldlZWsodGhpcy52YWx1ZSwgb3B0aW9ucykpO1xuICAgIH1cblxuICAgIGVuZE9mTW9udGgoKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUoZW5kT2ZNb250aCh0aGlzLnZhbHVlKSk7XG4gICAgfVxuXG4gICAgZW5kT2ZRdWFydGVyKCk6IEdhbnR0RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKGVuZE9mUXVhcnRlcih0aGlzLnZhbHVlKSk7XG4gICAgfVxuXG4gICAgZW5kT2ZZZWFyKCk6IEdhbnR0RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKGVuZE9mWWVhcih0aGlzLnZhbHVlKSk7XG4gICAgfVxuXG4gICAgZ2V0VW5peFRpbWUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGdldFVuaXhUaW1lKHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIGZvcm1hdChcbiAgICAgICAgbWF0OiBzdHJpbmcsXG4gICAgICAgIG9wdGlvbnM/OiB7XG4gICAgICAgICAgICBsb2NhbGU/OiBMb2NhbGU7XG4gICAgICAgICAgICB3ZWVrU3RhcnRzT24/OiAwIHwgMSB8IDIgfCAzIHwgNCB8IDUgfCA2O1xuICAgICAgICAgICAgZmlyc3RXZWVrQ29udGFpbnNEYXRlPzogbnVtYmVyO1xuICAgICAgICAgICAgdXNlQWRkaXRpb25hbFdlZWtZZWFyVG9rZW5zPzogYm9vbGVhbjtcbiAgICAgICAgICAgIHVzZUFkZGl0aW9uYWxEYXlPZlllYXJUb2tlbnM/OiBib29sZWFuO1xuICAgICAgICB9XG4gICAgKSB7XG4gICAgICAgIHJldHVybiBmb3JtYXQodGhpcy52YWx1ZSwgbWF0LCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICBpc1dlZWtlbmQoKSB7XG4gICAgICAgIHJldHVybiBpc1dlZWtlbmQodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgaXNUb2RheSgpIHtcbiAgICAgICAgcmV0dXJuIGlzVG9kYXkodGhpcy52YWx1ZSk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,55 @@
|
|
|
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) {
|
|
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 getFlatItems(items) {
|
|
46
|
+
const result = [];
|
|
47
|
+
(items || []).forEach((item) => {
|
|
48
|
+
result.push(item);
|
|
49
|
+
if (item.children) {
|
|
50
|
+
result.push(...getFlatItems(item.children));
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
return result;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy91dGlscy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBVTtJQUMvQixPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQztBQUNyQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxLQUFVO0lBQy9CLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDO0FBQ3JDLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLEtBQVU7SUFDbEMsT0FBTyxLQUFLLEtBQUssU0FBUyxDQUFDO0FBQy9CLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEtBQWEsRUFBRSxPQUFPLEdBQUcsQ0FBQztJQUMvQyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDbkIsT0FBTyxRQUFRLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLE9BQU8sR0FBRyxDQUFDO0tBQ3RJO1NBQU07UUFDSCxPQUFPLEtBQUssQ0FBQztLQUNoQjtBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsTUFBTSxDQUFjLEtBQVUsRUFBRSxHQUFZO0lBQ3hELE1BQU0sU0FBUyxHQUFrQixFQUFFLENBQUM7SUFDcEMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ2xCLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQzVCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxHQUFhLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2xCLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDeEIsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN0QjtJQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQztBQUVELE1BQU0sVUFBVSxPQUFPLENBQWMsS0FBVTtJQUMzQyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDN0IsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0QsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1gsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsS0FBMEI7SUFDckQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ2xCLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQzNCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDaEMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztTQUNqRDtJQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsS0FBa0I7SUFDM0MsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ2xCLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQzNCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztTQUMvQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdhbnR0SXRlbSwgR2FudHRJdGVtSW50ZXJuYWwgfSBmcm9tICcuLi9jbGFzcy9pdGVtJztcblxuZXhwb3J0IGludGVyZmFjZSBEaWN0aW9uYXJ5PFQgPSB1bmtub3duPiB7XG4gICAgW2tleTogc3RyaW5nXTogVDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTnVtYmVyKHZhbHVlOiBhbnkpIHtcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU3RyaW5nKHZhbHVlOiBhbnkpIHtcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVW5kZWZpbmVkKHZhbHVlOiBhbnkpIHtcbiAgICByZXR1cm4gdmFsdWUgPT09IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhleFRvUmdiKGNvbG9yOiBzdHJpbmcsIG9wYWNpdHkgPSAxKSB7XG4gICAgaWYgKC9eIy9nLnRlc3QoY29sb3IpKSB7XG4gICAgICAgIHJldHVybiBgcmdiYSgke3BhcnNlSW50KGNvbG9yLnNsaWNlKDEsIDMpLCAxNil9LCR7cGFyc2VJbnQoY29sb3Iuc2xpY2UoMywgNSksIDE2KX0sJHtwYXJzZUludChjb2xvci5zbGljZSg1LCA3KSwgMTYpfSwke29wYWNpdHl9KWA7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGNvbG9yO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuaXFCeTxUID0gdW5rbm93bj4oYXJyYXk6IFRbXSwga2V5OiBrZXlvZiBUKSB7XG4gICAgY29uc3QgdmFsdWVzTWFwOiBEaWN0aW9uYXJ5PFQ+ID0ge307XG4gICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgKGFycmF5IHx8IFtdKS5mb3JFYWNoKCh2YWx1ZSkgPT4ge1xuICAgICAgICBjb25zdCBfa2V5ID0gdmFsdWVba2V5IGFzIHN0cmluZ107XG4gICAgICAgIGlmICghdmFsdWVzTWFwW19rZXldKSB7XG4gICAgICAgICAgICB2YWx1ZXNNYXBbX2tleV0gPSB2YWx1ZTtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmbGF0dGVuPFQgPSB1bmtub3duPihhcnJheTogVFtdKSB7XG4gICAgcmV0dXJuIGFycmF5LnJlZHVjZSgocHJlLCBjdXIpID0+IHtcbiAgICAgICAgcmV0dXJuIHByZS5jb25jYXQoQXJyYXkuaXNBcnJheShjdXIpID8gZmxhdHRlbihjdXIpIDogY3VyKTtcbiAgICB9LCBbXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWN1cnNpdmVJdGVtcyhpdGVtczogR2FudHRJdGVtSW50ZXJuYWxbXSkge1xuICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgIChpdGVtcyB8fCBbXSkuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICByZXN1bHQucHVzaChpdGVtKTtcbiAgICAgICAgaWYgKGl0ZW0uZXhwYW5kZWQgJiYgaXRlbS5jaGlsZHJlbikge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2goLi4ucmVjdXJzaXZlSXRlbXMoaXRlbS5jaGlsZHJlbikpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZsYXRJdGVtcyhpdGVtczogR2FudHRJdGVtW10pIHtcbiAgICBjb25zdCByZXN1bHQgPSBbXTtcbiAgICAoaXRlbXMgfHwgW10pLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgcmVzdWx0LnB1c2goaXRlbSk7XG4gICAgICAgIGlmIChpdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICByZXN1bHQucHVzaCguLi5nZXRGbGF0SXRlbXMoaXRlbS5jaGlsZHJlbikpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { GanttView, primaryDatePointTop, secondaryDatePointTop } from './view';
|
|
2
|
+
import { GanttDate, eachWeekOfInterval, eachDayOfInterval } from '../utils/date';
|
|
3
|
+
import { GanttDatePoint } from '../class/date-point';
|
|
4
|
+
const viewOptions = {
|
|
5
|
+
cellWidth: 35,
|
|
6
|
+
start: new GanttDate().startOfYear().startOfWeek({ weekStartsOn: 1 }),
|
|
7
|
+
end: new GanttDate().endOfYear().endOfWeek({ weekStartsOn: 1 }),
|
|
8
|
+
addAmount: 1,
|
|
9
|
+
addUnit: 'month'
|
|
10
|
+
};
|
|
11
|
+
export class GanttViewDay extends GanttView {
|
|
12
|
+
constructor(start, end, options) {
|
|
13
|
+
super(start, end, Object.assign({}, viewOptions, options));
|
|
14
|
+
this.showWeekBackdrop = true;
|
|
15
|
+
this.showTimeline = false;
|
|
16
|
+
}
|
|
17
|
+
startOf(date) {
|
|
18
|
+
return date.startOfWeek({ weekStartsOn: 1 });
|
|
19
|
+
}
|
|
20
|
+
endOf(date) {
|
|
21
|
+
return date.endOfWeek({ weekStartsOn: 1 });
|
|
22
|
+
}
|
|
23
|
+
getPrimaryWidth() {
|
|
24
|
+
return this.getCellWidth() * 7;
|
|
25
|
+
}
|
|
26
|
+
getDayOccupancyWidth() {
|
|
27
|
+
return this.cellWidth;
|
|
28
|
+
}
|
|
29
|
+
getPrimaryDatePoints() {
|
|
30
|
+
const weeks = eachWeekOfInterval({ start: this.start.value, end: this.end.addSeconds(1).value }, { weekStartsOn: 1 });
|
|
31
|
+
const points = [];
|
|
32
|
+
for (let i = 0; i < weeks.length; i++) {
|
|
33
|
+
const weekStart = new GanttDate(weeks[i]);
|
|
34
|
+
const increaseWeek = weekStart.getDaysInMonth() - weekStart.getDate() >= 3 ? 0 : 1;
|
|
35
|
+
const point = new GanttDatePoint(weekStart, weekStart.addWeeks(increaseWeek).format('yyyy年MM月'), (this.getCellWidth() * 7) / 2 + i * (this.getCellWidth() * 7), primaryDatePointTop);
|
|
36
|
+
points.push(point);
|
|
37
|
+
}
|
|
38
|
+
return points;
|
|
39
|
+
}
|
|
40
|
+
getSecondaryDatePoints() {
|
|
41
|
+
const days = eachDayOfInterval({ start: this.start.value, end: this.end.value });
|
|
42
|
+
const points = [];
|
|
43
|
+
for (let i = 0; i < days.length; i++) {
|
|
44
|
+
const start = new GanttDate(days[i]);
|
|
45
|
+
const point = new GanttDatePoint(start, start.getDate().toString(), i * this.getCellWidth() + this.getCellWidth() / 2, secondaryDatePointTop, {
|
|
46
|
+
isWeekend: start.isWeekend(),
|
|
47
|
+
isToday: start.isToday()
|
|
48
|
+
});
|
|
49
|
+
points.push(point);
|
|
50
|
+
}
|
|
51
|
+
return points;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2FudHQvc3JjL3ZpZXdzL2RheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFvQixtQkFBbUIsRUFBRSxxQkFBcUIsRUFBaUIsTUFBTSxRQUFRLENBQUM7QUFDaEgsT0FBTyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFckQsTUFBTSxXQUFXLEdBQXFCO0lBQ2xDLFNBQVMsRUFBRSxFQUFFO0lBQ2IsS0FBSyxFQUFFLElBQUksU0FBUyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ3JFLEdBQUcsRUFBRSxJQUFJLFNBQVMsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLFlBQVksRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUMvRCxTQUFTLEVBQUUsQ0FBQztJQUNaLE9BQU8sRUFBRSxPQUFPO0NBQ25CLENBQUM7QUFFRixNQUFNLE9BQU8sWUFBYSxTQUFRLFNBQVM7SUFLdkMsWUFBWSxLQUFvQixFQUFFLEdBQWtCLEVBQUUsT0FBMEI7UUFDNUUsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFML0QscUJBQWdCLEdBQUcsSUFBSSxDQUFDO1FBRXhCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO0lBSXJCLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBZTtRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGVBQWU7UUFDWCxPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELG9CQUFvQjtRQUNoQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVELG9CQUFvQjtRQUNoQixNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0SCxNQUFNLE1BQU0sR0FBcUIsRUFBRSxDQUFDO1FBQ3BDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25DLE1BQU0sU0FBUyxHQUFHLElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFDLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxjQUFjLEVBQUUsR0FBRyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuRixNQUFNLEtBQUssR0FBRyxJQUFJLGNBQWMsQ0FDNUIsU0FBUyxFQUNULFNBQVMsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUNuRCxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUM3RCxtQkFBbUIsQ0FDdEIsQ0FBQztZQUNGLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdEI7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQsc0JBQXNCO1FBQ2xCLE1BQU0sSUFBSSxHQUFHLGlCQUFpQixDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDakYsTUFBTSxNQUFNLEdBQXFCLEVBQUUsQ0FBQztRQUNwQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNsQyxNQUFNLEtBQUssR0FBRyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQyxNQUFNLEtBQUssR0FBRyxJQUFJLGNBQWMsQ0FDNUIsS0FBSyxFQUNMLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFDMUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxFQUNqRCxxQkFBcUIsRUFDckI7Z0JBQ0ksU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUU7Z0JBQzVCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFO2FBQzNCLENBQ0osQ0FBQztZQUNGLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdEI7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHYW50dFZpZXcsIEdhbnR0Vmlld09wdGlvbnMsIHByaW1hcnlEYXRlUG9pbnRUb3AsIHNlY29uZGFyeURhdGVQb2ludFRvcCwgR2FudHRWaWV3RGF0ZSB9IGZyb20gJy4vdmlldyc7XG5pbXBvcnQgeyBHYW50dERhdGUsIGVhY2hXZWVrT2ZJbnRlcnZhbCwgZWFjaERheU9mSW50ZXJ2YWwgfSBmcm9tICcuLi91dGlscy9kYXRlJztcbmltcG9ydCB7IEdhbnR0RGF0ZVBvaW50IH0gZnJvbSAnLi4vY2xhc3MvZGF0ZS1wb2ludCc7XG5cbmNvbnN0IHZpZXdPcHRpb25zOiBHYW50dFZpZXdPcHRpb25zID0ge1xuICAgIGNlbGxXaWR0aDogMzUsXG4gICAgc3RhcnQ6IG5ldyBHYW50dERhdGUoKS5zdGFydE9mWWVhcigpLnN0YXJ0T2ZXZWVrKHsgd2Vla1N0YXJ0c09uOiAxIH0pLFxuICAgIGVuZDogbmV3IEdhbnR0RGF0ZSgpLmVuZE9mWWVhcigpLmVuZE9mV2Vlayh7IHdlZWtTdGFydHNPbjogMSB9KSxcbiAgICBhZGRBbW91bnQ6IDEsXG4gICAgYWRkVW5pdDogJ21vbnRoJ1xufTtcblxuZXhwb3J0IGNsYXNzIEdhbnR0Vmlld0RheSBleHRlbmRzIEdhbnR0VmlldyB7XG4gICAgc2hvd1dlZWtCYWNrZHJvcCA9IHRydWU7XG5cbiAgICBzaG93VGltZWxpbmUgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKHN0YXJ0OiBHYW50dFZpZXdEYXRlLCBlbmQ6IEdhbnR0Vmlld0RhdGUsIG9wdGlvbnM/OiBHYW50dFZpZXdPcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKHN0YXJ0LCBlbmQsIE9iamVjdC5hc3NpZ24oe30sIHZpZXdPcHRpb25zLCBvcHRpb25zKSk7XG4gICAgfVxuXG4gICAgc3RhcnRPZihkYXRlOiBHYW50dERhdGUpIHtcbiAgICAgICAgcmV0dXJuIGRhdGUuc3RhcnRPZldlZWsoeyB3ZWVrU3RhcnRzT246IDEgfSk7XG4gICAgfVxuXG4gICAgZW5kT2YoZGF0ZTogR2FudHREYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLmVuZE9mV2Vlayh7IHdlZWtTdGFydHNPbjogMSB9KTtcbiAgICB9XG5cbiAgICBnZXRQcmltYXJ5V2lkdGgoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENlbGxXaWR0aCgpICogNztcbiAgICB9XG5cbiAgICBnZXREYXlPY2N1cGFuY3lXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5jZWxsV2lkdGg7XG4gICAgfVxuXG4gICAgZ2V0UHJpbWFyeURhdGVQb2ludHMoKTogR2FudHREYXRlUG9pbnRbXSB7XG4gICAgICAgIGNvbnN0IHdlZWtzID0gZWFjaFdlZWtPZkludGVydmFsKHsgc3RhcnQ6IHRoaXMuc3RhcnQudmFsdWUsIGVuZDogdGhpcy5lbmQuYWRkU2Vjb25kcygxKS52YWx1ZSB9LCB7IHdlZWtTdGFydHNPbjogMSB9KTtcbiAgICAgICAgY29uc3QgcG9pbnRzOiBHYW50dERhdGVQb2ludFtdID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgd2Vla3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHdlZWtTdGFydCA9IG5ldyBHYW50dERhdGUod2Vla3NbaV0pO1xuICAgICAgICAgICAgY29uc3QgaW5jcmVhc2VXZWVrID0gd2Vla1N0YXJ0LmdldERheXNJbk1vbnRoKCkgLSB3ZWVrU3RhcnQuZ2V0RGF0ZSgpID49IDMgPyAwIDogMTtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50ID0gbmV3IEdhbnR0RGF0ZVBvaW50KFxuICAgICAgICAgICAgICAgIHdlZWtTdGFydCxcbiAgICAgICAgICAgICAgICB3ZWVrU3RhcnQuYWRkV2Vla3MoaW5jcmVhc2VXZWVrKS5mb3JtYXQoJ3l5eXnlubRNTeaciCcpLFxuICAgICAgICAgICAgICAgICh0aGlzLmdldENlbGxXaWR0aCgpICogNykgLyAyICsgaSAqICh0aGlzLmdldENlbGxXaWR0aCgpICogNyksXG4gICAgICAgICAgICAgICAgcHJpbWFyeURhdGVQb2ludFRvcFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHBvaW50cy5wdXNoKHBvaW50KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcG9pbnRzO1xuICAgIH1cblxuICAgIGdldFNlY29uZGFyeURhdGVQb2ludHMoKTogR2FudHREYXRlUG9pbnRbXSB7XG4gICAgICAgIGNvbnN0IGRheXMgPSBlYWNoRGF5T2ZJbnRlcnZhbCh7IHN0YXJ0OiB0aGlzLnN0YXJ0LnZhbHVlLCBlbmQ6IHRoaXMuZW5kLnZhbHVlIH0pO1xuICAgICAgICBjb25zdCBwb2ludHM6IEdhbnR0RGF0ZVBvaW50W10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBzdGFydCA9IG5ldyBHYW50dERhdGUoZGF5c1tpXSk7XG4gICAgICAgICAgICBjb25zdCBwb2ludCA9IG5ldyBHYW50dERhdGVQb2ludChcbiAgICAgICAgICAgICAgICBzdGFydCxcbiAgICAgICAgICAgICAgICBzdGFydC5nZXREYXRlKCkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICBpICogdGhpcy5nZXRDZWxsV2lkdGgoKSArIHRoaXMuZ2V0Q2VsbFdpZHRoKCkgLyAyLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeURhdGVQb2ludFRvcCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGlzV2Vla2VuZDogc3RhcnQuaXNXZWVrZW5kKCksXG4gICAgICAgICAgICAgICAgICAgIGlzVG9kYXk6IHN0YXJ0LmlzVG9kYXkoKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBwb2ludHMucHVzaChwb2ludCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBvaW50cztcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,23 @@
|
|
|
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
|
+
export function createViewFactory(type, start, end, options) {
|
|
8
|
+
switch (type) {
|
|
9
|
+
case GanttViewType.month:
|
|
10
|
+
return new GanttViewMonth(start, end, options);
|
|
11
|
+
case GanttViewType.week:
|
|
12
|
+
return new GanttViewWeek(start, end, options);
|
|
13
|
+
case GanttViewType.quarter:
|
|
14
|
+
return new GanttViewQuarter(start, end, options);
|
|
15
|
+
case GanttViewType.day:
|
|
16
|
+
return new GanttViewDay(start, end, options);
|
|
17
|
+
case GanttViewType.year:
|
|
18
|
+
return new GanttViewYear(start, end, options);
|
|
19
|
+
default:
|
|
20
|
+
throw new Error('gantt view type invalid');
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy92aWV3cy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDdkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUV2QyxNQUFNLFVBQVUsaUJBQWlCLENBQUMsSUFBbUIsRUFBRSxLQUFvQixFQUFFLEdBQWtCLEVBQUUsT0FBMEI7SUFDdkgsUUFBUSxJQUFJLEVBQUU7UUFDVixLQUFLLGFBQWEsQ0FBQyxLQUFLO1lBQ3BCLE9BQU8sSUFBSSxjQUFjLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNuRCxLQUFLLGFBQWEsQ0FBQyxJQUFJO1lBQ25CLE9BQU8sSUFBSSxhQUFhLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNsRCxLQUFLLGFBQWEsQ0FBQyxPQUFPO1lBQ3RCLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3JELEtBQUssYUFBYSxDQUFDLEdBQUc7WUFDbEIsT0FBTyxJQUFJLFlBQVksQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2pELEtBQUssYUFBYSxDQUFDLElBQUk7WUFDbkIsT0FBTyxJQUFJLGFBQWEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2xEO1lBQ0ksTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0tBQ2xEO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdhbnR0Vmlld09wdGlvbnMsIEdhbnR0Vmlld0RhdGUgfSBmcm9tICcuL3ZpZXcnO1xuaW1wb3J0IHsgR2FudHRWaWV3TW9udGggfSBmcm9tICcuL21vbnRoJztcbmltcG9ydCB7IEdhbnR0RGF0ZSB9IGZyb20gJy4uL3V0aWxzL2RhdGUnO1xuaW1wb3J0IHsgR2FudHRWaWV3VHlwZSB9IGZyb20gJy4uL2NsYXNzL3ZpZXctdHlwZSc7XG5pbXBvcnQgeyBHYW50dFZpZXdRdWFydGVyIH0gZnJvbSAnLi9xdWFydGVyJztcbmltcG9ydCB7IEdhbnR0Vmlld0RheSB9IGZyb20gJy4vZGF5JztcbmltcG9ydCB7IEdhbnR0Vmlld1dlZWsgfSBmcm9tICcuL3dlZWsnO1xuaW1wb3J0IHsgR2FudHRWaWV3WWVhciB9IGZyb20gJy4veWVhcic7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVWaWV3RmFjdG9yeSh0eXBlOiBHYW50dFZpZXdUeXBlLCBzdGFydDogR2FudHRWaWV3RGF0ZSwgZW5kOiBHYW50dFZpZXdEYXRlLCBvcHRpb25zPzogR2FudHRWaWV3T3B0aW9ucykge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICBjYXNlIEdhbnR0Vmlld1R5cGUubW9udGg6XG4gICAgICAgICAgICByZXR1cm4gbmV3IEdhbnR0Vmlld01vbnRoKHN0YXJ0LCBlbmQsIG9wdGlvbnMpO1xuICAgICAgICBjYXNlIEdhbnR0Vmlld1R5cGUud2VlazpcbiAgICAgICAgICAgIHJldHVybiBuZXcgR2FudHRWaWV3V2VlayhzdGFydCwgZW5kLCBvcHRpb25zKTtcbiAgICAgICAgY2FzZSBHYW50dFZpZXdUeXBlLnF1YXJ0ZXI6XG4gICAgICAgICAgICByZXR1cm4gbmV3IEdhbnR0Vmlld1F1YXJ0ZXIoc3RhcnQsIGVuZCwgb3B0aW9ucyk7XG4gICAgICAgIGNhc2UgR2FudHRWaWV3VHlwZS5kYXk6XG4gICAgICAgICAgICByZXR1cm4gbmV3IEdhbnR0Vmlld0RheShzdGFydCwgZW5kLCBvcHRpb25zKTtcbiAgICAgICAgY2FzZSBHYW50dFZpZXdUeXBlLnllYXI6XG4gICAgICAgICAgICByZXR1cm4gbmV3IEdhbnR0Vmlld1llYXIoc3RhcnQsIGVuZCwgb3B0aW9ucyk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2dhbnR0IHZpZXcgdHlwZSBpbnZhbGlkJyk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { GanttView, primaryDatePointTop, secondaryDatePointTop } from './view';
|
|
2
|
+
import { GanttDate, differenceInCalendarQuarters, eachMonthOfInterval } from '../utils/date';
|
|
3
|
+
import { GanttDatePoint } from '../class/date-point';
|
|
4
|
+
const viewOptions = {
|
|
5
|
+
start: new GanttDate().startOfQuarter().addQuarters(-1),
|
|
6
|
+
end: new GanttDate().endOfQuarter().addQuarters(2),
|
|
7
|
+
cellWidth: 280,
|
|
8
|
+
addAmount: 1,
|
|
9
|
+
addUnit: 'quarter'
|
|
10
|
+
};
|
|
11
|
+
export class GanttViewMonth extends GanttView {
|
|
12
|
+
constructor(start, end, options) {
|
|
13
|
+
super(start, end, Object.assign({}, viewOptions, options));
|
|
14
|
+
}
|
|
15
|
+
startOf(date) {
|
|
16
|
+
return date.startOfQuarter();
|
|
17
|
+
}
|
|
18
|
+
endOf(date) {
|
|
19
|
+
return date.endOfQuarter();
|
|
20
|
+
}
|
|
21
|
+
getPrimaryWidth() {
|
|
22
|
+
return this.getCellWidth() * 3;
|
|
23
|
+
}
|
|
24
|
+
getDayOccupancyWidth(date) {
|
|
25
|
+
return this.cellWidth / date.getDaysInMonth();
|
|
26
|
+
}
|
|
27
|
+
getPrimaryDatePoints() {
|
|
28
|
+
const quarters = differenceInCalendarQuarters(this.end.addSeconds(1).value, this.start.value);
|
|
29
|
+
const points = [];
|
|
30
|
+
for (let i = 0; i < quarters; i++) {
|
|
31
|
+
const start = this.start.addQuarters(i);
|
|
32
|
+
const point = new GanttDatePoint(start, start.format('yyyy年QQQ'), (this.getCellWidth() * 3) / 2 + i * (this.getCellWidth() * 3), primaryDatePointTop);
|
|
33
|
+
points.push(point);
|
|
34
|
+
}
|
|
35
|
+
return points;
|
|
36
|
+
}
|
|
37
|
+
getSecondaryDatePoints() {
|
|
38
|
+
const months = eachMonthOfInterval({ start: this.start.value, end: this.end.value });
|
|
39
|
+
const points = [];
|
|
40
|
+
for (let i = 0; i < months.length; i++) {
|
|
41
|
+
const start = new GanttDate(months[i]);
|
|
42
|
+
const point = new GanttDatePoint(start, `${start.getMonth() + 1}月`, i * this.getCellWidth() + this.getCellWidth() / 2, secondaryDatePointTop);
|
|
43
|
+
points.push(point);
|
|
44
|
+
}
|
|
45
|
+
return points;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvdmlld3MvbW9udGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBb0IsbUJBQW1CLEVBQUUscUJBQXFCLEVBQWlCLE1BQU0sUUFBUSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxTQUFTLEVBQUUsNEJBQTRCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0YsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXJELE1BQU0sV0FBVyxHQUFxQjtJQUNsQyxLQUFLLEVBQUUsSUFBSSxTQUFTLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkQsR0FBRyxFQUFFLElBQUksU0FBUyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNsRCxTQUFTLEVBQUUsR0FBRztJQUNkLFNBQVMsRUFBRSxDQUFDO0lBQ1osT0FBTyxFQUFFLFNBQVM7Q0FDckIsQ0FBQztBQUVGLE1BQU0sT0FBTyxjQUFlLFNBQVEsU0FBUztJQUN6QyxZQUFZLEtBQW9CLEVBQUUsR0FBa0IsRUFBRSxPQUEwQjtRQUM1RSxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQWU7UUFDbkIsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxlQUFlO1FBQ1gsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxJQUFlO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVELG9CQUFvQjtRQUNoQixNQUFNLFFBQVEsR0FBRyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5RixNQUFNLE1BQU0sR0FBcUIsRUFBRSxDQUFDO1FBQ3BDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDL0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxjQUFjLENBQzVCLEtBQUssRUFDTCxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUN4QixDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUM3RCxtQkFBbUIsQ0FDdEIsQ0FBQztZQUNGLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdEI7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQsc0JBQXNCO1FBQ2xCLE1BQU0sTUFBTSxHQUFHLG1CQUFtQixDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDckYsTUFBTSxNQUFNLEdBQXFCLEVBQUUsQ0FBQztRQUNwQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNwQyxNQUFNLEtBQUssR0FBRyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QyxNQUFNLEtBQUssR0FBRyxJQUFJLGNBQWMsQ0FDNUIsS0FBSyxFQUNMLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsR0FBRyxFQUMxQixDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLEVBQ2pELHFCQUFxQixDQUN4QixDQUFDO1lBQ0YsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN0QjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdhbnR0VmlldywgR2FudHRWaWV3T3B0aW9ucywgcHJpbWFyeURhdGVQb2ludFRvcCwgc2Vjb25kYXJ5RGF0ZVBvaW50VG9wLCBHYW50dFZpZXdEYXRlIH0gZnJvbSAnLi92aWV3JztcbmltcG9ydCB7IEdhbnR0RGF0ZSwgZGlmZmVyZW5jZUluQ2FsZW5kYXJRdWFydGVycywgZWFjaE1vbnRoT2ZJbnRlcnZhbCB9IGZyb20gJy4uL3V0aWxzL2RhdGUnO1xuaW1wb3J0IHsgR2FudHREYXRlUG9pbnQgfSBmcm9tICcuLi9jbGFzcy9kYXRlLXBvaW50JztcblxuY29uc3Qgdmlld09wdGlvbnM6IEdhbnR0Vmlld09wdGlvbnMgPSB7XG4gICAgc3RhcnQ6IG5ldyBHYW50dERhdGUoKS5zdGFydE9mUXVhcnRlcigpLmFkZFF1YXJ0ZXJzKC0xKSxcbiAgICBlbmQ6IG5ldyBHYW50dERhdGUoKS5lbmRPZlF1YXJ0ZXIoKS5hZGRRdWFydGVycygyKSxcbiAgICBjZWxsV2lkdGg6IDI4MCxcbiAgICBhZGRBbW91bnQ6IDEsXG4gICAgYWRkVW5pdDogJ3F1YXJ0ZXInXG59O1xuXG5leHBvcnQgY2xhc3MgR2FudHRWaWV3TW9udGggZXh0ZW5kcyBHYW50dFZpZXcge1xuICAgIGNvbnN0cnVjdG9yKHN0YXJ0OiBHYW50dFZpZXdEYXRlLCBlbmQ6IEdhbnR0Vmlld0RhdGUsIG9wdGlvbnM/OiBHYW50dFZpZXdPcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKHN0YXJ0LCBlbmQsIE9iamVjdC5hc3NpZ24oe30sIHZpZXdPcHRpb25zLCBvcHRpb25zKSk7XG4gICAgfVxuXG4gICAgc3RhcnRPZihkYXRlOiBHYW50dERhdGUpIHtcbiAgICAgICAgcmV0dXJuIGRhdGUuc3RhcnRPZlF1YXJ0ZXIoKTtcbiAgICB9XG5cbiAgICBlbmRPZihkYXRlOiBHYW50dERhdGUpIHtcbiAgICAgICAgcmV0dXJuIGRhdGUuZW5kT2ZRdWFydGVyKCk7XG4gICAgfVxuXG4gICAgZ2V0UHJpbWFyeVdpZHRoKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDZWxsV2lkdGgoKSAqIDM7XG4gICAgfVxuXG4gICAgZ2V0RGF5T2NjdXBhbmN5V2lkdGgoZGF0ZTogR2FudHREYXRlKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2VsbFdpZHRoIC8gZGF0ZS5nZXREYXlzSW5Nb250aCgpO1xuICAgIH1cblxuICAgIGdldFByaW1hcnlEYXRlUG9pbnRzKCk6IEdhbnR0RGF0ZVBvaW50W10ge1xuICAgICAgICBjb25zdCBxdWFydGVycyA9IGRpZmZlcmVuY2VJbkNhbGVuZGFyUXVhcnRlcnModGhpcy5lbmQuYWRkU2Vjb25kcygxKS52YWx1ZSwgdGhpcy5zdGFydC52YWx1ZSk7XG4gICAgICAgIGNvbnN0IHBvaW50czogR2FudHREYXRlUG9pbnRbXSA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHF1YXJ0ZXJzOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5zdGFydC5hZGRRdWFydGVycyhpKTtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50ID0gbmV3IEdhbnR0RGF0ZVBvaW50KFxuICAgICAgICAgICAgICAgIHN0YXJ0LFxuICAgICAgICAgICAgICAgIHN0YXJ0LmZvcm1hdCgneXl5eeW5tFFRUScpLFxuICAgICAgICAgICAgICAgICh0aGlzLmdldENlbGxXaWR0aCgpICogMykgLyAyICsgaSAqICh0aGlzLmdldENlbGxXaWR0aCgpICogMyksXG4gICAgICAgICAgICAgICAgcHJpbWFyeURhdGVQb2ludFRvcFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHBvaW50cy5wdXNoKHBvaW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwb2ludHM7XG4gICAgfVxuXG4gICAgZ2V0U2Vjb25kYXJ5RGF0ZVBvaW50cygpOiBHYW50dERhdGVQb2ludFtdIHtcbiAgICAgICAgY29uc3QgbW9udGhzID0gZWFjaE1vbnRoT2ZJbnRlcnZhbCh7IHN0YXJ0OiB0aGlzLnN0YXJ0LnZhbHVlLCBlbmQ6IHRoaXMuZW5kLnZhbHVlIH0pO1xuICAgICAgICBjb25zdCBwb2ludHM6IEdhbnR0RGF0ZVBvaW50W10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtb250aHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gbmV3IEdhbnR0RGF0ZShtb250aHNbaV0pO1xuICAgICAgICAgICAgY29uc3QgcG9pbnQgPSBuZXcgR2FudHREYXRlUG9pbnQoXG4gICAgICAgICAgICAgICAgc3RhcnQsXG4gICAgICAgICAgICAgICAgYCR7c3RhcnQuZ2V0TW9udGgoKSArIDF95pyIYCxcbiAgICAgICAgICAgICAgICBpICogdGhpcy5nZXRDZWxsV2lkdGgoKSArIHRoaXMuZ2V0Q2VsbFdpZHRoKCkgLyAyLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeURhdGVQb2ludFRvcFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHBvaW50cy5wdXNoKHBvaW50KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcG9pbnRzO1xuICAgIH1cbn1cbiJdfQ==
|