Siebel Open UI – Que es un Plug-In Wrapper? Part I

Con el Siebel Innovation Pack 2014 Siebel Open UI se vuelve más interesante, Oracle madurando su framework Javascript introduciendo nuevos objetos entre los cuales, en el post de hoy, destacamos el Plug-in Wrapper.

Pero que es el Plug-In Wrapper? Como funciona?

Plug-In Wrapper es una clase nueva de tipo renderer que controla el comportamiento y la visualización de cada control a nivel de applet en la aplicación. Oracle ofrece una serie de plug-in wrappers estándar para la mayora de los tipos de controls nativos como los campos de tipo Text, Date, CheckBox etc.

Cada Plug-In Wrapper viene acompañado de un Plug-In Builder que es una clase que hace la conexión entre el Plug-In Wrapper que definamos y el control del applet que necesitamos modificar ( crea una capa entre el physical renderer del applet y los controles del applet ), a través del método AttachPW.

  • El método AttachPW puede incluir la lógica que nos permite controlar en que vistas o sobre que condiciones el Plug-In Wrapper debería aplicarse. 

El formato de un Plug-in Wrapper es parecido al formato ya conocido del Physical Renderer (PR) que la mayoría venimos trabajando desde los inicios del framework Open UI a nivel de applets.

Asi seria un ejemplo de un Plug-In Wrapper para un control de tipo CheckBox:

if (typeof (SiebelAppFacade.CheckBoxTestPW) === "undefined")

{ SiebelJS.Namespace("SiebelAppFacade.CheckBoxTestPW"); 

define("siebel/custom/CheckBoxTestPW", ["siebel/pwinfra"], function () {

SiebelAppFacade.CheckBoxTestPW = (function () { 

function CheckBoxTestPW(pm) { SiebelAppFacade.CheckBoxTestPW.superclass.constructor.apply(this, arguments); }

SiebelJS.Extend(CheckBoxTestPW, SiebelAppFacade.CheckBoxPW); 

CheckBoxTestPW.prototype.Init = function () { SiebelAppFacade.CheckBoxTestPW.superclass.Init.apply(this, arguments); } 

CheckBoxTestPW.prototype.ShowUI = function () {SiebelAppFacade.CheckBoxTestPW.superclass.ShowUI.apply(this, arguments);}

CheckBoxTestPW.prototype.EndLife = function () { SiebelAppFacade.CheckBoxTestPW.superclass.EndLife.apply(this, arguments);}

return CheckBoxTestPW; }() ); 

SiebelApp.S_App.PluginBuilder.AttachPW(consts.get("SWE_CTRL_CHECKBOX"), SiebelAppFacade.CheckBoxTestPW, function (control, objName) { return true; });

return "SiebelAppFacade.CheckBoxTestPW"; }) }

Que ventajas tendríamos en usar un Plug-In Wrapper?

Las ventajas de usar Plug-In Wrapper son múltiples pero quisiera destacar lo siguiente:

  • podíamos agregar reglas de comportamiento/visualización para ciertos campos usados de forma repetitiva en diferentes applets dentro de la aplicación sin necesidad de incluir código en cada uno de los PR/PM de cada applet reduciendo así código, mejorando el rendimiento yfacilitar también
  • se podrían definir comportamientos/reglas de visualización diferentes para el mismo control cuando se detecta por ejemplo el uso de la aplicación en un dispositivo mobile o en una pantalla táctil.

Importante!Aunque el Plug-In Wrapper abre un abanico nuevo y amplio de posibilidades se recomienda usar CSS tanto como sea posible según las necesidades de desarrollo si lo único que necesitamos son cambios de visualización que se pueden manejar fácilmente a través de hojas de estilo.

En la siguiente entrega veremoslos métodos que podemos usar en un Plug-In Wrapper y como declararlo en la aplicación.

">
Snippets XSL - Añadir Fecha con XSL 1.0 y 2.0
Uso de fechas relativas para filtrar Reports y Lis...

Related Posts

Comments

 
No comments yet
Already Registered? Login Here
Guest
Martes, 11 Diciembre 2018
If you'd like to register, please fill in the username and name fields.
Open

Si quieres unirte a nosotros o si tienes alguna pregunta sobre el mundo del CRM, haz clic aquí.