UNPKG

@microsoft/mgt

Version:
79 lines 2.67 kB
/** * ------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. * See License in the project root for license information. * ------------------------------------------------------------------------------------------- */ import { EventDispatcher } from './providers/EventDispatcher'; /** * Provides implementation for acquiring the necessary access token for calling the Microsoft Graph APIs. * * @export * @class Providers */ export class Providers { /** * returns the value of provider used globally. All components use this property to get a reference to the provider. * * @static * @type {IProvider} * @memberof Providers */ static get globalProvider() { return this._globalProvider; } static set globalProvider(provider) { if (provider !== this._globalProvider) { if (this._globalProvider) { this._globalProvider.removeStateChangedHandler(this.handleProviderStateChanged); } if (provider) { provider.onStateChanged(this.handleProviderStateChanged); } this._globalProvider = provider; this._eventDispatcher.fire(ProvidersChangedState.ProviderChanged); } } /** * Fires event when Provider changes state * * @static * @param {EventHandler<ProvidersChangedState>} event * @memberof Providers */ static onProviderUpdated(event) { this._eventDispatcher.add(event); } /** * Remove event handler * * @static * @param {EventHandler<ProvidersChangedState>} event * @memberof Providers */ static removeProviderUpdatedListener(event) { this._eventDispatcher.remove(event); } static handleProviderStateChanged() { Providers._eventDispatcher.fire(ProvidersChangedState.ProviderStateChanged); } } Providers._eventDispatcher = new EventDispatcher(); /** * on Provider Change State * * @export * @enum {number} */ export var ProvidersChangedState; (function (ProvidersChangedState) { /** * ProviderChanged = 0 */ ProvidersChangedState[ProvidersChangedState["ProviderChanged"] = 0] = "ProviderChanged"; /** * ProviderStateChanged = 1 */ ProvidersChangedState[ProvidersChangedState["ProviderStateChanged"] = 1] = "ProviderStateChanged"; })(ProvidersChangedState || (ProvidersChangedState = {})); //# sourceMappingURL=Providers.js.map