UNPKG

ng-devui

Version:

DevUI components based on Angular

68 lines 9.89 kB
import { Directive, ElementRef, Input, Optional, Self } from '@angular/core'; import { Subscription } from 'rxjs'; import { DescendantChildren } from '../services/drag-drop-desc-reg.service'; import { DragSyncDescendantRegisterService } from '../services/drag-drop-descendant-sync.service'; import { DragDropSyncService } from '../services/drag-drop-sync.service'; import { DragDropService } from '../services/drag-drop.service'; import { DraggableDirective } from './draggable.directive'; import * as i0 from "@angular/core"; import * as i1 from "./draggable.directive"; import * as i2 from "../services/drag-drop-sync.service"; import * as i3 from "../services/drag-drop.service"; import * as i4 from "../services/drag-drop-descendant-sync.service"; export class DragSyncDirective extends DescendantChildren { constructor(el, draggable, dragDropSyncService, dragDropService, dragSyncDrs) { super(dragSyncDrs); this.el = el; this.draggable = draggable; this.dragDropSyncService = dragDropSyncService; this.dragDropService = dragDropService; this.dragSyncDrs = dragSyncDrs; this.dragSyncGroup = ''; this.subscription = new Subscription(); this.subDragElEvent = (bool) => { this.syncGroupDirectives.forEach(dir => this.renderDisplay(dir.el.nativeElement, bool)); }; this.descendantItem = this; } ngOnInit() { if (this.draggable) { this.subscription.add(this.draggable.dragElShowHideEvent.subscribe(this.subDragElEvent)); this.subscription.add(this.draggable.beforeDragStartEvent.subscribe(() => { this.syncGroupDirectives = this.dragDropSyncService.getDragSyncByGroup(this.dragSyncGroup).filter(directive => directive !== this); this.dragDropService.dragSyncGroupDirectives = this.syncGroupDirectives; })); this.subscription.add(this.draggable.dropEndEvent.subscribe(() => { this.dragDropService.dragSyncGroupDirectives = undefined; this.syncGroupDirectives = undefined; })); } super.ngOnInit(); } ngOnDestroy() { if (this.subscription) { this.subscription.unsubscribe(); } super.ngOnDestroy(); } renderDisplay(nativeEl, bool) { nativeEl.style.display = bool ? '' : 'none'; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DragSyncDirective, deps: [{ token: i0.ElementRef }, { token: i1.DraggableDirective, optional: true, self: true }, { token: i2.DragDropSyncService }, { token: i3.DragDropService }, { token: i4.DragSyncDescendantRegisterService }], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DragSyncDirective, selector: "[dDragSync]", inputs: { dragSyncGroup: ["dDragSync", "dragSyncGroup"] }, exportAs: ["dDragSync"], usesInheritance: true, ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DragSyncDirective, decorators: [{ type: Directive, args: [{ selector: '[dDragSync]', exportAs: 'dDragSync' }] }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DraggableDirective, decorators: [{ type: Optional }, { type: Self }] }, { type: i2.DragDropSyncService }, { type: i3.DragDropService }, { type: i4.DragSyncDescendantRegisterService }], propDecorators: { dragSyncGroup: [{ type: Input, args: ['dDragSync'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1zeW5jLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2RldnVpL2RyYWdkcm9wL2RpcmVjdGl2ZXMvZHJhZy1zeW5jLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBVSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNsRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7OztBQU0zRCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsa0JBQXFDO0lBSzFFLFlBQ1MsRUFBYyxFQUNPLFNBQTZCLEVBQ2pELG1CQUF3QyxFQUN4QyxlQUFnQyxFQUNoQyxXQUE4QztRQUV0RCxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFOWixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ08sY0FBUyxHQUFULFNBQVMsQ0FBb0I7UUFDakQsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsZ0JBQVcsR0FBWCxXQUFXLENBQW1DO1FBVHBDLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3ZDLGlCQUFZLEdBQWlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFvQ2hELG1CQUFjLEdBQUcsQ0FBQyxJQUFhLEVBQUUsRUFBRTtZQUNqQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzFGLENBQUMsQ0FBQztRQTNCQSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1lBQ3pGLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDdkUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxDQUFDO2dCQUNuSSxJQUFJLENBQUMsZUFBZSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztZQUMxRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ0osSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDL0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyx1QkFBdUIsR0FBRyxTQUFTLENBQUM7Z0JBQ3pELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxTQUFTLENBQUM7WUFDdkMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNOLENBQUM7UUFDRCxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLENBQUM7UUFDRCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQU1ELGFBQWEsQ0FBQyxRQUFxQixFQUFFLElBQWE7UUFDaEQsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM5QyxDQUFDOytHQTVDVSxpQkFBaUI7bUdBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFKN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsUUFBUSxFQUFFLFdBQVc7aUJBQ3RCOzswQkFRSSxRQUFROzswQkFBSSxJQUFJO3lKQU5DLGFBQWE7c0JBQWhDLEtBQUs7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERlc2NlbmRhbnRDaGlsZHJlbiB9IGZyb20gJy4uL3NlcnZpY2VzL2RyYWctZHJvcC1kZXNjLXJlZy5zZXJ2aWNlJztcbmltcG9ydCB7IERyYWdTeW5jRGVzY2VuZGFudFJlZ2lzdGVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2RyYWctZHJvcC1kZXNjZW5kYW50LXN5bmMuc2VydmljZSc7XG5pbXBvcnQgeyBEcmFnRHJvcFN5bmNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZHJhZy1kcm9wLXN5bmMuc2VydmljZSc7XG5pbXBvcnQgeyBEcmFnRHJvcFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9kcmFnLWRyb3Auc2VydmljZSc7XG5pbXBvcnQgeyBEcmFnZ2FibGVEaXJlY3RpdmUgfSBmcm9tICcuL2RyYWdnYWJsZS5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZERyYWdTeW5jXScsXG4gIGV4cG9ydEFzOiAnZERyYWdTeW5jJ1xufSlcbmV4cG9ydCBjbGFzcyBEcmFnU3luY0RpcmVjdGl2ZSBleHRlbmRzIERlc2NlbmRhbnRDaGlsZHJlbjxEcmFnU3luY0RpcmVjdGl2ZT4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgnZERyYWdTeW5jJykgZHJhZ1N5bmNHcm91cCA9ICcnO1xuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgc3luY0dyb3VwRGlyZWN0aXZlczogQXJyYXk8RHJhZ1N5bmNEaXJlY3RpdmU+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBlbDogRWxlbWVudFJlZixcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHByaXZhdGUgZHJhZ2dhYmxlOiBEcmFnZ2FibGVEaXJlY3RpdmUsXG4gICAgcHJpdmF0ZSBkcmFnRHJvcFN5bmNTZXJ2aWNlOiBEcmFnRHJvcFN5bmNTZXJ2aWNlLFxuICAgIHByaXZhdGUgZHJhZ0Ryb3BTZXJ2aWNlOiBEcmFnRHJvcFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkcmFnU3luY0RyczogRHJhZ1N5bmNEZXNjZW5kYW50UmVnaXN0ZXJTZXJ2aWNlLFxuICApIHtcbiAgICBzdXBlcihkcmFnU3luY0Rycyk7XG4gICAgdGhpcy5kZXNjZW5kYW50SXRlbSA9IHRoaXM7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5kcmFnZ2FibGUpIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZCh0aGlzLmRyYWdnYWJsZS5kcmFnRWxTaG93SGlkZUV2ZW50LnN1YnNjcmliZSh0aGlzLnN1YkRyYWdFbEV2ZW50KSk7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQodGhpcy5kcmFnZ2FibGUuYmVmb3JlRHJhZ1N0YXJ0RXZlbnQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5zeW5jR3JvdXBEaXJlY3RpdmVzID0gdGhpcy5kcmFnRHJvcFN5bmNTZXJ2aWNlLmdldERyYWdTeW5jQnlHcm91cCh0aGlzLmRyYWdTeW5jR3JvdXApLmZpbHRlcihkaXJlY3RpdmUgPT4gZGlyZWN0aXZlICE9PSB0aGlzKTtcbiAgICAgICAgdGhpcy5kcmFnRHJvcFNlcnZpY2UuZHJhZ1N5bmNHcm91cERpcmVjdGl2ZXMgPSB0aGlzLnN5bmNHcm91cERpcmVjdGl2ZXM7XG4gICAgICB9KSk7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQodGhpcy5kcmFnZ2FibGUuZHJvcEVuZEV2ZW50LnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuZHJhZ0Ryb3BTZXJ2aWNlLmRyYWdTeW5jR3JvdXBEaXJlY3RpdmVzID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLnN5bmNHcm91cERpcmVjdGl2ZXMgPSB1bmRlZmluZWQ7XG4gICAgICB9KSk7XG4gICAgfVxuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gIH1cblxuICBzdWJEcmFnRWxFdmVudCA9IChib29sOiBib29sZWFuKSA9PiB7XG4gICAgdGhpcy5zeW5jR3JvdXBEaXJlY3RpdmVzLmZvckVhY2goZGlyID0+IHRoaXMucmVuZGVyRGlzcGxheShkaXIuZWwubmF0aXZlRWxlbWVudCwgYm9vbCkpO1xuICB9O1xuXG4gIHJlbmRlckRpc3BsYXkobmF0aXZlRWw6IEhUTUxFbGVtZW50LCBib29sOiBib29sZWFuKSB7XG4gICAgbmF0aXZlRWwuc3R5bGUuZGlzcGxheSA9IGJvb2wgPyAnJyA6ICdub25lJztcbiAgfVxuXG59XG4iXX0=