From 0094f800dc1e73533205ed1bfb966ad673987eb7 Mon Sep 17 00:00:00 2001
From: Alexander Rose <alexander.rose@weirdbyte.de>
Date: Mon, 21 Oct 2019 18:18:26 -0700
Subject: [PATCH] fixed entity-source color theme labels

---
 src/mol-theme/color/entity-source.ts | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/src/mol-theme/color/entity-source.ts b/src/mol-theme/color/entity-source.ts
index 97cdee890..e2f9f44bc 100644
--- a/src/mol-theme/color/entity-source.ts
+++ b/src/mol-theme/color/entity-source.ts
@@ -102,6 +102,14 @@ function getMaps(models: ReadonlyArray<Model>) {
     return { seqToSrcByModelEntity, srcKeySerialMap }
 }
 
+function getLabelTable(srcKeySerialMap: Map<string, number>) {
+    let unnamedCount = 0
+    return ['Unknown', ...Array.from(srcKeySerialMap.keys()).map(v => {
+        const l = v.split('|')[2]
+        return l === '1' ? `Unnamed ${++unnamedCount}` : l.split(',').join(', ')
+    })]
+}
+
 export function EntitySourceColorTheme(ctx: ThemeDataContext, props: PD.Values<EntitySourceColorThemeParams>): ColorTheme<EntitySourceColorThemeParams> {
     let color: LocationColor
     let legend: ScaleLegend | TableLegend | undefined
@@ -111,11 +119,7 @@ export function EntitySourceColorTheme(ctx: ThemeDataContext, props: PD.Values<E
         const { models } = ctx.structure.root
         const { seqToSrcByModelEntity, srcKeySerialMap } = getMaps(models)
 
-        const labelTable = Array.from(srcKeySerialMap.keys()).map(v => {
-            const l = v.split('|')[2]
-            return l === '1' ? 'Unnamed' : l
-        })
-        labelTable.push('Unknown')
+        const labelTable = getLabelTable(srcKeySerialMap)
         props.palette.params.valueLabel = (i: number) => labelTable[i]
 
         const palette = getPalette(srcKeySerialMap.size + 1, props)
-- 
GitLab