Replaces most mat-tables with tables using the NGrid library, supporting
extremly performant virtual scrolling.
The ListViewBaseComponent have been extremly simplified.
All list-view code is now mich shorter and way less repitative
The group list and the workflow list have not been altered.
**Works:**
- Fast virtual Scrolling without pagination
- Click Filter
- Search Filter
- Sorting
- Export filtered values (using click filters)
- Export sorted values in correct order
- Right-Click-new-tab
- Hiding/showing columns by permission and screen size
- Multi select
- Auto Updates in MultiSelectMode keep the correct items selected
- OsHeadBar shows the correct amount of data
- Restore scroll position after navigation
- Shared-Table Component
- Clean-Up base-list-view
- Motion List
- Motion Block List
- Motion Block Detail
- User List
- Agnnda List
- Assignment List
- MediaFile List
- Tag List
**TODO:**
- Formulate filter predicates
- LOS Badge autoupdate (change detection)
- Better ellipses in lists
- Horrizontal Scrolling, if the screen get's too small.
- Issues in the change detection
- Some Layouting
**BUG:**
- Using the seach filter prevents the sorting from working.
- NGrid currently has no way to get the filtered list
using search filter. Thus, search-filtered list cannot
be exported.
- An icon followed by text (or something else) can replaced by this new component, to verify a unified size and layout.
- Replaces also existing components with this new one.
Server:
- ListOfSpeakers (LOS) is now a speprate model, containing of an id,
speakers, closed and a content_object.
- Moved all speaker related views from ItemViewSet to the new
ListOfSpeakersViewSet.
- Make Mixins for content objects of items and lists of speakers.
- Migrations: Move the lists of speakers from items to the LOS model.
Client:
- Removed the speaker repo and moved functionality to the new
ListOfSpeakersRepositoryService.
- Splitted base classes for agenda item content objects to items and
LOS.
- CurrentAgendaItemService -> CurrentListOfSpeakersSerivce
- Cleaned up the list of speakers component.
More observable based, more scaleable filtering
based on an old branch of @FinnStutzenstein.
cleans some functions and provides some differend features.
Assigns the weight in the preorder traversal of the tree. Now one without every
object (e.g. missing motions/items) still have the correct sorting. Intorduces
the level attribute of items giving the amount of parents in the agenda. This
allows to reduce complexits in the client.
- Added filtering by visibility, like internal, public or hidden items
- Added option to collapse or expand all nodes
- Added also style for the dark theme
Calculates the direction of the moving.
Finishes the moving of nodes in same level
Adds some style
Sets the padding dynamically
Adds placeholder depends on the horizontal movement
Set the placeholder at the correct place, so the user can see, where he will drop the moved node
Finishes moving of nodes
- Old parents change their option to expand.
- New parents change their option to expand.
- If the user moves a node between nodes with a higher level, the node will be moved to the next index with same or lower level.
Fixes the visibility of moved node
- If the new parent is not visible, the moved node will not be seen.
If the user moves an expanded node, the new parent should expanded, too, if it's not already.
Sending successfully data to the server
- Sorting the items
Handles moving nodes between parent and children
- If the user moves a node between a parent and its children, the children will be relinked to the moved node as their new parent.
Replaces the old `sorting-tree` to a new one
- The new `sorted-tree` replaces the old `sorting-tree`.
- The old package `angular-tree-component` was removed.
- The user will only see the buttons to save or cancel his changes, if he made changes.
- The buttons, that do not work currently, were removed.
Adds a guard to check if the user made changes.
- If the user made changes but he has not saved them, then there is a dialog that will prompt to ask for confirmation.
Before cancelling the changes the user has to confirm this.
Add an getViewModelListBehaviorSubject that simplifies
how to get most model lists in the view
unified update, delete and create methods and removed redundant code from the repos
(where it was possible)
cleaned up the motion detail to not directly use the DataStore
Add information about the "main model" to all ViewModels, to call the
correct constructor in the BaseRepo
Fixes an issue where users without manage rights
were able to use the drag and drop feature of the
list of speakers.
Also hides "modified final version" prints without
sufficient permissions.
Alters OSPerms to support "and" operators,
so "perm" and "other condition" is now possible