Open crnkjck opened 4 years ago
Vŕtal som sa trocha v kóde a zistil som, že import, ktorý poskytujete embedujúcej aplikácii nie je ekvivalentný s importom zo súboru. Import zo súboru okrem iného volá steps reducer, ktorý zrejme zvaliduje všetky kroky a okrem iného doplní objektové reprezentácie sparsovaných klauzúl. Toto sa pri embedovanom importe nestane, takže editor následne hádže výnimky.
Bolo by najlepšie, keby sa čo najväčšia časť importovacieho kódu zdieľala, aby bolo zaručené, že rekonštrukcia všetkých častí stavu a úvodná validácia prebehnú rovnako a dajú sa testovať aj v samostatnom editore.
Ešte som si všimol jeden problém s prácou s id
v stave. Pri pridaní kroku (a možno aj inokedy) sa inkrementuje namieste pomocou id++
. To nie bezpečné. Používajte id+1
a {..., id: id+1, ...}
.
Pre embedovanie je ešte potrebné zabezpečiť unikátnosť atribútov id
inputov vo formulároch (to samozrejme nesúvisí s internými id-čkami krokov). Každopádne aplikácia by mala mať prop idPrefix
alebo idSuffix
, ktorý sa bude priliepať k id
input
ov a atribútov for
v label
och, aby boli unikátne v rámci celého hárku.
Dohodnúť a implementovať interface na vkladanie editora do pracovného hárku s Nikolajom Knihom.