From 3ce58cc2ea40bed8b9b45451147c34ed1737f82b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Loi=CC=88c=20Correnson?= <loic.correnson@cea.fr>
Date: Sat, 30 May 2020 19:08:30 +0200
Subject: [PATCH] [ivette] fix few issues

---
 ivette/src/dome/src/renderer/data/compare.ts | 12 +++++++++++-
 ivette/src/dome/src/renderer/table/style.css |  2 +-
 ivette/src/renderer/Properties.tsx           |  2 +-
 3 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/ivette/src/dome/src/renderer/data/compare.ts b/ivette/src/dome/src/renderer/data/compare.ts
index 727fbe48af4..6dcbec1d018 100644
--- a/ivette/src/dome/src/renderer/data/compare.ts
+++ b/ivette/src/dome/src/renderer/data/compare.ts
@@ -86,7 +86,7 @@ export function sequence<A>(...orders: (Order<A> | undefined)[]): Order<A> {
   };
 }
 
-/** Compare optional values. */
+/** Compare optional values. Undefined values come first. */
 export function option<A>(order: Order<A>): Order<undefined | A> {
   return (x?: A, y?: A) => {
     if (x == undefined && y == undefined) return 0;
@@ -96,6 +96,16 @@ export function option<A>(order: Order<A>): Order<undefined | A> {
   };
 }
 
+/** Compare optional values. Undefined values come last. */
+export function defined<A>(order: Order<A>): Order<undefined | A> {
+  return (x?: A, y?: A) => {
+    if (x == undefined && y == undefined) return 0;
+    if (x == undefined) return 1;
+    if (y == undefined) return -1;
+    return order(x, y);
+  };
+}
+
 /** Lexicographic comparison of array elements. */
 export function array<A>(order: Order<A>): Order<A[]> {
   return (x: A[], y: A[]) => {
diff --git a/ivette/src/dome/src/renderer/table/style.css b/ivette/src/dome/src/renderer/table/style.css
index ea8d8cbabb0..f4bafb12d0c 100644
--- a/ivette/src/dome/src/renderer/table/style.css
+++ b/ivette/src/dome/src/renderer/table/style.css
@@ -97,7 +97,7 @@
 }
 
 .dome-window-active .dome-xTable-selected {
-    background: #92ceea ;
+    background: #8ce0fb ;
 }
 
 .dome-window-inactive .dome-xTable-selected {
diff --git a/ivette/src/renderer/Properties.tsx b/ivette/src/renderer/Properties.tsx
index 78b6fc1ecb7..8ac3ea55fe7 100644
--- a/ivette/src/renderer/Properties.tsx
+++ b/ivette/src/renderer/Properties.tsx
@@ -55,7 +55,7 @@ const bySource =
 
 const byProperty =
   Compare.byFields<Property>({
-    function: Compare.option(Compare.alpha),
+    function: Compare.defined(Compare.alpha),
     source: bySource,
     kind: Compare.primitive,
     status: Compare.primitive,
-- 
GitLab