Skip to content

Commit affbef4

Browse files
committed
fixed provider components not working when used from bundle
1 parent f3a937a commit affbef4

File tree

1 file changed

+53
-6
lines changed

1 file changed

+53
-6
lines changed

src/components/providers/baseProvider.ts

Lines changed: 53 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,24 @@
66
*/
77

88
import { property } from 'lit-element';
9-
import { IProvider } from '../..';
9+
import { IProvider } from '../../providers/IProvider';
1010
import { MgtBaseComponent } from '../baseComponent';
1111

12+
/**
13+
* Abstract implementation for provider component
14+
*
15+
* @export
16+
* @abstract
17+
* @class MgtBaseProvider
18+
* @extends {MgtBaseComponent}
19+
*/
1220
export abstract class MgtBaseProvider extends MgtBaseComponent {
13-
public get provider() {
21+
/**
22+
* The IProvider created by this component
23+
*
24+
* @memberof MgtBaseProvider
25+
*/
26+
public get provider(): IProvider {
1427
return this._provider;
1528
}
1629

@@ -24,19 +37,45 @@ export abstract class MgtBaseProvider extends MgtBaseComponent {
2437
}
2538
}
2639

27-
public abstract get isAvailable(): boolean;
40+
/**
41+
* Gets weather this provider can be used in this environment
42+
*
43+
* @readonly
44+
* @type {boolean}
45+
* @memberof MgtBaseProvider
46+
*/
47+
public get isAvailable(): boolean {
48+
return true;
49+
}
2850

51+
/**
52+
* Higher priority provider that should be initialized before attempting
53+
* to initialize this provider. This provider will only be initialized
54+
* if all higher priority providers are not available.
55+
*
56+
* @type {MgtBaseProvider}
57+
* @memberof MgtBaseProvider
58+
*/
2959
@property({
3060
attribute: 'depends-on',
31-
type: String,
3261
converter: newValue => {
3362
return document.querySelector(newValue);
34-
}
63+
},
64+
type: String
3565
})
3666
public dependsOn: MgtBaseProvider;
3767

3868
private _provider: IProvider;
3969

70+
/**
71+
* Invoked when the element is first updated. Implement to perform one time
72+
* work on the element after update.
73+
*
74+
* Setting properties inside this method will trigger the element to update
75+
* again after this update cycle completes.
76+
*
77+
* * @param _changedProperties Map of changed properties with old values
78+
*/
4079
protected firstUpdated(changedProperties) {
4180
super.firstUpdated(changedProperties);
4281

@@ -57,7 +96,15 @@ export abstract class MgtBaseProvider extends MgtBaseComponent {
5796
}
5897
}
5998

60-
protected abstract initializeProvider();
99+
/**
100+
* method called to initialize the provider. Each derived class should provide
101+
* their own implementation
102+
*
103+
* @protected
104+
* @memberof MgtBaseProvider
105+
*/
106+
// tslint:disable-next-line: no-empty
107+
protected initializeProvider() {}
61108

62109
private stateChangedHandler() {
63110
this.fireCustomEvent('onStateChanged', this.provider.state);

0 commit comments

Comments
 (0)