From 7eed0b46661967fd37dfa4fa9a1741835947719a Mon Sep 17 00:00:00 2001
From: Ruben Fiszel
Date: Sun, 2 Apr 2023 17:41:43 +0200
Subject: [PATCH] update highlight + fix transform editor suggestions
---
frontend/package-lock.json | 35 +++++--------------
frontend/package.json | 2 +-
.../src/lib/components/FlowGraphViewer.svelte | 6 +---
.../src/lib/components/HighlightCode.svelte | 2 +-
.../lib/components/InputTransformForm.svelte | 4 +--
.../components/InputTransformsViewer.svelte | 2 +-
.../src/lib/components/SimpleEditor.svelte | 10 +++---
.../src/lib/components/TemplateEditor.svelte | 3 ++
frontend/src/lib/components/flows/utils.ts | 3 +-
9 files changed, 26 insertions(+), 41 deletions(-)
diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index fca17171ce..40fe304392 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -71,7 +71,7 @@
"svelte-awesome": "^3.2.0",
"svelte-awesome-color-picker": "^2.4.1",
"svelte-check": "^3.0.2",
- "svelte-highlight": "^6.2.1",
+ "svelte-highlight": "^7.2.1",
"svelte-overlay": "^1.4.1",
"svelte-popperjs": "^1.3.2",
"svelte-preprocess": "^5.0.1",
@@ -6405,21 +6405,12 @@
}
},
"node_modules/svelte-highlight": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/svelte-highlight/-/svelte-highlight-6.2.1.tgz",
- "integrity": "sha512-nZoweg5atreJHAJPaB0nca+r6YhDzbEJQrtKDO2mR/muEzsRKxMeSF3Q8BV0Au+T2jMWGBPwlBzA/tqv9yG9UQ==",
+ "version": "7.2.1",
+ "resolved": "https://registry.npmjs.org/svelte-highlight/-/svelte-highlight-7.2.1.tgz",
+ "integrity": "sha512-Qyxd4CFbvufKo661AmtIFLFh7bW8BZ6G5vUGYdRlyhaoWEOCyCgKimdKW8/8aJ4/kKidSFbgY/2/fyzwYDEjWg==",
"dev": true,
"dependencies": {
- "highlight.js": "11.6.0"
- }
- },
- "node_modules/svelte-highlight/node_modules/highlight.js": {
- "version": "11.6.0",
- "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.6.0.tgz",
- "integrity": "sha512-ig1eqDzJaB0pqEvlPVIpSSyMaO92bH1N2rJpLMN/nX396wTpDA4Eq0uK+7I/2XG17pFaaKE0kjV/XPeGt7Evjw==",
- "dev": true,
- "engines": {
- "node": ">=12.0.0"
+ "highlight.js": "11.7.0"
}
},
"node_modules/svelte-hmr": {
@@ -11865,20 +11856,12 @@
}
},
"svelte-highlight": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/svelte-highlight/-/svelte-highlight-6.2.1.tgz",
- "integrity": "sha512-nZoweg5atreJHAJPaB0nca+r6YhDzbEJQrtKDO2mR/muEzsRKxMeSF3Q8BV0Au+T2jMWGBPwlBzA/tqv9yG9UQ==",
+ "version": "7.2.1",
+ "resolved": "https://registry.npmjs.org/svelte-highlight/-/svelte-highlight-7.2.1.tgz",
+ "integrity": "sha512-Qyxd4CFbvufKo661AmtIFLFh7bW8BZ6G5vUGYdRlyhaoWEOCyCgKimdKW8/8aJ4/kKidSFbgY/2/fyzwYDEjWg==",
"dev": true,
"requires": {
- "highlight.js": "11.6.0"
- },
- "dependencies": {
- "highlight.js": {
- "version": "11.6.0",
- "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.6.0.tgz",
- "integrity": "sha512-ig1eqDzJaB0pqEvlPVIpSSyMaO92bH1N2rJpLMN/nX396wTpDA4Eq0uK+7I/2XG17pFaaKE0kjV/XPeGt7Evjw==",
- "dev": true
- }
+ "highlight.js": "11.7.0"
}
},
"svelte-hmr": {
diff --git a/frontend/package.json b/frontend/package.json
index 99bcf60f75..ed9b0365b7 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -51,7 +51,7 @@
"svelte-awesome": "^3.2.0",
"svelte-awesome-color-picker": "^2.4.1",
"svelte-check": "^3.0.2",
- "svelte-highlight": "^6.2.1",
+ "svelte-highlight": "^7.2.1",
"svelte-overlay": "^1.4.1",
"svelte-popperjs": "^1.3.2",
"svelte-preprocess": "^5.0.1",
diff --git a/frontend/src/lib/components/FlowGraphViewer.svelte b/frontend/src/lib/components/FlowGraphViewer.svelte
index 7df24b606e..31879cb8cc 100644
--- a/frontend/src/lib/components/FlowGraphViewer.svelte
+++ b/frontend/src/lib/components/FlowGraphViewer.svelte
@@ -153,11 +153,7 @@
json={stepDetail.value.iterator.value}
/>{:else}
-
+
{/if}
diff --git a/frontend/src/lib/components/HighlightCode.svelte b/frontend/src/lib/components/HighlightCode.svelte
index ff88547371..dd0b6ea8b8 100644
--- a/frontend/src/lib/components/HighlightCode.svelte
+++ b/frontend/src/lib/components/HighlightCode.svelte
@@ -27,7 +27,7 @@
{#if code?.length < 5000}
-
+
{:else}
{code}
-
+ {JSON.stringify(arg)}
-
+
{/if}
diff --git a/frontend/src/lib/components/SimpleEditor.svelte b/frontend/src/lib/components/SimpleEditor.svelte
index 0080aad958..6098fe2e07 100644
--- a/frontend/src/lib/components/SimpleEditor.svelte
+++ b/frontend/src/lib/components/SimpleEditor.svelte
@@ -90,11 +90,13 @@
model = meditor.createModel(code, lang, mUri.parse(uri))
model.updateOptions(updateOptions)
+ let widgets: HTMLElement | undefined =
+ document.getElementById('monaco-widgets-root') ?? undefined
- editor = meditor.create(
- divEl as HTMLDivElement,
- editorConfig(model, code, lang, automaticLayout, fixedOverflowWidgets)
- )
+ editor = meditor.create(divEl as HTMLDivElement, {
+ ...editorConfig(model, code, lang, automaticLayout, fixedOverflowWidgets),
+ overflowWidgetsDomNode: widgets
+ })
let timeoutModel: NodeJS.Timeout | undefined = undefined
editor.onDidChangeModelContent((event) => {
diff --git a/frontend/src/lib/components/TemplateEditor.svelte b/frontend/src/lib/components/TemplateEditor.svelte
index 32755384d8..f99265ee49 100644
--- a/frontend/src/lib/components/TemplateEditor.svelte
+++ b/frontend/src/lib/components/TemplateEditor.svelte
@@ -412,6 +412,8 @@
let extraModel
let width = 0
+ let widgets: HTMLElement | undefined = document.getElementById('monaco-widgets-root') ?? undefined
+
async function loadMonaco() {
model = meditor.createModel(code, lang, mUri.parse(uri))
@@ -419,6 +421,7 @@
editor = meditor.create(divEl as HTMLDivElement, {
...editorConfig(model, code, lang, automaticLayout, fixedOverflowWidgets),
+ overflowWidgetsDomNode: widgets,
lineNumbers: 'off',
fontSize,
suggestOnTriggerCharacters: true,
diff --git a/frontend/src/lib/components/flows/utils.ts b/frontend/src/lib/components/flows/utils.ts
index d8c23c04a7..5041bb0860 100644
--- a/frontend/src/lib/components/flows/utils.ts
+++ b/frontend/src/lib/components/flows/utils.ts
@@ -150,11 +150,12 @@ export function codeToStaticTemplate(code?: string): string | undefined {
if (!code || typeof code != 'string') return undefined
const lines = code.split('\n')
-
if (lines.length == 1) {
const line = lines[0].trim()
if (line[0] == '`' && line.charAt(line.length - 1) == '`') {
return line.slice(1, line.length - 1).replaceAll('\\`', '`')
+ } else {
+ return `\$\{${line}\}`
}
}
return undefined