Skip to content
Snippets Groups Projects
Commit ab99617c authored by Quentin Torck's avatar Quentin Torck
Browse files

feat : add navigation to the select popup

todo: when leaving a popup get the focus on the previous selected element.
parent 8ab18b92
No related branches found
No related tags found
1 merge request!157Manage shortcuts
Showing
with 184 additions and 124 deletions
...@@ -95,6 +95,10 @@ dlcm-theme-selector ::ng-deep { ...@@ -95,6 +95,10 @@ dlcm-theme-selector ::ng-deep {
background-color: $dark-grey; background-color: $dark-grey;
} }
&.is-keybord-selected {
background-color: $grey;
}
&.logout { &.logout {
cursor: initial; cursor: initial;
......
<dlcm-button-toolbar-detail [mode]="'create'" <lib-empty-container solidifyShortCuts
(backToListChange)="backToList()" (onEscape)="backToList()"
> >
</dlcm-button-toolbar-detail> <dlcm-button-toolbar-detail [mode]="'create'"
(backToListChange)="backToList()"
>
</dlcm-button-toolbar-detail>
<div class="wrapper" <div class="wrapper"
[dlcmSpinner]="isLoadingWithDependencyObs | async" [dlcmSpinner]="isLoadingWithDependencyObs | async"
>
<dlcm-admin-funding-agencies-form #formPresentational
*ngIf="isReadyToBeDisplayedInCreateModeObs | async"
[listOrgUnits]="listOrgUnitsObs | async"
(submitChange)="create($event)"
(checkAvailableChange)="checkAvailable($event)"
(dirtyChange)="updateCanDeactivate($event)"
(navigate)="navigate($event)"
> >
</dlcm-admin-funding-agencies-form> <dlcm-admin-funding-agencies-form #formPresentational
</div> *ngIf="isReadyToBeDisplayedInCreateModeObs | async"
[listOrgUnits]="listOrgUnitsObs | async"
[solidifyFocusFirstElement]="true"
(submitChange)="create($event)"
(checkAvailableChange)="checkAvailable($event)"
(dirtyChange)="updateCanDeactivate($event)"
(navigate)="navigate($event)"
>
</dlcm-admin-funding-agencies-form>
</div>
</lib-empty-container>
<lib-empty-container (keydown.escape)="isEdit ? backToDetail() : backToList()"> <lib-empty-container (keydown.escape)="isEdit ? backToDetail() : backToList()"
<dlcm-shared-banner-edit-mode [isEdit]="isEdit"></dlcm-shared-banner-edit-mode> [solidifyFocusFirstElement]="true"
>
<dlcm-shared-banner-edit-mode [isEdit]="isEdit"></dlcm-shared-banner-edit-mode>
<dlcm-button-toolbar-detail [mode]="isEdit ? 'edit' : 'detail'" <dlcm-button-toolbar-detail [mode]="isEdit ? 'edit' : 'detail'"
[currentModel]="currentObs | async" [currentModel]="currentObs | async"
(editChange)="edit()" (editChange)="edit()"
(deleteChange)="delete()" (deleteChange)="delete()"
(backToDetailChange)="backToDetail()" (backToDetailChange)="backToDetail()"
(backToListChange)="backToList()" (backToListChange)="backToList()"
> >
</dlcm-button-toolbar-detail> </dlcm-button-toolbar-detail>
<div class="wrapper" <div class="wrapper"
[dlcmSpinner]="isLoadingWithDependencyObs | async" [dlcmSpinner]="isLoadingWithDependencyObs | async"
>
<dlcm-admin-funding-agencies-form #formPresentational
*ngIf="isReadyToBeDisplayedObs | async"
[model]="currentObs| async"
[selectedOrgUnits]="selectedOrgUnitsObs | async"
[listOrgUnits]="listOrgUnitsObs | async"
[readonly]="!isEdit"
(submitChange)="update($event)"
(checkAvailableChange)="checkAvailable($event)"
(dirtyChange)="updateCanDeactivate($event)"
(navigate)="navigate($event)"
> >
</dlcm-admin-funding-agencies-form> <dlcm-admin-funding-agencies-form #formPresentational
*ngIf="isReadyToBeDisplayedObs | async"
[model]="currentObs| async"
[selectedOrgUnits]="selectedOrgUnitsObs | async"
[listOrgUnits]="listOrgUnitsObs | async"
[readonly]="!isEdit"
(submitChange)="update($event)"
(checkAvailableChange)="checkAvailable($event)"
(dirtyChange)="updateCanDeactivate($event)"
(navigate)="navigate($event)"
>
</dlcm-admin-funding-agencies-form>
</div> </div>
</lib-empty-container> </lib-empty-container>
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
<div mat-dialog-actions> <div mat-dialog-actions>
<button mat-button <button mat-button
[mat-dialog-close]="" [mat-dialog-close]=""
cdkFocusInitial [dlcmAutoFocus]="true"
> >
{{KEY_CANCEL_BUTTON | translate}} {{KEY_CANCEL_BUTTON | translate}}
</button> </button>
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
<mat-label>{{'admin.metadataType.form.name' | translate}}</mat-label> <mat-label>{{'admin.metadataType.form.name' | translate}}</mat-label>
<input matInput <input matInput
[solidifyValidation]="errors" [solidifyValidation]="errors"
autofocus
[solidifyFocusFirstElement]="true" [solidifyFocusFirstElement]="true"
(blur)="checkAvailable(formDefinition.name, fd)" (blur)="checkAvailable(formDefinition.name, fd)"
[formControl]="fd" [formControl]="fd"
......
<div solidifyShortCuts <div solidifyShortCuts
(onEscape)="backToList()" (onEscape)="backToList()"
[solidifyFocusFirstElement]="true">
<dlcm-button-toolbar-detail [mode]="'create'"
(backToListChange)="backToList()"
> >
</dlcm-button-toolbar-detail>
<div class="wrapper" <dlcm-button-toolbar-detail [mode]="'create'"
[dlcmSpinner]="isLoadingWithDependencyObs | async" (backToListChange)="backToList()"
> >
<dlcm-admin-metadata-type-form #formPresentational </dlcm-button-toolbar-detail>
*ngIf="isReadyToBeDisplayedInCreateModeObs | async"
(submitChange)="create($event)" <div class="wrapper"
(checkAvailableChange)="checkAvailable($event)" [dlcmSpinner]="isLoadingWithDependencyObs | async"
(dirtyChange)="updateCanDeactivate($event)" >
></dlcm-admin-metadata-type-form> <dlcm-admin-metadata-type-form #formPresentational
</div> *ngIf="isReadyToBeDisplayedInCreateModeObs | async"
(submitChange)="create($event)"
[solidifyFocusFirstElement]="true"
(checkAvailableChange)="checkAvailable($event)"
(dirtyChange)="updateCanDeactivate($event)"
></dlcm-admin-metadata-type-form>
</div>
</div> </div>
<lib-empty-container solidifyShortCuts
(onEscape)="backToList()"
[solidifyFocusFirstElement]="true"
>
<dlcm-button-toolbar-detail [mode]="'create'" <dlcm-button-toolbar-detail [mode]="'create'"
(backToListChange)="backToList()" (backToListChange)="backToList()"
> >
...@@ -14,3 +18,4 @@ ...@@ -14,3 +18,4 @@
(navigate)="navigate($event)" (navigate)="navigate($event)"
></dlcm-admin-oai-set-bulk-form> ></dlcm-admin-oai-set-bulk-form>
</div> </div>
</lib-empty-container>
<lib-empty-container solidifyShortCuts
(onEscape)="backToList()"
[solidifyFocusFirstElement]="true"
>
<dlcm-button-toolbar-detail [mode]="'create'" <dlcm-button-toolbar-detail [mode]="'create'"
(backToListChange)="backToList()" (backToListChange)="backToList()"
> >
...@@ -13,3 +17,4 @@ ...@@ -13,3 +17,4 @@
(dirtyChange)="updateCanDeactivate($event)" (dirtyChange)="updateCanDeactivate($event)"
></dlcm-admin-oai-set-form> ></dlcm-admin-oai-set-form>
</div> </div>
</lib-empty-container>
<lib-empty-container solidifyShortCuts
(onEscape)=" isEdit ? backToDetail() : backToList()"
[solidifyFocusFirstElement]="true"
>
<dlcm-shared-banner-edit-mode [isEdit]="isEdit"></dlcm-shared-banner-edit-mode> <dlcm-shared-banner-edit-mode [isEdit]="isEdit"></dlcm-shared-banner-edit-mode>
...@@ -22,3 +26,4 @@ ...@@ -22,3 +26,4 @@
(dirtyChange)="updateCanDeactivate($event)" (dirtyChange)="updateCanDeactivate($event)"
></dlcm-admin-oai-set-form> ></dlcm-admin-oai-set-form>
</div> </div>
</lib-empty-container>
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
<mat-label>{{'admin.oauth2.form.name' | translate }}</mat-label> <mat-label>{{'admin.oauth2.form.name' | translate }}</mat-label>
<input matInput <input matInput
[formControl]="fd" [formControl]="fd"
autofocus
[solidifyValidation]="errors" [solidifyValidation]="errors"
[required]="formValidationHelper.hasRequiredField(fd)" [required]="formValidationHelper.hasRequiredField(fd)"
(blur)="checkAvailable(formDefinition.name, fd)" (blur)="checkAvailable(formDefinition.name, fd)"
......
<lib-empty-container solidifyShortCuts
(onEscape)="backToList()"
>
<dlcm-button-toolbar-detail [mode]="'create'" <dlcm-button-toolbar-detail [mode]="'create'"
(backToListChange)="backToList()" (backToListChange)="backToList()"
> >
...@@ -7,6 +10,7 @@ ...@@ -7,6 +10,7 @@
[dlcmSpinner]="isLoadingWithDependencyObs | async" [dlcmSpinner]="isLoadingWithDependencyObs | async"
> >
<dlcm-admin-oauth-form #formPresentational <dlcm-admin-oauth-form #formPresentational
[solidifyFocusFirstElement]="true"
*ngIf="isReadyToBeDisplayedInCreateModeObs | async" *ngIf="isReadyToBeDisplayedInCreateModeObs | async"
(submitChange)="create($event)" (submitChange)="create($event)"
(checkAvailableChange)="checkAvailable($event)" (checkAvailableChange)="checkAvailable($event)"
...@@ -14,3 +18,4 @@ ...@@ -14,3 +18,4 @@
> >
</dlcm-admin-oauth-form> </dlcm-admin-oauth-form>
</div> </div>
</lib-empty-container>
<lib-empty-container solidifyShortCuts
(onEscape)="isEdit ? backToDetail() : backToList()"
[solidifyFocusFirstElement]="true"
>
<dlcm-shared-banner-edit-mode [isEdit]="isEdit"></dlcm-shared-banner-edit-mode> <dlcm-shared-banner-edit-mode [isEdit]="isEdit"></dlcm-shared-banner-edit-mode>
...@@ -23,3 +27,4 @@ ...@@ -23,3 +27,4 @@
> >
</dlcm-admin-oauth-form> </dlcm-admin-oauth-form>
</div> </div>
</lib-empty-container>
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
<mat-label>{{'admin.person.form.firstName' | translate }}</mat-label> <mat-label>{{'admin.person.form.firstName' | translate }}</mat-label>
<input matInput <input matInput
solidifyValidation solidifyValidation
[solidifyFocusFirstElement]="true"
[formControl]="fd" [formControl]="fd"
[required]="formValidationHelper.hasRequiredField(fd)" [required]="formValidationHelper.hasRequiredField(fd)"
> >
......
<dlcm-button-toolbar-detail [mode]="'create'" <lib-empty-container solidifyShortCuts
(backToListChange)="backToList()" (onEscape)="backToList()"
> >
</dlcm-button-toolbar-detail> <dlcm-button-toolbar-detail [mode]="'create'"
(backToListChange)="backToList()"
>
</dlcm-button-toolbar-detail>
<div class="wrapper" <div class="wrapper"
[dlcmSpinner]="isLoadingWithDependencyObs | async" [dlcmSpinner]="isLoadingWithDependencyObs | async"
>
<dlcm-admin-person-form #formPresentational
*ngIf="isReadyToBeDisplayedInCreateModeObs | async"
[listInstitutions]="listInstitutionsObs | async"
[listOrganizationalUnit]="listOrgUnitObs | async"
[listRole]="listRoleObs | async"
[selectedInstitutions]="selectedInstitutionsObs | async"
(submitChange)="create($event)"
(checkAvailableChange)="checkAvailable($event)"
(dirtyChange)="updateCanDeactivate($event)"
(navigate)="navigate($event)"
> >
</dlcm-admin-person-form> <dlcm-admin-person-form #formPresentational
</div> [solidifyFocusFirstElement]="true"
*ngIf="isReadyToBeDisplayedInCreateModeObs | async"
[listInstitutions]="listInstitutionsObs | async"
[listOrganizationalUnit]="listOrgUnitObs | async"
[listRole]="listRoleObs | async"
[selectedInstitutions]="selectedInstitutionsObs | async"
(submitChange)="create($event)"
(checkAvailableChange)="checkAvailable($event)"
(dirtyChange)="updateCanDeactivate($event)"
(navigate)="navigate($event)"
>
</dlcm-admin-person-form>
</div>
</lib-empty-container>
<lib-empty-container solidifyShortCuts
(onEscape)="isEdit ? backToDetail() : backToList()"
[solidifyFocusFirstElement]="true"
>
<dlcm-shared-banner-edit-mode [isEdit]="isEdit"></dlcm-shared-banner-edit-mode> <dlcm-shared-banner-edit-mode [isEdit]="isEdit"></dlcm-shared-banner-edit-mode>
...@@ -29,6 +33,6 @@ ...@@ -29,6 +33,6 @@
> >
</dlcm-admin-person-form> </dlcm-admin-person-form>
</div> </div>
</lib-empty-container>
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<div mat-dialog-actions> <div mat-dialog-actions>
<button mat-button <button mat-button
[mat-dialog-close]="" [mat-dialog-close]=""
cdkFocusInitial [dlcmAutoFocus]="true"
> >
{{KEY_CANCEL_BUTTON | translate}} {{KEY_CANCEL_BUTTON | translate}}
</button> </button>
......
<dlcm-button-toolbar-detail [mode]="isEdit ? 'edit' : 'detail'" <lib-empty-container solidifyShortCuts
[currentModel]="currentObs | async" (onEscape)=" isEdit ? backToDetail() : backToList()"
[deleteAvailable]="false" [solidifyFocusFirstElement]="true"
(editChange)="edit()"
(backToDetailChange)="backToDetail()"
(backToListChange)="backToList()"
> >
</dlcm-button-toolbar-detail> <dlcm-button-toolbar-detail [mode]="isEdit ? 'edit' : 'detail'"
[currentModel]="currentObs | async"
[deleteAvailable]="false"
(editChange)="edit()"
(backToDetailChange)="backToDetail()"
(backToListChange)="backToList()"
>
</dlcm-button-toolbar-detail>
<div class="wrapper" <div class="wrapper"
[dlcmSpinner]="isLoadingWithDependencyObs | async" [dlcmSpinner]="isLoadingWithDependencyObs | async"
>
<dlcm-admin-role-form #formPresentational
*ngIf="isReadyToBeDisplayedObs | async"
[model]="currentObs| async"
[readonly]="!isEdit"
(submitChange)="update($event)"
(checkAvailableChange)="checkAvailable($event)"
(dirtyChange)="updateCanDeactivate($event)"
> >
</dlcm-admin-role-form> <dlcm-admin-role-form #formPresentational
</div> *ngIf="isReadyToBeDisplayedObs | async"
[model]="currentObs| async"
[readonly]="!isEdit"
(submitChange)="update($event)"
(checkAvailableChange)="checkAvailable($event)"
(dirtyChange)="updateCanDeactivate($event)"
>
</dlcm-admin-role-form>
</div>
</lib-empty-container>
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
<div mat-dialog-actions> <div mat-dialog-actions>
<button mat-button <button mat-button
[mat-dialog-close]="" [mat-dialog-close]=""
cdkFocusInitial [solidifyFocusFirstElement]="true"
>{{"admin.user.dialog.editOwnRoles.cancel" | translate}}</button> >{{"admin.user.dialog.editOwnRoles.cancel" | translate}}</button>
<button mat-flat-button <button mat-flat-button
color="warn" color="warn"
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
<div class="wrapper" <div class="wrapper"
[dlcmSpinner]="isLoadingWithDependencyObs | async" [dlcmSpinner]="isLoadingWithDependencyObs | async"
[solidifyFocusFirstElement]="true"
> >
<dlcm-admin-user-form #formPresentational <dlcm-admin-user-form #formPresentational
*ngIf="isReadyToBeDisplayedInCreateModeObs | async" *ngIf="isReadyToBeDisplayedInCreateModeObs | async"
......
<dlcm-shared-banner-edit-mode [isEdit]="isEdit"></dlcm-shared-banner-edit-mode> <lib-empty-container [solidifyFocusFirstElement]="true"
solidifyShortCuts
<dlcm-button-toolbar-detail [mode]="isEdit ? 'edit' : 'detail'" (onEscape)="isEdit ? backToDetail() : backToList()"
[currentModel]="currentObs | async"
(editChange)="edit()"
(deleteChange)="delete()"
(backToDetailChange)="backToDetail()"
(backToListChange)="backToList()"
> >
</dlcm-button-toolbar-detail> <dlcm-shared-banner-edit-mode [isEdit]="isEdit"></dlcm-shared-banner-edit-mode>
<div class="wrapper" <dlcm-button-toolbar-detail [mode]="isEdit ? 'edit' : 'detail'"
[dlcmSpinner]="isLoadingWithDependencyObs | async" [currentModel]="currentObs | async"
> (editChange)="edit()"
<label *ngIf="isCurrentUser(currentUser | async)" (deleteChange)="delete()"
class="current-user-admin" (backToDetailChange)="backToDetail()"
>{{"admin.user.editCurrentUser" | translate}}</label> (backToListChange)="backToList()"
<dlcm-admin-user-form #formPresentational >
*ngIf="isReadyToBeDisplayedObs | async" </dlcm-button-toolbar-detail>
[currentUser]="currentUser | async"
[model]="currentObs | async" <div class="wrapper"
[listPersons]="listPersonObs | async" [dlcmSpinner]="isLoadingWithDependencyObs | async"
[listOrganizationalUnit]="listOrgUnitObs | async" >
[readonly]="!isEdit" <label *ngIf="isCurrentUser(currentUser | async)"
(submitChange)="update($event)" class="current-user-admin"
(checkAvailableChange)="checkAvailable($event)" >{{"admin.user.editCurrentUser" | translate}}</label>
(dirtyChange)="updateCanDeactivate($event)" <dlcm-admin-user-form #formPresentational
(navigate)="navigate($event)" *ngIf="isReadyToBeDisplayedObs | async"
></dlcm-admin-user-form> [currentUser]="currentUser | async"
</div> [model]="currentObs | async"
[listPersons]="listPersonObs | async"
[listOrganizationalUnit]="listOrgUnitObs | async"
[readonly]="!isEdit"
(submitChange)="update($event)"
(checkAvailableChange)="checkAvailable($event)"
(dirtyChange)="updateCanDeactivate($event)"
(navigate)="navigate($event)"
></dlcm-admin-user-form>
</div>
</lib-empty-container>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment