import { ElementRef, EventEmitter, OnChanges, OnInit, SimpleChanges, TemplateRef } from '@angular/core'; import { Dimension, DpValue, EppConfig, Indicator, RuntimeAggOption } from '@gspwidget/util'; import { ClickEventConfig, DatalessJumpConfig, FilterConfig, JumpTypes, WidgetBase, WidgetDevkitService } from '@gspwidget/widget-devkit'; import { TranslateService } from '@ngx-translate/core'; export interface TitleBarExtendBtn { contentType?: 'text' | 'materialIcons'; content?: string; icon?: string; iconSize?: number; clickEvent?: ClickEventConfig; operationId?: string; } export declare class TitleBarComponent implements OnInit, OnChanges { devkitSvc: WidgetDevkitService; translate: TranslateService; /** TODO: 是不是这个就能代替后面其他从 instance 上取来值的属性了?干掉? */ widgetInstance: WidgetBase; icon: string; /** 标题 */ showTitle: boolean; title: string; /** 数字 */ showNumber: boolean; number: number; /** 设置按钮 */ showSetting: boolean; settingTitle: string; clickSetting: EventEmitter; /** 刷新按钮 */ showRefresh: boolean; clickRefresh: EventEmitter; showfullscreen: boolean; clickPreview: EventEmitter; /** 是否启用跳转,开启后元部件配置中可配置全局联查 */ jumpConfig: DatalessJumpConfig; /** @deprecated 应改用 enableJump。全局联查配置 */ jumpProperty: any; /** @deprecated 应改用 enableJump。为了跳转时能取到数据的第一行,用来拼接跳转路由参数。 */ data: any[]; /** 筛选 */ filterConfigs: FilterConfig[]; /** 维度,用于运行时聚合 */ dims: Dimension[]; /** 是否显示运行时聚合 */ showRuntimeAgg: boolean; /** 扩展跳转按钮,外部自定义其内容、跳转、权限控制 */ extendBtns: TitleBarExtendBtn[]; filterChange: EventEmitter; runtimeAggChange: EventEmitter; init: EventEmitter; exportExcel: EventEmitter; /** 传入模板 */ leftTemplate: TemplateRef; rightTemplate: TemplateRef; JumpTypes: typeof JumpTypes; /** 非 flat 的 fcs */ outerFC: FilterConfig; outerFCs: FilterConfig[]; innerFCs: FilterConfig[]; /** 被选中的、显示在外面的 fc */ /** flat 的 fc */ flatFCs: FilterConfig[]; /** 运行时聚合 */ editingRuntimeAgg: RuntimeAggOption; confirmedRuntimeAgg: RuntimeAggOption; runtimeAggDropdownOpen: boolean; readonly eppConfig: EppConfig; constructor(devkitSvc: WidgetDevkitService, translate: TranslateService); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; /** 用于外部手动设置 runtime agg。因为每次都需要 deep clone,所以封装为手动调用的函数,而非模板绑定,以减少次数。 */ setRuntimeAgg(runtimeAgg: RuntimeAggOption): void; handleClickExtendBtn(btn: TitleBarExtendBtn): void; handleClickJump(): void; /** 把 filter 发来的结果值,加上 dpId 一起包装为 dpValues 发出去 */ handleFilterSingleChange(value: any, fc: FilterConfig): void; handleFilterMultiChange(values: any[], fc: FilterConfig): void; /** 聚合 */ handleAddInd(): void; handleRemoveInd(ind: Indicator): void; handleConfirmAgg(): void; }