Commit Graph

112 Commits

Author SHA1 Message Date
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
Sean Engelhardt 53ea73ccde Add "No." as translateable
To display user numbers, No. is now translateable
2019-02-20 16:17:05 +01:00
Sean Engelhardt 8f83fc1bd5 Update to angular 7.2.5
Adds new update to angular 7.2.5 including fresh npm packages.
vulnerabilities currently concern PDF and dev-packages only
2019-02-20 13:13:34 +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
Emanuel Schütze 279d1323fa Updated translations 2019-02-11 21:39:14 +01:00
Maximilian Krambach 66a1ac1532 estimated duration, and datetimepicker in config 2019-02-05 13:49:48 +01:00
Jochen Saalfeld f5ac1822bf
pinning typescript to <3.3 - fixes #4249 2019-02-04 11:55:58 +01:00
Emanuel Schütze a4fcc43121 Hotfix: Downgrade terser to 3.14.1
see https://github.com/webpack-contrib/terser-webpack-plugin/issues/66
2019-02-03 22:26:47 +01:00
FinnStutzenstein 97f60c1e6c Restructure the client, register Repositories and map to collection
strings.
2019-02-01 10:19:17 +01:00
Sean Engelhardt b5ea837e0a Update to angular 7.2.2
- updates the dependancien in package.json
- Angular is now compatible with current typescript
- Jasmine/Karma supports LazyLoading again
2019-01-30 12:54:25 +01:00
Maximilian Krambach 52d622b624 po2json-tempfix
run through sed after autotranslating po2json
2019-01-28 16:14:51 +01:00
Sean Engelhardt e680ca38da Add PDF custom fonts 2019-01-22 11:59:16 +01:00
FinnStutzenstein 74e0bea108 Wirst work for the projector system on the client 2019-01-19 21:26:05 +01:00
Sean Engelhardt 9b61603dae Add motion to pdf converter
Adds the converstion from motion to PDF.
Uses pdfmake as the old openslides does
2019-01-18 20:25:06 +01:00
Emanuel Schütze f83f3fed46 Use OpenSlides as Progressive Web App (PWA). 2019-01-17 15:58:05 +01:00
Jochen Saalfeld 4c02661649
Merge pull request #4102 from MaximilianKrambach/npmfix
fix vulnerable npm dependency angular-devkit
2019-01-14 10:00:59 +01:00
Emanuel Schütze 1ff84c1ae1 UI improvements 2019-01-11 16:51:43 +01:00
Maximilian Krambach 5d989a8847 fix vulnerable npm dependency angular-devkit 2019-01-11 11:20:50 +01:00
Maximilian Krambach 060d8c8324 motion csv import 2019-01-11 10:47:20 +01:00
FinnStutzenstein 6e87a4bd80 Use prettier 2019-01-10 12:54:22 +01:00
Jochen Saalfeld 66d71a6ce1
updating development.rst and add missing fields to package.json
The Development.rst was still a bit outdated and has now been fixed to be
coherent with the current development process.

Fixes #4083
2019-01-07 14:09:30 +01:00
Maximilian Krambach c7cd510819 update dependency (angular-devkit) 2019-01-07 10:08:34 +01:00
FinnStutzenstein af67164972 ngx translate extract hotfix 2018-12-20 11:20:34 +01:00
Jochen Saalfeld 30f45822c9
fixing ts version due to conflict
"@angular/compiler-cli@7.1.1 requires typescript@'>=3.1.1 <3.2'
2018-11-30 09:33:13 +01:00
FinnStutzenstein 101d6c96cd using angular2 tree for the nested motion call list 2018-11-22 17:16:20 +01:00
Sean Engelhardt c52b86a33f Include TinyMCE 2018-11-22 15:57:51 +01:00
Sean Engelhardt e791177ac5 Upload media files 2018-11-20 14:29:36 +01:00
Sean Engelhardt d67e39b994 update dependencies and prettierrc 2018-11-15 10:24:37 +01:00
Emanuel Schütze 128f17e7a4 Updated German translations and translatable strings 2018-11-08 18:50:06 +01:00
FinnStutzenstein 445aeb0cb4 change id client 2018-11-08 08:04:41 +01:00
Maximilian Krambach 86b6296205 saving as CSV implemented (user list) 2018-11-02 17:57:44 +01:00
Oskar Hahn 9eef4da21c remove old client 2018-10-25 16:04:28 +02:00
Sean Engelhardt 2a06075315 Repair Categories, DataSend and Motion Detail
update to angular 7
2018-10-23 13:44:47 +02:00
Jochen Saalfeld a7b01fc09c implementing sorting in categories (fixes #3903) 2018-10-23 13:19:43 +02:00
Sean Engelhardt 2cc9188962 Add Material Icon library
replace font-awesome icons with material icons
2018-10-12 15:13:57 +02:00
Maximilian Krambach 831b0a42ae add roboto/roboto-condensed font, set as used font (wip) 2018-10-11 14:37:20 +02:00
Jochen Saalfeld e013aeea64
Updating Angular to the new 7 beta
This enables us to use Drag n Drop and other components, without
using any plugins.
2018-10-01 09:06:40 +02:00
Sean Engelhardt 80cfeaac35 Create more list views
Also:
- Update dependencies
- Clean up proxy file
2018-09-18 10:21:59 +02:00
Jochen Saalfeld 535e0b2ba3
search-value-selector as shared component
Also making sure that every BaseModel implements onString to be
displayable by a Selector.

And adding the new search-value-selector in the motion-detail-view
2018-09-13 07:57:46 +02:00
Jochen Saalfeld 68e27c439e
updating dependencies and replacing node-uuid with uuid 2018-09-07 10:59:13 +02:00
Jochen Saalfeld 5da2bed4d1
updating the compodoc run command 2018-09-03 12:05:01 +02:00
Jochen Saalfeld f8d29d083a
Travis linting and some minor changes
* properly ignore multiple virtual environments and vscode folders

* use scss instead of css in app.component

* remove yarn from client

* remove deprication error

* auditing packages

* updating travis to work with the new client
2018-08-28 10:35:22 +02:00
FinnStutzenstein 4d6f703e32 Caching, preparations for the chage id 2018-08-27 12:36:33 +02:00
Sean Engelhardt 41ba616dc1 create OpenSlides3 Material CSS Theme
Add theming options, custom component theming.
Creating themes for specfic brands is very easy now.
2018-08-15 10:19:46 +02:00
Sean Engelhardt 76ce18cfd8 Add modules and lazy loading
- core modules contains core services
- shared module contains "dumb" components (directives, models)
  - used by nearly all modules
- site, it's children and projector are now feature modules
  - full lazy loading with independent routing
  - routing for children (extremely helpful for plugins (later))
2018-08-15 10:19:46 +02:00
Sean Engelhardt 6b09427565 document, restructure, add relations
- models get other models from DataStore (Relations)
- documentation using Compodoc
- rename and restructure
- http-interceptor makes all http-objections obsolete
- created 'Deserializable model' interface for better mapping of JSON objects
  - Supports multiple nested objects
  - No foreign dependancies, no magic
  - Simple yet efficient deserialize function
  - arrays of nested objects
- created more classes for better OOP AOP
2018-08-15 10:19:46 +02:00
Sean Engelhardt e605649a9b Add translation module and lang switcher
- uses ngx-translate
- extracts all strings marked with " XXX | translate " or <X translate>
  using ngx-translate-extract (npm run extract)
- custom translation loader prevents empty strings
- default language is english
- will try to use the browsers language, will fallback to english
- functional language switching menu
- not compatible with current PO files
- current JSON-translation can be re-used
2018-08-15 10:19:46 +02:00
Sean Engelhardt 4966092b31 Add basic material ui components 2018-08-15 10:19:46 +02:00
Sean Engelhardt 42473e1a8a cleanup and refractor code
-combine the features of the two previous commits
-add prettier and pretty-quick
-more routing and logout button
2018-08-15 10:19:46 +02:00
Sean Engelhardt ed2e44b484 Add scaffold for angular 6 client
- basic client structure
- authentication towards OS-server
- access REST-Api
- webpack proxy for convenient usage
- fontawesome
- twitter bootstrap 3.3.7
- login example (recreate login page)
- routing
- template for agenda and motions
- dynamic content loading
- custom alert component
- add auth-guard
- checks if a user is logged in and makes correct forwarding
- authentification towards OS works
- saving the log in information is WIP
2018-08-15 10:19:45 +02:00