Upload index.html with huggingface_hub
Browse files- index.html +33 -2
index.html
CHANGED
|
@@ -157,6 +157,14 @@
|
|
| 157 |
cursor: pointer;
|
| 158 |
accent-color: #4361ee;
|
| 159 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 160 |
.checkbox-item .model-name.missing {
|
| 161 |
text-decoration: line-through;
|
| 162 |
opacity: 0.5;
|
|
@@ -1081,7 +1089,7 @@
|
|
| 1081 |
}
|
| 1082 |
lastCkpt = m.is_checkpoint;
|
| 1083 |
|
| 1084 |
-
const lbl = document.createElement('
|
| 1085 |
lbl.className = 'checkbox-item';
|
| 1086 |
|
| 1087 |
const cb = document.createElement('input');
|
|
@@ -1092,7 +1100,24 @@
|
|
| 1092 |
cb.addEventListener('change', () => this.renderChart());
|
| 1093 |
|
| 1094 |
const dot = document.createElement('span');
|
| 1095 |
-
dot.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1096 |
|
| 1097 |
const name = document.createElement('span');
|
| 1098 |
name.className = 'model-name';
|
|
@@ -1122,6 +1147,12 @@
|
|
| 1122 |
}
|
| 1123 |
});
|
| 1124 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1125 |
lbl.append(cb, dot, name);
|
| 1126 |
container.appendChild(lbl);
|
| 1127 |
}
|
|
|
|
| 157 |
cursor: pointer;
|
| 158 |
accent-color: #4361ee;
|
| 159 |
}
|
| 160 |
+
.checkbox-item .color-dot {
|
| 161 |
+
cursor: pointer;
|
| 162 |
+
border: 1px solid transparent;
|
| 163 |
+
transition: border-color 0.15s;
|
| 164 |
+
}
|
| 165 |
+
.checkbox-item .color-dot:hover {
|
| 166 |
+
border-color: #888;
|
| 167 |
+
}
|
| 168 |
.checkbox-item .model-name.missing {
|
| 169 |
text-decoration: line-through;
|
| 170 |
opacity: 0.5;
|
|
|
|
| 1089 |
}
|
| 1090 |
lastCkpt = m.is_checkpoint;
|
| 1091 |
|
| 1092 |
+
const lbl = document.createElement('div');
|
| 1093 |
lbl.className = 'checkbox-item';
|
| 1094 |
|
| 1095 |
const cb = document.createElement('input');
|
|
|
|
| 1100 |
cb.addEventListener('change', () => this.renderChart());
|
| 1101 |
|
| 1102 |
const dot = document.createElement('span');
|
| 1103 |
+
dot.className = 'color-dot';
|
| 1104 |
+
dot.dataset.model = m.model_display_name;
|
| 1105 |
+
dot.style.cssText = `display:inline-block;width:9px;height:9px;border-radius:50%;background:${MODEL_COLORS[m.model_display_name]};position:relative`;
|
| 1106 |
+
|
| 1107 |
+
const colorInput = document.createElement('input');
|
| 1108 |
+
colorInput.type = 'color';
|
| 1109 |
+
colorInput.value = MODEL_COLORS[m.model_display_name];
|
| 1110 |
+
colorInput.style.cssText = 'position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;border:none;padding:0';
|
| 1111 |
+
colorInput.addEventListener('click', (e) => e.stopPropagation());
|
| 1112 |
+
colorInput.addEventListener('input', (e) => {
|
| 1113 |
+
const newColor = e.target.value;
|
| 1114 |
+
MODEL_COLORS[m.model_display_name] = newColor;
|
| 1115 |
+
document.querySelectorAll(`.color-dot[data-model="${CSS.escape(m.model_display_name)}"]`).forEach(d => {
|
| 1116 |
+
d.style.background = newColor;
|
| 1117 |
+
});
|
| 1118 |
+
panels.forEach((p) => p.renderChart());
|
| 1119 |
+
});
|
| 1120 |
+
dot.appendChild(colorInput);
|
| 1121 |
|
| 1122 |
const name = document.createElement('span');
|
| 1123 |
name.className = 'model-name';
|
|
|
|
| 1147 |
}
|
| 1148 |
});
|
| 1149 |
|
| 1150 |
+
// Click on name or container (but not dot) toggles checkbox
|
| 1151 |
+
name.addEventListener('click', () => { cb.checked = !cb.checked; cb.dispatchEvent(new Event('change')); });
|
| 1152 |
+
lbl.addEventListener('click', (e) => {
|
| 1153 |
+
if (e.target === lbl) { cb.checked = !cb.checked; cb.dispatchEvent(new Event('change')); }
|
| 1154 |
+
});
|
| 1155 |
+
|
| 1156 |
lbl.append(cb, dot, name);
|
| 1157 |
container.appendChild(lbl);
|
| 1158 |
}
|