### Type parameters

- #### T: IAtomElement

- #### TC: IAtomComponent<T>

### Hierarchy

- AtomComponent
  - AtomControl
  - AtomXFControl

### Implements

- IAtomComponent<IAtomElement>
- INotifyPropertyChanged

## Index

### Constructors

- constructor

### Properties

- app
- disposables
- element
- pendingInits
- isControl

### Accessors

- data
- localViewModel
- parent
- viewModel
- vsProps

### Methods

- append
- atomParent
- beginEdit
- bind
- bindEvent
- create
- dispose
- hasProperty
- invalidate
- onPropertyChanged
- onUpdateUI
- preCreate
- registerDisposable
- render
- resolve
- runAfterInit
- setElementValue
- setLocalValue
- setPrimitiveValue
- unbind
- unbindEvent

## Constructors

### constructor

- new AtomComponent(app: App, element?: T): AtomComponent

- - Defined in src/core/AtomComponent.ts:130

  #### Parameters

  - ##### app: App

  - ##### Default value element: T = null

  #### Returns AtomComponent

## Properties

### app

app: App

Implementation of IAtomComponent.app

- Defined in src/core/AtomComponent.ts:133

### disposables

disposables: AtomDisposableList

- Defined in src/core/AtomComponent.ts:45

### element

element: T

Implementation of IAtomComponent.element

- Defined in src/core/AtomComponent.ts:47

### Protected pendingInits

pendingInits: Array<function>

- Defined in src/core/AtomComponent.ts:49

### Static isControl

isControl: true = true

- Defined in src/core/AtomComponent.ts:42

## Accessors

### data

- get data(): any
- set data(v: any): void

- - Defined in src/core/AtomComponent.ts:56

  #### Returns any

- - Defined in src/core/AtomComponent.ts:67

  #### Parameters

  - ##### v: any

  #### Returns void

### localViewModel

- get localViewModel(): any
- set localViewModel(v: any): void

- - Defined in src/core/AtomComponent.ts:94

  #### Returns any

- - Defined in src/core/AtomComponent.ts:105

  #### Parameters

  - ##### v: any

  #### Returns void

### parent

- get parent(): TC

- - Defined in src/core/AtomComponent.ts:114

  #### Returns TC

### viewModel

- get viewModel(): any
- set viewModel(v: any): void

- - Defined in src/core/AtomComponent.ts:73

  #### Returns any

- - Defined in src/core/AtomComponent.ts:84

  #### Parameters

  - ##### v: any

  #### Returns void

### vsProps

- get vsProps(): object | object | __type

- - Defined in src/core/AtomComponent.ts:119

  Do not ever use, only available as intellisense feature for vs code editor.

  #### Returns object | object | __type

## Methods

### Abstract append

- append(element: T | TC): TC

- - Defined in src/core/AtomComponent.ts:379

  #### Parameters

  - ##### element: T | TC

  #### Returns TC

### Abstract atomParent

- atomParent(e: T): TC

- - Defined in src/core/AtomComponent.ts:146

  #### Parameters

  - ##### e: T

  #### Returns TC

### beginEdit

- beginEdit(): IDisposable

- - Defined in src/core/AtomComponent.ts:386

  #### Returns IDisposable

### bind

- bind(element: T, name: string, path: PathList[], twoWays?: boolean | string[], valueFunc?: function, source?: any): IDisposable

- - Defined in src/core/AtomComponent.ts:148

  #### Parameters

  - ##### element: T

  - ##### name: string

  - ##### path: PathList[]

  - ##### Optional twoWays: boolean | string[]

  - ##### Optional valueFunc: function

    - - (...v: any[]): any

      - #### Parameters

        - ##### Rest ...v: any[]

        #### Returns any

  - ##### Optional source: any

  #### Returns IDisposable

### bindEvent

- bindEvent(element: T, name?: string, method?: EventListenerOrEventListenerObject, key?: string): IDisposable

- - Defined in src/core/AtomComponent.ts:186

  #### Parameters

  - ##### element: T

  - ##### Optional name: string

  - ##### Optional method: EventListenerOrEventListenerObject

  - ##### Optional key: string

  #### Returns IDisposable

### Protected create

- create(): void

- - Defined in src/core/AtomComponent.ts:513

  #### Returns void

### dispose

- dispose(e?: T): void

- - Defined in src/core/AtomComponent.ts:336

  #### Parameters

  - ##### Optional e: T

  #### Returns void

### hasProperty

- hasProperty(name: string): boolean

- Implementation of IAtomComponent.hasProperty

  - Defined in src/core/AtomComponent.ts:254

  Control checks if property is declared on the control or not. Since TypeScript no longer creates enumerable properties, we have to inspect name and PropertyMap which is generated by `@BindableProperty` or the value is not set to undefined.

  #### Parameters

  - ##### name: string

    name of Property

  #### Returns boolean

### invalidate

- invalidate(): void

- - Defined in src/core/AtomComponent.ts:406

  #### Returns void

### onPropertyChanged

- onPropertyChanged(name: string): void

- Implementation of INotifyPropertyChanged.onPropertyChanged

  - Defined in src/core/AtomComponent.ts:382

  #### Parameters

  - ##### name: string

  #### Returns void

### onUpdateUI

- onUpdateUI(): void

- - Defined in src/core/AtomComponent.ts:418

  #### Returns void

### Protected preCreate

- preCreate(): void

- - Defined in src/core/AtomComponent.ts:517

  #### Returns void

### registerDisposable

- registerDisposable(d: IDisposable): IDisposable

- - Defined in src/core/AtomComponent.ts:430

  #### Parameters

  - ##### d: IDisposable

  #### Returns IDisposable

### Protected render

- render(node: XNode, e?: any, creator?: any): void

- - Defined in src/core/AtomComponent.ts:434

  #### Parameters

  - ##### node: XNode

  - ##### Optional e: any

  - ##### Optional creator: any

  #### Returns void

### Protected resolve

- resolve<TService>(c: TService, selfName?: string | function): IAnyInstanceType<TService>

- - Defined in src/core/AtomComponent.ts:525

  #### Type parameters

  - #### TService

  #### Parameters

  - ##### c: TService

  - ##### Optional selfName: string | function

  #### Returns IAnyInstanceType<TService>

### runAfterInit

- runAfterInit(f: function): void

- - Defined in src/core/AtomComponent.ts:422

  #### Parameters

  - ##### f: function

    - - (): void

      - #### Returns void

### Protected setElementValue

- setElementValue(element: T, name: string, value: any): void

- - Defined in src/core/AtomComponent.ts:521

  #### Parameters

  - ##### element: T

  - ##### name: string

  - ##### value: any

  #### Returns void

### setLocalValue

- setLocalValue(element: T, name: string, value: any): void

- - Defined in src/core/AtomComponent.ts:306

  #### Parameters

  - ##### element: T

  - ##### name: string

  - ##### value: any

  #### Returns void

### setPrimitiveValue

- setPrimitiveValue(element: T, name: string, value: any): void

- - Defined in src/core/AtomComponent.ts:271

  Use this method if you want to set attribute on HTMLElement immediately but defer atom control property

  #### Parameters

  - ##### element: T

    HTMLElement

  - ##### name: string

    string

  - ##### value: any

    any

  #### Returns void

### unbind

- unbind(element: T, name?: string): void

- - Defined in src/core/AtomComponent.ts:178

  Remove all bindings associated with given element and optional name

  #### Parameters

  - ##### element: T

    T

  - ##### Optional name: string

    string

  #### Returns void

### unbindEvent

- unbindEvent(element: T, name?: string, method?: EventListenerOrEventListenerObject, key?: string): void

- - Defined in src/core/AtomComponent.ts:216

  #### Parameters

  - ##### element: T

  - ##### Optional name: string

  - ##### Optional method: EventListenerOrEventListenerObject

  - ##### Optional key: string

  #### Returns void

Generated using TypeDoc