new module:crm/Application()
Extends:
Extends
Members
applicationmenu
Instance of SoHo Xi applicationmenu.
- Overrides:
- Source:
bars
Toolbar instances by key name
Properties:
Type | Description |
---|---|
Object |
- Overrides:
- Source:
currentOrientation
Properties:
Name | Type | Description |
---|---|---|
Current |
String | orientation of the application. Can be landscape or portrait. |
- Overrides:
- Source:
defaultService
The default Sage.SData.Client.SDataService instance
Properties:
Type | Description |
---|---|
Object |
- Overrides:
- Source:
enableConcurrencyCheck
Properties:
Name | Type | Description |
---|---|---|
enableConcurrencyCheck |
Boolean | Option to skip concurrency checks to avoid precondition/412 errors. |
- Overrides:
- Source:
maxUploadFileSize
Signifies the maximum file size that can be uploaded in bytes
Properties:
Type | Description |
---|---|
int |
- Overrides:
- Source:
ModelManager
All options are mixed into App itself
- Overrides:
- Source:
PING_DEBOUNCE
Ping debounce time.
- Overrides:
- Source:
PING_RETRY
Number of times to attempt to ping.
- Overrides:
- Source:
PING_TIMEOUT
Timeout for the connection check.
- Overrides:
- Source:
redirectHash
The hash to redirect to after login.
Properties:
Type | Description |
---|---|
String |
- Overrides:
- Source:
viewSettingsModal :Modal
Instance of SoHo Xi modal dialog for view settings. This was previously in the right drawer.
Type:
- Modal
- Overrides:
- Source:
viewShowOptions
Properties:
Name | Type | Description |
---|---|---|
viewShowOptions |
Array | Array with one configuration object that gets pushed before showing a view. Allows passing in options via routing. Value gets removed once the view is shown. |
- Overrides:
- Source:
Methods
_initAppStateSequence({index), {sequences))
Process a app state sequence and start the next sequnce when done.
Parameters:
Name | Type | Description |
---|---|---|
{index) |
the index of the sequence to start |
|
{sequences) |
an array of sequences |
- Overrides:
- Source:
_ping()
Returns a promise. The results are true of the resource came back before the PING_TIMEOUT. The promise is rejected if there is timeout or the response is not a 200 or 304.
- Overrides:
- Source:
_startupConnections()
Establishes various connections to events.
- Overrides:
- Source:
activate()
Sets the global variable App
to this instance.
- Overrides:
- Source:
destroy()
Loops through and disconnections connections and unsubscribes subscriptions. Also calls uninitialize.
- Overrides:
- Source:
filterNavigationContext(predicate, scope) → {Array}
Searches App.context.history by passing a predicate function that should return true if a match is found, false otherwise. This is similar to queryNavigationContext, however, this function will return an array of found items instead of a single item.
Parameters:
Name | Type | Description |
---|---|---|
predicate |
function | |
scope |
Object |
- Overrides:
- Source:
Returns:
context history filtered out by the predicate.
- Type
- Array
getContainerNode()
Returns the dom associated to the container element.
- Overrides:
- Deprecated:
- Yes
- Source:
getCurrentPage() → {DOMNode}
Gets the current page(domNode)
- Overrides:
- Source:
Returns:
- Type
- DOMNode
getCustomizationsFor(path)
Returns the customizations registered for the provided path.
Note: This also accepts the legacy signature:
getCustomizationsFor(set, id)
Where the path is list/tools
and id
is the view id
Parameters:
Name | Type | Description |
---|---|---|
path |
String | The customization set such as |
- Overrides:
- Source:
getPrimaryActiveView() → {View}
Gets the current page and then returns the result of getView(name).
- Overrides:
- Source:
Returns:
Returns the active view instance, if no view is active returns null.
- Type
- View
getService(name) → {Object}
Returns the registered SDataService instance by name, or returns the default service.
Parameters:
Name | Type | Description |
---|---|---|
name |
String/Boolean | If string service is looked up by name. If false, default service is returned. |
- Overrides:
- Source:
Returns:
The registered Sage.SData.Client.SDataService instance.
- Type
- Object
getView(key) → {View}
Returns the registered view instance with the associated key.
Parameters:
Name | Type | Description |
---|---|---|
key |
String/Object | The id of the view to return, if object then |
- Overrides:
- Source:
Returns:
view The requested view.
- Type
- View
getViews() → {Array.<View>}
Returns all the registered views.
- Overrides:
- Source:
Returns:
An array containing the currently registered views.
- Type
- Array.<View>
getViewSecurity(key, access)
Returns the defined security for a specific view
Parameters:
Name | Type | Description |
---|---|---|
key |
String | Id of the registered view to query. |
access |
- Overrides:
- Source:
hasConnection(name)
Determines the the specified service name is found in the Apps service object.
Parameters:
Name | Type | Description |
---|---|---|
name |
String | Name of the SDataService to detect |
- Overrides:
- Source:
hasService(name)
Determines the the specified service name is found in the Apps service object.
Parameters:
Name | Type | Description |
---|---|---|
name |
String | Name of the SDataService to detect |
- Overrides:
- Source:
hasView(key) → {Boolean}
Determines if any registered view has been registered with the provided key.
Parameters:
Name | Type | Description |
---|---|---|
key |
String | Unique id of the view. |
- Overrides:
- Source:
Returns:
True if there is a registered view name matching the key.
- Type
- Boolean
init()
Initializes this application as well as the toolbar and all currently registered views.
- Overrides:
- Source:
initAppState() → {Promise}
Executes the chain of promises registered with registerAppStatePromise. When all promises are done, a new promise is returned to the caller, and all registered promises are flushed. Each app state can be processed all at once or in a specfic seqence. Example: We can register App state seqeunces as the following, where each sequence is proccessed in a desending order form 0 to n. The first two in this example are defeulted to a sequence of zero (0) and are procced first in which after the next sequence (1) is proccessed and once all of its items are finshed then the last sequence 2 will start and process all of its items.
If two seqences have the same number then thay will get combinded as if they where registerd together. Aso not all items whith in a process are processed and ansync of each other and may not finish at the same time.
To make two items process one after the other simpley put them in to diffrent sequences.
this.registerAppStatePromise(() => {some functions that returns a promise}); this.registerAppStatePromise(() => {some functions that returns a promise});
this.registerAppStatePromise({ seq: 1, description: 'Sequence 1', items: [{ name: 'itemA', description: 'item A', fn: () => { some functions that returns a promise }, }, { name: 'itemb', description: 'Item B', fn: () => {some functions that returns a promise}, }], });
this.registerAppStatePromise({ seq: 2, description: 'Sequence 2', items: [{ name: 'item C', description: 'item C', fn: () => { some functions that returns a promise }, }, });
There are there App state seqences re
- Overrides:
- Source:
Returns:
- Type
- Promise
initConnects()
Establishes various connections to events.
- Overrides:
- Source:
initHash()
Initialize the hash and save the redirect hash if any
- Overrides:
- Source:
initModules()
Loops through modules and calls their init()
function.
- Overrides:
- Source:
initModulesDynamic()
Loops through modules and calls their initDynamic()
function.
- Overrides:
- Source:
initServices()
Loops through connections and calls registerService on each.
- Overrides:
- Source:
initToolbars()
Loops through (tool)bars and calls their init()
function.
- Overrides:
- Source:
isNavigationFromResourceKind(kind, predicate, scope) → {Object}
Shortcut method to queryNavigationContext that matches the specified resourceKind provided
Parameters:
Name | Type | Description |
---|---|---|
kind |
Array.<String/String> | The resourceKind(s) the history item must match |
predicate |
function | Optional. If provided it will be called on matches so you may do an secondary check of the item - returning true for good items. |
scope |
Object | Scope the predicate should be called in. |
- Overrides:
- Source:
Returns:
context History data context if found, false if not.
- Type
- Object
isOnFirstView() → {boolean}
Returns true/false if the current view is the first/initial view. This is useful for disabling the back button (so you don't hit the login page).
- Overrides:
- Source:
Returns:
- Type
- boolean
isOnline()
Returns the window.navigator.onLine
property for detecting if an internet connection is available.
- Overrides:
- Source:
isViewActive(view) → {Boolean}
Checks to see if the passed view instance is the currently active one by comparing it to primaryActiveView.
Parameters:
Name | Type | Description |
---|---|---|
view |
View |
- Overrides:
- Source:
Returns:
True if the passed view is the same as the active view.
- Type
- Boolean
onResize()
Resize handle
- Overrides:
- Source:
queryNavigationContext(predicate, depth, scope) → {Object/Boolean}
Searches App.context.history by passing a predicate function that should return true when a match is found.
Parameters:
Name | Type | Description |
---|---|---|
predicate |
function | Function that is called in the provided scope with the current history iteration. It should return true if the history item is the desired context. |
depth |
Number | |
scope |
Object |
- Overrides:
- Source:
Returns:
context History data context if found, false if not.
- Type
- Object/Boolean
registerAppStatePromise(promise)
Registers a promise that will resolve when initAppState is invoked.
Parameters:
Name | Type | Description |
---|---|---|
promise |
Promise | function | A promise or a function that returns a promise |
- Overrides:
- Source:
registerConnection(name, definition, options)
Optional creates, then registers an Sage.SData.Client.SDataService and adds the result to App.services
.
Parameters:
Name | Type | Description |
---|---|---|
name |
String | Unique identifier for the service. |
definition |
Object | May be a SDataService instance or constructor parameters to create a new SDataService instance. |
options |
Object | Optional settings for the registered service. |
- Overrides:
- Source:
registerCustomization(path, spec)
Registers a customization to a target path.
A Customization Spec is a special object with the following keys:
at
:function(item)
- passes the current item in the list, the function should return true if this is the item being modified (or is at where you want to insert something).at
:{Number}
- May optionally define the index of the item instead of a function.type
:{String}
- enum ofinsert
,modify
,replace
orremove
that indicates the type of customization.where
:{String}
- enum ofbefore
orafter
only needed when type isinsert
.value
:{Object}
- the entire object to create (insert or replace) or the values to overwrite (modify), not needed for remove.value
:{Object[]}
- if inserting you may pass an array of items to create.
Note: This also accepts the legacy signature:
registerCustomization(path, id, spec)
Where the path is list/tools
and id
is the view id
All customizations are registered to this.customizations[path]
.
Parameters:
Name | Type | Description |
---|---|---|
path |
String | The customization set such as |
spec |
Object | The customization specification |
- Overrides:
- Source:
registerService(name, service, options)
Optional creates, then registers an Sage.SData.Client.SDataService and adds the result to App.services
.
Parameters:
Name | Type | Description |
---|---|---|
name |
String | Unique identifier for the service. |
service |
Object | May be a SDataService instance or constructor parameters to create a new SDataService instance. |
options |
Object | Optional settings for the registered service. |
- Overrides:
- Source:
registerToolbar(name, tbar, domNode)
Registers a toolbar with the application and renders it to HTML. If the application has already been initialized, the toolbar is immediately initialized as well.
Parameters:
Name | Type | Description |
---|---|---|
name |
String | Unique name of the toolbar |
tbar |
Toolbar | Toolbar instance to register |
domNode |
domNode | Optional. A DOM node to place the view in. |
- Overrides:
- Source:
registerView(view, domNode)
Registers a view with the application and renders it to HTML. If the application has already been initialized, the view is immediately initialized as well.
Parameters:
Name | Type | Description |
---|---|---|
view |
View | A view instance to be registered. |
domNode |
domNode | Optional. A DOM node to place the view in. |
- Overrides:
- Source:
run()
Sets _started
to true.
- Overrides:
- Source:
setCurrentPage(_page)
Sets the current page(domNode)
Parameters:
Name | Type | Description |
---|---|---|
_page |
DOMNode |
- Overrides:
- Source:
setPrimaryTitle(title)
Sets the applications current title.
Parameters:
Name | Type | Description |
---|---|---|
title |
String | The new title. |
- Overrides:
- Source:
showLeftDrawer()
Override this function to load a view in the left drawer.
- Overrides:
- Source:
showRightDrawer()
Override this function to load a view in the right drawer.
- Overrides:
- Source:
supportsTouch() → {Boolean}
Check if the browser supports touch events.
- Overrides:
- Source:
Returns:
true if the current browser supports touch events, false otherwise.
- Type
- Boolean
uninitialize()
Shelled function that is called from destroy, may be used to release any further handles.
- Overrides:
- Source:
updateSoho()
Allow us to update any soho components after all the dom is in place.
- Overrides:
- Source: