devextreme-vue
Version:
DevExtreme Vue UI and Visualization Components
70 lines (68 loc) • 2.97 kB
TypeScript
/*!
* devextreme-vue
* Version: 19.2.6
* Build date: Thu Jan 30 2020
*
* Copyright (c) 2012 - 2020 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-vue
*/
import { Vue } from "vue/types/vue";
declare type UpdateFunc = (name: string, value: any) => void;
declare 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 _componentsCountChanged;
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);
readonly name: string | null;
readonly fullName: string | null;
hasOptionsToUpdate: boolean;
readonly fullPath: string | null;
readonly options: string[];
readonly initialValues: Record<string, any>;
readonly expectedChildren: Record<string, ExpectedChild>;
readonly nested: Configuration[];
readonly prevNestedOptions: any;
readonly collectionItemIndex: number | undefined;
readonly isCollectionItem: boolean;
readonly updateFunc: UpdateFunc;
init(options: string[]): void;
emitOptionChanged: 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<Vue, "$watch">, innerChanges: Record<string, any>): void;
declare function setEmitOptionChangedFunc(config: Configuration, vueInstance: Pick<Vue, "$emit" | "$props">, innerChanges: Record<string, any>): void;
export default Configuration;
export { bindOptionWatchers, setEmitOptionChangedFunc, UpdateFunc, ExpectedChild, IOptionChangedArgs };