Set to true
if the currently active view in the managed region is itself an instance of SmartPanelView.
Subscription token for the binding event for the menu item invoked event
Menu views created by this component, tracked to ensure we don't "leak" any instances of MenuView.
The parent panel of this one, if this view is hosted in a region controlled by another instance of SmartPanelView.
So we don't go crazy hoisting menus on startup -- just handle the last view that activated during the process
Reference to the viewer application.
The tree of binding nodes represented in the markup.
Whether or not this view has been bound.
Regions belonging to (hosted in) this view.
Configuration materials.
The container area
The Observable description of the view.
The footer area
The header area
The ID of the menu most recently hoisted.
The view of the currently hoisted menu.
A reference to the view that hosts the region that contains this view (if any)
The Observable icon URI of the view.
Indicates whether this view has been initialized and bound for the first time.
Whether or not this view is active.
The Observable isBusy flag of the view.
Whether or not this view is allowed to be managed by some sort of view management component.
Resource name of the markup for this view (if any).
The menu button element.
Root of the hoisted menu
The parent view of this view, if this view is the result of a collection binding.
The name of the region that this view is hosted in.
The parent region that is actually resized when the panel is resized
An element used to show the changing dimensions panel during resizing
Whether the panel is able to be resized horizontally
Whether the panel is able to be resized vertically
The root DOM element of this view.
The scroll area
The optional status message region
The Observable title of the view.
The type name of this view.
The View Model backing this view.
Handles the document key down event so that the view container can be closed when the escape key is pressed.
The event object.
When status messages are shown (or dismissed), the position of the scroll region element should be recalculated
Adds an Observable binding that will be disposed of when the view is destroyed.
The Observable to bind to.
The token received from binding to the observable.
Called when the view has been added to a region or as another view in the form of a widget.
Applies a binding expression to a DOM node based on the type name of the binding.
The element being bound.
The binding expression.
The current data context.
The binding node to apply.
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 () { }); ```
Either an Observable (for observable bindings) or a regular object (if arg1 is a string)
If arg0 is an Observable, a function or scope object. Otherwise, an event name (to use with dojo.connect).
If arg0 is an Observable, a function handler.
Builds a DOM attribute binding, binding a DOM attribute to a view model property or attaching directly to the DOM object.
The element being bound.
The binding expression.
The current data context.
Whether or not to directly modify the actual DOM element's own properties. Defaults to false
.
Build a class binding
Builds an enabled
/disabled
binding, simulating a cascading enabled/disabled state.
The element being bound.
The binding expression.
The current data context.
Builds a one-time DOM binding, binding to a DOM element in the view codebehind.
The element being bound.
The binding expression.
The current data context.
Builds an event binding, binding a DOM event to an event handler in the view.
Builds a complex binding between a source
and template
element.
Allows binding to collections of complex objects or singular complex objects.
The element being bound.
The binding expression.
The current data context.
The current binding node in the binding tree.
Builds an inline CSS style binding.
The element being bound.
The binding expression.
The current data context.
Builds a sanitized text binding. Strips out unsafe characters, and allows direct referencing of language keys.
The element being bound.
The binding expression.
The current data context.
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.
Builds a two-way binding between a form control and an Observable.
The element being bound.
The binding expression.
The current data context.
Builds a var binding, creating a variable in the view that references a DOM element.
The element being bound.
The binding expression.
The current data context.
Builds a visibility binding.
The element being bound.
The binding expression.
The current data context.
Builds a (one-time) widget binding.
The element being bound.
The binding expression.
The current data context.
Cancels the wizard and discards any data that has been entered so far.
Creates a new instance of {@link menus.MenuView} with the default menu template.
The view model for the new menu view.
Works the same as resize() but after a small delay. This is useful if other elements still need to settle down.
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.
Completes the wizard.
Returns the target of a binding expression, taking into consideration Observables and pseudo-targets.
The binding whose target should be resolved.
Gets a language resource from the Application's resource dictionary, given a key, and optional locale.
Returns null
if the resource does not exist.
The locale of the resource to fetch. Defaults to the current application locale.
Handles the maximize or minimize click events
The triggering event.
The targeted element.
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.
"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.
The view to try hoisting a menu from.
Maximizes the panel.
Minimizes the panel.
Override or attach to provide custom clean-up behaviour.
Opens the hoisted menu as its own view in a particular region.
The name of the region to activate the menu view in.
Performs the initial data bind of the UI.
Called when a view has been removed from a region.
Given a binding expression and a view model, resolves the correct template to use.
The binding being satisfied.
The view model participating in the binding.
Sets the value of the target of a binding expression, taking into consideration Observables and pseudo-targets.
The binding whose target should be resolved.
The value to set.
Sets the parent panel of this one. This allows for nested panels to perform hoisting.
The panel considered the parent of this one.
Tracks a subscription to an {@link geocortex.framework.commands.Command}, disposing it when this object is disposed with the destroy method.
Tracks a subscription to an {@link geocortex.framework.events.Event}, disposing it when this object is disposed with the destroy method.
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.