Capabilities
Each capability is specified by an enumerated list comprised of neither, either, or both of the values [component, form].
- component flag: The presence of this flag indicates that the component will provide some level of functionality with regards to that capability, so it should be provided with the necessary information and notified if the information related to that capability is updated.
- form flag: The presences of this flag indicates that the component expects the form to carry out its normal handling of the capability, even if the component flag is also specified for the capability.
The table Flagging and Outcomes provides specific detail for each combination of flags for each of the capabilities.
Property | Description | Form Flag | Component Flag | Outcome |
---|---|---|---|---|
Disabled | The form will not have enough information to know how to disable a widget within the custom control. If a Control Type is to support the setting of a disabled state, then it will have to handle the update of this property at runtime. | true |
true |
This is the typical case. Here, the form applies or removes the "disabled" CSS class at the control level, and requests the ControlWrapper to refresh its rendering of the enablement state. The form notifies the ControlWrapper that the enablement state has changed by calling its refresh() method with the updates argument containing the feature name "enabled". |
true |
false |
The form will apply or remove the "disabled" CSS class at the control level but does not notify the ControlWrapper of enablement changes. | ||
false (default) | true (default) | No CSS class is applied at the control level but the form notifies the ControlWrapper of enablement changes. | ||
false |
false |
The control does not handle the disabled state. | ||
Focus | For this capability, the form value is always set to false | true |
true |
N/A |
true |
false |
N/A | ||
false (default) |
true (default) |
ControlWrapper supports a setFocus() method to allow script to change the focus to the control programmatically. If the control type implicitly or explicitly supports rendering within a grid pane, then the focus capability should be set to "component". Otherwise keyboard navigation of the grid pane will skip over cells that contain instances of this control type. | ||
false |
false |
ControlWrapper does not provide setFocus() method. | ||
Hint | This capability controls how the Control Type hint is handled. This is the built-in control hint that is provided by the forms framework. | true |
true |
The form renders the hint as normal, and requests the ControlWrapper to refresh its custom hint rendering. The form notifies the ControlWrapper that the hint state has changed by calling its refresh() method with the updates argument containing the feature name "hint". |
true (default) |
false (default) |
This is the typical case. The form renders the hint as it does for built-in controls but does not notify the ControlWrapper of hint changes. | ||
false |
true |
The hint node is not rendered by the form. It is completely up to the ControlWrapper to handle the rendering of the hint. | ||
false |
false |
The hint node is not rendered for the Control Type. | ||
Invalid | This Capability controls how the rendering of "Invalid" feedback is handled. The forms framework continues to execute validations on controls that provide them. | true |
true |
The form applies or removes the "invalid" CSS class at the control level, and requests the ControlWrapper to refresh its rendering of the validity state. This may be needed by controls that aim to provide accessibility. For example, by updating the corresponding ARIA attributes on the control widgets. The form notifies the ControlWrapper that the validation state has changed by calling its refresh() method with the updates argument containing the feature name "validation". |
true (default) | false (default) | The form applies or removes the "invalid" CSS class at the control level, but does not notify the ControlWrapper of validity changes. | ||
false | true | No CSS class is applied at the control level but the form does notify the ControlWrapper of the change in validity state. | ||
false |
false |
The control does not handle the display of a validation error decoration. | ||
Invisible | This Capability handles how the visibility setting of the Control Type is handled. | true |
true |
The form hides or shows the whole control and also notifies the ControlWrapper that the visibility state has changed by using the refresh() method with the updates argument containing the feature name "visible". |
true (default) | false (default) | The form takes care of hiding and showing the control when the visibility state has changed but does not notify the ControlWrapper of visibility changes. | ||
false | true | The form merely notifies the ControlWrapper of changes in visibility. | ||
false |
false |
The control is always shown. Changes to the visibility of the control are ignored. However, if the containing pane is made invisible, then the control will be made invisible. | ||
Label | This Capability controls how the control label is handled. This is the built-in control label that is provided by the forms framework. When a custom control is rendered in a grid pane, the column label is always provided by the form. | true |
true |
The form renders the label as normal, and also requests the ControlWrapper to refresh its rendering of the label. The form notifies the ControlWrapper that the label value has changed by calling its refresh() method with the updates argument containing the feature name "label". |
true (default) | false (default) | The form renders the label as it does for built-in controls but does not notify the ControlWrapper of label changes. | ||
false | true | The label is not rendered by the form and the form notifies the ControlWrapper of label changes. It is completely up to the ControlWrapper to handle the rendering of the label. In vertical panes, this setting will result in control being rendered completely to the left, aligned with the labels of other controls that rely on the form to render the label. | ||
false |
false |
The label is not rendered for the control. | ||
Read Only | The form does not have enough information to know how to set a widget within the custom control as read only. If a Control Type supports the setting of a read only state, then this property is handled at runtime. | true |
true |
The form applies or removes the "read-only" CSS class at the control level, and requests the ControlWrapper to refresh its rendering of the read-only state. The form notifies the ControlWrapper that the read-only state has changed by calling its refresh() method with the updates argument containing the feature name "readOnly". |
true | false | The form applies or removes the "read-only" CSS class at the control level, but does not notify the ControlWrapper of changes to the read-only setting. | ||
false (default) | true (default) | The CSS class is not applied at the control level, but the form notifies the ControlWrapper of the change of read-only state. | ||
false |
false |
The control does not handle the read-only state. | ||
Required | This Capability refers to the rendering of "Required" feedback. The forms framework continues to enforce that values are indeed provided when marked as required. | true |
true |
The form applies or removes the "required" CSS class at the control level, and also requests the ControlWrapper to refresh its rendering of the required state. This may be needed by controls that aim to provide accessibility. For example, by updating the corresponding ARIA attributes on the control widgets. The form notifies the ControlWrapper that the required state has changed by calling its refresh() method with the updates argument containing the feature name "required". |
true (default) | false (default) | The form applies or removes the "required" CSS class at the control level, but does not notify the ControlWrapper of changes to the required setting. | ||
false | true |
CSS class is not applied at the control level, but the form notifies the ControlWrapper of the change in required state. | ||
false |
false |
The control does not handle the display of a "required" decoration. | ||
Tab Index | For this capability, the form flag value is always set to false. | true |
true |
N/A |
true | false |
N/A | ||
false | true |
ControlWrapper will use the Tab Index property from the control in the generated markup for the control. | ||
false (default) |
false (default) |
The control Tab Index property is not used by the ControlWrapper. |
Copyright © Cloud Software Group, Inc. All rights reserved.