[AAE-1372] Refactor People/Group cloud component (#5355)

* [AAE-1372] Fix read-only preselected users can be deleted

* [AAE-1372] Fix people/group cloud component readonly mode

* [AAE-1372] Refactor People/Group Cloud components

* [AAE-1372] Refactor People/Group Cloud components

* [AAE-1372] Clear invalid user in single mode after replacing with a valid user

* [AAE-1372] Add progress bar while validation loading. When user gets removed remove from validation

* [AAE-1372] Fix lint errors

* [AAE-1372] Fix single selection e2e

* [AAE-1372] Fix unit tests - people/group cloud components

* [AAE-1372] Fix e2e, set People/Group formControls invalid when has preselect errors

* [AAE-1372] Fix invalid form control bug
This commit is contained in:
arditdomi
2020-01-21 13:37:57 +00:00
committed by Maurizio Vitale
parent 91abe87ccc
commit 3c3aa7599a
17 changed files with 1005 additions and 987 deletions

View File

@@ -25,6 +25,7 @@ Allows one or more users to be selected (with auto-suggestion) based on the inpu
| Name | Type | Default value | Description |
| ---- | ---- | ------------- | ----------- |
| appName | `string` | | Name of the application. If specified, this shows the users who have access to the app. |
| readOnly | `boolean` | false | readOnly mode (true/false). |
| mode | `string` | | User selection mode (single/multiple). |
| preSelectUsers | [`IdentityUserModel`](../../../lib/core/models/identity-user.model.ts)`[]` | | Array of users to be pre-selected. All users in the array are pre-selected in multi selection mode, but only the first user is pre-selected in single selection mode. Mandatory properties are: id, email, username |
| roles | `string[]` | | Role names of the users to be listed. |
@@ -44,7 +45,19 @@ Allows one or more users to be selected (with auto-suggestion) based on the inpu
### Read-only
You can use `readonly` property to make preselected users read-only in `multiple` mode.
You can use `readonly` property to set the component in `readonly` mode. Readonly mode will disable any interaction with the component.
```html
<adf-cloud-people
[appName]="'simple-app'"
[mode]="'multiple'"
[preSelectUsers]="preSelectUsers"
[readOnly]="true">
</adf-cloud-people>
```
If you want to manage each user seperately you can set their readonly property at your preference.
You need to have component's readonly property set to false. Component's readonly mode overwrites users level.
```ts
const preSelectUsers = [
@@ -55,7 +68,7 @@ const preSelectUsers = [
```
```html
<adf-cloud-people
[mode]="'multiple'",
[mode]="'multiple'"
[preSelectUsers]="preSelectUsers">
</adf-cloud-people>
```