# Class: BasicWidget

## BasicWidget()

This is the base widget for all other widgets. For information on using widgets, see the tutorial widget_basics.

## Constructor

#### new BasicWidget()

Source:
  - widgets/basic_widget.js, line 11

### Methods

#### css(name, value)

Sets the CSS attribute of the given name to the given value.

##### Parameters:

Name | Type | Description
--- | --- | ---
`name` | string | the name of the CSS attribute to set (e.g. `padding-left`).
`value` | string | the value of the CSS attribute to set (e.g. `12px`).

Source:
  - widgets/basic_widget.js, line 75

##### Returns:

self for chaining.

#### cssBlock(block) → {this}

Accepts a string of CSS to add with the widget.

##### Parameters:

Name | Type | Description
--- | --- | ---
`block` | string |

Source:
  - widgets/basic_widget.js, line 118

##### Returns:

for chaining

Type
  this

#### doRender()

Method used for rendering the widget. Your class should override this method. The method is expected to create a this.$widget containing jQuery object

Source:
  - widgets/basic_widget.js, line 209

#### isEnabled()

Indicates if the widget is enabled. Widgets are enabled by default. Generally setting this to `false` will cause the widget not to be displayed, however it will still be available on the DOM but hidden.

Source:
  - widgets/basic_widget.js, line 199

##### Returns:

whether the widget is enabled.

#### optChild(condition, …components)

Conditionally adds the given components as children to this component.

##### Parameters:

Name | Type | Attributes | Description
--- | --- | --- | ---
`condition` | boolean |  | whether to add the components.
`components` | any | <repeatable> | the components to be added as children to this component provided the condition is truthy.

Source:
  - widgets/basic_widget.js, line 50

##### Returns:

self for chaining.

#### optCss(condition, name, value)

Sets the CSS attribute of the given name to the given value, but only if the condition provided is truthy.

##### Parameters:

Name | Type | Description
--- | --- | ---
`condition` | boolean | `true` in order to apply the CSS, `false` to ignore it.
`name` | string | the name of the CSS attribute to set (e.g. `padding-left`).
`value` | string | the value of the CSS attribute to set (e.g. `12px`).

Source:
  - widgets/basic_widget.js, line 88

##### Returns:

self for chaining.