From e487dc1df719b37e3fb098f3bc00a3f2b4302629 Mon Sep 17 00:00:00 2001 From: azivner Date: Thu, 18 Oct 2018 11:25:33 +0200 Subject: [PATCH] basic infrastructure for "relation map" note type --- src/public/javascripts/services/note_detail.js | 4 +++- .../services/note_detail_relation_map.js | 15 +++++++++++++++ src/public/javascripts/services/note_type.js | 10 ++++++++++ src/services/consistency_checks.js | 2 +- src/views/index.ejs | 6 ++++++ 5 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 src/public/javascripts/services/note_detail_relation_map.js diff --git a/src/public/javascripts/services/note_detail.js b/src/public/javascripts/services/note_detail.js index 6cae0511f..cef41bec0 100644 --- a/src/public/javascripts/services/note_detail.js +++ b/src/public/javascripts/services/note_detail.js @@ -15,6 +15,7 @@ import noteDetailText from './note_detail_text.js'; import noteDetailFile from './note_detail_file.js'; import noteDetailSearch from './note_detail_search.js'; import noteDetailRender from './note_detail_render.js'; +import noteDetailRelationMap from './note_detail_relation_map.js'; import bundleService from "./bundle.js"; import noteAutocompleteService from "./note_autocomplete.js"; @@ -45,7 +46,8 @@ const components = { 'text': noteDetailText, 'file': noteDetailFile, 'search': noteDetailSearch, - 'render': noteDetailRender + 'render': noteDetailRender, + 'relation-map': noteDetailRelationMap }; function getComponent(type) { diff --git a/src/public/javascripts/services/note_detail_relation_map.js b/src/public/javascripts/services/note_detail_relation_map.js new file mode 100644 index 000000000..56d8c1ab5 --- /dev/null +++ b/src/public/javascripts/services/note_detail_relation_map.js @@ -0,0 +1,15 @@ +import server from "./server.js"; +import noteDetailService from "./note_detail.js"; + +const $noteDetailRelationMap = $("#note-detail-relation-map"); + +async function render() { + $noteDetailRelationMap.show(); +} + +export default { + show: render, + getContent: () => "", + focus: () => null, + onNoteChange: () => null +} \ No newline at end of file diff --git a/src/public/javascripts/services/note_type.js b/src/public/javascripts/services/note_type.js index 6a9d2c08b..176d16ffc 100644 --- a/src/public/javascripts/services/note_type.js +++ b/src/public/javascripts/services/note_type.js @@ -77,6 +77,9 @@ function NoteTypeModel() { else if (type === 'file') { return 'File'; } + else if (type === 'relation-map') { + return 'Relation Map'; + } else if (type === 'search') { // ignore and do nothing, "type" will be hidden since it's not possible to switch to and from search } @@ -118,6 +121,13 @@ function NoteTypeModel() { save(); }; + this.selectRelationMap = function() { + self.type('relation-map'); + self.mime('application/json'); + + save(); + }; + this.selectCode = function() { self.type('code'); self.mime(''); diff --git a/src/services/consistency_checks.js b/src/services/consistency_checks.js index 44abe110d..448c2bfc3 100644 --- a/src/services/consistency_checks.js +++ b/src/services/consistency_checks.js @@ -203,7 +203,7 @@ async function runAllChecks() { FROM notes WHERE - type != 'text' AND type != 'code' AND type != 'render' AND type != 'file' AND type != 'search'`, + type != 'text' AND type != 'code' AND type != 'render' AND type != 'file' AND type != 'search' AND type != 'relation-map'`, "Note has invalid type", errorList); await runCheck(` diff --git a/src/views/index.ejs b/src/views/index.ejs index 57b6b0d55..04305b8db 100644 --- a/src/views/index.ejs +++ b/src/views/index.ejs @@ -148,6 +148,8 @@