UNPKG

devextreme-angular

Version:

Angular UI and visualization components based on DevExtreme widgets

112 lines 15 kB
/*! * devextreme-angular * Version: 25.1.4 * Build date: Tue Aug 05 2025 * * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * * This software may be modified and distributed under the terms * of the MIT license. See the LICENSE file in the root of the project for details. * * https://github.com/DevExpress/devextreme-angular */ /* tslint:disable:max-line-length */ import { Component, NgModule, Host, SkipSelf, Input, ContentChildren, forwardRef, QueryList } from '@angular/core'; import { DxIntegrationModule, NestedOptionHost, } from 'devextreme-angular/core'; import { NestedOption } from 'devextreme-angular/core'; import { DxiFileManagerFileSelectionItemComponent } from './file-selection-item-dxi'; import { DxiFileManagerItemComponent } from './item-dxi'; import { DxiFileManagerToolbarItemComponent } from './toolbar-item-dxi'; import * as i0 from "@angular/core"; import * as i1 from "devextreme-angular/core"; export class DxoFileManagerToolbarComponent extends NestedOption { get fileSelectionItems() { return this._getOption('fileSelectionItems'); } set fileSelectionItems(value) { this._setOption('fileSelectionItems', value); } get items() { return this._getOption('items'); } set items(value) { this._setOption('items', value); } get _optionPath() { return 'toolbar'; } itemsChildren; toolbarItemsChildren; setItems() { const q = new QueryList(); q.reset([ ...this.itemsChildren.toArray(), ...this.toolbarItemsChildren.toArray(), ]); this.setChildren('items', q); } get fileSelectionItemsChildren() { return this._getOption('fileSelectionItems'); } set fileSelectionItemsChildren(value) { this.setChildren('fileSelectionItems', value); } constructor(parentOptionHost, optionHost) { super(); parentOptionHost.setNestedOption(this); optionHost.setHost(this, this._fullOptionPath.bind(this)); } ngOnInit() { this._addRecreatedComponent(); } ngOnDestroy() { this._addRemovedOption(this._getOptionPath()); } ngAfterContentInit() { this.setItems(); this.itemsChildren.changes.subscribe(() => { this.setItems(); }); this.toolbarItemsChildren.changes.subscribe(() => { this.setItems(); }); } /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxoFileManagerToolbarComponent, deps: [{ token: i1.NestedOptionHost, host: true, skipSelf: true }, { token: i1.NestedOptionHost, host: true }], target: i0.ɵɵFactoryTarget.Component }); /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DxoFileManagerToolbarComponent, isStandalone: true, selector: "dxo-file-manager-toolbar", inputs: { fileSelectionItems: "fileSelectionItems", items: "items" }, providers: [NestedOptionHost], queries: [{ propertyName: "itemsChildren", predicate: i0.forwardRef(() => DxiFileManagerItemComponent) }, { propertyName: "toolbarItemsChildren", predicate: i0.forwardRef(() => DxiFileManagerToolbarItemComponent) }, { propertyName: "fileSelectionItemsChildren", predicate: i0.forwardRef(() => DxiFileManagerFileSelectionItemComponent) }], usesInheritance: true, ngImport: i0, template: '', isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: DxIntegrationModule }] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxoFileManagerToolbarComponent, decorators: [{ type: Component, args: [{ selector: 'dxo-file-manager-toolbar', standalone: true, template: '', imports: [DxIntegrationModule], providers: [NestedOptionHost] }] }], ctorParameters: () => [{ type: i1.NestedOptionHost, decorators: [{ type: SkipSelf }, { type: Host }] }, { type: i1.NestedOptionHost, decorators: [{ type: Host }] }], propDecorators: { fileSelectionItems: [{ type: Input }], items: [{ type: Input }], itemsChildren: [{ type: ContentChildren, args: [forwardRef(() => DxiFileManagerItemComponent)] }], toolbarItemsChildren: [{ type: ContentChildren, args: [forwardRef(() => DxiFileManagerToolbarItemComponent)] }], fileSelectionItemsChildren: [{ type: ContentChildren, args: [forwardRef(() => DxiFileManagerFileSelectionItemComponent)] }] } }); export class DxoFileManagerToolbarModule { /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxoFileManagerToolbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: DxoFileManagerToolbarModule, imports: [DxoFileManagerToolbarComponent], exports: [DxoFileManagerToolbarComponent] }); /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxoFileManagerToolbarModule, imports: [DxoFileManagerToolbarComponent] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxoFileManagerToolbarModule, decorators: [{ type: NgModule, args: [{ imports: [ DxoFileManagerToolbarComponent ], exports: [ DxoFileManagerToolbarComponent ], }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2Rpc3QvdWkvZmlsZS1tYW5hZ2VyL25lc3RlZC90b29sYmFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztHQVdHO0FBRUgsb0NBQW9DO0FBR3BDLE9BQU8sRUFDSCxTQUFTLEVBR1QsUUFBUSxFQUNSLElBQUksRUFDSixRQUFRLEVBQ1IsS0FBSyxFQUNMLGVBQWUsRUFDZixVQUFVLEVBQ1YsU0FBUyxFQUVaLE1BQU0sZUFBZSxDQUFDO0FBT3ZCLE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIsZ0JBQWdCLEdBQ25CLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBV3hFLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxZQUFZO0lBQzVELElBQ0ksa0JBQWtCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFDRCxJQUFJLGtCQUFrQixDQUFDLEtBQXlFO1FBQzVGLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELElBQ0ksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBeUU7UUFDL0UsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUdELElBQWMsV0FBVztR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dXJjZXNDb250ZW50IjpbIi8qIVxuICogZGV2ZXh0cmVtZS1hbmd1bGFyXG4gKiBWZXJzaW9uOiAyNS4xLjRcbiAqIEJ1aWxkIGRhdGU6IFR1ZSBBdWcgMDUgMjAyNVxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxMiAtIDIwMjUgRGV2ZWxvcGVyIEV4cHJlc3MgSW5jLiBBTEwgUklHSFRTIFJFU0VSVkVEXG4gKlxuICogVGhpcyBzb2Z0d2FyZSBtYXkgYmUgbW9kaWZpZWQgYW5kIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtc1xuICogb2YgdGhlIE1JVCBsaWNlbnNlLiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgcHJvamVjdCBmb3IgZGV0YWlscy5cbiAqXG4gKiBodHRwczovL2dpdGh1Yi5jb20vRGV2RXhwcmVzcy9kZXZleHRyZW1lLWFuZ3VsYXJcbiAqL1xuXG4vKiB0c2xpbnQ6ZGlzYWJsZTptYXgtbGluZS1sZW5ndGggKi9cclxuXHJcblxyXG5pbXBvcnQge1xyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgT25Jbml0LFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgTmdNb2R1bGUsXHJcbiAgICBIb3N0LFxyXG4gICAgU2tpcFNlbGYsXHJcbiAgICBJbnB1dCxcclxuICAgIENvbnRlbnRDaGlsZHJlbixcclxuICAgIGZvcndhcmRSZWYsXHJcbiAgICBRdWVyeUxpc3QsXHJcbiAgICBBZnRlckNvbnRlbnRJbml0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5cclxuXHJcblxyXG5pbXBvcnQgeyBkeEZpbGVNYW5hZ2VyVG9vbGJhckl0ZW0sIEZpbGVNYW5hZ2VyUHJlZGVmaW5lZFRvb2xiYXJJdGVtIH0gZnJvbSAnZGV2ZXh0cmVtZS91aS9maWxlX21hbmFnZXInO1xyXG5cclxuaW1wb3J0IHtcclxuICAgIER4SW50ZWdyYXRpb25Nb2R1bGUsXHJcbiAgICBOZXN0ZWRPcHRpb25Ib3N0LFxyXG59IGZyb20gJ2RldmV4dHJlbWUtYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmVzdGVkT3B0aW9uIH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEeGlGaWxlTWFuYWdlckZpbGVTZWxlY3Rpb25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9maWxlLXNlbGVjdGlvbi1pdGVtLWR4aSc7XHJcbmltcG9ydCB7IER4aUZpbGVNYW5hZ2VySXRlbUNvbXBvbmVudCB9IGZyb20gJy4vaXRlbS1keGknO1xyXG5pbXBvcnQgeyBEeGlGaWxlTWFuYWdlclRvb2xiYXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi90b29sYmFyLWl0ZW0tZHhpJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnZHhvLWZpbGUtbWFuYWdlci10b29sYmFyJyxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICB0ZW1wbGF0ZTogJycsXHJcbiAgICBzdHlsZXM6IFsnJ10sXHJcbiAgICBpbXBvcnRzOiBbIER4SW50ZWdyYXRpb25Nb2R1bGUgXSxcclxuICAgIHByb3ZpZGVyczogW05lc3RlZE9wdGlvbkhvc3RdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeG9GaWxlTWFuYWdlclRvb2xiYXJDb21wb25lbnQgZXh0ZW5kcyBOZXN0ZWRPcHRpb24gaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCAge1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBmaWxlU2VsZWN0aW9uSXRlbXMoKTogQXJyYXk8ZHhGaWxlTWFuYWdlclRvb2xiYXJJdGVtIHwgRmlsZU1hbmFnZXJQcmVkZWZpbmVkVG9vbGJhckl0ZW0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdmaWxlU2VsZWN0aW9uSXRlbXMnKTtcclxuICAgIH1cclxuICAgIHNldCBmaWxlU2VsZWN0aW9uSXRlbXModmFsdWU6IEFycmF5PGR4RmlsZU1hbmFnZXJUb29sYmFySXRlbSB8IEZpbGVNYW5hZ2VyUHJlZGVmaW5lZFRvb2xiYXJJdGVtPikge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignZmlsZVNlbGVjdGlvbkl0ZW1zJywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgaXRlbXMoKTogQXJyYXk8ZHhGaWxlTWFuYWdlclRvb2xiYXJJdGVtIHwgRmlsZU1hbmFnZXJQcmVkZWZpbmVkVG9vbGJhckl0ZW0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdpdGVtcycpO1xyXG4gICAgfVxyXG4gICAgc2V0IGl0ZW1zKHZhbHVlOiBBcnJheTxkeEZpbGVNYW5hZ2VyVG9vbGJhckl0ZW0gfCBGaWxlTWFuYWdlclByZWRlZmluZWRUb29sYmFySXRlbT4pIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2l0ZW1zJywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IF9vcHRpb25QYXRoKCkge1xyXG4gICAgICAgIHJldHVybiAndG9vbGJhcic7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBEeGlGaWxlTWFuYWdlckl0ZW1Db21wb25lbnQpKSBpdGVtc0NoaWxkcmVuITogUXVlcnlMaXN0PER4aUZpbGVNYW5hZ2VySXRlbUNvbXBvbmVudD5cclxuICAgIFxyXG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IER4aUZpbGVNYW5hZ2VyVG9vbGJhckl0ZW1Db21wb25lbnQpKSB0b29sYmFySXRlbXNDaGlsZHJlbiE6IFF1ZXJ5TGlzdDxEeGlGaWxlTWFuYWdlclRvb2xiYXJJdGVtQ29tcG9uZW50PlxyXG4gICAgXHJcbiAgICBzZXRJdGVtcygpIHtcclxuICAgICAgICBjb25zdCBxOiBRdWVyeUxpc3Q8YW55PiA9IG5ldyBRdWVyeUxpc3QoKTtcclxuICAgICAgICBxLnJlc2V0KFtcclxuICAgICAgICAgICAgLi4udGhpcy5pdGVtc0NoaWxkcmVuLnRvQXJyYXkoKSxcclxuICAgICAgICAgICAgLi4udGhpcy50b29sYmFySXRlbXNDaGlsZHJlbi50b0FycmF5KCksXHJcbiAgICAgICAgXSk7XHJcbiAgICAgICAgdGhpcy5zZXRDaGlsZHJlbignaXRlbXMnLCBxKTtcclxuICAgIH1cclxuXHJcbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gRHhpRmlsZU1hbmFnZXJGaWxlU2VsZWN0aW9uSXRlbUNvbXBvbmVudCkpXHJcbiAgICBnZXQgZmlsZVNlbGVjdGlvbkl0ZW1zQ2hpbGRyZW4oKTogUXVlcnlMaXN0PER4aUZpbGVNYW5hZ2VyRmlsZVNlbGVjdGlvbkl0ZW1Db21wb25lbnQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdmaWxlU2VsZWN0aW9uSXRlbXMnKTtcclxuICAgIH1cclxuICAgIHNldCBmaWxlU2VsZWN0aW9uSXRlbXNDaGlsZHJlbih2YWx1ZSkge1xyXG4gICAgICAgIHRoaXMuc2V0Q2hpbGRyZW4oJ2ZpbGVTZWxlY3Rpb25JdGVtcycsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIGNvbnN0cnVjdG9yKEBTa2lwU2VsZigpIEBIb3N0KCkgcGFyZW50T3B0aW9uSG9zdDogTmVzdGVkT3B0aW9uSG9zdCxcclxuICAgICAgICAgICAgQEhvc3QoKSBvcHRpb25Ib3N0OiBOZXN0ZWRPcHRpb25Ib3N0KSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICBwYXJlbnRPcHRpb25Ib3N0LnNldE5lc3RlZE9wdGlvbih0aGlzKTtcclxuICAgICAgICBvcHRpb25Ib3N0LnNldEhvc3QodGhpcywgdGhpcy5fZnVsbE9wdGlvblBhdGguYmluZCh0aGlzKSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuX2FkZFJlY3JlYXRlZENvbXBvbmVudCgpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMuX2FkZFJlbW92ZWRPcHRpb24odGhpcy5fZ2V0T3B0aW9uUGF0aCgpKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xyXG4gICAgICAgIHRoaXMuc2V0SXRlbXMoKTtcclxuICAgICAgICBcclxuICAgICAgICB0aGlzLml0ZW1zQ2hpbGRyZW4uY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4geyB0aGlzLnNldEl0ZW1zKCkgfSk7XHJcbiAgICAgICAgdGhpcy50b29sYmFySXRlbXNDaGlsZHJlbi5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7IHRoaXMuc2V0SXRlbXMoKSB9KTtcclxuICAgIH1cclxufVxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBEeG9GaWxlTWFuYWdlclRvb2xiYXJDb21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIER4b0ZpbGVNYW5hZ2VyVG9vbGJhckNvbXBvbmVudFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeG9GaWxlTWFuYWdlclRvb2xiYXJNb2R1bGUgeyB9XHJcbiJdfQ==