Commit Graph

110 Commits

Author SHA1 Message Date
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