View | Details | Raw Unified | Return to bug 41151
Collapse All | Expand All

(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/KohaTable.vue (-8 / +52 lines)
Lines 115-127 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
                                    return row._strings.additional_field_values
118
                                    const fieldValues =
119
                                        .filter(
119
                                        row._strings.additional_field_values
120
                                            field =>
120
                                            .filter(
121
                                                field.field_id ==
121
                                                field =>
122
                                                searchable_field.extended_attribute_type_id
122
                                                    field.field_id ==
123
                                        )
123
                                                    searchable_field.extended_attribute_type_id
124
                                        .map(el => el.value_str);
124
                                            )
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
                                            // Return as unordered list
141
                                            return (
142
                                                '<ul class="additional-field-list">' +
143
                                                values
144
                                                    .map(
145
                                                        v =>
146
                                                            "<li>" + v + "</li>"
147
                                                    )
148
                                                    .join("") +
149
                                                "</ul>"
150
                                            );
151
                                        }
152
                                    }
153
154
                                    // Single value, return as-is
155
                                    return valueStr;
125
                                };
156
                                };
126
                                return _render;
157
                                return _render;
127
                            })(searchable_field);
158
                            })(searchable_field);
Lines 341-343 export default { Link Here
341
    },
372
    },
342
};
373
};
343
</script>
374
</script>
344
- 
375
376
<style>
377
/* Additional fields list styling in datatable */
378
.additional-field-list {
379
    margin: 0;
380
    padding-left: 1.2em;
381
    list-style-type: disc;
382
}
383
384
.additional-field-list li {
385
    padding: 0.1rem 0;
386
    line-height: 1.4;
387
}
388
</style>

Return to bug 41151