Type.registerNamespace('Sys.Extended.UI'); Sys.Extended.UI.CollapsiblePanelExpandDirection = function() { // The CollapsiblePanelExpandDirection enumeration describes whether the panel is opened vertically or horizontally throw Error.invalidOperation(); } Sys.Extended.UI.CollapsiblePanelExpandDirection.prototype = { Horizontal : 0, Vertical: 1 } Sys.Extended.UI.CollapsiblePanelExpandDirection.registerEnum("Sys.Extended.UI.CollapsiblePanelExpandDirection", false); Sys.Extended.UI.CollapsiblePanelBehavior = function(element) { // The CollapsiblePanelBehavior allows you to add collapsible sections to your page // "element" - element to associate the behavior with Sys.Extended.UI.CollapsiblePanelBehavior.initializeBase(this, [element]); // property values this._collapsedSize = 0; this._expandedSize = 0; this._scrollContents = null; this._collapsed = false; this._expandControlID = null; this._collapseControlID = null; this._textLabelID = null; this._collapsedText = null; this._expandedText = null; this._imageControlID = null; this._expandedImage = null; this._collapsedImage = null; this._suppressPostBack = null; this._autoExpand = null; this._autoCollapse = null; this._expandDirection = Sys.Extended.UI.CollapsiblePanelExpandDirection.Vertical; // handler delegates this._collapseClickHandler = null; this._expandClickHandler = null; this._panelMouseEnterHandler = null; this._panelMouseLeaveHandler = null; // the div we wrap around the panel contents this._childDiv = null; // Animation used to open/close the panel this._animation = null; } Sys.Extended.UI.CollapsiblePanelBehavior.prototype = { initialize : function() { Sys.Extended.UI.CollapsiblePanelBehavior.callBaseMethod(this, 'initialize'); var element = this.get_element(); this._animation = new Sys.Extended.UI.Animation.LengthAnimation(element, .25, 10, 'style', null, 0, 0, 'px'); if (this._expandDirection == Sys.Extended.UI.CollapsiblePanelExpandDirection.Vertical) { this._animation.set_propertyKey('height'); } else if (this._expandDirection == Sys.Extended.UI.CollapsiblePanelExpandDirection.Horizontal) { this._animation.set_propertyKey('width'); } this._animation.add_ended(Function.createDelegate(this, this._onAnimateComplete)); // for checkboxes, we don't want to suppress the posback (e.g. return false) // because that stops them from toggling their state. if (this._suppressPostBack == null) { if (element.tagName == "INPUT" && element.type == "checkbox") { this._suppressPostBack = false; this.raisePropertyChanged('SuppressPostBack'); } else if (element.tagName == "A") { this._suppressPostBack = true; this.raisePropertyChanged('SuppressPostBack'); } } // Check our client state. If it's present, // that means this is a postback, so we restore the state. var lastState = Sys.Extended.UI.CollapsiblePanelBehavior.callBaseMethod(this, 'get_ClientState'); if (lastState && lastState != "") { var wasCollapsed = Boolean.parse(lastState); if (this._collapsed != wasCollapsed) { this._collapsed = wasCollapsed; this.raisePropertyChanged('Collapsed'); } } this._setupChildDiv(); // setup the initial size and state if (this._collapsed) { this._setTargetSize(this._getCollapsedSize()); } else { this._setTargetSize(this._getExpandedSize()); } this._setupState(this._collapsed); // setup all of our handlers. if (this._collapseControlID == this._expandControlID) { this._collapseClickHandler = Function.createDelegate(this, this.togglePanel); this._expandClickHandler = null; // we don't need both if we're toggling. } else { this._collapseClickHandler = Function.createDelegate(this, this.collapsePanel); this._expandClickHandler = Function.createDelegate(this, this.expandPanel); } if (this._autoExpand) { this._panelMouseEnterHandler = Function.createDelegate(this, this._onMouseEnter); $addHandler(element, 'mouseover', this._panelMouseEnterHandler); } if (this._autoCollapse) { this._panelMouseLeaveHandler = Function.createDelegate(this, this._onMouseLeave); $addHandler(element, 'mouseout', this._panelMouseLeaveHandler); } // attach the click handlers if (this._collapseControlID) { var collapseElement = $get(this._collapseControlID); if (!collapseElement) { throw Error.argument('CollapseControlID', String.format(Sys.Extended.UI.Resources.CollapsiblePanel_NoControlID, this._collapseControlID)); } else { $addHandler(collapseElement, 'click', this._collapseClickHandler); } } if (this._expandControlID) { if (this._expandClickHandler) { // if it's a toggle don't set up again var expandElement = $get(this._expandControlID); if (!expandElement) { throw Error.argument('ExpandControlID', String.format(Sys.Extended.UI.Resources.CollapsiblePanel_NoControlID, this._expandControlID)); } else { $addHandler(expandElement, 'click', this._expandClickHandler); } } } }, dispose : function() { var element = this.get_element(); if (this._collapseClickHandler) { var collapseElement = (this._collapseControlID ? $get(this._collapseControlID) : null); if (collapseElement) { $removeHandler(collapseElement, 'click', this._collapseClickHandler); } this._collapseClickHandler = null; } if (this._expandClickHandler) { var expandElement = (this._expandControlID ? $get(this._expandControlID) : null); if (expandElement) { $removeHandler(expandElement, 'click', this._expandClickHandler); } this._expandClickHandler = null; } if (this._panelMouseEnterHandler) { $removeHandler(element, 'mouseover', this._panelMouseEnterHandler); } if (this._panelMouseLeaveHandler) { $removeHandler(element, 'mouseout', this._panelMouseLeaveHandler); } if (this._animation) { this._animation.dispose(); this._animation = null; } Sys.Extended.UI.CollapsiblePanelBehavior.callBaseMethod(this, 'dispose'); }, /// /// Event handler to expand or collapse the panel (based on its current state) /// This is the public function that should be called instead of _toggle if /// you wish to programmatically open and close the collapsible panel /// /// Event info /// togglePanel : function(eventObj) { this._toggle(eventObj); }, /// /// Open the panel. Public function that users should call if they /// wish to operate the collapsible panel programmatically /// /// Event info /// expandPanel : function(eventObj) { this._doOpen(eventObj); }, /// /// Collapse the panel. Public function that users should call if they /// wish to operate the collapsible panel programmatically /// /// Event info /// collapsePanel : function(eventObj) { this._doClose(eventObj); }, _checkCollapseHide : function() { // Check if a control is collapsed and hidden // (and set its display to none if it is supposed to be hidden) // returns whether the control is collapsed and hidden if (this._collapsed && this._getTargetSize() == 0) { var e = this.get_element(); var display = $common.getCurrentStyle(e, 'display'); if (!e.oldDisplay && display != "none") { e.oldDisplay = display; e.style.display = "none"; } return true; } return false; }, _doClose : function(eventObj) { // Collapse the panel. Internal function, to close call "collapsePanel". // "eventObj" - event Info var eventArgs = new Sys.CancelEventArgs(); this.raise_collapsing(eventArgs); if (eventArgs.get_cancel()) { return; } if (this._animation) { this._animation.stop(); // setup the animation state this._animation.set_startValue(this._getTargetSize()); this._animation.set_endValue(this._getCollapsedSize()); this._animation.play(); } this._setupState(true); // stop postback if necessary. if (this._suppressPostBack) { if (eventObj && eventObj.preventDefault) { eventObj.preventDefault(); } else { if (eventObj) { eventObj.returnValue = false; } return false; } } }, _doOpen : function(eventObj) { // Expand the Panel. Internal function, to close call "expandPanel". // "eventObj" - event Info var eventArgs = new Sys.CancelEventArgs(); this.raise_expanding(eventArgs); if (eventArgs.get_cancel()) { return; } // stop any existing animation if (this._animation) { this._animation.stop(); var e = this.get_element(); if (this._checkCollapseHide() && $common.getCurrentStyle(e, 'display', e.style.display)) { if (e.oldDisplay) { e.style.display = e.oldDisplay; } else { // IE isn't compliant on this one if (e.style.removeAttribute) { e.style.removeAttribute("display"); } else { e.style.removeProperty("display"); } } e.oldDisplay = null; } // setup the animation state this._animation.set_startValue(this._getTargetSize()); this._animation.set_endValue(this._getExpandedSize()); this._animation.play(); } // relect our state changes this._setupState(false); // stop the postback if necessary. if (this._suppressPostBack) { if (eventObj && eventObj.preventDefault) { eventObj.preventDefault(); } else { if (eventObj) { eventObj.returnValue = false; } return false; } } }, _onAnimateComplete : function() { // Handler to listen for the end of the expand/collapse animation var e = this.get_element(); // if we're fully expanded and the inner pannel is still smaller // than the size we've expanded to, fall back to auto if (!this._collapsed && !this._expandedSize) { if(this._expandDirection == Sys.Extended.UI.CollapsiblePanelExpandDirection.Vertical) { if(this._childDiv.offsetHeight <= e.offsetHeight) { e.style.height = "auto"; this.raisePropertyChanged('TargetHeight'); } else { this._checkCollapseHide(); } } else // horizontal { if( this._childDiv.offsetWidth <= e.offsetWidth) { e.style.width = "auto"; this.raisePropertyChanged('TargetWidth'); } else { this._checkCollapseHide(); } } } else { this._checkCollapseHide(); } if (this._collapsed) { this.raise_collapseComplete(); this.raise_collapsed(Sys.EventArgs.Empty); } else { this.raise_expandComplete() this.raise_expanded(new Sys.EventArgs()); } }, _onMouseEnter : function(eventObj) { if (this._autoExpand) { this.expandPanel(eventObj); } }, _onMouseLeave : function(eventObj) { if (this._autoCollapse) { this.collapsePanel(eventObj); } }, _getExpandedSize : function() { // Get the size of the panel when fully expanded if (this._expandedSize) { return this._expandedSize; } if (this._expandDirection == Sys.Extended.UI.CollapsiblePanelExpandDirection.Vertical) { return this._childDiv.offsetHeight; } else if (this._expandDirection == Sys.Extended.UI.CollapsiblePanelExpandDirection.Horizontal) { return this._childDiv.offsetWidth; } }, _getCollapsedSize : function() { // Get the size of the panel when fully collapsed if (this._collapsedSize) { return this._collapsedSize; } return 0; }, _getTargetSize : function() { // Get the target size of the Panel var value; if (this._expandDirection == Sys.Extended.UI.CollapsiblePanelExpandDirection.Vertical) { value = this.get_targetHeight(); } else if (this._expandDirection == Sys.Extended.UI.CollapsiblePanelExpandDirection.Horizontal) { value = this.get_targetWidth(); } // Safari returns undefined if display is 'none' if (value === undefined) { value = 0; } return value; }, _setTargetSize : function(value) { // Set the target size of the panel // we don't always want to set the target size here. // if we don't have an expanded size, and we're not collapsed, // and we're at (or past) our "maximum" size var useSize = this._collapsed || this._expandedSize; var e = this.get_element(); if (this._expandDirection == Sys.Extended.UI.CollapsiblePanelExpandDirection.Vertical) { if (useSize || value < e.offsetHeight) { this.set_targetHeight(value); } else { // if we're at our maximum size, flip to auto // so that nested collapsible panels will // work properly. e.style.height = "auto"; this.raisePropertyChanged('TargetHeight'); } } else if (this._expandDirection == Sys.Extended.UI.CollapsiblePanelExpandDirection.Horizontal) { if (useSize || value < e.offsetWidth) { this.set_targetWidth(value); } else { e.style.width = "auto"; this.raisePropertyChanged('TargetWidth'); } } this._checkCollapseHide(); }, _setupChildDiv : function() { // Set up a child div to host our panel contents // and then push the panel's children into it. var startSize = this._getTargetSize(); var e = this.get_element(); this._childDiv = e.cloneNode(false); e.id = ''; // Make the child div visible (in case the panel was made invisible, // to avoid the flickering issue that appears in IE6). this._childDiv.style.visibility = 'visible'; this._childDiv.style.display = ''; // move all children into the div. while (e.hasChildNodes()) { var child = e.childNodes[0]; child = e.removeChild(child); this._childDiv.appendChild(child); } //On Parent e.setAttribute('style', ''); e.className = ''; e.style.border = '0px'; e.style.margin = '0px'; e.style.padding = '0px'; // Setup scrolling on the child div and parent by only altering the scrolling // for the expand direction letting the other fall into place naturally. if (this._scrollContents) { if (this._expandDirection == Sys.Extended.UI.CollapsiblePanelExpandDirection.Vertical) { e.style.overflowY = "scroll"; this._childDiv.style.overflowY = ""; } else { e.style.overflowX = "scroll"; this._childDiv.style.overflowX = ""; } // safari and opera do not recognize overflowX and overflowY if (Sys.Browser.agent == Sys.Browser.Safari || Sys.Browser.agent == Sys.Browser.Opera) { e.style.overflow = "scroll"; this._childDiv.style.overflow = ""; } } else { if (this._expandDirection == Sys.Extended.UI.CollapsiblePanelExpandDirection.Vertical) { e.style.overflowY = "hidden"; this._childDiv.style.overflowY = ""; } else { e.style.overflowX = "hidden"; this._childDiv.style.overflowX = ""; } // safari and opera do not recognize overflowX and overflowY if (Sys.Browser.Agent == Sys.Browser.Safari || Sys.Browser.Agent == Sys.Browser.Opera) { e.style.overflow = "hidden"; this._childDiv.style.overflow = ""; } } //Delete some style after cloneNode //On Clone this._childDiv.style.position = ""; // we optimize for the case where the original size is the collapsed size. // if that's the case, we go ahead and set the inner panel to auto so you // can still expand it but not see it expanded by default when the page loads. if (startSize == this._collapsedSize) { if (this._expandDirection == Sys.Extended.UI.CollapsiblePanelExpandDirection.Vertical) { this._childDiv.style.height = "auto"; } else if (this._expandDirection == Sys.Extended.UI.CollapsiblePanelExpandDirection.Horizontal) { this._childDiv.style.width = "auto"; } } e.appendChild(this._childDiv); // Make the panel visible (in case the panel was made invisible, // to avoid the flickering issue that appears in IE6). e.style.visibility = 'visible'; e.style.display = ''; if (this._collapsed) { startSize = this._getCollapsedSize(); } else { startSize = this._getExpandedSize(); } // set up our initial size if (this._expandDirection == Sys.Extended.UI.CollapsiblePanelExpandDirection.Vertical) { e.style.height = startSize + "px"; if (!this._expandedSize) { e.style.height = "auto"; } else { e.style.height = this._expandedSize + "px"; } this._childDiv.style.height = "auto"; } else if (this._expandDirection == Sys.Extended.UI.CollapsiblePanelExpandDirection.Horizontal) { e.style.width = startSize + "px"; if (!this._expandedSize) { e.style.width = "auto"; } else { e.style.width = this._expandedSize + "px"; } this._childDiv.style.width = "auto"; } }, _setupState : function(isCollapsed) { // Get all the state set consistently when we change modes // "isCollapsed" - true to setup the state as if we're collapsed, false to setup the state as if we're expanded if (isCollapsed) { // change the text label ID if we have one. if (this._textLabelID && this._collapsedText) { var e = $get(this._textLabelID); if (e) { e.innerHTML = this._collapsedText; } } // Change the image if we have one if (this._imageControlID && this._collapsedImage) { var i = $get(this._imageControlID); if (i && i.src) { i.src = this._collapsedImage; if (this._expandedText || this._collapsedText) { i.title = this._collapsedText; } } } } else { if (this._textLabelID && this._expandedText) { var e = $get(this._textLabelID); if (e) { e.innerHTML = this._expandedText; } } // Change the image if we have one if (this._imageControlID && this._expandedImage) { var i = $get(this._imageControlID); if (i && i.src) { i.src = this._expandedImage; if (this._expandedText || this._collapsedText) { i.title = this._expandedText; } } } } // set our member variable and set the client state to reflect it if (this._collapsed != isCollapsed) { this._collapsed = isCollapsed; this.raisePropertyChanged('Collapsed'); } Sys.Extended.UI.CollapsiblePanelBehavior.callBaseMethod(this, 'set_ClientState', [this._collapsed.toString()]); }, _toggle : function(eventObj) { // Event handler to epxand or collapse the panel (based on its current state) // Internal function. Please use "togglePanel(eventObj)" to get same functionality. if(this.get_collapsed()) { return this.expandPanel(eventObj); } else { return this.collapsePanel(eventObj); } }, /// /// Fires when control is collapsing /// /// /// add_collapsing: function(handler) { // Add an event handler for the collapsing event this.get_events().addHandler('collapsing', handler); }, remove_collapsing: function(handler) { // Remove an event handler from the collapsing event this.get_events().removeHandler('collapsing', handler); }, raise_collapsing: function(eventArgs) { // Raise the collapsing event var handler = this.get_events().getHandler('collapsing'); if(handler) handler(this, eventArgs); }, raiseCollapsing: function(eventArgs) { Sys.Extended.Deprecated("raiseCollapsing", "raise_collapsing"); this.raise_collapsing(eventArgs); }, /// /// Fires when control is collapsed /// /// /// add_collapsed: function(handler) { // Add an event handler for the collapsed event this.get_events().addHandler('collapsed', handler); }, remove_collapsed: function(handler) { // Remove an event handler from the collapsed event this.get_events().removeHandler('collapsed', handler); }, raise_collapsed: function(eventArgs) { // Raise the collapsed event var handler = this.get_events().getHandler('collapsed'); if(handler) handler(this, eventArgs); }, raiseCollapsed: function(eventArgs) { Sys.Extended.Deprecated("raiseCollapsed", "raise_collapsed"); this.raise_collapsed(eventArgs); }, /// /// Fires when collapse completes /// /// /// add_collapseComplete: function(handler) { // Add a handler to the collapseComplete event // Obsolete: Use the collapsed event instead this.get_events().addHandler('collapseComplete', handler); }, remove_collapseComplete: function(handler) { // Remove a handler from the collapseComplete event // Obsolete: Use the collapsed event instead this.get_events().removeHandler('collapseComplete', handler); }, raise_collapseComplete: function() { // Obsolete: Use the collapsed event instead var handlers = this.get_events().getHandler('collapseComplete'); if(handlers) handlers(this, Sys.EventArgs.Empty); }, raiseCollapseComplete: function() { Sys.Extended.Deprecated("raiseCollapseComplete", "raise_collapseComplete"); this.raise_collapseComplete(); }, /// /// Fires when control is expanding /// /// /// add_expanding: function(handler) { // Add an event handler for the expanding event this.get_events().addHandler('expanding', handler); }, remove_expanding: function(handler) { // Remove an event handler from the expanding event this.get_events().removeHandler('expanding', handler); }, raise_expanding: function(eventArgs) { // Raise the expanding event var handler = this.get_events().getHandler('expanding'); if(handler) handler(this, eventArgs); }, raiseExpanding : function(eventArgs) { Sys.Extended.Deprecated("raiseExpanding", "raise_expanding"); this.raise_expanding(eventArgs); }, /// /// Fires when control is expanded /// /// /// add_expanded: function(handler) { // Add an event handler for the expanded event this.get_events().addHandler('expanded', handler); }, remove_expanded: function(handler) { // Remove an event handler from the expanded event this.get_events().removeHandler('expanded', handler); }, raise_expanded: function(eventArgs) { // Raise the expanded event var handler = this.get_events().getHandler('expanded'); if(handler) handler(this, eventArgs); }, raiseExpanded: function(eventArgs) { Sys.Extended.Deprecated("raiseExpanded", "raise_expanded"); this.raise_expanded(eventArgs); }, /// /// Fires when expand completes /// /// /// add_expandComplete: function(handler) { // Add a handler to the expandComplete event // Obsolete: Use the expanded event instead this.get_events().addHandler('expandComplete', handler); }, remove_expandComplete: function(handler) { // Remove a handler from the expandComplete event // Obsolete: Use the expanded event instead this.get_events().removeHandler('expandComplete', handler); }, raise_expandComplete: function() { // Obsolete: Use the expanded event instead var handlers = this.get_events().getHandler('expandComplete'); if(handlers) { handlers(this, Sys.EventArgs.Empty); } }, raiseExpandComplete: function() { Sys.Extended.Deprecated("raiseExpandComplete", "raise_expandComplete"); this.raise_expandComplete(); }, /// /// Wrap the height of the panel /// /// get_targetHeight /// set_targetHeight /// get_targetHeight: function() { return this.get_element().offsetHeight; }, set_targetHeight: function(value) { this.get_element().style.height = value + "px"; this.raisePropertyChanged('targetHeight'); }, get_TargetHeight: function() { Sys.Extended.Deprecated("get_TargetHeight", "get_targetHeight"); return this.get_targetHeight(); }, set_TargetHeight: function(value) { Sys.Extended.Deprecated("set_TargetHeight", "set_targetHeight"); this.set_targetHeight(value); }, /// /// Wrap the width of the panel /// /// get_targetWidth /// set_targetWidth /// get_targetWidth: function() { return this.get_element().offsetWidth; }, set_targetWidth: function(value) { this.get_element().style.width = value + "px"; this.raisePropertyChanged('targetWidth'); }, get_TargetWidth: function() { Sys.Extended.Deprecated("get_TargetWidth", "get_targetWidth"); return this.get_targetWidth(); }, set_TargetWidth: function(value) { Sys.Extended.Deprecated("set_TargetWidth", "set_targetWidth"); this.set_targetWidth(value); }, /// /// Whether or not the panel is collapsed /// /// get_collapsed /// set_collapsed /// get_collapsed: function() { return this._collapsed; }, set_collapsed: function(value) { // if we're changing values, and we're live, togglePanel. if(this.get_isInitialized() && this.get_element() && value != this.get_collapsed()) { this.togglePanel(); } else { this._collapsed = value; this.raisePropertyChanged('collapsed'); } }, get_Collapsed: function() { Sys.Extended.Deprecated("get_Collapsed", "get_collapsed"); return this.get_collapsed(); }, set_Collapsed: function(value) { Sys.Extended.Deprecated("set_Collapsed", "set_collapsed"); this.set_collapsed(value); }, /// /// The size of the target, in pixels, when it is in the collapsed state /// /// get_collapsedSize /// set_collapsedSize /// get_collapsedSize: function() { return this._collapsedSize; }, set_collapsedSize: function(value) { if(this._collapsedSize != value) { this._collapsedSize = value; this.raisePropertyChanged('collapsedSize'); } }, get_CollapsedSize: function() { Sys.Extended.Deprecated("get_CollapsedSize", "get_collapsedSize"); return this.get_collapsedSize(); }, set_CollapsedSize: function(value) { Sys.Extended.Deprecated("set_CollapsedSize", "set_collapsedSize"); this.set_collapsedSize(value); }, /// /// The size of the target, in pixels, when it is in the expanded state /// /// get_expandedSize /// set_expandedSize /// get_expandedSize: function() { return this._expandedSize; }, set_expandedSize: function(value) { if(this._expandedSize != value) { this._expandedSize = value; this.raisePropertyChanged('expandedSize'); } }, get_ExpandedSize: function() { Sys.Extended.Deprecated("get_ExpandedSize", "get_expandedSize"); return this.get_expandedSize(); }, set_ExpandedSize: function(value) { Sys.Extended.Deprecated("set_ExpandedSize", "set_expandedSize"); this.set_expandedSize(value); }, /// /// ID of the control used to collapse the target when clicked /// /// get_collapseControlID /// set_collapseControlID /// get_collapseControlID: function() { return this._collapseControlID; }, set_collapseControlID: function(value) { if(this._collapseControlID != value) { this._collapseControlID = value; this.raisePropertyChanged('collapseControlID'); } }, get_CollapseControlID: function() { Sys.Extended.Deprecated("get_CollapseControlID", "get_collapseControlID"); return this.get_collapseControlID(); }, set_CollapseControlID: function(value) { Sys.Extended.Deprecated("set_CollapseControlID", "set_collapseControlID"); this.set_collapseControlID(value); }, /// /// ID of the control used to expand the target when clicked /// /// get_expandControlID /// set_expandControlID /// get_expandControlID: function() { return this._expandControlID; }, set_expandControlID: function(value) { if (this._expandControlID != value) { this._expandControlID = value; this.raisePropertyChanged('expandControlID'); } }, get_ExpandControlID: function() { Sys.Extended.Deprecated("get_ExpandControlID", "get_expandControlID"); return this.get_expandControlID(); }, set_ExpandControlID: function(value) { Sys.Extended.Deprecated("set_ExpandControlID", "set_expandControlID"); this.set_expandControlID(value); }, /// /// Whether to add a scrollbar when the contents are larger than the target /// (the contents will be clipped if false) /// /// get_scrollContents /// set_scrollContents /// get_scrollContents: function() { return this._scrollContents; }, set_scrollContents: function(value) { if (this._scrollContents != value) { this._scrollContents = value; this.raisePropertyChanged('scrollContents'); } }, get_ScrollContents: function() { Sys.Extended.Deprecated("get_ScrollContents", "get_scrollContents"); return this.get_scrollContents(); }, set_ScrollContents: function(value) { Sys.Extended.Deprecated("set_ScrollContents", "set_scrollContents"); this.set_scrollContents(value); }, /// /// Whether or not to suppress postbacks generated when the CollapseControlID or /// ExpandControlID elements are clicked /// /// get_suppressPostBack /// set_suppressPostBack /// get_suppressPostBack: function() { return this._suppressPostBack; }, set_suppressPostBack: function(value) { if (this._suppressPostBack != value) { this._suppressPostBack = value; this.raisePropertyChanged('suppressPostBack'); } }, get_SuppressPostBack: function() { Sys.Extended.Deprecated("get_SuppressPostBack", "get_suppressPostBack"); return this.get_suppressPostBack(); }, set_SuppressPostBack: function(value) { Sys.Extended.Deprecated("set_SuppressPostBack", "set_suppressPostBack"); this.set_suppressPostBack(value); }, /// /// ID of the element where the "status text" for the target will be placed /// /// get_textLabelID /// set_textLabelID /// get_textLabelID: function() { return this._textLabelID; }, set_textLabelID: function(value) { if (this._textLabelID != value) { this._textLabelID = value; this.raisePropertyChanged('textLabelID'); } }, get_TextLabelID: function() { Sys.Extended.Deprecated("get_TextLabelID", "get_textLabelID"); return this.get_textLabelID(); }, set_TextLabelID: function(value) { Sys.Extended.Deprecated("set_TextLabelID", "set_textLabelID"); this.set_textLabelID(value); }, /// /// Text to show in the element specified by TextLabelID when the target is expanded. /// This text is also used as the alternate text of the image if ImageControlID has been provided /// /// get_expandedText /// set_expandedText /// get_expandedText: function() { return this._expandedText; }, set_expandedText: function(value) { if (this._expandedText != value) { this._expandedText = value; this.raisePropertyChanged('expandedText'); } }, get_ExpandedText: function() { Sys.Extended.Deprecated("get_ExpandedText", "get_expandedText"); return this.get_expandedText(); }, set_ExpandedText: function(value) { Sys.Extended.Deprecated("set_ExpandedText", "set_expandedText"); this.set_expandedText(value); }, /// /// Text to show in the element specified by TextLabelID when the target is collapsed. /// This text is also used as the alternate text of the image if ImageControlID has been provided /// /// get_collapsedText /// set_collapsedText /// get_collapsedText: function() { return this._collapsedText; }, set_collapsedText: function(value) { if (this._collapsedText != value) { this._collapsedText = value; this.raisePropertyChanged('collapsedText'); } }, get_CollapsedText: function() { Sys.Extended.Deprecated("get_CollapsedText", "get_collapsedText"); return this.get_collapsedText(); }, set_CollapsedText: function(value) { Sys.Extended.Deprecated("set_CollapsedText", "set_collapsedText"); this.set_collapsedText(value); }, /// /// ID of the element where an icon indicating the collapsed status of the target will be placed /// /// get_imageControlID /// set_imageControlID /// get_imageControlID: function() { return this._imageControlID; }, set_imageControlID: function(value) { if (this._imageControlID != value) { this._imageControlID = value; this.raisePropertyChanged('imageControlID'); } }, get_ImageControlID: function() { Sys.Extended.Deprecated("get_ImageControlID", "get_imageControlID"); return this.get_imageControlID(); }, set_ImageControlID: function(value) { Sys.Extended.Deprecated("set_ImageControlID", "set_imageControlID"); this.set_imageControlID(); }, /// /// Path to an image to show in the element specified by ImageControlID when the target is expanded /// /// get_expandedImage /// set_expandedImage /// get_expandedImage: function() { return this._expandedImage; }, set_expandedImage: function(value) { if (this._expandedImage != value) { this._expandedImage = value; this.raisePropertyChanged('expandedImage'); } }, get_ExpandedImage: function() { Sys.Extended.Deprecated("get_ExpandedImage", "get_expandedImage"); return this.get_expandedImage(); }, set_ExpandedImage: function(value) { Sys.Extended.Deprecated("set_ExpandedImage", "set_expandedImage"); this.set_expandedImage(value); }, /// /// Path to an image to show in the element specified by ImageControlID when the target is collapsed /// /// get_collapsedImage /// set_collapsedImage /// get_collapsedImage: function() { return this._collapsedImage; }, set_collapsedImage: function(value) { if (this._collapsedImage != value) { this._collapsedImage = value; this.raisePropertyChanged('collapsedImage'); } }, get_CollapsedImage : function() { Sys.Extended.Deprecated("get_CollapsedImage", "get_collapsedImage"); return this.get_collapsedImage(); }, set_CollapsedImage : function(value) { Sys.Extended.Deprecated("set_CollapsedImage", "set_collapsedImage"); this.set_collapsedImage(); }, /// /// Whether to automatically expand the target when the mouse is moved over it /// /// get_autoExpand /// set_autoExpand /// get_autoExpand: function() { return this._autoExpand; }, set_autoExpand: function(value) { if (this._autoExpand != value) { this._autoExpand = value; this.raisePropertyChanged('autoExpand'); } }, get_AutoExpand: function() { Sys.Extended.Deprecated("get_AutoExpand", "get_autoExpand"); return this.get_autoExpand(); }, set_AutoExpand: function(value) { Sys.Extended.Deprecated("set_AutoExpand", "set_autoExpand"); this.set_autoExpand(value); }, /// /// Whether to automatically collapse the target when the mouse is moved off of it /// /// get_autoCollapse /// set_autoCollapse /// get_autoCollapse: function() { return this._autoCollapse; }, set_autoCollapse: function(value) { if (this._autoCollapse != value) { this._autoCollapse = value; this.raisePropertyChanged('autoCollapse'); } }, get_AutoCollapse: function() { Sys.Extended.Deprecated("get_AutoCollapse", "get_autoCollapse"); return this.get_autoCollapse(); }, set_AutoCollapse: function(value) { Sys.Extended.Deprecated("set_AutoCollapse", "set_autoCollapse"); this.set_autoCollapse(value); }, /// /// Direction the panel will expand and collapse (can be either "Vertical" or "Horizontal") /// /// get_expandDirection /// set_expandDirection /// get_expandDirection: function() { return this._expandDirection == Sys.Extended.UI.CollapsiblePanelExpandDirection.Vertical; }, set_expandDirection: function(value) { if (this._expandDirection != value) { this._expandDirection = value; this.raisePropertyChanged('expandDirection'); } }, get_ExpandDirection: function() { Sys.Extended.Deprecated("get_ExpandDirection", "get_expandDirection"); return this.get_expandDirection(); }, set_ExpandDirection: function(value) { Sys.Extended.Deprecated("set_ExpandDirection", "set_expandDirection"); this.set_expandDirection(value); } } Sys.Extended.UI.CollapsiblePanelBehavior.registerClass('Sys.Extended.UI.CollapsiblePanelBehavior', Sys.Extended.UI.BehaviorBase);