2021-08-26 13:48:29 +01:00
|
|
|
import { Injectable } from '@angular/core';
|
|
|
|
|
|
|
|
|
|
@Injectable({
|
|
|
|
|
providedIn: 'root'
|
|
|
|
|
})
|
|
|
|
|
export class LoaderService {
|
|
|
|
|
|
|
|
|
|
private loadingList: {
|
|
|
|
|
name: string
|
|
|
|
|
}[] = []
|
|
|
|
|
|
2022-12-29 15:31:54 +01:00
|
|
|
private loader = {}
|
|
|
|
|
|
2021-08-26 13:48:29 +01:00
|
|
|
constructor() { }
|
|
|
|
|
|
2022-12-29 15:31:54 +01:00
|
|
|
get loading() {
|
2021-08-26 13:48:29 +01:00
|
|
|
return this.loadingList.length != 0
|
|
|
|
|
}
|
|
|
|
|
|
2022-12-29 15:31:54 +01:00
|
|
|
|
|
|
|
|
initialize(name) {
|
|
|
|
|
this.loader[name] = []
|
|
|
|
|
return {
|
|
|
|
|
push() {
|
|
|
|
|
this.loader[name].push()
|
|
|
|
|
},
|
|
|
|
|
pop() {
|
|
|
|
|
this.loader[name].pop()
|
|
|
|
|
},
|
|
|
|
|
isLoader() {
|
|
|
|
|
this.loader[name].length
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2021-08-26 13:48:29 +01:00
|
|
|
push({name = ''}) {
|
|
|
|
|
this.loadingList.push({
|
|
|
|
|
name: name
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pop({}) {
|
|
|
|
|
this.loadingList.pop()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|