For Motion poll:
- Overworked how motion poll chart displays the legend
- Added the vote counter to the motion detail
- Added a progress bar to the vote counter
- Fixed some perm errors with the chart
- Show a "Singe Votes" link as button for published named polls
- Replace the edit-button with a dot-menu
- Having project, Edit, PDF and Delete
For Motion Poll detail:
- enhance search panel
- Remove the breadcrumbs
- Remove the vote counter
- Enhanced the single-vote grid, table and filter bar
- Enhance how the poll state enum was checkend
For the Motion Poll Create/Update Form:
- Remove the selection of poll-methode (whenever possible)
- only show "publish imediately" during creation
- Moves the 'spinner.component' to 'site.component'
- Replaces also the 'spinner.service' with an 'overlay.service', that handles all request to
show an element on an overlay.
Adds amendments to motion pdf summary box - only if the state of them accepts the merge into the parent motion.
Adds a new flatMap function to array.prototype (should be safe to use until
Array.flatMap made it into official JS. I expect it in ES 2019.
Refactors some PDF and ChangeReco / Amendment related code
- The AppComponent listens to `stable`-state and `user` to determine whether the spinner should be hidden.
- Show the spinner only if the login data are correct.
- If the user is anonymous, the spinner will be hidden when the app is stable.
Updates will be observed from site component
(Makes pure projectors ignore updates, unless the user navigates manually)
Updates can now be delayed using the "noInterruption" route data.
If the "noInterruption" route data was set, updates notifications
will not be shown in this view.
The update notification will appear, after the user navigates
to a view without "noInterruption" flag.
- If the previously selected theme is not available the default OpenSlides theme will be displayed.
- Before the current selected theme was loaded, no theme is displayed.
Introdcues a new update service.
Listens to service-worker updates and shows a snack-bar to inform about updates.
Provides a function to manually check for updates.
The service worker tries to be consistent in it's own version and
updates in the background.
Some manuall trigger will be required to update, which is either a
reload or the execution of the provded check function
with help from
@FinnStutzenstein
Seperates the previously large motion module in various smaller
and very small feature modules.
Motion Detail, and all direct dependancies to Motion Detail
is now an own module.
This significantly increases the response time of openslides 3
Save those values in a new service, that will also watch for changes in
config variables. UI is not good; this can be done later
Share legal notice and privacy policy
Created some containers for them
Also:
Set linting output to "stylish" (more readable error messages in terminal output)
Remove 2nd linting output
rename "appOsPerms" to just "osPerms" including filename and classname
rename all selectors from "app" to "os"
* 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
- 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))
- 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
-overworked login and logout
-new directive 'appOsPerms'
(former os-perms)
-appOsPerms compares with groups in Operator
-login observes operator for user-information
(also serves as example on how to user observables and subjects)
-operator observes datastore for groups
(so the operators knows it's groups by creation or directly after an
autoupdate)
- Basic construction and datatypes of all objects
- create objects out of websocket response
- autoupdate service
- re-structure core models
- DataStore is easier to use
- 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