devextreme-vue
Version:
DevExtreme UI and Visualization Components for Vue
73 lines (71 loc) • 3.21 kB
TypeScript
/*!
* devextreme-vue
* Version: 25.2.7
* Build date: Tue May 05 2026
*
* Copyright (c) 2012 - 2026 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
*/
import { ComponentPublicInstance as IVue } from 'vue';
import { IComponentInfo } from './configuration-component';
type UpdateFunc = (name: string, value: any) => void;
type EmitOptionChangedFunc = (name: string, value: any) => void;
interface ExpectedChild {
isCollectionItem: boolean;
optionName: string;
}
interface IOptionChangedArgs {
fullName: string;
value: any;
previousValue: any;
component: any;
}
declare class Configuration {
private readonly _name;
private readonly _isCollectionItem;
private readonly _collectionItemIndex;
private readonly _initialValues;
private readonly _expectedChildren;
private readonly _updateFunc;
private readonly _ownerConfig;
private _nestedConfigurations;
private _prevNestedConfigOptions;
private _emitOptionChanged;
private _componentChanges;
private _options;
constructor(updateFunc: UpdateFunc, name: string | null, initialValues: Record<string, any>, expectedChildren?: Record<string, ExpectedChild>, isCollectionItem?: boolean, collectionItemIndex?: number, ownerConfig?: Pick<Configuration, 'fullPath'> | undefined);
get name(): string | null;
get fullName(): string | null;
get componentsCountChanged(): IComponentInfo[];
cleanComponentsCountChanged(): void;
get fullPath(): string | null;
get ownerConfig(): Pick<Configuration, 'fullPath'> | undefined;
get options(): string[];
get initialValues(): Record<string, any>;
get expectedChildren(): Record<string, ExpectedChild>;
get nested(): Configuration[];
get prevNestedOptions(): any;
get collectionItemIndex(): number | undefined;
get isCollectionItem(): boolean;
get updateFunc(): UpdateFunc;
init(options: string[]): void;
set emitOptionChanged(handler: EmitOptionChangedFunc);
setPrevNestedOptions(value: any): void;
onOptionChanged(args: IOptionChangedArgs): void;
cleanNested(): void;
createNested(name: string, initialValues: Record<string, any>, isCollectionItem?: boolean, expectedChildren?: Record<string, ExpectedChild>): Configuration;
updateValue(nestedName: string, value: any): void;
getNestedOptionValues(): Record<string, any> | undefined;
getOptionsToWatch(): string[];
private _onOptionChanged;
private _getNestedConfig;
private _tryEmitOptionChanged;
}
declare function bindOptionWatchers(config: Configuration, vueInstance: Pick<IVue, '$watch'>, innerChanges: Record<string, any>): void;
declare function setEmitOptionChangedFunc(config: Configuration, vueInstance: Pick<IVue, '$' | '$props' | '$emit' | '$options'>, innerChanges: Record<string, any>): void;
export default Configuration;
export { bindOptionWatchers, setEmitOptionChangedFunc, UpdateFunc, ExpectedChild, IOptionChangedArgs, };