You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.4 KiB
38 lines
1.4 KiB
{% load i18n %}
|
|
<textarea style="display: none" name="{{ widget.name }}"
|
|
{% include "django/forms/widgets/attrs.html" %}
|
|
>{% if widget.value %}{{ widget.value }}{% endif %}</textarea>
|
|
<div class="json-view-editor" id='date-view-editor-{{ widget.attrs.id }}'></div>
|
|
|
|
|
|
<script defer="defer">
|
|
$(document).ready(function () {
|
|
function init_editor_json_editor() {
|
|
let editor_ = document.getElementById("{{ widget.attrs.id }}")
|
|
let schema_str = JSON.parse(editor_.value)
|
|
let json_viewer_div = $('#date-view-editor-{{ widget.attrs.id }}')
|
|
|
|
let jsoneditor__ = new JSONEditor(
|
|
json_viewer_div[0], {
|
|
theme: 'bootstrap4',
|
|
schema: {{ widget.attrs.schema|safe }},
|
|
disable_edit_json: true,
|
|
disable_properties: true,
|
|
disable_array_delete_all_rows: true,
|
|
disable_array_delete_last_row: true,
|
|
disable_array_reorder: true,
|
|
grid_columns: 3,
|
|
prompt_before_delete: false,
|
|
disable_collapse: true,
|
|
startval: schema_str || []
|
|
})
|
|
editor_.editor = jsoneditor__
|
|
jsoneditor__.on('change', () => {
|
|
$(editor_).val(JSON.stringify(jsoneditor__.getValue()))
|
|
})
|
|
}
|
|
|
|
init_editor_json_editor()
|
|
})
|
|
</script>
|
|
|