import { Behavior } from './behavior'; /** * response example: * {"changedFields": { * "text_1":{"behavior":{"1":{"editable":true}}}, * "text_0":{"behavior":{"1":{"visible":true}}}, * "text_3":{"behavior":{"1":{"editable":true,"optional":true}}}, * "text_2":{"behavior":{"1":{"editable":true,"required":true}}}, * "text_5":{"behavior":{"1":{"forbidden":true}}}, * "text_4":{"behavior":{"1":{"hidden":true}}} * }} * * 1 ==> transition ID * * it might be better if some parent element gave only the relevant changes to each task */ export interface ChangedFields { /** * `StringId` of the `Task` that "owns" the requested frontend actions */ frontendActionsOwner?: string; /** * Has type `Change` unless it is `frontendActionsOwner` in which case the type is `string` */ [key: string]: Change | any; /** * Id of task on which the changes occured */ taskId?: string; } export interface Change { value?: string | number | boolean | any; type?: string; behavior?: { [key: string]: Behavior; }; [key: string]: any; action?: FrontAction[]; } export interface FrontAction { id: string; args: { [k: string]: any; }; }