-
Notifications
You must be signed in to change notification settings - Fork 2
Home
Moe Myat Zaw edited this page Jun 17, 2020
·
14 revisions
The ng-config
is a configuration and options service for Angular applications with flexible api and extendable config providers.
npm
npm install @dagonmetric/ng-config
or yarn
yarn add @dagonmetric/ng-config
import { ConfigModule } from '@dagonmetric/ng-config';
import { HttpConfigProviderModule } from '@dagonmetric/ng-config/http-config';
@NgModule({
imports: [
// Other module imports
// ng-config modules
ConfigModule.configure(true, {
debug: true
}),
HttpConfigProviderModule.configure({
endpoint: '/api/v1/configuration'
}),
// And additional config provider imports...
]
})
export class AppModule { }
Edit app.module.ts in stackblitz
import { Component } from '@angular/core';
import { ConfigService } from '@dagonmetric/ng-config';
export class AppOptions {
name = '';
lang = '';
logEnabled = false;
logLevel = 0;
}
@Component({
selector: 'app-root',
templateUrl: './app.component.html'
})
export class AppComponent {
constructor(private readonly configService: ConfigService) {
// Get with key
const configValue = this.configService.getValue('key1'));
console.log('value: ', configValue);
// Get with options class
const appOptions = this.configService.mapType('app', AppOptions));
console.log('appOptions: ', JSON.stringify(appOptions));
// Call reload to get the fresh config values from providers
// this.configService.reload().subscribe(() => {
// console.log('Reloaded');
// });
// Configuration value change detection
// This will only trigger when reload() is called and
// any value changes
this.configService.valueChanges.subscribe(() => {
const latestValue = this.configService.getValue('key1'));
console.log('latest value: ', latestValue);
const lastestOptions = this.configService.mapType('app', AppOptions));
console.log('lastest appOptions: ', lastestOptions);
});
}
}
Edit app.component.ts in stackblitz
- ng-config-firebase-remote-config - Implements ConfigProvider for Firebase Remote Config
-
Discussions
-
Documentation
-
Integrations
-
Contributing