Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
zebra_dialog
Advanced tools
A small, compact, and highly configurable dialog box plugin for jQuery meant to replace JavaScript's native alert and confirmation windows
A small, compact and highly configurable jQuery plugin for creating responsive modal dialog boxes
A modal window is a child window that requires users to interact with it before they can continue using the parent application. Modal windows are one of the most commonly used user interface elements and are used to command user awareness in order to communicate important information, or to alert of errors or warnings.
Zebra Dialog is a small, compact (one JavaScript file, no dependencies other than jQuery 1.7.0+) , and highly configurable jQuery plugin for creating responsive modal dialog boxes, meant to replace native JavaScript alert, confirmation and prompt dialog boxes.
Can also be used as a notification widget (when configured to show no buttons and to close automatically) for updates or errors, without distracting users from their browser experience by displaying obtrusive alerts.
For the classic theme, the icons used for confirmation, information, error and question dialog boxes are made by DryIcon while the warning icon is made by Function Design & Development Studio.
For the flat theme, the icons used are made by Elegant Themes
For the materialize theme theme, the icons used are taken from Google's Material Design "design language".
See the demos
Zebra Dialog has no dependencies other than jQuery 1.7.0+
Zebra Dialog is available as a npm package. To install it use:
# the "--save" argument adds the plugin as a dependency in packages.json
npm install zebra_dialog --save
Zebra Dialog is also available as a Bower package. To install it use:
# the "--save" argument adds the plugin as a dependency in bower.json
bower install zebra_dialog --save
First, load jQuery from a CDN and provide a fallback to a local source like:
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script>window.jQuery || document.write('<script src="path/to/jquery-3.3.1.js"><\/script>')</script>
Load the Zebra Dialog jQuery plugin:
<script src="path/to/zebra_dialog.min.js"></script>
Alternatively, you can load Zebra Dialog from JSDelivr CDN like this:
<!-- for the most recent version, not recommended in production -->
<script src="https://cdn.jsdelivr.net/npm/zebra_dialog@latest/dist/zebra_dialog.min.js"></script>
<!-- for a specific version -->
<script src="https://cdn.jsdelivr.net/npm/zebra_dialog@1.4.0/dist/zebra_dialog.min.js"></script>
<!-- replacing "min" with "src" will serve you the non-compressed version -->
Load the style sheet file from a local source
<link rel="stylesheet" href="path/to/theme/zebra_dialog.min.css">
...or from JSDelivr CDN
<!-- for the most recent version of the "flat" theme -->
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/zebra_dialog@latest/dist/css/flat/zebra_dialog.min.css">
<!-- for the most recent version of the "default" theme -->
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/zebra_dialog@latest/dist/css/default/zebra_dialog.min.css">
<!-- replacing "min" with "src" will serve you the non-compressed version -->
Now, within the DOM-ready event do
$(document).ready(function() {
// show a dialog box when clicking on an element
$('#element').on('click', function(e) {
e.preventDefault();
new $.Zebra_Dialog('The link was clicked!');
});
});
Property | Type | Default | Description |
---|---|---|---|
animation_speed_hide | integer | 250 | The speed, in milliseconds, by which the overlay and the dialog box will be animated when closing. |
animation_speed_show | integer | 0 | The speed, in milliseconds, by which the overlay and the dialog box will be animated when appearing. |
auto_close | mixed | false |
The number of milliseconds after which to automatically close the dialog box or false to not automatically close the dialog box.
|
auto_focus_button | mixed | true |
The index (0-based) of the button (from left to right) to place the focus on when a dialog box is first shown. Set to false to disable.When set toSetting this to true is equivalent to setting it to 0 .Default is TRUE |
buttons | mixed |
Use this for localization and for adding custom buttons. If set to true , the default buttons will be used, depending on the type of the dialog box: ['Ok', 'Cancel'] for prompt , question and warning types, and ['Ok'] for the other types of dialog boxes.For custom buttons, use an array containing the captions of the buttons to display: ['My button 1', 'My button 2'] .Set to false if you want no buttons.You can also add custom CSS classes, set which button's callback to be triggered when the user presses ENTER while inside the input box (for prompt dialog boxes), and/or attach callback functions to individual buttons by using
objects in the form of:[{ caption: 'My button 1', custom_class: 'foo', default_confirmation: true, callback: function() { // code } },{ caption: 'My button 2', custom_class: 'bar', callback: function() { // code } }] For prompt dialog box types use the default_confirmation property to tell the library
which button's callback to trigger when the user presses ENTER while inside the input box. If
not set, you will have to handle user input via the onClose event, or you will
not be able to process user input for this case.Callback functions receive as first argument the entire dialog box, as a jQuery object, and as second argument, the value entered in the input box - when the dialog box's type is prompt , or undefined
for the other dialog types.A callback function attache to a button is executed as soon as the button is clicked rather than after the dialog box is closed, as it is the case with the onClose event.A callback function returning FALSE will prevent the dialog box from closing. | |
center_buttons | boolean | false |
Setting this property to true will instruct the plugin to center any available buttons instead of floating them to the right
|
custom_class | mixed | false |
An extra class to add to the dialog box's container, useful for further customizing dialog boxes For example, setting this value to mycustom and in the CSS file having something like.mycustom .ZebraDialog_Title { background: red } would set the dialog box title's background to red. Take a look into a theme's style sheet file to see what can be changed. |
height | integer | 0 |
By default, the height of the dialog box is automatically set and it is also influenced by the max_height
property. Use this to set a fixed height, in pixels, for the dialog box. |
keyboard | boolean | true |
When set to true , pressing the ESC key will close the dialog box.
|
max_height | integer | 0 |
The maximum height, in pixels, before the content in the dialog box is scrolled. If set to 0 the dialog box's height will automatically adjust to fit the entire content.
|
message | string | The message in the dialog box - this is passed as argument when the plugin is called. | |
modal | boolean | true |
When set to true there will be a semitransparent overlay behind the dialog box, preventing users from clicking the page's content.
|
overlay_close | boolean | true | Should the dialog box close when the overlay is clicked? |
overlay_opacity | double | .9 |
The opacity of the overlay (between 0 and 1 )
|
position | mixed | ['center', 'middle'] |
Position of the dialog box. Can be either center or an array with 2 elements, in the form of// notice that everything is enclosed in quotes ['horizontal_position +/- offset', 'vertical_position +/- offset'] where
Positions are relative to the viewport // position the dialog box in the top-left corner // shifted 20 pixels inside ['left + 20', 'top + 20'] // position the dialog box in the bottom-right corner // shifted 20 pixels inside ['right - 20', 'bottom - 20'] // position the dialog box in center-top // shifted 20 pixels down ['center', 'top + 20'] |
reposition_speed | integer | 100 | The duration (in milliseconds) of the animation used to reposition the dialog box when the browser window is resized. |
show_close_button | boolean | true |
When set to true , a close button (the little "x") will be shown in the upper right corner of the dialog box.If the dialog box has a title bar then the close button will be shown in the title bar, vertically centered and respecting the right padding. If the dialog box does not have a title bar then the close button will be shown in the upper right corner of the body of the dialog box, respecting the position related properties set in the stylesheet. |
source | mixed | false |
Add content via AJAX, iFrames or from inline elements (together with the already applied events). This property can be any of the following:
|
title | string | "" (empty string, no title) | Title of the dialog box |
type | mixed | information |
Dialog box type. Can be any of the following:
type property to false .By default, the warning and question types have two buttons with the captions Ok and Cancel respectively, while the other types have a single button with the caption Ok.
|
vcenter_short_message | boolean | Should short messages be vertically centered? | |
width | integer | 0 (uses the value defined in the theme) |
Width of the dialog box By default, the width of the dialog box is set in the theme file. Use this property to override the default width at run-time. Must be an integer, greater than 0 . Anything else will instruct the script to use the default value, as set in the theme file. Value should be no less than 200 for optimal output.
|
Event | Description |
---|---|
onClose |
Event fired when after the dialog box is closed. For executing functions before the closing of the dialog box, see the buttons option. The callback function receives as first argument the caption of the clicked button or boolean FALSE
if the dialog box is closed by pressing the ESC key, by clicking the dialog box's x
button, or by clicking the overlay. The argument can also be boolean TRUE when the dialog box
type is prompt and the ENTER key is pressed while inside the input box.As second argument, the callback function receives the value entered in the input box - when the dialog box type is prompt and a button was clicked or the ENTER key was pressed while inside
the input box, or undefined for any other case.All this is important when expecting user input as you can say that you have user input only when the value of the first argument is boolean TRUE or the value it's the same as the label of
the button considered as confirmation (i.e. "Ok"), and the value of the second argument is
!== undefined .See the buttons property for another way of handling user input.
|
close()
Call this method to manually close a dialog box.
var dialog = new $.Zebra_Dialog('This is some information');
dialog.close();
update()
Use this method to adjust the dialog box's position after content is changed dynamically, at run-time.
var dialog = new $.Zebra_Dialog('This is some information');
// change the content in the dialog box
$('.ZebraDialog_Body').html('New content');
dialog.update();
Cross browser/device testing is done with
FAQs
A small, compact, and highly configurable jQuery plugin for creating beautiful modal dialog boxes
The npm package zebra_dialog receives a total of 327 weekly downloads. As such, zebra_dialog popularity was classified as not popular.
We found that zebra_dialog demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.