diff options
author | Israel Lavi <il0695@att.com> | 2018-08-07 10:54:17 +0300 |
---|---|---|
committer | Israel Lavi <il0695@att.com> | 2018-08-07 11:06:44 +0300 |
commit | b2a3acea0d0f66028c9ce5fad02d4ecc64abf70c (patch) | |
tree | 8d70110f34cb845965c42a5915e950bca967d2c3 /src/angular/loader/loader.service.ts | |
parent | 05b37297177e8a342668c15e5d6f738b51f7aedd (diff) |
Initial commit.
Adding files needed for Linux Foundation.
Change-Id: I9f2b4851a5ae01f83800c7f8bab8608a2221c730
Issue-ID: SDC-1608
Signed-off-by: Israel Lavi <il0695@att.com>
Diffstat (limited to 'src/angular/loader/loader.service.ts')
-rw-r--r-- | src/angular/loader/loader.service.ts | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/angular/loader/loader.service.ts b/src/angular/loader/loader.service.ts new file mode 100644 index 0000000..288f9bd --- /dev/null +++ b/src/angular/loader/loader.service.ts @@ -0,0 +1,37 @@ +import { Injectable, Type, ComponentRef } from '@angular/core'; +import { LoaderComponent } from './loader.component'; + +@Injectable() +export class LoaderService { + + constructor() {} + + private mainLoaderName = 'general'; + + public registeredLoaders = {}; + + public register(name: string, loader: LoaderComponent) { + if (!this.registeredLoaders[name]) { + this.registeredLoaders[name] = loader; + } + } + + public unregister(name: string) { + if (this.registeredLoaders[name]) { + delete this.registeredLoaders[name]; + } + } + + public activate(name: string = this.mainLoaderName) { + if (this.registeredLoaders[name]) { + this.registeredLoaders[name].activate(); + } + } + + public deactivate(name: string = this.mainLoaderName) { + if (this.registeredLoaders[name]) { + this.registeredLoaders[name].deactivate(); + } + } + +} |