Comments (1)
Have same issue.
Made a patch with patch-package to fix this in my app.
It just works fine, but code probably can be done better.
diff --git a/node_modules/toastify-js/src/toastify.js b/node_modules/toastify-js/src/toastify.js
index 5d9659c..69dfbdc 100644
--- a/node_modules/toastify-js/src/toastify.js
+++ b/node_modules/toastify-js/src/toastify.js
@@ -279,6 +279,8 @@
rootElement = document.body;
}
+ this.rootElement = rootElement;
+
// Validating if root element is present in DOM
if (!rootElement) {
throw "Root element is not defined";
@@ -289,7 +291,7 @@
rootElement.insertBefore(this.toastElement, elementToInsert);
// Repositioning the toasts in case multiple toasts are present
- Toastify.reposition();
+ Toastify.reposition(rootElement);
if (this.options.duration > 0) {
this.toastElement.timeOutValue = window.setTimeout(
@@ -335,7 +337,7 @@
this.options.callback.call(toastElement);
// Repositioning the toasts again
- Toastify.reposition();
+ Toastify.reposition(this.rootElement);
}.bind(this),
400
); // Binding `this` for function invocation
@@ -343,7 +345,11 @@
};
// Positioning the toasts on the DOM
- Toastify.reposition = function() {
+ Toastify.reposition = function(rootElement) {
+
+ if (!rootElement) {
+ rootElement = document.body;
+ }
// Top margins with gravity
var topLeftOffsetSize = {
@@ -360,7 +366,7 @@
};
// Get all toast messages on the DOM
- var allToasts = document.getElementsByClassName("toastify");
+ var allToasts = rootElement.getElementsByClassName("toastify");
var classUsed;
from toastify-js.
Related Issues (20)
- Support box shadow colors HOT 3
- Doesn't play well with TailwindCSS (or any other utility framework) HOT 5
- Avoid duplicate HOT 2
- How to use this inside chrome extension ? HOT 4
- Improve accessibility by defaulting and allowing `aria-live` HOT 3
- custom styles like background-color and color not getting applied through className attribute HOT 3
- Only start the countdown timer if the page is visible
- `oldestFirst` option is ignored
- Is `toastify-js` still maintained? HOT 1
- Set Image HOT 1
- Programmatic control over popups?
- Toastify does not work with new window
- Setting 'node' attribute in React
- TypeError Exports HOT 8
- Progressbar for duration HOT 1
- add talwindcss support
- Avoid showing HTML tags like text HOT 1
- Buttons with custom events
- adding accept decline buttons inside toast
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from toastify-js.