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.

    Module Position

    Scheduled Pinned Locked Moved Development
    34 Posts 5 Posters 15.6k Views 4 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.
    • M Offline
      maxbachmann
      last edited by

      @strawberry-3-141 Can you help me with how that would look like in software? I am sorry this project is the first time I use javascript at all and absolutely clueless when it’s about the dom

      strawberry 3.141S 1 Reply Last reply Reply Quote 0
      • strawberry 3.141S Offline
        strawberry 3.141 Project Sponsor Module Developer @maxbachmann
        last edited by

        @maxbachmann

        // get the module to move with it's identifier
        var clock = document.getElementById('module_0_clock');
        
        // append it to the region you like
        document.querySelector('div.region.top.left div.container').appendChild(clock);    
        

        it will work only if you already have a module in that position, otherwise you need to ovverride the style to display block

        document.querySelector('div.region.top.left div.container').style.display = 'block';
        

        that’s it

        Please create a github issue if you need help, so I can keep track

        1 Reply Last reply Reply Quote 1
        • M Offline
          maxbachmann
          last edited by maxbachmann

          @strawberry-3-141 So I always have to know wether there is already a element in that region? Is there a way to check all modules and return the ID’s of the elements that are in this position?

          justjim1220J 1 Reply Last reply Reply Quote 0
          • M Offline
            maxbachmann
            last edited by

            @strawberry-3-141 and where to add that? is that already the “end code”? I tried in the domupdate function and it did not work, so I guess that was wrong

            1 Reply Last reply Reply Quote 0
            • strawberry 3.141S Offline
              strawberry 3.141 Project Sponsor Module Developer
              last edited by

              it is safe to always run the code so you don’t need to check if there is a module necessarily.

              it is not related to the get dom function, you can put it where ever you want except node_helper (because its not executed in the browser)

              can you post the code of your module or upload it to github, then i can have a look

              Please create a github issue if you need help, so I can keep track

              1 Reply Last reply Reply Quote 0
              • M Offline
                maxbachmann
                last edited by

                In general I want to add it to all kind of modules so I can change the position when sending them a socketmessage to do so

                strawberry 3.141S 1 Reply Last reply Reply Quote 0
                • strawberry 3.141S Offline
                  strawberry 3.141 Project Sponsor Module Developer @maxbachmann
                  last edited by

                  @maxbachmann i wouldn’t place that code in other modules, you can perform that from your module for every module, this isn’t magicmirror related. its pure dom manipulation.

                  Please create a github issue if you need help, so I can keep track

                  1 Reply Last reply Reply Quote 0
                  • M Offline
                    maxbachmann
                    last edited by

                    Ah did not know that ;) well yes then it’s definetly in my program. All my program does so far is subscribe to a mqtt broker, load some data and according to this show/hide modules. Now I want to add the possibility to move modules to different positions.
                    Can send the current code later

                    M 1 Reply Last reply Reply Quote 0
                    • M Offline
                      maxbachmann @maxbachmann
                      last edited by

                      @strawberry-3-141 so in general use all 3 commands and then it works in both senarios? where can I find the right ID for each module?

                      strawberry 3.141S 1 Reply Last reply Reply Quote 0
                      • strawberry 3.141S Offline
                        strawberry 3.141 Project Sponsor Module Developer @maxbachmann
                        last edited by

                        @maxbachmann you can get all modules https://github.com/MichMich/MagicMirror/tree/master/modules#module-selection then iterate over them and when you find the module execute the cmds

                        const moduleToMove = 'clock';
                        const targetRegion = 'top.left';
                        
                        MM.getModules().enumerate((module) => {
                            if (module.name === moduleToMove) {
                                const instance = document.getElementById(module.identifier);
                                const region = document.querySelector(`div.region.${targetRegion} div.container`);
                                region.appendChild(instance);
                                region.style.display = 'block';
                            }
                        });
                        

                        something similar to this

                        Please create a github issue if you need help, so I can keep track

                        1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 3
                        • 4
                        • 2 / 4
                        • 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