From 303a34ad48ed1989901d21da67fb5d057e9b2679 Mon Sep 17 00:00:00 2001 From: Stanislav Romanov Date: Thu, 1 Sep 2022 11:29:15 +0300 Subject: [PATCH] Add editing document --- app/components/input-textarea.hbs | 2 +- .../admin/indexes/item/documents/document.js | 11 +++++++ app/models/index.js | 7 +++++ .../admin/indexes/item/documents/document.hbs | 29 +++++++++++++++++++ .../indexes/item/documents/document-test.js | 17 +++++++++++ 5 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 app/controllers/admin/indexes/item/documents/document.js create mode 100644 tests/unit/controllers/admin/indexes/item/documents/document-test.js diff --git a/app/components/input-textarea.hbs b/app/components/input-textarea.hbs index 484621f..9432cb8 100644 --- a/app/components/input-textarea.hbs +++ b/app/components/input-textarea.hbs @@ -16,7 +16,7 @@ placeholder={{@placeholder}} {{on 'change' this.onChange}} > - {{@value}} + {{~@value~}} {{#if @helper}} diff --git a/app/controllers/admin/indexes/item/documents/document.js b/app/controllers/admin/indexes/item/documents/document.js new file mode 100644 index 0000000..66d3dc0 --- /dev/null +++ b/app/controllers/admin/indexes/item/documents/document.js @@ -0,0 +1,11 @@ +import Controller from '@ember/controller'; +import { action } from '@ember/object'; + +export default class AdminIndexesItemDocumentsDocumentController extends Controller { + @action + save(event) { + event.preventDefault(); + + this.model.index.saveDocument(this.model.document); + } +} diff --git a/app/models/index.js b/app/models/index.js index 354f888..724107c 100644 --- a/app/models/index.js +++ b/app/models/index.js @@ -38,6 +38,13 @@ export default class Index { ); } + saveDocument(document) { + return query(`${this.path}/documents`, { + method: 'PUT', + body: JSON.stringify(document), + }); + } + search(q, options = {}) { options.q = q; diff --git a/app/templates/admin/indexes/item/documents/document.hbs b/app/templates/admin/indexes/item/documents/document.hbs index e69de29..8c8918c 100644 --- a/app/templates/admin/indexes/item/documents/document.hbs +++ b/app/templates/admin/indexes/item/documents/document.hbs @@ -0,0 +1,29 @@ +
+ {{#each-in @model.document as |key value|}} + {{#let (type-of value) as |type|}} + {{#if (eq 'number' type)}} + + {{else if (eq 'boolean' type)}} + + {{else if (eq '_geo' key)}} + {{!-- TODO: add map --}} + {{else}} + + {{/if}} + {{/let}} + {{/each-in}} + +