Herramientas de usuario

Herramientas del sitio


funciones:nfl_updatebyid

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
funciones:nfl_updatebyid [02/09/2022 17:00]
pedro
funciones:nfl_updatebyid [14/12/2023 15:48] (actual)
pedro
Línea 18: Línea 18:
   * **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 =====
funciones/nfl_updatebyid.1662138028.txt.gz · Última modificación: 02/09/2022 17:00 por pedro