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

Merge branch '105-ajout-des-ecrans-intermediaires-de-demarche-en-ligne' into 'V2.0'

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

See merge request !398
parents 63b4ee0e de8c9890
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