---
Added: v2.0.0
Status: Active
Last reviewed: 2018-03-29
---
# Widget component
Base class for standard and custom widget classes.
## Basic Usage
```ts
import { Component } from '@angular/core';
import { WidgetComponent } from '@alfresco/adf-core';
@Component({
selector: 'custom-editor',
template: `
Look, I'm a custom editor!
`
})
export class CustomEditorComponent extends WidgetComponent {}
```
## Class members
### Properties
| Name | Type | Default value | Description |
| -- | -- | -- | -- |
| field | [`FormFieldModel`](../core/form-field.model.md) | | Data to be displayed in the field |
| readOnly | `boolean` | false | Does the widget show a read-only value? (ie, can't be edited) |
### Events
| Name | Type | Description |
| -- | -- | -- |
| fieldChanged | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`FormFieldModel`](../core/form-field.model.md)`>` | (**Deprecated:** Used only to trigger visibility engine; components should do that internally if needed) |
## Details
The [Widget component](../insights/widget.component.md) is the base class for all standard and custom form widgets. See the
[Form Extensibility and Customisation](../user-guide/extensibility.md) page for full details about
implementing custom widgets.
## See also
- [Extensibility](../user-guide/extensibility.md)