Más

Alternar el widget CMV

Alternar el widget CMV


En el proyecto Visor de mapas configurable, me gustaría poder configurar la visualización inicial de un widget como oculto y mostrarlo con solo presionar un botón, por ejemplo, haciendo clic en un botón en una barra de herramientas. Tomemos, por ejemplo, el widget de leyenda, no quiero ver el widget de leyenda en el panel izquierdo, pero me gustaría agregar un botón en la parte superior para activarlo / desactivarlo.

Agregué esta línea de código a controller.js, pero sin suerte.

if (options.hidden) {domStyle.set (este [widgetConfig.id] .domNode, "display", "none"); }

Creo que su código oculta el domNode incorrecto. Al crear un widget de titlePane, el widget tiene un parentWidget que es lo que desea ocultar.

No recomiendo modificar el controlador. Eso facilita mucho las actualizaciones de futuras versiones de CMV. Puede hacer lo que desee con CSS personalizado. Esto ocultaría el widget titlePane de la leyenda:

#legend_parent {pantalla: ninguna; }

Luego, su botón puede encontrar el domNode correcto y mostrarlo (u ocultarlo):

var el = dom.byId ('legend_parent'); domStyle.set (el, 'pantalla', 'bloque');

Hay muchas formas de despellejar a un gato. A continuación, se muestran algunos enfoques alternativos a considerar:

  1. Suponiendo que su botón es un widget domNode. Agregue código a ese widget para ocultar el titlePane similar al código JS anterior.

  2. No cree el widget de leyenda inicialmente. Su botón puede crear el widget de leyenda y colocarlo correctamente la primera vez que se hace clic en él. Puedes hacer esto con dojo'stopic.publish


Ver el vídeo: Your app, their home screen: Widgets Android Development Patterns S2 Ep 2