ngx-resizable-ex
Version:
A Resizable Split-Pane Layout for Angular6+
65 lines • 5.42 kB
JavaScript
import * as tslib_1 from "tslib";
import { Directive, Output, EventEmitter, HostListener } from '@angular/core';
var DragDirective = /** @class */ (function () {
function DragDirective() {
this.DragStart = new EventEmitter();
this.Drag = new EventEmitter();
this.DragEnd = new EventEmitter();
this.dragging = false;
}
DragDirective.prototype.onMousedown = function (event) {
if (event.which === 1) {
this.dragging = true;
this.DragStart.emit({ originalEvent: event });
}
};
DragDirective.prototype.onMouseup = function (event) {
if (this.dragging) {
this.DragEnd.emit({ originalEvent: event });
}
this.dragging = false;
};
DragDirective.prototype.onMousemove = function (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);
return DragDirective;
}());
export { DragDirective };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtcmVzaXphYmxlLWV4LyIsInNvdXJjZXMiOlsibGliL3Jlc2l6YWJsZS9kcmFnLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUs5RTtJQUhBO1FBS1ksY0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDL0IsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUIsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFL0IsYUFBUSxHQUFHLEtBQUssQ0FBQztJQXNCM0IsQ0FBQztJQW5CQyxtQ0FBVyxHQUFYLFVBQVksS0FBSztRQUNmLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxDQUFDLEVBQUU7WUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUMvQztJQUNILENBQUM7SUFFRCxpQ0FBUyxHQUFULFVBQVUsS0FBSztRQUNiLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQzdDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVELG1DQUFXLEdBQVgsVUFBWSxLQUFpQjtRQUMzQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUMxQztJQUNILENBQUM7SUF6QlM7UUFBVCxNQUFNLEVBQUU7O29EQUFnQztJQUMvQjtRQUFULE1BQU0sRUFBRTs7K0NBQTJCO0lBQzFCO1FBQVQsTUFBTSxFQUFFOztrREFBOEI7SUFLdkM7UUFEQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7Ozs7b0RBTXJDO0lBRUQ7UUFEQyxZQUFZLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQzs7OztrREFNNUM7SUFFRDtRQURDLFlBQVksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDOztpREFDNUIsVUFBVTs7b0RBSTVCO0lBM0JVLGFBQWE7UUFIekIsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLGlCQUFpQjtTQUM1QixDQUFDO09BQ1csYUFBYSxDQTRCekI7SUFBRCxvQkFBQztDQUFBLEFBNUJELElBNEJDO1NBNUJZLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3JzekRyYWdIYW5kbGVdJ1xufSlcbmV4cG9ydCBjbGFzcyBEcmFnRGlyZWN0aXZlIHtcblxuICBAT3V0cHV0KCkgRHJhZ1N0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgRHJhZyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIERyYWdFbmQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJpdmF0ZSBkcmFnZ2luZyA9IGZhbHNlO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gIG9uTW91c2Vkb3duKGV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LndoaWNoID09PSAxKSB7XG4gICAgICB0aGlzLmRyYWdnaW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMuRHJhZ1N0YXJ0LmVtaXQoeyBvcmlnaW5hbEV2ZW50OiBldmVudCB9KTtcbiAgICB9XG4gIH1cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2V1cCcsIFsnJGV2ZW50J10pXG4gIG9uTW91c2V1cChldmVudCkge1xuICAgIGlmICh0aGlzLmRyYWdnaW5nKSB7XG4gICAgICB0aGlzLkRyYWdFbmQuZW1pdCh7IG9yaWdpbmFsRXZlbnQ6IGV2ZW50IH0pO1xuICAgIH1cbiAgICB0aGlzLmRyYWdnaW5nID0gZmFsc2U7XG4gIH1cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2Vtb3ZlJywgWyckZXZlbnQnXSlcbiAgb25Nb3VzZW1vdmUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAodGhpcy5kcmFnZ2luZykge1xuICAgICAgdGhpcy5EcmFnLmVtaXQoeyBvcmlnaW5hbEV2ZW50OiBldmVudCB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==