@swimlane/ngx-datatable 17.0.0 → 20.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -1
- package/assets/icons.css +39 -19
- package/bundles/swimlane-ngx-datatable.umd.js +1103 -1564
- package/bundles/swimlane-ngx-datatable.umd.js.map +1 -1
- package/esm2015/lib/components/body/body-cell.component.js +40 -86
- package/esm2015/lib/components/body/body-group-header-template.directive.js +8 -10
- package/esm2015/lib/components/body/body-group-header.directive.js +11 -19
- package/esm2015/lib/components/body/body-row-wrapper.component.js +32 -54
- package/esm2015/lib/components/body/body-row.component.js +38 -75
- package/esm2015/lib/components/body/body.component.js +61 -137
- package/esm2015/lib/components/body/progress-bar.component.js +10 -12
- package/esm2015/lib/components/body/scroller.component.js +21 -33
- package/esm2015/lib/components/body/selection.component.js +19 -35
- package/esm2015/lib/components/body/summary/summary-row.component.js +19 -29
- package/esm2015/lib/components/columns/column-cell.directive.js +6 -8
- package/esm2015/lib/components/columns/column-header.directive.js +6 -8
- package/esm2015/lib/components/columns/column.directive.js +36 -92
- package/esm2015/lib/components/columns/tree.directive.js +6 -8
- package/esm2015/lib/components/datatable.component.js +85 -214
- package/esm2015/lib/components/footer/footer-template.directive.js +6 -8
- package/esm2015/lib/components/footer/footer.component.js +28 -54
- package/esm2015/lib/components/footer/footer.directive.js +16 -34
- package/esm2015/lib/components/footer/pager.component.js +23 -39
- package/esm2015/lib/components/header/header-cell.component.js +45 -80
- package/esm2015/lib/components/header/header.component.js +43 -80
- package/esm2015/lib/components/row-detail/row-detail-template.directive.js +8 -10
- package/esm2015/lib/components/row-detail/row-detail.directive.js +11 -19
- package/esm2015/lib/directives/draggable.directive.js +16 -30
- package/esm2015/lib/directives/long-press.directive.js +16 -34
- package/esm2015/lib/directives/orderable.directive.js +12 -19
- package/esm2015/lib/directives/resizeable.directive.js +19 -29
- package/esm2015/lib/directives/visibility.directive.js +11 -15
- package/esm2015/lib/events.js +1 -1
- package/esm2015/lib/ngx-datatable.module.js +54 -57
- package/esm2015/lib/services/column-changes.service.js +6 -8
- package/esm2015/lib/services/dimensions-helper.service.js +6 -8
- package/esm2015/lib/services/scrollbar-helper.service.js +6 -9
- package/esm2015/lib/types/click.type.js +1 -1
- package/esm2015/lib/types/column-mode.type.js +1 -1
- package/esm2015/lib/types/contextmenu.type.js +1 -1
- package/esm2015/lib/types/selection.type.js +1 -1
- package/esm2015/lib/types/sort-direction.type.js +1 -1
- package/esm2015/lib/types/sort-prop-dir.type.js +2 -1
- package/esm2015/lib/types/sort.type.js +1 -1
- package/esm2015/lib/types/table-column.type.js +2 -1
- package/esm2015/lib/utils/camel-case.js +1 -1
- package/esm2015/lib/utils/column-helper.js +1 -1
- package/esm2015/lib/utils/column-prop-getters.js +1 -1
- package/esm2015/lib/utils/column.js +1 -1
- package/esm2015/lib/utils/elm-from-point.js +1 -1
- package/esm2015/lib/utils/id.js +1 -1
- package/esm2015/lib/utils/keys.js +1 -1
- package/esm2015/lib/utils/math.js +1 -1
- package/esm2015/lib/utils/prefixes.js +1 -1
- package/esm2015/lib/utils/row-height-cache.js +1 -1
- package/esm2015/lib/utils/selection.js +1 -1
- package/esm2015/lib/utils/sort.js +1 -1
- package/esm2015/lib/utils/throttle.js +1 -1
- package/esm2015/lib/utils/translate.js +1 -1
- package/esm2015/lib/utils/tree.js +1 -1
- package/esm2015/public-api.js +3 -1
- package/esm2015/swimlane-ngx-datatable.js +1 -1
- package/fesm2015/swimlane-ngx-datatable.js +682 -1248
- package/fesm2015/swimlane-ngx-datatable.js.map +1 -1
- package/lib/components/header/header-cell.component.d.ts +2 -0
- package/lib/components/header/header.component.d.ts +1 -0
- package/lib/utils/throttle.d.ts +1 -1
- package/package.json +10 -10
- package/swimlane-ngx-datatable.metadata.json +1 -1
- package/bundles/swimlane-ngx-datatable.umd.min.js +0 -16
- package/bundles/swimlane-ngx-datatable.umd.min.js.map +0 -1
- package/esm5/lib/components/body/body-cell.component.js +0 -438
- package/esm5/lib/components/body/body-group-header-template.directive.js +0 -18
- package/esm5/lib/components/body/body-group-header.directive.js +0 -67
- package/esm5/lib/components/body/body-row-wrapper.component.js +0 -114
- package/esm5/lib/components/body/body-row.component.js +0 -260
- package/esm5/lib/components/body/body.component.js +0 -775
- package/esm5/lib/components/body/progress-bar.component.js +0 -16
- package/esm5/lib/components/body/scroller.component.js +0 -97
- package/esm5/lib/components/body/selection.component.js +0 -159
- package/esm5/lib/components/body/summary/summary-row.component.js +0 -81
- package/esm5/lib/components/columns/column-cell.directive.js +0 -16
- package/esm5/lib/components/columns/column-header.directive.js +0 -16
- package/esm5/lib/components/columns/column.directive.js +0 -134
- package/esm5/lib/components/columns/tree.directive.js +0 -16
- package/esm5/lib/components/datatable.component.js +0 -1147
- package/esm5/lib/components/footer/footer-template.directive.js +0 -16
- package/esm5/lib/components/footer/footer.component.js +0 -74
- package/esm5/lib/components/footer/footer.directive.js +0 -47
- package/esm5/lib/components/footer/pager.component.js +0 -135
- package/esm5/lib/components/header/header-cell.component.js +0 -253
- package/esm5/lib/components/header/header.component.js +0 -317
- package/esm5/lib/components/row-detail/row-detail-template.directive.js +0 -18
- package/esm5/lib/components/row-detail/row-detail.directive.js +0 -68
- package/esm5/lib/directives/draggable.directive.js +0 -118
- package/esm5/lib/directives/long-press.directive.js +0 -132
- package/esm5/lib/directives/orderable.directive.js +0 -161
- package/esm5/lib/directives/resizeable.directive.js +0 -101
- package/esm5/lib/directives/visibility.directive.js +0 -69
- package/esm5/lib/events.js +0 -7
- package/esm5/lib/ngx-datatable.module.js +0 -103
- package/esm5/lib/services/column-changes.service.js +0 -28
- package/esm5/lib/services/dimensions-helper.service.js +0 -19
- package/esm5/lib/services/scrollbar-helper.service.js +0 -38
- package/esm5/lib/types/click.type.js +0 -6
- package/esm5/lib/types/column-mode.type.js +0 -7
- package/esm5/lib/types/contextmenu.type.js +0 -6
- package/esm5/lib/types/selection.type.js +0 -9
- package/esm5/lib/types/sort-direction.type.js +0 -6
- package/esm5/lib/types/sort-prop-dir.type.js +0 -1
- package/esm5/lib/types/sort.type.js +0 -6
- package/esm5/lib/types/table-column.type.js +0 -1
- package/esm5/lib/utils/camel-case.js +0 -28
- package/esm5/lib/utils/column-helper.js +0 -128
- package/esm5/lib/utils/column-prop-getters.js +0 -96
- package/esm5/lib/utils/column.js +0 -103
- package/esm5/lib/utils/elm-from-point.js +0 -38
- package/esm5/lib/utils/id.js +0 -8
- package/esm5/lib/utils/keys.js +0 -10
- package/esm5/lib/utils/math.js +0 -224
- package/esm5/lib/utils/prefixes.js +0 -40
- package/esm5/lib/utils/row-height-cache.js +0 -137
- package/esm5/lib/utils/selection.js +0 -40
- package/esm5/lib/utils/sort.js +0 -139
- package/esm5/lib/utils/throttle.js +0 -60
- package/esm5/lib/utils/translate.js +0 -25
- package/esm5/lib/utils/tree.js +0 -106
- package/esm5/public-api.js +0 -62
- package/esm5/swimlane-ngx-datatable.js +0 -5
- package/fesm5/swimlane-ngx-datatable.js +0 -6088
- package/fesm5/swimlane-ngx-datatable.js.map +0 -1
- package/lib/test/jasmine-matchers.d.ts +0 -12
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Directive, Input, Output, EventEmitter, HostBinding, HostListener } from '@angular/core';
|
|
3
|
-
import { fromEvent } from 'rxjs';
|
|
4
|
-
import { takeUntil } from 'rxjs/operators';
|
|
5
|
-
var LongPressDirective = /** @class */ (function () {
|
|
6
|
-
function LongPressDirective() {
|
|
7
|
-
this.pressEnabled = true;
|
|
8
|
-
this.duration = 500;
|
|
9
|
-
this.longPressStart = new EventEmitter();
|
|
10
|
-
this.longPressing = new EventEmitter();
|
|
11
|
-
this.longPressEnd = new EventEmitter();
|
|
12
|
-
this.mouseX = 0;
|
|
13
|
-
this.mouseY = 0;
|
|
14
|
-
}
|
|
15
|
-
Object.defineProperty(LongPressDirective.prototype, "press", {
|
|
16
|
-
get: function () {
|
|
17
|
-
return this.pressing;
|
|
18
|
-
},
|
|
19
|
-
enumerable: true,
|
|
20
|
-
configurable: true
|
|
21
|
-
});
|
|
22
|
-
Object.defineProperty(LongPressDirective.prototype, "isLongPress", {
|
|
23
|
-
get: function () {
|
|
24
|
-
return this.isLongPressing;
|
|
25
|
-
},
|
|
26
|
-
enumerable: true,
|
|
27
|
-
configurable: true
|
|
28
|
-
});
|
|
29
|
-
LongPressDirective.prototype.onMouseDown = function (event) {
|
|
30
|
-
var _this = this;
|
|
31
|
-
// don't do right/middle clicks
|
|
32
|
-
if (event.which !== 1 || !this.pressEnabled)
|
|
33
|
-
return;
|
|
34
|
-
// don't start drag if its on resize handle
|
|
35
|
-
var target = event.target;
|
|
36
|
-
if (target.classList.contains('resize-handle'))
|
|
37
|
-
return;
|
|
38
|
-
this.mouseX = event.clientX;
|
|
39
|
-
this.mouseY = event.clientY;
|
|
40
|
-
this.pressing = true;
|
|
41
|
-
this.isLongPressing = false;
|
|
42
|
-
var mouseup = fromEvent(document, 'mouseup');
|
|
43
|
-
this.subscription = mouseup.subscribe(function (ev) { return _this.onMouseup(); });
|
|
44
|
-
this.timeout = setTimeout(function () {
|
|
45
|
-
_this.isLongPressing = true;
|
|
46
|
-
_this.longPressStart.emit({
|
|
47
|
-
event: event,
|
|
48
|
-
model: _this.pressModel
|
|
49
|
-
});
|
|
50
|
-
_this.subscription.add(fromEvent(document, 'mousemove')
|
|
51
|
-
.pipe(takeUntil(mouseup))
|
|
52
|
-
.subscribe(function (mouseEvent) { return _this.onMouseMove(mouseEvent); }));
|
|
53
|
-
_this.loop(event);
|
|
54
|
-
}, this.duration);
|
|
55
|
-
this.loop(event);
|
|
56
|
-
};
|
|
57
|
-
LongPressDirective.prototype.onMouseMove = function (event) {
|
|
58
|
-
if (this.pressing && !this.isLongPressing) {
|
|
59
|
-
var xThres = Math.abs(event.clientX - this.mouseX) > 10;
|
|
60
|
-
var yThres = Math.abs(event.clientY - this.mouseY) > 10;
|
|
61
|
-
if (xThres || yThres) {
|
|
62
|
-
this.endPress();
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
LongPressDirective.prototype.loop = function (event) {
|
|
67
|
-
var _this = this;
|
|
68
|
-
if (this.isLongPressing) {
|
|
69
|
-
this.timeout = setTimeout(function () {
|
|
70
|
-
_this.longPressing.emit({
|
|
71
|
-
event: event,
|
|
72
|
-
model: _this.pressModel
|
|
73
|
-
});
|
|
74
|
-
_this.loop(event);
|
|
75
|
-
}, 50);
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
LongPressDirective.prototype.endPress = function () {
|
|
79
|
-
clearTimeout(this.timeout);
|
|
80
|
-
this.isLongPressing = false;
|
|
81
|
-
this.pressing = false;
|
|
82
|
-
this._destroySubscription();
|
|
83
|
-
this.longPressEnd.emit({
|
|
84
|
-
model: this.pressModel
|
|
85
|
-
});
|
|
86
|
-
};
|
|
87
|
-
LongPressDirective.prototype.onMouseup = function () {
|
|
88
|
-
this.endPress();
|
|
89
|
-
};
|
|
90
|
-
LongPressDirective.prototype.ngOnDestroy = function () {
|
|
91
|
-
this._destroySubscription();
|
|
92
|
-
};
|
|
93
|
-
LongPressDirective.prototype._destroySubscription = function () {
|
|
94
|
-
if (this.subscription) {
|
|
95
|
-
this.subscription.unsubscribe();
|
|
96
|
-
this.subscription = undefined;
|
|
97
|
-
}
|
|
98
|
-
};
|
|
99
|
-
__decorate([
|
|
100
|
-
Input()
|
|
101
|
-
], LongPressDirective.prototype, "pressEnabled", void 0);
|
|
102
|
-
__decorate([
|
|
103
|
-
Input()
|
|
104
|
-
], LongPressDirective.prototype, "pressModel", void 0);
|
|
105
|
-
__decorate([
|
|
106
|
-
Input()
|
|
107
|
-
], LongPressDirective.prototype, "duration", void 0);
|
|
108
|
-
__decorate([
|
|
109
|
-
Output()
|
|
110
|
-
], LongPressDirective.prototype, "longPressStart", void 0);
|
|
111
|
-
__decorate([
|
|
112
|
-
Output()
|
|
113
|
-
], LongPressDirective.prototype, "longPressing", void 0);
|
|
114
|
-
__decorate([
|
|
115
|
-
Output()
|
|
116
|
-
], LongPressDirective.prototype, "longPressEnd", void 0);
|
|
117
|
-
__decorate([
|
|
118
|
-
HostBinding('class.press')
|
|
119
|
-
], LongPressDirective.prototype, "press", null);
|
|
120
|
-
__decorate([
|
|
121
|
-
HostBinding('class.longpress')
|
|
122
|
-
], LongPressDirective.prototype, "isLongPress", null);
|
|
123
|
-
__decorate([
|
|
124
|
-
HostListener('mousedown', ['$event'])
|
|
125
|
-
], LongPressDirective.prototype, "onMouseDown", null);
|
|
126
|
-
LongPressDirective = __decorate([
|
|
127
|
-
Directive({ selector: '[long-press]' })
|
|
128
|
-
], LongPressDirective);
|
|
129
|
-
return LongPressDirective;
|
|
130
|
-
}());
|
|
131
|
-
export { LongPressDirective };
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9uZy1wcmVzcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3dpbWxhbmUvbmd4LWRhdGF0YWJsZS8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2xvbmctcHJlc3MuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDN0csT0FBTyxFQUE0QixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTNDO0lBQUE7UUFDVyxpQkFBWSxHQUFZLElBQUksQ0FBQztRQUU3QixhQUFRLEdBQVcsR0FBRyxDQUFDO1FBRXRCLG1CQUFjLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdkQsaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNyRCxpQkFBWSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBSy9ELFdBQU0sR0FBVyxDQUFDLENBQUM7UUFDbkIsV0FBTSxHQUFXLENBQUMsQ0FBQztJQW1HckIsQ0FBQztJQTlGQyxzQkFBSSxxQ0FBSzthQUFUO1lBQ0UsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3ZCLENBQUM7OztPQUFBO0lBR0Qsc0JBQUksMkNBQVc7YUFBZjtZQUNFLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUM3QixDQUFDOzs7T0FBQTtJQUdELHdDQUFXLEdBQVgsVUFBWSxLQUFpQjtRQUQ3QixpQkFtQ0M7UUFqQ0MsK0JBQStCO1FBQy9CLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWTtZQUFFLE9BQU87UUFFcEQsMkNBQTJDO1FBQzNDLElBQU0sTUFBTSxHQUFnQixLQUFLLENBQUMsTUFBTSxD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QUNMLENBQUM7SUFFRCxzQ0FBUyxHQUFUO1FBQ0UsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCx3Q0FBVyxHQUFYO1FBQ0UsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVPLGlEQUFvQixHQUE1QjtRQUNFLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO1NBQy9CO0lBQ0gsQ0FBQztJQTlHUTtRQUFSLEtBQUssRUFBRTs0REFBOEI7SUFDN0I7UUFBUixLQUFLLEVBQUU7MERBQWlCO0lBQ2hCO1FBQVIsS0FBSyxFQUFFO3dEQUF3QjtJQUV0QjtRQUFULE1BQU0sRUFBRTs4REFBd0Q7SUFDdkQ7UUFBVCxNQUFNLEVBQUU7NERBQXNEO0lBQ3JEO1FBQVQsTUFBTSxFQUFFOzREQUFzRDtJQVcvRDtRQURDLFdBQVcsQ0FBQyxhQUFhLENBQUM7bURBRzFCO0lBR0Q7UUFEQyxXQUFXLENBQUMsaUJBQWlCLENBQUM7eURBRzlCO0lBR0Q7UUFEQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7eURBbUNyQztJQTlEVSxrQkFBa0I7UUFEOUIsU0FBUyxDQUFDLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxDQUFDO09BQzNCLGtCQUFrQixDQWdIOUI7SUFBRCx5QkFBQztDQUFBLEFBaEhELElBZ0hDO1NBaEhZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNb3VzZUV2ZW50IH0gZnJvbSAnLi4vZXZlbnRzJztcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2xvbmctcHJlc3NdJyB9KVxuZXhwb3J0IGNsYXNzIExvbmdQcmVzc0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHByZXNzRW5hYmxlZDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHByZXNzTW9kZWw6IGFueTtcbiAgQElucHV0KCkgZHVyYXRpb246IG51bWJlciA9IDUwMDtcblxuICBAT3V0cHV0KCkgbG9uZ1ByZXNzU3RhcnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgbG9uZ1ByZXNzaW5nOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGxvbmdQcmVzc0VuZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJlc3Npbmc6IGJvb2xlYW47XG4gIGlzTG9uZ1ByZXNzaW5nOiBib29sZWFuO1xuICB0aW1lb3V0OiBhbnk7XG4gIG1vdXNlWDogbnVtYmVyID0gMDtcbiAgbW91c2VZOiBudW1iZXIgPSAwO1xuXG4gIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MucHJlc3MnKVxuICBnZXQgcHJlc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucHJlc3Npbmc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmxvbmdwcmVzcycpXG4gIGdldCBpc0xvbmdQcmVzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0xvbmdQcmVzc2luZztcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gIG9uTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgLy8gZG9uJ3QgZG8gcmlnaHQvbWlkZGxlIGNsaWNrc1xuICAgIGlmIChldmVudC53aGljaCAhPT0gMSB8fCAhdGhpcy5wcmVzc0VuYWJsZWQpIHJldHVybjtcblxuICAgIC8vIGRvbid0IHN0YXJ0IGRyYWcgaWYgaXRzIG9uIHJlc2l6ZSBoYW5kbGVcbiAgICBjb25zdCB0YXJnZXQgPSA8SFRNTEVsZW1lbnQ+ZXZlbnQudGFyZ2V0O1xuICAgIGlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCdyZXNpemUtaGFuZGxlJykpIHJldHVybjtcblxuICAgIHRoaXMubW91c2VYID0gZXZlbnQuY2xpZW50WDtcbiAgICB0aGlzLm1vdXNlWSA9IGV2ZW50LmNsaWVudFk7XG5cbiAgICB0aGlzLnByZXNzaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmlzTG9uZ1ByZXNzaW5nID0gZmFsc2U7XG5cbiAgICBjb25zdCBtb3VzZXVwID0gZnJvbUV2ZW50KGRvY3VtZW50LCAnbW91c2V1cCcpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gbW91c2V1cC5zdWJzY3JpYmUoKGV2OiBNb3VzZUV2ZW50KSA9PiB0aGlzLm9uTW91c2V1cCgpKTtcblxuICAgIHRoaXMudGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5pc0xvbmdQcmVzc2luZyA9IHRydWU7XG4gICAgICB0aGlzLmxvbmdQcmVzc1N0YXJ0LmVtaXQoe1xuICAgICAgICBldmVudCxcbiAgICAgICAgbW9kZWw6IHRoaXMucHJlc3NNb2RlbFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgICAgZnJvbUV2ZW50KGRvY3VtZW50LCAnbW91c2Vtb3ZlJylcbiAgICAgICAgICAucGlwZSh0YWtlVW50aWwobW91c2V1cCkpXG4gICAgICAgICAgLnN1YnNjcmliZSgobW91c2VFdmVudDogTW91c2VFdmVudCkgPT4gdGhpcy5vbk1vdXNlTW92ZShtb3VzZUV2ZW50KSlcbiAgICAgICk7XG5cbiAgICAgIHRoaXMubG9vcChldmVudCk7XG4gICAgfSwgdGhpcy5kdXJhdGlvbik7XG5cbiAgICB0aGlzLmxvb3AoZXZlbnQpO1xuICB9XG5cbiAgb25Nb3VzZU1vdmUoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcmVzc2luZyAmJiAhdGhpcy5pc0xvbmdQcmVzc2luZykge1xuICAgICAgY29uc3QgeFRocmVzID0gTWF0aC5hYnMoZXZlbnQuY2xpZW50WCAtIHRoaXMubW91c2VYKSA+IDEwO1xuICAgICAgY29uc3QgeVRocmVzID0gTWF0aC5hYnMoZXZlbnQuY2xpZW50WSAtIHRoaXMubW91c2VZKSA+IDEwO1xuXG4gICAgICBpZiAoeFRocmVzIHx8IHlUaHJlcykge1xuICAgICAgICB0aGlzLmVuZFByZXNzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbG9vcChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzTG9uZ1ByZXNzaW5nKSB7XG4gICAgICB0aGlzLnRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5sb25nUHJlc3NpbmcuZW1pdCh7XG4gICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgbW9kZWw6IHRoaXMucHJlc3NNb2RlbFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5sb29wKGV2ZW50KTtcbiAgICAgIH0sIDUwKTtcbiAgICB9XG4gIH1cblxuICBlbmRQcmVzcygpOiB2b2lkIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0KTtcbiAgICB0aGlzLmlzTG9uZ1ByZXNzaW5nID0gZmFsc2U7XG4gICAgdGhpcy5wcmVzc2luZyA9IGZhbHNlO1xuICAgIHRoaXMuX2Rlc3Ryb3lTdWJzY3JpcHRpb24oKTtcblxuICAgIHRoaXMubG9uZ1ByZXNzRW5kLmVtaXQoe1xuICAgICAgbW9kZWw6IHRoaXMucHJlc3NNb2RlbFxuICAgIH0pO1xuICB9XG5cbiAgb25Nb3VzZXVwKCk6IHZvaWQge1xuICAgIHRoaXMuZW5kUHJlc3MoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3lTdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Rlc3Ryb3lTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
import { __decorate, __param, __values } from "tslib";
|
|
2
|
-
import { Directive, Output, EventEmitter, ContentChildren, QueryList, KeyValueDiffers, AfterContentInit, OnDestroy, Inject } from '@angular/core';
|
|
3
|
-
import { DraggableDirective } from './draggable.directive';
|
|
4
|
-
import { DOCUMENT } from '@angular/common';
|
|
5
|
-
var OrderableDirective = /** @class */ (function () {
|
|
6
|
-
function OrderableDirective(differs, document) {
|
|
7
|
-
this.document = document;
|
|
8
|
-
this.reorder = new EventEmitter();
|
|
9
|
-
this.targetChanged = new EventEmitter();
|
|
10
|
-
this.differ = differs.find({}).create();
|
|
11
|
-
}
|
|
12
|
-
OrderableDirective.prototype.ngAfterContentInit = function () {
|
|
13
|
-
// HACK: Investigate Better Way
|
|
14
|
-
this.updateSubscriptions();
|
|
15
|
-
this.draggables.changes.subscribe(this.updateSubscriptions.bind(this));
|
|
16
|
-
};
|
|
17
|
-
OrderableDirective.prototype.ngOnDestroy = function () {
|
|
18
|
-
this.draggables.forEach(function (d) {
|
|
19
|
-
d.dragStart.unsubscribe();
|
|
20
|
-
d.dragging.unsubscribe();
|
|
21
|
-
d.dragEnd.unsubscribe();
|
|
22
|
-
});
|
|
23
|
-
};
|
|
24
|
-
OrderableDirective.prototype.updateSubscriptions = function () {
|
|
25
|
-
var _this = this;
|
|
26
|
-
var diffs = this.differ.diff(this.createMapDiffs());
|
|
27
|
-
if (diffs) {
|
|
28
|
-
var subscribe = function (_a) {
|
|
29
|
-
var currentValue = _a.currentValue, previousValue = _a.previousValue;
|
|
30
|
-
unsubscribe_1({ previousValue: previousValue });
|
|
31
|
-
if (currentValue) {
|
|
32
|
-
currentValue.dragStart.subscribe(_this.onDragStart.bind(_this));
|
|
33
|
-
currentValue.dragging.subscribe(_this.onDragging.bind(_this));
|
|
34
|
-
currentValue.dragEnd.subscribe(_this.onDragEnd.bind(_this));
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
var unsubscribe_1 = function (_a) {
|
|
38
|
-
var previousValue = _a.previousValue;
|
|
39
|
-
if (previousValue) {
|
|
40
|
-
previousValue.dragStart.unsubscribe();
|
|
41
|
-
previousValue.dragging.unsubscribe();
|
|
42
|
-
previousValue.dragEnd.unsubscribe();
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
diffs.forEachAddedItem(subscribe);
|
|
46
|
-
// diffs.forEachChangedItem(subscribe.bind(this));
|
|
47
|
-
diffs.forEachRemovedItem(unsubscribe_1);
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
OrderableDirective.prototype.onDragStart = function () {
|
|
51
|
-
var e_1, _a;
|
|
52
|
-
this.positions = {};
|
|
53
|
-
var i = 0;
|
|
54
|
-
try {
|
|
55
|
-
for (var _b = __values(this.draggables.toArray()), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
56
|
-
var dragger = _c.value;
|
|
57
|
-
var elm = dragger.element;
|
|
58
|
-
var left = parseInt(elm.offsetLeft.toString(), 0);
|
|
59
|
-
this.positions[dragger.dragModel.prop] = {
|
|
60
|
-
left: left,
|
|
61
|
-
right: left + parseInt(elm.offsetWidth.toString(), 0),
|
|
62
|
-
index: i++,
|
|
63
|
-
element: elm
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
68
|
-
finally {
|
|
69
|
-
try {
|
|
70
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
71
|
-
}
|
|
72
|
-
finally { if (e_1) throw e_1.error; }
|
|
73
|
-
}
|
|
74
|
-
};
|
|
75
|
-
OrderableDirective.prototype.onDragging = function (_a) {
|
|
76
|
-
var element = _a.element, model = _a.model, event = _a.event;
|
|
77
|
-
var prevPos = this.positions[model.prop];
|
|
78
|
-
var target = this.isTarget(model, event);
|
|
79
|
-
if (target) {
|
|
80
|
-
if (this.lastDraggingIndex !== target.i) {
|
|
81
|
-
this.targetChanged.emit({
|
|
82
|
-
prevIndex: this.lastDraggingIndex,
|
|
83
|
-
newIndex: target.i,
|
|
84
|
-
initialIndex: prevPos.index
|
|
85
|
-
});
|
|
86
|
-
this.lastDraggingIndex = target.i;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
else if (this.lastDraggingIndex !== prevPos.index) {
|
|
90
|
-
this.targetChanged.emit({
|
|
91
|
-
prevIndex: this.lastDraggingIndex,
|
|
92
|
-
initialIndex: prevPos.index
|
|
93
|
-
});
|
|
94
|
-
this.lastDraggingIndex = prevPos.index;
|
|
95
|
-
}
|
|
96
|
-
};
|
|
97
|
-
OrderableDirective.prototype.onDragEnd = function (_a) {
|
|
98
|
-
var element = _a.element, model = _a.model, event = _a.event;
|
|
99
|
-
var prevPos = this.positions[model.prop];
|
|
100
|
-
var target = this.isTarget(model, event);
|
|
101
|
-
if (target) {
|
|
102
|
-
this.reorder.emit({
|
|
103
|
-
prevIndex: prevPos.index,
|
|
104
|
-
newIndex: target.i,
|
|
105
|
-
model: model
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
this.lastDraggingIndex = undefined;
|
|
109
|
-
element.style.left = 'auto';
|
|
110
|
-
};
|
|
111
|
-
OrderableDirective.prototype.isTarget = function (model, event) {
|
|
112
|
-
var i = 0;
|
|
113
|
-
var x = event.x || event.clientX;
|
|
114
|
-
var y = event.y || event.clientY;
|
|
115
|
-
var targets = this.document.elementsFromPoint(x, y);
|
|
116
|
-
var _loop_1 = function (prop) {
|
|
117
|
-
// current column position which throws event.
|
|
118
|
-
var pos = this_1.positions[prop];
|
|
119
|
-
// since we drag the inner span, we need to find it in the elements at the cursor
|
|
120
|
-
if (model.prop !== prop && targets.find(function (el) { return el === pos.element; })) {
|
|
121
|
-
return { value: {
|
|
122
|
-
pos: pos,
|
|
123
|
-
i: i
|
|
124
|
-
} };
|
|
125
|
-
}
|
|
126
|
-
i++;
|
|
127
|
-
};
|
|
128
|
-
var this_1 = this;
|
|
129
|
-
for (var prop in this.positions) {
|
|
130
|
-
var state_1 = _loop_1(prop);
|
|
131
|
-
if (typeof state_1 === "object")
|
|
132
|
-
return state_1.value;
|
|
133
|
-
}
|
|
134
|
-
};
|
|
135
|
-
OrderableDirective.prototype.createMapDiffs = function () {
|
|
136
|
-
return this.draggables.toArray().reduce(function (acc, curr) {
|
|
137
|
-
acc[curr.dragModel.$$id] = curr;
|
|
138
|
-
return acc;
|
|
139
|
-
}, {});
|
|
140
|
-
};
|
|
141
|
-
OrderableDirective.ctorParameters = function () { return [
|
|
142
|
-
{ type: KeyValueDiffers },
|
|
143
|
-
{ type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
|
|
144
|
-
]; };
|
|
145
|
-
__decorate([
|
|
146
|
-
Output()
|
|
147
|
-
], OrderableDirective.prototype, "reorder", void 0);
|
|
148
|
-
__decorate([
|
|
149
|
-
Output()
|
|
150
|
-
], OrderableDirective.prototype, "targetChanged", void 0);
|
|
151
|
-
__decorate([
|
|
152
|
-
ContentChildren(DraggableDirective, { descendants: true })
|
|
153
|
-
], OrderableDirective.prototype, "draggables", void 0);
|
|
154
|
-
OrderableDirective = __decorate([
|
|
155
|
-
Directive({ selector: '[orderable]' }),
|
|
156
|
-
__param(1, Inject(DOCUMENT))
|
|
157
|
-
], OrderableDirective);
|
|
158
|
-
return OrderableDirective;
|
|
159
|
-
}());
|
|
160
|
-
export { OrderableDirective };
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXJhYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bzd2ltbGFuZS9uZ3gtZGF0YXRhYmxlLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvb3JkZXJhYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBQ04sWUFBWSxFQUNaLGVBQWUsRUFDZixTQUFTLEVBQ1QsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixTQUFTLEVBQ1QsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUczQztJQVdFLDRCQUFZLE9BQXdCLEVBQTRCLFFBQWE7UUFBYixhQUFRLEdBQVIsUUFBUSxDQUFLO1FBVm5FLFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoRCxrQkFBYSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBVTlELElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsK0NBQWtCLEdBQWxCO1FBQ0UsK0JBQStCO1FBQy9CLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELHdDQUFXLEdBQVg7UUFDRSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFBLENBQUM7WUFDdkIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMxQixDQUFDLENBQUMsUUFBUSxDQUFDLFdB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LGtCQUFrQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDOzBEQUNqQjtJQUwvQixrQkFBa0I7UUFEOUIsU0FBUyxDQUFDLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxDQUFDO1FBWUUsV0FBQSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7T0FYNUMsa0JBQWtCLENBMkk5QjtJQUFELHlCQUFDO0NBQUEsQUEzSUQsSUEySUM7U0EzSVksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgQ29udGVudENoaWxkcmVuLFxuICBRdWVyeUxpc3QsXG4gIEtleVZhbHVlRGlmZmVycyxcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgT25EZXN0cm95LFxuICBJbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEcmFnZ2FibGVEaXJlY3RpdmUgfSBmcm9tICcuL2RyYWdnYWJsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbb3JkZXJhYmxlXScgfSlcbmV4cG9ydCBjbGFzcyBPcmRlcmFibGVEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICBAT3V0cHV0KCkgcmVvcmRlcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSB0YXJnZXRDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAQ29udGVudENoaWxkcmVuKERyYWdnYWJsZURpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBkcmFnZ2FibGVzOiBRdWVyeUxpc3Q8RHJhZ2dhYmxlRGlyZWN0aXZlPjtcblxuICBwb3NpdGlvbnM6IGFueTtcbiAgZGlmZmVyOiBhbnk7XG4gIGxhc3REcmFnZ2luZ0luZGV4OiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoZGlmZmVyczogS2V5VmFsdWVEaWZmZXJzLCBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBhbnkpIHtcbiAgICB0aGlzLmRpZmZlciA9IGRpZmZlcnMuZmluZCh7fSkuY3JlYXRlKCk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgLy8gSEFDSzogSW52ZXN0aWdhdGUgQmV0dGVyIFdheVxuICAgIHRoaXMudXBkYXRlU3Vic2NyaXB0aW9ucygpO1xuICAgIHRoaXMuZHJhZ2dhYmxlcy5jaGFuZ2VzLnN1YnNjcmliZSh0aGlzLnVwZGF0ZVN1YnNjcmlwdGlvbnMuYmluZCh0aGlzKSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRyYWdnYWJsZXMuZm9yRWFjaChkID0+IHtcbiAgICAgIGQuZHJhZ1N0YXJ0LnVuc3Vic2NyaWJlKCk7XG4gICAgICBkLmRyYWdnaW5nLnVuc3Vic2NyaWJlKCk7XG4gICAgICBkLmRyYWdFbmQudW5zdWJzY3JpYmUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHVwZGF0ZVN1YnNjcmlwdGlvbnMoKTogdm9pZCB7XG4gICAgY29uc3QgZGlmZnMgPSB0aGlzLmRpZmZlci5kaWZmKHRoaXMuY3JlYXRlTWFwRGlmZnMoKSk7XG5cbiAgICBpZiAoZGlmZnMpIHtcbiAgICAgIGNvbnN0IHN1YnNjcmliZSA9ICh7IGN1cnJlbnRWYWx1ZSwgcHJldmlvdXNWYWx1ZSB9OiBhbnkpID0+IHtcbiAgICAgICAgdW5zdWJzY3JpYmUoeyBwcmV2aW91c1ZhbHVlIH0pO1xuXG4gICAgICAgIGlmIChjdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICBjdXJyZW50VmFsdWUuZHJhZ1N0YXJ0LnN1YnNjcmliZSh0aGlzLm9uRHJhZ1N0YXJ0LmJpbmQodGhpcykpO1xuICAgICAgICAgIGN1cnJlbnRWYWx1ZS5kcmFnZ2luZy5zdWJzY3JpYmUodGhpcy5vbkRyYWdnaW5nLmJpbmQodGhpcykpO1xuICAgICAgICAgIGN1cnJlbnRWYWx1ZS5kcmFnRW5kLnN1YnNjcmliZSh0aGlzLm9uRHJhZ0VuZC5iaW5kKHRoaXMpKTtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgY29uc3QgdW5zdWJzY3JpYmUgPSAoeyBwcmV2aW91c1ZhbHVlIH06IGFueSkgPT4ge1xuICAgICAgICBpZiAocHJldmlvdXNWYWx1ZSkge1xuICAgICAgICAgIHByZXZpb3VzVmFsdWUuZHJhZ1N0YXJ0LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgcHJldmlvdXNWYWx1ZS5kcmFnZ2luZy51bnN1YnNjcmliZSgpO1xuICAgICAgICAgIHByZXZpb3VzVmFsdWUuZHJhZ0VuZC51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBkaWZmcy5mb3JFYWNoQWRkZWRJdGVtKHN1YnNjcmliZSk7XG4gICAgICAvLyBkaWZmcy5mb3JFYWNoQ2hhbmdlZEl0ZW0oc3Vic2NyaWJlLmJpbmQodGhpcykpO1xuICAgICAgZGlmZnMuZm9yRWFjaFJlbW92ZWRJdGVtKHVuc3Vic2NyaWJlKTtcbiAgICB9XG4gIH1cblxuICBvbkRyYWdTdGFydCgpOiB2b2lkIHtcbiAgICB0aGlzLnBvc2l0aW9ucyA9IHt9O1xuXG4gICAgbGV0IGkgPSAwO1xuICAgIGZvciAoY29uc3QgZHJhZ2dlciBvZiB0aGlzLmRyYWdnYWJsZXMudG9BcnJheSgpKSB7XG4gICAgICBjb25zdCBlbG0gPSBkcmFnZ2VyLmVsZW1lbnQ7XG4gICAgICBjb25zdCBsZWZ0ID0gcGFyc2VJbnQoZWxtLm9mZnNldExlZnQudG9TdHJpbmcoKSwgMCk7XG4gICAgICB0aGlzLnBvc2l0aW9uc1tkcmFnZ2VyLmRyYWdNb2RlbC5wcm9wXSA9IHtcbiAgICAgICAgbGVmdCxcbiAgICAgICAgcmlnaHQ6IGxlZnQgKyBwYXJzZUludChlbG0ub2Zmc2V0V2lkdGgudG9TdHJpbmcoKSwgMCksXG4gICAgICAgIGluZGV4OiBpKyssXG4gICAgICAgIGVsZW1lbnQ6IGVsbVxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBvbkRyYWdnaW5nKHsgZWxlbWVudCwgbW9kZWwsIGV2ZW50IH06IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IHByZXZQb3MgPSB0aGlzLnBvc2l0aW9uc1ttb2RlbC5wcm9wXTtcbiAgICBjb25zdCB0YXJnZXQgPSB0aGlzLmlzVGFyZ2V0KG1vZGVsLCBldmVudCk7XG5cbiAgICBpZiAodGFyZ2V0KSB7XG4gICAgICBpZiAodGhpcy5sYXN0RHJhZ2dpbmdJbmRleCAhPT0gdGFyZ2V0LmkpIHtcbiAgICAgICAgdGhpcy50YXJnZXRDaGFuZ2VkLmVtaXQoe1xuICAgICAgICAgIHByZXZJbmRleDogdGhpcy5sYXN0RHJhZ2dpbmdJbmRleCxcbiAgICAgICAgICBuZXdJbmRleDogdGFyZ2V0LmksXG4gICAgICAgICAgaW5pdGlhbEluZGV4OiBwcmV2UG9zLmluZGV4XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmxhc3REcmFnZ2luZ0luZGV4ID0gdGFyZ2V0Lmk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLmxhc3REcmFnZ2luZ0luZGV4ICE9PSBwcmV2UG9zLmluZGV4KSB7XG4gICAgICB0aGlzLnRhcmdldENoYW5nZWQuZW1pdCh7XG4gICAgICAgIHByZXZJbmRleDogdGhpcy5sYXN0RHJhZ2dpbmdJbmRleCxcbiAgICAgICAgaW5pdGlhbEluZGV4OiBwcmV2UG9zLmluZGV4XG4gICAgICB9KTtcbiAgICAgIHRoaXMubGFzdERyYWdnaW5nSW5kZXggPSBwcmV2UG9zLmluZGV4O1xuICAgIH1cbiAgfVxuXG4gIG9uRHJhZ0VuZCh7IGVsZW1lbnQsIG1vZGVsLCBldmVudCB9OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2UG9zID0gdGhpcy5wb3NpdGlvbnNbbW9kZWwucHJvcF07XG5cbiAgICBjb25zdCB0YXJnZXQgPSB0aGlzLmlzVGFyZ2V0KG1vZGVsLCBldmVudCk7XG4gICAgaWYgKHRhcmdldCkge1xuICAgICAgdGhpcy5yZW9yZGVyLmVtaXQoe1xuICAgICAgICBwcmV2SW5kZXg6IHByZXZQb3MuaW5kZXgsXG4gICAgICAgIG5ld0luZGV4OiB0YXJnZXQuaSxcbiAgICAgICAgbW9kZWxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMubGFzdERyYWdnaW5nSW5kZXggPSB1bmRlZmluZWQ7XG4gICAgZWxlbWVudC5zdHlsZS5sZWZ0ID0gJ2F1dG8nO1xuICB9XG5cbiAgaXNUYXJnZXQobW9kZWw6IGFueSwgZXZlbnQ6IGFueSk6IGFueSB7XG4gICAgbGV0IGkgPSAwO1xuICAgIGNvbnN0IHggPSBldmVudC54IHx8IGV2ZW50LmNsaWVudFg7XG4gICAgY29uc3QgeSA9IGV2ZW50LnkgfHwgZXZlbnQuY2xpZW50WTtcbiAgICBjb25zdCB0YXJnZXRzID0gdGhpcy5kb2N1bWVudC5lbGVtZW50c0Zyb21Qb2ludCh4LCB5KTtcblxuICAgIGZvciAoY29uc3QgcHJvcCBpbiB0aGlzLnBvc2l0aW9ucykge1xuICAgICAgLy8gY3VycmVudCBjb2x1bW4gcG9zaXRpb24gd2hpY2ggdGhyb3dzIGV2ZW50LlxuICAgICAgY29uc3QgcG9zID0gdGhpcy5wb3NpdGlvbnNbcHJvcF07XG5cbiAgICAgIC8vIHNpbmNlIHdlIGRyYWcgdGhlIGlubmVyIHNwYW4sIHdlIG5lZWQgdG8gZmluZCBpdCBpbiB0aGUgZWxlbWVudHMgYXQgdGhlIGN1cnNvclxuICAgICAgaWYgKG1vZGVsLnByb3AgIT09IHByb3AgJiYgdGFyZ2V0cy5maW5kKChlbDogYW55KSA9PiBlbCA9PT0gcG9zLmVsZW1lbnQpKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcG9zLFxuICAgICAgICAgIGlcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgaSsrO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlTWFwRGlmZnMoKTogeyBba2V5OiBzdHJpbmddOiBEcmFnZ2FibGVEaXJlY3RpdmUgfSB7XG4gICAgcmV0dXJuIHRoaXMuZHJhZ2dhYmxlcy50b0FycmF5KCkucmVkdWNlKChhY2MsIGN1cnIpID0+IHtcbiAgICAgIGFjY1tjdXJyLmRyYWdNb2RlbC4kJGlkXSA9IGN1cnI7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Directive, ElementRef, HostListener, Input, Output, EventEmitter, OnDestroy, AfterViewInit, Renderer2 } from '@angular/core';
|
|
3
|
-
import { fromEvent } from 'rxjs';
|
|
4
|
-
import { takeUntil } from 'rxjs/operators';
|
|
5
|
-
var ResizeableDirective = /** @class */ (function () {
|
|
6
|
-
function ResizeableDirective(element, renderer) {
|
|
7
|
-
this.renderer = renderer;
|
|
8
|
-
this.resizeEnabled = true;
|
|
9
|
-
this.resize = new EventEmitter();
|
|
10
|
-
this.resizing = false;
|
|
11
|
-
this.element = element.nativeElement;
|
|
12
|
-
}
|
|
13
|
-
ResizeableDirective.prototype.ngAfterViewInit = function () {
|
|
14
|
-
var renderer2 = this.renderer;
|
|
15
|
-
this.resizeHandle = renderer2.createElement('span');
|
|
16
|
-
if (this.resizeEnabled) {
|
|
17
|
-
renderer2.addClass(this.resizeHandle, 'resize-handle');
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
renderer2.addClass(this.resizeHandle, 'resize-handle--not-resizable');
|
|
21
|
-
}
|
|
22
|
-
renderer2.appendChild(this.element, this.resizeHandle);
|
|
23
|
-
};
|
|
24
|
-
ResizeableDirective.prototype.ngOnDestroy = function () {
|
|
25
|
-
this._destroySubscription();
|
|
26
|
-
if (this.renderer.destroyNode) {
|
|
27
|
-
this.renderer.destroyNode(this.resizeHandle);
|
|
28
|
-
}
|
|
29
|
-
else if (this.resizeHandle) {
|
|
30
|
-
this.renderer.removeChild(this.renderer.parentNode(this.resizeHandle), this.resizeHandle);
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
ResizeableDirective.prototype.onMouseup = function () {
|
|
34
|
-
this.resizing = false;
|
|
35
|
-
if (this.subscription && !this.subscription.closed) {
|
|
36
|
-
this._destroySubscription();
|
|
37
|
-
this.resize.emit(this.element.clientWidth);
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
ResizeableDirective.prototype.onMousedown = function (event) {
|
|
41
|
-
var _this = this;
|
|
42
|
-
var isHandle = event.target.classList.contains('resize-handle');
|
|
43
|
-
var initialWidth = this.element.clientWidth;
|
|
44
|
-
var mouseDownScreenX = event.screenX;
|
|
45
|
-
if (isHandle) {
|
|
46
|
-
event.stopPropagation();
|
|
47
|
-
this.resizing = true;
|
|
48
|
-
var mouseup = fromEvent(document, 'mouseup');
|
|
49
|
-
this.subscription = mouseup.subscribe(function (ev) { return _this.onMouseup(); });
|
|
50
|
-
var mouseMoveSub = fromEvent(document, 'mousemove')
|
|
51
|
-
.pipe(takeUntil(mouseup))
|
|
52
|
-
.subscribe(function (e) { return _this.move(e, initialWidth, mouseDownScreenX); });
|
|
53
|
-
this.subscription.add(mouseMoveSub);
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
ResizeableDirective.prototype.move = function (event, initialWidth, mouseDownScreenX) {
|
|
57
|
-
var movementX = event.screenX - mouseDownScreenX;
|
|
58
|
-
var newWidth = initialWidth + movementX;
|
|
59
|
-
var overMinWidth = !this.minWidth || newWidth >= this.minWidth;
|
|
60
|
-
var underMaxWidth = !this.maxWidth || newWidth <= this.maxWidth;
|
|
61
|
-
if (overMinWidth && underMaxWidth) {
|
|
62
|
-
this.element.style.width = newWidth + "px";
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
ResizeableDirective.prototype._destroySubscription = function () {
|
|
66
|
-
if (this.subscription) {
|
|
67
|
-
this.subscription.unsubscribe();
|
|
68
|
-
this.subscription = undefined;
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
ResizeableDirective.ctorParameters = function () { return [
|
|
72
|
-
{ type: ElementRef },
|
|
73
|
-
{ type: Renderer2 }
|
|
74
|
-
]; };
|
|
75
|
-
__decorate([
|
|
76
|
-
Input()
|
|
77
|
-
], ResizeableDirective.prototype, "resizeEnabled", void 0);
|
|
78
|
-
__decorate([
|
|
79
|
-
Input()
|
|
80
|
-
], ResizeableDirective.prototype, "minWidth", void 0);
|
|
81
|
-
__decorate([
|
|
82
|
-
Input()
|
|
83
|
-
], ResizeableDirective.prototype, "maxWidth", void 0);
|
|
84
|
-
__decorate([
|
|
85
|
-
Output()
|
|
86
|
-
], ResizeableDirective.prototype, "resize", void 0);
|
|
87
|
-
__decorate([
|
|
88
|
-
HostListener('mousedown', ['$event'])
|
|
89
|
-
], ResizeableDirective.prototype, "onMousedown", null);
|
|
90
|
-
ResizeableDirective = __decorate([
|
|
91
|
-
Directive({
|
|
92
|
-
selector: '[resizeable]',
|
|
93
|
-
host: {
|
|
94
|
-
'[class.resizeable]': 'resizeEnabled'
|
|
95
|
-
}
|
|
96
|
-
})
|
|
97
|
-
], ResizeableDirective);
|
|
98
|
-
return ResizeableDirective;
|
|
99
|
-
}());
|
|
100
|
-
export { ResizeableDirective };
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplYWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3dpbWxhbmUvbmd4LWRhdGF0YWJsZS8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL3Jlc2l6ZWFibGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osU0FBUyxFQUNULGFBQWEsRUFDYixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBUTNDO0lBWUUsNkJBQVksT0FBbUIsRUFBVSxRQUFtQjtRQUFuQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBWG5ELGtCQUFhLEdBQVksSUFBSSxDQUFDO1FBSTdCLFdBQU0sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUl6RCxhQUFRLEdBQVksS0FBSyxDQUFDO1FBSXhCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztJQUN2QyxDQUFDO0lBRUQsNkNBQWUsR0FBZjtRQUNFLElBQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDaEMsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BELElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDLENBQUM7U0FDeEQ7YUFBTTtZQUNMLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSw4QkFBOEIsQ0FBQyxDQUFDO1NBQ3ZFO1FBQ0QsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENB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Q0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7U0FDL0I7SUFDSCxDQUFDOztnQkF2RW9CLFVBQVU7Z0JBQW9CLFNBQVM7O0lBWG5EO1FBQVIsS0FBSyxFQUFFOzhEQUErQjtJQUM5QjtRQUFSLEtBQUssRUFBRTt5REFBa0I7SUFDakI7UUFBUixLQUFLLEVBQUU7eURBQWtCO0lBRWhCO1FBQVQsTUFBTSxFQUFFO3VEQUFnRDtJQXlDekQ7UUFEQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7MERBbUJyQztJQWhFVSxtQkFBbUI7UUFOL0IsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLGNBQWM7WUFDeEIsSUFBSSxFQUFFO2dCQUNKLG9CQUFvQixFQUFFLGVBQWU7YUFDdEM7U0FDRixDQUFDO09BQ1csbUJBQW1CLENBb0YvQjtJQUFELDBCQUFDO0NBQUEsQUFwRkQsSUFvRkM7U0FwRlksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25EZXN0cm95LFxuICBBZnRlclZpZXdJbml0LFxuICBSZW5kZXJlcjJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbcmVzaXplYWJsZV0nLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5yZXNpemVhYmxlXSc6ICdyZXNpemVFbmFibGVkJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIFJlc2l6ZWFibGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSByZXNpemVFbmFibGVkOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgbWluV2lkdGg6IG51bWJlcjtcbiAgQElucHV0KCkgbWF4V2lkdGg6IG51bWJlcjtcblxuICBAT3V0cHV0KCkgcmVzaXplOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBlbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHJlc2l6aW5nOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgcmVzaXplSGFuZGxlOiBIVE1MRWxlbWVudDtcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50OiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgICB0aGlzLmVsZW1lbnQgPSBlbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgY29uc3QgcmVuZGVyZXIyID0gdGhpcy5yZW5kZXJlcjtcbiAgICB0aGlzLnJlc2l6ZUhhbmRsZSA9IHJlbmRlcmVyMi5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgaWYgKHRoaXMucmVzaXplRW5hYmxlZCkge1xuICAgICAgcmVuZGVyZXIyLmFkZENsYXNzKHRoaXMucmVzaXplSGFuZGxlLCAncmVzaXplLWhhbmRsZScpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZW5kZXJlcjIuYWRkQ2xhc3ModGhpcy5yZXNpemVIYW5kbGUsICdyZXNpemUtaGFuZGxlLS1ub3QtcmVzaXphYmxlJyk7XG4gICAgfVxuICAgIHJlbmRlcmVyMi5hcHBlbmRDaGlsZCh0aGlzLmVsZW1lbnQsIHRoaXMucmVzaXplSGFuZGxlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3lTdWJzY3JpcHRpb24oKTtcbiAgICBpZiAodGhpcy5yZW5kZXJlci5kZXN0cm95Tm9kZSkge1xuICAgICAgdGhpcy5yZW5kZXJlci5kZXN0cm95Tm9kZSh0aGlzLnJlc2l6ZUhhbmRsZSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnJlc2l6ZUhhbmRsZSkge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLnJlbmRlcmVyLnBhcmVudE5vZGUodGhpcy5yZXNpemVIYW5kbGUpLCB0aGlzLnJlc2l6ZUhhbmRsZSk7XG4gICAgfVxuICB9XG5cbiAgb25Nb3VzZXVwKCk6IHZvaWQge1xuICAgIHRoaXMucmVzaXppbmcgPSBmYWxzZTtcblxuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbiAmJiAhdGhpcy5zdWJzY3JpcHRpb24uY2xvc2VkKSB7XG4gICAgICB0aGlzLl9kZXN0cm95U3Vic2NyaXB0aW9uKCk7XG4gICAgICB0aGlzLnJlc2l6ZS5lbWl0KHRoaXMuZWxlbWVudC5jbGllbnRXaWR0aCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2Vkb3duJywgWyckZXZlbnQnXSlcbiAgb25Nb3VzZWRvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBpc0hhbmRsZSA9ICg8SFRNTEVsZW1lbnQ+ZXZlbnQudGFyZ2V0KS5jbGFzc0xpc3QuY29udGFpbnMoJ3Jlc2l6ZS1oYW5kbGUnKTtcbiAgICBjb25zdCBpbml0aWFsV2lkdGggPSB0aGlzLmVsZW1lbnQuY2xpZW50V2lkdGg7XG4gICAgY29uc3QgbW91c2VEb3duU2NyZWVuWCA9IGV2ZW50LnNjcmVlblg7XG5cbiAgICBpZiAoaXNIYW5kbGUpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgdGhpcy5yZXNpemluZyA9IHRydWU7XG5cbiAgICAgIGNvbnN0IG1vdXNldXAgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdtb3VzZXVwJyk7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IG1vdXNldXAuc3Vic2NyaWJlKChldjogTW91c2VFdmVudCkgPT4gdGhpcy5vbk1vdXNldXAoKSk7XG5cbiAgICAgIGNvbnN0IG1vdXNlTW92ZVN1YiA9IGZyb21FdmVudChkb2N1bWVudCwgJ21vdXNlbW92ZScpXG4gICAgICAgIC5waXBlKHRha2VVbnRpbChtb3VzZXVwKSlcbiAgICAgICAgLnN1YnNjcmliZSgoZTogTW91c2VFdmVudCkgPT4gdGhpcy5tb3ZlKGUsIGluaXRpYWxXaWR0aCwgbW91c2VEb3duU2NyZWVuWCkpO1xuXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQobW91c2VNb3ZlU3ViKTtcbiAgICB9XG4gIH1cblxuICBtb3ZlKGV2ZW50OiBNb3VzZUV2ZW50LCBpbml0aWFsV2lkdGg6IG51bWJlciwgbW91c2VEb3duU2NyZWVuWDogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgbW92ZW1lbnRYID0gZXZlbnQuc2NyZWVuWCAtIG1vdXNlRG93blNjcmVlblg7XG4gICAgY29uc3QgbmV3V2lkdGggPSBpbml0aWFsV2lkdGggKyBtb3ZlbWVudFg7XG5cbiAgICBjb25zdCBvdmVyTWluV2lkdGggPSAhdGhpcy5taW5XaWR0aCB8fCBuZXdXaWR0aCA+PSB0aGlzLm1pbldpZHRoO1xuICAgIGNvbnN0IHVuZGVyTWF4V2lkdGggPSAhdGhpcy5tYXhXaWR0aCB8fCBuZXdXaWR0aCA8PSB0aGlzLm1heFdpZHRoO1xuXG4gICAgaWYgKG92ZXJNaW5XaWR0aCAmJiB1bmRlck1heFdpZHRoKSB7XG4gICAgICB0aGlzLmVsZW1lbnQuc3R5bGUud2lkdGggPSBgJHtuZXdXaWR0aH1weGA7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZGVzdHJveVN1YnNjcmlwdGlvbigpIHtcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Directive, Output, EventEmitter, ElementRef, HostBinding, NgZone, OnInit, OnDestroy } from '@angular/core';
|
|
3
|
-
/**
|
|
4
|
-
* Visibility Observer Directive
|
|
5
|
-
*
|
|
6
|
-
* Usage:
|
|
7
|
-
*
|
|
8
|
-
* <div
|
|
9
|
-
* visibilityObserver
|
|
10
|
-
* (visible)="onVisible($event)">
|
|
11
|
-
* </div>
|
|
12
|
-
*
|
|
13
|
-
*/
|
|
14
|
-
var VisibilityDirective = /** @class */ (function () {
|
|
15
|
-
function VisibilityDirective(element, zone) {
|
|
16
|
-
this.element = element;
|
|
17
|
-
this.zone = zone;
|
|
18
|
-
this.isVisible = false;
|
|
19
|
-
this.visible = new EventEmitter();
|
|
20
|
-
}
|
|
21
|
-
VisibilityDirective.prototype.ngOnInit = function () {
|
|
22
|
-
this.runCheck();
|
|
23
|
-
};
|
|
24
|
-
VisibilityDirective.prototype.ngOnDestroy = function () {
|
|
25
|
-
clearTimeout(this.timeout);
|
|
26
|
-
};
|
|
27
|
-
VisibilityDirective.prototype.onVisibilityChange = function () {
|
|
28
|
-
var _this = this;
|
|
29
|
-
// trigger zone recalc for columns
|
|
30
|
-
this.zone.run(function () {
|
|
31
|
-
_this.isVisible = true;
|
|
32
|
-
_this.visible.emit(true);
|
|
33
|
-
});
|
|
34
|
-
};
|
|
35
|
-
VisibilityDirective.prototype.runCheck = function () {
|
|
36
|
-
var _this = this;
|
|
37
|
-
var check = function () {
|
|
38
|
-
// https://davidwalsh.name/offsetheight-visibility
|
|
39
|
-
var _a = _this.element.nativeElement, offsetHeight = _a.offsetHeight, offsetWidth = _a.offsetWidth;
|
|
40
|
-
if (offsetHeight && offsetWidth) {
|
|
41
|
-
clearTimeout(_this.timeout);
|
|
42
|
-
_this.onVisibilityChange();
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
clearTimeout(_this.timeout);
|
|
46
|
-
_this.zone.runOutsideAngular(function () {
|
|
47
|
-
_this.timeout = setTimeout(function () { return check(); }, 50);
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
this.timeout = setTimeout(function () { return check(); });
|
|
52
|
-
};
|
|
53
|
-
VisibilityDirective.ctorParameters = function () { return [
|
|
54
|
-
{ type: ElementRef },
|
|
55
|
-
{ type: NgZone }
|
|
56
|
-
]; };
|
|
57
|
-
__decorate([
|
|
58
|
-
HostBinding('class.visible')
|
|
59
|
-
], VisibilityDirective.prototype, "isVisible", void 0);
|
|
60
|
-
__decorate([
|
|
61
|
-
Output()
|
|
62
|
-
], VisibilityDirective.prototype, "visible", void 0);
|
|
63
|
-
VisibilityDirective = __decorate([
|
|
64
|
-
Directive({ selector: '[visibilityObserver]' })
|
|
65
|
-
], VisibilityDirective);
|
|
66
|
-
return VisibilityDirective;
|
|
67
|
-
}());
|
|
68
|
-
export { VisibilityDirective };
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaWJpbGl0eS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3dpbWxhbmUvbmd4LWRhdGF0YWJsZS8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL3Zpc2liaWxpdHkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwSDs7Ozs7Ozs7OztHQVVHO0FBRUg7SUFRRSw2QkFBb0IsT0FBbUIsRUFBVSxJQUFZO1FBQXpDLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFRO1FBTjdELGNBQVMsR0FBWSxLQUFLLENBQUM7UUFFakIsWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBSU0sQ0FBQztJQUVqRSxzQ0FBUSxHQUFSO1FBQ0UsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCx5Q0FBVyxHQUFYO1FBQ0UsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsZ0RBQWtCLEdBQWxCO1FBQUEsaUJBTUM7UUFMQyxrQ0FBa0M7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDWixLQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUN0QixLQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxzQ0FBUSxHQUFSO1FBQUEsaUJBaUJDO1FBaEJDLElBQU0sS0FBSyxHQUFHO1lBQ1osa0RBQWtEO1lBQzVDLElBQUEsZ0NBQTBELEVBQXhELDhCQUFZLEVBQUUsNEJBQTBDLENBQUM7WUFFakUsSUFBSSxZQUFZLElBQUksV0FBVyxFQUFFO2dCQUMvQixZQUFZLENBQUMsS0FBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUMzQixLQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQzthQUMzQjtpQkFBTTtnQkFDTCxZQUFZLENBQUMsS0FBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUMzQixLQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO29CQUMxQixLQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxjQUFNLE9BQUEsS0FBSyxFQUFFLEVBQVAsQ0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUMvQyxDQUFDLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDO1FBRUYsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsY0FBTSxPQUFBLEtBQUssRUFBRSxFQUFQLENBQU8sQ0FBQyxDQUFDO0lBQzNDLENBQUM7O2dCQW5DNEIsVUFBVTtnQkFBZ0IsTUFBTTs7SUFON0Q7UUFEQyxXQUFXLENBQUMsZUFBZSxDQUFDOzBEQUNGO0lBRWpCO1FBQVQsTUFBTSxFQUFFO3dEQUFpRDtJQUovQyxtQkFBbUI7UUFEL0IsU0FBUyxDQUFDLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFLENBQUM7T0FDbkMsbUJBQW1CLENBNEMvQjtJQUFELDBCQUFDO0NBQUEsQUE1Q0QsSUE0Q0M7U0E1Q1ksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIE5nWm9uZSwgT25Jbml0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBWaXNpYmlsaXR5IE9ic2VydmVyIERpcmVjdGl2ZVxuICpcbiAqIFVzYWdlOlxuICpcbiAqIFx0XHQ8ZGl2XG4gKiBcdFx0XHR2aXNpYmlsaXR5T2JzZXJ2ZXJcbiAqIFx0XHRcdCh2aXNpYmxlKT1cIm9uVmlzaWJsZSgkZXZlbnQpXCI+XG4gKiBcdFx0PC9kaXY+XG4gKlxuICovXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbdmlzaWJpbGl0eU9ic2VydmVyXScgfSlcbmV4cG9ydCBjbGFzcyBWaXNpYmlsaXR5RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnZpc2libGUnKVxuICBpc1Zpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgdmlzaWJsZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgdGltZW91dDogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZiwgcHJpdmF0ZSB6b25lOiBOZ1pvbmUpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5ydW5DaGVjaygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dCk7XG4gIH1cblxuICBvblZpc2liaWxpdHlDaGFuZ2UoKTogdm9pZCB7XG4gICAgLy8gdHJpZ2dlciB6b25lIHJlY2FsYyBmb3IgY29sdW1uc1xuICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgdGhpcy5pc1Zpc2libGUgPSB0cnVlO1xuICAgICAgdGhpcy52aXNpYmxlLmVtaXQodHJ1ZSk7XG4gICAgfSk7XG4gIH1cblxuICBydW5DaGVjaygpOiB2b2lkIHtcbiAgICBjb25zdCBjaGVjayA9ICgpID0+IHtcbiAgICAgIC8vIGh0dHBzOi8vZGF2aWR3YWxzaC5uYW1lL29mZnNldGhlaWdodC12aXNpYmlsaXR5XG4gICAgICBjb25zdCB7IG9mZnNldEhlaWdodCwgb2Zmc2V0V2lkdGggfSA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuXG4gICAgICBpZiAob2Zmc2V0SGVpZ2h0ICYmIG9mZnNldFdpZHRoKSB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpO1xuICAgICAgICB0aGlzLm9uVmlzaWJpbGl0eUNoYW5nZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dCk7XG4gICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgdGhpcy50aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiBjaGVjaygpLCA1MCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH07XG5cbiAgICB0aGlzLnRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IGNoZWNrKCkpO1xuICB9XG59XG4iXX0=
|
package/esm5/lib/events.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/* tslint:disable */
|
|
2
|
-
export var MouseEvent = ((typeof window !== 'undefined' && window) || global)
|
|
3
|
-
.MouseEvent;
|
|
4
|
-
export var KeyboardEvent = ((typeof window !== 'undefined' && window) || global)
|
|
5
|
-
.KeyboardEvent;
|
|
6
|
-
export var Event = ((typeof window !== 'undefined' && window) || global).Event;
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN3aW1sYW5lL25neC1kYXRhdGFibGUvIiwic291cmNlcyI6WyJsaWIvZXZlbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLG9CQUFvQjtBQUNwQixNQUFNLENBQUMsSUFBTSxVQUFVLEdBQUcsQ0FBRSxDQUFDLE9BQU8sTUFBTSxLQUFLLFdBQVcsSUFBSSxNQUFNLENBQVMsSUFBSyxNQUFjLENBQUM7S0FDOUYsVUFBd0IsQ0FBQztBQUM1QixNQUFNLENBQUMsSUFBTSxhQUFhLEdBQUcsQ0FBRSxDQUFDLE9BQU8sTUFBTSxLQUFLLFdBQVcsSUFBSSxNQUFNLENBQVMsSUFBSyxNQUFjLENBQUM7S0FDakcsYUFBOEIsQ0FBQztBQUNsQyxNQUFNLENBQUMsSUFBTSxLQUFLLEdBQUcsQ0FBRSxDQUFDLE9BQU8sTUFBTSxLQUFLLFdBQVcsSUFBSSxNQUFNLENBQVMsSUFBSyxNQUFjLENBQUMsQ0FBQyxLQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJkZWNsYXJlIGxldCBnbG9iYWw6IGFueTtcblxuLyogdHNsaW50OmRpc2FibGUgKi9cbmV4cG9ydCBjb25zdCBNb3VzZUV2ZW50ID0gKCgodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93KSBhcyBhbnkpIHx8IChnbG9iYWwgYXMgYW55KSlcbiAgLk1vdXNlRXZlbnQgYXMgTW91c2VFdmVudDtcbmV4cG9ydCBjb25zdCBLZXlib2FyZEV2ZW50ID0gKCgodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93KSBhcyBhbnkpIHx8IChnbG9iYWwgYXMgYW55KSlcbiAgLktleWJvYXJkRXZlbnQgYXMgS2V5Ym9hcmRFdmVudDtcbmV4cG9ydCBjb25zdCBFdmVudCA9ICgoKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdykgYXMgYW55KSB8fCAoZ2xvYmFsIGFzIGFueSkpLkV2ZW50IGFzIEV2ZW50O1xuIl19
|