Web UI Framework - Widgets gallery

Web UI Framework - Widgets gallery

Web UI Framework - Widgets gallery

Single image display

Single Image Display reduces or enlarges images so that they fit their container while maintaining their aspect ratio. The container might be another element, or the window itself.

A small square image.
A big square image.
A big landscape image.
A big portrait image.
A small landscape image.
An image from the internet.
Credit
Broken image with default 'broken' icon image.
Broken image with customized 'broken' icon image.

Web UI Framework - Widgets gallery

Date/time picker

Date/time picker

The date you selected is: (select a date first)

Web UI Framework - Widgets gallery

Volume control

Volume control

Click "Show Volume", then press ↑, ↓, Home, or End.
Show Volume

Web UI Framework - Widgets gallery

Color widgets

Web UI Framework - Widgets gallery

Color picker demo

Web UI Framework - Widgets gallery

Color title demo

Color

Web UI Framework - Widgets gallery

Color picker button demo

Web UI Framework - Widgets gallery

Hue/Saturation/Value picker demo

Color

Web UI Framework - Widgets gallery

Color palette demo

Color

Web UI Framework - Widgets gallery

Progress bar

Progress bar

Show progressbar in dialog

Web UI Framework - Widgets gallery

Progress bar in dialog box

Day selector

With a legend (also API demo)

Choose some days
Check all
Get Days

The day(s) you selected are: (select a day first)


With a legend, with custom swatch

Choose some days

Without a legend


Without a legend, vertical layout

Note that the checkboxes are visible as icons (this is the default behaviour for vertical checkbox controlgroups in jQuery Mobile).


With a legend, vertical layout

Choose some days

Web UI Framework - Widgets gallery

Switch

Labelled:

Horizontal and labelled:

Coordinated switches:

As an input element:

Web UI Framework - Widgets gallery

Group index

Web UI Framework - Widgets gallery

Short cut scroll (aka fast scroll)

Web UI Framework - Widgets gallery

SwipeList. Swipe any list item from left to right to reveal the associated actions.

Web UI Framework - Widgets gallery

Popup window with arrows - click anywhere to view arrowed popup

Dialog

Delete page?

This is a regular page, styled as a dialog. To create a dialog, just link to a normal page and include a transition and data-rel="dialog" attribute.

Sounds good Cancel

Web UI Framework - Widgets gallery

Processing (circle)

Web UI Framework - Widgets gallery

Processing (bar)

Web UI Framework - Widgets gallery

Scroller

Vertical with toggle various changes.

A list of names in a longer scrollview, again by using 'data-scroll="y"' with the <ul> element.
Use of css to control the width, height and border is shown in demo.css. Use of javascript to set options is shown in init.js. The button will toggle scrollbar visibility (initially hidden in demo.css) using the label's click event to set the css visibility attribute (see init.js). The scrollview's scrollDuration is set to 10000ms (default is 2000ms) so the scroll takes 10 seconds to finish.

/* in demo.css */
#scroller2 .ui-scrollview-clip {
    height: 300px; /* container height */
    border: 1px solid #155678;
}

/*
 * set the width of the content
 * else the checkbox will extend to the right edge
 */
#scroller2Content {
    width: 205px;
}

/* hide scroll bar from #scroller2 element */
#scroller2 .ui-scrollbar {
    visibility: hidden; /* bound to checkbox in init.js */
}

/* in init.js
 * many options cannot be set without subclassing since they're
 * used in the _create method - it seems as if these are for
 * internal use only and scrollDuration is only changable by
 * chance.
 */
var $scroller2List = $('#scroller2').find('ul');
$scroller2List.scrollview('option','scrollDuration','10000');
                    

Vertical with paging.

This example shows the list of names in short container with paging. This is done by setting the 'data-scroll' attribute of the <ul> element to 'yp'. All other options are default.
If you scrolling up/down a small amount you can see the paging effect. Notice how the names scroll up/down by one height of its container (keep your eye on what the names are at the top/bottom of the container).

<ul data-scroll="yp" >
    <li>....</li>
</ul>
                    

Web UI Framework - Widgets gallery

TODONS - Calendar Picker. Click Button to launch Calendar Picker

Web UI Framework - Widgets gallery

Option header - 4 buttons

More optionheader demos...

2 buttons 3 buttons 4 buttons 8 buttons 2 seg + function 2 buttons, inline Programmatic

Web UI Framework - Widgets gallery

Option header - 2 buttons

NB this option header starts in a collapsed state.

Some content would be here

fixed footer

Option header - 3 buttons

Some content would be here

fixed footer

Option header - 4 buttons

Some content would be here

fixed footer

Option header - 8 buttons (2 rows with 4 buttons each)

Some content would be here

fixed footer

Option header - empty cell + 2 seg + function

Some content would be here

fixed footer

Option header - 2 buttons, inline

The start of the content

The rest of the content

fixed footer

Option header - created programmatically

The start of the content

The rest of the content

fixed footer

Slider



Web UI Framework - Widgets gallery

PersonPicker

NB to get the scrollview to work inside the personpicker, the following style is applied to automatically shorten the scrollview clip div:

/* short-person-picker is the ID of the div used to create the personpicker */
#short-person-picker .ui-scrollview-clip {
    height: 400px;
}
                

Listview auto-dividers

This should get auto-dividers based on link text.

This should get auto-dividers based on link text but shouldn't produce duplicate dividers on refresh. Should also add more dividers if new list elements are added.

This uses a custom selector to draw text from formatted list items.

  • Anne likes to eat sweets
  • Beth likes to eat treats
  • Bill likes to eat meats
  • Carl likes to eat beets

This should get auto-dividers based on text. NB this has intentionally blank li elements to check they don't get dividers.

  • Barry
  • Betty
  • Carrie
  • Harry
  • Hetty
  • Kitty
  • Larry
  • Laurie
  • Mary

Non-sorted list will produce duplicate auto-dividers.

  • Barry
  • Carrie
  • Betty
  • Harry
  • Carly
  • Hetty

This had dividers already which were replaced.

Web UI Framework - Widgets gallery

Horizontal box layout

hbox applied directly to div with data-role="content"

Here's an example with 10px hgap, scrolling on, but scrollbars off (set with data-layout-options='{"hgap":10, "scrollable":true, "showScrollBars":false}').

Each of the divs laid out by this hbox has a size 400px x 400px, set via CSS.

Each of the divs laid out by this hbox has a size 400px x 400px, set via CSS.

Each of the divs laid out by this hbox has a size 400px x 400px, set via CSS.

Each of the divs laid out by this hbox has a size 400px x 400px, set via CSS.

Each of the divs laid out by this hbox has a size 400px x 400px, set via CSS.

Each of the divs laid out by this hbox has a size 400px x 400px, set via CSS.

Each of the divs laid out by this hbox has a size 400px x 400px, set via CSS.

Each of the divs laid out by this hbox has a size 400px x 400px, set via CSS.

Here's an example with 2px hgap and scrollable off (set with data-layout-options='{"hgap":2, "scrollable":false}').

tiny tiny tiny tiny tiny tiny

tiny tiny tiny tiny tiny tiny

tiny tiny tiny tiny tiny tiny

tiny tiny tiny tiny tiny tiny

tiny tiny tiny tiny tiny tiny

tiny tiny tiny tiny tiny tiny

tiny tiny tiny tiny tiny tiny

tiny tiny tiny tiny tiny tiny

Here's an example with 2px hgap and scrollable off (set with data-layout-options='{"hgap":2, "scrollable":false}'). Notice that layouting can be dynamically applied as children are added by calling $(<container>).layouthbox('refresh'). Note that children will be clipped as they move out of the end of the container (no scrollview is applied in this case).

Add element at start Add element at end Reset

tiny tiny tiny tiny tiny tiny

Here is an example similar to the above, but with a scrollview.

Add element at start Add element at end Reset Increase hgap Decrease hgap Scrollbars off

bigger bigger bigger bigger bigger

layout-hbox: applied direct to content

Each of the divs laid out by this hbox has a size 300px x 300px, set via CSS. Horizontal gap is configured using data-layout-options='{"hgap":10}'. Note that the content area loses its padding, so you might want to use a div inside the content area.

Each of the divs laid out by this hbox has a size 300px x 300px, set via CSS. Horizontal gap is configured using data-layout-options='{"hgap":10}'. Note that the content area loses its padding, so you might want to use a div inside the content area.

Each of the divs laid out by this hbox has a size 300px x 300px, set via CSS. Horizontal gap is configured using data-layout-options='{"hgap":10}'. Note that the content area loses its padding, so you might want to use a div inside the content area.

Each of the divs laid out by this hbox has a size 300px x 300px, set via CSS. Horizontal gap is configured using data-layout-options='{"hgap":10}'. Note that the content area loses its padding, so you might want to use a div inside the content area.

Each of the divs laid out by this hbox has a size 300px x 300px, set via CSS. Horizontal gap is configured using data-layout-options='{"hgap":10}'. Note that the content area loses its padding, so you might want to use a div inside the content area.

Each of the divs laid out by this hbox has a size 300px x 300px, set via CSS. Horizontal gap is configured using data-layout-options='{"hgap":10}'. Note that the content area loses its padding, so you might want to use a div inside the content area.

Each of the divs laid out by this hbox has a size 300px x 300px, set via CSS. Horizontal gap is configured using data-layout-options='{"hgap":10}'. Note that the content area loses its padding, so you might want to use a div inside the content area.

Each of the divs laid out by this hbox has a size 300px x 300px, set via CSS. Horizontal gap is configured using data-layout-options='{"hgap":10}'. Note that the content area loses its padding, so you might want to use a div inside the content area.

Each of the divs laid out by this hbox has a size 300px x 300px, set via CSS. Horizontal gap is configured using data-layout-options='{"hgap":10}'. Note that the content area loses its padding, so you might want to use a div inside the content area.

Vertical box layout

vbox applied directly to a div with data-role="content"

Here's an example with 10px vgap, scrolling on, but scrollbars off (set with data-layout-options='{"vgap":10, "scrollable":true, "showScrollBars":false}').

Each of the divs laid out by this vbox has a size 400px x 400px, set via CSS.

Each of the divs laid out by this vbox has a size 400px x 400px, set via CSS.

Each of the divs laid out by this vbox has a size 400px x 400px, set via CSS.

Each of the divs laid out by this vbox has a size 400px x 400px, set via CSS.

Each of the divs laid out by this vbox has a size 400px x 400px, set via CSS.

Each of the divs laid out by this vbox has a size 400px x 400px, set via CSS.

Each of the divs laid out by this vbox has a size 400px x 400px, set via CSS.

Each of the divs laid out by this vbox has a size 400px x 400px, set via CSS.

Here's an example with 2px vgap and scrollable off (set with data-layout-options='{"vgap":2, "scrollable":false}'). Note that even though the outer div has its height set to 600px, because it doesn't have a scrollview, the div is sized so its children fit vertically (this is a jLayout "feature").

tiny tiny tiny tiny tiny tiny

tiny tiny tiny tiny tiny tiny

tiny tiny tiny tiny tiny tiny

tiny tiny tiny tiny tiny tiny

tiny tiny tiny tiny tiny tiny

tiny tiny tiny tiny tiny tiny

tiny tiny tiny tiny tiny tiny

tiny tiny tiny tiny tiny tiny

Here's an example with 2px vgap and scrollable off (set with data-layout-options='{"vgap":2, "scrollable":false}'). Notice that layouting can be dynamically applied as children are added by calling $(<container>).layoutvbox('refresh'). Note that children are not clipped, as the container will grow to accommodate them (unlike the horizontal layout box, which is constrained by jqm to only ever be as wide as the page).

Add element at start Add element at end Reset

tiny tiny tiny tiny tiny tiny

Here is an example similar to the above, but with a scrollview.

Add element at start Add element at end Reset Increase vgap Decrease vgap Scrollbars off

bigger bigger bigger bigger bigger

layout-vbox: applied direct to content

Each of the divs laid out by this vbox has a size 300px x 300px, set via CSS. Vertical gap is configured using data-layout-options='{"vgap":10}'. Note that the content area loses its padding, so you might want to use a div inside the content area.

Each of the divs laid out by this vbox has a size 300px x 300px, set via CSS. Vertical gap is configured using data-layout-options='{"vgap":10}'. Note that the content area loses its padding, so you might want to use a div inside the content area.

Each of the divs laid out by this vbox has a size 300px x 300px, set via CSS. Vertical gap is configured using data-layout-options='{"vgap":10}'. Note that the content area loses its padding, so you might want to use a div inside the content area.

Each of the divs laid out by this vbox has a size 300px x 300px, set via CSS. Vertical gap is configured using data-layout-options='{"vgap":10}'. Note that the content area loses its padding, so you might want to use a div inside the content area.

Each of the divs laid out by this vbox has a size 300px x 300px, set via CSS. Vertical gap is configured using data-layout-options='{"vgap":10}'. Note that the content area loses its padding, so you might want to use a div inside the content area.

Each of the divs laid out by this vbox has a size 300px x 300px, set via CSS. Vertical gap is configured using data-layout-options='{"vgap":10}'. Note that the content area loses its padding, so you might want to use a div inside the content area.

Each of the divs laid out by this vbox has a size 300px x 300px, set via CSS. Vertical gap is configured using data-layout-options='{"vgap":10}'. Note that the content area loses its padding, so you might want to use a div inside the content area.

Each of the divs laid out by this vbox has a size 300px x 300px, set via CSS. Vertical gap is configured using data-layout-options='{"vgap":10}'. Note that the content area loses its padding, so you might want to use a div inside the content area.

Each of the divs laid out by this vbox has a size 300px x 300px, set via CSS. Vertical gap is configured using data-layout-options='{"vgap":10}'. Note that the content area loses its padding, so you might want to use a div inside the content area.

Listview controls

These are the controls which can operate over all of the items in the listview. Note that if you filter the list, these controls will only affect the currently-visible items. Also note that we're using autodividers here too :)

Web UI Framework - Widgets gallery

Expandable list item

Web UI Framework - Widgets gallery

Simple Widget

Web UI Framework - Widgets gallery