bootstrap-remote-data

Simple boostrap plugin to allow tabs and accordions to fetch their data from a remote source


Keywords
bootstrap, remote, tab
License
GPL-2.0+
Install
bower install bootstrap-remote-data

Documentation

Bootstrap remote data plugin

Author: Stephen Hoogendijk - TheCodeAssassin

This project is licensed under the GPLV2 license.

This plugin uses the jQuery loadmask plugin by Sergiy Kovalchuk.

Simple boostrap plugin to allow tabs and accordions to fetch their data from a remote source

The script is only 2.5k compressed!

Requirements

  • Bootstrap 2.3 or higher

Installation

  • Clone this repository or download the latest stable
  • Copy the bootstrap-remote-tabs.js in your js directory.
  • Include it:
  • If you want a loading mask to appear when you load your remote content, also include the following files: js/jquery.loadmask.js (before the remote tabs plugin) ,css/jquery.loadmask.css. and img/loading.gif.

Usage

You can use the following properties to enable remote data tabs:

Property Value Effect Required
data-tab-url url The remote data url True
data-tab-always-refresh true Always refresh this tab False
data-tab-callback function-name Callback to be fired upon show (will be executed after the data is loaded). It takes the following arguments: html, trigger, container, (optional) json data that was sent False
data-tab-json json JSON data to be send when fetching the URL False
data-tab-delay number Simulate a delay (in miliseconds) False

Check the demo for details on how to use this plugin.

Note: The properties are still named data-tab due to backwards compatibility

Settings

You can change the default settings of this plugin by providing the settings as a global variable.

There are two options currently:

  • customLoadFn (callback): this is a custom loading function, defaults to the built-in loader
  • loadFirstTab (boolean): whether to load the first tab on page load or not (defaults to false)
var bootstrapRemoteTabSettings = {
   customLoadFn: function(isLoading) {
      var loader = $('.custom-loader');

      if (isLoading) {
        loader.show();
      } else {
        loader.hide();
      }
   },
   loadFirstTab: true
}

Note

This plugin hooks into the bootstrap tab/accordion 'show' event. In order to use a custom event callback, you can provide data-tab-callback to let the plugin execute your custom callback. If you want a callback to be fired after the show event, use the native shown event.

Changelog

Version 1.2.1

  • Fixed issue #7 - reported by tofanelli

Version 1.2.0

  • Added settings
  • Added load first page option (default false)
  • Added option to have a custom loading function

Version 1.1.1

  • Added support for accordions

Version 1.1.0

  • Added feature to go to the tab specified in the URL (for example #tab1 will open the tab with ID #tab1)

Version 1.0.1

  • Added minified version of the script. Fixed small issue with gracefully degrading

Version 1.0.0

  • Initial release