Advanced Dialog & Modal Plugin For Bootstrap 5 – bs5dialog

Category: Javascript , Modal & Popup | April 24, 2023
Author:ymlluo
Views Total:552 views
Official Page:Go to website
Last Update:April 24, 2023
License:MIT

Preview:

Advanced Dialog & Modal Plugin For Bootstrap 5 – bs5dialog

Description:

bs5dialog is a JavaScript plugin to create alert/confirm/prompt popups, loading indicators, toast notifications, and dialog windows using Bootstrap 5 styles.

How to use it:

1. Load the bs5dialog’s JavaScript and CSS in your Bootstrap 5 project.

<!-- Required -->
<link rel="stylesheet" href="/path/to/cdn/bootstrap.min.css" />
<!-- bs5dialog -->
<link rel="stylesheet" href="./bs5dialog.css" />
<script src="./bs5dialog.js"></script>

2. Create alert dialogs.

bs5dialog.alert('This is an alert message.', {
  title: "",
  type: "success",
  size: "md",
  id: "",
  btnOkText: "",
  icon: null,
  iconClass: "",
  iconStyle: "",
  onOk: null,
  timeout: 0
});

3. Create confirmation dialogs.

bs5dialog.confirm('This is a confirm message.', {
  title: 'Confirm Dialog Title',
  type: "danger",
  id: "",
  size: "md",
  btnOkText: "",
  btnCancelText: "",
  icon: null,
  iconClass: "",
  iconStyle: "",
  onConfirm: null,
  onCancel: null
});

4. Create prompt dialogs.

bs5dialog.prompt('Enter your name:', {
  title: "",
  type: "secondary",
  size: "md",
  btnText: "",
  icon: null,
  iconClass: "",
  iconStyle: "",
  required: true,
  secret: false,
  onConfirm: (value) => {
    console.log(`Hello, ${value}!`);
  },
  onCancel: () => {
    console.log('Prompt dialog box was cancelled.');
  }
});

5. Attach a loading spinner to an element.

const targetElement = document.querySelector("#targetElement");
const options = {
      animation: "border",
      animationClass: "text-warning",
      animationStyle: "",
      text: "Please wait...",
      type: "",
      backdrop: true,
      timeout: 2000
};
bs5dialog.spinner(targetElement, options);
// hide the spinner:
hide();

6. Create toast messages.

bs5dialog.toast("Hello world!", {
  title: "",
  subtitle: "",
  position: "bottom-right",
  type: "success",
  closeBtn: false,
  icon: "bs5-point",
  iconClass: "",
  iconStyle: "",
  timeout: 3000,
  onShow: function () {},
  onShown: function () {},
  onHide: function () {},
  onHidden: function () {}
});
// OR
const options = {
      position: "center",
      type: "",
      closeBtn: false,
      background: "",
      textColor: "white",
      fontsize: "",
      icon: "",
      iconClass: "",
      iconStyle: "",
      timeout: 3000,
      onClose: function () {},
      onClosed: function () {}
};
const msg = bs5dialog.message("This is a success message", options);

7. Create offcanvas panels.

const content = 'This is the content of the offcanvas.';
const options = {
      title: "",
      direction: "start",
      size: "",
      id: "",
      backdrop: true,
      scroll: true,
      dark: false,
      accordion: true,
      container: "",
      onStart: function () {},
      onShown: function () {},
      onHidden: function () {}
};
const offcanvasInstance = bs5dialog.offcanvas(content, options);

8. Load any content into the dialog window.

bs5dialog.load('/path/to/page/', {
  title: "",
  type: "danger",
  size: "lg",
  id: "",
  centered: true,
  scrollable: true,
  maximize: false,
  backdrop: false,
  focus: true,
  keyboard: true,
  draggable: true,
  resizable: true,
  btnOkText: "",
  btnCancelText: "",
  onShow: null,
  onShown: null,
  onHide: null,
  onHidden: null,
  isForm: true,
  onSubmit: null,
  onSubmitSuccess: submitResult => {},
  onSubmitError: submitResult => {},
  onSubmitDone: submitResult => {}
});

9. Toggle the dialog & modal via data-bs5-dialog attribute.

bs5dialog.startup();
<button data-bs5-dialog="alert" title="show alert">data-bs5-dialog="alert"</button>
<button data-bs5-dialog="confirm" title="show confirm">data-bs5-dialog="confirm"</button>
<button data-bs5-dialog="prompt" title="show prompt">data-bs5-dialog="prompt"</button>
<button data-bs5-dialog="message" title="show message">data-bs5-dialog="message"</button>
<button data-bs5-dialog="toast" title="show toast">data-bs5-dialog="toast"</button>
<button data-bs5-dialog="load" data-content="show load content">data-bs5-dialog="load"</button>
<button data-bs5-dialog="offcanvas" data-bs5-dialog-option-title="offcanvas" data-content="show load offcanvas">data-bs5-dialog="offcanvas"</button>

Changelog:

v1.0.7 (04/24/2023)

  • Bugfix & Update

You Might Be Interested In:


Leave a Reply