Skip to content

New Release v1.2.0 - #minor#406

Merged
pakb merged 67 commits intomasterfrom
develop
May 3, 2023
Merged

New Release v1.2.0 - #minor#406
pakb merged 67 commits intomasterfrom
develop

Conversation

@pakb
Copy link
Contributor

@pakb pakb commented May 3, 2023

Bugfixes

#383 BGDIINF_SB-2792 : fix layer ordering
#389 BGDIINF_SB-2743 : aggregate TippyJS usage for third party disclaimer
#392 BGDIINF_SB-2785 : Infobox does not hide menu anymore in phone mode
#395 BGDIINF_SB-2816 : drawing feature text boxes read only
#396 BGDIINF_SB-2829 : Text in tooltips is now selectable
#397 BGDIINF_SB-2748 : Add selection feedback in topics
#403 BGDIINF_SB-2859 : Removing legend button

Features/Tasks

#382 BGDIINF_SB-2789 : search results full width on phone
#388 BGDIINF_SB_2673 : show absence of data in the profile
#390 BGDIINF_SB-2754 : Expand searchbar on mobile when focused
#391 BGDIINF_SB-2820 : legacy parameters double encoded
#402 BGDIINF_SB-2866 : limit zoom value
#405 BGDIINF_SB-2609 : consistent rounding

Chores

#381 Updated CI build status badge
#385 Updating the translation JSON generation script
#386 Updated post MVP
#400 BGDIINF_SB-2849 : CMS post-migration chores
#404 Updating all libs

Test link

ltshb and others added 30 commits February 23, 2023 16:05
Updated CI build status badge
Issue : Updated translations could be tedious to review, as each
translation file was a minified one-liner JSON file.

Fix : The Script's output is now human readable. Also the script has
been run to change the translation files.

Still left to do : We need to minify the translation JSON
during the production build.
There was a discrepancy between mf-geoadmin3 layer ordering (in the menu and URL) and web-mapviewer way of handling them.
In the URL, layers should be ordered from bottom to top, and on the side menu from top to bottom (layer "on top" of the layer stack is the top layer).
Topics were an issue as they list their layers to activate in the opposite order (top -> bottom) so I've inverted those layer before importing them.
instead change the e2e test to reflect the change of logic in layer ordering
whenever the topic has its default background as pixelkarte-grau
…_layer

feat_BGDIINF_SB-2788: removing pixelkarte grau background layer
and replace all usage of this component with standard Bootstrap button.
Also simplifying PopoverButton component, so that the specialized version used by feature editing is stored there, and the simpler version is use as plain HTML/JS by the time selector.

Reworking the drawing toolbar so that it is more Bootrap based, and less custom CSS based.
Also replacing many instances of custom CSS code in component, that could be tackled by Bootstrap, with Bootstrap classes.
Center the "X" close button in its space
Only switch to phone layout on XS breakpoint (was switching on SM, and tablet layout was all messed up)
buttons were taking too much space with the display grid on desktop
I tried to make them as squared as possible on desktop with some padding and min-width
for drawing toolbox, as it was doing some weird breakpoint interpretation when holding the phone on landscape mode, switching to the desktop layout of the toolbox without completely doing so.

So I removed all the logic that was switching based on Bootstrap breakpoint and replaced it with v-if or v-class based approach based on the store values.
Adding small margin on the Y axis for the "Map saved..." text as it was a bit too close to buttons
Removing unnecessary code and destroying tippy instance before unmount
There was sometimes issue with TippyJS tooltip not showing up in the footer attributions. As it was kind of the same usage of TippyJS as the one found in the active layer menu, I aggregated the use into one single component, which encapsulate all the TippyJS logic.
This should fix the discrepancy between the two use cases.
…_tooltip_issues

BGDIINF_SB-2743 : aggregate TippyJS usage for third party disclaimer
- Like with the menu, the categories of the search results now also
  split evenly depending solely on the max height defined for the whole
  search results. Scroll bars for subcategories only appear if they are
  needed.
- Search results take normally 50% of the screen only, so that the user
  can preview the layers by hovering over them. However, if the screen
  is very small (like the landscape mode of phones), the search results take
  more than 50% (but max 100%) of the screen to still be usable.
When typing in the search, now the search results do not blink anymore.
Issue : Upon receiving legacy parameters, the application would encode
them on reception (which is an expected behavior), then create a new
query with those adapted parameters, which would encode them again (For example, a space would become `%20`, then `%2520`).

Fix : We decode the URI parameters before storing them in the new query
Parameters, ensuring they won't be encoded twice.
procrastinatio and others added 23 commits April 17, 2023 14:21
Will detect if line is overlapping LV95 bounds and split it into multiple chunks, so that we can request our backends only with segments that are within LV95 bounds

Using some lib that implements the Liang-Barsky algorithm to achieve this, see https://en.wikipedia.org/wiki/Liang%E2%80%93Barsky_algorithm
Add a new "no data" translation key
Adding one class per profile data structure.
Implementing a segmenting of the profile before sending backend request, so that we only request data for coordinates that are in LV95 bounds. All out of bound chunks are ignored and filled with a simple Pythagoras distance calculation.
D3 starts to be a bit outdated and hard to handle with the segmentation approach.
ChartJS offers a wide variety of customization through plugin, and less direct canvas manipulation (as it functions how we want it to out of the box).
Adding two custom ChartJS module to handle the empty/nodata segments of the profile, and one to show the user the data model being used.
Using a zoom plugin so that users can now zoom in the profile to better see some feature of it.
Rework of the styling of the profile done in the process of switching to ChartJS (e.g. points are now barely visible, but can help to read/understand where the data is)
Instead of re-requesting data from the backend, we can create the CSV data on the fly as we've got everything we need.
Removing now unused API function to request profile as a CSV, and fixing the E2E test covering this part of the app.
Also fixing the tooltip positioning when hovering the profile chart.
This should clarify why some calculation aren't available, and why part of the UI shouldn't be rendered. Should also behave better in case of malformed/invalid data.
after splitting hasData into two distinct boolean, the tooltip generation went through the refactoring unchanged, this is now fixed.
Manage profile tooltip position so that it doesn't go further than the graph
Rework of profile calculation so that each segment now does its own calculation, and the profile make a sum of all wanted values
…ow_absence_of_data

BGDIINF_SB_2673 show absence of data in the profile
…_min_zoom

feat_BGDIINF_SB-2866 limit zoom value
Update copyright label and URL after CMS migration. Some other links in the translations have also been updated
as there are some that have released security fixes
as some dependencies are not yet ready to be compile/transpiled with this newest version of the language.
Issue : Some layers have no legend, and upon clicking the legend button,
the legend popup shows up and looks like it's perpetually loading
content.

Fix : We added a `hasLegend` getter in the abstractLayer class, which is
then called to decide wheter we show the legend button or not.

Currently, we consider KML and external layers has having no legend. A
refinement might be needed further down in the line to ensure layers
with legends show the legend icon, but this is sufficient for now.

importing layertypes

remove logs
Issue : When displaying longitude and latitude, when the last figure of
a number was 0, we would display numbers with a different significant
number after the decimal.

Fix : We now use the "toFixed" native js function to have a fixed amount
of significant numbers after the decimal.

remove import that shouldn't be here

only calling the fixed numbers in the appropriate cases

adding rounding for all float coordinates

linting
@pakb pakb merged commit 15c450a into master May 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants