user workspace context token

This commit is contained in:
Niels Lyngsø
2023-08-24 10:24:41 +02:00
parent f666a0d1e9
commit b2a8f51666
3 changed files with 14 additions and 11 deletions

View File

@@ -1,21 +1,20 @@
import { UmbUserWorkspaceContext } from '../../../users/workspace/user-workspace.context.js';
import { UMB_USER_WORKSPACE_CONTEXT } from '../../../users/workspace/user-workspace.context.js';
import { css, html, customElement, state } from '@umbraco-cms/backoffice/external/lit';
import { UUITextStyles } from '@umbraco-cms/backoffice/external/uui';
import type { UUIButtonState } from '@umbraco-cms/backoffice/external/uui';
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import { UMB_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/workspace';
@customElement('umb-workspace-action-user-group-save')
export class UmbWorkspaceActionUserGroupSaveElement extends UmbLitElement {
@state()
private _saveButtonState?: UUIButtonState;
private _workspaceContext?: UmbUserWorkspaceContext;
private _workspaceContext?: typeof UMB_USER_WORKSPACE_CONTEXT.TYPE;
constructor() {
super();
this.consumeContext(UMB_WORKSPACE_CONTEXT, (instance) => {
this._workspaceContext = instance as UmbUserWorkspaceContext;
this.consumeContext(UMB_USER_WORKSPACE_CONTEXT, (instance) => {
this._workspaceContext = instance;
});
}

View File

@@ -1,21 +1,20 @@
import { UmbUserWorkspaceContext } from '../user-workspace.context.js';
import { UMB_USER_WORKSPACE_CONTEXT } from '../user-workspace.context.js';
import { css, html, customElement, state } from '@umbraco-cms/backoffice/external/lit';
import { UUITextStyles } from '@umbraco-cms/backoffice/external/uui';
import type { UUIButtonState } from '@umbraco-cms/backoffice/external/uui';
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import { UMB_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/workspace';
@customElement('umb-user-workspace-action-save')
export class UmbUserWorkspaceActionSaveElement extends UmbLitElement {
@state()
private _saveButtonState?: UUIButtonState;
private _workspaceContext?: UmbUserWorkspaceContext;
private _workspaceContext?: typeof UMB_USER_WORKSPACE_CONTEXT.TYPE;
constructor() {
super();
this.consumeContext(UMB_WORKSPACE_CONTEXT, (instance) => {
this._workspaceContext = instance as UmbUserWorkspaceContext;
this.consumeContext(UMB_USER_WORKSPACE_CONTEXT, (instance) => {
this._workspaceContext = instance;
});
}

View File

@@ -4,7 +4,7 @@ import { UmbEntityWorkspaceContextInterface, UmbWorkspaceContext } from '@umbrac
import type { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api';
import type { UpdateUserRequestModel } from '@umbraco-cms/backoffice/backend-api';
import { UmbObjectState } from '@umbraco-cms/backoffice/observable-api';
import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api';
import { UmbContextConsumerController, UmbContextToken } from '@umbraco-cms/backoffice/context-api';
import { UMB_AUTH } from '@umbraco-cms/backoffice/auth';
import { firstValueFrom } from '@umbraco-cms/backoffice/external/rxjs';
@@ -81,3 +81,8 @@ export class UmbUserWorkspaceContext
this.#data.complete();
}
}
export const UMB_USER_WORKSPACE_CONTEXT = new UmbContextToken<UmbEntityWorkspaceContextInterface, UmbUserWorkspaceContext>(
'UmbWorkspaceContext',
(context): context is UmbUserWorkspaceContext => context.getEntityType?.() === 'user'
);