UNPKG

@uex/web-extensions

Version:

Uex extensions for Angular 6+ web projects

170 lines 12.6 kB
/** * @fileoverview added by tsickle * Generated from: lib/modules/drag-and-drop/draggable.directive.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Directive, Input, Output, EventEmitter, ElementRef } from '@angular/core'; import * as _ from 'lodash'; import { DragAndDropService } from './drag-and-drop.service'; export class DraggableDirective { /** * @param {?} _service * @param {?} elementRef */ constructor(_service, elementRef) { this._service = _service; this.elementRef = elementRef; this.onDragStart = new EventEmitter(); this.onDragEnd = new EventEmitter(); this.enabled = true; this.dragging = false; this.draggable = this._service.registerDraggable({ element: this._element }); } /** * @private * @param {?} enabled * @return {?} */ set _setEnabled(enabled) { /** @type {?} */ let name = null; if (_.isString(enabled)) { this.enabled = true; name = _.isEmpty(enabled) ? null : ((/** @type {?} */ (enabled))); } else { this.enabled = !!enabled; name = null; } this.draggable.setEnabled(this.enabled); this.draggable.setName(name); } /** * @private * @param {?} action * @return {?} */ set _setDragAction(action) { this.draggable.setAction(action); } /** * @private * @param {?} use_placeholder * @return {?} */ set _setUsePplaceholder(use_placeholder) { this.draggable.setUsePlaceholder(use_placeholder); } /** * @private * @param {?} placeholder_class * @return {?} */ set _setPlaceholderClass(placeholder_class) { this.draggable.setPlaceholderClass(placeholder_class); } /** * @private * @param {?} data * @return {?} */ set _setDragData(data) { this.draggable.setData(data); } /** * @return {?} */ ngOnInit() { this._drag_start_subscription = this.draggable.onStart.subscribe((/** * @param {?} event * @return {?} */ (event) => { this.dragging = true; this.onDragStart.emit(event); })); this._drag_end_subscription = this.draggable.onEnd.subscribe((/** * @param {?} event * @return {?} */ (event) => { this.dragging = false; this.onDragEnd.emit(event); })); } /** * @return {?} */ ngOnDestroy() { if (this._drag_start_subscription) { this._drag_start_subscription.unsubscribe(); } if (this._drag_end_subscription) { this._drag_end_subscription.unsubscribe(); } this._service.unregisterDraggable(this.draggable); } /** * @private * @return {?} */ get _element() { return this.elementRef.nativeElement; } } DraggableDirective.decorators = [ { type: Directive, args: [{ selector: '[uexDraggable]', host: { 'class': 'uex-draggable', '[attr.draggable]': 'enabled ? true : null', '[class.dragging]': 'dragging' } },] } ]; /** @nocollapse */ DraggableDirective.ctorParameters = () => [ { type: DragAndDropService }, { type: ElementRef } ]; DraggableDirective.propDecorators = { _setEnabled: [{ type: Input, args: ['uexDraggable',] }], _setDragAction: [{ type: Input, args: ['dragAction',] }], _setUsePplaceholder: [{ type: Input, args: ['dragWithPlaceholder',] }], _setPlaceholderClass: [{ type: Input, args: ['dragPlaceholderClass',] }], _setDragData: [{ type: Input, args: ['dragData',] }], onDragStart: [{ type: Output, args: ['onDragStart',] }], onDragEnd: [{ type: Output, args: ['onDragEnd',] }] }; if (false) { /** @type {?} */ DraggableDirective.prototype.onDragStart; /** @type {?} */ DraggableDirective.prototype.onDragEnd; /** @type {?} */ DraggableDirective.prototype.enabled; /** @type {?} */ DraggableDirective.prototype.dragging; /** @type {?} */ DraggableDirective.prototype.draggable; /** * @type {?} * @private */ DraggableDirective.prototype._drag_start_subscription; /** * @type {?} * @private */ DraggableDirective.prototype._drag_end_subscription; /** * @type {?} * @private */ DraggableDirective.prototype._service; /** @type {?} */ DraggableDirective.prototype.elementRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZ2dhYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1ZXgvd2ViLWV4dGVuc2lvbnMvIiwic291cmNlcyI6WyJsaWIvbW9kdWxlcy9kcmFnLWFuZC1kcm9wL2RyYWdnYWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFHdEcsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0seUJBQXlCLENBQUM7QUFZekUsTUFBTSxPQUFPLGtCQUFrQjs7Ozs7SUFtQzdCLFlBQ1UsUUFBNEIsRUFDN0IsVUFBc0I7UUFEckIsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7UUFDN0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUxELGdCQUFXLEdBQTRCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDNUQsY0FBUyxHQUE0QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBVzdFLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBTnRCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQztZQUMvQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDdkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7O0lBekNELElBQW1DLFdBQVcsQ0FBQyxPQUF5Qjs7WUFDbEUsSUFBSSxHQUFHLElBQUk7UUFFZixJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsSUFBSSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFD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REFBNkM7Ozs7O0lBYjNDLHNDQUFvQzs7SUFDcEMsd0NBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEVsZW1lbnRSZWYsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xyXG5cclxuaW1wb3J0IHsgRHJhZ0FuZERyb3BTZXJ2aWNlLCBEcmFnQWN0aW9uIH0gZnJvbSAnLi9kcmFnLWFuZC1kcm9wLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgRHJhZ2dhYmxlIH0gZnJvbSAnLi9jbGFzc2VzL2RyYWdnYWJsZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1t1ZXhEcmFnZ2FibGVdJyxcclxuICBob3N0OiB7XHJcbiAgICAnY2xhc3MnOiAndWV4LWRyYWdnYWJsZScsXHJcbiAgICAnW2F0dHIuZHJhZ2dhYmxlXSc6ICdlbmFibGVkID8gdHJ1ZSA6IG51bGwnLFxyXG4gICAgJ1tjbGFzcy5kcmFnZ2luZ10nOiAnZHJhZ2dpbmcnXHJcbiAgfVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJhZ2dhYmxlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgndWV4RHJhZ2dhYmxlJykgcHJpdmF0ZSBzZXQgX3NldEVuYWJsZWQoZW5hYmxlZDogYm9vbGVhbiB8IHN0cmluZykge1xyXG4gICAgbGV0IG5hbWUgPSBudWxsO1xyXG5cclxuICAgIGlmIChfLmlzU3RyaW5nKGVuYWJsZWQpKSB7XHJcbiAgICAgIHRoaXMuZW5hYmxlZCA9IHRydWU7XHJcbiAgICAgIG5hbWUgPSBfLmlzRW1wdHkoZW5hYmxlZCkgPyBudWxsIDogKDxzdHJpbmc+ZW5hYmxlZCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmVuYWJsZWQgPSAhIWVuYWJsZWQ7XHJcbiAgICAgIG5hbWUgPSBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZHJhZ2dhYmxlLnNldEVuYWJsZWQodGhpcy5lbmFibGVkKTtcclxuICAgIHRoaXMuZHJhZ2dhYmxlLnNldE5hbWUobmFtZSk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoJ2RyYWdBY3Rpb24nKSBwcml2YXRlIHNldCBfc2V0RHJhZ0FjdGlvbihhY3Rpb246IERyYWdBY3Rpb24pIHtcclxuICAgIHRoaXMuZHJhZ2dhYmxlLnNldEFjdGlvbihhY3Rpb24pO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCdkcmFnV2l0aFBsYWNlaG9sZGVyJykgcHJpdmF0ZSBzZXQgX3NldFVzZVBwbGFjZWhvbGRlcih1c2VfcGxhY2Vob2xkZXI6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuZHJhZ2dhYmxlLnNldFVzZVBsYWNlaG9sZGVyKHVzZV9wbGFjZWhvbGRlcik7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoJ2RyYWdQbGFjZWhvbGRlckNsYXNzJykgcHJpdmF0ZSBzZXQgX3NldFBsYWNlaG9sZGVyQ2xhc3MocGxhY2Vob2xkZXJfY2xhc3M6IHN0cmluZykge1xyXG4gICAgdGhpcy5kcmFnZ2FibGUuc2V0UGxhY2Vob2xkZXJDbGFzcyhwbGFjZWhvbGRlcl9jbGFzcyk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoJ2RyYWdEYXRhJykgcHJpdmF0ZSBzZXQgX3NldERyYWdEYXRhKGRhdGE6IGFueSkge1xyXG4gICAgdGhpcy5kcmFnZ2FibGUuc2V0RGF0YShkYXRhKTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoJ29uRHJhZ1N0YXJ0JykgcHVibGljIG9uRHJhZ1N0YXJ0OiBFdmVudEVtaXR0ZXI8RHJhZ0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCdvbkRyYWdFbmQnKSBwdWJsaWMgb25EcmFnRW5kOiBFdmVudEVtaXR0ZXI8RHJhZ0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBEcmFnQW5kRHJvcFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZlxyXG4gICkge1xyXG4gICAgdGhpcy5kcmFnZ2FibGUgPSB0aGlzLl9zZXJ2aWNlLnJlZ2lzdGVyRHJhZ2dhYmxlKHtcclxuICAgICAgZWxlbWVudDogdGhpcy5fZWxlbWVudFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZW5hYmxlZCA9IHRydWU7XHJcbiAgcHVibGljIGRyYWdnaW5nID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBkcmFnZ2FibGU6IERyYWdnYWJsZTtcclxuICBwcml2YXRlIF9kcmFnX3N0YXJ0X3N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgX2RyYWdfZW5kX3N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLl9kcmFnX3N0YXJ0X3N1YnNjcmlwdGlvbiA9IHRoaXMuZHJhZ2dhYmxlLm9uU3RhcnQuc3Vic2NyaWJlKChldmVudDogRHJhZ0V2ZW50KSA9PiB7XHJcbiAgICAgIHRoaXMuZHJhZ2dpbmcgPSB0cnVlO1xyXG4gICAgICB0aGlzLm9uRHJhZ1N0YXJ0LmVtaXQoZXZlbnQpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5fZHJhZ19lbmRfc3Vic2NyaXB0aW9uID0gdGhpcy5kcmFnZ2FibGUub25FbmQuc3Vic2NyaWJlKChldmVudDogRHJhZ0V2ZW50KSA9PiB7XHJcbiAgICAgIHRoaXMuZHJhZ2dpbmcgPSBmYWxzZTtcclxuICAgICAgdGhpcy5vbkRyYWdFbmQuZW1pdChldmVudCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcclxuICAgIGlmICh0aGlzLl9kcmFnX3N0YXJ0X3N1YnNjcmlwdGlvbikgeyB0aGlzLl9kcmFnX3N0YXJ0X3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpOyB9XHJcbiAgICBpZiAodGhpcy5fZHJhZ19lbmRfc3Vic2NyaXB0aW9uKSB7IHRoaXMuX2RyYWdfZW5kX3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpOyB9XHJcblxyXG4gICAgdGhpcy5fc2VydmljZS51bnJlZ2lzdGVyRHJhZ2dhYmxlKHRoaXMuZHJhZ2dhYmxlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0IF9lbGVtZW50ICgpOiBIVE1MRWxlbWVudCB7XHJcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==