UNPKG

@duoduo-oba/ng-devui

Version:

DevUI components based on Angular

123 lines 9.41 kB
/** * @fileoverview added by tsickle * Generated from: directives/drag-sync.directive.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Directive, Input, Self, Optional, ElementRef } from '@angular/core'; import { Subscription } from 'rxjs'; import { DragDropSyncService } from '../services/drag-drop-sync.service'; import { DragDropService } from '../services/drag-drop.service'; import { DraggableDirective } from './draggable.directive'; export class DragSyncDirective { /** * @param {?} el * @param {?} draggable * @param {?} dragDropSyncService * @param {?} dragDropService */ constructor(el, draggable, dragDropSyncService, dragDropService) { this.el = el; this.draggable = draggable; this.dragDropSyncService = dragDropSyncService; this.dragDropService = dragDropService; this.dragSyncGroup = ''; this.subscription = new Subscription(); this.subDragElEvent = (/** * @param {?} bool * @return {?} */ (bool) => { this.syncGroupDirectives.forEach((/** * @param {?} dir * @return {?} */ dir => this.renderDisplay(dir.el.nativeElement, bool))); }); } /** * @return {?} */ ngOnInit() { if (this.draggable) { this.subscription.add(this.draggable.dragElShowHideEvent.subscribe(this.subDragElEvent)); this.subscription.add(this.draggable.beforeDragStartEvent.subscribe((/** * @return {?} */ () => { this.syncGroupDirectives = this.dragDropSyncService.getDragSyncByGroup(this.dragSyncGroup).filter((/** * @param {?} directive * @return {?} */ directive => directive !== this)); this.dragDropService.dragSyncGroupDirectives = this.syncGroupDirectives; }))); this.subscription.add(this.draggable.dropEndEvent.subscribe((/** * @return {?} */ () => { this.dragDropService.dragSyncGroupDirectives = undefined; this.syncGroupDirectives = undefined; }))); } } /** * @return {?} */ ngOnDestroy() { if (this.subscription) { this.subscription.unsubscribe(); } } /** * @param {?} nativeEl * @param {?} bool * @return {?} */ renderDisplay(nativeEl, bool) { nativeEl.style.display = bool ? '' : 'none'; } } DragSyncDirective.decorators = [ { type: Directive, args: [{ selector: '[dDragSync]', exportAs: 'dDragSync' },] } ]; /** @nocollapse */ DragSyncDirective.ctorParameters = () => [ { type: ElementRef }, { type: DraggableDirective, decorators: [{ type: Optional }, { type: Self }] }, { type: DragDropSyncService }, { type: DragDropService } ]; DragSyncDirective.propDecorators = { dragSyncGroup: [{ type: Input, args: ['dDragSync',] }] }; if (false) { /** @type {?} */ DragSyncDirective.prototype.dragSyncGroup; /** @type {?} */ DragSyncDirective.prototype.subscription; /** @type {?} */ DragSyncDirective.prototype.syncGroupDirectives; /** @type {?} */ DragSyncDirective.prototype.subDragElEvent; /** @type {?} */ DragSyncDirective.prototype.el; /** * @type {?} * @private */ DragSyncDirective.prototype.draggable; /** * @type {?} * @private */ DragSyncDirective.prototype.dragDropSyncService; /** * @type {?} * @private */ DragSyncDirective.prototype.dragDropService; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1zeW5jLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWRldnVpL2RyYWdkcm9wLyIsInNvdXJjZXMiOlsiZGlyZWN0aXZlcy9kcmFnLXN5bmMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFVLFFBQVEsRUFBYSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFNM0QsTUFBTSxPQUFPLGlCQUFpQjs7Ozs7OztJQUs1QixZQUFtQixFQUFjLEVBQStCLFNBQTZCLEVBQ3JGLG1CQUF3QyxFQUFVLGVBQWdDO1FBRHZFLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBK0IsY0FBUyxHQUFULFNBQVMsQ0FBb0I7UUFDckYsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUFVLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUx0RSxrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUN2QyxpQkFBWSxHQUFpQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBMEJoRCxtQkFBYzs7OztRQUFHLENBQUMsSUFBYSxFQUFFLEVBQUU7WUFDakMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU87Ozs7WUFBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLEVBQUMsQ0FBQztRQUMxRixDQUFDLEVBQUE7SUF4QjRGLENBQUM7Ozs7SUFFOUYsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztZQUN6RixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDLFNBQVM7OztZQUFDLEdBQUcsRUFBRTtnQkFDdkUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsTUFBTTs7OztnQkFBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFNBQVMsS0FBSyxJQUFJLEVBQUMsQ0FBQztnQkFDbkksSUFBSSxDQUFDLGVBQWUsQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7WUFDMUUsQ0FBQyxFQUFDLENBQUMsQ0FBQztZQUNKLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVM7OztZQUFDLEdBQUcsRUFBRTtnQkFDL0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyx1QkFBdUIsR0FBRyxTQUFTLENBQUM7Z0JBQ3pELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxTQUFTLENBQUM7WUFDdkMsQ0FBQyxFQUFDLENBQUMsQ0FBQztTQUNMO0lBQ0gsQ0FBQzs7OztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNqQztJQUNILENBQUM7Ozs7OztJQU1ELGFBQWEsQ0FBQyxRQUFxQixFQUFFLElBQWE7UUFDaEQsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM5QyxDQUFDOzs7WUF0Q0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxhQUFhO2dCQUN2QixRQUFRLEVBQUUsV0FBVzthQUN0Qjs7OztZQVQ2RCxVQUFVO1lBSS9ELGtCQUFrQix1QkFXWSxRQUFRLFlBQUksSUFBSTtZQWI5QyxtQkFBbUI7WUFDbkIsZUFBZTs7OzRCQVFyQixLQUFLLFNBQUMsV0FBVzs7OztJQUFsQiwwQ0FBdUM7O0lBQ3ZDLHlDQUFnRDs7SUFDaEQsZ0RBQThDOztJQXlCOUMsMkNBRUM7O0lBekJXLCtCQUFxQjs7Ozs7SUFBRyxzQ0FBeUQ7Ozs7O0lBQzdGLGdEQUFnRDs7Ozs7SUFBRSw0Q0FBd0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBTZWxmLCBPbkluaXQsIE9wdGlvbmFsLCBPbkRlc3Ryb3ksIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IERyYWdEcm9wU3luY1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9kcmFnLWRyb3Atc3luYy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRHJhZ0Ryb3BTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZHJhZy1kcm9wLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEcmFnZ2FibGVEaXJlY3RpdmUgfSBmcm9tICcuL2RyYWdnYWJsZS5kaXJlY3RpdmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbZERyYWdTeW5jXScsXHJcbiAgZXhwb3J0QXM6ICdkRHJhZ1N5bmMnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcmFnU3luY0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoJ2REcmFnU3luYycpIGRyYWdTeW5jR3JvdXAgPSAnJztcclxuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuICBzeW5jR3JvdXBEaXJlY3RpdmVzOiBBcnJheTxEcmFnU3luY0RpcmVjdGl2ZT47XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBlbDogRWxlbWVudFJlZiAsIEBPcHRpb25hbCgpIEBTZWxmKCkgcHJpdmF0ZSBkcmFnZ2FibGU6IERyYWdnYWJsZURpcmVjdGl2ZSxcclxuICBwcml2YXRlIGRyYWdEcm9wU3luY1NlcnZpY2U6IERyYWdEcm9wU3luY1NlcnZpY2UsIHByaXZhdGUgZHJhZ0Ryb3BTZXJ2aWNlOiBEcmFnRHJvcFNlcnZpY2UpIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMuZHJhZ2dhYmxlKSB7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZCh0aGlzLmRyYWdnYWJsZS5kcmFnRWxTaG93SGlkZUV2ZW50LnN1YnNjcmliZSh0aGlzLnN1YkRyYWdFbEV2ZW50KSk7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZCh0aGlzLmRyYWdnYWJsZS5iZWZvcmVEcmFnU3RhcnRFdmVudC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc3luY0dyb3VwRGlyZWN0aXZlcyA9IHRoaXMuZHJhZ0Ryb3BTeW5jU2VydmljZS5nZXREcmFnU3luY0J5R3JvdXAodGhpcy5kcmFnU3luY0dyb3VwKS5maWx0ZXIoZGlyZWN0aXZlID0+IGRpcmVjdGl2ZSAhPT0gdGhpcyk7XHJcbiAgICAgICAgdGhpcy5kcmFnRHJvcFNlcnZpY2UuZHJhZ1N5bmNHcm91cERpcmVjdGl2ZXMgPSB0aGlzLnN5bmNHcm91cERpcmVjdGl2ZXM7XHJcbiAgICAgIH0pKTtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKHRoaXMuZHJhZ2dhYmxlLmRyb3BFbmRFdmVudC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZHJhZ0Ryb3BTZXJ2aWNlLmRyYWdTeW5jR3JvdXBEaXJlY3RpdmVzID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIHRoaXMuc3luY0dyb3VwRGlyZWN0aXZlcyA9IHVuZGVmaW5lZDtcclxuICAgICAgfSkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN1YkRyYWdFbEV2ZW50ID0gKGJvb2w6IGJvb2xlYW4pID0+IHtcclxuICAgIHRoaXMuc3luY0dyb3VwRGlyZWN0aXZlcy5mb3JFYWNoKGRpciA9PiB0aGlzLnJlbmRlckRpc3BsYXkoZGlyLmVsLm5hdGl2ZUVsZW1lbnQsIGJvb2wpKTtcclxuICB9XHJcblxyXG4gIHJlbmRlckRpc3BsYXkobmF0aXZlRWw6IEhUTUxFbGVtZW50LCBib29sOiBib29sZWFuKSB7XHJcbiAgICBuYXRpdmVFbC5zdHlsZS5kaXNwbGF5ID0gYm9vbCA/ICcnIDogJ25vbmUnO1xyXG4gIH1cclxuXHJcbn1cclxuIl19