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
    676 Posts 81 Posters 2.4m Views 85 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
      GerrieD
      last edited by

      thanks for adding maxEventLines: { row: line, row: line, … } .

      But I am having trouble getting it to work.

      		 {
                 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: 1,
                   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'],
      			 maxEventLines: { 4:6, 5:5, 6:4 , 7:3},
      		   }
               },
      

      I would expect this line maxEventLines: { 4:6, 5:5, 6:4 , 7:3}, to limit the number of rows based on the number of weeks so this month has 6 week rows so the entries in the cell should be limited to 4?

      I even did a test case just to see if it would only make one line by doing this
      maxEventLines: { 3:1, 4:1, 5:1, 6:1 , 7:1, 8:1}, and it did not work.

      What am I missing.

      thanks for your help.

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

        @GerrieD
        Sorry, a hidden bug was only revealed in December—my fault. I fix it now. 1.9.4

        G 2 Replies Last reply Reply Quote 0
        • G Offline
          GerrieD @MMRIZE
          last edited by

          @MMRIZE thanks for all your help.

          I will update later and let you know if it worked.

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

            @MMRIZE the updated fixed my issue.

            thanks.

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

              @MMRIZE

              I’m working in the same situation: using an old iPad and trying to conserve space. I used this transform you posted way back in this thread:

              /* In your config */
              eventTransformer: (ev) => {
                if (!ev.isFullday) {
                  let t = new Date(ev.startDate)
                  let time = (t.getMinutes() === 0) ? String(t.getHours()) : String(t.getHours() + ':' + t.getMinutes())
                  ev.title = `<span class="myTime">${time}</span> ${ev.title}`	
                }
                return ev 
              }
              

              That works great, but how can I get it to display the hour in 12h, not 24h?

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

                @Decimeter9667 time see theIMG_0598.png eventTimeOptions

                Sam

                How to add modules

                learning how to use browser developers window for css changes

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

                  @sdetweil Hmm… are you sure that works in the context of the transform I showed? eventTimeOptions doesn’t seem to change it.

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

                    @Decimeter9667

                    you are doing it raw. Date.getHours() returns 0-23
                    so YOU have to check , and substract 12 if over 12

                    IMG_0599.png

                    Sam

                    How to add modules

                    learning how to use browser developers window for css changes

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

                      @sdetweil Thanks. For anyone else looking to do this, here’s how I modified the code:

                              eventTransformer: (ev) => {
                                          if (!ev.isFullday) {
                                          let t = new Date(ev.startDate)
                                          const amPm = t.getHours() >= 12 ? 'p' : 'a';
                                          let time = (t.getMinutes() === 0) ? String(t.getHours() % 12 || 12) : String( (t.getHours() % 12 || 12)  + ':' + t.getMinutes())
                                          ev.title = `<span class="myTime">${time}${amPm}</span> ${ev.title}`
                                          }
                                      return ev
                                      }
                      
                      S 1 Reply Last reply Reply Quote 0
                      • S Offline
                        sdetweil @Decimeter9667
                        last edited by sdetweil

                        @Decimeter9667 you could have set the hour in a local variable when you did the am/pm test

                        // assume am. 
                        // of course you could reverse this if most of the events are in the afternoon
                        let amPm='a'
                        let hour=t.getHours()
                             if(hour >= 12) {
                                     amPm= 'p';
                                     hour-= 12
                            }
                        

                        then not have 2 more calls to getHour()

                        performance things creep in all the time… (as you might be doing this for all events…)

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

                        1 Reply Last reply Reply Quote 1
                        • 1
                        • 2
                        • 58
                        • 59
                        • 60
                        • 61
                        • 62
                        • 67
                        • 68
                        • 60 / 68
                        • 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