提交 7361bd99 编写于 作者: M Martin Aeschlimann

Revert "Do not clear selection in single-select case (fixes #57850)"

This reverts commit a6626a8d.
上级 1b38a646
...@@ -16,7 +16,6 @@ interface QuickPickExpected { ...@@ -16,7 +16,6 @@ interface QuickPickExpected {
acceptedItems: { acceptedItems: {
active: string[][]; active: string[][];
selection: string[][]; selection: string[][];
dispose: boolean[];
}; };
} }
...@@ -37,8 +36,7 @@ suite('window namespace tests', function () { ...@@ -37,8 +36,7 @@ suite('window namespace tests', function () {
selectionItems: [['zwei']], selectionItems: [['zwei']],
acceptedItems: { acceptedItems: {
active: [['zwei']], active: [['zwei']],
selection: [['zwei']], selection: [['zwei']]
dispose: [true]
}, },
}, (err?: any) => done(err)); }, (err?: any) => done(err));
quickPick.items = ['eins', 'zwei', 'drei'].map(label => ({ label })); quickPick.items = ['eins', 'zwei', 'drei'].map(label => ({ label }));
...@@ -63,8 +61,7 @@ suite('window namespace tests', function () { ...@@ -63,8 +61,7 @@ suite('window namespace tests', function () {
selectionItems: [['zwei']], selectionItems: [['zwei']],
acceptedItems: { acceptedItems: {
active: [['zwei']], active: [['zwei']],
selection: [['zwei']], selection: [['zwei']]
dispose: [true]
}, },
}, (err?: any) => done(err)); }, (err?: any) => done(err));
quickPick.items = ['eins', 'zwei', 'drei'].map(label => ({ label })); quickPick.items = ['eins', 'zwei', 'drei'].map(label => ({ label }));
...@@ -89,8 +86,7 @@ suite('window namespace tests', function () { ...@@ -89,8 +86,7 @@ suite('window namespace tests', function () {
selectionItems: [['eins'], ['eins', 'zwei']], selectionItems: [['eins'], ['eins', 'zwei']],
acceptedItems: { acceptedItems: {
active: [['zwei']], active: [['zwei']],
selection: [['eins', 'zwei']], selection: [['eins', 'zwei']]
dispose: [true]
}, },
}, (err?: any) => done(err)); }, (err?: any) => done(err));
quickPick.canSelectMany = true; quickPick.canSelectMany = true;
...@@ -106,31 +102,6 @@ suite('window namespace tests', function () { ...@@ -106,31 +102,6 @@ suite('window namespace tests', function () {
})() })()
.catch(err => done(err)); .catch(err => done(err));
}); });
test('createQuickPick, selection events', function (_done) {
let done = (err?: any) => {
done = () => {};
_done(err);
};
const quickPick = createQuickPick({
events: ['active', 'selection', 'accept', 'selection', 'accept', 'hide'],
activeItems: [['eins']],
selectionItems: [['zwei'], ['drei']],
acceptedItems: {
active: [['eins'], ['eins']],
selection: [['zwei'], ['drei']],
dispose: [false, true]
},
}, (err?: any) => done(err));
quickPick.items = ['eins', 'zwei', 'drei'].map(label => ({ label }));
quickPick.show();
quickPick.selectedItems = [quickPick.items[1]];
setTimeout(() => {
quickPick.selectedItems = [quickPick.items[2]];
}, 0);
});
}); });
}); });
...@@ -163,9 +134,7 @@ function createQuickPick(expected: QuickPickExpected, done: (err?: any) => void) ...@@ -163,9 +134,7 @@ function createQuickPick(expected: QuickPickExpected, done: (err?: any) => void)
assert.deepEqual(quickPick.activeItems.map(item => item.label), expectedActive); assert.deepEqual(quickPick.activeItems.map(item => item.label), expectedActive);
const expectedSelection = expected.acceptedItems.selection.shift(); const expectedSelection = expected.acceptedItems.selection.shift();
assert.deepEqual(quickPick.selectedItems.map(item => item.label), expectedSelection); assert.deepEqual(quickPick.selectedItems.map(item => item.label), expectedSelection);
if (expected.acceptedItems.dispose.shift()) {
quickPick.dispose(); quickPick.dispose();
}
} catch (err) { } catch (err) {
done(err); done(err);
} }
......
...@@ -496,9 +496,6 @@ class QuickPick<T extends IQuickPickItem> extends QuickInput implements IQuickPi ...@@ -496,9 +496,6 @@ class QuickPick<T extends IQuickPickItem> extends QuickInput implements IQuickPi
}), }),
this.ui.list.onDidChangeSelection(selectedItems => { this.ui.list.onDidChangeSelection(selectedItems => {
if (this.canSelectMany) { if (this.canSelectMany) {
if (selectedItems.length) {
this.ui.list.setSelectedElements([]);
}
return; return;
} }
if (this.selectedItemsToConfirm !== this._selectedItems && equals(selectedItems, this._selectedItems, (a, b) => a === b)) { if (this.selectedItemsToConfirm !== this._selectedItems && equals(selectedItems, this._selectedItems, (a, b) => a === b)) {
......
...@@ -284,6 +284,11 @@ export class QuickInputList { ...@@ -284,6 +284,11 @@ export class QuickInputList {
this._onLeave.fire(); this._onLeave.fire();
} }
})); }));
this.disposables.push(this.list.onSelectionChange(e => {
if (e.elements.length) {
this.list.setSelection([]);
}
}));
} }
@memoize @memoize
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册