Commit Graph

82 Commits

Author SHA1 Message Date
Sean
13e18c82e3 Prevent wrong bulk-change-state operations
Prevents to change the state of multiple motions, if given motions are
in different workflows
2019-08-26 17:11:40 +02:00
GabrielMeyer
5f29732e26 Implements the global 'super-search.component'
- Moves the 'spinner.component' to 'site.component'
- Replaces also the 'spinner.service' with an 'overlay.service', that handles all request to
show an element on an overlay.
2019-08-26 11:30:20 +02:00
jsangmeister
d65751c5da Add virtual scrolling for categories
StorageService is now required in BaseListView.
Adds a dialog to create categories
2019-08-13 15:43:54 +02:00
FinnStutzenstein
0e4090c901 Reverse relations 2019-08-12 14:12:55 +02:00
Finn Stutzenstein
a804f26162
Merge pull request #4755 from FinnStutzenstein/clientErrorHandling
Client error handling
2019-08-06 15:22:16 +02:00
GabrielMeyer
e487b8fec8 Adds icons to display status 'inactive', 'is present' and 'is committee'
- In `user-list.component` and in `user-detail.component`
- Also removes the method `getUserTooltip()` from `base-list-view.ts`
2019-07-30 13:44:15 +02:00
FinnStutzenstein
51a3fbdf3e New linting rules and ordering of imports 2019-07-30 09:53:14 +02:00
FinnStutzenstein
dd66244d84 Generic relations for the repos 2019-07-30 09:07:51 +02:00
FinnStutzenstein
a60719bcc4 Added error message for connection refused errors sending emails 2019-07-23 14:12:05 +02:00
Sean Engelhardt
2372408e4c Implement NGrids filter function
- Implements NGrids new "filteredData" function, to restore old filter behavior.
Export a quick-filtered list is now possible.

- More controll about List-View-Table UI

- Use NGrid target-events for better mutli-select behavior

- Changes the behavior of hidden headers to ignore paddings-changes

- filters are more resistant to errors and storage loss
2019-07-19 14:35:24 +02:00
Sean Engelhardt
d036fe6046 Add file manager patches for firefox
Lowers the change detection attempts to fix the file manager
for firefox
2019-07-15 17:49:30 +02:00
Sean Engelhardt
bc0fea3310 Update to Angular 8.0.6
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
2019-07-04 14:20:57 +02:00
Sean
ec9760216a
Merge pull request #4790 from FinnStutzenstein/cleanup
Cleanup
2019-06-28 12:02:07 +02:00
FinnStutzenstein
e604da3240 Quicklink to history (closes #4777) 2019-06-28 08:32:21 +02:00
FinnStutzenstein
b8d3fa2614 Cleanup 2019-06-28 07:58:36 +02:00
Sean Engelhardt
2758441552 Adds custom filter predicates for native object data
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
2019-06-24 16:30:27 +02:00
Sean Engelhardt
bb443fd4af Add more user list options
- Adds an icon with tooltip if a user is inactive to the user list
- always show the 'present'-column, even though the user is not active
- add a info icon if the user has a "comment". The content of the content
  is displayed in the tooltip
2019-06-17 12:50:54 +02:00
Sean Engelhardt
15e9ea898b Add virtual scrolling to tables
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.
2019-06-14 11:18:54 +02:00
Maximilian Krambach
37f0baf165 sorting tree view filters
- callList
 - refactored agendaSort
2019-06-04 17:21:38 +02:00
GabrielMeyer
514252a6ef Hotfix for pagination in motion-list 2019-06-03 16:22:53 +02:00
FinnStutzenstein
0dbba32d0e Client error handling 2019-06-03 11:12:09 +02:00
FinnStutzenstein
9f12763f8b Split AgendaItem and ListOfSpeakers
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.
2019-05-24 08:21:59 +02:00
Sean Engelhardt
850fcbe243 Rework sort and filter
More observable based, more scaleable filtering
based on an old branch of @FinnStutzenstein.

cleans some functions and provides some differend features.
2019-05-17 13:03:48 +02:00
FinnStutzenstein
c860f45041 Fixed false visible items in the agenda
The fix has to be reworked with #4671 and can be eliminated with #4639
2019-05-13 13:42:03 +02:00
Maximilian Krambach
217186f435 cleanup of outdated TODOS and stubs 2019-04-16 12:47:48 +02:00
FinnStutzenstein
9cfc0bbd42 Background structure for assignments
- 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.
2019-04-15 10:29:26 +02:00
Emanuel Schütze
4ca8fccbea
Merge pull request #4571 from tsiegleauq/motion-list-show-id
Show sequential number in motion list
2019-04-05 13:11:06 +02:00
Sean Engelhardt
1dd8562dfc Show sequential number in motion list
Shows the sequential number (ID) in motion list
2019-04-05 11:48:48 +02:00
Sean Engelhardt
8236d1bf5b Enlarge page size
Enlarges the page size of all list views.
Also move the declaration of the page size into the base list view component
2019-04-04 12:10:45 +02:00
GabrielMeyer
15ca6cfec7 Adjusts pagination to default code style. 2019-03-25 13:04:42 +01:00
GabrielMeyer
6e628ea4cd Adds listener to the pagination
- Subscription to change events from pagination are used to set the made settings initial.
2019-03-22 13:05:03 +01:00
Sean Engelhardt
ca18d59ac3 Fix some z-level related issues
Fixes some z-layer effects
2019-03-20 12:45:34 +01:00
Maximilian Krambach
9c67b1c773 sorting from inside base repositories
Authors: FinnStutzenstein, MaximilianKrambach, tsiegleauq
2019-03-15 08:12:50 +01:00
Sean Engelhardt
d4e10702cc Cleanup Repos
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
2019-03-14 10:46:33 +01:00
FinnStutzenstein
384597afb9 motion projection mode is optional and sensitive for the config 2019-03-01 10:08:57 +01:00
Maximilian Krambach
be83d9b0aa bulk import of users 2019-02-26 22:05:38 +01:00
Emanuel Schütze
fc10ee168c
Merge pull request #4400 from MaximilianKrambach/previews
refactor import  preview strings
2019-02-26 21:47:08 +01:00
Emanuel Schütze
0dd2dcc352
Merge pull request #4410 from tsiegleauq/more-swipe-gestures
Add swipe gestures into motion detail
2019-02-26 17:13:23 +01:00
Sean Engelhardt
0ceddd2662 Add swipe gestures into motion detail
Adds swipe gestures into motion detail, to nacigate them easily on mobile devices
Animations are left out for now, since they are complex to develop.

Alters the navigation gesture slightly to only work from the edge of a given screen
2019-02-26 15:30:16 +01:00
Maximilian Krambach
93260aaf29 refactor import preview strings 2019-02-26 13:12:40 +01:00
Maximilian Krambach
5cedf6eb58 normalize multiSelect actions 2019-02-26 11:06:42 +01:00
Sean Engelhardt
3785545a35 Disable various expensive sorting functions
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
2019-02-22 17:17:29 +01:00
GabrielMeyer
80cb8051f6 Adds notifications if multiple users want to edit the same motion.
Fixes #4217 Adds notifications

- Created a class to define notification-objects, which should notify other persons editing the same motion.
- Added functions to send notifications, listen to them and unsubscribing them.
- Added a warning-function to the `base-view.ts`, which raises the snack bar with the given message and has no duration.

Fixes #4217

- Removed unnecessary lines of code.
- Fixed merge.

Prettified

- Added a random number to identify different user.
- Now the user can sign in as the same user, but still receive a message if multiple people edit the same motion.

Fix the detail of motions

- If the user does not click to edit, then the `editNotificationSubscription` was not set.
2019-02-21 22:37:49 +01:00
FinnStutzenstein
7ef36e93c6 List of speakers slide 2019-02-21 12:34:41 +01:00
Emanuel Schütze
29ba4a61e6 Updated translations 2019-02-19 21:32:24 +01:00
Sean Engelhardt
57be0a5bea Force DataSource to refresh
Fixed a bug where data in MatTableDataStore was not updating.
Also:
Cleaned redundant list view sorting and filtering functions
2019-02-18 14:23:33 +01:00
FinnStutzenstein
2801e28704 Countdown slide and controls 2019-02-15 12:21:23 +01:00
FinnStutzenstein
4c2adb6da3 ProjectorMessageSlide and some renaming 2019-02-14 13:19:05 +01:00
Emanuel Schütze
c77075f807 Topic slide 2019-02-14 08:14:50 +01:00
FinnStutzenstein
cc4d5a5739 Fix issues with minification 2019-02-12 09:28:54 +01:00