feat. Make raw json data available in templates
This commit is contained in:
parent
613a6fb1f0
commit
b1eaa6eaa1
1 changed files with 6 additions and 0 deletions
|
@ -97,6 +97,7 @@ fieldTypes.json = {
|
|||
cardinality: Cardinality.SINGLE,
|
||||
getHbsType: field => 'typeJson',
|
||||
forHbs: (field, value) => value,
|
||||
jsonData: (field, value) => JSON.parse(value),
|
||||
parsePostValue: (field, value) => value,
|
||||
render: (field, value) => {
|
||||
try {
|
||||
|
@ -137,6 +138,7 @@ fieldTypes['checkbox-grouped'] = {
|
|||
enumerated: false,
|
||||
cardinality: Cardinality.MULTIPLE,
|
||||
getHbsType: field => 'typeCheckboxGrouped',
|
||||
jsonData: (field, value) => (value || []).map(col => field.groupedOptions[col].name),
|
||||
render: (field, value) => {
|
||||
const subItems = (value || []).map(col => field.groupedOptions[col].name);
|
||||
|
||||
|
@ -227,6 +229,7 @@ fieldTypes.option = {
|
|||
return !(['false', 'no', '0', ''].indexOf((value || '').toString().trim().toLowerCase()) >= 0)
|
||||
},
|
||||
getHbsType: field => 'typeOption',
|
||||
jsonData: (field, value) => value ? true : false,
|
||||
forHbs: (field, value) => value ? 1 : 0,
|
||||
render: (field, value) => value ? field.settings.checkedLabel : field.settings.uncheckedLabel
|
||||
|
||||
|
@ -737,6 +740,9 @@ function getMergeTags(fieldsGrouped, subscription, extraTags = {}) { // assumes
|
|||
const fldCol = getFieldColumn(fld);
|
||||
|
||||
mergeTags[fld.key] = type.render(fld, subscription[fldCol]);
|
||||
if (type.jsonData) {
|
||||
mergeTags[fld.key + "_RAW"] = type.jsonData(fld, subscription[fldCol]);
|
||||
}
|
||||
}
|
||||
|
||||
return mergeTags;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue