Creates and hosts an instance of AtomControl available at given URL. Query string parameters from the url will be passed to view model as initial property values.

By default stack is turned off, so elements and controls will be destroyed when new control is hosted.

### Hierarchy

- AtomControl
  - AtomFrame

### Implements

- IAtomComponent<IAtomElement>
- INotifyPropertyChanged
- INotifyPropertyChanged

## Index

### Constructors

- constructor

### Properties

- app
- backCommand
- current
- currentDisposable
- defaultControlStyle
- disposables
- element
- keepStack
- name
- pagePresenter
- pendingInits
- saveScrollPosition
- stack
- isControl

### Accessors

- canGoBack
- controlStyle
- data
- localViewModel
- parent
- theme
- url
- viewModel
- vsProps

### Methods

- append
- atomParent
- beginEdit
- bind
- bindEvent
- canChange
- clearStack
- create
- dispose
- hasProperty
- invalidate
- load
- loadForReturn
- onBackCommand
- onPropertyChanged
- onUpdateSize
- onUpdateUI
- popStack
- preCreate
- push
- registerDisposable
- removeAllChildren
- render
- resolve
- runAfterInit
- setElementClass
- setElementValue
- setLocalValue
- setPrimitiveValue
- setUrl
- toUpperCase
- unbind
- unbindEvent
- updateSize

## Constructors

### constructor

- new AtomFrame(app: App, e?: HTMLElement): AtomFrame

- Overrides AtomControl.constructor

  - Defined in src/web/controls/AtomFrame.ts:68

  #### Parameters

  - ##### app: App

  - ##### Optional e: HTMLElement

  #### Returns AtomFrame

## Properties

### app

app: App

Implementation of IAtomComponent.app

Inherited from AtomComponent.app

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

### backCommand

backCommand: function

- Defined in src/web/controls/AtomFrame.ts:48

#### Type declaration

- - (): void

  - #### Returns void

### current

current: AtomControl

- Defined in src/web/controls/AtomFrame.ts:42

### currentDisposable

currentDisposable: IDisposable

- Defined in src/web/controls/AtomFrame.ts:46

### defaultControlStyle

defaultControlStyle: any

Inherited from AtomControl.defaultControlStyle

- Defined in src/web/controls/AtomControl.ts:46

### disposables

disposables: AtomDisposableList

Inherited from AtomComponent.disposables

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

### element

element: HTMLElement

Implementation of IAtomComponent.element

Inherited from AtomComponent.element

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

### keepStack

keepStack: boolean

- Defined in src/web/controls/AtomFrame.ts:40

### name

name: string

- Defined in src/web/controls/AtomFrame.ts:38

### pagePresenter

pagePresenter: HTMLElement

- Defined in src/web/controls/AtomFrame.ts:44

### Protected pendingInits

pendingInits: Array<function>

Inherited from AtomComponent.pendingInits

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

### saveScrollPosition

saveScrollPosition: boolean

- Defined in src/web/controls/AtomFrame.ts:50

### stack

stack: IPageItem[]

- Defined in src/web/controls/AtomFrame.ts:32

### Static isControl

isControl: true = true

Inherited from AtomComponent.isControl

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

## Accessors

### canGoBack

- get canGoBack(): boolean

- - Defined in src/web/controls/AtomFrame.ts:34

  #### Returns boolean

### controlStyle

- get controlStyle(): AtomStyle
- set controlStyle(v: AtomStyle): void

- Inherited from AtomControl.controlStyle

  - Defined in src/web/controls/AtomControl.ts:49

  #### Returns AtomStyle

- Inherited from AtomControl.controlStyle

  - Defined in src/web/controls/AtomControl.ts:67

  #### Parameters

  - ##### v: AtomStyle

  #### Returns void

### data

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

- Inherited from AtomComponent.data

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

  #### Returns any

- Inherited from AtomComponent.data

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

  #### Parameters

  - ##### v: any

  #### Returns void

### localViewModel

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

- Inherited from AtomComponent.localViewModel

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

  #### Returns any

- Inherited from AtomComponent.localViewModel

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

  #### Parameters

  - ##### v: any

  #### Returns void

### parent

- get parent(): AtomControl

- Inherited from AtomControl.parent

  Overrides AtomComponent.parent

  - Defined in src/web/controls/AtomControl.ts:99

  Gets Parent AtomControl of this control.

  #### Returns AtomControl

### theme

- get theme(): AtomStyleSheet
- set theme(v: AtomStyleSheet): void

- Inherited from AtomControl.theme

  - Defined in src/web/controls/AtomControl.ts:86

  Represents associated AtomStyleSheet with this visual hierarchy. AtomStyleSheet is inherited by default.

  #### Returns AtomStyleSheet

- Inherited from AtomControl.theme

  - Defined in src/web/controls/AtomControl.ts:91

  Represents associated AtomStyleSheet with this visual hierarchy. AtomStyleSheet is inherited by default.

  #### Parameters

  - ##### v: AtomStyleSheet

  #### Returns void

### url

- get url(): string
- set url(value: string): void

- - Defined in src/web/controls/AtomFrame.ts:53

  #### Returns string

- - Defined in src/web/controls/AtomFrame.ts:56

  #### Parameters

  - ##### value: string

  #### Returns void

### viewModel

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

- Inherited from AtomComponent.viewModel

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

  #### Returns any

- Inherited from AtomComponent.viewModel

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

  #### Parameters

  - ##### v: any

  #### Returns void

### vsProps

- get vsProps(): object | object | __type

- Inherited from AtomComponent.vsProps

  - 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

### append

- append(element: AtomControl | HTMLElement | Text): AtomControl

- Inherited from AtomControl.append

  Overrides AtomComponent.append

  - Defined in src/web/controls/AtomControl.ts:132

  #### Parameters

  - ##### element: AtomControl | HTMLElement | Text

  #### Returns AtomControl

### atomParent

- atomParent(e: HTMLElement): AtomControl

- Inherited from AtomControl.atomParent

  Overrides AtomComponent.atomParent

  - Defined in src/web/controls/AtomControl.ts:121

  #### Parameters

  - ##### e: HTMLElement

  #### Returns AtomControl

### beginEdit

- beginEdit(): IDisposable

- Inherited from AtomComponent.beginEdit

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

  #### Returns IDisposable

### bind

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

- Inherited from AtomComponent.bind

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

  #### Parameters

  - ##### element: HTMLElement

  - ##### 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: HTMLElement, name?: string, method?: EventListenerOrEventListenerObject, key?: string): IDisposable

- Inherited from AtomComponent.bindEvent

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

  #### Parameters

  - ##### element: HTMLElement

  - ##### Optional name: string

  - ##### Optional method: EventListenerOrEventListenerObject

  - ##### Optional key: string

  #### Returns IDisposable

### canChange

- canChange(): Promise<boolean>

- - Defined in src/web/controls/AtomFrame.ts:111

  #### Returns Promise<boolean>

### Protected clearStack

- clearStack(): void

- - Defined in src/web/controls/AtomFrame.ts:231

  #### Returns void

### Protected create

- create(): void

- Inherited from AtomComponent.create

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

  #### Returns void

### dispose

- dispose(e?: HTMLElement): void

- Inherited from AtomComponent.dispose

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

  #### Parameters

  - ##### Optional e: HTMLElement

  #### Returns void

### hasProperty

- hasProperty(name: string): boolean

- Implementation of IAtomComponent.hasProperty

  Inherited from AtomComponent.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

- Inherited from AtomComponent.invalidate

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

  #### Returns void

### load

- load(url: AtomUri, clearHistory?: boolean): Promise<AtomControl>

- - Defined in src/web/controls/AtomFrame.ts:152

  #### Parameters

  - ##### url: AtomUri

  - ##### Optional clearHistory: boolean

  #### Returns Promise<AtomControl>

### Protected loadForReturn

- loadForReturn(url: AtomUri, clearHistory?: boolean): Promise<any>

- - Defined in src/web/controls/AtomFrame.ts:200

  #### Parameters

  - ##### url: AtomUri

  - ##### Optional clearHistory: boolean

  #### Returns Promise<any>

### onBackCommand

- onBackCommand(): Promise<void>

- - Defined in src/web/controls/AtomFrame.ts:74

  #### Returns Promise<void>

### onPropertyChanged

- onPropertyChanged(name: string): void

- Implementation of INotifyPropertyChanged.onPropertyChanged

  Inherited from AtomControl.onPropertyChanged

  Overrides AtomComponent.onPropertyChanged

  - Defined in src/web/controls/AtomControl.ts:111

  #### Parameters

  - ##### name: string

  #### Returns void

### Protected onUpdateSize

- onUpdateSize(): void

- Inherited from AtomControl.onUpdateSize

  - Defined in src/web/controls/AtomControl.ts:301

  #### Returns void

### onUpdateUI

- onUpdateUI(): void

- Inherited from AtomComponent.onUpdateUI

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

  #### Returns void

### popStack

- popStack(windowClosed?: boolean): void

- - Defined in src/web/controls/AtomFrame.ts:93

  This will pop page from the stack and set as current

  #### Parameters

  - ##### Optional windowClosed: boolean

    true if current page was closed by User Action

  #### Returns void

### Protected preCreate

- preCreate(): void

- Overrides AtomControl.preCreate

  - Defined in src/web/controls/AtomFrame.ts:244

  #### Returns void

### push

- push(ctrl: AtomControl): void

- - Defined in src/web/controls/AtomFrame.ts:119

  #### Parameters

  - ##### ctrl: AtomControl

  #### Returns void

### registerDisposable

- registerDisposable(d: IDisposable): IDisposable

- Inherited from AtomComponent.registerDisposable

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

  #### Parameters

  - ##### d: IDisposable

  #### Returns IDisposable

### Protected removeAllChildren

- removeAllChildren(e: HTMLElement): void

- Inherited from AtomControl.removeAllChildren

  - Defined in src/web/controls/AtomControl.ts:305

  #### Parameters

  - ##### e: HTMLElement

  #### Returns void

### Protected render

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

- Inherited from AtomComponent.render

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

- Inherited from AtomComponent.resolve

  - 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

- Inherited from AtomComponent.runAfterInit

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

  #### Parameters

  - ##### f: function

    - - (): void

      - #### Returns void

### Protected setElementClass

- setElementClass(element: HTMLElement, value: any, clear?: boolean): void

- Inherited from AtomControl.setElementClass

  - Defined in src/web/controls/AtomControl.ts:263

  #### Parameters

  - ##### element: HTMLElement

  - ##### value: any

  - ##### Optional clear: boolean

  #### Returns void

### Protected setElementValue

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

- Inherited from AtomControl.setElementValue

  Overrides AtomComponent.setElementValue

  - Defined in src/web/controls/AtomControl.ts:158

  #### Parameters

  - ##### element: HTMLElement

  - ##### name: string

  - ##### value: any

  #### Returns void

### setLocalValue

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

- Inherited from AtomComponent.setLocalValue

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

  #### Parameters

  - ##### element: HTMLElement

  - ##### name: string

  - ##### value: any

  #### Returns void

### setPrimitiveValue

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

- Inherited from AtomComponent.setPrimitiveValue

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

    HTMLElement

  - ##### name: string

    string

  - ##### value: any

    any

  #### Returns void

### Protected setUrl

- setUrl(urlString: string): void

- - Defined in src/web/controls/AtomFrame.ts:194

  #### Parameters

  - ##### urlString: string

  #### Returns void

### toUpperCase

- toUpperCase(s: string): string

- - Defined in src/web/controls/AtomFrame.ts:187

  #### Parameters

  - ##### s: string

  #### Returns string

### unbind

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

- Inherited from AtomComponent.unbind

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

  Remove all bindings associated with given element and optional name

  #### Parameters

  - ##### element: HTMLElement

    T

  - ##### Optional name: string

    string

  #### Returns void

### unbindEvent

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

- Inherited from AtomComponent.unbindEvent

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

  #### Parameters

  - ##### element: HTMLElement

  - ##### Optional name: string

  - ##### Optional method: EventListenerOrEventListenerObject

  - ##### Optional key: string

  #### Returns void

### updateSize

- updateSize(): void

- Inherited from AtomControl.updateSize

  - Defined in src/web/controls/AtomControl.ts:141

  #### Returns void

Generated using TypeDoc