ng-devui
Version:
DevUI components based on Angular
67 lines • 7.56 kB
JavaScript
import { Directive, ElementRef, HostBinding, Input } from '@angular/core';
import { DashboardComponent } from '../dashboard.component';
import { GridStackService } from '../grid-stack.service';
import * as i0 from "@angular/core";
export class DashboardLibraryTrashDirective {
get gridStackService() {
return this.targetDashboard?.gridStackService;
}
constructor(el) {
this.el = el;
this.dropDisabled = false;
this.hostBinding = true;
this.isSetup = false;
}
ngAfterViewInit() {
this.setup();
}
ngOnChanges(changes) {
if (changes.targetDashBoard) {
this.setup();
}
if (changes.dropDisabled) {
if (this.dropDisabled) {
GridStackService.disableDrop(this.el.nativeElement);
}
else {
GridStackService.enableDrop(this.el.nativeElement);
}
}
}
ngOnDestroy() {
if (this.gridStackService && this.isSetup) {
this.gridStackService.destroyRemoveDropAreas(this.el.nativeElement);
}
}
setup() {
if (this.targetDashboard && !this.isSetup) {
setTimeout(() => {
if (this.gridStackService) {
this.gridStackService.setupRemoveDropArea(this.el.nativeElement, this.targetDashboard, this);
if (this.dropDisabled) {
GridStackService.disableDrop(this.el.nativeElement);
}
}
});
this.isSetup = true;
}
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DashboardLibraryTrashDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DashboardLibraryTrashDirective, selector: "[dDashboardLibraryTrash]", inputs: { targetDashboard: "targetDashboard", trashData: "trashData", dropDisabled: "dropDisabled" }, host: { properties: { "class.grid-stack-library-trash": "this.hostBinding" } }, usesOnChanges: true, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DashboardLibraryTrashDirective, decorators: [{
type: Directive,
args: [{
selector: '[dDashboardLibraryTrash]',
}]
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { targetDashboard: [{
type: Input
}], trashData: [{
type: Input
}], dropDisabled: [{
type: Input
}], hostBinding: [{
type: HostBinding,
args: ['class.grid-stack-library-trash']
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicmFyeS10cmFzaC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9kZXZ1aS9kYXNoYm9hcmQvd2lkZ2V0LWxpYnJhcnkvbGlicmFyeS10cmFzaC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQXVDLE1BQU0sZUFBZSxDQUFDO0FBQzlILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUt6RCxNQUFNLE9BQU8sOEJBQThCO0lBVXpDLElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQztJQUNoRCxDQUFDO0lBRUQsWUFBcUIsRUFBYztRQUFkLE9BQUUsR0FBRixFQUFFLENBQVk7UUFYMUIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFHOUIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFFbkIsWUFBTyxHQUFHLEtBQUssQ0FBQztJQU1zQixDQUFDO0lBQ3ZDLGVBQWU7UUFDYixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0lBQ0QsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNmLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN6QixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDdEIsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDdEQsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3JELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEUsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxJQUFJLENBQUMsZUFBZSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztvQkFDMUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQzdGLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO3dCQUN0QixnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDdEQsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQzsrR0FqRFUsOEJBQThCO21HQUE5Qiw4QkFBOEI7OzRGQUE5Qiw4QkFBOEI7a0JBSDFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtpQkFDckM7K0VBRVUsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBR04sV0FBVztzQkFEVixXQUFXO3VCQUFDLGdDQUFnQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGFzaGJvYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vZGFzaGJvYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHcmlkU3RhY2tTZXJ2aWNlIH0gZnJvbSAnLi4vZ3JpZC1zdGFjay5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2REYXNoYm9hcmRMaWJyYXJ5VHJhc2hdJyxcbn0pXG5leHBvcnQgY2xhc3MgRGFzaGJvYXJkTGlicmFyeVRyYXNoRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSB0YXJnZXREYXNoYm9hcmQ6IERhc2hib2FyZENvbXBvbmVudDtcbiAgQElucHV0KCkgdHJhc2hEYXRhO1xuICBASW5wdXQoKSBkcm9wRGlzYWJsZWQgPSBmYWxzZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmdyaWQtc3RhY2stbGlicmFyeS10cmFzaCcpXG4gIGhvc3RCaW5kaW5nID0gdHJ1ZTtcblxuICBpc1NldHVwID0gZmFsc2U7XG5cbiAgZ2V0IGdyaWRTdGFja1NlcnZpY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMudGFyZ2V0RGFzaGJvYXJkPy5ncmlkU3RhY2tTZXJ2aWNlO1xuICB9XG5cbiAgY29uc3RydWN0b3IgKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHt9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnNldHVwKCk7XG4gIH1cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzLnRhcmdldERhc2hCb2FyZCkge1xuICAgICAgdGhpcy5zZXR1cCgpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5kcm9wRGlzYWJsZWQpIHtcbiAgICAgIGlmICh0aGlzLmRyb3BEaXNhYmxlZCkge1xuICAgICAgICBHcmlkU3RhY2tTZXJ2aWNlLmRpc2FibGVEcm9wKHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBHcmlkU3RhY2tTZXJ2aWNlLmVuYWJsZURyb3AodGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5ncmlkU3RhY2tTZXJ2aWNlICYmIHRoaXMuaXNTZXR1cCkge1xuICAgICAgdGhpcy5ncmlkU3RhY2tTZXJ2aWNlLmRlc3Ryb3lSZW1vdmVEcm9wQXJlYXModGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICBzZXR1cCgpIHtcbiAgICBpZiAodGhpcy50YXJnZXREYXNoYm9hcmQgJiYgIXRoaXMuaXNTZXR1cCkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmdyaWRTdGFja1NlcnZpY2UpIHtcbiAgICAgICAgICB0aGlzLmdyaWRTdGFja1NlcnZpY2Uuc2V0dXBSZW1vdmVEcm9wQXJlYSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIHRoaXMudGFyZ2V0RGFzaGJvYXJkLCB0aGlzKTtcbiAgICAgICAgICBpZiAodGhpcy5kcm9wRGlzYWJsZWQpIHtcbiAgICAgICAgICAgIEdyaWRTdGFja1NlcnZpY2UuZGlzYWJsZURyb3AodGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5pc1NldHVwID0gdHJ1ZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==