diff --git a/src/app/mapping/mapping.component.html b/src/app/mapping/mapping.component.html index b6983e1cf1a5f8f97521ca56b11833a12a20e972..7f3ae0967fc066b184c2e024bc720fdbc9e6d713 100644 --- a/src/app/mapping/mapping.component.html +++ b/src/app/mapping/mapping.component.html @@ -1,60 +1,75 @@ -<div class="card-row"> - <div class="card-col"> - <nb-card size="giant" [nbSpinner]="loading" nbSpinnerStatus="primary" nbSpinnerSize="large" - nbSpinnerMessage="Loading..."> - <nb-card-header>Dataset metadata</nb-card-header> - <nb-card-body> - <div></div> - <ng-container *ngFor="let dataset of datasetModel; let index = index;trackBy:trackByIndex;"> - <nb-form-field> - <div class="row"> +<form #form="ngForm"> + <div class="card-row"> + <div class="card-col"> + <nb-card size="giant" [nbSpinner]="loading" nbSpinnerStatus="primary" nbSpinnerSize="large" + nbSpinnerMessage="Loading..."> + <nb-card-header>Dataset metadata</nb-card-header> + <nb-card-body> - <div class="col-4"> + <ng-container *ngFor="let dataset of datasetModel; let index = index;trackBy:trackByIndex;"> + <nb-form-field> + <div class="row"> - <nb-form-field> - <input *ngIf=" dataset.identifier !== 'dct:hasVersion' && dataset.identifier !== 'dct:title'" nbInput fullWidth type="text" value="{{dataset.identifier}} " disabled /> - <input *ngIf=" dataset.identifier === 'dct:hasVersion' || dataset.identifier === 'dct:title' " nbInput fullWidth type="text" value="{{dataset.identifier}} *" disabled /> - <button nbSuffix nbTooltip="{{dataset.name}}: {{dataset.usageNote}}" - nbTooltipStatus="info" nbButton status="basic" ghost> - <nb-icon [icon]=" 'question-mark-circle-outline' " pack="eva"> - </nb-icon> - </button> - </nb-form-field> + <div class="col-4"> - </div> - <div class="col-8"> + <nb-form-field> + <input + *ngIf=" dataset.identifier !== 'dct:hasVersion' && dataset.identifier !== 'dct:title'" + nbInput fullWidth type="text" value="{{dataset.identifier}} " disabled /> + <input + *ngIf=" dataset.identifier === 'dct:hasVersion' || dataset.identifier === 'dct:title' " + nbInput fullWidth type="text" value="{{dataset.identifier}} *" disabled /> + <button nbSuffix nbTooltip="{{dataset.name}}: {{dataset.usageNote}}" + nbTooltipStatus="info" nbButton status="basic" ghost> + <nb-icon [icon]=" 'question-mark-circle-outline' " pack="eva"> + </nb-icon> + </button> + </nb-form-field> + + </div> + <div class="col-8"> - <nb-form-field> - <input *ngIf="dataset.identifier === 'dct:hasVersion' || dataset.identifier === 'dct:title' " required #autoInput #{{dataset.identifier}}="ngModel" fullWidth id="{{dataset.identifier}}" name="{{dataset.identifier}}" - nbInput (input)="onChange()" placeholder="Enter value" [nbAutocomplete]="auto" - [(ngModel)]="selectedPaths[index]" (focus)="reset()" autocomplete="false"/> - <div *ngIf="dataset.identifier.invalid && (dataset.identifier.dirty || dataset.identifier.touched)">champ obligatoire</div> - <input *ngIf=" dataset.identifier !== 'dct:hasVersion' && dataset.identifier !== 'dct:title'" #autoInput #{{dataset.identifier}} fullWidth id="{{dataset.identifier}}" - nbInput (input)="onChange()" placeholder="Enter value" [nbAutocomplete]="auto" - [(ngModel)]="selectedPaths[index]" (focus)="reset()" autocomplete="false"/> - + <nb-form-field> + <input + *ngIf="dataset.identifier === 'dct:hasVersion' || dataset.identifier === 'dct:title' " + required #autoInput #{{dataset.identifier}}="ngModel" fullWidth + id="{{dataset.identifier}}" name="{{dataset.identifier}}" nbInput + (input)="onChange()" placeholder="Enter value" [nbAutocomplete]="auto" + [(ngModel)]="selectedPaths[index]" (focus)="reset()" autocomplete="false" /> + <div + *ngIf="dataset.identifier.invalid && (dataset.identifier.dirty || dataset.identifier.touched)"> + champ obligatoire</div> + <input + *ngIf=" dataset.identifier !== 'dct:hasVersion' && dataset.identifier !== 'dct:title'" + #autoInput #{{dataset.identifier}} fullWidth id="{{dataset.identifier}}" + nbInput (input)="onChange()" placeholder="Enter value" + [nbAutocomplete]="auto" [(ngModel)]="selectedPaths[index]" (focus)="reset()" + autocomplete="false" /> - <nb-autocomplete #auto> - <nb-option *ngFor="let option of filteredOptions | async" [value]="option"> - {{ option }} - </nb-option> + <nb-autocomplete #auto> - </nb-autocomplete> - </nb-form-field> + <nb-option *ngFor="let option of filteredOptions | async" [value]="option"> + {{ option }} + </nb-option> + + </nb-autocomplete> + </nb-form-field> + </div> </div> - </div> - </nb-form-field> - </ng-container> - </nb-card-body> - </nb-card> + </nb-form-field> + </ng-container> + + </nb-card-body> + </nb-card> + </div> </div> -</div> -<div class="row"> - <div> - <button nbButton (click)="mapDataset()">Check mapping</button> + <div class="row"> + <div> + <button nbButton (click)="mapDataset()" [disabled]="!form.valid">Check mapping</button> + </div> </div> -</div> +</form> <div class="card-row"> <div class="card-col"> <nb-card> @@ -76,7 +91,8 @@ </nb-list> <div class="row"> - <button class="button-center" nbButton status="danger" *ngIf=" !first " (click)="mappedMetadatas.splice(index, 1); prev()">Delete datset<nb-icon icon="trash-2-outline"> + <button class="button-center" nbButton status="danger" *ngIf=" !first " + (click)="mappedMetadatas.splice(index, 1); prev()">Delete datset<nb-icon icon="trash-2-outline"> </nb-icon></button> </div> </nb-card-body> @@ -93,7 +109,7 @@ <button nbButton (click)=" publishDataset()">Publish</button> </div> </div> - + </nb-card-footer> </nb-card> </div> diff --git a/src/app/publishapi/publishapi.component.html b/src/app/publishapi/publishapi.component.html index d0a200dc81a1598dee53938408c2a049b8350afb..fcb8a893bd635b56ed9c06ea603aee822f9629d1 100644 --- a/src/app/publishapi/publishapi.component.html +++ b/src/app/publishapi/publishapi.component.html @@ -292,7 +292,7 @@ <h4>Use parameters & launch request</h4> <app-datasets [openApi]="openApi"></app-datasets> <button class="prev-button" nbButton nbStepperPrevious>prev</button> - <button class="next-button" nbButton nbStepperNext (click)="initLabelThree=true">next</button> + <button class="next-button" nbButton nbStepperNext [disabled]="!isValid()" (click)="initLabelThree=true">next</button> </nb-step> <nb-step [label]="labelThree" > <ng-template #labelThree>Third step</ng-template> @@ -301,7 +301,7 @@ Map your metadata schema with DCAT schema </p> <app-mapping *ngIf="initLabelThree" [catalogId]="openApi.info['x-catalog-id']"></app-mapping> - <button class="prev-button" nbButton nbStepperPrevious (click)="initLabelThree=false; resetDataset()">prev</button> + <button class="prev-button" nbButton nbStepperPrevious (click)="initLabelThree=false; resetDataset()">prev</button> <button class="next-button" nbButton disabled nbStepperNext>next</button> </nb-step> <!--<nb-step [label]="labelFour"> diff --git a/src/app/publishapi/publishapi.component.ts b/src/app/publishapi/publishapi.component.ts index d8f7340b73aac0b0adb6ae3db74674c008483398..60ce360f9929d6907c9b441d7794cd6c87b45fa5 100644 --- a/src/app/publishapi/publishapi.component.ts +++ b/src/app/publishapi/publishapi.component.ts @@ -260,4 +260,12 @@ export class PublishApiComponent implements OnInit { resetDataset() { this.datasetService.resetDataset(); } + + isValid(): boolean { + if(this.datasetService.itemsDataset.length > 0) { + return true; + } else { + return false; + } + } }