[Bug 41151] New: Vue Additional Fields UX Improvements
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Bug ID: 41151 Summary: Vue Additional Fields UX Improvements Initiative type: --- Sponsorship --- status: Product: Koha Version: Main Hardware: All OS: All Status: NEW Severity: enhancement Priority: P5 - low Component: Staff interface Assignee: koha-bugs@lists.koha-community.org Reporter: martin.renvoize@openfifth.co.uk QA Contact: testopia@bugs.koha-community.org CC: gmcharlt@gmail.com The additional fields input UI's could do with some improvements as noted in bug 38262. To summarise: 1) Spacing between 'Clear' and 'New' buttons on input fields needs work 2) When viewing repeatable, searchable fields in display tables we use a comma separated list instead of field per line. 3) When viewing fields in details display the alignment of the addiional field labels and container is inconsistent I'd go further on point one and ask why we need 'Clear' as a distinct element as it's inconsistent with the 'normal' field entry input boxes. I think I'd prefer to try and make additional fields as consistent as possible with normal input fields, perhaps embedding a 'x' clear check within the far right of input fields to give that 'Clear' functionality accross both additional field and normal field inputs. -- You are receiving this mail because: You are the assignee for the bug. You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |david@davidnind.com, | |matt.blenkinsop@openfifth.c | |o.uk, oleonard@myacpl.org, | |pedro.amorim@openfifth.co.u | |k -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |38262 Referenced Bugs: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=38262 [Bug 38262] Add additional fields to Vendors -- You are receiving this mail because: You are watching all bug changes. You are the assignee for the bug.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|enhancement |minor -- You are receiving this mail because: You are watching all bug changes. You are the assignee for the bug.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #1 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 188814 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=188814&action=edit Bug 41151: Modernize clear button UX in additional fields This patch improves the UX of the clear functionality for additional fields by: - Replacing the separate "Clear" button with an inline clear icon (×) that appears inside the input field when there is content - Adding proper spacing between the input field and "New" button using flexbox layout - Styling the "New" button with Bootstrap button classes for consistency - Making the clear button only visible when the field has content This provides a more modern, intuitive interface pattern similar to standard search inputs and maintains better visual consistency with other form elements in Koha. -- You are receiving this mail because: You are the assignee for the bug. You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #2 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 188815 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=188815&action=edit Bug 41151: Improve additional fields display alignment and formatting This patch improves the display of additional fields by: - Removing the nested fieldset wrapper that caused alignment issues - Converting the legend to a header list item for consistency - Aligning additional field labels with main form field labels - Displaying multi-value fields (comma-separated) on separate lines without bullets or extra indentation, aligned with single values - Using the same visual separator pattern as the entry form This creates perfect alignment between additional fields and regular fields in the display view, with multi-value fields showing cleanly stacked values in the same column as single values. -- You are receiving this mail because: You are watching all bug changes. You are the assignee for the bug.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #3 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 188816 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=188816&action=edit Bug 41151: Display multi-value additional fields as lists in datatables This patch improves the display of searchable repeatable additional fields in datatable columns by: - Detecting comma-separated values in the value_str field - Rendering multiple values as an HTML unordered list instead of comma-separated text - Adding appropriate CSS styling for list display within table cells - Maintaining single-value display for non-repeatable fields This makes multi-value additional fields much more readable in list views, with each value appearing on its own line within the table cell. For example, "Bang, History" now displays as: • Bang • History This completes the UX improvements for additional fields across all three contexts: entry forms, detail views, and list datatables. -- You are receiving this mail because: You are watching all bug changes. You are the assignee for the bug.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |Needs Signoff Assignee|koha-bugs@lists.koha-commun |martin.renvoize@openfifth.c |ity.org |o.uk -- You are receiving this mail because: You are the assignee for the bug. You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Patch complexity|--- |Small patch -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |michaela.sieber@kit.edu -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #4 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 188817 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=188817&action=edit Updated input view -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #188817|Updated input view |Updated table display description| | -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #5 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 188818 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=188818&action=edit Updated input view -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #6 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 188819 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=188819&action=edit Updated display view -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 David Nind <david@davidnind.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Needs Signoff |Signed Off -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 David Nind <david@davidnind.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #188814|0 |1 is obsolete| | --- Comment #7 from David Nind <david@davidnind.com> --- Created attachment 188820 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=188820&action=edit Bug 41151: Modernize clear button UX in additional fields This patch improves the UX of the clear functionality for additional fields by: - Replacing the separate "Clear" button with an inline clear icon (×) that appears inside the input field when there is content - Adding proper spacing between the input field and "New" button using flexbox layout - Styling the "New" button with Bootstrap button classes for consistency - Making the clear button only visible when the field has content This provides a more modern, intuitive interface pattern similar to standard search inputs and maintains better visual consistency with other form elements in Koha. Signed-off-by: David Nind <david@davidnind.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 David Nind <david@davidnind.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #188815|0 |1 is obsolete| | --- Comment #8 from David Nind <david@davidnind.com> --- Created attachment 188821 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=188821&action=edit Bug 41151: Improve additional fields display alignment and formatting This patch improves the display of additional fields by: - Removing the nested fieldset wrapper that caused alignment issues - Converting the legend to a header list item for consistency - Aligning additional field labels with main form field labels - Displaying multi-value fields (comma-separated) on separate lines without bullets or extra indentation, aligned with single values - Using the same visual separator pattern as the entry form This creates perfect alignment between additional fields and regular fields in the display view, with multi-value fields showing cleanly stacked values in the same column as single values. Signed-off-by: David Nind <david@davidnind.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 David Nind <david@davidnind.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #188816|0 |1 is obsolete| | --- Comment #9 from David Nind <david@davidnind.com> --- Created attachment 188822 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=188822&action=edit Bug 41151: Display multi-value additional fields as lists in datatables This patch improves the display of searchable repeatable additional fields in datatable columns by: - Detecting comma-separated values in the value_str field - Rendering multiple values as an HTML unordered list instead of comma-separated text - Adding appropriate CSS styling for list display within table cells - Maintaining single-value display for non-repeatable fields This makes multi-value additional fields much more readable in list views, with each value appearing on its own line within the table cell. For example, "Bang, History" now displays as: • Bang • History This completes the UX improvements for additional fields across all three contexts: entry forms, detail views, and list datatables. Signed-off-by: David Nind <david@davidnind.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #10 from David Nind <david@davidnind.com> --- Fantastic work Martin! These changes make adding, editing, and viewing the additional fields for Vue enabled modules much more consistent and usable. Testing notes (using KTD): 1. Apply patches (and dependencies) 2. Rebuild the JavaScript (yarn js:build or yarn build(?)) 3. Restart everything: restart_all 4. Define some additional fields for vendors (Administration > Additional parameters > Additional fields > Acquisitions > E-resource management > Vendors (aqbooksellers:vendor)). Create a combination of additional fields: . Single field . Repeatable field . Field using authorized values (YES_NO) . Repeatable field using authorized values (YES_NO) . Searchable . Repeatable and searchable 5. Define some additional fields for ERM agreements (Administration > Additional parameters > Additional fields > Acquisitions > Vendors > Agreements (erm_agreements)) . Single field . Repeatable field . Field using authorized values (YES_NO) . Repeatable field using authorized values (YES_NO) . Searchable . Repeatable and searchable 6. Test additional fields for the ERM module: . Enable the ERM module (ERMModule system preference) . Create an agreement and add some additional fields . View the agreement with the additional fields . View the list of agreements 7. Test additional fields for vendors: . Create a new vendor and add some additional fields (Acquisitions > + New vendor) . View the vendor information with additional fields . View the list of vendors -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #11 from Michaela Sieber <michaela.sieber@kit.edu> --- I like it ! There is only one thing I noticed when exporting a result list: if you have an additional field that is repeatable it is displayed now as a list with bullets. But if you do an export (excel or csv) the values are all in one cell without separators. In the past the values were separated with a comma+space -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #188820|0 |1 is obsolete| | --- Comment #12 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 188874 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=188874&action=edit Bug 41151: Modernize clear button UX in additional fields This patch improves the UX of the clear functionality for additional fields by: - Replacing the separate "Clear" button with an inline clear icon (×) that appears inside the input field when there is content - Adding proper spacing between the input field and "New" button using flexbox layout - Styling the "New" button with Bootstrap button classes for consistency - Making the clear button only visible when the field has content This provides a more modern, intuitive interface pattern similar to standard search inputs and maintains better visual consistency with other form elements in Koha. Signed-off-by: David Nind <david@davidnind.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #188821|0 |1 is obsolete| | --- Comment #13 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 188875 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=188875&action=edit Bug 41151: Improve additional fields display alignment and formatting This patch improves the display of additional fields by: - Removing the nested fieldset wrapper that caused alignment issues - Converting the legend to a header list item for consistency - Aligning additional field labels with main form field labels - Displaying multi-value fields (comma-separated) on separate lines without bullets or extra indentation, aligned with single values - Using the same visual separator pattern as the entry form This creates perfect alignment between additional fields and regular fields in the display view, with multi-value fields showing cleanly stacked values in the same column as single values. Signed-off-by: David Nind <david@davidnind.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #188822|0 |1 is obsolete| | --- Comment #14 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 188876 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=188876&action=edit Bug 41151: Display multi-value additional fields as lists in datatables This patch improves the display of searchable repeatable additional fields in datatable columns by: - Detecting comma-separated values in the value_str field - Rendering multiple values as an HTML unordered list instead of comma-separated text - Adding appropriate CSS styling for list display within table cells - Maintaining single-value display for non-repeatable fields This makes multi-value additional fields much more readable in list views, with each value appearing on its own line within the table cell. For example, "Bang, History" now displays as: • Bang • History This completes the UX improvements for additional fields across all three contexts: entry forms, detail views, and list datatables. Signed-off-by: David Nind <david@davidnind.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #15 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 188877 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=188877&action=edit Bug 41151: Preserve multi-value formatting in datatable exports This patch fixes the export functionality for repeatable additional fields in datatables. Previously, when exporting to CSV or Excel, multi-value fields displayed as HTML markup instead of properly formatted values. The fix detects when DataTables is requesting data for export (type === "export") and returns newline-separated values instead of HTML list markup. This ensures that: - CSV exports properly quote cells containing newlines - Excel exports display each value on a separate line within the cell - The visual list structure is maintained in exported data - Each field's values remain in the correct cell/row For example, a field with values "Bang, History" now exports as: Bang History (with each value on its own line within the same cell) This complements the display improvements made in the previous commits while ensuring exports remain clean and properly formatted. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #16 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Thankyou so much for the thorough testing and great spot finding the export issue Michaela, hopefully my additional patch resolves that too now :) -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #17 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 188878 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=188878&action=edit Bug 41151: Add optional clear button to standard input components This patch enhances the core input components (InputText, InputNumber, and TextArea) with optional clear button functionality, providing a consistent UX across both standard fields and additional fields. Changes: - Added optional 'clearable' prop (default: true) to all three components - Implemented clear button with identical styling to additional fields - Clear button only appears when field has content - Can be disabled per-field with clearable: false if needed The clear button: - Appears as a small 'x' icon on the right side of the input - Only shows when the field contains a value - Uses consistent styling and behavior across all input types - Includes proper ARIA labels for accessibility - Has hover and focus states for better UX Usage (enabled by default): <InputText v-model="myValue" /> <InputNumber v-model="myNumber" /> <TextArea v-model="myText" /> To disable for specific fields: <InputText :clearable="false" v-model="myValue" /> This provides developers with a simple, modern clear button UX by default across all form inputs, ensuring consistency throughout the entire application. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #18 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 188879 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=188879&action=edit Bug 41151: Wire clearable prop through FormElement to input components This patch enables the clearable functionality in forms that use the BaseResource/FormElement pattern by passing the clearable attribute from field definitions through to the underlying input components. Changes: - Updated FormElement to pass clearable prop to InputText - Updated FormElement to pass clearable prop to InputNumber - Updated FormElement to pass clearable prop to TextArea The logic only passes clearable when explicitly defined in the field configuration, allowing the component's default (true) to apply when not specified. This means: - Fields without clearable attribute: clear button enabled (default) - Fields with clearable: false: clear button disabled - Fields with clearable: true: clear button explicitly enabled All text, number, and textarea fields in BaseResource forms (like agreements, packages, titles, etc.) now automatically get the clear button UX unless explicitly disabled. Example to disable for a specific field: { name: "my_field", type: "text", label: $__("My Field"), clearable: false, // Disable clear button for this field } This completes the clear button UX implementation across all form input patterns in the application. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #19 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 188880 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=188880&action=edit Bug 41151: Replace FontAwesome icons with SVG and improve input styling This patch updates all clear buttons with two improvements: 1. Replaced FontAwesome icons with cleaner SVG X icon from vue-select 2. Updated input padding to match Select2/vue-select styling Changes: - Replaced <i class="fa fa-times"></i> with SVG in InputText - Replaced <i class="fa fa-times"></i> with SVG in InputNumber - Replaced <i class="fa fa-times"></i> with SVG in TextArea - Replaced <i class="fa fa-times"></i> with SVG in AdditionalFieldsEntry - Updated CSS from .clear-button i to .clear-button svg - Added title attribute for better tooltip support - Updated input padding from just "padding-right: 2rem" to full padding specification: "padding: 0.375rem 2rem 0.375rem 0.75rem" - Added line-height: 1.5 to match Select2 styling The SVG icon: - Is the same 10x10 SVG used in vue-select components - Uses currentColor via fill for proper color inheritance - Maintains the same hover/focus color transitions (#999 → #333) - Provides a cleaner, more professional appearance The improved padding: - Matches the vertical and horizontal spacing of Select2 dropdowns - Makes text inputs less "squashed" and more spacious - Creates visual consistency across all form controls - Uses Bootstrap's standard input padding (0.375rem vertical, 0.75rem horizontal) This creates visual consistency between clear buttons and padding across all input types and the existing Select2/vue-select components. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #20 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- I've added a few more follow-ups to add the clear functionality on to the standard inputs now too.. more consistency accross the board, -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #21 from Michaela Sieber <michaela.sieber@kit.edu> --- (In reply to Martin Renvoize (ashimema) from comment #16)
Thankyou so much for the thorough testing and great spot finding the export issue Michaela, hopefully my additional patch resolves that too now :)
Your're welcome! I set up a new sandbox with the new patches but the exported values are still in one cell without separator. As well in Excel as in Libre Office -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #188880|0 |1 is obsolete| | --- Comment #22 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 188922 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=188922&action=edit Bug 41151: Replace FontAwesome icons with SVG and improve input styling This patch updates all clear buttons with two improvements: 1. Replaced FontAwesome icons with cleaner SVG X icon from vue-select 2. Updated input padding to match Select2/vue-select styling Changes: - Replaced <i class="fa fa-times"></i> with SVG in InputText - Replaced <i class="fa fa-times"></i> with SVG in InputNumber - Replaced <i class="fa fa-times"></i> with SVG in TextArea - Replaced <i class="fa fa-times"></i> with SVG in AdditionalFieldsEntry - Updated CSS from .clear-button i to .clear-button svg - Added title attribute for better tooltip support - Updated input padding from just "padding-right: 2rem" to full padding specification: "padding: 0.375rem 2rem 0.375rem 0.75rem" - Added line-height: 1.5 to match Select2 styling The SVG icon: - Is the same 10x10 SVG used in vue-select components - Uses currentColor via fill for proper color inheritance - Maintains the same hover/focus color transitions (#999 → #333) - Provides a cleaner, more professional appearance The improved padding: - Matches the vertical and horizontal spacing of Select2 dropdowns - Makes text inputs less "squashed" and more spacious - Creates visual consistency across all form controls - Uses Bootstrap's standard input padding (0.375rem vertical, 0.75rem horizontal) This creates visual consistency between clear buttons and padding across all input types and the existing Select2/vue-select components. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 David Nind <david@davidnind.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Signed Off |Failed QA --- Comment #23 from David Nind <david@davidnind.com> --- Can confirm that when exporting repeatable fields with multiple values, the values are no longer comma separated with a space. For example, before the patches it was "Test 1, Test2", now it is "Test 1Test2". -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #24 from David Nind <david@davidnind.com> --- It may be one of the dependent bugs causing this: bug 38262, bug 38466 -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #25 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Right.. I've found the issue.. Davids security work around for DataTables breaks any multiple line formatted cells for export/output. Bug 37727 - CVE-2024-24337 - Fix CSV formula injection - client side (DataTables) -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dcook@prosentient.com.au -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #188874|0 |1 is obsolete| | --- Comment #26 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 189295 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=189295&action=edit Bug 41151: Modernize clear button UX in additional fields This patch improves the UX of the clear functionality for additional fields by: - Replacing the separate "Clear" button with an inline clear icon (×) that appears inside the input field when there is content - Adding proper spacing between the input field and "New" button using flexbox layout - Styling the "New" button with Bootstrap button classes for consistency - Making the clear button only visible when the field has content This provides a more modern, intuitive interface pattern similar to standard search inputs and maintains better visual consistency with other form elements in Koha. Signed-off-by: David Nind <david@davidnind.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #188875|0 |1 is obsolete| | --- Comment #27 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 189296 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=189296&action=edit Bug 41151: Improve additional fields display alignment and formatting This patch improves the display of additional fields by: - Removing the nested fieldset wrapper that caused alignment issues - Converting the legend to a header list item for consistency - Aligning additional field labels with main form field labels - Displaying multi-value fields (comma-separated) on separate lines without bullets or extra indentation, aligned with single values - Using the same visual separator pattern as the entry form This creates perfect alignment between additional fields and regular fields in the display view, with multi-value fields showing cleanly stacked values in the same column as single values. Signed-off-by: David Nind <david@davidnind.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #188876|0 |1 is obsolete| | --- Comment #28 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 189297 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=189297&action=edit Bug 41151: Display multi-value additional fields as lists in datatables This patch improves the display of searchable repeatable additional fields in datatable columns by: - Detecting comma-separated values in the value_str field - Rendering multiple values as an HTML unordered list instead of comma-separated text - Adding appropriate CSS styling for list display within table cells - Maintaining single-value display for non-repeatable fields This makes multi-value additional fields much more readable in list views, with each value appearing on its own line within the table cell. For example, "Bang, History" now displays as: • Bang • History This completes the UX improvements for additional fields across all three contexts: entry forms, detail views, and list datatables. Signed-off-by: David Nind <david@davidnind.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #188877|0 |1 is obsolete| | --- Comment #29 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 189298 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=189298&action=edit Bug 41151: Preserve multi-value formatting in datatable exports This patch fixes the export functionality for repeatable additional fields in datatables. Previously, when exporting to CSV or Excel, multi-value fields displayed as HTML markup instead of properly formatted values. The fix detects when DataTables is requesting data for export (type === "export") and returns newline-separated values instead of HTML list markup. This ensures that: - CSV exports properly quote cells containing newlines - Excel exports display each value on a separate line within the cell - The visual list structure is maintained in exported data - Each field's values remain in the correct cell/row For example, a field with values "Bang, History" now exports as: Bang History (with each value on its own line within the same cell) This complements the display improvements made in the previous commits while ensuring exports remain clean and properly formatted. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #188878|0 |1 is obsolete| | --- Comment #30 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 189299 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=189299&action=edit Bug 41151: Add optional clear button to standard input components This patch enhances the core input components (InputText, InputNumber, and TextArea) with optional clear button functionality, providing a consistent UX across both standard fields and additional fields. Changes: - Added optional 'clearable' prop (default: true) to all three components - Implemented clear button with identical styling to additional fields - Clear button only appears when field has content - Can be disabled per-field with clearable: false if needed The clear button: - Appears as a small 'x' icon on the right side of the input - Only shows when the field contains a value - Uses consistent styling and behavior across all input types - Includes proper ARIA labels for accessibility - Has hover and focus states for better UX Usage (enabled by default): <InputText v-model="myValue" /> <InputNumber v-model="myNumber" /> <TextArea v-model="myText" /> To disable for specific fields: <InputText :clearable="false" v-model="myValue" /> This provides developers with a simple, modern clear button UX by default across all form inputs, ensuring consistency throughout the entire application. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #188879|0 |1 is obsolete| | --- Comment #31 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 189300 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=189300&action=edit Bug 41151: Wire clearable prop through FormElement to input components This patch enables the clearable functionality in forms that use the BaseResource/FormElement pattern by passing the clearable attribute from field definitions through to the underlying input components. Changes: - Updated FormElement to pass clearable prop to InputText - Updated FormElement to pass clearable prop to InputNumber - Updated FormElement to pass clearable prop to TextArea The logic only passes clearable when explicitly defined in the field configuration, allowing the component's default (true) to apply when not specified. This means: - Fields without clearable attribute: clear button enabled (default) - Fields with clearable: false: clear button disabled - Fields with clearable: true: clear button explicitly enabled All text, number, and textarea fields in BaseResource forms (like agreements, packages, titles, etc.) now automatically get the clear button UX unless explicitly disabled. Example to disable for a specific field: { name: "my_field", type: "text", label: $__("My Field"), clearable: false, // Disable clear button for this field } This completes the clear button UX implementation across all form input patterns in the application. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #188922|0 |1 is obsolete| | --- Comment #32 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 189301 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=189301&action=edit Bug 41151: Replace FontAwesome icons with SVG and improve input styling This patch updates all clear buttons with two improvements: 1. Replaced FontAwesome icons with cleaner SVG X icon from vue-select 2. Updated input padding to match Select2/vue-select styling Changes: - Replaced <i class="fa fa-times"></i> with SVG in InputText - Replaced <i class="fa fa-times"></i> with SVG in InputNumber - Replaced <i class="fa fa-times"></i> with SVG in TextArea - Replaced <i class="fa fa-times"></i> with SVG in AdditionalFieldsEntry - Updated CSS from .clear-button i to .clear-button svg - Added title attribute for better tooltip support - Updated input padding from just "padding-right: 2rem" to full padding specification: "padding: 0.375rem 2rem 0.375rem 0.75rem" - Added line-height: 1.5 to match Select2 styling The SVG icon: - Is the same 10x10 SVG used in vue-select components - Uses currentColor via fill for proper color inheritance - Maintains the same hover/focus color transitions (#999 → #333) - Provides a cleaner, more professional appearance The improved padding: - Matches the vertical and horizontal spacing of Select2 dropdowns - Makes text inputs less "squashed" and more spacious - Creates visual consistency across all form controls - Uses Bootstrap's standard input padding (0.375rem vertical, 0.75rem horizontal) This creates visual consistency between clear buttons and padding across all input types and the existing Select2/vue-select components. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #33 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 189302 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=189302&action=edit Bug 41151: Revert multi-value display and export formatting changes This reverts commits: - 042b0e90bab "Bug 41151: Preserve multi-value formatting in datatable exports" - dc280faea41 "Bug 41151: Display multi-value additional fields as lists in datatables" These commits attempted to improve the display of multi-value additional fields in datatables by rendering them as lists and preserving newlines in exports. However, the implementation conflicted with existing DataTables export button formatting that strips newlines for security reasons (Bug 37727). The root issue is that Koha currently uses: - datatables.net-buttons 2.3.4 (from Feb 2023) - datatables.net-vue3 2.0.0 (requires DataTables 1.x) Native support for escapeExcelFormula (which would allow proper newline handling) requires: - datatables.net-buttons 3.2.0+ (introduced escapeExcelFormula) - datatables.net-vue3 3.x (for DataTables 2.x compatibility) This revert allows us to: 1. Create a separate bug for upgrading DataTables to version 2.x with Buttons 3.x for native formula escaping and better export handling 2. Re-implement the multi-value display feature with proper export support once the DataTables upgrade is complete The reverted functionality will be restored in future patches once the underlying DataTables infrastructure is upgraded. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Failed QA |Signed Off --- Comment #34 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- OK, I had to revert part of this set.. I chose to revert it as a distinct commit to clarify my intentions, and I'll add a follow-up bug for the datatable display enhancement we intended to implement here. Apologies, but I feel it's better to drop that last piece for now rather than hold up the rest. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |rel_26_05_candidate -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- QA Contact|testopia@bugs.koha-communit |jonathan.druart@gmail.com |y.org | -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Marcel de Rooy <m.de.rooy@rijksmuseum.nl> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Signed Off |Patch doesn't apply -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Patch doesn't apply |Signed Off -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #189295|0 |1 is obsolete| | -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #189296|0 |1 is obsolete| | -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #189297|0 |1 is obsolete| | -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #189298|0 |1 is obsolete| | -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #189299|0 |1 is obsolete| | -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #189300|0 |1 is obsolete| | -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #189301|0 |1 is obsolete| | -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #189302|0 |1 is obsolete| | -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #35 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 194273 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=194273&action=edit Bug 41151: Modernize clear button UX in additional fields This patch improves the UX of the clear functionality for additional fields by: - Replacing the separate "Clear" button with an inline clear icon (×) that appears inside the input field when there is content - Adding proper spacing between the input field and "New" button using flexbox layout - Styling the "New" button with Bootstrap button classes for consistency - Making the clear button only visible when the field has content This provides a more modern, intuitive interface pattern similar to standard search inputs and maintains better visual consistency with other form elements in Koha. Signed-off-by: David Nind <david@davidnind.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #36 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 194274 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=194274&action=edit Bug 41151: Improve additional fields display alignment and formatting This patch improves the display of additional fields by: - Removing the nested fieldset wrapper that caused alignment issues - Converting the legend to a header list item for consistency - Aligning additional field labels with main form field labels - Displaying multi-value fields (comma-separated) on separate lines without bullets or extra indentation, aligned with single values - Using the same visual separator pattern as the entry form This creates perfect alignment between additional fields and regular fields in the display view, with multi-value fields showing cleanly stacked values in the same column as single values. Signed-off-by: David Nind <david@davidnind.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #37 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 194275 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=194275&action=edit Bug 41151: Display multi-value additional fields as lists in datatables This patch improves the display of searchable repeatable additional fields in datatable columns by: - Detecting comma-separated values in the value_str field - Rendering multiple values as an HTML unordered list instead of comma-separated text - Adding appropriate CSS styling for list display within table cells - Maintaining single-value display for non-repeatable fields This makes multi-value additional fields much more readable in list views, with each value appearing on its own line within the table cell. For example, "Bang, History" now displays as: • Bang • History This completes the UX improvements for additional fields across all three contexts: entry forms, detail views, and list datatables. Signed-off-by: David Nind <david@davidnind.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #38 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 194276 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=194276&action=edit Bug 41151: Preserve multi-value formatting in datatable exports This patch fixes the export functionality for repeatable additional fields in datatables. Previously, when exporting to CSV or Excel, multi-value fields displayed as HTML markup instead of properly formatted values. The fix detects when DataTables is requesting data for export (type === "export") and returns newline-separated values instead of HTML list markup. This ensures that: - CSV exports properly quote cells containing newlines - Excel exports display each value on a separate line within the cell - The visual list structure is maintained in exported data - Each field's values remain in the correct cell/row For example, a field with values "Bang, History" now exports as: Bang History (with each value on its own line within the same cell) This complements the display improvements made in the previous commits while ensuring exports remain clean and properly formatted. Signed-off-by: David Nind <david@davidnind.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #39 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 194277 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=194277&action=edit Bug 41151: Add optional clear button to standard input components This patch enhances the core input components (InputText, InputNumber, and TextArea) with optional clear button functionality, providing a consistent UX across both standard fields and additional fields. Changes: - Added optional 'clearable' prop (default: true) to all three components - Implemented clear button with identical styling to additional fields - Clear button only appears when field has content - Can be disabled per-field with clearable: false if needed The clear button: - Appears as a small 'x' icon on the right side of the input - Only shows when the field contains a value - Uses consistent styling and behavior across all input types - Includes proper ARIA labels for accessibility - Has hover and focus states for better UX Usage (enabled by default): <InputText v-model="myValue" /> <InputNumber v-model="myNumber" /> <TextArea v-model="myText" /> To disable for specific fields: <InputText :clearable="false" v-model="myValue" /> This provides developers with a simple, modern clear button UX by default across all form inputs, ensuring consistency throughout the entire application. Signed-off-by: David Nind <david@davidnind.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #40 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 194278 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=194278&action=edit Bug 41151: Wire clearable prop through FormElement to input components This patch enables the clearable functionality in forms that use the BaseResource/FormElement pattern by passing the clearable attribute from field definitions through to the underlying input components. Changes: - Updated FormElement to pass clearable prop to InputText - Updated FormElement to pass clearable prop to InputNumber - Updated FormElement to pass clearable prop to TextArea The logic only passes clearable when explicitly defined in the field configuration, allowing the component's default (true) to apply when not specified. This means: - Fields without clearable attribute: clear button enabled (default) - Fields with clearable: false: clear button disabled - Fields with clearable: true: clear button explicitly enabled All text, number, and textarea fields in BaseResource forms (like agreements, packages, titles, etc.) now automatically get the clear button UX unless explicitly disabled. Example to disable for a specific field: { name: "my_field", type: "text", label: $__("My Field"), clearable: false, // Disable clear button for this field } This completes the clear button UX implementation across all form input patterns in the application. Signed-off-by: David Nind <david@davidnind.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #41 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 194279 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=194279&action=edit Bug 41151: Replace FontAwesome icons with SVG and improve input styling This patch updates all clear buttons with two improvements: 1. Replaced FontAwesome icons with cleaner SVG X icon from vue-select 2. Updated input padding to match Select2/vue-select styling Changes: - Replaced <i class="fa fa-times"></i> with SVG in InputText - Replaced <i class="fa fa-times"></i> with SVG in InputNumber - Replaced <i class="fa fa-times"></i> with SVG in TextArea - Replaced <i class="fa fa-times"></i> with SVG in AdditionalFieldsEntry - Updated CSS from .clear-button i to .clear-button svg - Added title attribute for better tooltip support - Updated input padding from just "padding-right: 2rem" to full padding specification: "padding: 0.375rem 2rem 0.375rem 0.75rem" - Added line-height: 1.5 to match Select2 styling The SVG icon: - Is the same 10x10 SVG used in vue-select components - Uses currentColor via fill for proper color inheritance - Maintains the same hover/focus color transitions (#999 → #333) - Provides a cleaner, more professional appearance The improved padding: - Matches the vertical and horizontal spacing of Select2 dropdowns - Makes text inputs less "squashed" and more spacious - Creates visual consistency across all form controls - Uses Bootstrap's standard input padding (0.375rem vertical, 0.75rem horizontal) This creates visual consistency between clear buttons and padding across all input types and the existing Select2/vue-select components. Signed-off-by: David Nind <david@davidnind.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #42 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 194280 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=194280&action=edit Bug 41151: Revert multi-value display and export formatting changes This reverts commits: - 042b0e90bab "Bug 41151: Preserve multi-value formatting in datatable exports" - dc280faea41 "Bug 41151: Display multi-value additional fields as lists in datatables" These commits attempted to improve the display of multi-value additional fields in datatables by rendering them as lists and preserving newlines in exports. However, the implementation conflicted with existing DataTables export button formatting that strips newlines for security reasons (Bug 37727). The root issue is that Koha currently uses: - datatables.net-buttons 2.3.4 (from Feb 2023) - datatables.net-vue3 2.0.0 (requires DataTables 1.x) Native support for escapeExcelFormula (which would allow proper newline handling) requires: - datatables.net-buttons 3.2.0+ (introduced escapeExcelFormula) - datatables.net-vue3 3.x (for DataTables 2.x compatibility) This revert allows us to: 1. Create a separate bug for upgrading DataTables to version 2.x with Buttons 3.x for native formula escaping and better export handling 2. Re-implement the multi-value display feature with proper export support once the DataTables upgrade is complete The reverted functionality will be restored in future patches once the underlying DataTables infrastructure is upgraded. Signed-off-by: David Nind <david@davidnind.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Lisette Scheer <lisette@bywatersolutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |lisette@bywatersolutions.co | |m Keywords| |roadmap_26_05 -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #43 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- I'm still hopeful this one might make it this cycle... -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #44 from Jonathan Druart <jonathan.druart@gmail.com> --- QA review: 1. if you have a repeatable field and a value with commas: value1: a,b,c, value2: b value3: c On the "show" view they are displayed: Before the patch: a,b,c, b, c After: a b c b c 2. The CSS is duplicated, it think it should be moved to koha-tmpl/intranet-tmpl/prog/css/vue.css. 3. There is also a duplication of the icon. Why didn't you pick fa-xmark instead? If you make it bold it's almost identical as the svg. 4. The input of additional fields get the following CSS rules when the clear button is visible: border-top-right-radius: 0; border-bottom-right-radius: 0; 5. There is an empty label in AdditionalFieldsEntry.vue + <label></label> 6. There are several warnings in the console: [Vue warn]: setup() return property "$__" should not start with "$" or "_" which are reserved prefixes for Vue internals. 7. I would add a Cypress test to test the "0" "", etc. for InputText and InputNumber 8. in FormElement.vue + :clearable=" + attr.clearable !== undefined ? attr.clearable : undefined + " What's the subtlety I am not getting here? Why not :clearable="attr.clearable"? Or, shouldn't we pass true/false instead? -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #45 from Jonathan Druart <jonathan.druart@gmail.com> --- Created attachment 197506 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=197506&action=edit Bug 41151: Remove JS warnings [Vue warn]: setup() return property "$__" should not start with "$" or "_" which are reserved prefixes for Vue internals. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Jonathan Druart <jonathan.druart@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Signed Off |Failed QA --- Comment #46 from Jonathan Druart <jonathan.druart@gmail.com> --- (In reply to Jonathan Druart from comment #44)
6. There are several warnings in the console: [Vue warn]: setup() return property "$__" should not start with "$" or "_" which are reserved prefixes for Vue internals.
Fixed by the previous patch. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #47 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 197523 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=197523&action=edit Bug 41151: Address QA feedback for Vue clear button Follow-up to QA review: - Consolidate duplicated .clear-button / .input-with-clear-* rules into koha-tmpl/intranet-tmpl/prog/css/vue.css and drop the scoped <style> blocks from InputText, InputNumber, TextArea and AdditionalFieldsEntry. - Replace the inline <svg> clear icon with <i class="fa fa-xmark"> (bold via CSS) to reuse the existing FontAwesome glyph already in use elsewhere (cataloguing/addbiblio.tt, circ/returns.tt). - In AdditionalFieldsEntry.vue, switch the repeatable input wrapper from Bootstrap's .input-group to .input-with-clear-wrapper. The .input-group class forced border-top-right-radius: 0 and border-bottom-right-radius: 0 on the input because Bootstrap expects an appended addon button; our clear button is absolutely positioned so no input-group behavior is wanted. - Remove the empty <label></label> placeholder from the "Additional fields" header and align the heading with CSS padding on the <li> instead. - Simplify FormElement.vue's :clearable binding. The ternary "attr.clearable !== undefined ? attr.clearable : undefined" evaluates identically to attr.clearable: when undefined is passed, Vue treats the prop as not passed and the child default (true) kicks in. The simpler form is equivalent and easier to read. To test: 1. yarn js:build && yarn css:build inside KTD. 2. Staff -> ERM -> Agreements -> Edit. Text/textarea fields show the fa-xmark clear button; clicking clears. 3. Any form with repeatable additional text fields: the input keeps proper rounded corners on the right side (no Bootstrap input-group border-radius reset). 4. Inspect DOM: no <label></label> in the additional-fields-header. 5. Inspect CSS: clear-button styles load once from vue.css, not from per-component scoped styles. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #48 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 197524 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=197524&action=edit Bug 41151: Add Cypress tests for InputText/InputNumber clearable Covers the edge cases raised in QA review: - Clear button hidden when value is "" - Clear button visible and functional when value is populated - Clear button visible when value is the string "0" (InputText) - Clear button visible when value is the number 0 (InputNumber) — InputNumber uses an explicit null/undefined/"" check rather than plain truthiness so numeric zero does not suppress the button. - Icon is rendered as <i class="fa fa-xmark">, not an inline <svg>. InputText is exercised on the ERM Agreements add page (#name via FormElement type=text). InputNumber is exercised on the SIP2 institution add page (#retries, #timeout via FormElement type=number). To test: 1. yarn js:build && yarn css:build inside KTD. 2. npx cypress run --spec "t/cypress/integration/Vue/InputClearable_spec.ts" -> 7/7 passing. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Failed QA |Signed Off --- Comment #49 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- (In reply to Jonathan Druart from comment #44)
QA review:
1. if you have a repeatable field and a value with commas: value1: a,b,c, value2: b value3: c
On the "show" view they are displayed: Before the patch: a,b,c, b, c
After: a b c b c
Didn't I already revert that in my last commit.. it's been a while since I looked at this.
2. The CSS is duplicated, it think it should be moved to koha-tmpl/intranet-tmpl/prog/css/vue.css.
3. There is also a duplication of the icon. Why didn't you pick fa-xmark instead? If you make it bold it's almost identical as the svg.
4. The input of additional fields get the following CSS rules when the clear button is visible: border-top-right-radius: 0; border-bottom-right-radius: 0;
5. There is an empty label in AdditionalFieldsEntry.vue + <label></label>
6. There are several warnings in the console: [Vue warn]: setup() return property "$__" should not start with "$" or "_" which are reserved prefixes for Vue internals.
7. I would add a Cypress test to test the "0" "", etc. for InputText and InputNumber
8. in FormElement.vue + :clearable=" + attr.clearable !== undefined ? attr.clearable : undefined + " What's the subtlety I am not getting here?
Why not :clearable="attr.clearable"? Or, shouldn't we pass true/false instead?
All address in the two follow-ups. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #50 from Jonathan Druart <jonathan.druart@gmail.com> --- (In reply to Martin Renvoize (ashimema) from comment #49)
(In reply to Jonathan Druart from comment #44)
QA review:
1. if you have a repeatable field and a value with commas: value1: a,b,c, value2: b value3: c
On the "show" view they are displayed: Before the patch: a,b,c, b, c
After: a b c b c
Didn't I already revert that in my last commit.. it's been a while since I looked at this.
This is still a problem.
5. There is an empty label in AdditionalFieldsEntry.vue + <label></label>
This has not been removed in AdditionalFieldsDisplay.vue. There is a comment about that in CSS 81 /* Empty label for alignment with other fields */ But I don't see any changes on the UI when I remove it. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Jonathan Druart <jonathan.druart@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Signed Off |Failed QA -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Failed QA |Signed Off -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #51 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 197705 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=197705&action=edit Bug 41151: (follow-up) Quote comma-bearing repeat values in strings_map The previous display fix on this bug left a latent issue: when a repeatable additional field held a value that itself contained a comma (e.g. "a,b,c"), the joined value_str was indistinguishable from three plain repeats. Any consumer that split on "," would mangle the data. Encode value_str with a CSV-style convention: the separator stays ", ", but any individual value containing "," or '"' is wrapped in double quotes with internal quotes doubled (RFC 4180-ish). Plain values pass through unchanged, so "red, blue, green" still round-trips as-is, while "a,b,c" / "b" / "c" now encodes as '"a,b,c", b, c' and is losslessly parsable. Test plan: prove t/db_dependent/Koha/Object/Mixin/AdditionalFields.t -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #52 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 197706 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=197706&action=edit Bug 41151: (follow-up) Parse quoted value_str in AdditionalFieldsDisplay The display side previously used a naive value_str.split(",") to decide whether a repeatable additional field held multiple values. That approach could not tell the separator between repeats apart from a comma embedded in a single value, so "a,b,c" / "b" / "c" rendered as five lines instead of three. Match the new strings_map CSV-style encoding with a state-machine parser shared between additional-fields consumers. Values with "," or '"' arrive quoted, values without pass through untouched, and internal '""' are folded back to a single '"'. Add a shared composable so KohaTable can reuse the parser (and an escapeHtml helper to keep HTML-emitting callers safe). The component now routes every value through parseValueStr and no longer reaches into the raw string itself. Test plan: 1. Create a repeatable additional field on a Vue-rendered detail view (e.g. ERM agreement). 2. Set three values: "a,b,c,", "b", "c". 3. Reload the view; confirm three lines, first intact as "a,b,c,". 4. A single value containing a comma still renders unquoted. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #53 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 197707 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=197707&action=edit Bug 41151: (follow-up) Restore multi-value list rendering in KohaTable Commit dc280fa ("Display multi-value additional fields as lists in datatables") was reverted in 9e7d7ac because its display logic relied on the same naive comma-split that mangled comma-bearing values, and because the companion export commit (042b0e9) was blocked on a DataTables upgrade. With parseValueStr() in place we can safely restore the display half: reuse the shared parser to turn a multi-value value_str into a <ul>, and return plain value_str for non-display render calls so filtering, sorting, and CSV/Excel export keep working exactly as they do today. HTML-escape each entry on the way in; the original reverted patch interpolated raw field values into markup, which would be a latent XSS for any staff user who could author an additional-field value. The export newline formatting (042b0e9) is deliberately not restored here; it remains blocked on upgrading datatables.net-buttons to 3.2.0+ and datatables.net-vue3 to 3.x for native escapeExcelFormula support. Test plan: 1. Rebuild JS: yarn js:build 2. Load a datatable view that renders a searchable repeatable additional field (e.g. ERM agreements or ILL requests). 3. For a row with three repeats where one value contains commas, confirm the cell shows a bulleted list of three items with the comma-bearing entry intact on its own line. 4. Export the table to CSV; confirm exported cells show the plain comma-separated value_str (unchanged from the current reverted state). -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 --- Comment #54 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- I've run out of week here.. but wanted to get the patches up. I'll be continuing with my own testing on Monday and also removing the label then too -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Jonathan Druart <jonathan.druart@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Signed Off |ASSIGNED -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |42959 Referenced Bugs: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42959 [Bug 42959] Migrate staff interface functionality from CGI controller + Template Toolkit to REST API + Vue.js -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Strategic theme|--- |Modernisation Initiative type|--- |Epic Target Milestone|--- |26.11 -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41151 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|minor |enhancement -- You are receiving this mail because: You are watching all bug changes.
participants (1)
-
bugzilla-daemon@bugs.koha-community.org