View
 

DisableUI

Page history last edited by Todd Parker 2 years, 10 months ago

 

type: widget

release: 0.0

priority: very low

status: in planning

documentation: N/A

demo: http://jquery-ui.googlecode.com/svn/branches/dev/overlay/demos/overlay/index.html

 


 

1 - Description:

 

Description of usage and  purpose needs to be written here.

 


 

2 - Visual Design:

 

 

Image shows a targeted element with applied overlay containing a message.

 


 

 

3 - Functional Specifications/Requirements:

 

Getters: (none)

 

Defaults:

  • show: true
  • showMessage: false
  • disableScrolling: false
  • hideOnEsc: false
  • hideOnClick: false
  • zIndex: 1000
  • icon: false
  • text: ''

 

Usage:

 

Displaying a simple overlay;

$('#element').overlay();

 

Displaying an overlay with a message;

$('#element').overlay({showMessage: true, icon: true, text: 'Hey! Sample overlay plugin message.'});

 

The following statements will target document.body;

$(window).overlay({disableScrolling: true});

$(document).overlay();

$(document.body).overlay();

 

Disable scrolling when the overlay is visible;

$(document.body).overlay({disableScrolling: true});

 

Disable scrolling when the overlay is visible, and hide the overlay onclick;

$(document.body).overlay({disableScrolling: true, hideOnClick: true});

 

Disable scrolling when the overlay is visible, and hide the overlay when the ESCAPE key is pressed;

$(document.body).overlay({disableScrolling: true, hideOnEsc: true});

 

Options:

  • show: If true, will show the overlay after init. If false, will require calling ('show') to show the overlay.
  • showMessage: If true, will render the message portion of the overlay.
  • disableScrolling: If true, will disable scrolling on the targeted element.
  • hideOnEsc: If true, will hide the overlay when the ESCAPE key is pressed. (Currently only functions properly when document.body is targeted)
  • hideOnClick: If true, will hide the overlay when any part of the overlay is clicked by the mouse.
  • zIndex: The starting zIndex for the overlay.
  • icon: If true and showMessage is true, will display the icon element within the overlay message.
  • text: If note an empty string (and not null), will display the specified text within the overlay message.

 


 

4 - Markup & Style:

 

     4.1 Initial markup examples

 

Simple overlay with no message:

<div class="ui-widget ui-overlay" style="z-index: 1000; position: absolute; width: 420px; height: 100px; top: 242px; left: 22px;">

    <div class="ui-widget-overlay ui-overlay-back" style="width: 420px; height: 100px;"/>

</div>

 

Overlay with message:

<div class="ui-widget ui-overlay" style="z-index: 1000; position: absolute; width: 420px; height: 100px; top: 417px; left: 22px;">

    <div class="ui-widget-overlay ui-overlay-back" style="width: 420px; height: 100px;"/>

    <div class="ui-overlay-fore" style="width: 420px; height: 100px;">

        <div class="ui-state-highlight ui-corner-all ui-overlay-fore-content" style="margin-top: 35px; margin-left: 77px;">

            <div class="ui-icon ui-icon-info ui-overlay-fore-icon"/>

            <div class="ui-overlay-fore-text">Hey! Sample overlay plugin message.</div>

        </div>

    </div>

</div>

 

Inline styles are calculated and set dynamically by the widget at runtime.

 

 

     4.2 Recommended transformed HTML markup

 

Same as 4.1.

 

     4.3 Accessibility recommendation

 

 

Accessibility recommendations needed.

 

 

     4.4 CSS & Theme

 

     Initial CSS as used by the demo (needs tuning):

    <style type="text/css">

        html, body { margin: 0; }

        .margin { width: 400px; height: 80px; margin: 10px; border: 10px solid #cccc33; background: #fff; }

        .float-margin { width: 400px; height: 80px; float: left; margin: 10px; border: 10px solid #cccc33; background: #fff; }

 

        /* Theme CSS */

        .ui-overlay-back { position: absolute; }

        .ui-overlay-fore { position: absolute; }

        .ui-overlay-fore .ui-overlay-fore-content { padding: 6px 14px; overflow: auto; float: left;  }

        .ui-overlay-fore .ui-overlay-fore-content .ui-overlay-fore-icon { float: left; margin-right: 0.3em; }

        .ui-overlay-fore .ui-overlay-fore-content .ui-overlay-fore-text { float: left; margin-top: 1px; }

    </style>

 


 

5 - Latest version of plugin:

 

Development Branch - http://jquery-ui.googlecode.com/svn/branches/dev/overlay

Plugin Source - http://jquery-ui.googlecode.com/svn/branches/dev/overlay/ui/ui.overlay.js

 


 

6 - Open issues being discussed

 

This plugin is currently being planned and in early stages of development.

 


 

 

 

 

Comments (5)

sompylasar said

at 9:49 am on May 28, 2009

Consider having some events triggered on the element (e.g. overlay-shown, overlay-hidden). Currently I see no way of knowing when a user hideOnClick'ed or hideOnESC'ed my overlay except setting my own handler to catch that.

Also have a look at blockUI plugin ( http://malsup.com/jquery/block/#demos ) that allows effects to be configured on showing and hiding the overlay. With non-immediate change of the overlay the events would be extremely useful. Bind/trigger event model seems to me much more preferred to callbacks, though callbacks might back it up.

Thanks.

Kevin Peno said

at 6:05 pm on Nov 30, 2010

Couldn't this simply be merged with ui-dialog with the request that there be no call to action buttons?

Scott González said

at 6:15 pm on Nov 30, 2010

The API outlined above is probably not what will actually be used (this wiki can be tricky like that, anything with a status of "in planning" really means the jQuery UI team is not currently maintaining the page and there's no guarantee about who wrote what or what the team thinks). This plugin should essentially be what provides the modal option for the dialog widget. There shouldn't be any option for specifying text or icons. This should basically just disable the use of the page while allowing the use of some specific piece of content (presumably the element this plugin is called on).

Bohdan Ganicky said

at 9:02 am on Jan 31, 2011

Do I get it right that this is gonna be something like jQuery Tools Expose (http://flowplayer.org/tools/demos/toolbox/expose/) or jQuery Highlighter plugin (http://www.dailymarkup.com/)? And if not, wouldn't that be a nice jQuery UI widget candidate? :)

Scott González said

at 10:29 pm on Jan 31, 2011

Yes, this will probably be very similar to jQuery Tools Expose.

You don't have permission to comment on this page.