Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • 354-actualites-partage-article-via-rs-image-d-illus-a-la-place-du-logo-res-in
  • 582-modification-fiche-structure-offre-structure-vs-offre-accompagnant-numerique-ordre-des-blocs
  • 630-bo-admin-fonction-2
  • 673-fiche-structure-mise-en-forme-des-rs
  • 722-envsubst-client-side-conf
  • 723-structures-l-api-ne-prend-pas-en-compte-l-offre-des-mediateurs
  • 728-cartographie-ordre-d-affichage-de-la-liste
  • 734-actualites-menu-en-mobile
  • dev
  • feat/nginx-security
  • master
  • renovate/bluehalo-ngx-leaflet-20.x
  • renovate/chokidar-4.x
  • renovate/chromatic-com-storybook-4.x
  • renovate/devdependencies-(non-major)
  • renovate/leaflet.locatecontrol-0.x
  • renovate/major-ag-grid-monorepo
  • renovate/major-angular-cli-monorepo
  • renovate/major-angular-eslint-monorepo
  • renovate/major-angular-monorepo
  • renovate/major-angularmaterial-monorepo
  • renovate/major-storybook-monorepo
  • renovate/major-typescript-eslint-monorepo
  • renovate/ng-packagr-20.x
  • renovate/ngx-matomo-client-8.x
  • renovate/ngx-toastr-19.x
  • renovate/npm-11.x
  • wip_3.4
  • 1.1.0
  • v0.0.1
  • v0.0.2
  • v0.0.3
  • v1.1.0
  • v1.10.0
  • v1.11.0
  • v1.11.1
  • v1.12.0
  • v1.12.1
  • v1.13.0
  • v1.14.0
  • v1.15.0
  • v1.16.0
  • v1.16.1
  • v1.16.2
  • v1.16.3
  • v1.17.0
  • v1.17.1
  • v1.17.2
  • v1.17.3
  • v1.2.0
  • v1.3.0
  • v1.4.0
  • v1.5.0
  • v1.6.0
  • v1.6.1
  • v1.7.0
  • v1.8.0
  • v1.9.0
  • v1.9.1
  • v2.0.0
  • v2.0.0-beta1
  • v2.0.0-beta1.1
  • v2.0.0-beta2
  • v2.0.0-beta2.1
  • v2.0.0-beta2.2
  • v2.0.0-beta4
  • v2.0.0-beta5
  • v2.0.1
  • v2.0.2
  • v2.1.0
  • v2.1.1
  • v2.1.2
  • v2.2.0
  • v2.3.0
  • v2.3.1
  • v2.3.2
  • v2.3.3
  • v2.4.0
  • v2.4.1
  • v2.4.2
  • v2.5.0
  • v3.0.0
  • v3.0.1
  • v3.0.2
  • v3.1.0
  • v3.1.0-openshift
  • v3.2.0
  • v3.2.1
  • v3.2.2
  • v3.3.0
  • v3.3.1
  • v3.4.0
  • v3.4.1
  • v3.4.2
  • v3.4.3
  • v4.0.0
  • v4.0.1
  • v4.0.2
  • v4.1.0
  • v4.1.1
100 results

Target

Select target project
  • web-et-numerique / Factory / Resin / Client
1 result
Select Git revision
  • 354-actualites-partage-article-via-rs-image-d-illus-a-la-place-du-logo-res-in
  • 582-modification-fiche-structure-offre-structure-vs-offre-accompagnant-numerique-ordre-des-blocs
  • 630-bo-admin-fonction-2
  • 673-fiche-structure-mise-en-forme-des-rs
  • 722-envsubst-client-side-conf
  • 723-structures-l-api-ne-prend-pas-en-compte-l-offre-des-mediateurs
  • 728-cartographie-ordre-d-affichage-de-la-liste
  • 734-actualites-menu-en-mobile
  • dev
  • feat/nginx-security
  • master
  • renovate/bluehalo-ngx-leaflet-20.x
  • renovate/chokidar-4.x
  • renovate/chromatic-com-storybook-4.x
  • renovate/devdependencies-(non-major)
  • renovate/leaflet.locatecontrol-0.x
  • renovate/major-ag-grid-monorepo
  • renovate/major-angular-cli-monorepo
  • renovate/major-angular-eslint-monorepo
  • renovate/major-angular-monorepo
  • renovate/major-angularmaterial-monorepo
  • renovate/major-storybook-monorepo
  • renovate/major-typescript-eslint-monorepo
  • renovate/ng-packagr-20.x
  • renovate/ngx-matomo-client-8.x
  • renovate/ngx-toastr-19.x
  • renovate/npm-11.x
  • wip_3.4
  • 1.1.0
  • v0.0.1
  • v0.0.2
  • v0.0.3
  • v1.1.0
  • v1.10.0
  • v1.11.0
  • v1.11.1
  • v1.12.0
  • v1.12.1
  • v1.13.0
  • v1.14.0
  • v1.15.0
  • v1.16.0
  • v1.16.1
  • v1.16.2
  • v1.16.3
  • v1.17.0
  • v1.17.1
  • v1.17.2
  • v1.17.3
  • v1.2.0
  • v1.3.0
  • v1.4.0
  • v1.5.0
  • v1.6.0
  • v1.6.1
  • v1.7.0
  • v1.8.0
  • v1.9.0
  • v1.9.1
  • v2.0.0
  • v2.0.0-beta1
  • v2.0.0-beta1.1
  • v2.0.0-beta2
  • v2.0.0-beta2.1
  • v2.0.0-beta2.2
  • v2.0.0-beta4
  • v2.0.0-beta5
  • v2.0.1
  • v2.0.2
  • v2.1.0
  • v2.1.1
  • v2.1.2
  • v2.2.0
  • v2.3.0
  • v2.3.1
  • v2.3.2
  • v2.3.3
  • v2.4.0
  • v2.4.1
  • v2.4.2
  • v2.5.0
  • v3.0.0
  • v3.0.1
  • v3.0.2
  • v3.1.0
  • v3.1.0-openshift
  • v3.2.0
  • v3.2.1
  • v3.2.2
  • v3.3.0
  • v3.3.1
  • v3.4.0
  • v3.4.1
  • v3.4.2
  • v3.4.3
  • v4.0.0
  • v4.0.1
  • v4.0.2
  • v4.1.0
  • v4.1.1
100 results
Show changes

Commits on Source 25

53 files
+ 286
389
Compare changes
  • Side-by-side
  • Inline

Files

+7 −0
Original line number Diff line number Diff line
{
  "recommendations": [
    "streetsidesoftware.code-spell-checker",
    "streetsidesoftware.code-spell-checker-french",
    "angular.ng-template"
  ]
}
Original line number Diff line number Diff line
@@ -2,7 +2,8 @@
  "eslint.enable": true,
  "javascript.format.enable": false,
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true
    "source.fixAll.eslint": true,
    "source.organizeImports": true
  },
  "[html]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
@@ -25,5 +26,24 @@
  "i18n-ally.localesPaths": "client/src/assets/i18n",
  "i18n-ally.keystyle": "nested",
  "i18n-ally.enabledFrameworks": "ngx-translate",
  "typescript.preferences.importModuleSpecifier": "relative"
  "typescript.preferences.importModuleSpecifier": "relative",
  "cSpell.language": "fr,en",
  "cSpell.words": [
    "covid",
    "facebook",
    "friday",
    "instagram",
    "linkedin",
    "monday",
    "onespace",
    "personaloffer",
    "Rés'in",
    "saturday",
    "sunday",
    "thursday",
    "toastr",
    "tuesday",
    "ultrawide",
    "wednesday"
  ]
}
+16 −0
Original line number Diff line number Diff line
@@ -2,6 +2,22 @@

All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.

### [2.0.2](https://forge.grandlyon.com/web-et-numerique/pamn_plateforme-des-acteurs-de-la-mediation-numerique/pamn_client/compare/v2.0.1...v2.0.2) (2023-01-05)


### Features

* **structure:** improve user message when no structure to create ([3baf9c7](https://forge.grandlyon.com/web-et-numerique/pamn_plateforme-des-acteurs-de-la-mediation-numerique/pamn_client/commit/3baf9c702f84403a9ec18d464b81dca179a1d6db))
* **structure:** remove useless completion question in structure creation tunnel ([28340d6](https://forge.grandlyon.com/web-et-numerique/pamn_plateforme-des-acteurs-de-la-mediation-numerique/pamn_client/commit/28340d6e20e62f3ad2719617df938bb6889a263e))


### Bug Fixes

* margin top in edit structure form ([e0b5c9b](https://forge.grandlyon.com/web-et-numerique/pamn_plateforme-des-acteurs-de-la-mediation-numerique/pamn_client/commit/e0b5c9bca20e4a11b330b4a8765a818917dcc538))
* Offre personnel back button form ([2031dd3](https://forge.grandlyon.com/web-et-numerique/pamn_plateforme-des-acteurs-de-la-mediation-numerique/pamn_client/commit/2031dd339a1761ad54b0090bc12bea20612f78e0))
* scroll on firefox ([fef054d](https://forge.grandlyon.com/web-et-numerique/pamn_plateforme-des-acteurs-de-la-mediation-numerique/pamn_client/commit/fef054d2e88b400212b8f548ef1c1926c6e997a2))
* several bugs on recette  ([c177ddb](https://forge.grandlyon.com/web-et-numerique/pamn_plateforme-des-acteurs-de-la-mediation-numerique/pamn_client/commit/c177ddb659dc1d4248e3627de8957f2b36a89e76))

### [2.0.1](https://forge.grandlyon.com/web-et-numerique/pamn_plateforme-des-acteurs-de-la-mediation-numerique/pamn_client/compare/v2.0.0...v2.0.1) (2022-12-16)


+1 −1
Original line number Diff line number Diff line
{
  "name": "pamn",
  "version": "2.0.1",
  "version": "2.0.2",
  "scripts": {
    "ng": "ng",
    "start": "ng serve --configuration=fr --proxy-config proxy.conf.json",
Original line number Diff line number Diff line
@@ -12,7 +12,8 @@
}

.results-column {
  width: 30%;
  width: 100%;
  max-width: 600px;
}

.incomplete {
Original line number Diff line number Diff line
<div fxLayout="column" fxLayoutAlign="center center">
  <h2>Revendication structure</h2>
  <table *ngIf="isClaimedStructure" aria-describedby="demands attachment results" class="results-tab">
    <thead>
      <th scope="col">Utilisateur</th>
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@
  <img class="loader-gif" src="/assets/gif/loader_circle_grey.gif" alt />
</div>
<div *ngIf="!isLoading" fxLayout="column" fxLayoutAlign="center center">
  <H2>Gestion de l'affichage des infos Covid</H2>
  <h2>Gestion de l'affichage des infos Covid</h2>
  <div *ngIf="lockdownInfoDisplay">Les infos covid sont actuellement affichées dans les fiches structure.</div>
  <div *ngIf="!lockdownInfoDisplay">Les infos covid ne sont actuellement pas affichées dans les fiches structure.</div>
  <div *ngIf="!error" class="singleCheckbox" [ngClass]="{ checked: lockdownInfoDisplay }">
Original line number Diff line number Diff line
<div fxLayout="column" fxLayoutGap="5px" fxLayoutAlign="center center" class="userBlock">
  <h3>
  <h2>
    Gestion des employeurs
    <span *ngIf="unvalidatedEmployers && validatedEmployers">
      ({{ unvalidatedEmployers.length + validatedEmployers.length }})
    </span>
  </h3>
  </h2>
</div>

<div class="tables-list">
Original line number Diff line number Diff line
<div fxLayout="column" fxLayoutGap="5px" fxLayoutAlign="center center" class="userBlock">
  <h3>
  <h2>
    Gestion des fonctions
    <span *ngIf="unvalidatedJobs && validatedJobs"> ({{ unvalidatedJobs.length + validatedJobs.length }}) </span>
  </h3>
  </h2>
</div>

<div class="tables-list">
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@
  <img class="loader-gif" src="/assets/gif/loader_circle_grey.gif" alt />
</div>
<div *ngIf="!isLoading" fxLayout="column" fxLayoutAlign="center center">
  <h2>Liste structures</h2>
  <table aria-describedby="demands attachment results" class="results-tab results-column">
    <thead>
      <th colspan="2" scope="colgroup">
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@
    >
  </div>
  <div class="access">
    Pour accéder à l’annuaire de Résin et contacter les utilisateurs,<br />
    Pour accéder à l’annuaire de Rés'in et contacter les utilisateurs,<br />
    veuillez vous connecter ou vous créer un compte.
  </div>
  <div class="buttons">
Original line number Diff line number Diff line
@@ -92,7 +92,7 @@
            <div class="textareaBlock" fxLayout="row" fxLayoutGap="15px">
              <textarea
                rows="8"
                placeholder="Exemple : J'aimerais avoir de l'aide sur Rés'IN."
                placeholder="Exemple : J'aimerais avoir de l'aide sur Rés'in."
                maxlength="500"
                formControlName="message"
              ></textarea>
Original line number Diff line number Diff line
import { Component, OnInit } from '@angular/core';
import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
import { Router } from '@angular/router';
import { Meta } from '@angular/platform-browser';
import { Router } from '@angular/router';
import { ContactMessage } from '../models/contact-message.model';
import { AuthService } from '../services/auth.service';
import { ContactService } from '../services/contact.service';
@@ -43,7 +43,7 @@ export class ContactComponent implements OnInit {
    this.meta.updateTag({
      name: 'description',
      content:
        "Formulaire pour contacter Rés'IN, le Réseau des acteurs de l'inclusion numérique de la métropole de Lyon",
        "Formulaire pour contacter Rés'in, le Réseau des acteurs de l'inclusion numérique de la métropole de Lyon",
    });
  }

Original line number Diff line number Diff line
<div
  class="footerForm"
  fxLayout="row"
  [ngClass]="{ column: hasFinishButton() }"
  fxLayoutGap="10px"
  fxLayoutAlign="center center"
>
<div class="footerForm" [ngClass]="{ column: hasFinishButton() }">
  <app-button
    *ngIf="!isLastFormStep && !isNextFormTransition && !isStructureLastPage() && !isPersonalOfferFirstPage()"
    (action)="prevPage()"
Original line number Diff line number Diff line
@@ -3,6 +3,9 @@
@import '../../../assets/scss/breakpoint';

.footerForm {
  display: flex;
  justify-content: center;
  gap: 1rem;
  padding: 20px 0;
}

Original line number Diff line number Diff line
@@ -62,11 +62,7 @@ export class FooterFormComponent implements OnChanges {
      ) {
        this.isNextFormTransition = true;
      }
      if (
        this.currentForm === formType.structure &&
        (this.currentStep === structureFormStep.noStructure ||
          this.currentStep === structureFormStep.StructureInfoUnknown)
      ) {
      if (this.currentForm === formType.structure && this.currentStep === structureFormStep.noStructure) {
        this.isLastFormStep = true;
      }
    }
@@ -77,7 +73,7 @@ export class FooterFormComponent implements OnChanges {
  }

  public hasFinishButton(): boolean {
    return this.btnName.length == 3;
    return this.btnName.length === 3;
  }
  public finishedModal(): void {
    this.endPage.emit();
@@ -95,7 +91,11 @@ export class FooterFormComponent implements OnChanges {
  }

  public prevPage(): void {
    if (!this.isEditMode && this.currentForm === formType.structure) {
    if (this.isEditMode) {
      history.back();
    }

    if (this.currentForm === formType.structure) {
      if (this.currentStep === structureFormStep.structureType) {
        this.changeCurrentStep.emit(structureFormStep.structureFormTime);
        return;
@@ -116,10 +116,9 @@ export class FooterFormComponent implements OnChanges {
        }
        return;
      }
      this.goToPreviousPage();
    } else {
      history.back();
    }

    this.goToPreviousPage();
  }

  public async nextPage(): Promise<void> {
@@ -139,13 +138,6 @@ export class FooterFormComponent implements OnChanges {
      return;
    }
    if (this.currentForm === formType.structure) {
      if (this.currentStep === structureFormStep.structureChoiceCompletion) {
        const chooseCompleteStructInfo = this.form.get('choiceCompletion').value;
        if (!chooseCompleteStructInfo) {
          this.changeCurrentStep.emit(structureFormStep.StructureInfoUnknown);
          return;
        }
      }
      if (this.currentStep === structureFormStep.structureAccompanimentChoice) {
        const hasPlaceOfReception = this.form.get('placeOfReception').value;
        if (!hasPlaceOfReception) {
@@ -180,7 +172,7 @@ export class FooterFormComponent implements OnChanges {
        return;
      }
    }
    if (this.isPersonalOfferpage()) {
    if (this.isPersonalOfferPage()) {
      this.endForm.emit({ formType: this.currentForm });
      return;
    }
@@ -211,8 +203,7 @@ export class FooterFormComponent implements OnChanges {
      this.currentForm === formType.structure &&
      (this.currentStep === structureFormStep.mailSentInfo ||
        this.currentStep === structureFormStep.structureCreationFinishedInfo ||
        this.currentStep === structureFormStep.noStructure ||
        this.currentStep === structureFormStep.StructureInfoUnknown)
        this.currentStep === structureFormStep.noStructure)
    );
  }

@@ -220,7 +211,7 @@ export class FooterFormComponent implements OnChanges {
    return this.currentForm === formType.profile && this.currentStep === profileFormStep.profileJobSelection;
  }

  private isPersonalOfferpage(): boolean {
  private isPersonalOfferPage(): boolean {
    return (
      this.currentForm === formType.personaloffer &&
      this.currentStep === personalOfferFormStep.personalOfferStructureChoice
Original line number Diff line number Diff line
@@ -11,8 +11,8 @@
    [nbSteps]="nbSteps"
  ></app-progress-bar>
  <div class="page">
    <ng-container *ngIf="formType[routeParam] === formType.account || formType[this.routeParam] === formType.register">
    <app-account-form
      *ngIf="formType[routeParam] === formType.account || formType[this.routeParam] === formType.register"
      [nbSteps]="nbSteps"
      [accountForm]="accountForm"
      [hoursForm]="hoursForm"
@@ -22,18 +22,16 @@
      (pageValid)="validatePage($event)"
      (acceptNewsletter)="acceptReceiveNewsletter($event)"
    ></app-account-form>
    </ng-container>
    <ng-container *ngIf="formType[routeParam] === formType.profile">
    <app-profile-form
      *ngIf="formType[routeParam] === formType.profile"
      [nbSteps]="nbSteps"
      [profileForm]="profileForm"
      [currentStep]="currentPage"
      (goNext)="nextPage()"
      (pageValid)="validatePage($event)"
    ></app-profile-form>
    </ng-container>
    <ng-container *ngIf="formType[routeParam] === formType.structure">
    <app-structure-form
      *ngIf="formType[routeParam] === formType.structure"
      [nbSteps]="nbSteps"
      [structure]="structure"
      [structureForm]="structureForm"
@@ -46,9 +44,8 @@
      (updateHoursForm)="updateHours($event)"
      (setEditStep)="setCurrentStep($event)"
    ></app-structure-form>
    </ng-container>
    <ng-container *ngIf="formType[routeParam] === formType.personaloffer">
    <app-personal-offer-form
      *ngIf="formType[routeParam] === formType.personaloffer"
      [nbSteps]="nbSteps"
      [personalOfferForm]="personalOfferForm"
      [currentStep]="currentPage"
@@ -56,8 +53,8 @@
      (setHasOtherOffer)="setHasOtherPersonalOffer($event)"
      (pageValid)="validatePage($event)"
    ></app-personal-offer-form>
    </ng-container>
  </div>

  <app-footer-form
    *ngIf="displayFooterForm()"
    [currentStep]="currentPage"
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
  width: 100%;
  height: 100%;
  margin: 0 auto;
  margin-top: 1rem;
  overflow-y: auto;
  color: $grey-1;
  background: $white;
Original line number Diff line number Diff line
@@ -183,8 +183,7 @@ export class FormViewComponent implements OnInit, AfterViewInit {
      this.nbSteps = totalFormSteps;
      this.currentPage = personalOfferFormStep.personalOfferAccompaniment;
      this.currentFormType = formType.personaloffer;
      const newPersonalOffer: PersonalOffer = new PersonalOffer();
      this.createPersonalOfferForm(newPersonalOffer);
      this.createPersonalOfferForm(new PersonalOffer());
      this.currentForm = this.personalOfferForm;
    }
  }
@@ -317,10 +316,6 @@ export class FormViewComponent implements OnInit, AfterViewInit {
        if (type.formStep === structureFormStep.noStructure) {
          this.router.navigateByUrl('/profile');
        }
        if (type.formStep === structureFormStep.StructureInfoUnknown) {
          //Creation de coquille vide ??
          this.router.navigateByUrl('/profile');
        }
        break;
      case formType.personaloffer:
        this.savePersonalOfferForm();
@@ -332,17 +327,17 @@ export class FormViewComponent implements OnInit, AfterViewInit {
    forkJoin({
      employer: this.profileService.createEmployer(this.profileForm.get('employer').value).pipe(
        map((res) => res),
        catchError((_e) => of(this.profileForm.get('employer').value))
        catchError(() => of(this.profileForm.get('employer').value))
      ),
      job: this.profileService.createJob(this.profileForm.get('job').value).pipe(
        map((res) => res),
        catchError((_e) => of(this.profileForm.get('job').value))
        catchError(() => of(this.profileForm.get('job').value))
      ),
      profile: this.profileService
        .updateProfile(this.profileForm.get('employer').value.name, this.profileForm.get('job').value.name)
        .pipe(
          map((res) => (this.profile = res)),
          catchError((_e) => of())
          catchError(() => of())
        ),
    }).subscribe(async () => {
      // if register a new user as a new member structure, no structure to choose
@@ -526,7 +521,6 @@ export class FormViewComponent implements OnInit, AfterViewInit {
          structureFormStep.noStructure,
          structureFormStep.structureCreationFinishedInfo,
          structureFormStep.mailSentInfo,
          structureFormStep.StructureInfoUnknown,
        ];
      case formType.profile:
        return [profileFormStep.profileJobSelection];
@@ -538,7 +532,7 @@ export class FormViewComponent implements OnInit, AfterViewInit {
  }

  public canExit(): Promise<boolean> {
    // List all exit pages in order to authorise exit
    // List all exit pages in order to authorize exit
    const exitPages: stepType[] = this.setExitPages();
    // Avoid confirmation when user submit form and leave.
    if (
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@ import { ProfileJobSelectionComponent } from './profile-form/profile-job-selecti
import { ProfileStructureChoiceComponent } from './profile-form/profile-structure-choice/profile-structure-choice.component';
import { StructureAccessModalityComponent } from './structure-form/structure-access-modality/structure-access-modality.component';
import { StructureAccompanimentChoiceComponent } from './structure-form/structure-accompaniment-choice/structure-accompaniment-choice.component';
import { StructureChoiceCompletionComponent } from './structure-form/structure-choice-completion/structure-choice-completion.component';
import { StructureConsentComponent } from './structure-form/structure-consent/structure-consent.component';
import { StructureContactCompletionComponent } from './structure-form/structure-contact-completion/structure-contact-completion.component';
import { StructureContactComponent } from './structure-form/structure-contact/structure-contact.component';
@@ -32,12 +31,12 @@ import { StructureHoursComponent } from './structure-form/structure-hours/struct
import { StructureLabelsComponent } from './structure-form/structure-labels/structure-labels.component';
import { StructureNameAndAddressComponent } from './structure-form/structure-name-and-address/structure-name-and-address.component';
import { structureDigitalHelpingAccompanimentOtherComponent } from './structure-form/structure-public-target-other/structure-public-target-other.component';
import { StructureSolidarityMaterialComponent } from './structure-form/structure-solidarity-material/structure-solidarity-material.component';
import { StructureTrainingPriceComponent } from './structure-form/structure-training-price/structure-training-price.component';
import { StructureTrainingTypeComponent } from './structure-form/structure-training-type/structure-training-type.component';
import { StructureTypeComponent } from './structure-form/structure-type/structure-type.component';
import { StructureWebAndSocialNetworkComponent } from './structure-form/structure-web-and-social-network/structure-web-and-social-network.component';
import { StructureWifiComponent } from './structure-form/structure-wifi/structure-wifi.component';
import { StructureSolidarityMaterialComponent } from './structure-form/structure-solidarity-material/structure-solidarity-material.component';

@NgModule({
  declarations: [
@@ -55,7 +54,6 @@ import { StructureSolidarityMaterialComponent } from './structure-form/structure
    StructureNameAndAddressComponent,
    StructureContactComponent,
    StructureAccompanimentChoiceComponent,
    StructureChoiceCompletionComponent,
    StructureContactCompletionComponent,
    StructureAccessModalityComponent,
    StructureHoursComponent,
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@
    <img src="../../assets/form/profileSkip.svg" alt="Image profil" />
    <div class="footerForm" fxLayout="row" fxLayoutGap="10px" fxLayoutAlign="center center">
      <app-button (action)="goToHome()" [text]="'Plus tard'"></app-button>
      <app-button (action)="goToNextPage()" [text]="'C`est parti !'" [style]="buttonTypeEnum.Primary"></app-button>
      <app-button (action)="goToNextPage()" [text]="'C\'est parti !'" [style]="buttonTypeEnum.Primary"></app-button>
    </div>
  </div>
</ng-container>
@@ -25,7 +25,7 @@
    <img src="../../assets/form/emailVerification.svg" alt="Image message envoyé" />
    <p *ngIf="isClaimed">Un message a été envoyé aux membres de la structure :</p>
    <p *ngIf="!isClaimed">
      Un message a été envoyé aux administrateurs Rés'IN pour valider l'affectation de votre compte à la structure :
      Un message a été envoyé aux administrateurs Rés'in pour valider l'affectation de votre compte à la structure :
    </p>
    <span>{{ structureName }}</span>
  </div>
@@ -34,7 +34,7 @@
  <div class="information-step-container structure-time no-max-width">
    <h3>
      Nous vous proposons de prendre 10 minutes afin de renseigner les informations de la structure et la créer sur
      Résin.
      Rés'in.
    </h3>
    <img src="../../assets/form/formTime.svg" alt="image renseignement des informations" />
    <p>Informations dont il faut vous munir :</p>
@@ -51,7 +51,7 @@
  *ngIf="formType === formTypeEnum.structure && step === structureFormStepEnum.structureCreationFinishedInfo"
>
  <div class="structureCreated no-max-width">
    <h3>La structure est désormais référencée sur Résin.</h3>
    <h3>La structure est désormais référencée sur Rés'in.</h3>
    <img src="../../assets/form/structureCreated.svg" alt="image structure référencée" />
    <p *ngIf="hasPersonalOffer">
      Les prochaines questions concernent les services que vous dispensez en tant qu’intervenant dans cette structure.
@@ -60,8 +60,12 @@
</ng-container>
<ng-container *ngIf="formType === formTypeEnum.structure && step === structureFormStepEnum.noStructure">
  <div class="information-step-container profile-updated no-max-width">
    <img src="../../assets/form/profileUpdated.svg" alt="image profil" />
    <p class="no-margin-top">Votre profil a bien été mis à jour.</p>
    <img src="../../assets/form/profileSkip.svg" alt="image profil" />
    <h3 class="no-margin-top">La structure n'a pas vocation à être créée dans Rés'in.</h3>
    <p class="no-margin-top">
      Rés'in ne référence que les structures qui disposent d'un lieu d'accueil pour faire de l'accompagnement ou de la
      formation.
    </p>
    <div class="btn">
      <app-button
        [style]="buttonTypeEnum.Primary"
@@ -74,10 +78,7 @@
  </div>
</ng-container>
<ng-container
  *ngIf="
    (formType === formTypeEnum.personaloffer && step === personalOfferFormStep.personalOfferFinishedInfo) ||
    (formType === formTypeEnum.structure && step === structureFormStepEnum.StructureInfoUnknown)
  "
  *ngIf="formType === formTypeEnum.personaloffer && step === personalOfferFormStep.personalOfferFinishedInfo"
>
  <div class="information-step-container profile-updated no-max-width">
    <img src="../../assets/form/profileUpdated.svg" alt="image profil" />
Original line number Diff line number Diff line
<form [formGroup]="structureForm" *ngIf="structureForm" (keyup.enter)="isPageValid && !isEditMode ? nextPage() : null">
  <div class="title">
    <h3>Souhaitez-vous renseigner les informations de la structure&nbsp;?</h3>
    <p>Exemple : type d'établissement, accessibilité PMR, type de public&nbsp;?</p>
  </div>
  <app-radio-form
    [selectedOption]="structureForm.get('choiceCompletion').value"
    (selectedEvent)="onRadioChange('choiceCompletion', $event)"
  >
  </app-radio-form>
</form>
Original line number Diff line number Diff line
import { ComponentFixture, TestBed } from '@angular/core/testing';

import { StructureChoiceCompletionComponent } from './structure-choice-completion.component';

describe('StructureChoiceCompletionComponent', () => {
  let component: StructureChoiceCompletionComponent;
  let fixture: ComponentFixture<StructureChoiceCompletionComponent>;

  beforeEach(async () => {
    await TestBed.configureTestingModule({
      declarations: [ StructureChoiceCompletionComponent ]
    })
    .compileComponents();
  });

  beforeEach(() => {
    fixture = TestBed.createComponent(StructureChoiceCompletionComponent);
    component = fixture.componentInstance;
    fixture.detectChanges();
  });

  it('should create', () => {
    expect(component).toBeTruthy();
  });
});
Original line number Diff line number Diff line
import { Component, EventEmitter, Input, Output } from '@angular/core';
import { UntypedFormGroup } from '@angular/forms';

@Component({
  selector: 'app-structure-choice-completion',
  templateUrl: './structure-choice-completion.component.html',
})
export class StructureChoiceCompletionComponent {
  @Input() structureForm: UntypedFormGroup;
  @Input() isEditMode: boolean;
  @Output() radioChange = new EventEmitter<any>();
  @Output() validateForm = new EventEmitter<any>();

  ngOnInit(): void {
    this.validateForm.emit();
  }

  public onRadioChange(name: string, value: boolean): void {
    this.radioChange.emit({ name, value });
  }
  public goBack(): void {
    history.back();
  }
}
Original line number Diff line number Diff line
@@ -9,15 +9,9 @@
    ></app-svg-icon>
    <div class="titleContent">
      <h3>Comment joindre votre structure&nbsp;?</h3>
      <label class="label-optional">Veuillez renseigner au moins un des 2 champs</label>
    </div>
  </div>
  <p
    class="missing-information"
    *ngIf="isEditMode && (!structureForm.get('contactPhone').valid || !structureForm.get('contactMail').valid)"
  >
    <app-svg-icon [iconClass]="'icon-26'" [type]="'form'" [icon]="'notValidate'" class="validationIcon"></app-svg-icon>
    <span>Il faut renseigner tous les champs</span>
  </p>
  <div class="form-group" fxLayout="column">
    <label for="structureName">Email de la structure</label>
    <div fxLayout="row" fxLayoutGap="13px">
@@ -39,7 +33,6 @@
  <div class="form-group" fxLayout="column">
    <div fxLayout="row" fxLayoutGap="8px">
      <label for="contactPhone">Téléphone de la structure</label>
      <label class="label-optional">(Facultatif)</label>
    </div>
    <div fxLayout="row" fxLayoutGap="13px">
      <input
Original line number Diff line number Diff line
@@ -42,12 +42,15 @@ export class StructureEquipmentsComponent implements OnInit {
  /**
   * Check if first letter is a vowel and returns text with correct preposition
   * @param equipment Equipment
   * @returns "de tablalettres" | "d'imprimantes"
   * @returns "de tablette(s)" | "d'imprimante(s)"
   */
  public formatEquipment(equipment: string): string {
    if (this.vowels.includes(equipment.toLocaleLowerCase()[0])) return `d'${equipment.toLocaleLowerCase()}`;
    if (this.vowels.includes(equipment.toLocaleLowerCase()[0])) {
      return `d'${equipment.toLocaleLowerCase()}(s)`;
    } else {
      return `de ${equipment.toLocaleLowerCase()}(s)`;
    }
  }
  public goBack(): void {
    history.back();
  }
Original line number Diff line number Diff line
@@ -11,8 +11,7 @@
    *ngIf="
      currentStep === structureFormStep.structureFormTime ||
      currentStep === structureFormStep.mailSentInfo ||
      currentStep === structureFormStep.noStructure ||
      currentStep === structureFormStep.StructureInfoUnknown
      currentStep === structureFormStep.noStructure
    "
    class="no-max-width"
  >
@@ -47,14 +46,6 @@
      (radioChange)="onRadioChange($event)"
    ></app-structure-accompaniment-choice>
  </div>
  <div *ngIf="currentStep == structureFormStep.structureChoiceCompletion">
    <app-structure-choice-completion
      [isEditMode]="isEditMode"
      [structureForm]="structureForm"
      (validateForm)="setValidationsForm()"
      (radioChange)="onRadioChange($event)"
    ></app-structure-choice-completion>
  </div>
  <div *ngIf="currentStep == structureFormStep.structureContactCompletion">
    <app-structure-contact-completion
      [isEditMode]="isEditMode"