ngx-resizable-ex
Version:
A Resizable Split-Pane Layout for Angular6+
64 lines • 5.11 kB
JavaScript
import * as tslib_1 from "tslib";
import { Directive, Output, EventEmitter, HostListener } from '@angular/core';
let DragDirective = class DragDirective {
constructor() {
this.DragStart = new EventEmitter();
this.Drag = new EventEmitter();
this.DragEnd = new EventEmitter();
this.dragging = false;
}
onMousedown(event) {
if (event.which === 1) {
this.dragging = true;
this.DragStart.emit({ originalEvent: event });
}
}
onMouseup(event) {
if (this.dragging) {
this.DragEnd.emit({ originalEvent: event });
}
this.dragging = false;
}
onMousemove(event) {
if (this.dragging) {
this.Drag.emit({ originalEvent: event });
}
}
};
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", Object)
], DragDirective.prototype, "DragStart", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", Object)
], DragDirective.prototype, "Drag", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", Object)
], DragDirective.prototype, "DragEnd", void 0);
tslib_1.__decorate([
HostListener('mousedown', ['$event']),
tslib_1.__metadata("design:type", Function),
tslib_1.__metadata("design:paramtypes", [Object]),
tslib_1.__metadata("design:returntype", void 0)
], DragDirective.prototype, "onMousedown", null);
tslib_1.__decorate([
HostListener('document:mouseup', ['$event']),
tslib_1.__metadata("design:type", Function),
tslib_1.__metadata("design:paramtypes", [Object]),
tslib_1.__metadata("design:returntype", void 0)
], DragDirective.prototype, "onMouseup", null);
tslib_1.__decorate([
HostListener('document:mousemove', ['$event']),
tslib_1.__metadata("design:type", Function),
tslib_1.__metadata("design:paramtypes", [MouseEvent]),
tslib_1.__metadata("design:returntype", void 0)
], DragDirective.prototype, "onMousemove", null);
DragDirective = tslib_1.__decorate([
Directive({
selector: '[rszDragHandle]'
})
], DragDirective);
export { DragDirective };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtcmVzaXphYmxlLWV4LyIsInNvdXJjZXMiOlsibGliL3Jlc2l6YWJsZS9kcmFnLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUs5RSxJQUFhLGFBQWEsR0FBMUIsTUFBYSxhQUFhO0lBSDFCO1FBS1ksY0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDL0IsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUIsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFL0IsYUFBUSxHQUFHLEtBQUssQ0FBQztJQXNCM0IsQ0FBQztJQW5CQyxXQUFXLENBQUMsS0FBSztRQUNmLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxDQUFDLEVBQUU7WUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUMvQztJQUNILENBQUM7SUFFRCxTQUFTLENBQUMsS0FBSztRQUNiLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQzdDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFpQjtRQUMzQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUMxQztJQUNILENBQUM7Q0FDRixDQUFBO0FBMUJXO0lBQVQsTUFBTSxFQUFFOztnREFBZ0M7QUFDL0I7SUFBVCxNQUFNLEVBQUU7OzJDQUEyQjtBQUMxQjtJQUFULE1BQU0sRUFBRTs7OENBQThCO0FBS3ZDO0lBREMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDOzs7O2dEQU1yQztBQUVEO0lBREMsWUFBWSxDQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7Ozs7OENBTTVDO0FBRUQ7SUFEQyxZQUFZLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQzs7NkNBQzVCLFVBQVU7O2dEQUk1QjtBQTNCVSxhQUFhO0lBSHpCLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxpQkFBaUI7S0FDNUIsQ0FBQztHQUNXLGFBQWEsQ0E0QnpCO1NBNUJZLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3JzekRyYWdIYW5kbGVdJ1xufSlcbmV4cG9ydCBjbGFzcyBEcmFnRGlyZWN0aXZlIHtcblxuICBAT3V0cHV0KCkgRHJhZ1N0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgRHJhZyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIERyYWdFbmQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJpdmF0ZSBkcmFnZ2luZyA9IGZhbHNlO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gIG9uTW91c2Vkb3duKGV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LndoaWNoID09PSAxKSB7XG4gICAgICB0aGlzLmRyYWdnaW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMuRHJhZ1N0YXJ0LmVtaXQoeyBvcmlnaW5hbEV2ZW50OiBldmVudCB9KTtcbiAgICB9XG4gIH1cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2V1cCcsIFsnJGV2ZW50J10pXG4gIG9uTW91c2V1cChldmVudCkge1xuICAgIGlmICh0aGlzLmRyYWdnaW5nKSB7XG4gICAgICB0aGlzLkRyYWdFbmQuZW1pdCh7IG9yaWdpbmFsRXZlbnQ6IGV2ZW50IH0pO1xuICAgIH1cbiAgICB0aGlzLmRyYWdnaW5nID0gZmFsc2U7XG4gIH1cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2Vtb3ZlJywgWyckZXZlbnQnXSlcbiAgb25Nb3VzZW1vdmUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAodGhpcy5kcmFnZ2luZykge1xuICAgICAgdGhpcy5EcmFnLmVtaXQoeyBvcmlnaW5hbEV2ZW50OiBldmVudCB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==