popcodeorg / popcodeorg/popcode

Console open state should be preserved when project persisted

Aperta
#1,328 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

bug code quality
Lingua principale
JavaScript
Stelle
191
Fork
143
Merge medio
4g 11h
PR unite (30g)
5

Descrizione

Right now, the console is always closed when a project is loaded, even if it was open last time that project was modified. This is different from other UI components, whose minimization state is retained when a project is persisted and then loaded.

This is because the collection of minimized components is represented as a set of component names. This is fine as far as it goes, but it precludes adding new minimized components that are minimized by default (e.g. the console), because the absence of the console from the array in a saved project might mean either:

  1. The console is not minimized in this project, or
  2. The project was last saved before the console feature was introduced

To work around this, when loading a project from storage, we assume the second case and always add the console to the list of minimized components.

Instead, we should store the collection of minimized components as a Map whose keys are component names, and values are either true or false. Entries should only be present in the map if the user has explicitly hidden or shown a component; if an entry is not present, the appropriate default for the editor in question can be used (this logic should probably live in the React component layer).

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia tracciando la persistenza e il caricamento del progetto, quindi esamina il livello dei componenti React in cui vengono applicati i valori predefiniti dei componenti minimizzati. Verifica come la raccolta salvata dei componenti minimizzati viene serializzata e ripristinata. Il lavoro è completato quando gli stati espliciti di nascosto o mostrato persistono, mentre le voci assenti usano il valore predefinito di ciascun editor, inclusa la console.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
javascript, react
Ambito
frontend
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.