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 133.3k 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.
    • strawberry 3.141S Offline
      strawberry 3.141 Project Sponsor Module Developer @Mar
      last edited by

      @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 Reply Quote 1
      • M Offline
        Mar @strawberry 3.141
        last edited by

        @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.

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

          @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 Reply Quote 0
          • M Offline
            Mar @strawberry 3.141
            last edited by Mar

            @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

              @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.

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

                @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 Reply Quote 1
                • M Offline
                  Mar @strawberry 3.141
                  last edited by Mar

                  @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
                  • tosti007T Offline
                    tosti007 Module Developer
                    last edited by

                    @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
                    • tosti007T Offline
                      tosti007 Module Developer
                      last edited by

                      @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 Reply Quote 1
                      • M Offline
                        Mar @tosti007
                        last edited by

                        @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
                        • 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