### Type parameters

- #### T: IAtomElement

- #### TC: IAtomComponent<T>

### Hierarchy

- AtomComponent
  - AtomControl
  - AtomXFControl

### Implements

- IAtomComponent<IAtomElement>
- INotifyPropertyChanged

## Index

### Constructors

- constructor

### Properties

- app
- element
- pendingInits

### Accessors

- data
- localViewModel
- parent
- viewModel

### Methods

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

## Constructors

### constructor

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

- - Defined in core/AtomComponent.ts:119

  #### Parameters

  - ##### app: App

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

  #### Returns AtomComponent

## Properties

### app

app: App

Implementation of IAtomComponent.app

- Defined in core/AtomComponent.ts:122

### element

element: T

Implementation of IAtomComponent.element

- Defined in core/AtomComponent.ts:123

### Protected pendingInits

pendingInits: Array<function>

- Defined in core/AtomComponent.ts:43

## Accessors

### data

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

- - Defined in core/AtomComponent.ts:52

  #### Returns any

- - Defined in core/AtomComponent.ts:63

  #### Parameters

  - ##### v: any

  #### Returns void

### localViewModel

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

- - Defined in core/AtomComponent.ts:90

  #### Returns any

- - Defined in core/AtomComponent.ts:101

  #### Parameters

  - ##### v: any

  #### Returns void

### parent

- get parent(): TC

- - Defined in core/AtomComponent.ts:110

  #### Returns TC

### viewModel

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

- - Defined in core/AtomComponent.ts:69

  #### Returns any

- - Defined in core/AtomComponent.ts:80

  #### Parameters

  - ##### v: any

  #### Returns void

## Methods

### Abstract append

- append(element: T | TC): TC

- - Defined in core/AtomComponent.ts:361

  #### Parameters

  - ##### element: T | TC

  #### Returns TC

### Abstract atomParent

- atomParent(e: T): TC

- - Defined in core/AtomComponent.ts:137

  #### Parameters

  - ##### e: T

  #### Returns TC

### beginEdit

- beginEdit(): IDisposable

- - Defined in core/AtomComponent.ts:368

  #### Returns IDisposable

### bind

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

- - Defined in core/AtomComponent.ts:139

  #### 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 core/AtomComponent.ts:177

  #### Parameters

  - ##### element: T

  - ##### Optional name: string

  - ##### Optional method: EventListenerOrEventListenerObject

  - ##### Optional key: string

  #### Returns IDisposable

### Protected create

- create(): void

- - Defined in core/AtomComponent.ts:423

  #### Returns void

### dispose

- dispose(e?: T): void

- - Defined in core/AtomComponent.ts:316

  #### Parameters

  - ##### Optional e: T

  #### Returns void

### hasProperty

- hasProperty(name: string): boolean

- Implementation of IAtomComponent.hasProperty

  - Defined in core/AtomComponent.ts:236

  #### Parameters

  - ##### name: string

  #### Returns boolean

### invalidate

- invalidate(): void

- - Defined in core/AtomComponent.ts:388

  #### Returns void

### onPropertyChanged

- onPropertyChanged(name: string): void

- Implementation of INotifyPropertyChanged.onPropertyChanged

  - Defined in core/AtomComponent.ts:364

  #### Parameters

  - ##### name: string

  #### Returns void

### onUpdateUI

- onUpdateUI(): void

- - Defined in core/AtomComponent.ts:400

  #### Returns void

### Protected preCreate

- preCreate(): void

- - Defined in core/AtomComponent.ts:428

  #### Returns void

### registerDisposable

- registerDisposable(d: IDisposable): IDisposable

- - Defined in core/AtomComponent.ts:412

  #### Parameters

  - ##### d: IDisposable

  #### Returns IDisposable

### Protected resolve

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

- - Defined in core/AtomComponent.ts:436

  #### Type parameters

  - #### TService

  #### Parameters

  - ##### c: IClassOf<TService>

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

  #### Returns TService

### runAfterInit

- runAfterInit(f: function): void

- - Defined in core/AtomComponent.ts:404

  #### Parameters

  - ##### f: function

    - - (): void

      - #### Returns void

### Protected setElementValue

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

- - Defined in core/AtomComponent.ts:432

  #### Parameters

  - ##### element: T

  - ##### name: string

  - ##### value: any

  #### Returns void

### setLocalValue

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

- - Defined in core/AtomComponent.ts:286

  #### Parameters

  - ##### element: T

  - ##### name: string

  - ##### value: any

  #### Returns void

### setPrimitiveValue

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

- - Defined in core/AtomComponent.ts:251

  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 core/AtomComponent.ts:169

  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 core/AtomComponent.ts:207

  #### Parameters

  - ##### element: T

  - ##### Optional name: string

  - ##### Optional method: EventListenerOrEventListenerObject

  - ##### Optional key: string

  #### Returns void

Generated using TypeDoc