projects/i-components/src/lib/services/view-boxes-state.service.ts
This service is used to store the state of the view boxes when are inside a data grid.
Properties |
|
Methods |
clear |
clear()
|
It clears the view boxes array and resets the view boxes completed counter
Returns :
void
|
getObserver |
getObserver()
|
It returns an observable that can be subscribed to
Returns :
Observable<any>
An observable |
getTotalViewBoxes |
getTotalViewBoxes()
|
This function returns the number of view boxes in the view box array.
Returns :
number
The number of view boxes in the view box array. |
registerViewBox | ||||||||
registerViewBox(viewBox: any)
|
||||||||
This function takes a ViewBoxComponent as an argument and pushes it into the _viewBoxes array.
Parameters :
Returns :
void
|
viewBoxReady |
viewBoxReady()
|
When the viewBoxReady() function is called, the _viewBoxesCompleted variable is incremented by one
Returns :
void
|
Private _viewBoxes |
Type : any[]
|
Default value : []
|
keeps track of the view boxes completed |
Private _viewBoxesCompleted |
Type : number
|
Default value : 0
|
This is the number of view boxes that have been completed. |
Private subject |
Default value : new Subject<any>()
|
This is the subject that is used to notify the view boxes that they are ready. |
import { Injectable } from '@angular/core';
import { Observable, Subject } from 'rxjs';
/**
* This service is used to store the state of the view boxes when are inside a data grid.
*
* @export
* @class ViewBoxesStateService
*/
@Injectable()
export class ViewBoxesStateService {
/**
* keeps track of the view boxes completed
*
* @private
* @type {any[]}
* @memberof ViewBoxesStateService
*/
private _viewBoxes: any[] = [];
/**
* This is the number of view boxes that have been completed.
*
* @private
* @memberof ViewBoxesStateService
*/
private _viewBoxesCompleted = 0;
/**
* This is the subject that is used to notify the view boxes that they are ready.
*
* @private
* @memberof ViewBoxesStateService
*/
private subject = new Subject<any>();
/**
* It returns an observable that can be subscribed to
* @returns An observable
* @memberof ViewBoxesStateService
*/
getObserver(): Observable<any> {
return this.subject.asObservable();
}
/**
* This function returns the number of view boxes in the view box array.
*
* @returns The number of view boxes in the view box array.
* @memberof ViewBoxesStateService
*/
getTotalViewBoxes(): number {
return this._viewBoxes.length;
}
/**
* This function takes a ViewBoxComponent as an argument and pushes it into the _viewBoxes array.
*
* @param viewBox ViewBoxComponent - this is the viewBox that is being registered.
* @memberof ViewBoxesStateService
*/
registerViewBox(viewBox: any): void {
this._viewBoxes.push(viewBox);
}
/**
* When the viewBoxReady() function is called, the _viewBoxesCompleted variable is incremented by one
*
* @memberof ViewBoxesStateService
*/
viewBoxReady(): void {
this._viewBoxesCompleted++;
if (this._viewBoxesCompleted === this._viewBoxes.length) {
this.subject.next(this._viewBoxesCompleted);
}
}
/**
* It clears the view boxes array and resets the view boxes completed counter
*
* @memberof ViewBoxesStateService
*/
clear(): void {
this._viewBoxes = [];
this._viewBoxesCompleted = 0;
}
}