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 14.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.
    • 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
                      • K Offline
                        kclemen
                        last edited by

                        Needed to change it to the following:

                        hide: 100
                        show: 7000

                        This works for the first gesture “up”. If I repeat the same for going back to the first “page” the module flips for a second back to the lower position, before it fades away. Because the time is set to 7000 the fade becomes slow.

                        Should I put a wait between hide and show? How?

                        tidus5T 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