UNPKG

dojox

Version:

Dojo eXtensions, a rollup of many useful sub-projects and varying states of maturity – from very stable and robust, to alpha and experimental. See individual projects contain README files for details.

73 lines (63 loc) 2.09 kB
define([ "dojo/_base/declare", "dojo/_base/lang", "dojo/dom-style", "dojo/dom-class", "dojo/fx", "dijit/_Container", "dijit/layout/ContentPane" ], function(declare, lang, domStyle, domClass, fx, _Container, ContentPane){ return declare("dojox.widget.PortletSettings", [_Container, ContentPane], { // summary: // A settings widget to be used with a dojox.widget.Portlet. // description: // This widget should be placed inside a dojox.widget.Portlet widget. // It is used to set some preferences for that Portlet. It is essentially // a ContentPane, and should contain other widgets and DOM nodes that // do the real work of setting preferences for the portlet. // portletIconClass: String // The CSS class to apply to the icon in the Portlet title bar that is used // to toggle the visibility of this widget. portletIconClass: "dojoxPortletSettingsIcon", // portletIconHoverClass: String // The CSS class to apply to the icon in the Portlet title bar that is used // to toggle the visibility of this widget when the mouse hovers over it. portletIconHoverClass: "dojoxPortletSettingsIconHover", postCreate: function(){ // summary: // Sets the require CSS classes on the widget. // Start the PortletSettings widget hidden, always. domStyle.set(this.domNode, "display", "none"); domClass.add(this.domNode, "dojoxPortletSettingsContainer"); // Remove the unwanted content pane class. domClass.remove(this.domNode, "dijitContentPane"); }, _setPortletAttr: function(portlet){ // summary: // Sets the portlet that encloses this widget. this.portlet = portlet; }, toggle: function(){ // summary: // Toggles the visibility of this widget. var n = this.domNode; if(domStyle.get(n, "display") == "none"){ domStyle.set(n,{ "display": "block", "height": "1px", "width": "auto" }); fx.wipeIn({ node: n }).play(); }else{ fx.wipeOut({ node: n, onEnd: lang.hitch(this, function(){ domStyle.set(n,{"display": "none", "height": "", "width":""}); } )}).play(); } } }); });