Initial commit
This commit is contained in:
99
crystalreportviewers13/js/crviewer/PanelHeader.js
Normal file
99
crystalreportviewers13/js/crviewer/PanelHeader.js
Normal file
@@ -0,0 +1,99 @@
|
||||
/**
|
||||
* The header that appears above toolPanel. It consists of a title and close button.
|
||||
*/
|
||||
bobj.crv.PanelHeader = function() {
|
||||
this.id = bobj.uniqueId () + "_panelHeader";
|
||||
|
||||
this._closeButton = newIconWidget (this.id + "_close", bobj.crv.allInOne.uri, bobj
|
||||
.bindFunctionToObject (this._closeButtonOnClick, this), null, L_bobj_crv_Close, 8, 7, 0, bobj.crv.allInOne.closePanelDy,null,null,true);
|
||||
|
||||
this.normalCssClass = "panelHeaderCloseButton";
|
||||
this.highlightedCssClass = "panelHeaderCloseButtonHighlighted";
|
||||
|
||||
this._closeButton.setClasses (this.normalCssClass, this.normalCssClass, this.highlightedCssClass, this.highlightedCssClass);
|
||||
this._title = "";
|
||||
};
|
||||
|
||||
bobj.crv.PanelHeader.prototype = {
|
||||
getHTML : function() {
|
||||
var DIV = bobj.html.DIV;
|
||||
var style = {height : bobj.isBorderBoxModel() ? '21px' : '20px'};
|
||||
|
||||
return DIV ( {
|
||||
'class' : 'panelHeader',
|
||||
id : this.id,
|
||||
style : style
|
||||
}, DIV ( {
|
||||
'class' : 'panelHeaderTitle',
|
||||
id : this.id + "_title"
|
||||
}, this._title), DIV ( {
|
||||
'class' : 'panelHeaderButtonCtn'
|
||||
}, this._closeButton.getHTML ()));
|
||||
},
|
||||
|
||||
init : function() {
|
||||
this.layer = getLayer (this.id);
|
||||
this.css = this.layer.style;
|
||||
this._closeButton.init ();
|
||||
|
||||
var cbLayer = this._closeButton.layer
|
||||
if (cbLayer) {
|
||||
MochiKit.Signal.connect (cbLayer, "onfocus", this, this._closeButtonOnFocus);
|
||||
MochiKit.Signal.connect (cbLayer, "onblur", this, this._closeButtonOnBlur);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
*
|
||||
* @return [DOM element] of title
|
||||
*/
|
||||
_getTitleLayer : function() {
|
||||
return getLayer (this.id + "_title");
|
||||
},
|
||||
|
||||
/**
|
||||
* Sets title on panel header
|
||||
* @param title
|
||||
* @return
|
||||
*/
|
||||
setTitle : function(title) {
|
||||
this._title = title;
|
||||
this._closeButton.changeTooltip(L_bobj_crv_Close + " " + title);
|
||||
var l = this._getTitleLayer ();
|
||||
if (l)
|
||||
l.innerHTML = title;
|
||||
},
|
||||
|
||||
_closeButtonOnFocus : function() {
|
||||
if (this._closeButton && this._closeButton.layer)
|
||||
MochiKit.DOM.addElementClass (this._closeButton.layer, this.highlightedCssClass);
|
||||
},
|
||||
|
||||
_closeButtonOnBlur : function() {
|
||||
if (this._closeButton && this._closeButton.layer)
|
||||
MochiKit.DOM.removeElementClass (this._closeButton.layer, this.highlightedCssClass);
|
||||
},
|
||||
|
||||
_closeButtonOnClick : function() {
|
||||
MochiKit.Signal.signal (this, 'switchPanel', bobj.crv.ToolPanelType.None);
|
||||
},
|
||||
|
||||
resize : function(w, h) {
|
||||
if (this.layer)
|
||||
bobj.setOuterSize (this.layer, w, h);
|
||||
|
||||
var titleLayer = this._getTitleLayer ();
|
||||
if(titleLayer)
|
||||
bobj.setOuterSize (titleLayer, w - 30);
|
||||
},
|
||||
|
||||
hideCloseButton : function() {
|
||||
if (this._closeButton)
|
||||
this._closeButton.setDisplay(false);
|
||||
},
|
||||
|
||||
getWidth : Widget_getWidth,
|
||||
getHeight : Widget_getHeight,
|
||||
move : Widget_move,
|
||||
setDisplay : Widget_setDisplay
|
||||
};
|
||||
Reference in New Issue
Block a user