move responsibility for providing menu context
This commit is contained in:
@@ -1,9 +1,16 @@
|
|||||||
import { Observable, ReplaySubject } from 'rxjs';
|
import { Observable, ReplaySubject } from 'rxjs';
|
||||||
|
import { UmbContextProviderController } from 'src/core/context-api/provide/context-provider.controller';
|
||||||
|
import { UmbControllerHostInterface } from 'src/core/controller/controller-host.mixin';
|
||||||
|
|
||||||
export class UmbPropertyActionMenuContext {
|
export class UmbPropertyActionMenuContext {
|
||||||
|
|
||||||
private _isOpen: ReplaySubject<boolean> = new ReplaySubject(1);
|
private _isOpen: ReplaySubject<boolean> = new ReplaySubject(1);
|
||||||
public readonly isOpen: Observable<boolean> = this._isOpen.asObservable();
|
public readonly isOpen: Observable<boolean> = this._isOpen.asObservable();
|
||||||
|
|
||||||
|
constructor(host: UmbControllerHostInterface) {
|
||||||
|
new UmbContextProviderController(host, 'umbPropertyActionMenu', this);
|
||||||
|
}
|
||||||
|
|
||||||
open() {
|
open() {
|
||||||
this._isOpen.next(true);
|
this._isOpen.next(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,15 +53,13 @@ export class UmbPropertyActionMenuElement extends UmbLitElement {
|
|||||||
@state()
|
@state()
|
||||||
private _open = false;
|
private _open = false;
|
||||||
|
|
||||||
private _propertyActionMenuContext = new UmbPropertyActionMenuContext();
|
private _propertyActionMenuContext = new UmbPropertyActionMenuContext(this);
|
||||||
|
|
||||||
connectedCallback(): void {
|
connectedCallback(): void {
|
||||||
super.connectedCallback();
|
super.connectedCallback();
|
||||||
|
|
||||||
this._observePropertyActions();
|
this._observePropertyActions();
|
||||||
this._observePropertyActionMenuOpenState();
|
this._observePropertyActionMenuOpenState();
|
||||||
|
|
||||||
this.provideContext('umbPropertyActionMenu', this._propertyActionMenuContext);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private _observePropertyActions() {
|
private _observePropertyActions() {
|
||||||
|
|||||||
Reference in New Issue
Block a user