OpenSlides/.travis.yml
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

149 lines
3.7 KiB
YAML

dist: xenial
sudo: true
matrix:
include:
- language: python
name: "Server: Tests Python 3.6"
cache:
pip: true
python:
- "3.6"
install:
- python --version
- pip install --upgrade setuptools pip
- pip install --upgrade --requirement requirements/development.txt
- pip install --upgrade .[big_mode]
- pip freeze
script:
- python -m mypy openslides/ tests/
- python -W ignore -m pytest --cov --cov-fail-under=70
- language: python
name: "Server: Tests Python 3.7"
cache:
pip: true
python:
- "3.7"
install:
- python --version
- pip install --upgrade setuptools pip
- pip install --upgrade --requirement requirements/development.txt
- pip install --upgrade .[big_mode]
- pip freeze
script:
- flake8 openslides tests
- isort --check-only --diff --recursive openslides tests
- black --check --diff --target-version py36 openslides tests
- python -m mypy openslides/ tests/
- python -W ignore -m pytest --cov --cov-fail-under=70
- language: python
name: "Server: Tests Startup Routine Python 3.7"
cache:
pip: true
python:
- "3.7"
install:
- python --version
- pip install --upgrade setuptools pip
- pip install --upgrade --requirement requirements/development.txt
- pip install --upgrade .[big_mode]
- pip freeze
script:
- set -e
- python manage.py createsettings
- python manage.py migrate
- python manage.py runserver --noreload & (sleep 15 && kill $(ps aux | grep 'manage.py runserver' | head -n -1 | awk '{print $2}'))
- set +e
- language: node_js
name: "Client: Linting"
node_js:
- "10.5"
cache:
directories:
- node_modules
before_install:
- npm install -g @angular/cli@~7.3.8
- ng --version
- cd client
install:
- npm install
script:
- npm run lint
- language: node_js
name: "Client: Code Formatting Check"
node_js:
- "10.5"
cache:
directories:
- node_modules
before_install:
- npm install -g @angular/cli@~7.3.8
- ng --version
- cd client
install:
- npm install
script:
- npm list --depth=0 || cat --help
- npm run prettify-check
- language: node_js
name: "Client: Testing"
node_js:
- "10.5"
apt:
sources:
- google-chrome
packages:
- google-chrome-stable
cache:
directories:
- node_modules
services:
- xvfb
before_install:
- export CHROME_BIN=/usr/bin/google-chrome
- export DISPLAY=:99.0
- npm install -g @angular/cli@~7.3.8
- ng --version
- cd client
install:
- npm install
script:
- ng test --watch=false
- language: node_js
name: "Client: Build"
node_js:
- "10.5"
cache:
directories:
- node_modules
before_install:
- npm install -g @angular/cli@~7.3.8
- ng --version
- cd client
install:
- npm install
script:
- ng build
- language: node_js
name: "Client: Production Build"
node_js:
- "10.5"
cache:
directories:
- node_modules
before_install:
- npm install -g @angular/cli@~7.3.8
- ng --version
- cd client
install:
- npm install
script:
- npm run ng-high-memory build --prod