From 4fdf23b3c53b78e842f26dcd88e6ae6721cdb37d Mon Sep 17 00:00:00 2001
From: rlazarini <remi.lazarini@cea.fr>
Date: Tue, 25 Jun 2024 13:46:41 +0200
Subject: [PATCH] [ivette] fix bufferController notify

---
 ivette/src/dome/renderer/layout/forms.tsx | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/ivette/src/dome/renderer/layout/forms.tsx b/ivette/src/dome/renderer/layout/forms.tsx
index bf30fccd8aa..242c885b0ed 100644
--- a/ivette/src/dome/renderer/layout/forms.tsx
+++ b/ivette/src/dome/renderer/layout/forms.tsx
@@ -155,6 +155,7 @@ export type BufferCallback = () => void;
 export class BufferController {
   private readonly evt = new Events();
   private errors = 0;
+  private notified = false;
 
   /** Notify all reset listener events. */
   reset(): void { this.evt.emit('reset'); }
@@ -168,6 +169,9 @@ export class BufferController {
   /** There are active listeners for Commit event. */
   hasCommit(): boolean { return this.evt.listenerCount('commit') > 0; }
 
+  /** Reset notified to false. */
+  resetNotified(): void { this.notified = false; }
+
   /** Get the number of errors */
   getErrors(): number { return this.errors; }
 
@@ -178,7 +182,12 @@ export class BufferController {
   }
 
   /** @internal */
-  protected notify(): void { this.evt.emit('update'); }
+  protected notify(): void {
+    if(!this.notified) {
+      this.evt.emit('update');
+      this.notified = true;
+    }
+  }
 
   /** @internal */
   onChange(fn: BufferCallback): void { this.evt.addListener('update', fn); }
-- 
GitLab