diff --git a/ivette/src/dome/src/renderer/data/compare.ts b/ivette/src/dome/src/renderer/data/compare.ts index 727fbe48af4d4c7110bf4ef817fc514c8f2f7c44..6dcbec1d018875f4d3eceff7f1eafb345d04b700 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 ea8d8cbabb0cafcc575783f03fa72cdf5652b285..f4bafb12d0c890260d1d45b62dfb52b98a4c09b1 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 78b6fc1ecb7b06caa5c5ff8ab2496736813a0c65..8ac3ea55fe736d49283631200b1c5560e2d48d14 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,