Skip to content

Commit ad176d5

Browse files
committed
@
fix(tree): hide single-item context menu commands when multiple items selected Add `&& !listMultiSelection` to the `when` clause of 36 context menu commands in the Connections tree view. When multiple items are selected (`listMultiSelection` is true), single-item commands are now hidden, preventing silent failures or unexpected behavior. Commands already supporting multi-select (removeConnection, moveItems) and discovery-view-only commands are intentionally left unchanged. Closes #668 @
1 parent d0675ea commit ad176d5

1 file changed

Lines changed: 36 additions & 36 deletions

File tree

package.json

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -684,17 +684,17 @@
684684
"view/item/context": [
685685
{
686686
"command": "vscode-documentdb.command.connectionsView.updateConnectionString",
687-
"when": "view == connectionsView && viewItem =~ /\\btreeitem_documentdbcluster\\b/i",
687+
"when": "view == connectionsView && viewItem =~ /\\btreeitem_documentdbcluster\\b/i && !listMultiSelection",
688688
"group": "3@1"
689689
},
690690
{
691691
"command": "vscode-documentdb.command.connectionsView.updateCredentials",
692-
"when": "view == connectionsView && viewItem =~ /\\btreeitem_documentdbcluster\\b/i",
692+
"when": "view == connectionsView && viewItem =~ /\\btreeitem_documentdbcluster\\b/i && !listMultiSelection",
693693
"group": "3@2"
694694
},
695695
{
696696
"command": "vscode-documentdb.command.connectionsView.renameConnection",
697-
"when": "view == connectionsView && viewItem =~ /\\btreeitem_documentdbcluster\\b/i",
697+
"when": "view == connectionsView && viewItem =~ /\\btreeitem_documentdbcluster\\b/i && !listMultiSelection",
698698
"group": "3@3"
699699
},
700700
{
@@ -712,19 +712,19 @@
712712
{
713713
"//": "New Connection in Folder...",
714714
"command": "vscode-documentdb.command.connectionsView.newConnectionInFolder",
715-
"when": "view == connectionsView && viewItem =~ /\\b(treeItem_folder|treeItem_LocalEmulators|treeItem_emptyFolderPlaceholder)\\b/i",
715+
"when": "view == connectionsView && viewItem =~ /\\b(treeItem_folder|treeItem_LocalEmulators|treeItem_emptyFolderPlaceholder)\\b/i && !listMultiSelection",
716716
"group": "0@1"
717717
},
718718
{
719719
"//": "Create Subfolder in Folder...",
720720
"command": "vscode-documentdb.command.connectionsView.createSubfolder",
721-
"when": "view == connectionsView && viewItem =~ /\\b(treeItem_folder|treeItem_LocalEmulators|treeItem_emptyFolderPlaceholder)\\b/i",
721+
"when": "view == connectionsView && viewItem =~ /\\b(treeItem_folder|treeItem_LocalEmulators|treeItem_emptyFolderPlaceholder)\\b/i && !listMultiSelection",
722722
"group": "0@2"
723723
},
724724
{
725725
"//": "Rename Folder...",
726726
"command": "vscode-documentdb.command.connectionsView.renameFolder",
727-
"when": "view == connectionsView && viewItem =~ /\\btreeItem_folder\\b/i",
727+
"when": "view == connectionsView && viewItem =~ /\\btreeItem_folder\\b/i && !listMultiSelection",
728728
"group": "1@1"
729729
},
730730
{
@@ -736,7 +736,7 @@
736736
{
737737
"//": "Delete Folder...",
738738
"command": "vscode-documentdb.command.connectionsView.deleteFolder",
739-
"when": "view == connectionsView && viewItem =~ /\\btreeItem_folder\\b/i",
739+
"when": "view == connectionsView && viewItem =~ /\\btreeItem_folder\\b/i && !listMultiSelection",
740740
"group": "1@3"
741741
},
742742
{
@@ -797,145 +797,145 @@
797797
{
798798
"//": "Create database",
799799
"command": "vscode-documentdb.command.createDatabase",
800-
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_documentdbcluster\\b/i",
800+
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_documentdbcluster\\b/i && !listMultiSelection",
801801
"group": "1@1"
802802
},
803803
{
804804
"//": "Copy connection string",
805805
"command": "vscode-documentdb.command.copyConnectionString",
806-
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_documentdbcluster\\b/i",
806+
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_documentdbcluster\\b/i && !listMultiSelection",
807807
"group": "2@1"
808808
},
809809
{
810810
"//": "[Account] Open Interactive Shell",
811811
"command": "vscode-documentdb.command.shell.open",
812-
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_documentdbcluster\\b/i",
812+
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_documentdbcluster\\b/i && !listMultiSelection",
813813
"group": "5@1"
814814
},
815815
{
816816
"//": "[Database] Create collection",
817817
"command": "vscode-documentdb.command.createCollection",
818-
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_database\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i",
818+
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_database\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i && !listMultiSelection",
819819
"group": "1@1"
820820
},
821821
{
822822
"//": "[Database] Delete database",
823823
"command": "vscode-documentdb.command.dropDatabase",
824-
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_database\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i",
824+
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_database\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i && !listMultiSelection",
825825
"group": "2@1"
826826
},
827827
{
828828
"//": "[Database] Paste Collection",
829829
"command": "vscode-documentdb.command.pasteCollection",
830-
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_database\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i",
830+
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_database\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i && !listMultiSelection",
831831
"group": "1@2"
832832
},
833833
{
834834
"//": "[Database] Open Interactive Shell",
835835
"command": "vscode-documentdb.command.shell.open",
836-
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_database\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i",
836+
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_database\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i && !listMultiSelection",
837837
"group": "5@1"
838838
},
839839
{
840840
"//": "[Database] Open Interactive Shell (inline)",
841841
"command": "vscode-documentdb.command.shell.open.inline",
842-
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_database\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i",
842+
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_database\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i && !listMultiSelection",
843843
"group": "inline@1"
844844
},
845845
{
846846
"//": "[Collection] Mongo DB|Cluster Open collection",
847847
"command": "vscode-documentdb.command.containerView.open",
848-
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_collection\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i",
848+
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_collection\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i && !listMultiSelection",
849849
"group": "1@1"
850850
},
851851
{
852852
"//": "[Collection] Create document",
853853
"command": "vscode-documentdb.command.createDocument",
854-
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_collection\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i",
854+
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_collection\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i && !listMultiSelection",
855855
"group": "2@1"
856856
},
857857
{
858858
"//": "[Collection] Import Documents",
859859
"command": "vscode-documentdb.command.importDocuments",
860-
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_collection\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i",
860+
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_collection\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i && !listMultiSelection",
861861
"group": "3@1"
862862
},
863863
{
864864
"//": "[Collection] Export documents",
865865
"command": "vscode-documentdb.command.exportDocuments",
866-
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_collection\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i",
866+
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_collection\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i && !listMultiSelection",
867867
"group": "3@2"
868868
},
869869
{
870870
"//": "[Cluster] Data Migration",
871871
"command": "vscode-documentdb.command.accessDataMigrationServices",
872-
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_documentdbcluster\\b/i",
872+
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_documentdbcluster\\b/i && !listMultiSelection",
873873
"group": "2@2"
874874
},
875875
{
876876
"//": "[Collection] Drop collection",
877877
"command": "vscode-documentdb.command.dropCollection",
878-
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_collection\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i",
878+
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_collection\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i && !listMultiSelection",
879879
"group": "4@1"
880880
},
881881
{
882882
"//": "[Index] Hide Index",
883883
"command": "vscode-documentdb.command.hideIndex",
884-
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_index\\b/i && !(viewItem =~ /\\bstate_hidden\\b/i) && !(viewItem =~ /\\bstate_default\\b/i) && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i",
884+
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_index\\b/i && !(viewItem =~ /\\bstate_hidden\\b/i) && !(viewItem =~ /\\bstate_default\\b/i) && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i && !listMultiSelection",
885885
"group": "3@1"
886886
},
887887
{
888888
"//": "[Index] Unhide Index",
889889
"command": "vscode-documentdb.command.unhideIndex",
890-
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_index\\b/i && viewItem =~ /\\bstate_hidden\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i",
890+
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_index\\b/i && viewItem =~ /\\bstate_hidden\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i && !listMultiSelection",
891891
"group": "3@2"
892892
},
893893
{
894894
"//": "[Index] Delete Index",
895895
"command": "vscode-documentdb.command.dropIndex",
896-
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_index\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i",
896+
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_index\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i && !listMultiSelection",
897897
"group": "4@1"
898898
},
899899
{
900900
"//": "[Collection] Open Interactive Shell",
901901
"command": "vscode-documentdb.command.shell.open",
902-
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_collection\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i",
902+
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_collection\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i && !listMultiSelection",
903903
"group": "5@1"
904904
},
905905
{
906906
"//": "[Collection] Open Collection (inline)",
907907
"command": "vscode-documentdb.command.containerView.open.inline",
908-
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_collection\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i",
908+
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_collection\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i && !listMultiSelection",
909909
"group": "inline@1"
910910
},
911911
{
912912
"//": "[Collection] Open Interactive Shell (inline)",
913913
"command": "vscode-documentdb.command.shell.open.inline",
914-
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_collection\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i",
914+
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_collection\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i && !listMultiSelection",
915915
"group": "inline@3"
916916
},
917917
{
918918
"//": "[Collection] New Query Playground (inline)",
919919
"command": "vscode-documentdb.command.playground.new.inline",
920-
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_collection\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i",
920+
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_collection\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i && !listMultiSelection",
921921
"group": "inline@2"
922922
},
923923
{
924924
"//": "[Database/Collection] New Query Playground",
925925
"command": "vscode-documentdb.command.playground.new",
926-
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_(database|collection)\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i",
926+
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_(database|collection)\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i && !listMultiSelection",
927927
"group": "5@2"
928928
},
929929
{
930930
"//": "[Collection/Documents] Mongo DB|Cluster Open collection",
931931
"command": "vscode-documentdb.command.containerView.open",
932-
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_documents\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i",
932+
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_documents\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i && !listMultiSelection",
933933
"group": "2@1"
934934
},
935935
{
936936
"//": "[TreeItem] Refresh Item (cluster, database, collection, documents, indexes) -> but not in azure(ResourceGroups|FocusView) as it's done there by the Azure Resources host extension.",
937937
"command": "vscode-documentdb.command.refresh",
938-
"when": "view =~ /connectionsView|discoveryView/ && viewItem =~ /\\btreeitem_(documentdbcluster|database|collection|documents|indexes|index)\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i",
938+
"when": "view =~ /connectionsView|discoveryView/ && viewItem =~ /\\btreeitem_(documentdbcluster|database|collection|documents|indexes|index)\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i && !listMultiSelection",
939939
"group": "zheLastGroup@1"
940940
},
941941
{
@@ -947,31 +947,31 @@
947947
{
948948
"//": "[Collection] Copy Collection",
949949
"command": "vscode-documentdb.command.copyCollection",
950-
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_collection\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i",
950+
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_collection\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i && !listMultiSelection",
951951
"group": "3@3"
952952
},
953953
{
954954
"//": "[Collection] Paste Collection",
955955
"command": "vscode-documentdb.command.pasteCollection",
956-
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_collection\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i",
956+
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_collection\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i && !listMultiSelection",
957957
"group": "3@4"
958958
},
959959
{
960960
"//": "[Database] Copy Reference",
961961
"command": "vscode-documentdb.command.copyReference",
962-
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_database\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i",
962+
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_database\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i && !listMultiSelection",
963963
"group": "yheAlmostLastGroup@1"
964964
},
965965
{
966966
"//": "[Collection] Copy Reference",
967967
"command": "vscode-documentdb.command.copyReference",
968-
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_collection\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i",
968+
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_collection\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i && !listMultiSelection",
969969
"group": "yheAlmostLastGroup@1"
970970
},
971971
{
972972
"//": "[Index] Copy Reference",
973973
"command": "vscode-documentdb.command.copyReference",
974-
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_index\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i",
974+
"when": "view =~ /connectionsView|discoveryView|azure(ResourceGroups|FocusView)/ && viewItem =~ /\\btreeitem_index\\b/i && viewItem =~ /\\bexperience_(documentDB|mongoRU)\\b/i && !listMultiSelection",
975975
"group": "yheAlmostLastGroup@1"
976976
}
977977
],

0 commit comments

Comments
 (0)