From d4d610624e2456bbfb4aa3935efd6f6a9b19eb84 Mon Sep 17 00:00:00 2001 From: "Young, Mark" Date: Thu, 28 Feb 2019 08:19:50 +0000 Subject: [PATCH] Fixes #1. New option to allow delay to be disabled --- README.md | 4 ++-- dist/toast.min.js | 4 +--- js/toast.js | 9 ++++++++- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 60c43b2..57fa022 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ ### About -As of Bootstrap 4.2, [toasts](https://getbootstrap.com/docs/4.2/components/toasts/) have been inroduced and the aim of this plugin is to make them easier to use. +As of Bootstrap 4.2, [toasts](https://getbootstrap.com/docs/4.2/components/toasts/) have been introduced and the aim of this plugin is to make them easier to use. ### Usage @@ -21,7 +21,7 @@ You can pass to the `$.toast` function an object with the settings for your toas | subtitle | Shows in the top right corner of the toast header | N/A | | | content | Shows in the toast body | N/A | | type | Determines the style of the toast based on Bootstrap styles | 'info' | 'info', 'success', 'warning', 'error' -| delay | Determines how the toast will show for | 3000 +| delay | Determines how the toast will show for. Set to -1 to prevent the Toast from closing automatically | 3000 **Note:** If content is omitted, the toast will not have a `.toast-body` and can be used as a small snack which will be shown below in the examples. By default toasts will be positioned in the top right corner and will in the future (hopefully) have other position options. diff --git a/dist/toast.min.js b/dist/toast.min.js index 93d744e..0fa9e61 100644 --- a/dist/toast.min.js +++ b/dist/toast.min.js @@ -1,3 +1 @@ -(function(b){b.toast=function(a,h,g,l,k){b("#toast-container").length||(b("body").prepend('
'),b("#toast-container").append('
'));var c="",d="",e="text-muted",f="",m="object"===typeof a?a.title||"":a||"Notice!";h="object"===typeof a?a.subtitle||"":h||"";g="object"===typeof a?a.content||"":g||"";k="object"===typeof a?a.delay||3E3:k||3E3;switch("object"===typeof a?a.type||"":l||"info"){case "info":c="bg-info"; -f=e=d="text-white";break;case "success":c="bg-success";f=e=d="text-white";break;case "warning":case "warn":c="bg-warning";f=e=d="text-white";break;case "error":case "danger":c="bg-danger",f=e=d="text-white"}a='";b("#toast-wrapper").append(a);b("#toast-wrapper .toast:last").toast("show")}})(jQuery); \ No newline at end of file +!function($){const TOAST_CONTAINER_HTML='
',TOAST_WRAPPER_HTML='
';$.toast=function(opts){$("#toast-container").length||($("body").prepend(TOAST_CONTAINER_HTML),$("#toast-container").append(TOAST_WRAPPER_HTML));let bg_header_class="",fg_header_class="",fg_subtitle="text-muted",fg_dismiss="",title="object"==typeof opts?opts.title||"":arguments[0]||"Notice!",subtitle="object"==typeof opts?opts.subtitle||"":arguments[1]||"",content="object"==typeof opts?opts.content||"":arguments[2]||"",type="object"==typeof opts?opts.type||"":arguments[3]||"info",delay="object"==typeof opts?opts.delay||3e3:arguments[4]||3e3;switch(type){case"info":bg_header_class="bg-info",fg_header_class="text-white",fg_subtitle="text-white",fg_dismiss="text-white";break;case"success":bg_header_class="bg-success",fg_header_class="text-white",fg_subtitle="text-white",fg_dismiss="text-white";break;case"warning":case"warn":bg_header_class="bg-warning",fg_header_class="text-white",fg_subtitle="text-white",fg_dismiss="text-white";break;case"error":case"danger":bg_header_class="bg-danger",fg_header_class="text-white",fg_subtitle="text-white",fg_dismiss="text-white"}let delay_or_autohide="",html="";html+='",$("#toast-wrapper").append(html),$("#toast-wrapper .toast:last").toast("show")}}(jQuery); \ No newline at end of file diff --git a/js/toast.js b/js/toast.js index 0a2e8ae..a4dc158 100644 --- a/js/toast.js +++ b/js/toast.js @@ -51,8 +51,15 @@ break; } + let delay_or_autohide = ''; + if (delay === -1) { + delay_or_autohide = 'data-autohide="false"'; + } else { + delay_or_autohide = 'data-delay="' + delay + '"'; + } + let html = ''; - html += '