• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
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
666 Posts 79 Posters 2.1m Views 83 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.
  • C Offline
    CurlyQ12391
    last edited by Sep 16, 2023, 7:57 PM

    Hello, I hope that this is the correct place to ask about this…

    I’ve been playing around with adding backgrounds to my CalX3 for US holidays (example of the Valentines background below):
    1964916b-3525-40e5-a81b-7f691ef45676-image.png

    Since the CSS is applying the background to a specific month/date combo I am unsure how I can accommodate holidays that occur on the same day but different dates each year (e.g., Thanksgiving, Labor Day, etc).

    The below CSS is all the dates Labor Day could fall on, but this wouldn’t work unless I comment out the incorrect dates each year :/ any ideas/suggestions?

    /* Labor Day - First Monday in September */
    .CX3 .month_9.date_1,
    .CX3 .month_9.date_2,
    .CX3 .month_9.date_3,
    .CX3 .month_9.date_4,
    .CX3 .month_9.date_5,
    .CX3 .month_9.date_6,
    .CX3 .month_9.date_7,
    .CX3 .month_9.date_8 {
      background-image: url("/modules/MMM-CalendarExt3/Backgrounds/LaborDay");
      background-position: center center;
      background-size: 60%;
      background-repeat: no-repeat;
    }
    

    Thank you!

    M 1 Reply Last reply Sep 16, 2023, 9:48 PM Reply Quote 0
    • M Offline
      MMRIZE @CurlyQ12391
      last edited by MMRIZE Sep 16, 2023, 9:50 PM Sep 16, 2023, 9:48 PM

      @CurlyQ12391
      There is the selector “.weekday_N”(0-6). ATM I cannot remember exactly but “weekday_0” probably is “Sunday” (or Monday), anyway try it.
      https://github.com/MMRIZE/MMM-CalendarExt3#styling-with-css

      C 1 Reply Last reply Sep 16, 2023, 11:01 PM Reply Quote 0
      • C Offline
        CurlyQ12391 @MMRIZE
        last edited by Sep 16, 2023, 11:01 PM

        @MMRIZE,

        That did the trick! Adding “weekday” prevented the image from populating on multiple cells :) This module is by far my favorite because of how customizable it is.

        /* Labor Day - First Monday in September */
        .CX3 .month_9.date_1.weekday_1,
        .CX3 .month_9.date_2.weekday_1,
        .CX3 .month_9.date_3.weekday_1,
        .CX3 .month_9.date_4.weekday_1  {
          background-image: url("/modules/MMM-CalendarExt3/Backgrounds/LaborDay");
          background-position: center center;
          background-size: 60%;
          background-repeat: no-repeat;
        }
        

        The only one I haven’t been able to figure out is Easter Sunday because it is the first between March 22 and April 25. I dont believe CSS can handle that type of logic, maybe JS but thats a little too complex for me. For now I will just leave Easter off the calendar.

        M 2 Replies Last reply Sep 17, 2023, 6:55 AM Reply Quote 0
        • M Offline
          MMRIZE @CurlyQ12391
          last edited by Sep 17, 2023, 6:55 AM

          @CurlyQ12391
          I think it is possible with “manipulateDateCell”. I will show example after my return from a business trip in a few days.

          1 Reply Last reply Reply Quote 0
          • M Offline
            MMRIZE @CurlyQ12391
            last edited by MMRIZE Sep 18, 2023, 9:52 AM Sep 18, 2023, 9:42 AM

            @CurlyQ12391

            {
              module: "MMM-CalendarExt3",
              position: "bottom_bar",
              config: {
                mode: 'month',
                manipulateDateCell: (dom, events) => {
                  let date = new Date(+dom.dataset.date)
                  if (date.getMonth() == 8 && date.getDate() == 2) { // specific cell by absolute date
                    dom.classList.add('specialHoliday')
                    dom.style.backgroundColor = 'red'
                    // do whatever you want.
                  }
            
                  if (events.some(e => e.title.search("Gelber") > -1)){ // specific cell by event
                    dom.classList.add('specialEvent')
                    dom.style.backgroundColor = 'yellow'
                    // do whatever you want.
                  }
                }
              }
            },
            

            107e15de-2d5a-4b38-bab6-0eb97f9dbe53-image.png

            1 Reply Last reply Reply Quote 0
            • N Offline
              nekreg9
              last edited by Sep 24, 2023, 2:25 PM

              How can I delay the start of the MMM-CalendarExt3 module? I have the default calendar module showing and I can see the 3 calendars load events into it. The problem is CalendarExt3 starts while the calendars are still loading. I changed the refreshInterval to more frequent to deal with that, but really a delay start would be more efficient.

              I supposed this would only be a problem while I am troubleshooting.

              M 1 Reply Last reply Sep 24, 2023, 10:15 PM Reply Quote 0
              • M Offline
                MMRIZE @nekreg9
                last edited by Sep 24, 2023, 10:15 PM

                @nekreg9
                There is a configurable option “waitFetch”.
                But I doubt your real issue would be that. Because, CX3 starts rendering after one calendar which has at least one event have fetched successfully. (and in a “waitFetch”, no more calendar is fetched)
                So if your CX3 starts late, It means your events source provider(usually default calendar module) might have timing issue to fetch calendars(e.g. too frequent fetch cycles or something else)

                1 Reply Last reply Reply Quote 0
                • K Offline
                  Kaisies 0
                  last edited by Sep 26, 2023, 2:50 AM

                  Is it at all possible to alter the grid to only divide the screen into 5 sections? I was able to alter code to only show m-f, but the sat and sun sections are still there. Just completely blank. For the life of me I can’t figure out where in the code it sets this part up.

                  M 2 Replies Last reply Sep 26, 2023, 11:45 AM Reply Quote 0
                  • M Offline
                    MMRIZE @Kaisies 0
                    last edited by Sep 26, 2023, 11:45 AM

                    @Kaisies-0
                    1f6f210b-dd20-4887-b394-f2525233ad7b-image.png

                    1 Reply Last reply Reply Quote 0
                    • M Offline
                      MMRIZE @Kaisies 0
                      last edited by MMRIZE Sep 26, 2023, 12:22 PM Sep 26, 2023, 12:22 PM

                      @Kaisies-0
                      Anyway,
                      For the firstDayOfWeek: 1 (Week starts from Monday), It could be achieved like below;

                      .CX3 .weekGrid {
                        grid-template-columns: repeat(5, [cell-start] 1fr [cell-end]) 0fr 0fr;
                      }
                      
                      .CX3 .weekday.weekday_6,
                      .CX3 .weekday.weekday_0 {
                        display: none;
                      }
                      
                      .CX3 .cell.weekday_6,
                      .CX3 .cell.weekday_0 {
                        display: none;
                      }
                      

                      This will work.
                      ca91b736-4bef-46da-8af9-93877ca4a0e0-image.png
                      But for the firstDayOfWeek:0 or another case, .weekGrid should be adjusted more heavily. And not sure side-effects.

                      B 1 Reply Last reply Sep 29, 2023, 6:17 AM Reply Quote 0
                      • 1
                      • 2
                      • 33
                      • 34
                      • 35
                      • 36
                      • 37
                      • 66
                      • 67
                      • 35 / 67
                      35 / 67
                      • First post
                        349/666
                        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