Muestra las diferencias entre dos versiones de la página.
| Próxima revisión | Revisión previa | ||
|
funciones:nfl_updatebyid [18/03/2022 23:14] pedro creado |
funciones:nfl_updatebyid [14/12/2023 15:48] (actual) pedro |
||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| ====== Función nfl_UpdateById ====== | ====== Función nfl_UpdateById ====== | ||
| - | nfl_UpdateById( aData, lTag ) --> cHtml | + | nfl_UpdateById( aData, lTag ) --> cJS |
| Nos devuelve la cadena JS/JQuery necesaria para modificar propiedades de los elementos del DOM. | Nos devuelve la cadena JS/JQuery necesaria para modificar propiedades de los elementos del DOM. | ||
| Línea 15: | Línea 15: | ||
| * **setattribute**: Para añadir y modificar un atributo del elemento | * **setattribute**: Para añadir y modificar un atributo del elemento | ||
| * **removeattribute**: Para eliminar una atributo del elemento | * **removeattribute**: Para eliminar una atributo del elemento | ||
| - | * **disable**: Para poner en modo deshabilitado al elemento | + | * **disabled**: Para poner en modo deshabilitado al elemento |
| * **pulse**: Para que el elemento parpadee | * **pulse**: Para que el elemento parpadee | ||
| * **data-badge-caption**: Para modificar el texto de un wBadget | * **data-badge-caption**: Para modificar el texto de un wBadget | ||
| + | |||
| + | ===== Ejemplo de uso por AJAX ===== | ||
| + | {{url>https://samples.nefele.dev/wiki/updatebyid 100%,140px}} | ||
| + | <Code:xailer linenums:1> | ||
| + | PROCEDURE vUpDateById( o ) | ||
| + | |||
| + | WITH OBJECT WBevel():New( o ) | ||
| + | :lValign := .T. | ||
| + | WITH OBJECT WBevel():New( :WO ) | ||
| + | :aWidth[ xc_S ] := 5 | ||
| + | WITH Object WButton():New( :WO ) | ||
| + | :cText := "Activar Pulse" | ||
| + | :cOnClick := "UpDateById1" // Esto realmente llama a AjaxUpdateById( .T. ) | ||
| + | :cIcon := "blur_on" | ||
| + | :cAjaxBevel := "nflcargo" | ||
| + | :lLarge := .T. | ||
| + | :lCenter := .T. | ||
| + | :nFix := "90%" | ||
| + | :Create() | ||
| + | END WITH | ||
| + | :Create() | ||
| + | END WITH | ||
| + | |||
| + | WITH OBJECT WBevel():New( :WO ) | ||
| + | :aWidth[ xc_S ] := 2 | ||
| + | :lHcenter := .T. | ||
| + | WITH OBJECT WIcon():New( :WO ) | ||
| + | :cId := "oicon" | ||
| + | :cIcon := "cancel" | ||
| + | :cSize := "large" | ||
| + | :Create() | ||
| + | END WITH | ||
| + | :Create() | ||
| + | END WITH | ||
| + | |||
| + | WITH OBJECT WBevel():New( :WO ) | ||
| + | :aWidth[ xc_S ] := 5 | ||
| + | WITH Object WButton():New( :WO ) | ||
| + | :cText := "Desactivar Pulse" | ||
| + | :cOnClick := "UpDateById2" // Esto realmente llama a AjaxUpdateById( .F. ) | ||
| + | :cIcon := "blur_off" | ||
| + | :cAjaxBevel := "nflcargo" | ||
| + | :lLarge := .T. | ||
| + | :lCenter := .T. | ||
| + | :nFix := "90%" | ||
| + | :Create() | ||
| + | END WITH | ||
| + | :Create() | ||
| + | END WITH | ||
| + | |||
| + | :Create() | ||
| + | END WITH | ||
| + | |||
| + | RETURN | ||
| + | |||
| + | //------------------------------------------------------------------------------ | ||
| + | |||
| + | PROCEDURE AjaxUpdateById( lPulse ) | ||
| + | |||
| + | oCGI:SendScript( nfl_UpdateById( {{ "oicon", lPulse, "pulse" },; | ||
| + | { "oicon", "red-text", IIF( lPulse, "addclass", "removeclass") } } ) ) | ||
| + | |||
| + | RETURN | ||
| + | |||
| + | //------------------------------------------------------------------------------ | ||
| + | |||
| + | CLASS TCgi FROM XCgi | ||
| + | // De esta manera tengo dos entradas al CGI que van al mismo PROCEDURE pero con parámetros distintos | ||
| + | METHOD UpdateById1() INLINE AjaxUpdateById( .T. ) | ||
| + | METHOD UpdateById2() INLINE AjaxUpdateById( .F. ) | ||
| + | |||
| + | END CLASS | ||
| + | |||
| + | |||
| + | </Code> | ||
| + | |||
| + | |||
| + | ===== Ejemplo de uso directamente con JS ===== | ||
| + | {{url>https://samples.nefele.dev/wiki/updatebyid2 100%,140px}} | ||
| + | <Code:xailer linenums:1> | ||
| + | PROCEDURE vUpDateById2( o ) | ||
| + | |||
| + | WITH OBJECT WBevel():New( o ) | ||
| + | :lValign := .T. | ||
| + | WITH OBJECT WBevel():New( :WO ) | ||
| + | :aWidth[ xc_S ] := 5 | ||
| + | WITH OBJECT WButton():New( :WO ) | ||
| + | :cText := "Activar Pulse" | ||
| + | :cOnClick := "js:" + nfl_UpdateById( { { "oicon", .T., "pulse" },; | ||
| + | { "oicon", "red-text", "addclass" } } ) | ||
| + | :cIcon := "blur_on" | ||
| + | :lLarge := .T. | ||
| + | :lCenter := .T. | ||
| + | :nFix := "90%" | ||
| + | :Create() | ||
| + | END WITH | ||
| + | :Create() | ||
| + | END WITH | ||
| + | |||
| + | WITH OBJECT WBevel():New( :WO ) | ||
| + | :aWidth[ xc_S ] := 2 | ||
| + | :lHcenter := .T. | ||
| + | WITH OBJECT WIcon():New( :WO ) | ||
| + | :cId := "oicon" | ||
| + | :cIcon := "cancel" | ||
| + | :cSize := "large" | ||
| + | :Create() | ||
| + | END WITH | ||
| + | :Create() | ||
| + | END WITH | ||
| + | |||
| + | WITH OBJECT WBevel():New( :WO ) | ||
| + | :aWidth[ xc_S ] := 5 | ||
| + | WITH OBJECT WButton():New( :WO ) | ||
| + | :cText := "Desactivar Pulse" | ||
| + | :cOnClick := "js:" + nfl_UpdateById( { { "oicon", .F., "pulse" },; | ||
| + | { "oicon", "red-text", "removeclass" } } ) | ||
| + | :cIcon := "blur_off" | ||
| + | :lLarge := .T. | ||
| + | :lCenter := .T. | ||
| + | :nFix := "90%" | ||
| + | :Create() | ||
| + | END WITH | ||
| + | :Create() | ||
| + | END WITH | ||
| + | |||
| + | :Create() | ||
| + | END WITH | ||
| + | |||
| + | RETURN | ||
| + | </Code> | ||
| ===== Parámetros ===== | ===== Parámetros ===== | ||