diff --git a/ui/package-lock.json b/ui/package-lock.json
index ab86d547d..8cbf388c2 100644
--- a/ui/package-lock.json
+++ b/ui/package-lock.json
@@ -13213,22 +13213,6 @@
}
}
},
- "react-contenteditable": {
- "version": "3.3.5",
- "resolved": "https://registry.npmjs.org/react-contenteditable/-/react-contenteditable-3.3.5.tgz",
- "integrity": "sha512-38A7hlRQfb2KQAQT0kIJC2YlQUU7jcyYM4eh1fj6kAYb3Hmk6hHlr0snelyxVSpPXjPdFllrnSsPkzUS5AtrEA==",
- "requires": {
- "fast-deep-equal": "^2.0.1",
- "prop-types": "^15.7.1"
- },
- "dependencies": {
- "fast-deep-equal": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
- "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
- }
- }
- },
"react-dev-utils": {
"version": "11.0.4",
"resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-11.0.4.tgz",
@@ -13607,6 +13591,11 @@
"prop-types": "^15.7.2"
}
},
+ "react-simple-code-editor": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/react-simple-code-editor/-/react-simple-code-editor-0.11.0.tgz",
+ "integrity": "sha512-xGfX7wAzspl113ocfKQAR8lWPhavGWHL3xSzNLeseDRHysT+jzRBi/ExdUqevSMos+7ZtdfeuBOXtgk9HTwsrw=="
+ },
"react-transition-group": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.1.tgz",
diff --git a/ui/package.json b/ui/package.json
index 1046146a3..80e8551f8 100644
--- a/ui/package.json
+++ b/ui/package.json
@@ -20,12 +20,12 @@
"react": "^17.0.2",
"react-bootstrap": "^1.5.2",
"react-bootstrap-typeahead": "^5.1.4",
- "react-contenteditable": "^3.3.5",
"react-dom": "^17.0.2",
"react-hook-form": "^7.5.2",
"react-infinite-scroll-component": "^6.1.0",
"react-router-dom": "^5.2.0",
"react-scroll": "^1.8.2",
+ "react-simple-code-editor": "^0.11.0",
"use-http": "^1.0.20",
"use-query-params": "^1.2.2",
"web-vitals": "^1.0.1"
diff --git a/ui/src/app/form/component/fields/FilterTargetField.js b/ui/src/app/form/component/fields/FilterTargetField.js
index c273f3462..959306b71 100644
--- a/ui/src/app/form/component/fields/FilterTargetField.js
+++ b/ui/src/app/form/component/fields/FilterTargetField.js
@@ -6,12 +6,15 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { faAsterisk, faCaretDown, faCaretUp, faEye, faEyeSlash, faPlus, faSpinner, faTrash } from '@fortawesome/free-solid-svg-icons';
import { useTranslator } from '../../../i18n/hooks';
import { InfoIcon } from '../InfoIcon';
-import ContentEditable from 'react-contenteditable';
import { AsyncTypeahead } from 'react-bootstrap-typeahead';
import useFetch from 'use-http';
import queryString from 'query-string';
import API_BASE_PATH from '../../../App.constant';
import isNil from 'lodash/isNil';
+import Editor from 'react-simple-code-editor';
+// import { highlight, languages } from 'prismjs/components/prism-core';
+// import 'prismjs/components/prism-clike';
+// import 'prismjs/components/prism-javascript';
import { FilterTargetPreview } from '../../../metadata/hoc/FilterTargetPreview';
@@ -89,8 +92,6 @@ const FilterTargetField = ({
const displayType = selectedType?.label || '';
const targetType = selectedType?.value || null;
- const ref = React.useRef(selectedTarget[0]);
-
var handleTextChange = function (value) {
setSelectedTarget([value]);
};
@@ -187,20 +188,22 @@ const FilterTargetField = ({
>
}
{ targetType === 'CONDITION_SCRIPT' &&
- <>
-