Skip to content

About 1.7.0

Seongnoh Sean Yi edited this page Nov 13, 2023 · 15 revisions
  • 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

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.