This view shows a tree view of the raw JSON configuration
object, allowing the user to add / edit / delete any properties
whatsoever. It is semi-hidden behind a context menu. The user
has to right-click on the header of the left-hand column showing
the list of configuration sections and then click on the red
"advanced configuration" button. In the advanced configuration
view there is another button to go back to normal configuration.
It is only possible to save / refresh the configuration from the
normal view.
- Use a fixed width name parser rather than regular expressions
- Move the Smartsource header files configuration to a different
part of the configuration object.
- Uses the new interface with the main component
- Changes the path where ASAQC related settings are saved,
from $.asaqc to $.cloud.asaqc.
- Adds field for configuring the subscription key.
This introduces a number of changes, most notably an easier way
to specify fixed width formats and support for configuring
multiple import options (actual SPSv1, SPSv2.1, P1/90, CSV, …)
Note that only the configuration GUI is done, support for actually
importing those formats has not been implemented as of this commit.
This is still not set in stone and not fully consistent from one
subcomponent to another, but the general idea is that instead of
passing everything in one property via v-model we use v-bind
instead with a variable list of props depending on the needs of
the subcomponent.
We listen for @input and a new @merge event in order to apply
any changes to the *local* configuration. The local configuration
then needs to be uploaded to the server via a separate step. We
might change this in a later commit, so that changes made in
subcomponents are automatically applied to the local configuration.
In short:
POST creates a new project
PUT overwrites a project configuration with a new one
PATCH merges the request body with the existing configuration
This commit adds <dougal-field-content/> and
<dougal-field-content-dialog/>, which can be
used to configure certain properties of an
object. Intended for use while editing project
configurations.
The functions are:
- deepMerge() Merge two objects
- deepCompare() Loose deep comparison
- deepEqual() Strict deep comparison
- deepSet() Set nested object property value
- deepValue() Retrive nested object property value
This is currently disabled though (value in route/index.js is
commented out) as it is not possible at the moment to create
new projects fully from scratch from the frontend. See comment
on previous commit.
NB: projects may be created fully from scratch by making an API
request with a suitable YAML / JSON configuration file, thusly:
curl -vs "https://[hostname]/api/project" -X POST \
-H "Content-Type: application/yaml"
--data-binary @/path/to/configuration.yaml
This is not usable at the moment as the backend requires even
more details, such as binning parameters, which this dialogue
does not provide.
It might be a matter of relaxing the rules on the backend or,
perhaps more likely, rethinking the project creation / editing
frontend. Maybe refactoring the frontend so that saves are done
in one go for the whole configuration as opposed to piecemeal as
currently done might make it easier to work on a configuration
(especially a new one) fully offline.