From 3a9226dc18cf9c10745f6e9393060e45c7e5e0a0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Loi=CC=88c=20Correnson?= <loic.correnson@cea.fr>
Date: Tue, 9 Jun 2020 14:03:09 +0200
Subject: [PATCH] [dome] few fix in tables

---
 ivette/src/dome/src/renderer/table/arrays.ts | 4 ++++
 ivette/src/dome/src/renderer/table/models.ts | 9 ++++++++-
 ivette/src/dome/src/renderer/table/views.tsx | 2 +-
 3 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/ivette/src/dome/src/renderer/table/arrays.ts b/ivette/src/dome/src/renderer/table/arrays.ts
index cade7114870..9cdd951fea2 100644
--- a/ivette/src/dome/src/renderer/table/arrays.ts
+++ b/ivette/src/dome/src/renderer/table/arrays.ts
@@ -88,6 +88,10 @@ export class MapModel<Key, Row>
   // Consolidated order (computed on demand)
   private order?: SORT<Key, Row>;
 
+  // --------------------------------------------------------------------------
+  // --- Rebuild Array
+  // --------------------------------------------------------------------------
+
   // Lazily compute order
   protected sorter(): SORT<Key, Row> {
     let current = this.order;
diff --git a/ivette/src/dome/src/renderer/table/models.ts b/ivette/src/dome/src/renderer/table/models.ts
index 78bad99218c..c6f38e21a31 100644
--- a/ivette/src/dome/src/renderer/table/models.ts
+++ b/ivette/src/dome/src/renderer/table/models.ts
@@ -127,6 +127,10 @@ export abstract class Model<Key, Row> {
   private clients = new Map<number, Watcher>();
   private clientsId = 0;
 
+  constructor() {
+    this.reload = this.reload.bind(this);
+  }
+
   /**
      Shall return the number of rows to be currently displayed in the table.
      Negative values are considered as zero.
@@ -187,7 +191,10 @@ export abstract class Model<Key, Row> {
     }
   }
 
-  /** Re-render all views. */
+  /**
+     Re-render all views.
+     Bound to this.
+  */
   reload() { this.clients.forEach(({ reload }) => reload && reload()); }
 
   /**
diff --git a/ivette/src/dome/src/renderer/table/views.tsx b/ivette/src/dome/src/renderer/table/views.tsx
index cfb3ce310a0..a6e9252d719 100644
--- a/ivette/src/dome/src/renderer/table/views.tsx
+++ b/ivette/src/dome/src/renderer/table/views.tsx
@@ -37,7 +37,7 @@ const SVG = SVGraw as (props: { id: string, size?: number }) => JSX.Element;
 // --------------------------------------------------------------------------
 
 /** Cell data renderer. */
-export type Renderer<Cell> = (data?: Cell) => null | JSX.Element;
+export type Renderer<Cell> = (data: Cell) => null | JSX.Element;
 
 /**
    Associates, for each field `{ fd: Cell }` in `Row`, a renderer
-- 
GitLab