Skip to content

[Task] | Implementacja Globalnego Stanu Drabinki (State Management) #36

Description

@PEXEL2002

Opis zadania i szczegółowe wymagania

Należy zaprojektować i wdrożyć system zarządzania stanem (np. przy użyciu React Context lub biblioteki Zustand), który będzie bezpiecznie przechowywał strukturę całego zbudowanego diagramu drabinkowego. W tym zadaniu musi zawierać się:

  • Zdefiniowanie interfejsów TypeScript dla elementów, m.in.: IRung, IElement (zawierających pola: id, type, address, value).
  • Implementacja logiki dodawania oraz usuwania szczebli (rungs).
  • Implementacja logiki wstawiania, przesuwania i usuwania elementów w konkretnych miejscach wewnątrz szczebla.
  • Zapewnienie spójności danych w store podczas modyfikacji parametrów i zmiany adresów zmiennych przez użytkownika (np. zmiana z "I0.0" na "Q0.1").

Dodatkowy kontekst i źrodła pomocnicze

Globalny stan aplikacji służy jako jedyne źródło prawdy (Single Source of Truth) dla interfejsu React. To właśnie ten stan na koniec pracy zostanie zserializowany do formatu JSON i wysłany do zbudowanego wcześniej w C++ Parsena. Wykorzystanie biblioteki Zustand jest wysoce zalecane ze względu na minimalny boilerplate oraz łatwą integrację z TypeScriptem w porównaniu do standardowego React Context API. Struktura danych musi być przemyślana tak, aby w przyszłości łatwo wspierała zagnieżdżanie gałęzi równoległych.

Definicja wykonania zadania

  • Stworzono stabilny store zarządzający tablicą szczebli.
  • Zdefiniowano wymagane interfejsy TypeScript (IRung, IElement).
  • Funkcje modyfikujące stan (dodawanie/usuwanie) działają bez błędów i w pełni poprawnie aktualizują UI.
  • Wszystkie elementy globalnego stanu i akcje są rygorystycznie otypowane w języku TypeScript.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Fields

    No fields configured for Task.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions