Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1586: Tylko wygodniejsze wybieranie #1763

Open
wants to merge 5 commits into
base: master-dev
Choose a base branch
from

Conversation

Acors24
Copy link
Collaborator

@Acors24 Acors24 commented Nov 6, 2024

Dotyczy #1586

Chcielibyśmy:

  1. <select> z parametrem multiple zastąpić przez komponent MultiSelectFilter (chyba z MultiselectFilter używający select z parametrem multiple #1325) w celu wygodniejszego wybierania studentów zamiast przewijać przez całą listę i dodatkowo trzymać klawisz Ctrl przy wyborze wielu studentów ✔️
  2. ładować tylko konkretnych studentów (poprzez wpisywanie części danych studenta) zamiast wszystkich w celu znaczącego skrócenia czasu ładowania widoku

Formularz tworzenia/edycji pracy dyplomowej jest obecnie tworzony w całości po stronie serwera, w tym jego układ i klasy CSS (dziwne, ale niech będzie).
Moim rozwiązaniem pierwszej kwestii jest dodanie diva, w miejscu którego pojawi się nowy komponent oraz przeniesienie go w odpowiednie miejsce w formularzu, oraz ukrycie zastępowanej djangowej kontrolki. Nowy komponent będzie jedynie służył jako interfejs dla starego selecta, z którym użytkownik nie powinien wcale wchodzić w interakcję. W odpowiednim momencie zawartość starego selecta zostaje skopiowana do nowegu filtru, do listy options.

Przy zmianie zaznaczenia w nowym filtrze emitowany jest event, co wpływa na aktualizację stanu selecta. Wybór studentów z użyciem nowego filtru poprawnie przypisuje ich do danej pracy dyplomowej, co można zauważyć np. na liście wszystkich prac.

W przypadku edycji, studenci zaznaczani są kodem przez dodanie odpowiednich opcji do tablicy selected nowego filtru według tych zaznaczonych w starym select, jeśli jacyś studenci są już przypisani do tej pracy. Przetestowane dla jednego studenta, bo przy większej ilości prace duplikują się (#1712).

Dla drugiej kwestii nie wiem czy mamy technologię. Dobrze byłoby wiedzieć czy to co jest na ten moment zrobione ma w ogóle prawo bytu.

Na to co zostało wcześniej zrobione przez inną osobę przypisaną do tego nie patrzyłem, bo mi strona nie działała po checkoucie, ale to pewnie po mojej stronie coś świrowało.

Dodano komponent StudentFilter (bazujący na MultiSelectFilter) w odpowiednim miejscu w formularzu dot. pracy dyplomowej
Powodem był sposób w jaki porównywane są obiekty w Array.prototype.includes
@Acors24 Acors24 marked this pull request as ready for review November 13, 2024 16:04
@Acors24 Acors24 changed the title 1586: wersja robocza 1586: Tylko wygodniejsze wybieranie Nov 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant