diff --git a/PyRIGS/tests/regions.py b/PyRIGS/tests/regions.py
index 8caca5b3..75afbe81 100644
--- a/PyRIGS/tests/regions.py
+++ b/PyRIGS/tests/regions.py
@@ -120,10 +120,10 @@ class TextBox(Region):
class SimpleMDETextArea(Region):
@property
def value(self):
- return self.driver.execute_script("return document.querySelector('#' + arguments[0]).nextSibling.nextSibling.CodeMirror.getDoc().getValue();", self.root.get_attribute("id"))
+ return self.driver.execute_script("return document.querySelector('#' + arguments[0]).nextSibling.children[1].CodeMirror.getDoc().getValue();", self.root.get_attribute("id"))
def set_value(self, value):
- self.driver.execute_script("document.querySelector('#' + arguments[0]).nextSibling.nextSibling.CodeMirror.getDoc().setValue(arguments[1]);", self.root.get_attribute("id"), value)
+ self.driver.execute_script("document.querySelector('#' + arguments[0]).nextSibling.children[1].CodeMirror.getDoc().setValue(arguments[1]);", self.root.get_attribute("id"), value)
class CheckBox(Region):
@@ -145,7 +145,7 @@ class RadioSelect(Region): # Currently only works for yes/no radio selects
value = "0"
else:
value = "1"
- self.find_element(By.XPATH, "//label[@for='{}_{}']".format(self.root.get_attribute("id"), value)).click()
+ self.find_element(By.XPATH, f"//label[@for='{self.root.get_attribute('id')}_{value}']").click()
@property
def value(self):
diff --git a/RIGS/templates/event_form.html b/RIGS/templates/event_form.html
index 1afcdd4d..38242b1b 100644
--- a/RIGS/templates/event_form.html
+++ b/RIGS/templates/event_form.html
@@ -8,13 +8,13 @@
{% block css %}
{{ block.super }}
-
+
{% endblock %}
{% block preload_js %}
{{ block.super }}
-
+
{% endblock %}
{% block js %}
diff --git a/RIGS/tests/pages.py b/RIGS/tests/pages.py
index f588fd12..774a8362 100644
--- a/RIGS/tests/pages.py
+++ b/RIGS/tests/pages.py
@@ -145,11 +145,11 @@ class CreateEvent(FormPage):
def add_person(self):
self.find_element(*self._add_person_selector).click()
- return regions.Modal(self, self.driver.find_element_by_id('modal'))
+ return regions.Modal(self, self.driver.find_element(By.ID, 'modal'))
def add_event_item(self):
self.find_element(*self._add_item_selector).click()
- element = self.driver.find_element_by_id('itemModal')
+ element = self.driver.find_element(By.ID, 'itemModal')
self.wait.until(EC.visibility_of(element))
return rigs_regions.ItemModal(self, element)
diff --git a/assets/templates/asset_form.html b/assets/templates/asset_form.html
index 3284cf2f..7496875b 100644
--- a/assets/templates/asset_form.html
+++ b/assets/templates/asset_form.html
@@ -5,13 +5,13 @@
{% block css %}
{{ block.super }}
-
+
{% endblock %}
{% block preload_js %}
{{ block.super }}
-
+
{% endblock %}
diff --git a/gulpfile.js b/gulpfile.js
index 0633192b..9d770813 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -27,7 +27,7 @@ function styles(done) {
'node_modules/fullcalendar/main.css',
'node_modules/bootstrap-select/dist/css/bootstrap-select.css',
'node_modules/ajax-bootstrap-select/dist/css/ajax-bootstrap-select.css',
- 'node_modules/simplemde/dist/simplemde.min.css'
+ 'node_modules/easymde/dist/easymde.min.css'
])
.pipe(sourcemaps.init())
.pipe(sass().on('error', sass.logError))
@@ -40,7 +40,7 @@ function styles(done) {
function scripts() {
const dest = 'pipeline/built_assets/js';
- const base_scripts = ["src.js", "util.js", "alert.js", "collapse.js", "dropdown.js", "modal.js", "konami.js", "marked.min.js"];
+ const base_scripts = ["src.js", "util.js", "alert.js", "collapse.js", "dropdown.js", "modal.js", "konami.js"];
const bs_select = ["bootstrap-select.js", "ajax-bootstrap-select.js"]
const interaction = ["html5sortable.min.js", "interaction.js"]
const jpop = ["jquery.min.js", "popper.min.js"]
@@ -56,14 +56,13 @@ function scripts() {
'node_modules/bootstrap/js/dist/modal.js',
'node_modules/bootstrap/js/dist/alert.js',
- 'node_modules/marked/marked.min.js',
'node_modules/html5sortable/dist/html5sortable.min.js',
'node_modules/clipboard/dist/clipboard.min.js',
'node_modules/moment/moment.js',
'node_modules/fullcalendar/main.js',
'node_modules/bootstrap-select/dist/js/bootstrap-select.js',
'node_modules/ajax-bootstrap-select/dist/js/ajax-bootstrap-select.js',
- 'node_modules/simplemde/dist/simplemde.min.js',
+ 'node_modules/easymde/dist/easymde.min.js',
'node_modules/konami/konami.js',
'pipeline/source_assets/js/**/*.js',])
.pipe(gulpif(function(file) { return base_scripts.includes(file.relative);}, con('base.js')))
diff --git a/package-lock.json b/package-lock.json
index 7d9395e3..5e793942 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -17,6 +17,7 @@
"bootstrap-select": "^1.13.17",
"clipboard": "^2.0.8",
"cssnano": "^5.0.13",
+ "easymde": "^2.16.1",
"fullcalendar": "^5.10.1",
"gulp": "^4.0.2",
"gulp-concat": "^2.6.1",
@@ -29,12 +30,10 @@
"html5sortable": "^0.13.3",
"jquery": "^3.6.0",
"konami": "^1.6.3",
- "marked": "^4.0.10",
"moment": "^2.27.0",
"node-sass": "^7.0.0",
"popper.js": "^1.16.1",
"postcss": "^8.4.5",
- "simplemde": "^1.11.2",
"uglify-js": "^3.14.5"
},
"devDependencies": {
@@ -256,6 +255,24 @@
"node": ">=10.13.0"
}
},
+ "node_modules/@types/codemirror": {
+ "version": "5.60.5",
+ "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-5.60.5.tgz",
+ "integrity": "sha512-TiECZmm8St5YxjFUp64LK0c8WU5bxMDt9YaAek1UqUb9swrSCoJhh92fWu1p3mTEqlHjhB5sY7OFBhWroJXZVg==",
+ "dependencies": {
+ "@types/tern": "*"
+ }
+ },
+ "node_modules/@types/estree": {
+ "version": "0.0.50",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz",
+ "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw=="
+ },
+ "node_modules/@types/marked": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/@types/marked/-/marked-4.0.1.tgz",
+ "integrity": "sha512-ZigEmCWdNUU7IjZEuQ/iaimYdDHWHfTe3kg8ORfKjyGYd9RWumPoOJRQXB0bO+XLkNwzCthW3wUIQtANaEZ1ag=="
+ },
"node_modules/@types/minimist": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz",
@@ -266,6 +283,14 @@
"resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz",
"integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw=="
},
+ "node_modules/@types/tern": {
+ "version": "0.23.4",
+ "resolved": "https://registry.npmjs.org/@types/tern/-/tern-0.23.4.tgz",
+ "integrity": "sha512-JAUw1iXGO1qaWwEOzxTKJZ/5JxVeON9kvGZ/osgZaJImBnyjyn0cjovPsf6FNLmyGY8Vw9DoXZCMlfMkMwHRWg==",
+ "dependencies": {
+ "@types/estree": "*"
+ }
+ },
"node_modules/abbrev": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
@@ -2034,6 +2059,18 @@
"node": ">= 4.0.0"
}
},
+ "node_modules/easymde": {
+ "version": "2.16.1",
+ "resolved": "https://registry.npmjs.org/easymde/-/easymde-2.16.1.tgz",
+ "integrity": "sha512-FihYgjRsKfhGNk89SHSqxKLC4aJ1kfybPWW6iAmtb5GnXu+tnFPSzSaGBmk1RRlCuhFSjhF0SnIMGVPjEzkr6g==",
+ "dependencies": {
+ "@types/codemirror": "^5.60.4",
+ "@types/marked": "^4.0.1",
+ "codemirror": "^5.63.1",
+ "codemirror-spell-checker": "1.1.2",
+ "marked": "^4.0.10"
+ }
+ },
"node_modules/eazy-logger": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/eazy-logger/-/eazy-logger-3.1.0.tgz",
@@ -7332,16 +7369,6 @@
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz",
"integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ=="
},
- "node_modules/simplemde": {
- "version": "1.11.2",
- "resolved": "https://registry.npmjs.org/simplemde/-/simplemde-1.11.2.tgz",
- "integrity": "sha1-ojo12XjSxA7wfewAjJLwcNjggOM=",
- "dependencies": {
- "codemirror": "*",
- "codemirror-spell-checker": "*",
- "marked": "*"
- }
- },
"node_modules/smart-buffer": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
@@ -9127,6 +9154,24 @@
"resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz",
"integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA=="
},
+ "@types/codemirror": {
+ "version": "5.60.5",
+ "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-5.60.5.tgz",
+ "integrity": "sha512-TiECZmm8St5YxjFUp64LK0c8WU5bxMDt9YaAek1UqUb9swrSCoJhh92fWu1p3mTEqlHjhB5sY7OFBhWroJXZVg==",
+ "requires": {
+ "@types/tern": "*"
+ }
+ },
+ "@types/estree": {
+ "version": "0.0.50",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz",
+ "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw=="
+ },
+ "@types/marked": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/@types/marked/-/marked-4.0.1.tgz",
+ "integrity": "sha512-ZigEmCWdNUU7IjZEuQ/iaimYdDHWHfTe3kg8ORfKjyGYd9RWumPoOJRQXB0bO+XLkNwzCthW3wUIQtANaEZ1ag=="
+ },
"@types/minimist": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz",
@@ -9137,6 +9182,14 @@
"resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz",
"integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw=="
},
+ "@types/tern": {
+ "version": "0.23.4",
+ "resolved": "https://registry.npmjs.org/@types/tern/-/tern-0.23.4.tgz",
+ "integrity": "sha512-JAUw1iXGO1qaWwEOzxTKJZ/5JxVeON9kvGZ/osgZaJImBnyjyn0cjovPsf6FNLmyGY8Vw9DoXZCMlfMkMwHRWg==",
+ "requires": {
+ "@types/estree": "*"
+ }
+ },
"abbrev": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
@@ -10565,6 +10618,18 @@
"lodash": "^4.17.10"
}
},
+ "easymde": {
+ "version": "2.16.1",
+ "resolved": "https://registry.npmjs.org/easymde/-/easymde-2.16.1.tgz",
+ "integrity": "sha512-FihYgjRsKfhGNk89SHSqxKLC4aJ1kfybPWW6iAmtb5GnXu+tnFPSzSaGBmk1RRlCuhFSjhF0SnIMGVPjEzkr6g==",
+ "requires": {
+ "@types/codemirror": "^5.60.4",
+ "@types/marked": "^4.0.1",
+ "codemirror": "^5.63.1",
+ "codemirror-spell-checker": "1.1.2",
+ "marked": "^4.0.10"
+ }
+ },
"eazy-logger": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/eazy-logger/-/eazy-logger-3.1.0.tgz",
@@ -14819,16 +14884,6 @@
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz",
"integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ=="
},
- "simplemde": {
- "version": "1.11.2",
- "resolved": "https://registry.npmjs.org/simplemde/-/simplemde-1.11.2.tgz",
- "integrity": "sha1-ojo12XjSxA7wfewAjJLwcNjggOM=",
- "requires": {
- "codemirror": "*",
- "codemirror-spell-checker": "*",
- "marked": "*"
- }
- },
"smart-buffer": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
diff --git a/package.json b/package.json
index 2cac6975..a2fc4772 100644
--- a/package.json
+++ b/package.json
@@ -14,6 +14,7 @@
"bootstrap-select": "^1.13.17",
"clipboard": "^2.0.8",
"cssnano": "^5.0.13",
+ "easymde": "^2.16.1",
"fullcalendar": "^5.10.1",
"gulp": "^4.0.2",
"gulp-concat": "^2.6.1",
@@ -26,12 +27,10 @@
"html5sortable": "^0.13.3",
"jquery": "^3.6.0",
"konami": "^1.6.3",
- "marked": "^4.0.10",
"moment": "^2.27.0",
"node-sass": "^7.0.0",
"popper.js": "^1.16.1",
"postcss": "^8.4.5",
- "simplemde": "^1.11.2",
"uglify-js": "^3.14.5"
},
"devDependencies": {
diff --git a/pipeline/source_assets/js/interaction.js b/pipeline/source_assets/js/interaction.js
index c4fe7740..308fe5af 100644
--- a/pipeline/source_assets/js/interaction.js
+++ b/pipeline/source_assets/js/interaction.js
@@ -1,7 +1,3 @@
-marked.setOptions({
- breaks: true,
-})
-
function setupItemTable(items_json) {
objectitems = JSON.parse(items_json)
$.each(objectitems, function (key, val) {
@@ -37,7 +33,8 @@ function updatePrices() {
}
function setupMDE(selector) {
- editor = new SimpleMDE({
+ editor = new EasyMDE({
+ autoDownloadFontAwesome: false,
element: $(selector)[0],
forceSync: true,
toolbar: ["bold", "italic", "strikethrough", "|", "unordered-list", "ordered-list", "|", "link", "|", "preview", "guide"],
@@ -120,7 +117,7 @@ $('body').on('submit', '#item-form', function (e) {
// update the table
$row = $('#item-' + pk);
$row.find('.name').html(escapeHtml(fields.name));
- $row.find('.description').html(marked(fields.description));
+ $row.find('.description').html(fields.description);
$row.find('.cost').html(parseFloat(fields.cost).toFixed(2));
$row.find('.quantity').html(fields.quantity);
diff --git a/pipeline/source_assets/scss/dark_screen.scss b/pipeline/source_assets/scss/dark_screen.scss
index 73f15b8e..0398e92a 100644
--- a/pipeline/source_assets/scss/dark_screen.scss
+++ b/pipeline/source_assets/scss/dark_screen.scss
@@ -123,7 +123,7 @@
color: $gray-100;
}
input:-webkit-autofill,
- input:-webkit-autofill:hover,
+ input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
@@ -145,7 +145,7 @@
.editor-toolbar > a.active {
background: $info !important;
}
- .cm-s-paper {
+ .cm-s-easymde {
color: white;
background-color: $darktheme;
border-color: #bbb;