MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    jumping of modules

    Scheduled Pinned Locked Moved Troubleshooting
    23 Posts 3 Posters 13.8k Views 3 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • K Offline
      kclemen
      last edited by kclemen

      Hi,

      When using the hide/show function the new function jumps from the bottom to the top.
      Rather difficult to explain, but I made a movie about it. Sorry for the moving around…

      Youtube, jumping of modules.

      What would be a solution to immediately show the new module on the top?

      tidus5T 1 Reply Last reply Reply Quote 0
      • tidus5T Offline
        tidus5 @kclemen
        last edited by

        @kclemen not sure im right

        but are you using the hide() show() ?
        from your own module ?

        1 Reply Last reply Reply Quote 0
        • K Offline
          kclemen
          last edited by

          The code I’m using is in my “skywriter” module:

          Module.register("MMM-skywriter",{
          	
          	// Default module config.
          	defaults: {
          		gesture_up: 0,
          		gesture_right: 0,
          		
          	},
          
          	// Override socket notification handler.
          	socketNotificationReceived: function(notification, payload) {
          		if (notification === "gesture_observed"){
          			
          			console.log ("socketnotificationreceived.");
          		
          			//self.sendNotification(notification, payload);
          			
          			if (payload === "up"){
          				if (this.config.gesture_up == 0) {
          						
          						MM.getModules().withClass(this.config.defaultClass).exceptWithClass(this.config.everyoneClass).enumerate(function(module) {
          							module.hide(1000, function() {
          								Log.log(module.name + ' is hidden.');
          							});
          						});
          				
          						MM.getModules().withClass("class_up_1_show").enumerate(function(module) {
          							module.show(1000, function() {
          								Log.log(module.name + ' is shown.');
          							});
          						});
          						
          						this.config.gesture_up = this.config.gesture_up+1;
          						console.log (this.config.gesture_up);
          
          						console.log("gesture_up is nu 1");
          				}
          				else if (this.config.gesture_up == 1) {
          						this.config.gesture_up = this.config.gesture_up+1;
          						console.log (this.config.gesture_up)
          						console.log("gesture_up is nu 2");
          				}
          			}
          			else if (payload === "left"){
          				console.log("test - left");
          			}
          			else if (payload === "down") {
          				console.log("test - down");
          				
          				if (this.config.gesture_up == 1){
          					this.config.gesture_up = this.config.gesture_up-1;
          					
          					MM.getModules().withClass("class_up_1_show").enumerate(function(module) {
          						module.hide(1000, function() {
          							Log.log(module.name + ' is hidden by gesture.');
          						});
          					});
          					
          					MM.getModules().withClass(this.config.defaultClass).exceptWithClass(this.config.everyoneClass).enumerate(function(module) {
          							module.show(1000, function() {
          								
          								
          								
          								Log.log(module.name + ' is hidden.');
          							});
          						});
          					
          				}
          				else if (this.config.gesture_up == 2){
          					this.config.gesture_up = this.config.gesture_up-1;
          					console.log("gesture up is terug 1");
          				}
          			}
          		}
          	},
          	
          	notificationReceived: function(notification, payload, sender) {
          		if (notification === 'DOM_OBJECTS_CREATED') {
          			MM.getModules().exceptWithClass("default").enumerate(function(module) {
          				module.hide(1000, function() {
          					Log.log('Module is hidden.');
          				});
          			});
          		}
          	},
          	
          	start: function() {
          		this.current_user = null;
          		this.sendSocketNotification('CONFIG', this.config);
          		Log.info('Starting module: ' + this.name);
          	}
          	
          });
          
          1 Reply Last reply Reply Quote 0
          • tidus5T Offline
            tidus5
            last edited by tidus5

            @kclemen
            what’s the position of your module in the config?
            2 différents zone ?

            K 1 Reply Last reply Reply Quote 0
            • K Offline
              kclemen @tidus5
              last edited by

              @tidus5, No they have the same zone: position: ‘top_right’,

              tidus5T 1 Reply Last reply Reply Quote 0
              • tidus5T Offline
                tidus5 @kclemen
                last edited by

                @kclemen so if i understand correctly the problem is because the second module move when you hide the first one ?

                as far as i understand the module - if you have 2 module in the same zone and you hide one the other take the free space

                maybe if you change the second one from “top_right” to an other zone ?

                tidus5T 1 Reply Last reply Reply Quote 0
                • tidus5T Offline
                  tidus5 @tidus5
                  last edited by tidus5

                  @kclemen or is it the small latency when your module is hide ?

                  1 Reply Last reply Reply Quote 0
                  • K Offline
                    kclemen
                    last edited by

                    The problem is that the second module comes in the screen before the first one is completely hided I geuss? Or what do you mean with the latency of the module?

                    tidus5T 2 Replies Last reply Reply Quote 0
                    • tidus5T Offline
                      tidus5 @kclemen
                      last edited by

                      @kclemen ok ok i understand now

                      1 Reply Last reply Reply Quote 0
                      • tidus5T Offline
                        tidus5 @kclemen
                        last edited by

                        @kclemen

                        if you try

                        module.hide(500, instead of 1000?

                        1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 3
                        • 1 / 3
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Sam, technical setup by Karsten.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy