From d4fa4bca2f0d603a2ef2c164751d3ab0121fcdb1 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Tue, 6 Aug 2024 08:55:47 +0200 Subject: [PATCH] add isOn and isOff observables --- .../core/utils/state-manager/state.manager.ts | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/utils/state-manager/state.manager.ts b/src/Umbraco.Web.UI.Client/src/packages/core/utils/state-manager/state.manager.ts index 1660220985..af6e8247c5 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/utils/state-manager/state.manager.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/utils/state-manager/state.manager.ts @@ -8,9 +8,30 @@ export interface UmbState { } export class UmbStateManager extends UmbControllerBase { + /** + * Observable that emits all states in the state manager + * @memberof UmbStateManager + */ protected _states = new UmbArrayState([], (x) => x.unique); public states = this._states.asObservable(); + /** + * Observable that emits true if there are any states in the state manager + * @memberof UmbStateManager + */ + public isOn = this._states.asObservablePart((x) => x.length > 0); + + /** + * Observable that emits true if there are no states in the state manager + * @memberof UmbStateManager + */ + public isOff = this._states.asObservablePart((x) => x.length === 0); + + /** + * Creates an instance of UmbStateManager. + * @param {UmbControllerHost} host + * @memberof UmbStateManager + */ constructor(host: UmbControllerHost) { super(host); }