MagicMirror Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • Donate
    • Discord

    MMM-Page-Selector: A page switcher that can set positions of modules

    System
    14
    94
    23617
    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.
    • J
      Johans @Veldrovive last edited by

      @veldrovive
      Hi, just made a fresh install, and applied your module and MMM-Page-indicator.

      Pages are shown, but page indicator and newsfeed module are not on the screen.
      When I disbable MMM-Page-Selector, then Newsfeed & MMM-Page-indicator are visisble.

      As far as I understand, config is OK

      	modules: [
      		{
      			module: "alert",
      			pages: "all",
      		},
      		{
      			disabled: false,
      		        module: "MMM-Page-Selector",
      		        position: "top_bar",
      		        config: {
      			        defaultPage: "Page1",
      		                displayTitle: true,
      			        selectPageNotif: ["SELECT_PAGE"],
      		                incrementPageNotif: ["PAGE_UP"],
      		                decrementPageNotif: ["PAGE_DOWN"],
         			        autoChange: {
      				     	    interval: 100,    // Change page every 100 sec
      				            }
      		                   }
      		},		
      
      		{
      			module: "updatenotification",
      			position: "top_bar",
      			pages: {"Page1": "top_bar"},
      		},
      		{
      			module: "clock",
      			position: "top_left",
      			pages: {"Page1": "top_left", "Page2": "top_left", "Page3": "top_left", "Page4": "top_left"},
      
      		},
      		{
      			module: "compliments",
      			position: "lower_third",
      			pages: {"Page1": "lower_third", "Page2": "lower_third", "Page3": "lower_third", "Page4": "lower_third"},
      		},
      		{
      		        disabled: false,
      			module: "MMM-rain-forecast",
      			position: "top_right",   // see mirror setting for options
      			pages: {"Page1": "top_right"},
      			//header: "Regen Voorspelling", 
      			config: {   
      		                lat: 50.908529,
      		                lon: 3.965639,				
      				pleaseWait: "Wachten a.u.b",
      				noRainText: "Tot %s GEEN regen",
      				fillColour: '#0074d9'   // This is a blue color you can also use blue, cyan etc
      				}
      		},	
      
      		{
      			module: "newsfeed",
      			position: "bottom_bar",
      			pages: "all",
      			config: {
      				feeds: [
      					{
      						title: "New York Times",
      						url: "http://www.nytimes.com/services/xml/rss/nyt/HomePage.xml"
      					}
      				],
      				showSourceTitle: true,
      				showPublishDate: true
      			}
      		},
      		{
      			disabled: false,
      		        module: "MMM-page-indicator",
      		        position: "bottom_bar",
      			pages: "all",
      		        config: {
      		            //pages: 4,  // No need to set this
      		        }
      		},	
      		{
      			module: 'MMM-Cursor',
      			pages: "all",
      		},
      	]
      
      
      S 1 Reply Last reply Reply Quote 0
      • V
        Veldrovive Module Developer last edited by

        @Johans,
        Ah, I believe the confusion comes from the fact that old discussions on this forum do not reflect the current functionality of the module. I try not to make any changes that break old config files, but one was necessary.
        In order to fix this config, you need to replace any instance of pages: "all" with pages: {"all": "some_position"}
        New versions don’t require you to have a position prop at all and you can just use the pages one.
        For more information, refer to the README.
        Hope this helps.

        J 1 Reply Last reply Reply Quote 0
        • J
          Johans @Veldrovive last edited by

          @veldrovive said in MMM-Page-Selector: A page switcher that can set positions of modules:

          pages: {“all”: “some_position”}

          Thanks for the info, I should have read the README first. Sorry.

          1 Reply Last reply Reply Quote 0
          • rudibarani
            rudibarani Project Sponsor @Veldrovive last edited by

            @veldrovive
            Thanks again for implementing the current page as “dynamic” class. If I get it right, you had to code procedures to add and remove the page class when switching pages.

            Ok, the development branch now has support for the new class name changes. When a module is shown on a page, it will be given the class page_{Current Page} and then the class will be removed when the module is hidden.

            Would it be possible to make these procedures accessible via notifications? I am still looking for a way to add and remove classes based on external triggers. A scheme could be like this:

            Notification: "MMM_Page-Selector_Update_Class"
            Payload: {"add":["Module_1_Name:ClassA_to_add", "Module_2_Name:ClassB_to_add"], "remove":["Module_3_Name:ClassC_to_remove", "Module_4_Name:ClassD_to_remove"]}
            
            1 Reply Last reply Reply Quote 0
            • V
              Veldrovive Module Developer last edited by

              @rudibarani
              If I am understanding what you are asking for correctly, this function seems to be out of the scope that Page-Selector encompasses. I would develop a module to include this functionality, but I have been inactive in the world of Magic Mirror as of lately. As it stands, I would post this request to the module suggestions forum or ask somebody to include it in a module that has a closer association with this type of purpose. MMM-Remote-Control could be a good candidate.

              rudibarani 1 Reply Last reply Reply Quote 0
              • rudibarani
                rudibarani Project Sponsor @Veldrovive last edited by

                @veldrovive
                OK - thanks for the reply anyway!

                S 1 Reply Last reply Reply Quote 0
                • S
                  smarthome @rudibarani last edited by smarthome

                  Hi all

                  To make MMM-page-indicator work with MMM-Page-Selector, we must add MMM-page-indicator in to pages

                  {
                  			module: "MMM-page-indicator",
                  			position: "bottom_bar",
                  			"pages": {"Home": "bottom_bar", "News": "bottom_bar","Weather": "bottom_bar","Entertaiment": "bottom_bar","Smarthome": "bottom_bar","System": "bottom_bar"},	
                            	config: {
                  			pages: 6,
                  			}
                  		},
                  
                  1 Reply Last reply Reply Quote 0
                  • S
                    smarthome @Johans last edited by smarthome

                    @Johans

                    pages: "all",
                    

                    You forgot the quotation mark before and after pages

                    "pages": "all",
                    
                    
                    1 Reply Last reply Reply Quote 0
                    • B
                      Brandenborg last edited by

                      I love this module especially in use together with the MMM-navbar.
                      Is there any config using existing code that will let me make it return me to “default” page after a given period of time after changing page?

                      V 1 Reply Last reply Reply Quote 0
                      • V
                        Veldrovive Module Developer @Brandenborg last edited by Veldrovive

                        @Brandenborg
                        This is not a default function of this module. However, if you can edit a small amount of code, it should be easy to implement.
                        Just copy these lines of code right after line 235 of MMM-Page-Selector.js. This lines should be selectPage(payload);

                        clearTimeout(self.default_timeout);
                        if(![0, this.config.defaultPage].includes(payload)){
                            self.default_timeout = setTimeout(() => {
                                selectPage(this.config.defaultPage);
                            }, TIME)
                        }
                        

                        Then just replace TIME with the number of milliseconds you want to remain on the page before it automatically switches back to default. You may also have to change the 0 in the if statement if your default page isn’t at the 0th position.

                        B 1 Reply Last reply Reply Quote 1
                        • 1
                        • 2
                        • 6
                        • 7
                        • 8
                        • 9
                        • 10
                        • 8 / 10
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Paul-Vincent Roll and Rodrigo Ramírez Norambuena.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy