Commit Graph

79 Commits

Author SHA1 Message Date
Sean
0d9738b72d Integrate streams
Integrate live streaming inside the jitsi/rtc components.
Live streaming works without jitsi, but is using the same components for
a fluid integration.
A streaming URL can be set in the settings page.
Users EITHER consume the live stream OR are presend in a jitsi live
conference.

To consume both the live stream and the jitsi conference, users may use
a dedicated jitsi tab in their session.

The jitsi users can be restricted to only allow thouse with the right
the manage speakers or being present on the "current list of speakers",
automatically simulating a virtual plenum
2020-06-11 11:20:00 +02:00
Sean
1439444b2e Integrate jitsi-meet in OpenSlides
- minimal jitsi client in the bottom right of the screen
- can be shown and hidden like a messenger
- allows to mute, unmute, call, stop call
- automatically connects to a conference
- shows a list of users connected to the room
- jitsi iframe is currently hidden
- "open in jitsi meet" link
- only one connection will be opened if using multiple tabs
- JITSI_DOMAIN and JITSI_ROOM_NAME must be present in the settings.py
- config variables in settings
2020-04-30 11:07:32 +02:00
Sean Engelhardt
e1acf6e9d6 Update to Anulgar 9
Updates Angular to version 9.1
Updates most-to-all npm components
Removes deprecated components and npm commands
Updates travis node version
Adjust the whole code base to angular 9 standard
Increase TypeScipt version to 3.8
2020-04-01 14:50:15 +02:00
Sean
39ccfe3147 Add set present toggle in user menu
adds a "is present" toggle to the user menu
Refactor user menu into own component
Add a config variable to determine if the user is allowed
to set themselve as present
2020-03-30 09:57:57 +02:00
Sean
072ec937a1 Rework assignment poll slide
Reworked assignment poll slide
and refactored the assignment poll detail table
into an own component
2020-03-20 16:53:31 +01:00
Sean Engelhardt
29a9a09bc6 Motion poll detail als slide
Refactor the code to use the motion poll detail als slide component
2020-03-17 07:24:49 +01:00
Sean Engelhardt
61b7731073 Enhance charts and tables for assignments
Also some various improvements
2020-03-17 07:24:48 +01:00
Sean Engelhardt
97a5bb4aa6 Cleanup Voting, enhance UI and UX
removed certain unnecesary fields
cleaned up a lot of code
redone some of the UI
some database and server adjustments
2020-03-17 07:24:45 +01:00
Sean Engelhardt
6044c63c28 Enhance Assignment Voting
- repaired the PDF Service for ballots
- fixed some permission errors
- analog voting has no "started" option anymore
- more-link as button
- named voting has a progress bar
- Shows the poll type for eVoting
- Moves and declutters meta info
- Enhance the grid and the layout in detail view
- declutter and enhance the dot-menus
- some other layout changes
- remove breadcrumbs in assignment detail
- other cleanups refinements
- Voting in Assignment over instead of forms
(requires more server changes)
2020-03-17 07:24:43 +01:00
Sean
524a97cdcc Enhance voting
- cleaned up a lot of code
- removed required majotiry from forms
- renamed verbose "Majority method" to "Required majority"
- poll-progress-bar only counts present user
- enhanced motion poll tile chart layout
- removed PercentBase.Votes
- added pollPercentBase pipe
- Show the voting percent next to chart in motion detail
- change the head bar to "Voting is open"
  and "Ballot is open"
- merged the voting configs to their corresponding config-categories
- re-add ballot paper configs
- Add "more" button to motion polls
- Adjusted the motion results table
  - Hide entries without information
  - Show icons for Y N A
  - Show percentage next to Y N A
2020-03-17 07:24:43 +01:00
GabrielMeyer
294b75c320 Replaces the mat-table with a classic table 2020-03-17 07:24:42 +01:00
Sean Engelhardt
84a39ccb62 More voting UI improvements
For Motion poll:
- Overworked how motion poll chart displays the legend
- Added the vote counter to the motion detail
- Added a progress bar to the vote counter
- Fixed some perm errors with the chart
- Show a "Singe Votes" link as button for published named polls
- Replace the edit-button with a dot-menu
  - Having project, Edit, PDF and Delete

For Motion Poll detail:
- enhance search panel
- Remove the breadcrumbs
- Remove the vote counter
- Enhanced the single-vote grid, table and filter bar
- Enhance how the poll state enum was checkend

For the Motion Poll Create/Update Form:
- Remove the selection of poll-methode (whenever possible)
- only show "publish imediately" during creation
2020-03-17 07:24:40 +01:00
GabrielMeyer
96aa3b0084 Adds the chart and dialog for analog voting 2020-03-17 07:24:38 +01:00
Sean Engelhardt
04656950cb Add custom date pipe
Adds a custom date pipe and use it on the projector
The date pipe accepts unix time, can automatically adjust date to the current language and supports custom formatting using "moment.js" formatting options

Also fixes a minor translate-tag error
2019-10-15 12:20:22 +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
Sean
53dbcca85a
Merge pull request #4950 from GabrielInTheWorld/config-datetimepicker
Adds a picker for date and time in config
2019-08-29 11:43:50 +02:00
Joshua Sangmeister
90dd843d43 added a datetimepicker to the config, including localisation.
also changed from NativeDateAdapter to MomentDateAdapter.
2019-08-27 14:36:04 +02:00
GabrielMeyer
c49ea53ab1 Checks, if content is too large and hide it in 'meta-text-block'
- Also updates the library 'css-element-queries'.
- Builds a directive to check, if the scroll-height of an element
has changed.
2019-08-27 10:00:04 +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
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
29e06bf7ea
Merge pull request #4884 from FinnStutzenstein/superadminDirective
Added IsSuperAdmin directive
2019-07-30 13:27:05 +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
f876d1c1fa Added IsSuperAdmin directive 2019-07-30 10:12:21 +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
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
GabrielMeyer
0d52aaaa45 Separates the field of state and recommendation
- New component for similar situations
- Prevents overwriting and discarding of changes, if an 'autoupdate' is triggered
2019-07-08 09:10:05 +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
8ff0f73477 Optional agenda items 2019-06-17 12:38:17 +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
GabrielMeyer
39d891f851 Adds a new view with tiles to the motion-list
- New components 'Tile' and 'GridLayout'
- Adds a grid-layout to the view
- The grid-layout can have an optional title section
2019-05-27 16:17:23 +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
Sean Engelhardt
98dec23b2f Add virtual scroling to statute list
"experimental" Virtual scrolling on the list of statutes.
It should load and behave way faster on huge amounts of data.
2019-04-25 12:57:11 +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
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
Emanuel Schütze
4c4a2c600b
Merge pull request #4384 from tsiegleauq/mediafiles-on-fly
Add mediafiles upload from motion form
2019-02-21 22:16:43 +01:00
FinnStutzenstein
3f58538afb Agenda item list slide 2019-02-21 21:56:40 +01:00
Sean Engelhardt
46a229bb67 Add mediafiles upload from motion form
Refactors the media file upload component into
a shared component to be used in both normal pages
and dialogs.
A dialog was addes into the media file "edit" view
to upload and set attachments on the fly.
2019-02-21 16:48:19 +01:00
FinnStutzenstein
2801e28704 Countdown slide and controls 2019-02-15 12:21:23 +01:00
Maximilian Krambach
66a1ac1532 estimated duration, and datetimepicker in config 2019-02-05 13:49:48 +01:00
FinnStutzenstein
97f60c1e6c Restructure the client, register Repositories and map to collection
strings.
2019-02-01 10:19:17 +01:00
FinnStutzenstein
d20f8d6f44 Use own translation service wrapper for using custom translations 2019-01-31 10:42:44 +01:00
FinnStutzenstein
965d23be50 more work on projector, countdowns, clos
- splitted clos-slide and clos-overlay.
- Synchronize to server, more little changes
2019-01-29 16:10:21 +01:00
FinnStutzenstein
74e0bea108 Wirst work for the projector system on the client 2019-01-19 21:26:05 +01:00
Finn Stutzenstein
8bd24d690d
Merge pull request #4118 from FinnStutzenstein/notify
Make OS3 notify ready
2019-01-18 17:55:24 +01:00
FinnStutzenstein
728f3f84c4 Some teamwork improvements 2019-01-18 17:44:26 +01:00
Maximilian Krambach
c52fdaae6c csv-import for user and agenda(topics) 2019-01-18 13:15:54 +01:00
Jochen Saalfeld
f8cfb418f6
adding and implementing logo component 2019-01-16 15:54:34 +01:00
Emanuel Schütze
1ff84c1ae1 UI improvements 2019-01-11 16:51:43 +01:00