import { HttpClient } from '@angular/common/http'; import { ChangeDetectorRef, EventEmitter, OnInit } from '@angular/core'; import { FormControl } from '@angular/forms'; import { DatasetRepo, XcHelpResultPath, XcHelpResult } from '@gspwidget/util'; import { WidgetPropertyService } from '@gspwidget/widget-core'; import { PropertyOption, PropertyTypes } from '@gspwidget/widget-devkit'; import { TranslateService } from '@ngx-translate/core'; import { NzModalService } from 'ng-zorro-antd/modal'; import { HelpService } from '../../help/help.service'; import { XcHelpService } from '@gspwidget/util'; import { CEContext, PropertyChangeEvent, PropsAndValues } from '../../types'; export declare class CeItemComponent implements OnInit { private http; private cd; private help; widgetProperty: WidgetPropertyService; private modal; private translate; private datasetRepo; private help2; context: CEContext; /** * 是否显示 label * 主要用于数组,不需要给数组项显示 label。 */ showLabel: boolean; /** 无下边距。用于数组项里的 ce-item,无下边距。 */ mb0: boolean; propAndValue: { prop: PropertyOption; value: any; }; /** 值变化事件 */ onChangeValue: EventEmitter<{}>; /** 当前 item 属性详情 */ prop: PropertyOption; /** 当前 item 的 value,用于渲染当前值 */ value: any; /** input, select */ formControl: FormControl; /** checkbox 需要 id 区分 */ id: string; /** Object */ objPropsAndValues: PropsAndValues; /** SelectHelp */ selectHelpData: any[]; /** Data Field */ /** color */ colors: string[]; /** dataField */ readonly PropertyTypes: typeof PropertyTypes; /** Select Help 的数据加载完成 */ handleLoadedSelectHelpData: (res: any) => void; handleChangeValue: (newValue: any) => void; constructor(http: HttpClient, cd: ChangeDetectorRef, help: HelpService, widgetProperty: WidgetPropertyService, modal: NzModalService, translate: TranslateService, datasetRepo: DatasetRepo, help2: XcHelpService); ngOnInit(): void; handleChangeObjectValue(e: PropertyChangeEvent): void; oldPlainString: string; /** * 点击 auto 会调用,输入框 blur 也会调用,所以注意尽量不重复发出同一个值。 * data field 情况下,value 既可能是 name,也可能是 label,需要去 cols 中匹配出 dataField */ handleChangeDataFieldValue(plainString: string): void; handleSelectCol(colName: string): void; /** * 更新 dataField:先根据需要更新 this.col 或 this.numFormatSchema, * 再调此方法 */ changeCol(): void; getColShowLabel(name: string, i18nLabel: any | string): any; private findColInAggByName; /** 打开数据字段配置窗口 */ handleClickDataFieldSetting(): void; handleClickOpenHelp(): void; handleHelp2ValueChange(rawXcHelpResult: XcHelpResult): void; setHelp2ValueObject(resultValue: string | string[], resultLabel: string | string[], xcHelpPath?: XcHelpResultPath): void; /** * 若非多选,则指定 label 为下方字符串 * 若是多选,则不传入 label,用 help2 组件内置的 label * @returns */ getHelp2Label(): any; handleClickOpenFilter(): void; handleBlurScss(): void; editorWin: Window; /** * windowName 必须有,否则无法同时开启多个窗口,比如需要同时开着 css 和 html 编辑器的时候 * @param lang */ handleOpenEditor(lang: string): void; ngOnDestroy(): void; /********* img upload *********/ imgInputType: string; beforeUpload: (file: File) => boolean; }