import type { DisplayFormOutputs } from "./DisplayForm"; import type { IActivityHandler, EmptyOutputs } from "../../IActivityHandler"; import type * as defs from "../../forms/FormDefinition"; export interface SetFormElementPropertyInputs { form: DisplayFormOutputs; /** The ID of the form element to modify. */ elementName?: string | defs.Element; propertyName: "accessibleDescription" | "autoActivate" | "checked" | "collapsed" | "current" | "delay" | "dependsOn" | "description" | "enabled" | "error" | "fileTypes" | "format" | "itemLabel" | "items" | "label" | "manualEntry" | "maxLength" | "minLength" | "orientation" | "persistValueOnRefresh" | "prompt" | "readOnly" | "require" | "rowIndex" | "rowNumber" | "selectionMode" | "showFilter" | "showMinMaxLabels" | "showTickMarks" | "size" | "source" | "styleName" | "title" | "titleLocation" | "tooltip" | "type" | "validates" | "value" | "visible" | "wrap" | string; propertyValue: any; markdown?: boolean; } export declare class SetFormElementProperty implements IActivityHandler { static readonly action = "gcx:wf:forms::SetFormElementProperty"; static readonly suite = "gcx:wf:builtin"; execute(inputs: SetFormElementPropertyInputs): EmptyOutputs; /** * This list is based on the data type of the property rather than how the content is rendered. * In order to support markdown, a property needs to support the `MarkdownRef` data type, * which is included in `Text`, defined in `FormDefinition`. If a Form Element subsequently * passed this to `renderText()`, it would still handle the markdown appropriately. Styling would be stripped out * and you would be left with readable text. For example "**hello** there" would become "hello there". * * On the other hand, properties that expect a `string` must not ever be set to a `MarkdownRef` * as the element is not expected to perform any conversion on them. * @param propertyName The name of the property to check * @returns True if this property could accept markdown, false otherwise. */ private propertyAllowsMarkdown; }