Doc for load indicator

refs #4400
This commit is contained in:
Marius Hein 2013-09-25 13:37:40 +02:00 committed by Matthias Jentsch
parent 81cdb70b31
commit 1e72cd0c12

View File

@ -140,3 +140,59 @@ directly is that you don't need to know in what container your view is displayed
detail container, the detail container would be updated afterwards. detail container, the detail container would be updated afterwards.
**NOTE**: You should read the '...' section in order to understand why you shouldn't do it like in this example **NOTE**: You should read the '...' section in order to understand why you shouldn't do it like in this example
### How container refresh states are handled
If you refresh containers content (load url or replace dom), the container displaya a loading
mask as default behaviour. To disable this mask and handle it yourself, you can register own events:
**Example #3 Load indicator events**
require(['icinga', 'jquery', 'app/container'], function('Icinga', $, Container) {
var mainContainer = Container.getMainContainer();
// Detach the default behaviour from container
mainContainer.removeDefaultLoadIndicator();
var showFunction = function() {
console.log('container is loading');
};
var hideFunction = function() {
console.log('container content refreshed');
};
// Install new handlers
mainContainer.registerOnShowLoadIndicator(showFunction);
mainContainer.registerOnHideLoadIndicator(hideFunction);
};
**Example #4 Use this for your components**
Please have a look into [components documentation](components.md) for detailed information about components.
define(['components/app/container', 'jquery', 'logging', 'URIjs/URI', 'URIjs/URITemplate'],
function(Container, $, logger, URI) {
"use strict";
/**
* Master/Detail grid component handling history, link behaviour, selection (@TODO 3788) and updates of
* grids
*
* @param {HTMLElement} The outer element to apply the behaviour on
*/
return function(gridDomNode) {
/**
* Constructor method for this component
*/
this.construct = function(target) {
// Container object for the component
this.container = new Container(target);
// Detach default handlers
this.container.removeDefaultLoadIndicator();
};
this.construct(gridDomNode);
};
};