From 86207cf53bfd04856e8bd951c47a28936794ef97 Mon Sep 17 00:00:00 2001 From: Alex ORLUC <alex.orluc@maarch.org> Date: Wed, 4 Mar 2020 22:33:11 +0100 Subject: [PATCH] FEAT #13119 TIME 2 fix modal css (part3) + clean code --- .../administration/administration.module.ts | 7 - ...inistration-groupList-modal.component.html | 14 +- ...ministration-settings-modal.component.html | 201 ++++++++++-------- .../basket/basket-administration.component.ts | 4 +- .../list/list-administration.component.ts | 1 - ...ministration-redirect-modal.component.html | 68 +++--- .../contacts-list-administration.component.ts | 38 ++-- ...ministration-redirect-modal.component.html | 48 +++-- .../doctypes-administration.component.ts | 2 +- ...ministration-redirect-modal.component.html | 81 +++---- .../entities-administration.component.ts | 7 +- ...ministration-redirect-modal.component.html | 65 +++--- .../group/groups-administration.component.ts | 2 +- .../technical-administration.component.html | 10 - .../technical-administration.component.scss | 18 -- .../technical-administration.component.ts | 50 ----- ...tration-checkEntities-modal.component.html | 15 +- ...te-administration-checkEntities-modal.scss | 17 +- .../template-administration.component.ts | 2 + .../account-link/account-link.component.html | 54 +++-- .../account-link/account-link.component.scss | 13 +- ...ministration-redirect-modal.component.html | 43 ++-- .../user/user-administration.component.ts | 4 +- ...ministration-redirect-modal.component.html | 149 +++++++------ .../users-administration-redirect-modal.scss | 16 +- .../user/users-administration.component.ts | 5 +- src/frontend/css/maarch-material-modal.scss | 6 +- 27 files changed, 439 insertions(+), 501 deletions(-) delete mode 100644 src/frontend/app/administration/technical/technical-administration.component.html delete mode 100644 src/frontend/app/administration/technical/technical-administration.component.scss delete mode 100644 src/frontend/app/administration/technical/technical-administration.component.ts diff --git a/src/frontend/app/administration/administration.module.ts b/src/frontend/app/administration/administration.module.ts index fe1513e7370..aef6cfa0183 100755 --- a/src/frontend/app/administration/administration.module.ts +++ b/src/frontend/app/administration/administration.module.ts @@ -41,8 +41,6 @@ import { TemplatesAdministrationComponent } from './template/templat import { TemplateAdministrationComponent, TemplateAdministrationCheckEntitiesModalComponent } from './template/template-administration.component'; import { SecuritiesAdministrationComponent } from './security/securities-administration.component'; import { SendmailAdministrationComponent } from './sendmail/sendmail-administration.component'; - -import { TechnicalAdministrationComponent } from './technical/technical-administration.component'; import { ListAdministrationComponent } from './basket/list/list-administration.component'; import { ShippingsAdministrationComponent } from './shipping/shippings-administration.component'; import { ShippingAdministrationComponent } from './shipping/shipping-administration.component'; @@ -105,8 +103,6 @@ import { TagAdministrationComponent } from './tag/tag-administratio TemplateAdministrationComponent, SecuritiesAdministrationComponent, SendmailAdministrationComponent, - TechnicalAdministrationComponent, - ListAdministrationComponent, ListAdministrationComponent, TemplateAdministrationCheckEntitiesModalComponent, ShippingsAdministrationComponent, @@ -131,10 +127,7 @@ import { TagAdministrationComponent } from './tag/tag-administratio BasketAdministrationSettingsModalComponent, BasketAdministrationGroupListModalComponent, DoctypesAdministrationRedirectModalComponent, - TechnicalAdministrationComponent, ContactsListAdministrationRedirectModalComponent, - ListAdministrationComponent, - ListAdministrationComponent, TemplateAdministrationCheckEntitiesModalComponent, AccountLinkComponent ], diff --git a/src/frontend/app/administration/basket/basket-administration-groupList-modal.component.html b/src/frontend/app/administration/basket/basket-administration-groupList-modal.component.html index 2467a88471e..2e61b3a21bd 100755 --- a/src/frontend/app/administration/basket/basket-administration-groupList-modal.component.html +++ b/src/frontend/app/administration/basket/basket-administration-groupList-modal.component.html @@ -1,12 +1,12 @@ -<h2 mat-dialog-title color="primary">{{lang.linkGroup}}</h2> - -<mat-dialog-content> - <mat-nav-list> +<div class="mat-dialog-content-container"> + <h2 mat-dialog-title color="primary">{{lang.linkGroup}}</h2> + <mat-dialog-content> + <mat-nav-list> <span *ngFor="let group of data.groups"> <mat-list-item *ngIf="group.isUsed == false" (click)="validateForm(group);"> {{group.group_desc}} </mat-list-item> </span> - - </mat-nav-list> -</mat-dialog-content> \ No newline at end of file + </mat-nav-list> + </mat-dialog-content> +</div> \ No newline at end of file diff --git a/src/frontend/app/administration/basket/basket-administration-settings-modal.component.html b/src/frontend/app/administration/basket/basket-administration-settings-modal.component.html index c79b4a98fc0..501f5606975 100755 --- a/src/frontend/app/administration/basket/basket-administration-settings-modal.component.html +++ b/src/frontend/app/administration/basket/basket-administration-settings-modal.component.html @@ -1,95 +1,108 @@ -<h2 mat-dialog-title color="primary">{{lang.actionParameters}} - <small>{{data.action.label_action}}</small> -</h2> -<mat-dialog-content> - <form #settingGroupsBasket="ngForm"> - <div class="container-fluid"> - <div class="col-md-6"> - <mat-checkbox [disabled]="data.action.default_action_list == true" id="usedInActionPage" name="usedInActionPage" color="primary" - [(ngModel)]="data.action.used_in_action_page">{{lang.usedInActionPage}}</mat-checkbox> +<div class="mat-dialog-content-container"> + <h2 mat-dialog-title>{{lang.actionParameters}} + <small>{{data.action.label_action}}</small> + </h2> + <mat-dialog-content> + <form #settingGroupsBasket="ngForm"> + <div class="container-fluid"> + <div class="col-md-6"> + <mat-checkbox [disabled]="data.action.default_action_list == true" id="usedInActionPage" + name="usedInActionPage" color="primary" [(ngModel)]="data.action.used_in_action_page"> + {{lang.usedInActionPage}}</mat-checkbox> + </div> + <div class="col-md-6"> + <mat-checkbox [disabled]="data.action.default_action_list == true" id="usedInBasketlist" + name="usedInBasketlist" color="primary" [(ngModel)]="data.action.used_in_basketlist"> + {{lang.usedInBasketlist}}</mat-checkbox> + </div> </div> - <div class="col-md-6"> - <mat-checkbox [disabled]="data.action.default_action_list == true" id="usedInBasketlist" name="usedInBasketlist" color="primary" - [(ngModel)]="data.action.used_in_basketlist">{{lang.usedInBasketlist}}</mat-checkbox> - </div> - </div> - <mat-tab-group> - <mat-tab *ngIf="data.action.keyword == 'redirect'"> - <ng-template mat-tab-label *ngIf="data.action.keyword == 'redirect'"> - {{lang.redirects}} - </ng-template> - <mat-accordion> - <mat-expansion-panel (opened)="initService()"> - <mat-expansion-panel-header> - <mat-panel-title> - {{lang.toEntities}} - </mat-panel-title> - </mat-expansion-panel-header> - <mat-form-field> - <input matInput id="jstree_search" name="jstree_search" type="text" placeholder="{{lang.searchEntities}}"> - </mat-form-field> - <div id="jstree"></div> - </mat-expansion-panel> - <mat-expansion-panel (opened)="initService2()" *ngIf="data.action.keyword == 'redirect'"> - <mat-expansion-panel-header> - <mat-panel-title> - {{lang.toUsersEntities}} - </mat-panel-title> - </mat-expansion-panel-header> - <mat-form-field> - <input matInput id="jstree_search2" name="jstree_search2" type="text" placeholder="{{lang.searchEntities}}"> - </mat-form-field> - <div id="jstree2"></div> - </mat-expansion-panel> - </mat-accordion> - </mat-tab> - <mat-tab label="{{lang.otherParameters}}"> - <mat-form-field> - <textarea matInput name="clause" title="{{lang.whereClauseAction}}" placeholder="{{lang.whereClauseAction}}" [(ngModel)]="data.action.where_clause" - matTextareaAutosize matAutosizeMinRows="1"></textarea> - </mat-form-field> - <mat-accordion> - <mat-expansion-panel> - <mat-expansion-panel-header> - <mat-panel-title> - {{lang.keywordHelp}} - </mat-panel-title> - </mat-expansion-panel-header> - <mat-list role="list" style="width: 400px;padding: 5px;"> - <p style="font-size:10px;">{{lang.keywordHelpDesc_11}}</p> - <div style="border:1px black solid; padding:3px;font-size:10px;"> - <b>DESTINATION = @my_primary_entity or DESTINATION in (@subentities[@my_primary_entity])</b> - </div> - <h4 mat-line style="font-weight:bold;font-size:10px;">@user :</h4> - <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_1}}</p> - <h4 mat-line style="font-weight:bold;font-size:10px;">@user_id :</h4> - <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_12}}</p> - <h4 mat-line style="font-weight:bold;font-size:10px;">@email :</h4> - <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_2}}</p> - <h4 mat-line style="font-weight:bold;font-size:10px;">@my_entities :</h4> - <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_3}}</p> - <h4 mat-line style="font-weight:bold;font-size:10px;">@my_primary_entity :</h4> - <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_4}}</p> - <h4 mat-line style="font-weight:bold;font-size:10px;">@subentities[('entity_1',...,'entity_n')] :</h4> - <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_5}}</p> - <h4 mat-line style="font-weight:bold;font-size:10px;">@parent_entity['entity_id'] :</h4> - <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_6}}</p> - <h4 mat-line style="font-weight:bold;font-size:10px;">@sisters_entities['entity_id'] :</h4> - <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_7}}</p> - <h4 mat-line style="font-weight:bold;font-size:10px;">@entity_type['type'] :</h4> - <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_8}}</p> - <h4 mat-line style="font-weight:bold;font-size:10px;">@all_entities :</h4> - <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_9}}</p> - <h4 mat-line style="font-weight:bold;font-size:10px;">@immediate_children['entity_1',..., 'entity_id'] :</h4> - <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_10}}</p> - </mat-list> - </mat-expansion-panel> - </mat-accordion> - </mat-tab> - </mat-tab-group> - </form> -</mat-dialog-content> -<mat-dialog-actions> - <button mat-raised-button type="submit" [disabled]="!data.action.used_in_basketlist && !data.action.used_in_action_page" - color="primary" style="margin:auto;" (click)="saveSettings()">{{lang.validate}}</button> -</mat-dialog-actions> \ No newline at end of file + <mat-tab-group> + <mat-tab *ngIf="data.action.keyword == 'redirect'"> + <ng-template mat-tab-label *ngIf="data.action.keyword == 'redirect'"> + {{lang.redirects}} + </ng-template> + <mat-accordion> + <mat-expansion-panel (opened)="initService()"> + <mat-expansion-panel-header> + <mat-panel-title> + {{lang.toEntities}} + </mat-panel-title> + </mat-expansion-panel-header> + <mat-form-field> + <input matInput id="jstree_search" name="jstree_search" type="text" + placeholder="{{lang.searchEntities}}"> + </mat-form-field> + <div id="jstree"></div> + </mat-expansion-panel> + <mat-expansion-panel (opened)="initService2()" *ngIf="data.action.keyword == 'redirect'"> + <mat-expansion-panel-header> + <mat-panel-title> + {{lang.toUsersEntities}} + </mat-panel-title> + </mat-expansion-panel-header> + <mat-form-field> + <input matInput id="jstree_search2" name="jstree_search2" type="text" + placeholder="{{lang.searchEntities}}"> + </mat-form-field> + <div id="jstree2"></div> + </mat-expansion-panel> + </mat-accordion> + </mat-tab> + <mat-tab label="{{lang.otherParameters}}"> + <mat-form-field> + <textarea matInput name="clause" title="{{lang.whereClauseAction}}" + placeholder="{{lang.whereClauseAction}}" [(ngModel)]="data.action.where_clause" + matTextareaAutosize matAutosizeMinRows="1"></textarea> + </mat-form-field> + <mat-accordion> + <mat-expansion-panel> + <mat-expansion-panel-header> + <mat-panel-title> + {{lang.keywordHelp}} + </mat-panel-title> + </mat-expansion-panel-header> + <mat-list role="list" style="width: 400px;padding: 5px;"> + <p style="font-size:10px;">{{lang.keywordHelpDesc_11}}</p> + <div style="border:1px black solid; padding:3px;font-size:10px;"> + <b>DESTINATION = @my_primary_entity or DESTINATION in + (@subentities[@my_primary_entity])</b> + </div> + <h4 mat-line style="font-weight:bold;font-size:10px;">@user :</h4> + <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_1}}</p> + <h4 mat-line style="font-weight:bold;font-size:10px;">@user_id :</h4> + <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_12}}</p> + <h4 mat-line style="font-weight:bold;font-size:10px;">@email :</h4> + <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_2}}</p> + <h4 mat-line style="font-weight:bold;font-size:10px;">@my_entities :</h4> + <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_3}}</p> + <h4 mat-line style="font-weight:bold;font-size:10px;">@my_primary_entity :</h4> + <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_4}}</p> + <h4 mat-line style="font-weight:bold;font-size:10px;"> + @subentities[('entity_1',...,'entity_n')] :</h4> + <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_5}}</p> + <h4 mat-line style="font-weight:bold;font-size:10px;">@parent_entity['entity_id'] :</h4> + <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_6}}</p> + <h4 mat-line style="font-weight:bold;font-size:10px;">@sisters_entities['entity_id'] : + </h4> + <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_7}}</p> + <h4 mat-line style="font-weight:bold;font-size:10px;">@entity_type['type'] :</h4> + <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_8}}</p> + <h4 mat-line style="font-weight:bold;font-size:10px;">@all_entities :</h4> + <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_9}}</p> + <h4 mat-line style="font-weight:bold;font-size:10px;"> + @immediate_children['entity_1',..., 'entity_id'] :</h4> + <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_10}}</p> + </mat-list> + </mat-expansion-panel> + </mat-accordion> + </mat-tab> + </mat-tab-group> + </form> + </mat-dialog-content> + <span class="divider-modal"></span> + <mat-dialog-actions> + <button mat-raised-button type="submit" + [disabled]="!data.action.used_in_basketlist && !data.action.used_in_action_page" color="primary" + style="margin:auto;" (click)="saveSettings()">{{lang.validate}}</button> + </mat-dialog-actions> +</div> \ No newline at end of file diff --git a/src/frontend/app/administration/basket/basket-administration.component.ts b/src/frontend/app/administration/basket/basket-administration.component.ts index 0dbff80e425..fb9d3a79c33 100755 --- a/src/frontend/app/administration/basket/basket-administration.component.ts +++ b/src/frontend/app/administration/basket/basket-administration.component.ts @@ -152,7 +152,7 @@ export class BasketAdministrationComponent implements OnInit { } openSettings(group: any, action: any) { - this.config = { data: { group: group, action: action } }; + this.config = { panelClass: 'maarch-modal', data: { group: group, action: action } }; this.dialogRef = this.dialog.open(BasketAdministrationSettingsModalComponent, this.config); this.dialogRef.afterClosed().subscribe((result: any) => { if (result) { @@ -261,7 +261,7 @@ export class BasketAdministrationComponent implements OnInit { } linkGroup() { - this.config = { data: { basketId: this.basket.id, groups: this.allGroups, linkedGroups: this.basketGroups } }; + this.config = { panelClass: 'maarch-modal', data: { basketId: this.basket.id, groups: this.allGroups, linkedGroups: this.basketGroups } }; this.dialogRef = this.dialog.open(BasketAdministrationGroupListModalComponent, this.config); this.dialogRef.afterClosed().subscribe((result: any) => { if (result) { diff --git a/src/frontend/app/administration/basket/list/list-administration.component.ts b/src/frontend/app/administration/basket/list/list-administration.component.ts index 9c1e087b17f..d2113002f70 100644 --- a/src/frontend/app/administration/basket/list/list-administration.component.ts +++ b/src/frontend/app/administration/basket/list/list-administration.component.ts @@ -12,7 +12,6 @@ declare function $j(selector: any): any; selector: 'list-administration', templateUrl: "list-administration.component.html", styleUrls: ['list-administration.component.scss'], - providers: [NotificationService], }) export class ListAdministrationComponent implements OnInit { diff --git a/src/frontend/app/administration/contact/list/contacts-list-administration-redirect-modal.component.html b/src/frontend/app/administration/contact/list/contacts-list-administration-redirect-modal.component.html index 05fc61ff7c2..266a7c82a3a 100644 --- a/src/frontend/app/administration/contact/list/contacts-list-administration-redirect-modal.component.html +++ b/src/frontend/app/administration/contact/list/contacts-list-administration-redirect-modal.component.html @@ -1,32 +1,42 @@ -<h1 mat-dialog-title>{{lang.contactsReassign}}</h1> -<mat-dialog-content style="overflow:inherit;"> - <form #redirectConfForm="ngForm"> - <div class="modal-body"> - <div class="alert alert-warning" role="alert"> - {{lang.contactLinkedToMails}} - </div> - <div class="input-group"> - <mat-radio-group id="processMode" name="processMode" style="display: inline-flex;flex-direction: column;" [(ngModel)]="this.processMode" - color="primary" required> - <mat-radio-button value="delete" color="primary"> - {{lang.deleteContactwithtoutReassign}} - </mat-radio-button> - <mat-radio-button value="reaffect" color="primary"> - {{lang.reaffectContactRedirect}} - </mat-radio-button> - </mat-radio-group> - <plugin-autocomplete *ngIf="this.processMode == 'reaffect'" [labelPlaceholder]="lang.contactReplacement" [labelList]="lang.availableContacts" [routeDatas]="['/rest/autocomplete/contacts']" [targetSearchKey]="'contact'" (triggerEvent)="setRedirectUser($event)" singleMode required></plugin-autocomplete> +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>{{lang.contactsReassign}}</h1> + <mat-dialog-content> + <form #redirectConfForm="ngForm"> + <div class="modal-body"> + <div class="alert-message alert-message-danger" role="alert"> + {{lang.contactLinkedToMails}} + </div> + <div class="input-group"> + <mat-radio-group id="processMode" name="processMode" + style="display: inline-flex;flex-direction: column;" [(ngModel)]="this.processMode" + color="primary" required> + <mat-radio-button value="delete" color="primary"> + {{lang.deleteContactwithtoutReassign}} + </mat-radio-button> + <mat-radio-button value="reaffect" color="primary"> + {{lang.reaffectContactRedirect}} + </mat-radio-button> + </mat-radio-group> + <plugin-autocomplete *ngIf="this.processMode == 'reaffect'" + [labelPlaceholder]="lang.contactReplacement" [labelList]="lang.availableContacts" + [routeDatas]="['/rest/autocomplete/contacts']" [targetSearchKey]="'contact'" + (triggerEvent)="setRedirectUser($event)" singleMode required></plugin-autocomplete> - <div *ngIf="this.processMode" class="alert-message alert-message-info" role="alert" style="max-width: inherit;"> - <span *ngIf="this.processMode == 'delete'"><em>{{lang.deleteContactInformations}}</em></span> - <span *ngIf="this.processMode == 'reaffect'"><em>{{lang.reaffectContactInformations}}</em></span> + <div *ngIf="this.processMode" class="alert-message alert-message-info" role="alert"> + <span *ngIf="this.processMode == 'delete'"><em>{{lang.deleteContactInformations}}</em></span> + <span + *ngIf="this.processMode == 'reaffect'"><em>{{lang.reaffectContactInformations}}</em></span> + </div> </div> </div> - </div> - <mat-dialog-actions> - <button mat-raised-button color="primary" type="submit" [disabled]="!redirectConfForm.form.valid || (!this.redirectContact && this.processMode == 'reaffect')" - (click)="dialogRef.close({contactId:this.redirectContact, processMode:this.processMode})">{{lang.delete}}</button> - <button class="actions" color="" mat-raised-button (click)="dialogRef.close('')">{{lang.cancel}}</button> - </mat-dialog-actions> - </form> -</mat-dialog-content> + </form> + </mat-dialog-content> + <span class="divider-modal"></span> + <mat-dialog-actions> + <button mat-raised-button color="primary" type="submit" + [disabled]="!redirectConfForm.form.valid || (!this.redirectContact && this.processMode == 'reaffect')" + (click)="dialogRef.close({contactId:this.redirectContact, processMode:this.processMode})">{{lang.delete}}</button> + <button class="actions" color="" mat-raised-button + (click)="dialogRef.close('')">{{lang.cancel}}</button> + </mat-dialog-actions> +</div> \ No newline at end of file diff --git a/src/frontend/app/administration/contact/list/contacts-list-administration.component.ts b/src/frontend/app/administration/contact/list/contacts-list-administration.component.ts index f2dafd22347..c84dab793e5 100644 --- a/src/frontend/app/administration/contact/list/contacts-list-administration.component.ts +++ b/src/frontend/app/administration/contact/list/contacts-list-administration.component.ts @@ -1,12 +1,12 @@ -import {Component, OnInit, ViewChild, EventEmitter, Inject} from '@angular/core'; +import { Component, OnInit, ViewChild, EventEmitter, Inject } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { LANG } from '../../../translate.component'; import { NotificationService } from '../../../notification.service'; -import { HeaderService } from '../../../../service/header.service'; +import { HeaderService } from '../../../../service/header.service'; import { MatSidenav } from '@angular/material/sidenav'; import { AppService } from '../../../../service/app.service'; import { Observable, merge, Subject, of as observableOf, of } from 'rxjs'; -import {MatPaginator, MatSort, MatDialog, MAT_DIALOG_DATA, MatDialogRef} from '@angular/material'; +import { MatPaginator, MatSort, MatDialog, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material'; import { takeUntil, startWith, switchMap, map, catchError, filter, exhaustMap, tap, debounceTime, distinctUntilChanged } from 'rxjs/operators'; import { ConfirmComponent } from '../../../../plugins/modal/confirm.component'; import { FormControl } from '@angular/forms'; @@ -27,7 +27,7 @@ export class ContactsListAdministrationComponent implements OnInit { loading: boolean = false; filtersChange = new EventEmitter(); - + data: any; displayedColumnsContact: string[] = ['filling', 'firstname', 'lastname', 'company', 'formatedAddress', 'actions']; @@ -39,43 +39,43 @@ export class ContactsListAdministrationComponent implements OnInit { searchContact = new FormControl(); search: string = ''; - dialogRef : MatDialogRef<any>; + dialogRef: MatDialogRef<any>; @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator; @ViewChild('tableContactListSort', { static: true }) sort: MatSort; private destroy$ = new Subject<boolean>(); - subMenus:any [] = [ + subMenus: any[] = [ { icon: 'fa fa-book', route: '/administration/contacts/list', - label : this.lang.contactsList, + label: this.lang.contactsList, current: true }, { icon: 'fa fa-code', route: '/administration/contacts/contactsCustomFields', - label : this.lang.customFieldsAdmin, + label: this.lang.customFieldsAdmin, current: false }, { icon: 'fa fa-cog', route: '/administration/contacts/contacts-parameters', - label : this.lang.contactsParameters, + label: this.lang.contactsParameters, current: false }, { icon: 'fa fa-users', route: '/administration/contacts/contacts-groups', - label : this.lang.contactsGroups, + label: this.lang.contactsGroups, current: false }, ]; - + constructor( - public http: HttpClient, - private notify: NotificationService, + public http: HttpClient, + private notify: NotificationService, private headerService: HeaderService, public appService: AppService, public dialog: MatDialog, @@ -141,7 +141,7 @@ export class ContactsListAdministrationComponent implements OnInit { deleteContact(contact: any) { if (contact.isUsed) { - this.dialogRef = this.dialog.open(ContactsListAdministrationRedirectModalComponent, {autoFocus: false}); + this.dialogRef = this.dialog.open(ContactsListAdministrationRedirectModalComponent, { panelClass: 'maarch-modal', autoFocus: false }); this.dialogRef.afterClosed().subscribe((result: any) => { if (typeof result != "undefined" && result != '') { var queryparams = ''; @@ -180,7 +180,7 @@ export class ContactsListAdministrationComponent implements OnInit { dialogRef.afterClosed().pipe( filter((data: string) => data === 'ok'), - exhaustMap(() => this.http.put(`../../rest/contacts/${contact.id}/activation`, {enabled : !contact.enabled})), + exhaustMap(() => this.http.put(`../../rest/contacts/${contact.id}/activation`, { enabled: !contact.enabled })), tap((data: any) => { this.refreshDao(); if (!contact.enabled === true) { @@ -208,7 +208,7 @@ export class ContactsListAdministrationComponent implements OnInit { this.search = ''; this.paginator.pageIndex = 0; this.refreshDao(); - } + } }), debounceTime(300), filter(value => value.length > 2), @@ -249,7 +249,7 @@ export class ContactListHttpDao { constructor(private http: HttpClient) { } getRepoIssues(sort: string, order: string, page: number, href: string, search: string): Observable<ContactList> { - + let offset = page * 10; const requestUrl = `${href}?limit=10&offset=${offset}&order=${order}&orderBy=${sort}&search=${search}`; @@ -262,8 +262,8 @@ export class ContactListHttpDao { providers: [NotificationService] }) export class ContactsListAdministrationRedirectModalComponent { - lang: any = LANG; - modalTitle: string = this.lang.confirmAction; + lang: any = LANG; + modalTitle: string = this.lang.confirmAction; redirectContact: number; processMode: string = 'delete'; diff --git a/src/frontend/app/administration/doctype/doctypes-administration-redirect-modal.component.html b/src/frontend/app/administration/doctype/doctypes-administration-redirect-modal.component.html index 450e5f9fe9f..a367cf5c5e8 100755 --- a/src/frontend/app/administration/doctype/doctypes-administration-redirect-modal.component.html +++ b/src/frontend/app/administration/doctype/doctypes-administration-redirect-modal.component.html @@ -1,27 +1,29 @@ -<h2 mat-dialog-title>{{lang.documentTypeReplacement}}</h2> -<form #changeDoctypeForm="ngForm"> +<div class="mat-dialog-content-container"> + <h2 mat-dialog-title>{{lang.documentTypeReplacement}}</h2> <mat-dialog-content> - <div class="alert alert-info" role="alert"> - <mat-list> - <mat-list-item> - <mat-icon color="primary" mat-list-icon class="fa fa-file fa-2x"></mat-icon> - <p mat-line> - <b>{{data.count}}</b> {{lang.documents}} - </p> - </mat-list-item> - </mat-list> - </div> - <mat-form-field> - <mat-select id="new_type_id" name="new_type_id" title="{{lang.transferToDoctype}}" placeholder="{{lang.transferToDoctype}}" - [(ngModel)]="data.new_type_id" required> - <mat-option *ngFor="let type of data.types" [disabled]="type.disabled" [value]="type.type_id"> - {{type.description}} - </mat-option> - </mat-select> - </mat-form-field> + <form #changeDoctypeForm="ngForm"> + <div class="alert-message alert-message-info" role="alert"> + <mat-list> + <mat-list-item> + <mat-icon color="primary" mat-list-icon class="fa fa-file fa-2x"></mat-icon> + <p mat-line> + <b>{{data.count}}</b> {{lang.documents}} + </p> + </mat-list-item> + </mat-list> + </div> + <mat-form-field> + <mat-select id="new_type_id" name="new_type_id" title="{{lang.transferToDoctype}}" + placeholder="{{lang.transferToDoctype}}" [(ngModel)]="data.new_type_id" required> + <mat-option *ngFor="let type of data.types" [disabled]="type.disabled" [value]="type.type_id"> + {{type.description}} + </mat-option> + </mat-select> + </mat-form-field> + </form> </mat-dialog-content> <mat-dialog-actions> - <button style="margin:auto;" mat-raised-button color="warn" type="submit" class="btn btn-danger" (click)="dialogRef.close(data)" - [disabled]="!changeDoctypeForm.form.valid">{{lang.delete}}</button> + <button mat-raised-button color="warn" type="submit" + (click)="dialogRef.close(data)" [disabled]="!changeDoctypeForm.form.valid">{{lang.delete}}</button> </mat-dialog-actions> -</form> \ No newline at end of file +</div> \ No newline at end of file diff --git a/src/frontend/app/administration/doctype/doctypes-administration.component.ts b/src/frontend/app/administration/doctype/doctypes-administration.component.ts index 97abb14467a..4f99c16d178 100755 --- a/src/frontend/app/administration/doctype/doctypes-administration.component.ts +++ b/src/frontend/app/administration/doctype/doctypes-administration.component.ts @@ -368,7 +368,7 @@ export class DoctypesAdministrationComponent implements OnInit { $j('#jstree').jstree('select_node', this.doctypes[0]); this.notify.success(this.lang.documentTypeDeleted); } else { - this.config = { data: {count: data.deleted, types: data.doctypes} }; + this.config = { panelClass: 'maarch-modal', data: {count: data.deleted, types: data.doctypes} }; this.dialogRef = this.dialog.open(DoctypesAdministrationRedirectModalComponent, this.config); this.dialogRef.afterClosed().subscribe((result: any) => { if (result) { diff --git a/src/frontend/app/administration/entity/entities-administration-redirect-modal.component.html b/src/frontend/app/administration/entity/entities-administration-redirect-modal.component.html index f212abf1c71..55b8dfd1a08 100755 --- a/src/frontend/app/administration/entity/entities-administration-redirect-modal.component.html +++ b/src/frontend/app/administration/entity/entities-administration-redirect-modal.component.html @@ -1,38 +1,43 @@ -<h2 mat-dialog-title>{{lang.entityReplacement}}</h2> -<mat-dialog-content> - <div class="alert alert-info" role="alert"> - <mat-list> - <mat-list-item *ngIf="data.entity.documents > 0"> - <mat-icon color="primary" mat-list-icon class="fa fa-file fa-2x"></mat-icon> - <p mat-line> - <b>{{data.entity.entity_label}}</b> {{lang.isDestTo}} - <b>{{data.entity.documents}}</b> {{lang.documents}}</p> - </mat-list-item> - <mat-list-item *ngIf="data.entity.instances > 0"> - <mat-icon color="primary" mat-list-icon class="fa fa-sitemap fa-2x"></mat-icon> - <p mat-line> - <b>{{data.entity.entity_label}}</b> {{lang.isCopyTo}} - <b>{{data.entity.instances}}</b> {{lang.documents}}</p> - </mat-list-item> - <mat-list-item *ngIf="data.entity.users.length > 0"> - <mat-icon color="primary" mat-list-icon class="fa fa-user fa-2x"></mat-icon> - <p mat-line> - <b>{{data.entity.entity_label}}</b> {{lang.isLinkedTo | lowercase}} - <b>{{data.entity.users.length}}</b> {{lang.usersAlt | lowercase}}</p> - </mat-list-item> - <mat-list-item *ngIf="data.entity.templates.length > 0"> - <mat-icon color="primary" mat-list-icon class="fa fa-file-alt fa-2x"></mat-icon> - <p mat-line> - <b>{{data.entity.entity_label}}</b> {{lang.isLinkedTo | lowercase}} - <b>{{data.entity.templates.length}}</b> {{lang.templates | lowercase}}</p> - </mat-list-item> - </mat-list> - </div> - <plugin-autocomplete [labelPlaceholder]="lang.chooseEntity" [labelList]="lang.availableEntities" [routeDatas]="['/rest/autocomplete/entities']" - [targetSearchKey]="'idToDisplay'" [subInfoKey]="'descriptionToDisplay'" (triggerEvent)="setRedirectEntity($event)" - singleMode required></plugin-autocomplete> -</mat-dialog-content> -<mat-dialog-actions> - <button style="margin:auto;" mat-raised-button color="warn" type="submit" class="btn btn-danger" (click)="dialogRef.close(data.entity)" - [disabled]="data.entity.redirectEntity === undefined || data.entity.redirectEntity == data.entity.entity_id">{{lang.delete}}</button> -</mat-dialog-actions> +<div class="mat-dialog-content-container"> + <h2 mat-dialog-title>{{lang.entityReplacement}}</h2> + <mat-dialog-content> + <div class="alert-message alert-message-info" role="alert"> + <mat-list> + <mat-list-item *ngIf="data.entity.documents > 0"> + <mat-icon color="primary" mat-list-icon class="fa fa-file fa-2x"></mat-icon> + <p mat-line> + <b>{{data.entity.entity_label}}</b> {{lang.isDestTo}} + <b>{{data.entity.documents}}</b> {{lang.documents}}</p> + </mat-list-item> + <mat-list-item *ngIf="data.entity.instances > 0"> + <mat-icon color="primary" mat-list-icon class="fa fa-sitemap fa-2x"></mat-icon> + <p mat-line> + <b>{{data.entity.entity_label}}</b> {{lang.isCopyTo}} + <b>{{data.entity.instances}}</b> {{lang.documents}}</p> + </mat-list-item> + <mat-list-item *ngIf="data.entity.users.length > 0"> + <mat-icon color="primary" mat-list-icon class="fa fa-user fa-2x"></mat-icon> + <p mat-line> + <b>{{data.entity.entity_label}}</b> {{lang.isLinkedTo | lowercase}} + <b>{{data.entity.users.length}}</b> {{lang.usersAlt | lowercase}}</p> + </mat-list-item> + <mat-list-item *ngIf="data.entity.templates.length > 0"> + <mat-icon color="primary" mat-list-icon class="fa fa-file-alt fa-2x"></mat-icon> + <p mat-line> + <b>{{data.entity.entity_label}}</b> {{lang.isLinkedTo | lowercase}} + <b>{{data.entity.templates.length}}</b> {{lang.templates | lowercase}}</p> + </mat-list-item> + </mat-list> + </div> + <plugin-autocomplete [labelPlaceholder]="lang.chooseEntity" [labelList]="lang.availableEntities" + [routeDatas]="['/rest/autocomplete/entities']" [targetSearchKey]="'idToDisplay'" + [subInfoKey]="'descriptionToDisplay'" (triggerEvent)="setRedirectEntity($event)" singleMode required> + </plugin-autocomplete> + </mat-dialog-content> + <span class="divider-modal"></span> + <mat-dialog-actions> + <button mat-raised-button color="warn" type="submit" class="btn btn-danger" + (click)="dialogRef.close(data.entity)" + [disabled]="data.entity.redirectEntity === undefined || data.entity.redirectEntity == data.entity.entity_id">{{lang.delete}}</button> + </mat-dialog-actions> +</div> \ No newline at end of file diff --git a/src/frontend/app/administration/entity/entities-administration.component.ts b/src/frontend/app/administration/entity/entities-administration.component.ts index 8778ee60a0b..c929ca96935 100755 --- a/src/frontend/app/administration/entity/entities-administration.component.ts +++ b/src/frontend/app/administration/entity/entities-administration.component.ts @@ -392,7 +392,7 @@ export class EntitiesAdministrationComponent implements OnInit { removeEntity() { if (this.currentEntity.documents > 0 || this.currentEntity.redirects > 0 || this.currentEntity.instances > 0 || this.currentEntity.users.length > 0 || this.currentEntity.templates.length > 0) { - this.config = { data: { entity: this.currentEntity } }; + this.config = { panelClass: 'maarch-modal', data: { entity: this.currentEntity } }; this.dialogRef = this.dialog.open(EntitiesAdministrationRedirectModalComponent, this.config); this.dialogRef.afterClosed().subscribe((result: any) => { if (result) { @@ -778,7 +778,10 @@ export class EntitiesAdministrationComponent implements OnInit { } } @Component({ - templateUrl: "entities-administration-redirect-modal.component.html" + templateUrl: "entities-administration-redirect-modal.component.html", + styles: [ + ".alert-message { max-width: inherit; }" + ] }) export class EntitiesAdministrationRedirectModalComponent { lang: any = LANG; diff --git a/src/frontend/app/administration/group/groups-administration-redirect-modal.component.html b/src/frontend/app/administration/group/groups-administration-redirect-modal.component.html index 0cb1fa20c18..5a29178b107 100755 --- a/src/frontend/app/administration/group/groups-administration-redirect-modal.component.html +++ b/src/frontend/app/administration/group/groups-administration-redirect-modal.component.html @@ -1,30 +1,35 @@ -<h2 mat-dialog-title>{{lang.groupRedirect}}</h2> -<mat-dialog-content style="overflow:inherit;"> - <form #changeGroupUsersForm="ngForm"> - <div class="alert alert-warning" role="alert"> - Le groupe - <b>{{this.data.group_desc}}</b> {{lang.isAssociatedTo}} <b>{{this.data.users.length}}</b> {{lang.usersAlt}}: - <mat-list> - <mat-list-item *ngFor="let user of this.data.users" style="height:25px;"> - <mat-icon mat-list-icon class="fa fa-user" color="primary"></mat-icon> - <h4 mat-line></h4> - <p mat-line> {{user.firstname}} {{user.lastname}}</p> - </mat-list-item> - </mat-list> - </div> - <mat-form-field> - <mat-select id="groups_redirect" name="groups_redirect" title="{{lang.chooseRedirectGroup}}" placeholder="{{lang.chooseRedirectGroup}}" [(ngModel)]="this.data.group_redirect" - required> - <mat-option value="_NO_REPLACEMENT">-- {{lang.noReplacement}} --</mat-option> - <mat-optgroup label="{{lang.groups}}"> - <mat-option *ngFor="let group of this.data.groupsForAssign" [value]="group.id"> - {{group.group_desc}} - </mat-option> - </mat-optgroup> - </mat-select> - </mat-form-field> - <mat-dialog-actions> - <button mat-raised-button color="primary" type="submit" [disabled]="!changeGroupUsersForm.form.valid" (click)="dialogRef.close(this.data.group_redirect)">{{lang.validate}}</button> - </mat-dialog-actions> - </form> -</mat-dialog-content> +<div class="mat-dialog-content-container"> + <h2 mat-dialog-title>{{lang.groupRedirect}}</h2> + <mat-dialog-content> + <form #changeGroupUsersForm="ngForm"> + <div class="alert-message alert-message-info" role="alert"> + Le groupe + <b>{{this.data.group_desc}}</b> {{lang.isAssociatedTo}} <b>{{this.data.users.length}}</b> + {{lang.usersAlt}}: + <mat-list> + <mat-list-item *ngFor="let user of this.data.users" style="height:25px;"> + <mat-icon mat-list-icon class="fa fa-user" color="primary"></mat-icon> + <h4 mat-line></h4> + <p mat-line> {{user.firstname}} {{user.lastname}}</p> + </mat-list-item> + </mat-list> + </div> + <mat-form-field> + <mat-select id="groups_redirect" name="groups_redirect" title="{{lang.chooseRedirectGroup}}" + placeholder="{{lang.chooseRedirectGroup}}" [(ngModel)]="this.data.group_redirect" required> + <mat-option value="_NO_REPLACEMENT">-- {{lang.noReplacement}} --</mat-option> + <mat-optgroup label="{{lang.groups}}"> + <mat-option *ngFor="let group of this.data.groupsForAssign" [value]="group.id"> + {{group.group_desc}} + </mat-option> + </mat-optgroup> + </mat-select> + </mat-form-field> + </form> + </mat-dialog-content> + <span class="divider-modal"></span> + <mat-dialog-actions> + <button mat-raised-button color="primary" type="submit" [disabled]="!changeGroupUsersForm.form.valid" + (click)="dialogRef.close(this.data.group_redirect)">{{lang.validate}}</button> + </mat-dialog-actions> +</div> \ No newline at end of file diff --git a/src/frontend/app/administration/group/groups-administration.component.ts b/src/frontend/app/administration/group/groups-administration.component.ts index 7da00bc65c5..b7070de3cad 100755 --- a/src/frontend/app/administration/group/groups-administration.component.ts +++ b/src/frontend/app/administration/group/groups-administration.component.ts @@ -97,7 +97,7 @@ export class GroupsAdministrationComponent implements OnInit { this.groupsForAssign.push(tmpGroup); } }); - this.config = { data: { id: group.id, group_desc: group.group_desc, groupsForAssign: this.groupsForAssign, users: group.users } }; + this.config = { panelClass: 'maarch-modal', data: { id: group.id, group_desc: group.group_desc, groupsForAssign: this.groupsForAssign, users: group.users } }; this.dialogRef = this.dialog.open(GroupsAdministrationRedirectModalComponent, this.config); this.dialogRef.afterClosed().subscribe((result: string) => { if (result) { diff --git a/src/frontend/app/administration/technical/technical-administration.component.html b/src/frontend/app/administration/technical/technical-administration.component.html deleted file mode 100644 index ac94d226485..00000000000 --- a/src/frontend/app/administration/technical/technical-administration.component.html +++ /dev/null @@ -1,10 +0,0 @@ -<div class="adminTitle">{{lang.parameters}}</div> -<div *ngIf="loading" class="adminLoading"> - <mat-spinner></mat-spinner> -</div> -<mat-nav-list *ngIf="!loading"> - <mat-list-item *ngFor="let modService of technicalServices" (click)="goToSpecifiedAdministration(modService)"> - <mat-icon color="primary" mat-list-icon class="{{modService.style}} fa-2x"></mat-icon> - <p mat-line> {{modService.name}} </p> - </mat-list-item> -</mat-nav-list> \ No newline at end of file diff --git a/src/frontend/app/administration/technical/technical-administration.component.scss b/src/frontend/app/administration/technical/technical-administration.component.scss deleted file mode 100644 index bc2547e329a..00000000000 --- a/src/frontend/app/administration/technical/technical-administration.component.scss +++ /dev/null @@ -1,18 +0,0 @@ -.adminTitle { - text-align: center; - font-weight: bold; - opacity: 0.3; -} - -.adminLoading { - display: flex; - height: 100%; - - .mat-spinner { - margin: auto; - } -} - -mat-icon { - height: auto; -} \ No newline at end of file diff --git a/src/frontend/app/administration/technical/technical-administration.component.ts b/src/frontend/app/administration/technical/technical-administration.component.ts deleted file mode 100644 index bca52663d70..00000000000 --- a/src/frontend/app/administration/technical/technical-administration.component.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { Component, OnInit } from '@angular/core'; -import { HttpClient } from '@angular/common/http'; -import { Router } from '@angular/router'; -import { LANG } from '../../translate.component'; -import { MatBottomSheet } from '@angular/material/bottom-sheet'; - -declare function $j(selector: any): any; - -declare const angularGlobals: any; - - -@Component({ - templateUrl: "technical-administration.component.html", - styleUrls: ['technical-administration.component.scss'], -}) -export class TechnicalAdministrationComponent implements OnInit { - - mobileQuery : MediaQueryList; - - coreUrl : string; - lang : any = LANG; - loading : boolean = false; - - technicalServices : any[] = []; - - - constructor(public http: HttpClient, private router: Router, private bottomSheet: MatBottomSheet) { - $j("link[href='merged_css.php']").remove(); - } - - ngOnInit(): void { - this.coreUrl = angularGlobals.coreUrl; - - this.loading = true; - - // TO DO : change route for real technical services - this.http.get(this.coreUrl + 'rest/administration') - .subscribe((data: any) => { - this.technicalServices = data.administrations.supervision; - this.loading = false; - }, () => { - location.href = "index.php"; - }); - } - - goToSpecifiedAdministration(service: any): void { - this.router.navigate([service.servicepage]); - this.bottomSheet.dismiss(); - } -} diff --git a/src/frontend/app/administration/template/template-administration-checkEntities-modal.component.html b/src/frontend/app/administration/template/template-administration-checkEntities-modal.component.html index f2c9e061b09..ef0d2570a38 100644 --- a/src/frontend/app/administration/template/template-administration-checkEntities-modal.component.html +++ b/src/frontend/app/administration/template/template-administration-checkEntities-modal.component.html @@ -1,7 +1,7 @@ -<h1 mat-dialog-title>{{lang.templateAssociateEntities}}</h1> -<mat-dialog-content > - <div class="modal-body"> - <div class="alert alert-warning" role="alert"> +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>{{lang.templateAssociateEntities}}</h1> + <mat-dialog-content> + <div class="alert-message alert-message-info" role="alert"> <p>{{lang.templateCheckEntities}}<b>{{lang['AR'+data.template_attachment_type]}}</b></p> </div> <mat-list> @@ -10,9 +10,8 @@ <span mat-line> {{entity.entity_label}} </span> </mat-list-item> </mat-list> - </div> + </mat-dialog-content> <mat-dialog-actions> - <button mat-raised-button color="primary" type="submit" - (click)="dialogRef.close()">{{lang.close}}</button> + <button mat-raised-button color="primary" type="submit" (click)="dialogRef.close()">{{lang.close}}</button> </mat-dialog-actions> -</mat-dialog-content> \ No newline at end of file +</div> \ No newline at end of file diff --git a/src/frontend/app/administration/template/template-administration-checkEntities-modal.scss b/src/frontend/app/administration/template/template-administration-checkEntities-modal.scss index 80ef80f773f..7cb09b6d8a3 100644 --- a/src/frontend/app/administration/template/template-administration-checkEntities-modal.scss +++ b/src/frontend/app/administration/template/template-administration-checkEntities-modal.scss @@ -1,16 +1,3 @@ -.mat-dialog-content{ - height: auto !important; - min-width: 30vw; - max-height: 90vh; - overflow: hidden !important; - padding: 24px !important; -} - -.modal-body{ - min-height: auto; -} - -mat-list{ - overflow: auto; - max-height: 50vh; +.alert-message { + max-width: inherit; } \ No newline at end of file diff --git a/src/frontend/app/administration/template/template-administration.component.ts b/src/frontend/app/administration/template/template-administration.component.ts index f8f74afb574..9ea2006e0ec 100755 --- a/src/frontend/app/administration/template/template-administration.component.ts +++ b/src/frontend/app/administration/template/template-administration.component.ts @@ -321,6 +321,7 @@ export class TemplateAdministrationComponent implements OnInit { .subscribe((data: any) => { if (data.checkEntities) { this.config = { + panelClass: 'maarch-modal', data: { entitiesList: data.checkEntities, template_attachment_type: this.template.template_attachment_type @@ -342,6 +343,7 @@ export class TemplateAdministrationComponent implements OnInit { .subscribe((data: any) => { if (data.checkEntities) { this.config = { + panelClass: 'maarch-modal', data: { entitiesList: data.checkEntities, template_attachment_type: this.template.template_attachment_type diff --git a/src/frontend/app/administration/user/account-link/account-link.component.html b/src/frontend/app/administration/user/account-link/account-link.component.html index 3a6d86c0e6d..f9f5afbfe3b 100644 --- a/src/frontend/app/administration/user/account-link/account-link.component.html +++ b/src/frontend/app/administration/user/account-link/account-link.component.html @@ -1,23 +1,33 @@ -<h1 mat-dialog-title>{{lang.linkAccount}}</h1> -<mat-dialog-content class="modal-container"> - <plugin-autocomplete [labelPlaceholder]="lang.searchUserInMaarchParapheur" [routeDatas]="['/rest/autocomplete/maarchParapheurUsers?exludeAlreadyConnected=true']" [targetSearchKey]="'idToDisplay'" [subInfoKey]="'email'" (triggerEvent)="selectUser($event)" appearance="outline"></plugin-autocomplete> - <mat-list *ngIf="externalUser.inMaarchParapheur"> - <mat-list-item > - <mat-icon class="avatarAccount" color="primary" mat-list-icon - [style.background-image]="'url('+externalUser.picture+')'"></mat-icon> - <h4 mat-line>{{externalUser.firstname}} {{externalUser.lastname}}</h4> - <p mat-line style="color:#666">{{externalUser.email}}</p> - <button mat-icon-button color="warn" [title]="lang.unlinkAccount" (click)="unlinkMaarchParapheurAccount()"> +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>{{lang.linkAccount}}</h1> + <mat-dialog-content> + <plugin-autocomplete [labelPlaceholder]="lang.searchUserInMaarchParapheur" + [routeDatas]="['/rest/autocomplete/maarchParapheurUsers?exludeAlreadyConnected=true']" + [targetSearchKey]="'idToDisplay'" [subInfoKey]="'email'" (triggerEvent)="selectUser($event)" appearance="outline"> + </plugin-autocomplete> + <mat-list *ngIf="externalUser.inMaarchParapheur"> + <mat-list-item> + <mat-icon class="avatarAccount" color="primary" mat-list-icon + [style.background-image]="'url('+externalUser.picture+')'"></mat-icon> + <h4 mat-line>{{externalUser.firstname}} {{externalUser.lastname}}</h4> + <p mat-line style="color:#666">{{externalUser.email}}</p> + <button mat-icon-button color="warn" [title]="lang.unlinkAccount" (click)="unlinkMaarchParapheurAccount()"> <mat-icon class="fas fa-unlink"></mat-icon> - </button> - </mat-list-item> - </mat-list> - <mat-form-field *ngIf="!externalUser.inMaarchParapheur"> - <input type="text" matInput placeholder="{{lang.newLoginInMaarchParapheur}}" [(ngModel)]="externalUser.login"> - </mat-form-field> - <div *ngIf="!externalUser.inMaarchParapheur" class="alert-message alert-message-danger" role="alert" style="margin-top: 30px;" [innerHTML]="lang.maarchParapheurAccountMsg + ' <b>' + externalUser.login + '</b> ' + lang.maarchParapheurAccountMsg2"></div> -</mat-dialog-content> -<mat-dialog-actions> - <button color="primary" mat-raised-button (click)="this.dialogRef.close(externalUser);" [disabled]="externalUser.login === ''">{{lang.validate}}</button> - <button mat-raised-button (click)="this.dialogRef.close('');">{{lang.cancel}}</button> -</mat-dialog-actions> \ No newline at end of file + </button> + </mat-list-item> + </mat-list> + <mat-form-field *ngIf="!externalUser.inMaarchParapheur"> + <input type="text" matInput placeholder="{{lang.newLoginInMaarchParapheur}}" [(ngModel)]="externalUser.login"> + </mat-form-field> + <div *ngIf="!externalUser.inMaarchParapheur" class="alert-message alert-message-danger" role="alert" + style="margin-top: 30px;" + [innerHTML]="lang.maarchParapheurAccountMsg + ' <b>' + externalUser.login + '</b> ' + lang.maarchParapheurAccountMsg2"> + </div> + </mat-dialog-content> + <span class="divider-modal"></span> + <mat-dialog-actions> + <button color="primary" mat-raised-button (click)="this.dialogRef.close(externalUser);" + [disabled]="externalUser.login === ''">{{lang.validate}}</button> + <button mat-raised-button (click)="this.dialogRef.close('');">{{lang.cancel}}</button> + </mat-dialog-actions> +</div> \ No newline at end of file diff --git a/src/frontend/app/administration/user/account-link/account-link.component.scss b/src/frontend/app/administration/user/account-link/account-link.component.scss index f8b37d5023b..918b435f553 100644 --- a/src/frontend/app/administration/user/account-link/account-link.component.scss +++ b/src/frontend/app/administration/user/account-link/account-link.component.scss @@ -1,8 +1,5 @@ @import '../../../../css/vars.scss'; -.mat-dialog-title { - padding: 10px; -} .avatarAccount { border: solid 3px #F99830; height: 45px !important; @@ -10,12 +7,4 @@ background-size: cover; background-repeat: no-repeat; background-position: center; -} - -.modal-container{ - height: auto; -} - -.modal-body{ - min-height: auto; -} +} \ No newline at end of file diff --git a/src/frontend/app/administration/user/user-administration-redirect-modal.component.html b/src/frontend/app/administration/user/user-administration-redirect-modal.component.html index 157cd4156b9..4f9ac32bcdc 100755 --- a/src/frontend/app/administration/user/user-administration-redirect-modal.component.html +++ b/src/frontend/app/administration/user/user-administration-redirect-modal.component.html @@ -1,14 +1,17 @@ -<h1 mat-dialog-title>{{lang.redirects}}</h1> -<mat-dialog-content style="overflow:inherit;"> - <form #redirectConfForm="ngForm"> - <div class="modal-body"> - <div class="alert alert-warning" role="alert" *ngIf="data.hasConfidentialityInstances" [innerHTML]="lang.redirectConfidentialInfo"> +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>{{lang.redirects}}</h1> + <mat-dialog-content> + <form #redirectConfForm="ngForm"> + + <div class="alert-message alert-message-info" role="alert" *ngIf="data.hasConfidentialityInstances" + [innerHTML]="lang.redirectConfidentialInfo"> </div> - <div class="alert alert-warning" role="alert" *ngIf="data.hasListTemplates" [innerHTML]="lang.redirectModelInfo"> + <div class="alert-message alert-message-info" role="alert" *ngIf="data.hasListTemplates" + [innerHTML]="lang.redirectModelInfo"> </div> <div class="input-group"> - <mat-radio-group id="processMode" name="processMode" style="display: inline-flex;flex-direction: column;" [(ngModel)]="this.processMode" - color="primary"> + <mat-radio-group id="processMode" name="processMode" + style="display: inline-flex;flex-direction: column;" [(ngModel)]="this.processMode" color="primary"> <mat-radio-button value="" checked="true" color="primary"> {{lang.doNothingRedirect}} </mat-radio-button> @@ -19,18 +22,24 @@ {{lang.reaffectUserRedirect}} </mat-radio-button> </mat-radio-group> - <plugin-autocomplete *ngIf="this.processMode == 'reaffect'" [labelPlaceholder]="lang.userReplacement" [labelList]="lang.availableUsers" [routeDatas]="['/rest/autocomplete/users']" [targetSearchKey]="'idToDisplay'" [subInfoKey]="'descriptionToDisplay'" (triggerEvent)="setRedirectUser($event)" singleMode required></plugin-autocomplete> + <plugin-autocomplete *ngIf="this.processMode == 'reaffect'" [labelPlaceholder]="lang.userReplacement" + [labelList]="lang.availableUsers" [routeDatas]="['/rest/autocomplete/users']" + [targetSearchKey]="'idToDisplay'" [subInfoKey]="'descriptionToDisplay'" + (triggerEvent)="setRedirectUser($event)" singleMode required></plugin-autocomplete> <div class="alert-message alert-message-info" role="alert" style="max-width: inherit;"> <span *ngIf="this.processMode == ''"><em>{{lang.doNothingRedirectInformations}}</em></span> <span *ngIf="this.processMode == 'delete'" [innerHTML]="lang.removeUserRedirectInformations"></span> - <span *ngIf="this.processMode == 'reaffect'"><em>{{lang.reaffectUserRedirectInformations}}</em></span> + <span + *ngIf="this.processMode == 'reaffect'"><em>{{lang.reaffectUserRedirectInformations}}</em></span> </div> </div> - </div> - <mat-dialog-actions> - <button mat-raised-button color="primary" type="submit" [disabled]="!this.redirectUser && this.processMode == 'reaffect'" - (click)="dialogRef.close({newUser:this.redirectUser,processMode:this.processMode})">{{lang.validate}}</button> - </mat-dialog-actions> - </form> -</mat-dialog-content> \ No newline at end of file + </form> + </mat-dialog-content> + <span class="divider-modal"></span> + <mat-dialog-actions> + <button mat-raised-button color="primary" type="submit" + [disabled]="!this.redirectUser && this.processMode == 'reaffect'" + (click)="dialogRef.close({newUser:this.redirectUser,processMode:this.processMode})">{{lang.validate}}</button> + </mat-dialog-actions> +</div> \ No newline at end of file diff --git a/src/frontend/app/administration/user/user-administration.component.ts b/src/frontend/app/administration/user/user-administration.component.ts index 20b423a1c15..6b349c36513 100755 --- a/src/frontend/app/administration/user/user-administration.component.ts +++ b/src/frontend/app/administration/user/user-administration.component.ts @@ -203,7 +203,7 @@ export class UserAdministrationComponent implements OnInit { } linkMaarchParapheurAccount() { - const dialogRef = this.dialog.open(AccountLinkComponent, { autoFocus: false, data: { user: this.user } }); + const dialogRef = this.dialog.open(AccountLinkComponent, { panelClass: 'maarch-modal', autoFocus: false, data: { user: this.user } }); dialogRef.afterClosed().subscribe(result => { if (result) { if (result.inMaarchParapheur) { @@ -486,7 +486,7 @@ export class UserAdministrationComponent implements OnInit { this.notify.error(err.error.errors); }); } else { - this.config = { data: { hasConfidentialityInstances: data['hasConfidentialityInstances'], hasListTemplates: data['hasListTemplates'] } }; + this.config = { panelClass: 'maarch-modal', data: { hasConfidentialityInstances: data['hasConfidentialityInstances'], hasListTemplates: data['hasListTemplates'] } }; this.dialogRef = this.dialog.open(UserAdministrationRedirectModalComponent, this.config); this.dialogRef.afterClosed().subscribe((result: any) => { this.mode = 'delete'; diff --git a/src/frontend/app/administration/user/users-administration-redirect-modal.component.html b/src/frontend/app/administration/user/users-administration-redirect-modal.component.html index 3efed8e4d5a..9f76e3004c4 100755 --- a/src/frontend/app/administration/user/users-administration-redirect-modal.component.html +++ b/src/frontend/app/administration/user/users-administration-redirect-modal.component.html @@ -1,86 +1,81 @@ -<h1 mat-dialog-title>{{modalTitle}}</h1> - -<form #changeDiffListDestForm="ngForm"> - <div> +<div class="mat-dialog-content-container"> + <h1 mat-dialog-title>{{modalTitle}}</h1> + <mat-dialog-content> <ng-container *ngIf="data.isDeletable"> - <mat-dialog-content> - <div class="modal-body" *ngIf="data.inDiffListDest"> - <h2>{{lang.redirectUserListDiff}}</h2> - <div class="alert alert-warning" role="alert"> - <b>{{this.data.userDestRedirect.firstname}} {{this.data.userDestRedirect.lastname}}</b> <span - [innerHTML]="lang.chooseNewDest"></span> : - </div> - - <div *ngFor="let redirectModel of data.redirectListModels; index as i" id="{{redirectModel.object_id}}" - class="form-group"> - <plugin-autocomplete [labelPlaceholder]="lang.newDest + ' : ' + redirectModel.title" [labelList]="lang.availableUsers" [routeDatas]="['/rest/autocomplete/users']" [targetSearchKey]="'idToDisplay'" [subInfoKey]="'descriptionToDisplay'" (triggerEvent)="setRedirectUserListModels(i, $event)" singleMode required></plugin-autocomplete> - </div> + <ng-container *ngIf="data.inDiffListDest"> + <h2>{{lang.redirectUserListDiff}}</h2> + <div class="alert-message alert-message-info" role="alert"> + <b>{{this.data.userDestRedirect.firstname}} {{this.data.userDestRedirect.lastname}}</b> <span + [innerHTML]="lang.chooseNewDest"></span> : </div> - <div class="modal-body" *ngIf="data.isResDestUser"> - <h2>{{lang.redirectUserListInstances}}</h2> - <div class="alert alert-warning" role="alert"> - <b>{{this.data.userDestRedirect.firstname}} {{this.data.userDestRedirect.lastname}}</b> <span - [innerHTML]="lang.chooseNewDestUser"></span> : - </div> - - <div id="{{this.data.userDestRedirect.user_id}}" class="form-group"> - <plugin-autocomplete [labelPlaceholder]="lang.newDestRes" [labelList]="lang.availableUsers" [routeDatas]="['/rest/autocomplete/users']" [targetSearchKey]="'idToDisplay'" [subInfoKey]="'descriptionToDisplay'" (triggerEvent)="setRedirectUserRes($event)" singleMode required></plugin-autocomplete> - </div> + <div *ngFor="let redirectModel of data.redirectListModels; index as i" id="{{redirectModel.object_id}}" + class="form-group"> + <plugin-autocomplete [labelPlaceholder]="lang.newDest + ' : ' + redirectModel.title" + [labelList]="lang.availableUsers" [routeDatas]="['/rest/autocomplete/users']" + [targetSearchKey]="'idToDisplay'" [subInfoKey]="'descriptionToDisplay'" + (triggerEvent)="setRedirectUserListModels(i, $event)" singleMode required></plugin-autocomplete> </div> - - <div class="modal-body" *ngIf="!data.inDiffListDest && !data.isResDestUser"> - <div class="alert" role="alert"> - <b *ngIf="data.userDestRedirect.mode == 'delete'">{{lang.delete}} - {{this.data.userDestRedirect.firstname}} {{this.data.userDestRedirect.lastname}}</b> - <b *ngIf="data.userDestRedirect.mode == 'suspend'">{{lang.suspend}} - {{this.data.userDestRedirect.firstname}} {{this.data.userDestRedirect.lastname}}</b> - </div> + </ng-container> + <ng-container *ngIf="data.isResDestUser"> + <h2>{{lang.redirectUserListInstances}}</h2> + <div class="alert-message alert-message-info" role="alert"> + <b>{{this.data.userDestRedirect.firstname}} {{this.data.userDestRedirect.lastname}}</b> <span + [innerHTML]="lang.chooseNewDestUser"></span> : </div> - </mat-dialog-content> - </ng-container> - - <ng-container *ngIf="!data.isDeletable"> - <mat-dialog-content> - <div class="modal-body"> - <div class="alert alert-warning" role="alert"> - <p><span [innerHTML]="lang.userIsNotDeletable"></span> <b>{{this.data.userDestRedirect.firstname}} - {{this.data.userDestRedirect.lastname}}</b> </p> - <p><span [innerHTML]="lang.userIsDeletableBy"></span></p> - </div> + <div id="{{this.data.userDestRedirect.user_id}}" class="form-group"> + <plugin-autocomplete [labelPlaceholder]="lang.newDestRes" [labelList]="lang.availableUsers" + [routeDatas]="['/rest/autocomplete/users']" [targetSearchKey]="'idToDisplay'" + [subInfoKey]="'descriptionToDisplay'" (triggerEvent)="setRedirectUserRes($event)" singleMode + required></plugin-autocomplete> </div> - - <div class="modal-body" *ngIf="data.inTemplateList" class="col-md-6"> - <mat-list> - <p mat-line>{{lang.diffusionList}}</p> - <mat-list-item *ngFor="let templateEntity of data.listTemplateEntities"> - <mat-icon mat-list-icon><i class="fa fa-share-alt" color="primary"></i></mat-icon> - <p mat-line><span> {{templateEntity}} </span></p> - </mat-list-item> - </mat-list> - </div> - - <div class="modal-body" *ngIf="data.inInstanceList" class="col-md-6"> - <mat-list> - <p mat-line>{{lang.mailEntitiesList}}</p> - <mat-list-item *ngFor="let instanceEntity of data.listInstanceEntities"> - <mat-icon mat-list-icon><i class="fa fa-inbox" color="primary"></i></mat-icon> - <p mat-line><span> {{instanceEntity}} </span></p> - </mat-list-item> - </mat-list> + </ng-container> + <ng-container *ngIf="!data.inDiffListDest && !data.isResDestUser"> + <div class="alert" role="alert"> + <b *ngIf="data.userDestRedirect.mode == 'delete'">{{lang.delete}} + {{this.data.userDestRedirect.firstname}} {{this.data.userDestRedirect.lastname}}</b> + <b *ngIf="data.userDestRedirect.mode == 'suspend'">{{lang.suspend}} + {{this.data.userDestRedirect.firstname}} {{this.data.userDestRedirect.lastname}}</b> </div> - </mat-dialog-content> + </ng-container> </ng-container> - - <mat-dialog-actions> - <button mat-raised-button color="warn" *ngIf="data.userDestRedirect.mode == 'delete' && data.isDeletable" - type="submit" class="btn btn-danger" (click)="dialogRef.close(this.data)" [disabled]="!sendFunction()">{{lang.delete}} - {{lang.user}}</button> - <button mat-raised-button color="primary" *ngIf="data.userDestRedirect.mode == 'suspend' && data.isDeletable" - type="submit" (click)="dialogRef.close(this.data)" [disabled]="!sendFunction()">{{lang.suspend}} - {{lang.user}}</button> - <button mat-raised-button color="primary" *ngIf="!data.isDeletable" type="submit" (click)="dialogRef.close()">{{lang.close}}</button> - </mat-dialog-actions> - </div> -</form> \ No newline at end of file + <ng-container *ngIf="!data.isDeletable"> + <div class="alert-message alert-message-info" role="alert"> + <p><span [innerHTML]="lang.userIsNotDeletable"></span> <b>{{this.data.userDestRedirect.firstname}} + {{this.data.userDestRedirect.lastname}}</b> </p> + <p><span [innerHTML]="lang.userIsDeletableBy"></span></p> + </div> + <div class="modal-body" *ngIf="data.inTemplateList" class="col-md-6"> + <mat-list> + <p mat-line>{{lang.diffusionList}}</p> + <mat-list-item *ngFor="let templateEntity of data.listTemplateEntities"> + <mat-icon mat-list-icon><i class="fa fa-share-alt" color="primary"></i></mat-icon> + <p mat-line><span> {{templateEntity}} </span></p> + </mat-list-item> + </mat-list> + </div> + <div class="modal-body" *ngIf="data.inInstanceList" class="col-md-6"> + <mat-list> + <p mat-line>{{lang.mailEntitiesList}}</p> + <mat-list-item *ngFor="let instanceEntity of data.listInstanceEntities"> + <mat-icon mat-list-icon><i class="fa fa-inbox" color="primary"></i></mat-icon> + <p mat-line><span> {{instanceEntity}} </span></p> + </mat-list-item> + </mat-list> + </div> + </ng-container> + </mat-dialog-content> + <span class="divider-modal"></span> + <mat-dialog-actions> + <button mat-raised-button color="warn" *ngIf="data.userDestRedirect.mode == 'delete' && data.isDeletable" + type="submit" class="btn btn-danger" (click)="dialogRef.close(this.data)" + [disabled]="!sendFunction()">{{lang.delete}} + {{lang.user}}</button> + <button mat-raised-button color="primary" *ngIf="data.userDestRedirect.mode == 'suspend' && data.isDeletable" + type="submit" (click)="dialogRef.close(this.data)" [disabled]="!sendFunction()">{{lang.suspend}} + {{lang.user}}</button> + <button mat-raised-button color="primary" *ngIf="!data.isDeletable" type="submit" + (click)="dialogRef.close()">{{lang.close}}</button> + </mat-dialog-actions> +</div> \ No newline at end of file diff --git a/src/frontend/app/administration/user/users-administration-redirect-modal.scss b/src/frontend/app/administration/user/users-administration-redirect-modal.scss index 80935ad615e..341bf2502e0 100644 --- a/src/frontend/app/administration/user/users-administration-redirect-modal.scss +++ b/src/frontend/app/administration/user/users-administration-redirect-modal.scss @@ -1,15 +1,7 @@ -.mat-dialog-content{ - max-height: 80vh; -} - -.modal-body{ - min-height: auto; -} - -mat-dialog-actions{ - justify-content: center; -} - mat-icon{ height: auto !important; +} + +.alert-message { + max-width: 100%; } \ No newline at end of file diff --git a/src/frontend/app/administration/user/users-administration.component.ts b/src/frontend/app/administration/user/users-administration.component.ts index ff656176847..c3ee2a4c2e3 100755 --- a/src/frontend/app/administration/user/users-administration.component.ts +++ b/src/frontend/app/administration/user/users-administration.component.ts @@ -18,7 +18,7 @@ declare var angularGlobals: any; @Component({ templateUrl: "users-administration.component.html", styleUrls: ['users-administration.component.scss'], - providers: [NotificationService, AppService] + providers: [AppService] }) export class UsersAdministrationComponent implements OnInit { @@ -146,6 +146,7 @@ export class UsersAdministrationComponent implements OnInit { if (response.isDeletable) { this.config = { + panelClass: 'maarch-modal', data: { userDestRedirect: user, isDeletable: response.isDeletable, @@ -155,6 +156,7 @@ export class UsersAdministrationComponent implements OnInit { }; } else { this.config = { + panelClass: 'maarch-modal', data: { userDestRedirect: user, isDeletable: response.isDeletable, @@ -417,7 +419,6 @@ export class UsersAdministrationComponent implements OnInit { @Component({ templateUrl: "users-administration-redirect-modal.component.html", styleUrls: ['users-administration-redirect-modal.scss'], - providers: [NotificationService] }) export class UsersAdministrationRedirectModalComponent { lang: any = LANG; diff --git a/src/frontend/css/maarch-material-modal.scss b/src/frontend/css/maarch-material-modal.scss index 0e027ab9a72..1001f7b55c6 100644 --- a/src/frontend/css/maarch-material-modal.scss +++ b/src/frontend/css/maarch-material-modal.scss @@ -32,7 +32,8 @@ .mat-dialog-title { margin: 0; padding: 5px; - padding-left: 10px; + padding-left: 20px; + padding-right: 20px; background: $primary; color: white; display: flex; @@ -78,7 +79,8 @@ .mat-dialog-title { margin: 0; padding: 5px; - padding-left: 10px; + padding-left: 20px; + padding-right: 20px; background: $primary; color: white; display: flex; -- GitLab