Merge branch 'main' into poc/circular-check-with-madge

This commit is contained in:
Mads Rasmussen
2024-08-06 13:12:49 +02:00
committed by GitHub
2 changed files with 82 additions and 79 deletions

View File

@@ -71,15 +71,15 @@ export class UmbMemberWorkspaceViewMemberInfoElement extends UmbLitElement imple
#renderGeneralSection() {
return html`
<div class="general-item">
<umb-localize class="headline" key="content_createDate">Created</umb-localize>
<strong><umb-localize key="content_createDate">Created</umb-localize></strong>
<span> ${this._createDate} </span>
</div>
<div class="general-item">
<umb-localize class="headline" key="content_updateDate">Last edited</umb-localize>
<strong><umb-localize key="content_updateDate">Last edited</umb-localize></strong>
<span> ${this._updateDate} </span>
</div>
<div class="general-item">
<umb-localize class="headline" key="content_membertype">Member Type</umb-localize>
<strong><umb-localize key="content_membertype">Member Type</umb-localize></strong>
<uui-ref-node
standalone
.name=${this._memberTypeName}
@@ -88,7 +88,7 @@ export class UmbMemberWorkspaceViewMemberInfoElement extends UmbLitElement imple
</uui-ref-node>
</div>
<div class="general-item">
<umb-localize class="headline" key="template_id">Id</umb-localize>
<strong><umb-localize key="template_id">Id</umb-localize></strong>
<span>${this._unique}</span>
</div>
`;
@@ -102,12 +102,10 @@ export class UmbMemberWorkspaceViewMemberInfoElement extends UmbLitElement imple
flex-direction: column;
gap: var(--uui-size-space-1);
}
.general-item:not(:last-child) {
margin-bottom: var(--uui-size-space-6);
}
.general-item .headline {
font-weight: bold;
}
`,
];
}

View File

@@ -72,16 +72,16 @@ export class UmbMemberWorkspaceViewMemberElement extends UmbLitElement implement
#renderPasswordInput() {
if (this._isNew) {
return html`
<umb-property-layout label="Password">
<umb-property-layout label=${this.localize.term('user_password')} mandatory>
<uui-input
slot="editor"
name="newPassword"
label="New password"
label=${this.localize.term('user_passwordEnterNew')}
type="password"
@input=${() => this.#onPasswordUpdate()}></uui-input>
</umb-property-layout>
<umb-property-layout label="Confirm password">
<umb-property-layout label="Confirm password" mandatory>
<uui-input
slot="editor"
name="confirmPassword"
@@ -89,6 +89,7 @@ export class UmbMemberWorkspaceViewMemberElement extends UmbLitElement implement
type="password"
@input=${() => this.#onPasswordUpdate()}></uui-input>
</umb-property-layout>
${when(this._newPasswordError, () => html`<p class="validation-error">${this._newPasswordError}</p>`)}
`;
}
@@ -99,7 +100,7 @@ export class UmbMemberWorkspaceViewMemberElement extends UmbLitElement implement
this._showChangePasswordForm,
() => html`
<div slot="editor">
<umb-property-layout label=${this.localize.term('user_newPassword')}>
<umb-property-layout label=${this.localize.term('user_newPassword')} mandatory>
<uui-input
slot="editor"
name="newPassword"
@@ -107,7 +108,7 @@ export class UmbMemberWorkspaceViewMemberElement extends UmbLitElement implement
type="password"
@input=${() => this.#onPasswordUpdate()}></uui-input>
</umb-property-layout>
<umb-property-layout label=${this.localize.term('user_confirmNewPassword')}>
<umb-property-layout label=${this.localize.term('user_confirmNewPassword')} mandatory>
<uui-input
slot="editor"
name="confirmPassword"
@@ -122,12 +123,13 @@ export class UmbMemberWorkspaceViewMemberElement extends UmbLitElement implement
@click=${this.#onNewPasswordCancel}></uui-button>
</div>
`,
() =>
html`<uui-button
() => html`
<uui-button
slot="editor"
label=${this.localize.term('general_changePassword')}
look="secondary"
@click=${() => (this._showChangePasswordForm = true)}></uui-button>`,
@click=${() => (this._showChangePasswordForm = true)}></uui-button>
`,
)}
</umb-property-layout>
`;
@@ -135,62 +137,69 @@ export class UmbMemberWorkspaceViewMemberElement extends UmbLitElement implement
#renderLeftColumn() {
if (!this._workspaceContext) return;
return html` <div id="left-column">
<uui-box>
<umb-property-layout label="${this.localize.term('general_username')}">
<uui-input
slot="editor"
name="login"
label="${this.localize.term('general_username')}"
value=${this._workspaceContext.username}
@input=${(e: Event) => this.#onChange('username', (e.target as HTMLInputElement).value)}></uui-input>
</umb-property-layout>
<umb-property-layout label="${this.localize.term('general_email')}">
<uui-input
slot="editor"
name="email"
label="${this.localize.term('general_email')}"
@input=${(e: Event) => this.#onChange('email', (e.target as HTMLInputElement).value)}
value=${this._workspaceContext.email}></uui-input>
</umb-property-layout>
return html`
<div id="left-column">
<uui-box>
<umb-property-layout label=${this.localize.term('general_username')} mandatory>
<uui-input
slot="editor"
name="login"
label=${this.localize.term('general_username')}
value=${this._workspaceContext.username}
required
required-message=${this.localize.term('user_loginnameRequired')}
@input=${(e: Event) => this.#onChange('username', (e.target as HTMLInputElement).value)}></uui-input>
</umb-property-layout>
${this.#renderPasswordInput()}
<umb-property-layout label=${this.localize.term('general_email')} mandatory>
<uui-input
slot="editor"
name="email"
label=${this.localize.term('general_email')}
value=${this._workspaceContext.email}
required
required-message=${this.localize.term('user_emailRequired')}
@input=${(e: Event) => this.#onChange('email', (e.target as HTMLInputElement).value)}></uui-input>
</umb-property-layout>
<umb-property-layout label=${this.localize.term('content_membergroup')}>
<umb-input-member-group
slot="editor"
@change=${this.#onGroupsUpdated}
.selection=${this._workspaceContext.memberGroups}></umb-input-member-group>
</umb-property-layout>
${this.#renderPasswordInput()}
<umb-property-layout label=${this.localize.term('user_stateApproved')}>
<uui-toggle
slot="editor"
.checked=${this._workspaceContext.isApproved}
@change=${(e: UUIBooleanInputEvent) => this.#onChange('isApproved', e.target.checked)}>
</uui-toggle>
</umb-property-layout>
<umb-property-layout label=${this.localize.term('content_membergroup')}>
<umb-input-member-group
slot="editor"
@change=${this.#onGroupsUpdated}
.selection=${this._workspaceContext.memberGroups}></umb-input-member-group>
</umb-property-layout>
<umb-property-layout label=${this.localize.term('user_stateLockedOut')}>
<uui-toggle
?disabled=${this._isNew || !this._workspaceContext.isLockedOut}
slot="editor"
.checked=${this._workspaceContext.isLockedOut}
@change=${(e: UUIBooleanInputEvent) => this.#onChange('isLockedOut', e.target.checked)}>
</uui-toggle>
</umb-property-layout>
<umb-property-layout label=${this.localize.term('user_stateApproved')}>
<uui-toggle
slot="editor"
.checked=${this._workspaceContext.isApproved}
@change=${(e: UUIBooleanInputEvent) => this.#onChange('isApproved', e.target.checked)}>
</uui-toggle>
</umb-property-layout>
<umb-property-layout label=${this.localize.term('member_2fa')}>
<uui-toggle
?disabled=${this._isNew || !this._workspaceContext.isTwoFactorEnabled}
slot="editor"
.checked=${this._workspaceContext.isTwoFactorEnabled}
@change=${(e: UUIBooleanInputEvent) => this.#onChange('isTwoFactorEnabled', e.target.checked)}>
</uui-toggle>
</umb-property-layout>
</uui-box>
</div>`;
<umb-property-layout label=${this.localize.term('user_stateLockedOut')}>
<uui-toggle
slot="editor"
?disabled=${this._isNew || !this._workspaceContext.isLockedOut}
.checked=${this._workspaceContext.isLockedOut}
@change=${(e: UUIBooleanInputEvent) => this.#onChange('isLockedOut', e.target.checked)}>
</uui-toggle>
</umb-property-layout>
<umb-property-layout label=${this.localize.term('member_2fa')}>
<uui-toggle
slot="editor"
?disabled=${this._isNew || !this._workspaceContext.isTwoFactorEnabled}
.checked=${this._workspaceContext.isTwoFactorEnabled}
@change=${(e: UUIBooleanInputEvent) => this.#onChange('isTwoFactorEnabled', e.target.checked)}>
</uui-toggle>
</umb-property-layout>
</uui-box>
</div>
`;
}
#renderRightColumn() {
@@ -200,11 +209,11 @@ export class UmbMemberWorkspaceViewMemberElement extends UmbLitElement implement
<div id="right-column">
<uui-box>
<div class="general-item">
<umb-localize class="headline" key="user_failedPasswordAttempts">Failed login attempts</umb-localize>
<strong><umb-localize key="user_failedPasswordAttempts">Failed login attempts</umb-localize></strong>
<span>${this._workspaceContext.failedPasswordAttempts}</span>
</div>
<div class="general-item">
<umb-localize class="headline" key="user_lastLockoutDate">Last lockout date</umb-localize>
<strong><umb-localize key="user_lastLockoutDate">Last lockout date</umb-localize></strong>
<span>
${this._workspaceContext.lastLockOutDate
? this.localize.date(this._workspaceContext.lastLockOutDate, TimeFormatOptions)
@@ -212,7 +221,7 @@ export class UmbMemberWorkspaceViewMemberElement extends UmbLitElement implement
</span>
</div>
<div class="general-item">
<umb-localize class="headline" key="user_lastLogin">Last login</umb-localize>
<strong><umb-localize key="user_lastLogin">Last login</umb-localize></strong>
<span>
${this._workspaceContext.lastLoginDate
? this.localize.date(this._workspaceContext.lastLoginDate, TimeFormatOptions)
@@ -220,7 +229,7 @@ export class UmbMemberWorkspaceViewMemberElement extends UmbLitElement implement
</span>
</div>
<div class="general-item">
<umb-localize class="headline" key="user_passwordChangedGeneric">Password changed</umb-localize>
<strong><umb-localize key="user_passwordChangedGeneric">Password changed</umb-localize></strong>
<span>
${this._workspaceContext.lastPasswordChangeDate
? this.localize.date(this._workspaceContext.lastPasswordChangeDate, TimeFormatOptions)
@@ -237,13 +246,11 @@ export class UmbMemberWorkspaceViewMemberElement extends UmbLitElement implement
}
override render() {
if (!this._workspaceContext) {
return html`<div>Not found</div>`;
}
return html` <umb-body-layout header-fit-height>
<div id="main">${this.#renderLeftColumn()} ${this.#renderRightColumn()}</div>
</umb-body-layout>`;
return html`
<umb-body-layout header-fit-height>
<div id="main">${this.#renderLeftColumn()} ${this.#renderRightColumn()}</div>
</umb-body-layout>
`;
}
static override styles = [
@@ -289,12 +296,10 @@ export class UmbMemberWorkspaceViewMemberElement extends UmbLitElement implement
flex-direction: column;
gap: var(--uui-size-space-1);
}
.general-item:not(:last-child) {
margin-bottom: var(--uui-size-space-6);
}
.general-item .headline {
font-weight: bold;
}
`,
];
}