code: function () {
          var self = this, settings = self.settings;
  
          self.active(true);
  
          if (!self.panel) {
            var panelSettings = settings.panel;
  
            // Wrap panel in grid layout if type if specified
            // This makes it possible to add forms or other containers directly in the panel option
            if (panelSettings.type) {
              panelSettings = {
                layout: 'grid',
                items: panelSettings
              };
            }
  
            panelSettings.role = panelSettings.role || 'dialog';
            panelSettings.popover = true;
            panelSettings.autohide = true;
            panelSettings.ariaRoot = true;
  
            self.panel = new FloatPanel(panelSettings).on('hide', function () {
              self.active(false);
            }).on('cancel', function (e) {
              e.stopPropagation();
              self.focus();
              self.hidePanel();
            }).parent(self).renderTo(self.getContainerElm());
  
            self.panel.fire('show');
            self.panel.reflow();
          } else {
            self.panel.show();
          }
  
          self.panel.moveRel(self.getEl(), settings.popoverAlign || (self.isRtl() ? ['bc-tr', 'bc-tc'] : ['bc-tl', 'bc-tc']));
        }
docs: Shows the panel for the button.
  
  @method showPanel