commit | a48ee2afa36f2ed21d18935489e3e77aa78508e4 | [log] [tgz] |
---|---|---|
author | Christopher Keim <keim@develop-group.de> | Fri Nov 13 09:41:06 2020 +0100 |
committer | Christopher Keim <keim@develop-group.de> | Fri Nov 13 09:41:06 2020 +0100 |
tree | 54b2d8ac8d052c6aea40123b98529deb6668d6cb | |
parent | c14146b0bbe4558789044f7da42ca8c23d75538c [diff] |
[TOB-127,21,406,74,315,52,92,354,391] feat: v0.9.0 [TOB-127] feat: Add components to display statement details * Add back end calls for statement details * Add component to display general statement information * Add component to display geographic position * Add component to display contribution status * Add component to display statements inbox attachments * Add component to display statements outbox attachments * Add component to display linked statements * Integrate details components in details page * Integrate details components in form components * Refresh process history on task change [TOB-21] feat: Add functionality to manually redispatch statement email * Add back end calls to redispatch statement email * Add store actions and effect for redispatching statement email * Integrate store into statement details page [TOB-406] feat: Add statement search * Extend back end API interface for search parameters * Add component for search filters * Add sorting buttons to statement table component * Integrate statement search into search page [TOB-74] feat: Add map to position search page * Reorganize routing of search subpages * Add directive to display leaflet popups * Integrate leaflet map, markers and popups into position search page [TOB-315] feat: Add search functionality to position search page * Add back end calls for position search * Add store effect for position search * Integrate search component and store into position search page [TOB-52] feat: Add GIS call to leaflet map * Reorganize website configuration to separate config file * Add back end calls to transform geographic positions * Add store module for leaflet map * Add store effecto to open GIS * Integrate store module into map components * Match leaflet styling to openk theme [TOB-92] feat: Add upload functionality for consideration attachments * Add component to display and upload consideration attachments * Integrate component into details page [TOB-354] feat: Add dockerfiles [TOB-391] fix: Fix minor bugs * Cancel rerouting of email when leaving mail page * Prevent refetching of deleted emails * Properly reset error messages in side menu * Also perform contact search in new statement page when no mailid is provided * Close drop downs on scroll * Fix minor styling issues Signed-off-by: Christopher Keim <keim@develop-group.de>
This application represents a user module for the Eclipse openK User Modules project.
With npm
in the path variable, run first npm install
to download and install all dependencies of this module. After that, all npm scripts for deploying, developing and testing are available.
Additionally, archiving the build as WAR file requires also the Java Archiver command line tool in the path variable.
The whole application can be configured via certain properties in file ./app.config.json
. Changes to these properties take only effect after (re-)building the application.
routes.spaBackend
: Route on which the website's backend is servedroutes.portal
: Route on which the main portal is servedroutes.contactDataBase
: Route on which the contact data baseleaflet.urlTemplate
: URL template to the map tile server required by Leafletleaflet.attribution
: Attribution which is added to all Leaflet mapsleaflet.lat
/leaflet.lng
/leaflet.zoom
: Default coordinates and zoom level to which all leaflet maps are initially configuredgis.urlTemplate
: URL template to the geographic information system (GIS)gis.projectionFrom
: Coordinate projection used by the configured Leaflet tile servergis.projectionTo
: Coordinate projection used in the configured GISnominatim.url
: URL to a Nominatim geocoding servicenominatim.searchQueryPrefix
: Prefix which is added automatically to every Nominatim search queryThe following key words are replaced in the given GIS URL template for each map view:
{centerX}
, {centerY}
: Center coordinates{northEastX}
, {northEastY}
: North east boundary coordinates{northWestX}
, {northWestY}
: North west boundary coordinates{southEastX}
, {southEastY}
: South east boundary coordinates{southWestX}
, {southWestY}
: South west boundary coordinates{user}
: User nameAll coordinates are transformed via a HTTP call to the back end. For all available projections, please visit Proj4j.
Building the application is done via the Angular CLI or by the provided scripts in the ./package.json
(which also provide all necessary configuration steps):
npm run build
Build the application via the Angular CLI to the ./dist/statement-public-affairs
foldernpm run archive
Archive the build as WAR file to ./dist/statement-public-affairs-frontend.war
Note that the archiving script requires the Java Archiver (jar
) command line tool in the path variable.
Run npm run start
for setting up a local dev server which is served on http://localhost:4200/. The local dev server is also a proxy which can be configured by the file ./proxy.conf.json
. It redirects all calls to the back end to a specific location.
Run npm run test
to execute all tests via Karma and Jasmine. This also sets up a local dev server with live reload.
Run npm run test:report
instead to generate a coverage report at the folder ./coverage/statement-public-affairs
.
Run npm run lint
for linting all source files, both typescript and (s)css code.
Run npm run lint:report
to generate instead linting report files at ./lint.ts.report.json
and ./lint.styles.report.json
.
Run npm run sonar
to upload the test and linting reports to a sonarqube instance via the sonar-scanner. This can be configured either by the ./sonar-projects.properties
file or by arguments on the command line. For example, uploading the reports to a different port can be done via:
npm run sonar -- -Dsonar.host.url=http://localhost:9001
Run start:storybook
for setting up a local storybook server.
Run build:storybook
instead for building the storybook webpage for later use.
Run npm run list-licenses
to generate a listing of all packages and their licenses used for production. A file is created at ./licenses.txt
. The content of this file is required in the ./NOTICE.md
file.
Run npm run check-legal-headers
to check if all source files have a specific legal header.
Run npm run pre-commit
to check if a commit passes the pre-commit script. This script concatenates npm run lint
and npm run check-legal-headers
.