@worktile/gantt 15.1.0-next.0 → 15.1.0-next.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/class/event.d.ts +8 -0
- package/components/bar/bar-drag.d.ts +26 -7
- package/components/bar/bar.component.scss +0 -22
- package/components/calendar/calendar.scss +1 -1
- package/components/drag-backdrop/drag-backdrop.component.scss +1 -0
- package/components/loader/loader.component.d.ts +5 -0
- package/components/loader/loader.component.scss +90 -0
- package/components/table/body/gantt-table-body.component.d.ts +7 -4
- package/esm2020/class/event.mjs +5 -1
- package/esm2020/components/bar/bar-drag.mjs +221 -76
- package/esm2020/components/bar/bar.component.mjs +33 -27
- package/esm2020/components/loader/loader.component.mjs +29 -0
- package/esm2020/components/table/body/gantt-table-body.component.mjs +73 -33
- package/esm2020/components/table/header/gantt-table-header.component.mjs +2 -2
- package/esm2020/gantt-abstract.mjs +1 -1
- package/esm2020/gantt-item-upper.mjs +8 -6
- package/esm2020/gantt-upper.mjs +4 -3
- package/esm2020/gantt.component.mjs +40 -12
- package/esm2020/gantt.module.mjs +4 -1
- package/esm2020/public-api.mjs +2 -1
- package/esm2020/table/gantt-column.component.mjs +13 -6
- package/esm2020/table/gantt-table.component.mjs +8 -2
- package/esm2020/utils/drag-scroll.mjs +35 -0
- package/fesm2015/worktile-gantt.mjs +917 -614
- package/fesm2015/worktile-gantt.mjs.map +1 -1
- package/fesm2020/worktile-gantt.mjs +898 -597
- package/fesm2020/worktile-gantt.mjs.map +1 -1
- package/gantt-abstract.d.ts +3 -1
- package/gantt-item-upper.d.ts +1 -0
- package/gantt.component.d.ts +6 -1
- package/gantt.component.scss +4 -0
- package/gantt.module.d.ts +13 -12
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/styles/index.scss +1 -0
- package/styles/variables.scss +3 -0
- package/table/gantt-column.component.d.ts +4 -2
- package/table/gantt-table.component.d.ts +4 -2
- package/utils/drag-scroll.d.ts +20 -0
package/esm2020/public-api.mjs
CHANGED
|
@@ -11,6 +11,7 @@ export * from './components/bar/bar.component';
|
|
|
11
11
|
export * from './components/range/range.component';
|
|
12
12
|
export * from './components/baseline/baseline.component';
|
|
13
13
|
export * from './components/toolbar/toolbar.component';
|
|
14
|
+
export * from './components/loader/loader.component';
|
|
14
15
|
export * from './utils/date';
|
|
15
16
|
export * from './class';
|
|
16
17
|
export * from './views/view';
|
|
@@ -19,4 +20,4 @@ export * from './gantt-item-upper';
|
|
|
19
20
|
export * from './gantt.pipe';
|
|
20
21
|
export * from './gantt-print.service';
|
|
21
22
|
export * from './gantt.config';
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGNBQWMsQ0FBQztBQUM3QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGdhbnR0XG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9nYW50dC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9nYW50dC11cHBlcic7XG5leHBvcnQgKiBmcm9tICcuL3Jvb3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZ2FudHQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUvZ2FudHQtdGFibGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUvZ2FudHQtY29sdW1uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYmFyL2Jhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3JhbmdlL3JhbmdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYmFzZWxpbmUvYmFzZWxpbmUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2RhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jbGFzcyc7XG5leHBvcnQgKiBmcm9tICcuL3ZpZXdzL3ZpZXcnO1xuZXhwb3J0IHsgcmVnaXN0ZXJWaWV3IH0gZnJvbSAnLi92aWV3cy9mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vZ2FudHQtaXRlbS11cHBlcic7XG5leHBvcnQgKiBmcm9tICcuL2dhbnR0LnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9nYW50dC1wcmludC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZ2FudHQuY29uZmlnJztcbiJdfQ==
|
|
@@ -7,22 +7,29 @@ export class NgxGanttTableColumnComponent {
|
|
|
7
7
|
set width(width) {
|
|
8
8
|
this.columnWidth = coerceCssPixelValue(width);
|
|
9
9
|
}
|
|
10
|
-
constructor(ganttUpper) {
|
|
10
|
+
constructor(ganttUpper, elementRef) {
|
|
11
11
|
this.ganttUpper = ganttUpper;
|
|
12
|
+
this.elementRef = elementRef;
|
|
13
|
+
}
|
|
14
|
+
get classList() {
|
|
15
|
+
return this.elementRef.nativeElement.classList;
|
|
12
16
|
}
|
|
13
17
|
}
|
|
14
|
-
NgxGanttTableColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: NgxGanttTableColumnComponent, deps: [{ token: GANTT_UPPER_TOKEN }], target: i0.ɵɵFactoryTarget.Component });
|
|
15
|
-
NgxGanttTableColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: NgxGanttTableColumnComponent, selector: "ngx-gantt-column", inputs: { width: "width", name: "name", showExpandIcon: "showExpandIcon" }, queries: [{ propertyName: "templateRef", first: true, predicate: ["cell"], descendants: true, static: true }, { propertyName: "headerTemplateRef", first: true, predicate: ["header"], descendants: true, static: true }], ngImport: i0, template: '', isInline: true });
|
|
18
|
+
NgxGanttTableColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: NgxGanttTableColumnComponent, deps: [{ token: GANTT_UPPER_TOKEN }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
19
|
+
NgxGanttTableColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: NgxGanttTableColumnComponent, selector: "ngx-gantt-column", inputs: { width: "width", name: "name", showExpandIcon: "showExpandIcon" }, host: { classAttribute: "gantt-table-column" }, queries: [{ propertyName: "templateRef", first: true, predicate: ["cell"], descendants: true, static: true }, { propertyName: "headerTemplateRef", first: true, predicate: ["header"], descendants: true, static: true }], ngImport: i0, template: '', isInline: true });
|
|
16
20
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: NgxGanttTableColumnComponent, decorators: [{
|
|
17
21
|
type: Component,
|
|
18
22
|
args: [{
|
|
19
23
|
selector: 'ngx-gantt-column',
|
|
20
|
-
template: ''
|
|
24
|
+
template: '',
|
|
25
|
+
host: {
|
|
26
|
+
class: 'gantt-table-column'
|
|
27
|
+
}
|
|
21
28
|
}]
|
|
22
29
|
}], ctorParameters: function () { return [{ type: i1.GanttUpper, decorators: [{
|
|
23
30
|
type: Inject,
|
|
24
31
|
args: [GANTT_UPPER_TOKEN]
|
|
25
|
-
}] }]; }, propDecorators: { width: [{
|
|
32
|
+
}] }, { type: i0.ElementRef }]; }, propDecorators: { width: [{
|
|
26
33
|
type: Input
|
|
27
34
|
}], name: [{
|
|
28
35
|
type: Input
|
|
@@ -35,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
35
42
|
type: ContentChild,
|
|
36
43
|
args: ['header', { static: true }]
|
|
37
44
|
}] } });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FudHQtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy90YWJsZS9nYW50dC1jb2x1bW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFlLEtBQUssRUFBRSxNQUFNLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFjLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQVEvRCxNQUFNLE9BQU8sNEJBQTRCO0lBR3JDLElBQ0ksS0FBSyxDQUFDLEtBQXNCO1FBQzVCLElBQUksQ0FBQyxXQUFXLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQVVELFlBQThDLFVBQXNCLEVBQVUsVUFBc0I7UUFBdEQsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7SUFBRyxDQUFDO0lBRXhHLElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO0lBQ25ELENBQUM7O3lIQXBCUSw0QkFBNEIsa0JBZ0JqQixpQkFBaUI7NkdBaEI1Qiw0QkFBNEIsK1lBTDNCLEVBQUU7MkZBS0gsNEJBQTRCO2tCQVB4QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRSxFQUFFO29CQUNaLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsb0JBQW9CO3FCQUM5QjtpQkFDSjs7MEJBaUJnQixNQUFNOzJCQUFDLGlCQUFpQjtxRUFaakMsS0FBSztzQkFEUixLQUFLO2dCQUtHLElBQUk7c0JBQVosS0FBSztnQkFFRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVrQyxXQUFXO3NCQUFsRCxZQUFZO3VCQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRUksaUJBQWlCO3NCQUExRCxZQUFZO3VCQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgVGVtcGxhdGVSZWYsIElucHV0LCBJbmplY3QsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvZXJjZUNzc1BpeGVsVmFsdWUgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgR2FudHRVcHBlciwgR0FOVFRfVVBQRVJfVE9LRU4gfSBmcm9tICcuLi9nYW50dC11cHBlcic7XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25neC1nYW50dC1jb2x1bW4nLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZ2FudHQtdGFibGUtY29sdW1uJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgTmd4R2FudHRUYWJsZUNvbHVtbkNvbXBvbmVudCB7XG4gICAgcHVibGljIGNvbHVtbldpZHRoOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCB3aWR0aCh3aWR0aDogbnVtYmVyIHwgc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuY29sdW1uV2lkdGggPSBjb2VyY2VDc3NQaXhlbFZhbHVlKHdpZHRoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcblxuICAgIEBDb250ZW50Q2hpbGQoJ2NlbGwnLCB7IHN0YXRpYzogdHJ1ZSB9KSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBDb250ZW50Q2hpbGQoJ2hlYWRlcicsIHsgc3RhdGljOiB0cnVlIH0pIGhlYWRlclRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChHQU5UVF9VUFBFUl9UT0tFTikgcHVibGljIGdhbnR0VXBwZXI6IEdhbnR0VXBwZXIsIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cblxuICAgIGdldCBjbGFzc0xpc3QoKTogRE9NVG9rZW5MaXN0IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -4,11 +4,13 @@ export class NgxGanttTableComponent {
|
|
|
4
4
|
constructor() {
|
|
5
5
|
this.draggable = false;
|
|
6
6
|
this.dragDropped = new EventEmitter();
|
|
7
|
+
this.dragStarted = new EventEmitter();
|
|
8
|
+
this.dragEnded = new EventEmitter();
|
|
7
9
|
this.columnChanges = new EventEmitter();
|
|
8
10
|
}
|
|
9
11
|
}
|
|
10
12
|
NgxGanttTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: NgxGanttTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
11
|
-
NgxGanttTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: NgxGanttTableComponent, selector: "ngx-gantt-table", inputs: { draggable: "draggable", dropEnterPredicate: "dropEnterPredicate" }, outputs: { dragDropped: "dragDropped", columnChanges: "columnChanges" }, queries: [{ propertyName: "rowBeforeTemplate", first: true, predicate: ["rowBeforeSlot"], descendants: true, static: true }, { propertyName: "rowAfterTemplate", first: true, predicate: ["rowAfterSlot"], descendants: true, static: true }], ngImport: i0, template: '', isInline: true });
|
|
13
|
+
NgxGanttTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: NgxGanttTableComponent, selector: "ngx-gantt-table", inputs: { draggable: "draggable", dropEnterPredicate: "dropEnterPredicate" }, outputs: { dragDropped: "dragDropped", dragStarted: "dragStarted", dragEnded: "dragEnded", columnChanges: "columnChanges" }, queries: [{ propertyName: "rowBeforeTemplate", first: true, predicate: ["rowBeforeSlot"], descendants: true, static: true }, { propertyName: "rowAfterTemplate", first: true, predicate: ["rowAfterSlot"], descendants: true, static: true }], ngImport: i0, template: '', isInline: true });
|
|
12
14
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: NgxGanttTableComponent, decorators: [{
|
|
13
15
|
type: Component,
|
|
14
16
|
args: [{
|
|
@@ -21,6 +23,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
21
23
|
type: Input
|
|
22
24
|
}], dragDropped: [{
|
|
23
25
|
type: Output
|
|
26
|
+
}], dragStarted: [{
|
|
27
|
+
type: Output
|
|
28
|
+
}], dragEnded: [{
|
|
29
|
+
type: Output
|
|
24
30
|
}], columnChanges: [{
|
|
25
31
|
type: Output
|
|
26
32
|
}], rowBeforeTemplate: [{
|
|
@@ -30,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
30
36
|
type: ContentChild,
|
|
31
37
|
args: ['rowAfterSlot', { static: true }]
|
|
32
38
|
}] } });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FudHQtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2FudHQvc3JjL3RhYmxlL2dhbnR0LXRhYmxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBZSxNQUFNLGVBQWUsQ0FBQzs7QUFhbEcsTUFBTSxPQUFPLHNCQUFzQjtJQUpuQztRQUthLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFJakIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBOEIsQ0FBQztRQUU3RCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUE4QixDQUFDO1FBRTdELGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBNEIsQ0FBQztRQUV6RCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFtQixDQUFDO0tBS2pFOzttSEFoQlksc0JBQXNCO3VHQUF0QixzQkFBc0IsaWZBRnJCLEVBQUU7MkZBRUgsc0JBQXNCO2tCQUpsQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFFBQVEsRUFBRSxFQUFFO2lCQUNmOzhCQUVZLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsa0JBQWtCO3NCQUExQixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBRUcsV0FBVztzQkFBcEIsTUFBTTtnQkFFRyxTQUFTO3NCQUFsQixNQUFNO2dCQUVHLGFBQWE7c0JBQXRCLE1BQU07Z0JBRTBDLGlCQUFpQjtzQkFBakUsWUFBWTt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUVDLGdCQUFnQjtzQkFBL0QsWUFBWTt1QkFBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgR2FudHRUYWJsZURyYWdFbnRlclByZWRpY2F0ZUNvbnRleHQsXG4gICAgR2FudHRUYWJsZURyYWdEcm9wcGVkRXZlbnQsXG4gICAgR2FudHRUYWJsZUV2ZW50LFxuICAgIEdhbnR0VGFibGVEcmFnU3RhcnRlZEV2ZW50LFxuICAgIEdhbnR0VGFibGVEcmFnRW5kZWRFdmVudFxufSBmcm9tICcuLi9jbGFzcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd4LWdhbnR0LXRhYmxlJyxcbiAgICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgY2xhc3MgTmd4R2FudHRUYWJsZUNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgZHJhZ2dhYmxlID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSBkcm9wRW50ZXJQcmVkaWNhdGU/OiAoY29udGV4dDogR2FudHRUYWJsZURyYWdFbnRlclByZWRpY2F0ZUNvbnRleHQpID0+IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCkgZHJhZ0Ryb3BwZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEdhbnR0VGFibGVEcmFnRHJvcHBlZEV2ZW50PigpO1xuXG4gICAgQE91dHB1dCgpIGRyYWdTdGFydGVkID0gbmV3IEV2ZW50RW1pdHRlcjxHYW50dFRhYmxlRHJhZ1N0YXJ0ZWRFdmVudD4oKTtcblxuICAgIEBPdXRwdXQoKSBkcmFnRW5kZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEdhbnR0VGFibGVEcmFnRW5kZWRFdmVudD4oKTtcblxuICAgIEBPdXRwdXQoKSBjb2x1bW5DaGFuZ2VzID0gbmV3IEV2ZW50RW1pdHRlcjxHYW50dFRhYmxlRXZlbnQ+KCk7XG5cbiAgICBAQ29udGVudENoaWxkKCdyb3dCZWZvcmVTbG90JywgeyBzdGF0aWM6IHRydWUgfSkgcm93QmVmb3JlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAQ29udGVudENoaWxkKCdyb3dBZnRlclNsb3QnLCB7IHN0YXRpYzogdHJ1ZSB9KSByb3dBZnRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xufVxuIl19
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Proximity, as a ratio to width/height at which to start auto-scrolling the drop list or the
|
|
3
|
+
* viewport. The value comes from trying it out manually until it feels right.
|
|
4
|
+
*/
|
|
5
|
+
const SCROLL_PROXIMITY_THRESHOLD = 0.05;
|
|
6
|
+
/**
|
|
7
|
+
* Gets whether the horizontal auto-scroll direction of a node.
|
|
8
|
+
* @param clientRect Dimensions of the node.
|
|
9
|
+
* @param pointerX Position of the user's pointer along the x axis.
|
|
10
|
+
*/
|
|
11
|
+
export function getHorizontalScrollDirection(clientRect, pointerX) {
|
|
12
|
+
const { left, right, width } = clientRect;
|
|
13
|
+
const xThreshold = width * SCROLL_PROXIMITY_THRESHOLD;
|
|
14
|
+
if (pointerX >= left - xThreshold && pointerX <= left + xThreshold) {
|
|
15
|
+
return 1 /* AutoScrollHorizontalDirection.LEFT */;
|
|
16
|
+
}
|
|
17
|
+
else if (pointerX >= right - xThreshold && pointerX <= right + xThreshold) {
|
|
18
|
+
return 2 /* AutoScrollHorizontalDirection.RIGHT */;
|
|
19
|
+
}
|
|
20
|
+
return 0 /* AutoScrollHorizontalDirection.NONE */;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Checks whether the pointer coordinates are close to a ClientRect.
|
|
24
|
+
* @param rect ClientRect to check against.
|
|
25
|
+
* @param threshold Threshold around the ClientRect.
|
|
26
|
+
* @param pointerX Coordinates along the X axis.
|
|
27
|
+
* @param pointerY Coordinates along the Y axis.
|
|
28
|
+
*/
|
|
29
|
+
export function isPointerNearClientRect(rect, threshold, pointerX, pointerY) {
|
|
30
|
+
const { top, right, bottom, left, width, height } = rect;
|
|
31
|
+
const xThreshold = width * threshold;
|
|
32
|
+
const yThreshold = height * threshold;
|
|
33
|
+
return pointerY > top - yThreshold && pointerY < bottom + yThreshold && pointerX > left - xThreshold && pointerX < right + xThreshold;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1zY3JvbGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvdXRpbHMvZHJhZy1zY3JvbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0E7OztHQUdHO0FBQ0gsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLENBQUM7QUFFeEM7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSw0QkFBNEIsQ0FBQyxVQUFtQixFQUFFLFFBQWdCO0lBQzlFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLFVBQVUsQ0FBQztJQUMxQyxNQUFNLFVBQVUsR0FBRyxLQUFLLEdBQUcsMEJBQTBCLENBQUM7SUFFdEQsSUFBSSxRQUFRLElBQUksSUFBSSxHQUFHLFVBQVUsSUFBSSxRQUFRLElBQUksSUFBSSxHQUFHLFVBQVUsRUFBRTtRQUNoRSxrREFBMEM7S0FDN0M7U0FBTSxJQUFJLFFBQVEsSUFBSSxLQUFLLEdBQUcsVUFBVSxJQUFJLFFBQVEsSUFBSSxLQUFLLEdBQUcsVUFBVSxFQUFFO1FBQ3pFLG1EQUEyQztLQUM5QztJQUVELGtEQUEwQztBQUM5QyxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUFDLElBQWEsRUFBRSxTQUFpQixFQUFFLFFBQWdCLEVBQUUsUUFBZ0I7SUFDeEcsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBQ3pELE1BQU0sVUFBVSxHQUFHLEtBQUssR0FBRyxTQUFTLENBQUM7SUFDckMsTUFBTSxVQUFVLEdBQUcsTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUV0QyxPQUFPLFFBQVEsR0FBRyxHQUFHLEdBQUcsVUFBVSxJQUFJLFFBQVEsR0FBRyxNQUFNLEdBQUcsVUFBVSxJQUFJLFFBQVEsR0FBRyxJQUFJLEdBQUcsVUFBVSxJQUFJLFFBQVEsR0FBRyxLQUFLLEdBQUcsVUFBVSxDQUFDO0FBQzFJLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogSG9yaXpvbnRhbCBkaXJlY3Rpb24gaW4gd2hpY2ggd2UgY2FuIGF1dG8tc2Nyb2xsLiAqL1xuZXhwb3J0IGNvbnN0IGVudW0gQXV0b1Njcm9sbEhvcml6b250YWxEaXJlY3Rpb24ge1xuICAgIE5PTkUsXG4gICAgTEVGVCxcbiAgICBSSUdIVFxufVxuXG4vKipcbiAqIFByb3hpbWl0eSwgYXMgYSByYXRpbyB0byB3aWR0aC9oZWlnaHQgYXQgd2hpY2ggdG8gc3RhcnQgYXV0by1zY3JvbGxpbmcgdGhlIGRyb3AgbGlzdCBvciB0aGVcbiAqIHZpZXdwb3J0LiBUaGUgdmFsdWUgY29tZXMgZnJvbSB0cnlpbmcgaXQgb3V0IG1hbnVhbGx5IHVudGlsIGl0IGZlZWxzIHJpZ2h0LlxuICovXG5jb25zdCBTQ1JPTExfUFJPWElNSVRZX1RIUkVTSE9MRCA9IDAuMDU7XG5cbi8qKlxuICogR2V0cyB3aGV0aGVyIHRoZSBob3Jpem9udGFsIGF1dG8tc2Nyb2xsIGRpcmVjdGlvbiBvZiBhIG5vZGUuXG4gKiBAcGFyYW0gY2xpZW50UmVjdCBEaW1lbnNpb25zIG9mIHRoZSBub2RlLlxuICogQHBhcmFtIHBvaW50ZXJYIFBvc2l0aW9uIG9mIHRoZSB1c2VyJ3MgcG9pbnRlciBhbG9uZyB0aGUgeCBheGlzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0SG9yaXpvbnRhbFNjcm9sbERpcmVjdGlvbihjbGllbnRSZWN0OiBET01SZWN0LCBwb2ludGVyWDogbnVtYmVyKSB7XG4gICAgY29uc3QgeyBsZWZ0LCByaWdodCwgd2lkdGggfSA9IGNsaWVudFJlY3Q7XG4gICAgY29uc3QgeFRocmVzaG9sZCA9IHdpZHRoICogU0NST0xMX1BST1hJTUlUWV9USFJFU0hPTEQ7XG5cbiAgICBpZiAocG9pbnRlclggPj0gbGVmdCAtIHhUaHJlc2hvbGQgJiYgcG9pbnRlclggPD0gbGVmdCArIHhUaHJlc2hvbGQpIHtcbiAgICAgICAgcmV0dXJuIEF1dG9TY3JvbGxIb3Jpem9udGFsRGlyZWN0aW9uLkxFRlQ7XG4gICAgfSBlbHNlIGlmIChwb2ludGVyWCA+PSByaWdodCAtIHhUaHJlc2hvbGQgJiYgcG9pbnRlclggPD0gcmlnaHQgKyB4VGhyZXNob2xkKSB7XG4gICAgICAgIHJldHVybiBBdXRvU2Nyb2xsSG9yaXpvbnRhbERpcmVjdGlvbi5SSUdIVDtcbiAgICB9XG5cbiAgICByZXR1cm4gQXV0b1Njcm9sbEhvcml6b250YWxEaXJlY3Rpb24uTk9ORTtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciB0aGUgcG9pbnRlciBjb29yZGluYXRlcyBhcmUgY2xvc2UgdG8gYSBDbGllbnRSZWN0LlxuICogQHBhcmFtIHJlY3QgQ2xpZW50UmVjdCB0byBjaGVjayBhZ2FpbnN0LlxuICogQHBhcmFtIHRocmVzaG9sZCBUaHJlc2hvbGQgYXJvdW5kIHRoZSBDbGllbnRSZWN0LlxuICogQHBhcmFtIHBvaW50ZXJYIENvb3JkaW5hdGVzIGFsb25nIHRoZSBYIGF4aXMuXG4gKiBAcGFyYW0gcG9pbnRlclkgQ29vcmRpbmF0ZXMgYWxvbmcgdGhlIFkgYXhpcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzUG9pbnRlck5lYXJDbGllbnRSZWN0KHJlY3Q6IERPTVJlY3QsIHRocmVzaG9sZDogbnVtYmVyLCBwb2ludGVyWDogbnVtYmVyLCBwb2ludGVyWTogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgY29uc3QgeyB0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQsIHdpZHRoLCBoZWlnaHQgfSA9IHJlY3Q7XG4gICAgY29uc3QgeFRocmVzaG9sZCA9IHdpZHRoICogdGhyZXNob2xkO1xuICAgIGNvbnN0IHlUaHJlc2hvbGQgPSBoZWlnaHQgKiB0aHJlc2hvbGQ7XG5cbiAgICByZXR1cm4gcG9pbnRlclkgPiB0b3AgLSB5VGhyZXNob2xkICYmIHBvaW50ZXJZIDwgYm90dG9tICsgeVRocmVzaG9sZCAmJiBwb2ludGVyWCA+IGxlZnQgLSB4VGhyZXNob2xkICYmIHBvaW50ZXJYIDwgcmlnaHQgKyB4VGhyZXNob2xkO1xufVxuIl19
|