@worktile/gantt 12.2.0-next.1 → 12.2.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/bundles/worktile-gantt.umd.js +581 -508
- package/bundles/worktile-gantt.umd.js.map +1 -1
- package/class/event.d.ts +2 -0
- package/class/index.d.ts +1 -0
- package/class/item.d.ts +1 -1
- package/class/link.d.ts +12 -7
- package/components/bar/bar-drag.d.ts +4 -2
- package/components/bar/bar.component.d.ts +4 -4
- package/components/calendar/calendar.component.d.ts +3 -5
- package/components/drag-backdrop/drag-backdrop.component.d.ts +1 -5
- package/components/icon/icon.component.d.ts +2 -4
- package/components/links/{paths → lines}/curve.d.ts +2 -3
- package/components/links/lines/factory.d.ts +5 -0
- package/components/links/{paths/path.d.ts → lines/line.d.ts} +1 -4
- package/components/links/{paths/line.d.ts → lines/straight.d.ts} +2 -2
- package/components/links/links.component.d.ts +2 -2
- package/components/main/gantt-main.component.d.ts +2 -3
- package/components/range/range.component.d.ts +2 -5
- package/components/table/gantt-table.component.d.ts +2 -3
- package/esm2015/class/event.js +1 -1
- package/esm2015/class/index.js +2 -1
- package/esm2015/class/item.js +4 -3
- package/esm2015/class/link.js +6 -6
- package/esm2015/components/bar/bar-drag.js +56 -26
- package/esm2015/components/bar/bar.component.js +22 -15
- package/esm2015/components/calendar/calendar.component.js +18 -13
- package/esm2015/components/drag-backdrop/drag-backdrop.component.js +10 -14
- package/esm2015/components/icon/icon.component.js +4 -6
- package/esm2015/components/links/lines/curve.js +96 -0
- package/esm2015/components/links/lines/factory.js +14 -0
- package/esm2015/components/links/lines/line.js +24 -0
- package/esm2015/components/links/lines/straight.js +58 -0
- package/esm2015/components/links/links.component.js +31 -17
- package/esm2015/components/main/gantt-main.component.js +4 -5
- package/esm2015/components/range/range.component.js +4 -13
- package/esm2015/components/table/gantt-table.component.js +10 -6
- package/esm2015/gantt-dom.service.js +41 -27
- package/esm2015/gantt-drag-container.js +57 -40
- package/esm2015/gantt-item-upper.js +7 -7
- package/esm2015/gantt-print.service.js +53 -50
- package/esm2015/gantt-upper.js +37 -20
- package/esm2015/gantt.component.js +25 -28
- package/esm2015/gantt.config.js +3 -3
- package/esm2015/gantt.module.js +4 -4
- package/esm2015/gantt.pipe.js +9 -9
- package/esm2015/root.component.js +43 -31
- package/esm2015/table/gantt-column.component.js +4 -5
- package/esm2015/table/gantt-table.component.js +5 -6
- package/esm2015/utils/passive-listeners.js +30 -0
- package/esm2015/utils/set-style-with-vendor-prefix.js +15 -0
- package/esm2015/views/day.js +1 -1
- package/fesm2015/worktile-gantt.js +492 -386
- package/fesm2015/worktile-gantt.js.map +1 -1
- package/gantt-dom.service.d.ts +11 -4
- package/gantt-drag-container.d.ts +20 -8
- package/gantt-item-upper.d.ts +5 -5
- package/gantt-print.service.d.ts +1 -1
- package/gantt-upper.d.ts +10 -8
- package/gantt.component.d.ts +3 -7
- package/gantt.config.d.ts +2 -2
- package/main.bundle.scss +34 -3
- package/package.json +1 -1
- package/root.component.d.ts +5 -3
- 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/components/links/paths/factory.d.ts +0 -5
- package/esm2015/components/links/paths/curve.js +0 -118
- package/esm2015/components/links/paths/factory.js +0 -14
- package/esm2015/components/links/paths/line.js +0 -59
- package/esm2015/components/links/paths/path.js +0 -31
package/gantt-dom.service.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { ElementRef, OnDestroy } from '@angular/core';
|
|
1
|
+
import { ElementRef, OnDestroy, NgZone } from '@angular/core';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
export declare enum ScrollDirection {
|
|
4
5
|
NONE = 0,
|
|
@@ -10,6 +11,8 @@ export interface ScrollEvent {
|
|
|
10
11
|
direction: ScrollDirection;
|
|
11
12
|
}
|
|
12
13
|
export declare class GanttDomService implements OnDestroy {
|
|
14
|
+
private ngZone;
|
|
15
|
+
private platformId;
|
|
13
16
|
root: Element;
|
|
14
17
|
side: Element;
|
|
15
18
|
container: Element;
|
|
@@ -18,13 +21,17 @@ export declare class GanttDomService implements OnDestroy {
|
|
|
18
21
|
calendarOverlay: Element;
|
|
19
22
|
linksOverlay: Element;
|
|
20
23
|
private unsubscribe$;
|
|
21
|
-
constructor();
|
|
24
|
+
constructor(ngZone: NgZone, platformId: string);
|
|
22
25
|
private monitorScrollChange;
|
|
23
26
|
private syncScroll;
|
|
24
27
|
private disableBrowserWheelEvent;
|
|
25
28
|
initialize(root: ElementRef<HTMLElement>): void;
|
|
26
|
-
|
|
27
|
-
|
|
29
|
+
/**
|
|
30
|
+
* @returns An observable that will emit outside the Angular zone. Note, consumers should re-enter the Angular zone
|
|
31
|
+
* to run the change detection if needed.
|
|
32
|
+
*/
|
|
33
|
+
getViewerScroll(options?: AddEventListenerOptions): Observable<ScrollEvent>;
|
|
34
|
+
getResize(): Observable<Event>;
|
|
28
35
|
scrollMainContainer(left: number): void;
|
|
29
36
|
ngOnDestroy(): void;
|
|
30
37
|
static ɵfac: i0.ɵɵFactoryDeclaration<GanttDomService, never>;
|
|
@@ -1,9 +1,23 @@
|
|
|
1
1
|
import { EventEmitter } from '@angular/core';
|
|
2
2
|
import { GanttDragEvent, GanttLinkDragEvent } from './class/event';
|
|
3
3
|
import { GanttItemInternal } from './class/item';
|
|
4
|
+
import { GanttUpper } from './gantt-upper';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
|
-
export declare
|
|
6
|
+
export declare enum InBarPosition {
|
|
7
|
+
start = "start",
|
|
8
|
+
finish = "finish"
|
|
9
|
+
}
|
|
10
|
+
export declare type LinkDragPosition = {
|
|
11
|
+
element: HTMLElement;
|
|
12
|
+
item: GanttItemInternal;
|
|
13
|
+
pos?: InBarPosition;
|
|
14
|
+
};
|
|
15
|
+
export interface LinkDragPath {
|
|
16
|
+
from?: LinkDragPosition;
|
|
17
|
+
to?: LinkDragPosition;
|
|
18
|
+
}
|
|
6
19
|
export declare class GanttDragContainer {
|
|
20
|
+
ganttUpper: GanttUpper;
|
|
7
21
|
dragStarted: EventEmitter<GanttDragEvent<unknown>>;
|
|
8
22
|
dragMoved: EventEmitter<GanttDragEvent<unknown>>;
|
|
9
23
|
dragEnded: EventEmitter<GanttDragEvent<unknown>>;
|
|
@@ -11,14 +25,12 @@ export declare class GanttDragContainer {
|
|
|
11
25
|
linkDragEntered: EventEmitter<GanttLinkDragEvent<unknown>>;
|
|
12
26
|
linkDragEnded: EventEmitter<GanttLinkDragEvent<unknown>>;
|
|
13
27
|
linkDraggingId: string;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
emitLinkDragStarted(from: LinkDragFrom, item: GanttItemInternal): void;
|
|
19
|
-
emitLinkDragEntered(item: GanttItemInternal): void;
|
|
28
|
+
linkDragPath: LinkDragPath;
|
|
29
|
+
constructor(ganttUpper: GanttUpper);
|
|
30
|
+
emitLinkDragStarted(from: LinkDragPosition): void;
|
|
31
|
+
emitLinkDragEntered(to: LinkDragPosition): void;
|
|
20
32
|
emitLinkDragLeaved(): void;
|
|
21
|
-
emitLinkDragEnded(): void;
|
|
33
|
+
emitLinkDragEnded(to: LinkDragPosition): void;
|
|
22
34
|
static ɵfac: i0.ɵɵFactoryDeclaration<GanttDragContainer, never>;
|
|
23
35
|
static ɵprov: i0.ɵɵInjectableDeclaration<GanttDragContainer>;
|
|
24
36
|
}
|
package/gantt-item-upper.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { ElementRef, TemplateRef } from '@angular/core';
|
|
1
|
+
import { ElementRef, TemplateRef, OnInit, OnChanges, OnDestroy } from '@angular/core';
|
|
2
2
|
import { GanttItemInternal } from './class';
|
|
3
3
|
import { Subject } from 'rxjs';
|
|
4
4
|
import { GanttUpper } from './gantt-upper';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
|
-
export declare abstract class GanttItemUpper {
|
|
6
|
+
export declare abstract class GanttItemUpper implements OnChanges, OnInit, OnDestroy {
|
|
7
7
|
protected elementRef: ElementRef<HTMLElement>;
|
|
8
8
|
protected ganttUpper: GanttUpper;
|
|
9
9
|
template: TemplateRef<any>;
|
|
@@ -11,10 +11,10 @@ export declare abstract class GanttItemUpper {
|
|
|
11
11
|
firstChange: boolean;
|
|
12
12
|
unsubscribe$: Subject<unknown>;
|
|
13
13
|
constructor(elementRef: ElementRef<HTMLElement>, ganttUpper: GanttUpper);
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
ngOnInit(): void;
|
|
15
|
+
ngOnChanges(): void;
|
|
16
16
|
private setPositions;
|
|
17
|
-
|
|
17
|
+
ngOnDestroy(): void;
|
|
18
18
|
static ɵfac: i0.ɵɵFactoryDeclaration<GanttItemUpper, never>;
|
|
19
19
|
static ɵdir: i0.ɵɵDirectiveDeclaration<GanttItemUpper, never, never, { "template": "template"; "item": "item"; }, {}, never>;
|
|
20
20
|
}
|
package/gantt-print.service.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export declare class GanttPrintService {
|
|
|
7
7
|
private setInlineStyles;
|
|
8
8
|
private recursElementChildren;
|
|
9
9
|
register(root: ElementRef<HTMLElement>): void;
|
|
10
|
-
print(name?: string, ignoreElementClass?: string): void
|
|
10
|
+
print(name?: string, ignoreElementClass?: string): Promise<void>;
|
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<GanttPrintService, never>;
|
|
12
12
|
static ɵprov: i0.ɵɵInjectableDeclaration<GanttPrintService>;
|
|
13
13
|
}
|
package/gantt-upper.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TemplateRef, EventEmitter, ElementRef, ChangeDetectorRef, NgZone, SimpleChanges, InjectionToken } from '@angular/core';
|
|
1
|
+
import { TemplateRef, EventEmitter, ElementRef, ChangeDetectorRef, NgZone, SimpleChanges, InjectionToken, OnInit, OnDestroy, OnChanges } from '@angular/core';
|
|
2
2
|
import { Subject } from 'rxjs';
|
|
3
3
|
import { GanttItem, GanttGroup, GanttViewType, GanttLoadOnScrollEvent, GanttDragEvent, GanttGroupInternal, GanttItemInternal, GanttBarClickEvent, GanttLinkDragEvent } from './class';
|
|
4
4
|
import { GanttView, GanttViewOptions } from './views/view';
|
|
@@ -9,11 +9,11 @@ import { GanttLinkOptions } from './class/link';
|
|
|
9
9
|
import { SelectionModel } from '@angular/cdk/collections';
|
|
10
10
|
import { BooleanInput } from '@angular/cdk/coercion';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
|
-
export declare abstract class GanttUpper {
|
|
12
|
+
export declare abstract class GanttUpper implements OnChanges, OnInit, OnDestroy {
|
|
13
13
|
protected elementRef: ElementRef<HTMLElement>;
|
|
14
14
|
protected cdr: ChangeDetectorRef;
|
|
15
15
|
protected ngZone: NgZone;
|
|
16
|
-
|
|
16
|
+
config: GanttGlobalConfig;
|
|
17
17
|
originItems: GanttItem[];
|
|
18
18
|
originGroups: GanttGroup[];
|
|
19
19
|
viewType: GanttViewType;
|
|
@@ -23,6 +23,8 @@ export declare abstract class GanttUpper {
|
|
|
23
23
|
draggable: boolean;
|
|
24
24
|
styles: GanttStyles;
|
|
25
25
|
viewOptions: GanttViewOptions;
|
|
26
|
+
set linkOptions(options: GanttLinkOptions);
|
|
27
|
+
get linkOptions(): GanttLinkOptions;
|
|
26
28
|
disabledLoadOnScroll: boolean;
|
|
27
29
|
set selectable(value: BooleanInput);
|
|
28
30
|
get selectable(): boolean;
|
|
@@ -39,7 +41,6 @@ export declare abstract class GanttUpper {
|
|
|
39
41
|
groupTemplate: TemplateRef<any>;
|
|
40
42
|
groupHeaderTemplate: TemplateRef<any>;
|
|
41
43
|
linkable: boolean;
|
|
42
|
-
linkOptions: GanttLinkOptions;
|
|
43
44
|
linkDragEnded: EventEmitter<GanttLinkDragEvent<unknown>>;
|
|
44
45
|
view: GanttView;
|
|
45
46
|
items: GanttItemInternal[];
|
|
@@ -54,6 +55,7 @@ export declare abstract class GanttUpper {
|
|
|
54
55
|
private groupsMap;
|
|
55
56
|
private _selectable;
|
|
56
57
|
private _multiple;
|
|
58
|
+
private _linkOptions;
|
|
57
59
|
ganttClass: boolean;
|
|
58
60
|
constructor(elementRef: ElementRef<HTMLElement>, cdr: ChangeDetectorRef, ngZone: NgZone, config: GanttGlobalConfig);
|
|
59
61
|
private createView;
|
|
@@ -64,9 +66,9 @@ export declare abstract class GanttUpper {
|
|
|
64
66
|
computeRefs(): void;
|
|
65
67
|
private expandGroups;
|
|
66
68
|
private initSelectionModel;
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
69
|
+
ngOnInit(): void;
|
|
70
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
71
|
+
ngOnDestroy(): void;
|
|
70
72
|
computeItemsRefs(...items: GanttItemInternal[]): void;
|
|
71
73
|
trackBy(index: number, item: GanttGroupInternal | GanttItemInternal): string | number;
|
|
72
74
|
detectChanges(): void;
|
|
@@ -77,6 +79,6 @@ export declare abstract class GanttUpper {
|
|
|
77
79
|
getGanttItems(ids: string[]): GanttItemInternal[];
|
|
78
80
|
isSelected(id: string): boolean;
|
|
79
81
|
static ɵfac: i0.ɵɵFactoryDeclaration<GanttUpper, never>;
|
|
80
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<GanttUpper, never, never, { "originItems": "items"; "originGroups": "groups"; "viewType": "viewType"; "start": "start"; "end": "end"; "showTodayLine": "showTodayLine"; "draggable": "draggable"; "styles": "styles"; "viewOptions": "viewOptions"; "disabledLoadOnScroll": "disabledLoadOnScroll"; "selectable": "selectable"; "multiple": "multiple"; }, { "loadOnScroll": "loadOnScroll"; "dragStarted": "dragStarted"; "dragMoved": "dragMoved"; "dragEnded": "dragEnded"; "barClick": "barClick"; }, ["barTemplate", "rangeTemplate", "itemTemplate", "groupTemplate", "groupHeaderTemplate"]>;
|
|
82
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<GanttUpper, never, never, { "originItems": "items"; "originGroups": "groups"; "viewType": "viewType"; "start": "start"; "end": "end"; "showTodayLine": "showTodayLine"; "draggable": "draggable"; "styles": "styles"; "viewOptions": "viewOptions"; "linkOptions": "linkOptions"; "disabledLoadOnScroll": "disabledLoadOnScroll"; "selectable": "selectable"; "multiple": "multiple"; }, { "loadOnScroll": "loadOnScroll"; "dragStarted": "dragStarted"; "dragMoved": "dragMoved"; "dragEnded": "dragEnded"; "barClick": "barClick"; }, ["barTemplate", "rangeTemplate", "itemTemplate", "groupTemplate", "groupHeaderTemplate"]>;
|
|
81
83
|
}
|
|
82
84
|
export declare const GANTT_UPPER_TOKEN: InjectionToken<GanttUpper>;
|
package/gantt.component.d.ts
CHANGED
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
import { OnInit, ElementRef, EventEmitter, ChangeDetectorRef, NgZone,
|
|
1
|
+
import { OnInit, ElementRef, EventEmitter, ChangeDetectorRef, NgZone, QueryList, AfterViewInit, TemplateRef } from '@angular/core';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
import { GanttUpper } from './gantt-upper';
|
|
4
4
|
import { GanttLinkDragEvent, GanttLineClickEvent, GanttItemInternal, GanttItem, GanttSelectedEvent } from './class';
|
|
5
5
|
import { NgxGanttTableColumnComponent } from './table/gantt-column.component';
|
|
6
6
|
import { NgxGanttTableComponent } from './table/gantt-table.component';
|
|
7
7
|
import { GanttGlobalConfig } from './gantt.config';
|
|
8
|
-
import { GanttLinkOptions } from './class/link';
|
|
9
8
|
import * as i0 from "@angular/core";
|
|
10
|
-
export declare class NgxGanttComponent extends GanttUpper implements OnInit, AfterViewInit
|
|
9
|
+
export declare class NgxGanttComponent extends GanttUpper implements OnInit, AfterViewInit {
|
|
11
10
|
maxLevel: number;
|
|
12
11
|
async: boolean;
|
|
13
12
|
childrenResolve: (GanttItem: any) => Observable<GanttItem[]>;
|
|
14
13
|
linkable: boolean;
|
|
15
|
-
linkOptions: GanttLinkOptions;
|
|
16
14
|
linkDragStarted: EventEmitter<GanttLinkDragEvent<unknown>>;
|
|
17
15
|
linkDragEnded: EventEmitter<GanttLinkDragEvent<unknown>>;
|
|
18
16
|
lineClick: EventEmitter<GanttLineClickEvent<unknown>>;
|
|
@@ -25,10 +23,8 @@ export declare class NgxGanttComponent extends GanttUpper implements OnInit, Aft
|
|
|
25
23
|
constructor(elementRef: ElementRef<HTMLElement>, cdr: ChangeDetectorRef, ngZone: NgZone, config: GanttGlobalConfig);
|
|
26
24
|
ngOnInit(): void;
|
|
27
25
|
ngAfterViewInit(): void;
|
|
28
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
29
26
|
expandChildren(item: GanttItemInternal): void;
|
|
30
27
|
selectItem(selectEvent: GanttSelectedEvent): void;
|
|
31
|
-
ngOnDestroy(): void;
|
|
32
28
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgxGanttComponent, never>;
|
|
33
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NgxGanttComponent, "ngx-gantt", never, { "maxLevel": "maxLevel"; "async": "async"; "childrenResolve": "childrenResolve"; "linkable": "linkable";
|
|
29
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgxGanttComponent, "ngx-gantt", never, { "maxLevel": "maxLevel"; "async": "async"; "childrenResolve": "childrenResolve"; "linkable": "linkable"; }, { "linkDragStarted": "linkDragStarted"; "linkDragEnded": "linkDragEnded"; "lineClick": "lineClick"; "selectedChange": "selectedChange"; }, ["table", "tableEmptyTemplate", "columns"], never>;
|
|
34
30
|
}
|
package/gantt.config.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { GanttLinkType, GanttLinkOptions, GanttLinkLineType } from './class/link';
|
|
2
2
|
import { InjectionToken } from '@angular/core';
|
|
3
3
|
export interface GanttDateFormat {
|
|
4
4
|
week?: string;
|
|
@@ -24,7 +24,7 @@ export declare const defaultConfig: {
|
|
|
24
24
|
linkOptions: {
|
|
25
25
|
dependencyTypes: GanttLinkType[];
|
|
26
26
|
showArrow: boolean;
|
|
27
|
-
|
|
27
|
+
lineType: GanttLinkLineType;
|
|
28
28
|
};
|
|
29
29
|
};
|
|
30
30
|
export declare const GANTT_GLOBAL_CONFIG: InjectionToken<GanttGlobalConfig>;
|
package/main.bundle.scss
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@use 'sass:math';
|
|
1
2
|
// basic
|
|
2
3
|
$gantt-color: #333 !default;
|
|
3
4
|
$gantt-header-height: 44px !default;
|
|
@@ -410,6 +411,7 @@ $gantt-table-header-drag-line-color: #348fe4 !default;
|
|
|
410
411
|
$gantt-bar-layer-append-width: 32px;
|
|
411
412
|
$gantt-bar-layer-append-height: 42px;
|
|
412
413
|
$gantt-bar-link-height: 16px;
|
|
414
|
+
$gantt-bar-link-handle-size: 16px;
|
|
413
415
|
$gantt-bar-link-drop-border: 5px;
|
|
414
416
|
|
|
415
417
|
@mixin link-handles {
|
|
@@ -524,8 +526,8 @@ $gantt-bar-link-drop-border: 5px;
|
|
|
524
526
|
height: calc(100% + #{$gantt-bar-layer-append-height});
|
|
525
527
|
position: absolute;
|
|
526
528
|
border-radius: 4px;
|
|
527
|
-
left: $gantt-bar-layer-append-width
|
|
528
|
-
top: $gantt-bar-layer-append-height
|
|
529
|
+
left: math.div($gantt-bar-layer-append-width, 2) * -1;
|
|
530
|
+
top: math.div($gantt-bar-layer-append-height, 2) * -1;
|
|
529
531
|
display: none;
|
|
530
532
|
@include drag-handles();
|
|
531
533
|
@include link-handles();
|
|
@@ -553,6 +555,7 @@ $gantt-bar-link-drop-border: 5px;
|
|
|
553
555
|
background: $gantt-bar-background-color;
|
|
554
556
|
overflow: hidden;
|
|
555
557
|
box-sizing: border-box;
|
|
558
|
+
|
|
556
559
|
.gantt-bar-content-progress {
|
|
557
560
|
position: absolute;
|
|
558
561
|
left: 0;
|
|
@@ -566,7 +569,7 @@ $gantt-bar-link-drop-border: 5px;
|
|
|
566
569
|
@include active-bar();
|
|
567
570
|
}
|
|
568
571
|
|
|
569
|
-
&-
|
|
572
|
+
&-single-drop-active {
|
|
570
573
|
.gantt-bar-border {
|
|
571
574
|
display: block;
|
|
572
575
|
}
|
|
@@ -575,6 +578,34 @@ $gantt-bar-link-drop-border: 5px;
|
|
|
575
578
|
box-shadow: none;
|
|
576
579
|
}
|
|
577
580
|
}
|
|
581
|
+
|
|
582
|
+
&-drop-active {
|
|
583
|
+
@include active-bar();
|
|
584
|
+
|
|
585
|
+
.gantt-bar-layer {
|
|
586
|
+
.link-handles {
|
|
587
|
+
.handle {
|
|
588
|
+
width: $gantt-bar-link-handle-size + 10px;
|
|
589
|
+
height: 100%;
|
|
590
|
+
|
|
591
|
+
&:first-child {
|
|
592
|
+
left: -$gantt-bar-link-handle-size - 5px;
|
|
593
|
+
}
|
|
594
|
+
|
|
595
|
+
&:last-child {
|
|
596
|
+
right: -$gantt-bar-link-handle-size - 5px;
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
&:hover {
|
|
600
|
+
.point {
|
|
601
|
+
width: 12px;
|
|
602
|
+
height: 12px;
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
}
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
}
|
|
578
609
|
}
|
|
579
610
|
|
|
580
611
|
.gantt-range {
|
package/package.json
CHANGED
package/root.component.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { OnInit, NgZone, ElementRef, TemplateRef } from '@angular/core';
|
|
1
|
+
import { OnInit, NgZone, ElementRef, TemplateRef, OnDestroy } from '@angular/core';
|
|
2
2
|
import { GanttDomService } from './gantt-dom.service';
|
|
3
3
|
import { GanttDragContainer } from './gantt-drag-container';
|
|
4
4
|
import { GanttUpper } from './gantt-upper';
|
|
5
5
|
import { GanttPrintService } from './gantt-print.service';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
|
-
export declare class NgxGanttRootComponent implements OnInit {
|
|
7
|
+
export declare class NgxGanttRootComponent implements OnInit, OnDestroy {
|
|
8
8
|
private elementRef;
|
|
9
9
|
private ngZone;
|
|
10
10
|
private dom;
|
|
@@ -12,13 +12,15 @@ export declare class NgxGanttRootComponent implements OnInit {
|
|
|
12
12
|
private ganttUpper;
|
|
13
13
|
private printService;
|
|
14
14
|
sideWidth: number;
|
|
15
|
-
ganttClass: boolean;
|
|
16
15
|
sideTemplate: TemplateRef<any>;
|
|
17
16
|
mainTemplate: TemplateRef<any>;
|
|
17
|
+
/** The native `<gantt-drag-backdrop></gantt-drag-backdrop>` element. */
|
|
18
|
+
backdrop: ElementRef<HTMLElement>;
|
|
18
19
|
private unsubscribe$;
|
|
19
20
|
private get view();
|
|
20
21
|
constructor(elementRef: ElementRef<HTMLElement>, ngZone: NgZone, dom: GanttDomService, dragContainer: GanttDragContainer, ganttUpper: GanttUpper, printService: GanttPrintService);
|
|
21
22
|
ngOnInit(): void;
|
|
23
|
+
ngOnDestroy(): void;
|
|
22
24
|
private setupViewScroll;
|
|
23
25
|
private setupResize;
|
|
24
26
|
private setupScrollClass;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TemplateRef } from '@angular/core';
|
|
2
2
|
import { GanttUpper } from '../gantt-upper';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class NgxGanttTableColumnComponent
|
|
4
|
+
export declare class NgxGanttTableColumnComponent {
|
|
5
5
|
ganttUpper: GanttUpper;
|
|
6
6
|
columnWidth: string;
|
|
7
7
|
set width(width: number | string);
|
|
@@ -9,7 +9,6 @@ export declare class NgxGanttTableColumnComponent implements OnInit {
|
|
|
9
9
|
templateRef: TemplateRef<any>;
|
|
10
10
|
headerTemplateRef: TemplateRef<any>;
|
|
11
11
|
constructor(ganttUpper: GanttUpper);
|
|
12
|
-
ngOnInit(): void;
|
|
13
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgxGanttTableColumnComponent, never>;
|
|
14
13
|
static ɵcmp: i0.ɵɵComponentDeclaration<NgxGanttTableColumnComponent, "ngx-gantt-column", never, { "width": "width"; "name": "name"; }, {}, ["templateRef", "headerTemplateRef"], never>;
|
|
15
14
|
}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import { EventEmitter,
|
|
1
|
+
import { EventEmitter, TemplateRef } from '@angular/core';
|
|
2
2
|
import { GanttTableEvent } from '../class';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class NgxGanttTableComponent
|
|
4
|
+
export declare class NgxGanttTableComponent {
|
|
5
5
|
columnChanges: EventEmitter<GanttTableEvent>;
|
|
6
6
|
rowBeforeTemplate: TemplateRef<any>;
|
|
7
7
|
rowAfterTemplate: TemplateRef<any>;
|
|
8
|
-
constructor();
|
|
9
|
-
ngOnInit(): void;
|
|
10
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgxGanttTableComponent, never>;
|
|
11
9
|
static ɵcmp: i0.ɵɵComponentDeclaration<NgxGanttTableComponent, "ngx-gantt-table", never, {}, { "columnChanges": "columnChanges"; }, ["rowBeforeTemplate", "rowAfterTemplate"], never>;
|
|
12
10
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checks whether the user's browser supports passive event listeners.
|
|
3
|
+
* See: https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md
|
|
4
|
+
*/
|
|
5
|
+
export declare function supportsPassiveEventListeners(): boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Normalizes an `AddEventListener` object to something that can be passed
|
|
8
|
+
* to `addEventListener` on any browser, no matter whether it supports the
|
|
9
|
+
* `options` parameter.
|
|
10
|
+
*/
|
|
11
|
+
export declare function normalizePassiveListenerOptions(options: AddEventListenerOptions): AddEventListenerOptions | boolean;
|
|
12
|
+
/** Options used to bind passive event listeners. */
|
|
13
|
+
export declare const passiveListenerOptions: AddEventListenerOptions;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
interface SetStyleWithVendorPrefixOptions {
|
|
2
|
+
element: HTMLElement;
|
|
3
|
+
style: string;
|
|
4
|
+
value: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Note: we don't need to add vendor prefixes within `.scss` files since they're added automatically.
|
|
8
|
+
* This function is necessary when the `element.style` is updated directly through the JavaScript.
|
|
9
|
+
* This is not required to be used with CSS properties that don't require vendor prefixes (e.g. `opacity`).
|
|
10
|
+
*/
|
|
11
|
+
export declare function setStyleWithVendorPrefix({ element, style, value }: SetStyleWithVendorPrefixOptions): void;
|
|
12
|
+
export {};
|
package/README.md
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# Gantt
|
|
2
|
-
|
|
3
|
-
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 8.2.14.
|
|
4
|
-
|
|
5
|
-
## Code scaffolding
|
|
6
|
-
|
|
7
|
-
Run `ng generate component component-name --project gantt` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project gantt`.
|
|
8
|
-
> Note: Don't forget to add `--project gantt` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
-
|
|
10
|
-
## Build
|
|
11
|
-
|
|
12
|
-
Run `ng build gantt` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
-
|
|
14
|
-
## Publishing
|
|
15
|
-
|
|
16
|
-
After building your library with `ng build gantt`, go to the dist folder `cd dist/gantt` and run `npm publish`.
|
|
17
|
-
|
|
18
|
-
## Running unit tests
|
|
19
|
-
|
|
20
|
-
Run `ng test gantt` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
-
|
|
22
|
-
## Further help
|
|
23
|
-
|
|
24
|
-
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { GanttLinkPathType } from '../../../class/link';
|
|
2
|
-
import { GanttUpper } from '../../../gantt-upper';
|
|
3
|
-
import { GanttLinkPathCurve } from './curve';
|
|
4
|
-
import { GanttLinkPathLine } from './line';
|
|
5
|
-
export declare function generatePathFactory(type: GanttLinkPathType, ganttUpper?: GanttUpper): GanttLinkPathCurve | GanttLinkPathLine;
|
|
@@ -1,118 +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 { GanttLinkPath } from './path';
|
|
6
|
-
let GanttLinkPathCurve = class GanttLinkPathCurve extends GanttLinkPath {
|
|
7
|
-
constructor(ganttUpper) {
|
|
8
|
-
super();
|
|
9
|
-
this.ganttUpper = ganttUpper;
|
|
10
|
-
this.bezierWeight = -0.5;
|
|
11
|
-
}
|
|
12
|
-
generateSSPath(source, target) {
|
|
13
|
-
const x1 = source.before.x;
|
|
14
|
-
const y1 = source.before.y;
|
|
15
|
-
const x4 = target.before.x;
|
|
16
|
-
const y4 = target.before.y;
|
|
17
|
-
const isMirror = y4 > y1 ? 0 : 1;
|
|
18
|
-
const radius = Math.abs(y4 - y1) / 2;
|
|
19
|
-
if (x4 > x1) {
|
|
20
|
-
return `M ${x1} ${y1}
|
|
21
|
-
A ${radius} ${radius} 0 1 ${isMirror} ${x1} ${y4}
|
|
22
|
-
L ${x4} ${y4}`;
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
return `M ${x1} ${y1}
|
|
26
|
-
L ${x4} ${y1}
|
|
27
|
-
A ${radius} ${radius} 0 1 ${isMirror} ${x4} ${y4}`;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
generateFFPath(source, target) {
|
|
31
|
-
const x1 = source.after.x;
|
|
32
|
-
const y1 = source.after.y;
|
|
33
|
-
const x4 = target.after.x;
|
|
34
|
-
const y4 = target.after.y;
|
|
35
|
-
const isMirror = y4 > y1 ? 1 : 0;
|
|
36
|
-
const radius = Math.abs(y4 - y1) / 2;
|
|
37
|
-
if (x4 > x1) {
|
|
38
|
-
return `M ${x1} ${y1}
|
|
39
|
-
L ${x4} ${y1}
|
|
40
|
-
A ${radius} ${radius} 0 1 ${isMirror} ${x4} ${y4}`;
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
return `M ${x1} ${y1}
|
|
44
|
-
A ${radius} ${radius} 0 1 ${isMirror} ${x1} ${y4}
|
|
45
|
-
L ${x4} ${y4}`;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
generateFSAndSFPath(source, target, type) {
|
|
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
|
-
if (type === GanttLinkType.sf) {
|
|
54
|
-
x1 = target.after.x;
|
|
55
|
-
y1 = target.after.y;
|
|
56
|
-
x4 = source.before.x;
|
|
57
|
-
y4 = source.before.y;
|
|
58
|
-
}
|
|
59
|
-
const dx = Math.abs(x4 - x1) * this.bezierWeight;
|
|
60
|
-
const x2 = x1 - dx;
|
|
61
|
-
const x3 = x4 + dx;
|
|
62
|
-
const centerX = (x1 + x4) / 2;
|
|
63
|
-
const centerY = (y1 + y4) / 2;
|
|
64
|
-
let controlX = this.ganttUpper.styles.lineHeight / 2;
|
|
65
|
-
const controlY = this.ganttUpper.styles.lineHeight / 2;
|
|
66
|
-
if (x1 >= x4) {
|
|
67
|
-
if (y4 > y1) {
|
|
68
|
-
if (Math.abs(y4 - y1) <= this.ganttUpper.styles.lineHeight) {
|
|
69
|
-
return `M ${x1} ${y1}
|
|
70
|
-
C ${x1 + controlX} ${y1} ${x1 + controlX} ${y1 + controlX} ${x1} ${y1 + controlY}
|
|
71
|
-
L ${x4} ${y4 - controlY}
|
|
72
|
-
C ${x4 - controlY} ${y4 - controlY} ${x4 - controlX} ${y4} ${x4} ${y4}`;
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
controlX = this.ganttUpper.styles.lineHeight;
|
|
76
|
-
return `M ${x1} ${y1}
|
|
77
|
-
C ${x1 + controlX} ${y1} ${x1 + controlX} ${y1 + controlX} ${centerX} ${centerY}
|
|
78
|
-
C ${x4 - controlX} ${y4 - controlX} ${x4 - controlX} ${y4} ${x4} ${y4}
|
|
79
|
-
`;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
if (Math.abs(y4 - y1) <= this.ganttUpper.styles.lineHeight) {
|
|
84
|
-
return `M ${x1} ${y1}
|
|
85
|
-
C ${x1 + controlX} ${y1} ${x1 + controlX} ${y1 - controlX} ${x1} ${y1 - controlY}
|
|
86
|
-
L ${x4} ${y4 + controlY}
|
|
87
|
-
C ${x4 - controlY} ${y4 + controlY} ${x4 - controlX} ${y4} ${x4} ${y4}
|
|
88
|
-
`;
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
controlX = this.ganttUpper.styles.lineHeight;
|
|
92
|
-
return `M ${x1} ${y1}
|
|
93
|
-
C ${x1 + controlX} ${y1} ${x1 + controlX} ${y1 - controlX} ${centerX} ${centerY}
|
|
94
|
-
C ${x4 - controlX} ${y4 + controlX} ${x4 - controlX} ${y4} ${x4} ${y4}
|
|
95
|
-
`;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
else if (x4 - x1 < 100) {
|
|
100
|
-
const radius = Math.abs(y4 - y1) / 4;
|
|
101
|
-
let lindWidth = x4 - x1 - radius;
|
|
102
|
-
lindWidth = Math.max(lindWidth, radius);
|
|
103
|
-
return `M ${x1} ${y1}
|
|
104
|
-
L ${x1 + lindWidth} ${y1}
|
|
105
|
-
A ${radius} ${radius} 0 1 ${y4 > y1 ? 1 : 0} ${x1 + lindWidth} ${y4 > y1 ? y1 + 2 * radius : y1 - 2 * radius}
|
|
106
|
-
L ${x4 - lindWidth} ${y4 > y1 ? y1 + 2 * radius : y1 - 2 * radius}
|
|
107
|
-
A ${radius} ${radius} 0 1 ${y4 > y1 ? 0 : 1} ${x4 - lindWidth} ${y4}
|
|
108
|
-
L ${x4} ${y4}
|
|
109
|
-
`;
|
|
110
|
-
}
|
|
111
|
-
return `M ${x1} ${y1} C ${x2} ${y1} ${x3} ${y4} ${x4} ${y4}`;
|
|
112
|
-
}
|
|
113
|
-
};
|
|
114
|
-
GanttLinkPathCurve = __decorate([
|
|
115
|
-
__param(0, Inject(GANTT_UPPER_TOKEN))
|
|
116
|
-
], GanttLinkPathCurve);
|
|
117
|
-
export { GanttLinkPathCurve };
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VydmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvY29tcG9uZW50cy9saW5rcy9wYXRocy9jdXJ2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWlCLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25FLE9BQU8sRUFBYyxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFdkMsSUFBYSxrQkFBa0IsR0FBL0IsTUFBYSxrQkFBbUIsU0FBUSxhQUFhO0lBR2pELFlBQStDLFVBQXNCO1FBQ2pFLEtBQUssRUFBRSxDQUFDO1FBRG1DLGVBQVUsR0FBVixVQUFVLENBQVk7UUFGN0QsaUJBQVksR0FBRyxDQUFDLEdBQUcsQ0FBQztJQUk1QixDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQXFCLEVBQUUsTUFBcUI7UUFDdkQsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDM0IsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDM0IsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDM0IsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDM0IsTUFBTSxRQUFRLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXJDLElBQUksRUFBRSxHQUFHLEVBQUUsRUFB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Q0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsU0FBUyxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLE1BQU07d0JBQ3hHLEVBQUUsR0FBRyxTQUFTLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUcsTUFBTTt3QkFDN0QsTUFBTSxJQUFJLE1BQU0sUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsU0FBUyxJQUFJLEVBQUU7d0JBQy9ELEVBQUUsSUFBSSxFQUFFO3FCQUNYLENBQUM7U0FDYjtRQUNELE9BQU8sS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUM7SUFDakUsQ0FBQztDQUNKLENBQUE7QUE5R1ksa0JBQWtCO0lBR2QsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtHQUg3QixrQkFBa0IsQ0E4RzlCO1NBOUdZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR2FudHRMaW5rSXRlbSwgR2FudHRMaW5rVHlwZSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzL2xpbmsnO1xuaW1wb3J0IHsgR2FudHRVcHBlciwgR0FOVFRfVVBQRVJfVE9LRU4gfSBmcm9tICcuLi8uLi8uLi9nYW50dC11cHBlcic7XG5pbXBvcnQgeyBHYW50dExpbmtQYXRoIH0gZnJvbSAnLi9wYXRoJztcblxuZXhwb3J0IGNsYXNzIEdhbnR0TGlua1BhdGhDdXJ2ZSBleHRlbmRzIEdhbnR0TGlua1BhdGgge1xuICAgIHByaXZhdGUgYmV6aWVyV2VpZ2h0ID0gLTAuNTtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoR0FOVFRfVVBQRVJfVE9LRU4pIHByaXZhdGUgZ2FudHRVcHBlcjogR2FudHRVcHBlcikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGdlbmVyYXRlU1NQYXRoKHNvdXJjZTogR2FudHRMaW5rSXRlbSwgdGFyZ2V0OiBHYW50dExpbmtJdGVtKSB7XG4gICAgICAgIGNvbnN0IHgxID0gc291cmNlLmJlZm9yZS54O1xuICAgICAgICBjb25zdCB5MSA9IHNvdXJjZS5iZWZvcmUueTtcbiAgICAgICAgY29uc3QgeDQgPSB0YXJnZXQuYmVmb3JlLng7XG4gICAgICAgIGNvbnN0IHk0ID0gdGFyZ2V0LmJlZm9yZS55O1xuICAgICAgICBjb25zdCBpc01pcnJvciA9IHk0ID4geTEgPyAwIDogMTtcbiAgICAgICAgY29uc3QgcmFkaXVzID0gTWF0aC5hYnMoeTQgLSB5MSkgLyAyO1xuXG4gICAgICAgIGlmICh4NCA+IHgxKSB7XG4gICAgICAgICAgICByZXR1cm4gYE0gJHt4MX0gJHt5MX1cbiAgICAgICAgICAgICAgICAgICAgQSAke3JhZGl1c30gJHtyYWRpdXN9IDAgMSAke2lzTWlycm9yfSAke3gxfSAke3k0fVxuICAgICAgICAgICAgICAgICAgICBMICR7eDR9ICR7eTR9YDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBgTSAke3gxfSAke3kxfVxuICAgICAgICAgICAgICAgICAgICBMICR7eDR9ICR7eTF9XG4gICAgICAgICAgICAgICAgICAgIEEgJHtyYWRpdXN9ICR7cmFkaXVzfSAwIDEgJHtpc01pcnJvcn0gJHt4NH0gJHt5NH1gO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdlbmVyYXRlRkZQYXRoKHNvdXJjZTogR2FudHRMaW5rSXRlbSwgdGFyZ2V0OiBHYW50dExpbmtJdGVtKSB7XG4gICAgICAgIGNvbnN0IHgxID0gc291cmNlLmFmdGVyLng7XG4gICAgICAgIGNvbnN0IHkxID0gc291cmNlLmFmdGVyLnk7XG4gICAgICAgIGNvbnN0IHg0ID0gdGFyZ2V0LmFmdGVyLng7XG4gICAgICAgIGNvbnN0IHk0ID0gdGFyZ2V0LmFmdGVyLnk7XG4gICAgICAgIGNvbnN0IGlzTWlycm9yID0geTQgPiB5MSA/IDEgOiAwO1xuICAgICAgICBjb25zdCByYWRpdXMgPSBNYXRoLmFicyh5NCAtIHkxKSAvIDI7XG4gICAgICAgIGlmICh4NCA+IHgxKSB7XG4gICAgICAgICAgICByZXR1cm4gYE0gJHt4MX0gJHt5MX1cbiAgICAgICAgICAgICAgICAgICAgTCAke3g0fSAke3kxfVxuICAgICAgICAgICAgICAgICAgICBBICR7cmFkaXVzfSAke3JhZGl1c30gMCAxICR7aXNNaXJyb3J9ICR7eDR9ICR7eTR9YDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBgTSAke3gxfSAke3kxfVxuICAgICAgICAgICAgICAgICAgICBBICR7cmFkaXVzfSAke3JhZGl1c30gMCAxICR7aXNNaXJyb3J9ICR7eDF9ICR7eTR9XG4gICAgICAgICAgICAgICAgICAgIEwgJHt4NH0gJHt5NH1gO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2VuZXJhdGVGU0FuZFNGUGF0aChzb3VyY2U6IEdhbnR0TGlua0l0ZW0sIHRhcmdldDogR2FudHRMaW5rSXRlbSwgdHlwZT86IEdhbnR0TGlua1R5cGUpIHtcbiAgICAgICAgbGV0IHgxID0gc291cmNlLmFmdGVyLng7XG4gICAgICAgIGxldCB5MSA9IHNvdXJjZS5hZnRlci55O1xuICAgICAgICBsZXQgeDQgPSB0YXJnZXQuYmVmb3JlLng7XG4gICAgICAgIGxldCB5NCA9IHRhcmdldC5iZWZvcmUueTtcblxuICAgICAgICBpZiAodHlwZSA9PT0gR2FudHRMaW5rVHlwZS5zZikge1xuICAgICAgICAgICAgeDEgPSB0YXJnZXQuYWZ0ZXIueDtcbiAgICAgICAgICAgIHkxID0gdGFyZ2V0LmFmdGVyLnk7XG4gICAgICAgICAgICB4NCA9IHNvdXJjZS5iZWZvcmUueDtcbiAgICAgICAgICAgIHk0ID0gc291cmNlLmJlZm9yZS55O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZHggPSBNYXRoLmFicyh4NCAtIHgxKSAqIHRoaXMuYmV6aWVyV2VpZ2h0O1xuXG4gICAgICAgIGNvbnN0IHgyID0geDEgLSBkeDtcbiAgICAgICAgY29uc3QgeDMgPSB4NCArIGR4O1xuICAgICAgICBjb25zdCBjZW50ZXJYID0gKHgxICsgeDQpIC8gMjtcbiAgICAgICAgY29uc3QgY2VudGVyWSA9ICh5MSArIHk0KSAvIDI7XG5cbiAgICAgICAgbGV0IGNvbnRyb2xYID0gdGhpcy5nYW50dFVwcGVyLnN0eWxlcy5saW5lSGVpZ2h0IC8gMjtcbiAgICAgICAgY29uc3QgY29udHJvbFkgPSB0aGlzLmdhbnR0VXBwZXIuc3R5bGVzLmxpbmVIZWlnaHQgLyAyO1xuXG4gICAgICAgIGlmICh4MSA+PSB4NCkge1xuICAgICAgICAgICAgaWYgKHk0ID4geTEpIHtcbiAgICAgICAgICAgICAgICBpZiAoTWF0aC5hYnMoeTQgLSB5MSkgPD0gdGhpcy5nYW50dFVwcGVyLnN0eWxlcy5saW5lSGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgTSAke3gxfSAke3kxfVxuICAgICAgICAgICAgICAgICAgICBDICR7eDEgKyBjb250cm9sWH0gJHt5MX0gJHt4MSArIGNvbnRyb2xYfSAke3kxICsgY29udHJvbFh9ICR7eDF9ICR7eTEgKyBjb250cm9sWX1cbiAgICAgICAgICAgICAgICAgICAgTCAke3g0fSAke3k0IC0gY29udHJvbFl9XG4gICAgICAgICAgICAgICAgICAgIEMgJHt4NCAtIGNvbnRyb2xZfSAke3k0IC0gY29udHJvbFl9ICAke3g0IC0gY29udHJvbFh9ICR7eTR9ICR7eDR9ICR7eTR9YDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb250cm9sWCA9IHRoaXMuZ2FudHRVcHBlci5zdHlsZXMubGluZUhlaWdodDtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGBNICR7eDF9ICR7eTF9XG4gICAgICAgICAgICAgICAgICAgIEMgJHt4MSArIGNvbnRyb2xYfSAke3kxfSAke3gxICsgY29udHJvbFh9ICR7eTEgKyBjb250cm9sWH0gJHtjZW50ZXJYfSAke2NlbnRlcll9XG4gICAgICAgICAgICAgICAgICAgIEMgJHt4NCAtIGNvbnRyb2xYfSAke3k0IC0gY29udHJvbFh9ICR7eDQgLSBjb250cm9sWH0gJHt5NH0gJHt4NH0gJHt5NH1cbiAgICAgICAgICAgICAgICAgICAgYDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChNYXRoLmFicyh5NCAtIHkxKSA8PSB0aGlzLmdhbnR0VXBwZXIuc3R5bGVzLmxpbmVIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGBNICR7eDF9ICR7eTF9XG4gICAgICAgICAgICAgICAgICAgIEMgJHt4MSArIGNvbnRyb2xYfSAke3kxfSAke3gxICsgY29udHJvbFh9ICR7eTEgLSBjb250cm9sWH0gJHt4MX0gJHt5MSAtIGNvbnRyb2xZfVxuICAgICAgICAgICAgICAgICAgICBMICR7eDR9ICR7eTQgKyBjb250cm9sWX1cbiAgICAgICAgICAgICAgICAgICAgQyAke3g0IC0gY29udHJvbFl9ICR7eTQgKyBjb250cm9sWX0gJHt4NCAtIGNvbnRyb2xYfSAke3k0fSAke3g0fSAke3k0fVxuICAgICAgICAgICAgICAgICAgICBgO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRyb2xYID0gdGhpcy5nYW50dFVwcGVyLnN0eWxlcy5saW5lSGVpZ2h0O1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYE0gJHt4MX0gJHt5MX1cbiAgICAgICAgICAgICAgICAgICAgQyAke3gxICsgY29udHJvbFh9ICR7eTF9ICR7eDEgKyBjb250cm9sWH0gJHt5MSAtIGNvbnRyb2xYfSAke2NlbnRlclh9ICR7Y2VudGVyWX1cbiAgICAgICAgICAgICAgICAgICAgQyAke3g0IC0gY29udHJvbFh9ICR7eTQgKyBjb250cm9sWH0gJHt4NCAtIGNvbnRyb2xYfSAke3k0fSAke3g0fSAke3k0fVxuICAgICAgICAgICAgICAgICAgICBgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmICh4NCAtIHgxIDwgMTAwKSB7XG4gICAgICAgICAgICBjb25zdCByYWRpdXMgPSBNYXRoLmFicyh5NCAtIHkxKSAvIDQ7XG4gICAgICAgICAgICBsZXQgbGluZFdpZHRoID0geDQgLSB4MSAtIHJhZGl1cztcbiAgICAgICAgICAgIGxpbmRXaWR0aCA9IE1hdGgubWF4KGxpbmRXaWR0aCwgcmFkaXVzKTtcblxuICAgICAgICAgICAgcmV0dXJuIGBNICR7eDF9ICR7eTF9XG4gICAgICAgICAgICAgICAgICAgIEwgJHt4MSArIGxpbmRXaWR0aH0gJHt5MX1cbiAgICAgICAgICAgICAgICAgICAgQSAke3JhZGl1c30gJHtyYWRpdXN9IDAgMSAke3k0ID4geTEgPyAxIDogMH0gJHt4MSArIGxpbmRXaWR0aH0gJHt5NCA+IHkxID8geTEgKyAyICogcmFkaXVzIDogeTEgLSAyICogcmFkaXVzfVxuICAgICAgICAgICAgICAgICAgICBMICR7eDQgLSBsaW5kV2lkdGh9ICR7eTQgPiB5MSA/IHkxICsgMiAqIHJhZGl1cyA6IHkxIC0gMiAqIHJhZGl1c31cbiAgICAgICAgICAgICAgICAgICAgQSAke3JhZGl1c30gJHtyYWRpdXN9IDAgMSAke3k0ID4geTEgPyAwIDogMX0gJHt4NCAtIGxpbmRXaWR0aH0gJHt5NH1cbiAgICAgICAgICAgICAgICAgICAgTCAke3g0fSAke3k0fVxuICAgICAgICAgICAgICAgICAgICBgO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBgTSAke3gxfSAke3kxfSBDICR7eDJ9ICR7eTF9ICR7eDN9ICR7eTR9ICR7eDR9ICR7eTR9YDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { GanttLinkPathType } from '../../../class/link';
|
|
2
|
-
import { GanttLinkPathCurve } from './curve';
|
|
3
|
-
import { GanttLinkPathLine } from './line';
|
|
4
|
-
export function generatePathFactory(type, ganttUpper) {
|
|
5
|
-
switch (type) {
|
|
6
|
-
case GanttLinkPathType.curve:
|
|
7
|
-
return new GanttLinkPathCurve(ganttUpper);
|
|
8
|
-
case GanttLinkPathType.line:
|
|
9
|
-
return new GanttLinkPathLine();
|
|
10
|
-
default:
|
|
11
|
-
throw new Error('gantt link path type invalid');
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy9jb21wb25lbnRzL2xpbmtzL3BhdGhzL2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUUzQyxNQUFNLFVBQVUsbUJBQW1CLENBQUMsSUFBdUIsRUFBRSxVQUF1QjtJQUNoRixRQUFRLElBQUksRUFBRTtRQUNWLEtBQUssaUJBQWlCLENBQUMsS0FBSztZQUN4QixPQUFPLElBQUksa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDOUMsS0FBSyxpQkFBaUIsQ0FBQyxJQUFJO1lBQ3ZCLE9BQU8sSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQ25DO1lBQ0ksTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0tBQ3ZEO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdhbnR0TGlua1BhdGhUeXBlIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3MvbGluayc7XG5pbXBvcnQgeyBHYW50dFVwcGVyIH0gZnJvbSAnLi4vLi4vLi4vZ2FudHQtdXBwZXInO1xuaW1wb3J0IHsgR2FudHRMaW5rUGF0aEN1cnZlIH0gZnJvbSAnLi9jdXJ2ZSc7XG5pbXBvcnQgeyBHYW50dExpbmtQYXRoTGluZSB9IGZyb20gJy4vbGluZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVBhdGhGYWN0b3J5KHR5cGU6IEdhbnR0TGlua1BhdGhUeXBlLCBnYW50dFVwcGVyPzogR2FudHRVcHBlcikge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICBjYXNlIEdhbnR0TGlua1BhdGhUeXBlLmN1cnZlOlxuICAgICAgICAgICAgcmV0dXJuIG5ldyBHYW50dExpbmtQYXRoQ3VydmUoZ2FudHRVcHBlcik7XG4gICAgICAgIGNhc2UgR2FudHRMaW5rUGF0aFR5cGUubGluZTpcbiAgICAgICAgICAgIHJldHVybiBuZXcgR2FudHRMaW5rUGF0aExpbmUoKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignZ2FudHQgbGluayBwYXRoIHR5cGUgaW52YWxpZCcpO1xuICAgIH1cbn1cbiJdfQ==
|