devextreme-angular
Version:
Angular UI and visualization components based on DevExtreme widgets
94 lines • 12.6 kB
JavaScript
/*!
* 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 { DxiFileManagerContextMenuItemComponent } from './context-menu-item-dxi';
import { DxiFileManagerItemComponent } from './item-dxi';
import * as i0 from "@angular/core";
import * as i1 from "devextreme-angular/core";
export class DxoFileManagerContextMenuComponent extends NestedOption {
get items() {
return this._getOption('items');
}
set items(value) {
this._setOption('items', value);
}
get _optionPath() {
return 'contextMenu';
}
contextMenuItemsChildren;
itemsChildren;
setItems() {
const q = new QueryList();
q.reset([
...this.contextMenuItemsChildren.toArray(),
...this.itemsChildren.toArray(),
]);
this.setChildren('items', q);
}
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.contextMenuItemsChildren.changes.subscribe(() => { this.setItems(); });
this.itemsChildren.changes.subscribe(() => { this.setItems(); });
}
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxoFileManagerContextMenuComponent, 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: DxoFileManagerContextMenuComponent, isStandalone: true, selector: "dxo-file-manager-context-menu", inputs: { items: "items" }, providers: [NestedOptionHost], queries: [{ propertyName: "contextMenuItemsChildren", predicate: i0.forwardRef(() => DxiFileManagerContextMenuItemComponent) }, { propertyName: "itemsChildren", predicate: i0.forwardRef(() => DxiFileManagerItemComponent) }], 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: DxoFileManagerContextMenuComponent, decorators: [{
type: Component,
args: [{ selector: 'dxo-file-manager-context-menu', standalone: true, template: '', imports: [DxIntegrationModule], providers: [NestedOptionHost] }]
}], ctorParameters: () => [{ type: i1.NestedOptionHost, decorators: [{
type: SkipSelf
}, {
type: Host
}] }, { type: i1.NestedOptionHost, decorators: [{
type: Host
}] }], propDecorators: { items: [{
type: Input
}], contextMenuItemsChildren: [{
type: ContentChildren,
args: [forwardRef(() => DxiFileManagerContextMenuItemComponent)]
}], itemsChildren: [{
type: ContentChildren,
args: [forwardRef(() => DxiFileManagerItemComponent)]
}] } });
export class DxoFileManagerContextMenuModule {
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxoFileManagerContextMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
/** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: DxoFileManagerContextMenuModule, imports: [DxoFileManagerContextMenuComponent], exports: [DxoFileManagerContextMenuComponent] });
/** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxoFileManagerContextMenuModule, imports: [DxoFileManagerContextMenuComponent] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxoFileManagerContextMenuModule, decorators: [{
type: NgModule,
args: [{
imports: [
DxoFileManagerContextMenuComponent
],
exports: [
DxoFileManagerContextMenuComponent
],
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vZGlzdC91aS9maWxlLW1hbmFnZXIvbmVzdGVkL2NvbnRleHQtbWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7R0FXRztBQUVILG9DQUFvQztBQUdwQyxPQUFPLEVBQ0gsU0FBUyxFQUdULFFBQVEsRUFDUixJQUFJLEVBQ0osUUFBUSxFQUNSLEtBQUssRUFDTCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFNBQVMsRUFFWixNQUFNLGVBQWUsQ0FBQztBQU92QixPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLGdCQUFnQixHQUNuQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxZQUFZLENBQUM7OztBQVd6RCxNQUFNLE9BQU8sa0NBQW1DLFNBQVEsWUFBWTtJQUNoRSxJQUNJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLEtBQWlGO1FBQ3ZGLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFHRCxJQUFjLFdBQVc7UUFDckIsT0FBTyxhQUFhLENBQUM7SUFDekIsQ0FBQztJQUcwRSx3QkFBd0IsQ0FBb0Q7SUFFdkYsYUFBYSxDQUF5QztJQUV0SCxRQUFRO1FBQ0osTUFBTSxDQUFDLEdBQW1CLElBQUksU0FBUyxFQUFFLENBQUM7UUFDMUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUNKLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sRUFBRTtZQUMxQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFO1NBQ2xDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFJRCxZQUFnQyxnQkFBa0MsRUFDbEQsVUFBNEI7UUFDeEMsS0FBSyxFQUFFLENBQUM7UUFDUixnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBR0QsUUFBUTtRQUNKLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFHRCxrQkFBa0I7UUFDZCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFaEIsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7MkhBcERRLGtDQUFrQzsrR0FBbEMsa0NBQWtDLHdHQUZoQyxDQUFDLGdCQUFnQixDQUFDLHVGQWlCSyxzQ0FBc0MscUVBRXRDLDJCQUEyQixxREF0Qm5ELEVBQUUseUVBRUQsbUJBQW1COzs0RkFHckIsa0NBQWtDO2tCQVI5QyxTQUFTOytCQUNJLCtCQUErQixjQUM3QixJQUFJLFlBQ04sRUFBRSxXQUVILENBQUUsbUJBQW1CLENBQUUsYUFDckIsQ0FBQyxnQkFBZ0IsQ0FBQzs7MEJBZ0NoQixRQUFROzswQkFBSSxJQUFJOzswQkFDcEIsSUFBSTt5Q0E3QlQsS0FBSztzQkFEUixLQUFLO2dCQWNxRSx3QkFBd0I7c0JBQWxHLGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNDQUFzQyxDQUFDO2dCQUVULGFBQWE7c0JBQTVFLGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDJCQUEyQixDQUFDOztBQThDbEUsTUFBTSxPQUFPLCtCQUErQjsySEFBL0IsK0JBQStCOzRIQUEvQiwrQkFBK0IsWUEvRC9CLGtDQUFrQyxhQUFsQyxrQ0FBa0M7NEhBK0RsQywrQkFBK0IsWUFOeEMsa0NBQWtDOzs0RkFNekIsK0JBQStCO2tCQVIzQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxrQ0FBa0M7cUJBQ25DO29CQUNELE9BQU8sRUFBRTt3QkFDUCxrQ0FBa0M7cUJBQ25DO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBkZXZleHRyZW1lLWFuZ3VsYXJcbiAqIFZlcnNpb246IDI1LjEuNFxuICogQnVpbGQgZGF0ZTogVHVlIEF1ZyAwNSAyMDI1XG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDEyIC0gMjAyNSBEZXZlbG9wZXIgRXhwcmVzcyBJbmMuIEFMTCBSSUdIVFMgUkVTRVJWRURcbiAqXG4gKiBUaGlzIHNvZnR3YXJlIG1heSBiZSBtb2RpZmllZCBhbmQgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zXG4gKiBvZiB0aGUgTUlUIGxpY2Vuc2UuIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IG9mIHRoZSBwcm9qZWN0IGZvciBkZXRhaWxzLlxuICpcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9EZXZFeHByZXNzL2RldmV4dHJlbWUtYW5ndWxhclxuICovXG5cbi8qIHRzbGludDpkaXNhYmxlOm1heC1saW5lLWxlbmd0aCAqL1xyXG5cclxuXHJcbmltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBPbkluaXQsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBOZ01vZHVsZSxcclxuICAgIEhvc3QsXHJcbiAgICBTa2lwU2VsZixcclxuICAgIElucHV0LFxyXG4gICAgQ29udGVudENoaWxkcmVuLFxyXG4gICAgZm9yd2FyZFJlZixcclxuICAgIFF1ZXJ5TGlzdCxcclxuICAgIEFmdGVyQ29udGVudEluaXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcblxyXG5cclxuXHJcbmltcG9ydCB7IGR4RmlsZU1hbmFnZXJDb250ZXh0TWVudUl0ZW0sIEZpbGVNYW5hZ2VyUHJlZGVmaW5lZENvbnRleHRNZW51SXRlbSB9IGZyb20gJ2RldmV4dHJlbWUvdWkvZmlsZV9tYW5hZ2VyJztcclxuXHJcbmltcG9ydCB7XHJcbiAgICBEeEludGVncmF0aW9uTW9kdWxlLFxyXG4gICAgTmVzdGVkT3B0aW9uSG9zdCxcclxufSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5lc3RlZE9wdGlvbiB9IGZyb20gJ2RldmV4dHJlbWUtYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRHhpRmlsZU1hbmFnZXJDb250ZXh0TWVudUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2NvbnRleHQtbWVudS1pdGVtLWR4aSc7XHJcbmltcG9ydCB7IER4aUZpbGVNYW5hZ2VySXRlbUNvbXBvbmVudCB9IGZyb20gJy4vaXRlbS1keGknO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdkeG8tZmlsZS1tYW5hZ2VyLWNvbnRleHQtbWVudScsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgdGVtcGxhdGU6ICcnLFxyXG4gICAgc3R5bGVzOiBbJyddLFxyXG4gICAgaW1wb3J0czogWyBEeEludGVncmF0aW9uTW9kdWxlIF0sXHJcbiAgICBwcm92aWRlcnM6IFtOZXN0ZWRPcHRpb25Ib3N0XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHhvRmlsZU1hbmFnZXJDb250ZXh0TWVudUNvbXBvbmVudCBleHRlbmRzIE5lc3RlZE9wdGlvbiBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0ICB7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGl0ZW1zKCk6IEFycmF5PGR4RmlsZU1hbmFnZXJDb250ZXh0TWVudUl0ZW0gfCBGaWxlTWFuYWdlclByZWRlZmluZWRDb250ZXh0TWVudUl0ZW0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdpdGVtcycpO1xyXG4gICAgfVxyXG4gICAgc2V0IGl0ZW1zKHZhbHVlOiBBcnJheTxkeEZpbGVNYW5hZ2VyQ29udGV4dE1lbnVJdGVtIHwgRmlsZU1hbmFnZXJQcmVkZWZpbmVkQ29udGV4dE1lbnVJdGVtPikge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignaXRlbXMnLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgX29wdGlvblBhdGgoKSB7XHJcbiAgICAgICAgcmV0dXJuICdjb250ZXh0TWVudSc7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBEeGlGaWxlTWFuYWdlckNvbnRleHRNZW51SXRlbUNvbXBvbmVudCkpIGNvbnRleHRNZW51SXRlbXNDaGlsZHJlbiE6IFF1ZXJ5TGlzdDxEeGlGaWxlTWFuYWdlckNvbnRleHRNZW51SXRlbUNvbXBvbmVudD5cclxuICAgIFxyXG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IER4aUZpbGVNYW5hZ2VySXRlbUNvbXBvbmVudCkpIGl0ZW1zQ2hpbGRyZW4hOiBRdWVyeUxpc3Q8RHhpRmlsZU1hbmFnZXJJdGVtQ29tcG9uZW50PlxyXG4gICAgXHJcbiAgICBzZXRJdGVtcygpIHtcclxuICAgICAgICBjb25zdCBxOiBRdWVyeUxpc3Q8YW55PiA9IG5ldyBRdWVyeUxpc3QoKTtcclxuICAgICAgICBxLnJlc2V0KFtcclxuICAgICAgICAgICAgLi4udGhpcy5jb250ZXh0TWVudUl0ZW1zQ2hpbGRyZW4udG9BcnJheSgpLFxyXG4gICAgICAgICAgICAuLi50aGlzLml0ZW1zQ2hpbGRyZW4udG9BcnJheSgpLFxyXG4gICAgICAgIF0pO1xyXG4gICAgICAgIHRoaXMuc2V0Q2hpbGRyZW4oJ2l0ZW1zJywgcSk7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihAU2tpcFNlbGYoKSBASG9zdCgpIHBhcmVudE9wdGlvbkhvc3Q6IE5lc3RlZE9wdGlvbkhvc3QsXHJcbiAgICAgICAgICAgIEBIb3N0KCkgb3B0aW9uSG9zdDogTmVzdGVkT3B0aW9uSG9zdCkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgcGFyZW50T3B0aW9uSG9zdC5zZXROZXN0ZWRPcHRpb24odGhpcyk7XHJcbiAgICAgICAgb3B0aW9uSG9zdC5zZXRIb3N0KHRoaXMsIHRoaXMuX2Z1bGxPcHRpb25QYXRoLmJpbmQodGhpcykpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLl9hZGRSZWNyZWF0ZWRDb21wb25lbnQoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLl9hZGRSZW1vdmVkT3B0aW9uKHRoaXMuX2dldE9wdGlvblBhdGgoKSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcclxuICAgICAgICB0aGlzLnNldEl0ZW1zKCk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgdGhpcy5jb250ZXh0TWVudUl0ZW1zQ2hpbGRyZW4uY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4geyB0aGlzLnNldEl0ZW1zKCkgfSk7XHJcbiAgICAgICAgdGhpcy5pdGVtc0NoaWxkcmVuLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHsgdGhpcy5zZXRJdGVtcygpIH0pO1xyXG4gICAgfVxyXG59XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIER4b0ZpbGVNYW5hZ2VyQ29udGV4dE1lbnVDb21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIER4b0ZpbGVNYW5hZ2VyQ29udGV4dE1lbnVDb21wb25lbnRcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHhvRmlsZU1hbmFnZXJDb250ZXh0TWVudU1vZHVsZSB7IH1cclxuIl19