15e9ea898b
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.
149 lines
3.7 KiB
YAML
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
|