Read the statement by Michael Teeuw here.
[module.show] Not animated instantly shown
-
When calling the show function from a module it doesn’t use it’s animation, no matter the animation time. I am using windows and just did a clean pull to make sure it wasn’t the fault of a module I was making.
To test this I made a very simple module, code:Module.register("TestHideShow", { notificationReceived: function (notification, payload, sender) { if (notification === "TEST_HIDE") { MM.getModules().enumerate(function (module) { module.hide(10000); }); } if (notification === "TEST_SHOW") { MM.getModules().enumerate(function (module) { module.show(10000); }); } } });All it does is hide all modules when a notification is recieved.
Then I copied the sample config, removed both weather modules and added:{ module: "MMM-ModuleScheduler", config: { notification_schedule: [ {notification: "TEST_HIDE", schedule: "3 * * * *", payload: "a"}, {notification: "TEST_SHOW", schedule: "4 * * * *", payload: "b"} ] } }, { module: "TestHideShow" },I used the ModuleScheduler to send 2 notifications, with one minute in between.
For the hide animation everything works as expected, a very slow fade out (10sec). Then after one minute you would expect a very slow fade in (also 10sec), but it just pops onto the screen as if the duration was0. I also checked the log and it didn’t do anything unusual.Is anyone able to recreate this/does anyone encountered the same issue?
Note: I came across this while making a different module, so it’s not because of this testing module only.
-
I tested this with the remote controll module aswell and experienced the same result.
-
@tosti007 the core adds this style property to the wrapper
moduleWrapper.style.transition = "opacity " + speed / 1000 + "s";when the hide function is called, inspect the elements in your browser and see if this shows your 10 seconds -
@strawberry-3.141 Checked it, what happened was that this transition style was added as expected. However what I did notice was that the container within a region also changed it’s display value. When hiding it was set to
display: none;after the animation. When showing a module it was set todisplay: block;and right when that happens the module is visible without animation (eventhough the module’s container did changetransitionvalue) -
Note: I tested it with electron and firefox
-
I’ve been fighting with this as well. @tosti007 I noticed the same thing in the inspector. Still looking for a solution but digging into the guts of this thing is time consuming… I appreciate the test results, that saved me some time chasing ghosts.
// Show the desire modules var showModules = MM.getModules().withClass(page); for (i = 0; i < showModules.length; i += 1) { showModules[i].show(this.config.fadeTime); }If I figure it out I’ll post an update. I just wanted to let someone know that I’m experiencing the same issue.
-
@TheBogueRat yea indeed it takes quite a while, let me know if you find anything! I hope you do
-
I’ve found that if I have multiple iFrames in one position, i.e. ‘top_left’ and fade one out completely then start the fade in on the next one, I get the fade in/out to work properly which is my desired outcome.
If I have single iFrames in the left and center and try to fade one out and the other in, it always pops in. That needs to be fixed but I couldn’t identify a cause.
-
I noticed that animations works if you have at least one other visible module inside the region.
I think the problem is in the function updateWrapperState (main.js) that will change the region wrapper’s style to “none” if no module inside the same region has a style.position of “fixed”.
I’ve just added a PR that hopefully fixes this issue: https://github.com/MichMich/MagicMirror/pull/744
-
Just want to notify you that this issue has been solved in the latest commit in the develop-branch.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login