Commit Graph

36 Commits

Author SHA1 Message Date
FinnStutzenstein
be9f98cfd0 App initialization
Used for internal apps as well as for plugins. The pluginpart is
currently missing, in fact that the main OpenSlides part is more
important. Apps can give their models and mainmenu entries.

Routes are not enabled, because the routes have to be static for webpack
to build the bundles. If we want to keep lazy loading, I see no
possibility to encapsulate the routes from the site-routing module.
2018-09-28 15:03:04 +02:00
sean
adb7556be0 User create update and details view 2018-09-28 12:29:33 +02:00
Jochen Saalfeld
d785d77207 restructuring patching of values to ensure type safety
fix disappearing submitters (hopefully)

- replaced "motion from form values" function with deserialize
- fix some typos
- make id id again

null, in contrast to undefined, will be send to the server...

Better typing and changed the create/update signatures in BaseViewModel

- use object as default type for BaseModel.
- use partial objects for updating
- Displayable should not have an id. Moved this into own interface
Identifiable and make the id in the BaseViewMotion abstract.
- create only takes a BaseModel. A ViewModel should not exists so far.
- Updated the update and create method for motions.
2018-09-24 10:45:53 +02:00
FinnStutzenstein
1ee76de417 Handling of titles, projection and content objects in items
Restructure the titles for motion, motion-block, assignment and topic.
Less possibilities for more clear code. Added mote base models enabling
functionalities of projection and being a content object for items
2018-09-14 08:36:35 +02:00
FinnStutzenstein
faa2507c0d remove console.log 2018-09-13 15:07:56 +02:00
FinnStutzenstein
1b691f5eb6 Removed root injector 2018-09-13 15:06:43 +02:00
Sean Engelhardt
39f266d2de Motion Repository
Adds a repository to remove the logic in the motion domain object
The repository will add a new model layer between the components
and the domain objects

implicitly add a new buttion into the motion detail view
2018-09-10 14:53:47 +02:00
FinnStutzenstein
3e0618063b Routing for the privacy policy and legal notice.
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
2018-09-10 11:39:46 +02:00
FinnStutzenstein
9bb44f13bd Stricter linting rules
Parameter and return types are required now
2018-09-10 10:24:28 +02:00
FinnStutzenstein
dc0c92253d Type interference for the DS 2018-09-10 09:53:21 +02:00
FinnStutzenstein
e53a75f922 changed and deleted observable for the datastore. Removed ModelId 2018-09-07 12:51:16 +02:00
FinnStutzenstein
98250f4e45 less constructors 2018-09-04 14:46:21 +02:00
FinnStutzenstein
698f3d83fe ConfigService 2018-09-04 14:12:10 +02:00
Finn Stutzenstein
fa9d8de21c
Merge pull request #3841 from FinnStutzenstein/models-more-types-and-cleanup
More type annotations and resulting changes, cleanup
2018-09-04 11:27:51 +02:00
FinnStutzenstein
41c09ce9ea More type annotations and resulting changes, cleanup 2018-09-04 09:39:51 +02:00
FinnStutzenstein
ea71d0a942 moved privacy policy to users, adapt client 2018-09-04 08:57:54 +02:00
FinnStutzenstein
8adaa6118a Angular constants via WebSocket
- new format for constants on the server
- adaptions for the old client
2018-09-04 08:57:11 +02:00
FinnStutzenstein
b4e7d949b1 More linter rules 2018-08-29 13:57:43 +02:00
FinnStutzenstein
4e41e8c603 Auth/Operator/Anonymous/WS-Stuff
- operator is more lightweight
- auth and auth-guard service updated
- anonymous in login form
- improved login form
- websocket retries to reconnect
2018-08-29 13:07:05 +02:00
Sean Engelhardt
897488f3a4 Add reusable head bar component
- implement the head bar in all apps
- work on the documentation
2018-08-28 13:55:19 +02:00
FinnStutzenstein
4d6f703e32 Caching, preparations for the chage id 2018-08-27 12:36:33 +02:00
FinnStutzenstein
95564f9a74 Singleton DS, inject things into it. 2018-08-24 10:47:17 +02:00
FinnStutzenstein
22f7d84cae New websocket message format for both clients 2018-08-23 21:02:59 +02:00
Sean Engelhardt
3d54ee9668 Add viewport service, adjust proxy and environment 2018-08-23 17:25:58 +02:00
Sean Engelhardt
70416df50b Add data-send, option to delete motion 2018-08-22 16:03:49 +02:00
Sean Engelhardt
de61505b00 Put/Post motions to server
Temporarily over dataStore, will need own service
2018-08-22 11:26:53 +02:00
Sean Engelhardt
133ecb4724 add new Motion form 2018-08-21 14:56:26 +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
30ac9c8e36 autoupdate, permissions, operator, directive
-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)
2018-08-15 10:19:46 +02:00
Sean Engelhardt
2331ecd6b8 Add classes for models, rework datastore, injections
- Basic construction and datatypes of all objects
- create objects out of websocket response
- autoupdate service
- re-structure core models
- DataStore is easier to use
2018-08-15 10:19:46 +02:00
Sean Engelhardt
2b60b4ef4f simplify models, and datastore
- example on static functions and TS generics
- exmaple on data encapsulation and "single responsibility"
2018-08-15 10:19:46 +02:00
FinnStutzenstein
8b31fa15f2 First Idea for the DataStore 2018-08-15 10:19:46 +02:00
Sean Engelhardt
0b6996b700 Add WebSockets using rxjs/webSocket, autoupdate example 2018-08-15 10:19:46 +02:00
Sean Engelhardt
986e5f03b5 Add Material "Snackbar", restructure projector
- Since MaterialUI does not have an equivalent to bootstrap alterts,
the toast service and alert service are marked as deprecated for now.
The functionality has been replaced with the snackbar.
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