Closed FatemeHosseini closed 3 years ago
Jag hittade en annan intressant nu när jag testar. Se bilderna nedan, Mätpunkter och Lagergrupp nivå1 ligger i samma nivå. Om jag tänder Mätpunkter blir Kartlager grå men om jag tänder Lagergrupp nivå1 händer det inte något.
Har testat här och tyvärr kvarstår issuen @sbk-linus @FatemeHosseini:
Konfigurerat i admin enligt följande (med "vanliga, hajk2-grupper"):
Lyckligtvis påverkas bara Hajk2-grupper.
De nya Hajk3-grupperna hänger med vid toggling av huvudgrupp. Däremot så är det olika indrag på de olika grupptyperna, @sbk-linus. I nedanstående bild är de båda Hajk-grupperna samt Undergrupp på samma nivå, direkt under Kök. Men man får intrycket att Undergrupp ligger som Kök->Hajk-grupp->Undergrupp, vilket det alltså inte gör. Kan du fixa till stylingen?
@sbk-linus Din senaste commit verkar inte ge några resultat här, se hur "Undergrupp" stylas.
Bortsett från stylingen har vi även problemet med togglingen. Är det nåt du tittar på också?
Konfigurerade lagren på samma sätt som i exemplet, men det såg inte likadant ut. Har du någon config du skulle kunna dela?
Givetvis, men utan tillhörande layers.json
kommer du förvisso se lagren men inte kunna ladda dem. Jag är osäker på om Hajk kommer "veta" att några av lagren är av typen hajk3-lagergrupp, så det är osäkert hur dessa kommer stylas hos dig. Men här är det relevanta avsnittet (ersätt det du har i tools[type="layerswitcher"].options.groups
med följande):
{"groups":[{"id":"59b47b05-53ed-58ab-86e2-de5b13863384","parent":"-1","name":"Kök","toggled":true,"expanded":true,"layers":[{"id":"187","visibleAtStart":false,"drawOrder":1000,"visibleForGroups":null,"infobox":null},{"id":"186","visibleAtStart":false,"drawOrder":1000,"visibleForGroups":null,"infobox":null},{"id":"406","visibleAtStart":false,"drawOrder":1000,"visibleForGroups":null,"infobox":null},{"id":"647","visibleAtStart":false,"drawOrder":1000,"visibleForGroups":null,"infobox":null},{"id":"646","visibleAtStart":false,"drawOrder":1000,"visibleForGroups":null,"infobox":null}],"groups":[{"id":"222e8cae-2137-034f-e609-288a594fe19f","parent":"59b47b05-53ed-58ab-86e2-de5b13863384","name":"Undergrupp","toggled":true,"expanded":true,"layers":[{"id":"100","visibleAtStart":false,"drawOrder":1000,"visibleForGroups":null,"infobox":null},{"id":"380","visibleAtStart":false,"drawOrder":1000,"visibleForGroups":null,"infobox":null}],"groups":[]}]},{"id":"11f7c430-ec36-0526-aed9-422f67a745ee","parent":"-1","name":"En grupp","toggled":true,"expanded":true,"layers":[{"id":"648","visibleAtStart":false,"drawOrder":1000,"visibleForGroups":null,"infobox":null},{"id":"641","visibleAtStart":false,"drawOrder":1000,"visibleForGroups":null,"infobox":null}],"groups":[]}]}
I admin är det som sagt så här: Undergrupp
är på samma nivå som de två Hajk-grupperna
, båda har alltså Kök
som förälder.
Kan inte återskapa buggen i min utvecklingsmiljö. Skulle du kunna kolla på detta istället, @jacobwod?
OK får kolla när jag är tillbaka mitten på nästa vecka.
"Tänd alla"-knappen fungerar inte när man har mera nivåer, se exemplet nedan.
Jag kan bara tända alla som hamnar på lagergruppen som heter Busstrafik.
Du menar att det händer ingenting när du kryssar i "TRANSPORTER OCH INFRASTRUKTUR" eller "Transporter"?
Japp!
Kollade på det och det ser inte bra ut. Toggle all verkar endast "ta" på det som finns definierat som lager i OpenLayers layers
array. "Våra" egna grupper som skapas i admin är ju inte det. Resultatet blir att de förbises av toggle:
Inställt såhär i admin:
Felet ligger i att vi loopar genom ett objekt som inte innehåller våra grupper. Det ser man tydligt här, allt som händer vidare i toggleLayers()
utgår från arrayen som fås tillbaka från OpenLayers:
https://github.com/hajkmap/Hajk/blob/master/new-client/src/plugins/layerswitcher/components/LayerGroup.js#L180
Jag kan tända alla lager som visas i bilden nedan men checkboxen blir inte ifylld.
Vet inte om den här buggen fortfarande är aktiv men jag har en PR på gång som löser "hajkgrupper" i "hajkgrupper" för lagerhanteraren.
Vet inte om den här buggen fortfarande är aktiv men jag har en PR på gång som löser "hajkgrupper" i "hajkgrupper" för lagerhanteraren.
Ja, fortfarande öppen så din PR är välkommen!
@jacobwod found another bug when having one layer and a group in a group and only checked they layer. Fixed by commit https://github.com/hajkmap/Hajk/commit/21e7545f52dc04b3627b6cf2fba376a848b43c85
Well done, merging in.
Ah it's already in master
, perfect. I can confirm that this seems to squash down the last edge case I could find.
Before:
After:
Closing. 👍
Lagergrupper med 'Toggla alla-knapp' som själv innehåller underlagergrupper, inte kan tända lager som ligger i underlagergrupper; oavsett om underlagergruppen har 'Toggla alla-knapp' aktiverad eller inte.