OpenSlides/client
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
..
e2e change the global prefix to "os" 2018-09-03 18:13:57 +02:00
src Add virtual scrolling to tables 2019-06-14 11:18:54 +02:00
.editorconfig cleanup and refractor code 2018-08-15 10:19:46 +02:00
.prettierrc Fixed style issues introduced with #4025 2018-11-22 09:52:24 +01:00
angular.json Update to angular 7.2.5 2019-02-20 13:13:34 +01:00
ngsw-config.json Service Worker Updates 2019-05-06 13:13:09 +02:00
package.json Add virtual scrolling to tables 2019-06-14 11:18:54 +02:00
proxy.conf.json Revert rest fix for proxy.conf.json 2019-01-19 21:59:32 +01:00
README.md Implements a crawler to find all directly used packages 2019-04-16 14:20:59 +02:00
sed_replacements po2json-tempfix 2019-01-28 16:14:51 +01:00
tsconfig.json Migrate to Angular version 7.2.14 2019-04-25 13:15:24 +02:00
tslint.json Refactured client 2019-06-13 10:09:08 +02:00

OpenSlides 3 Client

Prototype application for OpenSlides 3.0 (Client). Currently under constant heavy maintenance.

Development Info

As an Angular project, Angular CLI is highly recommended to create components and services. See https://angular.io/guide/quickstart for details.

Contribution Info

Please respect the code-style defined in .editorconf and .pretierrc.

Code alignment should be automatically corrected by the pre-commit hooks. Adjust your editor to the .editorconfig to avoid surprises. See https://editorconfig.org/ for details.

Pre-Commit Hooks

Before commiting, new code will automatically be aligned to the definitions set in the .prettierrc. Furthermore, new code has to pass linting.

Our pre-commit hooks are: pretty-quick --staged and lint See package.json for details.

Documentation Info

The documentation can be generated by running npm run compodoc. A new web server will be started on http://localhost:8080 Once running, the documentation will be updated automatically.

You can run it on another port, with adding your local port after the command. If no port specified, it will try to use 8080.

Please document new code using JSDoc tags. See https://compodoc.app/guides/jsdoc-tags.html for details.

Development server

Run npm start for a development server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

A running OpenSlides (2.2 or higher) instance is expected on port 8000.

Start OpenSlides as usual using python manage.py start --no-browser --host 0.0.0.0

Translation

We are using ngx-translate for translation purposes. Use npm run extract to extract strings and update elements an with translation functions.

Language files can be found in /src/assets/i18n.

Used software

OpenSlides uses the following software or parts of them: