Enhance banking transaction data structure and validation
Playwright Tests / test (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
- Increased the length of the NameOfPayer field from NVARCHAR(60) to NVARCHAR(140) in the banking transactions function, table, temporary table, and user-defined type to accommodate longer names. - Expanded the SepaRemittanceInformation field from VARCHAR(150) to VARCHAR(200) in the banking transactions function for more detailed remittance information. - Modified the stored procedure fds__setBankingtransaction_done to return additional transaction data (ValueDate and Amount) along with the success flag for improved notification messaging. - Added validation in MFRClientConfig constructor to ensure the provided URL is not null or empty, enhancing error handling for configuration settings.
This commit is contained in:
+27
-25
@@ -2231,53 +2231,55 @@ main nav ul > li a[role=button]:hover::after, main nav ul > li a[role=button].fb
|
||||
}
|
||||
|
||||
#notification_frame {
|
||||
position: fixed;
|
||||
bottom: 1rem;
|
||||
right: 1rem;
|
||||
z-index: 2000;
|
||||
width: min(24rem, 100vw - 2rem);
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.5rem;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.notification_item {
|
||||
position: relative;
|
||||
background: #fff;
|
||||
border-left: 0.35rem solid rgb(27, 67, 121);
|
||||
border-radius: 0.35rem;
|
||||
box-shadow: 0 0.25rem 1rem rgba(30, 35, 45, 0.25);
|
||||
color: #222;
|
||||
padding: 0.75rem 2.2rem 0.75rem 0.85rem;
|
||||
flex: 0 0 2.3rem;
|
||||
height: 2.3rem;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
text-align: left;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
color: #FFF;
|
||||
padding: 0 2.2rem 0 0.85rem;
|
||||
pointer-events: auto;
|
||||
}
|
||||
.notification_item.warn {
|
||||
border-left-color: #c78300;
|
||||
}
|
||||
.notification_item.error {
|
||||
border-left-color: #b92525;
|
||||
.notification_item.warn, .notification_item.warning, .notification_item.error {
|
||||
color: rgb(255, 200, 1);
|
||||
}
|
||||
.notification_item .notification_title {
|
||||
font-weight: bold;
|
||||
line-height: 1.25;
|
||||
margin-bottom: 0.2rem;
|
||||
flex: 0 0 auto;
|
||||
}
|
||||
.notification_item .notification_title::after {
|
||||
content: ":";
|
||||
margin-right: 0.35rem;
|
||||
}
|
||||
.notification_item .notification_message {
|
||||
font-size: 0.9rem;
|
||||
line-height: 1.3;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.notification_item .notification_close {
|
||||
position: absolute;
|
||||
top: 0.35rem;
|
||||
top: 0;
|
||||
right: 0.45rem;
|
||||
height: 100%;
|
||||
border: 0;
|
||||
background: transparent;
|
||||
color: #444;
|
||||
color: inherit;
|
||||
cursor: pointer;
|
||||
font-size: 1.2rem;
|
||||
line-height: 1;
|
||||
padding: 0.1rem 0.25rem;
|
||||
line-height: 2.3rem;
|
||||
padding: 0 0.25rem;
|
||||
}
|
||||
|
||||
.wdg_frame {
|
||||
|
||||
@@ -3088,8 +3088,22 @@ $fis.notifications = {
|
||||
this.connection.on('notification', (notification) => {
|
||||
this.push(notification);
|
||||
});
|
||||
this.connection.start().catch(() => {
|
||||
// withAutomaticReconnect() only retries a connection that was successfully
|
||||
// established and later dropped — it does not retry a failed initial start()
|
||||
// (e.g. the server restarting mid-debug). Without this, a single failed start()
|
||||
// silently blackholes every notification for the rest of the page's lifetime.
|
||||
this.connection.onclose(() => {
|
||||
console.warn('Notification connection closed; retrying in 5s.');
|
||||
this.connection = null;
|
||||
setTimeout(() => this.init(), 5000);
|
||||
});
|
||||
this.start();
|
||||
},
|
||||
start: function () {
|
||||
this.connection.start().catch((err) => {
|
||||
console.warn('Notification connection failed to start; retrying in 5s.', err);
|
||||
this.connection = null;
|
||||
setTimeout(() => this.init(), 5000);
|
||||
});
|
||||
},
|
||||
ensureFrame: function () {
|
||||
|
||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user