Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Tableau de bord] Ajout du formulaire de dessin de la zone et de la récupération des informations issue de la geometrie du dessin #1703

Merged
merged 9 commits into from
Sep 24, 2024

Conversation

maximeperraultdev
Copy link
Collaborator

@maximeperraultdev maximeperraultdev commented Sep 17, 2024

Related Pull Requests & Issues


  • Tests E2E (Cypress)

@maximeperraultdev maximeperraultdev marked this pull request as ready for review September 23, 2024 15:31
@maximeperraultdev maximeperraultdev changed the title Maxime/feat/1702/draw form [Tableau de bord] Ajout du formulaire de dessin de la zone et de la récupération des informations intersectionnées Sep 23, 2024
@maximeperraultdev maximeperraultdev changed the title [Tableau de bord] Ajout du formulaire de dessin de la zone et de la récupération des informations intersectionnées [Tableau de bord] Ajout du formulaire de dessin de la zone et de la récupération des informations issue de la geometrie du dessin Sep 23, 2024

describe('dashboard', () => {
it('should extract insee code, amps, regulatory and vigilance areas from the given geometry', () => {
Cypress.env('CYPRESS_FRONTEND_DASHBOARD_ENABLED', 'true')
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

je pense que ça fait doublon avec le beforeEach

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ça marche pas en plus ^^. c'est un reliquat, j'ai séparé en deux classes de test pour pas nous embêter à trier quand on enlevera le feature flag

import type { Reporting } from './reporting'
import type { VigilanceArea } from '@features/VigilanceArea/types'

export namespace Dashboard {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

l'archi front décidée est de créer un ficher types.ts à la racine de la feature

return (
<div className={className}>
<Header>
<Title as="h3">Définition d&apos;une zone</Title>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pourquoi mettre as=h3 alors qu'il est défini comme un h2?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

je pensais que le style était différent mais j'ai du rêver.

</Controls>

<div>
<CreateDashboardButton disabled={!isGeometryValid} onClick={handleValidate}>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

le bouton doit être vert comme sur la maquette, et comme sur les autres modals de dessin de zone

onClick={handleSelectInteraction(InteractionType.CIRCLE)}
/>
</li>
<ResetButton accent={Accent.SECONDARY} onClick={reinitialize}>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

le bouton est pas aligné à droite :
Capture d’écran 2024-09-24 à 09 18 08

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Si la maquette est pas à jour. C'est ma libre interpretation et je te previens, je suis pas un artiste 🗡️

return null
}

function getOLTypeAndGeometryFunctionFromInteractionType(interactionType: InteractionType | null): {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

peut-être pas à faire dans cette pr mais en fait on a trois fois la même fonction. Ca vaudrait le coup de la déplacer dans le dossier utils je pense

@@ -0,0 +1,48 @@
import { createSlice, type PayloadAction } from '@reduxjs/toolkit'
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

possible de déplacer le fichier à la racine de la feature pour être iso avec les autres features?

dispatch(
addMainWindowBanner({
children: `Une erreur est survenue lors de la génération du tableau de bord.`,
closingDelay: 10000,
Copy link
Collaborator

@claire2212 claire2212 Sep 24, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

je pense que tu peux enlever ce delay, 10 secondes ça ma paraît long. Par défaut c'est 3 secondes, je pense que ça suffit.

Et malgré une requête qui tombe en erreur je ne vois pas la bannière s'afficher quand je teste.
Pour résoudre le souci de la bannière qui n'appairait pas :

try {
      const { data } = await dispatch(dashboardsAPI.endpoints.getExtratedArea.initiate(geometry))

      if (!data) {
        throw new Error()
      }

      dispatch(dashboardActions.setExtractedArea(data))
    } catch (error) {
      dispatch(
        addMainWindowBanner({
          children: `Une erreur est survenue lors de la génération du tableau de bord.`,
          isClosable: true,
          isFixed: true,
          level: Level.ERROR,
          withAutomaticClosing: true
        })
      )
    }

case 'MultiPoint':
return `MULTIPOINT (${geoJson.coordinates.map(coord => coord.join(' ')).join(', ')})`

case 'MultiLineString':
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

je suis pas sûre qu'on est ce type de géometrie de MonitorEnv, ni de LineString (enfin si pour les pointillés liés aux pop-up mais aucun besoin de les convertir en WTK)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mmmmh, je pense que c'est les géométries quand tu ajoutes plusieurs figures. Je peux vérifier ce qu'on envoie.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bon c'est tjs des mutlipolygones. Mais apres j'ai fait en sorte de respecter la spec geojson https://datatracker.ietf.org/doc/html/rfc7946

.map(polygon => `((${polygon[0] && polygon[0].map(coord => coord.join(' ')).join(', ')}))`)
.join(', ')})`

case 'GeometryCollection':
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

idem on a ça comme Géometrie dans Env ?

@claire2212
Copy link
Collaborator

claire2212 commented Sep 24, 2024

@maximeperrault si je saisi une géometrie, le bouton "Créer le tableau" n'est plus disabled. Jusque là ok, mais si je clique sur "réinitialiser", le bouton est toujours actif et je peux cliquer dessus. La requête tombe en erreur et je ne vois pas de bannière.

  • Il faudrait remettre en disabled le bouton si le tableau de coordonnées est vide.
  • Il faudrait voir pourquoi la bannière d'erreur ne s'affiche pas

@maximeperraultdev maximeperraultdev merged commit 16b021e into main Sep 24, 2024
21 checks passed
@maximeperraultdev maximeperraultdev deleted the maxime/feat/1702/draw_form branch September 24, 2024 14:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Formulaire (1) avec les différents types de zones à dessiner. ⏳: 2
3 participants