diff --git a/app/components/form/element.hbs b/app/components/form/element.hbs index c1c75c1..79872bd 100644 --- a/app/components/form/element.hbs +++ b/app/components/form/element.hbs @@ -17,7 +17,7 @@ {{#if @errors.length}} {{#each @errors as |item|}} -
+
{{item}}
{{/each}} diff --git a/app/controllers/admin/indexes/item/documents/document/edit.js b/app/controllers/admin/indexes/item/documents/document/edit.js index 0df4b6d..bfcb8fe 100644 --- a/app/controllers/admin/indexes/item/documents/document/edit.js +++ b/app/controllers/admin/indexes/item/documents/document/edit.js @@ -1,13 +1,22 @@ import Controller from '@ember/controller'; import { action } from '@ember/object'; import { inject as service } from '@ember/service'; +import { tracked } from '@glimmer/tracking'; export default class AdminIndexesItemDocumentsDocumentEditController extends Controller { @service router; + @tracked error; + @action save(value) { - this.model.index.saveDocument(JSON.parse(value)); + this.error = null; + + try { + this.model.index.saveDocument(JSON.parse(value)); + } catch (error) { + this.error = error.error || error; + } } @action diff --git a/app/controllers/login.js b/app/controllers/login.js index 6d46bb4..2bd0d3f 100644 --- a/app/controllers/login.js +++ b/app/controllers/login.js @@ -6,7 +6,7 @@ import { tracked } from '@glimmer/tracking'; export default class LoginController extends Controller { @service session; - @tracked errorMessage; + @tracked error; @tracked url; @tracked key; @@ -14,7 +14,7 @@ export default class LoginController extends Controller { async authenticate(e) { e.preventDefault(); - this.errorMessage = null; + this.error = null; let { url, key } = this; @@ -24,7 +24,7 @@ export default class LoginController extends Controller { key, }); } catch (error) { - this.errorMessage = error.error || error; + this.error = error.error || error; } } } diff --git a/app/routes/admin/indexes/item/documents/document/edit.js b/app/routes/admin/indexes/item/documents/document/edit.js index 75d21dc..dd3a16a 100644 --- a/app/routes/admin/indexes/item/documents/document/edit.js +++ b/app/routes/admin/indexes/item/documents/document/edit.js @@ -13,4 +13,10 @@ export default class AdminIndexesItemDocumentsDocumentEditRoute extends Route { document: index.getDocument(document_id), }); } + + resetController(controller, isExiting) { + if (isExiting) { + controller.error = null; + } + } } diff --git a/app/routes/login.js b/app/routes/login.js index 08b63f5..fa04702 100644 --- a/app/routes/login.js +++ b/app/routes/login.js @@ -7,4 +7,10 @@ export default class LoginRoute extends Route { beforeModel() { this.session.prohibitAuthentication('admin'); } + + resetController(controller, isExiting) { + if (isExiting) { + controller.error = null; + } + } } diff --git a/app/templates/admin/indexes/item/documents/document/edit.hbs b/app/templates/admin/indexes/item/documents/document/edit.hbs index fcde483..044aac4 100644 --- a/app/templates/admin/indexes/item/documents/document/edit.hbs +++ b/app/templates/admin/indexes/item/documents/document/edit.hbs @@ -1,15 +1,17 @@ - -