forked from enviPath/enviPy
120 lines
3.1 KiB
HTML
120 lines
3.1 KiB
HTML
{% load static %}
|
|
<div
|
|
class="modal fade bs-modal-lg"
|
|
id="add_pathway_node_modal"
|
|
tabindex="-1"
|
|
aria-labelledby="add_pathway_node_modal"
|
|
aria-modal="true"
|
|
role="dialog"
|
|
>
|
|
<div class="modal-dialog modal-lg">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button
|
|
type="button"
|
|
class="close"
|
|
data-dismiss="modal"
|
|
aria-label="Close"
|
|
>
|
|
<span aria-hidden="true">×</span>
|
|
</button>
|
|
<h4 class="modal-title">Add a Node</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<form
|
|
id="add_pathway_node_modal_form"
|
|
accept-charset="UTF-8"
|
|
action="{% url 'package pathway node list' meta.current_package.uuid pathway.uuid %}"
|
|
data-remote="true"
|
|
method="post"
|
|
>
|
|
{% csrf_token %}
|
|
<label for="node-name">Name</label>
|
|
<input
|
|
id="node-name"
|
|
class="form-control"
|
|
name="node-name"
|
|
placeholder="Name"
|
|
/>
|
|
<label for="node-description">Description</label>
|
|
<input
|
|
id="node-description"
|
|
class="form-control"
|
|
name="node-description"
|
|
placeholder="Description"
|
|
/>
|
|
<label for="node-smiles">SMILES</label>
|
|
<input
|
|
type="text"
|
|
class="form-control"
|
|
name="node-smiles"
|
|
placeholder="SMILES"
|
|
id="node-smiles"
|
|
/>
|
|
<p></p>
|
|
<div>
|
|
<iframe
|
|
id="add_node_ketcher"
|
|
src="{% static '/js/ketcher2/ketcher.html' %}"
|
|
width="100%"
|
|
height="510"
|
|
></iframe>
|
|
</div>
|
|
<p></p>
|
|
</form>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button
|
|
type="button"
|
|
class="btn btn-secondary pull-left"
|
|
data-dismiss="modal"
|
|
>
|
|
Close
|
|
</button>
|
|
<button
|
|
type="button"
|
|
class="btn btn-primary"
|
|
id="add_pathway_node_modal_form_submit"
|
|
>
|
|
Submit
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script>
|
|
function newStructureModalketcherToNewStructureModalTextInput() {
|
|
$("#node-smiles").val(this.ketcher.getSmiles());
|
|
}
|
|
|
|
$(function () {
|
|
$("#add_node_ketcher").on("load", function () {
|
|
const checkKetcherReady = () => {
|
|
win = this.contentWindow;
|
|
if (win.ketcher && "editor" in win.ketcher) {
|
|
win.ketcher.editor.event.change.handlers.push({
|
|
once: false,
|
|
priority: 0,
|
|
f: newStructureModalketcherToNewStructureModalTextInput,
|
|
ketcher: win.ketcher,
|
|
});
|
|
} else {
|
|
setTimeout(checkKetcherReady, 100);
|
|
}
|
|
};
|
|
|
|
checkKetcherReady();
|
|
});
|
|
|
|
$(function () {
|
|
$("#add_pathway_node_modal_form_submit").on("click", function (e) {
|
|
e.preventDefault();
|
|
$(this).prop("disabled", true);
|
|
|
|
// submit form
|
|
$("#add_pathway_node_modal_form").submit();
|
|
});
|
|
});
|
|
});
|
|
</script>
|