Mid-north Center Panel With "padding-sm" around it.

To create a split center panel like this with a sidebar, the north and "south" panel need to be nested inside an outside center panel. View source to see how it all comes together.

Center Panel With "ixf-container", "margin-md" and "padding-md" around it.

Custom Configuration

The system we are using for the panels is extremely robust. Likewise it can be quite daunting to configure deeper then what we provide out of the box. If you want to take it to the next level, this will help you do that.

To configure the layout script insert the following either in your project.js if you want it to be a global customization, or on the specific page where you want it to occur. The following MUST NOT BE in an onload (ie: $(function(){STUFF HERE})). Just put it on the page so it runs as it is loaded. If this doesn't make sense, maybe you shouldn't be trying this out ;)

ixf.layoutDefaults = {
	west:{
		size: 500
	},
	defaults:{
		size:400
	}
}

In the above, set anything you want to be applied to ALL PANES in the defaults section. If you want it to be applied only to a specific pane use the west section (changing west to the direction you want to apply to).

You can also set options directly on a given pane using data- attributes. Set it on the wrapping elements for defaults for all sub-panes, or on the individual panes to target that pane specifically.

Name Type Default Options Description
layout-closable boolean true Can the user close the pane
layout-resizable boolean true Can the user resize the pane
layout-minsize number Minimimum size the pane can be resized to
layout-maxsize number Maximum size the pane can be resized to
layout-size number Size the pane starts out at
layout-initclosed boolean Should the pane start closed
layout-options string You can pass any additional options you want to set custom for the panels via this. Must be formated with single quotes wrapping the value and double quotes used inside (ex: data-layout-options='{"size":"150"}')

Options Column = The script only recognizes these values

To see what all you can configure see the plugin documentation page. Good luck, it's pretty crazy in there.

West panel containing a div with "padding-sm"

The panel system will automatically detect what panels you have on your page. The classes you give each pane are as follows, hopefully their relative location on the page is obvious:

  • ui-layout-east
  • ui-layout-west
  • ui-layout-north
  • ui-layout-south
  • ui-layout-center (the main content area)

Pages are not required to have a ui-layout-center for their content if they aren't using multiple panels.

The panel system doesn't care about what content is in each panel. So you can make it have padding or be all the way out to the edge (full bleed). If the content is taller then the available space it will automatically get a scrollbar for that pane.

Features

  • Each pane (nsew) can be resized using the resizing bar between two panes.
  • You can click the 3 dot handle graphic to close the pane. You can click the dots to fully reopen again, or click elsewhere on the resizing bar to open temporarily. It will close after your mouse leaves the pane.
  • Each pane (nsew) has a default starting size and an optional min/max size.
  • Each pane (nsew) can be closed by default
  • The class names dictate location, not source order. Center can come before east (in the source) if you want that to be first in the tab-order, for accessibility, etc.
  • You can embed panels within panels. But you always need a center pane.

East Panel with a class of "sunken" and a div with "padding-md" set on it.

Text Size
Screen

My Account Sign Out