Add ace editor
This commit is contained in:
parent
6d3d2de2b3
commit
ad9e5484f3
9 changed files with 66 additions and 9 deletions
|
@ -1 +1 @@
|
||||||
<script src='/site_media/static/js/site.js?45281e7e2f5ad8c9f8a5'></script>
|
<script src='/site_media/static/js/site.js?7324c997497bcdad9dd0'></script>
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
<link href='/site_media/static/css/site.css?45281e7e2f5ad8c9f8a5' rel='stylesheet' />
|
<link href='/site_media/static/css/site.css?7324c997497bcdad9dd0' rel='stylesheet' />
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||||
<h4 class="modal-title">{% trans "Editing content:" %} {{ label }}</h4>
|
<h4 class="modal-title">{% trans "Editing content:" %} {{ label }}</h4>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body form-group">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
{{ form.content }}
|
{{ form.content }}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -46,6 +46,7 @@
|
||||||
|
|
||||||
{% block scripts %}
|
{% block scripts %}
|
||||||
{% include "_scripts.html" %}
|
{% include "_scripts.html" %}
|
||||||
|
<script src="//cdnjs.cloudflare.com/ajax/libs/ace/1.2.0/ace.js"></script>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block extra_body_base %}
|
{% block extra_body_base %}
|
||||||
|
|
2
static/dist/css/site.css
vendored
2
static/dist/css/site.css
vendored
File diff suppressed because one or more lines are too long
10
static/dist/js/site.js
vendored
10
static/dist/js/site.js
vendored
File diff suppressed because one or more lines are too long
|
@ -3,3 +3,36 @@ window.jQuery = window.$ = require("jquery");
|
||||||
require("bootstrap");
|
require("bootstrap");
|
||||||
|
|
||||||
require("../less/site.less");
|
require("../less/site.less");
|
||||||
|
|
||||||
|
var loadEditors = function () {
|
||||||
|
var $editors = $(".modal-body textarea, #id_body, #id_comment, #id_message, #id_text, #id_abstract, #id_additional_notes, #id_content_override, #id_description, #id_biography");
|
||||||
|
$editors.each(function (i, el) {
|
||||||
|
var editorId = "markdown-editor-" + i,
|
||||||
|
reportDiv = $("<div>").attr("id", editorId),
|
||||||
|
setupEditor = function (editor, textarea) {
|
||||||
|
var session = editor.getSession();
|
||||||
|
editor.setTheme("ace/theme/tomorrow");
|
||||||
|
editor.$blockScrolling = Infinity;
|
||||||
|
editor.setOption("scrollPastEnd", true);
|
||||||
|
session.setMode("ace/mode/markdown");
|
||||||
|
session.setValue(textarea.val());
|
||||||
|
session.setUseWrapMode(true);
|
||||||
|
session.on('change', function(){
|
||||||
|
textarea.val(session.getValue());
|
||||||
|
});
|
||||||
|
editor.renderer.setShowGutter(false);
|
||||||
|
session.setTabSize(4);
|
||||||
|
session.setUseSoftTabs(true);
|
||||||
|
},
|
||||||
|
$formGroup = $(el).closest(".form-group"),
|
||||||
|
$textarea = $formGroup.find("textarea");
|
||||||
|
$formGroup.append(reportDiv);
|
||||||
|
setupEditor(ace.edit(editorId), $textarea);
|
||||||
|
console.log(i, el, $formGroup, $textarea);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
$(function () {
|
||||||
|
loadEditors();
|
||||||
|
});
|
||||||
|
|
22
static/src/less/editor.less
Normal file
22
static/src/less/editor.less
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
form {
|
||||||
|
#id_body,
|
||||||
|
#id_comment,
|
||||||
|
#id_message,
|
||||||
|
#id_text,
|
||||||
|
#id_abstract,
|
||||||
|
#id_additional_notes,
|
||||||
|
#id_content_override,
|
||||||
|
#id_description,
|
||||||
|
#id_biography,
|
||||||
|
.modal-body textarea {
|
||||||
|
display: none
|
||||||
|
}
|
||||||
|
.ace_editor {
|
||||||
|
min-height: 200px;
|
||||||
|
width: 100%;
|
||||||
|
border: 1px dotted #CCC;
|
||||||
|
}
|
||||||
|
.ace_content {
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
}
|
|
@ -14,6 +14,7 @@
|
||||||
@import "account.less";
|
@import "account.less";
|
||||||
|
|
||||||
// Symposion UI components
|
// Symposion UI components
|
||||||
|
@import "editor.less";
|
||||||
@import "symposion-components.less";
|
@import "symposion-components.less";
|
||||||
@import "symposion-schedule.less";
|
@import "symposion-schedule.less";
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue