@worktile/gantt 12.2.1 → 13.0.0-next.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/bar/bar-drag.d.ts +4 -2
- package/components/bar/bar.component.d.ts +4 -4
- package/components/bar/bar.component.scss +201 -0
- package/components/calendar/calendar.component.d.ts +3 -5
- package/components/calendar/calendar.component.scss +79 -0
- package/components/drag-backdrop/drag-backdrop.component.d.ts +1 -5
- package/components/drag-backdrop/drag-backdrop.component.scss +50 -0
- package/components/icon/icon.component.d.ts +2 -4
- package/components/icon/icon.component.scss +13 -0
- package/components/links/links.component.scss +29 -0
- package/components/main/gantt-main.component.d.ts +2 -3
- package/components/range/range.component.d.ts +2 -5
- package/components/range/range.component.scss +35 -0
- package/components/table/gantt-table.component.d.ts +2 -3
- package/components/table/gantt-table.component.scss +153 -0
- package/{esm2015/class/date-point.js → esm2020/class/date-point.mjs} +0 -0
- package/{esm2015/class/event.js → esm2020/class/event.mjs} +0 -0
- package/{esm2015/class/group.js → esm2020/class/group.mjs} +0 -0
- package/{esm2015/class/index.js → esm2020/class/index.mjs} +0 -0
- package/{esm2015/class/item.js → esm2020/class/item.mjs} +0 -0
- package/{esm2015/class/link.js → esm2020/class/link.mjs} +0 -0
- package/{esm2015/class/view-type.js → esm2020/class/view-type.mjs} +0 -0
- package/esm2020/components/bar/bar-drag.mjs +308 -0
- package/esm2020/components/bar/bar.component.mjs +101 -0
- package/esm2020/components/calendar/calendar.component.mjs +88 -0
- package/esm2020/components/drag-backdrop/drag-backdrop.component.mjs +13 -0
- package/esm2020/components/icon/icon.component.mjs +36 -0
- package/{esm2015/components/icon/icons.js → esm2020/components/icon/icons.mjs} +0 -0
- package/esm2020/components/links/lines/curve.mjs +95 -0
- package/{esm2015/components/links/lines/factory.js → esm2020/components/links/lines/factory.mjs} +0 -0
- package/{esm2015/components/links/lines/line.js → esm2020/components/links/lines/line.mjs} +0 -0
- package/{esm2015/components/links/lines/straight.js → esm2020/components/links/lines/straight.mjs} +0 -0
- package/esm2020/components/links/links.component.mjs +178 -0
- package/esm2020/components/main/gantt-main.component.mjs +49 -0
- package/esm2020/components/range/range.component.mjs +25 -0
- package/esm2020/components/table/gantt-table.component.mjs +163 -0
- package/{esm2015/gantt-abstract.js → esm2020/gantt-abstract.mjs} +0 -0
- package/esm2020/gantt-dom.service.mjs +117 -0
- package/esm2020/gantt-drag-container.mjs +78 -0
- package/esm2020/gantt-item-upper.mjs +58 -0
- package/esm2020/gantt-print.service.mjs +94 -0
- package/esm2020/gantt-upper.mjs +339 -0
- package/esm2020/gantt.component.mjs +150 -0
- package/{esm2015/gantt.config.js → esm2020/gantt.config.mjs} +0 -0
- package/{esm2015/gantt.module.js → esm2020/gantt.module.mjs} +4 -4
- package/{esm2015/gantt.pipe.js → esm2020/gantt.pipe.mjs} +9 -9
- package/{esm2015/gantt.styles.js → esm2020/gantt.styles.mjs} +0 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/esm2020/root.component.mjs +130 -0
- package/esm2020/table/gantt-column.component.mjs +36 -0
- package/esm2020/table/gantt-table.component.mjs +25 -0
- package/{esm2015/utils/date.js → esm2020/utils/date.mjs} +0 -0
- package/{esm2015/utils/helpers.js → esm2020/utils/helpers.mjs} +0 -0
- package/esm2020/utils/passive-listeners.mjs +30 -0
- package/esm2020/utils/set-style-with-vendor-prefix.mjs +15 -0
- package/{esm2015/views/day.js → esm2020/views/day.mjs} +1 -1
- package/{esm2015/views/factory.js → esm2020/views/factory.mjs} +0 -0
- package/{esm2015/views/month.js → esm2020/views/month.mjs} +0 -0
- package/{esm2015/views/quarter.js → esm2020/views/quarter.mjs} +0 -0
- package/{esm2015/views/view.js → esm2020/views/view.mjs} +5 -5
- package/{esm2015/views/week.js → esm2020/views/week.mjs} +0 -0
- package/{esm2015/views/year.js → esm2020/views/year.mjs} +0 -0
- package/{esm2015/worktile-gantt.js → esm2020/worktile-gantt.mjs} +0 -0
- package/fesm2015/worktile-gantt.mjs +3080 -0
- package/fesm2015/worktile-gantt.mjs.map +1 -0
- package/{fesm2015/worktile-gantt.js → fesm2020/worktile-gantt.mjs} +344 -288
- package/fesm2020/worktile-gantt.mjs.map +1 -0
- package/gantt-dom.service.d.ts +11 -4
- package/gantt-drag-container.d.ts +1 -1
- package/gantt-item-upper.d.ts +6 -6
- package/gantt-print.service.d.ts +1 -1
- package/gantt-upper.d.ts +6 -6
- package/gantt.component.d.ts +2 -4
- package/gantt.component.scss +83 -0
- package/package.json +23 -9
- package/root.component.d.ts +5 -3
- package/styles/index.scss +10 -0
- package/styles/variables.scss +46 -0
- package/table/gantt-column.component.d.ts +2 -3
- package/table/gantt-table.component.d.ts +2 -4
- package/utils/passive-listeners.d.ts +13 -0
- package/utils/set-style-with-vendor-prefix.d.ts +12 -0
- package/README.md +0 -24
- package/bundles/worktile-gantt.umd.js +0 -3622
- package/bundles/worktile-gantt.umd.js.map +0 -1
- package/esm2015/components/bar/bar-drag.js +0 -295
- package/esm2015/components/bar/bar.component.js +0 -98
- package/esm2015/components/calendar/calendar.component.js +0 -86
- package/esm2015/components/drag-backdrop/drag-backdrop.component.js +0 -21
- package/esm2015/components/icon/icon.component.js +0 -38
- package/esm2015/components/links/lines/curve.js +0 -96
- package/esm2015/components/links/links.component.js +0 -173
- package/esm2015/components/main/gantt-main.component.js +0 -53
- package/esm2015/components/range/range.component.js +0 -37
- package/esm2015/components/table/gantt-table.component.js +0 -163
- package/esm2015/gantt-dom.service.js +0 -103
- package/esm2015/gantt-drag-container.js +0 -77
- package/esm2015/gantt-item-upper.js +0 -58
- package/esm2015/gantt-print.service.js +0 -94
- package/esm2015/gantt-upper.js +0 -331
- package/esm2015/gantt.component.js +0 -155
- package/esm2015/root.component.js +0 -123
- package/esm2015/table/gantt-column.component.js +0 -37
- package/esm2015/table/gantt-table.component.js +0 -26
- package/fesm2015/worktile-gantt.js.map +0 -1
- package/main.bundle.scss +0 -687
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { Component, Input, HostBinding } from '@angular/core';
|
|
2
|
-
import { icons } from './icons';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class GanttIconComponent {
|
|
5
|
-
constructor(elementRef) {
|
|
6
|
-
this.elementRef = elementRef;
|
|
7
|
-
this.isIcon = true;
|
|
8
|
-
}
|
|
9
|
-
set iconName(name) {
|
|
10
|
-
this.setSvg(name);
|
|
11
|
-
}
|
|
12
|
-
ngOnInit() { }
|
|
13
|
-
ngAfterViewInit() { }
|
|
14
|
-
setSvg(name) {
|
|
15
|
-
const iconSvg = icons[name];
|
|
16
|
-
if (iconSvg) {
|
|
17
|
-
this.elementRef.nativeElement.innerHTML = iconSvg;
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
this.elementRef.nativeElement.innerHTML = '';
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
GanttIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: GanttIconComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
-
GanttIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: GanttIconComponent, selector: "gantt-icon", inputs: { iconName: "iconName" }, host: { properties: { "class.gantt-icon": "this.isIcon" } }, ngImport: i0, template: '', isInline: true });
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: GanttIconComponent, decorators: [{
|
|
27
|
-
type: Component,
|
|
28
|
-
args: [{
|
|
29
|
-
selector: 'gantt-icon',
|
|
30
|
-
template: ''
|
|
31
|
-
}]
|
|
32
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { isIcon: [{
|
|
33
|
-
type: HostBinding,
|
|
34
|
-
args: ['class.gantt-icon']
|
|
35
|
-
}], iconName: [{
|
|
36
|
-
type: Input
|
|
37
|
-
}] } });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUE2QixXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFLaEMsTUFBTSxPQUFPLGtCQUFrQjtJQU8zQixZQUFvQixVQUFtQztRQUFuQyxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQU50QixXQUFNLEdBQUcsSUFBSSxDQUFDO0lBTVcsQ0FBQztJQUozRCxJQUFhLFFBQVEsQ0FBQyxJQUFZO1FBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUlELFFBQVEsS0FBVSxDQUFDO0lBRW5CLGVBQWUsS0FBSSxDQUFDO0lBRXBCLE1BQU0sQ0FBQyxJQUFZO1FBQ2YsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLElBQUksT0FBTyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQztTQUNyRDthQUFNO1lBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztTQUNoRDtJQUNMLENBQUM7OytHQXBCUSxrQkFBa0I7bUdBQWxCLGtCQUFrQixpSkFGakIsRUFBRTsyRkFFSCxrQkFBa0I7a0JBSjlCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFFBQVEsRUFBRSxFQUFFO2lCQUNmO2lHQUVvQyxNQUFNO3NCQUF0QyxXQUFXO3VCQUFDLGtCQUFrQjtnQkFFbEIsUUFBUTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgQWZ0ZXJWaWV3SW5pdCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGljb25zIH0gZnJvbSAnLi9pY29ucyc7XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2dhbnR0LWljb24nLFxuICAgIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBjbGFzcyBHYW50dEljb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZ2FudHQtaWNvbicpIGlzSWNvbiA9IHRydWU7XG5cbiAgICBASW5wdXQoKSBzZXQgaWNvbk5hbWUobmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0U3ZnKG5hbWUpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7fVxuXG4gICAgc2V0U3ZnKG5hbWU6IHN0cmluZykge1xuICAgICAgICBjb25zdCBpY29uU3ZnID0gaWNvbnNbbmFtZV07XG4gICAgICAgIGlmIChpY29uU3ZnKSB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSBpY29uU3ZnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gJyc7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { __decorate, __param } from "tslib";
|
|
2
|
-
import { Inject } from '@angular/core';
|
|
3
|
-
import { GanttLinkType } from '../../../class/link';
|
|
4
|
-
import { GANTT_UPPER_TOKEN } from '../../../gantt-upper';
|
|
5
|
-
import { GanttLinkLine } from './line';
|
|
6
|
-
let GanttLinkLineCurve = class GanttLinkLineCurve extends GanttLinkLine {
|
|
7
|
-
constructor(ganttUpper) {
|
|
8
|
-
super();
|
|
9
|
-
this.ganttUpper = ganttUpper;
|
|
10
|
-
}
|
|
11
|
-
generateSSPath(source, target) {
|
|
12
|
-
const x1 = source.before.x;
|
|
13
|
-
const y1 = source.before.y;
|
|
14
|
-
const x4 = target.before.x;
|
|
15
|
-
const y4 = target.before.y;
|
|
16
|
-
const isMirror = y4 > y1 ? 0 : 1;
|
|
17
|
-
const radius = Math.abs(y4 - y1) / 2;
|
|
18
|
-
if (x4 > x1) {
|
|
19
|
-
return `M ${x1} ${y1}
|
|
20
|
-
A ${radius} ${radius} 0 1 ${isMirror} ${x1} ${y4}
|
|
21
|
-
L ${x4} ${y4}`;
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
return `M ${x1} ${y1}
|
|
25
|
-
L ${x4} ${y1}
|
|
26
|
-
A ${radius} ${radius} 0 1 ${isMirror} ${x4} ${y4}`;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
generateFFPath(source, target) {
|
|
30
|
-
const x1 = source.after.x;
|
|
31
|
-
const y1 = source.after.y;
|
|
32
|
-
const x4 = target.after.x;
|
|
33
|
-
const y4 = target.after.y;
|
|
34
|
-
const isMirror = y4 > y1 ? 1 : 0;
|
|
35
|
-
const radius = Math.abs(y4 - y1) / 2;
|
|
36
|
-
if (x4 > x1) {
|
|
37
|
-
return `M ${x1} ${y1}
|
|
38
|
-
L ${x4} ${y1}
|
|
39
|
-
A ${radius} ${radius} 0 1 ${isMirror} ${x4} ${y4}`;
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
return `M ${x1} ${y1}
|
|
43
|
-
A ${radius} ${radius} 0 1 ${isMirror} ${x1} ${y4}
|
|
44
|
-
L ${x4} ${y4}`;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
generateFSAndSFPath(source, target, type) {
|
|
48
|
-
var _a;
|
|
49
|
-
let x1 = source.after.x;
|
|
50
|
-
let y1 = source.after.y;
|
|
51
|
-
let x4 = target.before.x;
|
|
52
|
-
let y4 = target.before.y;
|
|
53
|
-
const bezierWeight = 0.5;
|
|
54
|
-
if (type === GanttLinkType.sf) {
|
|
55
|
-
x1 = target.after.x;
|
|
56
|
-
y1 = target.after.y;
|
|
57
|
-
x4 = source.before.x;
|
|
58
|
-
y4 = source.before.y;
|
|
59
|
-
}
|
|
60
|
-
let dx = Math.abs(x4 - x1) * bezierWeight;
|
|
61
|
-
let x2 = x1 + dx;
|
|
62
|
-
let x3 = x4 - dx;
|
|
63
|
-
const centerX = (x1 + x4) / 2;
|
|
64
|
-
const centerY = (y1 + y4) / 2;
|
|
65
|
-
let controlX = this.ganttUpper.styles.lineHeight / 2;
|
|
66
|
-
const controlY = this.ganttUpper.styles.lineHeight / 2;
|
|
67
|
-
if (x1 >= x4) {
|
|
68
|
-
if (Math.abs(y4 - y1) <= this.ganttUpper.styles.lineHeight) {
|
|
69
|
-
return `M ${x1} ${y1}
|
|
70
|
-
C ${x1 + controlX} ${y1} ${x1 + controlX} ${y4 > y1 ? y1 + controlX : y1 - controlX} ${x1} ${y4 > y1 ? y1 + controlY : y1 - controlY}
|
|
71
|
-
L ${x4} ${y4 > y1 ? y4 - controlY : y4 + controlY}
|
|
72
|
-
C ${x4 - controlY} ${y4 > y1 ? y4 - controlY : y4 + controlY} ${x4 - controlX} ${y4} ${x4} ${y4}
|
|
73
|
-
`;
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
controlX = this.ganttUpper.styles.lineHeight;
|
|
77
|
-
return `M ${x1} ${y1}
|
|
78
|
-
C ${x1 + controlX} ${y1} ${x1 + controlX} ${y4 > y1 ? y1 + controlX : y1 - controlX} ${centerX} ${centerY}
|
|
79
|
-
C ${x4 - controlX} ${y4 > y1 ? y4 - controlX : y4 + controlX} ${x4 - controlX} ${y4} ${x4} ${y4}
|
|
80
|
-
`;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
else if (((_a = this.ganttUpper.linkOptions) === null || _a === void 0 ? void 0 : _a.showArrow) && x4 - x1 < 200) {
|
|
84
|
-
dx = Math.max(Math.abs(y4 - y1) * bezierWeight, 60);
|
|
85
|
-
x2 = x1 + dx;
|
|
86
|
-
x3 = x4 - dx;
|
|
87
|
-
return `M ${x1} ${y1} C ${x2} ${y1} ${x3} ${y4} ${x4} ${y4}`;
|
|
88
|
-
}
|
|
89
|
-
return `M ${x1} ${y1} C ${x2} ${y1} ${x3} ${y4} ${x4} ${y4}`;
|
|
90
|
-
}
|
|
91
|
-
};
|
|
92
|
-
GanttLinkLineCurve = __decorate([
|
|
93
|
-
__param(0, Inject(GANTT_UPPER_TOKEN))
|
|
94
|
-
], GanttLinkLineCurve);
|
|
95
|
-
export { GanttLinkLineCurve };
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VydmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvY29tcG9uZW50cy9saW5rcy9saW5lcy9jdXJ2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQWlCLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25FLE9BQU8sRUFBYyxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFdkMsSUFBYSxrQkFBa0IsR0FBL0IsTUFBYSxrQkFBbUIsU0FBUSxhQUFhO0lBQ2pELFlBQStDLFVBQXNCO1FBQ2pFLEtBQUssRUFBRSxDQUFDO1FBRG1DLGVBQVUsR0FBVixVQUFVLENBQVk7SUFFckUsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFxQixFQUFFLE1BQXFCO1FBQ3ZELE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzNCLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzNCLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzNCLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzNCLE1BQU0sUUFBUSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVyQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDVCxPQUFPLEtBQUssRUFBRSxJQUFJLEVBQUU7d0JBQ1IsTUFBTSxJQUFJLE1BQU0sUUFBUSxRQUFRLElBQUksRUFBRSxJQUFJLEVBQUU7d0JBQzVDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztTQUMxQjthQUFNO1lBQ0gsT0FBTyxLQUFLLEVBQUUsSUFBSSxFQUFFO3dCQUNSLEVBQUUsSUFBSSxFQUFFO3dCQUNSLE1BQU0sSUFBSSxNQUFNLFFBQVEsUUFBUSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztTQUM5RDtJQUNMLENBQUM7SUFDRCxjQUFjLENBQUMsTUFBcUIsRUFBRSxNQUFxQjtRQUN2RCxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMxQixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMxQixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMxQixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMxQixNQUFNLFFBQVEsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckMsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ1QsT0FBTyxLQUFLLEVBQUUsSUFBSSxFQUFFO3dCQUNSLEVBQUUsSUFBSSxFQUFFO3dCQUNSLE1BQU0sSUFBSSxNQUFNLFFBQVEsUUFBUSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztTQUM5RDthQUFNO1lBQ0gsT0FBTyxLQUFLLEVBQUUsSUFBSSxFQUFFO3dCQUNSLE1BQU0sSUFBSSxNQUFNLFFBQVEsUUFBUSxJQUFJLEVBQUUsSUFBSSxFQUFFO3dCQUM1QyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUM7U0FDMUI7SUFDTCxDQUFDO0lB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SSxPQUFPLElBQUksT0FBTzt3QkFDckcsRUFBRSxHQUFHLFFBQVEsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsUUFBUSxJQUFJLEVBQUUsR0FBRyxRQUFRLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO3FCQUM5RixDQUFDO2FBQ1Q7U0FDSjthQUFNLElBQUksQ0FBQSxNQUFBLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVywwQ0FBRSxTQUFTLEtBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUU7WUFDaEUsRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3BELEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBQ2IsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7WUFDYixPQUFPLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO1NBQ2hFO1FBRUQsT0FBTyxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztJQUNqRSxDQUFDO0NBQ0osQ0FBQTtBQTFGWSxrQkFBa0I7SUFDZCxXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0dBRDdCLGtCQUFrQixDQTBGOUI7U0ExRlksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHYW50dExpbmtJdGVtLCBHYW50dExpbmtUeXBlIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3MvbGluayc7XG5pbXBvcnQgeyBHYW50dFVwcGVyLCBHQU5UVF9VUFBFUl9UT0tFTiB9IGZyb20gJy4uLy4uLy4uL2dhbnR0LXVwcGVyJztcbmltcG9ydCB7IEdhbnR0TGlua0xpbmUgfSBmcm9tICcuL2xpbmUnO1xuXG5leHBvcnQgY2xhc3MgR2FudHRMaW5rTGluZUN1cnZlIGV4dGVuZHMgR2FudHRMaW5rTGluZSB7XG4gICAgY29uc3RydWN0b3IoQEluamVjdChHQU5UVF9VUFBFUl9UT0tFTikgcHJpdmF0ZSBnYW50dFVwcGVyOiBHYW50dFVwcGVyKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgZ2VuZXJhdGVTU1BhdGgoc291cmNlOiBHYW50dExpbmtJdGVtLCB0YXJnZXQ6IEdhbnR0TGlua0l0ZW0pIHtcbiAgICAgICAgY29uc3QgeDEgPSBzb3VyY2UuYmVmb3JlLng7XG4gICAgICAgIGNvbnN0IHkxID0gc291cmNlLmJlZm9yZS55O1xuICAgICAgICBjb25zdCB4NCA9IHRhcmdldC5iZWZvcmUueDtcbiAgICAgICAgY29uc3QgeTQgPSB0YXJnZXQuYmVmb3JlLnk7XG4gICAgICAgIGNvbnN0IGlzTWlycm9yID0geTQgPiB5MSA/IDAgOiAxO1xuICAgICAgICBjb25zdCByYWRpdXMgPSBNYXRoLmFicyh5NCAtIHkxKSAvIDI7XG5cbiAgICAgICAgaWYgKHg0ID4geDEpIHtcbiAgICAgICAgICAgIHJldHVybiBgTSAke3gxfSAke3kxfVxuICAgICAgICAgICAgICAgICAgICBBICR7cmFkaXVzfSAke3JhZGl1c30gMCAxICR7aXNNaXJyb3J9ICR7eDF9ICR7eTR9XG4gICAgICAgICAgICAgICAgICAgIEwgJHt4NH0gJHt5NH1gO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGBNICR7eDF9ICR7eTF9XG4gICAgICAgICAgICAgICAgICAgIEwgJHt4NH0gJHt5MX1cbiAgICAgICAgICAgICAgICAgICAgQSAke3JhZGl1c30gJHtyYWRpdXN9IDAgMSAke2lzTWlycm9yfSAke3g0fSAke3k0fWA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2VuZXJhdGVGRlBhdGgoc291cmNlOiBHYW50dExpbmtJdGVtLCB0YXJnZXQ6IEdhbnR0TGlua0l0ZW0pIHtcbiAgICAgICAgY29uc3QgeDEgPSBzb3VyY2UuYWZ0ZXIueDtcbiAgICAgICAgY29uc3QgeTEgPSBzb3VyY2UuYWZ0ZXIueTtcbiAgICAgICAgY29uc3QgeDQgPSB0YXJnZXQuYWZ0ZXIueDtcbiAgICAgICAgY29uc3QgeTQgPSB0YXJnZXQuYWZ0ZXIueTtcbiAgICAgICAgY29uc3QgaXNNaXJyb3IgPSB5NCA+IHkxID8gMSA6IDA7XG4gICAgICAgIGNvbnN0IHJhZGl1cyA9IE1hdGguYWJzKHk0IC0geTEpIC8gMjtcbiAgICAgICAgaWYgKHg0ID4geDEpIHtcbiAgICAgICAgICAgIHJldHVybiBgTSAke3gxfSAke3kxfVxuICAgICAgICAgICAgICAgICAgICBMICR7eDR9ICR7eTF9XG4gICAgICAgICAgICAgICAgICAgIEEgJHtyYWRpdXN9ICR7cmFkaXVzfSAwIDEgJHtpc01pcnJvcn0gJHt4NH0gJHt5NH1gO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGBNICR7eDF9ICR7eTF9XG4gICAgICAgICAgICAgICAgICAgIEEgJHtyYWRpdXN9ICR7cmFkaXVzfSAwIDEgJHtpc01pcnJvcn0gJHt4MX0gJHt5NH1cbiAgICAgICAgICAgICAgICAgICAgTCAke3g0fSAke3k0fWA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZW5lcmF0ZUZTQW5kU0ZQYXRoKHNvdXJjZTogR2FudHRMaW5rSXRlbSwgdGFyZ2V0OiBHYW50dExpbmtJdGVtLCB0eXBlPzogR2FudHRMaW5rVHlwZSkge1xuICAgICAgICBsZXQgeDEgPSBzb3VyY2UuYWZ0ZXIueDtcbiAgICAgICAgbGV0IHkxID0gc291cmNlLmFmdGVyLnk7XG4gICAgICAgIGxldCB4NCA9IHRhcmdldC5iZWZvcmUueDtcbiAgICAgICAgbGV0IHk0ID0gdGFyZ2V0LmJlZm9yZS55O1xuICAgICAgICBjb25zdCBiZXppZXJXZWlnaHQgPSAwLjU7XG5cbiAgICAgICAgaWYgKHR5cGUgPT09IEdhbnR0TGlua1R5cGUuc2YpIHtcbiAgICAgICAgICAgIHgxID0gdGFyZ2V0LmFmdGVyLng7XG4gICAgICAgICAgICB5MSA9IHRhcmdldC5hZnRlci55O1xuICAgICAgICAgICAgeDQgPSBzb3VyY2UuYmVmb3JlLng7XG4gICAgICAgICAgICB5NCA9IHNvdXJjZS5iZWZvcmUueTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBkeCA9IE1hdGguYWJzKHg0IC0geDEpICogYmV6aWVyV2VpZ2h0O1xuICAgICAgICBsZXQgeDIgPSB4MSArIGR4O1xuICAgICAgICBsZXQgeDMgPSB4NCAtIGR4O1xuXG4gICAgICAgIGNvbnN0IGNlbnRlclggPSAoeDEgKyB4NCkgLyAyO1xuICAgICAgICBjb25zdCBjZW50ZXJZID0gKHkxICsgeTQpIC8gMjtcblxuICAgICAgICBsZXQgY29udHJvbFggPSB0aGlzLmdhbnR0VXBwZXIuc3R5bGVzLmxpbmVIZWlnaHQgLyAyO1xuICAgICAgICBjb25zdCBjb250cm9sWSA9IHRoaXMuZ2FudHRVcHBlci5zdHlsZXMubGluZUhlaWdodCAvIDI7XG5cbiAgICAgICAgaWYgKHgxID49IHg0KSB7XG4gICAgICAgICAgICBpZiAoTWF0aC5hYnMoeTQgLSB5MSkgPD0gdGhpcy5nYW50dFVwcGVyLnN0eWxlcy5saW5lSGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGBNICR7eDF9ICR7eTF9XG4gICAgICAgICAgICAgICAgICAgIEMgJHt4MSArIGNvbnRyb2xYfSAke3kxfSAke3gxICsgY29udHJvbFh9ICR7eTQgPiB5MSA/IHkxICsgY29udHJvbFggOiB5MSAtIGNvbnRyb2xYfSAke3gxfSAke1xuICAgICAgICAgICAgICAgICAgICB5NCA+IHkxID8geTEgKyBjb250cm9sWSA6IHkxIC0gY29udHJvbFlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEwgJHt4NH0gJHt5NCA+IHkxID8geTQgLSBjb250cm9sWSA6IHk0ICsgY29udHJvbFl9XG4gICAgICAgICAgICAgICAgICAgIEMgJHt4NCAtIGNvbnRyb2xZfSAke3k0ID4geTEgPyB5NCAtIGNvbnRyb2xZIDogeTQgKyBjb250cm9sWX0gICR7eDQgLSBjb250cm9sWH0gJHt5NH0gJHt4NH0gJHt5NH1cbiAgICAgICAgICAgICAgICAgICAgYDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29udHJvbFggPSB0aGlzLmdhbnR0VXBwZXIuc3R5bGVzLmxpbmVIZWlnaHQ7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGBNICR7eDF9ICR7eTF9XG4gICAgICAgICAgICAgICAgICAgIEMgJHt4MSArIGNvbnRyb2xYfSAke3kxfSAke3gxICsgY29udHJvbFh9ICR7eTQgPiB5MSA/IHkxICsgY29udHJvbFggOiB5MSAtIGNvbnRyb2xYfSAke2NlbnRlclh9ICR7Y2VudGVyWX1cbiAgICAgICAgICAgICAgICAgICAgQyAke3g0IC0gY29udHJvbFh9ICR7eTQgPiB5MSA/IHk0IC0gY29udHJvbFggOiB5NCArIGNvbnRyb2xYfSAke3g0IC0gY29udHJvbFh9ICR7eTR9ICR7eDR9ICR7eTR9XG4gICAgICAgICAgICAgICAgICAgIGA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5nYW50dFVwcGVyLmxpbmtPcHRpb25zPy5zaG93QXJyb3cgJiYgeDQgLSB4MSA8IDIwMCkge1xuICAgICAgICAgICAgZHggPSBNYXRoLm1heChNYXRoLmFicyh5NCAtIHkxKSAqIGJlemllcldlaWdodCwgNjApO1xuICAgICAgICAgICAgeDIgPSB4MSArIGR4O1xuICAgICAgICAgICAgeDMgPSB4NCAtIGR4O1xuICAgICAgICAgICAgcmV0dXJuIGBNICR7eDF9ICR7eTF9IEMgJHt4Mn0gJHt5MX0gJHt4M30gJHt5NH0gJHt4NH0gJHt5NH1gO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGBNICR7eDF9ICR7eTF9IEMgJHt4Mn0gJHt5MX0gJHt4M30gJHt5NH0gJHt4NH0gJHt5NH1gO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter, HostBinding, Inject } from '@angular/core';
|
|
2
|
-
import { merge, Subject } from 'rxjs';
|
|
3
|
-
import { takeUntil, skip, debounceTime } from 'rxjs/operators';
|
|
4
|
-
import { recursiveItems } from '../../utils/helpers';
|
|
5
|
-
import { GANTT_UPPER_TOKEN } from '../../gantt-upper';
|
|
6
|
-
import { LinkColors, GanttLinkType } from '../../class/link';
|
|
7
|
-
import { createLineGenerator } from './lines/factory';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "../../gantt-drag-container";
|
|
10
|
-
import * as i2 from "@angular/common";
|
|
11
|
-
import * as i3 from "../../gantt-upper";
|
|
12
|
-
export class GanttLinksComponent {
|
|
13
|
-
constructor(ganttUpper, cdr, elementRef, ganttDragContainer) {
|
|
14
|
-
this.ganttUpper = ganttUpper;
|
|
15
|
-
this.cdr = cdr;
|
|
16
|
-
this.elementRef = elementRef;
|
|
17
|
-
this.ganttDragContainer = ganttDragContainer;
|
|
18
|
-
this.groups = [];
|
|
19
|
-
this.items = [];
|
|
20
|
-
this.lineClick = new EventEmitter();
|
|
21
|
-
this.links = [];
|
|
22
|
-
this.ganttLinkTypes = GanttLinkType;
|
|
23
|
-
this.showArrow = false;
|
|
24
|
-
this.linkItems = [];
|
|
25
|
-
this.firstChange = true;
|
|
26
|
-
this.unsubscribe$ = new Subject();
|
|
27
|
-
this.ganttLinksOverlay = true;
|
|
28
|
-
}
|
|
29
|
-
ngOnInit() {
|
|
30
|
-
this.linkLine = createLineGenerator(this.ganttUpper.linkOptions.lineType, this.ganttUpper);
|
|
31
|
-
this.showArrow = this.ganttUpper.linkOptions.showArrow;
|
|
32
|
-
this.buildLinks();
|
|
33
|
-
this.firstChange = false;
|
|
34
|
-
this.ganttDragContainer.dragStarted.pipe(takeUntil(this.unsubscribe$)).subscribe(() => {
|
|
35
|
-
this.elementRef.nativeElement.style.visibility = 'hidden';
|
|
36
|
-
});
|
|
37
|
-
merge(this.ganttUpper.viewChange, this.ganttUpper.expandChange, this.ganttUpper.view.start$, this.ganttUpper.dragEnded, this.ganttUpper.linkDragEnded)
|
|
38
|
-
.pipe(takeUntil(this.unsubscribe$), skip(1), debounceTime(0))
|
|
39
|
-
.subscribe(() => {
|
|
40
|
-
this.elementRef.nativeElement.style.visibility = 'visible';
|
|
41
|
-
this.buildLinks();
|
|
42
|
-
this.cdr.detectChanges();
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
ngOnChanges() {
|
|
46
|
-
if (!this.firstChange) {
|
|
47
|
-
this.buildLinks();
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
computeItemPosition() {
|
|
51
|
-
const lineHeight = this.ganttUpper.styles.lineHeight;
|
|
52
|
-
const barHeight = this.ganttUpper.styles.barHeight;
|
|
53
|
-
this.linkItems = [];
|
|
54
|
-
if (this.groups.length > 0) {
|
|
55
|
-
let itemNum = 0;
|
|
56
|
-
let groupNum = 0;
|
|
57
|
-
this.groups.forEach((group) => {
|
|
58
|
-
groupNum++;
|
|
59
|
-
if (group.expanded) {
|
|
60
|
-
const items = recursiveItems(group.items);
|
|
61
|
-
items.forEach((item, itemIndex) => {
|
|
62
|
-
const y = (groupNum + itemNum + itemIndex) * lineHeight + item.refs.y + barHeight / 2;
|
|
63
|
-
this.linkItems.push(Object.assign(Object.assign({}, item), { before: {
|
|
64
|
-
x: item.refs.x,
|
|
65
|
-
y
|
|
66
|
-
}, after: {
|
|
67
|
-
x: item.refs.x + item.refs.width,
|
|
68
|
-
y
|
|
69
|
-
} }));
|
|
70
|
-
});
|
|
71
|
-
itemNum += items.length;
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
const items = recursiveItems(this.items);
|
|
77
|
-
items.forEach((item, itemIndex) => {
|
|
78
|
-
const y = itemIndex * lineHeight + item.refs.y + barHeight / 2;
|
|
79
|
-
this.linkItems.push(Object.assign(Object.assign({}, item), { before: {
|
|
80
|
-
x: item.refs.x,
|
|
81
|
-
y
|
|
82
|
-
}, after: {
|
|
83
|
-
x: item.refs.x + item.refs.width,
|
|
84
|
-
y
|
|
85
|
-
} }));
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
buildLinks() {
|
|
90
|
-
this.computeItemPosition();
|
|
91
|
-
this.links = [];
|
|
92
|
-
this.linkItems.forEach((source) => {
|
|
93
|
-
if (source.origin.start || source.origin.end) {
|
|
94
|
-
source.links.forEach((link) => {
|
|
95
|
-
const target = this.linkItems.find((item) => item.id === link.link);
|
|
96
|
-
if (target && (target.origin.start || target.origin.end)) {
|
|
97
|
-
let defaultColor = LinkColors.default;
|
|
98
|
-
let activeColor = LinkColors.active;
|
|
99
|
-
if (link.type === GanttLinkType.fs && source.end.getTime() > target.start.getTime()) {
|
|
100
|
-
defaultColor = LinkColors.blocked;
|
|
101
|
-
activeColor = LinkColors.blocked;
|
|
102
|
-
}
|
|
103
|
-
if (link.color) {
|
|
104
|
-
if (typeof link.color === 'string') {
|
|
105
|
-
defaultColor = link.color;
|
|
106
|
-
activeColor = link.color;
|
|
107
|
-
}
|
|
108
|
-
else {
|
|
109
|
-
defaultColor = link.color.default;
|
|
110
|
-
activeColor = link.color.active;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
this.links.push({
|
|
114
|
-
path: this.linkLine.generatePath(source, target, link.type),
|
|
115
|
-
source: source.origin,
|
|
116
|
-
target: target.origin,
|
|
117
|
-
type: link.type,
|
|
118
|
-
color: defaultColor,
|
|
119
|
-
defaultColor,
|
|
120
|
-
activeColor
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
trackBy(index) {
|
|
128
|
-
return index;
|
|
129
|
-
}
|
|
130
|
-
onLineClick(event, link) {
|
|
131
|
-
this.lineClick.emit({
|
|
132
|
-
event,
|
|
133
|
-
source: link.source,
|
|
134
|
-
target: link.target
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
mouseEnterPath(link, index) {
|
|
138
|
-
link.color = link.activeColor || link.defaultColor;
|
|
139
|
-
if (index < this.links.length - 1) {
|
|
140
|
-
this.links.splice(index, 1);
|
|
141
|
-
this.links.push(link);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
mouseLeavePath(link) {
|
|
145
|
-
link.color = link.defaultColor;
|
|
146
|
-
}
|
|
147
|
-
ngOnDestroy() {
|
|
148
|
-
this.unsubscribe$.next();
|
|
149
|
-
this.unsubscribe$.complete();
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
GanttLinksComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: GanttLinksComponent, deps: [{ token: GANTT_UPPER_TOKEN }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.GanttDragContainer }], target: i0.ɵɵFactoryTarget.Component });
|
|
153
|
-
GanttLinksComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: GanttLinksComponent, selector: "gantt-links-overlay", inputs: { groups: "groups", items: "items" }, outputs: { lineClick: "lineClick" }, host: { properties: { "class.gantt-links-overlay": "this.ganttLinksOverlay" } }, usesOnChanges: true, ngImport: i0, template: "<svg [attr.width]=\"ganttUpper.view.width\" class=\"gantt-links-overlay-main\">\n <ng-container *ngFor=\"let link of links; let i = index; trackBy: trackBy\">\n <path\n [attr.d]=\"link.path\"\n fill=\"transparent\"\n stroke-width=\"2\"\n [attr.stroke]=\"link.color\"\n pointer-events=\"none\"\n [attr.style]=\"link.type === ganttLinkTypes.sf ? 'marker-start: url(#triangle' + i + ')' : 'marker-end: url(#triangle' + i + ')'\"\n ></path>\n\n <g>\n <path\n class=\"link-line\"\n (click)=\"onLineClick($event, link)\"\n [attr.d]=\"link.path\"\n (mouseenter)=\"mouseEnterPath(link, i)\"\n (mouseleave)=\"mouseLeavePath(link)\"\n stroke=\"transparent\"\n stroke-width=\"9\"\n fill=\"none\"\n cursor=\"pointer\"\n ></path>\n </g>\n <defs *ngIf=\"showArrow\">\n <marker\n *ngIf=\"link.type === ganttLinkTypes.sf; else markerEnd\"\n [id]=\"'triangle' + i\"\n markerUnits=\"strokeWidth\"\n markerWidth=\"5\"\n markerHeight=\"4\"\n refX=\"5\"\n refY=\"2\"\n orient=\"180\"\n >\n <path [attr.fill]=\"link.color\" [attr.stroke]=\"link.color\" d=\"M 0 0 L 5 2 L 0 4 z\" />\n </marker>\n\n <ng-template #markerEnd>\n <marker [id]=\"'triangle' + i\" markerUnits=\"strokeWidth\" markerWidth=\"5\" markerHeight=\"4\" refX=\"5\" refY=\"2\" orient=\"auto\">\n <path [attr.fill]=\"link.color\" [attr.stroke]=\"link.color\" d=\"M 0 0 L 5 2 L 0 4 z\" />\n </marker>\n </ng-template>\n </defs>\n </ng-container>\n <line class=\"link-dragging-line\"></line>\n</svg>\n", directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
154
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: GanttLinksComponent, decorators: [{
|
|
155
|
-
type: Component,
|
|
156
|
-
args: [{
|
|
157
|
-
selector: 'gantt-links-overlay',
|
|
158
|
-
templateUrl: './links.component.html'
|
|
159
|
-
}]
|
|
160
|
-
}], ctorParameters: function () { return [{ type: i3.GanttUpper, decorators: [{
|
|
161
|
-
type: Inject,
|
|
162
|
-
args: [GANTT_UPPER_TOKEN]
|
|
163
|
-
}] }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.GanttDragContainer }]; }, propDecorators: { groups: [{
|
|
164
|
-
type: Input
|
|
165
|
-
}], items: [{
|
|
166
|
-
type: Input
|
|
167
|
-
}], lineClick: [{
|
|
168
|
-
type: Output
|
|
169
|
-
}], ganttLinksOverlay: [{
|
|
170
|
-
type: HostBinding,
|
|
171
|
-
args: ['class.gantt-links-overlay']
|
|
172
|
-
}] } });
|
|
173
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2FudHQvc3JjL2NvbXBvbmVudHMvbGlua3MvbGlua3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2FudHQvc3JjL2NvbXBvbmVudHMvbGlua3MvbGlua3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUtULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQWMsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRSxPQUFPLEVBQStCLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUxRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFNdEQsTUFBTSxPQUFPLG1CQUFtQjtJQXVCNUIsWUFDc0MsVUFBc0IsRUFDaEQsR0FBc0IsRUFDdEIsVUFBc0IsRUFDdEIsa0JBQXNDO1FBSFosZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNoRCxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUExQnpDLFdBQU0sR0FBeUIsRUFBRSxDQUFDO1FBRWxDLFVBQUssR0FBd0IsRUFBRSxDQUFDO1FBRS9CLGNBQVMsR0FBRyxJQUFJLFlB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Q0FBQyxDQUFDO1NBQ3pCO0lBQ0wsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFrQjtRQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDbkMsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakMsQ0FBQzs7Z0hBaExRLG1CQUFtQixrQkF3QmhCLGlCQUFpQjtvR0F4QnBCLG1CQUFtQixvUEM3QmhDLGdwREErQ0E7MkZEbEJhLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixXQUFXLEVBQUUsd0JBQXdCO2lCQUN4Qzs7MEJBeUJRLE1BQU07MkJBQUMsaUJBQWlCO3NJQXZCcEIsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxTQUFTO3NCQUFsQixNQUFNO2dCQWdCbUMsaUJBQWlCO3NCQUExRCxXQUFXO3VCQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uSW5pdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBFbGVtZW50UmVmLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtZXJnZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsLCBza2lwLCBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBHYW50dEdyb3VwSW50ZXJuYWwgfSBmcm9tICcuLi8uLi9jbGFzcy9ncm91cCc7XG5pbXBvcnQgeyBHYW50dEl0ZW1JbnRlcm5hbCB9IGZyb20gJy4vLi4vLi4vY2xhc3MvaXRlbSc7XG5pbXBvcnQgeyBHYW50dExpbmVDbGlja0V2ZW50IH0gZnJvbSAnLi4vLi4vY2xhc3MvZXZlbnQnO1xuaW1wb3J0IHsgR2FudHREcmFnQ29udGFpbmVyIH0gZnJvbSAnLi4vLi4vZ2FudHQtZHJhZy1jb250YWluZXInO1xuaW1wb3J0IHsgcmVjdXJzaXZlSXRlbXMgfSBmcm9tICcuLi8uLi91dGlscy9oZWxwZXJzJztcbmltcG9ydCB7IEdBTlRUX1VQUEVSX1RPS0VOLCBHYW50dFVwcGVyIH0gZnJvbSAnLi4vLi4vZ2FudHQtdXBwZXInO1xuaW1wb3J0IHsgR2FudHRMaW5rSXRlbSwgTGlua0ludGVybmFsLCBMaW5rQ29sb3JzLCBHYW50dExpbmtUeXBlIH0gZnJvbSAnLi4vLi4vY2xhc3MvbGluayc7XG5pbXBvcnQgeyBHYW50dExpbmtMaW5lIH0gZnJvbSAnLi9saW5lcy9saW5lJztcbmltcG9ydCB7IGNyZWF0ZUxpbmVHZW5lcmF0b3IgfSBmcm9tICcuL2xpbmVzL2ZhY3RvcnknO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2dhbnR0LWxpbmtzLW92ZXJsYXknLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9saW5rcy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgR2FudHRMaW5rc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIGdyb3VwczogR2FudHRHcm91cEludGVybmFsW10gPSBbXTtcblxuICAgIEBJbnB1dCgpIGl0ZW1zOiBHYW50dEl0ZW1JbnRlcm5hbFtdID0gW107XG5cbiAgICBAT3V0cHV0KCkgbGluZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxHYW50dExpbmVDbGlja0V2ZW50PigpO1xuXG4gICAgcHVibGljIGxpbmtzOiBMaW5rSW50ZXJuYWxbXSA9IFtdO1xuXG4gICAgcHVibGljIGdhbnR0TGlua1R5cGVzID0gR2FudHRMaW5rVHlwZTtcblxuICAgIHB1YmxpYyBzaG93QXJyb3cgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgbGlua0l0ZW1zOiBHYW50dExpbmtJdGVtW10gPSBbXTtcblxuICAgIHByaXZhdGUgZmlyc3RDaGFuZ2UgPSB0cnVlO1xuXG4gICAgcHJpdmF0ZSBsaW5rTGluZTogR2FudHRMaW5rTGluZTtcblxuICAgIHByaXZhdGUgdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3QoKTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZ2FudHQtbGlua3Mtb3ZlcmxheScpIGdhbnR0TGlua3NPdmVybGF5ID0gdHJ1ZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEdBTlRUX1VQUEVSX1RPS0VOKSBwdWJsaWMgZ2FudHRVcHBlcjogR2FudHRVcHBlcixcbiAgICAgICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgZ2FudHREcmFnQ29udGFpbmVyOiBHYW50dERyYWdDb250YWluZXJcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5saW5rTGluZSA9IGNyZWF0ZUxpbmVHZW5lcmF0b3IodGhpcy5nYW50dFVwcGVyLmxpbmtPcHRpb25zLmxpbmVUeXBlLCB0aGlzLmdhbnR0VXBwZXIpO1xuXG4gICAgICAgIHRoaXMuc2hvd0Fycm93ID0gdGhpcy5nYW50dFVwcGVyLmxpbmtPcHRpb25zLnNob3dBcnJvdztcbiAgICAgICAgdGhpcy5idWlsZExpbmtzKCk7XG4gICAgICAgIHRoaXMuZmlyc3RDaGFuZ2UgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLmdhbnR0RHJhZ0NvbnRhaW5lci5kcmFnU3RhcnRlZC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgdGhpcy5nYW50dFVwcGVyLnZpZXdDaGFuZ2UsXG4gICAgICAgICAgICB0aGlzLmdhbnR0VXBwZXIuZXhwYW5kQ2hhbmdlLFxuICAgICAgICAgICAgdGhpcy5nYW50dFVwcGVyLnZpZXcuc3RhcnQkLFxuICAgICAgICAgICAgdGhpcy5nYW50dFVwcGVyLmRyYWdFbmRlZCxcbiAgICAgICAgICAgIHRoaXMuZ2FudHRVcHBlci5saW5rRHJhZ0VuZGVkXG4gICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCksIHNraXAoMSksIGRlYm91bmNlVGltZSgwKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSAndmlzaWJsZSc7XG4gICAgICAgICAgICAgICAgdGhpcy5idWlsZExpbmtzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoKSB7XG4gICAgICAgIGlmICghdGhpcy5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5idWlsZExpbmtzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbXB1dGVJdGVtUG9zaXRpb24oKSB7XG4gICAgICAgIGNvbnN0IGxpbmVIZWlnaHQgPSB0aGlzLmdhbnR0VXBwZXIuc3R5bGVzLmxpbmVIZWlnaHQ7XG4gICAgICAgIGNvbnN0IGJhckhlaWdodCA9IHRoaXMuZ2FudHRVcHBlci5zdHlsZXMuYmFySGVpZ2h0O1xuICAgICAgICB0aGlzLmxpbmtJdGVtcyA9IFtdO1xuICAgICAgICBpZiAodGhpcy5ncm91cHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgbGV0IGl0ZW1OdW0gPSAwO1xuICAgICAgICAgICAgbGV0IGdyb3VwTnVtID0gMDtcbiAgICAgICAgICAgIHRoaXMuZ3JvdXBzLmZvckVhY2goKGdyb3VwKSA9PiB7XG4gICAgICAgICAgICAgICAgZ3JvdXBOdW0rKztcbiAgICAgICAgICAgICAgICBpZiAoZ3JvdXAuZXhwYW5kZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXRlbXMgPSByZWN1cnNpdmVJdGVtcyhncm91cC5pdGVtcyk7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0sIGl0ZW1JbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeSA9IChncm91cE51bSArIGl0ZW1OdW0gKyBpdGVtSW5kZXgpICogbGluZUhlaWdodCArIGl0ZW0ucmVmcy55ICsgYmFySGVpZ2h0IC8gMjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubGlua0l0ZW1zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVmb3JlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHg6IGl0ZW0ucmVmcy54LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZnRlcjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4OiBpdGVtLnJlZnMueCArIGl0ZW0ucmVmcy53aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbU51bSArPSBpdGVtcy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBpdGVtcyA9IHJlY3Vyc2l2ZUl0ZW1zKHRoaXMuaXRlbXMpO1xuICAgICAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSwgaXRlbUluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgeSA9IGl0ZW1JbmRleCAqIGxpbmVIZWlnaHQgKyBpdGVtLnJlZnMueSArIGJhckhlaWdodCAvIDI7XG4gICAgICAgICAgICAgICAgdGhpcy5saW5rSXRlbXMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICAgICAgICAgIGJlZm9yZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgeDogaXRlbS5yZWZzLngsXG4gICAgICAgICAgICAgICAgICAgICAgICB5XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGFmdGVyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB4OiBpdGVtLnJlZnMueCArIGl0ZW0ucmVmcy53aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHlcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBidWlsZExpbmtzKCkge1xuICAgICAgICB0aGlzLmNvbXB1dGVJdGVtUG9zaXRpb24oKTtcbiAgICAgICAgdGhpcy5saW5rcyA9IFtdO1xuICAgICAgICB0aGlzLmxpbmtJdGVtcy5mb3JFYWNoKChzb3VyY2UpID0+IHtcbiAgICAgICAgICAgIGlmIChzb3VyY2Uub3JpZ2luLnN0YXJ0IHx8IHNvdXJjZS5vcmlnaW4uZW5kKSB7XG4gICAgICAgICAgICAgICAgc291cmNlLmxpbmtzLmZvckVhY2goKGxpbmspID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gdGhpcy5saW5rSXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gbGluay5saW5rKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRhcmdldCAmJiAodGFyZ2V0Lm9yaWdpbi5zdGFydCB8fCB0YXJnZXQub3JpZ2luLmVuZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBkZWZhdWx0Q29sb3I6IHN0cmluZyA9IExpbmtDb2xvcnMuZGVmYXVsdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBhY3RpdmVDb2xvcjogc3RyaW5nID0gTGlua0NvbG9ycy5hY3RpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsaW5rLnR5cGUgPT09IEdhbnR0TGlua1R5cGUuZnMgJiYgc291cmNlLmVuZC5nZXRUaW1lKCkgPiB0YXJnZXQuc3RhcnQuZ2V0VGltZSgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdENvbG9yID0gTGlua0NvbG9ycy5ibG9ja2VkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZUNvbG9yID0gTGlua0NvbG9ycy5ibG9ja2VkO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxpbmsuY29sb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGxpbmsuY29sb3IgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRDb2xvciA9IGxpbmsuY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZUNvbG9yID0gbGluay5jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0Q29sb3IgPSBsaW5rLmNvbG9yLmRlZmF1bHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZUNvbG9yID0gbGluay5jb2xvci5hY3RpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxpbmtzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IHRoaXMubGlua0xpbmUuZ2VuZXJhdGVQYXRoKHNvdXJjZSwgdGFyZ2V0LCBsaW5rLnR5cGUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZTogc291cmNlLm9yaWdpbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IHRhcmdldC5vcmlnaW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogbGluay50eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0Q29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdENvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZUNvbG9yXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB0cmFja0J5KGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgIH1cblxuICAgIG9uTGluZUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50LCBsaW5rOiBMaW5rSW50ZXJuYWwpIHtcbiAgICAgICAgdGhpcy5saW5lQ2xpY2suZW1pdCh7XG4gICAgICAgICAgICBldmVudCxcbiAgICAgICAgICAgIHNvdXJjZTogbGluay5zb3VyY2UsXG4gICAgICAgICAgICB0YXJnZXQ6IGxpbmsudGFyZ2V0XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG1vdXNlRW50ZXJQYXRoKGxpbms6IExpbmtJbnRlcm5hbCwgaW5kZXg6IG51bWJlcikge1xuICAgICAgICBsaW5rLmNvbG9yID0gbGluay5hY3RpdmVDb2xvciB8fCBsaW5rLmRlZmF1bHRDb2xvcjtcbiAgICAgICAgaWYgKGluZGV4IDwgdGhpcy5saW5rcy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICB0aGlzLmxpbmtzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICB0aGlzLmxpbmtzLnB1c2gobGluayk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBtb3VzZUxlYXZlUGF0aChsaW5rOiBMaW5rSW50ZXJuYWwpIHtcbiAgICAgICAgbGluay5jb2xvciA9IGxpbmsuZGVmYXVsdENvbG9yO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIiwiPHN2ZyBbYXR0ci53aWR0aF09XCJnYW50dFVwcGVyLnZpZXcud2lkdGhcIiBjbGFzcz1cImdhbnR0LWxpbmtzLW92ZXJsYXktbWFpblwiPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBsaW5rIG9mIGxpbmtzOyBsZXQgaSA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5XCI+XG4gICAgPHBhdGhcbiAgICAgIFthdHRyLmRdPVwibGluay5wYXRoXCJcbiAgICAgIGZpbGw9XCJ0cmFuc3BhcmVudFwiXG4gICAgICBzdHJva2Utd2lkdGg9XCIyXCJcbiAgICAgIFthdHRyLnN0cm9rZV09XCJsaW5rLmNvbG9yXCJcbiAgICAgIHBvaW50ZXItZXZlbnRzPVwibm9uZVwiXG4gICAgICBbYXR0ci5zdHlsZV09XCJsaW5rLnR5cGUgPT09IGdhbnR0TGlua1R5cGVzLnNmID8gJ21hcmtlci1zdGFydDogdXJsKCN0cmlhbmdsZScgKyBpICsgJyknIDogJ21hcmtlci1lbmQ6IHVybCgjdHJpYW5nbGUnICsgaSArICcpJ1wiXG4gICAgPjwvcGF0aD5cblxuICAgIDxnPlxuICAgICAgPHBhdGhcbiAgICAgICAgY2xhc3M9XCJsaW5rLWxpbmVcIlxuICAgICAgICAoY2xpY2spPVwib25MaW5lQ2xpY2soJGV2ZW50LCBsaW5rKVwiXG4gICAgICAgIFthdHRyLmRdPVwibGluay5wYXRoXCJcbiAgICAgICAgKG1vdXNlZW50ZXIpPVwibW91c2VFbnRlclBhdGgobGluaywgaSlcIlxuICAgICAgICAobW91c2VsZWF2ZSk9XCJtb3VzZUxlYXZlUGF0aChsaW5rKVwiXG4gICAgICAgIHN0cm9rZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgc3Ryb2tlLXdpZHRoPVwiOVwiXG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgY3Vyc29yPVwicG9pbnRlclwiXG4gICAgICA+PC9wYXRoPlxuICAgIDwvZz5cbiAgICA8ZGVmcyAqbmdJZj1cInNob3dBcnJvd1wiPlxuICAgICAgPG1hcmtlclxuICAgICAgICAqbmdJZj1cImxpbmsudHlwZSA9PT0gZ2FudHRMaW5rVHlwZXMuc2Y7IGVsc2UgbWFya2VyRW5kXCJcbiAgICAgICAgW2lkXT1cIid0cmlhbmdsZScgKyBpXCJcbiAgICAgICAgbWFya2VyVW5pdHM9XCJzdHJva2VXaWR0aFwiXG4gICAgICAgIG1hcmtlcldpZHRoPVwiNVwiXG4gICAgICAgIG1hcmtlckhlaWdodD1cIjRcIlxuICAgICAgICByZWZYPVwiNVwiXG4gICAgICAgIHJlZlk9XCIyXCJcbiAgICAgICAgb3JpZW50PVwiMTgwXCJcbiAgICAgID5cbiAgICAgICAgPHBhdGggW2F0dHIuZmlsbF09XCJsaW5rLmNvbG9yXCIgW2F0dHIuc3Ryb2tlXT1cImxpbmsuY29sb3JcIiBkPVwiTSAwIDAgTCA1IDIgTCAwIDQgelwiIC8+XG4gICAgICA8L21hcmtlcj5cblxuICAgICAgPG5nLXRlbXBsYXRlICNtYXJrZXJFbmQ+XG4gICAgICAgIDxtYXJrZXIgW2lkXT1cIid0cmlhbmdsZScgKyBpXCIgbWFya2VyVW5pdHM9XCJzdHJva2VXaWR0aFwiIG1hcmtlcldpZHRoPVwiNVwiIG1hcmtlckhlaWdodD1cIjRcIiByZWZYPVwiNVwiIHJlZlk9XCIyXCIgb3JpZW50PVwiYXV0b1wiPlxuICAgICAgICAgIDxwYXRoIFthdHRyLmZpbGxdPVwibGluay5jb2xvclwiIFthdHRyLnN0cm9rZV09XCJsaW5rLmNvbG9yXCIgZD1cIk0gMCAwIEwgNSAyIEwgMCA0IHpcIiAvPlxuICAgICAgICA8L21hcmtlcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kZWZzPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPGxpbmUgY2xhc3M9XCJsaW5rLWRyYWdnaW5nLWxpbmVcIj48L2xpbmU+XG48L3N2Zz5cbiJdfQ==
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { Component, HostBinding, Inject, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
-
import { GANTT_UPPER_TOKEN } from '../../gantt-upper';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../links/links.component";
|
|
5
|
-
import * as i2 from "../range/range.component";
|
|
6
|
-
import * as i3 from "../bar/bar.component";
|
|
7
|
-
import * as i4 from "@angular/common";
|
|
8
|
-
import * as i5 from "../../gantt.pipe";
|
|
9
|
-
import * as i6 from "../../gantt-upper";
|
|
10
|
-
export class GanttMainComponent {
|
|
11
|
-
constructor(ganttUpper) {
|
|
12
|
-
this.ganttUpper = ganttUpper;
|
|
13
|
-
this.barClick = new EventEmitter();
|
|
14
|
-
this.lineClick = new EventEmitter();
|
|
15
|
-
this.ganttMainClass = true;
|
|
16
|
-
}
|
|
17
|
-
ngOnInit() { }
|
|
18
|
-
trackBy(index, item) {
|
|
19
|
-
return item.id || index;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
GanttMainComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: GanttMainComponent, deps: [{ token: GANTT_UPPER_TOKEN }], target: i0.ɵɵFactoryTarget.Component });
|
|
23
|
-
GanttMainComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: GanttMainComponent, selector: "gantt-main", inputs: { groups: "groups", items: "items", groupHeaderTemplate: "groupHeaderTemplate", itemTemplate: "itemTemplate", barTemplate: "barTemplate", rangeTemplate: "rangeTemplate" }, outputs: { barClick: "barClick", lineClick: "lineClick" }, host: { properties: { "class.gantt-main-container": "this.ganttMainClass" } }, ngImport: i0, template: "<gantt-links-overlay [groups]=\"groups\" [items]=\"items\" (lineClick)=\"lineClick.emit($event)\"></gantt-links-overlay>\n<!-- groups -->\n<div class=\"gantt-main-groups\" *ngIf=\"groups && groups.length > 0; else itemsTemplate\" [style.width.px]=\"ganttUpper.view.width\">\n <ng-container *ngFor=\"let group of groups; trackBy: trackBy\">\n <div class=\"gantt-group\" [ngClass]=\"group.class\">\n <ng-template [ngTemplateOutlet]=\"groupHeaderTemplate\" [ngTemplateOutletContext]=\"{ group: group }\"></ng-template>\n </div>\n <div *ngIf=\"group.expanded\" class=\"gantt-items\">\n <ng-template [ngTemplateOutlet]=\"ganttItems\" [ngTemplateOutletContext]=\"{ items: group.items }\"></ng-template>\n </div>\n </ng-container>\n</div>\n<!-- items -->\n<ng-template #itemsTemplate>\n <div class=\"gantt-main-items\" [style.width.px]=\"ganttUpper.view.width\">\n <ng-template [ngTemplateOutlet]=\"ganttItems\" [ngTemplateOutletContext]=\"{ items: items }\"></ng-template>\n </div>\n</ng-template>\n\n<ng-template #ganttItems let-items=\"items\">\n <ng-container *ngFor=\"let item of items;\">\n <div\n class=\"gantt-item\"\n [style.height.px]=\"ganttUpper.styles.lineHeight\"\n [class.gantt-main-item-active]=\"ganttUpper.isSelected(item.id)\"\n >\n <ng-container *ngIf=\"item.type | isGanttCustomItem\">\n <ng-template [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ item: item.origin, refs: item.refs }\"></ng-template>\n </ng-container>\n <gantt-range *ngIf=\"item.type | isGanttRangeItem\" [template]=\"rangeTemplate\" [item]=\"item\"></gantt-range>\n <gantt-bar *ngIf=\"item.type | isGanttBarItem\" [item]=\"item\" [template]=\"barTemplate\" (barClick)=\"barClick.emit($event)\"></gantt-bar>\n </div>\n <ng-template\n *ngIf=\"item.children && item.expanded\"\n [ngTemplateOutlet]=\"ganttItems\"\n [ngTemplateOutletContext]=\"{ items: item.children }\"\n ></ng-template>\n </ng-container>\n</ng-template>\n", components: [{ type: i1.GanttLinksComponent, selector: "gantt-links-overlay", inputs: ["groups", "items"], outputs: ["lineClick"] }, { type: i2.NgxGanttRangeComponent, selector: "ngx-gantt-range,gantt-range" }, { type: i3.NgxGanttBarComponent, selector: "ngx-gantt-bar,gantt-bar", outputs: ["barClick"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "isGanttCustomItem": i5.IsGanttCustomItemPipe, "isGanttRangeItem": i5.IsGanttRangeItemPipe, "isGanttBarItem": i5.IsGanttBarItemPipe } });
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: GanttMainComponent, decorators: [{
|
|
25
|
-
type: Component,
|
|
26
|
-
args: [{
|
|
27
|
-
selector: 'gantt-main',
|
|
28
|
-
templateUrl: './gantt-main.component.html'
|
|
29
|
-
}]
|
|
30
|
-
}], ctorParameters: function () { return [{ type: i6.GanttUpper, decorators: [{
|
|
31
|
-
type: Inject,
|
|
32
|
-
args: [GANTT_UPPER_TOKEN]
|
|
33
|
-
}] }]; }, propDecorators: { groups: [{
|
|
34
|
-
type: Input
|
|
35
|
-
}], items: [{
|
|
36
|
-
type: Input
|
|
37
|
-
}], groupHeaderTemplate: [{
|
|
38
|
-
type: Input
|
|
39
|
-
}], itemTemplate: [{
|
|
40
|
-
type: Input
|
|
41
|
-
}], barTemplate: [{
|
|
42
|
-
type: Input
|
|
43
|
-
}], rangeTemplate: [{
|
|
44
|
-
type: Input
|
|
45
|
-
}], barClick: [{
|
|
46
|
-
type: Output
|
|
47
|
-
}], lineClick: [{
|
|
48
|
-
type: Output
|
|
49
|
-
}], ganttMainClass: [{
|
|
50
|
-
type: HostBinding,
|
|
51
|
-
args: ['class.gantt-main-container']
|
|
52
|
-
}] } });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FudHQtbWFpbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvY29tcG9uZW50cy9tYWluL2dhbnR0LW1haW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2FudHQvc3JjL2NvbXBvbmVudHMvbWFpbi9nYW50dC1tYWluLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxTQUFTLEVBQVUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqSCxPQUFPLEVBQUUsaUJBQWlCLEVBQWMsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7QUFNbEUsTUFBTSxPQUFPLGtCQUFrQjtJQW1CM0IsWUFBOEMsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQU4xRCxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUFFbEQsY0FBUyxHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO1FBRW5CLG1CQUFjLEdBQUcsSUFBSSxDQUFDO0lBRU0sQ0FBQztJQUV4RSxRQUFRLEtBQUksQ0FBQztJQUViLE9BQU8sQ0FBQyxLQUFhLEVBQUUsSUFBNEM7UUFDL0QsT0FBTyxJQUFJLENBQUMsRUFBRSxJQUFJLEtBQUssQ0FBQztJQUM1QixDQUFDOzsrR0F6QlEsa0JBQWtCLGtCQW1CUCxpQkFBaUI7bUdBbkI1QixrQkFBa0IsZ1hDVi9CLDQrREF1Q0E7MkZEN0JhLGtCQUFrQjtrQkFKOUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsV0FBVyxFQUFFLDZCQUE2QjtpQkFDN0M7OzBCQW9CZ0IsTUFBTTsyQkFBQyxpQkFBaUI7NENBbEI1QixNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUVHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsYUFBYTtzQkFBckIsS0FBSztnQkFFSSxRQUFRO3NCQUFqQixNQUFNO2dCQUVHLFNBQVM7c0JBQWxCLE1BQU07Z0JBRW9DLGNBQWM7c0JBQXhELFdBQVc7dUJBQUMsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEhvc3RCaW5kaW5nLCBJbmplY3QsIElucHV0LCBUZW1wbGF0ZVJlZiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdhbnR0R3JvdXBJbnRlcm5hbCwgR2FudHRJdGVtSW50ZXJuYWwsIEdhbnR0QmFyQ2xpY2tFdmVudCwgR2FudHRMaW5lQ2xpY2tFdmVudCB9IGZyb20gJy4uLy4uL2NsYXNzJztcbmltcG9ydCB7IEdBTlRUX1VQUEVSX1RPS0VOLCBHYW50dFVwcGVyIH0gZnJvbSAnLi4vLi4vZ2FudHQtdXBwZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2dhbnR0LW1haW4nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9nYW50dC1tYWluLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBHYW50dE1haW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIGdyb3VwczogR2FudHRHcm91cEludGVybmFsW107XG5cbiAgICBASW5wdXQoKSBpdGVtczogR2FudHRJdGVtSW50ZXJuYWxbXTtcblxuICAgIEBJbnB1dCgpIGdyb3VwSGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBASW5wdXQoKSBpdGVtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBASW5wdXQoKSBiYXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBJbnB1dCgpIHJhbmdlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAT3V0cHV0KCkgYmFyQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEdhbnR0QmFyQ2xpY2tFdmVudD4oKTtcblxuICAgIEBPdXRwdXQoKSBsaW5lQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEdhbnR0TGluZUNsaWNrRXZlbnQ+KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmdhbnR0LW1haW4tY29udGFpbmVyJykgZ2FudHRNYWluQ2xhc3MgPSB0cnVlO1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChHQU5UVF9VUFBFUl9UT0tFTikgcHVibGljIGdhbnR0VXBwZXI6IEdhbnR0VXBwZXIpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHt9XG5cbiAgICB0cmFja0J5KGluZGV4OiBudW1iZXIsIGl0ZW06IEdhbnR0R3JvdXBJbnRlcm5hbCB8IEdhbnR0SXRlbUludGVybmFsKSB7XG4gICAgICAgIHJldHVybiBpdGVtLmlkIHx8IGluZGV4O1xuICAgIH1cbn1cbiIsIjxnYW50dC1saW5rcy1vdmVybGF5IFtncm91cHNdPVwiZ3JvdXBzXCIgW2l0ZW1zXT1cIml0ZW1zXCIgKGxpbmVDbGljayk9XCJsaW5lQ2xpY2suZW1pdCgkZXZlbnQpXCI+PC9nYW50dC1saW5rcy1vdmVybGF5PlxuPCEtLSBncm91cHMgLS0+XG48ZGl2IGNsYXNzPVwiZ2FudHQtbWFpbi1ncm91cHNcIiAqbmdJZj1cImdyb3VwcyAmJiBncm91cHMubGVuZ3RoID4gMDsgZWxzZSBpdGVtc1RlbXBsYXRlXCIgW3N0eWxlLndpZHRoLnB4XT1cImdhbnR0VXBwZXIudmlldy53aWR0aFwiPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBncm91cCBvZiBncm91cHM7IHRyYWNrQnk6IHRyYWNrQnlcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZ2FudHQtZ3JvdXBcIiBbbmdDbGFzc109XCJncm91cC5jbGFzc1wiPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImdyb3VwSGVhZGVyVGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBncm91cDogZ3JvdXAgfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImdyb3VwLmV4cGFuZGVkXCIgY2xhc3M9XCJnYW50dC1pdGVtc1wiPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImdhbnR0SXRlbXNcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtczogZ3JvdXAuaXRlbXMgfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG48IS0tIGl0ZW1zIC0tPlxuPG5nLXRlbXBsYXRlICNpdGVtc1RlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwiZ2FudHQtbWFpbi1pdGVtc1wiIFtzdHlsZS53aWR0aC5weF09XCJnYW50dFVwcGVyLnZpZXcud2lkdGhcIj5cbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiZ2FudHRJdGVtc1wiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW1zOiBpdGVtcyB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2dhbnR0SXRlbXMgbGV0LWl0ZW1zPVwiaXRlbXNcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtcztcIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImdhbnR0LWl0ZW1cIlxuICAgICAgW3N0eWxlLmhlaWdodC5weF09XCJnYW50dFVwcGVyLnN0eWxlcy5saW5lSGVpZ2h0XCJcbiAgICAgIFtjbGFzcy5nYW50dC1tYWluLWl0ZW0tYWN0aXZlXT1cImdhbnR0VXBwZXIuaXNTZWxlY3RlZChpdGVtLmlkKVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0udHlwZSB8IGlzR2FudHRDdXN0b21JdGVtXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtVGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtOiBpdGVtLm9yaWdpbiwgcmVmczogaXRlbS5yZWZzIH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8Z2FudHQtcmFuZ2UgKm5nSWY9XCJpdGVtLnR5cGUgfCBpc0dhbnR0UmFuZ2VJdGVtXCIgW3RlbXBsYXRlXT1cInJhbmdlVGVtcGxhdGVcIiBbaXRlbV09XCJpdGVtXCI+PC9nYW50dC1yYW5nZT5cbiAgICAgIDxnYW50dC1iYXIgKm5nSWY9XCJpdGVtLnR5cGUgfCBpc0dhbnR0QmFySXRlbVwiIFtpdGVtXT1cIml0ZW1cIiBbdGVtcGxhdGVdPVwiYmFyVGVtcGxhdGVcIiAoYmFyQ2xpY2spPVwiYmFyQ2xpY2suZW1pdCgkZXZlbnQpXCI+PC9nYW50dC1iYXI+XG4gICAgPC9kaXY+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAqbmdJZj1cIml0ZW0uY2hpbGRyZW4gJiYgaXRlbS5leHBhbmRlZFwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJnYW50dEl0ZW1zXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW1zOiBpdGVtLmNoaWxkcmVuIH1cIlxuICAgID48L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { Component, HostBinding, Inject } from '@angular/core';
|
|
2
|
-
import { GANTT_UPPER_TOKEN } from '../../gantt-upper';
|
|
3
|
-
import { GanttItemUpper } from '../../gantt-item-upper';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common";
|
|
6
|
-
import * as i2 from "../../gantt-upper";
|
|
7
|
-
export class NgxGanttRangeComponent extends GanttItemUpper {
|
|
8
|
-
constructor(elementRef, ganttUpper) {
|
|
9
|
-
super(elementRef, ganttUpper);
|
|
10
|
-
this.ganttRangeClass = true;
|
|
11
|
-
}
|
|
12
|
-
ngOnInit() {
|
|
13
|
-
super.onInit();
|
|
14
|
-
}
|
|
15
|
-
ngOnChanges() {
|
|
16
|
-
super.onChanges();
|
|
17
|
-
}
|
|
18
|
-
ngOnDestroy() {
|
|
19
|
-
super.onDestroy();
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
NgxGanttRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: NgxGanttRangeComponent, deps: [{ token: i0.ElementRef }, { token: GANTT_UPPER_TOKEN }], target: i0.ɵɵFactoryTarget.Component });
|
|
23
|
-
NgxGanttRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: NgxGanttRangeComponent, selector: "ngx-gantt-range,gantt-range", host: { properties: { "class.gantt-range": "this.ganttRangeClass" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"item.start && item.end\">\n <div class=\"gantt-range-main\">\n <div class=\"gantt-range-main-progress\" *ngIf=\"item.progress >= 0\" [style.width.%]=\"item.progress * 100\"></div>\n </div>\n <div class=\"gantt-range-triangle left\"></div>\n <div class=\"gantt-range-triangle right\"></div>\n <ng-template [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item: item.origin, refs: item.refs }\"></ng-template>\n</ng-container>\n", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: NgxGanttRangeComponent, decorators: [{
|
|
25
|
-
type: Component,
|
|
26
|
-
args: [{
|
|
27
|
-
selector: 'ngx-gantt-range,gantt-range',
|
|
28
|
-
templateUrl: './range.component.html'
|
|
29
|
-
}]
|
|
30
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i2.GanttUpper, decorators: [{
|
|
31
|
-
type: Inject,
|
|
32
|
-
args: [GANTT_UPPER_TOKEN]
|
|
33
|
-
}] }]; }, propDecorators: { ganttRangeClass: [{
|
|
34
|
-
type: HostBinding,
|
|
35
|
-
args: ['class.gantt-range']
|
|
36
|
-
}] } });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2FudHQvc3JjL2NvbXBvbmVudHMvcmFuZ2UvcmFuZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2FudHQvc3JjL2NvbXBvbmVudHMvcmFuZ2UvcmFuZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxXQUFXLEVBQW9DLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsaUJBQWlCLEVBQWMsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFNeEQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGNBQWM7SUFHdEQsWUFBWSxVQUFzQyxFQUE2QixVQUFzQjtRQUNqRyxLQUFLLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBSEEsb0JBQWUsR0FBRyxJQUFJLENBQUM7SUFJekQsQ0FBQztJQUVELFFBQVE7UUFDSixLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFdBQVc7UUFDUCxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFdBQVc7UUFDUCxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDdEIsQ0FBQzs7bUhBakJRLHNCQUFzQiw0Q0FHNkIsaUJBQWlCO3VHQUhwRSxzQkFBc0Isc0xDUm5DLHVkQVFBOzJGREFhLHNCQUFzQjtrQkFKbEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsNkJBQTZCO29CQUN2QyxXQUFXLEVBQUUsd0JBQXdCO2lCQUN4Qzs7MEJBSXdELE1BQU07MkJBQUMsaUJBQWlCOzRDQUYzQyxlQUFlO3NCQUFoRCxXQUFXO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBIb3N0QmluZGluZywgRWxlbWVudFJlZiwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR0FOVFRfVVBQRVJfVE9LRU4sIEdhbnR0VXBwZXIgfSBmcm9tICcuLi8uLi9nYW50dC11cHBlcic7XG5pbXBvcnQgeyBHYW50dEl0ZW1VcHBlciB9IGZyb20gJy4uLy4uL2dhbnR0LWl0ZW0tdXBwZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25neC1nYW50dC1yYW5nZSxnYW50dC1yYW5nZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JhbmdlLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBOZ3hHYW50dFJhbmdlQ29tcG9uZW50IGV4dGVuZHMgR2FudHRJdGVtVXBwZXIgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmdhbnR0LXJhbmdlJykgZ2FudHRSYW5nZUNsYXNzID0gdHJ1ZTtcblxuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+LCBASW5qZWN0KEdBTlRUX1VQUEVSX1RPS0VOKSBnYW50dFVwcGVyOiBHYW50dFVwcGVyKSB7XG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYsIGdhbnR0VXBwZXIpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5vbkluaXQoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIub25DaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHN1cGVyLm9uRGVzdHJveSgpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLnN0YXJ0ICYmIGl0ZW0uZW5kXCI+XG4gIDxkaXYgY2xhc3M9XCJnYW50dC1yYW5nZS1tYWluXCI+XG4gICAgPGRpdiBjbGFzcz1cImdhbnR0LXJhbmdlLW1haW4tcHJvZ3Jlc3NcIiAqbmdJZj1cIml0ZW0ucHJvZ3Jlc3MgPj0gMFwiIFtzdHlsZS53aWR0aC4lXT1cIml0ZW0ucHJvZ3Jlc3MgKiAxMDBcIj48L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJnYW50dC1yYW5nZS10cmlhbmdsZSBsZWZ0XCI+PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJnYW50dC1yYW5nZS10cmlhbmdsZSByaWdodFwiPjwvZGl2PlxuICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwidGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtOiBpdGVtLm9yaWdpbiwgcmVmczogaXRlbS5yZWZzIH1cIj48L25nLXRlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|