56 lines
No EOL
1.8 KiB
TypeScript
56 lines
No EOL
1.8 KiB
TypeScript
import {AndOrTagConfigJson} from "./TagConfigJson";
|
|
|
|
export interface TagRenderingConfigJson {
|
|
/**
|
|
* Renders this value. Note that "{key}"-parts are substituted by the corresponding values of the element.
|
|
* If neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.
|
|
*/
|
|
render?: string | any,
|
|
|
|
/**
|
|
* If it turns out that this tagRendering doesn't match _any_ value, then we show this question.
|
|
* If undefined, the question is never asked and this tagrendering is read-only
|
|
*/
|
|
question?: string | any,
|
|
|
|
/**
|
|
* Only show this question if the object also matches the following tags.
|
|
*
|
|
* This is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...
|
|
* */
|
|
condition?: AndOrTagConfigJson | string;
|
|
|
|
/**
|
|
* Allow freeform text input from the user
|
|
*/
|
|
freeform?: {
|
|
/**
|
|
* If this key is present, then 'render' is used to display the value.
|
|
* If this is undefined, the rendering is _always_ shown
|
|
*/
|
|
key: string,
|
|
/**
|
|
* The type of the text-field, e.g. 'string', 'nat', 'float', 'date',...
|
|
*/
|
|
type?: string,
|
|
/**
|
|
* If a value is added with the textfield, these extra tag is addded.
|
|
* Usefull to add a 'fixme=freeform textfield used - to be checked'
|
|
**/
|
|
addExtraTags?: string[];
|
|
},
|
|
|
|
/**
|
|
* If true, use checkboxes instead of radio buttons when asking the question
|
|
*/
|
|
multiAnswer?: boolean,
|
|
|
|
/**
|
|
* Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes
|
|
*/
|
|
mappings?: {
|
|
if: AndOrTagConfigJson | string,
|
|
then: string | any
|
|
hideInAnswer?: boolean
|
|
}[]
|
|
} |