Skip to content
Snippets Groups Projects
  • Konrad Mohrfeldt's avatar
    14a9ff20
    feat: migrate to fullcalender v5 · 14a9ff20
    Konrad Mohrfeldt authored
    vue-full-calendar is not the official Vue package of fullcalendar, is
    only compatible with Vue 2.x, uses the outdated fullcalendar v3 library
    and contains a bunch of huge dependencies like jQuery and moment.
    
    The changes in this commit migrate the dashboard to fullcalendar v5 and
    the official vue component. Apart from that there have been a few
    refactors and fixes. These are:
    
    * remove irrelevant stub event callbacks
    * make view updates reactive instead of imperative
      (see removal of renderView method and introduction of renderWatcher)
    * rename methods to better reflect their purpose
        resolve → enterConflictMode
        resolveEvent → resolveConflict
    * emit events in modals instead of call to methods on this.$parent
    * let → const where applicable to prevent accidental reassignments
    * switch to for-of loops (from for-in) for better readability
    * fix some typos
    
    One other major change is that timeslot and collision data is no longer
    mixed with event data for fullcalendar and is assigned to the
    extendedProps property instead. As mentioned in fullcalendars
    documentation on event parsing [1], any data that fullcalendar does not
    handle on its own is moved into the extendedProps object with the
    explicit recommendation to put them there right from the start. We
    follow that recommendation.
    
    closes #94
    
    [1] https://fullcalendar.io/docs/event-parsing
    14a9ff20
    History
    feat: migrate to fullcalender v5
    Konrad Mohrfeldt authored
    vue-full-calendar is not the official Vue package of fullcalendar, is
    only compatible with Vue 2.x, uses the outdated fullcalendar v3 library
    and contains a bunch of huge dependencies like jQuery and moment.
    
    The changes in this commit migrate the dashboard to fullcalendar v5 and
    the official vue component. Apart from that there have been a few
    refactors and fixes. These are:
    
    * remove irrelevant stub event callbacks
    * make view updates reactive instead of imperative
      (see removal of renderView method and introduction of renderWatcher)
    * rename methods to better reflect their purpose
        resolve → enterConflictMode
        resolveEvent → resolveConflict
    * emit events in modals instead of call to methods on this.$parent
    * let → const where applicable to prevent accidental reassignments
    * switch to for-of loops (from for-in) for better readability
    * fix some typos
    
    One other major change is that timeslot and collision data is no longer
    mixed with event data for fullcalendar and is assigned to the
    extendedProps property instead. As mentioned in fullcalendars
    documentation on event parsing [1], any data that fullcalendar does not
    handle on its own is moved into the extendedProps object with the
    explicit recommendation to put them there right from the start. We
    follow that recommendation.
    
    closes #94
    
    [1] https://fullcalendar.io/docs/event-parsing