Skip to content

Commit 85ae0c5

Browse files
authored
Remove auto apply filters to experiment selection for plots (#3315)
1 parent 2fc13e6 commit 85ae0c5

File tree

19 files changed

+20
-874
lines changed

19 files changed

+20
-874
lines changed

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,6 @@ These are the VS Code [settings] available for the Extension:
155155
| `dvc.doNotShowWalkthroughAfterInstall` | Do not prompt to show the Get Started page after installing. Useful for pre-configured development environments |
156156
| `dvc.doNotRecommendRedHatExtension` | Do not prompt to install the Red Hat YAML extension, which helps with DVC YAML schema validation (`dvc.yaml` and `.dvc` files). |
157157
| `dvc.doNotShowCliUnavailable` | Do not warn when the workspace contains a DVC project but the DVC binary is unavailable. |
158-
| `dvc.doNotShowUnableToFilter` | Do not warn before disabling auto-apply filters when these would result in too many experiments being selected. |
159158

160159
> **Note** that the `Setup The Workspace` command helps you set up the basic
161160
> ones at the [Workspace level] (saved to `.vscode/setting.json`).

extension/package.json

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -532,18 +532,6 @@
532532
"category": "DVC",
533533
"icon": "$(list-filter)"
534534
},
535-
{
536-
"title": "%command.views.experimentsTree.autoApplyFilters%",
537-
"command": "dvc.views.experimentsTree.autoApplyFilters",
538-
"category": "DVC",
539-
"icon": "$(filter)"
540-
},
541-
{
542-
"title": "%command.views.experimentsTree.disableAutoApplyFilters%",
543-
"command": "dvc.views.experimentsTree.disableAutoApplyFilters",
544-
"category": "DVC",
545-
"icon": "$(close)"
546-
},
547535
{
548536
"title": "%command.views.plotsPathsTree.selectPlots%",
549537
"command": "dvc.views.plotsPathsTree.selectPlots",
@@ -588,12 +576,6 @@
588576
"type": "boolean",
589577
"default": null
590578
},
591-
"dvc.doNotShowUnableToFilter": {
592-
"title": "%config.doNotShowUnableToFilter.title%",
593-
"description": "%config.doNotShowUnableToFilter.description%",
594-
"type": "boolean",
595-
"default": null
596-
},
597579
"dvc.dvcPath": {
598580
"title": "%config.dvcPath.title%",
599581
"description": "%config.dvcPath.description%",
@@ -919,14 +901,6 @@
919901
"command": "dvc.views.experimentsSortByTree.removeSort",
920902
"when": "false"
921903
},
922-
{
923-
"command": "dvc.views.experimentsTree.autoApplyFilters",
924-
"when": "dvc.commands.available && dvc.project.available && !dvc.experiments.filter.selected"
925-
},
926-
{
927-
"command": "dvc.views.experimentsTree.disableAutoApplyFilters",
928-
"when": "dvc.commands.available && dvc.project.available && dvc.experiments.filter.selected"
929-
},
930904
{
931905
"command": "dvc.views.experimentsTree.selectExperiments",
932906
"when": "dvc.commands.available && dvc.project.available"

extension/package.nls.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,6 @@
6666
"command.views.experimentsFilterByTree.removeFilter": "Remove Filter From Experiments Table",
6767
"command.views.experimentsSortByTree.removeAllSorts": "Remove All Sorts From Experiments Table",
6868
"command.views.experimentsSortByTree.removeSort": "Remove Sort From Experiments Table",
69-
"command.views.experimentsTree.autoApplyFilters": "Auto Apply Filters To Experiment Selection",
70-
"command.views.experimentsTree.disableAutoApplyFilters": "Disable Auto Apply Filters To Experiment Selection",
7169
"command.views.experiments.applyExperiment": "Apply to Workspace",
7270
"command.views.experiments.branchExperiment": "Create new Branch",
7371
"command.views.experiments.queueExperiment": "Modify Param(s) and Queue",

extension/src/commands/external.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,7 @@ export enum RegisteredCliCommands {
4949
}
5050

5151
export enum RegisteredCommands {
52-
EXPERIMENT_AUTO_APPLY_FILTERS = 'dvc.views.experimentsTree.autoApplyFilters',
5352
EXPERIMENT_COLUMNS_SELECT = 'dvc.views.experimentsColumnsTree.selectColumns',
54-
EXPERIMENT_DISABLE_AUTO_APPLY_FILTERS = 'dvc.views.experimentsTree.disableAutoApplyFilters',
5553
EXPERIMENT_FILTER_ADD = 'dvc.addExperimentsTableFilter',
5654
EXPERIMENT_FILTER_ADD_STARRED = 'dvc.addStarredExperimentsTableFilter',
5755
EXPERIMENT_FILTER_REMOVE = 'dvc.views.experimentsFilterByTree.removeFilter',

extension/src/experiments/commands/register.ts

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -340,18 +340,6 @@ export const registerExperimentCommands = (
340340
registerExperimentQuickPickCommands(experiments, internalCommands)
341341
registerExperimentRunCommands(experiments, internalCommands, setup)
342342

343-
internalCommands.registerExternalCommand(
344-
RegisteredCommands.EXPERIMENT_AUTO_APPLY_FILTERS,
345-
(context: Context) =>
346-
experiments.autoApplyFilters(true, getDvcRootFromContext(context))
347-
)
348-
349-
internalCommands.registerExternalCommand(
350-
RegisteredCommands.EXPERIMENT_DISABLE_AUTO_APPLY_FILTERS,
351-
(context: Context) =>
352-
experiments.autoApplyFilters(false, getDvcRootFromContext(context))
353-
)
354-
355343
internalCommands.registerExternalCommand(
356344
RegisteredCommands.EXPERIMENT_TOGGLE,
357345
({ dvcRoot, id }: ExperimentDetails) =>

extension/src/experiments/index.ts

Lines changed: 3 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,13 @@ import {
2121
pickFiltersToRemove
2222
} from './model/filterBy/quickPick'
2323
import { Color } from './model/status/colors'
24-
import { tooManySelected, UNSELECTED } from './model/status'
24+
import { UNSELECTED } from './model/status'
2525
import { starredSort } from './model/sortBy/constants'
2626
import { pickSortsToRemove, pickSortToAdd } from './model/sortBy/quickPick'
2727
import { ColumnsModel } from './columns/model'
2828
import { CheckpointsModel } from './checkpoints/model'
2929
import { ExperimentsData } from './data'
30-
import { askToDisableAutoApplyFilters } from './toast'
31-
import { Experiment, ColumnType, TableData, isQueued } from './webview/contract'
30+
import { Experiment, ColumnType, TableData } from './webview/contract'
3231
import { WebviewMessages } from './webview/messages'
3332
import { DecorationProvider } from './model/decorationProvider'
3433
import { starredFilter } from './model/filterBy/constants'
@@ -38,7 +37,6 @@ import { ExperimentsOutput, EXPERIMENT_WORKSPACE_ID } from '../cli/dvc/contract'
3837
import { ViewKey } from '../webview/constants'
3938
import { BaseRepository } from '../webview/repository'
4039
import { FileSystemData } from '../fileSystem/data'
41-
import { Response } from '../vscode/response'
4240
import { Title } from '../vscode/title'
4341
import { createTypedAccumulator } from '../util/object'
4442
import { pickPaths } from '../path/selection/quickPick'
@@ -305,12 +303,7 @@ export class Experiments extends BaseRepository<TableData> {
305303
return this.notifyChanged()
306304
}
307305

308-
public async removeFilter(id: string) {
309-
const response = await this.checkAutoApplyFilters(id)
310-
if (response === Response.CANCEL) {
311-
return
312-
}
313-
306+
public removeFilter(id: string) {
314307
if (this.experiments.removeFilter(id)) {
315308
return this.notifyChanged()
316309
}
@@ -323,11 +316,6 @@ export class Experiments extends BaseRepository<TableData> {
323316
return
324317
}
325318

326-
const response = await this.checkAutoApplyFilters(...filterIdsToRemove)
327-
if (response === Response.CANCEL) {
328-
return
329-
}
330-
331319
this.experiments.removeFilters(filterIdsToRemove)
332320
return this.notifyChanged()
333321
}
@@ -356,7 +344,6 @@ export class Experiments extends BaseRepository<TableData> {
356344
return
357345
}
358346

359-
this.experiments.setSelectionMode(false)
360347
this.experiments.setSelected(selected)
361348
return this.notifyChanged()
362349
}
@@ -373,22 +360,6 @@ export class Experiments extends BaseRepository<TableData> {
373360
return this.notifyChanged()
374361
}
375362

376-
public async autoApplyFilters(useFilters: boolean) {
377-
this.experiments.setSelectionMode(useFilters)
378-
379-
if (useFilters) {
380-
const filteredExperiments = this.experiments
381-
.getUnfilteredExperiments()
382-
.filter(exp => !isQueued(exp.status))
383-
if (tooManySelected(filteredExperiments)) {
384-
await this.warnAndDoNotAutoApply(filteredExperiments)
385-
} else {
386-
this.experiments.setSelected(filteredExperiments)
387-
}
388-
return this.notifyChanged()
389-
}
390-
}
391-
392363
public pickExperiment() {
393364
return pickExperiment(
394365
this.experiments.getExperiments(),
@@ -593,34 +564,6 @@ export class Experiments extends BaseRepository<TableData> {
593564
return webviewMessages
594565
}
595566

596-
private async checkAutoApplyFilters(...filterIdsToRemove: string[]) {
597-
if (this.experiments.canAutoApplyFilters(...filterIdsToRemove)) {
598-
return
599-
}
600-
601-
const response = await askToDisableAutoApplyFilters(
602-
'Auto apply filters to experiment selection is currently active. Too many experiments would be selected by removing the selected filter(s), how would you like to proceed?',
603-
Response.TURN_OFF
604-
)
605-
if (response !== Response.CANCEL) {
606-
void this.autoApplyFilters(false)
607-
}
608-
return response
609-
}
610-
611-
private async warnAndDoNotAutoApply(filteredExperiments: Experiment[]) {
612-
this.experiments.setSelectionMode(false)
613-
614-
const response = await askToDisableAutoApplyFilters(
615-
'Too many experiments would be selected by applying the current filter(s), how would you like to proceed?',
616-
Response.SELECT_MOST_RECENT
617-
)
618-
619-
if (response === Response.SELECT_MOST_RECENT) {
620-
this.experiments.setSelected(filteredExperiments)
621-
}
622-
}
623-
624567
private async getExperimentId(overrideId?: string) {
625568
if (overrideId) {
626569
return overrideId

extension/src/experiments/model/filterBy/tree.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,10 +128,9 @@ export class ExperimentsFilterByTree
128128
return
129129
}
130130

131-
void this.experiments.getRepository(element).autoApplyFilters(false)
132131
const filters = await this.getChildren(element)
133132
for (const filter of filters) {
134-
void this.removeFilter(filter as FilterItem)
133+
this.removeFilter(filter as FilterItem)
135134
}
136135
}
137136

0 commit comments

Comments
 (0)