/// import { BaseWizard, IDataSourceWizardSettings, IWizardEventArgs, PageFactory, PageIterator, PopupWizard, StateManager } from '@devexpress/analytics-core/analytics-wizard'; import * as ko from 'knockout'; import { DataSourceBrowser } from '../../common/_data-source-browser'; import { DashboardOptionChangedArgs } from '../../common/control-options'; import { DashboardControl } from '../../common/dashboard-control'; import { ISupportOptionExtension } from '../../common/internal/_interfaces'; import { EventSubscriber, OptionsManager } from '../../common/internal/_options-manager'; import { FederationDataSource } from '../../model'; import { DataSource } from '../../model/data-sources/data-source'; import { JsonDataSource } from '../../model/data-sources/json-data-source'; import { SqlDataSource } from '../../model/data-sources/sql-data-source'; import { Parameter } from '../../model/parameters/parameter'; import { IDashboardDataSourceInfo } from './_helpers'; import { DashboardRequestWrapper } from './models/_data-source-wizard-model'; import { IDashboardDataSourceWizardConnectionStrings } from './models/data-source-wizard-model'; import { DashboardDataSourceWizardBase } from './wizards/_data-source-wizard'; import { MongoDBDataSource } from '../../model/data-sources/mongodb-data-source'; export interface DataSourceWizardExtensionOptions { enableCustomSql?: boolean; allowCreateNewJsonConnection?: boolean; wizardSettings?: IDashboardDataSourceWizardSettings; onCustomizeDataSourceWizard?: (args: IDashboardWizardEventArgs) => void; } export type DataSourceWizardExtensionEvents = { customizeDataSourceWizard: IDashboardWizardEventArgs; }; export interface IDashboardDataSourceWizardSettings extends IDataSourceWizardSettings { enableOlapDataSource?: boolean; } export type DataSourceWizardType = 'EditQueryWizard' | 'EditJsonDataSourceWizard' | 'EditMongoDBDataSourceWizard' | 'DataSourceWizard' | 'MultiQueryDataSourceWizard'; export interface IDashboardWizardEventArgs extends IWizardEventArgs { type: DataSourceWizardType; } export declare class DataSourceWizardExtension implements ISupportOptionExtension { protected dashboardControl: DashboardControl; private static _convertDataSource; private _subscriptions; protected _requestWrapper: DashboardRequestWrapper; private _getConnectionStringsCallback; private _loadingPanelVisible; private _wizardElement; protected _dashboardParameters: ko.Computed>; _optionsManager: OptionsManager; private _customTemplate; get isCustomSqlEnabled(): any; protected get _dataSourceBrowser(): DataSourceBrowser; name: string; on: EventSubscriber; off: EventSubscriber; constructor(dashboardControl: DashboardControl, options?: DataSourceWizardExtensionOptions); start(): void; stop(): void; showDataSourceCreatingDialog(): JQueryPromise; private _getDashboardDataSources; private _getFederationDataProviders; _showDataSourceCreatingDialog(federationDataProviders: DataSource[]): JQueryPromise; showSqlQueryEditingDialog(dashboardSqlDataSource: SqlDataSource, queryName?: string): void; showFederationQueryEditingDialog(dashboardFederationDataSource: FederationDataSource, queryName: string): void; showManageFederationQueriesDialog(dashboardFederationDataSource: FederationDataSource): void; private _createEditQueryWizard; _optionChanged(args: DashboardOptionChangedArgs): any; protected createDataSourceWizard(connectionStrings: IDashboardDataSourceWizardConnectionStrings, federationSources: IDashboardDataSourceInfo[]): DashboardDataSourceWizardBase; private _createEditJsonDataSourceWizard; private _createEditMongoDBDataSourceWizard; protected _customizeDataSourceWizard(customizationType: DataSourceWizardType, wizard: PopupWizard): void; protected _createNewDataSourceWizardIterator(factory: PageFactory, stateManager: StateManager): PageIterator; private _initializeDataSourceWizard; _showEditJsonDataSourceDialog(jsonDataSource: JsonDataSource): void; private _initAndRunJsonSourceWizard; _showEditMongoDBDataSourceDialog(mongoDBDataSource: MongoDBDataSource): void; private _initAndRunMongoDBSourceWizard; private _renderAndStartWizard; } export declare class MultiQueryDataSourceWizardExtension extends DataSourceWizardExtension { constructor(dashboardControl: DashboardControl, options?: DataSourceWizardExtensionOptions); protected _createNewDataSourceWizardIterator(factory: PageFactory, stateManager: StateManager): PageIterator; protected createDataSourceWizard(connectionStrings: IDashboardDataSourceWizardConnectionStrings, federationSources: IDashboardDataSourceInfo[]): DashboardDataSourceWizardBase; }