Zadanie #1785
Updated by Michał Komar over 7 years ago
Należy zmodyfikować moduł sekcji w ten sposób, aby dodawanie kolejnych sekcji wymagało modyfikacji jak najmniejszej ilości plików.
# w EditFormFieldDirective dodać @Output "onSectionCreated(Section)", "onEditFormFieldCreated", który byłby emitowany po createComponent, konfigurację mapowania typów na konretne komponenty przeniść do konfiguracji (patrz klasa Section) - dyrektywa budowałaby obiekt section na podstawie konfiguracji; trzeba też usunąć pole form, compoenent samo dodawałby się do głównego forma podczas operacji buildForm
# rozszerzyć interdejs "editFormField" o pola buildForm(FormGroup, YElement) buildForm(YElement) oraz updateElement(YElement)
#* buildForm - buduje formularz na podstawie yelementu
#* updateElement - mapuje formularz na element
#* multiple:boolean - czy ma być renderowany "+" na sekcji
# w EditDocumentComponent
#* zapiąć się na ww. evencie i budować listę komponentów
#* przy save przejść po liście i wykonać na nich updateElement
#* przy init wywołać buildForm na wszystkich elementach; można też na evencie to zrobić
# Rozbić Section na 2 klasy:
#* SectionConfig - type: DocumentField, optional: boolean, componentType: Type<editFormField> (type używany do określania nazwy sekcji) (czy type jest rzeczywiście potrzebny ???)
#* Section {config: SectionConfig, visible: boolean, component: editFormField }
# w EditFormFieldDirective dodać @Output "onSectionCreated(Section)", "onEditFormFieldCreated", który byłby emitowany po createComponent, konfigurację mapowania typów na konretne komponenty przeniść do konfiguracji (patrz klasa Section) - dyrektywa budowałaby obiekt section na podstawie konfiguracji; trzeba też usunąć pole form, compoenent samo dodawałby się do głównego forma podczas operacji buildForm
# rozszerzyć interdejs "editFormField" o pola buildForm(FormGroup, YElement) buildForm(YElement) oraz updateElement(YElement)
#* buildForm - buduje formularz na podstawie yelementu
#* updateElement - mapuje formularz na element
#* multiple:boolean - czy ma być renderowany "+" na sekcji
# w EditDocumentComponent
#* zapiąć się na ww. evencie i budować listę komponentów
#* przy save przejść po liście i wykonać na nich updateElement
#* przy init wywołać buildForm na wszystkich elementach; można też na evencie to zrobić
# Rozbić Section na 2 klasy:
#* SectionConfig - type: DocumentField, optional: boolean, componentType: Type<editFormField> (type używany do określania nazwy sekcji) (czy type jest rzeczywiście potrzebny ???)
#* Section {config: SectionConfig, visible: boolean, component: editFormField }