|
Lines 115-163
export default {
Link Here
|
| 115 |
searchable_field => { |
115 |
searchable_field => { |
| 116 |
var _customRender = (function (searchable_field) { |
116 |
var _customRender = (function (searchable_field) { |
| 117 |
var _render = function (data, type, row, meta) { |
117 |
var _render = function (data, type, row, meta) { |
| 118 |
const fieldValues = |
118 |
return row._strings.additional_field_values |
| 119 |
row._strings.additional_field_values |
119 |
.filter( |
| 120 |
.filter( |
120 |
field => |
| 121 |
field => |
121 |
field.field_id == |
| 122 |
field.field_id == |
122 |
searchable_field.extended_attribute_type_id |
| 123 |
searchable_field.extended_attribute_type_id |
123 |
) |
| 124 |
) |
124 |
.map(el => el.value_str); |
| 125 |
.map(el => el.value_str); |
|
|
| 126 |
|
| 127 |
if (fieldValues.length === 0) { |
| 128 |
return ""; |
| 129 |
} |
| 130 |
|
| 131 |
const valueStr = fieldValues[0]; |
| 132 |
|
| 133 |
// Check if there are multiple comma-separated values |
| 134 |
if (valueStr && valueStr.includes(",")) { |
| 135 |
const values = valueStr |
| 136 |
.split(",") |
| 137 |
.map(v => v.trim()) |
| 138 |
.filter(v => v); |
| 139 |
if (values.length > 1) { |
| 140 |
// For export, return newline-separated values |
| 141 |
// CSV/Excel export will properly quote cells containing newlines |
| 142 |
if (type === "export") { |
| 143 |
return values.join("\n"); |
| 144 |
} |
| 145 |
// For display, return as unordered list |
| 146 |
return ( |
| 147 |
'<ul class="additional-field-list">' + |
| 148 |
values |
| 149 |
.map( |
| 150 |
v => |
| 151 |
"<li>" + v + "</li>" |
| 152 |
) |
| 153 |
.join("") + |
| 154 |
"</ul>" |
| 155 |
); |
| 156 |
} |
| 157 |
} |
| 158 |
|
| 159 |
// Single value, return as-is |
| 160 |
return valueStr; |
| 161 |
}; |
125 |
}; |
| 162 |
return _render; |
126 |
return _render; |
| 163 |
})(searchable_field); |
127 |
})(searchable_field); |
|
Lines 377-393
export default {
Link Here
|
| 377 |
}, |
341 |
}, |
| 378 |
}; |
342 |
}; |
| 379 |
</script> |
343 |
</script> |
| 380 |
|
|
|
| 381 |
<style> |
| 382 |
/* Additional fields list styling in datatable */ |
| 383 |
.additional-field-list { |
| 384 |
margin: 0; |
| 385 |
padding-left: 1.2em; |
| 386 |
list-style-type: disc; |
| 387 |
} |
| 388 |
|
| 389 |
.additional-field-list li { |
| 390 |
padding: 0.1rem 0; |
| 391 |
line-height: 1.4; |
| 392 |
} |
| 393 |
</style> |
| 394 |
- |