Skip to content

Blocking invalid self-intersecting shape/line #562

@alyblenkin

Description

@alyblenkin

Description

When a data collector is creating a shape that self-intersects, we want to display an error, so they can't submit an invalid polygon.

Initially we were thinking we would display the constraint message in the snackbar, like we are planning with Collect, but we are going to leverage the existing error handling as a starting point.

Spec doc for reference.


Checklist

  • Does it need UI/UX design?
    • Yes. Describe the UI/UX requirements or attach a Figma link in the "Design" section.
    • No
  • Does it need API design?
    • Yes. Specify the endpoints, methods, or data structures needed.
    • No
  • Does it need design around state flow?
    • Yes. Outline the state flow requirements.
    • No
  • Does it need a test plan?
    • Yes. Add the test plan as a comment in this task or attach the document.
    • No

User Stories

  • As a data collector capturing a shape
    I want to know when I've created a self-intersecting polygon
    so that so that I can fix it when it happens rather than after I'm finished when I may not have context

  • Given I have a form with a geotshape/trace question
    And it has the parameter incremental=true
    And it has a constraint
    When I navigate to the question
    And add points so that the constraint is violated
    Then the polygon changes colour to red

  • Given I have a form with a geotrace/shape question
    And it has the parameter incremental=true
    And it has a constraint
    When I navigate to the question
    And add points so that the constraint is violated
    And I remove the point that violated the constraint
    Then the polygon changes colour back to blue

  • Given I have a form with a geotrace/shape question
    And it has the parameter incremental=true
    And it has a constraint
    When I navigate to the question
    And add points so that the constraint is violated
    And I remove the point that violated the constraint
    Then the error constraint message goes away


Design


Additional Notes


Related Issues

Metadata

Metadata

Assignees

No one assigned

    Projects

    Status

    Next

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions