view client/docs/developers.md @ 4348:dc5a10542e16

client, docs: add hints about svg2pdf shortcomings
author Bernhard Reiter <bernhard@intevation.de>
date Mon, 09 Sep 2019 12:35:25 +0200
parents 8ac59c8183e8
children 6365466ead83
line wrap: on
line source

When developing wamos, check out

* [How translations are handled](dev-translations.md)
* [Rationale of some choices](dev-generalconsiderations.md)

## Hints

### svg2pdf

https://github.com/yWorks/svg2pdf.js has known shortcomings,
which we work around.

Not all layout possibilities of webbrowser are not supported!

Our tactics is to report the problems, but work around them, if we can,
some examples:

 * https://github.com/yWorks/svg2pdf.js/issues/82 (Unsupported features/Known issues)
 * https://github.com/yWorks/svg2pdf.js/issues/109 (alignment-baseline attribute does not work)
 * https://github.com/yWorks/svg2pdf.js/issues/100 (Font-size in `em` unit does not work)


### Testing diagram layout and pdf export

When testing the vuex store object can be accessed from the
webbrowsers console like

```javascript
store = document.getElementsByTagName('a')[0].__vue__.$store
```

This allows for setting test values where getting real test data
is complicated. For example testing the diagramm for the
fairwayavailability (tested with Chromium 73 und gemma-2019-09-04):

```javascript
data = store.state.fairwayavailability.csv

data=`#time,# < LDC (164.0) [h],# >= LDC (164.0) [h],# < 230.0 [h],# >= 230.0 [h],# >= 250.0 [h]
01-2019,0  ,744,  0,  0,744
02-2019,324,324,150,174,324
03-2019, 24,696, 80, 45, 50
04-2019,120,600, 24, 24,672.5
05-2019,140,80 , 80, 45, 50
06-2019,  0,  0,  0,  0,  0.000
07-2019,  0,300,  0,  0,  0
08-2019,  0,  0,744,  0,  0
09-2019,  0,720,  0, 96,624
`

store.commit("fairwayavailability/setAvailableFairwayDepthData", data)
```

(Depends on the code structure in store/fairwayavailability.js.)