import { ElementPropertyConfig } from '@farris/ide-property-panel'; import { Injector } from '@angular/core'; import { TreeNode } from '@farris/ui-treetable'; import { EventEditorService, DomService, FormBasicService, StateMachineService, WebCmdService, DataStatesService } from '@farris/designer-services'; import { MessagerService } from '@farris/ui-messager'; import { ToolBarItemType } from '../schema/schema'; import { LocaleService } from '@farris/ui-locale'; /** * 单个按钮属性配置 */ export declare class ToolBarItemProp { private injector; needOpenHelpMap: Map; private controlService; domService: DomService; private idService; private notifyService; formBasicService: FormBasicService; eventEditorService: EventEditorService; webCmdService: WebCmdService; dataStatesService: DataStatesService; viewModelId: string; stateMachineService: StateMachineService; msgService: MessagerService; /** 在弹窗中使用按钮配置时,交互面板若要跳转到代码视图,需要先关闭弹窗 */ triggerModalSave?: any; /** 是否展示【可见是否受规则控制】、【禁用是否受规则控制】两个属性 */ showProcessRulesProperty: boolean; /** 是否为响应式工具栏,响应式工具栏的禁用可见属性支持变量、表达式、数据状态;非基础的响应式工具栏不支持这三种配置。 */ isResponseToolbar: boolean; localeService: LocaleService; constructor(injector: Injector, viewModelId: string, showProcessRulesProperty?: boolean); /** * toolbarItem 属性配置 * @param propertyData 按钮属性 * @param disableChildItem 是否禁用子级按钮 * @param isFirstLevel 是否为一级按钮 */ getPropertyConfig(propertyData: any, disableChildItem?: boolean, isFirstLevel?: boolean, parentToolbarItem?: ToolBarItemType): any[]; /** * toolbarItem 属性配置,用于按钮编辑器中点击树的某一行 * @param viewModelId 按钮所在视图模型ID * @param disableChildItem 是否禁用子级按钮 * @param selectedNode 当前选中行数据 */ getPropertyConfigInTree(viewModelId: string, disableChildItem: boolean, selectedNode: TreeNode, triggerModalSave?: any): ElementPropertyConfig[]; protected getBasicPropConfig(): ElementPropertyConfig; private getAppearanceItemPropConfig; getBehaviorItemPropConfig(propertyData: any, viewModelId: string, openModalPropConfigs: ElementPropertyConfig[], parentToolbarItem: ToolBarItemType): ElementPropertyConfig; /** * 属性值从表达式切换为其他类型:需要清空DOM中的表达式配置 */ clearExpression(newValueType: string, propertyData: any, propertyID: string): void; getEventPropertyConfig(propertyData: any, viewModelId: string): ElementPropertyConfig; private getOpenModalPropConfigs; /** * 按钮使用模式切换为弹出帮助 */ handleOpenHelpMode(propertyData: any, parentNodeId: string, viewModelId: string): void; private addOpenHiddenHelpCommand; /** * 使用模式切换为弹出帮助的按钮,需要创建隐藏区域 * @param parentNodeId 按钮的父级容器id * @param viewModelId 视图模型id */ beforeToolbarSaved(parentNodeId: string, viewModelId: string): void; }