import { OnInit, OnChanges, OnDestroy, SimpleChanges, Injector, NgZone } from '@angular/core'; import { BindingData, BindingList, ViewModel } from '@farris/devkit'; import { DatagridComponent } from '@farris/ui-datagrid'; import { DateTimeHelperService } from '@farris/ui-common/date'; import { RuntimeStateService } from '@farris/ui-common'; import { DialogService } from '@farris/ui-dialog'; export declare class EditableDirective implements OnInit, OnChanges, OnDestroy { bindingData: BindingData; viewModel: ViewModel; grid: DatagridComponent; private dateService; injector: Injector; private rts; dialogSer: DialogService; ngZone: NgZone; /** * grid是否可以编辑 */ gridEditable: boolean; /** * 编辑时取消分组 */ disableGroupOnEditing: boolean; /** * 多选帮助默认分隔符 */ private defaultSpliter; private beginEditSubscription; private endEditSubscription; /** * 临时记录grid分组字段 */ private groupFields; protected readonly bindingList: BindingList; constructor(bindingData: BindingData, viewModel: ViewModel, grid: DatagridComponent, dateService: DateTimeHelperService, injector: Injector, rts: RuntimeStateService, dialogSer: DialogService, ngZone: NgZone); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; /** * 应用属性 */ private apply; /** * 编辑时取消分组 */ private handleGroupStatus; /** * 处理开始编辑事件 */ private handleBeginEditEvent; private onClearMapping; /** * 处理编辑事件 */ private handleAfterEditEvent; /** * 处理结束编辑事件 */ private handleEndEditEvent; private updateBindingData; private updateBindingList; private detach; private lookupMapping; private getValue; private getBindingPathArray; private isNumberValue; /** * * @param mapFields 格式形如:{id: "assoField.assoField", code: "assoField.assoField_Code", name: "assoField.assoField_Name"} 或者 {id:'vid',code:'code',name:'name'} */ private getMapFieldsPrimaryKey; private setValue; private sortMapFieldKeys; }