diff --git a/.gitignore b/.gitignore index a4718871..5e2c97e3 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,6 @@ pnpm-debug.log* # cypress cypress/videos cypress/screenshots + +# schemas +/public/schemas/*.json diff --git a/public/schemas/.gitignore b/public/schemas/.gitignore deleted file mode 100644 index a6c57f5f..00000000 --- a/public/schemas/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.json diff --git a/src/components/CreateConfig.vue b/src/components/CreateConfig.vue index 07506291..31401068 100644 --- a/src/components/CreateConfig.vue +++ b/src/components/CreateConfig.vue @@ -3,6 +3,19 @@ Create Config @@ -52,16 +65,30 @@ placeholder="config name" :rules="[validateConfigName]" > + + + Couldn't load config + +
{{ errors }}
+
+ + OK + +
+
diff --git a/src/components/EvModuleList.vue b/src/components/EvModuleList.vue index 57e469b0..3869d073 100644 --- a/src/components/EvModuleList.vue +++ b/src/components/EvModuleList.vue @@ -45,7 +45,7 @@ @@ -86,6 +86,7 @@ import EvDialog from "@/components/EvDialog.vue"; import EVConfigModel from "@/modules/evbc/config_model"; import {Notyf} from "notyf"; import CreateConfig from "@/components/CreateConfig.vue"; +import {EverestConfig} from "@/modules/evbc"; let evbcStore: ReturnType; let evbc: EVBackendClient; @@ -171,8 +172,8 @@ export default defineComponent({ evbcStore.get_config_context().clicked_terminal(terminalToClick, added_module_id); } }, - create_config(name: string) { - const new_config = evbc.create_empty_config(name); + create_config(name: string, content?: EverestConfig) { + const new_config = evbc.create_config_model(name, content); evbcStore.setOpenedConfig(new_config); this.expansionPanelState = ["modules"]; }, diff --git a/src/modules/evbc/client.ts b/src/modules/evbc/client.ts index 1d3eaca1..4ff93d40 100644 --- a/src/modules/evbc/client.ts +++ b/src/modules/evbc/client.ts @@ -1,13 +1,7 @@ // SPDX-License-Identifier: Apache-2.0 // Copyright 2020 - 2024 Pionix GmbH and Contributors to EVerest -import { - EventHandler, - EverestConfigList, - EverestDefinitions, - EverestInterfaceDefinitionList, - EverestModuleDefinitionList, -} from "."; +import {EventHandler, EverestConfig, EverestDefinitions,} from "."; import EVConfigModel from "./config_model"; import EVBackendConnection, {ConnectionStatus} from "./connection"; import {useEvbcStore} from "@/store/evbc"; @@ -78,8 +72,8 @@ class EVBackendClient { return new EVConfigModel(this.everest_definitions, name, config); } - create_empty_config(name: string): EVConfigModel { - return new EVConfigModel(this.everest_definitions, name); + create_config_model(name: string, config?: EverestConfig): EVConfigModel { + return new EVConfigModel(this.everest_definitions, name, config ?? undefined); } async save_config(config: EVConfigModel) {