@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
46 lines (45 loc) • 1.26 kB
TypeScript
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;
};
}