Commit Graph

183 Commits

Author SHA1 Message Date
Sean Engelhardt
c9cf99d0e4 Add leftover changes for 3.1
Adds various changes for a more complete 3.1 release

- cleaner "current slide" description in projector detail (grid with ellipsis)
- show the previously projected slides as ordered lists under the accordion
- fix a bug where everyone could access the projection manage view (although it was unfunctional without the correct permissions)
- assignment list now uses the correct ellipsis
- fixes a bug where the lable "list of speakers" was not translated on the projector slide
- Show a lock on the "list of speaker"-slide if it has been closed
- enable dialog tests that have previously been disabled
2019-12-09 15:00:32 +01:00
Sean
01b626d3e7 Scroll to previous offset rather than index
Changes some auto scrolling behavior in our virtual scrolling tables.
Save the scroll offset before any navigation attempt, rather than
saving the index on click.
Should work for every possible navigation action.
2019-12-06 13:50:14 +01:00
Sean Engelhardt
a6891ef8e1 Consider offline during update checks
Hides the spinner if the update checks fail cause the server is
unreachable

use new cleansup the code a little
2019-12-02 16:55:46 +01:00
Sean Engelhardt
50a9a89910 Hide mobile list-menus by permission
Hides some mobile list menus if the permissions
are not sufficient.
Change the layout of the assignment mobile list
2019-11-26 13:19:37 +01:00
Sean Engelhardt
b0695a25c1 Fix regression in assignments
Fixes a bug where assignment polls could not be saved
Cleaned up some code
2019-11-08 09:42:42 +01:00
FinnStutzenstein
cf7a5ce714 Reworked config
- Move config meta data into REST
- seperate views for config groups
2019-10-21 13:45:06 +02:00
FinnStutzenstein
7af74fb07a Use Proxies for ViewModels
Also reworked creation of assignments, motions and users.
2019-10-16 09:11:02 +02:00
Emanuel Schütze
683f87b3ff Fix translation in assignment poll. 2019-09-24 19:06:44 +02:00
Emanuel Schütze
9e0817d2e8
Merge pull request #5038 from tsiegleauq/dynamic-scale-tiles
Scale motion tiles by viewport size
2019-09-19 19:43:40 +02:00
Sean Engelhardt
faa1d9c658 Scale motion tiles by viewport size
Also puts the desktop, tablet and phone declarations into an
own scss file that can be used via mixin
2019-09-19 15:23:34 +02:00
Sean Engelhardt
4e0f1409db Add trust pipe and remove duplicated functions
Adds a new shared pipe to set trusted HTML directly
from HTML components.
Removes all duplicates of "bypassSecurityTrustHtml"
2019-09-16 16:24:40 +02:00
Emanuel Schütze
902855a6e7
Merge pull request #4982 from tsiegleauq/better-mobile-tables
More mobile friendly lists
2019-09-13 13:57:36 +02:00
Sean Engelhardt
bd83a74830 More mobile friendly lists
More mobile friendly lists using menus
2019-09-13 13:37:59 +02:00
Emanuel Schütze
5af32999ab
Merge pull request #5017 from GabrielInTheWorld/fixElection
Fixes the elections and prepares for future changes
2019-09-13 10:25:05 +02:00
GabrielMeyer
ba2bfdbf04 Fixes the elections and prepares for future changes 2019-09-13 10:04:39 +02:00
GabrielMeyer
8996bd952f Ensures breaking the label of 'election-state' 2019-09-13 08:35:04 +02:00
GabrielMeyer
1ec5dfbb88 Implements the possibility to sort trees by a given property
- Separates the base sorting function to a lower service, called `base-sort.service`.
- Adds the `tree-sort.service`.
2019-09-09 15:44:08 +02:00
Sean Engelhardt
91329a8338 Add sort service for amendments
Adds the posibility to sort amendments by the parents identifier
and line number.

Patches the amendment model by their diff lines in runtime
2019-09-05 13:49:27 +02:00
GabrielMeyer
d354461784 Cleans up the stylesheets a little bit
- Removes all `::ng-deep`
- Merges some re-used styles to one stylesheet
- The icon to open the global search will always be seen in the headbar
2019-09-02 17:33:42 +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
Sean Engelhardt
5a7b32e3cd Readd filter store keys
Adds custom storage keys to the filter list again
prevents a problem that appears on minified code
2019-08-21 14:53:07 +02:00
GabrielMeyer
4dd79296e8 Fixes directories as attachments
- Directories are not available anymore.
2019-08-21 10:57:22 +02:00
Sean Engelhardt
13e1c01bb6 Add amendment list
Adds a new ListView to show all amendments.
The list view can be acessed from both the motion list and the motion detail list
2019-08-16 09:27:41 +02:00
FinnStutzenstein
1d718dcb74 Fixed two little issues with relations and reverse mapping
- Reverse setup for normal autoupdates (no initial loading)
- reverse "set null" to be reflected to the mapping

Also fixed a bug with redis
2019-08-15 12:51:59 +02:00
FinnStutzenstein
0e4090c901 Reverse relations 2019-08-12 14:12:55 +02:00
Sean Engelhardt
490672472a Updated translations 2019-08-08 16:34:59 +02:00
Sean Engelhardt
6123216afc Add pdf webworker and progress bar
Generate PDF in the background using webworker
Shows a progress bar to estimate the PDF generation progress
2019-08-01 13:23:56 +02:00
Finn Stutzenstein
0383f824d7
Merge pull request #4874 from FinnStutzenstein/history
Improve history
2019-08-01 11:19:57 +02:00
GabrielMeyer
bd03300ee0 Exports the settings for the dialogs to a separate file.
- Includes a constant for small, medium and large dialogs.
2019-07-30 15:59:15 +02:00
GabrielMeyer
2a1a44ee5a Saves the value of the local search in 'list-view-table'
- Builds a new component 'rounded-input' to have a input-field with rounded borders.
- Saves the input on every change in the local storage.
- In the `OnInit`-function this value is restored.
2019-07-30 10:57:55 +02:00
FinnStutzenstein
a0501ccf74 Improve history 2019-07-30 10:40:36 +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
GabrielMeyer
4e0e641002 Form validations
The system validates the input of the users.
In most cases, if a form is invalid, the user has no chance to save his changes.
2019-07-17 15:09:38 +02:00
FinnStutzenstein
56c1da352e Directories and access permissions for mediafiles 2019-07-12 13:08:07 +02:00
GabrielMeyer
dfa80e9cd0 Separates the attachment field to a custom component
- Refactores also the 'search-value-selector.component'
2019-07-08 10:45:11 +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
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
Emanuel Schütze
3d573441ca
Merge pull request #4759 from FinnStutzenstein/optionalAgendaItem
Optional agenda items
2019-06-24 12:37:29 +02:00
FinnStutzenstein
8ff0f73477 Optional agenda items 2019-06-17 12:38:17 +02:00
Sean Engelhardt
161873b68c Speeds up the animations.
Removed the on-transition-fade class
The current way to trigger animation seemed not reliable enough.
2019-06-14 15:19:52 +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
Emanuel Schütze
6895b5db67
Merge pull request #4651 from MaximilianKrambach/assignmentBallots
Assignment ballots (and refactoring motion ballots)
2019-06-05 17:24:42 +02:00
Maximilian Krambach
79ef8e99c4 assignment poll ballot pdfs
- refactoring poll-pdf service
- adding ballots for AssignmentPolls
2019-06-05 16:30:54 +02:00
GabrielMeyer
23fe9f1a94 Sets the TabTitle
Motions, users and elections reset the title of a tab in their detail-view.
2019-06-05 12:19:18 +02:00
Emanuel Schütze
708de917e1 Updated translations 2019-05-31 11:09:31 +02:00
GabrielMeyer
0c0a3f302b Refactores sorting of assignment-list
- In case of the name the list is sorted by `title` instead of `assignment`
- For the case of 'creation date' the list will be sorted by `id`
2019-05-28 09:56:53 +02:00
GabrielMeyer
8a1588dd33 Implements the export of assignment-list as pdf
- Exporting the whole list of assignments
- Exporting a selected list of assignments
2019-05-27 12:32:05 +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
Maximilian Krambach
014701442c refactor poll calculations 2019-05-20 11:31:27 +02:00
Sean
7ab040823d
Merge pull request #4671 from tsiegleauq/rework-sort-filter
Rework sort and filter
2019-05-20 10:02:12 +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
Sean Engelhardt
654c54e9ab Rework Assignment UI
Reworks the Assignment UI to fit to the current MockUps
2019-05-16 21:56:09 +02:00
Emanuel Schütze
bbe0b16701 Updated translations 2019-05-08 19:56:31 +02:00
Maximilian Krambach
f00303d753 include global abstain/no option
election polls with 'one vote per candidate' should have a
 global no/abstain option
2019-05-02 10:51:00 +02:00
FinnStutzenstein
44b683e361 Add attachments to assignments 2019-04-29 10:31:28 +02:00
Sean Engelhardt
e520dd99e0 Create assignment PDF service
Exports the assignment detail as PDF
2019-04-26 16:23:48 +02:00
Sean Engelhardt
afc6bb629e Fix layout of search value selector 2019-04-26 12:41:55 +02:00
Maximilian Krambach
ab6a53c2de small assignment layout updates/fixes 2019-04-26 10:11:30 +02:00
Emanuel Schütze
8985d5c5e1 Updated translations 2019-04-25 23:35:57 +02:00
Maximilian Krambach
1b1499a660 Assignment slides 2019-04-25 17:12:21 +02:00
Emanuel Schütze
6800f99ef0
Merge pull request #4624 from tsiegleauq/angular-7.2.14
Migrate to Angular version 7.2.14
2019-04-25 16:44:53 +02:00
Sean Engelhardt
03d935d633 Migrate to Angular version 7.2.14
New version of TS-Lint
New version of ngx-file-drop with breaking changes
npm audits
Removed Terser, should work out of the box again
2019-04-25 13:15:24 +02:00
Emanuel Schütze
45609fadc0
Merge pull request #4610 from MaximilianKrambach/assignmentMobile
Assignment mobile
2019-04-25 10:42:25 +02:00
Finn Stutzenstein
0c4076fbd7
Merge pull request #4616 from FinnStutzenstein/basicAssignmentSlide
Basic assignment slide
2019-04-25 10:11:23 +02:00
Maximilian Krambach
4b6e314e45 basic display for mobile view 2019-04-25 09:01:49 +02:00
Maximilian Krambach
847173cda3 fix assignment calculations 2019-04-24 16:49:54 +02:00
FinnStutzenstein
55dd2d1d6f Basic assignment and poll slide 2019-04-24 10:34:44 +02:00
Maximilian Krambach
217186f435 cleanup of outdated TODOS and stubs 2019-04-16 12:47:48 +02:00
Maximilian Krambach
9dfac94099 assignment improvements
- layouting
- fix one-vote polls
- filter candidate list
- candidate sorting
- fix adding/removing of candidates
- avoid ui jumping
- fix quorum calculations
2019-04-16 09:42:07 +02:00
Finn Stutzenstein
0f1df91915
Merge pull request #4602 from FinnStutzenstein/clearClientCacheOnMigrations
Refresh clients cache when the database was migrated
2019-04-15 16:30:33 +02:00
FinnStutzenstein
a715c0e432 Refresh clients cache when the database was migrated 2019-04-15 16:13:52 +02:00
Maximilian Krambach
48593acc25 disable multiselect options if nothing selected 2019-04-15 13:24:42 +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
Maximilian Krambach
a2b75194a1 don't autoupdate detail forms during editing 2019-04-11 16:06:05 +02:00
Sean Engelhardt
054f76a5d4 Cleanups and enhancements
Cleans up and reviews some methods
2019-04-08 10:16:48 +02:00
Maximilian Krambach
464fb89b53 include per-poll values, some travis fix 2019-04-08 10:16:47 +02:00
Maximilian Krambach
52193e9fb2 Assignments 2019-04-08 10:16:46 +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
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
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
Emanuel Schütze
5139fe8365 Updated tranlstions 2019-03-11 12:28:34 +01:00
Sean Engelhardt
6a421f8f6b Add more motion modules
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
2019-03-08 10:43:54 +01:00
FinnStutzenstein
2e0353618d Revive the global search.
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).
2019-02-28 08:56:03 +01:00
Maximilian Krambach
e4c79fd371 marking and repairing translations 2019-02-27 10:31:45 +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
FinnStutzenstein
7ef36e93c6 List of speakers slide 2019-02-21 12:34:41 +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
Emanuel Schütze
c77075f807 Topic slide 2019-02-14 08:14:50 +01:00
GabrielMeyer
63989b2b29 Adds a new IconFont-set
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'
2019-02-12 17:39:06 +01:00
FinnStutzenstein
cc4d5a5739 Fix issues with minification 2019-02-12 09:28:54 +01:00
Emanuel Schütze
279d1323fa Updated translations 2019-02-11 21:39:14 +01:00
FinnStutzenstein
424e7945be translate models 2019-02-08 17:28:23 +01:00
FinnStutzenstein
d0991936d6 ViewModelStore, register repositories, improve view model relations 2019-02-08 11:02:56 +01:00
FinnStutzenstein
7ce1eb592f Count active users via notify (for admins only), absolute imports 2019-02-02 08:17:36 +01:00
FinnStutzenstein
97f60c1e6c Restructure the client, register Repositories and map to collection
strings.
2019-02-01 10:19:17 +01:00
Maximilian Krambach
6a969883ad acknowledge string filter
- display correct number of show entries
- all bulk actions should only apply to filtered data
- fix user group filter
2019-01-29 18:49:13 +01:00
FinnStutzenstein
74e0bea108 Wirst work for the projector system on the client 2019-01-19 21:26:05 +01:00