Documentation v8.0.25

Preview 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="rounded border p-10" id="kt_block_ui_2_target">
    Lorem ipsum dolor sit amet....
</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 Set's CSS overflow value if BlockUI's target does not have preset overflow value.
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");
});

Explore Metronic

Demo1

Demo2

Demo3

Demo4

Demo5

Demo6

Demo7

Demo8

Demo9

Demo10

demo
Coming soon

Demo11

Demo12

demo
Coming soon

Demo13

Demo14

demo
Coming soon

Demo15

demo
Coming soon

Demo16

demo
Coming soon

Demo17

demo
Coming soon

Demo18

demo
Coming soon

Demo19

demo
Coming soon

Demo20

demo
Coming soon