ng-devui
Version:
DevUI components based on Angular
54 lines • 8.31 kB
JavaScript
import { Directive } from '@angular/core';
import { Subscription } from 'rxjs';
import { DescendantRoot } from '../services/drag-drop-desc-reg.service';
import { DragSyncDescendantRegisterService, DropSortSyncDescendantRegisterService } from '../services/drag-drop-descendant-sync.service';
import { DragDropSyncService } from '../services/drag-drop-sync.service';
import * as i0 from "@angular/core";
import * as i1 from "../services/drag-drop-sync.service";
import * as i2 from "../services/drag-drop-descendant-sync.service";
export class DragDropSyncBoxDirective {
constructor(dragDropSyncService, dragSyncDrs, dropSortSyncDrs) {
this.dragDropSyncService = dragDropSyncService;
this.dragSyncDrs = dragSyncDrs;
this.dropSortSyncDrs = dropSortSyncDrs;
this.sub = new Subscription();
}
ngOnInit() {
this.dragSyncList = new DescendantRoot(this.dragSyncDrs);
this.dropSyncList = new DescendantRoot(this.dropSortSyncDrs);
}
ngAfterViewInit() {
this.dragSyncList.on();
this.dropSyncList.on();
this.dragDropSyncService.updateDragSyncList(this.dragSyncList);
this.dragDropSyncService.updateDropSyncList(this.dropSyncList);
this.sub.add(this.dragSyncList.changes.subscribe(list => this.dragDropSyncService.updateDragSyncList(list)));
this.sub.add(this.dropSyncList.changes.subscribe(list => this.dragDropSyncService.updateDropSyncList(list)));
}
ngOnDestroy() {
if (this.sub) {
this.sub.unsubscribe();
}
this.dragSyncList.off();
this.dropSyncList.off();
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DragDropSyncBoxDirective, deps: [{ token: i1.DragDropSyncService }, { token: i2.DragSyncDescendantRegisterService }, { token: i2.DropSortSyncDescendantRegisterService }], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DragDropSyncBoxDirective, selector: "[dDragDropSyncBox]", providers: [
DragDropSyncService,
DragSyncDescendantRegisterService,
DropSortSyncDescendantRegisterService,
], exportAs: ["dDragDropSyncBox"], ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DragDropSyncBoxDirective, decorators: [{
type: Directive,
args: [{
selector: '[dDragDropSyncBox]',
exportAs: 'dDragDropSyncBox',
providers: [
DragDropSyncService,
DragSyncDescendantRegisterService,
DropSortSyncDescendantRegisterService,
]
}]
}], ctorParameters: () => [{ type: i1.DragDropSyncService }, { type: i2.DragSyncDescendantRegisterService }, { type: i2.DropSortSyncDescendantRegisterService }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZ2Ryb3Atc3luYy1ib3guZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vZGV2dWkvZHJhZ2Ryb3AvZGlyZWN0aXZlcy9kcmFnZHJvcC1zeW5jLWJveC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3pJLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7O0FBYXpFLE1BQU0sT0FBTyx3QkFBd0I7SUFNbkMsWUFBb0IsbUJBQXdDLEVBQ3hDLFdBQThDLEVBQzlDLGVBQXNEO1FBRnRELHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsZ0JBQVcsR0FBWCxXQUFXLENBQW1DO1FBQzlDLG9CQUFlLEdBQWYsZUFBZSxDQUF1QztRQVAxRSxRQUFHLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQVF6QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxjQUFjLENBQW9CLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksY0FBYyxDQUF3QixJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUNELGVBQWU7UUFDYixJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FDakMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQzFELENBQ0YsQ0FBQztRQUNGLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FDakMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQzFELENBQ0YsQ0FBQztJQUNKLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3pCLENBQUM7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDMUIsQ0FBQzsrR0FyQ1Usd0JBQXdCO21HQUF4Qix3QkFBd0IsNkNBTnhCO1lBQ1QsbUJBQW1CO1lBQ25CLGlDQUFpQztZQUNqQyxxQ0FBcUM7U0FDdEM7OzRGQUVVLHdCQUF3QjtrQkFUcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixTQUFTLEVBQUU7d0JBQ1QsbUJBQW1CO3dCQUNuQixpQ0FBaUM7d0JBQ2pDLHFDQUFxQztxQkFDdEM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERlc2NlbmRhbnRSb290IH0gZnJvbSAnLi4vc2VydmljZXMvZHJhZy1kcm9wLWRlc2MtcmVnLnNlcnZpY2UnO1xuaW1wb3J0IHsgRHJhZ1N5bmNEZXNjZW5kYW50UmVnaXN0ZXJTZXJ2aWNlLCBEcm9wU29ydFN5bmNEZXNjZW5kYW50UmVnaXN0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZHJhZy1kcm9wLWRlc2NlbmRhbnQtc3luYy5zZXJ2aWNlJztcbmltcG9ydCB7IERyYWdEcm9wU3luY1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9kcmFnLWRyb3Atc3luYy5zZXJ2aWNlJztcbmltcG9ydCB7IERyYWdTeW5jRGlyZWN0aXZlIH0gZnJvbSAnLi9kcmFnLXN5bmMuZGlyZWN0aXZlJztcbmltcG9ydCB7IERyb3BTb3J0U3luY0RpcmVjdGl2ZSB9IGZyb20gJy4vZHJvcC1zb3J0LXN5bmMuZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2REcmFnRHJvcFN5bmNCb3hdJyxcbiAgZXhwb3J0QXM6ICdkRHJhZ0Ryb3BTeW5jQm94JyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgRHJhZ0Ryb3BTeW5jU2VydmljZSxcbiAgICBEcmFnU3luY0Rlc2NlbmRhbnRSZWdpc3RlclNlcnZpY2UsXG4gICAgRHJvcFNvcnRTeW5jRGVzY2VuZGFudFJlZ2lzdGVyU2VydmljZSxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEcmFnRHJvcFN5bmNCb3hEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIHN1YiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgLy8gQENvbnRlbnRDaGlsZHJlbihEcmFnU3luY0RpcmVjdGl2ZSwge2Rlc2NlbmRhbnRzOiB0cnVlfSlcbiAgZHJhZ1N5bmNMaXN0OiBEZXNjZW5kYW50Um9vdDxEcmFnU3luY0RpcmVjdGl2ZT47XG4gIC8vIEBDb250ZW50Q2hpbGRyZW4oRHJvcFNvcnRTeW5jRGlyZWN0aXZlLCB7ZGVzY2VuZGFudHM6IHRydWV9KVxuICBkcm9wU3luY0xpc3Q6IERlc2NlbmRhbnRSb290PERyb3BTb3J0U3luY0RpcmVjdGl2ZT47XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZHJhZ0Ryb3BTeW5jU2VydmljZTogRHJhZ0Ryb3BTeW5jU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBkcmFnU3luY0RyczogRHJhZ1N5bmNEZXNjZW5kYW50UmVnaXN0ZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGRyb3BTb3J0U3luY0RyczogRHJvcFNvcnRTeW5jRGVzY2VuZGFudFJlZ2lzdGVyU2VydmljZSkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5kcmFnU3luY0xpc3QgPSBuZXcgRGVzY2VuZGFudFJvb3Q8RHJhZ1N5bmNEaXJlY3RpdmU+KHRoaXMuZHJhZ1N5bmNEcnMpO1xuICAgIHRoaXMuZHJvcFN5bmNMaXN0ID0gbmV3IERlc2NlbmRhbnRSb290PERyb3BTb3J0U3luY0RpcmVjdGl2ZT4odGhpcy5kcm9wU29ydFN5bmNEcnMpO1xuICB9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmRyYWdTeW5jTGlzdC5vbigpO1xuICAgIHRoaXMuZHJvcFN5bmNMaXN0Lm9uKCk7XG4gICAgdGhpcy5kcmFnRHJvcFN5bmNTZXJ2aWNlLnVwZGF0ZURyYWdTeW5jTGlzdCh0aGlzLmRyYWdTeW5jTGlzdCk7XG4gICAgdGhpcy5kcmFnRHJvcFN5bmNTZXJ2aWNlLnVwZGF0ZURyb3BTeW5jTGlzdCh0aGlzLmRyb3BTeW5jTGlzdCk7XG4gICAgdGhpcy5zdWIuYWRkKFxuICAgICAgdGhpcy5kcmFnU3luY0xpc3QuY2hhbmdlcy5zdWJzY3JpYmUoXG4gICAgICAgIGxpc3QgPT4gdGhpcy5kcmFnRHJvcFN5bmNTZXJ2aWNlLnVwZGF0ZURyYWdTeW5jTGlzdChsaXN0KVxuICAgICAgKVxuICAgICk7XG4gICAgdGhpcy5zdWIuYWRkKFxuICAgICAgdGhpcy5kcm9wU3luY0xpc3QuY2hhbmdlcy5zdWJzY3JpYmUoXG4gICAgICAgIGxpc3QgPT4gdGhpcy5kcmFnRHJvcFN5bmNTZXJ2aWNlLnVwZGF0ZURyb3BTeW5jTGlzdChsaXN0KVxuICAgICAgKVxuICAgICk7XG4gIH1cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuc3ViKSB7XG4gICAgICB0aGlzLnN1Yi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICB0aGlzLmRyYWdTeW5jTGlzdC5vZmYoKTtcbiAgICB0aGlzLmRyb3BTeW5jTGlzdC5vZmYoKTtcbiAgfVxuXG59XG4iXX0=