From 93f356ec26a3ac903be7310190b40ebe2747c2ec Mon Sep 17 00:00:00 2001 From: Stanislav Romanov Date: Sun, 4 Sep 2022 14:31:48 +0300 Subject: [PATCH] Add monaco-editor --- app/components/monaco-editor.hbs | 1 + app/components/monaco-editor.js | 37 +++++++++++++++++++ .../indexes/item/documents/document/edit.hbs | 2 +- ember-cli-build.js | 1 + package.json | 2 + .../components/monaco-editor-test.js | 26 +++++++++++++ yarn.lock | 22 ++++++++++- 7 files changed, 89 insertions(+), 2 deletions(-) create mode 100644 app/components/monaco-editor.hbs create mode 100644 app/components/monaco-editor.js create mode 100644 tests/integration/components/monaco-editor-test.js diff --git a/app/components/monaco-editor.hbs b/app/components/monaco-editor.hbs new file mode 100644 index 0000000..4db3d9b --- /dev/null +++ b/app/components/monaco-editor.hbs @@ -0,0 +1 @@ +
diff --git a/app/components/monaco-editor.js b/app/components/monaco-editor.js new file mode 100644 index 0000000..42a9481 --- /dev/null +++ b/app/components/monaco-editor.js @@ -0,0 +1,37 @@ +import { action } from '@ember/object'; +import Component from '@glimmer/component'; +import * as monaco from 'monaco-editor'; + +window.MonacoEnvironment = { + getWorker(_, label) { + if (label === 'editorWorkerService') { + return new Worker( + new URL('monaco-editor/esm/vs/editor/editor.worker', import.meta.url) + ); + } else if (label === 'json') { + return new Worker( + new URL( + 'monaco-editor/esm/vs/language/json/json.worker', + import.meta.url + ) + ); + } + }, +}; + +export default class MonacoEditorComponent extends Component { + @action + initEditor(el) { + this.editor = monaco.editor.create(el, { + value: this.args.value, + language: this.args.language, + // scrollBeyondLastLine: false, + // wordWrap: 'on', + // wrappingStrategy: 'advanced', + minimap: { + enabled: false, + }, + // overviewRulerLanes: 0, + }); + } +} diff --git a/app/templates/admin/indexes/item/documents/document/edit.hbs b/app/templates/admin/indexes/item/documents/document/edit.hbs index 905efe1..efa3922 100644 --- a/app/templates/admin/indexes/item/documents/document/edit.hbs +++ b/app/templates/admin/indexes/item/documents/document/edit.hbs @@ -1,5 +1,5 @@
- +