Skip to content

Latest commit

 

History

History
2054 lines (1054 loc) · 96.4 KB

CHANGELOG.md

File metadata and controls

2054 lines (1054 loc) · 96.4 KB

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

0.31.1 (2024-04-19)

Bug Fixes

  • week-view: allDayEventsLabelTemplate rendered outside of container (#1708) (46ea34d)

0.31.0 (2022-12-11)

⚠ BREAKING CHANGES

  • angular 15 or higher is now required to use this package

Features

  • week-view: add ability to customise document cursor when resizing events (#1613) (5135590)

build

0.30.1 (2022-08-15)

Bug Fixes

0.30.0 (2022-08-03)

⚠ BREAKING CHANGES

  • rtl: week view all day events with RTL may need some styling adjustments in your application for them to display properly
  • angular 14 or higher is now required to use this package
  • IE11 is no longer supported

Features

  • add secondaryText to event colors that you can use to customise week and day view event text (6bfbf70), closes #1375
  • drop support for IE11 (39b4e76)

Bug Fixes

  • rtl: apply styling fixes for non bootstrap 4 layouts (565a689), closes #1583

build

0.29.0 (2021-12-11)

⚠ BREAKING CHANGES

  • angular 12 or higher is now required to use this package
  • if you are implementing your own date adapter you will now need to implement the getTimezoneOffset method
  • week-view: Previously when resizing events the minimum event height would be calculated based on hourSegments, hourSegmentHeight and hourDuration. It now respects the minimumEventHeight input instead.

To restore the old behaviour you will need to set minimumEventHeight appropriately (by default it's 30 so should continue to work as expected for most users)

  • when using the moment date formatter, the day view title format has changed to be locale aware. If you prefer the old behaviour you can restore it by overriding the dayViewTitle method in the moment date formatter like so:
class CustomMomentDateFormatter extends CalendarMomentDateFormatter {

  public dayViewTitle({ date, locale }: DateFormatterParams): string {
    return this.moment(date).locale(locale).format('dddd, D MMMM, YYYY');
  }

}
  • week-view: the drag behaviour now mimicks the resize behaviour where you can drag an event down to move it into the next day. To restore the old behaviour you can use the new validateEventTimesChanged input to control where an event can be dragged.
  • week-view: events on the week and day view will now always be at least 30 pixels high by default. To restore the old behaviour you can set [minimumEventHeight]="1".

Features

  • add support for rtl (caaf96c), closes #1203
  • allow timezone offset to be overridden in the date adapter (96726e1)
  • publish package in ivy partial compilation mode (29eb8c9), closes #1536
  • week-view: add hourDuration option (6a72448), closes #1080
  • week-view: add minimumEventHeight option (7789fda), closes #1192
  • week-view: allow customising where events can be dragged (cd12d3c), closes #1183
  • week-view: allow customising where events can be resized (ba45051), closes #1183

Bug Fixes

  • use locale aware day view title for moment date formatter (acf93a3), closes #1396
  • week-view: allow dragging events to span multiple days (ef5749c), closes #1234
  • week-view: respect minimumEventHeight input when resizing (5f0f6be)

0.28.28 (2021-09-01)

  • no functional changes, just needed to publish a readme update to npm

0.28.27 (2021-08-27)

Bug Fixes

  • month-view: add missing a11y attributes (959029e)

0.28.26 (2021-06-20)

Bug Fixes

  • schematics: fix deprecation warning on install (cd47e98)

0.28.25 (2021-06-20)

Bug Fixes

  • schematics: support newer versions of angular (0e70548), closes #1471

0.28.24 (2021-05-03)

Bug Fixes

  • restore compatibility with angular 6 and 7 (79c2509)

0.28.23 (2021-05-03)

0.28.22 (2020-10-20)

Bug Fixes

  • prevent events from disappearing when dragging in quick succession (d37e459), closes #1346

0.28.21 (2020-10-20)

Bug Fixes

  • week-view: use correct height for events on days where DST changes (3531e6e), closes #1348

0.28.20 (2020-09-13)

Bug Fixes

  • week-view: fix dragging of events when snapDraggedEvents=false (fdb1181), closes #1269

0.28.19 (2020-09-13)

Bug Fixes

  • day-view: add sourceEvent to click events (71dfc63), closes #1274

0.28.18 (2020-09-12)

Bug Fixes

  • prevent commonjs warning for drag and drop library (0c8a147), closes #1283

0.28.17 (2020-09-12)

Bug Fixes

0.28.16 (2020-05-30)

Bug Fixes

  • restore compatibility with angular 6 and 7 (d64138f), closes #1268

0.28.15 (2020-05-16)

Bug Fixes

  • week-view: update event time when dragging and not snapping events (558f6f3), closes #1238

0.28.14 (2020-05-14)

Bug Fixes

0.28.13 (2020-05-03)

Bug Fixes

  • month-view: dont fire click event when dropping event in cell (1b81353), closes #1237
  • week-view: update event title time when dragging and resizing (b31e35b), closes #1238

0.28.11 (2020-04-19)

Bug Fixes

  • fix scroll issues on touch devices when dragging (4cb3314)

0.28.10 (2020-04-18)

Bug Fixes

  • fix click and scroll events on touch devices (fe08a96), closes #1144
  • tooltip: hide tooltip when dragging starts (f565162)

0.28.9 (2020-04-18)

Bug Fixes

  • week-view: allow dragging all day events multiple times (253ef80), closes #1173

0.28.8 (2020-04-13)

Bug Fixes

  • month-view: show all weeks with view range and excluding days (3d5f00b), closes #1201

0.28.7 (2020-04-12)

Bug Fixes

  • make universal rendering work without any hacks (40de98d), closes #1211
  • universal: remove need to add KeyboardEvent hack to server.ts (0e9e8d1)

0.28.6 (2020-04-12)

Bug Fixes

0.28.5 (2020-03-01)

Bug Fixes

  • prevent drag and drop on right click (18702b1), closes #1171

0.28.4 (2020-03-01)

Bug Fixes

  • schematics: fix setting custom module to add the calendar imports to (24125e5)
  • schematics: use default project instead of first project if not set (ff477a5)
  • fix infinite load on universal with day and week view (266e159), closes #1177

0.28.3 (2020-02-29)

Bug Fixes

0.28.2 (2019-11-21)

Bug Fixes

0.28.1 (2019-11-21)

Bug Fixes

  • schematics: use correct date adapter when using moment (2068e83), closes #1133

0.28.0 (2019-11-14)

⚠ BREAKING CHANGES

  • date-fns v2 or higher is now required as a peer dependency

If implementing a custom adapter, the max function signature has changed to accept an array of dates, instead of an infinite argument list.

The date adapters no longer accept strings as input arguments.

  • week-view: If extending the root week view component to override the template you must make the following changes:

  • Wrap the time events with <div "class='cal-events-container'">

  • Change <div class="cal-time-label-column" *ngIf="view.hourColumns.length > 0"> to <div class="cal-time-label-column" *ngIf="view.hourColumns.length > 0 && daysInWeek !== 1">

  • Add [isTimeLabel]="daysInWeek === 1" to the bottom <mwl-calendar-week-view-hour-segment> elements

  • The trackBy function trackByDayOrWeekEvent was split into trackByWeekAllDayEvent and trackByWeekTimeEvent

  • week-view: if using a custom headerTemplate on the week view, then you must now add let-dragEnter="dragEnter" to the templates variables and (dragEnter)="dragEnter.emit({ date: day.date })" onto the mwlDroppable element.

  • the columnHeaderClicked output on the month view now exposes an object instead of just the ISO day number

Before:

columnHeaderClicked="columnHeaderClicked($event)"

After:

columnHeaderClicked="columnHeaderClicked($event.isoDayNumber)"
  • day-view: The day and week view have now merged. For most users this should be a seamless migration, however there are some edge cases that you may need to take account for:

Any custom styles you used for the day view will need to be adjusted. The cal-day-view-theme sass mixin is now gone as all the styles are shared between the week and day view.

The eventWidth option is removed, events now fill the available width.

If using [daysInWeek]="1" on the week view, the date and title formatters for the day view will be used instead.

The week view now has a border top applied to the top of the component container, rather than the top of the day headers container.

The getDayView and getDayViewHourGrid functions have been removed from the CalendarUtils service.

The following interfaces from calendar-utils were renamed: DayViewHourSegment -> WeekViewHourSegment, DayViewHour -> WeekViewHour, DayViewEvent -> WeekViewTimeEvent

The day view scheduler demo is now based off the week view instead, please check the updated demo code for how to migrate: https://mattlewis92.github.io/angular-calendar/#/day-view-scheduler

If using a custom template for the hourSegmentTemplate, you must pass let-isTimeLabel="isTimeLabel" as a local variable and then change <div class="cal-time"> to <div class="cal-time" *ngIf="isTimeLabel">

  • the dist files are no longer annotated for usage with closure compiler.

Bug Fixes

  • ensure compatibility with angular 9 and ivy (d4fdfb3), closes #1086
  • day-view: expand hour segments across the full calendar width (61aef47), closes #1083
  • week-view: prevent dropping external events on adjacent time slots (494adb5), closes #1062

Features

  • upgrade date-fns to v2 (d4d3873), closes #1064
  • add accessibility support (05c9a9a), closes #941
  • schematics: support ng add schematics (2dc2f47), closes #888
  • week-view: add current time marker (d3872b1), closes #1102
  • expose the click or keyboard event that triggers click handlers (d1a2b78), closes #962
  • day-view: merge the week and day view components (2e92b25), closes #889
  • day-view: expose allDayEventsLabelTemplate input (224848c)

0.27.21 (2019-11-14)

  • add npm funding link

0.27.20 (2019-10-19)

Bug Fixes

  • always use native click event rather than hammerjs's tap event (ca189c3), closes #1113

0.27.19 (2019-09-25)

Bug Fixes

  • restore peer dependencies (1c0f6eb)

0.27.18 (2019-08-18)

Bug Fixes

  • display times properly on days where DST changes (6e139f4), closes #964 #477
  • upgrade positioning library (8480e72)

0.27.17 (2019-08-18)

Bug Fixes

  • week-view: handle excluding non consecutive days (5ca90c9), closes #973
  • upgrade positioning library (ad0a521), closes #956

0.27.16 (2019-08-18)

Bug Fixes

  • tooltip: prevent infinite loop error when positioning tooltip (cd2cd5a), closes #1046

0.27.15 (2019-08-12)

Bug Fixes

  • week-view: prevent duplicate drag and drop events (a2fb2e2)

0.27.14 (2019-07-20)

Bug Fixes

  • week-view: expose the week column to custom event template (cb719af), closes #1039

Build System

0.27.13 (2019-07-13)

Bug Fixes

  • day-view: refresh the view when hourSegments changes (deb6dcf), closes #1032

Build System

0.27.12 (2019-06-27)

Bug Fixes

  • month-view: add 1px drag sensitivity (4a0e581), closes #1012
  • month-view: make slide animation smoother (8ef9fe8), closes #1017

Build System

0.27.11 (2019-06-07)

Bug Fixes

  • tooltip: allow tooltip text to be updated while shown (c079805), closes #1002

Build System

  • migrate autoprefixer options (4d1026c)
  • upgrade dependencies (29ed6a2)

0.27.10 (2019-06-07)

Bug Fixes

  • ensure date adapters are compiled to es5 (5fef3be)

Build System

0.27.9 (2019-06-05)

Bug Fixes

  • restore compatibility with universal (52ff58e), closes #997

Build System

  • only include object.entries polyfill (650242d)
  • upgrade commitlint (9a743ed)
  • upgrade dependencies (c2562f1)
  • deps: bump fstream from 1.0.11 to 1.0.12 in /build-tool-examples/angular-cli (#996) (ff61c03)
  • upgrade dependencies (02a3b4b)
  • upgrade dependencies (da42f3d)
  • upgrade to angular 8 ✨ (f3d99f7)

0.27.8 (2019-05-20)

Bug Fixes

  • make internal methods callable from sub classes (8c926ed)

0.27.7 (2019-04-27)

Bug Fixes

  • day-view: stop events being dragged outside the view when scrolled (e506885), closes #958

0.27.6 (2019-04-27)

Bug Fixes

  • click: ensure click event always runs inside angular zone (de0d435), closes #961 #959

0.27.5 (2019-04-21)

Bug Fixes

  • draggable: support scrolling when dragging events (99c7aa3), closes #838 #909
  • week-view: have time grid events fill available space (8571528), closes #833

0.27.4 (2019-04-20)

Bug Fixes

  • styling fixes for day and week view when not using bootstrap (8c0fbf7), closes #951
  • day-view: fix dashed line separators when not using bootstrap (f626dce), closes #952

0.27.3 (2019-04-11)

Performance Improvements

  • click: disable click listeners unless required (5b315a5), closes #942
  • click: lazily initialise all click handlers (823ee4d), closes #942

0.27.2 (2019-04-01)

Bug Fixes

  • allow setting css variables as event colors (1fa72b3), closes #845

0.27.1 (2019-03-26)

Bug Fixes

  • actions: fix event is not defined error (2a2822f)

0.27.0 (2019-03-22)

Bug Fixes

  • week-view: respect hourSegmentHeight when resizing events (241f7c3), closes #929
  • allow events to be dragged back to their original location (0f69010), closes #847
  • expose all track by fns to custom templates (d6fb3de)
  • sanitise invalid hours and minutes on day and week view ranges (f54a5f5), closes #907
  • day-view: set allDay to false when dragging events (c4c8bd5)
  • week-view: handle dragging and resizing across excluded days (5d1c69a)

Features

  • tooltip: add a configurable tooltip delay (#891) (07aec13), closes #790
  • add sass mixins for easier theming (447aea9), closes #858
  • month-view: add activeDay input to override the active day (864462b), closes #885
  • month-view: add columnHeaderClicked output (2bd5e2b), closes #722
  • week-view: track by a unique row id instead of the index (481eb02)

Performance Improvements

  • only call beforeViewRender output once when changing view date (ec7021a)
  • use correct track by on month rows and event actions (302170e)

BREAKING CHANGES

  • all 3 views now have a default white background set. If you were relying on it being transparent before you will need to override with css. To migrate you can add this to your global CSS:
.cal-month-view, .cal-week-view, .cal-day-view {
  background-color: initial;
}
  • If overriding the main week view template, replace
*ngFor="let eventRow of view.allDayEventRows; trackBy:trackByIndex"

with

*ngFor="let eventRow of view.allDayEventRows; trackBy:trackById"
  • If extending the CalendarMonthViewComponent you must add [ngStyle]="{ backgroundColor: day.backgroundColor }" to the mwl-calendar-month-cell component.

0.26.11 (2019-03-17)

Bug Fixes

  • week-view: dont disable tooltips until drag is started (e1c321c), closes #829
  • week-view: preserve css classes on segments when dragging events (5fe384d), closes #908

0.26.10 (2019-03-17)

Bug Fixes

  • week-view: fix dragging on last column when view fills the screen (79fcefc), closes #871

0.26.9 (2019-03-17)

Bug Fixes

  • allow scrolling on clickable elements on mobile (b78b87d), closes #867

0.26.8 (2019-03-17)

Bug Fixes

  • week-view: update header when week starts on changes (bf3dd4d), closes #868
  • throw better error message on invalid date formatter (5f1fe72), closes #897

0.26.7 (2019-03-16)

Bug Fixes

  • allow angular 8 peer dependency (7230e94), closes #898

0.26.6 (2019-02-05)

Bug Fixes

  • allow resizing events back to their original positions (0b478b8)

0.26.5 (2019-02-03)

Bug Fixes

  • allow events to be dragged back to their original location (cb07924), closes #847
  • week-view: handle event objects being changed when resizing (754d427)
  • week-view: workaround js error when resizing events (94c51da)

0.26.4 (2018-11-05)

Bug Fixes

  • day-view: set allDay to false when dragging events (14f1e5a)
  • make sure moment date formatter is injectable (bd6da5f)
  • week-view: use correct event width for hourly events (2fd4163), closes #784

0.26.3 (2018-10-14)

Bug Fixes

  • week-view: use correct width on overlapping events (8e32a48), closes #763

0.26.2 (2018-10-13)

Bug Fixes

  • make it easier to extend providers (c753c22)
  • day-view: add custom cssClass to allDay events (d2ac44c), closes #769
  • month-view: don't allow dropping events on the source day (c96c87e), closes #746
  • month-view: use correct inflection of month names on the title (ba9f5ad), closes #757

0.26.1 (2018-09-18)

Bug Fixes

  • include license and readme in npm package (7fe03b1), closes #732

0.26.0 (2018-09-03)

Bug Fixes

  • allow events that end on different days to be dragged (df339b9)
  • week-view: make sure currently resized events are always on top (bb08ec1)
  • allow the mouse to be moved slightly when clicking events (08661c4), closes #678
  • handle scrolling the page while dragging evwnts (9fe2a0f)
  • make sure events that are being resized are always on top (ce8063d)
  • month-view: stop events overflowing on ie11 (10ff7d5), closes #501
  • mark package as having side effects (b20f821), closes #529
  • day-view: allow events with no end date to be resized (b00d57c), closes #614
  • day-view: always default eventSnapSize to hour segment height (8908759), closes #514
  • day-view: disable pointer events whilst resizing (56dc132)
  • day-view: dont remove events that start and end at the same time (d2223d5)
  • day-view: make sure segmentHeight is passed to a custom template (79dd846), closes #514
  • day-view: prevent segment double hover when dragging (1fd9089)
  • event-clicked: clicking actual events now triggers eventClicked (403e127), closes #568
  • moment: change weekViewColumnSubHeader from D MMM to MMM D (a2fff58)
  • more robust way of telling if an event is dropped within a calendar (46a650a), closes #637
  • prevent text getting selected in safari while dragging events (36fb312)
  • month-view: prevent day clicked from firing when dragging events (c505d38), closes #487
  • resizable: prevent resizing of elements when not on top stack (4bfac45), closes #662
  • week-view: allow resizing events with no end date (ccffe05), closes #614
  • week-view: fix cursor on draggable events (66e9223)
  • week-view: use correct event left positioning (fb4bbb7), closes #675

Features

  • add a CalendarView enum to prevent typos in view names (f634a86)
  • add time grid to the week view (5cfbfc7), closes #593
  • allow event actions template to be customised (2c8a6db), closes #673
  • allow meta to be passed to the event times changed interface (c27b2d8)
  • allow moment to be used as a replacement to date-fns (1c5d32f)
  • expose the full week view on the beforeViewRender output (1185d27), closes #632
  • remove deep module imports (24eb394)
  • remove direct dependency on date-fns (b3c9520)
  • upgrade draggable library (d9e76d4)
  • day-view: allow dragging and dropping all day events (62c41b9), closes #665
  • day-view: allow events to be dragged outside of the view (6641319), closes #532
  • day-view: expose events in beforeViewRender output (44347e2), closes #573
  • day-view: make previous and next view helpers respect excludeDays (50159cc)
  • day-view: remove the mwl-calendar-all-day-event component (c6b095a)
  • event-times-changed: expose type of event (resize, drag or drop) (479c75a)
  • event-title-formatter: expose the pre-formatted title (df62e7a), closes #587
  • month-view: add class to day that's being highlighted (13a688e), closes #630
  • month-view: allow events to be dropped on the open day events list (2454892), closes #523
  • month-view: allow the open day events animation to be overridden (db0c880)
  • upgrade the drag and drop library (ab764ec)
  • tooltip: allow tooltip to be auto positioned (d6d61c4), closes #617
  • week-view: allow events to be dragged outside of the view (e2538a1), closes #516
  • week-view: allow total days in the week to be customised (0b4fcd5)
  • week-view: make the week view title work with no config with i18n (aa7edd9), closes #670

BREAKING CHANGES

  • date-fns is now no longer a direct dependency of this library. To migrate:

Install date-fns with npm:

npm i date-fns

Add the date-fns calendar-utils adapter to the first argument of the CalendarModule.forRoot method:

import { NgModule } from '@angular/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { CalendarModule, DateAdapter } from 'angular-calendar';
import { adapterFactory } from 'angular-calendar/date-adapters/date-fns';

@NgModule({
  imports: [
    BrowserAnimationsModule,
    CalendarModule.forRoot({
      provide: DateAdapter,
      useFactory: adapterFactory
    })
  ]
})
export class MyModule {}

For system.js users you will also need to add the following entries to your systemjs config:

'calendar-utils': 'npm:calendar-utils/bundles/calendar-utils.umd.js',
'calendar-utils/date-adapters/date-fns': 'npm:calendar-utils/date-adapters/date-fns/index.js',
'angular-calendar/date-adapters/date-fns': 'npm:angular-calendar/date-adapters/date-fns/index.js'
  • week-view: the format of the week view title has changed from Week d of yyyy to MMM d - MMM d, yyyy. You can override this by using a custom date formatter.
  • day-view: the allDayEventTemplate option was removed from the day view. To migrate use the eventTemplate input and check if dayEvent.event.allDay is set in the template
  • Week view events will now appear on the bottom time grid. To restore the old behaviour you can set allDay: true on the event to make it appear at the top.

People extending the CalendarWeekViewComponent will probably have to adjust their child component as the template and internal component api has changed significantly.

  • month-view: If using a custom openDayEventsTemplate for the month view you must now wrap your template with:
<div class="cal-open-day-events" [@collapse] *ngIf="isOpen"></div>

and then you must add the collapse animation to the component that contains the open day events <ng-template>:

import { collapseAnimation } from 'angular-calendar';

// add this to your component metadata
animations: [collapseAnimation]
  • tooltip: all tooltips now default to auto positioning, you can use the tooltipPlacement input on all components to override this behaviour though
  • event-clicked: eventClicked now fires whenever the event container instead of the event title is clicked
  • day-view: previously events with no end date that were resized would emit an empty end time, now they will emit a sensible default new end date
  • resizable: only one event at a time can now be resized on the day or week views
  • week-view: if you were extending the week view component then the internal API has changed slightly and you may need to adjust your app
  • month-view: Custom template users will now need to add a "dragActiveClass='cal-drag-active'" anywhere they use an mwlDraggable directive

If using the mwlDraggable directive anywhere else in your app you will need to apply pointer-events: none to the element yourself when it's being dragged. This can be done with the dragActiveClass option

  • day-view: if you were extending the day view component then the internal API has changed slightly and you may need to adjust your app
  • deep module imports angular-calendar/modules/{common,month,week,day} are no longer supported as the package is now treeshakable. To migrate, adjust your imports to be from angular-calendar directly
  • moment: the moment weekViewColumnSubHeader format has changed for consistency with the other date formatters
  • there were some minor breaking changes in the drag and drop library that might affect your app if you were using it outside of the calendar. See the changelog for more info: https://github.com/mattlewis92/angular-draggable-droppable/blob/main/CHANGELOG.md
  • week-view: events with no end date that are resized now assume to have the start date as the end date

0.25.2 (2018-05-12)

Bug Fixes

  • properly mark styles as having side effects (625e586)

0.25.1 (2018-05-11)

Bug Fixes

  • mark styles as having side effects (2667433)

0.25.0 (2018-05-11)

Features

BREAKING CHANGES

  • angular 6 or higher is now required to use this package

0.24.1 (2018-05-09)

Bug Fixes

  • day-view: prevent selection when dragging cal-event (#521) (f799bf5), closes #522

0.24.0 (2018-04-17)

Bug Fixes

  • use the browsers timezone in the angular date formatter (41fa40b), closes #502

Features

0.23.7 (2018-03-15)

Bug Fixes

  • day-view: refresh the view when hourSegments changes (f99a07b), closes #470

0.23.6 (2018-02-12)

Bug Fixes

0.23.5 (2018-02-11)

Bug Fixes

  • month-view: expose the day the event was dropped on (6aeb550), closes #443

0.23.4 (2018-02-11)

Bug Fixes

  • day-view: fix scrolling on an ipad (b5955ae), closes #458

0.23.3 (2018-01-29)

Performance Improvements

  • track-by: use track by on all ngFor elements (aebe832), closes #444

0.23.2 (2018-01-10)

Bug Fixes

  • week-view: ensure event span is correct in some edge cases (8b8adef), closes #432

0.23.1 (2018-01-02)

Bug Fixes

  • restore compatibility with system.js (1b3c27a)

0.23.0 (2018-01-02)

Bug Fixes

  • universal: make the calendar work with universal (again) (8ae8419), closes #408

Features

  • date-formatter: use the angular date formatter by default (bd68045)
  • export drag+drop and resizable modules for use in custom templates (579a51a), closes #419
  • upgrade angular draggable droppable package (fd30c39)
  • upgrade angular resizable element (26e2b53)
  • upgrade calendar-utils (fe59aad)
  • upgrade to angular 5 (775a62e), closes #417
  • use ng-packagr for bundling the package (5744e9b), closes #408
  • day-view: expose the period on the beforeViewRender output (24739ce), closes #418
  • month-view: call beforeViewRender with the view period (a9ab6d9), closes #418
  • week-view: expose the view period on beforeViewRender (cb73eff), closes #418

BREAKING CHANGES

  • angular 5 or higher is now required to use this package
  • if using a locale other than english you will need to import the appropriate locale data somewhere in your app:
import { registerLocaleData } from '@angular/common';
import localeFr from '@angular/common/locales/fr'; // to register french

registerLocaleData(localeFr);
  • date-formatter: the angular date formatter is now used by default to format dates instead of the formatter that requires the Intl polyfill
  • day-view: the event signature of the beforeViewRender output has changed from $event.body to $event.body.hourGrid
  • week-view: for people extending the root week view component, eventRows is now named view.eventRows
  • the getWeekView function return signature has changed from an array of event rows to an object with the eventRows property set to the previous arrat value. This should only affect people overriding the CalendarUtils.getWeekView method.
  • the umd entry path has changed from angular-calendar/umd/angular-calendar.js to angular-calendar/bundles/angular-calendar.umd.js. System.js users will need to update their config
  • The UMD entry point for the angular-draggable-droppable package has changed from angular-draggable-droppable/dist/umd/angular-draggable-droppable.js to angular-draggable-droppable/bundles/angular-draggable-droppable.umd.js. System.js users will need to update their config accordingly.

Also the dragStart output was renamed to dragPointerDown. Users using a custom template for the root day or week view components will need to adjust their templates accordingly.

  • The UMD entry point for the angular-resizable-element package has changed from angular-resizable-element/dist/umd/angular-resizable-element.js to angular-resizable-element/bundles/angular-resizable-element.umd.js. System.js users will need to update their config accordingly.
  • System.js users will now need to add an entry for the positioning package to their config 'positioning': 'npm:positioning/dist/umd/positioning.js'.

0.22.3 (2017-12-24)

Bug Fixes

  • allow event actions to work on draggable events (c4d6abc), closes #373
  • restore TS < 2.4 compatibility (fbfe430)

0.22.2 (2017-12-23)

Bug Fixes

  • restore TS < 2.4 compatibility (fbfe430)

0.22.1 (2017-11-22)

Bug Fixes

  • restore aot compatibility with angular 4 (f5e500a), closes #397

0.22.0 (2017-11-19)

Bug Fixes

  • day-view: fix scrolling on touch devices (e887b89), closes #358

Features

  • day-view: allow the hour segment height to be customised (688693c), closes #360
  • add individual month / week / day modules (e87ae23), closes #361
  • add runtime validation of event properties (194fe59), closes #362
  • introduce angular date formatter (cd40235), closes #376
  • styles: move css files into the css root directory (72ae546)
  • move umd bundle up and out of the dist directory (59d0049)

BREAKING CHANGES

  • styles: css styles have moved from:
node_modules/angular-calendar/dist/css/angular-calendar.css

to

node_modules/angular-calendar/css/angular-calendar.css
  • The umd path for system.js users has changed from:
node_modules/angular-calendar/dist/umd/angular-calendar.js

to

node_modules/angular-calendar/umd/angular-calendar.js

0.21.3 (2017-10-21)

Bug Fixes

  • allow angular 5 peer dependency (d178614)

0.21.2 (2017-09-07)

Bug Fixes

  • monthView: allow adding extra weeks to the month view (529ebd3)

0.21.1 (2017-08-31)

Bug Fixes

  • weekView: prevent ExpressionChangedAfterItHasBeenCheckedError error (5858644), closes #303

0.21.0 (2017-08-29)

Bug Fixes

  • monthView: don't fire dayClicked output when clicking on an event and using hammerjs (283c50e), closes #318

Features

  • eventTitleTemplate: allow the event title template to be customised (e956463), closes #312

0.20.1 (2017-08-14)

Bug Fixes

  • monthView: make collapse animation smoother (7b52366)

0.20.0 (2017-08-06)

Bug Fixes

  • dayView: add the event.cssClass to the event container instead of the event itself (591dd4a), closes #299
  • monthView: only call beforeViewRender once when refreshing the view (3dd3118), closes #293
  • weekView: custom event cssClass's are now added to the event container instead of the event i (712ded8)

BREAKING CHANGES

  • weekView: you may need to adjust your CSS slightly to account for this change. See the day view breaking change for how to migrate.
  • dayView: the event.cssClass property is now added to the parent container element, rather than the event itself. You may need to update your CSS.

Before:

.my-custom-event-class {}

After:

.my-custom-event-class .cal-event {}

People using custom day event event templates can also remove these lines from their template:

[class.cal-starts-within-day]="!dayEvent.startsBeforeDay"
[class.cal-ends-within-day]="!dayEvent.endsAfterDay"
[ngClass]="dayEvent.event.cssClass"

0.19.0 (2017-07-14)

Features

  • tooltip: allow the tooltip not to be appended to the body (100fd75), closes #270

0.18.3 (2017-06-28)

Bug Fixes

  • tooltipTemplate: ensure custom tooltip template is available to other custom templates (ce14b96)

0.18.2 (2017-06-26)

Bug Fixes

  • dayView: force hour segments to be 30px in height for non bootstrap users (ffc708b), closes #260

0.18.1 (2017-06-25)

  • Missed a breaking change that wasn't included in 0.18.0

0.18.0 (2017-06-25)

Features

  • dayView: introduce the beforeViewRender output (cfab254)
  • monthView: allow a css class to be added to a column header (abf02d8)
  • monthView: introduce the beforeViewRender output (c9a2366)
  • tooltip: allow the event tooltip templates to be customised (82faaf4), closes #249
  • weekendDays: allow weekend days to be customised (581b9a8), closes #255
  • weekView: allow a custom css class to be added to a column header (068d08b), closes #222
  • weekView: revert allowDragOutside feature (ac70656)
  • upgrade calendar-utils (0dd602b)
  • weekView: introduce the dayHeaderClicked output (2f11094), closes #222

BREAKING CHANGES

  • monthView: the dayModifier input has been replaced with a more powerful beforeViewRender output. See the demo for an example of how to migrate your code.
  • dayView: the hourSegmentModifier has been replaced with the beforeViewRender output.
  • For system.js users only, the UMD path to the calendar-utils module has changed from calendar-utils/dist/umd/calendarUtils.js to calendar-utils/dist/umd/calendar-utils.js
  • weekView: the allowDragOutside option has been removed from the week view as this can be implemented in user land. Please see this plunker for how to introduce it yourself: http://plnkr.co/edit/5KyUBC0lnfMsYMcVFAR9?p=preview
  • weekView: the dayClicked output has been replaced with the dayHeaderClicked output. To migrate:

Before:

(dayClicked)="clickedDate = $event.date"

After:

(dayHeaderClicked)="clickedDate = $event.day.date"

0.17.4 (2017-06-21)

Bug Fixes

  • various fixes when excluding days on the week and month views (58ce981)

0.17.3 (2017-06-12)

Bug Fixes

  • add explicit peer dependency on typescript 2.3.x (3998c9c), closes #221

0.17.2 (2017-06-12)

Bug Fixes

  • weekView: use correct event span when the the week doesn't start on a sunday (f19e970)

0.17.1 (2017-06-10)

Bug Fixes

  • dayView: allow events to be resized that are next to each other (f627b8e), closes #225
  • weekView: allow events to be resized that are next to each other (01b776c)

0.17.0 (2017-05-29)

Bug Fixes

  • dayView: ensure all day event actions are always visible (132d990)
  • dayView: ensure event actions are always visible (445b74f)
  • weekView: stop events pushing others along when resizing (e6e02c5), closes #191

Features

  • meta: add CalendarEvent meta property for storing arbritary data (43b0124), closes #218
  • meta: make the event meta property generic so it can be strongly typed (d74c8e8)
  • weekView: show event actions (7e7af92), closes #219

BREAKING CHANGES

  • Typescript 2.3 or higher is now required to use this library

0.16.0 (2017-05-27)

Features

  • weekView: Allow drag outside calendar view (#214) (dcff88a)

0.15.4 (2017-05-21)

Bug Fixes

  • monthView: ensure events are dropped onto the correct dates (af48ed2)

0.15.3 (2017-05-21)

Bug Fixes

  • monthView: fix clicking an event dot when using hammerjs (0a9e9fe), closes #211

0.15.2 (2017-05-18)

Bug Fixes

  • monthView: preserve classes when removing a days cssClass (a7c902d), closes #210

0.15.1 (2017-05-17)

Bug Fixes

  • refresh: use markForCheck instead of detectChanges (16dc938)

0.15.0 (2017-05-14)

Bug Fixes

  • dayView: correct events dimensions for apps without bootstrap (977c344), closes #201
  • tooltip: avoid ExpressionChangedAfterItHasBeenCheckedError when sometimes showing the tooltip (f9776c6), closes #196
  • tooltip: position the tooltip correctly when using AoT (4531ebc)

Features

  • touch: use tap event instead of click if hammerjs is loaded (665520e), closes #203
  • allow calendar-utils functions to be overridden (35ae95a), closes #199
  • allow overriding of providers via the calendar modules forRoot method (847212e), closes #205

BREAKING CHANGES

  • if not using CalendarModule.forRoot() you must explicitly add the CalendarUtils provider to your module declaration

0.14.0 (2017-04-21)

Features

  • weekView: add support for minute level precision on week view events (25d6933)

0.13.6 (2017-04-21)

Bug Fixes

  • dayView: respect eventSnapSize when dragging events (028005f)
  • dayView: respect eventSnapSize when resizing events (c0be926), closes #188

0.13.5 (2017-04-14)

Bug Fixes

  • draggable: ensure text isnt selected on firefox (ac26e14), closes #183

0.13.4 (2017-04-10)

Bug Fixes

  • dayView: fix resizing of events (18b573f)

0.13.3 (2017-04-10)

Bug Fixes

  • dayView: allow all events to be clicked (c1c165d), closes #179

0.13.2 (2017-04-10)

Bug Fixes

  • monthView: handle DST changes in the middle of the month (fcbca8a)

0.13.1 (2017-04-09)

Bug Fixes

  • monthView: handle DST changes in the middle of the current month (28b4be2), closes #173

0.13.0 (2017-04-07)

Features

  • dayView: allow the day view event template to be customised (be4d5ee), closes #178

0.12.0 (2017-04-05)

Features

  • dayView: allow the all day event template to be customised (d542d13)
  • dayView: allow the hour segment template to be customised (149b605), closes #172

0.11.0 (2017-03-29)

Features

  • weekView: allow the event template to be customised (0be434d), closes #171

0.10.1 (2017-03-25)

Bug Fixes

  • allow events array to be null (bcdf335)

0.10.0 (2017-03-24)

Features

  • ng4: upgrade to angular 4 to remove the <template> tag deprecation warning (68a8f39), closes #163

BREAKING CHANGES

  • ng4: angular 4.0 or higher is now required to use this library. The upgrade should be seamless for most users.

0.9.1 (2017-03-23)

Bug Fixes

  • draggable: upgrade draggable dependency to allow touch events (96145d1), closes #165

0.9.0 (2017-03-21)

Features

  • monthView: allow open day events template to be customised (ef5a37f)
  • monthView: allow the cell templates to be customised (4603e6b)
  • monthView: allow the header template to be customised (53db16b)
  • weekView: allow the header template to be customised (595a667)
  • expose day, week and month view components so they can be extended with inheritance (426c287)

0.8.0 (2017-03-12)

Features

  • excludeDays: add an option to hide days on the month and week views (e296357)

0.7.3 (2017-03-04)

Bug Fixes

  • loosen angular peer dependency to support angular 4 (e00c115)
  • dayView: allow dropping of external events (86e5d06), closes #150
  • monthView: add helper classes to the month view header (0008a83), closes #152
  • weekView: allow external events to be dropped on the column headers (83266f7), closes #150

Performance Improvements

  • improve performance of draggable and resizable events (71fe9cd), closes #149

0.7.2 (2017-02-03)

Bug Fixes

  • disable drag events when resizing (43c128c)

0.7.1 (2017-02-01)

Features

  • add all declarations to exports (Please note that these sub components will be subject to breaking changes in the next release once #16 lands, however will eventually become part of the public API. Use at your own risk!) (f20a991)

0.7.0 (2017-01-28)

Features

  • add helper directives for changing the current view (df398cb), closes #124

0.6.2 (2017-01-06)

Bug Fixes

  • allow events to be dragged and clicked (bc909a3), closes #123

Features

  • export the CalendarMonthViewDay interface (4142231)

0.6.1 (2016-12-30)

Bug Fixes

  • update the event title in the UI when it changes (3b611bf), closes #116
  • monthView: cell events should be clickable (d61719e), closes #111

0.6.0 (2016-12-21)

Features

  • draggable: allow external draggable events (8ba068c), closes #106

BREAKING CHANGES

  • draggable: if not using CalendarModule.forRoot() and manually adding providers you must now also include the DraggableHelper from the angular-draggable-droppable module

Before:

import {CalendarModule, CalendarEventTitleFormatter, CalendarDateFormatter} from 'angular-calendar';

imports: [
  CalendarModule
],
providers: [
  CalendarEventTitleFormatter,
  CalendarDateFormatter
]

After:

import {CalendarModule, CalendarEventTitleFormatter, CalendarDateFormatter} from 'angular-calendar';
import {DraggableHelper} from 'angular-draggable-droppable';

imports: [
  CalendarModule
],
providers: [
  CalendarEventTitleFormatter,
  CalendarDateFormatter,
  DraggableHelper
]

0.5.0 (2016-12-18)

Bug Fixes

  • dayView: don't allow events to be resized outside of the calendar (78eb123), closes #99
  • dayView: use correct event height when resizing from the top (1c5e74f)
  • weekView: dont allow events to be resized outside of the calendar component (007fbc5), closes #99

Features

  • add drag and drop support (#100) (bbc02f3), closes #10 #102
  • remove change detection strategy from all components (#101) (36458ab), closes #94
  • rename CalendarEventTitle service to CalendarEventTitleFormatter (45c0142)

BREAKING CHANGES

  • the CalendarEventTitle service has been renamed to CalendarEventTitleFormatter
  • A dependency on the angular-draggable-droppable library has been added. System.js users will need to add this to their config:
'angular-draggable-droppable': 'npm:angular-draggable-droppable/dist/umd/angular-draggable-droppable.js'
  • For enhanced performance it is recommended that you add changeDetection: ChangeDetectionStrategy.OnPush on all components that use this library. This will restrict change detection to only run when the components inputs change

0.4.4 (2016-12-07)

Bug Fixes

  • date-fns: upgrade date-fns to fix module not found TS errors (733ed3e)

0.4.3 (2016-12-05)

Bug Fixes

  • allow events array to be undefined (3a475b9), closes #96

0.4.2 (2016-12-05)

  • botched release

0.4.1 (2016-11-25)

Bug Fixes

  • date-fns: fix duplicate module declaration typescript errors (24be6f3)

0.4.0 (2016-11-04)

Bug Fixes

  • aot: remove hacks required for AOT to work (72a6e41), closes #81

Features

  • dayView: add tooltips to events (2cc7929), closes #75
  • dayView: allow resizing of events (95b9033)
  • weekView: support resizing of events (c034a9d), closes #9
  • rename module from angular2-calendar to angular-calendar (fa1ef98), closes #69

BREAKING CHANGES

  • The module has now been renamed from angular2-calendar to angular-calendar

The path to the sass and UMD builds has now changed. To migrate change all occurences of angular2-calendar to angular-calendar

  • dayView: day view events now have tooltips by default
  • aot: angular 2.1.2 or higher is now required for AOT to work
  • dayView: A dependency on the angular-resizable-element library has now been added. System.js users will need to add this to their config
'angular-resizable-element': 'npm:angular-resizable-element/dist/umd/angular-resizable-element.js',

Part of #9

0.3.6 (2016-10-30)

Bug Fixes

  • dayView: fix event column stacking (4570fc6), closes #80
  • dayView: show all day events that start outside of the day view start (edb2614), closes #79

0.3.5 (2016-10-13)

Bug Fixes

  • system.js: use date-fns index imports for system.js users (096d6a2)

0.3.4 (2016-10-08)

Bug Fixes

  • umd: more robust fix for umd build (135116a)

0.3.3 (2016-10-07)

Bug Fixes

  • umd: fix umd build imports (87c4764), closes #68

0.3.2 (2016-10-06)

Bug Fixes

  • rollup: allow the module to be bundled with rollup (e6deeea)

0.3.1 (2016-10-05)

Bug Fixes

  • support building with rollup (428e254)

0.3.0 (2016-10-05)

Bug Fixes

  • only versions of angular >= 2.0.0 are supported (6b1700b), closes #66
  • remove positioning sourcemap from umd build (d7ea482), closes #66

Features

  • add CalendarModule.forRoot so providers dont need to be specified (ee54b8f)

BREAKING CHANGES

  • no RC versions of angular are supported. This was probably introduced in 0.2.x of this module, but clarifying here as a distinct breaking change

0.2.7 (2016-10-05)

Bug Fixes

  • use commonjs date-fns imports for rollup (7e758ba)

0.2.6 (2016-09-28)

Bug Fixes

  • typings: dont include reference to core-js (4daac27)

0.2.5 (2016-09-24)

Bug Fixes

  • aot: export all components for aot (f701f86)

0.2.4 (2016-09-24)

Bug Fixes

  • aot: export components so aot works (8b7ffc7)

0.2.3 (2016-09-24)

Bug Fixes

  • aot: fix typescript errors when doing aot (c5ac3f9)

0.2.2 (2016-09-23)

Bug Fixes

0.2.1 (2016-09-23)

Bug Fixes

  • allow any 1.x version of date-fns to be installed (726aaac)
  • esm: dont import sass files in the esm build (00120f9)
  • ng-bootstrap: add ng-bootstrap dependency to fix es module imports (af91adc)

0.2.0 (2016-09-23)

Features

  • build: support offline template compilation (dc12621)
  • replace the moment dependency with the date-fns library (c147827), closes #48

BREAKING CHANGES

  • 1/ The dayClicked, dayModifier and hourSegmentModifier output objects now return pure date objects instead of moments

2/ If using the CalendarMomentDateFormatter you must now also provide moment to the calendar like so

import * as moment from 'moment';
import {
  CalendarMomentDateFormatter,
  CalendarDateFormatter,
  MOMENT
} from './../angular2-calendar';

...

providers: [
  {provide: CalendarDateFormatter, useClass: CalendarMomentDateFormatter},
  {provide: MOMENT, useValue: moment}
]

3/ The week start day is now no longer determined by moment. You must manually pass it to the month and week view components like so

// the first day of the week is Monday
[weekStartsOn]="1"

4/ If using this library without a module bundler you must make sure the date-fns library is included in a script tag

  • build: The dist file paths have changed. To migrate

Before

import 'angular2-calendar/css/angular2-calendar.css';

After:

import 'angular2-calendar/dist/css/angular2-calendar.css';

For System.js users the path to the UMD files has changed:

Before:

node_modules/angular2-calendar/angular2-calendar.js

After:

node_modules/angular2-calendar/dist/umd/angular2-calendar.js

Webpack / browserify users aren't affected

0.1.3 (2016-09-13)

Bug Fixes

  • peerDependencies: support any version of angular >= RC5 (2698bcf)

0.1.2 (2016-09-08)

Bug Fixes

  • monthView: Change month-view header text-overflow to ellipsis (#60) (23ba526), closes #59

0.1.1 (2016-09-03)

Bug Fixes

  • monthView: fix the eventClicked output (745fff7)

0.1.0 (2016-09-03)

Initial release