Cuando se produce el evento Link clicked en el Visor HTML de parseo se ejecuta el manejador EVENTO_CLICK.


Manejador de evento: EVENTO_CLICK


Rem ( Se ha producido el evento Click en el Visor de parseo )

If ( indexOfString(EVENT_PARAMS[1], "FILE:///", 0, 0) > -1 )

   Rem ( El Link viene como una Ruta de disco. El JSON comienza con un caracter # )

   Set ( CHREF_LINK, mid(EVENT_PARAMS[1], indexOfString(EVENT_PARAMS[1], "#", 0, 0) + 1) )

Else

   Set ( CHREF_LINK, EVENT_PARAMS[1] )

Rem ( Decodificamos el URI ya que en el texto del atributo href vienen codificados los caracteres NO ASCII )

Set ( CHREF_LINK, /*JAVASCRIPT*/decodeURI(theRegister.varToString("CHREF_LINK")) )

// Mensaje ( CHREF_LINK, Información, , "Parsear HTML" )

Rem ( Leemos el JSON y rellenamos la tabla temporal )

Cargar lista ( PARSEO_HTML@0PS_Varios_dat, ID, , , , )

   Recorrer lista eliminando fichas

      Libre

Interfaz: Ejecutar manejador de evento ( GUARDAR_DATOS_JS, LOK )

Libre

Rem ( Mostramos la lista de filas obtenidas en el Rejilla )

Interfaz: Recalcular ( GRD_LISTA )



Con el siguiente manejador javascript parseamos el string JSON recibido desde el Visor HTML y guardamos los valores en la tabla temporal para mostrarlos en la Rejilla.


Manejador de evento: GUARDAR_DATOS_JS

// Obtenemos el JSON parseado de la página HTML

var cJSON = theRoot.varToString("CHREF_LINK")

var lError = false, lGuardar = false

var oLinea = null

try {

       var oJSON = JSON.parse(cJSON)

       // alert("Filas: " + oJSON.length)

}

catch(oError) {

       alert("Error en el JSON: " + oError.message)

       lError = true

}

if (!lError) {

       var oRegistro = new VRegister(theRoot)

       if (!theRoot.existTrans()) {

               lGuardar = true

               theRoot.beginTrans("Rellenando la tabla temporal con los datos")

       }

    // Rellenamos la tabla temporal con el array JSON

       if (oRegistro.setTable("0PS_VARIOS_DAT/PARSEO_HTML")) {

               for (i = 0; i < oJSON.length; i++) {

                       oLinea = oJSON[i]

                       oRegistro.setField("NAME", oLinea["CAMPO"])

                       oRegistro.setField("DATO", oLinea["DATO"])

                       if (!oRegistro.addRegister()) {

                               alert("Error añadiendo las líneas a la tabla temporal")

                               if (lGuardar) theRoot.rollbackTrans()

                               break

                       }

               }

       }

       if (lGuardar) theRoot.commitTrans()

}





Created with the Personal Edition of HelpNDoc: Easily create HTML Help documents