Skip to content
Snippets Groups Projects
  • Konrad Mohrfeldt's avatar
    bbf1ddfb
    refactor: rework calendar · bbf1ddfb
    Konrad Mohrfeldt authored
    Up until now the calendar kept a single record of calendar events. This
    record was modified whenever new or other events needed to be displayed.
    Events were added/changed/removed imperatively (i.e. when
    entering/leaving conflict mode), which goes against the principle of
    unidirectional data flow embraced by Vue and other reactive frameworks.
    
    The calendar is now split into separate components most importantly the
    normal week view and a separate conflict view with separate state
    management. The state management itself has been reworked and improved
    so that it uses unidirectional data flow.
    
    These changes massively improve performance, simplify state management,
    and should make it easier to reason about the code (conflict mode was
    hard!).
    
    fixes #287
    bbf1ddfb
    History
    refactor: rework calendar
    Konrad Mohrfeldt authored
    Up until now the calendar kept a single record of calendar events. This
    record was modified whenever new or other events needed to be displayed.
    Events were added/changed/removed imperatively (i.e. when
    entering/leaving conflict mode), which goes against the principle of
    unidirectional data flow embraced by Vue and other reactive frameworks.
    
    The calendar is now split into separate components most importantly the
    normal week view and a separate conflict view with separate state
    management. The state management itself has been reworked and improved
    so that it uses unidirectional data flow.
    
    These changes massively improve performance, simplify state management,
    and should make it easier to reason about the code (conflict mode was
    hard!).
    
    fixes #287