/// import * as ko from 'knockout'; import { DataSourceBrowser } from '../../../../common/_data-source-browser'; import { DashboardItemFormatRule } from '../../../../model'; import { DateTimeGroupInterval } from '../../../../model/enums'; import { CardItemDeltaFormatRule } from '../../../../model/format-rules/card-item-delta-format-rule'; import { CardItemFormatRule } from '../../../../model/format-rules/card-item-format-rule'; import { CellsItemFormatRule } from '../../../../model/format-rules/cells-item-format-rule'; import { ChartItemFormatRule } from '../../../../model/format-rules/chart-item-format-rule'; import { ScatterChartItemFormatRule } from '../../../../model/format-rules/scatter-chart-item-format-rule'; import { DataDashboardItem } from '../../../../model/items/data-dashboard-item'; import { ObjectPropertiesInfo, ObjectPropertiesWrapper } from '../../../form-adapter/_object-properties-wrapper'; import { IComposeTabsArgs, IDetailsPropertiesComposerBase } from '../../../items/properties-composers/_base-properties-composer'; import { AccordionTab } from '../../../properties-controller/_accordion-tab'; import { ConditionTypesFilters } from '../../_condition-type-editor'; export interface KeyText { uniqueName: string | ko.Observable; displayName: string | ko.Observable; } export interface FormatRulePropertiesComposerOptions { conditionTypeFilter?: ConditionTypesFilters; createDataTypeObservable: (model: TRule, dashboardItem: TDashboardItem, dataSourceBrowser: DataSourceBrowser) => ConditionEditorDataType; getCommonFormatRuleProperties: (model: TRule, dashboardItem: TDashboardItem, dataSourceBrowser: DataSourceBrowser, ruleAdded?: JQueryCallback) => ObjectPropertiesInfo; getConditionFormatRuleProperties: (model: TRule, dashboardItem: TDashboardItem, dataSourceBrowser: DataSourceBrowser) => ObjectPropertiesInfo; getMiscFormatRuleProperties: (model: TRule, dashboardItem: TDashboardItem, dataSourceBrowser: DataSourceBrowser) => ObjectPropertiesInfo; getAdditionalTabs?: (model: TRule, dashboardItem: TDashboardItem, dataSourceBrowser: DataSourceBrowser) => AccordionTab[]; } export declare class FormatRulePropertiesComposer implements IDetailsPropertiesComposerBase> { private _options; constructor(_options: FormatRulePropertiesComposerOptions); composeTabs(model: TRule, args: FormatRuleComposeTabsArgs): AccordionTab[]; private _fillCommonFormatRuleCommonWrapper; private _fillConditionWrapper; protected _fillMiscWrapper(tab: AccordionTab, model: TRule, dashboardItem: TDashboardItem, dataSourceBrowser: DataSourceBrowser): void; } export declare function createDeltaDataTypeObservable(model: CardItemDeltaFormatRule, dashboardItem: DataDashboardItem, dataSourceBrowser: DataSourceBrowser): ConditionEditorDataType; export interface ConditionEditorDataType { dataType: ko.Observable; dateTimeGroupInterval: ko.Observable; } export declare function createDataTypeObservable(formatRule: ChartItemFormatRule | ScatterChartItemFormatRule | CellsItemFormatRule | CardItemFormatRule, dashboardItem: DataDashboardItem, dataSourceBrowser: DataSourceBrowser): ConditionEditorDataType; export declare function addConditionEditor(wrapper: ObjectPropertiesWrapper, dataTypeInfo: ConditionEditorDataType, formatRuleModel: DashboardItemFormatRule, dashboardItem: DataDashboardItem, requestRecalculation: JQueryCallback, specificTypeChanged: () => void, conditionTypeFilter?: ConditionTypesFilters): void; export declare function getCommonCellsFormatRuleProperties(formatRule: CellsItemFormatRule, getDataItems: () => KeyText[], getApplyToDataItems: () => KeyText[]): ObjectPropertiesInfo; export interface FormatRuleComposeTabsArgs extends IComposeTabsArgs { dashboardItem: TDashboardItem; dataSourceBrowser: DataSourceBrowser; requestRecalculation: JQueryCallback; specificTypeChanged: () => void; }