Commit Graph

959 Commits

Author SHA1 Message Date
D. Berge
8411eea29d Stop race condition between multiple WebSockets.
Only one websocket should be active or initialising
at any one time.
2020-09-06 18:09:04 +02:00
D. Berge
513e6d6bc5 Fix Webpack development proxy configuration 2020-09-06 14:54:03 +02:00
D. Berge
9c20c4295f Make sequence, line, point getters return numbers if possible 2020-09-04 01:33:18 +02:00
D. Berge
8793f99648 Add lineStatus getter 2020-09-04 01:33:18 +02:00
D. Berge
5b21f57587 Adapt log for online shot input 2020-09-04 01:33:18 +02:00
D. Berge
45885c0081 Add gun info to map position 2020-09-04 01:33:18 +02:00
D. Berge
a253578a1b Make SmartSource header less verbose.
PostgreSQL NOTIFY has an 8,000 bytes payload limit
and we were going over that.
2020-09-04 01:33:18 +02:00
D. Berge
1a851fefdf Fix issue with protocol detection 2020-09-04 01:33:18 +02:00
D. Berge
5c8f8023d6 Remove debug statement 2020-09-04 01:33:18 +02:00
D. Berge
a167d4954c Use server notifications on map.
The real-time position is pushed via a websocket rather
than pulled at regular intervals.
2020-09-04 01:33:18 +02:00
D. Berge
34dfb4f862 Add websocket client to receive event notifications.
These are saved in the Vuex store and can be retrieved
via the `serverEvent` getter. There are also some
convenience getters for retrieving line status.
2020-09-04 01:33:18 +02:00
D. Berge
52907921f1 Add websocket server to emit DB notifications 2020-09-04 01:33:18 +02:00
D. Berge
a9a084b531 Cope with prospect detection not working during approach / runout 2020-09-04 01:31:39 +02:00
D. Berge
78aaacb8b3 Improve sequence list search 2020-09-02 11:09:04 +02:00
D. Berge
d683f00594 Implement SmartSource header parser 2020-09-02 08:59:22 +02:00
D. Berge
0a2f0b0b60 Refactor save() so that we can force a specific CRS.
This was brought about due to the absence of CRS information
in the navigation header outputs. We get either unqualified
easting / northing or unqualified latitude / longitude, neither
of which happen to be WGS84.

This is not a good solution as it involves manual configuration,
but allows us to move forward for the time being.
2020-09-02 08:55:08 +02:00
D. Berge
ff2e30511c Refactor save() call to pass in header.meta options 2020-09-02 08:54:16 +02:00
D. Berge
1f60ebae47 Make selection of headers to parse configurable 2020-09-02 08:52:49 +02:00
D. Berge
e9f62a420a Only fetch real-time positions when layers are visible 2020-09-01 12:37:59 +02:00
D. Berge
7dbfb3ab6a Change real-time position marker 2020-09-01 12:37:39 +02:00
D. Berge
bf896f71dc Show also NTBP and in progress sequence statuses 2020-09-01 12:36:00 +02:00
D. Berge
297829f343 Do not list raw/final files if there aren't any 2020-09-01 12:35:30 +02:00
D. Berge
4291b83817 Show raw and final remarks in expanded row 2020-09-01 12:34:58 +02:00
D. Berge
276af8fcd6 Filter sequence list locally (fetch all sequences).
Even in the event that we have thousands of sequences
this should be acceptable and gives us more flexibility
at lower effort than paginating on the server.
2020-09-01 12:33:01 +02:00
D. Berge
c8e0dc5d02 Return only real files from sequence list endpoint.
In other words, filter out real-time data.
2020-09-01 12:30:49 +02:00
D. Berge
880891cc2b Add real-time position to map 2020-09-01 11:01:13 +02:00
D. Berge
eded667d79 Add endpoint for retrieving real-time data as GeoJSON 2020-09-01 10:58:37 +02:00
D. Berge
557d87de72 Add endpoint to retrieve real-time input data 2020-09-01 10:56:25 +02:00
D. Berge
bfc4124b33 Save to real_time_inputs also when we're on a line 2020-09-01 10:52:38 +02:00
D. Berge
bed9cdc69f Add UDP server for navigation system headers 2020-08-31 14:36:56 +02:00
D. Berge
c0c395d9a0 Save online and offline real-time data to database 2020-08-31 14:36:56 +02:00
D. Berge
e4803da149 Add decoders for Hydronav, LABOv3 navigation headers 2020-08-31 13:40:56 +02:00
D. Berge
433daca9ef Add deep properties getter utility function to config.
cfg._("a.deep.property") returns the value of
cfg.a.deep.property if it exists. If the property
or any of its parents do not exist, returns undefined.
2020-08-31 13:07:27 +02:00
D. Berge
a9247c691c Handle division by zero 2020-08-29 12:52:29 +02:00
D. Berge
d863f4221d Remove extra space from output 2020-08-29 10:36:04 +02:00
D. Berge
a5fe545885 Update URL with map view parameters.
The hash part encodes the current view so that it
is recreated when sending a link to someone.
2020-08-29 10:30:30 +02:00
D. Berge
fb4d25643e Implement project summary view 2020-08-28 13:49:14 +02:00
D. Berge
162a8878a9 Add help link to footer 2020-08-28 13:48:03 +02:00
D. Berge
e5bc5a0757 Refactor project summaries to use database views 2020-08-26 20:20:53 +02:00
D. Berge
1bf0b67409 Fix Project component name 2020-08-26 20:20:53 +02:00
D. Berge
b165fc2b2a Rely on Vuex for loading state indications 2020-08-26 17:48:55 +02:00
D. Berge
96d8e0df13 Add loading state indicator to Vuex store.
Every time an API call is made via the store's own `api`
interface, a request counter is incremented. It is
decremented whenever a call completes, whether sucessfully
or not.

If the request counter is at zero, no requests are in
progress. This is exposed to the user via the `loading`
getter.

Calls made other than via the store's `api` interface
will not be registered. The user can choose to increment /
decrement the request counter manually via the relevant
store methods.
2020-08-26 17:42:59 +02:00
D. Berge
cb4846c900 Refactor project DB routines 2020-08-26 17:41:40 +02:00
D. Berge
c7c8f5df8a Sort sequence list by sequence descending by default 2020-08-25 18:31:51 +02:00
D. Berge
da3d273c41 Show expanded sequence information 2020-08-25 18:04:42 +02:00
D. Berge
438f050c2a Add possibility to return associated files if requested.
Pass a trueish value in opts.files to get the list of
raw and final files associated with a sequence. It does
make the query about 30% slower as it stands.
2020-08-25 18:02:28 +02:00
D. Berge
ab23b6e2e6 Reword text field label 2020-08-25 13:02:56 +02:00
D. Berge
98b35d4b89 Implement sequence list view 2020-08-25 13:02:20 +02:00
D. Berge
f366e99c35 Add Vue debounce plugin 2020-08-25 13:01:38 +02:00
D. Berge
00f1ea20da Allow sequences to be filtered.
Sequences can be filtered by:
* sequence number;
* line number;
* start / end date (of raw acquisition);
* remarks (raw or final).
2020-08-25 12:59:40 +02:00