diff --git a/README.md b/README.md index 60c43b2..8d0f4a4 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 long the Toast shoud be shown for. The default, -1, will show the toast until the user clicks close. | -1 | -1 to disable auto close, or timeout value in milliseconds **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..b1d45a9 100644 --- a/dist/toast.min.js +++ b/dist/toast.min.js @@ -1,3 +1,3 @@ -(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 diff --git a/js/toast.js b/js/toast.js index 0a2e8ae..40449fd 100644 --- a/js/toast.js +++ b/js/toast.js @@ -17,7 +17,7 @@ subtitle = typeof opts === 'object' ? opts.subtitle || '' : arguments[1] || '', content = typeof opts === 'object' ? opts.content || '' : arguments[2] || '', type = typeof opts === 'object' ? opts.type || '' : arguments[3] || 'info', - delay = typeof opts === 'object' ? opts.delay || 3000 : arguments[4] || 3000; + delay = typeof opts === 'object' ? opts.delay || -1 : arguments[4] || -1; switch (type) { case 'info': @@ -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 += '