blob: 963cb70579d07ddcadbcb49b2bf3aa8dd28e2d5c [file] [log] [blame]
<!--
~ Licensed to the Apache Software Foundation (ASF) under one or more
~ contributor license agreements. See the NOTICE file distributed with
~ this work for additional information regarding copyright ownership.
~ The ASF licenses this file to You under the Apache License, Version 2.0
~ (the "License"); you may not use this file except in compliance with
~ the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<h2 mat-dialog-title>{{ isNew ? 'Add' : 'Edit' }} {{ isUser ? 'User' : 'User Group' }}</h2>
<form class="edit-tenant-form" [formGroup]="editTenantForm">
<error-banner></error-banner>
<mat-dialog-content>
<div>
<mat-radio-group formControlName="tenantType" (change)="tenantTypeChanged()">
<mat-radio-button color="primary" [value]="USER">Individual</mat-radio-button>
<mat-radio-button color="primary" [value]="USER_GROUP">Group</mat-radio-button>
</mat-radio-group>
</div>
<div class="mt-6">
<mat-form-field>
<mat-label>Identity</mat-label>
<input matInput formControlName="identity" type="text" />
@if (identity.invalid) {
<mat-error>{{ getIdentityErrorMessage() }}</mat-error>
}
</mat-form-field>
</div>
@if (isUser) {
@if (userGroups.length > 0) {
<div class="mt-2">
<mat-label>Member of</mat-label>
<mat-selection-list formControlName="userGroups" class="border">
@for (userGroup of userGroups; track userGroup) {
<mat-list-option togglePosition="before" [value]="userGroup.id"
>{{ userGroup.component.identity }}
</mat-list-option>
}
</mat-selection-list>
</div>
}
} @else {
@if (users.length > 0) {
<div class="mt-2">
<mat-label>Members</mat-label>
<mat-selection-list formControlName="users" class="border">
@for (user of users; track user) {
<mat-list-option togglePosition="before" [value]="user.id"
>{{ user.component.identity }}
</mat-list-option>
}
</mat-selection-list>
</div>
}
}
</mat-dialog-content>
@if ({ value: (saving$ | async)! }; as saving) {
<mat-dialog-actions align="end">
<button mat-button mat-dialog-close>Cancel</button>
<button
mat-button
[disabled]="editTenantForm.invalid || saving.value"
(click)="okClicked()"
color="primary">
<span *nifiSpinner="saving.value">{{ isNew ? 'Add' : 'Apply' }}</span>
</button>
</mat-dialog-actions>
}
</form>