Skip to content

Commit f83272f

Browse files
authored
Embedding Projector: fix inspector panel inconsistencies (#6311)
## Motivation for features / changes Update UI inconsistencies in the inspector panel ## Technical description of changes Update minor styles Reset button text when selection changed Reset searchbox text when metadata or dataset changed ## Screenshots of UI changes Before: ![image](https://user-images.githubusercontent.com/31378877/232666120-1f816916-7d73-42e8-9444-af190d8543ab.png) After: <img width="293" alt="Screenshot 2023-04-17 at 8 48 37 PM" src="https://user-images.githubusercontent.com/31378877/232666272-2e655855-8b87-4fb5-b8ce-f95b4de6bc43.png"> ## Detailed steps to verify changes work correctly (as executed by you) 1. Select some points 1. click out from selection 1. verify that the buttons reset ## Alternate designs / implementations considered
1 parent e831ddb commit f83272f

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed

tensorboard/plugins/projector/vz_projector/vz-projector-inspector-panel.html.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ export const template = html`
181181
182182
.nn-slider {
183183
--paper-slider-input: {
184-
width: 64px;
184+
width: 72px;
185185
}
186186
--paper-input-container-input: {
187187
font-size: 14px;
@@ -218,13 +218,13 @@ export const template = html`
218218
</style>
219219
<div class="container">
220220
<div class="buttons">
221-
<button class="button reset-filter">Show All Data</button>
221+
<button class="button reset-filter">Show all data</button>
222222
<button class="button set-filter">Isolate selection</button>
223223
<button class="button clear-selection">Clear selection</button>
224224
</div>
225225
<div class="search-by">
226226
<vz-projector-input id="search-box" label="Search"></vz-projector-input>
227-
<paper-dropdown-menu no-animations label="by">
227+
<paper-dropdown-menu no-animations label="By">
228228
<paper-listbox
229229
attr-for-selected="value"
230230
class="dropdown-content"
@@ -245,7 +245,7 @@ export const template = html`
245245
<div class="neighbors">
246246
<div class="neighbors-options">
247247
<div class="slider num-nn">
248-
<span class="option-label">neighbors</span>
248+
<span class="option-label">Neighbors</span>
249249
<paper-icon-button
250250
icon="help"
251251
class="help-icon"
@@ -270,7 +270,7 @@ export const template = html`
270270
</div>
271271
</div>
272272
<div class="distance">
273-
<span class="option-label">distance</span>
273+
<span class="option-label">Distance</span>
274274
<div class="options">
275275
<a class="selected cosine" href="javascript:void(0);">COSINE</a>
276276
<a class="euclidean" href="javascript:void(0);">EUCLIDEAN</a>

tensorboard/plugins/projector/vz_projector/vz-projector-inspector-panel.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ class InspectorPanel extends LegacyElementMixin(PolymerElement) {
106106
} else {
107107
this.updateSearchResults([]);
108108
}
109+
this.searchBox.message = '';
109110
}
110111
private enableResetFilterButton(enabled: boolean) {
111112
this.resetFilterButton.disabled = !enabled;
@@ -151,6 +152,7 @@ class InspectorPanel extends LegacyElementMixin(PolymerElement) {
151152
this.selectedPointIndices,
152153
this.neighborsOfFirstPoint
153154
);
155+
this.searchBox.setValue('', false);
154156
}
155157
datasetChanged() {
156158
this.enableResetFilterButton(false);
@@ -159,6 +161,10 @@ class InspectorPanel extends LegacyElementMixin(PolymerElement) {
159161
_refreshNeighborsList() {
160162
this.updateNeighborsList();
161163
}
164+
@observe('selectedMetadataField')
165+
_selectedMetadataFieldChanged() {
166+
this.searchBox.setValue('', false);
167+
}
162168
metadataEditorContext(enabled: boolean, metadataColumn: string) {
163169
if (!this.projector || !this.projector.dataSet) {
164170
return;
@@ -382,6 +388,7 @@ class InspectorPanel extends LegacyElementMixin(PolymerElement) {
382388
this.setFilterButton.disabled = null!;
383389
this.clearSelectionButton.disabled = null!;
384390
} else {
391+
this.setFilterButton.innerText = 'Isolate selection';
385392
this.setFilterButton.disabled = true;
386393
this.clearSelectionButton.disabled = true;
387394
}
@@ -436,12 +443,12 @@ class InspectorPanel extends LegacyElementMixin(PolymerElement) {
436443
inRegexMode,
437444
this.selectedMetadataField
438445
);
446+
this.projectorEventContext.notifySelectionChanged(indices);
439447
if (indices.length === 0) {
440448
this.searchBox.message = '0 matches.';
441449
} else {
442450
this.searchBox.message = `${indices.length} matches.`;
443451
}
444-
this.projectorEventContext.notifySelectionChanged(indices);
445452
};
446453
this.searchBox.registerInputChangedListener((value, inRegexMode) => {
447454
updateInput(value, inRegexMode);

0 commit comments

Comments
 (0)