Control Wrapper Implementation

Each custom control needs to have an implementation of the ControlWrapper interface.

This takes the form of a JavaScript class definition that includes the methods necessary to implement the custom Control Type life cycle. The constructor is a no-argument function, with the rest of the interface implemented as function properties on the prototype for this constructor function.