Wieki temu gdzieś o tym wspominałem, ale uznałem, że tym razem wrzucę to jako osobne zgłoszenie.
Dział IT od lat(?) ma u mnie 4 stany podczas rozwijania. Pozostałe kategorie mają normalnie 2 stany (zwinięty, rozwinięty). IT jest unikalny, ma dwa stany zwinięte i dwa rozwinięte, ale z inną kolejnością kategorii. Po każdym kliku dodałem efekt kółka by pokazać, kiedy klikam. Tak to wygląda:
Tylko ja tak mam? Da się to naprawić? Nie jest to jakoś super ważne, przez lata się przyzwyczaiłem, ale nadal ciekawi mnie powód :)
Za mało informacji żeby zreprodukować problem.
A jak spróbujesz z konsoli otworzyć zamknąć to też taki błąd występuje.
I czy próbowałeś skorzystać z innych przeglądarek, albo samemu przeanalizować problem?
Tutaj podaje skrypt, który zwinie i rozwinie element forum, możesz to uruchomić z dev tools konsoli developerskiej.
const el = document.querySelectorAll(".card-section")[1].__vue__
el.$emit("collapse", el.categories[0].id)
// lub click event
document.querySelectorAll(".card-section")[1].querySelector("i").click()
Nie znam vue i nie badałem problemu samemu.
Odpalanie document.querySelectorAll(".card-section")[1].querySelector("i").click()
działa tak samo jak na załączonej animacji, 4 stany.
Nie mogę zreprodukować. Na Chrome, dział IT się niczym nie wyróżnia. Sprawiłem na Firefoxie, też.
Martwi mnie trochę to że na filmiku Dev/ops
i Bazy danych
się zamieniły miejscami.
Wiem, że nie możesz, bo wieki temu @Adam Boduch też u siebie sprawdzał. Na drugim koncie testowym mam ok. To jest specyficzna rzecz dla mojego konta, ALE jednak jakiś kod za to musi odpowiadać.
Marooned napisał(a):
Wiem, że nie możesz, bo wieki temu @Adam Boduch też u siebie sprawdzał. Na drugim koncie testowym mam ok. To jest specyficzna rzecz dla mojego konta, ALE jednak jakiś kod za to musi odpowiadać.
-
Odpal konsolę, i w konsoli uruchom
window["collapse"]
i pokaż co widzisz. Ja widzę coś takiego: .
Jeśli masz coś innego, to wyczyść cache i localStorage, i spróbuj ponownie. Z otwartym inspektorem, kliknij prawym klawiszem na ikonę przeładowania, zobaczysz różne tryby usuwania cache. Wybierz ten ostatni.
-
Otwórz inspektor sieci. Otwieranie i zwijanie kategorii strzela pod
https://4programmers.net/Forum/:category/Collapse
. Zobacz czy nie ma errorów.
5: 1
7: false
27: true
40: 1
54: true
56: 1
Błędów nie ma, ale te żądania lecą puste, po co one są? Nie ma tam żadnych danych.
Marooned napisał(a):
5: 1 7: false 27: true 40: 1 54: true 56: 1
Okej, czyli chyba to samo co u mnie.
Pozostaje mi tylko spytać - jak się przeklikowujesz przez te 4 stany w przełączniku, to jak wygląda windows['collapse']
? Jest 2x true
i 2x false
? Czy są jakieś pośrednie stany tam?
Jakieś błędy w konsoli JS?
Marooned napisał(a):
Błędów nie ma, ale te żądania lecą puste, po co one są? Nie ma tam żadnych danych.
To jest toggle, w URI jest nazwa kategorii która się togluje.
Co oznacza ten obiekt w ogóle? Dlaczego jest tam mix liczb [0,1] i boolean? To nie powinna być jakaś mapa typu CatId: collapsed
?
Wypisałem w konsoli, nacisnąłem [+] IT
i tak kilka razy:
5: 1
7: 0
27: 1
40: 1
54: false
56: 1
5: 1
7: 0
27: false
40: 1
54: false
56: 1
5: 1
7: 0
27: false
40: 1
54: true
56: 1
5: 1
7: 0
27: true
40: 1
54: true
56: 1
5: 1
7: 0
27: true
40: 1
54: false
56: 1
Marooned napisał(a):
Co oznacza ten obiekt w ogóle? Dlaczego jest tam mix liczb [0,1] i boolean? To nie powinna być jakaś mapa typu
CatId: collapsed
?
To jest wzięte bezpośrednio z backendu z mapą {id_kategori: collapsed ? 0 : 1}
. Tylko że backend zwraca 1
/0
, a front sobie to castuje na bool'a. Dziwne, wiem ale tak jest zrobione.
Marooned napisał(a):
Wypisałem w konsoli, nacisnąłem
[+] IT
i tak kilka razy:
5: 1 7: 0 27: 1 40: 1 54: false 56: 1
5: 1 7: 0 27: false 40: 1 54: false 56: 1
5: 1 7: 0 27: false 40: 1 54: true 56: 1
5: 1 7: 0 27: true 40: 1 54: true 56: 1
5: 1 7: 0 27: true 40: 1 54: false 56: 1
Okej, przy pierwszym kliku zamieniło 1
na false
, to dobrze. Potem zostawiło false
na false
:| Potem zmieniło false
na true
, to też dobrze, ale potem zmieniło znowu true
na true
. Tak jakby co drugi klik był olewany.
Bardzo dziwne.
Jedyny pomysł jaki mam to wdrożyć commit który robi console.log()
ze stanem żeby podglądnąć co się dzieje u Ciebie.
{id_kategori: collapsed ? 0 : 1}
- lol, no grubo ktoś przypalił towar ;-)
hint, można dać !collapsed
Zauważ, że raz zmienia się ID 27, a raz 54.
Także co click coś się dzieje, ale na przemian.
Marooned napisał(a):
Zauważ, że raz zmienia się ID 27, a raz 54.
Także co click coś się dzieje, ale na przemian.
O racja. No to to już ma więcej sensu.
Spróbuj wybrać koło zębate obok IT
, i najpierw odznacz wszystkie elementy, a potem zaznacz wszystkie elementy (czy ile tam chcesz).
Daj znać czy się poprawiło.
Bez zmian.
Można gdzieś odczytać, jakie kategorie odpowiadają za ID 27 oraz 54?
Marooned napisał(a):
Można gdzieś odczytać, jakie kategorie odpowiadają za ID 27 oraz 54?
Na produkcji: 27 to "Bazy danych", 54 to "Dev/ops".
Hm, ok, to jaki ID ma główny dział IT? Zakładam, że tylko dla niego ta flaga collapsed powinna się zmieniać?
Marooned napisał(a):
Hm, ok, to jaki ID ma główny dział IT?
Działy nie istnieją w bazie danych i nie mają ID.
Kategorie mają pole o nazwie "Nazwa sekcji" (Dev/Ops ma nazwę sekcji "IT"
, C++ ma nazwę sekcji "Programowanie"
). Na tym się robi GROUP BY section
, i to jest to co widzisz w menu. Więc "IT" nia ma id.
Marooned napisał(a):
Zakładam, że tylko dla niego ta flaga collapsed powinna się zmieniać?
Szczerze mówiąc to nie wiem jak to powinno działać :/
No nic. Do archiwum X i zamykamy ;-)
Marooned napisał(a):
No nic. Do archiwum X i zamykamy ;-)
Chwila, a na wszystkich przeglądarkach tak ci występuje?
I z jakiej przeglądarki korzystasz i systemu? To chyba ważne pytanie.
Jak bez problemu możesz naprawić problem jeśli skorzystasz z innej lub na tymczasowym systemie zainstalowanym gdzieś obok na dysku/pendrive i wszystko działa, to może w systemie problem.
Wtedy to trochę zawężasz problem, no i różni agenci przeglądarek, czasem wpływają na opcje frameworka decyzje czy samej przeglądarki i może coś nie działać prawidłowo lub nawet jakiś wirus plugin :D
Stare systemy długo wspierane czasem blokują aktualizację bibliotek do najnowszych wersji przez różne problemy kompatybilniościowe i package menadżery po prostu uniemożliwiają podbicie wersji.
Na Edge ten problem nie występuje. Co więcej, na Firefoksie na innym kompie również nie. A to ciekawe.
Marooned napisał(a):
Na Edge ten problem nie występuje. Co więcej, na Firefoksie na innym kompie również nie. A to ciekawe.
A na Chrome na innym kompie?
Nie będę instalował Chrome tylko po to, by sprawdzić taki drobiazg. Można olać, snu mi to z powiek nie spędza :)
Jeżeli nie występuje na FF na innym kompie to
- porownać wersje FF
- wyczyścić dane przeglądania dla domeny 4programmers net
- albo przynajmniej sprawdzić czy na twoim FF w trybie prywatnym działa tak samo źle
Po prostu zawęź grono poszukiwania, a najprościej po prostu patrząc gdzie coś innego działa, a tylko dana przeglądarka nie obsługuje,