Ember Engine for the inosca/ebau-gwr backend.
# start a local CORS proxy
pnpm proxy
# start dev server
pnpm start
- Ember.js v4.12 or above
- Ember CLI v4.12 or above
- Node.js v18 or above
ember install ember-ebau-gwr
Mount the engine in your router file. You can specify a param in the url which
will then be used to filter the gwr-links
by their attribute local_id
.
this.mount("ember-ebau-gwr", { as: "gwr", path: "gwr/:id" });
In your config/environment.js
you need to define the following option for
changeset-validations
. We use this feature to generate translated errors:
"changeset-validations": { rawOutput: true },
Important This currentlry has the limitation, that if your app uses
changeset-validations
itself, this option changes the behaviour in the whole app. Due to engine config restrictions, there is sadly currently no other way than maybe implementing something on build-pipeline level.
The engine uses the UI framework "UIkit" through ember-uikit. To enable the styling, add the following import to app/styles/app.scss
:
@import "ember-uikit";
@import "ember-ebau-gwr";
The engine takes following services as argument:
dependencies = {
services: [
"config",
"intl",
"notification",
"dataImport",
"store",
"session",
],
};
The config service is used to pass config to the engine. The following properties can be configured:
Name | Type | Description |
---|---|---|
gwrAPI |
URL Path |
URL path to the gwr api proxy. Example: /housing-stat/regbl/api/ech0216/ |
isTestEnvironment |
Boolean |
Is the code deployed on staging or production |
cantonAbbreviation |
String |
BE , SZ ,UR etc. |
importModels |
[String] |
A list of model names for which the import should be available. Example: ["project", "building"] |
authToken |
String |
The authentication toke from the host app. |
camacGroup |
String|Number |
The current camac group of the user. |
pageSize |
Number |
The page size which the gwr api should return. |
modalContainer |
CSS Selector |
A CSS selector to render the modals in. |
All values should follow the officially used format.
In the dataImport
service the consuming application fetches and formats the data into the expected format. The format is the same data structure as the model properties which can be found in /addon/models
.
The service should define a fetchProject: async () -> Promise<Object>
function.
We expect a ember-simple-auth
session service which has the
data.authenticated.access_token
set.
See the Contributing guide for details.
This project is licensed under the AGPLv3.