You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
2.5 KiB
87 lines
2.5 KiB
/* Copyright (c) Business Objects 2006. All rights reserved. */
|
|
|
|
/**
|
|
* Constructor. StateManager holds state for multiple viewers.
|
|
*/
|
|
bobj.crv.StateManager = function() {
|
|
this._state = {};
|
|
};
|
|
|
|
bobj.crv.StateManager.prototype = {
|
|
/**
|
|
* Set the state object for a report view
|
|
*
|
|
* @param viewerName [String]
|
|
* @param stateName [String] The name of the report view
|
|
* @param viewState [Object] The state associated with the report view
|
|
*/
|
|
setViewState: function(viewerName, stateName, viewState) {
|
|
var state = this._state;
|
|
|
|
if (!state[viewerName]) {
|
|
state[viewerName] = {};
|
|
}
|
|
|
|
state[viewerName][stateName] = viewState;
|
|
},
|
|
|
|
/**
|
|
* Get the state object for a report view
|
|
*
|
|
* @param viewerName [String]
|
|
* @param stateName [String] The name of the report view
|
|
*
|
|
* @return [Object] Returns the state object for the report view or null
|
|
* if no object is associated with (viewerName, stateName)
|
|
*/
|
|
getViewState: function(viewerName, stateName) {
|
|
var state = this._state;
|
|
|
|
if (!state[viewerName]) {
|
|
return null;
|
|
}
|
|
return state[viewerName][stateName];
|
|
},
|
|
|
|
/**
|
|
* Set the compound state object for a viewer components. This object
|
|
* should contain a state object for every report view displayed by the
|
|
* viewer.
|
|
*
|
|
* @param viewerName [String]
|
|
* @param state [Object] All report view states for the viewer
|
|
*/
|
|
setComponentState: function(viewerName, state) {
|
|
this._state[viewerName] = state;
|
|
},
|
|
|
|
/**
|
|
* Get the compound state object for a viewer component. This object
|
|
* should contain a state object for every report view displayed by the
|
|
* viewer.
|
|
*
|
|
* @param viewerName [String]
|
|
*
|
|
* @return [Object] Returns all report view states for the viewer
|
|
*/
|
|
getComponentState: function(viewerName) {
|
|
return this._state[viewerName];
|
|
},
|
|
|
|
/**
|
|
* Get the state for all viewer components on the page.
|
|
*
|
|
* @return [Object] Returns the state of all viewers on the page, mapped
|
|
* by the id of the viewer widgets.
|
|
*/
|
|
getCompositeState: function() {
|
|
return this._state;
|
|
}
|
|
};
|
|
|
|
// Create a single StateManager for all viewers in the page to share
|
|
if (typeof bobj.crv.viewerState == 'undefined') {
|
|
bobj.crv.stateManager = new bobj.crv.StateManager();
|
|
}
|
|
|