Commit Graph

175 Commits

Author SHA1 Message Date
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
Emanuel Schütze
7dd59cc477
Merge pull request #4782 from GabrielInTheWorld/tab-title-more
Sets more tab title
2019-06-18 19:44:22 +02:00
GabrielMeyer
31161398c0 Sets more tab title
Sets the titles for the tab on more pages.
Fixes #4773.
2019-06-17 13:15:06 +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
GabrielMeyer
5e3f710e4d Adds a new component for icons
- 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.
2019-06-13 08:23:44 +02:00
FinnStutzenstein
213fc30800 Update prettier 2019-06-12 08:01:33 +02:00
FinnStutzenstein
4151797f60 Temporary fix for the agenda item number during updates.
The changes in the agenda reposiroty can be reverted with #4738
2019-06-06 10:03:34 +02:00
Emanuel Schütze
9651a058c3
Merge pull request #4763 from GabrielInTheWorld/tab-title
Sets the TabTitle
2019-06-05 14:49:02 +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
Maximilian Krambach
37f0baf165 sorting tree view filters
- callList
 - refactored agendaSort
2019-06-04 17:21:38 +02:00
Maximilian Krambach
16477a4e92 filter potential speakers
- filter by those already on list
- filter by present, if configured
2019-05-27 11:40:15 +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
10c329da8d fix tree sorting
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.
2019-05-15 14:14:32 +02:00
Emanuel Schütze
bbe0b16701 Updated translations 2019-05-08 19:56:31 +02:00
FinnStutzenstein
fe81ea6ff9 Speedup DS and repo updates, DSUpdateSlots, lazyloading history objects 2019-05-06 16:33:36 +02:00
FinnStutzenstein
44b683e361 Add attachments to assignments 2019-04-29 10:31:28 +02:00
Emanuel Schütze
8985d5c5e1 Updated translations 2019-04-25 23:35:57 +02:00
GabrielMeyer
cdc849de6d Implements filtering the sorting-tree.component
- 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
2019-04-17 12:41:16 +02:00
Maximilian Krambach
48593acc25 disable multiselect options if nothing selected 2019-04-15 13:24:42 +02:00
Maximilian Krambach
a2b75194a1 don't autoupdate detail forms during editing 2019-04-11 16:06:05 +02:00
Sean Engelhardt
bd33c59ddf Add permissions to ListViews
Adds the AuthGuard to certain routes
Adds an error-component
Also hides certain other elements where
permissions should apply
2019-04-06 21:13:17 +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
Sean Engelhardt
c0a2072cc2 Add manual sorting to Speaker list
Also create CSS Theme file to prevent side effects from theming
2019-03-25 13:34:10 +01:00
Sean
279b8b1d25
Merge pull request #4524 from GabrielInTheWorld/util-fixes
Adds listener to the pagination
2019-03-25 10:09:01 +01:00
Emanuel Schütze
0cc59c6596 Fixed CSS styling error 2019-03-22 15:47:22 +01:00
Sean Engelhardt
ab19d66022 Add prettier list of speakers
Also cleans up some CSS and unifies some Drag-N-Drop Component
styles.
2019-03-22 13:25:03 +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
GabrielMeyer
76d760bd41 Replaces the old angular2tree with a custom drag&drop tree
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.
2019-03-19 13:19:35 +01:00
Maximilian Krambach
9c67b1c773 sorting from inside base repositories
Authors: FinnStutzenstein, MaximilianKrambach, tsiegleauq
2019-03-15 08:12:50 +01:00
Sean Engelhardt
5d35a0fa5f Fix certain permission checks
Fixed permissions in topic detail, agenda list and user detail.
Fixes Z-Level of head bar and mat-spinner.
2019-03-14 17:50:33 +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
Emanuel Schütze
3684701ab6
Merge pull request #4495 from FinnStutzenstein/viewItemTitle
ViewItem title (fixes #4464)
2019-03-11 12:21:21 +01:00
FinnStutzenstein
aa81bf38c3 ViewItem title (fixes #4464) 2019-03-11 11:21:34 +01:00
Finn Stutzenstein
d10dfb0915
Merge pull request #4469 from MaximilianKrambach/speakertime
clarifying duration service usage
2019-03-11 08:07:41 +01:00
Sean Engelhardt
985fe9cc8b Prevent drag and final versions without perms
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
2019-03-08 11:53:25 +01:00
Maximilian Krambach
9cdc909d25 fix legalnotice and privacy z-index issue 2019-03-07 15:06:41 +01:00
Maximilian Krambach
e05874cf6f clarifying duration service usage 2019-03-06 16:54:00 +01:00
Maximilian Krambach
0ddded4a86 csv example export refactor
- make csv example data respect config separators
- refactor at a more central place
2019-03-06 11:03:51 +01:00
Emanuel Schütze
6e4a110116 List of speakers template 2019-03-01 13:17:30 +01:00
FinnStutzenstein
d0e6681aad One global clos reference. More projector buttons for the clos view 2019-03-01 13:17:26 +01:00
FinnStutzenstein
3f77cc7b24 Add item number to topic title, hide clos slide for one projector 2019-03-01 10:26:52 +01:00
Emanuel Schütze
4de14f4100 Updated translations 2019-02-28 22:46:38 +01:00
Sean Engelhardt
03c590c66d Speaker repo
Add an own repository service to manage speakers
2019-02-28 14:26:31 +01:00
Maximilian Krambach
4cf754946c fix agenda editing button 2019-02-27 14:56:00 +01:00
FinnStutzenstein
f039293c09 current speaker chyron 2019-02-26 21:56:59 +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
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
Emanuel Schütze
3073844039
Merge pull request #4392 from emanuelschuetze/ui-improvments
UI improvments
2019-02-24 21:40:56 +01:00
Emanuel Schütze
a077ca85f5 UI improvments
- Use lanaguage files for tinymce.
- Fixed user import error.
- Improve colors for default/dark theme.
- Fixed missing translation.
2019-02-24 20:07:19 +01:00
Emanuel Schütze
15012f4a8b
Merge pull request #4390 from tsiegleauq/hotfix-sort-performance
Disable various expensive sorting functions
2019-02-23 14:24:44 +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
efe8f3e862 Adds sanitizer to render text correctly
Sanitized the text, which is displayed, to show formatting like
centering, bold etc.

Sanitized the text for projectors
2019-02-22 12:12:08 +01:00
FinnStutzenstein
3f58538afb Agenda item list slide 2019-02-21 21:56:40 +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
Finn Stutzenstein
9e794c4669
Merge pull request #4344 from FinnStutzenstein/countdowns
Countdown slide and controls
2019-02-15 12:37:23 +01:00
FinnStutzenstein
2801e28704 Countdown slide and controls 2019-02-15 12:21:23 +01:00
Emanuel Schütze
9459e9d6e9
Merge pull request #4342 from MaximilianKrambach/quickfilters
agenda and motion list filters
2019-02-14 15:53:39 +01:00
Maximilian Krambach
ca2a6b33b2 angenda and motion list filters 2019-02-14 15:15:52 +01:00
Emanuel Schütze
aaa9157873
Merge pull request #4316 from tsiegleauq/remove-ngsubmit
Remove redundant submits
2019-02-14 15:06:28 +01:00
Sean Engelhardt
6a78d65dc3 Remove redundant Submits
Remove concurrent ngSubmit
Some cleanup and code alignment
2019-02-14 14:17:17 +01:00
Emanuel Schütze
34feac553b
Merge pull request #4338 from FinnStutzenstein/projector-message-slide
ProjectorMessageSlide and some renaming
2019-02-14 13:41:02 +01:00
FinnStutzenstein
4c2adb6da3 ProjectorMessageSlide and some renaming 2019-02-14 13:19:05 +01:00
Emanuel Schütze
98dc105f46
Merge pull request #4335 from MaximilianKrambach/speakerDropDownSort
user sorting by config
2019-02-14 11:12:48 +01:00
Maximilian Krambach
59ed906a36 user sorting by config 2019-02-14 10:53:13 +01:00
Emanuel Schütze
3172f0a532
Merge pull request #4336 from FinnStutzenstein/cleanup
Fixes submitters
2019-02-14 10:49:42 +01:00
FinnStutzenstein
d932d6e907 Fixes submitters 2019-02-14 10:24:39 +01:00
Emanuel Schütze
c77075f807 Topic slide 2019-02-14 08:14:50 +01:00
Maximilian Krambach
c3c915e118 direct pdf export and hidden unusable options for delegates
also, several permission check fixes and minor layout improvements
2019-02-13 13:43:45 +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
17ce91f309 Fixed calllist by removing the attached data from the tree (fixes #4296) 2019-02-12 10:39:29 +01:00
Maximilian Krambach
382cf4ef96 fix display of end time 2019-02-08 14:33:55 +01:00
FinnStutzenstein
d0991936d6 ViewModelStore, register repositories, improve view model relations 2019-02-08 11:02:56 +01:00
Finn Stutzenstein
812168b00c
Merge pull request #4270 from GabrielInTheWorld/4116
Prevent dialogs to close easily
2019-02-08 07:19:28 +01:00
GabrielMeyer
2ef35d0b50 Prevent dialogs to close easily (Fixes #4116)
dialogs (created by MatDialog) should only close if the user explicit clicks 'x' or 'cancel' now
2019-02-07 16:58:43 +01:00
Maximilian Krambach
056a20964c improve start time and duration display for finished speakers 2019-02-06 17:01:15 +01:00
Maximilian Krambach
66a1ac1532 estimated duration, and datetimepicker in config 2019-02-05 13:49:48 +01:00
Sean Engelhardt
0a7f905c21 Add current list of speakers to agenda-list
Adds a current-list-of-speakers button to the agenda list view
The user may select a projector which will return an agenda item
which will be used to determine the CLOS
2019-02-01 18:11:10 +01:00
Maximilian Krambach
da722dd518 explicitly set mimetype for csv export 2019-02-01 14:20:00 +01:00
FinnStutzenstein
84974d7687 A little bit of cleanup 2019-02-01 11:02:24 +01:00
FinnStutzenstein
97f60c1e6c Restructure the client, register Repositories and map to collection
strings.
2019-02-01 10:19:17 +01:00
Maximilian Krambach
167ef72bb6 agenda pdf export 2019-01-30 16:13:56 +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
Maximilian Krambach
064a3f7d3c agenda hierarchy tree 2019-01-29 15:00:18 +01:00
FinnStutzenstein
22182463a9 cleanup, removed motion log from client 2019-01-25 08:39:50 +01:00
Maximilian Krambach
b620e5edfa change tab order in import tabs 2019-01-24 14:30:46 +01:00
Sean Engelhardt
07ca50441a Add gender field to users
Alters the user detail view and the list of speakers to
support the gender field.
Default selection of genders was set to "Female", "Male"
and "Diverse".
Adding genders to users is completely optional
2019-01-22 12:57:47 +01:00
Emanuel Schütze
6b66a208c5 Updated translation strings and German translation. 2019-01-21 22:50:10 +01:00
Maximilian Krambach
f47ec28977 speaker remove/ open+close list functionality 2019-01-19 21:50:22 +01:00