Preferences are read from the store and passed to graph components
via the `settings` prop. Component may changed their own settings
by emitting the `update:settings` signal.
The user preferences are saved in the browser's localStorage and
read by setCredentials() whenever that function is called. From
that point they are cached in the Vuex store.
Provided that preferences are only modified through the store,
via the saveUserPreference() call, the preferences should always
be in sync between the store and the browser.
The preferences object is a key/value store. Each key is
expected to be in the form of a series of dot-separated prefixes,
e.g., `UserX.RoleY.Graphs.GraphType1.setting0`.
For user preferences, the first two prefix elements should be the
username and role of the user that the setting applies to. These will
be automatically added and stripped by saveUserPreference() and
loadUserPreferences() respectively.
Fixes#150.
Contributes towards the goal of #149. As irrelevant data (such
as for non-firing guns) is no longer shown at all. This affects:
* Firetime (only active array data shown)
* Gun deltas (only active array shown)
* Fill time (only non-active array shown)
We move most of the logic from the client (as it was until now) to the
server.
The PATCH command maintains the same format but it should provide only
one of the following keys per request:
* ts0
* ts1
* speed
* fsp
* lsp
* lagAfter
* sequence
Earlier keys in the list above take priority over latter ones.
The following keys may be provided by themselves or in combination with
each other (but not with any of the above):
* name
* remarks
* meta
As a special case, an empty string as the `name` value causes the name
to be auto-generated.
See comments in the code `patch.js` for details on the update logic.
* A ‘sun’ icon is shown when a line starts and ends in daytime
* A ‘moon’ icon is shown when a line starts and ends in nighttime
* A ‘sun/moon’ icon is shown in other cases
Sunrise and sunset times are provided as a tooltip when hovering over
the icon.
Closes#72.
The following options are shown:
* Set line complete:
If a line has been partially shot and still has points
to be acquired.
This option marks remaining virgin points as NTBA=true.
* Set line incomplete:
If a line has been partially shot and remaining virgin
points have been marked as NTBA.
This option marks all points in the line as NTBA=false.
* Set line NTBA:
If a line has not been (successfully) shot at all, i.e.,
all points on the line are virgin.
This option marks the line itself as NTBA=true.
* Unset line NTBA:
If a line has been marked as NTBA.
This option clears the NTBA flag from the line.
If the location URL contains a hash of either:
* #z/x/y
* #x/y
In the first case it will zoom and pan to the location;
in the second case it will only pan while maintaining the
current (or last used) zoom level.
If the location URL does not contain a hash in one of those
formats, the marker will be removed from the map.