]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
Toast: provide `isShown` method (#36272)
authorGeoSot <geo.sotis@gmail.com>
Sat, 7 May 2022 04:29:21 +0000 (07:29 +0300)
committerGitHub <noreply@github.com>
Sat, 7 May 2022 04:29:21 +0000 (21:29 -0700)
* feat(Toast): provide `isShown` method

* Update site/content/docs/5.1/components/toasts.md

Co-authored-by: Julien Déramond <julien.deramond@orange.com>
Co-authored-by: Julien Déramond <julien.deramond@orange.com>
js/src/toast.js
site/content/docs/5.1/components/toasts.md

index b85e20b6056bfa107b015db9ba5629306acf9863..8ee8c8c968ee78656e57548a2846beb751658140 100644 (file)
@@ -100,7 +100,7 @@ class Toast extends BaseComponent {
   }
 
   hide() {
-    if (!this._element.classList.contains(CLASS_NAME_SHOW)) {
+    if (!this.isShown()) {
       return
     }
 
@@ -123,13 +123,17 @@ class Toast extends BaseComponent {
   dispose() {
     this._clearTimeout()
 
-    if (this._element.classList.contains(CLASS_NAME_SHOW)) {
+    if (this.isShown()) {
       this._element.classList.remove(CLASS_NAME_SHOW)
     }
 
     super.dispose()
   }
 
+  isShown() {
+    return this._element.classList.contains(CLASS_NAME_SHOW)
+  }
+
   // Private
 
   _maybeScheduleHide() {
index e0750d5342f65b15363b572412760e5dcfd6ec70..46f241cb3b12c1edf5456ccb79af5cf933b71569 100644 (file)
@@ -376,6 +376,7 @@ const toastList = [...toastElList].map(toastEl => new bootstrap.Toast(toastEl, o
 | --- | --- |
 | `show` | Reveals an element's toast. **Returns to the caller before the toast has actually been shown** (i.e. before the `shown.bs.toast` event occurs). You have to manually call this method, instead your toast won't show. |
 | `hide` | Hides an element's toast. **Returns to the caller before the toast has actually been hidden** (i.e. before the `hidden.bs.toast` event occurs). You have to manually call this method if you made `autohide` to `false`. |
+| `isShown` | Returns a boolean according to toast's visibility state. |
 | `dispose` | Hides an element's toast. Your toast will remain on the DOM but won't show anymore. |
 | `getInstance` | *Static* method which allows you to get the scrollspy instance associated with a DOM element. <br> For example: `const myToastEl = document.getElementById('myToastEl')` `const myToast = bootstrap.Toast.getInstance(myToastEl)` Returns a Bootstrap toast instance|
 | `getOrCreateInstance` | *Static* method which allows you to get the scrollspy instance associated with a DOM element, or create a new one, in case it wasn't initialized.  <br>`const myToastEl = document.getElementById('myToastEl')`  `const myToast = bootstrap.Toast.getOrCreateInstance(myToastEl)` Returns a Bootstrap toast instance |