%{ if(_type) { currentType = _type } else { currentType = _caller.type } if(_fields){ currentFields = _fields } else { currentFields = _caller.fields } // Eval fields tags def fieldsHandler = [:] if(_body) { _body.setProperty('fieldsHandler', fieldsHandler); }% #{doBody as:'skip' /} %{ } }%
%{ if(!_sort || _sort.contains(it)) { }% &{it} %{ } else { }% &{it} %{ } }% | %{ } }% %{ } else { }%&{_caller.type.name} | %{ } }%
---|---|
%{ fieldValue = object[field]; if(fieldsHandler[field]) { }% %{ def handler = fieldsHandler[field]; handler.setProperty('object', object); }% #{doBody body:handler /} %{ handler.setProperty('object', null); }% %{ } else { }% %{ if(i == 0) { }% ${fieldValue?.toString()?.escape()?.raw() ?: '(no value)'} %{ } else { }% %{ if(_caller.type.getField(field).type == 'file') { }% %{ if(fieldValue) { }% ${fieldValue.filename} (${object[field].get().size().formatSize()}) %{ } else { }% %{ } }% %{ } else { }% ${fieldValue?.escape()?.raw()} %{ } }% %{ } }% %{ } }% | %{ } }% %{ } else { }% %{ if(fieldsHandler['default']) { }% %{ def handler = fieldsHandler['default']; handler.setProperty('object', object); }% #{doBody body:handler /} %{ } else { }%${object.toString()?.escape()?.raw() ?: '(no value)'} | %{ } }% %{ } }%