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.
- moved some components
- added consistend namin scheme: (View)Assignment, (View)AssignmentPoll
(View)AssignmentPollOption and (View)AssignmentRelatedUser.
- Added precisionPipe, which needs to be added everywhere.
- Cleaned up converting deciml fields (as strings in the REST API) to
floats
- The repository creates the View* structure and enabled user updates.
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.
Fixes#3921
Added a new set of icons and removed the old one. The new one can used just like the old one.
Changed old improper icons to new ones
- The 'save_alt'-icons are replaced by 'cloud_upload'
- The icon in the navigation for assignments is replaced by 'how_to_vote'
- The drag&drop icon 'unfold_more' is replaced by 'drag_indicator'
Also making sure that every BaseModel implements onString to be
displayable by a Selector.
And adding the new search-value-selector in the motion-detail-view
* properly ignore multiple virtual environments and vscode folders
* use scss instead of css in app.component
* remove yarn from client
* remove deprication error
* auditing packages
* updating travis to work with the new client
- core modules contains core services
- shared module contains "dumb" components (directives, models)
- used by nearly all modules
- site, it's children and projector are now feature modules
- full lazy loading with independent routing
- routing for children (extremely helpful for plugins (later))
- models get other models from DataStore (Relations)
- documentation using Compodoc
- rename and restructure
- http-interceptor makes all http-objections obsolete
- created 'Deserializable model' interface for better mapping of JSON objects
- Supports multiple nested objects
- No foreign dependancies, no magic
- Simple yet efficient deserialize function
- arrays of nested objects
- created more classes for better OOP AOP
- uses ngx-translate
- extracts all strings marked with " XXX | translate " or <X translate>
using ngx-translate-extract (npm run extract)
- custom translation loader prevents empty strings
- default language is english
- will try to use the browsers language, will fallback to english
- functional language switching menu
- not compatible with current PO files
- current JSON-translation can be re-used
- basic client structure
- authentication towards OS-server
- access REST-Api
- webpack proxy for convenient usage
- fontawesome
- twitter bootstrap 3.3.7
- login example (recreate login page)
- routing
- template for agenda and motions
- dynamic content loading
- custom alert component
- add auth-guard
- checks if a user is logged in and makes correct forwarding
- authentification towards OS works
- saving the log in information is WIP