Commit Graph

99 Commits

Author SHA1 Message Date
Sean
42dd397fae Update to Angular 10
Update @angular/core @angular/cli
Update material, search-select, cdk, ngrid
Update localstorage
Update rxjs
Update ngx-translate
Update ngx-translate-extract
Update @schematics/angular
Update some deps
Update dev deps
Fix css imports, lint
Downgrad CDK and Material for ngrid
Update docker
Provide pdf worker
Move static file output to django folder
Update readme / used files
Update package-lock.json for npm ci
2020-09-23 10:29:57 +02:00
Sean
059ace3a11 Adjust live stream permission
New rules to show the live stream and jitsi bar
2020-09-04 14:14:36 +02:00
Sean
b59c69e086 Update TinyMCE and TinyMCE angular
Updates TinyMCE and TinyMCE angular to the latest version
2020-08-13 12:27:14 +02:00
Sean
e75573e139 Download mutliple files as zip
Adds the possitibility to download folders
and multiple files as zip.
2020-08-12 15:24:37 +02:00
Emanuel Schütze
9aefb122e6 Release 3.2 2020-07-15 16:16:00 +02:00
Sean
346413fbb0 Fix duration service for non chrome browsers
-0, 0 and other uses of negative values in the duration service hat a
change of producing undesired results.
Added tests and fixed the function
2020-07-02 15:52:31 +02:00
Sean
fde745530e Updates some npm deps, fixes travis
Another thing for travis
2020-06-23 12:12:01 +02:00
Sean
9387a3f394 Catch unsupported browsers
unspoorted browsers trying to access the login mask will be forwarded to
an info page.
The info page shows that the browser is not suppoted and hints the smallest
supported version of their current browser.
As it works best and might prevent some support calls, I added an hint
for chrome as the favored browser by OpenSlides (debateable)

To update/downgrade the supported versions, simply edit the enum in the
service.

If we cannot detect the browser, we assume it was supported.
2020-06-11 14:39:14 +02:00
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
Raphael Topel
60621bf4d0 Fix tinymce version to 5.2.2 2020-05-22 22:19:45 +02:00
FinnStutzenstein
38486463bc delete all speakers of all lists of speakers 2020-04-23 09:43:04 +02:00
Sean
820a47123a Fix malfunctions in Firefox ESR
Various cryptic issues that had no usefull debug output.

ngx-translates "translate" directive was causing Firefox ESR
to jump in the "drainMicroTaskQueue" infinite recursion when
using the directive in the same component as nGrid.

Therefore, I changed all uses of the translate directive
to the pipe (arround 700 or so, regex is my best friend now)

open todo: adjust the linter that we may never use the translate
directive again.

There was another cryptic issue with the current version
of exceljs which was also causing firefox to go crash
when loading a workbook object. It was sufficient to
have any Workbook() function declared in a module to cause
firefox to crash.
2020-04-06 20:36:24 +02:00
Sean
7b5f2648af Update translation extractor 2020-04-06 17:18:04 +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
5bf3dfadff Fix Shift-Enter to save poll
Fixes a bug which caused the event listener not to register
in BasePollDialog

Also hot fixes a bug in babel
2020-03-23 14:26:38 +01:00
GabrielMeyer
96aa3b0084 Adds the chart and dialog for analog voting 2020-03-17 07:24:38 +01:00
Sean Engelhardt
c2ad39a2c5 Update ngrid, redefine prototypes of datatypes
Updates ngrid to the latest version
Use Object.defineProperty instead of
Number.prototype to safer extend native datatypes
2020-01-23 12:38:46 +01:00
Sean Engelhardt
ff271748d7 Reenable Service Worker
Fixes a regression that was preventing the service worker from loading
2019-12-17 10:00:57 +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
d3efba9dd5 Replace encode and decode
Replaces encode and decode with manual functions
2019-10-21 17:25:16 +02:00
Sean Engelhardt
58541aedd3 Adjust ng test to be more serverfriendly
Uses Chrome Headless without sandboxing for running Angular karma tests
add new "test-silently" command run tests in a more discrete way,
Should enhance testspeed on servers and CI
2019-10-11 14:29:38 +02:00
GabrielMeyer
71fdc28413 Build agenda with optional subtitle
- Updates the `virtual-scroll`-package.
- Updates the `list-view-table.component` for variable row-height.
- Adds config to have optional a subtitle in the `agenda-list`.
2019-09-24 11:15:28 +02:00
Emanuel Schütze
82d9f280ed Added new Russian language. Updated Czech translations. 2019-09-04 09:34:55 +02:00
Sean Engelhardt
62825f41b0 Update to angular 8.2
Increase the version of angular and our components
2019-08-30 10:57:28 +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
c42a9b4a13 Adds compiling to ES5 for IE11 2019-08-21 17:34:05 +02:00
Sean Engelhardt
1ecd5d663b Update NGrid and fix build errors
Set NGrid fix to alpha 26, since travis has issues with 27
Uses high memory to build, since a JavaScript heap out of memory exception will now be thrown
2019-08-15 12:01:09 +02:00
FinnStutzenstein
5aef823807 Major cache rewrite:
- Removed the restricted data cache (it wasn't used since OS 3.0)
- unify functions for restricted and full data: Just one function, which
  accteps an optional user_id: If it is None, full data is returned, and
  with a user id given, the restricted data
- More atomic access to redis, especially for:
- Check for data-existance in redis and do an auto-ensure-cache.
- Speedup through hashing of scripts and redis' script cache.
- Save schema version into the redis cache and rebuild, if the version
  changed

Client changes:
- Simplified the ConstantsService
- Fixed bug, when receiving an autoupdate with all_data=True from the
  Server
2019-08-08 08:35:02 +02:00
Joshua Sangmeister
b7c9b3f2ae w 2019-08-06 09:56:38 +02:00
jsangmeister
1bd93f0e98 added dialogs for creating and editing tags, statute paragraphs, motion comments and motion blocks 2019-08-06 08:03:59 +02:00
Sean Engelhardt
357b55ae43 Adjust compodoc to the new location of tsconfig 2019-08-02 12:23:17 +02:00
FinnStutzenstein
51a3fbdf3e New linting rules and ordering of imports 2019-07-30 09:53:14 +02:00
Sean Engelhardt
f2e9c558e1 Downgrade exceljs to 1.10.0
Upstream bugs exceljs prevent the writebuffer from working
2019-07-10 20:44:29 +02:00
Emanuel Schütze
a8ae878cd2 Run production build (ng build --prod) without --aot
aot is already set in angular.json.
2019-07-08 19:57:06 +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
Emanuel Schütze
611d0f4610 Use npm package text-encoding to fix IE11/Edge login.
IE11/Edge does not support TextDecoder/TextEncoder.
Solved by using the npm package 'text-encoding'.
2019-06-25 14:59:04 +02:00
Sean Engelhardt
582db8bf2c Remove unnecessary fs package
Remove a dev package and update the readme accordingly.
2019-06-24 11:45:35 +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
FinnStutzenstein
d9c88c02b3 Compression: Recieving compressed messages 2019-06-12 08:21:16 +02:00
FinnStutzenstein
213fc30800 Update prettier 2019-06-12 08:01:33 +02:00
André Böhlke
b3ff250d38 WIP: show PDF, PNG and JPEG files in projector 2019-05-27 16:08:10 +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
GabrielMeyer
6de79fc96a Implements a crawler to find all directly used packages
- Holds a 'default' `README.md` with the default content.
- Writes down all found packages with links to their repositories.
2019-04-16 14:20:59 +02:00
Sean Engelhardt
9b9bf244c1 Enhance excel exporting 2019-04-16 13:04:10 +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
Sean Engelhardt
a973ad1719 Export motions as excel document (.xlsx)
Adds exceljs library.
Extends the "motion export dialog" to support xlsx export with a specific set of rules similar
to CSV
2019-04-02 14:23:01 +02:00
GabrielMeyer
cd2907381b Includes hammerjs. 2019-03-25 14:41:47 +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