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

    Scheduled Pinned Locked Moved Utilities
    486 Posts 83 Posters 940.9k 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.
    • M Offline
      mmmmh Project Sponsor
      last edited by mmmmh

      I have two views in one scene and need some layout/styling help. One row view shows the next 7 days and a column should show as many events as possible from 8 days onwards (a preview). For more precise placement, I created my own regions and added them to the index.html template.

      The next-7-days daily view is at the bottom of the screen and behaves nicely. The preview column is in the center of the screen and regrettably runs over the next-7-days view.

      In a daily column view, how can I skip days without events?

      Which style element do I need to modify in custom.css to have the column content to stop at precise coordinates and not spill over other modules?

      I tried limiting the region either with a bottom-margin or height value, both do not apply.

      Here’s the style that doesn’t work

      .region .preview {
          border: 1px #831e4d solid;
          position: absolute;
          left: 480px;
          width: 400px;
          top: 390px;
          height: 550px;
      }
      
      ? 1 Reply Last reply Reply Quote 0
      • ? Offline
        A Former User @mmmmh
        last edited by

        @mmmmh

        1. Give your view className to control more precisely.
          For example,
        {
          title: "Remove Empty Slot",
          name: "DailyView",
          mode: "daily",
          calendars: [],
          position:"top_left",
          hideOverflow: false,
          slotCount: 7,
          className: "remove_empty_slot"
        },
        

        Then modify your css/custom.css

        .CX2 .remove_empty_slot .eventCount_0 {
          display:none;
        }
        

        0_1574265909660_62961079-1001-441c-905b-05e5866744d4-image.png

        BKeyportB 1 Reply Last reply Reply Quote 0
        • M Offline
          mmmmh Project Sponsor
          last edited by

          @Sean That works nicely for skipping days without events, thanks.

          What can I do about the overlap of the content. I can’t limit the view height in the config file or in the class style.

          ? 1 Reply Last reply Reply Quote 0
          • ? Offline
            A Former User @mmmmh
            last edited by

            @mmmmh
            can u tell me more details? even picture would be a help to understand your expect.

            M 1 Reply Last reply Reply Quote 0
            • BKeyportB Offline
              BKeyport Module Developer @Guest
              last edited by

              @Sean You know, I was just wondering how to get rid of empty days. Thanks!

              The "E" in "Javascript" stands for "Easy"

              1 Reply Last reply Reply Quote 0
              • M Offline
                mmmmh Project Sponsor @Guest
                last edited by

                @Sean said in MMM-CalendarExt2:

                @mmmmh
                can u tell me more details? even picture would be a help to understand your expect.

                Here’s an example (I disabled other modules).

                0_1574320720537_013b7d8a-aaaf-4511-bdf7-33935942e3f8-image.png

                ? 1 Reply Last reply Reply Quote 0
                • ? Offline
                  A Former User @mmmmh
                  last edited by A Former User

                  @mmmmh
                  You can set hideOverflow:true and slotMaxHeight:100px. If your view has 5 slots(with column type), The height of the view will be (100 + @) * 5. @ would be some additional elements like some margins or title area. Anyway, with this calculation, you can adjust and estimate the height of the view somehow.
                  Or you can put this 2 view in same position(bottom_bar?), in that case, the views will be stacked not overlapped. The order will be what you ordered in configuration.

                  Or, just use another position like bottom_bar and top_right.

                  1 Reply Last reply Reply Quote 0
                  • M Offline
                    mmmmh Project Sponsor
                    last edited by

                    @Sean
                    Thanks for the constructive help. I was already using different positions. Stacking within the same position doesn’t really work:

                    0_1574324822509_9fd17df8-d8a1-407c-9e9d-d93bade0fbe1-image.png

                    Slot limiting (and two different positions) seems to be (closer to) what I want to accomplish:

                    0_1574324906605_13d706dd-b35c-4e7c-8e2e-5920cbbd2b88-image.png

                    Another workaround would probably be to work with separate instances of the module.

                    ? 1 Reply Last reply Reply Quote 0
                    • ? Offline
                      A Former User @mmmmh
                      last edited by

                      @mmmmh
                      In your picture (trial for stacking),
                      You probably have trouble with styling a daily view. I think it is about the view’s location and width. In that case, you can assign className to control specific view details with CSS.

                      1 Reply Last reply Reply Quote 0
                      • M Offline
                        mmmmh Project Sponsor
                        last edited by

                        @Sean
                        Thanks for the remark. Stacking in the same position but with a different (additional) class for the column kinda works but there is still overlap (in this instance I am not limiting the slot height and count in the column, I would like to have as many entries as possible in the column):

                        0_1574328237696_fa5168ad-f99e-4bb2-8ace-0b06c2a490b3-image.png

                        M 1 Reply Last reply Reply Quote 0
                        • M Offline
                          mmmmh Project Sponsor @mmmmh
                          last edited by

                          I found a workaround. I made the background of the lower part black. : )

                          In the last screenshot Thu. 28 takes up so much space, even when I enable hideOverflow. I think have to remove some hardcoded 150px in .slotContent but I can’t get to it.

                          1 Reply Last reply Reply Quote 0
                          • M Offline
                            mrmagoo_83
                            last edited by

                            0_1574466280642_calendar.PNG

                            Trying to figure out two things:
                            One: I got the event title to wrap which is what I want, but it causes issues when there is an event following the one that wraps as you can see in the picture.
                            Second: How do I cut the overall height down of the whole thing? There is a lot of empty space, I’d like to limit the events per day to 3 and reduce the overall height of the calendar.

                            ? 1 Reply Last reply Reply Quote 0
                            • ? Offline
                              A Former User @mrmagoo_83
                              last edited by A Former User

                              @mrmagoo_83

                              1. I think you’ve modified CSS for sending event time to the right side, It could make the confusing wrapping. hmmm hard to explain. sorry for my poor English. What kind of method did you use? float right?, By default this module usually use flexbox model. Try another approach with using flex.

                              2. adjust slotMaxHeight of view.
                                https://github.com/eouia/MMM-CalendarExt2/wiki/2c4.-View:week,-month

                              1 Reply Last reply Reply Quote 0
                              • M Offline
                                mrmagoo_83
                                last edited by

                                Ok, got the overall height down to manageable. I also reset the custom css work to time first, and all that. What I am looking to do is wrap the title of the event to multiple lines if it is too long, in doing so the event slot needs to increase, but when I do this, they still overlap like in the previous picture. I am very new to CSS so, I could easily have made a mistake.

                                1 Reply Last reply Reply Quote 0
                                • C Offline
                                  code999 @Guest
                                  last edited by

                                  @Sean @mrdenmark
                                  Thanks for both of your help. I got it where I wanted it.

                                  @Sean Thanks for the module, its great! keep up the good work and awesome support.

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

                                    I do have another question on the ics file. I am using one from a region but it does not seem to work, would you know why?
                                    i works for google, outlook and others. Thanks

                                    link… https://recollect.a.ssl.fastly.net/api/places/5C168558-A4F7-11E4-B82A-04208E6A6F5F/services/224/events.en.ics?client_id=B40A0DCC-1138-11EA-87AC-FC5DCE1212EE

                                    1 Reply Last reply Reply Quote 0
                                    • J Offline
                                      jani.karna
                                      last edited by jani.karna

                                      I really appreciate the module and it is (almost) exactly what I want. I still looking the same thing as @mrmagoo_83 that I could wrap the events in multiple lines when needed.

                                      Also, is there a way to make events as wide as the column? Now it is slightly narrower. Here’s a picture of what I mean.
                                      https://www.dropbox.com/s/9iosscweizpthrb/IMG_0603.jpg?dl=0
                                      Can I also shrink the gap between events vertically somehow?

                                      ? 1 Reply Last reply Reply Quote 0
                                      • S Offline
                                        scuppasteve
                                        last edited by

                                        I really like this module and unlike the regular Calendar app is able to deal with DST.

                                        I have a calendar of just my kids chores to do today. All i want is to display the chores that are today, in the calendar they are all day events. So i would like the “ends in xx hours” to go away altogether ideally, but at worst i would just like it to say “Today”. Also I would like to make the slot background transparent and the slot text white. I know that is in CSS, but don’t see where to make it transparent.

                                        		{
                                        			module: 'MMM-CalendarExt2',
                                        			config: {
                                        				updateInterval: 1000*60*240,
                                        				calendars : [
                                        					{
                                        						name: "Chores",
                                        						scanInterval: 1000*60*240,
                                        						url: "CAL URL",
                                        					},
                                        			  	],
                                        			  	views: [
                                        					{
                                        						name: "Chores",
                                        						position: "top_right",
                                        						mode: "current",
                                        						hideOverflow: false,
                                        						slotTitle: "Kid's Chores",
                                        						slotMaxHeight: "75px",
                                        						slotCount: 10,
                                        						maxDays: 1,
                                        						locale: "en",
                                        						calendars: ["Chores"],
                                        					},
                                        			  	],
                                        			  	scenes: [
                                        					{
                                        				  		name: "DEFAULT",
                                        					},
                                        			  	],
                                        			},
                                        		},
                                        
                                        ? 1 Reply Last reply Reply Quote 0
                                        • ? Offline
                                          A Former User @jani.karna
                                          last edited by

                                          @jani-karna

                                          1. Slightly narrow event’s width is intentional to avoid margin of error on calculation. It is hardcoded. But if you want to modify it by yourself,
                                            https://github.com/eouia/MMM-CalendarExt2/blob/a5d509ada997034f91e0790ad72e87512cb24c60/CALEXT2_Slot.js#L250
                                          eventDom.style.width = width - 15 + "px"
                                          

                                          Change 15 to what you want.

                                          Can I also shrink the gap between events vertically somehow?

                                          Tell me more exact details? Even a picture will help.

                                          J 2 Replies Last reply Reply Quote 0
                                          • ? Offline
                                            A Former User @scuppasteve
                                            last edited by A Former User

                                            @scuppasteve
                                            The default method of displaying time on agenda views(current and upcoming) is defined as relative form. So, you can use just useEventTimeRelative: false, to display event time absolute format.
                                            But what you want is just removing time of events from specific calendars or specific views, you can control it with CSS.
                                            For example, when you want to hide time of all events from Chores calendar on current view, try this.

                                            ...
                                            calendars : [
                                              {
                                                name: "Chores",
                                                scanInterval: 1000*60*240,
                                                url: "CAL URL",
                                                className: "CHORES_CAL"
                                              },
                                            ...
                                            

                                            Then, add this code to your css/custom.css

                                            .CX2 .current .CHORES_CAL .eventTime {
                                              display:none;
                                            }
                                            

                                            This means hide eventTime of CHORES_CAL of current view. Of course you can specify your target in other ways.
                                            And you might need some additional CSS adjustment to beautify the empty area. Try it yourself.

                                            S 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
                                            • 5
                                            • 6
                                            • 7
                                            • 8
                                            • 9
                                            • 24
                                            • 25
                                            • 7 / 25
                                            • 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