| | |
| | | var simpleEntityName = '@{SIMPLEENTITYNAME}'; |
| | | var entityName = '@{ENTITYNAME}'; |
| | | var primaryKeyField = '@{PRIMARYKEYCOLUMN0}'; |
| | | var fieldMeta = [ |
| | | var fieldMeta = dedupeFieldMeta([ |
| | | @{VUEFIELDMETA} |
| | | ]; |
| | | ]); |
| | | |
| | | function formatFieldLabel(field) { |
| | | var raw = field && field.label ? String(field.label).trim() : ''; |
| | | if (raw) { |
| | | return raw; |
| | | } |
| | | raw = field && field.columnName ? field.columnName : (field && field.field ? field.field : ''); |
| | | if (!raw) { |
| | | return ''; |
| | | } |
| | | raw = String(raw) |
| | | .replace(/\$/g, '') |
| | | .replace(/([a-z0-9])([A-Z])/g, '$1_$2') |
| | | .replace(/_/g, ' ') |
| | | .replace(/\s+/g, ' ') |
| | | .trim(); |
| | | return raw.replace(/\b[a-z]/g, function (letter) { |
| | | return letter.toUpperCase(); |
| | | }); |
| | | } |
| | | |
| | | function dedupeFieldMeta(list) { |
| | | var result = []; |
| | | var seen = {}; |
| | | (list || []).forEach(function (field) { |
| | | if (!field || !field.field || seen[field.field]) { |
| | | return; |
| | | } |
| | | field.label = formatFieldLabel(field); |
| | | seen[field.field] = true; |
| | | result.push(field); |
| | | }); |
| | | return result; |
| | | } |
| | | |
| | | function isEmptyValue(value) { |
| | | return value === null || value === undefined || value === ''; |
| | |
| | | } |
| | | return; |
| | | } |
| | | if (field.kind === 'date' && isEmptyValue(value)) { |
| | | return; |
| | | } |
| | | if (field.kind === 'foreign' && isEmptyValue(value)) { |
| | | value = null; |
| | | } |