X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;ds=sidebyside;f=src%2FApp.vue;h=b13b98ff7e8a2029405e148861a423a9d95fe0a4;hb=1f92e1746d0922574962113f41ba0804ddc3bdee;hp=8185da212c260f672ec5defd9957349a918c6d63;hpb=2301d8919c28eb888ea1eb968d03376b2219a27d;p=github%2Fbastienwirtz%2Fhomer.git diff --git a/src/App.vue b/src/App.vue index 8185da2..b13b98f 100644 --- a/src/App.vue +++ b/src/App.vue @@ -14,7 +14,7 @@
{{ config.subtitle }} @@ -49,7 +49,10 @@
- +
@@ -58,14 +61,14 @@
@@ -76,12 +79,12 @@ class="columns is-multiline layout-vertical" >

- + {{ group.name }}

{ + if (!response.ok) { + throw Error(response.statusText); } - return response.text().then(function (body) { - return jsyaml.load(body); - }); + + const that = this; + return response + .text() + .then((body) => { + return jsyaml.load(body); + }) + .then(function (config) { + if (config.externalConfig) { + return that.getConfig(config.externalConfig); + } + return config; + }) + .catch((error) => { + return this.handleErrors("⚠️ Error loading configuration", error); + }); }); }, matchesFilter: function (item) { @@ -207,6 +218,15 @@ export default { }, ]; }, + handleErrors: function (title, content) { + return { + message: { + title: title, + style: "is-danger", + content: content, + }, + }; + }, }, };