16-04-2021



Kevin John White Obituary (Archived) Published in Ventura County Star from Sept. First 25 of 253 words: Kevin White, beloved son, brother and uncle, went to be with his.

  1. Kevin John Ventura
  2. Dota Hotkeys Kevin John Ventura
  3. John Ventura Facebook
  4. Inventory + Kevin John Ventura
  5. Download Hotkey Kevin John Ventura

UPDATE 01/02/2012: Version 2.0.0 of the Bootbox library is out. Whilst this tutorial is still largely accurate and version 1.1.2 will work with the 1.x series of Twitter's Bootstrap framework, you should check out the updated version here.

This article discusses a GitHub repository – feel free to browse the code or follow the project.

  1. Kjventura.com is 1 decade 2 months old. It has a global traffic rank of #2,336,755 in the world. It is a domain having com extension. This website is estimated worth of $ 480.00 and have a daily income of around $ 2.00. Furthermore the website is monetizing from Google Adsense. As no active threats were reported recently by users, kjventura.com is SAFE to browse.
  2. Listen to Kevin John Ventura SoundCloud is an audio platform that lets you listen to what you love and share the sounds you create. Stream Tracks and Playlists from Kevin John Ventura on your desktop or mobile device.
  3. Minamahal Kita Sinasamba Kita Sa aking buhay ay Ikaw Ang nagbigay kahulugan Minamahal, Sinasamba Kita Vocals: MJ Jugar, Jireh Betia, Babylyn Bolotano Keys & String: Kevin John Ventura.

I’ve been using twitter's bootstrap framework for a number of site builds recently, mainly because it gets me from black-and-white markup to vaguely-presentable websites in a very small amount of time. Version 1.3 introduced some JavaScript plugins to complement the array of stylistic elements it already provided - notably code to invoke dialog boxes, or modals. A recent project I've been working on required extensive use of JavaScript's native alert and confirm dialogs, but their crude behaviour and wildly varying appearance between browsers is always somewhat dissatisfying, so I wanted combine their basic functionality with bootstrap's slick looking dialog boxes. Enter bootbox.js - alert() and confirm() like behaviour using twitter's modal dialog boxes.

Dialogs using Twitter Bootstrap

You may be wondering why a few wrapper methods around bootstrap's built-in dialog capabilities are either necessary or desirable. To begin to answer that, let's look at the code required to show a simple alert style dialog programatically using bootstrap:

Note that this example is purely for demonstration purposes - you probably don't want to show an obtrusive dialog as soon as the page loads! Nevertheless, as you can see from the previous snippet, we have to:

  1. Create the dialog's HTML and have it present somewhere in the DOM
  2. Add the buttons to dismiss the dialog
  3. Wire up the JavaScript handlers for each button present in the dialog
  4. Ensure the handlers are unbound when the dialog is hidden
  5. Show and hide the dialog itself

It's important to stress that none of these points are negative, nor are they particularly arduous. However, when you want lots of dialogs and you don't want to create all of the HTML and JavaScript for each one, it can get a bit unwieldy. This is where bootbox comes in.

Bootbox.js Alerts

Let's dive straight in and see the most simple example of a bootbox alert in action:

Which results in the following dialog:

So far, so simple - you've got the same result for a fraction of the code. Additionally, bootbox tries to mimic the behaviour of JavaScript's built-in alert as best as possible, hence the 'OK' button is automatically focused so the user can dismiss it by hitting the return key. This brief example demonstrates how bootbox simplifies creating, showing and dismissing bootstrap's dialogs, so let's now go on and look at what else it can do.

Alert Callbacks

Kevin John Ventura

The typical use case for an alert dialog is to present the user with a blocking notification which they have to acknowledge before continuing - crucially in JavaScript this translates into literally blocking the script's execution when using alert or confirm, meaning that as a developer you can guarantee that the alert has been dismissed before subsequent code executes. In userland, you can’t block the script's thread of execution, so we have to resort to a familiar ally if we want to delay execution of some code until we're sure a user has processed our notification. This ally comes in the form of a callback function provided as an argument to our bootbox alert method. Let’s take a look at an example:

This means the bootbox API isn’t like-for-like with the native JavaScript methods it mimics, but it's a suitable alternative and one which provides a very familiar interface to JavaScript developers. Besides, the way the native methods block everything isn't particularly pleasant anyway.

Custom button labels

Last but not least on the subject of alert boxes, you can provide a custom label if you’re not happy with the standard ’OK’ button:

Resulting in the following button being displayed:

As you can see, the argument list is flexible - the general rule of thumb is that a callback method, if provided, should always be the last argument.

Confirm dialogs

The native confirm method is as useful — and in some cases certainly more useful — than the alert method, as it not only alerts the user but prompts them to make a meaningful decision which will impact subsequent program flow based on their choice. Let's take a look at its most basic usage:

A confirm without a callback isn't particularly useful, but since it’s entirely possible using the native method, it’s possible with bootbox.

Confirm callbacks

Let’s look at getting the most out of of the choices we offer the user. The callback we provide will be populated with a boolean representing which choice the user made as per the native method:

The API provided follows the same format of bootbox.alert, which means we can override one or both of the button labels we show the user if we want to:

Custom dialogs

Under the hood, bootbox.alert and bootbox.confirm just process the arguments provided to them and ship them off to bootbox.dialog which is a public method which you can call too. It takes a range of flexible arguments which allow the creation of complex dialogs with a variety of buttons and callbacks. Of course, you can create very simple dialogs too, and although you’re probably better off using bootbox.alert to do so let’s take a look at the most simple dialog we can create:

The above snippet isn't very useful since it provides no buttons, meaning the user can't actually respond to the dialog at all. Let's sort that out, and while we're at it, let's add a callback function (though the callback key is entirely optional):

Kevin John Ventura

For convenience, the following form is equivalent if you want to provide a label and a callback without a custom button class:

What's this about button classes? So far we haven't provided any at all, which causes bootbox to do some head scratching to work out the most appropriate classes to apply to each button (e.g. primary on a single button, danger and primary for two buttons). We can provide a class key to customise the appearance of our button labels as per the classes provided by twitter's bootstrap framework:

Multiple buttons

So far, we've only looked at a custom dialog with one button displayed to the user. However, if you're using bootbox.dialog in the first place, you probably want more than this. Let's have a look at a significantly more complex dialog:

Please note the subtle difference in the method's arguments - the second of which is now an array of objects, rather than just a single button declaration.

Other options

Kevin John Ventura

We can specify a third argument to the dialog method which closely resembles the options accepted by bootstrap's $.modal method:

In fact, the only difference is that you can provide an onEscape option, which is a callback to be executed when the user dismisses the dialog with the escape key:

Dota Hotkeys Kevin John Ventura

Internally, the onEscape option is used when calling bootbox.alert meaning that a user can dismiss an alert message by pressing escape. Since confirm dialogs require a decision, the escape key is disabled when calling bootbox.confirm. Of course, with bootbox.dialog you can use onEscape however you wish - you can disable it, you can pass it the same callback as one you provide to one of its buttons, or you can give it an entirely customised callback. The choice is yours.

Hiding dialogs

By and large, you'll want your user to determine when it's time to hide a dialog by choosing one of its options. However, there may be times when you need to programatically do this. So far we haven't been interested in the return values of any of the bootbox methods, which is always the DOM element created representing the modal dialog box. If you assign this return value to a variable then you can hide it using twitter's $.modal('hide') method:

An alternative use case is when you want to hide all active instances of bootbox dialogs. Although you shouldn't really have more than one dialog on screen at once, if you do (or if you don't want to keep track of your dialogs using variables), then bootbox has a convenience method to hide all of its dialogs at once:

One final note on hiding dialogs in this manner - please note that none of your callbacks, either assigned to a button selection or the escape key, will be triggered when dialogs are programatically hidden.

Bootbox requirements

John Ventura Facebook

Bootbox naturally requires on twitter's bootstrap CSS, and the modals require the bootstrap-modal.js JavaScript too. Additionally, since Twitter's Bootstrap JavaScript plugins require jQuery or Ender, so does bootbox (to be honest, it has only been tested thus far with jQuery).

Inventory + Kevin John Ventura

Final thoughts

Download Hotkey Kevin John Ventura

Bootbox wasn't really designed as a plugin per-se, but as it evolved it felt like it was worth polishing off and releasing stand alone. The source code is naturally available on GitHub. A very simple demo page is available in the repository based largely on the example gists embedded throughout this article, though it could certainly do with a bit of attention. Any bugs, features or pull requests are of course most welcome. If you enjoyed this article, why not watch the project or follow me for updates about it, or spread the word using the tweet button below. Thank you!