• 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
656 Posts 78 Posters 2.0m Views 82 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.
  • M Offline
    MMRIZE @BKeyport
    last edited by Oct 19, 2023, 8:04 AM

    @BKeyport said in MMM-CalendarExt3:

    @MMRIZE the background highlighting issue is shown in my screenshot. If you look at October 11 in the shot, you’ll notice the highlight is smaller than the text.

    give enough height to cell header

    Same goes for the full day event shown on Nov 2, the highlight is blocking the “2” partially.

    Your height of cellHeader is smaller than the fontsize used.
    By default it is defined as --cellheaderheight

    That being said, I’m gonna work on expanding my module to do a big calendar instead. I’m not getting what I want even with monkeypatch, and it’s getting too confused.

    As I showed you, it is possible, but it doesn’t mean easy.
    Anyway, this module is not designed to show events like that, however, I introduced to you how to override by monkey-patching, but if you are not satisfied, the only way would be to build a new module for that purpose.

    1 Reply Last reply Reply Quote 0
    • A Offline
      aircliff @MMRIZE
      last edited by Oct 19, 2023, 5:15 PM

      @MMRIZE

      Worked like a champ. Thanks for the help.

      1 Reply Last reply Reply Quote 0
      • R Offline
        roth_nj
        last edited by Oct 26, 2023, 2:37 AM

        Formatting question… not sure if it’s best for to ask here or some place else….

        I currently have the icons turned off, and 6 color coded calendars being displayed. Right now there is the small colored dot next to each and I have it color coded and the legend turned on and that’s all good….

        How would I go about formatting each entry so it has the “apple” look? Like a light shaded transparent box around each entry that pulled the tint from the calendar color. Also I would then off the colored dots

        M 1 Reply Last reply Oct 26, 2023, 6:29 AM Reply Quote 0
        • M Offline
          MMRIZE @roth_nj
          last edited by Oct 26, 2023, 6:29 AM

          @roth_nj
          I think it could be achieved by CSS modification. However, without details, I cannot guess what you exactly want. Do you have a sketch for it?
          (By default, this module is designed to imitate the Apple calendar app or Fantastical app. I’m sorry if you think it doesn’t look alike. )

          R 1 Reply Last reply Oct 26, 2023, 1:54 PM Reply Quote 0
          • R Offline
            roth_nj @MMRIZE
            last edited by Oct 26, 2023, 1:54 PM

            @MMRIZE said in MMM-CalendarExt3:

            @roth_nj
            I think it could be achieved by CSS modification. However, without details, I cannot guess what you exactly want. Do you have a sketch for it?
            (By default, this module is designed to imitate the Apple calendar app or Fantastical app. I’m sorry if you think it doesn’t look alike. )

            sorry if theres any misunderstanding. i think the module is great and works awesome. i have my pi hooked up to a 40" tv that i am going to frame and hang. so with the detail and how close just trying to tweak the visuals now that i have everything functioning well. one of the things i’ve noticed with my set up is the contrast between all the white text and black background. from what i’ve researched it is a drawback to using a TV instead of a computer monitor or smaller device. adjusting the contrast/brightness on the tv itself made the pictures look like crap. i think this will help a by separating the white text from the black background.

            what i meant is to have the type of transparent tinted box around (or behind) the calendar entry texts in the style of apples current design looks. heres a quick think i made in powerpoint.

            6c4d3d72-4850-481f-9ece-f995328a0620-image.png

            thank you again for all you help

            M 1 Reply Last reply Oct 28, 2023, 11:53 PM Reply Quote 0
            • M Offline
              MMRIZE @roth_nj
              last edited by Oct 28, 2023, 11:53 PM

              @roth_nj
              By default, without any modification; This module has 2 style metaphor for event. One is for fullday/multidays event and one is for normal event.
              4409b979-8fc2-493c-8239-e43490fcec40-image.png
              Fullday/multidays event looks a boxed, background-filled to be distinguished with a normal event.

              Anyway, if you want that a normal event has same looks with fullday events - boxed and filled.
              835e6541-3090-4784-9922-315692ef1ab8-image.png

              Add these lines to your custom.css

              .CX3 .event.singleday .headline:not(.useSymbol)::before,
              .CX3 .event.singleday .headline.useSymbol .symbol.noSymbol::before {
                display: none;
              }
              
              .CX3 .event.singleday {
                background-color: var(--calendarColor);
                mix-blend-mode: difference;
                border-radius: 4px;
                color: var(--oppositeColor);
              }
              
              .CX3 .event:not(.fullday) .headline .time {
                color: var(--oppositeColor);
              }
              
              1 Reply Last reply Reply Quote 0
              • M Offline
                MMRIZE
                last edited by MMRIZE Nov 13, 2023, 2:01 PM Nov 13, 2023, 1:58 PM

                [UPDATE] 1.7.0

                • skip of event Object property (Example)
                • skipPassedEventToday of config
                • eventTime color in multiday event
                • more, morePopover feature.
                • Global object check. (For compatible with not browser environment)
                • Support iconify
                • auto-detect firstDayOfWeek and minimalDaysOfNewYear
                • weekends of config

                Usually I just describe outlines of update here, but in this update, I need to explain somethings with images, so I did it.

                I opened WIKI for some details.

                Using Iconify

                Even though fontawesome is the default icon framework of MM, there are many needs of iconify. And I prefer it to font-awesome. Now you can use iconify icons by config value useIconify: true

                // In your calendar module config
                defaultSymbolClassName: '', // <-- Important to identify iconify properly.
                calendars: [
                  {
                    color: "red",
                    symbol: "flag:us-4x3",
                    url: "https://ics.calendarlabs.com/76/mm3137/US_Holidays.ics?foo"
                  },
                  {
                    color: "red",
                    symbol: "fa fa-fw fa-flag", // <-- Important when you want to use font-awesome also together.
                    url: "https://ics.calendarlabs.com/76/mm3137/US_Holidays.ics?bar"
                  },
                ],
                

                image

                WARNING
                To use iconify, you should set defaultSymbolClassName: '', in your default calendar module. Usually, it is enough when you hide the original default calendar module to use with CX3. But if you want to use font-awesome icons together, you should add font-awesome classnames (e.g fa, fas, …) by yourself.

                displaying startTime and endTime in multi-day event.

                a Fullday event doesn’t need startTime and endTime. And there is not enough place to show endTime for a single-day event. But for multi-day events, There would be enough space to display the endTime of the last day of the period. And it would be convenient. The position where the endTime would be displayed will be near the event’s last day.

                image

                If you don’t want to show it, add this to your css/custom.css

                .CX3 .event.multiday:not(.continueToNextWeek) .headline .endTime {
                  display: none;
                }
                

                more for overflowed events.

                By the limitation of maxEventLines (and due to the resolution of the MM screen), overflowed events on the day had to be ignored. It was inconvenient.

                Now, CX3 can show how many events are ignored in the day. You can pop over the whole events list of that day by clicking/touching the header of the cell or more marks(White rounded number). The popover contents could be scrollable by touch/drag (if possible)

                image image

                NOTICE Firefox, Opera Mobile, Samsung Browser cannot handle a new de facto starndard popover feature yet.

                skipPassedEventToday

                Even though it would be helpful to use the new more feature, Still overflowed events would be inconvenient. Generally, upcoming events would be more important than past events especially for today. So you can skip the past events of today by this option. The skipped events will be shown again when today passes.

                image

                skipPassedEventToday: false (default)

                image

                skipPassedEventToday: true

                Auto-detect calendar info by locale

                Before 1.7.0, the user must manually set firstDayOfWeek and minimalDaysOfNewYear in the config to calculate the start day of the week, week number, weekend info, etc.

                Now, this module will calculate that info automatically with locale without your manual config for firstDayOfWeek and minimalDaysOfNewYear (Leave them as blank or null)

                For example;

                • When you set the locale as en-US (in the module config or global config), the week starts from Sunday.
                • When you set the locale as en-GB, the week starts from Monday.
                • When you set the locale as fa-IR, the week starts from Saturday, and the weekend day will be only Friday.

                Of course, you can set them up manually by force for the exceptions.

                • Not supported natively in legacy browsers.
                • To show custom weekend days for your job shift instead of public weekends. (e.g. weekends: [1, 3, 5] for Mon, Wed, Fri resting)
                • to adopt a locale but with a different language. (e.g. The Americans living in Germany, so the calendar system itself should be followed by German rule but displayed in English.)
                locale: 'en-US', // Displaying things as US English, e.g. MM. DD. YYYY instead of European DD. MM. YYYY
                firstDayOfWeek: 1, // German ISO rule. The week starts on Monday, not Sunday, as `en-US`
                minimalDaysOfNewYear: 4, 
                

                weekends

                A new config value, weekends: [], is introduced. By default, you don’t have to set this by yourself because it is derived from the auto-detection of calendar info from the locale. This field will be fulfilled automatically unless you set it manually in config.
                Every day cell has weekend and weekend_1 or weekend_2 as its classname.

                For example, weekends: [6, 0] means Saturday and Sunday will be considered weekends. Saturday will have weekend weekend_1 and Sunday will have weekend weekend_2.

                Style cells with these class names instead of the fixed weekday_N. You don’t have to know which weekday is a weekend in a specific locale.

                And more…

                C 1 Reply Last reply Nov 16, 2023, 1:15 PM Reply Quote 0
                • C Offline
                  ChickenBeard @MMRIZE
                  last edited by Nov 16, 2023, 1:15 PM

                  Is there a step missing when updating? I follow the install or update instructions in GitHub but it never seems to actually update.

                  M 1 Reply Last reply Nov 16, 2023, 2:10 PM Reply Quote 0
                  • M Offline
                    MMRIZE @ChickenBeard
                    last edited by Nov 16, 2023, 2:10 PM

                    @ChickenBeard

                    Try this;

                    cd ~/MagicMirror/modules/MMM-CalendarExt3
                    git pull
                    npm install 
                    git submodule update --init --recursive
                    

                    Sorry, it may be missing. I’ll add the info on next update. (soon)

                    1 Reply Last reply Reply Quote 0
                    • M Offline
                      MMRIZE
                      last edited by MMRIZE Nov 17, 2023, 1:01 PM Nov 17, 2023, 12:53 PM

                      [UPDATE] 1.7.1

                      • ADDED useMarquee config
                      • ADDED noMarquee event Object attribute
                        From now, too long title will be rolling as marquee or ticker style.
                        marquee
                      1 Reply Last reply Reply Quote 1
                      • 1
                      • 2
                      • 37
                      • 38
                      • 39
                      • 40
                      • 41
                      • 65
                      • 66
                      • 39 / 66
                      • 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