dngferreira / open-ehr-gen-framework

Automatically exported from code.google.com/p/open-ehr-gen-framework
0 stars 0 forks source link

Problema en show de DvQuantity, no muestra las unidades #59

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Parece que no se genera la label del campo para mostrar la unidad, solo se 
genera para mostrar la magnitud.

Probar que esto funcione si hay varias unidades para seleccionar en el CREATE o 
si hay una sola (recordar que en este caso la unidad se saca del arquetipo 
porque es la única, en lugar de ingresarlo en el CREATE, tal vez tenga que 
generar un HIDDEN igual para que se ingrese de la misma forma que si se 
estuviera seleccionando de una lista.

Original issue reported on code.google.com by pablo.swp@gmail.com on 29 Dec 2011 at 10:47

GoogleCodeExporter commented 9 years ago
Lo que pasaba es que al poner 2 label (donde van los valores de magnitude y 
units) juntas y vacías, el browser las interpreta como que la primer label 
contiene a la segunda, y cuando se pone el valor a la magnitud, sobreescribe la 
segunda label, las unidades, desapareciendo del DOM (el generador estaba bien, 
es la interpretación del browser el problema).

Ahora le puse un BR en el medio para que no estén vacías las labels, y cuando 
pone el valor, borran el BR:

<label class="field_641">
  <br class="erase_me"/>
</label>
<label class="field_642">
  <br class="erase_me"/>
</label>

Esto es en grails-app\views\guiGen\show\_cDvQuantity.gsp

Debería garantizar que el BR se borra, aún cuando no hay valor en magnitude. 
También podría usar otra tag que no tenga consecuencias en la visualización 
(que no vea el linebreak), como una span vacía.

Debería corregir todas las labels, no solo las de DvQuantity para evitar que 
el browser haga locuras.

Original comment by pablo.swp@gmail.com on 30 Dec 2011 at 4:00

GoogleCodeExporter commented 9 years ago
Podría resolverlo también poniendo un espacio en blanco:
<label id="x"> </label>

pero cuando lo lee el parser de XML para generar la vista lo convierte a:
<label id="x" />

lo que se puede hacer es que cuando se detecte ese string en la vista generada, 
se vuelva al anterior: <label id="x"> </label>

Original comment by pablo.swp@gmail.com on 30 Dec 2011 at 4:06

GoogleCodeExporter commented 9 years ago
Corregido, se arregló en el Bootstrap, agregando esta línea en las 
generaciones de GUI de show:

form = form.replaceAll('<label class="(.*?)"(\\s*?)/>', '<label class="$1"> 
</label>')

Cierro el ticket.

Original comment by pablo.swp@gmail.com on 30 Dec 2011 at 5:43