diff --git a/app/controllers/admin/indexes/item/documents/document.js b/app/controllers/admin/indexes/item/documents/document.js index 66d3dc0..5b293f6 100644 --- a/app/controllers/admin/indexes/item/documents/document.js +++ b/app/controllers/admin/indexes/item/documents/document.js @@ -6,6 +6,9 @@ export default class AdminIndexesItemDocumentsDocumentController extends Control save(event) { event.preventDefault(); - this.model.index.saveDocument(this.model.document); + const formData = new FormData(event.currentTarget); + const data = formData.get('document'); + + this.model.index.saveDocument(data); } } diff --git a/app/models/index.js b/app/models/index.js index 724107c..bb41faa 100644 --- a/app/models/index.js +++ b/app/models/index.js @@ -1,3 +1,4 @@ +import jsonParse from '../helpers/json-parse'; import query from '../utils/query'; // import { TrackedArray } from 'tracked-built-ins'; // import { trackedFunction } from 'ember-resources/util/function'; @@ -40,8 +41,8 @@ export default class Index { saveDocument(document) { return query(`${this.path}/documents`, { - method: 'PUT', - body: JSON.stringify(document), + method: 'POST', + body: JSON.stringify([JSON.parse(document)]), }); } diff --git a/app/router.js b/app/router.js index 06aad4e..76296b9 100644 --- a/app/router.js +++ b/app/router.js @@ -15,6 +15,7 @@ Router.map(function () { this.route('edit'); this.route('documents', function () { this.route('document', { path: '/:document_id' }); + this.route('new'); }); }); this.route('new'); diff --git a/app/routes/admin/indexes/item/documents/new.js b/app/routes/admin/indexes/item/documents/new.js new file mode 100644 index 0000000..a57fad3 --- /dev/null +++ b/app/routes/admin/indexes/item/documents/new.js @@ -0,0 +1,17 @@ +import Route from '@ember/routing/route'; +import Document from '../../../../../models/document'; +import { hash } from 'rsvp'; + +export default class AdminIndexesItemDocumentsNewRoute extends Route { + templateName = 'admin.indexes.item.documents.document'; + controllerName = 'admin.indexes.item.documents.document'; + + model() { + const index = this.modelFor('admin.indexes.item'); + + return hash({ + index, + document: new Document(), + }); + } +} diff --git a/app/templates/admin/indexes/item/documents/document.hbs b/app/templates/admin/indexes/item/documents/document.hbs index 8c8918c..f65b58a 100644 --- a/app/templates/admin/indexes/item/documents/document.hbs +++ b/app/templates/admin/indexes/item/documents/document.hbs @@ -1,29 +1,5 @@
diff --git a/app/templates/admin/indexes/item/documents/index.hbs b/app/templates/admin/indexes/item/documents/index.hbs index 4712113..532dfc7 100644 --- a/app/templates/admin/indexes/item/documents/index.hbs +++ b/app/templates/admin/indexes/item/documents/index.hbs @@ -17,6 +17,10 @@ --}} +