From 98462ab45c030cda1a592ce7192c43351b7937b3 Mon Sep 17 00:00:00 2001 From: Patrick <135162612+plavoie-BC@users.noreply.github.com> Date: Fri, 27 Mar 2026 09:53:23 -0700 Subject: [PATCH 1/9] [AB#32347] Fix DataTable button default styling --- .../src/Unity.Theme.UX2/wwwroot/themes/ux2/table-utils.js | 3 +++ .../Views/Shared/Components/ReviewList/ReviewList.js | 3 --- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/wwwroot/themes/ux2/table-utils.js b/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/wwwroot/themes/ux2/table-utils.js index 29a5068c9..8d973ba7f 100644 --- a/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/wwwroot/themes/ux2/table-utils.js +++ b/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/wwwroot/themes/ux2/table-utils.js @@ -53,6 +53,9 @@ if ($.fn.dataTable !== undefined && $.fn.dataTable.ext) { return csv; }, }; + + $.fn.dataTable.Buttons.defaults.dom.button.className = 'btn unt-btn-outline-primary btn-outline-primary'; + $.fn.dataTable.Buttons.defaults.dom.button.liner.tag = false; } // ============================================================================ diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/ReviewList/ReviewList.js b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/ReviewList/ReviewList.js index 5d97ad08d..61c45c526 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/ReviewList/ReviewList.js +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/ReviewList/ReviewList.js @@ -52,9 +52,6 @@ $(function () { renderEnum: (data) => l('Enum:AssessmentState.' + data), }; - $.fn.dataTable.Buttons.defaults.dom.button.className = 'btn unt-btn-outline-primary btn-outline-primary'; - $.fn.dataTable.Buttons.defaults.dom.button.liner.tag = false; - $.extend(DataTable.ext.buttons, { unityWorkflow: { className: 'btn unt-btn-outline-primary btn-outline-primary', From ff3a3fd8192b5ab64320bec5a3f14bb1f4699a3a Mon Sep 17 00:00:00 2001 From: Patrick <135162612+plavoie-BC@users.noreply.github.com> Date: Fri, 27 Mar 2026 10:29:07 -0700 Subject: [PATCH 2/9] [AB#32347] Fix DataTable button default styling --- .../src/Unity.Theme.UX2/wwwroot/themes/ux2/table-utils.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/wwwroot/themes/ux2/table-utils.js b/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/wwwroot/themes/ux2/table-utils.js index 8d973ba7f..1a44299df 100644 --- a/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/wwwroot/themes/ux2/table-utils.js +++ b/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/wwwroot/themes/ux2/table-utils.js @@ -54,7 +54,7 @@ if ($.fn.dataTable !== undefined && $.fn.dataTable.ext) { }, }; - $.fn.dataTable.Buttons.defaults.dom.button.className = 'btn unt-btn-outline-primary btn-outline-primary'; + $.fn.dataTable.Buttons.defaults.dom.button.className = 'btn btn-light custom-table-btn flex-none btn-secondary'; $.fn.dataTable.Buttons.defaults.dom.button.liner.tag = false; } From d3af6dde2b010a27880bb22ebcc6a008907452f9 Mon Sep 17 00:00:00 2001 From: Patrick <135162612+plavoie-BC@users.noreply.github.com> Date: Fri, 27 Mar 2026 10:44:34 -0700 Subject: [PATCH 3/9] [AB#31022] Fix email notification table x-overflow cutoff --- .../Components/EmailHistoryWidget/Default.js | 14 ++--- .../EmailHistoryWidget/EmailHistory.css | 60 +++++++++++++------ 2 files changed, 50 insertions(+), 24 deletions(-) diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/EmailHistoryWidget/Default.js b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/EmailHistoryWidget/Default.js index a6de4c4a8..02d9cdaab 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/EmailHistoryWidget/Default.js +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/EmailHistoryWidget/Default.js @@ -28,7 +28,7 @@ style: 'single' }, info: false, - scrollX: true, + scrollX: false, ajax: abp.libs.datatables.createAjax( unity.notifications.emailNotifications.emailNotification.getHistoryByApplicationId, inputAction, responseCallback ), @@ -37,26 +37,26 @@ className: 'dt-control', orderable: false, data: null, - width: '30px', + width: '2%', defaultContent: '' }, { title: 'Subject', data: 'subject', className: 'data-table-header text-break', - width: '30%' + width: '38%' }, { title: 'Status', data: 'status', className: 'data-table-header', - width: '15%' + width: '13%' }, { title: 'Created', data: 'creationTime', className: 'data-table-header', - width: '180px', + width: '23%', render: function (data) { return data != null ? luxon.DateTime.fromISO(data, { locale: abp.localization.currentCulture.name, @@ -74,7 +74,7 @@ title: 'Sent By', data: 'sentBy', className: 'data-table-header', - width: '20%', + width: '16%', render: function (data) { return data ? data.name + ' ' + data.surname : '—'; }, @@ -99,7 +99,7 @@ }, { data: 'status', - width: '60px', + width: '8%', className: 'text-center', render: function (data, _, full, meta) { if (data === 'Draft' && abp.auth.isGranted('Notifications.Email.Send')) { diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/EmailHistoryWidget/EmailHistory.css b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/EmailHistoryWidget/EmailHistory.css index 6f4d3d3cd..41687251b 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/EmailHistoryWidget/EmailHistory.css +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/EmailHistoryWidget/EmailHistory.css @@ -1,27 +1,53 @@ -/* Updated for DataTables v2 - ensure proper width handling with scrollX */ -#EmailHistoryTable_wrapper .dt-scroll-body { - overflow: unset !important; -} +/* Email History Table - Responsive layout without horizontal overflow */ -/* Ensure table wrapper uses full width */ +/* Container constraints */ #EmailHistoryTable_wrapper { width: 100%; + box-sizing: border-box; + overflow: hidden; } - /* Ensure scroll container properly sizes */ - #EmailHistoryTable_wrapper .dt-scroll { - overflow-x: auto; - } +/* Disable scrolling and force fixed layout */ +#EmailHistoryTable_wrapper .dt-scroll { + overflow: visible !important; + width: 100%; + box-sizing: border-box; +} - /* Ensure inner scroll elements take full width */ - #EmailHistoryTable_wrapper .dt-scroll-head .dt-scroll-headInner, - #EmailHistoryTable_wrapper .dt-scroll-head .dt-scroll-headInner table { - width: 100% !important; - } +#EmailHistoryTable_wrapper .dt-scroll-body { + overflow: visible !important; + width: 100%; + box-sizing: border-box; +} - #EmailHistoryTable_wrapper .dt-scroll-body table { - width: 100% !important; - } +#EmailHistoryTable_wrapper .dt-scroll-head, +#EmailHistoryTable_wrapper .dt-scroll-body { + max-width: 100%; +} + +/* Force fixed table layout to prevent column expansion */ +#EmailHistoryTable { + width: 100% !important; + table-layout: fixed !important; + box-sizing: border-box; +} + +/* Consistent cell sizing and text handling */ +#EmailHistoryTable th, +#EmailHistoryTable td { + box-sizing: border-box; + word-wrap: break-word; + word-break: break-word; + overflow-wrap: break-word; + overflow: hidden; + text-overflow: ellipsis; +} + +/* Allow expansion for text content in Subject column only */ +#EmailHistoryTable td:nth-child(2), +#EmailHistoryTable th:nth-child(2) { + white-space: normal; +} @media (max-height: 768px) { .dt-scroll-body { From 1fa8c817867e2047ce1933e72c01d79760b86f21 Mon Sep 17 00:00:00 2001 From: Patrick <135162612+plavoie-BC@users.noreply.github.com> Date: Fri, 27 Mar 2026 11:00:33 -0700 Subject: [PATCH 4/9] [AB#32348] Fix datatables default classes --- .../src/Unity.Theme.UX2/wwwroot/themes/ux2/table-utils.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/wwwroot/themes/ux2/table-utils.js b/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/wwwroot/themes/ux2/table-utils.js index 1a44299df..f897b99dd 100644 --- a/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/wwwroot/themes/ux2/table-utils.js +++ b/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/wwwroot/themes/ux2/table-utils.js @@ -54,7 +54,7 @@ if ($.fn.dataTable !== undefined && $.fn.dataTable.ext) { }, }; - $.fn.dataTable.Buttons.defaults.dom.button.className = 'btn btn-light custom-table-btn flex-none btn-secondary'; + $.fn.dataTable.Buttons.defaults.dom.button.className = 'btn custom-table-btn flex-none'; $.fn.dataTable.Buttons.defaults.dom.button.liner.tag = false; } From 40c50a81b48df973756a6ae5fdd74ead2fe236b9 Mon Sep 17 00:00:00 2001 From: Patrick <135162612+plavoie-BC@users.noreply.github.com> Date: Fri, 27 Mar 2026 13:37:07 -0700 Subject: [PATCH 5/9] [AB#28856] Reorder Additional Contact section in Applicant Info --- .../Components/ApplicantInfo/Default.cshtml | 19 ++++++++----------- .../Components/ApplicantInfo/Default.css | 2 +- .../ApplicationContactsWidget/Default.cshtml | 4 +++- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/ApplicantInfo/Default.cshtml b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/ApplicantInfo/Default.cshtml index e5b8c9694..960f806cc 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/ApplicantInfo/Default.cshtml +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/ApplicantInfo/Default.cshtml @@ -241,6 +241,14 @@ + @* Zone Section : AdditionalContact *@ + + @await Component.InvokeAsync("ApplicationContactsWidget", new { applicationId = Model.ApplicationId }) + + @* Zone Section : Address *@ @@ -363,17 +371,6 @@ -@* Zone Section : AdditionalContact *@ - - - @await Component.InvokeAsync("ApplicationContactsWidget", new { applicationId = Model.ApplicationId }) - - - -