• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
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.

MMM-ProfileSwitcher, A Profile/User/Layout Switching Module

Scheduled Pinned Locked Moved Utilities
userswitchprofilelayoutmodule
91 Posts 21 Posters 124.6k Views 23 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.
  • S Offline
    strawberry 3.141 Project Sponsor Module Developer @Mar
    last edited by Feb 6, 2017, 2:38 PM

    @Mar => are big arrow functions from ecmascript6, which is the newest standard of javascript

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

    M 1 Reply Last reply Feb 6, 2017, 3:02 PM Reply Quote 1
    • M Offline
      Mar @strawberry 3.141
      last edited by Feb 6, 2017, 3:02 PM

      @strawberry-3.141 Thanks, I never seem to have had any issues with these before but only on my pi zero. Loading up the latest profile switcher (using my simple 2 module) i get this error relating to that line

      0|mm       | ** Message: console message: http://localhost:8080/modules/MMM-ProfileSwitcher//MMM-ProfileSwitcher.js @214: SyntaxError: Unexpected token '>'
      

      But it seems to work via a remote browser (i.e chrome but switching doesnt work) and not the pi’s midori which still shows both modules.

      S 1 Reply Last reply Feb 6, 2017, 4:08 PM Reply Quote 0
      • S Offline
        strawberry 3.141 Project Sponsor Module Developer @Mar
        last edited by Feb 6, 2017, 4:08 PM

        @Mar for me electron is supporting all those es6 features, just heard of that some users had problems with some of my modules with the midori browser

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

        M 2 Replies Last reply Feb 6, 2017, 4:12 PM Reply Quote 0
        • M Offline
          Mar @strawberry 3.141
          last edited by Mar Feb 6, 2017, 4:13 PM Feb 6, 2017, 4:12 PM

          @strawberry-3.141 Yeah seems to be a midori thing, unfortunately I’m using a pi zero so need to use midori as it runs pretty amazing with the pi. Electron really slows it down.

          Wondering if there is a way around this at all? Maybe breaking out the arrow functions to normal one might work?

          1 Reply Last reply Reply Quote 0
          • M Offline
            Mar @strawberry 3.141
            last edited by Feb 6, 2017, 4:44 PM

            @strawberry-3.141

            So ive broken out those functions to the following and now get no errors:

            
            *OLD*
                            value = value.map((x) => {
                                return x === true ? translated : x;
                            });
            
            
            *NEW*
                            value = value.map(
                                    function(x){
                                            return x === true ? translated :x;
                                    }
                            );				
            
            
            
            
            
            *OLD*
                            classes.split(" ").forEach((key) => {
                                if (result[key] === undefined) {
                                    result[key] = [];
                                }
            
                                result[key] = result[key].concat(value);
                            });
            
            *NEW*
            				classes.split(" ").forEach(
            					function(key) {
            	                    if (result[key] === undefined) {
            	                        result[key] = [];
            	                    }
            
            	                    result[key] = result[key].concat(value);
            	                }
            	            );
            

            Now the only error i am getting is on line 89

            TypeError: undefined is not a function (evaluating 'classes.includes(self.current_profile)')
            

            But im not sure how to fix this one. And this is the function that decides what to show which could be where Midori cannot parse it properly.

            S 1 Reply Last reply Feb 6, 2017, 4:52 PM Reply Quote 0
            • S Offline
              strawberry 3.141 Project Sponsor Module Developer @Mar
              last edited by Feb 6, 2017, 4:52 PM

              @Mar that is also an es6 feature try classes.indexOf(self.current_profile) !== -1

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

              M 1 Reply Last reply Feb 6, 2017, 5:16 PM Reply Quote 1
              • M Offline
                Mar @strawberry 3.141
                last edited by Mar Feb 6, 2017, 8:19 PM Feb 6, 2017, 5:16 PM

                @strawberry-3.141 Thanks, I couldnt figure that one out.

                return classes.indexOf(self.current_profile) !== -1;
                

                Along with the changes in the previous post I’ve have fully loaded ProfileSwitcher Midori without any errors. It also is showing the correct modules on load (classes = default).

                Thanks for the help through this @strawberry-3-141

                Managed to figure this all out so thanks to everyone!

                1 Reply Last reply Reply Quote 0
                • T Offline
                  tosti007 Module Developer
                  last edited by Feb 7, 2017, 12:02 PM

                  @strawberry-3-141 thank you for helping @Mar

                  @All @Mar I didn’t know that that browser doesn’t support those features. I will rewite those parts so then it should work out of the box.

                  If there is anything don't hesitate to contact me!
                  ProfileSwitcher, TouchNotifications

                  1 Reply Last reply Reply Quote 1
                  • T Offline
                    tosti007 Module Developer
                    last edited by Feb 7, 2017, 12:43 PM

                    @all I pushed a small update so that older browers should also be able to use this module.
                    @Mar They are the same changes that you made.

                    If there is anything don't hesitate to contact me!
                    ProfileSwitcher, TouchNotifications

                    M 1 Reply Last reply Feb 7, 2017, 12:51 PM Reply Quote 1
                    • M Offline
                      Mar @tosti007
                      last edited by Feb 7, 2017, 12:51 PM

                      @tosti007 Thanks for updating your module so quickly! and obviously thanks for taking the time to respond and maintain.

                      1 Reply Last reply Reply Quote 1
                      • 1
                      • 2
                      • 3
                      • 4
                      • 5
                      • 9
                      • 10
                      • 3 / 10
                      3 / 10
                      • First post
                        23/91
                        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