diff --git a/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/service/VitamContextService.java b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/service/VitamContextService.java index 7e3e8cc4b830a9269ae6ad4839b474164617ac14..19f777c40a822b65f35330e8ef5d89d78abccff4 100644 --- a/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/service/VitamContextService.java +++ b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/service/VitamContextService.java @@ -40,9 +40,11 @@ import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; +import java.util.Iterator; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; +import java.util.stream.StreamSupport; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; @@ -50,6 +52,8 @@ import org.springframework.http.HttpStatus; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.node.ArrayNode; +import com.fasterxml.jackson.databind.node.ObjectNode; import com.fasterxml.jackson.databind.ObjectMapper; import fr.gouv.vitam.access.external.client.AdminExternalClient; @@ -184,8 +188,26 @@ public class VitamContextService { final List<ContextVitamDto> listOfContexts = convertContextsToModelOfCreation(contextDto); final ObjectMapper mapper = new ObjectMapper(); final JsonNode node = mapper.convertValue(listOfContexts, JsonNode.class); - LOGGER.debug("The json for creation access contract, sent to Vitam {}", node); - + + // The "accessContracts" and "ingestContracts" in the permissions must be rename to "AccessContracts" and "IngestContracts" to be saved in Vitam + final ArrayNode arrayNode = (ArrayNode) node; + arrayNode.forEach(contextNode -> { + final ArrayNode permissionsNode = (ArrayNode) contextNode.get("Permissions"); + if (permissionsNode != null) { + permissionsNode.forEach(permissionNode -> { + final ObjectNode objectNode = (ObjectNode) permissionNode; + if (permissionNode.get("accessContracts") != null) { + objectNode.set("AccessContracts", permissionNode.get("accessContracts")); + objectNode.remove("accessContracts"); + } + if (permissionNode.get("ingestContracts") != null) { + objectNode.set("IngestContracts", permissionNode.get("ingestContracts")); + objectNode.remove("ingestContracts"); + } + }); + } + }); + try (ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream()) { mapper.writeValue(byteArrayOutputStream, node); return new ByteArrayInputStream(byteArrayOutputStream.toByteArray()); diff --git a/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/context/ContextConverter.java b/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/context/ContextConverter.java index 9d0fec1b22ce85f989c186e6a623758f4a45d94c..3ec4093e4c3a1cf789c4be8590b6ab40b54522c9 100644 --- a/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/context/ContextConverter.java +++ b/api/api-referential/referential-internal/src/main/java/fr/gouv/vitamui/referential/internal/server/context/ContextConverter.java @@ -75,7 +75,7 @@ public class ContextConverter { PermissionDto permissionDto = new PermissionDto(); permissionDto.setTenant(permission.getTenant().toString()); permissionDto.setAccessContracts(permission.getAccessContract()); - permissionDto.setAccessContracts(permission.getAccessContract()); + permissionDto.setIngestContracts(permission.getIngestContract()); permissions.add(permissionDto); } diff --git a/ui/ui-frontend/projects/referential/src/app/context/context-create/context-create.module.ts b/ui/ui-frontend/projects/referential/src/app/context/context-create/context-create.module.ts index efc301a58bee23a33ff9443e881a36efbf0f837f..f6637a1121f683192dd2e4cc50739d6202f15d53 100644 --- a/ui/ui-frontend/projects/referential/src/app/context/context-create/context-create.module.ts +++ b/ui/ui-frontend/projects/referential/src/app/context/context-create/context-create.module.ts @@ -52,7 +52,6 @@ import {ContextCreateComponent} from './context-create.component'; import {ContextCreateValidators} from './context-create.validators'; import {ContextEditPermissionModule} from './context-edit-permission/context-edit-permission.module'; - @NgModule({ imports: [ CommonModule, diff --git a/ui/ui-frontend/projects/referential/src/app/context/context-create/context-edit-permission/context-edit-permission.component.html b/ui/ui-frontend/projects/referential/src/app/context/context-create/context-edit-permission/context-edit-permission.component.html index cb67c8c56caa6d8e6a0db219cb35bfa76e19333a..ec3228ac7ca92bb339f022b2fd30dc94a9d40652 100644 --- a/ui/ui-frontend/projects/referential/src/app/context/context-create/context-edit-permission/context-edit-permission.component.html +++ b/ui/ui-frontend/projects/referential/src/app/context/context-create/context-edit-permission/context-edit-permission.component.html @@ -33,6 +33,10 @@ <mat-select [(value)]="permission.accessContracts" placeholder="Contrats d'accès" (selectionChange)="onContractSelect()" i18n-placeholder="Application@@accessContractsFormApplicationPlaceholder" panelclass="vitamui-mat-select" multiple required> + <vitamui-select-all-option [value]="permission.accessContracts" [values]="getAccessContractKeys(permission.tenant)" + title="Tous les contrats d'accès" i18n-title="Application@@accessContractsFormApplicationSelectAll" + (toggleSelection)="permission.accessContracts = $event"> + </vitamui-select-all-option> <mat-option *ngFor='let contract of accessContracts.get(permission.tenant)' [value]="contract.key"> {{contract.label}} </mat-option> @@ -47,6 +51,10 @@ <mat-select [(value)]="permission.ingestContracts" placeholder="Contrats d'entrée" (selectionChange)="onContractSelect()" i18n-placeholder="Application@@accessContractsFormApplicationPlaceholder" panelclass="vitamui-mat-select" multiple required> + <vitamui-select-all-option [value]="permission.ingestContracts" [values]="getIngestContractKeys(permission.tenant)" + title="Tous les contrats d'entrée" i18n-title="Application@@ingestContractsFormApplicationSelectAll" + (toggleSelection)="permission.ingestContracts = $event"> + </vitamui-select-all-option> <mat-option *ngFor='let contract of ingestContracts.get(permission.tenant)' [value]="contract.key"> {{contract.label}} </mat-option> diff --git a/ui/ui-frontend/projects/referential/src/app/context/context-create/context-edit-permission/context-edit-permission.component.ts b/ui/ui-frontend/projects/referential/src/app/context/context-create/context-edit-permission/context-edit-permission.component.ts index df4d310ebc7263492ebdc6d9731c8249b33860f2..8d450b7b8899fa728dea8464e9ee024ffabc8bfa 100644 --- a/ui/ui-frontend/projects/referential/src/app/context/context-create/context-edit-permission/context-edit-permission.component.ts +++ b/ui/ui-frontend/projects/referential/src/app/context/context-create/context-edit-permission/context-edit-permission.component.ts @@ -165,4 +165,13 @@ export class ContextEditPermissionComponent implements ControlValueAccessor, OnI this.disabled = isDisabled; } + getAccessContractKeys(tenant: string): string[] { + const contracts: Option[] = this.accessContracts.get(tenant); + return contracts != null ? contracts.map(item => item.key) : []; + } + + getIngestContractKeys(tenant: string) { + const contracts: Option[] = this.ingestContracts.get(tenant); + return contracts != null ? contracts.map(item => item.key) : []; + } } diff --git a/ui/ui-frontend/projects/referential/src/app/context/context-create/context-edit-permission/context-edit-permission.module.ts b/ui/ui-frontend/projects/referential/src/app/context/context-create/context-edit-permission/context-edit-permission.module.ts index 5495209bb0e893a7dc37752152e54656e364eb8e..d4d1719515227ad5416b673d5b2e9e0bc2e9e1fa 100644 --- a/ui/ui-frontend/projects/referential/src/app/context/context-create/context-edit-permission/context-edit-permission.module.ts +++ b/ui/ui-frontend/projects/referential/src/app/context/context-create/context-edit-permission/context-edit-permission.module.ts @@ -45,6 +45,7 @@ import {MatSelectModule} from '@angular/material/select'; import {MatSnackBarModule} from '@angular/material/snack-bar'; import {MatTooltipModule} from '@angular/material/tooltip'; +import {VitamUILibraryModule} from 'projects/vitamui-library/src/public-api'; import {VitamUICommonModule} from 'ui-frontend-common'; import {ContextEditPermissionComponent} from './context-edit-permission.component'; @@ -59,7 +60,8 @@ import {ContextEditPermissionComponent} from './context-edit-permission.componen MatSnackBarModule, MatTooltipModule, ReactiveFormsModule, - VitamUICommonModule + VitamUICommonModule, + VitamUILibraryModule, ], declarations: [ ContextEditPermissionComponent diff --git a/ui/ui-frontend/projects/referential/src/app/context/context-preview/context-information-tab/context-information-tab.component.ts b/ui/ui-frontend/projects/referential/src/app/context/context-preview/context-information-tab/context-information-tab.component.ts index 9b0a10f13fce548e77db3f349fb5bcc74f878b3a..12cd277739dea3dc086f2873e78e0b66782fcf6c 100644 --- a/ui/ui-frontend/projects/referential/src/app/context/context-preview/context-information-tab/context-information-tab.component.ts +++ b/ui/ui-frontend/projects/referential/src/app/context/context-preview/context-information-tab/context-information-tab.component.ts @@ -160,6 +160,7 @@ export class ContextInformationTabComponent { } resetForm(context: Context) { + this.statusControl.setValue(context.status === 'ACTIVE'); this.form.reset(context, {emitEvent: false}); } } diff --git a/ui/ui-frontend/projects/referential/src/app/context/context-preview/context-preview.component.ts b/ui/ui-frontend/projects/referential/src/app/context/context-preview/context-preview.component.ts index f330f139cb216c60ead6215890c070483e671925..7c800b6b36ac245d77d4d8842ed3f25d0b9ed704 100644 --- a/ui/ui-frontend/projects/referential/src/app/context/context-preview/context-preview.component.ts +++ b/ui/ui-frontend/projects/referential/src/app/context/context-preview/context-preview.component.ts @@ -34,7 +34,7 @@ * The fact that you are presently reading this means that you have had * knowledge of the CeCILL-C license and that you accept its terms. */ -import {Component, EventEmitter, HostListener, Input, OnInit, Output, ViewChild} from '@angular/core'; +import {AfterViewInit, Component, EventEmitter, HostListener, Input, Output, ViewChild} from '@angular/core'; import {MatDialog} from '@angular/material/dialog'; import {MatTab, MatTabGroup, MatTabHeader} from '@angular/material/tabs'; import {ConfirmActionComponent, Context} from 'projects/vitamui-library/src/public-api'; @@ -49,7 +49,7 @@ import {ContextPermissionTabComponent} from './context-permission-tab/context-pe templateUrl: './context-preview.component.html', styleUrls: ['./context-preview.component.scss'] }) -export class ContextPreviewComponent implements OnInit { +export class ContextPreviewComponent implements AfterViewInit { @Output() previewClose: EventEmitter<any> = new EventEmitter(); @Input() context: Context; @@ -73,10 +73,7 @@ export class ContextPreviewComponent implements OnInit { constructor(private matDialog: MatDialog, private contextService: ContextService) { } - ngOnInit() { - } - - ngAfterViewInit = () => { + ngAfterViewInit() { this.tabs._handleClick = this.interceptTabChange.bind(this); this.tabLinks[0] = this.infoTab; this.tabLinks[1] = this.permsTab; diff --git a/ui/ui-frontend/projects/referential/src/app/probative-value/probative-value-create/probative-value-create.component.ts b/ui/ui-frontend/projects/referential/src/app/probative-value/probative-value-create/probative-value-create.component.ts index 7dcbbbe57f2ad360603492f0def36951faf88c9c..67ab1683dd31f71ea695de2a1fd7341d187630c2 100644 --- a/ui/ui-frontend/projects/referential/src/app/probative-value/probative-value-create/probative-value-create.component.ts +++ b/ui/ui-frontend/projects/referential/src/app/probative-value/probative-value-create/probative-value-create.component.ts @@ -61,6 +61,7 @@ export class ProbativeValueCreateComponent implements OnInit { this.form = this.formBuilder.group({ unitId: [null, Validators.required], + accessContract: this.accessContractSelect, usage: [null, Validators.required], version: [null, Validators.required] }); diff --git a/ui/ui-frontend/projects/referential/src/app/probative-value/probative-value-list/probative-value-list.component.html b/ui/ui-frontend/projects/referential/src/app/probative-value/probative-value-list/probative-value-list.component.html index b1169cab2f4003dfbe0ff3b3ce7be0156cb4baed..ea050954413972a46fa3b502e026f56b6a71ae08 100644 --- a/ui/ui-frontend/projects/referential/src/app/probative-value/probative-value-list/probative-value-list.component.html +++ b/ui/ui-frontend/projects/referential/src/app/probative-value/probative-value-list/probative-value-list.component.html @@ -28,17 +28,17 @@ <tr class="vitamui-table-row"> <td class="clickable" (click)="probativeValueClick.emit(probativeValue)"> <i class="vitamui-icon vitamui-icon-probativeValue vitamui-row-icon status-badge" - [ngClass]="{'status-badge-green': probativeVlaueStatus(probativeValue) == 'OK', 'status-badge-grey':probativeVlaueStatus(probativeValue) == 'STARTED', - 'status-badge-orange': probativeVlaueStatus(probativeValue) == 'WARNING', 'status-badge-red': probativeVlaueStatus(probativeValue) == 'KO' || probativeVlaueStatus(probativeValue) == 'FATAL' }"></i> + [ngClass]="{'status-badge-green': probativeValueStatus(probativeValue) == 'OK', 'status-badge-grey':probativeValueStatus(probativeValue) == 'STARTED', + 'status-badge-orange': probativeValueStatus(probativeValue) == 'WARNING', 'status-badge-red': probativeValueStatus(probativeValue) == 'KO' || probativeValueStatus(probativeValue) == 'FATAL' }"></i> </td> <td class="clickable" (click)="probativeValueClick.emit(probativeValue)">{{ probativeValue?.id }}</td> <td class="clickable" (click)="probativeValueClick.emit(probativeValue)">{{ probativeValue?.dateTime | date: 'dd/MM/yyyy' }} </td> <td class="clickable" (click)="probativeValueClick.emit(probativeValue)" - [ngClass]="{'text-green': probativeVlaueStatus(probativeValue) == 'OK', 'text-grey':probativeVlaueStatus(probativeValue) == 'STARTED', - 'text-orange': probativeVlaueStatus(probativeValue) == 'WARNING', 'text-red': probativeVlaueStatus(probativeValue) == 'KO' || probativeVlaueStatus(probativeValue) == 'FATAL' }"> - {{ probativeVlaueStatus(probativeValue) }}</td> - <td class="clickable" (click)="probativeValueClick.emit(probativeValue)">{{ probativeVlaueMessage(probativeValue) }}</td> + [ngClass]="{'text-green': probativeValueStatus(probativeValue) == 'OK', 'text-grey':probativeValueStatus(probativeValue) == 'STARTED', + 'text-orange': probativeValueStatus(probativeValue) == 'WARNING', 'text-red': probativeValueStatus(probativeValue) == 'KO' || probativeValueStatus(probativeValue) == 'FATAL' }"> + {{ probativeValueStatus(probativeValue) }}</td> + <td class="clickable" (click)="probativeValueClick.emit(probativeValue)">{{ probativeValueMessage(probativeValue) }}</td> </tr> </ng-container> </tbody> diff --git a/ui/ui-frontend/projects/referential/src/app/probative-value/probative-value-list/probative-value-list.component.ts b/ui/ui-frontend/projects/referential/src/app/probative-value/probative-value-list/probative-value-list.component.ts index e7686bd7c0f8e5c6c7ff244645c7bab40f06d42e..7c247640cdde93492c953af51c3bacb81fc98f45 100644 --- a/ui/ui-frontend/projects/referential/src/app/probative-value/probative-value-list/probative-value-list.component.ts +++ b/ui/ui-frontend/projects/referential/src/app/probative-value/probative-value-list/probative-value-list.component.ts @@ -7,6 +7,11 @@ import {ProbativeValueService} from '../probative-value.service'; const FILTER_DEBOUNCE_TIME_MS = 400; +export class ProbativeValueFilters { + startDate: string; + endDate: string; +} + @Component({ selector: 'app-probative-value-list', templateUrl: './probative-value-list.component.html', @@ -23,6 +28,15 @@ export class ProbativeValueListComponent extends InfiniteScrollTable<any> implem // tslint:disable-next-line:variable-name private _searchText: string; + @Input('filters') + set filters(filters: ProbativeValueFilters) { + this._filters = filters; + this.filterChange.next(filters); + } + + // tslint:disable-next-line:variable-name + private _filters: ProbativeValueFilters; + loaded = false; orderBy = '#id'; @@ -30,6 +44,7 @@ export class ProbativeValueListComponent extends InfiniteScrollTable<any> implem private readonly searchChange = new Subject<string>(); private readonly orderChange = new Subject<string>(); + private readonly filterChange = new Subject<any>(); @Output() probativeValueClick = new EventEmitter<any>(); @@ -46,29 +61,38 @@ export class ProbativeValueListComponent extends InfiniteScrollTable<any> implem DEFAULT_PAGE_SIZE, this.orderBy, Direction.ASCENDANT, - JSON.stringify(this.buildProbativeVlaueCriteriaFromSearch()))) + JSON.stringify(this.buildProbativeValueCriteriaFromSearch()))) .subscribe((data: any[]) => { this.dataSource = data; }); - const searchCriteriaChange = merge(this.searchChange, this.orderChange) + const searchCriteriaChange = merge(this.searchChange, this.orderChange, this.filterChange) .pipe(debounceTime(FILTER_DEBOUNCE_TIME_MS)); searchCriteriaChange.subscribe(() => { - const query: any = this.buildProbativeVlaueCriteriaFromSearch(); - console.log('query: ', query); + const query: any = this.buildProbativeValueCriteriaFromSearch(); const pageRequest = new PageRequest(0, DEFAULT_PAGE_SIZE, this.orderBy, this.direction, JSON.stringify(query)); this.search(pageRequest); }); } - buildProbativeVlaueCriteriaFromSearch() { + buildProbativeValueCriteriaFromSearch() { const criteria: any = {}; criteria.evTypeProc = 'AUDIT'; criteria.evType = 'EXPORT_PROBATIVE_VALUE'; if (this._searchText !== undefined && this._searchText.length > 0) { criteria['#id'] = this._searchText; } + + if (this._filters) { + if (this._filters.startDate) { + criteria.evDateTime_Start = this._filters.startDate; + } + if (this._filters.endDate) { + criteria.evDateTime_End = this._filters.endDate; + } + } + return criteria; } @@ -76,23 +100,24 @@ export class ProbativeValueListComponent extends InfiniteScrollTable<any> implem this.updatedData.unsubscribe(); } - searchProbativeVlaueOrdered() { - this.search(new PageRequest(0, DEFAULT_PAGE_SIZE, this.orderBy, Direction.ASCENDANT)); + searchProbativeValueOrdered() { + const query: any = this.buildProbativeValueCriteriaFromSearch(); + this.search(new PageRequest(0, DEFAULT_PAGE_SIZE, this.orderBy, Direction.ASCENDANT, JSON.stringify(query))); } emitOrderChange() { this.orderChange.next(); } - probativeVlaueStatus(probativeVlaue: any): string { - return (probativeVlaue.events !== undefined && probativeVlaue.events.length !== 0) ? - probativeVlaue.events[probativeVlaue.events.length - 1].outcome : - probativeVlaue.outcome; + probativeValueStatus(probativeValue: any): string { + return (probativeValue.events !== undefined && probativeValue.events.length !== 0) ? + probativeValue.events[probativeValue.events.length - 1].outcome : + probativeValue.outcome; } - probativeVlaueMessage(probativeVlaue: any): string { - return (probativeVlaue.events !== undefined && probativeVlaue.events.length !== 0) ? - probativeVlaue.events[probativeVlaue.events.length - 1].outMessage : - probativeVlaue.outMessage; + probativeValueMessage(probativeValue: any): string { + return (probativeValue.events !== undefined && probativeValue.events.length !== 0) ? + probativeValue.events[probativeValue.events.length - 1].outMessage : + probativeValue.outMessage; } } diff --git a/ui/ui-frontend/projects/referential/src/app/probative-value/probative-value.component.html b/ui/ui-frontend/projects/referential/src/app/probative-value/probative-value.component.html index cc351d2b18b86eb676c2db5409636bfea9ad0b0b..8ee681686d0a7b73c29bdf5aa5d13268c8cc982c 100644 --- a/ui/ui-frontend/projects/referential/src/app/probative-value/probative-value.component.html +++ b/ui/ui-frontend/projects/referential/src/app/probative-value/probative-value.component.html @@ -1,15 +1,17 @@ <mat-sidenav-container [autosize]="true" [hasBackdrop]="false"> - <mat-sidenav #panel mode="side" position="end" [fixedInViewport]="true"> - <app-probative-value-preview *ngIf="openedItem" (previewClose)="closePanel()" [probativeValue]="openedItem"></app-probative-value-preview> - </mat-sidenav> + <mat-sidenav #panel mode="side" position="end" [fixedInViewport]="true"> + <app-probative-value-preview *ngIf="openedItem" (previewClose)="closePanel()" [probativeValue]="openedItem"> + </app-probative-value-preview> + </mat-sidenav> - <mat-sidenav-content> + <mat-sidenav-content> <div class="vitamui-header"> <div class="vitamui-container"> - <vitamui-common-navbar [appId]="appId" (tenantSelect)="changeTenant($event)" [hideCustomerMenu]="true"></vitamui-common-navbar> + <vitamui-common-navbar [appId]="appId" (tenantSelect)="changeTenant($event)" [hideCustomerMenu]="true"> + </vitamui-common-navbar> <h2> Rechercher mes <strong>Relevés de valeur probante</strong> @@ -17,14 +19,16 @@ <div class="controls"> <div class="search-bar-filters"> - <vitamui-common-search-bar #searchBar name="probativeVlaue-search" (search)="onSearchSubmit($event)" - placeholder="Identifiant de relevé, identifiant d'UA" i18n-placeholder="@@probativeValueSearchPlaceholder"> + <vitamui-common-search-bar #searchBar name="probativeValue-search" + (search)="onSearchSubmit($event)" placeholder="Identifiant de relevé, identifiant d'UA" + i18n-placeholder="@@probativeValueSearchPlaceholder"> </vitamui-common-search-bar> <div class="reset-filters" (click)="resetFilters()">Effacer les filtres et la recherche</div> </div> <div class="actions"> - <button class="btn secondary" (click)="openCreateProbativeVlaueDialog()"> - <i class="vitamui-icon vitamui-icon-probativeVlaue btn-create"></i> <span>Lancer un relevé</span> + <button class="btn secondary" (click)="openCreateProbativeValueDialog()"> + <i class="vitamui-icon vitamui-icon-probativeValue btn-create"></i> <span>Lancer un + relevé</span> </button> </div> @@ -65,8 +69,9 @@ </div> </div> <div class="vitamui-body vitamui-container"> - <app-probative-value-list (probativeValueClick)="showProbativeValue($event)" [search]="search"></app-probative-value-list> + <app-probative-value-list (probativeValueClick)="showProbativeValue($event)" [search]="search" + [filters]="filters"></app-probative-value-list> </div> </mat-sidenav-content> -</mat-sidenav-container> +</mat-sidenav-container> \ No newline at end of file diff --git a/ui/ui-frontend/projects/referential/src/app/probative-value/probative-value.component.ts b/ui/ui-frontend/projects/referential/src/app/probative-value/probative-value.component.ts index f60bb75b0480914b7585c4afc315177ce46cb72a..bc2ffa1fc8f3fc0c00da126e6843c6d2eca5b89e 100644 --- a/ui/ui-frontend/projects/referential/src/app/probative-value/probative-value.component.ts +++ b/ui/ui-frontend/projects/referential/src/app/probative-value/probative-value.component.ts @@ -20,7 +20,7 @@ export class ProbativeValueComponent extends SidenavPage<Event> implements OnIni filters: any = {}; @ViewChild(SearchBarComponent, {static: true}) searchBar: SearchBarComponent; - @ViewChild(ProbativeValueListComponent, {static: true}) probativeVlaueListComponent: ProbativeValueListComponent; + @ViewChild(ProbativeValueListComponent, {static: true}) probativeValueListComponent: ProbativeValueListComponent; constructor( public dialog: MatDialog, @@ -35,12 +35,20 @@ export class ProbativeValueComponent extends SidenavPage<Event> implements OnIni endDate: null }); - this.dateRangeFilterForm.valueChanges.subscribe((value) => { - this.filters.dateRange = value; + this.dateRangeFilterForm.controls.startDate.valueChanges.subscribe(value => { + this.filters.startDate = value; + this.probativeValueListComponent.filters = this.filters; + }); + this.dateRangeFilterForm.controls.endDate.valueChanges.subscribe((value: Date) => { + if (value) { + value.setDate(value.getDate() + 1); + } + this.filters.endDate = value; + this.probativeValueListComponent.filters = this.filters; }); } - openCreateProbativeVlaueDialog() { + openCreateProbativeValueDialog() { const dialogRef = this.dialog.open(ProbativeValueCreateComponent, { panelClass: 'vitamui-modal', disableClose: true @@ -53,10 +61,10 @@ export class ProbativeValueComponent extends SidenavPage<Event> implements OnIni } private refreshList() { - if (!this.probativeVlaueListComponent) { + if (!this.probativeValueListComponent) { return; } - this.probativeVlaueListComponent.searchProbativeVlaueOrdered(); + this.probativeValueListComponent.searchProbativeValueOrdered(); } onSearchSubmit(search: string) { @@ -86,6 +94,6 @@ export class ProbativeValueComponent extends SidenavPage<Event> implements OnIni } changeTenant(tenantIdentifier: number) { - this.router.navigate(['..', tenantIdentifier], { relativeTo: this.route }); + this.router.navigate(['..', tenantIdentifier], {relativeTo: this.route}); } } diff --git a/ui/ui-frontend/projects/referential/src/app/securisation/securisation-preview/securisation-check-tab/securisation-check-tab.component.html b/ui/ui-frontend/projects/referential/src/app/securisation/securisation-preview/securisation-check-tab/securisation-check-tab.component.html index 41cabf3a792c0b44cbdf05461a27c5e7a9e9e7ec..20dcf0c8a1c1e2fb07bc86a0300ff3d0ba7b062d 100644 --- a/ui/ui-frontend/projects/referential/src/app/securisation/securisation-preview/securisation-check-tab/securisation-check-tab.component.html +++ b/ui/ui-frontend/projects/referential/src/app/securisation/securisation-preview/securisation-check-tab/securisation-check-tab.component.html @@ -1,3 +1,4 @@ +<ng-container *ngIf="securisation.events[securisation.events.length - 1].outcome !== 'WARNING'"> <mat-form-field class="vitamui-mat-select"> <mat-select placeholder="Selectionnez un contrat d'accès" panelclass="vitamui-mat-select" (selectionChange)="updateAccessContractId($event)"> <mat-option *ngFor='let accessContract of accessContracts' @@ -11,4 +12,4 @@ <vitamui-common-collapse *ngIf="display && events && events.length > 0" collapseTitle="Etapes de vérification" i18n-collapseTitle="@@historySectionTitleUnit"> <vitamui-common-history-events [events]="events" ></vitamui-common-history-events> </vitamui-common-collapse> - +</ng-container> diff --git a/ui/ui-frontend/projects/referential/src/app/securisation/securisation-preview/securisation-check-tab/securisation-check-tab.component.spec.ts b/ui/ui-frontend/projects/referential/src/app/securisation/securisation-preview/securisation-check-tab/securisation-check-tab.component.spec.ts index 5120b30a2e9de077e6b33611c7d6dcbf5a94395f..d2c1bea9e1d08b17e960a241b0923df633e42914 100644 --- a/ui/ui-frontend/projects/referential/src/app/securisation/securisation-preview/securisation-check-tab/securisation-check-tab.component.spec.ts +++ b/ui/ui-frontend/projects/referential/src/app/securisation/securisation-preview/securisation-check-tab/securisation-check-tab.component.spec.ts @@ -47,6 +47,51 @@ describe('SecurisationCheckTabComponent', () => { let component: SecurisationCheckTabComponent; let fixture: ComponentFixture<SecurisationCheckTabComponent>; + const securisationValue = { + id: 'id', + idAppSession: 'idAppSession', + idRequest: 'idRequest', + parentId: 'parentId', + type: 'type', + typeProc: 'typeProc', + dateTime: new Date('1995-12-17'), + outcome: 'outcome', + outDetail: 'outDetail', + outMessage: 'outMessage', + data: 'data', + parsedData: { + Size: 2 + }, + objectId: 'objectId', + collectionName: 'collectionName', + agId: 'agId', + agIdApp: 'agIdApp', + agIdExt: 'agIdExt', + rightsStatementIdentifier: 'rightsStatementIdentifier', + events: [{ + id: 'id2', + idAppSession: 'idAppSession2', + idRequest: 'idRequest2', + parentId: 'id', + type: 'type', + typeProc: 'typeProc', + dateTime: new Date('1995-12-17'), + outcome: 'outcome', + outDetail: 'outDetail', + outMessage: 'outMessage', + data: 'data', + parsedData: { + dataKey: 'dataValue' + }, + objectId: 'objectId', + collectionName: 'collectionName', + agId: 'agId', + agIdApp: 'agIdApp', + agIdExt: 'agIdExt', + rightsStatementIdentifier: 'rightsStatementIdentifier' + }] + }; + beforeEach(async(() => { const activatedRouteMock = { params: of({tenantIdentifier: 1}), @@ -72,6 +117,7 @@ describe('SecurisationCheckTabComponent', () => { beforeEach(() => { fixture = TestBed.createComponent(SecurisationCheckTabComponent); component = fixture.componentInstance; + component.securisation = securisationValue; fixture.detectChanges(); }); diff --git a/ui/ui-frontend/projects/referential/src/app/securisation/securisation-preview/securisation-check-tab/securisation-check-tab.component.ts b/ui/ui-frontend/projects/referential/src/app/securisation/securisation-preview/securisation-check-tab/securisation-check-tab.component.ts index 637adc3acd06836d9e00f0331fd8cbe5e36fd156..f128f8df539c3f5ef574cf051b5bab0f7fe5b99f 100644 --- a/ui/ui-frontend/projects/referential/src/app/securisation/securisation-preview/securisation-check-tab/securisation-check-tab.component.ts +++ b/ui/ui-frontend/projects/referential/src/app/securisation/securisation-preview/securisation-check-tab/securisation-check-tab.component.ts @@ -49,6 +49,7 @@ import {SecurisationService} from '../../securisation.service'; export class SecurisationCheckTabComponent implements OnChanges, OnInit { @Input() id: string; + @Input() securisation: Event; events: Event[] = []; display = false; diff --git a/ui/ui-frontend/projects/referential/src/app/securisation/securisation-preview/securisation-preview.component.html b/ui/ui-frontend/projects/referential/src/app/securisation/securisation-preview/securisation-preview.component.html index f7cdbb847d2a0b48c440da381b337c56256ddc94..04c464a709fe06eabbdaf7694c23740f0c427731 100644 --- a/ui/ui-frontend/projects/referential/src/app/securisation/securisation-preview/securisation-preview.component.html +++ b/ui/ui-frontend/projects/referential/src/app/securisation/securisation-preview/securisation-preview.component.html @@ -25,7 +25,7 @@ </mat-tab> <mat-tab label="Vérification" i18n-label="History tab@@userPreviewTabVerification"> - <app-securisation-check-tab [id]="securisation?.id"></app-securisation-check-tab> + <app-securisation-check-tab [id]="securisation?.id" [securisation]="securisation"></app-securisation-check-tab> </mat-tab> <mat-tab label="Historique" i18n-label="History tab@@userPreviewTabHistory"> diff --git a/ui/ui-frontend/projects/referential/src/locale/messages.en.xlf b/ui/ui-frontend/projects/referential/src/locale/messages.en.xlf index 33e8d98afb1ef5ee7c73f70acbc5bd4437ff5fba..ceef5d9717af32403392b5f76e6ffe89dfd7736b 100644 --- a/ui/ui-frontend/projects/referential/src/locale/messages.en.xlf +++ b/ui/ui-frontend/projects/referential/src/locale/messages.en.xlf @@ -65,13 +65,13 @@ <note priority="1" from="description">Management category</note> - <context-group purpose="location"><context context-type="sourcefile">../../node_modules/ui-frontend-common/app/modules/components/application-select-content/application-select-content.component.d.ts</context><context context-type="linenumber">10</context></context-group><context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/application-select-content/application-select-content.component.html</context><context context-type="linenumber">40</context></context-group><context-group purpose="location"><context context-type="sourcefile">../../dist/vitamui-library/lib/components/application-select-content/application-select-content.component.d.ts</context><context context-type="linenumber">40</context></context-group></trans-unit><trans-unit id="PortalSettingsCategory" datatype="html"> + <context-group purpose="location"><context context-type="sourcefile">../../node_modules/ui-frontend-common/app/modules/components/application-select-content/application-select-content.component.d.ts</context><context context-type="linenumber">10</context></context-group><context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/application-select-content/application-select-content.component.html</context><context context-type="linenumber">40</context></context-group></trans-unit><trans-unit id="PortalSettingsCategory" datatype="html"> <source>Paramétrage</source><target state="new"/> <note priority="1" from="description">Settings category</note> - <context-group purpose="location"><context context-type="sourcefile">../../node_modules/ui-frontend-common/app/modules/components/application-select-content/application-select-content.component.d.ts</context><context context-type="linenumber">20</context></context-group><context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/application-select-content/application-select-content.component.html</context><context context-type="linenumber">50</context></context-group><context-group purpose="location"><context context-type="sourcefile">../../dist/vitamui-library/lib/components/application-select-content/application-select-content.component.d.ts</context><context context-type="linenumber">50</context></context-group></trans-unit><trans-unit id="downloadBarCancelled" datatype="html"> + <context-group purpose="location"><context context-type="sourcefile">../../node_modules/ui-frontend-common/app/modules/components/application-select-content/application-select-content.component.d.ts</context><context context-type="linenumber">20</context></context-group><context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/application-select-content/application-select-content.component.html</context><context context-type="linenumber">50</context></context-group></trans-unit><trans-unit id="downloadBarCancelled" datatype="html"> <source> <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>info<x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>Téléchargement annulé<x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/> </source><target state="new"/> @@ -90,7 +90,7 @@ </trans-unit><trans-unit id="closePopupConfirmDialogTitle" datatype="html"> <source>Fermer la fenêtre ?</source><target state="new"/> - <context-group purpose="location"><context context-type="sourcefile">../../node_modules/ui-frontend-common/app/modules/components/confirm-dialog/close-popup-dialog.component.d.ts</context><context context-type="linenumber">3</context></context-group><context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/confirm-action/confirm-action.component.html</context><context context-type="linenumber">2</context></context-group><context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/confirm-action/confirm-action.component.html</context><context context-type="linenumber">9</context></context-group><context-group purpose="location"><context context-type="sourcefile">../../dist/vitamui-library/lib/components/confirm-action/confirm-action.component.d.ts</context><context context-type="linenumber">2</context></context-group><context-group purpose="location"><context context-type="sourcefile">../../dist/vitamui-library/lib/components/confirm-action/confirm-action.component.d.ts</context><context context-type="linenumber">9</context></context-group></trans-unit><trans-unit id="closePopupConfirmDialogConfirmLabel" datatype="html"> + <context-group purpose="location"><context context-type="sourcefile">../../node_modules/ui-frontend-common/app/modules/components/confirm-dialog/close-popup-dialog.component.d.ts</context><context context-type="linenumber">3</context></context-group><context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/confirm-action/confirm-action.component.html</context><context context-type="linenumber">2</context></context-group><context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/confirm-action/confirm-action.component.html</context><context context-type="linenumber">9</context></context-group></trans-unit><trans-unit id="closePopupConfirmDialogConfirmLabel" datatype="html"> <source>Fermer</source><target state="new"/> <context-group purpose="location"> <context context-type="sourcefile">../../node_modules/ui-frontend-common/app/modules/components/confirm-dialog/close-popup-dialog.component.d.ts</context> @@ -311,14 +311,14 @@ </context-group> <note priority="1" from="description">at least one email</note> </trans-unit><trans-unit id="EnabledLabel" datatype="html"> - <source>Yes</source><target state="new"/> + <source>Oui</source><target state="new"/> <context-group purpose="location"> <context context-type="sourcefile">../../node_modules/ui-frontend-common/app/modules/components/slide-toggle/slide-toggle.component.d.ts</context> <context context-type="linenumber">15</context> </context-group> <note priority="1" from="description">SlideToggle enabled label </note> </trans-unit><trans-unit id="DisabledLabel" datatype="html"> - <source>No</source><target state="new"/> + <source>Non</source><target state="new"/> <context-group purpose="location"> <context context-type="sourcefile">../../node_modules/ui-frontend-common/app/modules/components/slide-toggle/slide-toggle.component.d.ts</context> <context context-type="linenumber">18</context> @@ -788,21 +788,21 @@ <source>Valider</source><target state="new"/> - <context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/confirm-action/confirm-action.component.html</context><context context-type="linenumber">3</context></context-group><context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/confirm-action/confirm-action.component.html</context><context context-type="linenumber">10</context></context-group><context-group purpose="location"><context context-type="sourcefile">../../dist/vitamui-library/lib/components/confirm-action/confirm-action.component.d.ts</context><context context-type="linenumber">3</context></context-group><context-group purpose="location"><context context-type="sourcefile">../../dist/vitamui-library/lib/components/confirm-action/confirm-action.component.d.ts</context><context context-type="linenumber">10</context></context-group></trans-unit><trans-unit id="confirmActionCancelDialogCancelLabel" datatype="html"> + <context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/confirm-action/confirm-action.component.html</context><context context-type="linenumber">3</context></context-group><context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/confirm-action/confirm-action.component.html</context><context context-type="linenumber">10</context></context-group></trans-unit><trans-unit id="confirmActionCancelDialogCancelLabel" datatype="html"> <source>Annuler</source><target state="new"/> - <context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/confirm-action/confirm-action.component.html</context><context context-type="linenumber">4</context></context-group><context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/confirm-action/confirm-action.component.html</context><context context-type="linenumber">11</context></context-group><context-group purpose="location"><context context-type="sourcefile">../../dist/vitamui-library/lib/components/confirm-action/confirm-action.component.d.ts</context><context context-type="linenumber">4</context></context-group><context-group purpose="location"><context context-type="sourcefile">../../dist/vitamui-library/lib/components/confirm-action/confirm-action.component.d.ts</context><context context-type="linenumber">11</context></context-group></trans-unit><trans-unit id="PortalReferentialCategory" datatype="html"> + <context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/confirm-action/confirm-action.component.html</context><context context-type="linenumber">4</context></context-group><context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/confirm-action/confirm-action.component.html</context><context context-type="linenumber">11</context></context-group></trans-unit><trans-unit id="PortalReferentialCategory" datatype="html"> <source>Référentiels</source><target state="new"/> <note priority="1" from="description">Referential category</note> - <context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/application-select-content/application-select-content.component.html</context><context context-type="linenumber">10</context></context-group><context-group purpose="location"><context context-type="sourcefile">../../dist/vitamui-library/lib/components/application-select-content/application-select-content.component.d.ts</context><context context-type="linenumber">10</context></context-group></trans-unit><trans-unit id="PortalOpauditCategory" datatype="html"> + <context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/application-select-content/application-select-content.component.html</context><context context-type="linenumber">10</context></context-group></trans-unit><trans-unit id="PortalOpauditCategory" datatype="html"> <source>Audits et opérations</source><target state="new"/> <note priority="1" from="description">operations and audits category</note> - <context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/application-select-content/application-select-content.component.html</context><context context-type="linenumber">20</context></context-group><context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/application-select-content/application-select-content.component.html</context><context context-type="linenumber">30</context></context-group><context-group purpose="location"><context context-type="sourcefile">../../dist/vitamui-library/lib/components/application-select-content/application-select-content.component.d.ts</context><context context-type="linenumber">20</context></context-group><context-group purpose="location"><context context-type="sourcefile">../../dist/vitamui-library/lib/components/application-select-content/application-select-content.component.d.ts</context><context context-type="linenumber">30</context></context-group></trans-unit><trans-unit id="accessContractPreviewTabInformation" datatype="html"> + <context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/application-select-content/application-select-content.component.html</context><context context-type="linenumber">20</context></context-group><context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/application-select-content/application-select-content.component.html</context><context context-type="linenumber">30</context></context-group></trans-unit><trans-unit id="accessContractPreviewTabInformation" datatype="html"> <source>Informations</source><target state="new"/> <context-group purpose="location"> <context context-type="sourcefile">src/app/access-contract/access-contract-preview/access-contract-preview.component.html</context> @@ -1776,12 +1776,26 @@ <source>Tenant</source><target state="new"/> <note priority="1" from="description">Application</note> - <context-group purpose="location"><context context-type="sourcefile">src/app/context/context-create/context-edit-permission/context-edit-permission.component.html</context><context context-type="linenumber">19</context></context-group></trans-unit><trans-unit id="accessContractsFormApplicationPlaceholder" datatype="html"> + <context-group purpose="location"><context context-type="sourcefile">src/app/context/context-create/context-edit-permission/context-edit-permission.component.html</context><context context-type="linenumber">19</context></context-group></trans-unit><trans-unit id="accessContractsFormApplicationSelectAll" datatype="html"> + <source>Tous les contrats d'accès</source><target state="new"/> + <context-group purpose="location"> + <context context-type="sourcefile">src/app/context/context-create/context-edit-permission/context-edit-permission.component.html</context> + <context context-type="linenumber">37</context> + </context-group> + <note priority="1" from="description">Application</note> + </trans-unit><trans-unit id="accessContractsFormApplicationPlaceholder" datatype="html"> <source>Contrats d'accès</source><target state="new"/> <note priority="1" from="description">Application</note> - <context-group purpose="location"><context context-type="sourcefile">src/app/context/context-create/context-edit-permission/context-edit-permission.component.html</context><context context-type="linenumber">33</context></context-group><context-group purpose="location"><context context-type="sourcefile">src/app/context/context-create/context-edit-permission/context-edit-permission.component.html</context><context context-type="linenumber">47</context></context-group></trans-unit><trans-unit id="securityProfilePreviewTabInformation" datatype="html"> + <context-group purpose="location"><context context-type="sourcefile">src/app/context/context-create/context-edit-permission/context-edit-permission.component.html</context><context context-type="linenumber">33</context></context-group><context-group purpose="location"><context context-type="sourcefile">src/app/context/context-create/context-edit-permission/context-edit-permission.component.html</context><context context-type="linenumber">51</context></context-group></trans-unit><trans-unit id="ingestContractsFormApplicationSelectAll" datatype="html"> + <source>Tous les contrats d'entrée</source><target state="new"/> + <context-group purpose="location"> + <context context-type="sourcefile">src/app/context/context-create/context-edit-permission/context-edit-permission.component.html</context> + <context context-type="linenumber">55</context> + </context-group> + <note priority="1" from="description">Application</note> + </trans-unit><trans-unit id="securityProfilePreviewTabInformation" datatype="html"> <source>Informations</source><target state="new"/> <context-group purpose="location"> <context context-type="sourcefile">src/app/security-profile/security-profile-preview/security-profile-preview.component.html</context> @@ -2058,57 +2072,6 @@ <context context-type="linenumber">66</context> </context-group> <note priority="1" from="description">Clear Response adminDsl button</note> - </trans-unit><trans-unit id="ImportDialogMainTitle" datatype="html"> - <source>Nouveau versement</source><target state="new"/> - <context-group purpose="location"> - <context context-type="sourcefile">src/app/shared/vitamui-import-dialog/vitamui-import-dialog.component.html</context> - <context context-type="linenumber">8</context> - </context-group> - <note priority="1" from="description">Import dialog title</note> - </trans-unit><trans-unit id="ImportDialogAgencyTitle" datatype="html"> - <source> - Import d'un référentiel de service agent - </source><target state="new"/> - <context-group purpose="location"> - <context context-type="sourcefile">src/app/shared/vitamui-import-dialog/vitamui-import-dialog.component.html</context> - <context context-type="linenumber">11</context> - </context-group> - <note priority="1" from="description">Import dialog title</note> - </trans-unit><trans-unit id="importDialogDragAndDrop" datatype="html"> - <source>Glisser-déposer</source><target state="new"/> - <context-group purpose="location"> - <context context-type="sourcefile">src/app/shared/vitamui-import-dialog/vitamui-import-dialog.component.html</context> - <context context-type="linenumber">27</context> - </context-group> - <note priority="1" from="description">Import dialog drag</note> - </trans-unit><trans-unit id="importDialogOr" datatype="html"> - <source>ou</source><target state="new"/> - <context-group purpose="location"> - <context context-type="sourcefile">src/app/shared/vitamui-import-dialog/vitamui-import-dialog.component.html</context> - <context context-type="linenumber">31</context> - </context-group> - <note priority="1" from="description">Import dialog drag</note> - </trans-unit><trans-unit id="importDialogBrowse" datatype="html"> - <source> cliquer pour Parcourir</source><target state="new"/> - <context-group purpose="location"> - <context context-type="sourcefile">src/app/shared/vitamui-import-dialog/vitamui-import-dialog.component.html</context> - <context context-type="linenumber">32</context> - </context-group> - <note priority="1" from="description">Import dialog drag</note> - </trans-unit><trans-unit id="importFinishButton" datatype="html"> - <source>Terminer</source><target state="new"/> - <context-group purpose="location"> - <context context-type="sourcefile">src/app/shared/vitamui-import-dialog/vitamui-import-dialog.component.html</context> - <context context-type="linenumber">50</context> - </context-group> - <note priority="1" from="description">Finish import button</note> - </trans-unit><trans-unit id="importCancelButton" datatype="html"> - <source>Annuler</source><target state="new"/> - <context-group purpose="location"> - <context context-type="sourcefile">src/app/shared/vitamui-import-dialog/vitamui-import-dialog.component.html</context> - <context context-type="linenumber">52</context> - </context-group> - <note priority="1" from="description">Cancel import button</note> </trans-unit></body> </file> </xliff> diff --git a/ui/ui-frontend/projects/referential/src/locale/messages.fr.xlf b/ui/ui-frontend/projects/referential/src/locale/messages.fr.xlf index 01acb2f51b62e59ece04ef54bc9de38d33170b77..303338f86f8c86e6243703b3cadc71fd776c6368 100644 --- a/ui/ui-frontend/projects/referential/src/locale/messages.fr.xlf +++ b/ui/ui-frontend/projects/referential/src/locale/messages.fr.xlf @@ -69,13 +69,13 @@ <note priority="1" from="description">Management category</note> - <context-group purpose="location"><context context-type="sourcefile">../../node_modules/ui-frontend-common/app/modules/components/application-select-content/application-select-content.component.d.ts</context><context context-type="linenumber">10</context></context-group><context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/application-select-content/application-select-content.component.html</context><context context-type="linenumber">40</context></context-group><context-group purpose="location"><context context-type="sourcefile">../../dist/vitamui-library/lib/components/application-select-content/application-select-content.component.d.ts</context><context context-type="linenumber">40</context></context-group></trans-unit><trans-unit id="PortalSettingsCategory" datatype="html"> + <context-group purpose="location"><context context-type="sourcefile">../../node_modules/ui-frontend-common/app/modules/components/application-select-content/application-select-content.component.d.ts</context><context context-type="linenumber">10</context></context-group><context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/application-select-content/application-select-content.component.html</context><context context-type="linenumber">40</context></context-group></trans-unit><trans-unit id="PortalSettingsCategory" datatype="html"> <source>Paramétrage</source><target state="final">Paramétrage</target> <note priority="1" from="description">Settings category</note> - <context-group purpose="location"><context context-type="sourcefile">../../node_modules/ui-frontend-common/app/modules/components/application-select-content/application-select-content.component.d.ts</context><context context-type="linenumber">20</context></context-group><context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/application-select-content/application-select-content.component.html</context><context context-type="linenumber">50</context></context-group><context-group purpose="location"><context context-type="sourcefile">../../dist/vitamui-library/lib/components/application-select-content/application-select-content.component.d.ts</context><context context-type="linenumber">50</context></context-group></trans-unit><trans-unit id="downloadBarCancelled" datatype="html"> + <context-group purpose="location"><context context-type="sourcefile">../../node_modules/ui-frontend-common/app/modules/components/application-select-content/application-select-content.component.d.ts</context><context context-type="linenumber">20</context></context-group><context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/application-select-content/application-select-content.component.html</context><context context-type="linenumber">50</context></context-group></trans-unit><trans-unit id="downloadBarCancelled" datatype="html"> <source> <x id="START_ITALIC_TEXT" ctype="x-i" equiv-text="<i>"/>info<x id="CLOSE_ITALIC_TEXT" ctype="x-i" equiv-text="</i>"/> <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>Téléchargement annulé<x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/> </source><target state="final"> @@ -98,7 +98,7 @@ </trans-unit><trans-unit id="closePopupConfirmDialogTitle" datatype="html"> <source>Fermer la fenêtre ?</source><target state="final">Fermer la fenêtre ?</target> - <context-group purpose="location"><context context-type="sourcefile">../../node_modules/ui-frontend-common/app/modules/components/confirm-dialog/close-popup-dialog.component.d.ts</context><context context-type="linenumber">3</context></context-group><context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/confirm-action/confirm-action.component.html</context><context context-type="linenumber">2</context></context-group><context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/confirm-action/confirm-action.component.html</context><context context-type="linenumber">9</context></context-group><context-group purpose="location"><context context-type="sourcefile">../../dist/vitamui-library/lib/components/confirm-action/confirm-action.component.d.ts</context><context context-type="linenumber">2</context></context-group><context-group purpose="location"><context context-type="sourcefile">../../dist/vitamui-library/lib/components/confirm-action/confirm-action.component.d.ts</context><context context-type="linenumber">9</context></context-group></trans-unit><trans-unit id="closePopupConfirmDialogConfirmLabel" datatype="html"> + <context-group purpose="location"><context context-type="sourcefile">../../node_modules/ui-frontend-common/app/modules/components/confirm-dialog/close-popup-dialog.component.d.ts</context><context context-type="linenumber">3</context></context-group><context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/confirm-action/confirm-action.component.html</context><context context-type="linenumber">2</context></context-group><context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/confirm-action/confirm-action.component.html</context><context context-type="linenumber">9</context></context-group></trans-unit><trans-unit id="closePopupConfirmDialogConfirmLabel" datatype="html"> <source>Fermer</source><target state="final">Fermer</target> <context-group purpose="location"> <context context-type="sourcefile">../../node_modules/ui-frontend-common/app/modules/components/confirm-dialog/close-popup-dialog.component.d.ts</context> @@ -878,21 +878,21 @@ <source>Valider</source><target state="final">Valider</target> - <context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/confirm-action/confirm-action.component.html</context><context context-type="linenumber">3</context></context-group><context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/confirm-action/confirm-action.component.html</context><context context-type="linenumber">10</context></context-group><context-group purpose="location"><context context-type="sourcefile">../../dist/vitamui-library/lib/components/confirm-action/confirm-action.component.d.ts</context><context context-type="linenumber">3</context></context-group><context-group purpose="location"><context context-type="sourcefile">../../dist/vitamui-library/lib/components/confirm-action/confirm-action.component.d.ts</context><context context-type="linenumber">10</context></context-group></trans-unit><trans-unit id="confirmActionCancelDialogCancelLabel" datatype="html"> + <context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/confirm-action/confirm-action.component.html</context><context context-type="linenumber">3</context></context-group><context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/confirm-action/confirm-action.component.html</context><context context-type="linenumber">10</context></context-group></trans-unit><trans-unit id="confirmActionCancelDialogCancelLabel" datatype="html"> <source>Annuler</source><target state="final">Annuler</target> - <context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/confirm-action/confirm-action.component.html</context><context context-type="linenumber">4</context></context-group><context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/confirm-action/confirm-action.component.html</context><context context-type="linenumber">11</context></context-group><context-group purpose="location"><context context-type="sourcefile">../../dist/vitamui-library/lib/components/confirm-action/confirm-action.component.d.ts</context><context context-type="linenumber">4</context></context-group><context-group purpose="location"><context context-type="sourcefile">../../dist/vitamui-library/lib/components/confirm-action/confirm-action.component.d.ts</context><context context-type="linenumber">11</context></context-group></trans-unit><trans-unit id="PortalReferentialCategory" datatype="html"> + <context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/confirm-action/confirm-action.component.html</context><context context-type="linenumber">4</context></context-group><context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/confirm-action/confirm-action.component.html</context><context context-type="linenumber">11</context></context-group></trans-unit><trans-unit id="PortalReferentialCategory" datatype="html"> <source>Référentiels</source><target state="final">Référentiels</target> <note priority="1" from="description">Referential category</note> - <context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/application-select-content/application-select-content.component.html</context><context context-type="linenumber">10</context></context-group><context-group purpose="location"><context context-type="sourcefile">../../dist/vitamui-library/lib/components/application-select-content/application-select-content.component.d.ts</context><context context-type="linenumber">10</context></context-group></trans-unit><trans-unit id="PortalOpauditCategory" datatype="html"> + <context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/application-select-content/application-select-content.component.html</context><context context-type="linenumber">10</context></context-group></trans-unit><trans-unit id="PortalOpauditCategory" datatype="html"> <source>Audits et opérations</source><target state="final">Audits et opérations</target> <note priority="1" from="description">operations and audits category</note> - <context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/application-select-content/application-select-content.component.html</context><context context-type="linenumber">20</context></context-group><context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/application-select-content/application-select-content.component.html</context><context context-type="linenumber">30</context></context-group><context-group purpose="location"><context context-type="sourcefile">../../dist/vitamui-library/lib/components/application-select-content/application-select-content.component.d.ts</context><context context-type="linenumber">20</context></context-group><context-group purpose="location"><context context-type="sourcefile">../../dist/vitamui-library/lib/components/application-select-content/application-select-content.component.d.ts</context><context context-type="linenumber">30</context></context-group></trans-unit><trans-unit id="accessContractPreviewTabInformation" datatype="html"> + <context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/application-select-content/application-select-content.component.html</context><context context-type="linenumber">20</context></context-group><context-group purpose="location"><context context-type="sourcefile">../vitamui-library/src/lib/components/application-select-content/application-select-content.component.html</context><context context-type="linenumber">30</context></context-group></trans-unit><trans-unit id="accessContractPreviewTabInformation" datatype="html"> <source>Informations</source><target state="final">Informations</target> <context-group purpose="location"> <context context-type="sourcefile">src/app/access-contract/access-contract-preview/access-contract-preview.component.html</context> @@ -1922,12 +1922,26 @@ <source>Tenant</source><target state="final">Tenant</target> <note priority="1" from="description">Application</note> - <context-group purpose="location"><context context-type="sourcefile">src/app/context/context-create/context-edit-permission/context-edit-permission.component.html</context><context context-type="linenumber">19</context></context-group></trans-unit><trans-unit id="accessContractsFormApplicationPlaceholder" datatype="html"> + <context-group purpose="location"><context context-type="sourcefile">src/app/context/context-create/context-edit-permission/context-edit-permission.component.html</context><context context-type="linenumber">19</context></context-group></trans-unit><trans-unit id="accessContractsFormApplicationSelectAll" datatype="html"> + <source>Tous les contrats d'accès</source><target state="final">Tous les contrats d'accès</target> + <context-group purpose="location"> + <context context-type="sourcefile">src/app/context/context-create/context-edit-permission/context-edit-permission.component.html</context> + <context context-type="linenumber">37</context> + </context-group> + <note priority="1" from="description">Application</note> + </trans-unit><trans-unit id="accessContractsFormApplicationPlaceholder" datatype="html"> <source>Contrats d'accès</source><target state="final">Contrats d'accès</target> <note priority="1" from="description">Application</note> - <context-group purpose="location"><context context-type="sourcefile">src/app/context/context-create/context-edit-permission/context-edit-permission.component.html</context><context context-type="linenumber">33</context></context-group><context-group purpose="location"><context context-type="sourcefile">src/app/context/context-create/context-edit-permission/context-edit-permission.component.html</context><context context-type="linenumber">47</context></context-group></trans-unit><trans-unit id="securityProfilePreviewTabInformation" datatype="html"> + <context-group purpose="location"><context context-type="sourcefile">src/app/context/context-create/context-edit-permission/context-edit-permission.component.html</context><context context-type="linenumber">33</context></context-group><context-group purpose="location"><context context-type="sourcefile">src/app/context/context-create/context-edit-permission/context-edit-permission.component.html</context><context context-type="linenumber">51</context></context-group></trans-unit><trans-unit id="ingestContractsFormApplicationSelectAll" datatype="html"> + <source>Tous les contrats d'entrée</source><target state="final">Tous les contrats d'entrée</target> + <context-group purpose="location"> + <context context-type="sourcefile">src/app/context/context-create/context-edit-permission/context-edit-permission.component.html</context> + <context context-type="linenumber">55</context> + </context-group> + <note priority="1" from="description">Application</note> + </trans-unit><trans-unit id="securityProfilePreviewTabInformation" datatype="html"> <source>Informations</source><target state="final">Informations</target> <context-group purpose="location"> <context context-type="sourcefile">src/app/security-profile/security-profile-preview/security-profile-preview.component.html</context> @@ -2209,59 +2223,6 @@ <context context-type="linenumber">66</context> </context-group> <note priority="1" from="description">Clear Response adminDsl button</note> - </trans-unit><trans-unit id="ImportDialogMainTitle" datatype="html"> - <source>Nouveau versement</source><target state="final">Nouveau versement</target> - <context-group purpose="location"> - <context context-type="sourcefile">src/app/shared/vitamui-import-dialog/vitamui-import-dialog.component.html</context> - <context context-type="linenumber">8</context> - </context-group> - <note priority="1" from="description">Import dialog title</note> - </trans-unit><trans-unit id="ImportDialogAgencyTitle" datatype="html"> - <source> - Import d'un référentiel de service agent - </source><target state="final"> - Import d'un référentiel de service agent - </target> - <context-group purpose="location"> - <context context-type="sourcefile">src/app/shared/vitamui-import-dialog/vitamui-import-dialog.component.html</context> - <context context-type="linenumber">11</context> - </context-group> - <note priority="1" from="description">Import dialog title</note> - </trans-unit><trans-unit id="importDialogDragAndDrop" datatype="html"> - <source>Glisser-déposer</source><target state="final">Glisser-déposer</target> - <context-group purpose="location"> - <context context-type="sourcefile">src/app/shared/vitamui-import-dialog/vitamui-import-dialog.component.html</context> - <context context-type="linenumber">27</context> - </context-group> - <note priority="1" from="description">Import dialog drag</note> - </trans-unit><trans-unit id="importDialogOr" datatype="html"> - <source>ou</source><target state="final">ou</target> - <context-group purpose="location"> - <context context-type="sourcefile">src/app/shared/vitamui-import-dialog/vitamui-import-dialog.component.html</context> - <context context-type="linenumber">31</context> - </context-group> - <note priority="1" from="description">Import dialog drag</note> - </trans-unit><trans-unit id="importDialogBrowse" datatype="html"> - <source> cliquer pour Parcourir</source><target state="final"> cliquer pour Parcourir</target> - <context-group purpose="location"> - <context context-type="sourcefile">src/app/shared/vitamui-import-dialog/vitamui-import-dialog.component.html</context> - <context context-type="linenumber">32</context> - </context-group> - <note priority="1" from="description">Import dialog drag</note> - </trans-unit><trans-unit id="importFinishButton" datatype="html"> - <source>Terminer</source><target state="final">Terminer</target> - <context-group purpose="location"> - <context context-type="sourcefile">src/app/shared/vitamui-import-dialog/vitamui-import-dialog.component.html</context> - <context context-type="linenumber">50</context> - </context-group> - <note priority="1" from="description">Finish import button</note> - </trans-unit><trans-unit id="importCancelButton" datatype="html"> - <source>Annuler</source><target state="final">Annuler</target> - <context-group purpose="location"> - <context context-type="sourcefile">src/app/shared/vitamui-import-dialog/vitamui-import-dialog.component.html</context> - <context context-type="linenumber">52</context> - </context-group> - <note priority="1" from="description">Cancel import button</note> </trans-unit></body> </file> </xliff> diff --git a/ui/ui-frontend/projects/referential/src/locale/messages.xlf b/ui/ui-frontend/projects/referential/src/locale/messages.xlf index b19d066e34749617359c4d2a03129644c7d76f22..9c65bfbe035084295ea66f888487a3dc14aaa97f 100644 --- a/ui/ui-frontend/projects/referential/src/locale/messages.xlf +++ b/ui/ui-frontend/projects/referential/src/locale/messages.xlf @@ -85,10 +85,6 @@ <context context-type="sourcefile">../vitamui-library/src/lib/components/application-select-content/application-select-content.component.html</context> <context context-type="linenumber">40</context> </context-group> - <context-group purpose="location"> - <context context-type="sourcefile">../../dist/vitamui-library/lib/components/application-select-content/application-select-content.component.d.ts</context> - <context context-type="linenumber">40</context> - </context-group> <note priority="1" from="description">Management category</note> </trans-unit> <trans-unit id="PortalSettingsCategory" datatype="html"> @@ -101,10 +97,6 @@ <context context-type="sourcefile">../vitamui-library/src/lib/components/application-select-content/application-select-content.component.html</context> <context context-type="linenumber">50</context> </context-group> - <context-group purpose="location"> - <context context-type="sourcefile">../../dist/vitamui-library/lib/components/application-select-content/application-select-content.component.d.ts</context> - <context context-type="linenumber">50</context> - </context-group> <note priority="1" from="description">Settings category</note> </trans-unit> <trans-unit id="downloadBarCancelled" datatype="html"> @@ -139,14 +131,6 @@ <context context-type="sourcefile">../vitamui-library/src/lib/components/confirm-action/confirm-action.component.html</context> <context context-type="linenumber">9</context> </context-group> - <context-group purpose="location"> - <context context-type="sourcefile">../../dist/vitamui-library/lib/components/confirm-action/confirm-action.component.d.ts</context> - <context context-type="linenumber">2</context> - </context-group> - <context-group purpose="location"> - <context context-type="sourcefile">../../dist/vitamui-library/lib/components/confirm-action/confirm-action.component.d.ts</context> - <context context-type="linenumber">9</context> - </context-group> </trans-unit> <trans-unit id="closePopupConfirmDialogConfirmLabel" datatype="html"> <source>Fermer</source> @@ -1097,14 +1081,6 @@ <context context-type="sourcefile">../vitamui-library/src/lib/components/confirm-action/confirm-action.component.html</context> <context context-type="linenumber">10</context> </context-group> - <context-group purpose="location"> - <context context-type="sourcefile">../../dist/vitamui-library/lib/components/confirm-action/confirm-action.component.d.ts</context> - <context context-type="linenumber">3</context> - </context-group> - <context-group purpose="location"> - <context context-type="sourcefile">../../dist/vitamui-library/lib/components/confirm-action/confirm-action.component.d.ts</context> - <context context-type="linenumber">10</context> - </context-group> </trans-unit> <trans-unit id="confirmActionCancelDialogCancelLabel" datatype="html"> <source>Annuler</source> @@ -1116,14 +1092,6 @@ <context context-type="sourcefile">../vitamui-library/src/lib/components/confirm-action/confirm-action.component.html</context> <context context-type="linenumber">11</context> </context-group> - <context-group purpose="location"> - <context context-type="sourcefile">../../dist/vitamui-library/lib/components/confirm-action/confirm-action.component.d.ts</context> - <context context-type="linenumber">4</context> - </context-group> - <context-group purpose="location"> - <context context-type="sourcefile">../../dist/vitamui-library/lib/components/confirm-action/confirm-action.component.d.ts</context> - <context context-type="linenumber">11</context> - </context-group> </trans-unit> <trans-unit id="PortalReferentialCategory" datatype="html"> <source>Référentiels</source> @@ -1131,10 +1099,6 @@ <context context-type="sourcefile">../vitamui-library/src/lib/components/application-select-content/application-select-content.component.html</context> <context context-type="linenumber">10</context> </context-group> - <context-group purpose="location"> - <context context-type="sourcefile">../../dist/vitamui-library/lib/components/application-select-content/application-select-content.component.d.ts</context> - <context context-type="linenumber">10</context> - </context-group> <note priority="1" from="description">Referential category</note> </trans-unit> <trans-unit id="PortalOpauditCategory" datatype="html"> @@ -1147,14 +1111,6 @@ <context context-type="sourcefile">../vitamui-library/src/lib/components/application-select-content/application-select-content.component.html</context> <context context-type="linenumber">30</context> </context-group> - <context-group purpose="location"> - <context context-type="sourcefile">../../dist/vitamui-library/lib/components/application-select-content/application-select-content.component.d.ts</context> - <context context-type="linenumber">20</context> - </context-group> - <context-group purpose="location"> - <context context-type="sourcefile">../../dist/vitamui-library/lib/components/application-select-content/application-select-content.component.d.ts</context> - <context context-type="linenumber">30</context> - </context-group> <note priority="1" from="description">operations and audits category</note> </trans-unit> <trans-unit id="accessContractPreviewLabelName" datatype="html"> @@ -2606,6 +2562,14 @@ </context-group> <note priority="1" from="description">Application</note> </trans-unit> + <trans-unit id="accessContractsFormApplicationSelectAll" datatype="html"> + <source>Tous les contrats d'accès</source> + <context-group purpose="location"> + <context context-type="sourcefile">src/app/context/context-create/context-edit-permission/context-edit-permission.component.html</context> + <context context-type="linenumber">37</context> + </context-group> + <note priority="1" from="description">Application</note> + </trans-unit> <trans-unit id="accessContractsFormApplicationPlaceholder" datatype="html"> <source>Contrats d'accès</source> <context-group purpose="location"> @@ -2614,7 +2578,15 @@ </context-group> <context-group purpose="location"> <context context-type="sourcefile">src/app/context/context-create/context-edit-permission/context-edit-permission.component.html</context> - <context context-type="linenumber">47</context> + <context context-type="linenumber">51</context> + </context-group> + <note priority="1" from="description">Application</note> + </trans-unit> + <trans-unit id="ingestContractsFormApplicationSelectAll" datatype="html"> + <source>Tous les contrats d'entrée</source> + <context-group purpose="location"> + <context context-type="sourcefile">src/app/context/context-create/context-edit-permission/context-edit-permission.component.html</context> + <context context-type="linenumber">55</context> </context-group> <note priority="1" from="description">Application</note> </trans-unit> @@ -3025,64 +2997,6 @@ </context-group> <note priority="1" from="description">Clear Response adminDsl button</note> </trans-unit> - <trans-unit id="ImportDialogMainTitle" datatype="html"> - <source>Nouveau versement</source> - <context-group purpose="location"> - <context context-type="sourcefile">src/app/shared/vitamui-import-dialog/vitamui-import-dialog.component.html</context> - <context context-type="linenumber">8</context> - </context-group> - <note priority="1" from="description">Import dialog title</note> - </trans-unit> - <trans-unit id="ImportDialogAgencyTitle" datatype="html"> - <source> - Import d'un référentiel de service agent - </source> - <context-group purpose="location"> - <context context-type="sourcefile">src/app/shared/vitamui-import-dialog/vitamui-import-dialog.component.html</context> - <context context-type="linenumber">11</context> - </context-group> - <note priority="1" from="description">Import dialog title</note> - </trans-unit> - <trans-unit id="importDialogDragAndDrop" datatype="html"> - <source>Glisser-déposer</source> - <context-group purpose="location"> - <context context-type="sourcefile">src/app/shared/vitamui-import-dialog/vitamui-import-dialog.component.html</context> - <context context-type="linenumber">27</context> - </context-group> - <note priority="1" from="description">Import dialog drag</note> - </trans-unit> - <trans-unit id="importDialogOr" datatype="html"> - <source>ou</source> - <context-group purpose="location"> - <context context-type="sourcefile">src/app/shared/vitamui-import-dialog/vitamui-import-dialog.component.html</context> - <context context-type="linenumber">31</context> - </context-group> - <note priority="1" from="description">Import dialog drag</note> - </trans-unit> - <trans-unit id="importDialogBrowse" datatype="html"> - <source> cliquer pour Parcourir</source> - <context-group purpose="location"> - <context context-type="sourcefile">src/app/shared/vitamui-import-dialog/vitamui-import-dialog.component.html</context> - <context context-type="linenumber">32</context> - </context-group> - <note priority="1" from="description">Import dialog drag</note> - </trans-unit> - <trans-unit id="importFinishButton" datatype="html"> - <source>Terminer</source> - <context-group purpose="location"> - <context context-type="sourcefile">src/app/shared/vitamui-import-dialog/vitamui-import-dialog.component.html</context> - <context context-type="linenumber">50</context> - </context-group> - <note priority="1" from="description">Finish import button</note> - </trans-unit> - <trans-unit id="importCancelButton" datatype="html"> - <source>Annuler</source> - <context-group purpose="location"> - <context context-type="sourcefile">src/app/shared/vitamui-import-dialog/vitamui-import-dialog.component.html</context> - <context context-type="linenumber">52</context> - </context-group> - <note priority="1" from="description">Cancel import button</note> - </trans-unit> </body> </file> </xliff> diff --git a/ui/ui-frontend/projects/vitamui-library/src/lib/components/vitamui-select-all-option/vitamui-select-all-option.component.html b/ui/ui-frontend/projects/vitamui-library/src/lib/components/vitamui-select-all-option/vitamui-select-all-option.component.html new file mode 100644 index 0000000000000000000000000000000000000000..361047b0e2090163bd6e6ef8d28ac2c810611819 --- /dev/null +++ b/ui/ui-frontend/projects/vitamui-library/src/lib/components/vitamui-select-all-option/vitamui-select-all-option.component.html @@ -0,0 +1,14 @@ +<mat-pseudo-checkbox class="mat-option-pseudo-checkbox" + [state]="checkboxState" + [disabled]="disabled" + [ngClass]="selected ? 'bg-accent': ''"> +</mat-pseudo-checkbox> + +<span class="mat-option-text"> + {{title}} +</span> + +<div class="mat-option-ripple" mat-ripple + [matRippleTrigger]="_getHostElement()" + [matRippleDisabled]="disabled || disableRipple"> +</div> diff --git a/ui/ui-frontend/projects/vitamui-library/src/lib/components/vitamui-select-all-option/vitamui-select-all-option.component.scss b/ui/ui-frontend/projects/vitamui-library/src/lib/components/vitamui-select-all-option/vitamui-select-all-option.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/ui/ui-frontend/projects/vitamui-library/src/lib/components/vitamui-select-all-option/vitamui-select-all-option.component.spec.ts b/ui/ui-frontend/projects/vitamui-library/src/lib/components/vitamui-select-all-option/vitamui-select-all-option.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..68eca48abd0f05840e9610f2a42e486b651b2f46 --- /dev/null +++ b/ui/ui-frontend/projects/vitamui-library/src/lib/components/vitamui-select-all-option/vitamui-select-all-option.component.spec.ts @@ -0,0 +1,32 @@ +import { CommonModule } from '@angular/common'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { MatPseudoCheckboxModule, MatRippleModule } from '@angular/material/core'; +import { VitamUISelectAllOptionComponent } from './vitamui-select-all-option.component'; + + +describe('VitamuiSelectAllOptionComponent', () => { + let component: VitamUISelectAllOptionComponent; + let fixture: ComponentFixture<VitamUISelectAllOptionComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [ + CommonModule, + MatPseudoCheckboxModule, + MatRippleModule + ], + declarations: [ VitamUISelectAllOptionComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(VitamUISelectAllOptionComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/vitamui-library/src/lib/components/vitamui-select-all-option/vitamui-select-all-option.component.ts b/ui/ui-frontend/projects/vitamui-library/src/lib/components/vitamui-select-all-option/vitamui-select-all-option.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..1b1107e974bcf5be25eacd4ec9f18027a7a91e1b --- /dev/null +++ b/ui/ui-frontend/projects/vitamui-library/src/lib/components/vitamui-select-all-option/vitamui-select-all-option.component.ts @@ -0,0 +1,106 @@ +/* tslint:disable:component-selector */ +import {ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, HostListener, Inject, + Input, OnDestroy, OnInit, Optional, Output} from '@angular/core'; +import {AbstractControl} from '@angular/forms'; +import {MAT_OPTION_PARENT_COMPONENT, MatOptgroup, MatOption, + MatOptionParentComponent, MatPseudoCheckboxState} from '@angular/material/core'; +import {Subject} from 'rxjs'; +import {takeUntil} from 'rxjs/operators'; + +@Component({ + selector: 'vitamui-select-all-option', + templateUrl: './vitamui-select-all-option.component.html', + styleUrls: ['./vitamui-select-all-option.component.scss'] +}) +export class VitamUISelectAllOptionComponent extends MatOption implements OnInit, OnDestroy { + // You need to provide either a control or a model + // If you provide a model, you need to subscribe to the toggleSelectionEvent to update the selection + @Input() control: AbstractControl; + @Input() value: any[]; + + @Input() values: any[] = []; + @Input() title: string; + + protected unsubscribe: Subject<any>; + @Output() toggleSelection: EventEmitter<any[]> = new EventEmitter(); + + @HostBinding('class') cssClass = 'mat-option'; + @HostListener('click') click(): void { + this._selectViaInteraction(); + + if (this.control) { + this.control.setValue(this.selected ? this.values : []); + } else { + this.toggleSelection.emit(!this.selectedAll ? this.values : []); + } + } + + constructor(elementRef: ElementRef<HTMLElement>, + changeDetectorRef: ChangeDetectorRef, + @Optional() @Inject(MAT_OPTION_PARENT_COMPONENT) parent: MatOptionParentComponent, + @Optional() group: MatOptgroup) { + super(elementRef, changeDetectorRef, parent, group); + } + + ngOnInit(): void { + this.refresh(); + + if (this.control) { + this.unsubscribe = new Subject<any>(); + + this.control.valueChanges + .pipe(takeUntil(this.unsubscribe)) + .subscribe(() => { + this.refresh(); + }); + } + } + + ngOnDestroy(): void { + super.ngOnDestroy(); + + if (this.control) { + this.unsubscribe.next(); + this.unsubscribe.complete(); + } + } + + get selectedItemsCount(): number { + if (this.control) { + return Array.isArray(this.control.value) ? this.control.value.filter(el => el !== null).length : 0; + } else { + return this.value ? this.value.filter(el => el !== null).length : 0; + } + + } + + get selectedAll(): boolean { + return this.selectedItemsCount === this.values.length; + } + + get selectedPartially(): boolean { + const selectedItemsCount = this.selectedItemsCount; + return selectedItemsCount > 0 && selectedItemsCount < this.values.length; + } + + get checkboxState(): MatPseudoCheckboxState { + let state: MatPseudoCheckboxState = 'unchecked'; + + if (this.selectedAll) { + state = 'checked'; + } else if (this.selectedPartially) { + state = 'indeterminate'; + } + + return state; + } + + refresh(): void { + if (this.selectedItemsCount > 0) { + this.select(); + } else { + this.deselect(); + } + } +} + diff --git a/ui/ui-frontend/projects/vitamui-library/src/lib/components/vitamui-select-all-option/vitamui-select-all-option.module.ts b/ui/ui-frontend/projects/vitamui-library/src/lib/components/vitamui-select-all-option/vitamui-select-all-option.module.ts new file mode 100644 index 0000000000000000000000000000000000000000..de22f142ae2bcf1b0de92d418f48d4dac40311dc --- /dev/null +++ b/ui/ui-frontend/projects/vitamui-library/src/lib/components/vitamui-select-all-option/vitamui-select-all-option.module.ts @@ -0,0 +1,17 @@ +import {CommonModule} from '@angular/common'; +import {NgModule} from '@angular/core'; +import {MatPseudoCheckboxModule, MatRippleModule} from '@angular/material'; + +import {VitamUISelectAllOptionComponent} from './vitamui-select-all-option.component'; + +@NgModule({ + imports: [ + CommonModule, + MatPseudoCheckboxModule, + MatRippleModule + ], + declarations: [VitamUISelectAllOptionComponent], + exports: [VitamUISelectAllOptionComponent], +}) +export class VitamUISelectAllOptionModule { +} diff --git a/ui/ui-frontend/projects/vitamui-library/src/lib/vitamui-library.module.ts b/ui/ui-frontend/projects/vitamui-library/src/lib/vitamui-library.module.ts index 3a7e1c9ff9d871b248b1571f3424c6e797927221..ae341bc579061504c6bd9a4a40486caaf61beee0 100644 --- a/ui/ui-frontend/projects/vitamui-library/src/lib/vitamui-library.module.ts +++ b/ui/ui-frontend/projects/vitamui-library/src/lib/vitamui-library.module.ts @@ -10,6 +10,7 @@ import {VitamUIInputModule} from './components/vitamui-input/vitamui-input.modul import {UpdatedVitamUIMenuTileModule} from './components/vitamui-menu-tile/vitamui-menu-tile.module'; import {VitamUIRadioGroupModule} from './components/vitamui-radio-group/vitamui-radio-group.module'; import {VitamUIRadioModule} from './components/vitamui-radio/vitamui-radio.module'; +import {VitamUISelectAllOptionModule} from './components/vitamui-select-all-option/vitamui-select-all-option.module'; @NgModule({ declarations: [], @@ -23,7 +24,8 @@ import {VitamUIRadioModule} from './components/vitamui-radio/vitamui-radio.modul UpdatedVitamUIMenuTileModule, VitamUIInputModule, VitamUIRadioGroupModule, - VitamUIRadioModule + VitamUIRadioModule, + VitamUISelectAllOptionModule ], exports: [ CardGroupModule, @@ -35,7 +37,8 @@ import {VitamUIRadioModule} from './components/vitamui-radio/vitamui-radio.modul UpdatedVitamUIMenuTileModule, VitamUIInputModule, VitamUIRadioGroupModule, - VitamUIRadioModule + VitamUIRadioModule, + VitamUISelectAllOptionModule ] }) export class VitamUILibraryModule {