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-CalendarExt3Agenda - how to hide days with no events and hide/filter out events with a keywords

    Scheduled Pinned Locked Moved Unsolved Troubleshooting
    22 Posts 4 Posters 4.9k 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.
    • G Offline
      GrandizerGo
      last edited by

      I’m finally getting back into trying get MM all configured.
      I would like to be able to filter out empty days in the Agenda so it doesn’t list the date if there are no events. I’m also looking to exclude events by keyword. For example, don’t list events with “Swimming”.

      I’ve attached a pic of my current view if that helps. Thanks for any guidance you can provide.

      ca979def-08b7-4773-9bc6-899ade7d0e01-image.png

      S M 2 Replies Last reply Reply Quote 0
      • S Do not disturb
        sdetweil @GrandizerGo
        last edited by sdetweil

        @GrandizerGo i think on the second you can use the filter

        IMG_0595.png IMG_0596.png

        if the filter routine returns true the event is kept

        dont know of remove days

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        G 1 Reply Last reply Reply Quote 0
        • G Offline
          GrandizerGo @sdetweil
          last edited by

          @sdetweil Thanks, the eventFilter did the trick to help hide repeated events.

          Anyone know if it’s possible to filter out dates that have no entries hidden after the filter is applied?

          43dc7658-4eba-4dcd-8eb5-740cca2e7589-image.png

          S 1 Reply Last reply Reply Quote 0
          • S Do not disturb
            sdetweil @GrandizerGo
            last edited by sdetweil

            @MMRIZE will have to answer that

            i know there is the function to handle all events

            but that doesn’t help if there no events for a date

            Sam

            How to add modules

            learning how to use browser developers window for css changes

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

              @GrandizerGo

              To filter out the empty days

              There could be 2 ways of approaches for your exact purpose. The each ways are different, so choose one.

              1.

              d9ebe486-8de8-4e4b-83dc-c859f050912e-image.png

              /* CX3A config section of config/config.js */
              onlyEventDays: 5, // This will show 5 specific days which has at least one event on the day.
              

              cd16bca8-6022-4d5c-897d-ecb0a053f762-image.png

              2.

              Or you can hide empty days in the calendar scope with CSS.

              /* css/custom.css */
              .CX3A .agenda .cell[data-events-counts="0"] {
                display: none;
              }
              

              9f8a0c9b-1c15-488d-8293-a958775b6148-image.png

              S 1 Reply Last reply Reply Quote 1
              • S Do not disturb
                sdetweil @MMRIZE
                last edited by

                @MMRIZE cool on the css approach

                Sam

                How to add modules

                learning how to use browser developers window for css changes

                G 1 Reply Last reply Reply Quote 0
                • G Offline
                  GrandizerGo @sdetweil
                  last edited by

                  @MMRIZE Thanks! On the config.js method it worked right away! I set to 10 days and it works nicely.
                  With the custom.css method it seems to only show about 4 events.

                  1 Reply Last reply Reply Quote 0
                  • R Offline
                    rkorell
                    last edited by

                    Dear gurus,
                    I’m pretty new here and i do have the exact same problem as the original thread owner.
                    I’ve identified and tried the conig.cs approach with “onlyEventDays: 5,” but this doesn’t work for me unfortunately.
                    In addition other documented switches of this module
                    // useWeather: false ,
                    // showMiniMonthCalendar: false,
                    don’t work either for me.
                    Any idea?
                    Because of the other two switches I don’t want to play with CSS right now…
                    Thanks for any hint/advise!

                    Warmest regards,
                    Ralf

                    S 1 Reply Last reply Reply Quote 0
                    • S Do not disturb
                      sdetweil @rkorell
                      last edited by

                      @rkorell can you show your ext3 config please

                      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 @sdetweil
                        last edited by

                        Dear @sdetweil ,
                        yes for sure, sorry…
                        It’s VERY basic, because my trials were ignored I doesn’t spent too much time on it yet…
                        As you can see I’ve disabled the not working parts (currently except the asked one - “onlyEventDays”.

                        
                        // Kalenderübersicht (Agendaview)
                        
                        		{
                        		  module: "MMM-CalendarExt3Agenda",
                        		  position: "top_left", 
                        		  header: "Wichtige Termine",
                        		  // useWeather: false ,
                        		  // showMiniMonthCalendar: false,
                        		  onlyEventDays: 1
                        
                        		},
                        
                        
                        

                        Thanks for your prompt reply - I was tired yesterday night, so seen your query rigth now.
                        Warmest regards,
                        Ralf

                        S 1 Reply Last reply Reply Quote 0
                        • S Do not disturb
                          sdetweil @rkorell
                          last edited by sdetweil

                          @rkorell ok, the problem is the config description

                          according to the documentation, all of these config items belong to MagicMirror
                          https://docs.magicmirror.builders/modules/configuration.html#module-configuration
                          everything INSIDE the config:{} section belongs to the module

                          but you don’t have a config section, should look like this

                          {
                                           module: "MMM-CalendarExt3Agenda",
                                           position: "top_left", 
                                           header: "Wichtige Termine",
                                           config: {    
                                                 // useWeather: false ,
                                                 // showMiniMonthCalendar: false,
                                                 onlyEventDays: 1
                                           }
                          },
                          

                          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 @sdetweil
                            last edited by

                            .Dear Sam, @sdetweil ,

                            shame on me!
                            This is dumb.
                            thanks a lot for this hint.

                            If you are doing it right - it works …

                            I’m terribly embarrassed.
                            Regards,
                            Ralf

                            S 1 Reply Last reply Reply Quote 0
                            • S Do not disturb
                              sdetweil @rkorell
                              last edited by

                              @rkorell we all learn new things every day…

                              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 @sdetweil
                                last edited by

                                @sdetweil , yes indeed.
                                After making a little bit of progress now I’m not able to understand why the module doosn’t do what I expect…
                                I try to change the icons as well as the color of the calendar events.
                                Icon works fine, color for icon as well but the “event” itself doesn’t change color.

                                I’ve figured out that the searchword is found - because it triggers the icon color as well as the icon color (regardless that the current searchword contains an German “Umlaut” (‘ü’).

                                I found a code snippet here and modified it to my requirements.

                                ev.color is the attribute I’ve used - this seems the right one.
                                But It only changes the icon color…

                                
                                		{
                                		  module: "MMM-CalendarExt3Agenda",
                                		  position: "top_left", 
                                		  //header: "Wichtige Termine",
                                		  config: {
                                			  
                                			        eventTransformer: (ev) => {
                                			            const customEvents = [
                                			              { keyword: "Gelber Sack", symbol: ["fa-solid fa-arrows-spin"], color: "yellow" },
                                			              { keyword: "Restmüll", symbol: ["fa-regular fa-trash-can"], color: "green" },
                                			              { keyword: "Biomüll", symbol: ["fa-regular fa-trash-can"], color: "brown" },
                                			              { keyword: "Papier", symbol: ["fa-solid fa-dumbbell"], color: "blue" },
                                			              { keyword: "Urlaub", symbol: ["fa-solid fa-dumbbell"], color: "cyan" },
                                			            ]
                                			            const found = customEvents.find((condition) => {
                                			              return ev.title.search(condition.keyword) !== -1
                                			            })
                                			            if (found) {
                                			                ev.icon = [ found.symbol ]
                                			                ev.color = found.color
                                			            }
                                			            if (ev.title.search('Restmüll') !== -1) {
                                			              ev.symbol = [ "fa-solid fa-cake-candles" ]
                                			            }
                                			            if (ev.title.search('Papier') !== -1) {
                                			              ev.symbol = [ "fa-regular fa-trash-can" ]
                                			            }
                                			            if (ev.title.search('Gelber Sack') !== -1) {
                                			              ev.symbol = [ "fa-solid fa-arrows-spin" ]
                                			            }
                                			            if (ev.title.search('Biomüll') !== -1) {
                                			              ev.symbol = [ "fa-regular fa-trash-can" ]
                                			            }
                                			            if (ev.title.search('Geb.') !== -1) {
                                			              ev.title = ev.title.replace('Geb.', '')
                                			              ev.symbol = [ "fa-solid fa-cake-candles" ]
                                			            }
                                			            return ev
                                			        },
                                
                                
                                
                                					// useWeather: false ,
                                					showMiniMonthCalendar: false,
                                					//onlyEventDays: 10  -- Nur Tage mit terminen anzeigen ist in der custom.css eingetragen, DAS funktioniert...
                                		  
                                		  } 
                                
                                		},
                                
                                
                                
                                

                                Where is my error now?

                                :-)

                                TIA for any hint.
                                Regards,
                                Ralf

                                S 1 Reply Last reply Reply Quote 0
                                • S Do not disturb
                                  sdetweil @rkorell
                                  last edited by

                                  @rkorell sorry, don’t know… not my module… @MMRIZE will have to reply

                                  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 @sdetweil
                                    last edited by

                                    @sdetweil , thanks anyway!

                                    should I place a separate posting?
                                    Regards,
                                    Ralf

                                    S 1 Reply Last reply Reply Quote 0
                                    • S Do not disturb
                                      sdetweil @rkorell
                                      last edited by

                                      @rkorell no, my reference of his userid will send him here when he has time. just understand that this is all volunteer, as time is available, no commitment for support.

                                      maybe others will jump in.

                                      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 @sdetweil
                                        last edited by

                                        @sdetweil , yes, I’m fully aware of volunteer.
                                        So thanks a LOT!

                                        Ralf

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

                                          Dear Sam (@sdetweil ),
                                          short feedbacj from this end :-)
                                          I was able to found a compromize.
                                          I’ve found a months old thread with the guy whose mirror I saw and @MMRIZE regardins an equivalent “problem”.
                                          The mentioned CSS solution doesn’t work for me - for whatever reason

                                          /* In your custom.css */
                                          .CX3 .event.singleday .headline .title,
                                          .CX3 .event.singleday .headline .time {
                                            color: var(--calendarColor);
                                          }
                                          

                                          Doesn’t colour the textline.
                                          But in the same discoussion I identified the “idea” to use the fact that whole day events DO use the given color as I define in my config.
                                          So now the apperance isO.K.

                                          For reference to others who might have same issues the whole block here:

                                          {
                                          		  module: "MMM-CalendarExt3Agenda",
                                          		  position: "top_left", 
                                          		  //header: "Wichtige Termine",
                                          		  config: {
                                          			  
                                          			        eventTransformer: (ev) => {
                                          			            const customEvents = [
                                          			              { keyword: "Restmüll", symbol: ["fa-regular fa-trash-can"], color: "grey" },
                                          			              { keyword: "Papier", symbol: ["fa-solid fa-dumbbell"], color: "blue" },
                                          			              { keyword: "Gelber Sack", symbol: ["fa-solid fa-arrows-spin"], color: "yellow" },
                                          			              { keyword: "Biomüll", symbol: ["fa-regular fa-trash-can"], color: "brown" },
                                          			              { keyword: "Restmüll & Papier & Gelber Sack", symbol: ["fa-regular fa-trash-can"], color: "fuchsia" },
                                          			              { keyword: "Urlaub", symbol: ["fa-solid fa-dumbbell"], color: "cyan" },
                                          			              
                                          			            ]
                                          			            const found = customEvents.find((condition) => {
                                          			              return ev.title.search(condition.keyword) !== -1   
                                          			            })
                                          			            if (found) {
                                          			                ev.icon = [ found.symbol ]
                                          			                ev.color = found.color 
                                          			            }
                                          			            if (ev.title.search("Restmüll") !== -1) {
                                          			              ev.symbol = [ "fa-regular fa-trash-can" ],
                                          			              ev.isFullday = [true], 
                                          			              ev.color = "grey"  
                                          			            }
                                          			            if (ev.title.search("Papier") !== -1) {
                                          			              ev.symbol = [ "fa-regular fa-trash-can" ],
                                          			              ev.isFullday = [true],
                                          			              ev.color = "blue"  
                                          			            }
                                          			            if (ev.title.search("Gelber Sack") !== -1) {
                                          			              ev.symbol = [ "fa-solid fa-arrows-spin" ],
                                          			              ev.isFullday = [true],
                                          			              ev.color = "yellow"  
                                          			            }
                                          			            if (ev.title.search("Biomüll") !== -1) {
                                          			              ev.symbol = [ "fa-regular fa-trash-can" ],
                                          			              ev.isFullday = [true],
                                          			              ev.color = "brown"  
                                          			            }
                                          						if (ev.title.search("Restmüll & Papier & Gelber Sack") !== -1) {
                                          			              ev.symbol = [ "fa-regular fa-trash-can" ],
                                          			              ev.isFullday = [true],
                                          			              ev.title = "Alle Tonnen",
                                          			              ev.color = "fuchsia"
                                          			            }			            
                                          						if (ev.title.search("Urlaub") !== -1) {
                                          			              ev.symbol = [ "fa-regular fa-trash-can" ],
                                          			              ev.isFullday = [true],
                                          			              ev.color = "green"
                                          			            }
                                          
                                          			            return ev
                                          			        },
                                          
                                          

                                          Thanks for your support!
                                          Warmest regards,
                                          Ralf

                                          S M 2 Replies Last reply Reply Quote 0
                                          • S Do not disturb
                                            sdetweil @rkorell
                                            last edited by

                                            @rkorell glad you have it working

                                            Sam

                                            How to add modules

                                            learning how to use browser developers window for css changes

                                            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
                                            • 2
                                            • 1 / 2
                                            • 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