devexpress-reporting
Version:
DevExpress Reporting provides the capability to develop a reporting application to create and customize reports.
159 lines (158 loc) • 7.76 kB
TypeScript
/**
* DevExpress HTML/JS Reporting (designer\tools\generator\reportDesignerContext.d.ts)
* Version: 20.2.13
* Build date: Apr 10, 2023
* Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
* License: https://www.devexpress.com/Support/EULAs/universal.xml
*/
import { WizardRunner } from '../../internal/_wizardRunner';
import { ReportViewModel, ReportSurface } from '../../controls/xrReport';
import { NavigateByReports } from '../navigation/navigateByReports';
import { IKeyValuePair } from '../../../common/types';
import { ReportToolboxDragDropHandler } from '../../internal/dragdrop/_reportToolboxDragDropHandler';
import { CalculatedFieldsSource } from '../../internal/fieldlist/_calculatedFieldsSource';
import { ParametersViewModel } from '../../internal/fieldlist/_parametersViewModel';
import { ReportWizard } from '../../wizard/reportWizard';
import { LocalizationEditor } from '../../localization/_localizationEditor';
import { ScriptsEditor } from '../../internal/scripting/_scriptsEditor';
import { SaveAsReportDialog } from '../dialogs/saveAsReportDialog';
import { SaveReportDialog } from '../dialogs/saveReportDialog';
import { OpenReportDialog } from '../dialogs/openReportDialog';
import { StyleModel } from '../../controls/properties/style';
import { FormattingRule } from '../../controls/properties/formattingrules';
import { DisplayNameProvider } from '../../internal/_displayNameProvider';
import { ReportItemsProvider } from '../../internal/reportExplorer/_reportItemsProvider';
import { DataSourceHelper } from '../../helpers/_dataSourceHelper';
import { FieldListDragDropHandler } from '../../internal/dragdrop/_fieldListDragDropHandler';
import { XRChartSurface } from '../../controls/xrChart';
import { INavigateTab } from '../navigation/navigateTab';
import { IReportDesignerCustomizationHandler } from '../../utils/inititalizer';
import { FieldListDataSourcesHelper } from '../../internal/fieldlist/_fieldListDataSourcesHelper';
import { DesignControlsHelper } from '../../helpers/_designControlsHelper';
import { Disposable } from '@devexpress/analytics-core/analytics-utils';
import * as ko from 'knockout';
import { SurfaceSelection, IDataSourceInfo, FieldListProvider, IActionsProvider, IDesignerModel, IItemsExtender, IDesignerPart, ObjectExplorerProvider, INamedValue } from '@devexpress/analytics-core/analytics-internal';
import { DataSourceWizard, MultiQueryDataSourceWizard, IDataSourceWizardConnectionStrings } from '@devexpress/analytics-core/analytics-wizard';
export interface IReportDesignerRootContext extends IDesignerModel {
fullScreen: ko.Computed<boolean>;
canAddItems: ko.Computed<boolean>;
_wizardRunner: WizardRunner;
model: ko.Observable<ReportViewModel>;
surface: ko.Observable<ReportSurface>;
navigateByReports: NavigateByReports;
reportUrls: ko.ObservableArray<IKeyValuePair<string>>;
fieldListItemsExtenders: ko.Observable<IItemsExtender[]>;
validationMode: ko.Computed<boolean>;
drawCrossbandContent: ko.Observable<boolean>;
rootStyle: string;
toolboxDragHandler: ReportToolboxDragDropHandler;
isDirty: ko.Computed<boolean>;
calculatedFieldsSource: ko.Computed<CalculatedFieldsSource>;
parameters: ko.Computed<ParametersViewModel>;
reportPreviewModel: any;
fieldListActionProviders: IActionsProvider[];
wizard: ReportWizard;
dataSourceWizard: DataSourceWizard;
multiQueryDataSourceWizard: MultiQueryDataSourceWizard;
localizationEditor: LocalizationEditor;
addOns: ko.ObservableArray<IDesignerPart>;
scriptsEditor: ScriptsEditor;
state: any;
events: ko.Computed<any[]>;
gotoEvent: (functionName: any, eventName: any, model: any) => void;
saveReportDialog: SaveAsReportDialog;
saveReportDialogLight: SaveReportDialog;
connections: IDataSourceWizardConnectionStrings;
availableDataSources: IDataSourceInfo[];
openReportDialog: OpenReportDialog;
styles: ko.Computed<ko.ObservableArray<StyleModel>>;
formattingRuleSheet: ko.Computed<ko.ObservableArray<FormattingRule>>;
reportExplorerProvider: ObjectExplorerProvider;
designMode: ko.Observable<boolean> | ko.Computed<boolean>;
displayNameProvider: ko.Computed<DisplayNameProvider>;
getDisplayNameByPath: (path: string, value: string) => JQueryPromise<string>;
fieldListProvider: ko.Computed<FieldListProvider>;
dataBindingsProvider: ko.Computed<FieldListProvider>;
fieldListDataSources: ko.ObservableArray<IDataSourceInfo>;
reportItemsProvider: ko.Computed<ReportItemsProvider>;
expressionDisplayNameProvider: ko.Computed<DisplayNameProvider>;
dataSourceHelper: ko.Computed<DataSourceHelper>;
selectedPath: ko.Observable<string> | ko.Computed<string>;
controls: ko.Computed<INamedValue[]>;
bands: ko.Computed<INamedValue[]>;
isMenuCollapsed: ko.Observable<boolean>;
chartDataSources: ko.Computed<Array<{
displayName: string;
value: any;
}>>;
getControls: (target: any) => ko.Computed<ko.Computed<INamedValue[]>>;
actionStorage: any;
fieldDragHandler: FieldListDragDropHandler;
runChartDesigner: (chart: XRChartSurface) => void;
zoomStep: ko.Observable<number> | ko.Computed<number>;
onViewPortScroll: (viewPort: HTMLElement) => void;
updateSurfaceSize: () => void;
openReport: (url: string) => void;
showPreview: () => void;
getTabs: () => INavigateTab[];
closeTab: (tab: INavigateTab, force?: boolean) => void;
localizationMode: ko.Observable<boolean>;
}
export interface IDesignerContextOptionsInitOptions {
availableDataSources: IDataSourceInfo[];
state?: any;
}
export interface IDesignerContextOptions {
initializeOptions: IDesignerContextOptionsInitOptions;
selection: SurfaceSelection;
report?: ReportViewModel;
knownEnums?: any;
url?: string | ko.Observable<string> | ko.Computed<string>;
data?: any;
dataSourceRefs?: any;
designerCallbacks: IReportDesignerCustomizationHandler;
}
export interface IReportDesignerContext {
report: ReportViewModel;
url: ko.Observable<string> | ko.Computed<string>;
surface: ReportSurface;
dataSourceHelper: DataSourceHelper;
parameters: ParametersViewModel;
fieldListDataSourceHelper: FieldListDataSourcesHelper;
calcFieldsSource: CalculatedFieldsSource;
fieldListItemsExtenders: IItemsExtender[];
fieldListProvider: FieldListProvider;
reportItemsProvider: ReportItemsProvider;
dataBindingsProvider: FieldListProvider;
chartValueBindingProvider: FieldListProvider;
displayNameProvider: DisplayNameProvider;
expressionDisplayNameProvider: DisplayNameProvider;
controlsHelper: DesignControlsHelper;
state: () => any;
}
export declare class ReportDesignerContext extends Disposable implements IReportDesignerContext {
state: () => any;
url: ko.Observable<string> | ko.Computed<string>;
report: ReportViewModel;
surface: ReportSurface;
dataSourceHelper: DataSourceHelper;
parameters: ParametersViewModel;
fieldListDataSourceHelper: FieldListDataSourcesHelper;
calcFieldsSource: CalculatedFieldsSource;
fieldListItemsExtenders: IItemsExtender[];
fieldListProvider: FieldListProvider;
reportItemsProvider: ReportItemsProvider;
dataBindingsProvider: FieldListProvider;
chartValueBindingProvider: FieldListProvider;
displayNameProvider: DisplayNameProvider;
expressionDisplayNameProvider: DisplayNameProvider;
controlsHelper: DesignControlsHelper;
private _getChartAvailableSources;
getInfo(): {
propertyName: string;
modelName: string;
}[];
isModelReady(): boolean;
dispose(): void;
constructor(options: IDesignerContextOptions);
}