Updates to angular 8 and updates all used components
- removed wrapper class for ngx/pwa LocalStorrace
- removed database lock service due to bugs
- tried to work around a cycle of dependancies
- changed some structure to be more close to default angular
- removed legacy angular packages
- removed date-picker since it was not currently used and
is not compatible anymore
- upgrade tinyMCE
Supports properties like motion submitter and more.
Does at the moment "not" support tunneled properties, i.e filters
that need to go over a repository
(i.w workflow-state-label)
Fixes some small issues
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.
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.
- 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.
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
Seperates the previously large motion module in various smaller
and very small feature modules.
Motion Detail, and all direct dependancies to Motion Detail
is now an own module.
This significantly increases the response time of openslides 3
Fixed leftovers from the viewModel restructure. Repositories always have a verboseName now. Does not implement new logic to follow related models (e.g. motions->submitters).
Prevents the usage of: "sortViewUsersByConfig" of the userRepository
since it's an incredibe heavy operation for ~500 (real) users.
I would advice to sort the datastore rather than the lists
in the view to prevent unnecessary sorting overhead
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'
- "no workflows set" removed
- motion block filter hides if there is no motion block
- inserted the group filter
- fixed display of agenda filter menu
- show plural if multiple filters are selected, show filtered amount
- recommendation, done/not done status filter
- active filter count and clearing option
- number of current items to the left
Add view for full history and History Repom TimeTravelService
Add function time travel routine
Updated the HTTP Service, fixed usage of storage, OSStatus Service, fixed loading of the history data
Used for internal apps as well as for plugins. The pluginpart is
currently missing, in fact that the main OpenSlides part is more
important. Apps can give their models and mainmenu entries.
Routes are not enabled, because the routes have to be static for webpack
to build the bundles. If we want to keep lazy loading, I see no
possibility to encapsulate the routes from the site-routing module.
fix disappearing submitters (hopefully)
- replaced "motion from form values" function with deserialize
- fix some typos
- make id id again
null, in contrast to undefined, will be send to the server...
Better typing and changed the create/update signatures in BaseViewModel
- use object as default type for BaseModel.
- use partial objects for updating
- Displayable should not have an id. Moved this into own interface
Identifiable and make the id in the BaseViewMotion abstract.
- create only takes a BaseModel. A ViewModel should not exists so far.
- Updated the update and create method for motions.
Also:
Set linting output to "stylish" (more readable error messages in terminal output)
Remove 2nd linting output
rename "appOsPerms" to just "osPerms" including filename and classname
rename all selectors from "app" to "os"
- 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))