Plugin Builder Class
This topic describes the Plugin Builder class. The Plugin Builder class wires the Plug-in Wrapper to the given Applet Control, specifying the conditions under which the wrapper is to be used. It uses the API AttachPW for this purpose. It uses the following syntax:
SiebelApp.S_App.PluginBuilder.AttachPW(Control Type, PW Class, function (control,
objName) {
return <conditions>;
where:
Control Type is the SWE constant for the type of control that you are trying to override the functionality for. For a complete listing of control types, see About Supported Template Manager Controls.
PW Class is the name of the custom wrapper.
For example, the following code shows how to attach the Plug-In wrapper with a custom combobox wrapper that would deploy for all buttons in the Contact List Applet:
SiebelApp.S_App.PluginBuilder.AttachPW(consts.get("SWE_CTRL_COMBOBOX"),
SiebelAppFacade. CustomComboPW, function (control, objName) {
return (objName === "Contact List Applet");
});
Another example, the following code shows how to attach the Plug-In wrapper with a custom text box wrapper that would deploy for all text boxes in the Opportunity List Applet or the Sales Order Form Applet:
SiebelApp.S_App.PluginBuilder.AttachPW(consts.get("SWE_CTRL_TEXT"),
SiebelAppFacade.CustomTextPW, function (control, objName) {
return (objName === "Opportunity List Applet" || objName === "Sales Order Form");
});
Another example, the following code shows how to attach the Plug-In wrapper with a custom combobox wrapper that would deploy for all combo boxes of a certain name, across the application:
SiebelApp.S_App.PluginBuilder.AttachPW(consts.get("SWE_CTRL_COMBOBOX"),
SiebelAppFacade.CustomComboPW, function (control, objName) {
return (control.GetName() === "Last Name");
});
Another example, the following code shows how to attach the Plug-In wrapper with a custom text box wrapper that would deploy for only a specific control with a specific name in the Sales Order Form Applet:
SiebelApp.S_App.PluginBuilder.AttachPW(consts.get("SWE_CTRL_TEXT"),
SiebelAppFacade.CustomTextPW, function (control, objName) {
return (control.GetName() === "Revenue" && objName === "Sales Order Form");
});
Another example, the following code shows how to attach the Plug-In wrapper with a custom check box that would deploy for all touch enabled devices:
SiebelApp.S_App.PluginBuilder.AttachPW(consts.get("SWE_CTRL_CHECKBOX"),
SiebelAppFacade.CustomCheckPW, function (control) {
return SiebelAppFacade.DecisionManager.IsTouch();
});
For more information about the Attach PW API and examples of how to use the AttachPW API, see Configuring the Manifest for the Color Box Example.