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