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-CalendarExt3

    Scheduled Pinned Locked Moved Utilities
    689 Posts 82 Posters 2.8m Views 86 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.
    • D Offline
      danncabrera
      last edited by

      Love this module, and have spent some time modifying some parts of it using CSS and learning a lot on the way. One thing i have not been able to achieve is to have the time format to show exactly how i want it to be.

      I want the time for any event to show like 9am / 9:15am instead of the “9:00 a.m.”, to save some space and try to make it more readable. Any ideas on how to achieve this?? i have tried to modify with eventtransformer code in many ways, but all i get is to turn back to 24hr; it seems like it defaults to my locale (ES), and i don’t want to switch since i want everything to be in Spanish.

      Any suggestions are welcomed, thank you.

      eventTransformer: (event) => {
        // Get the event's start time as a Date object
        let startDate = new Date(event.startDate);
      
        // Manually extract hours and minutes
        let hours = startDate.getHours();
        let minutes = startDate.getMinutes();
        
        // Determine AM or PM
        let ampm = hours >= 12 ? 'pm' : 'am';
        
        // Convert 24-hour format to 12-hour
        hours = hours % 12;
        hours = hours ? hours : 12;  // If 0 (midnight/noon), set to 12
      
        // Format minutes (add leading zero if needed)
        let formattedMinutes = minutes < 10 ? '0' + minutes : minutes;
        
        // Construct the final time format (e.g., "9am" or "9:15am")
        let formattedTime = `${hours}${minutes === 0 ? '' : ':' + formattedMinutes}${ampm}`;
      
        // Manually set the formatted time as the event's start time
        event.startTime = formattedTime;
        
        return event;  // Return the modified event with the new time
      },
      
      S M 2 Replies Last reply Reply Quote 0
      • S Offline
        sdetweil @danncabrera
        last edited by

        @danncabrera did you try to change the formatting via the module configuration ?
        see
        https://devhints.io/moment

        Sam

        How to add modules

        learning how to use browser developers window for css changes

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

          @sdetweil this module doesn’t use moment module. It is using pure JavaScript Intl function

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

            @MMRIZE i stand corrected, sadly few options for formatting

            Sam

            How to add modules

            learning how to use browser developers window for css changes

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

              @danncabrera
              https://forum.magicmirror.builders/post/101510

              D 1 Reply Last reply Reply Quote 0
              • G Offline
                GerrieD
                last edited by

                this month has to much weeks so I am having overlap issues, one of my options is to remove the header (September) but I cant find where to remove it.
                I am trying to remove the Month at the top.

                		 {
                           module: "MMM-CalendarExt3",
                           position: "top_right",
                           title: "",
                           instanceId: '1',
                		   config: {
                             mode: 'month',
                             carouselId: "basicCalendar",
                             locale: 'en-ZA',
                		     header: "",
                             //headerTitleOptions: {month: 'long' , year:'numeric'},
                		     eventTimeOptions: {timeStyle: 'short'},
                		     useWeather: false,
                             maxEventLines: 5,
                             firstDayOfWeek: 1,
                		     displayEndTime: false,
                		     useMarquee: true,
                		     displayCW: false,
                		     showMore: true,
                		     showEnd: false,
                		     weekIndex: 0, // From which week the view starts; -1 : last week, 0: this week 2: 2 weeks later, ...
                		     weeksInView: 5, // How many weeks will be shown from `weekIndex`
                		     fontSize: "18px",
                             eventHight: "20px",
                		     calendarSet: ['Pieter', 'US_holiday'],
                	             }
                         },
                		
                
                .MMM-CalendarExt3 .module-header {
                	text-align:center;
                	padding-bottom :30px;
                	font-size:80px;
                	color:rgb(45,73,69);     /*This is the Header Month Colour  */
                	/*text-shadow: -1px 0 white, 0 1px white, 1px 0 white, 0 -1px white;*/
                	display: none;
                }
                

                b54220c2-9cdd-4c21-9e42-989da6fe1151-image.png

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

                  @GerrieD i don’t know exactly, but you can use the developers window to find the html element and get its classes

                  see the second link in my signature for how to use the developers window

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

                    @sdetweil thanks for you quick response

                    I have followed a lot of your hep topics and thanks to you got familiar with the developers window.

                    I added the display: none; to the module but in the developers window it is crossed out.

                    f22d6ec9-c298-4106-8b81-a6bcf275ab3c-image.png

                    S 2 Replies Last reply Reply Quote 0
                    • S Offline
                      sdetweil @GerrieD
                      last edited by

                      @GerrieD you can add !important
                      after the display:none;

                      display:none !important;

                      this should override the more specific

                      you are doing this in the top window. right

                      in custom.css

                      .CX3 .module-header {
                      display:none;
                      }
                      

                      should work tho

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

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

                        @GerrieD also, in the top window you have display:block, the top window overrides those below

                        remove that top window should be empty

                        element.style
                        

                        IMG_0303.png

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

                          @sdetweil said in MMM-CalendarExt3:

                          display:none !important;

                          That worked. I try to not use !important to much (someone told me not to do it)

                          But in this case it worked 100%

                          Thanks

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

                            @sdetweil

                            Thanks, I will see where to fix that as well.

                            Sam you are a legend here!!

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

                              @GerrieD i think that element.style is only if you type it. should be empty when you open dev window

                              Sam

                              How to add modules

                              learning how to use browser developers window for css changes

                              1 Reply Last reply Reply Quote 0
                              • D Offline
                                danncabrera @sdetweil
                                last edited by

                                @sdetweil Thank you for your support. This community is awesome.

                                S 1 Reply Last reply Reply Quote 0
                                • D Offline
                                  danncabrera @MMRIZE
                                  last edited by

                                  @MMRIZE Thank you for taking the time, that post was super helpful. You are a legend!

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

                                    @danncabrera I wanted to post additional info for anyone else looking in

                                    the image you posted of the dev window had the cause of the strikethru(overridden)
                                    your pointer red/pink shows the strikethru… which means something ABOVE in the SAME COLUMN has that setting too… (and it wins)
                                    my purple arrow

                                    dev window comment.png

                                    you’ll see that font-size in the header{ } is also strike thru, because the
                                    .MMM-CalendarExt3 .module-header (ABOVE) the header specifies the font-size,
                                    thus overriding the header setting…

                                    and you can’t see it in these pics cause of the clipping,but the source of that
                                    .MMM-CalendarExt3 .module-header came from the custom.css file…
                                    (right edge same row)

                                    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
                                      last edited by MMRIZE

                                      UPDATE 1.9.0 (2024-09-25)

                                      • customHeader available,.
                                        Now you can add customHeader for the calendar view instead of module’s default header.

                                      5544fcf8-c98d-47d3-be68-a699e82e03c1-image.png

                                      • variable maxEventLines by number of rows
                                        Every month has a different number of weeks in its calendar, so it was hard to adjust the height of the month view. Now, you can assign the variable maxEventLines by the number of rows. (And additional CSS Selectors related to it was added.)
                                      G 1 Reply Last reply Reply Quote 1
                                      • G Offline
                                        GerrieD @MMRIZE
                                        last edited by

                                        @MMRIZE

                                        Wow thanks for adding this. I have not tested yet, but I assume that with this update I can limit the size of the calendar if we have a 6 week month like this month.

                                        1 Reply Last reply Reply Quote 0
                                        • C Offline
                                          czabel
                                          last edited by

                                          MMRIZE, you’re a champion for creating this module. I would love some help, if you can spare some time.

                                          The first issue is that I have tried adding an eventTransformer to add a symbol to specific events, but it doesn’t do anything. The code comes from your post in another topic, my slightly modified version is here:

                                          				eventTransformer: (ev) => {
                                          					if (ev.title.search('Volleyball') > -1) 
                                          						ev.symbol = ['fa-solid fa-volleyball']
                                          					return ev
                                          				},
                                          

                                          My current guess is that I’m not specifying a correct symbol name, but that name is directly from FontAwesome, so I’m not sure.

                                          My other issue is that the first event on each day overlaps the date number - how can I fix this?
                                          f695ba9d-a634-41b3-8a50-d461ab75be31-image.png
                                          This may be a browser issue? I’m using Chrome on Win11, I don’t have a real display for my Pi at the moment so I’m running in Server mode to set things up.

                                          M 2 Replies Last reply Reply Quote 0
                                          • M Offline
                                            MMRIZE @czabel
                                            last edited by

                                            @czabel
                                            I need your config and custom.css to guess what happened.

                                            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
                                            • 26
                                            • 27
                                            • 28
                                            • 29
                                            • 30
                                            • 34
                                            • 35
                                            • 28 / 35
                                            • 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