Documentation v8.1.6

Preview Downloads Purchase

Overview

BlockUI is an exclusive plugin of Metronic that allows element blocking with overlay and loading indicator.

Usage

BlockUI's global style and scripts bundles and are globally included in all pages.
<link href="assets/css/style.bundle.css" rel="stylesheet" type="text/css"/>
<script src="assets/js/scripts.bundle.js"></script>

Basic Example

Click the below button to block the below content area:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Inceptos imperdiet magna! Sed fusce fames tempus litora venenatis. Ac aliquet leo hendrerit taciti viverra? Nisl suscipit potenti accumsan quis ipsum purus cursus. Suspendisse ultrices morbi in purus lectus dictum porta; Commodo penatibus nec.
var button = document.querySelector("#kt_block_ui_1_button");
var target = document.querySelector("#kt_block_ui_1_target");

var blockUI = new KTBlockUI(target);

button.addEventListener("click", function() {
    if (blockUI.isBlocked()) {
        blockUI.release();
        button.innerText = "Block";
    } else {
        blockUI.block();
        button.innerText = "Release";
    }
});
<div class="rounded border p-10" id="kt_block_ui_1_target">
    Lorem ipsum dolor sit amet....
</div>

Custom Message

Click the below button to block the below content area:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Inceptos imperdiet magna! Sed fusce fames tempus litora venenatis. Ac aliquet leo hendrerit taciti viverra? Nisl suscipit potenti accumsan quis ipsum purus cursus. Suspendisse ultrices morbi in purus lectus dictum porta; Commodo penatibus nec.
var button = document.querySelector("#kt_block_ui_2_button");
var target = document.querySelector("#kt_block_ui_2_target");

var blockUI = new KTBlockUI(target, {
    message: '<div class="blockui-message"><span class="spinner-border text-primary"></span> Loading...</div>',
});

button.addEventListener("click", function() {
    if (blockUI.isBlocked()) {
        blockUI.release();
        button.innerText = "Block";
    } else {
        blockUI.block();
        button.innerText = "Release";
    }
});
<div class="mb-10" id="kt_block_ui_2_target">
    <div class="rounded border p-10 scroll-y h-100px">
        Lorem ipsum dolor sit amet....
    </div>
</div>

Overlay Class

Use custom class for overlay to change it's background color:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Inceptos imperdiet magna! Sed fusce fames tempus litora venenatis. Ac aliquet leo hendrerit taciti viverra? Nisl suscipit potenti accumsan quis ipsum purus cursus. Suspendisse ultrices morbi in purus lectus dictum porta; Commodo penatibus nec.
var button = document.querySelector("#kt_block_ui_3_button");
var target = document.querySelector("#kt_block_ui_3_target");

var blockUI = new KTBlockUI(target, {
    overlayClass: "bg-danger bg-opacity-25",
});

button.addEventListener("click", function() {
    if (blockUI.isBlocked()) {
        blockUI.release();
        button.innerText = "Block";
    } else {
        blockUI.block();
        button.innerText = "Release";
    }
});
<div class="rounded border p-10" id="kt_block_ui_3_target">
    Lorem ipsum dolor sit amet....
</div>

Modal

Modal content blocking example:
var button = document.querySelector("#kt_block_ui_4_button");
var target = document.querySelector("#kt_block_ui_4_target");

var blockUI = new KTBlockUI(target);

button.addEventListener("click", function(e) {
    e.preventDefault();

    blockUI.block();

    setTimeout(function() {
        blockUI.release();
    }, 3000);
});
<!--begin::Modal-->
<div class="modal fade" tabindex="-1" id="kt_modal_1">
    <div class="modal-dialog modal-dialog-centered mw-650px">
        <div class="modal-content" id="kt_block_ui_4_target">
            ....
        </div>
    </div>
</div>
<!--end::Modal-->

Methods

The following are the BlockUI's functionality methods for more control.
Name Description
Constructor Constructs a new instance of KTBlockUIclass and initializes a Dialer control:
var target = document.querySelector("#kt_blockui_target");
var blockUI = new KTBlockUI(target, options);
For the constructor optionsrefer to the next table.
block() Block target element
blockUI.block();
release Release target element
blockUI.release();
isBlocked() Check if target element is blocked.
if (blockUI.isBlocked() === true) {
    // do something
}
destroy() Removes the component instance from element.
blockUI.destroy();
Static Methods
getInstance(DOMElement element) Get BlockUI instance created and bind to a target element.
var target = document.querySelector("#kt_blockui_target");
var blockUI = KTBlockUI.getInstance(target);

Constructor Options

All options can be passed to the construction during the plugin initialization:
Name Type Default Description
zIndex Object false Custom CSS z-index value of BlockUI's overlay element.
overlayClass String null Custom CSS class for BlockUI overlay element.
overflow String hidden Forces to set the target element's CSS overflow value to hiddenif the target element does not have a CSS overflow value. Set the value to autoto ignore this behaviour.
message String <span class="spinner-border text-primary"></span> Sets BlockUI's HTML content centered within the target element.

Events

Below are few events for hooking into the Bootstrap BlockUI functionality.
Event Type Description
kt.blockui.block This event is fired before BlockUI is blocked.
var target = document.querySelector("#kt_blockui_target");
var blockUI = new KTBlockUI(target, options);

blockUI.on("kt.blockui.block", function() {
    console.log("before block");
});
kt.blockui.blocked This event is fired after BlockUI is blocked.
var target = document.querySelector("#kt_blockui_target");
var blockUI = new KTBlockUI(target, options);

blockUI.on("kt.blockui.blocked", function() {
    console.log("after blocked");
});
kt.blockui.release This event is fired before BlockUI release.
var target = document.querySelector("#kt_blockui_target");
var blockUI = new KTBlockUI(target, options);

blockUI.on("kt.blockui.release", function() {
    console.log("before release");
});
kt.blockui.released This event is fired after BlockUI is released.
var target = document.querySelector("#kt_blockui_target");
var blockUI = new KTBlockUI(target, options);

blockUI.on("kt.blockui.released", function() {
    console.log("after released");
});
Learn & Get Inspired

Support at devs.keenthemes.com

Join our developers community to find answer to your question and help others. FAQs
Get Support
Video Tutorials
From guides and how-tos, to live demos and code examples to get started right away.
Metronic Downloads
Download your prefered framework and demo with one click.
What's New ?
Latest features and improvements added with our users feedback in mind.
Buy now