import { DxPromise, FieldListProvider, IActionsProvider, IDataSourceInfo, IDesignerModel, IDesignerPart, IGlobalSubscribableValue, IItemsExtender, INamedValue, ObjectExplorerProvider, SurfaceSelection } from '@devexpress/analytics-core/analytics-internal'; import { Disposable, ISerializationInfoArray } from '@devexpress/analytics-core/analytics-utils'; import { DataSourceWizard, IDataSourceWizardConnectionStrings, MultiQueryDataSourceWizard } from '@devexpress/analytics-core/analytics-wizard'; import * as ko from 'knockout'; import { IKeyValuePair } from '../../../common/types'; import { PreviewModel } from '../../../viewer/internal/_previewModel'; import { FormattingRule } from '../../controls/properties/formattingrules'; import { StyleModel } from '../../controls/properties/style'; import { XRChartSurface } from '../../controls/xrChart'; import { ReportSurface, ReportViewModel } from '../../controls/xrReport'; import { DataSourceHelper } from '../../helpers/_dataSourceHelper'; import { DesignControlsHelper } from '../../helpers/_designControlsHelper'; import { StylesHelper } from '../../helpers/_styleHelper'; import { FieldListDragDropHandler } from '../../internal/dragdrop/_fieldListDragDropHandler'; import { ReportToolboxDragDropHandler } from '../../internal/dragdrop/_reportToolboxDragDropHandler'; import { DesignerErrorProvider } from '../../internal/errorPanel/_designerErrorProvider'; import { ErrorPanelViewModel } from '../../internal/errorPanel/_errorPanelViewModel'; import { RuntimeErrorProvider } from '../../internal/errorPanel/_runtimeErrorProvider'; import { CalculatedFieldsSource } from '../../internal/fieldlist/_calculatedFieldsSource'; import { FieldListDataSourcesHelper } from '../../internal/fieldlist/_fieldListDataSourcesHelper'; import { ParametersViewModel } from '../../internal/fieldlist/_parametersViewModel'; import { ReportItemsProvider } from '../../internal/reportExplorer/_reportItemsProvider'; import { ScriptsEditor } from '../../internal/scripting/_scriptsEditor'; import { ControlScrollingTool } from '../../internal/_controlScrollingTool'; import { DisplayNameProvider } from '../../internal/_displayNameProvider'; import { WizardRunner } from '../../internal/_wizardRunner'; import { LocalizationEditor } from '../../localization/_localizationEditor'; import { IReportDesignerCustomizationHandler, IReportDesignerParameterEditingSettings } from '../../utils/inititalizer'; import { ReportExpressionEditorWrapper } from '../../widgets/expressioneditor/reportExpressionEditorWrapper'; import { ReportWizard } from '../../wizard/reportWizard'; import { OpenReportDialog } from '../dialogs/openReportDialog'; import { SaveAsReportDialog } from '../dialogs/saveAsReportDialog'; import { SaveReportDialog } from '../dialogs/saveReportDialog'; import { NavigateByReports } from '../navigation/navigateByReports'; import { INavigateTab } from '../navigation/navigateTab'; import { WatermarksViewModel } from '../../internal/fieldlist/_watermarksViewModel'; import { AIExpressionGenerator } from '@devexpress/analytics-core/analytics-widgets'; export interface IReportDesignerRootContext extends IDesignerModel { fullScreen: IGlobalSubscribableValue; canAddItems: ko.Computed; _wizardRunner: WizardRunner; model: ko.Observable; surface: ko.Observable; navigateByReports: NavigateByReports; reportUrls: ko.ObservableArray>; fieldListItemsExtenders: ko.Observable; validationMode: ko.Computed; drawCrossbandContent: ko.Observable; rootStyle: string; toolboxDragHandler: ReportToolboxDragDropHandler; isDirty: ko.Computed; calculatedFieldsSource: ko.Computed; watermarks: ko.Computed; parameters: ko.Computed; reportPreviewModel: PreviewModel; fieldListActionProviders: IActionsProvider[]; wizard: ReportWizard; dataSourceWizard: DataSourceWizard; multiQueryDataSourceWizard: MultiQueryDataSourceWizard; localizationEditor: LocalizationEditor; addOns: ko.ObservableArray; scriptsEditor: ScriptsEditor; state: any; events: ko.Computed; gotoEvent: (functionName: any, eventName: any, model: any) => void; saveReportDialog: SaveAsReportDialog; saveReportDialogLight: SaveReportDialog; connections: IDataSourceWizardConnectionStrings; availableDataSources: IDataSourceInfo[]; openReportDialog: OpenReportDialog; styles: ko.Computed>; formattingRuleSheet: ko.Computed>; reportExplorerProvider: ObjectExplorerProvider; designMode: ko.Observable | ko.Computed; displayNameProvider: ko.Computed; getDisplayNameByPath: (path: string, value: string) => DxPromise; fieldListProvider: ko.Computed; dataBindingsProvider: ko.Computed; fieldListDataSources: ko.ObservableArray; reportItemsProvider: ko.Computed; expressionDisplayNameProvider: ko.Computed; dataSourceHelper: ko.Computed; selectedPath: ko.Observable | ko.Computed; controls: ko.Computed; bands: ko.Computed; isMenuCollapsed: ko.Observable; chartDataSources: ko.Computed>; getControls: (target: any) => ko.Computed>; actionStorage: any; fieldDragHandler: FieldListDragDropHandler; runChartDesigner: (chart: XRChartSurface) => void; zoomStep: ko.Observable | ko.Computed; onViewPortScroll: (viewPort: HTMLElement) => void; updateSurfaceSize: () => void; openReport: (url: string) => void; showPreview: () => void; getTabs: () => INavigateTab[]; closeTab: (tab: INavigateTab, force?: boolean) => void; localizationMode: ko.Observable; errorPanelViewModel: ErrorPanelViewModel; controlScrollingTool: ControlScrollingTool; afterRender?: () => void; activatedExpressionEditor: ko.Observable; aiExpressionGenerator: AIExpressionGenerator; } export interface IDesignerContextOptionsInitOptions { availableDataSources: IDataSourceInfo[]; state?: any; parameterEditingSettings?: IReportDesignerParameterEditingSettings; } export interface IDesignerContextOptions { initializeOptions: IDesignerContextOptionsInitOptions; selection: SurfaceSelection; report?: ReportViewModel; knownEnums?: any; url?: string | ko.Observable | ko.Computed; data?: any; dataSourceRefs?: any; designerCallbacks: IReportDesignerCustomizationHandler; } export interface IReportDesignerContext { report: ReportViewModel; url: ko.Observable | ko.Computed; surface: ReportSurface; dataSourceHelper: DataSourceHelper; parameters: ParametersViewModel; reportErrorProvider: DesignerErrorProvider; runtimeErrorProvider: RuntimeErrorProvider; fieldListDataSourceHelper: FieldListDataSourcesHelper; watermarks: WatermarksViewModel; calcFieldsSource: CalculatedFieldsSource; fieldListItemsExtenders: IItemsExtender[]; fieldListProvider: FieldListProvider; reportItemsProvider: ReportItemsProvider; dataBindingsProvider: FieldListProvider; chartValueBindingProvider: FieldListProvider; displayNameProvider: DisplayNameProvider; expressionDisplayNameProvider: DisplayNameProvider; controlsHelper: DesignControlsHelper; stylesHelper: StylesHelper; state: () => any; } export declare class ReportDesignerContext extends Disposable implements IReportDesignerContext { state: () => any; url: ko.Observable | ko.Computed; report: ReportViewModel; reportErrorProvider: DesignerErrorProvider; runtimeErrorProvider: RuntimeErrorProvider; surface: ReportSurface; dataSourceHelper: DataSourceHelper; watermarks: WatermarksViewModel; parameters: ParametersViewModel; fieldListDataSourceHelper: FieldListDataSourcesHelper; calcFieldsSource: CalculatedFieldsSource; fieldListItemsExtenders: IItemsExtender[]; fieldListProvider: FieldListProvider; reportItemsProvider: ReportItemsProvider; dataBindingsProvider: FieldListProvider; chartValueBindingProvider: FieldListProvider; displayNameProvider: DisplayNameProvider; expressionDisplayNameProvider: DisplayNameProvider; controlsHelper: DesignControlsHelper; stylesHelper: StylesHelper; private _getChartAvailableSources; getInfo(): ISerializationInfoArray; isModelReady(): boolean; dispose(): void; constructor(options: IDesignerContextOptions); }