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.

    Cal EXT3 - understanding transforming

    Scheduled Pinned Locked Moved Unsolved Troubleshooting
    14 Posts 3 Posters 7.1k 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.
    • S Offline
      sdetweil @_V_
      last edited by

      @_V_ from his readme

      IMG_3898.png

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      1 Reply Last reply Reply Quote 0
      • S Offline
        sdetweil @_V_
        last edited by

        @_V_ what do you mean for title? We just searched title
        If you want to change it. Then do that

        ev.title=‘new string’

        Same with symbol

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        1 Reply Last reply Reply Quote 0
        • S Offline
          sdetweil @_V_
          last edited by

          @_V_ you can change any property of the event

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          1 Reply Last reply Reply Quote 0
          • _ Offline
            _V_
            last edited by

            I get the idea but since Im quite new to this, I cant follow completely.
            Again the example

            eventTransformer: (ev) => {
              if (ev.title.search("John") > -1) ev.color = "blue";
              return ev;
            };
            

            Now you told me, “search” is a look up in form of “if contains” - this means if it contains the value, it will give out a value bigger than -1 and the effect will be set; other wise it will return -1 and the event stays unedited, correct?

            This would also mean, I have to set up every possible event title class inbefore.
            If I want to change/assign a specific symbol is a thing I dont understand.
            I use the Iconify function from the module - do I have to put in a link to the desired symbol now or what is it I have to enter?
            I could also imagine that I have to download the symbols and put in a directory to make the module be able to access them?

            Thanks a lot

            S 1 Reply Last reply Reply Quote 0
            • S Offline
              sdetweil @_V_
              last edited by sdetweil

              @_V_

              If I search this field, and find ‘John’
              Then
              I change the event color
              ev.color=

              You could change to symbol the same way
              ev.symbol=. Whatever symbol name

              You are writing code here
              The filter routine sees every event, one at a time

              You can have more than one if stmt
              Can use if else if else, use a switch /case logic block

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              _ 1 Reply Last reply Reply Quote 0
              • _ Offline
                _V_ @sdetweil
                last edited by

                @sdetweil Sam good evening

                I wonder how to set up multiple ev transformations in one config.

                I got working

                { 
                eventTransformer: (ev) => {
                if (ev.title.search("Geburtstag") > -1) {ev.color= "#ff00ff"; };
                return ev; },
                

                But putting another one to it is puzzling me. I tried different methods, but cant get it done.
                When I simply put a second complete command after the first, like this:

                { 
                eventTransformer: (ev) => {
                if (ev.title.search("Arzt") > -1) {ev.color= "#ff0000"; };
                return ev; },
                

                it will just negate the first applied effect from birthday and uses this effect instead on the named events.
                Can you help me out please?

                S 1 Reply Last reply Reply Quote 0
                • S Offline
                  sdetweil @_V_
                  last edited by sdetweil

                  @_V_

                  all in one… there is only ONE eventTransformer, it has to do ALL the work for ALL events

                  I used else if here… if it matched the first, there is no reason to check again

                  eventTransformer: (ev) => {
                       if (ev.title.search("Geburtstag") > -1) {ev.color= "#ff00ff"; }
                       else if (ev.title.search("Arzt") > -1) {ev.color= "#ff0000"; };
                  return ev; 
                  },

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  R 1 Reply Last reply Reply Quote 2
                  • R Offline
                    rkorell Module Developer @sdetweil
                    last edited by rkorell

                    @_V_ as you might have overseen you can not only check several conditions (as Sam (@sdetweil ) suggested) - separated by else or not but you can make several changes to the same event at one check.

                    e.g.:

                    eventTransformer: (ev) => {
                      if (ev.title.search("Restmüll & Papier & Gelber Sack") !== -1) {ev.isFullday = [true], ev.title = "Alle Tonnen", ev.symbol = [ "fa-regular fa-trash-can" ], ev.color = "fuchsia"}
                      if (ev.title.search("Therapie") !== -1) { ev.title = "Sitzung", ev.symbol = [ "fa-solid fa-mug-hot" ], ev.color = "Forestgreen"}
                    return ev
                       			  }, // end Eventtransformer 
                    

                    In the above example you can see

                    • the modification of the color (as you already had identified,
                    • the change of the kind of event (from “scheduled” to “Fullday-Event”)
                    • the assignment of a different symbol (with font-awesome-symbols: double check their web-page, keep in mind that only the “STANDARD” (non-payed) versions will be shown in Magic Mirror) and
                    • the change of the title of the event.

                    Hope this helps.
                    Good luck!
                    Ralf

                    S 1 Reply Last reply Reply Quote 1
                    • S Offline
                      sdetweil @rkorell
                      last edited by

                      @rkorell his issue is not knowing JavaScript language and syntax

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

                      R 1 Reply Last reply Reply Quote 0
                      • R Offline
                        rkorell Module Developer @sdetweil
                        last edited by

                        @sdetweil Yes :-)
                        therefore I thought a detailed example would be beneficial …
                        Warmest regards,
                        Ralf

                        1 Reply Last reply Reply Quote 0

                        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                        With your input, this post could be even better 💗

                        Register Login
                        • 1 / 1
                        • 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