Skip to content
Snippets Groups Projects
  1. Nov 29, 2022
  2. Nov 28, 2022
  3. Nov 24, 2022
    • Konrad Mohrfeldt's avatar
      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
    • Konrad Mohrfeldt's avatar
      chore: simplify loops · 37fd88c5
      Konrad Mohrfeldt authored
      37fd88c5
    • Konrad Mohrfeldt's avatar
      chore: fix typo · cb6b230a
      Konrad Mohrfeldt authored
      cb6b230a
  4. Nov 18, 2022
  5. Nov 10, 2022
  6. Nov 09, 2022
    • Konrad Mohrfeldt's avatar
      feat: migrate to vue3/compat and Vite build system · 202388aa
      Konrad Mohrfeldt authored
      Notable changes:
       * Vue 2.6 to Vue 3 + compat migration.
       * Build system migration from vue-cli/webpack to Vite.
       * Application dependencies like bootstrap-vue, vue-router, vuex,
         or vue-toast-nofitication have been updated, if doing so was
         necessary or advisable for the Vue 3 migration.
       * Static file includes for the oidc-client in oidc_callback.html
         and oidc_callback_silentRenew.html have been removed in favor
         of automatic processing in the build system so that all assets
         are versioned and invalid cache hits are prevented.
      
      Fixes #53 and #110.
      202388aa
  7. Nov 08, 2022
  8. Nov 03, 2022
  9. Oct 26, 2022
  10. Apr 24, 2022
    • Konrad Mohrfeldt's avatar
      fix: properly handle steering scheduling API errors · e01a3692
      Konrad Mohrfeldt authored
      The steering API returns HTTP 400 errors for general payload and 409
      errors for scheduling conflicts that we didn’t handle yet.
      
      fixes #93
      e01a3692
    • Konrad Mohrfeldt's avatar
      feat: add ServerErrors component · 4a07ad9e
      Konrad Mohrfeldt authored
      A simple b-alert list wrapper that handles the standard error format
      from Django REST framework.
      4a07ad9e
    • Konrad Mohrfeldt's avatar
      feat: allow views to check if a translation key exists · 690a1cf8
      Konrad Mohrfeldt authored
      Views may want to display a fallback message if the translation key does
      not exist.
      690a1cf8
    • Konrad Mohrfeldt's avatar
      refactor: update old schedule attribute names · cb84bfe6
      Konrad Mohrfeldt authored
      The steering API has some deprecated attribute names that we should no
      longer use. These are:
      
        dstart → first_date
        until → last_date
        tstart → start_time
        tend → end_time
        byweekday → by_weekday
      
      These changes in naming have also been applied to variable names,
      attribute names and translatations in the dashboard code in order to
      avoid confusion.
      cb84bfe6
    • Konrad Mohrfeldt's avatar
      feat: allow API store consumers to use traditional flow-control · f4da882f
      Konrad Mohrfeldt authored
      The currently prevalent API response handling is based on a callback
      pattern. This has at least two major drawbacks:
      
      1. More broadly it facilitates the use of nested callbacks, which make
         the code harder to read and clutter stack traces.
      2. Our specific callback solution does not follow the traditional node
         callback pattern that looks like `function (err, data) { ... }`.
         Instead we have `callback` and `callbackCancel`, none of which are
         meant to handle actual error/exception objects.
      
      The latter makes it hard to write code that is executed irrespective of
      the specific code path, like in a try-finally clause. In practice it’s
      also a violation of the separation-of-concerns design principle as it
      forces error handling to happen in the store function instead of the
      caller that is best suited to handle error states.
      
      This change attempts to facilitate a gradual migration to a
      Promise-based result handling by it to co-exist with the currently used
      callback pattern. Callers that don’t provide any callback functions are
      assumed to handle promises whereas callers that do provide callback
      functions will see no change in behaviour.
      
      This allows us to transition one API-call at a time instead of doing one
      large and time-consuming refactoring.
      
      refs #55
      f4da882f
    • Konrad Mohrfeldt's avatar
      feat: add has helper-function · 6fd3bef2
      Konrad Mohrfeldt authored
      6fd3bef2
    • Konrad Mohrfeldt's avatar
      refactor: clean up time & date functions · 1140b802
      Konrad Mohrfeldt authored
      * replace all `var` declarations and use `const` where appropriate
      * strip unnecessary temporary variables
      * replace single character variable names
      * replace multiline variable declarations
      * simplify expressions
      * replace invalid uses of parseInt
      1140b802
  11. Apr 23, 2022
  12. Apr 22, 2022
  13. Jan 14, 2022
  14. Nov 25, 2021
  15. Nov 18, 2021
  16. Nov 11, 2021
  17. Jul 30, 2021
  18. Jul 29, 2021
  19. Jul 23, 2021
Loading