Options
All
  • Public
  • Public/Protected
  • All
Menu

A Wizard Panel is an extension of {@link infrastructure.ui.components.SmartPanel.SmartPanelViewModel} that adds the ability to create simple step-by-step wizards within the panel's managed region.

The container header displays a "Back" button along with a "Close" button. The "Back" button takes the wizard back one step. The "Close" button quits the wizard and discards any data that has been entered so far. The "Back" button is disabled on the first step.

It is up to the originating views to define what "Next" means. Typically you would activate the dialog for the next step.

Hierarchy

Index

Constructors

Properties

Methods

Constructors

constructor

Properties

Protected _activatingForViewInContainer

_activatingForViewInContainer: boolean

Protected _active

_active: boolean

Protected _activeViewIsASmartPanel

_activeViewIsASmartPanel: boolean

Set to true if the currently active view in the managed region is itself an instance of SmartPanelView.

Protected _hasDiscoveredRegions

_hasDiscoveredRegions: boolean

Protected _isDestroyed

_isDestroyed: boolean

Protected _keyDownEventToken

_keyDownEventToken: any

Protected _menuItemInvokedSubscriptionToken

_menuItemInvokedSubscriptionToken: string

Subscription token for the binding event for the menu item invoked event

Protected _menuViews

_menuViews: object

Menu views created by this component, tracked to ensure we don't "leak" any instances of MenuView.

Type declaration

Protected _parentPanel

_parentPanel: SmartPanelView

The parent panel of this one, if this view is hosted in a region controlled by another instance of SmartPanelView.

Protected _startupHoistPromise

_startupHoistPromise: Promise<void>

Protected _startupView

_startupView: ViewBase

So we don't go crazy hoisting menus on startup -- just handle the last view that activated during the process

app

Reference to the viewer application.

Private bindingSetupDelegates

bindingSetupDelegates: function[]

bindingTree

bindingTree: BindingNode

The tree of binding nodes represented in the markup.

bound

bound: boolean

Whether or not this view has been bound.

childRegions

childRegions: RegionAdapterBase[]

Regions belonging to (hosted in) this view.

configuration

configuration: any

Configuration materials.

containerElement

containerElement: HTMLElement

The container area

description

description: Observable<string>

The Observable description of the view.

Private disposableBindings

disposableBindings: DisposableBinding[]

footerElement

footerElement: HTMLElement

The footer area

footerInsertDomElement

footerInsertDomElement: Observable<HTMLElement>

headerElement

headerElement: HTMLElement

The header area

headerInsertDomElement

headerInsertDomElement: Observable<HTMLElement>

hoistedMenuId

hoistedMenuId: string

The ID of the menu most recently hoisted.

hoistedMenuOwnerView

hoistedMenuOwnerView: MenuView

The view of the currently hoisted menu.

hostView

hostView: ViewBase

A reference to the view that hosts the region that contains this view (if any)

iconUri

iconUri: Observable<string>

The Observable icon URI of the view.

id

id: string

initiallyBound

initiallyBound: boolean

Indicates whether this view has been initialized and bound for the first time.

isActive

isActive: boolean

Whether or not this view is active.

isBusy

isBusy: Observable<boolean>

The Observable isBusy flag of the view.

isManaged

isManaged: boolean

Whether or not this view is allowed to be managed by some sort of view management component.

libraryId

libraryId: string

markupResource

markupResource: string

Resource name of the markup for this view (if any).

menuButtonElement

menuButtonElement: HTMLElement

The menu button element.

menuWidget

menuWidget: HTMLElement

Root of the hoisted menu

parentView

parentView: ViewBase

The parent view of this view, if this view is the result of a collection binding.

regionName

regionName: string

The name of the region that this view is hosted in.

resizableRegion

resizableRegion: HTMLElement

The parent region that is actually resized when the panel is resized

resizePreviewElement

resizePreviewElement: HTMLElement

An element used to show the changing dimensions panel during resizing

resizeX

resizeX: boolean

Whether the panel is able to be resized horizontally

resizeY

resizeY: boolean

Whether the panel is able to be resized vertically

root

root: HTMLElement

The root DOM element of this view.

scrollContainerBottom

scrollContainerBottom: Observable<number>

scrollContainerTop

scrollContainerTop: Observable<number>

scrollRegionElement

scrollRegionElement: HTMLElement

The scroll area

statusRegionElement

statusRegionElement: HTMLElement

The optional status message region

title

title: Observable<string>

The Observable title of the view.

typeName

typeName: string

The type name of this view.

viewModel

The View Model backing this view.

Static HOISTED_CLASS_NAME

HOISTED_CLASS_NAME: string

Methods

Protected _broadcastClosedEvent

  • _broadcastClosedEvent(view: ViewBase, xButton: boolean, backButton: boolean): void

Protected _canExecuteMaximizeRestoreOperations

  • _canExecuteMaximizeRestoreOperations(): boolean

Protected _closeCurrentView

  • _closeCurrentView(ctx: any): void

Protected _destroyHoistedMenuOwnerViewIfExists

  • _destroyHoistedMenuOwnerViewIfExists(): void

Protected _documentKeyDown

  • _documentKeyDown(e: KeyboardEvent): void
  • Handles the document key down event so that the view container can be closed when the escape key is pressed.

    Parameters

    • e: KeyboardEvent

      The event object.

    Returns void

Protected _handleRegionActivatedOrDeactivated

Protected _handleResizeEnd

  • _handleResizeEnd(evt: JQueryEventObject, resizeInformation: ResizeInformation): void

Protected _handleViewActivatedInContainerEvent

  • _handleViewActivatedInContainerEvent(view: ViewBase): void

Protected _initializeEvents

  • _initializeEvents(): void

Protected _resizeAccordingToSizeConstraints

  • _resizeAccordingToSizeConstraints(resizeInformation: ResizeInformation, elementToResize: HTMLElement): void

Protected _togglePanelMaximized

  • _togglePanelMaximized(viewId: string, operation: string): void

activateContainer

  • activateContainer(): void

activated

  • activated(): void

addDisposableBinding

  • addDisposableBinding(observable: Observable<any>, token: string): void
  • Adds an Observable binding that will be disposed of when the view is destroyed.

    Parameters

    • observable: Observable<any>

      The Observable to bind to.

    • token: string

      The token received from binding to the observable.

    Returns void

added

  • added(widgetViewHost?: ViewBase): void
  • Called when the view has been added to a region or as another view in the form of a widget.

    Parameters

    Returns void

applyBinding

  • Applies a binding expression to a DOM node based on the type name of the binding.

    Parameters

    • el: HTMLElement

      The element being bound.

    • binding: BindingExpression

      The binding expression.

    • currentContext: any

      The current data context.

    • bindingNode: BindingNode

      The binding node to apply.

    Returns boolean

attach

  • attach(viewModelArg?: any): void

auto

  • auto(arg0: any, arg1: any, arg2: any): void
  • Binds a handler to an Observable or to a dojo.connect. Binding to an Observable:

    ``` this.auto(someObservable, function (newValue) { });

    with explicit scope:

    this.auto(someObservable, this, function (newValue) { });

    Alternately, pass an event name as a string to use dojo.connect:

    this.auto(window, "onclick", function () { }); ```

    Parameters

    • arg0: any

      Either an Observable (for observable bindings) or a regular object (if arg1 is a string)

    • arg1: any

      If arg0 is an Observable, a function or scope object. Otherwise, an event name (to use with dojo.connect).

    • arg2: any

      If arg0 is an Observable, a function handler.

    Returns void

buildAttributeBinding

  • buildAttributeBinding(el: HTMLElement, binding: BindingExpression, currentContext: any, directAttach?: boolean): boolean
  • Builds a DOM attribute binding, binding a DOM attribute to a view model property or attaching directly to the DOM object.

    Parameters

    • el: HTMLElement

      The element being bound.

    • binding: BindingExpression

      The binding expression.

    • currentContext: any

      The current data context.

    • Optional directAttach: boolean

      Whether or not to directly modify the actual DOM element's own properties. Defaults to false.

    Returns boolean

buildClassBinding

  • buildClassBinding(el: HTMLElement, binding: BindingExpression, currentContext: any): boolean

buildDisabledBinding

  • buildDisabledBinding(el: HTMLElement, binding: BindingExpression, currentContext: any): boolean
  • Builds an enabled/disabled binding, simulating a cascading enabled/disabled state.

    Parameters

    • el: HTMLElement

      The element being bound.

    • binding: BindingExpression

      The binding expression.

    • currentContext: any

      The current data context.

    Returns boolean

buildDomBinding

  • buildDomBinding(el: HTMLElement, binding: BindingExpression, currentContext: any): boolean
  • Builds a one-time DOM binding, binding to a DOM element in the view codebehind.

    Parameters

    • el: HTMLElement

      The element being bound.

    • binding: BindingExpression

      The binding expression.

    • currentContext: any

      The current data context.

    Returns boolean

buildEventBinding

  • buildEventBinding(el: HTMLElement, binding: BindingExpression, currentContext: any): boolean
  • Builds an event binding, binding a DOM event to an event handler in the view.

    Parameters

    Returns boolean

buildSourceBinding

  • Builds a complex binding between a source and template element. Allows binding to collections of complex objects or singular complex objects.

    Parameters

    • el: HTMLElement

      The element being bound.

    • binding: BindingExpression

      The binding expression.

    • currentContext: any

      The current data context.

    • bindingNode: BindingNode

      The current binding node in the binding tree.

    Returns boolean

buildStyleBinding

  • buildStyleBinding(el: HTMLElement, binding: BindingExpression, currentContext: any): boolean
  • Builds an inline CSS style binding.

    Parameters

    • el: HTMLElement

      The element being bound.

    • binding: BindingExpression

      The binding expression.

    • currentContext: any

      The current data context.

    Returns boolean

buildTextBinding

  • buildTextBinding(el: HTMLElement, binding: BindingExpression, currentContext: any): boolean
  • Builds a sanitized text binding. Strips out unsafe characters, and allows direct referencing of language keys.

    Parameters

    • el: HTMLElement

      The element being bound.

    • binding: BindingExpression

      The binding expression.

    • currentContext: any

      The current data context.

    Returns boolean

buildTree

  • buildTree(): any
  • Builds a tree of all binding expressions in this view and hooks up binding events as it goes. This method will recursively descend the DOM structure of its visual root and resolve binding expressions.

    Returns any

buildValueBinding

  • buildValueBinding(el: HTMLElement, binding: BindingExpression, currentContext: any): boolean
  • Builds a two-way binding between a form control and an Observable.

    Parameters

    • el: HTMLElement

      The element being bound.

    • binding: BindingExpression

      The binding expression.

    • currentContext: any

      The current data context.

    Returns boolean

buildVarBinding

  • buildVarBinding(el: HTMLElement, binding: BindingExpression, currentContext: any): void
  • Builds a var binding, creating a variable in the view that references a DOM element.

    Parameters

    • el: HTMLElement

      The element being bound.

    • binding: BindingExpression

      The binding expression.

    • currentContext: any

      The current data context.

    Returns void

buildVisibilityBinding

  • buildVisibilityBinding(el: HTMLElement, binding: BindingExpression, currentContext: any): boolean
  • Builds a visibility binding.

    Parameters

    • el: HTMLElement

      The element being bound.

    • binding: BindingExpression

      The binding expression.

    • currentContext: any

      The current data context.

    Returns boolean

buildWidgetBinding

  • buildWidgetBinding(el: HTMLElement, binding: BindingExpression, currentContext: any): boolean
  • Builds a (one-time) widget binding.

    Parameters

    • el: HTMLElement

      The element being bound.

    • binding: BindingExpression

      The binding expression.

    • currentContext: any

      The current data context.

    Returns boolean

cancel

  • cancel(): void
  • Cancels the wizard and discards any data that has been entered so far.

    Returns void

createMenuView

  • Creates a new instance of {@link menus.MenuView} with the default menu template.

    Parameters

    Returns MenuView

deactivateContainer

  • deactivateContainer(): void

deactivated

  • deactivated(): void

delayedResize

  • delayedResize(): void
  • Works the same as resize() but after a small delay. This is useful if other elements still need to settle down.

    Returns void

destroy

  • destroy(): void

destroyBindings

  • destroyBindings(): void
  • Destroys all of this view's bindings, and by extension any views bound under this one. The primary purpose of this is to remove event subscriptions due to binding as well as dereferencing expensive DOM nodes so that they may be discarded.

    Returns void

finish

  • finish(): void
  • Completes the wizard.

    Returns void

getBindingTarget

  • Returns the target of a binding expression, taking into consideration Observables and pseudo-targets.

    Parameters

    Returns any

getResource

  • getResource(resourceKey: string, locale?: string): string
  • Gets a language resource from the Application's resource dictionary, given a key, and optional locale. Returns null if the resource does not exist.

    Parameters

    • resourceKey: string
    • Optional locale: string

      The locale of the resource to fetch. Defaults to the current application locale.

    Returns string

getZerothView

handleClickBack

  • handleClickBack(evt: Event, el: HTMLElement, ctx: any): void

handleClickClose

  • handleClickClose(evt: Event, el: HTMLElement, ctx: any): void

handleClickCloseTab

  • handleClickCloseTab(evt: Event, el: HTMLElement, ctx: any): void

handleClickTab

  • handleClickTab(evt: Event, el: HTMLElement, ctx: any): void

handleHeaderMouseDown

  • handleHeaderMouseDown(evt: MouseEvent, el: HTMLElement, ctx: any): boolean

handleHeaderTouchStart

  • handleHeaderTouchStart(evt: any, el: HTMLElement, ctx: any): boolean

handleMaximizeToggleClick

  • handleMaximizeToggleClick(evt: Event, el: HTMLElement, ctx: any): void
  • Handles the maximize or minimize click events

    ctx

    ctx The current context.

    Parameters

    • evt: Event

      The triggering event.

    • el: HTMLElement

      The targeted element.

    • ctx: any

    Returns void

handleRegionActivatedEvent

handleRegionDeactivatedEvent

handleScrollChange

  • handleScrollChange(evt: Event, el: HTMLElement, ctx: any): void

handleTapMenuButton

  • handleTapMenuButton(): void
  • Handles a click or a tap on the hoisted menu button and opens the menu either as a popup, or as a new view in a region whose name provided in configuration for the view model.

    Returns void

hoistMenuForView

  • hoistMenuForView(view: ViewBase): void
  • "Hoists" the first menu found in a given view, hosting a copy of the menu either as a popup/dropdown menu in the header, or as a new view that will be activated in a region specified in view model configuration.

    Parameters

    • view: ViewBase

      The view to try hoisting a menu from.

    Returns void

isDestroyed

  • isDestroyed(): boolean

maximizePanel

  • maximizePanel(): void

minimizePanel

  • minimizePanel(): void

onDestroy

  • onDestroy(): void
  • Override or attach to provide custom clean-up behaviour.

    Returns void

openHoistedMenuInRegion

  • openHoistedMenuInRegion(regionName: string): void
  • Opens the hoisted menu as its own view in a particular region.

    Parameters

    • regionName: string

      The name of the region to activate the menu view in.

    Returns void

pulseAll

  • pulseAll(): void
  • Performs the initial data bind of the UI.

    Returns void

removed

  • removed(): void
  • Called when a view has been removed from a region.

    Returns void

resize

  • resize(): void

resizeSmartPanel

  • resizeSmartPanel(initialX: number, initialY: number): void

resolveBindingTemplate

  • Given a binding expression and a view model, resolves the correct template to use.

    Parameters

    • binding: BindingExpression

      The binding being satisfied.

    • viewModel: any

      The view model participating in the binding.

    Returns any

resolveWidget

setBindingTargetValue

  • Sets the value of the target of a binding expression, taking into consideration Observables and pseudo-targets.

    Parameters

    • binding: BindingExpression

      The binding whose target should be resolved.

    • value: any

      The value to set.

    Returns void

setParentPanel

  • Sets the parent panel of this one. This allows for nested panels to perform hoisting.

    Parameters

    • parentPanel: SmartPanelView

      The panel considered the parent of this one.

    Returns void

trackCommandHandler

  • trackCommandHandler(command: any, token: any): void
  • Tracks a subscription to an {@link geocortex.framework.commands.Command}, disposing it when this object is disposed with the destroy method.

    Parameters

    • command: any
    • token: any

    Returns void

trackSubscription

  • trackSubscription(event: any, token: any): void
  • Tracks a subscription to an {@link geocortex.framework.events.Event}, disposing it when this object is disposed with the destroy method.

    Parameters

    • event: any
    • token: any

    Returns void