### 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:129

  #### Parameters

  - ##### app: App

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

  #### Returns AtomComponent

## Properties

### app

app: App

Implementation of IAtomComponent.app

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

### disposables

disposables: AtomDisposableList

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

### element

element: T

Implementation of IAtomComponent.element

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

### Protected pendingInits

pendingInits: Array<function>

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

### Static isControl

isControl: true = true

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

## Accessors

### data

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

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

  #### Returns any

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

  #### Parameters

  - ##### v: any

  #### Returns void

### localViewModel

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

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

  #### Returns any

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

  #### Parameters

  - ##### v: any

  #### Returns void

### parent

- get parent(): TC

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

  #### Returns TC

### viewModel

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

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

  #### Returns any

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

  #### Parameters

  - ##### v: any

  #### Returns void

### vsProps

- get vsProps(): object | object | __type

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

  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:368

  #### Parameters

  - ##### element: T | TC

  #### Returns TC

### Abstract atomParent

- atomParent(e: T): TC

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

  #### Parameters

  - ##### e: T

  #### Returns TC

### beginEdit

- beginEdit(): IDisposable

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

  #### Returns IDisposable

### bind

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

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

  #### 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:185

  #### Parameters

  - ##### element: T

  - ##### Optional name: string

  - ##### Optional method: EventListenerOrEventListenerObject

  - ##### Optional key: string

  #### Returns IDisposable

### Protected create

- create(): void

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

  #### Returns void

### dispose

- dispose(e?: T): void

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

  #### Parameters

  - ##### Optional e: T

  #### Returns void

### hasProperty

- hasProperty(name: string): boolean

- Implementation of IAtomComponent.hasProperty

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

  #### Parameters

  - ##### name: string

  #### Returns boolean

### invalidate

- invalidate(): void

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

  #### Returns void

### onPropertyChanged

- onPropertyChanged(name: string): void

- Implementation of INotifyPropertyChanged.onPropertyChanged

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

  #### Parameters

  - ##### name: string

  #### Returns void

### onUpdateUI

- onUpdateUI(): void

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

  #### Returns void

### Protected preCreate

- preCreate(): void

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

  #### Returns void

### registerDisposable

- registerDisposable(d: IDisposable): IDisposable

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

  #### Parameters

  - ##### d: IDisposable

  #### Returns IDisposable

### Protected render

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

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

  #### 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:514

  #### Type parameters

  - #### TService

  #### Parameters

  - ##### c: TService

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

  #### Returns IAnyInstanceType<TService>

### runAfterInit

- runAfterInit(f: function): void

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

  #### Parameters

  - ##### f: function

    - - (): void

      - #### Returns void

### Protected setElementValue

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

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

  #### Parameters

  - ##### element: T

  - ##### name: string

  - ##### value: any

  #### Returns void

### setLocalValue

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

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

  #### Parameters

  - ##### element: T

  - ##### name: string

  - ##### value: any

  #### Returns void

### setPrimitiveValue

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

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

  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:177

  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:215

  #### Parameters

  - ##### element: T

  - ##### Optional name: string

  - ##### Optional method: EventListenerOrEventListenerObject

  - ##### Optional key: string

  #### Returns void

Generated using TypeDoc