mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-08 09:38:26 -05:00
Have resource deployment providers return disposables (#13690)
* Add dependent field provider to resource deployment * Change name to value provider service * Add error handling * providerId -> id * Set dropdown value correctly * missed id * back to providerId * fix updating missed id * Make resource deployment providers disposable
This commit is contained in:
@@ -3,16 +3,24 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import * as vscode from 'vscode';
|
||||
import * as rd from 'resource-deployment';
|
||||
import * as loc from '../localizedConstants';
|
||||
|
||||
class ValueProviderService {
|
||||
private _valueProviderStore = new Map<string, rd.IValueProvider>();
|
||||
registerValueProvider(provider: rd.IValueProvider): void {
|
||||
registerValueProvider(provider: rd.IValueProvider): vscode.Disposable {
|
||||
if (this._valueProviderStore.has(provider.id)) {
|
||||
throw new Error(loc.valueProviderAlreadyDefined(provider.id));
|
||||
}
|
||||
this._valueProviderStore.set(provider.id, provider);
|
||||
return {
|
||||
dispose: () => this.unregisterValueProvider(provider.id)
|
||||
};
|
||||
}
|
||||
|
||||
private unregisterValueProvider(providerId: string): void {
|
||||
this._valueProviderStore.delete(providerId);
|
||||
}
|
||||
|
||||
getValueProvider(providerId: string): rd.IValueProvider {
|
||||
|
||||
Reference in New Issue
Block a user