CAUCA-9-1-1 / survip

SURVI-Prevention Desktop
2 stars 3 forks source link

Adding building child to a parent doesn't work #476

Closed iamkinetic closed 5 years ago

iamkinetic commented 5 years ago

Describe the bug When we click on the + to add a child, 1000 errors are triggered in the console and it stop working.

yjacques940 commented 5 years ago

Remarques: *La méthode languageValue() dans multilang.component.ts est appelée 72 fois à chaque fois qu'une action est faire (Créé des erreurs pour chaque)

*Lorsqu'on veut ajouter un bâtiment enfant, pour éviter qu'il y ait des erreurs, on valide si le this.value est null dans laguageValue (avant le foreach) et dans le validateAllLanguages() (foreach)

*Le problème est que lorsqu'on ajoute un bâtiment enfant (ou qu'on on ouvre la fenêtre d'ajout des bâtiments enfants), le popup du batiment parent deviens vide. Si on enlève les validations ajoutées plus haut, les noms (multilang) se retrouvent à être les mêmes que celui du bâtiment enfant. De plus, la grille contenant tous les bâtiments se retrouve avec le nom de bâtiment vide.

*Si on ajoute un text = 'test' dans languageValue(), lorsqu'on fait annuler sur la page de bâtiment enfants, l'édition du bâtiment parent va avoir "test" comme nom, et la liste de bâtiments (pas le popup) est vide. if (!text) { text = 'test'; }

*Le datasource a l'air d'être lié aux autres datasources des bâtiments parents. Donc si on modifie l'Enfant, il modifie le nom du parent, mais ne s'enregistre pas dans la BD.

yjacques940 commented 5 years ago

Dans LanguageValue(), il passe chaque bâtiment dans le datasource des batiments, donc c'Est pour ca qu'il passe 72 fois dedans

à chaque Click dans un controle du popup, on relance la function languageValue()

*Lorsqu'on load le popup, on repasse par le constructeur

yjacques940 commented 5 years ago

vérifier si le [service]="building" dans le building.component.html lorsqu'on appelle le popup de management department building

yjacques940 commented 5 years ago

Le buildingParent est set avec un selectedBuilding, donc dès qu'on sélectionne un building, on set le buildingchildDataSource directement.Si on appelle le set parentBuilding, on va toujours avoir le buildingChildDataSource

yjacques940 commented 5 years ago

Opt 1: Reload le datasource du parent Opt 2: Ouvrir une nouvelle fenêtre pour qu'il y ait un nouveau datasource Opt 3: ...