Skip to content
Snippets Groups Projects
Commit de8c9890 authored by Guilhem CARRON's avatar Guilhem CARRON
Browse files

Resolve "Ajout des écrans intermédiaires de démarche en ligne"

parent 63b4ee0e
No related branches found
No related tags found
4 merge requests!418V2.1.0,!400V2.0,!398Resolve "Ajout des écrans intermédiaires de démarche en ligne",!230V2.0
Showing
with 516 additions and 2 deletions
export enum MeetingRDVSSteps { export enum MeetingRDVSSteps {
infoScreen,
structureOrientator, structureOrientator,
publicTypeMandatory, publicTypeMandatory,
publicTypeOptional, publicTypeOptional,
......
export enum HotlineMediationSteps { export enum HotlineMediationSteps {
infoScreen,
mediationBeneciaryInfo, mediationBeneciaryInfo,
mediationHoursSelection, mediationHoursSelection,
mediationLanguageSelection, mediationLanguageSelection,
......
<div class="container" *ngIf="currentType === currentTypeEnum.meetings">
<img src="../../../../../assets/img/rdvsBeginning.svg" alt="Meeting image" />
<h2>Vous vous apprêtez à prendre RDV auprès d'un Conseiller numérique</h2>
<p>
Ces professionnels sont là pour accompagner les publics sur des problématiques liées au numérique et non aux
démarches administratives en elles-mêmes. Si le frein est uniquement administratif, merci d'orienter le bénéficiaire
vers un lieu type "Maison France services"
</p>
</div>
<div class="container" *ngIf="currentType === currentTypeEnum.onlineMediation">
<img src="../../../../../assets/img/onlineMediationBeginning.svg" alt="Illustration RDV en ligne" />
<h2>Vous êtes sur le point de prendre un rendez-vous avec un médiateur ou une médiatrice à distance</h2>
<p>
Ce service d’accompagnement numérique permettra au bénéficiaire d’être assisté depuis son domicile pour apprendre à
utiliser son matériel ou effectuer une démarche sur internet par exemple. En choisissant de prendre un rendez-vous,
le bénéficiaire sera recontacté par l’un de nos médiateurs numériques sur le créneau sélectionné.
</p>
</div>
.container {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
justify-content: center;
height: 90%;
h2 {
margin-top: 2rem;
margin-bottom: 0.5rem;
}
}
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
import { OnlineDemarche } from '../../enums/onlineDemarche.enum';
@Component({
selector: 'app-information-screen',
templateUrl: './information-screen.component.html',
styleUrls: ['./information-screen.component.scss'],
})
export class InformationScreenComponent implements OnInit {
@Input() currentType: OnlineDemarche;
@Output() checkValidation = new EventEmitter<boolean>();
public currentTypeEnum = OnlineDemarche;
ngOnInit(): void {
this.checkValidation.emit();
}
}
...@@ -13,6 +13,11 @@ ...@@ -13,6 +13,11 @@
</ng-container> </ng-container>
<!-- MEETING FORM (RDVS) --> <!-- MEETING FORM (RDVS) -->
<ng-container *ngIf="currentType === onlineDemarcheTypeEnum.meetings"> <ng-container *ngIf="currentType === onlineDemarcheTypeEnum.meetings">
<app-information-screen
*ngIf="currentStep === onlineDemarchesMeetingSteps.infoScreen"
[currentType]="currentType"
(checkValidation)="checkValidation()"
></app-information-screen>
<app-structure-orientator <app-structure-orientator
*ngIf="currentStep === onlineDemarchesMeetingSteps.structureOrientator" *ngIf="currentStep === onlineDemarchesMeetingSteps.structureOrientator"
[profile]="profile" [profile]="profile"
...@@ -71,6 +76,11 @@ ...@@ -71,6 +76,11 @@
</ng-container> </ng-container>
<!-- ONLINE MEDIATION FORM --> <!-- ONLINE MEDIATION FORM -->
<ng-container *ngIf="currentType === onlineDemarcheTypeEnum.onlineMediation"> <ng-container *ngIf="currentType === onlineDemarcheTypeEnum.onlineMediation">
<app-information-screen
*ngIf="currentStep === HotlineMediationStepsEnum.infoScreen"
[currentType]="currentType"
(checkValidation)="checkValidation()"
></app-information-screen>
<app-online-demarch <app-online-demarch
*ngIf="currentStep === HotlineMediationStepsEnum.onlineDemarch" *ngIf="currentStep === HotlineMediationStepsEnum.onlineDemarch"
[form]="form" [form]="form"
......
...@@ -216,15 +216,15 @@ export class OrientationFormViewComponent implements OnInit, AfterContentChecked ...@@ -216,15 +216,15 @@ export class OrientationFormViewComponent implements OnInit, AfterContentChecked
); );
break; break;
case OnlineDemarche.meetings: case OnlineDemarche.meetings:
this.currentStep = MeetingRDVSSteps.structureOrientator;
this.currentType = OnlineDemarche.meetings; this.currentType = OnlineDemarche.meetings;
this.currentStep = MeetingRDVSSteps.infoScreen;
this.setStepNumber(Object.keys(MeetingRDVSSteps).length); this.setStepNumber(Object.keys(MeetingRDVSSteps).length);
this.skipStructureOrientator(); this.skipStructureOrientator();
this.onlineDemarchForm = this.orientationUtils.createMeetingRDVSForm(this.filters, this.orientator); this.onlineDemarchForm = this.orientationUtils.createMeetingRDVSForm(this.filters, this.orientator);
break; break;
case OnlineDemarche.onlineMediation: case OnlineDemarche.onlineMediation:
this.currentType = OnlineDemarche.onlineMediation; this.currentType = OnlineDemarche.onlineMediation;
this.currentStep = HotlineMediationSteps.mediationBeneciaryInfo; this.currentStep = HotlineMediationSteps.infoScreen;
this.setStepNumber(Object.keys(HotlineMediationSteps).length); this.setStepNumber(Object.keys(HotlineMediationSteps).length);
this.onlineDemarchForm = this.orientationUtils.createOnlineMediationForm( this.onlineDemarchForm = this.orientationUtils.createOnlineMediationForm(
this.utils.convertFiltersToModule(this.filters) this.utils.convertFiltersToModule(this.filters)
......
...@@ -28,6 +28,7 @@ import { SelectComponent } from './global-components/select/select.component'; ...@@ -28,6 +28,7 @@ import { SelectComponent } from './global-components/select/select.component';
import { MeetingDigitalPassComponent } from './online-demarch/meeting-rdvs/meeting-digital-pass/meeting-digital-pass.component'; import { MeetingDigitalPassComponent } from './online-demarch/meeting-rdvs/meeting-digital-pass/meeting-digital-pass.component';
import { MeetingRdvsDoingComponent } from './online-demarch/meeting-rdvs/meeting-rdvs-doing/meeting-rdvs-doing.component'; import { MeetingRdvsDoingComponent } from './online-demarch/meeting-rdvs/meeting-rdvs-doing/meeting-rdvs-doing.component';
import { MediationBeneciaryInfoComponent } from './online-demarch/online-mediation/mediation-beneciary-info/mediation-beneciary-info.component'; import { MediationBeneciaryInfoComponent } from './online-demarch/online-mediation/mediation-beneciary-info/mediation-beneciary-info.component';
import { InformationScreenComponent } from './global-components/information-screen/information-screen.component';
@NgModule({ @NgModule({
declarations: [ declarations: [
...@@ -57,6 +58,7 @@ import { MediationBeneciaryInfoComponent } from './online-demarch/online-mediati ...@@ -57,6 +58,7 @@ import { MediationBeneciaryInfoComponent } from './online-demarch/online-mediati
SelectComponent, SelectComponent,
MeetingDigitalPassComponent, MeetingDigitalPassComponent,
MeetingRdvsDoingComponent, MeetingRdvsDoingComponent,
InformationScreenComponent,
], ],
imports: [OrientationRoutingModule, CartoModule, SharedModule], imports: [OrientationRoutingModule, CartoModule, SharedModule],
}) })
......
...@@ -164,6 +164,9 @@ export class OrientationUtils { ...@@ -164,6 +164,9 @@ export class OrientationUtils {
updatePageValid: (isValid: boolean) => void, updatePageValid: (isValid: boolean) => void,
step: HotlineMediationSteps step: HotlineMediationSteps
): void { ): void {
pagesValidation[HotlineMediationSteps.infoScreen] = {
valid: true,
};
pagesValidation[HotlineMediationSteps.mediationBeneciaryInfo] = { pagesValidation[HotlineMediationSteps.mediationBeneciaryInfo] = {
valid: form.get('name').valid && form.get('surname').valid && form.get('phone').valid, valid: form.get('name').valid && form.get('surname').valid && form.get('phone').valid,
}; };
...@@ -223,6 +226,9 @@ export class OrientationUtils { ...@@ -223,6 +226,9 @@ export class OrientationUtils {
updatePageValid: (isValid: boolean) => void, updatePageValid: (isValid: boolean) => void,
step: MeetingRDVSSteps step: MeetingRDVSSteps
): void { ): void {
pagesValidation[MeetingRDVSSteps.infoScreen] = {
valid: true,
};
pagesValidation[MeetingRDVSSteps.structureOrientator] = { pagesValidation[MeetingRDVSSteps.structureOrientator] = {
valid: form.get('structureOrientator').valid, valid: form.get('structureOrientator').valid,
}; };
......
This diff is collapsed.
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment