Rozwijanie działu IT

2

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 :)

rozwijanie działu IT.gif

0

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()
0

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.

0

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.

0

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ć.

0
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ć.

  1. Odpal konsolę, i w konsoli uruchom window["collapse"] i pokaż co widzisz. Ja widzę coś takiego: screenshot-20231117140501.png.
    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.
    screenshot-20231117140946.png

  2. Otwórz inspektor sieci. Otwieranie i zwijanie kategorii strzela pod https://4programmers.net/Forum/:category/Collapse. Zobacz czy nie ma errorów.

0
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.

0
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.

0

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
0
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.

0

{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.

0
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).

screenshot-20231117154741.png

Daj znać czy się poprawiło.

0

Bez zmian.

0

Można gdzieś odczytać, jakie kategorie odpowiadają za ID 27 oraz 54?

0
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".

0

Hm, ok, to jaki ID ma główny dział IT? Zakładam, że tylko dla niego ta flaga collapsed powinna się zmieniać?

0
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ć :/

0

No nic. Do archiwum X i zamykamy ;-)

0
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.

0

Na Edge ten problem nie występuje. Co więcej, na Firefoksie na innym kompie również nie. A to ciekawe.

0
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?

0

Nie będę instalował Chrome tylko po to, by sprawdzić taki drobiazg. Można olać, snu mi to z powiek nie spędza :)

1

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
0

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,

1 użytkowników online, w tym zalogowanych: 0, gości: 1