forked from enviPath/enviPy
Compare commits
5 Commits
refactor/h
...
fix/issue2
| Author | SHA1 | Date | |
|---|---|---|---|
| 19c37c2598 | |||
| 39faab3d11 | |||
| 4e80cd63cd | |||
| 6592f0a68e | |||
| 21d30a923f |
@ -1,6 +1,7 @@
|
|||||||
{% if meta.can_edit %}
|
{% if meta.can_edit %}
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#new_compound_modal">
|
<a role="button" data-toggle="modal" data-target="#new_compound_modal">
|
||||||
<span class="glyphicon glyphicon-plus"></span> New Compound</a>
|
<span class="glyphicon glyphicon-plus"></span> New Compound</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -1,6 +1,11 @@
|
|||||||
{% if meta.can_edit %}
|
{% if meta.can_edit %}
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#new_compound_structure_modal">
|
<a
|
||||||
<span class="glyphicon glyphicon-plus"></span> New Compound Structure</a>
|
role="button"
|
||||||
|
data-toggle="modal"
|
||||||
|
data-target="#new_compound_structure_modal"
|
||||||
|
>
|
||||||
|
<span class="glyphicon glyphicon-plus"></span> New Compound Structure</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -1,6 +1,7 @@
|
|||||||
{% if meta.can_edit %}
|
{% if meta.can_edit %}
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#new_edge_modal">
|
<a role="button" data-toggle="modal" data-target="#new_edge_modal">
|
||||||
<span class="glyphicon glyphicon-plus"></span> New Edge</a>
|
<span class="glyphicon glyphicon-plus"></span> New Edge</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -1,4 +1,5 @@
|
|||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#new_group_modal">
|
<a role="button" data-toggle="modal" data-target="#new_group_modal">
|
||||||
<span class="glyphicon glyphicon-plus"></span> New Group</a>
|
<span class="glyphicon glyphicon-plus"></span> New Group</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
{% if meta.can_edit and meta.enabled_features.MODEL_BUILDING %}
|
{% if meta.can_edit and meta.enabled_features.MODEL_BUILDING %}
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#new_model_modal">
|
<a role="button" data-toggle="modal" data-target="#new_model_modal">
|
||||||
<span class="glyphicon glyphicon-plus"></span> New Model</a>
|
<span class="glyphicon glyphicon-plus"></span> New Model</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
{% if meta.can_edit %}
|
{% if meta.can_edit %}
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#new_node_modal">
|
<a role="button" data-toggle="modal" data-target="#new_node_modal">
|
||||||
<span class="glyphicon glyphicon-plus"></span> New Node</a>
|
<span class="glyphicon glyphicon-plus"></span> New Node</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -1,12 +1,20 @@
|
|||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#new_package_modal">
|
<a role="button" data-toggle="modal" data-target="#new_package_modal">
|
||||||
<span class="glyphicon glyphicon-plus"></span> New Package</a>
|
<span class="glyphicon glyphicon-plus"></span> New Package</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#import_package_modal">
|
<a role="button" data-toggle="modal" data-target="#import_package_modal">
|
||||||
<span class="glyphicon glyphicon-import"></span> Import Package from JSON</a>
|
<span class="glyphicon glyphicon-import"></span> Import Package from JSON</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#import_legacy_package_modal">
|
<a
|
||||||
<span class="glyphicon glyphicon-import"></span> Import Package from legacy JSON</a>
|
role="button"
|
||||||
|
data-toggle="modal"
|
||||||
|
data-target="#import_legacy_package_modal"
|
||||||
|
>
|
||||||
|
<span class="glyphicon glyphicon-import"></span> Import Package from legacy
|
||||||
|
JSON</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
@ -1,6 +1,7 @@
|
|||||||
{% if meta.can_edit %}
|
{% if meta.can_edit %}
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#new_reaction_modal">
|
<a role="button" data-toggle="modal" data-target="#new_reaction_modal">
|
||||||
<span class="glyphicon glyphicon-plus"></span> New Reaction</a>
|
<span class="glyphicon glyphicon-plus"></span> New Reaction</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -1,6 +1,7 @@
|
|||||||
{% if meta.can_edit %}
|
{% if meta.can_edit %}
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#new_rule_modal">
|
<a role="button" data-toggle="modal" data-target="#new_rule_modal">
|
||||||
<span class="glyphicon glyphicon-plus"></span> New Rule</a>
|
<span class="glyphicon glyphicon-plus"></span> New Rule</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
{% if meta.can_edit %}
|
{% if meta.can_edit %}
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#new_scenario_modal">
|
<a role="button" data-toggle="modal" data-target="#new_scenario_modal">
|
||||||
<span class="glyphicon glyphicon-plus"></span> New Scenario</a>
|
<span class="glyphicon glyphicon-plus"></span> New Scenario</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -1,6 +1,7 @@
|
|||||||
{% if meta.can_edit %}
|
{% if meta.can_edit %}
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#new_setting_modal">
|
<a role="button" data-toggle="modal" data-target="#new_setting_modal">
|
||||||
<span class="glyphicon glyphicon-plus"></span>New Setting</a>
|
<span class="glyphicon glyphicon-plus"></span>New Setting</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -1,32 +1,43 @@
|
|||||||
{% if meta.can_edit %}
|
{% if meta.can_edit %}
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#edit_compound_modal">
|
<a role="button" data-toggle="modal" data-target="#edit_compound_modal">
|
||||||
<i class="glyphicon glyphicon-edit"></i> Edit Compound</a>
|
<i class="glyphicon glyphicon-edit"></i> Edit Compound</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#set_aliases_modal">
|
<a role="button" data-toggle="modal" data-target="#set_aliases_modal">
|
||||||
<i class="glyphicon glyphicon-plus"></i> Set Aliases</a>
|
<i class="glyphicon glyphicon-plus"></i> Set Aliases</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#add_structure_modal">
|
<a role="button" data-toggle="modal" data-target="#add_structure_modal">
|
||||||
<i class="glyphicon glyphicon-plus"></i> Add Structure</a>
|
<i class="glyphicon glyphicon-plus"></i> Add Structure</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#set_scenario_modal">
|
<a role="button" data-toggle="modal" data-target="#set_scenario_modal">
|
||||||
<i class="glyphicon glyphicon-plus"></i> Set Scenarios</a>
|
<i class="glyphicon glyphicon-plus"></i> Set Scenarios</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#generic_set_external_reference_modal">
|
<a
|
||||||
<i class="glyphicon glyphicon-plus"></i> Set External Reference</a>
|
role="button"
|
||||||
|
data-toggle="modal"
|
||||||
|
data-target="#generic_set_external_reference_modal"
|
||||||
|
>
|
||||||
|
<i class="glyphicon glyphicon-plus"></i> Set External Reference</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#generic_copy_object_modal">
|
<a role="button" data-toggle="modal" data-target="#generic_copy_object_modal">
|
||||||
<i class="glyphicon glyphicon-duplicate"></i> Copy</a>
|
<i class="glyphicon glyphicon-duplicate"></i> Copy</a
|
||||||
</li>
|
>
|
||||||
|
</li>
|
||||||
{% if meta.can_edit %}
|
{% if meta.can_edit %}
|
||||||
<li>
|
<li>
|
||||||
<a class="button" data-toggle="modal" data-target="#generic_delete_modal">
|
<a class="button" data-toggle="modal" data-target="#generic_delete_modal">
|
||||||
<i class="glyphicon glyphicon-trash"></i> Delete Compound</a>
|
<i class="glyphicon glyphicon-trash"></i> Delete Compound</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@ -1,22 +1,35 @@
|
|||||||
{% if meta.can_edit %}
|
{% if meta.can_edit %}
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#edit_compound_structure_modal">
|
<a
|
||||||
<i class="glyphicon glyphicon-edit"></i> Edit Compound Structure</a>
|
role="button"
|
||||||
|
data-toggle="modal"
|
||||||
|
data-target="#edit_compound_structure_modal"
|
||||||
|
>
|
||||||
|
<i class="glyphicon glyphicon-edit"></i> Edit Compound Structure</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#set_aliases_modal">
|
<a role="button" data-toggle="modal" data-target="#set_aliases_modal">
|
||||||
<i class="glyphicon glyphicon-plus"></i> Set Aliases</a>
|
<i class="glyphicon glyphicon-plus"></i> Set Aliases</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#set_scenario_modal">
|
<a role="button" data-toggle="modal" data-target="#set_scenario_modal">
|
||||||
<i class="glyphicon glyphicon-plus"></i> Set Scenarios</a>
|
<i class="glyphicon glyphicon-plus"></i> Set Scenarios</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#generic_set_external_reference_modal">
|
<a
|
||||||
<i class="glyphicon glyphicon-plus"></i> Set External Reference</a>
|
role="button"
|
||||||
|
data-toggle="modal"
|
||||||
|
data-target="#generic_set_external_reference_modal"
|
||||||
|
>
|
||||||
|
<i class="glyphicon glyphicon-plus"></i> Set External Reference</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a class="button" data-toggle="modal" data-target="#generic_delete_modal">
|
<a class="button" data-toggle="modal" data-target="#generic_delete_modal">
|
||||||
<i class="glyphicon glyphicon-trash"></i> Delete Compound Structure</a>
|
<i class="glyphicon glyphicon-trash"></i> Delete Compound Structure</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@ -1,14 +1,17 @@
|
|||||||
{% if meta.can_edit %}
|
{% if meta.can_edit %}
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#set_aliases_modal">
|
<a role="button" data-toggle="modal" data-target="#set_aliases_modal">
|
||||||
<i class="glyphicon glyphicon-plus"></i> Set Aliases</a>
|
<i class="glyphicon glyphicon-plus"></i> Set Aliases</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#set_scenario_modal">
|
<a role="button" data-toggle="modal" data-target="#set_scenario_modal">
|
||||||
<i class="glyphicon glyphicon-plus"></i> Set Scenarios</a>
|
<i class="glyphicon glyphicon-plus"></i> Set Scenarios</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a class="button" data-toggle="modal" data-target="#generic_delete_modal">
|
<a class="button" data-toggle="modal" data-target="#generic_delete_modal">
|
||||||
<i class="glyphicon glyphicon-trash"></i> Delete Edge</a>
|
<i class="glyphicon glyphicon-trash"></i> Delete Edge</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@ -1,10 +1,12 @@
|
|||||||
{% if meta.can_edit %}
|
{% if meta.can_edit %}
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#edit_group_member_modal">
|
<a role="button" data-toggle="modal" data-target="#edit_group_member_modal">
|
||||||
<i class="glyphicon glyphicon-trash"></i> Add/Remove Member</a>
|
<i class="glyphicon glyphicon-trash"></i> Add/Remove Member</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#generic_delete_modal">
|
<a role="button" data-toggle="modal" data-target="#generic_delete_modal">
|
||||||
<i class="glyphicon glyphicon-trash"></i> Delete Group</a>
|
<i class="glyphicon glyphicon-trash"></i> Delete Group</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -1,18 +1,22 @@
|
|||||||
{% if meta.can_edit %}
|
{% if meta.can_edit %}
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#edit_model_modal">
|
<a role="button" data-toggle="modal" data-target="#edit_model_modal">
|
||||||
<i class="glyphicon glyphicon-edit"></i> Edit Model</a>
|
<i class="glyphicon glyphicon-edit"></i> Edit Model</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#evaluate_model_modal">
|
<a role="button" data-toggle="modal" data-target="#evaluate_model_modal">
|
||||||
<i class="glyphicon glyphicon-ok"></i> Evaluate Model</a>
|
<i class="glyphicon glyphicon-ok"></i> Evaluate Model</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#retrain_model_modal">
|
<a role="button" data-toggle="modal" data-target="#retrain_model_modal">
|
||||||
<i class="glyphicon glyphicon-repeat"></i> Retrain Model</a>
|
<i class="glyphicon glyphicon-repeat"></i> Retrain Model</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a class="button" data-toggle="modal" data-target="#generic_delete_modal">
|
<a class="button" data-toggle="modal" data-target="#generic_delete_modal">
|
||||||
<i class="glyphicon glyphicon-trash"></i> Delete Model</a>
|
<i class="glyphicon glyphicon-trash"></i> Delete Model</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -1,18 +1,22 @@
|
|||||||
{% if meta.can_edit %}
|
{% if meta.can_edit %}
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#edit_node_modal">
|
<a role="button" data-toggle="modal" data-target="#edit_node_modal">
|
||||||
<i class="glyphicon glyphicon-edit"></i> Edit Node</a>
|
<i class="glyphicon glyphicon-edit"></i> Edit Node</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#set_aliases_modal">
|
<a role="button" data-toggle="modal" data-target="#set_aliases_modal">
|
||||||
<i class="glyphicon glyphicon-plus"></i> Set Aliases</a>
|
<i class="glyphicon glyphicon-plus"></i> Set Aliases</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#set_scenario_modal">
|
<a role="button" data-toggle="modal" data-target="#set_scenario_modal">
|
||||||
<i class="glyphicon glyphicon-plus"></i> Set Scenarios</a>
|
<i class="glyphicon glyphicon-plus"></i> Set Scenarios</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a class="button" data-toggle="modal" data-target="#generic_delete_modal">
|
<a class="button" data-toggle="modal" data-target="#generic_delete_modal">
|
||||||
<i class="glyphicon glyphicon-trash"></i> Delete Node</a>
|
<i class="glyphicon glyphicon-trash"></i> Delete Node</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@ -1,26 +1,36 @@
|
|||||||
{% if meta.can_edit %}
|
{% if meta.can_edit %}
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#edit_package_modal">
|
<a role="button" data-toggle="modal" data-target="#edit_package_modal">
|
||||||
<i class="glyphicon glyphicon-edit"></i> Edit Package</a>
|
<i class="glyphicon glyphicon-edit"></i> Edit Package</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#edit_package_permissions_modal">
|
<a
|
||||||
<i class="glyphicon glyphicon-user"></i> Edit Permissions</a>
|
role="button"
|
||||||
|
data-toggle="modal"
|
||||||
|
data-target="#edit_package_permissions_modal"
|
||||||
|
>
|
||||||
|
<i class="glyphicon glyphicon-user"></i> Edit Permissions</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#publish_package_modal">
|
<a role="button" data-toggle="modal" data-target="#publish_package_modal">
|
||||||
<i class="glyphicon glyphicon-bullhorn"></i> Publish Package</a>
|
<i class="glyphicon glyphicon-bullhorn"></i> Publish Package</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#export_package_modal">
|
<a role="button" data-toggle="modal" data-target="#export_package_modal">
|
||||||
<i class="glyphicon glyphicon-bullhorn"></i> Export Package as JSON</a>
|
<i class="glyphicon glyphicon-bullhorn"></i> Export Package as JSON</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#set_license_modal">
|
<a role="button" data-toggle="modal" data-target="#set_license_modal">
|
||||||
<i class="glyphicon glyphicon-duplicate"></i> License</a>
|
<i class="glyphicon glyphicon-duplicate"></i> License</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a class="button" data-toggle="modal" data-target="#generic_delete_modal">
|
<a class="button" data-toggle="modal" data-target="#generic_delete_modal">
|
||||||
<i class="glyphicon glyphicon-trash"></i> Delete Package</a>
|
<i class="glyphicon glyphicon-trash"></i> Delete Package</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -1,43 +1,65 @@
|
|||||||
{% if meta.can_edit %}
|
{% if meta.can_edit %}
|
||||||
<li>
|
<li>
|
||||||
<a class="button" data-toggle="modal" data-target="#add_pathway_node_modal">
|
<a class="button" data-toggle="modal" data-target="#add_pathway_node_modal">
|
||||||
<i class="glyphicon glyphicon-plus"></i> Add Compound</a>
|
<i class="glyphicon glyphicon-plus"></i> Add Compound</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a class="button" data-toggle="modal" data-target="#add_pathway_edge_modal">
|
<a class="button" data-toggle="modal" data-target="#add_pathway_edge_modal">
|
||||||
<i class="glyphicon glyphicon-plus"></i> Add Reaction</a>
|
<i class="glyphicon glyphicon-plus"></i> Add Reaction</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li role="separator" class="divider"></li>
|
<li role="separator" class="divider"></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#generic_copy_object_modal">
|
<a role="button" data-toggle="modal" data-target="#generic_copy_object_modal">
|
||||||
<i class="glyphicon glyphicon-duplicate"></i> Copy</a>
|
<i class="glyphicon glyphicon-duplicate"></i> Copy</a
|
||||||
</li>
|
>
|
||||||
<li>
|
</li>
|
||||||
<a class="button" data-toggle="modal" data-target="#download_pathway_csv_modal">
|
<li>
|
||||||
<i class="glyphicon glyphicon-floppy-save"></i> Download Pathway as CSV</a>
|
<a
|
||||||
</li>
|
class="button"
|
||||||
<li>
|
data-toggle="modal"
|
||||||
<a class="button" data-toggle="modal" data-target="#download_pathway_image_modal">
|
data-target="#download_pathway_csv_modal"
|
||||||
<i class="glyphicon glyphicon-floppy-save"></i> Download Pathway as Image</a>
|
>
|
||||||
</li>
|
<i class="glyphicon glyphicon-floppy-save"></i> Download Pathway as CSV</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
class="button"
|
||||||
|
data-toggle="modal"
|
||||||
|
data-target="#download_pathway_image_modal"
|
||||||
|
>
|
||||||
|
<i class="glyphicon glyphicon-floppy-save"></i> Download Pathway as Image</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
{% if meta.can_edit %}
|
{% if meta.can_edit %}
|
||||||
<li>
|
<li>
|
||||||
<a class="button" data-toggle="modal" data-target="#identify_missing_rules_modal">
|
<a
|
||||||
<i class="glyphicon glyphicon-question-sign"></i> Identify Missing Rules</a>
|
class="button"
|
||||||
|
data-toggle="modal"
|
||||||
|
data-target="#identify_missing_rules_modal"
|
||||||
|
>
|
||||||
|
<i class="glyphicon glyphicon-question-sign"></i> Identify Missing
|
||||||
|
Rules</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li role="separator" class="divider"></li>
|
<li role="separator" class="divider"></li>
|
||||||
<li>
|
<li>
|
||||||
<a class="button" data-toggle="modal" data-target="#edit_pathway_modal">
|
<a class="button" data-toggle="modal" data-target="#edit_pathway_modal">
|
||||||
<i class="glyphicon glyphicon-edit"></i> Edit Pathway</a>
|
<i class="glyphicon glyphicon-edit"></i> Edit Pathway</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#set_scenario_modal">
|
<a role="button" data-toggle="modal" data-target="#set_scenario_modal">
|
||||||
<i class="glyphicon glyphicon-plus"></i> Set Scenarios</a>
|
<i class="glyphicon glyphicon-plus"></i> Set Scenarios</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#set_aliases_modal">
|
<a role="button" data-toggle="modal" data-target="#set_aliases_modal">
|
||||||
<i class="glyphicon glyphicon-plus"></i> Set Aliases</a>
|
<i class="glyphicon glyphicon-plus"></i> Set Aliases</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
{# <li>#}
|
{# <li>#}
|
||||||
{# <a class="button" data-toggle="modal" data-target="#add_pathway_edge_modal">#}
|
{# <a class="button" data-toggle="modal" data-target="#add_pathway_edge_modal">#}
|
||||||
@ -45,15 +67,26 @@
|
|||||||
{# </li>#}
|
{# </li>#}
|
||||||
<li role="separator" class="divider"></li>
|
<li role="separator" class="divider"></li>
|
||||||
<li>
|
<li>
|
||||||
<a class="button" data-toggle="modal" data-target="#delete_pathway_node_modal">
|
<a
|
||||||
<i class="glyphicon glyphicon-trash"></i> Delete Compound</a>
|
class="button"
|
||||||
|
data-toggle="modal"
|
||||||
|
data-target="#delete_pathway_node_modal"
|
||||||
|
>
|
||||||
|
<i class="glyphicon glyphicon-trash"></i> Delete Compound</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a class="button" data-toggle="modal" data-target="#delete_pathway_edge_modal">
|
<a
|
||||||
<i class="glyphicon glyphicon-trash"></i> Delete Reaction</a>
|
class="button"
|
||||||
|
data-toggle="modal"
|
||||||
|
data-target="#delete_pathway_edge_modal"
|
||||||
|
>
|
||||||
|
<i class="glyphicon glyphicon-trash"></i> Delete Reaction</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a class="button" data-toggle="modal" data-target="#generic_delete_modal">
|
<a class="button" data-toggle="modal" data-target="#generic_delete_modal">
|
||||||
<i class="glyphicon glyphicon-trash"></i> Delete Pathway</a>
|
<i class="glyphicon glyphicon-trash"></i> Delete Pathway</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@ -1,28 +1,38 @@
|
|||||||
{% if meta.can_edit %}
|
{% if meta.can_edit %}
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#edit_reaction_modal">
|
<a role="button" data-toggle="modal" data-target="#edit_reaction_modal">
|
||||||
<i class="glyphicon glyphicon-edit"></i> Edit Reaction</a>
|
<i class="glyphicon glyphicon-edit"></i> Edit Reaction</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#set_aliases_modal">
|
<a role="button" data-toggle="modal" data-target="#set_aliases_modal">
|
||||||
<i class="glyphicon glyphicon-plus"></i> Set Aliases</a>
|
<i class="glyphicon glyphicon-plus"></i> Set Aliases</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#set_scenario_modal">
|
<a role="button" data-toggle="modal" data-target="#set_scenario_modal">
|
||||||
<i class="glyphicon glyphicon-plus"></i> Set Scenarios</a>
|
<i class="glyphicon glyphicon-plus"></i> Set Scenarios</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#generic_set_external_reference_modal">
|
<a
|
||||||
<i class="glyphicon glyphicon-plus"></i> Set External Reference</a>
|
role="button"
|
||||||
|
data-toggle="modal"
|
||||||
|
data-target="#generic_set_external_reference_modal"
|
||||||
|
>
|
||||||
|
<i class="glyphicon glyphicon-plus"></i> Set External Reference</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#generic_copy_object_modal">
|
<a role="button" data-toggle="modal" data-target="#generic_copy_object_modal">
|
||||||
<i class="glyphicon glyphicon-duplicate"></i> Copy</a>
|
<i class="glyphicon glyphicon-duplicate"></i> Copy</a
|
||||||
</li>
|
>
|
||||||
|
</li>
|
||||||
{% if meta.can_edit %}
|
{% if meta.can_edit %}
|
||||||
<li>
|
<li>
|
||||||
<a class="button" data-toggle="modal" data-target="#generic_delete_modal">
|
<a class="button" data-toggle="modal" data-target="#generic_delete_modal">
|
||||||
<i class="glyphicon glyphicon-trash"></i> Delete Reaction</a>
|
<i class="glyphicon glyphicon-trash"></i> Delete Reaction</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@ -1,24 +1,29 @@
|
|||||||
{% if meta.can_edit %}
|
{% if meta.can_edit %}
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#edit_rule_modal">
|
<a role="button" data-toggle="modal" data-target="#edit_rule_modal">
|
||||||
<i class="glyphicon glyphicon-edit"></i> Edit Rule</a>
|
<i class="glyphicon glyphicon-edit"></i> Edit Rule</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#set_aliases_modal">
|
<a role="button" data-toggle="modal" data-target="#set_aliases_modal">
|
||||||
<i class="glyphicon glyphicon-plus"></i> Set Aliases</a>
|
<i class="glyphicon glyphicon-plus"></i> Set Aliases</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#set_scenario_modal">
|
<a role="button" data-toggle="modal" data-target="#set_scenario_modal">
|
||||||
<i class="glyphicon glyphicon-plus"></i> Set Scenarios</a>
|
<i class="glyphicon glyphicon-plus"></i> Set Scenarios</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#generic_copy_object_modal">
|
<a role="button" data-toggle="modal" data-target="#generic_copy_object_modal">
|
||||||
<i class="glyphicon glyphicon-duplicate"></i> Copy</a>
|
<i class="glyphicon glyphicon-duplicate"></i> Copy</a
|
||||||
</li>
|
>
|
||||||
|
</li>
|
||||||
{% if meta.can_edit %}
|
{% if meta.can_edit %}
|
||||||
<li>
|
<li>
|
||||||
<a class="button" data-toggle="modal" data-target="#generic_delete_modal">
|
<a class="button" data-toggle="modal" data-target="#generic_delete_modal">
|
||||||
<i class="glyphicon glyphicon-trash"></i> Delete Rule</a>
|
<i class="glyphicon glyphicon-trash"></i> Delete Rule</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@ -1,14 +1,25 @@
|
|||||||
{% if meta.can_edit %}
|
{% if meta.can_edit %}
|
||||||
<li>
|
<li>
|
||||||
<a class="button" data-toggle="modal" data-target="#add_additional_information_modal">
|
<a
|
||||||
<i class="glyphicon glyphicon-trash"></i> Add Additional Information</a>
|
class="button"
|
||||||
|
data-toggle="modal"
|
||||||
|
data-target="#add_additional_information_modal"
|
||||||
|
>
|
||||||
|
<i class="glyphicon glyphicon-trash"></i> Add Additional Information</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a class="button" data-toggle="modal" data-target="#update_scenario_additional_information_modal">
|
<a
|
||||||
<i class="glyphicon glyphicon-trash"></i> Set Additional Information</a>
|
class="button"
|
||||||
|
data-toggle="modal"
|
||||||
|
data-target="#update_scenario_additional_information_modal"
|
||||||
|
>
|
||||||
|
<i class="glyphicon glyphicon-trash"></i> Set Additional Information</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a class="button" data-toggle="modal" data-target="#generic_delete_modal">
|
<a class="button" data-toggle="modal" data-target="#generic_delete_modal">
|
||||||
<i class="glyphicon glyphicon-trash"></i> Delete Scenario</a>
|
<i class="glyphicon glyphicon-trash"></i> Delete Scenario</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -1,22 +1,30 @@
|
|||||||
{% if meta.can_edit %}
|
{% if meta.can_edit %}
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#edit_user_modal">
|
<a role="button" data-toggle="modal" data-target="#edit_user_modal">
|
||||||
<i class="glyphicon glyphicon-edit"></i> Update</a>
|
<i class="glyphicon glyphicon-edit"></i> Update</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#edit_password_modal">
|
<a role="button" data-toggle="modal" data-target="#edit_password_modal">
|
||||||
<i class="glyphicon glyphicon-lock"></i> Update Password</a>
|
<i class="glyphicon glyphicon-lock"></i> Update Password</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#new_prediction_setting_modal">
|
<a
|
||||||
<i class="glyphicon glyphicon-plus"></i> New Prediction Setting</a>
|
role="button"
|
||||||
|
data-toggle="modal"
|
||||||
|
data-target="#new_prediction_setting_modal"
|
||||||
|
>
|
||||||
|
<i class="glyphicon glyphicon-plus"></i> New Prediction Setting</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
{# <li>#}
|
{# <li>#}
|
||||||
{# <a role="button" data-toggle="modal" data-target="#manage_api_token_modal">#}
|
{# <a role="button" data-toggle="modal" data-target="#manage_api_token_modal">#}
|
||||||
{# <i class="glyphicon glyphicon-console"></i> Manage API Token</a>#}
|
{# <i class="glyphicon glyphicon-console"></i> Manage API Token</a>#}
|
||||||
{# </li>#}
|
{# </li>#}
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" data-target="#generic_delete_modal">
|
<a role="button" data-toggle="modal" data-target="#generic_delete_modal">
|
||||||
<i class="glyphicon glyphicon-trash"></i> Delete Account</a>
|
<i class="glyphicon glyphicon-trash"></i> Delete Account</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -1,12 +1,17 @@
|
|||||||
{% extends "framework.html" %}
|
{% extends "framework.html" %}
|
||||||
{% load static %}
|
{% load static %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
<div id="searchContent">
|
||||||
<div id=searchContent>
|
|
||||||
<form id="admin-form" action="{{ SERVER_BASE }}/admin" method="post">
|
<form id="admin-form" action="{{ SERVER_BASE }}/admin" method="post">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="textarea">Query</label>
|
<label for="textarea">Query</label>
|
||||||
<textarea id="textarea" class="form-control" rows="10" placeholder="Paste query here" required>
|
<textarea
|
||||||
|
id="textarea"
|
||||||
|
class="form-control"
|
||||||
|
rows="10"
|
||||||
|
placeholder="Paste query here"
|
||||||
|
required
|
||||||
|
>
|
||||||
PREFIX pps: <http://localhost:8080/vocabulary#>
|
PREFIX pps: <http://localhost:8080/vocabulary#>
|
||||||
SELECT ?name (count(?objId) as ?xcnt)
|
SELECT ?name (count(?objId) as ?xcnt)
|
||||||
WHERE {
|
WHERE {
|
||||||
@ -15,32 +20,29 @@ WHERE {
|
|||||||
?packageId pps:reviewStatus 'reviewed' .
|
?packageId pps:reviewStatus 'reviewed' .
|
||||||
?packageId pps:pathway ?objId .
|
?packageId pps:pathway ?objId .
|
||||||
} GROUP BY ?name
|
} GROUP BY ?name
|
||||||
</textarea>
|
</textarea
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
<button id="submit" type="button" class="btn btn-primary">Submit</button>
|
<button id="submit" type="button" class="btn btn-primary">Submit</button>
|
||||||
</form>
|
</form>
|
||||||
<p></p>
|
<p></p>
|
||||||
</div>
|
</div>
|
||||||
<div id="results">
|
<div id="results"></div>
|
||||||
</div>
|
<div id="loading"></div>
|
||||||
<div id="loading"></div>
|
<script>
|
||||||
</div>
|
$(function () {
|
||||||
<script>
|
$("#submit").on("click", function () {
|
||||||
$(function() {
|
|
||||||
$('#submit').on('click', function() {
|
|
||||||
|
|
||||||
makeLoadingGif("#loading", "{% static '/images/wait.gif' %}");
|
makeLoadingGif("#loading", "{% static '/images/wait.gif' %}");
|
||||||
|
|
||||||
data = {
|
data = {
|
||||||
"query": $("#textarea").val()
|
query: $("#textarea").val(),
|
||||||
}
|
};
|
||||||
|
|
||||||
$.post("{{ SERVER_BASE }}/expire", data, function(result) {
|
$.post("{{ SERVER_BASE }}/expire", data, function (result) {
|
||||||
$("#loading").empty();
|
$("#loading").empty();
|
||||||
queryResultToTable("results", result);
|
queryResultToTable("results", result);
|
||||||
})
|
|
||||||
});
|
});
|
||||||
})
|
});
|
||||||
</script>
|
});
|
||||||
|
</script>
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|||||||
@ -1,30 +1,38 @@
|
|||||||
{% extends "framework.html" %}
|
{% extends "framework.html" %}
|
||||||
{% load static %}
|
{% load static %}
|
||||||
|
{% load envipytags %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
|
||||||
<div class="panel-group" id="reviewListAccordion">
|
<div class="panel-group" id="reviewListAccordion">
|
||||||
<div class="panel panel-default">
|
<div class="panel panel-default">
|
||||||
<div class="panel-heading" id="headingPanel" style="font-size:2rem;height: 46px">
|
<div
|
||||||
|
class="panel-heading"
|
||||||
|
id="headingPanel"
|
||||||
|
style="font-size:2rem;height: 46px"
|
||||||
|
>
|
||||||
Jobs
|
Jobs
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<p>
|
<p>Job Logs Desc</p>
|
||||||
Job Logs Desc
|
|
||||||
</p>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="job-accordion-link" data-toggle="collapse" data-parent="#job-accordion" href="#jobs">
|
<a
|
||||||
|
id="job-accordion-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#job-accordion"
|
||||||
|
href="#jobs"
|
||||||
|
>
|
||||||
Jobs
|
Jobs
|
||||||
</a>
|
</a>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="jobs"
|
<div id="jobs" class="panel-collapse in collapse">
|
||||||
class="panel-collapse collapse in">
|
|
||||||
<div class="panel-body list-group-item" id="job-content">
|
<div class="panel-body list-group-item" id="job-content">
|
||||||
<table class="table table-bordered table-hover">
|
<table class="table-bordered table-hover table">
|
||||||
<tr style="background-color: rgba(0, 0, 0, 0.08);">
|
<tr style="background-color: rgba(0, 0, 0, 0.08);">
|
||||||
<th scope="col">ID</th>
|
<th scope="col">ID</th>
|
||||||
<th scope="col">Name</th>
|
<th scope="col">Name</th>
|
||||||
@ -56,10 +64,12 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Unreviewable objects such as User / Group / Setting -->
|
<!-- Unreviewable objects such as User / Group / Setting -->
|
||||||
<ul class='list-group'>
|
<ul class="list-group">
|
||||||
{% for obj in objects %}
|
{% for obj in objects %}
|
||||||
{% if object_type == 'user' %}
|
{% if object_type == 'user' %}
|
||||||
<a class="list-group-item" href="{{ obj.url }}">{{ obj.username }}</a>
|
<a class="list-group-item" href="{{ obj.url }}"
|
||||||
|
>{{ obj.username }}</a
|
||||||
|
>
|
||||||
{% else %}
|
{% else %}
|
||||||
<a class="list-group-item" href="{{ obj.url }}">{{ obj.name }}</a>
|
<a class="list-group-item" href="{{ obj.url }}">{{ obj.name }}</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@ -6,14 +6,22 @@
|
|||||||
<div>
|
<div>
|
||||||
<div id="load-all-error" style="display: none;">
|
<div id="load-all-error" style="display: none;">
|
||||||
<div class="alert alert-danger" role="alert">
|
<div class="alert alert-danger" role="alert">
|
||||||
<span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
|
<span
|
||||||
|
class="glyphicon glyphicon-exclamation-sign"
|
||||||
|
aria-hidden="true"
|
||||||
|
></span>
|
||||||
<span class="sr-only">Error:</span>
|
<span class="sr-only">Error:</span>
|
||||||
Getting objects failed!
|
Getting objects failed!
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<input type="text" id="object-search" class="form-control" placeholder="Search by name"
|
<input
|
||||||
style="display: none;">
|
type="text"
|
||||||
|
id="object-search"
|
||||||
|
class="form-control"
|
||||||
|
placeholder="Search by name"
|
||||||
|
style="display: none;"
|
||||||
|
/>
|
||||||
<p></p>
|
<p></p>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -48,9 +56,13 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% endblock action_modals %}
|
{% endblock action_modals %}
|
||||||
|
|
||||||
<div class="panel-group" id="reviewListAccordion">
|
<div class="panel-group" id="reviewListAccordion">
|
||||||
<div class="panel panel-default">
|
<div class="panel panel-default">
|
||||||
<div class="panel-heading" id="headingPanel" style="font-size:2rem;height: 46px">
|
<div
|
||||||
|
class="panel-heading"
|
||||||
|
id="headingPanel"
|
||||||
|
style="font-size:2rem;height: 46px"
|
||||||
|
>
|
||||||
{% if object_type == 'package' %}
|
{% if object_type == 'package' %}
|
||||||
Packages
|
Packages
|
||||||
{% elif object_type == 'compound' %}
|
{% elif object_type == 'compound' %}
|
||||||
@ -78,12 +90,21 @@
|
|||||||
{% elif object_type == 'group' %}
|
{% elif object_type == 'group' %}
|
||||||
Groups
|
Groups
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<div id="actionsButton"
|
<div
|
||||||
|
id="actionsButton"
|
||||||
style="float: right;font-weight: normal;font-size: medium;position: relative; top: 50%; transform: translateY(-50%);z-index:100;display: none;"
|
style="float: right;font-weight: normal;font-size: medium;position: relative; top: 50%; transform: translateY(-50%);z-index:100;display: none;"
|
||||||
class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button"
|
class="dropdown"
|
||||||
aria-haspopup="true" aria-expanded="false"><span
|
>
|
||||||
class="glyphicon glyphicon-wrench"></span> Actions <span class="caret"></span><span
|
<a
|
||||||
style="padding-right:1em"></span></a>
|
href="#"
|
||||||
|
class="dropdown-toggle"
|
||||||
|
data-toggle="dropdown"
|
||||||
|
role="button"
|
||||||
|
aria-haspopup="true"
|
||||||
|
aria-expanded="false"
|
||||||
|
><span class="glyphicon glyphicon-wrench"></span> Actions
|
||||||
|
<span class="caret"></span><span style="padding-right:1em"></span
|
||||||
|
></a>
|
||||||
<ul id="actionsList" class="dropdown-menu">
|
<ul id="actionsList" class="dropdown-menu">
|
||||||
{% block actions %}
|
{% block actions %}
|
||||||
{% if object_type == 'package' %}
|
{% if object_type == 'package' %}
|
||||||
@ -118,93 +139,204 @@
|
|||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<!-- Set Text above links -->
|
<!-- Set Text above links -->
|
||||||
{% if object_type == 'package' %}
|
{% if object_type == 'package' %}
|
||||||
<p>A package contains pathways, rules, etc. and can reflect specific experimental
|
<p>
|
||||||
conditions. <a target="_blank" href="https://wiki.envipath.org/index.php/packages" role="button">Learn
|
A package contains pathways, rules, etc. and can reflect specific
|
||||||
more >></a></p>
|
experimental conditions.
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
href="https://wiki.envipath.org/index.php/packages"
|
||||||
|
role="button"
|
||||||
|
>Learn more >></a
|
||||||
|
>
|
||||||
|
</p>
|
||||||
{% elif object_type == 'compound' %}
|
{% elif object_type == 'compound' %}
|
||||||
<p>A compound stores the structure of a molecule and can include meta-information.
|
<p>
|
||||||
<a target="_blank" href="https://wiki.envipath.org/index.php/compounds" role="button">Learn more
|
A compound stores the structure of a molecule and can include
|
||||||
>></a></p>
|
meta-information.
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
href="https://wiki.envipath.org/index.php/compounds"
|
||||||
|
role="button"
|
||||||
|
>Learn more >></a
|
||||||
|
>
|
||||||
|
</p>
|
||||||
{% elif object_type == 'structure' %}
|
{% elif object_type == 'structure' %}
|
||||||
<p>The structures stored in this compound
|
<p>
|
||||||
<a target="_blank" href="https://wiki.envipath.org/index.php/compounds" role="button">Learn more
|
The structures stored in this compound
|
||||||
>></a></p>
|
<a
|
||||||
|
target="_blank"
|
||||||
|
href="https://wiki.envipath.org/index.php/compounds"
|
||||||
|
role="button"
|
||||||
|
>Learn more >></a
|
||||||
|
>
|
||||||
|
</p>
|
||||||
{% elif object_type == 'rule' %}
|
{% elif object_type == 'rule' %}
|
||||||
<p>A rule describes a biotransformation reaction template that is defined as SMIRKS.
|
<p>
|
||||||
<a target="_blank" href="https://wiki.envipath.org/index.php/Rules" role="button">Learn more
|
A rule describes a biotransformation reaction template that is
|
||||||
>></a></p>
|
defined as SMIRKS.
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
href="https://wiki.envipath.org/index.php/Rules"
|
||||||
|
role="button"
|
||||||
|
>Learn more >></a
|
||||||
|
>
|
||||||
|
</p>
|
||||||
{% elif object_type == 'reaction' %}
|
{% elif object_type == 'reaction' %}
|
||||||
<p>A reaction is a specific biotransformation from educt compounds to product compounds.
|
<p>
|
||||||
<a target="_blank" href="https://wiki.envipath.org/index.php/reactions" role="button">Learn more
|
A reaction is a specific biotransformation from educt compounds to
|
||||||
>></a></p>
|
product compounds.
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
href="https://wiki.envipath.org/index.php/reactions"
|
||||||
|
role="button"
|
||||||
|
>Learn more >></a
|
||||||
|
>
|
||||||
|
</p>
|
||||||
{% elif object_type == 'pathway' %}
|
{% elif object_type == 'pathway' %}
|
||||||
<p>A pathway displays the (predicted) biodegradation of a compound as graph.
|
<p>
|
||||||
<a target="_blank" href="https://wiki.envipath.org/index.php/pathways" role="button">Learn more
|
A pathway displays the (predicted) biodegradation of a compound as
|
||||||
>></a></p>
|
graph.
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
href="https://wiki.envipath.org/index.php/pathways"
|
||||||
|
role="button"
|
||||||
|
>Learn more >></a
|
||||||
|
>
|
||||||
|
</p>
|
||||||
{% elif object_type == 'node' %}
|
{% elif object_type == 'node' %}
|
||||||
<p>Nodes represent the (predicted) compounds in a graph.
|
<p>
|
||||||
<a target="_blank" href="https://wiki.envipath.org/index.php/nodes" role="button">Learn more
|
Nodes represent the (predicted) compounds in a graph.
|
||||||
>></a></p>
|
<a
|
||||||
|
target="_blank"
|
||||||
|
href="https://wiki.envipath.org/index.php/nodes"
|
||||||
|
role="button"
|
||||||
|
>Learn more >></a
|
||||||
|
>
|
||||||
|
</p>
|
||||||
{% elif object_type == 'edge' %}
|
{% elif object_type == 'edge' %}
|
||||||
<p>Edges represent the links between Nodes in a graph
|
<p>
|
||||||
<a target="_blank" href="https://wiki.envipath.org/index.php/edges" role="button">Learn more
|
Edges represent the links between Nodes in a graph
|
||||||
>></a></p>
|
<a
|
||||||
|
target="_blank"
|
||||||
|
href="https://wiki.envipath.org/index.php/edges"
|
||||||
|
role="button"
|
||||||
|
>Learn more >></a
|
||||||
|
>
|
||||||
|
</p>
|
||||||
{% elif object_type == 'scenario' %}
|
{% elif object_type == 'scenario' %}
|
||||||
<p>A scenario contains meta-information that can be attached to other data (compounds, rules, ..).
|
<p>
|
||||||
<a target="_blank" href="https://wiki.envipath.org/index.php/scenarios" role="button">Learn more
|
A scenario contains meta-information that can be attached to other
|
||||||
>></a></p>
|
data (compounds, rules, ..).
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
href="https://wiki.envipath.org/index.php/scenarios"
|
||||||
|
role="button"
|
||||||
|
>Learn more >></a
|
||||||
|
>
|
||||||
|
</p>
|
||||||
{% elif object_type == 'model' %}
|
{% elif object_type == 'model' %}
|
||||||
<p>A model applies machine learning to limit the combinatorial explosion.
|
<p>
|
||||||
<a target="_blank" href="https://wiki.envipath.org/index.php/relative_reasoning" role="button">Learn
|
A model applies machine learning to limit the combinatorial
|
||||||
more
|
explosion.
|
||||||
>></a></p>
|
<a
|
||||||
|
target="_blank"
|
||||||
|
href="https://wiki.envipath.org/index.php/relative_reasoning"
|
||||||
|
role="button"
|
||||||
|
>Learn more >></a
|
||||||
|
>
|
||||||
|
</p>
|
||||||
{% elif object_type == 'setting' %}
|
{% elif object_type == 'setting' %}
|
||||||
<p>A setting includes configuration parameters for pathway predictions.
|
<p>
|
||||||
<a target="_blank" href="https://wiki.envipath.org/index.php/settings" role="button">Learn more
|
A setting includes configuration parameters for pathway predictions.
|
||||||
>></a></p>
|
<a
|
||||||
|
target="_blank"
|
||||||
|
href="https://wiki.envipath.org/index.php/settings"
|
||||||
|
role="button"
|
||||||
|
>Learn more >></a
|
||||||
|
>
|
||||||
|
</p>
|
||||||
{% elif object_type == 'user' %}
|
{% elif object_type == 'user' %}
|
||||||
<p>Register now to create own packages and to submit and manage your data.
|
<p>
|
||||||
<a target="_blank" href="https://wiki.envipath.org/index.php/users" role="button">Learn more
|
Register now to create own packages and to submit and manage your
|
||||||
>></a></p>
|
data.
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
href="https://wiki.envipath.org/index.php/users"
|
||||||
|
role="button"
|
||||||
|
>Learn more >></a
|
||||||
|
>
|
||||||
|
</p>
|
||||||
{% elif object_type == 'group' %}
|
{% elif object_type == 'group' %}
|
||||||
<p>Users can team up in groups to share packages.
|
<p>
|
||||||
<a target="_blank" href="https://wiki.envipath.org/index.php/groups" role="button">Learn more
|
Users can team up in groups to share packages.
|
||||||
>></a></p>
|
<a
|
||||||
|
target="_blank"
|
||||||
|
href="https://wiki.envipath.org/index.php/groups"
|
||||||
|
role="button"
|
||||||
|
>Learn more >></a
|
||||||
|
>
|
||||||
|
</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<!-- If theres nothing to show extend the text above -->
|
<!-- If theres nothing to show extend the text above -->
|
||||||
{% if reviewed_objects and unreviewed_objects %}
|
{% if reviewed_objects and unreviewed_objects %}
|
||||||
{% if reviewed_objects|length == 0 and unreviewed_objects|length == 0 %}
|
{% if reviewed_objects|length == 0 and unreviewed_objects|length == 0 %}
|
||||||
<p>Nothing found. There are two possible reasons: <br><br>1. There is no content yet.<br>2. You have no
|
<p>
|
||||||
reading permissions.<br><br>Please be sure you have at least reading permissions.</p>
|
Nothing found. There are two possible reasons: <br /><br />1.
|
||||||
|
There is no content yet.<br />2. You have no reading
|
||||||
|
permissions.<br /><br />Please be sure you have at least reading
|
||||||
|
permissions.
|
||||||
|
</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{% if reviewed_objects %}
|
{% if reviewed_objects %}
|
||||||
{% if reviewed_objects|length > 0 %}
|
{% if reviewed_objects|length > 0 %}
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="ReviewedLink" data-toggle="collapse" data-parent="#reviewListAccordion"
|
<a
|
||||||
href="#Reviewed">Reviewed</a>
|
id="ReviewedLink"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#reviewListAccordion"
|
||||||
|
href="#Reviewed"
|
||||||
|
>Reviewed</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="Reviewed" class="panel-collapse collapse in">
|
<div id="Reviewed" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item" id="ReviewedContent">
|
<div class="panel-body list-group-item" id="ReviewedContent">
|
||||||
{% if object_type == 'package' %}
|
{% if object_type == 'package' %}
|
||||||
{% for obj in reviewed_objects %}
|
{% for obj in reviewed_objects %}
|
||||||
<a class="list-group-item" href="{{ obj.url }}">{{ obj.name|safe }}
|
<a class="list-group-item" href="{{ obj.url }}"
|
||||||
<span class="glyphicon glyphicon-star" aria-hidden="true"
|
>{{ obj.name|safe }}
|
||||||
style="float:right" data-toggle="tooltip"
|
<span
|
||||||
data-placement="top" title="" data-original-title="Reviewed">
|
class="glyphicon glyphicon-star"
|
||||||
|
aria-hidden="true"
|
||||||
|
style="float:right"
|
||||||
|
data-toggle="tooltip"
|
||||||
|
data-placement="top"
|
||||||
|
title=""
|
||||||
|
data-original-title="Reviewed"
|
||||||
|
>
|
||||||
</span>
|
</span>
|
||||||
</a>
|
</a>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% else %}
|
{% else %}
|
||||||
{% for obj in reviewed_objects|slice:":50" %}
|
{% for obj in reviewed_objects|slice:":50" %}
|
||||||
<a class="list-group-item" href="{{ obj.url }}">{{ obj.name|safe }}{# <i>({{ obj.package.name }})</i> #}
|
<a class="list-group-item" href="{{ obj.url }}"
|
||||||
<span class="glyphicon glyphicon-star" aria-hidden="true"
|
>{{ obj.name|safe }}{# <i>({{ obj.package.name }})</i> #}
|
||||||
style="float:right" data-toggle="tooltip"
|
<span
|
||||||
data-placement="top" title="" data-original-title="Reviewed">
|
class="glyphicon glyphicon-star"
|
||||||
|
aria-hidden="true"
|
||||||
|
style="float:right"
|
||||||
|
data-toggle="tooltip"
|
||||||
|
data-placement="top"
|
||||||
|
title=""
|
||||||
|
data-original-title="Reviewed"
|
||||||
|
>
|
||||||
</span>
|
</span>
|
||||||
</a>
|
</a>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
@ -214,18 +346,36 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if unreviewed_objects %}
|
{% if unreviewed_objects %}
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver"><h4
|
<div
|
||||||
class="panel-title"><a id="UnreviewedLink" data-toggle="collapse" data-parent="#unReviewListAccordion"
|
class="panel panel-default panel-heading list-group-item"
|
||||||
href="#Unreviewed">Unreviewed</a></h4></div>
|
style="background-color:silver"
|
||||||
<div id="Unreviewed" class="panel-collapse collapse {% if reviewed_objects|length == 0 or object_type == 'package' %}in{% endif %}">
|
>
|
||||||
|
<h4 class="panel-title">
|
||||||
|
<a
|
||||||
|
id="UnreviewedLink"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#unReviewListAccordion"
|
||||||
|
href="#Unreviewed"
|
||||||
|
>Unreviewed</a
|
||||||
|
>
|
||||||
|
</h4>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
id="Unreviewed"
|
||||||
|
class="panel-collapse {% if reviewed_objects|length == 0 or object_type == 'package' %}in{% endif %} collapse"
|
||||||
|
>
|
||||||
<div class="panel-body list-group-item" id="UnreviewedContent">
|
<div class="panel-body list-group-item" id="UnreviewedContent">
|
||||||
{% if object_type == 'package' %}
|
{% if object_type == 'package' %}
|
||||||
{% for obj in unreviewed_objects %}
|
{% for obj in unreviewed_objects %}
|
||||||
<a class="list-group-item" href="{{ obj.url }}">{{ obj.name|safe }}</a>
|
<a class="list-group-item" href="{{ obj.url }}"
|
||||||
|
>{{ obj.name|safe }}</a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% else %}
|
{% else %}
|
||||||
{% for obj in unreviewed_objects|slice:":50" %}
|
{% for obj in unreviewed_objects|slice:":50" %}
|
||||||
<a class="list-group-item" href="{{ obj.url }}">{{ obj.name|safe }}</a>
|
<a class="list-group-item" href="{{ obj.url }}"
|
||||||
|
>{{ obj.name|safe }}</a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
@ -233,12 +383,16 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% if objects %}
|
{% if objects %}
|
||||||
<!-- Unreviewable objects such as User / Group / Setting -->
|
<!-- Unreviewable objects such as User / Group / Setting -->
|
||||||
<ul class='list-group'>
|
<ul class="list-group">
|
||||||
{% for obj in objects %}
|
{% for obj in objects %}
|
||||||
{% if object_type == 'user' %}
|
{% if object_type == 'user' %}
|
||||||
<a class="list-group-item" href="{{ obj.url }}">{{ obj.username|safe }}</a>
|
<a class="list-group-item" href="{{ obj.url }}"
|
||||||
|
>{{ obj.username|safe }}</a
|
||||||
|
>
|
||||||
{% else %}
|
{% else %}
|
||||||
<a class="list-group-item" href="{{ obj.url }}">{{ obj.name|safe }}</a>
|
<a class="list-group-item" href="{{ obj.url }}"
|
||||||
|
>{{ obj.name|safe }}</a
|
||||||
|
>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
@ -261,10 +415,14 @@
|
|||||||
</style>
|
</style>
|
||||||
|
|
||||||
<div id="load-all-loading" class="spinner-widget" style="display: none">
|
<div id="load-all-loading" class="spinner-widget" style="display: none">
|
||||||
<img id="loading-gif" src="{% static '/images/wait.gif' %}" alt="Loading...">
|
<img
|
||||||
|
id="loading-gif"
|
||||||
|
src="{% static '/images/wait.gif' %}"
|
||||||
|
alt="Loading..."
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
{# prettier-ignore-start #}
|
||||||
<script>
|
<script>
|
||||||
$(function () {
|
$(function () {
|
||||||
|
|
||||||
@ -316,4 +474,5 @@
|
|||||||
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
{# prettier-ignore-end #}
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|||||||
@ -4,16 +4,32 @@
|
|||||||
<div>
|
<div>
|
||||||
<form action="" method="post">
|
<form action="" method="post">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<input type="text" class="form-control" id="smiles" name="smiles" placeholder="SMILES"
|
<input
|
||||||
value="{{ smiles }}"/>
|
type="text"
|
||||||
<input type="text" class="form-control" id="smiles" name="smirks" placeholder="SMIRKS"
|
class="form-control"
|
||||||
value="{{ smirks }}"/>
|
id="smiles"
|
||||||
|
name="smiles"
|
||||||
|
placeholder="SMILES"
|
||||||
|
value="{{ smiles }}"
|
||||||
|
/>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
class="form-control"
|
||||||
|
id="smiles"
|
||||||
|
name="smirks"
|
||||||
|
placeholder="SMIRKS"
|
||||||
|
value="{{ smirks }}"
|
||||||
|
/>
|
||||||
<button type="submit" class="btn btn-primary">Test</button>
|
<button type="submit" class="btn btn-primary">Test</button>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
{% if result %}
|
{% if result %}
|
||||||
{{ smiles }}<p></p>
|
{{ smiles }}
|
||||||
<img width='400' src='{% url 'depict' %}?smiles={{ smiles|urlencode }}'><br>
|
<p></p>
|
||||||
|
<img
|
||||||
|
width="400"
|
||||||
|
src="{% url 'depict' %}?smiles={{ smiles|urlencode }}"
|
||||||
|
/><br />
|
||||||
<p></p>
|
<p></p>
|
||||||
{% if rule %}
|
{% if rule %}
|
||||||
{{ smirks }}
|
{{ smirks }}
|
||||||
@ -22,9 +38,7 @@
|
|||||||
<p></p>
|
<p></p>
|
||||||
{{ rule.products_smarts }}
|
{{ rule.products_smarts }}
|
||||||
<p></p>
|
<p></p>
|
||||||
<div>
|
<div>{{ rule.as_svg|safe }}</div>
|
||||||
{{ rule.as_svg|safe }}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<h2>Diff</h2>
|
<h2>Diff</h2>
|
||||||
{% if diff %}
|
{% if diff %}
|
||||||
@ -38,16 +52,22 @@
|
|||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<h2>Ambit</h2>
|
<h2>Ambit</h2>
|
||||||
{% for p in ambit_res %}
|
{% for p in ambit_res %}
|
||||||
{{ p }}<br>
|
{{ p }}<br />
|
||||||
<img width='400' src='{% url 'depict' %}?smiles={{ p|urlencode }}'><br>
|
<img
|
||||||
|
width="400"
|
||||||
|
src="{% url 'depict' %}?smiles={{ p|urlencode }}"
|
||||||
|
/><br />
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<h2>RDKit</h2>
|
<h2>RDKit</h2>
|
||||||
{% for p in rdkit_res %}
|
{% for p in rdkit_res %}
|
||||||
{{ p }}<br>
|
{{ p }}<br />
|
||||||
<img width='400' src='{% url 'depict' %}?smiles={{ p|urlencode }}'><br>
|
<img
|
||||||
|
width="400"
|
||||||
|
src="{% url 'depict' %}?smiles={{ p|urlencode }}"
|
||||||
|
/><br />
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,15 +1,18 @@
|
|||||||
{% extends "framework.html" %}
|
{% extends "framework.html" %}
|
||||||
{% load static %}
|
{% load static %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
<div class="alert alert-error" role="alert">
|
||||||
<div class="alert alert-error" role="alert">
|
|
||||||
<h4 class="alert-heading">Bad Request!</h4>
|
<h4 class="alert-heading">Bad Request!</h4>
|
||||||
<p>Lorem</p>
|
<p>Lorem</p>
|
||||||
<hr>
|
<hr />
|
||||||
<p class="mb-0">
|
<p class="mb-0">
|
||||||
You can find out more about permissions in our <a target="_blank"
|
You can find out more about permissions in our
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
href="https://wiki.envipath.org/index.php/packages"
|
href="https://wiki.envipath.org/index.php/packages"
|
||||||
role="button">Wiki >></a></p>
|
role="button"
|
||||||
</div>
|
>Wiki >></a
|
||||||
|
>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|||||||
@ -1,15 +1,18 @@
|
|||||||
{% extends "framework.html" %}
|
{% extends "framework.html" %}
|
||||||
{% load static %}
|
{% load static %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
<div class="alert alert-error" role="alert">
|
||||||
<div class="alert alert-error" role="alert">
|
|
||||||
<h4 class="alert-heading">Access Denied!</h4>
|
<h4 class="alert-heading">Access Denied!</h4>
|
||||||
<p>Access to X denied. </p>
|
<p>Access to X denied.</p>
|
||||||
<hr>
|
<hr />
|
||||||
<p class="mb-0">
|
<p class="mb-0">
|
||||||
You can find out more about permissions in our <a target="_blank"
|
You can find out more about permissions in our
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
href="https://wiki.envipath.org/index.php/packages"
|
href="https://wiki.envipath.org/index.php/packages"
|
||||||
role="button">Wiki >></a></p>
|
role="button"
|
||||||
</div>
|
>Wiki >></a
|
||||||
|
>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|||||||
@ -1,15 +1,18 @@
|
|||||||
{% extends "framework.html" %}
|
{% extends "framework.html" %}
|
||||||
{% load static %}
|
{% load static %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
<div class="alert alert-error" role="alert">
|
||||||
<div class="alert alert-error" role="alert">
|
|
||||||
<h4 class="alert-heading">Not Found!</h4>
|
<h4 class="alert-heading">Not Found!</h4>
|
||||||
<p>Does not exist</p>
|
<p>Does not exist</p>
|
||||||
<hr>
|
<hr />
|
||||||
<p class="mb-0">
|
<p class="mb-0">
|
||||||
You can find out more about permissions in our <a target="_blank"
|
You can find out more about permissions in our
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
href="https://wiki.envipath.org/index.php/packages"
|
href="https://wiki.envipath.org/index.php/packages"
|
||||||
role="button">Wiki >></a></p>
|
role="button"
|
||||||
</div>
|
>Wiki >></a
|
||||||
|
>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|||||||
@ -1,13 +1,9 @@
|
|||||||
{% extends "framework.html" %}
|
{% extends "framework.html" %}
|
||||||
{% load static %}
|
{% load static %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
|
||||||
<div class="alert alert-danger" role="alert">
|
<div class="alert alert-danger" role="alert">
|
||||||
<h4 class="alert-heading">{{ error_message }}</h4>
|
<h4 class="alert-heading">{{ error_message }}</h4>
|
||||||
<hr>
|
<hr />
|
||||||
<p class="mb-0">
|
<p class="mb-0">{{ error_detail }}</p>
|
||||||
{{ error_detail }}
|
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|||||||
@ -1,12 +1,11 @@
|
|||||||
{% extends "framework.html" %}
|
{% extends "framework.html" %}
|
||||||
{% load static %}
|
{% load static %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
|
||||||
<div class="alert alert-danger" role="alert">
|
<div class="alert alert-danger" role="alert">
|
||||||
<h4 class="alert-heading">Your account has not been activated yet!</h4>
|
<h4 class="alert-heading">Your account has not been activated yet!</h4>
|
||||||
<p>Your account has not been activated yet. If you have questions <a href="mailto:admin@envipath.org">contact
|
<p>
|
||||||
us.</a>
|
Your account has not been activated yet. If you have questions
|
||||||
|
<a href="mailto:admin@envipath.org">contact us.</a>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|||||||
@ -124,7 +124,7 @@
|
|||||||
|
|
||||||
<!-- Collect the nav links, forms, and other content for toggling -->
|
<!-- Collect the nav links, forms, and other content for toggling -->
|
||||||
<div
|
<div
|
||||||
class="collapse navbar-collapse collapse-framework navbar-collapse-framework"
|
class="navbar-collapse collapse-framework navbar-collapse-framework collapse"
|
||||||
id="navbarCollapse"
|
id="navbarCollapse"
|
||||||
>
|
>
|
||||||
<ul class="nav navbar-nav navbar-nav-framework">
|
<ul class="nav navbar-nav navbar-nav-framework">
|
||||||
@ -151,11 +151,6 @@
|
|||||||
>Package</a
|
>Package</a
|
||||||
>
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
|
||||||
<a href="{{ meta.server_url }}/search" id="searchLink"
|
|
||||||
>Search</a
|
|
||||||
>
|
|
||||||
</li>
|
|
||||||
<li>
|
<li>
|
||||||
<a href="{{ meta.server_url }}/model" id="modelLink"
|
<a href="{{ meta.server_url }}/model" id="modelLink"
|
||||||
>Modelling</a
|
>Modelling</a
|
||||||
@ -338,7 +333,7 @@
|
|||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="license" class="panel-collapse collapse in">
|
<div id="license" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
<a target="_blank" href="{{ meta.current_package.license.link }}">
|
<a target="_blank" href="{{ meta.current_package.license.link }}">
|
||||||
<img src="{{ meta.current_package.license.image_link }}" />
|
<img src="{{ meta.current_package.license.image_link }}" />
|
||||||
|
|||||||
@ -80,7 +80,7 @@
|
|||||||
{% block main_content %}
|
{% block main_content %}
|
||||||
{# Breadcrumbs - outside main content, optional #}
|
{# Breadcrumbs - outside main content, optional #}
|
||||||
{% if breadcrumbs %}
|
{% if breadcrumbs %}
|
||||||
<div id="bread" class="max-w-7xl mx-auto px-4 py-4">
|
<div id="bread" class="mx-auto max-w-7xl px-4 py-4">
|
||||||
<div class="breadcrumbs text-sm">
|
<div class="breadcrumbs text-sm">
|
||||||
<ul>
|
<ul>
|
||||||
{% for elem in breadcrumbs %}
|
{% for elem in breadcrumbs %}
|
||||||
@ -113,7 +113,7 @@
|
|||||||
|
|
||||||
{# License - inside paper if present #}
|
{# License - inside paper if present #}
|
||||||
{% if meta.url_contains_package and meta.current_package.license %}
|
{% if meta.url_contains_package and meta.current_package.license %}
|
||||||
<div class="collapse collapse-arrow bg-base-200 m-8">
|
<div class="collapse-arrow bg-base-200 collapse p-8">
|
||||||
<input type="checkbox" checked />
|
<input type="checkbox" checked />
|
||||||
<div class="collapse-title text-xl font-medium">License</div>
|
<div class="collapse-title text-xl font-medium">License</div>
|
||||||
<div class="collapse-content">
|
<div class="collapse-content">
|
||||||
@ -137,7 +137,7 @@
|
|||||||
|
|
||||||
{# Floating Help Tab #}
|
{# Floating Help Tab #}
|
||||||
{% if not public_mode %}
|
{% if not public_mode %}
|
||||||
<div class="fixed right-0 top-1/2 -translate-y-1/2 z-50">
|
<div class="fixed top-1/2 right-0 z-50 -translate-y-1/2">
|
||||||
<a
|
<a
|
||||||
href="https://community.envipath.org/"
|
href="https://community.envipath.org/"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
|
|||||||
@ -27,7 +27,7 @@
|
|||||||
class="dropdown-content menu bg-base-100 rounded-box z-1 w-52 p-2 shadow-sm"
|
class="dropdown-content menu bg-base-100 rounded-box z-1 w-52 p-2 shadow-sm"
|
||||||
>
|
>
|
||||||
<li>
|
<li>
|
||||||
<a href="{{ meta.server_url }}/Package" id="packageLink">Package</a>
|
<a href="{{ meta.server_url }}/package" id="packageLink">Package</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="{{ meta.server_url }}/pathway" id="pathwayLink">Pathway</a>
|
<a href="{{ meta.server_url }}/pathway" id="pathwayLink">Pathway</a>
|
||||||
|
|||||||
@ -1,44 +1,71 @@
|
|||||||
{% extends "framework.html" %}
|
{% extends "framework.html" %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="panel-group" id="migration-detail">
|
<div class="panel-group" id="migration-detail">
|
||||||
<div class="panel panel-default">
|
<div class="panel panel-default">
|
||||||
<div class="panel-heading" id="headingPanel" style="font-size:2rem;height: 46px">
|
<div
|
||||||
|
class="panel-heading"
|
||||||
|
id="headingPanel"
|
||||||
|
style="font-size:2rem;height: 46px"
|
||||||
|
>
|
||||||
Migration Status BT Rules
|
Migration Status BT Rules
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<p>Rules with Error: {{ error }}/{{ total }} </p>
|
<p>Rules with Error: {{ error }}/{{ total }}</p>
|
||||||
<p>Rules without Error: {{ success }}/{{ total }}</p>
|
<p>Rules without Error: {{ success }}/{{ total }}</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% for obj in results %}
|
{% for obj in results %}
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
{% if obj.status %}
|
{% if obj.status %}
|
||||||
<span class="glyphicon glyphicon-ok" aria-hidden="true"
|
<span
|
||||||
style="float:right" data-toggle="tooltip"
|
class="glyphicon glyphicon-ok"
|
||||||
data-placement="top" title="" data-original-title="Reviewed">
|
aria-hidden="true"
|
||||||
|
style="float:right"
|
||||||
|
data-toggle="tooltip"
|
||||||
|
data-placement="top"
|
||||||
|
title=""
|
||||||
|
data-original-title="Reviewed"
|
||||||
|
>
|
||||||
</span>
|
</span>
|
||||||
{% else %}
|
{% else %}
|
||||||
<span class="glyphicon glyphicon-remove" aria-hidden="true"
|
<span
|
||||||
style="float:right" data-toggle="tooltip"
|
class="glyphicon glyphicon-remove"
|
||||||
data-placement="top" title="" data-original-title="Reviewed">
|
aria-hidden="true"
|
||||||
|
style="float:right"
|
||||||
|
data-toggle="tooltip"
|
||||||
|
data-placement="top"
|
||||||
|
title=""
|
||||||
|
data-original-title="Reviewed"
|
||||||
|
>
|
||||||
</span>
|
</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="{{ obj.id }}-link" data-toggle="collapse" data-parent="#migration-detail"
|
<a
|
||||||
href="#{{ obj.id }}">{{ obj.name|safe }}</a>
|
id="{{ obj.id }}-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#migration-detail"
|
||||||
|
href="#{{ obj.id }}"
|
||||||
|
>{{ obj.name|safe }}</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="{{ obj.id }}" class="panel-collapse collapse {% if not obj.status %}in{% endif %}">
|
<div
|
||||||
|
id="{{ obj.id }}"
|
||||||
|
class="panel-collapse {% if not obj.status %}in{% endif %} collapse"
|
||||||
|
>
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
<a class="list-group-item" href="{{ obj.detail_url }}">{{ obj.name|safe }} Migration Detail Page</a>
|
<a class="list-group-item" href="{{ obj.detail_url }}"
|
||||||
|
>{{ obj.name|safe }} Migration Detail Page</a
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<script></script>
|
||||||
|
|
||||||
</script>
|
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|||||||
@ -3,34 +3,68 @@
|
|||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="panel-group" id="migration-detail">
|
<div class="panel-group" id="migration-detail">
|
||||||
<div class="panel panel-default">
|
<div class="panel panel-default">
|
||||||
<div class="panel-heading" id="headingPanel" style="font-size:2rem;height: 46px">
|
<div
|
||||||
|
class="panel-heading"
|
||||||
|
id="headingPanel"
|
||||||
|
style="font-size:2rem;height: 46px"
|
||||||
|
>
|
||||||
Migration Status for {{ bt_rule_name }}
|
Migration Status for {{ bt_rule_name }}
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<p>A package contains pathways, rules, etc. and can reflect specific experimental
|
<p>
|
||||||
conditions. <a target="_blank" href="https://wiki.envipath.org/index.php/packages" role="button">Learn
|
A package contains pathways, rules, etc. and can reflect specific
|
||||||
more >></a></p>
|
experimental conditions.
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
href="https://wiki.envipath.org/index.php/packages"
|
||||||
|
role="button"
|
||||||
|
>Learn more >></a
|
||||||
|
>
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% for obj in results %}
|
{% for obj in results %}
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
{% if obj.status %}
|
{% if obj.status %}
|
||||||
<span class="glyphicon glyphicon-ok" aria-hidden="true"
|
<span
|
||||||
style="float:right" data-toggle="tooltip"
|
class="glyphicon glyphicon-ok"
|
||||||
data-placement="top" title="" data-original-title="Reviewed">
|
aria-hidden="true"
|
||||||
|
style="float:right"
|
||||||
|
data-toggle="tooltip"
|
||||||
|
data-placement="top"
|
||||||
|
title=""
|
||||||
|
data-original-title="Reviewed"
|
||||||
|
>
|
||||||
</span>
|
</span>
|
||||||
{% else %}
|
{% else %}
|
||||||
<span class="glyphicon glyphicon-remove" aria-hidden="true"
|
<span
|
||||||
style="float:right" data-toggle="tooltip"
|
class="glyphicon glyphicon-remove"
|
||||||
data-placement="top" title="" data-original-title="Reviewed">
|
aria-hidden="true"
|
||||||
|
style="float:right"
|
||||||
|
data-toggle="tooltip"
|
||||||
|
data-placement="top"
|
||||||
|
title=""
|
||||||
|
data-original-title="Reviewed"
|
||||||
|
>
|
||||||
</span>
|
</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="{{ obj.id }}-link" data-toggle="collapse" data-parent="#migration-detail"
|
<a
|
||||||
href="#{{ obj.id }}">{{ obj.name|safe }}</a>
|
id="{{ obj.id }}-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#migration-detail"
|
||||||
|
href="#{{ obj.id }}"
|
||||||
|
>{{ obj.name|safe }}</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="{{ obj.id }}" class="panel-collapse collapse {% if not obj.status %}in{% endif %}">
|
<div
|
||||||
|
id="{{ obj.id }}"
|
||||||
|
class="panel-collapse {% if not obj.status %}in{% endif %} collapse"
|
||||||
|
>
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
<pre>{{ obj.detail }}</pre>
|
<pre>{{ obj.detail }}</pre>
|
||||||
</div>
|
</div>
|
||||||
@ -39,7 +73,5 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<script></script>
|
||||||
|
|
||||||
</script>
|
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|||||||
@ -1,5 +1,11 @@
|
|||||||
<div class="modal fade bs-modal-lg" id="citemodal" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel"
|
<div
|
||||||
aria-hidden="true">
|
class="modal fade bs-modal-lg"
|
||||||
|
id="citemodal"
|
||||||
|
tabindex="-1"
|
||||||
|
role="dialog"
|
||||||
|
aria-labelledby="myLargeModalLabel"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
<div class="modal-dialog modal-lg">
|
<div class="modal-dialog modal-lg">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
@ -9,22 +15,33 @@
|
|||||||
<ol class="list-group list-group-numbered">
|
<ol class="list-group list-group-numbered">
|
||||||
<li class="list-group-item">
|
<li class="list-group-item">
|
||||||
Hafner, J., Lorsbach, T., Schmidt, S. <em>et al.</em>
|
Hafner, J., Lorsbach, T., Schmidt, S. <em>et al.</em>
|
||||||
<cite>Advancements in biotransformation pathway prediction: enhancements, datasets, and novel
|
<cite
|
||||||
functionalities in enviPath.</cite>
|
>Advancements in biotransformation pathway prediction:
|
||||||
<a href="https://doi.org/10.1186/s13321-024-00881-6" target="_blank">J Cheminform 16, 93
|
enhancements, datasets, and novel functionalities in
|
||||||
(2024)</a>
|
enviPath.</cite
|
||||||
|
>
|
||||||
|
<a href="https://doi.org/10.1186/s13321-024-00881-6" target="_blank"
|
||||||
|
>J Cheminform 16, 93 (2024)</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li class="list-group-item">
|
<li class="list-group-item">
|
||||||
Wicker, J., Lorsbach, T., Gütlein, M., Schmid, E., Latino, D., Kramer, S., Fenner, K.
|
Wicker, J., Lorsbach, T., Gütlein, M., Schmid, E., Latino, D.,
|
||||||
<cite>enviPath - The environmental contaminant biotransformation pathway resource</cite>
|
Kramer, S., Fenner, K.
|
||||||
|
<cite
|
||||||
|
>enviPath - The environmental contaminant biotransformation
|
||||||
|
pathway resource</cite
|
||||||
|
>
|
||||||
<a href="https://doi.org/10.1093/nar/gkv1229" target="_blank">
|
<a href="https://doi.org/10.1093/nar/gkv1229" target="_blank">
|
||||||
Nucleic Acids Research, Volume 44, Issue D1, 4 January 2016, Pages D502-D508
|
Nucleic Acids Research, Volume 44, Issue D1, 4 January 2016, Pages
|
||||||
|
D502-D508
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
<button type="button" class="btn btn-default" data-dismiss="modal">
|
||||||
|
Close
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,5 +1,11 @@
|
|||||||
<div class="modal fade" tabindex="-1" id="import_legacy_package_modal" role="dialog"
|
<div
|
||||||
aria-labelledby="import_legacy_package_modal" aria-hidden="true">
|
class="modal fade"
|
||||||
|
tabindex="-1"
|
||||||
|
id="import_legacy_package_modal"
|
||||||
|
role="dialog"
|
||||||
|
aria-labelledby="import_legacy_package_modal"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
<div class="modal-dialog">
|
<div class="modal-dialog">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
@ -11,32 +17,54 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<p>Create a Package based on the JSON Export of the legacy system.</p>
|
<p>Create a Package based on the JSON Export of the legacy system.</p>
|
||||||
<form id="import-legacy-package-modal-form" accept-charset="UTF-8" data-remote="true" method="post"
|
<form
|
||||||
enctype="multipart/form-data">
|
id="import-legacy-package-modal-form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
enctype="multipart/form-data"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<p>
|
<p>
|
||||||
<label class="btn btn-primary" for="legacyJsonFile">
|
<label class="btn btn-primary" for="legacyJsonFile">
|
||||||
<input id="legacyJsonFile" name="file" type="file" style="display:none;"
|
<input
|
||||||
onchange="$('#upload-legacy-file-info').html(this.files[0].name)">
|
id="legacyJsonFile"
|
||||||
|
name="file"
|
||||||
|
type="file"
|
||||||
|
style="display:none;"
|
||||||
|
onchange="$('#upload-legacy-file-info').html(this.files[0].name)"
|
||||||
|
/>
|
||||||
Choose JSON File
|
Choose JSON File
|
||||||
</label>
|
</label>
|
||||||
<span class="label label-info" id="upload-legacy-file-info"></span>
|
<span class="label label-info" id="upload-legacy-file-info"></span>
|
||||||
<input type="hidden" value="import-legacy-package-json" name="hidden" readonly="">
|
<input
|
||||||
|
type="hidden"
|
||||||
|
value="import-legacy-package-json"
|
||||||
|
name="hidden"
|
||||||
|
readonly=""
|
||||||
|
/>
|
||||||
</p>
|
</p>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<a id="import-legacy-package-modal-form-submit" class="btn btn-primary" href="#">Submit</a>
|
<a
|
||||||
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
|
id="import-legacy-package-modal-form-submit"
|
||||||
|
class="btn btn-primary"
|
||||||
|
href="#"
|
||||||
|
>Submit</a
|
||||||
|
>
|
||||||
|
<button type="button" class="btn btn-default" data-dismiss="modal">
|
||||||
|
Cancel
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
$(function () {
|
$(function () {
|
||||||
$('#import-legacy-package-modal-form-submit').on('click', function (e) {
|
$("#import-legacy-package-modal-form-submit").on("click", function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$('#import-legacy-package-modal-form').submit();
|
$("#import-legacy-package-modal-form").submit();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -1,5 +1,11 @@
|
|||||||
<div class="modal fade" tabindex="-1" id="import_package_modal" role="dialog"
|
<div
|
||||||
aria-labelledby="import_package_modal" aria-hidden="true">
|
class="modal fade"
|
||||||
|
tabindex="-1"
|
||||||
|
id="import_package_modal"
|
||||||
|
role="dialog"
|
||||||
|
aria-labelledby="import_package_modal"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
<div class="modal-dialog">
|
<div class="modal-dialog">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
@ -11,32 +17,54 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<p>Create a Package based on a JSON Export.</p>
|
<p>Create a Package based on a JSON Export.</p>
|
||||||
<form id="import-package-modal-form" accept-charset="UTF-8" data-remote="true" method="post"
|
<form
|
||||||
enctype="multipart/form-data">
|
id="import-package-modal-form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
enctype="multipart/form-data"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<p>
|
<p>
|
||||||
<label class="btn btn-primary" for="jsonFile">
|
<label class="btn btn-primary" for="jsonFile">
|
||||||
<input id="jsonFile" name="file" type="file" style="display:none;"
|
<input
|
||||||
onchange="$('#upload-file-info').html(this.files[0].name)">
|
id="jsonFile"
|
||||||
|
name="file"
|
||||||
|
type="file"
|
||||||
|
style="display:none;"
|
||||||
|
onchange="$('#upload-file-info').html(this.files[0].name)"
|
||||||
|
/>
|
||||||
Choose JSON File
|
Choose JSON File
|
||||||
</label>
|
</label>
|
||||||
<span class="label label-info" id="upload-file-info"></span>
|
<span class="label label-info" id="upload-file-info"></span>
|
||||||
<input type="hidden" value="import-package-json" name="hidden" readonly="">
|
<input
|
||||||
|
type="hidden"
|
||||||
|
value="import-package-json"
|
||||||
|
name="hidden"
|
||||||
|
readonly=""
|
||||||
|
/>
|
||||||
</p>
|
</p>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<a id="import-package-modal-form-submit" class="btn btn-primary" href="#">Submit</a>
|
<a
|
||||||
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
|
id="import-package-modal-form-submit"
|
||||||
|
class="btn btn-primary"
|
||||||
|
href="#"
|
||||||
|
>Submit</a
|
||||||
|
>
|
||||||
|
<button type="button" class="btn btn-default" data-dismiss="modal">
|
||||||
|
Cancel
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
$(function () {
|
$(function () {
|
||||||
$('#import-package-modal-form-submit').on('click', function (e) {
|
$("#import-package-modal-form-submit").on("click", function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$('#import-package-modal-form').submit();
|
$("#import-package-modal-form").submit();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -1,57 +1,102 @@
|
|||||||
{% load static %}
|
{% load static %}
|
||||||
<div class="modal fade bs-modal-lg" id="new_compound_modal" tabindex="-1" aria-labelledby="new_compound_modal" aria-modal="true"
|
<div
|
||||||
role="dialog">
|
class="modal fade bs-modal-lg"
|
||||||
|
id="new_compound_modal"
|
||||||
|
tabindex="-1"
|
||||||
|
aria-labelledby="new_compound_modal"
|
||||||
|
aria-modal="true"
|
||||||
|
role="dialog"
|
||||||
|
>
|
||||||
<div class="modal-dialog modal-lg">
|
<div class="modal-dialog modal-lg">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
<h4 class="modal-title">Create a new Compound</h4>
|
<h4 class="modal-title">Create a new Compound</h4>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<form id="new_compound_modal_form" accept-charset="UTF-8" action="{% url 'package compound list' meta.current_package.uuid %}" data-remote="true" method="post">
|
<form
|
||||||
|
id="new_compound_modal_form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action="{% url 'package compound list' meta.current_package.uuid %}"
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<label for="compound-name">Name</label>
|
<label for="compound-name">Name</label>
|
||||||
<input id="compound-name" class="form-control" name="compound-name" placeholder="Name"/>
|
<input
|
||||||
|
id="compound-name"
|
||||||
|
class="form-control"
|
||||||
|
name="compound-name"
|
||||||
|
placeholder="Name"
|
||||||
|
/>
|
||||||
<label for="compound-description">Description</label>
|
<label for="compound-description">Description</label>
|
||||||
<input id="compound-description" class="form-control" name="compound-description" placeholder="Description"/>
|
<input
|
||||||
|
id="compound-description"
|
||||||
|
class="form-control"
|
||||||
|
name="compound-description"
|
||||||
|
placeholder="Description"
|
||||||
|
/>
|
||||||
<label for="compound-smiles">SMILES</label>
|
<label for="compound-smiles">SMILES</label>
|
||||||
<input type="text" class="form-control" name="compound-smiles" placeholder="SMILES" id="compound-smiles">
|
<input
|
||||||
|
type="text"
|
||||||
|
class="form-control"
|
||||||
|
name="compound-smiles"
|
||||||
|
placeholder="SMILES"
|
||||||
|
id="compound-smiles"
|
||||||
|
/>
|
||||||
<p></p>
|
<p></p>
|
||||||
<div>
|
<div>
|
||||||
<iframe id="new_compound_ketcher" src="{% static '/js/ketcher2/ketcher.html' %}" width="100%"
|
<iframe
|
||||||
height="510"></iframe>
|
id="new_compound_ketcher"
|
||||||
|
src="{% static '/js/ketcher2/ketcher.html' %}"
|
||||||
|
width="100%"
|
||||||
|
height="510"
|
||||||
|
></iframe>
|
||||||
</div>
|
</div>
|
||||||
<p></p>
|
<p></p>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary pull-left" data-dismiss="modal">Close
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-secondary pull-left"
|
||||||
|
data-dismiss="modal"
|
||||||
|
>
|
||||||
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="new_compound_modal_form_submit"
|
||||||
|
>
|
||||||
|
Submit
|
||||||
</button>
|
</button>
|
||||||
<button type="button" class="btn btn-primary" id="new_compound_modal_form_submit">Submit</button>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
|
function newCompoundModalketcherToNewCompoundModalTextInput() {
|
||||||
|
$("#compound-smiles").val(this.ketcher.getSmiles());
|
||||||
|
}
|
||||||
|
|
||||||
function newCompoundModalketcherToNewCompoundModalTextInput() {
|
$(function () {
|
||||||
$('#compound-smiles').val(this.ketcher.getSmiles());
|
$("#new_compound_ketcher").on("load", function () {
|
||||||
}
|
|
||||||
|
|
||||||
$(function() {
|
|
||||||
|
|
||||||
$('#new_compound_ketcher').on('load', function() {
|
|
||||||
const checkKetcherReady = () => {
|
const checkKetcherReady = () => {
|
||||||
win = this.contentWindow
|
win = this.contentWindow;
|
||||||
if (win.ketcher && 'editor' in win.ketcher) {
|
if (win.ketcher && "editor" in win.ketcher) {
|
||||||
win.ketcher.editor.event.change.handlers.push({
|
win.ketcher.editor.event.change.handlers.push({
|
||||||
once: false,
|
once: false,
|
||||||
priority: 0,
|
priority: 0,
|
||||||
f: newCompoundModalketcherToNewCompoundModalTextInput,
|
f: newCompoundModalketcherToNewCompoundModalTextInput,
|
||||||
ketcher: win.ketcher
|
ketcher: win.ketcher,
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
setTimeout(checkKetcherReady, 100);
|
setTimeout(checkKetcherReady, 100);
|
||||||
@ -59,20 +104,16 @@ $(function() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
checkKetcherReady();
|
checkKetcherReady();
|
||||||
})
|
});
|
||||||
|
|
||||||
$(function() {
|
$(function () {
|
||||||
$('#new_compound_modal_form_submit').on('click', function(e) {
|
$("#new_compound_modal_form_submit").on("click", function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$(this).prop("disabled",true);
|
$(this).prop("disabled", true);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// submit form
|
// submit form
|
||||||
$('#new_compound_modal_form').submit();
|
$("#new_compound_modal_form").submit();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -1,5 +1,11 @@
|
|||||||
<div class="modal fade" tabindex="-1" id="new_group_modal" role="dialog" aria-labelledby="new_group_modal"
|
<div
|
||||||
aria-hidden="true">
|
class="modal fade"
|
||||||
|
tabindex="-1"
|
||||||
|
id="new_group_modal"
|
||||||
|
role="dialog"
|
||||||
|
aria-labelledby="new_group_modal"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
<div class="modal-dialog">
|
<div class="modal-dialog">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
@ -10,25 +16,44 @@
|
|||||||
<h4 class="modal-title">New Group</h4>
|
<h4 class="modal-title">New Group</h4>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<p>Create new Group. You can assign users to the group once
|
<p>
|
||||||
it is created. Description can be changed after creation.</p>
|
Create new Group. You can assign users to the group once it is
|
||||||
<form id="new_group_modal_form" accept-charset="UTF-8" action="{{ SERVER_BASE }}/group"
|
created. Description can be changed after creation.
|
||||||
|
</p>
|
||||||
|
<form
|
||||||
|
id="new_group_modal_form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action="{{ SERVER_BASE }}/group"
|
||||||
data-remote="true"
|
data-remote="true"
|
||||||
method="post">
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<p>
|
<p>
|
||||||
<label for="name">Name</label>
|
<label for="name">Name</label>
|
||||||
<input id="name" type="text" name="group-name" class="form-control" placeholder="Name"/>
|
<input
|
||||||
|
id="name"
|
||||||
|
type="text"
|
||||||
|
name="group-name"
|
||||||
|
class="form-control"
|
||||||
|
placeholder="Name"
|
||||||
|
/>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label for="description">Description</label>
|
<label for="description">Description</label>
|
||||||
<input id="description" type="text" class="form-control" placeholder="Description..."
|
<input
|
||||||
name="group-description"/>
|
id="description"
|
||||||
|
type="text"
|
||||||
|
class="form-control"
|
||||||
|
placeholder="Description..."
|
||||||
|
name="group-description"
|
||||||
|
/>
|
||||||
</p>
|
</p>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<a id="new_group_modal_form_submit" class="btn btn-primary" href="#">Submit</a>
|
<a id="new_group_modal_form_submit" class="btn btn-primary" href="#"
|
||||||
|
>Submit</a
|
||||||
|
>
|
||||||
<button type="button" class="btn btn-default" data-dismiss="modal">
|
<button type="button" class="btn btn-default" data-dismiss="modal">
|
||||||
Cancel
|
Cancel
|
||||||
</button>
|
</button>
|
||||||
@ -37,9 +62,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
$(function() {
|
$(function () {
|
||||||
$('#new_group_modal_form_submit').on('click', function() {
|
$("#new_group_modal_form_submit").on("click", function () {
|
||||||
$('#new_group_modal_form').submit();
|
$("#new_group_modal_form").submit();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -1,6 +1,11 @@
|
|||||||
|
<div
|
||||||
<div class="modal fade" tabindex="-1" id="new_model_modal" role="dialog" aria-labelledby="new_model_modal"
|
class="modal fade"
|
||||||
aria-hidden="true">
|
tabindex="-1"
|
||||||
|
id="new_model_modal"
|
||||||
|
role="dialog"
|
||||||
|
aria-labelledby="new_model_modal"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
<div class="modal-dialog modal-lg">
|
<div class="modal-dialog modal-lg">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
@ -11,29 +16,52 @@
|
|||||||
<h4 class="modal-title">New Model</h4>
|
<h4 class="modal-title">New Model</h4>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<form id="new_model_form" accept-charset="UTF-8" action="{{ meta.current_package.url }}/model"
|
<form
|
||||||
data-remote="true" method="post">
|
id="new_model_form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action="{{ meta.current_package.url }}/model"
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<div class="jumbotron">Create a new Model to
|
<div class="jumbotron">
|
||||||
limit the number of degradation products in the
|
Create a new Model to limit the number of degradation products in
|
||||||
prediction. You just need to set a name and the packages
|
the prediction. You just need to set a name and the packages you
|
||||||
you want the object to be based on. There are multiple types of models available.
|
want the object to be based on. There are multiple types of models
|
||||||
For additional information have a look at our
|
available. For additional information have a look at our
|
||||||
<a target="_blank" href="https://wiki.envipath.org/index.php/relative-reasoning" role="button">wiki
|
<a
|
||||||
>></a>
|
target="_blank"
|
||||||
|
href="https://wiki.envipath.org/index.php/relative-reasoning"
|
||||||
|
role="button"
|
||||||
|
>wiki >></a
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
<!-- Name -->
|
<!-- Name -->
|
||||||
<label for="model-name">Name</label>
|
<label for="model-name">Name</label>
|
||||||
<input id="model-name" name="model-name" class="form-control" placeholder="Name"/>
|
<input
|
||||||
|
id="model-name"
|
||||||
|
name="model-name"
|
||||||
|
class="form-control"
|
||||||
|
placeholder="Name"
|
||||||
|
/>
|
||||||
|
|
||||||
<!-- Description -->
|
<!-- Description -->
|
||||||
<label for="model-description">Description</label>
|
<label for="model-description">Description</label>
|
||||||
<input id="model-description" name="model-description" class="form-control"
|
<input
|
||||||
placeholder="Description"/>
|
id="model-description"
|
||||||
|
name="model-description"
|
||||||
|
class="form-control"
|
||||||
|
placeholder="Description"
|
||||||
|
/>
|
||||||
|
|
||||||
<!-- Model Type -->
|
<!-- Model Type -->
|
||||||
<label for="model-type">Model Type</label>
|
<label for="model-type">Model Type</label>
|
||||||
<select id="model-type" name="model-type" class="form-control" data-width='100%'>
|
<select
|
||||||
|
id="model-type"
|
||||||
|
name="model-type"
|
||||||
|
class="form-control"
|
||||||
|
data-width="100%"
|
||||||
|
>
|
||||||
<option disabled selected>Select Model Type</option>
|
<option disabled selected>Select Model Type</option>
|
||||||
{% for k, v in model_types.items %}
|
{% for k, v in model_types.items %}
|
||||||
<option value="{{ v }}">{{ k }}</option>
|
<option value="{{ v }}">{{ k }}</option>
|
||||||
@ -43,8 +71,14 @@
|
|||||||
<!-- Rule Packages -->
|
<!-- Rule Packages -->
|
||||||
<div id="rule-packages" class="ep-model-param mlrr rbrr">
|
<div id="rule-packages" class="ep-model-param mlrr rbrr">
|
||||||
<label for="model-rule-packages">Rule Packages</label>
|
<label for="model-rule-packages">Rule Packages</label>
|
||||||
<select id="model-rule-packages" name="model-rule-packages" data-actions-box='true'
|
<select
|
||||||
class="form-control" multiple data-width='100%'>
|
id="model-rule-packages"
|
||||||
|
name="model-rule-packages"
|
||||||
|
data-actions-box="true"
|
||||||
|
class="form-control"
|
||||||
|
multiple
|
||||||
|
data-width="100%"
|
||||||
|
>
|
||||||
<option disabled>Reviewed Packages</option>
|
<option disabled>Reviewed Packages</option>
|
||||||
{% for obj in meta.readable_packages %}
|
{% for obj in meta.readable_packages %}
|
||||||
{% if obj.reviewed %}
|
{% if obj.reviewed %}
|
||||||
@ -64,8 +98,14 @@
|
|||||||
<!-- Data Packages -->
|
<!-- Data Packages -->
|
||||||
<div id="data-packages" class="ep-model-param mlrr rbrr enviformer">
|
<div id="data-packages" class="ep-model-param mlrr rbrr enviformer">
|
||||||
<label for="model-data-packages">Data Packages</label>
|
<label for="model-data-packages">Data Packages</label>
|
||||||
<select id="model-data-packages" name="model-data-packages" data-actions-box='true'
|
<select
|
||||||
class="form-control" multiple data-width='100%'>
|
id="model-data-packages"
|
||||||
|
name="model-data-packages"
|
||||||
|
data-actions-box="true"
|
||||||
|
class="form-control"
|
||||||
|
multiple
|
||||||
|
data-width="100%"
|
||||||
|
>
|
||||||
<option disabled>Reviewed Packages</option>
|
<option disabled>Reviewed Packages</option>
|
||||||
{% for obj in meta.readable_packages %}
|
{% for obj in meta.readable_packages %}
|
||||||
{% if obj.reviewed %}
|
{% if obj.reviewed %}
|
||||||
@ -85,11 +125,19 @@
|
|||||||
<!-- Fingerprinter -->
|
<!-- Fingerprinter -->
|
||||||
<div id="fingerprinter" class="ep-model-param mlrr">
|
<div id="fingerprinter" class="ep-model-param mlrr">
|
||||||
<label for="model-fingerprinter">Fingerprinter</label>
|
<label for="model-fingerprinter">Fingerprinter</label>
|
||||||
<select id="model-fingerprinter" name="model-fingerprinter" data-actions-box='true'
|
<select
|
||||||
class="form-control" multiple data-width='100%'>
|
id="model-fingerprinter"
|
||||||
|
name="model-fingerprinter"
|
||||||
|
data-actions-box="true"
|
||||||
|
class="form-control"
|
||||||
|
multiple
|
||||||
|
data-width="100%"
|
||||||
|
>
|
||||||
<option value="MACCS" selected>MACCS Fingerprinter</option>
|
<option value="MACCS" selected>MACCS Fingerprinter</option>
|
||||||
{% if meta.enabled_features.PLUGINS and additional_descriptors %}
|
{% if meta.enabled_features.PLUGINS and additional_descriptors %}
|
||||||
<option disabled selected>Select Additional Fingerprinter / Descriptor</option>
|
<option disabled selected>
|
||||||
|
Select Additional Fingerprinter / Descriptor
|
||||||
|
</option>
|
||||||
{% for k, v in additional_descriptors.items %}
|
{% for k, v in additional_descriptors.items %}
|
||||||
<option value="{{ v }}">{{ k }}</option>
|
<option value="{{ v }}">{{ k }}</option>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
@ -100,8 +148,16 @@
|
|||||||
<!-- Threshold -->
|
<!-- Threshold -->
|
||||||
<div id="threshold" class="ep-model-param mlrr enviformer">
|
<div id="threshold" class="ep-model-param mlrr enviformer">
|
||||||
<label for="model-threshold">Threshold</label>
|
<label for="model-threshold">Threshold</label>
|
||||||
<input type="number" min="0" max="1" step="0.05" value="0.5" id="model-threshold"
|
<input
|
||||||
name="model-threshold" class="form-control">
|
type="number"
|
||||||
|
min="0"
|
||||||
|
max="1"
|
||||||
|
step="0.05"
|
||||||
|
value="0.5"
|
||||||
|
id="model-threshold"
|
||||||
|
name="model-threshold"
|
||||||
|
class="form-control"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="appdomain" class="ep-model-param mlrr">
|
<div id="appdomain" class="ep-model-param mlrr">
|
||||||
@ -109,33 +165,64 @@
|
|||||||
<!-- Build AD? -->
|
<!-- Build AD? -->
|
||||||
<div class="checkbox">
|
<div class="checkbox">
|
||||||
<label>
|
<label>
|
||||||
<input type="checkbox" id="build-app-domain" name="build-app-domain">Also build an
|
<input
|
||||||
Applicability Domain?
|
type="checkbox"
|
||||||
|
id="build-app-domain"
|
||||||
|
name="build-app-domain"
|
||||||
|
/>Also build an Applicability Domain?
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div id="ad-params" style="display:none">
|
<div id="ad-params" style="display:none">
|
||||||
<!-- Num Neighbors -->
|
<!-- Num Neighbors -->
|
||||||
<label for="num-neighbors">Number of Neighbors</label>
|
<label for="num-neighbors">Number of Neighbors</label>
|
||||||
<input id="num-neighbors" name="num-neighbors" type="number" class="form-control"
|
<input
|
||||||
value="5"
|
id="num-neighbors"
|
||||||
step="1" min="0" max="10">
|
name="num-neighbors"
|
||||||
<!-- Local Compatibility -->
|
|
||||||
<label for="local-compatibility-threshold">Local Compatibility Threshold</label>
|
|
||||||
<input id="local-compatibility-threshold" name="local-compatibility-threshold"
|
|
||||||
type="number"
|
type="number"
|
||||||
class="form-control" value="0.5" step="0.01" min="0" max="1">
|
class="form-control"
|
||||||
|
value="5"
|
||||||
|
step="1"
|
||||||
|
min="0"
|
||||||
|
max="10"
|
||||||
|
/>
|
||||||
|
<!-- Local Compatibility -->
|
||||||
|
<label for="local-compatibility-threshold"
|
||||||
|
>Local Compatibility Threshold</label
|
||||||
|
>
|
||||||
|
<input
|
||||||
|
id="local-compatibility-threshold"
|
||||||
|
name="local-compatibility-threshold"
|
||||||
|
type="number"
|
||||||
|
class="form-control"
|
||||||
|
value="0.5"
|
||||||
|
step="0.01"
|
||||||
|
min="0"
|
||||||
|
max="1"
|
||||||
|
/>
|
||||||
<!-- Reliability -->
|
<!-- Reliability -->
|
||||||
<label for="reliability-threshold">Reliability Threshold</label>
|
<label for="reliability-threshold">Reliability Threshold</label>
|
||||||
<input id="reliability-threshold" name="reliability-threshold" type="number"
|
<input
|
||||||
class="form-control" value="0.5" step="0.01" min="0" max="1">
|
id="reliability-threshold"
|
||||||
|
name="reliability-threshold"
|
||||||
|
type="number"
|
||||||
|
class="form-control"
|
||||||
|
value="0.5"
|
||||||
|
step="0.01"
|
||||||
|
min="0"
|
||||||
|
max="1"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<a id="new_model_modal_form_submit" class="btn btn-primary" href="#">Submit</a>
|
<a id="new_model_modal_form_submit" class="btn btn-primary" href="#"
|
||||||
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
|
>Submit</a
|
||||||
|
>
|
||||||
|
<button type="button" class="btn btn-default" data-dismiss="modal">
|
||||||
|
Cancel
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -144,45 +231,40 @@
|
|||||||
<script>
|
<script>
|
||||||
$(function () {
|
$(function () {
|
||||||
// Built in Model Types
|
// Built in Model Types
|
||||||
var nativeModelTypes = [
|
var nativeModelTypes = ["mlrr", "rbrr", "enviformer"];
|
||||||
"mlrr",
|
|
||||||
"rbrr",
|
|
||||||
"enviformer",
|
|
||||||
]
|
|
||||||
|
|
||||||
// Initially hide all "specific" forms
|
// Initially hide all "specific" forms
|
||||||
$(".ep-model-param").each(function () {
|
$(".ep-model-param").each(function () {
|
||||||
$(this).hide();
|
$(this).hide();
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#model-type').selectpicker();
|
$("#model-type").selectpicker();
|
||||||
$("#model-fingerprinter").selectpicker();
|
$("#model-fingerprinter").selectpicker();
|
||||||
$("#model-rule-packages").selectpicker();
|
$("#model-rule-packages").selectpicker();
|
||||||
$("#model-data-packages").selectpicker();
|
$("#model-data-packages").selectpicker();
|
||||||
|
|
||||||
$("#build-app-domain").change(function () {
|
$("#build-app-domain").change(function () {
|
||||||
if ($(this).is(":checked")) {
|
if ($(this).is(":checked")) {
|
||||||
$('#ad-params').show();
|
$("#ad-params").show();
|
||||||
} else {
|
} else {
|
||||||
$('#ad-params').hide();
|
$("#ad-params").hide();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// On change hide all and show only selected
|
// On change hide all and show only selected
|
||||||
$("#model-type").change(function () {
|
$("#model-type").change(function () {
|
||||||
$('.ep-model-param').hide();
|
$(".ep-model-param").hide();
|
||||||
var modelType = $('#model-type').val();
|
var modelType = $("#model-type").val();
|
||||||
if (nativeModelTypes.indexOf(modelType) !== -1) {
|
if (nativeModelTypes.indexOf(modelType) !== -1) {
|
||||||
$('.' + modelType).show();
|
$("." + modelType).show();
|
||||||
} else {
|
} else {
|
||||||
// do nothing
|
// do nothing
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#new_model_modal_form_submit').on('click', function (e) {
|
$("#new_model_modal_form_submit").on("click", function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$('#new_model_form').submit();
|
$("#new_model_form").submit();
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -1,15 +1,15 @@
|
|||||||
<div class="modal fade"
|
<div
|
||||||
|
class="modal fade"
|
||||||
tabindex="-1"
|
tabindex="-1"
|
||||||
id="new_package_modal"
|
id="new_package_modal"
|
||||||
role="dialog"
|
role="dialog"
|
||||||
aria-labelledby="new_package_modal"
|
aria-labelledby="new_package_modal"
|
||||||
aria-hidden="true">
|
aria-hidden="true"
|
||||||
|
>
|
||||||
<div class="modal-dialog">
|
<div class="modal-dialog">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<button type="button"
|
<button type="button" class="close" data-dismiss="modal">
|
||||||
class="close"
|
|
||||||
data-dismiss="modal">
|
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
<span class="sr-only">Close</span>
|
<span class="sr-only">Close</span>
|
||||||
</button>
|
</button>
|
||||||
@ -17,46 +17,52 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<p>Create new package. Description can be changed later.</p>
|
<p>Create new package. Description can be changed later.</p>
|
||||||
<form id="new_package_modal_form"
|
<form
|
||||||
|
id="new_package_modal_form"
|
||||||
accept-charset="UTF-8"
|
accept-charset="UTF-8"
|
||||||
action=""
|
action=""
|
||||||
data-remote="true"
|
data-remote="true"
|
||||||
method="post">
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<p>
|
<p>
|
||||||
<label for="name">Name</label>
|
<label for="name">Name</label>
|
||||||
<input id="name" class="form-control"
|
<input
|
||||||
|
id="name"
|
||||||
|
class="form-control"
|
||||||
name="package-name"
|
name="package-name"
|
||||||
placeholder="Name"/>
|
placeholder="Name"
|
||||||
|
/>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label for="description">Description</label>
|
<label for="description">Description</label>
|
||||||
<input id="description"
|
<input
|
||||||
|
id="description"
|
||||||
type="text"
|
type="text"
|
||||||
rows="3"
|
rows="3"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
placeholder="Description..."
|
placeholder="Description..."
|
||||||
name="package-description"/>
|
name="package-description"
|
||||||
|
/>
|
||||||
</p>
|
</p>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<a id="new_package_modal_form_submit"
|
<a id="new_package_modal_form_submit" class="btn btn-primary" href="#"
|
||||||
class="btn btn-primary"
|
>Submit</a
|
||||||
href="#">Submit</a>
|
>
|
||||||
<button type="button"
|
<button type="button" class="btn btn-default" data-dismiss="modal">
|
||||||
class="btn btn-default"
|
Cancel
|
||||||
data-dismiss="modal">Cancel
|
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
$(function() {
|
$(function () {
|
||||||
$('#new_package_modal_form_submit').on('click', function (e) {
|
$("#new_package_modal_form_submit").on("click", function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$('#new_package_modal_form').submit();
|
$("#new_package_modal_form").submit();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -1,40 +1,57 @@
|
|||||||
|
|
||||||
{% load static %}
|
{% load static %}
|
||||||
<div class="modal fade" tabindex="-1" id="new_pathway_modal" role="dialog" aria-labelledby="new_pathway_modal"
|
<div
|
||||||
aria-hidden="true" style="overflow-y: auto;">
|
class="modal fade"
|
||||||
|
tabindex="-1"
|
||||||
|
id="new_pathway_modal"
|
||||||
|
role="dialog"
|
||||||
|
aria-labelledby="new_pathway_modal"
|
||||||
|
aria-hidden="true"
|
||||||
|
style="overflow-y: auto;"
|
||||||
|
>
|
||||||
<!-- FIXME: make width dynamic-->
|
<!-- FIXME: make width dynamic-->
|
||||||
<div class="modal-dialog" id="new_pathway_modal_dialog" style="width:900px">
|
<div class="modal-dialog" id="new_pathway_modal_dialog" style="width:900px">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<button type="button" class="close" data-dismiss="modal">
|
<button type="button" class="close" data-dismiss="modal">
|
||||||
<span aria-hidden="true">×</span> <span class="sr-only">Close</span>
|
<span aria-hidden="true">×</span>
|
||||||
|
<span class="sr-only">Close</span>
|
||||||
</button>
|
</button>
|
||||||
<h4 class="js-title-step"></h4>
|
<h4 class="js-title-step"></h4>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body hide" data-step="1" data-title="New Pathway">
|
<div class="modal-body hide" data-step="1" data-title="New Pathway">
|
||||||
<div class="jumbotron">Create a new pathway by entering
|
<div class="jumbotron">
|
||||||
the root compound and a name. Then select if you want to
|
Create a new pathway by entering the root compound and a name. Then
|
||||||
use the prediction engine to generate a predicted pathway or
|
select if you want to use the prediction engine to generate a
|
||||||
create an empty pathway that you fill in by yourself. If
|
predicted pathway or create an empty pathway that you fill in by
|
||||||
you choose to predict a pathway, you can modify the
|
yourself. If you choose to predict a pathway, you can modify the
|
||||||
settings for the prediction, or use the default settings
|
settings for the prediction, or use the default settings and just
|
||||||
and just click Submit.
|
click Submit.
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
{% if current_user.name == 'anonymous' %}
|
{% if current_user.name == 'anonymous' %}
|
||||||
<div class="alert alert-warning">
|
<div class="alert alert-warning">
|
||||||
You are currently logged in as Anonymous. Please note:
|
You are currently logged in as Anonymous. Please note: Pathways
|
||||||
Pathways entered or predicted as anonymous user will be deleted after 30 days.
|
entered or predicted as anonymous user will be deleted after 30
|
||||||
Please log in to save your results.
|
days. Please log in to save your results.
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<label for="name">Name</label>
|
<label for="name">Name</label>
|
||||||
<input id="name" class="form-control" name="name" placeholder="Name"/>
|
<input
|
||||||
|
id="name"
|
||||||
|
class="form-control"
|
||||||
|
name="name"
|
||||||
|
placeholder="Name"
|
||||||
|
/>
|
||||||
<label for="description">Description</label>
|
<label for="description">Description</label>
|
||||||
<input id="description" class="form-control" name="description" placeholder="no description"/>
|
<input
|
||||||
|
id="description"
|
||||||
|
class="form-control"
|
||||||
|
name="description"
|
||||||
|
placeholder="no description"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
@ -42,17 +59,33 @@
|
|||||||
<div class="radio" id="predict">
|
<div class="radio" id="predict">
|
||||||
<p>
|
<p>
|
||||||
<label>
|
<label>
|
||||||
<input type="radio" name="predict" id="radioPredict" value="predict" checked/>Predict pathway
|
<input
|
||||||
|
type="radio"
|
||||||
|
name="predict"
|
||||||
|
id="radioPredict"
|
||||||
|
value="predict"
|
||||||
|
checked
|
||||||
|
/>Predict pathway
|
||||||
</label>
|
</label>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label>
|
<label>
|
||||||
<input type="radio" name="predict" id="radioIncremental"value="incremental"/>Incremental prediction
|
<input
|
||||||
|
type="radio"
|
||||||
|
name="predict"
|
||||||
|
id="radioIncremental"
|
||||||
|
value="incremental"
|
||||||
|
/>Incremental prediction
|
||||||
</label>
|
</label>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label>
|
<label>
|
||||||
<input type="radio" name="predict" id="radioBuild" value="build"/>Build pathway
|
<input
|
||||||
|
type="radio"
|
||||||
|
name="predict"
|
||||||
|
id="radioBuild"
|
||||||
|
value="build"
|
||||||
|
/>Build pathway
|
||||||
</label>
|
</label>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
@ -61,13 +94,18 @@
|
|||||||
<label for="smilesinput">SMILES</label>
|
<label for="smilesinput">SMILES</label>
|
||||||
<table style="width: 100%">
|
<table style="width: 100%">
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col span="1" style="width: 90%;">
|
<col span="1" style="width: 90%;" />
|
||||||
<col span="1" style="width: 10%;">
|
<col span="1" style="width: 10%;" />
|
||||||
</colgroup>
|
</colgroup>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<input id="smilesinput" class="form-control" name="smilesinput" placeholder="C1CCCCC1"
|
<input
|
||||||
autocapitalize="none"/>
|
id="smilesinput"
|
||||||
|
class="form-control"
|
||||||
|
name="smilesinput"
|
||||||
|
placeholder="C1CCCCC1"
|
||||||
|
autocapitalize="none"
|
||||||
|
/>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<button type="button" class="btn btn-default" id="render-button">
|
<button type="button" class="btn btn-default" id="render-button">
|
||||||
@ -78,33 +116,57 @@
|
|||||||
</table>
|
</table>
|
||||||
<p id="ketcher_container"></p>
|
<p id="ketcher_container"></p>
|
||||||
<div>
|
<div>
|
||||||
<iframe id="ifKetcher" src="{% static '/js/ketcher/ketcher.html' %}" width="850"
|
<iframe
|
||||||
height="510"></iframe>
|
id="ifKetcher"
|
||||||
|
src="{% static '/js/ketcher/ketcher.html' %}"
|
||||||
|
width="850"
|
||||||
|
height="510"
|
||||||
|
></iframe>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body hide" data-step="2" data-title="New Pathway - Advanced Settings">
|
<div
|
||||||
<div class="jumbotron">Choose if you want to use an existing
|
class="modal-body hide"
|
||||||
setting, or create a new one for this pathway
|
data-step="2"
|
||||||
prediction. Then click Submit to use the specified setting,
|
data-title="New Pathway - Advanced Settings"
|
||||||
or click next to set the parameters.
|
>
|
||||||
|
<div class="jumbotron">
|
||||||
|
Choose if you want to use an existing setting, or create a new one for
|
||||||
|
this pathway prediction. Then click Submit to use the specified
|
||||||
|
setting, or click next to set the parameters.
|
||||||
</div>
|
</div>
|
||||||
<div id="settings">
|
<div id="settings">
|
||||||
<div class="radio" id="settingRadio">
|
<div class="radio" id="settingRadio">
|
||||||
<p>
|
<p>
|
||||||
<label>
|
<label>
|
||||||
<input type="radio" name="existing" id="radioDefault" value="exisiting" checked/>
|
<input
|
||||||
|
type="radio"
|
||||||
|
name="existing"
|
||||||
|
id="radioDefault"
|
||||||
|
value="exisiting"
|
||||||
|
checked
|
||||||
|
/>
|
||||||
Use Default
|
Use Default
|
||||||
</label>
|
</label>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label>
|
<label>
|
||||||
<input type="radio" name="existing" id="radioExists" value="exisiting"/>
|
<input
|
||||||
|
type="radio"
|
||||||
|
name="existing"
|
||||||
|
id="radioExists"
|
||||||
|
value="exisiting"
|
||||||
|
/>
|
||||||
Select Existing
|
Select Existing
|
||||||
</label>
|
</label>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label>
|
<label>
|
||||||
<input type="radio" name="existing" id="radioNew" value="temporary"/>
|
<input
|
||||||
|
type="radio"
|
||||||
|
name="existing"
|
||||||
|
id="radioNew"
|
||||||
|
value="temporary"
|
||||||
|
/>
|
||||||
Create New
|
Create New
|
||||||
</label>
|
</label>
|
||||||
</p>
|
</p>
|
||||||
@ -122,12 +184,25 @@
|
|||||||
{% include "templates/modals/collections/new_setting_modal_body.html" %}
|
{% include "templates/modals/collections/new_setting_modal_body.html" %}
|
||||||
{% endwith %}
|
{% endwith %}
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-default js-btn-step pull-left" data-orientation="cancel"
|
<button
|
||||||
onclick="reset()" data-dismiss="modal"></button>
|
type="button"
|
||||||
<button type="button" class="btn btn-default js-btn-step" data-orientation="previous"
|
class="btn btn-default js-btn-step pull-left"
|
||||||
id="backbutton"></button>
|
data-orientation="cancel"
|
||||||
<button type="button" class="btn btn-default js-btn-step" data-orientation="next"
|
onclick="reset()"
|
||||||
id="nextbutton"></button>
|
data-dismiss="modal"
|
||||||
|
></button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-default js-btn-step"
|
||||||
|
data-orientation="previous"
|
||||||
|
id="backbutton"
|
||||||
|
></button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-default js-btn-step"
|
||||||
|
data-orientation="next"
|
||||||
|
id="nextbutton"
|
||||||
|
></button>
|
||||||
<a id="modal-form-submit" class="btn btn-primary" href="#">Submit</a>
|
<a id="modal-form-submit" class="btn btn-primary" href="#">Submit</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -135,87 +210,87 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
s = new Setting(
|
s = new Setting(
|
||||||
'settingName',
|
"settingName",
|
||||||
'package_multi_select',
|
"package_multi_select",
|
||||||
'modelSelect',
|
"modelSelect",
|
||||||
'cutoff',
|
"cutoff",
|
||||||
'evalType',
|
"evalType",
|
||||||
'availableTS',
|
"availableTS",
|
||||||
'forms',
|
"forms",
|
||||||
'truncatorTable',
|
"truncatorTable",
|
||||||
'summaryTable',
|
"summaryTable",
|
||||||
);
|
);
|
||||||
|
|
||||||
$(function() {
|
$(function () {
|
||||||
// hide all forms
|
// hide all forms
|
||||||
$('#forms').children().hide()
|
$("#forms").children().hide();
|
||||||
|
|
||||||
$("#render-button").on("click", function() {
|
$("#render-button").on("click", function () {
|
||||||
syncKetcherAndTextInput('text', "ifKetcher", "smilesinput");
|
syncKetcherAndTextInput("text", "ifKetcher", "smilesinput");
|
||||||
});
|
});
|
||||||
|
|
||||||
// If theres a change in the in '#smilesinput' sync the value to ketcher
|
// If theres a change in the in '#smilesinput' sync the value to ketcher
|
||||||
$('#smilesinput').on('input', function() {
|
$("#smilesinput").on("input", function () {
|
||||||
syncKetcherAndTextInput('text', 'ifKetcher', 'smilesinput');
|
syncKetcherAndTextInput("text", "ifKetcher", "smilesinput");
|
||||||
});
|
});
|
||||||
|
|
||||||
// If theres an update in ketcher sync it to textinput
|
// If theres an update in ketcher sync it to textinput
|
||||||
setInterval(function() {
|
setInterval(function () {
|
||||||
syncKetcherAndTextInput('ketcher', 'ifKetcher', 'smilesinput');
|
syncKetcherAndTextInput("ketcher", "ifKetcher", "smilesinput");
|
||||||
}, 250);
|
}, 250);
|
||||||
|
|
||||||
$("#smilesinput").on("blur", function() {
|
$("#smilesinput").on("blur", function () {
|
||||||
syncKetcherAndTextInput('text', 'ifKetcher', 'smilesinput');
|
syncKetcherAndTextInput("text", "ifKetcher", "smilesinput");
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#smilesinput").on("keypress", function(event) {
|
$("#smilesinput").on("keypress", function (event) {
|
||||||
if (event.keyCode == 13) {
|
if (event.keyCode == 13) {
|
||||||
syncKetcherAndTextInput('text', 'ifKetcher', 'smilesinput');
|
syncKetcherAndTextInput("text", "ifKetcher", "smilesinput");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Show forms depending on the selected TS
|
// Show forms depending on the selected TS
|
||||||
$('#availableTS').on('change', function(e) {
|
$("#availableTS").on("change", function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
var type = $(this).val();
|
var type = $(this).val();
|
||||||
// hide current content
|
// hide current content
|
||||||
$('#forms').children().hide()
|
$("#forms").children().hide();
|
||||||
|
|
||||||
if(type === '') {
|
if (type === "") {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$('#' + type + '_form').show()
|
$("#" + type + "_form").show();
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#modelSelect").on("change", function() {
|
$("#modelSelect").on("change", function () {
|
||||||
setCutoff = function (thresh) {
|
setCutoff = function (thresh) {
|
||||||
$("#cutoff").val(thresh);
|
$("#cutoff").val(thresh);
|
||||||
}
|
};
|
||||||
|
|
||||||
var modelUri = $("#modelSelect :selected").val();
|
var modelUri = $("#modelSelect :selected").val();
|
||||||
fillPRCurve(modelUri, setCutoff);
|
fillPRCurve(modelUri, setCutoff);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Add a TS to the setting
|
// Add a TS to the setting
|
||||||
$('#add-ts-button').on('click', function(e) {
|
$("#add-ts-button").on("click", function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
s.addTruncator();
|
s.addTruncator();
|
||||||
});
|
});
|
||||||
|
|
||||||
$('input[type=radio][name=predict]').change(function() {
|
$("input[type=radio][name=predict]").change(function () {
|
||||||
if (this.id == 'radioBuild') {
|
if (this.id == "radioBuild") {
|
||||||
$("#nextbutton").prop("disabled", true);
|
$("#nextbutton").prop("disabled", true);
|
||||||
} else {
|
} else {
|
||||||
$("#nextbutton").prop("disabled", false);
|
$("#nextbutton").prop("disabled", false);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$('input[type=radio][name=existing]').change(function() {
|
$("input[type=radio][name=existing]").change(function () {
|
||||||
if (this.id == 'radioDefault' || this.id == 'radioExists') {
|
if (this.id == "radioDefault" || this.id == "radioExists") {
|
||||||
if(this.id == 'radioDefault') {
|
if (this.id == "radioDefault") {
|
||||||
$("#settingSelect").prop("disabled", true);
|
$("#settingSelect").prop("disabled", true);
|
||||||
} else {
|
} else {
|
||||||
$("#settingSelect").prop("disabled", false);
|
$("#settingSelect").prop("disabled", false);
|
||||||
@ -228,75 +303,74 @@ $(function() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
var pwStep1 = function() {
|
var pwStep1 = function () {
|
||||||
console.log("pw step 1");
|
console.log("pw step 1");
|
||||||
// Make "Next" to "Advanced"
|
// Make "Next" to "Advanced"
|
||||||
$('#nextbutton').val("Advanced");
|
$("#nextbutton").val("Advanced");
|
||||||
}
|
};
|
||||||
|
|
||||||
var pwStep2 = function() {
|
var pwStep2 = function () {
|
||||||
console.log("pw step 2");
|
console.log("pw step 2");
|
||||||
// Make "Advanced" to "Next"
|
// Make "Advanced" to "Next"
|
||||||
$('#nextbutton').val("Next");
|
$("#nextbutton").val("Next");
|
||||||
// As "Use default is preselected" disable "Next" button
|
// As "Use default is preselected" disable "Next" button
|
||||||
$("#nextbutton").prop("disabled",true);
|
$("#nextbutton").prop("disabled", true);
|
||||||
// Disable setting dropdown as long as the correspndonding radio isnt checked
|
// Disable setting dropdown as long as the correspndonding radio isnt checked
|
||||||
$("#settingSelect").prop("disabled",true);
|
$("#settingSelect").prop("disabled", true);
|
||||||
// Show submit button
|
// Show submit button
|
||||||
$("#modal-form-submit").show();
|
$("#modal-form-submit").show();
|
||||||
}
|
};
|
||||||
|
|
||||||
var settingStep1 = function (){
|
var settingStep1 = function () {
|
||||||
// First step sets name and packages
|
// First step sets name and packages
|
||||||
s.extractName();
|
s.extractName();
|
||||||
s.extractSelectedPackages();
|
s.extractSelectedPackages();
|
||||||
}
|
};
|
||||||
|
|
||||||
var settingStep2 = function (){
|
var settingStep2 = function () {
|
||||||
// Seconds step gathers relative reasoning params
|
// Seconds step gathers relative reasoning params
|
||||||
s.extractRelativeReasoning();
|
s.extractRelativeReasoning();
|
||||||
s.extractCutoff();
|
s.extractCutoff();
|
||||||
s.extractEvaluationType();
|
s.extractEvaluationType();
|
||||||
}
|
};
|
||||||
|
|
||||||
var settingStep3 = function() {
|
var settingStep3 = function () {
|
||||||
s.updateTable();
|
s.updateTable();
|
||||||
s.updateSummaryTable();
|
s.updateSummaryTable();
|
||||||
// hide duplicate submit...
|
// hide duplicate submit...
|
||||||
$("#nextbutton").hide();
|
$("#nextbutton").hide();
|
||||||
}
|
};
|
||||||
|
|
||||||
var postPathway = function(){
|
var postPathway = function () {
|
||||||
console.log("Complete!");
|
console.log("Complete!");
|
||||||
console.log(s.tsParams);
|
console.log(s.tsParams);
|
||||||
console.log("Getting SMILES");
|
console.log("Getting SMILES");
|
||||||
}
|
};
|
||||||
|
|
||||||
function dummy() {
|
function dummy() {
|
||||||
console.log("dummy");
|
console.log("dummy");
|
||||||
}
|
}
|
||||||
|
|
||||||
$('#new_pathway_modal').modalSteps({
|
$("#new_pathway_modal").modalSteps({
|
||||||
btnCancelHtml: 'Cancel',
|
btnCancelHtml: "Cancel",
|
||||||
btnPreviousHtml: 'Back',
|
btnPreviousHtml: "Back",
|
||||||
btnNextHtml: 'Next',
|
btnNextHtml: "Next",
|
||||||
btnLastStepHtml: 'Submit',
|
btnLastStepHtml: "Submit",
|
||||||
disableNextButton: false,
|
disableNextButton: false,
|
||||||
completeCallback: postPathway,
|
completeCallback: postPathway,
|
||||||
callbacks: {
|
callbacks: {
|
||||||
'1': pwStep1,
|
1: pwStep1,
|
||||||
'2' : pwStep2,
|
2: pwStep2,
|
||||||
'3' : dummy,
|
3: dummy,
|
||||||
'4' : settingStep1,
|
4: settingStep1,
|
||||||
'5' : settingStep2,
|
5: settingStep2,
|
||||||
'6' : settingStep3,
|
6: settingStep3,
|
||||||
}
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#modal-form-submit').on('click', function() {
|
$("#modal-form-submit").on("click", function () {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
postPathway();
|
postPathway();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
{% load static %}
|
{% load static %}
|
||||||
|
|
||||||
<div id="new_prediction_setting_modal" class="modal" tabindex="-1">
|
<div id="new_prediction_setting_modal" class="modal" tabindex="-1">
|
||||||
@ -6,38 +5,88 @@
|
|||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h5 class="modal-title">Create a Prediction Setting</h5>
|
<h5 class="modal-title">Create a Prediction Setting</h5>
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<p>To create a Prediction Setting fill the form below and click "Create"</p>
|
<p>
|
||||||
<form id="new-prediction-setting-modal-form" accept-charset="UTF-8" action="" data-remote="true"
|
To create a Prediction Setting fill the form below and click "Create"
|
||||||
method="post">
|
</p>
|
||||||
|
<form
|
||||||
|
id="new-prediction-setting-modal-form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action=""
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
|
|
||||||
<label for="prediction-setting-name">Name</label>
|
<label for="prediction-setting-name">Name</label>
|
||||||
<input id="prediction-setting-name" name="prediction-setting-name" class="form-control" placeholder="Name"/>
|
<input
|
||||||
|
id="prediction-setting-name"
|
||||||
|
name="prediction-setting-name"
|
||||||
|
class="form-control"
|
||||||
|
placeholder="Name"
|
||||||
|
/>
|
||||||
<label for="prediction-setting-description">Description</label>
|
<label for="prediction-setting-description">Description</label>
|
||||||
<input id="prediction-setting-description" name="prediction-setting-description" class="form-control"
|
<input
|
||||||
placeholder="Description"/>
|
id="prediction-setting-description"
|
||||||
|
name="prediction-setting-description"
|
||||||
|
class="form-control"
|
||||||
|
placeholder="Description"
|
||||||
|
/>
|
||||||
|
|
||||||
<label for="prediction-setting-max-nodes">Max #Nodes</label>
|
<label for="prediction-setting-max-nodes">Max #Nodes</label>
|
||||||
<input id="prediction-setting-max-nodes" type="number" class="form-control" name="prediction-setting-max-nodes" value="30" min="1" max="50" step="1">
|
<input
|
||||||
|
id="prediction-setting-max-nodes"
|
||||||
|
type="number"
|
||||||
|
class="form-control"
|
||||||
|
name="prediction-setting-max-nodes"
|
||||||
|
value="30"
|
||||||
|
min="1"
|
||||||
|
max="50"
|
||||||
|
step="1"
|
||||||
|
/>
|
||||||
<label for="prediction-setting-max-depth">Max Depth</label>
|
<label for="prediction-setting-max-depth">Max Depth</label>
|
||||||
<input id="prediction-setting-max-depth" type="number" class="form-control" name="prediction-setting-max-depth" value="5" min="1" max="8" step="1">
|
<input
|
||||||
|
id="prediction-setting-max-depth"
|
||||||
|
type="number"
|
||||||
|
class="form-control"
|
||||||
|
name="prediction-setting-max-depth"
|
||||||
|
value="5"
|
||||||
|
min="1"
|
||||||
|
max="8"
|
||||||
|
step="1"
|
||||||
|
/>
|
||||||
|
|
||||||
<label for="tp-generation-method">TP Generation Method</label>
|
<label for="tp-generation-method">TP Generation Method</label>
|
||||||
<select id="tp-generation-method" name="tp-generation-method" class="form-control" data-width='100%'>
|
<select
|
||||||
|
id="tp-generation-method"
|
||||||
|
name="tp-generation-method"
|
||||||
|
class="form-control"
|
||||||
|
data-width="100%"
|
||||||
|
>
|
||||||
<option disabled selected>Select how TPs are generated</option>
|
<option disabled selected>Select how TPs are generated</option>
|
||||||
<option value="rule-based-prediction-setting">Rule Based</option>
|
<option value="rule-based-prediction-setting">Rule Based</option>
|
||||||
<option value="model-based-prediction-setting">Model Based</option>
|
<option value="model-based-prediction-setting">Model Based</option>
|
||||||
</select>
|
</select>
|
||||||
<div id="rule-based-prediction-setting-specific-form">
|
<div id="rule-based-prediction-setting-specific-form">
|
||||||
<!-- Rule Packages -->
|
<!-- Rule Packages -->
|
||||||
<label>Rule Packages</label><br>
|
<label>Rule Packages</label><br />
|
||||||
<select id="rule-based-prediction-setting-packages" name="rule-based-prediction-setting-packages"
|
<select
|
||||||
data-actions-box='true' class="form-control" multiple data-width='100%'>
|
id="rule-based-prediction-setting-packages"
|
||||||
|
name="rule-based-prediction-setting-packages"
|
||||||
|
data-actions-box="true"
|
||||||
|
class="form-control"
|
||||||
|
multiple
|
||||||
|
data-width="100%"
|
||||||
|
>
|
||||||
<option disabled>Reviewed Packages</option>
|
<option disabled>Reviewed Packages</option>
|
||||||
{% for obj in meta.readable_packages %}
|
{% for obj in meta.readable_packages %}
|
||||||
{% if obj.reviewed %}
|
{% if obj.reviewed %}
|
||||||
@ -54,56 +103,83 @@
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div id="model-based-prediction-setting-specific-form">
|
<div id="model-based-prediction-setting-specific-form">
|
||||||
<label>Select Model</label><br>
|
<label>Select Model</label><br />
|
||||||
<select id="model-based-prediction-setting-model" name="model-based-prediction-setting-model" class="form-control" data-width='100%'>
|
<select
|
||||||
|
id="model-based-prediction-setting-model"
|
||||||
|
name="model-based-prediction-setting-model"
|
||||||
|
class="form-control"
|
||||||
|
data-width="100%"
|
||||||
|
>
|
||||||
<option disabled selected>Select the model</option>
|
<option disabled selected>Select the model</option>
|
||||||
{% for m in models %}
|
{% for m in models %}
|
||||||
<option value="{{ m.url }}">{{ m.name|safe }}</option>
|
<option value="{{ m.url }}">{{ m.name|safe }}</option>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
<label for="model-based-prediction-setting-threshold">Threshold</label>
|
<label for="model-based-prediction-setting-threshold"
|
||||||
<input id="model-based-prediction-setting-threshold" name="model-based-prediction-setting-threshold" class="form-control" placeholder="0.25" type="number"/>
|
>Threshold</label
|
||||||
|
>
|
||||||
|
<input
|
||||||
|
id="model-based-prediction-setting-threshold"
|
||||||
|
name="model-based-prediction-setting-threshold"
|
||||||
|
class="form-control"
|
||||||
|
placeholder="0.25"
|
||||||
|
type="number"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<input class="form-check-input" type="checkbox" value="on" id="prediction-setting-new-default" name="prediction-setting-new-default">
|
<input
|
||||||
<label class="form-check-label" for="prediction-setting-new-default">Set this setting as new default</label>
|
class="form-check-input"
|
||||||
|
type="checkbox"
|
||||||
|
value="on"
|
||||||
|
id="prediction-setting-new-default"
|
||||||
|
name="prediction-setting-new-default"
|
||||||
|
/>
|
||||||
|
<label class="form-check-label" for="prediction-setting-new-default"
|
||||||
|
>Set this setting as new default</label
|
||||||
|
>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||||
<button type="button" class="btn btn-primary" id="new-prediction-setting-modal-submit">Create</button>
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="new-prediction-setting-modal-submit"
|
||||||
|
>
|
||||||
|
Create
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
$(function() {
|
$(function () {
|
||||||
|
|
||||||
// Initially hide all "specific" forms
|
// Initially hide all "specific" forms
|
||||||
$("div[id$='-specific-form']").each( function() {
|
$("div[id$='-specific-form']").each(function () {
|
||||||
$(this).hide();
|
$(this).hide();
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#rule-based-prediction-setting-packages").selectpicker();
|
$("#rule-based-prediction-setting-packages").selectpicker();
|
||||||
|
|
||||||
// On change hide all and show only selected
|
// On change hide all and show only selected
|
||||||
$("#tp-generation-method").change(function() {
|
$("#tp-generation-method").change(function () {
|
||||||
$("div[id$='-specific-form']").each( function() {
|
$("div[id$='-specific-form']").each(function () {
|
||||||
$(this).hide();
|
$(this).hide();
|
||||||
});
|
});
|
||||||
val = $('option:selected', this).val();
|
val = $("option:selected", this).val();
|
||||||
$("#" + val + "-specific-form").show();
|
$("#" + val + "-specific-form").show();
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#new-prediction-setting-modal-submit').click(function(e){
|
$("#new-prediction-setting-modal-submit").click(function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
// $('#new-prediction-setting-modal-form').submit();
|
// $('#new-prediction-setting-modal-form').submit();
|
||||||
|
|
||||||
const formData = $('#new-prediction-setting-modal-form').serialize();
|
const formData = $("#new-prediction-setting-modal-form").serialize();
|
||||||
$.post('/setting', formData, function(response) {
|
$.post("/setting", formData, function (response) {
|
||||||
location.reload();
|
location.reload();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
})
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -1,50 +1,91 @@
|
|||||||
{% load static %}
|
{% load static %}
|
||||||
<div class="modal fade bs-modal-lg" id="new_reaction_modal" tabindex="-1" aria-labelledby="new_reaction_modal" aria-modal="true"
|
<div
|
||||||
role="dialog">
|
class="modal fade bs-modal-lg"
|
||||||
|
id="new_reaction_modal"
|
||||||
|
tabindex="-1"
|
||||||
|
aria-labelledby="new_reaction_modal"
|
||||||
|
aria-modal="true"
|
||||||
|
role="dialog"
|
||||||
|
>
|
||||||
<div class="modal-dialog modal-lg">
|
<div class="modal-dialog modal-lg">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
<h4 class="modal-title">Create a new Reaction</h4>
|
<h4 class="modal-title">Create a new Reaction</h4>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<form id="new_reaction_modal_form" accept-charset="UTF-8" action="{% url 'package reaction list' meta.current_package.uuid %}" data-remote="true" method="post">
|
<form
|
||||||
|
id="new_reaction_modal_form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action="{% url 'package reaction list' meta.current_package.uuid %}"
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<label for="reaction-name">Name</label>
|
<label for="reaction-name">Name</label>
|
||||||
<input id="reaction-name" class="form-control" name="reaction-name" placeholder="Name"/>
|
<input
|
||||||
|
id="reaction-name"
|
||||||
|
class="form-control"
|
||||||
|
name="reaction-name"
|
||||||
|
placeholder="Name"
|
||||||
|
/>
|
||||||
<label for="reaction-description">Description</label>
|
<label for="reaction-description">Description</label>
|
||||||
<input id="reaction-description" class="form-control" name="reaction-description" placeholder="Description"/>
|
<input
|
||||||
|
id="reaction-description"
|
||||||
|
class="form-control"
|
||||||
|
name="reaction-description"
|
||||||
|
placeholder="Description"
|
||||||
|
/>
|
||||||
<p></p>
|
<p></p>
|
||||||
<div>
|
<div>
|
||||||
<iframe id="new_reaction_ketcher" src="{% static '/js/ketcher2/ketcher.html' %}" width="100%"
|
<iframe
|
||||||
height="510"></iframe>
|
id="new_reaction_ketcher"
|
||||||
|
src="{% static '/js/ketcher2/ketcher.html' %}"
|
||||||
|
width="100%"
|
||||||
|
height="510"
|
||||||
|
></iframe>
|
||||||
</div>
|
</div>
|
||||||
<input type="hidden" name="reaction-smirks" id="reaction-smirks">
|
<input type="hidden" name="reaction-smirks" id="reaction-smirks" />
|
||||||
<p></p>
|
<p></p>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary pull-left" data-dismiss="modal">Close
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-secondary pull-left"
|
||||||
|
data-dismiss="modal"
|
||||||
|
>
|
||||||
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="new_reaction_modal_form_submit"
|
||||||
|
>
|
||||||
|
Submit
|
||||||
</button>
|
</button>
|
||||||
<button type="button" class="btn btn-primary" id="new_reaction_modal_form_submit">Submit</button>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
$(function() {
|
$(function () {
|
||||||
$('#new_reaction_modal_form_submit').on('click', function(e) {
|
$("#new_reaction_modal_form_submit").on("click", function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$(this).prop("disabled",true);
|
$(this).prop("disabled", true);
|
||||||
|
|
||||||
k = getKetcher('new_reaction_ketcher');
|
k = getKetcher("new_reaction_ketcher");
|
||||||
$('#reaction-smirks').val(k.getSmiles());
|
$("#reaction-smirks").val(k.getSmiles());
|
||||||
|
|
||||||
// submit form
|
// submit form
|
||||||
$('#new_reaction_modal_form').submit();
|
$("#new_reaction_modal_form").submit();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -1,54 +1,102 @@
|
|||||||
{% load static %}
|
{% load static %}
|
||||||
<div class="modal fade bs-modal-lg" id="new_rule_modal" tabindex="-1" aria-labelledby="new_rule_modal" aria-modal="true"
|
<div
|
||||||
role="dialog">
|
class="modal fade bs-modal-lg"
|
||||||
|
id="new_rule_modal"
|
||||||
|
tabindex="-1"
|
||||||
|
aria-labelledby="new_rule_modal"
|
||||||
|
aria-modal="true"
|
||||||
|
role="dialog"
|
||||||
|
>
|
||||||
<div class="modal-dialog modal-lg">
|
<div class="modal-dialog modal-lg">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
<h4 class="modal-title">Create a new Rule</h4>
|
<h4 class="modal-title">Create a new Rule</h4>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<form id="new_rule_modal_form" accept-charset="UTF-8" action="{% url 'package rule list' meta.current_package.uuid %}" data-remote="true" method="post">
|
<form
|
||||||
|
id="new_rule_modal_form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action="{% url 'package rule list' meta.current_package.uuid %}"
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<label for="rule-name">Name</label>
|
<label for="rule-name">Name</label>
|
||||||
<input id="rule-name" class="form-control" name="rule-name" placeholder="Name"/>
|
<input
|
||||||
|
id="rule-name"
|
||||||
|
class="form-control"
|
||||||
|
name="rule-name"
|
||||||
|
placeholder="Name"
|
||||||
|
/>
|
||||||
<label for="rule-description">Description</label>
|
<label for="rule-description">Description</label>
|
||||||
<input id="rule-description" class="form-control" name="rule-description" placeholder="Description"/>
|
<input
|
||||||
|
id="rule-description"
|
||||||
|
class="form-control"
|
||||||
|
name="rule-description"
|
||||||
|
placeholder="Description"
|
||||||
|
/>
|
||||||
<label for="rule-smirks">SMIRKS</label>
|
<label for="rule-smirks">SMIRKS</label>
|
||||||
<input id="rule-smirks" class="form-control" name="rule-smirks" placeholder="SMIRKS"/>
|
<input
|
||||||
|
id="rule-smirks"
|
||||||
|
class="form-control"
|
||||||
|
name="rule-smirks"
|
||||||
|
placeholder="SMIRKS"
|
||||||
|
/>
|
||||||
<p></p>
|
<p></p>
|
||||||
<div id="rule-smirks-viz"></div>
|
<div id="rule-smirks-viz"></div>
|
||||||
<input type="hidden" name="rule-type" id="rule-type" value="SimpleAmbitRule">
|
<input
|
||||||
|
type="hidden"
|
||||||
|
name="rule-type"
|
||||||
|
id="rule-type"
|
||||||
|
value="SimpleAmbitRule"
|
||||||
|
/>
|
||||||
<p></p>
|
<p></p>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary pull-left" data-dismiss="modal">Close
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-secondary pull-left"
|
||||||
|
data-dismiss="modal"
|
||||||
|
>
|
||||||
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="new_rule_modal_form_submit"
|
||||||
|
>
|
||||||
|
Submit
|
||||||
</button>
|
</button>
|
||||||
<button type="button" class="btn btn-primary" id="new_rule_modal_form_submit">Submit</button>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
$(function() {
|
$(function () {
|
||||||
|
$("#rule-smirks").on("input", function (e) {
|
||||||
|
$("#rule-smirks-viz").empty();
|
||||||
|
|
||||||
$('#rule-smirks').on('input', function(e) {
|
smirks = $("#rule-smirks").val();
|
||||||
$('#rule-smirks-viz').empty()
|
|
||||||
|
|
||||||
smirks = $('#rule-smirks').val()
|
|
||||||
|
|
||||||
const img = new Image();
|
const img = new Image();
|
||||||
img.src = "{% url 'depict' %}?is_query_smirks=true&smirks=" + encodeURIComponent(smirks);
|
img.src =
|
||||||
img.style.width = '100%';
|
"{% url 'depict' %}?is_query_smirks=true&smirks=" +
|
||||||
img.style.height = '100%';
|
encodeURIComponent(smirks);
|
||||||
img.style.objectFit = 'cover';
|
img.style.width = "100%";
|
||||||
|
img.style.height = "100%";
|
||||||
|
img.style.objectFit = "cover";
|
||||||
|
|
||||||
img.onload = function () {
|
img.onload = function () {
|
||||||
$('#rule-smirks-viz').append(img);
|
$("#rule-smirks-viz").append(img);
|
||||||
};
|
};
|
||||||
|
|
||||||
img.onerror = function () {
|
img.onerror = function () {
|
||||||
@ -57,16 +105,16 @@ $(function() {
|
|||||||
<h4 class="alert-heading">Could not render SMIRKS!</h4>
|
<h4 class="alert-heading">Could not render SMIRKS!</h4>
|
||||||
<p>Could not render SMIRKS - Have you entered a valid SMIRKS?</a>
|
<p>Could not render SMIRKS - Have you entered a valid SMIRKS?</a>
|
||||||
</p>
|
</p>
|
||||||
</div>`
|
</div>`;
|
||||||
$('#rule-smirks-viz').append(error_tpl);
|
$("#rule-smirks-viz").append(error_tpl);
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#new_rule_modal_form_submit').on('click', function(e) {
|
$("#new_rule_modal_form_submit").on("click", function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$(this).prop("disabled",true);
|
$(this).prop("disabled", true);
|
||||||
// submit form
|
// submit form
|
||||||
$('#new_rule_modal_form').submit();
|
$("#new_rule_modal_form").submit();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -1,5 +1,11 @@
|
|||||||
<div class="modal fade" tabindex="-1" id="new_scenario_modal" role="dialog" aria-labelledby="new_scenario_modal"
|
<div
|
||||||
aria-hidden="true">
|
class="modal fade"
|
||||||
|
tabindex="-1"
|
||||||
|
id="new_scenario_modal"
|
||||||
|
role="dialog"
|
||||||
|
aria-labelledby="new_scenario_modal"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
<div class="modal-dialog modal-lg">
|
<div class="modal-dialog modal-lg">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
@ -10,39 +16,84 @@
|
|||||||
<h4 class="modal-title">New Scenario</h4>
|
<h4 class="modal-title">New Scenario</h4>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<form id="new_scenario_form" accept-charset="UTF-8" action="{{ meta.current_package.url }}/scenario"
|
<form
|
||||||
data-remote="true" method="post">
|
id="new_scenario_form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action="{{ meta.current_package.url }}/scenario"
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<div class="jumbotron">Please enter name, description, and date of scenario. Date should be
|
<div class="jumbotron">
|
||||||
associated to the data, not the current date. For example, this could reflect the publishing
|
Please enter name, description, and date of scenario. Date should be
|
||||||
date of a study. You can leave all fields but the name empty and fill them in later.
|
associated to the data, not the current date. For example, this
|
||||||
<a target="_blank" href="https://wiki.envipath.org/index.php/scenario" role="button">wiki
|
could reflect the publishing date of a study. You can leave all
|
||||||
>></a>
|
fields but the name empty and fill them in later.
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
href="https://wiki.envipath.org/index.php/scenario"
|
||||||
|
role="button"
|
||||||
|
>wiki >></a
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
<label for="scenario-name">Name</label>
|
<label for="scenario-name">Name</label>
|
||||||
<input id="scenario-name" name="scenario-name" class="form-control" placeholder="Name"/>
|
<input
|
||||||
|
id="scenario-name"
|
||||||
|
name="scenario-name"
|
||||||
|
class="form-control"
|
||||||
|
placeholder="Name"
|
||||||
|
/>
|
||||||
<label for="scenario-description">Description</label>
|
<label for="scenario-description">Description</label>
|
||||||
<input id="scenario-description" name="scenario-description" class="form-control"
|
<input
|
||||||
placeholder="Description"/>
|
id="scenario-description"
|
||||||
|
name="scenario-description"
|
||||||
|
class="form-control"
|
||||||
|
placeholder="Description"
|
||||||
|
/>
|
||||||
<label id="dateField" for="dateYear">Date</label>
|
<label id="dateField" for="dateYear">Date</label>
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<th>
|
<th>
|
||||||
<input type="number" id="dateYear" name="scenario-date-year" class="form-control"
|
<input
|
||||||
placeholder="YYYY" max="{% now "Y" %}">
|
type="number"
|
||||||
|
id="dateYear"
|
||||||
|
name="scenario-date-year"
|
||||||
|
class="form-control"
|
||||||
|
placeholder="YYYY"
|
||||||
|
max="{% now "Y" %}"
|
||||||
|
/>
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th>
|
||||||
<input type="number" id="dateMonth" name="scenario-date-month" min="1" max="12"
|
<input
|
||||||
class="form-control" placeholder="MM" >
|
type="number"
|
||||||
|
id="dateMonth"
|
||||||
|
name="scenario-date-month"
|
||||||
|
min="1"
|
||||||
|
max="12"
|
||||||
|
class="form-control"
|
||||||
|
placeholder="MM"
|
||||||
|
/>
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th>
|
||||||
<input type="number" id="dateDay" name="scenario-date-day" min="1" max="31" class="form-control"
|
<input
|
||||||
placeholder="DD">
|
type="number"
|
||||||
|
id="dateDay"
|
||||||
|
name="scenario-date-day"
|
||||||
|
min="1"
|
||||||
|
max="31"
|
||||||
|
class="form-control"
|
||||||
|
placeholder="DD"
|
||||||
|
/>
|
||||||
</th>
|
</th>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<label for="scenario-type">Scenario Type</label>
|
<label for="scenario-type">Scenario Type</label>
|
||||||
<select id="scenario-type" name="scenario-type" class="form-control" data-width='100%'>
|
<select
|
||||||
|
id="scenario-type"
|
||||||
|
name="scenario-type"
|
||||||
|
class="form-control"
|
||||||
|
data-width="100%"
|
||||||
|
>
|
||||||
<option value="empty" selected>Empty Scenario</option>
|
<option value="empty" selected>Empty Scenario</option>
|
||||||
{% for k, v in scenario_types.items %}
|
{% for k, v in scenario_types.items %}
|
||||||
<option value="{{ v.name }}">{{ k }}</option>
|
<option value="{{ v.name }}">{{ k }}</option>
|
||||||
@ -56,12 +107,15 @@
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<a id="new_scenario_modal_form_submit" class="btn btn-primary" href="#">Submit</a>
|
<a id="new_scenario_modal_form_submit" class="btn btn-primary" href="#"
|
||||||
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
|
>Submit</a
|
||||||
|
>
|
||||||
|
<button type="button" class="btn btn-default" data-dismiss="modal">
|
||||||
|
Cancel
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -79,24 +133,21 @@
|
|||||||
$("div[id$='-specific-inputs']").each(function () {
|
$("div[id$='-specific-inputs']").each(function () {
|
||||||
$(this).hide();
|
$(this).hide();
|
||||||
});
|
});
|
||||||
val = $('option:selected', this).val();
|
val = $("option:selected", this).val();
|
||||||
$("#" + val + "-specific-inputs").show();
|
$("#" + val + "-specific-inputs").show();
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#new_scenario_modal_form_submit').on('click', function (e) {
|
$("#new_scenario_modal_form_submit").on("click", function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$('#new_scenario_form').submit();
|
$("#new_scenario_form").submit();
|
||||||
});
|
});
|
||||||
|
|
||||||
var dateYear = document.getElementById("dateYear");
|
var dateYear = document.getElementById("dateYear");
|
||||||
dateYear.addEventListener("change", () => {
|
dateYear.addEventListener("change", () => {
|
||||||
console.log("Final value after editing:", dateYear.value);
|
console.log("Final value after editing:", dateYear.value);
|
||||||
if (dateYear.value.length < 4) {
|
if (dateYear.value.length < 4) {
|
||||||
dateYear.value = {% now "Y" %};
|
dateYear.value = new Date().getFullYear();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@ -4,58 +4,89 @@
|
|||||||
<div class="modal-dialog">
|
<div class="modal-dialog">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
<h3 class="modal-title">Add Additional Information</h3>
|
<h3 class="modal-title">Add Additional Information</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<select id="select-additional-information-type" data-actions-box='true' class="form-control" data-width='100%'>
|
<select
|
||||||
|
id="select-additional-information-type"
|
||||||
|
data-actions-box="true"
|
||||||
|
class="form-control"
|
||||||
|
data-width="100%"
|
||||||
|
>
|
||||||
<option selected disabled>Select the type to add</option>
|
<option selected disabled>Select the type to add</option>
|
||||||
{% for add_inf in available_additional_information %}
|
{% for add_inf in available_additional_information %}
|
||||||
<option value="{{ add_inf.name }}">{{ add_inf.display_name }}</option>
|
<option value="{{ add_inf.name }}">
|
||||||
|
{{ add_inf.display_name }}
|
||||||
|
</option>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
{% for add_inf in available_additional_information %}
|
{% for add_inf in available_additional_information %}
|
||||||
<div class="aiform {{ add_inf.name }}" style="display: none;">
|
<div class="aiform {{ add_inf.name }}" style="display: none;">
|
||||||
<form id="add_{{ add_inf.name }}_add-additional-information-modal-form" accept-charset="UTF-8"
|
<form
|
||||||
action="" data-remote="true" method="post">
|
id="add_{{ add_inf.name }}_add-additional-information-modal-form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action=""
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
{{ add_inf.widget|safe }}
|
{{ add_inf.widget|safe }}
|
||||||
<input type="hidden" name="hidden" value="add-additional-information">
|
<input
|
||||||
|
type="hidden"
|
||||||
|
name="hidden"
|
||||||
|
value="add-additional-information"
|
||||||
|
/>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||||
<button type="button" class="btn btn-primary" id="add-additional-information-modal-submit">Add
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="add-additional-information-modal-submit"
|
||||||
|
>
|
||||||
|
Add
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
$(function() {
|
$(function () {
|
||||||
|
$("#select-additional-information-type").change(function (e) {
|
||||||
$('#select-additional-information-type').change(function(e){
|
var selectedType = $(
|
||||||
var selectedType = $("#select-additional-information-type :selected").val();
|
"#select-additional-information-type :selected",
|
||||||
$('.aiform').hide();
|
).val();
|
||||||
$('.' + selectedType).show();
|
$(".aiform").hide();
|
||||||
})
|
$("." + selectedType).show();
|
||||||
|
|
||||||
$('#add-additional-information-modal-submit').click(function(e){
|
|
||||||
e.preventDefault();
|
|
||||||
|
|
||||||
var selectedType = $("#select-additional-information-type :selected").val();
|
|
||||||
console.log(selectedType);
|
|
||||||
if (selectedType !== null && selectedType !== undefined && selectedType !== '') {
|
|
||||||
$('.' + selectedType + ' >form').submit();
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
$("#add-additional-information-modal-submit").click(function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
|
var selectedType = $(
|
||||||
|
"#select-additional-information-type :selected",
|
||||||
|
).val();
|
||||||
|
console.log(selectedType);
|
||||||
|
if (
|
||||||
|
selectedType !== null &&
|
||||||
|
selectedType !== undefined &&
|
||||||
|
selectedType !== ""
|
||||||
|
) {
|
||||||
|
$("." + selectedType + " >form").submit();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -1,95 +1,150 @@
|
|||||||
|
|
||||||
{% load static %}
|
{% load static %}
|
||||||
<div class="modal fade bs-modal-lg" id="add_pathway_edge_modal" tabindex="-1" aria-labelledby="add_pathway_edge_modal"
|
<div
|
||||||
|
class="modal fade bs-modal-lg"
|
||||||
|
id="add_pathway_edge_modal"
|
||||||
|
tabindex="-1"
|
||||||
|
aria-labelledby="add_pathway_edge_modal"
|
||||||
aria-modal="true"
|
aria-modal="true"
|
||||||
role="dialog">
|
role="dialog"
|
||||||
|
>
|
||||||
<div class="modal-dialog modal-lg">
|
<div class="modal-dialog modal-lg">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
<h4 class="modal-title">Add a Reaction</h4>
|
<h4 class="modal-title">Add a Reaction</h4>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<form id="add_pathway_edge_modal_form" accept-charset="UTF-8"
|
<form
|
||||||
|
id="add_pathway_edge_modal_form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
action="{% url 'package pathway edge list' meta.current_package.uuid pathway.uuid %}"
|
action="{% url 'package pathway edge list' meta.current_package.uuid pathway.uuid %}"
|
||||||
data-remote="true" method="post">
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<label for="edge-name">Name</label>
|
<label for="edge-name">Name</label>
|
||||||
<input id="edge-name" class="form-control" name="edge-name" placeholder="Name"/>
|
<input
|
||||||
|
id="edge-name"
|
||||||
|
class="form-control"
|
||||||
|
name="edge-name"
|
||||||
|
placeholder="Name"
|
||||||
|
/>
|
||||||
<label for="edge-description">Description</label>
|
<label for="edge-description">Description</label>
|
||||||
<input id="edge-description" class="form-control" name="edge-description" placeholder="Description"/>
|
<input
|
||||||
|
id="edge-description"
|
||||||
|
class="form-control"
|
||||||
|
name="edge-description"
|
||||||
|
placeholder="Description"
|
||||||
|
/>
|
||||||
<p></p>
|
<p></p>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-xs-5">
|
<div class="col-xs-5">
|
||||||
<legend>Substrate(s)</legend>
|
<legend>Substrate(s)</legend>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-2">
|
<div class="col-xs-2"></div>
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-5">
|
<div class="col-xs-5">
|
||||||
<legend>Product(s)</legend>
|
<legend>Product(s)</legend>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-xs-5">
|
<div class="col-xs-5">
|
||||||
<select id="add_pathway_edge_substrates" name="edge-substrates"
|
<select
|
||||||
data-actions-box='true' class="form-control" multiple data-width='100%'>
|
id="add_pathway_edge_substrates"
|
||||||
|
name="edge-substrates"
|
||||||
|
data-actions-box="true"
|
||||||
|
class="form-control"
|
||||||
|
multiple
|
||||||
|
data-width="100%"
|
||||||
|
>
|
||||||
{% for n in pathway.nodes %}
|
{% for n in pathway.nodes %}
|
||||||
<option data-smiles="{{ n.default_node_label.smiles }}" value="{{ n.url }}">{{ n.default_node_label.name|safe }}</option>
|
<option
|
||||||
|
data-smiles="{{ n.default_node_label.smiles }}"
|
||||||
|
value="{{ n.url }}"
|
||||||
|
>
|
||||||
|
{{ n.default_node_label.name|safe }}
|
||||||
|
</option>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-2" style="display: flex; justify-content: center; align-items: center;">
|
<div
|
||||||
|
class="col-xs-2"
|
||||||
|
style="display: flex; justify-content: center; align-items: center;"
|
||||||
|
>
|
||||||
<i class="glyphicon glyphicon-arrow-right"></i>
|
<i class="glyphicon glyphicon-arrow-right"></i>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-5">
|
<div class="col-xs-5">
|
||||||
<select id="add_pathway_edge_products" name="edge-products"
|
<select
|
||||||
data-actions-box='true' class="form-control" multiple data-width='100%'>
|
id="add_pathway_edge_products"
|
||||||
|
name="edge-products"
|
||||||
|
data-actions-box="true"
|
||||||
|
class="form-control"
|
||||||
|
multiple
|
||||||
|
data-width="100%"
|
||||||
|
>
|
||||||
{% for n in pathway.nodes %}
|
{% for n in pathway.nodes %}
|
||||||
<option data-smiles="{{ n.default_node_label.smiles }}" value="{{ n.url }}">{{ n.default_node_label.name|safe }}</option>
|
<option
|
||||||
|
data-smiles="{{ n.default_node_label.smiles }}"
|
||||||
|
value="{{ n.url }}"
|
||||||
|
>
|
||||||
|
{{ n.default_node_label.name|safe }}
|
||||||
|
</option>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<p></p>
|
<p></p>
|
||||||
<div class="col-xs-12" id="reaction_image">
|
<div class="col-xs-12" id="reaction_image"></div>
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary pull-left" data-dismiss="modal">Close
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-secondary pull-left"
|
||||||
|
data-dismiss="modal"
|
||||||
|
>
|
||||||
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="add_pathway_edge_modal_form_submit"
|
||||||
|
>
|
||||||
|
Submit
|
||||||
</button>
|
</button>
|
||||||
<button type="button" class="btn btn-primary" id="add_pathway_edge_modal_form_submit">Submit</button>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
function reactionImage() {
|
function reactionImage() {
|
||||||
var substrates = [];
|
var substrates = [];
|
||||||
$('#add_pathway_edge_substrates option:selected').each(function () {
|
$("#add_pathway_edge_substrates option:selected").each(function () {
|
||||||
var smiles = $(this).data('smiles'); // read data-smiles attribute
|
var smiles = $(this).data("smiles"); // read data-smiles attribute
|
||||||
substrates.push(smiles);
|
substrates.push(smiles);
|
||||||
});
|
});
|
||||||
|
|
||||||
var products = []
|
var products = [];
|
||||||
$('#add_pathway_edge_products option:selected').each(function () {
|
$("#add_pathway_edge_products option:selected").each(function () {
|
||||||
var smiles = $(this).data('smiles'); // read data-smiles attribute
|
var smiles = $(this).data("smiles"); // read data-smiles attribute
|
||||||
products.push(smiles);
|
products.push(smiles);
|
||||||
});
|
});
|
||||||
|
|
||||||
if (substrates.length > 0 && products.length > 0) {
|
if (substrates.length > 0 && products.length > 0) {
|
||||||
reaction = substrates.join('.') + ">>" + products.join('.');
|
reaction = substrates.join(".") + ">>" + products.join(".");
|
||||||
$('#reaction_image').empty();
|
$("#reaction_image").empty();
|
||||||
$('#reaction_image').append(
|
$("#reaction_image").append(
|
||||||
"<img width='100%' src='{% url 'depict' %}?smirks=" + encodeURIComponent(reaction) +"'>"
|
"<img width='100%' src='{% url 'depict' %}?smirks=" +
|
||||||
|
encodeURIComponent(reaction) +
|
||||||
|
"'>",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -98,30 +153,22 @@
|
|||||||
$("#add_pathway_edge_substrates").selectpicker();
|
$("#add_pathway_edge_substrates").selectpicker();
|
||||||
$("#add_pathway_edge_products").selectpicker();
|
$("#add_pathway_edge_products").selectpicker();
|
||||||
|
|
||||||
$("#add_pathway_edge_substrates").on('change', function (e) {
|
$("#add_pathway_edge_substrates").on("change", function (e) {
|
||||||
reactionImage();
|
reactionImage();
|
||||||
})
|
});
|
||||||
|
|
||||||
$("#add_pathway_edge_products").on('change', function (e) {
|
$("#add_pathway_edge_products").on("change", function (e) {
|
||||||
reactionImage();
|
reactionImage();
|
||||||
})
|
});
|
||||||
|
|
||||||
$(function () {
|
$(function () {
|
||||||
$('#add_pathway_edge_modal_form_submit').on('click', function (e) {
|
$("#add_pathway_edge_modal_form_submit").on("click", function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$(this).prop("disabled", true);
|
$(this).prop("disabled", true);
|
||||||
|
|
||||||
|
|
||||||
// submit form
|
// submit form
|
||||||
$('#add_pathway_edge_modal_form').submit();
|
$("#add_pathway_edge_modal_form").submit();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1,57 +1,102 @@
|
|||||||
{% load static %}
|
{% 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"
|
<div
|
||||||
role="dialog">
|
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-dialog modal-lg">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
<h4 class="modal-title">Add a Node</h4>
|
<h4 class="modal-title">Add a Node</h4>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<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">
|
<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 %}
|
{% csrf_token %}
|
||||||
<label for="node-name">Name</label>
|
<label for="node-name">Name</label>
|
||||||
<input id="node-name" class="form-control" name="node-name" placeholder="Name"/>
|
<input
|
||||||
|
id="node-name"
|
||||||
|
class="form-control"
|
||||||
|
name="node-name"
|
||||||
|
placeholder="Name"
|
||||||
|
/>
|
||||||
<label for="node-description">Description</label>
|
<label for="node-description">Description</label>
|
||||||
<input id="node-description" class="form-control" name="node-description" placeholder="Description"/>
|
<input
|
||||||
|
id="node-description"
|
||||||
|
class="form-control"
|
||||||
|
name="node-description"
|
||||||
|
placeholder="Description"
|
||||||
|
/>
|
||||||
<label for="node-smiles">SMILES</label>
|
<label for="node-smiles">SMILES</label>
|
||||||
<input type="text" class="form-control" name="node-smiles" placeholder="SMILES" id="node-smiles">
|
<input
|
||||||
|
type="text"
|
||||||
|
class="form-control"
|
||||||
|
name="node-smiles"
|
||||||
|
placeholder="SMILES"
|
||||||
|
id="node-smiles"
|
||||||
|
/>
|
||||||
<p></p>
|
<p></p>
|
||||||
<div>
|
<div>
|
||||||
<iframe id="add_node_ketcher" src="{% static '/js/ketcher2/ketcher.html' %}" width="100%"
|
<iframe
|
||||||
height="510"></iframe>
|
id="add_node_ketcher"
|
||||||
|
src="{% static '/js/ketcher2/ketcher.html' %}"
|
||||||
|
width="100%"
|
||||||
|
height="510"
|
||||||
|
></iframe>
|
||||||
</div>
|
</div>
|
||||||
<p></p>
|
<p></p>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary pull-left" data-dismiss="modal">Close
|
<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>
|
</button>
|
||||||
<button type="button" class="btn btn-primary" id="add_pathway_node_modal_form_submit">Submit</button>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
|
function newStructureModalketcherToNewStructureModalTextInput() {
|
||||||
|
$("#node-smiles").val(this.ketcher.getSmiles());
|
||||||
|
}
|
||||||
|
|
||||||
function newStructureModalketcherToNewStructureModalTextInput() {
|
$(function () {
|
||||||
$('#node-smiles').val(this.ketcher.getSmiles());
|
$("#add_node_ketcher").on("load", function () {
|
||||||
}
|
|
||||||
|
|
||||||
$(function() {
|
|
||||||
|
|
||||||
$('#add_node_ketcher').on('load', function() {
|
|
||||||
const checkKetcherReady = () => {
|
const checkKetcherReady = () => {
|
||||||
win = this.contentWindow
|
win = this.contentWindow;
|
||||||
if (win.ketcher && 'editor' in win.ketcher) {
|
if (win.ketcher && "editor" in win.ketcher) {
|
||||||
win.ketcher.editor.event.change.handlers.push({
|
win.ketcher.editor.event.change.handlers.push({
|
||||||
once: false,
|
once: false,
|
||||||
priority: 0,
|
priority: 0,
|
||||||
f: newStructureModalketcherToNewStructureModalTextInput,
|
f: newStructureModalketcherToNewStructureModalTextInput,
|
||||||
ketcher: win.ketcher
|
ketcher: win.ketcher,
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
setTimeout(checkKetcherReady, 100);
|
setTimeout(checkKetcherReady, 100);
|
||||||
@ -59,20 +104,16 @@ $(function() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
checkKetcherReady();
|
checkKetcherReady();
|
||||||
})
|
});
|
||||||
|
|
||||||
$(function() {
|
$(function () {
|
||||||
$('#add_pathway_node_modal_form_submit').on('click', function(e) {
|
$("#add_pathway_node_modal_form_submit").on("click", function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$(this).prop("disabled",true);
|
$(this).prop("disabled", true);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// submit form
|
// submit form
|
||||||
$('#add_pathway_node_modal_form').submit();
|
$("#add_pathway_node_modal_form").submit();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -1,57 +1,102 @@
|
|||||||
{% load static %}
|
{% load static %}
|
||||||
<div class="modal fade bs-modal-lg" id="add_structure_modal" tabindex="-1" aria-labelledby="add_structure_modal" aria-modal="true"
|
<div
|
||||||
role="dialog">
|
class="modal fade bs-modal-lg"
|
||||||
|
id="add_structure_modal"
|
||||||
|
tabindex="-1"
|
||||||
|
aria-labelledby="add_structure_modal"
|
||||||
|
aria-modal="true"
|
||||||
|
role="dialog"
|
||||||
|
>
|
||||||
<div class="modal-dialog modal-lg">
|
<div class="modal-dialog modal-lg">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
<h4 class="modal-title">Create a new Structure</h4>
|
<h4 class="modal-title">Create a new Structure</h4>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<form id="add_structure_modal_form" accept-charset="UTF-8" action="{% url 'package compound structure list' meta.current_package.uuid compound.uuid %}" data-remote="true" method="post">
|
<form
|
||||||
|
id="add_structure_modal_form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action="{% url 'package compound structure list' meta.current_package.uuid compound.uuid %}"
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<label for="structure-name">Name</label>
|
<label for="structure-name">Name</label>
|
||||||
<input id="structure-name" class="form-control" name="structure-name" placeholder="Name"/>
|
<input
|
||||||
|
id="structure-name"
|
||||||
|
class="form-control"
|
||||||
|
name="structure-name"
|
||||||
|
placeholder="Name"
|
||||||
|
/>
|
||||||
<label for="structure-description">Description</label>
|
<label for="structure-description">Description</label>
|
||||||
<input id="structure-description" class="form-control" name="structure-description" placeholder="Description"/>
|
<input
|
||||||
|
id="structure-description"
|
||||||
|
class="form-control"
|
||||||
|
name="structure-description"
|
||||||
|
placeholder="Description"
|
||||||
|
/>
|
||||||
<label for="structure-smiles">SMILES</label>
|
<label for="structure-smiles">SMILES</label>
|
||||||
<input type="text" class="form-control" name="structure-smiles" placeholder="SMILES" id="structure-smiles">
|
<input
|
||||||
|
type="text"
|
||||||
|
class="form-control"
|
||||||
|
name="structure-smiles"
|
||||||
|
placeholder="SMILES"
|
||||||
|
id="structure-smiles"
|
||||||
|
/>
|
||||||
<p></p>
|
<p></p>
|
||||||
<div>
|
<div>
|
||||||
<iframe id="add_structure_ketcher" src="{% static '/js/ketcher2/ketcher.html' %}" width="100%"
|
<iframe
|
||||||
height="510"></iframe>
|
id="add_structure_ketcher"
|
||||||
|
src="{% static '/js/ketcher2/ketcher.html' %}"
|
||||||
|
width="100%"
|
||||||
|
height="510"
|
||||||
|
></iframe>
|
||||||
</div>
|
</div>
|
||||||
<p></p>
|
<p></p>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary pull-left" data-dismiss="modal">Close
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-secondary pull-left"
|
||||||
|
data-dismiss="modal"
|
||||||
|
>
|
||||||
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="add_structure_modal_form_submit"
|
||||||
|
>
|
||||||
|
Submit
|
||||||
</button>
|
</button>
|
||||||
<button type="button" class="btn btn-primary" id="add_structure_modal_form_submit">Submit</button>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
|
function newStructureModalketcherToNewStructureModalTextInput() {
|
||||||
|
$("#structure-smiles").val(this.ketcher.getSmiles());
|
||||||
|
}
|
||||||
|
|
||||||
function newStructureModalketcherToNewStructureModalTextInput() {
|
$(function () {
|
||||||
$('#structure-smiles').val(this.ketcher.getSmiles());
|
$("#add_structure_ketcher").on("load", function () {
|
||||||
}
|
|
||||||
|
|
||||||
$(function() {
|
|
||||||
|
|
||||||
$('#add_structure_ketcher').on('load', function() {
|
|
||||||
const checkKetcherReady = () => {
|
const checkKetcherReady = () => {
|
||||||
win = this.contentWindow
|
win = this.contentWindow;
|
||||||
if (win.ketcher && 'editor' in win.ketcher) {
|
if (win.ketcher && "editor" in win.ketcher) {
|
||||||
win.ketcher.editor.event.change.handlers.push({
|
win.ketcher.editor.event.change.handlers.push({
|
||||||
once: false,
|
once: false,
|
||||||
priority: 0,
|
priority: 0,
|
||||||
f: newStructureModalketcherToNewStructureModalTextInput,
|
f: newStructureModalketcherToNewStructureModalTextInput,
|
||||||
ketcher: win.ketcher
|
ketcher: win.ketcher,
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
setTimeout(checkKetcherReady, 100);
|
setTimeout(checkKetcherReady, 100);
|
||||||
@ -59,20 +104,16 @@ $(function() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
checkKetcherReady();
|
checkKetcherReady();
|
||||||
})
|
});
|
||||||
|
|
||||||
$(function() {
|
$(function () {
|
||||||
$('#add_structure_modal_form_submit').on('click', function(e) {
|
$("#add_structure_modal_form_submit").on("click", function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$(this).prop("disabled",true);
|
$(this).prop("disabled", true);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// submit form
|
// submit form
|
||||||
$('#add_structure_modal_form').submit();
|
$("#add_structure_modal_form").submit();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
{% load static %}
|
{% load static %}
|
||||||
<!-- Delete Edge -->
|
<!-- Delete Edge -->
|
||||||
<div id="delete_pathway_edge_modal" class="modal" tabindex="-1">
|
<div id="delete_pathway_edge_modal" class="modal" tabindex="-1">
|
||||||
@ -6,31 +5,56 @@
|
|||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h3 class="modal-title">Delete Edge</h3>
|
<h3 class="modal-title">Delete Edge</h3>
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
Deletes the Edge. Nodes referenced by this edge will remain.
|
Deletes the Edge. Nodes referenced by this edge will remain.
|
||||||
<p></p>
|
<p></p>
|
||||||
<form id="delete-pathway-edge-modal-form" accept-charset="UTF-8" action="" data-remote="true"
|
<form
|
||||||
method="post">
|
id="delete-pathway-edge-modal-form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action=""
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<select id="delete_pathway_edge_edges" name="edge-url"
|
<select
|
||||||
data-actions-box='true' class="form-control" data-width='100%'>
|
id="delete_pathway_edge_edges"
|
||||||
<option value="" disabled selected>Select Reaction to delete</option>
|
name="edge-url"
|
||||||
|
data-actions-box="true"
|
||||||
|
class="form-control"
|
||||||
|
data-width="100%"
|
||||||
|
>
|
||||||
|
<option value="" disabled selected>
|
||||||
|
Select Reaction to delete
|
||||||
|
</option>
|
||||||
{% for e in pathway.edges %}
|
{% for e in pathway.edges %}
|
||||||
<option value="{{ e.url }}">{{ e.edge_label.name|safe }}</option>
|
<option value="{{ e.url }}">{{ e.edge_label.name|safe }}</option>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
<input type="hidden" id="hidden" name="hidden" value="delete"/>
|
<input type="hidden" id="hidden" name="hidden" value="delete" />
|
||||||
</form>
|
</form>
|
||||||
<p></p>
|
<p></p>
|
||||||
<div id="delete_pathway_edge_image"></div>
|
<div id="delete_pathway_edge_image"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||||
<button type="button" class="btn btn-primary" id="delete-pathway-edge-modal-submit">Delete</button>
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="delete-pathway-edge-modal-submit"
|
||||||
|
>
|
||||||
|
Delete
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -39,28 +63,27 @@
|
|||||||
$(function () {
|
$(function () {
|
||||||
$("#delete_pathway_edge_edges").selectpicker();
|
$("#delete_pathway_edge_edges").selectpicker();
|
||||||
|
|
||||||
$("#delete_pathway_edge_edges").on('change', function (e) {
|
$("#delete_pathway_edge_edges").on("change", function (e) {
|
||||||
edge_url = $('#delete_pathway_edge_edges option:selected').val()
|
edge_url = $("#delete_pathway_edge_edges option:selected").val();
|
||||||
|
|
||||||
if (edge_url !== "") {
|
if (edge_url !== "") {
|
||||||
$('#delete_pathway_edge_image').empty();
|
$("#delete_pathway_edge_image").empty();
|
||||||
$('#delete_pathway_edge_image').append(
|
$("#delete_pathway_edge_image").append(
|
||||||
"<img width='100%' src='" + edge_url + "?image=svg'>"
|
"<img width='100%' src='" + edge_url + "?image=svg'>",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
|
|
||||||
$('#delete-pathway-edge-modal-submit').click(function (e) {
|
$("#delete-pathway-edge-modal-submit").click(function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
edge_url = $('#delete_pathway_edge_edges option:selected').val()
|
edge_url = $("#delete_pathway_edge_edges option:selected").val();
|
||||||
|
|
||||||
if (edge_url === "") {
|
if (edge_url === "") {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$('#delete-pathway-edge-modal-form').attr('action', edge_url)
|
$("#delete-pathway-edge-modal-form").attr("action", edge_url);
|
||||||
$('#delete-pathway-edge-modal-form').submit();
|
$("#delete-pathway-edge-modal-form").submit();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
})
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -6,31 +6,59 @@
|
|||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h3 class="modal-title">Delete Node</h3>
|
<h3 class="modal-title">Delete Node</h3>
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
Deletes the Node. Edges having this Node as Substrate or Product will be removed as well.
|
Deletes the Node. Edges having this Node as Substrate or Product will be
|
||||||
|
removed as well.
|
||||||
<p></p>
|
<p></p>
|
||||||
<form id="delete-pathway-node-modal-form" accept-charset="UTF-8" action="" data-remote="true"
|
<form
|
||||||
method="post">
|
id="delete-pathway-node-modal-form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action=""
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<select id="delete_pathway_node_nodes" name="node-url"
|
<select
|
||||||
data-actions-box='true' class="form-control" data-width='100%'>
|
id="delete_pathway_node_nodes"
|
||||||
<option value="" disabled selected>Select Compound to delete</option>
|
name="node-url"
|
||||||
|
data-actions-box="true"
|
||||||
|
class="form-control"
|
||||||
|
data-width="100%"
|
||||||
|
>
|
||||||
|
<option value="" disabled selected>
|
||||||
|
Select Compound to delete
|
||||||
|
</option>
|
||||||
{% for n in pathway.nodes %}
|
{% for n in pathway.nodes %}
|
||||||
<option value="{{ n.url }}">{{ n.default_node_label.name|safe }}</option>
|
<option value="{{ n.url }}">
|
||||||
|
{{ n.default_node_label.name|safe }}
|
||||||
|
</option>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
<input type="hidden" id="hidden" name="hidden" value="delete"/>
|
<input type="hidden" id="hidden" name="hidden" value="delete" />
|
||||||
</form>
|
</form>
|
||||||
<p></p>
|
<p></p>
|
||||||
<div id="delete_pathway_node_image"></div>
|
<div id="delete_pathway_node_image"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||||
<button type="button" class="btn btn-primary" id="delete-pathway-node-modal-submit">Delete</button>
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="delete-pathway-node-modal-submit"
|
||||||
|
>
|
||||||
|
Delete
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -39,28 +67,27 @@
|
|||||||
$(function () {
|
$(function () {
|
||||||
$("#delete_pathway_node_nodes").selectpicker();
|
$("#delete_pathway_node_nodes").selectpicker();
|
||||||
|
|
||||||
$("#delete_pathway_node_nodes").on('change', function (e) {
|
$("#delete_pathway_node_nodes").on("change", function (e) {
|
||||||
node_url = $('#delete_pathway_node_nodes option:selected').val()
|
node_url = $("#delete_pathway_node_nodes option:selected").val();
|
||||||
|
|
||||||
if (node_url !== "") {
|
if (node_url !== "") {
|
||||||
$('#delete_pathway_node_image').empty();
|
$("#delete_pathway_node_image").empty();
|
||||||
$('#delete_pathway_node_image').append(
|
$("#delete_pathway_node_image").append(
|
||||||
"<img width='100%' src='" + node_url + "?image=svg'>"
|
"<img width='100%' src='" + node_url + "?image=svg'>",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
|
|
||||||
$('#delete-pathway-node-modal-submit').click(function (e) {
|
$("#delete-pathway-node-modal-submit").click(function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
node_url = $('#delete_pathway_node_nodes option:selected').val()
|
node_url = $("#delete_pathway_node_nodes option:selected").val();
|
||||||
|
|
||||||
if (node_url === "") {
|
if (node_url === "") {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$('#delete-pathway-node-modal-form').attr('action', node_url)
|
$("#delete-pathway-node-modal-form").attr("action", node_url);
|
||||||
$('#delete-pathway-node-modal-form').submit();
|
$("#delete-pathway-node-modal-form").submit();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
})
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -5,32 +5,49 @@
|
|||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h3 class="modal-title">Download Pathway as CSV</h3>
|
<h3 class="modal-title">Download Pathway as CSV</h3>
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
By clicking on Download the Pathway will be converted into a CSV and directly downloaded.
|
By clicking on Download the Pathway will be converted into a CSV and
|
||||||
<form id="download-pathway-csv-modal-form" accept-charset="UTF-8" action="{{ pathway.url }}"
|
directly downloaded.
|
||||||
data-remote="true" method="GET">
|
<form
|
||||||
<input type="hidden" name="download" value="true"/>
|
id="download-pathway-csv-modal-form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action="{{ pathway.url }}"
|
||||||
|
data-remote="true"
|
||||||
|
method="GET"
|
||||||
|
>
|
||||||
|
<input type="hidden" name="download" value="true" />
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||||
<button type="button" class="btn btn-primary" id="download-pathway-csv-modal-submit">Download</button>
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="download-pathway-csv-modal-submit"
|
||||||
|
>
|
||||||
|
Download
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
$(function () {
|
$(function () {
|
||||||
|
$("#download-pathway-csv-modal-submit").click(function (e) {
|
||||||
$('#download-pathway-csv-modal-submit').click(function (e) {
|
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$('#download-pathway-csv-modal-form').submit();
|
$("#download-pathway-csv-modal-form").submit();
|
||||||
$('#download_pathway_csv_modal').modal('hide');
|
$("#download_pathway_csv_modal").modal("hide");
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
})
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -5,7 +5,12 @@
|
|||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h3 class="modal-title">Download Pathway as Image</h3>
|
<h3 class="modal-title">Download Pathway as Image</h3>
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@ -13,20 +18,26 @@
|
|||||||
By clicking on Download the Pathway will be saved as SVG.
|
By clicking on Download the Pathway will be saved as SVG.
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||||
<button type="button" class="btn btn-primary" id="download-pathway-image-modal-submit">Download</button>
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="download-pathway-image-modal-submit"
|
||||||
|
>
|
||||||
|
Download
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
$(function () {
|
$(function () {
|
||||||
|
$("#download-pathway-image-modal-submit").click(function (e) {
|
||||||
$('#download-pathway-image-modal-submit').click(function (e) {
|
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
downloadSVG($('#pwsvg')[0], '{{ pathway.name.split|join:"_" }}.svg')
|
downloadSVG($("#pwsvg")[0], '{{ pathway.name.split|join:"_" }}.svg');
|
||||||
$('#download_pathway_image_modal').modal('hide');
|
$("#download_pathway_image_modal").modal("hide");
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
})
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
{% load static %}
|
{% load static %}
|
||||||
<!-- Edit Compound -->
|
<!-- Edit Compound -->
|
||||||
<div id="edit_compound_modal" class="modal" tabindex="-1">
|
<div id="edit_compound_modal" class="modal" tabindex="-1">
|
||||||
@ -6,42 +5,66 @@
|
|||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h5 class="modal-title">Edit Compound</h5>
|
<h5 class="modal-title">Edit Compound</h5>
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<p>Edit Compound.</p>
|
<p>Edit Compound.</p>
|
||||||
<form id="edit-compound-modal-form" accept-charset="UTF-8" action="" data-remote="true" method="post">
|
<form
|
||||||
|
id="edit-compound-modal-form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action=""
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<p>
|
<p>
|
||||||
<label for="compound-name">Name</label>
|
<label for="compound-name">Name</label>
|
||||||
<input id="compound-name" class="form-control" name="compound-name" value="{{ compound.name|safe}}">
|
<input
|
||||||
|
id="compound-name"
|
||||||
|
class="form-control"
|
||||||
|
name="compound-name"
|
||||||
|
value="{{ compound.name|safe }}"
|
||||||
|
/>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label for="compound-description">Description</label>
|
<label for="compound-description">Description</label>
|
||||||
<input id="compound-description" type="text" class="form-control"
|
<input
|
||||||
|
id="compound-description"
|
||||||
|
type="text"
|
||||||
|
class="form-control"
|
||||||
value="{{ compound.description|safe }}"
|
value="{{ compound.description|safe }}"
|
||||||
name="compound-description">
|
name="compound-description"
|
||||||
|
/>
|
||||||
</p>
|
</p>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||||
<button type="button" class="btn btn-primary" id="edit-compound-modal-submit">Update</button>
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="edit-compound-modal-submit"
|
||||||
|
>
|
||||||
|
Update
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
$(function() {
|
$(function () {
|
||||||
|
$("#edit-compound-modal-submit").click(function (e) {
|
||||||
$('#edit-compound-modal-submit').click(function(e){
|
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$('#edit-compound-modal-form').submit();
|
$("#edit-compound-modal-form").submit();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
{% load static %}
|
{% load static %}
|
||||||
<!-- Edit Compound -->
|
<!-- Edit Compound -->
|
||||||
<div id="edit_compound_structure_modal" class="modal" tabindex="-1">
|
<div id="edit_compound_structure_modal" class="modal" tabindex="-1">
|
||||||
@ -6,41 +5,66 @@
|
|||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h5 class="modal-title">Create a Compound</h5>
|
<h5 class="modal-title">Create a Compound</h5>
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<p>Edit a Compound Structure.</p>
|
<p>Edit a Compound Structure.</p>
|
||||||
<form id="edit-compound-structure-modal-form" accept-charset="UTF-8" action="" data-remote="true" method="post">
|
<form
|
||||||
|
id="edit-compound-structure-modal-form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action=""
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<p>
|
<p>
|
||||||
<label for="compound-structure-name">Name</label>
|
<label for="compound-structure-name">Name</label>
|
||||||
<input id="compound-structure-name" class="form-control" name="compound-structure-name" value="{{ compound_structure.name|safe }}">
|
<input
|
||||||
|
id="compound-structure-name"
|
||||||
|
class="form-control"
|
||||||
|
name="compound-structure-name"
|
||||||
|
value="{{ compound_structure.name|safe }}"
|
||||||
|
/>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label for="compound-structure-description">Description</label>
|
<label for="compound-structure-description">Description</label>
|
||||||
<input id="compound-structure-description" type="text" class="form-control"
|
<input
|
||||||
value="{{ compound_structure.description|safe }}" name="compound-structure-description">
|
id="compound-structure-description"
|
||||||
|
type="text"
|
||||||
|
class="form-control"
|
||||||
|
value="{{ compound_structure.description|safe }}"
|
||||||
|
name="compound-structure-description"
|
||||||
|
/>
|
||||||
</p>
|
</p>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||||
<button type="button" class="btn btn-primary" id="edit-compound-structure-modal-submit">Create</button>
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="edit-compound-structure-modal-submit"
|
||||||
|
>
|
||||||
|
Create
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
$(function() {
|
$(function () {
|
||||||
|
$("#edit-compound-structure-modal-submit").click(function (e) {
|
||||||
$('#edit-compound-structure-modal-submit').click(function(e){
|
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$('#edit-compound-structure-modal-form').submit();
|
$("#edit-compound-structure-modal-form").submit();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
{% load static %}
|
{% load static %}
|
||||||
<!-- Edit Package Permission -->
|
<!-- Edit Package Permission -->
|
||||||
<div id="edit_group_member_modal" class="modal" tabindex="-1">
|
<div id="edit_group_member_modal" class="modal" tabindex="-1">
|
||||||
@ -6,15 +5,20 @@
|
|||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h5 class="modal-title">Add or Remove Group Member</h5>
|
<h5 class="modal-title">Add or Remove Group Member</h5>
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<p>
|
<p>
|
||||||
To add member (either User or entire Groups) to this group select the entity you want to add below
|
To add member (either User or entire Groups) to this group select the
|
||||||
and click the check mark.
|
entity you want to add below and click the check mark.
|
||||||
<br>
|
<br />
|
||||||
To remove member simply click the <code>X</code> next to the member.
|
To remove member simply click the <code>X</code> next to the member.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
@ -28,12 +32,24 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<form id="modal-form-group-member" class="form-inline" role="form" accept-charset="UTF-8" action=""
|
<form
|
||||||
data-remote="true" method="post">
|
id="modal-form-group-member"
|
||||||
|
class="form-inline"
|
||||||
|
role="form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action=""
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<div class="col-xs-8">
|
<div class="col-xs-8">
|
||||||
<select id="select_member" name="member" data-actions-box='true'
|
<select
|
||||||
class="selPackages" data-width='100%'>
|
id="select_member"
|
||||||
|
name="member"
|
||||||
|
data-actions-box="true"
|
||||||
|
class="selPackages"
|
||||||
|
data-width="100%"
|
||||||
|
>
|
||||||
<option disabled selected>User</option>
|
<option disabled selected>User</option>
|
||||||
{% for u in users %}
|
{% for u in users %}
|
||||||
<option value="{{ u.url }}">{{ u.username }}</option>
|
<option value="{{ u.url }}">{{ u.username }}</option>
|
||||||
@ -43,10 +59,9 @@
|
|||||||
<option value="{{ g.url }}">{{ g.name|safe }}</option>
|
<option value="{{ g.url }}">{{ g.name|safe }}</option>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
<input type="hidden" name="action" value="add">
|
<input type="hidden" name="action" value="add" />
|
||||||
</div>
|
|
||||||
<div class="col-xs-2">
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-xs-2"></div>
|
||||||
<div class="col-xs-2">
|
<div class="col-xs-2">
|
||||||
<button type="submit" style="width:60%;" class="btn col-xs-2">
|
<button type="submit" style="width:60%;" class="btn col-xs-2">
|
||||||
<span class="glyphicon glyphicon-ok"></span>
|
<span class="glyphicon glyphicon-ok"></span>
|
||||||
@ -57,16 +72,22 @@
|
|||||||
<p></p>
|
<p></p>
|
||||||
{% for u in group.user_member.all %}
|
{% for u in group.user_member.all %}
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<form id="modal-form-group-member_{{ u.uuid }}" class="form-inline" role="form"
|
<form
|
||||||
accept-charset="UTF-8" action="" data-remote="true" method="post">
|
id="modal-form-group-member_{{ u.uuid }}"
|
||||||
|
class="form-inline"
|
||||||
|
role="form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action=""
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<div class="col-xs-8">
|
<div class="col-xs-8">
|
||||||
{{ u.username }}
|
{{ u.username }}
|
||||||
<input type="hidden" name="member" value="{{ u.url }}"/>
|
<input type="hidden" name="member" value="{{ u.url }}" />
|
||||||
<input type="hidden" name="action" value="remove">
|
<input type="hidden" name="action" value="remove" />
|
||||||
</div>
|
|
||||||
<div class="col-xs-2">
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-xs-2"></div>
|
||||||
<div class="col-xs-2">
|
<div class="col-xs-2">
|
||||||
<button type="submit" style="width:60%;" class="btn col-xs-2">
|
<button type="submit" style="width:60%;" class="btn col-xs-2">
|
||||||
<span class="glyphicon glyphicon-trash"></span>
|
<span class="glyphicon glyphicon-trash"></span>
|
||||||
@ -78,16 +99,22 @@
|
|||||||
<p></p>
|
<p></p>
|
||||||
{% for g in group.group_member.all %}
|
{% for g in group.group_member.all %}
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<form id="modal-form-group-member_{{ g.uuid }}" class="form-inline" role="form"
|
<form
|
||||||
accept-charset="UTF-8" action="" data-remote="true" method="post">
|
id="modal-form-group-member_{{ g.uuid }}"
|
||||||
|
class="form-inline"
|
||||||
|
role="form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action=""
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<div class="col-xs-8">
|
<div class="col-xs-8">
|
||||||
{{ g.name|safe }}
|
{{ g.name|safe }}
|
||||||
<input type="hidden" name="member" value="{{ g.url }}"/>
|
<input type="hidden" name="member" value="{{ g.url }}" />
|
||||||
<input type="hidden" name="action" value="remove">
|
<input type="hidden" name="action" value="remove" />
|
||||||
</div>
|
|
||||||
<div class="col-xs-2">
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-xs-2"></div>
|
||||||
<div class="col-xs-2">
|
<div class="col-xs-2">
|
||||||
<button type="submit" style="width:60%;" class="btn col-xs-2">
|
<button type="submit" style="width:60%;" class="btn col-xs-2">
|
||||||
<span class="glyphicon glyphicon-trash"></span>
|
<span class="glyphicon glyphicon-trash"></span>
|
||||||
@ -96,26 +123,29 @@
|
|||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||||
<button type="button" class="btn btn-primary" id="edit-package-modal-submit">Update</button>
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="edit-package-modal-submit"
|
||||||
|
>
|
||||||
|
Update
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
|
$(function () {
|
||||||
|
$("#edit-package-modal-submit").click(function (e) {
|
||||||
$(function() {
|
|
||||||
|
|
||||||
$('#edit-package-modal-submit').click(function(e){
|
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$('#edit-package-modal-form').submit();
|
$("#edit-package-modal-form").submit();
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#select_member").selectpicker();
|
$("#select_member").selectpicker();
|
||||||
|
});
|
||||||
})
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -1,45 +1,71 @@
|
|||||||
|
|
||||||
{% load static %}
|
{% load static %}
|
||||||
<!-- Edit Model -->
|
<!-- Edit Model -->
|
||||||
<div id="edit_model_modal" class="modal" tabindex="-1">
|
<div id="edit_model_modal" class="modal" tabindex="-1">
|
||||||
<div class="modal-dialog">
|
<div class="modal-dialog">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
<h3 class="modal-title">Update Model</h3>
|
<h3 class="modal-title">Update Model</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<p>Alter Name and Description of the Model.</p>
|
<p>Alter Name and Description of the Model.</p>
|
||||||
<form id="edit-model-modal-form" accept-charset="UTF-8" action="" data-remote="true" method="post">
|
<form
|
||||||
|
id="edit-model-modal-form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action=""
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<p>
|
<p>
|
||||||
<label for="model-name">Name</label>
|
<label for="model-name">Name</label>
|
||||||
<input id="model-name" type="text" class="form-control" name="model-name"
|
<input
|
||||||
value="{{ model.name|safe }}">
|
id="model-name"
|
||||||
|
type="text"
|
||||||
|
class="form-control"
|
||||||
|
name="model-name"
|
||||||
|
value="{{ model.name|safe }}"
|
||||||
|
/>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label for="model-description">Description</label>
|
<label for="model-description">Description</label>
|
||||||
<input id="model-description" type="text" class="form-control" name="model-description"
|
<input
|
||||||
value="{{ model.description|safe }}">
|
id="model-description"
|
||||||
|
type="text"
|
||||||
|
class="form-control"
|
||||||
|
name="model-description"
|
||||||
|
value="{{ model.description|safe }}"
|
||||||
|
/>
|
||||||
</p>
|
</p>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||||
<button type="button" class="btn btn-primary" id="edit-model-modal-submit">Update</button>
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="edit-model-modal-submit"
|
||||||
|
>
|
||||||
|
Update
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
$(function () {
|
$(function () {
|
||||||
|
$("#edit-model-modal-submit").click(function (e) {
|
||||||
$('#edit-model-modal-submit').click(function (e) {
|
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$('#edit-model-modal-form').submit();
|
$("#edit-model-modal-form").submit();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
})
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
{% load static %}
|
{% load static %}
|
||||||
<!-- Edit Node -->
|
<!-- Edit Node -->
|
||||||
<div id="edit_node_modal" class="modal" tabindex="-1">
|
<div id="edit_node_modal" class="modal" tabindex="-1">
|
||||||
@ -6,42 +5,66 @@
|
|||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h5 class="modal-title">Edit Node</h5>
|
<h5 class="modal-title">Edit Node</h5>
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<p>Edit Node.</p>
|
<p>Edit Node.</p>
|
||||||
<form id="edit-node-modal-form" accept-charset="UTF-8" action="" data-remote="true" method="post">
|
<form
|
||||||
|
id="edit-node-modal-form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action=""
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<p>
|
<p>
|
||||||
<label for="node-name">Name</label>
|
<label for="node-name">Name</label>
|
||||||
<input id="node-name" class="form-control" name="node-name" value="{{ node.name|safe}}">
|
<input
|
||||||
|
id="node-name"
|
||||||
|
class="form-control"
|
||||||
|
name="node-name"
|
||||||
|
value="{{ node.name|safe }}"
|
||||||
|
/>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label for="node-description">Description</label>
|
<label for="node-description">Description</label>
|
||||||
<input id="node-description" type="text" class="form-control"
|
<input
|
||||||
|
id="node-description"
|
||||||
|
type="text"
|
||||||
|
class="form-control"
|
||||||
value="{{ node.description|safe }}"
|
value="{{ node.description|safe }}"
|
||||||
name="node-description">
|
name="node-description"
|
||||||
|
/>
|
||||||
</p>
|
</p>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||||
<button type="button" class="btn btn-primary" id="edit-node-modal-submit">Create</button>
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="edit-node-modal-submit"
|
||||||
|
>
|
||||||
|
Create
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
$(function() {
|
$(function () {
|
||||||
|
$("#edit-node-modal-submit").click(function (e) {
|
||||||
$('#edit-node-modal-submit').click(function(e){
|
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$('#edit-node-modal-form').submit();
|
$("#edit-node-modal-form").submit();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
{% load static %}
|
{% load static %}
|
||||||
<!-- Edit Package -->
|
<!-- Edit Package -->
|
||||||
<div id="edit_package_modal" class="modal" tabindex="-1">
|
<div id="edit_package_modal" class="modal" tabindex="-1">
|
||||||
@ -6,40 +5,66 @@
|
|||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h5 class="modal-title">Update Package</h5>
|
<h5 class="modal-title">Update Package</h5>
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<p>Edit a Package.</p>
|
<p>Edit a Package.</p>
|
||||||
<form id="edit-package-modal-form" accept-charset="UTF-8" action="" data-remote="true" method="post">
|
<form
|
||||||
|
id="edit-package-modal-form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action=""
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<p>
|
<p>
|
||||||
<label for="package-name">Name</label>
|
<label for="package-name">Name</label>
|
||||||
<input id="package-name" class="form-control" name="package-name" value="{{ package.name|safe}}">
|
<input
|
||||||
|
id="package-name"
|
||||||
|
class="form-control"
|
||||||
|
name="package-name"
|
||||||
|
value="{{ package.name|safe }}"
|
||||||
|
/>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label for="package-description">Description</label>
|
<label for="package-description">Description</label>
|
||||||
<input id="package-description" type="text" class="form-control"
|
<input
|
||||||
|
id="package-description"
|
||||||
|
type="text"
|
||||||
|
class="form-control"
|
||||||
value="{{ package.description|safe }}"
|
value="{{ package.description|safe }}"
|
||||||
name="package-description">
|
name="package-description"
|
||||||
|
/>
|
||||||
</p>
|
</p>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||||
<button type="button" class="btn btn-primary" id="edit-package-modal-submit">Update</button>
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="edit-package-modal-submit"
|
||||||
|
>
|
||||||
|
Update
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
$(function() {
|
$(function () {
|
||||||
|
$("#edit-package-modal-submit").click(function (e) {
|
||||||
$('#edit-package-modal-submit').click(function(e){
|
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$('#edit-package-modal-form').submit();
|
$("#edit-package-modal-form").submit();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
})
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
{% load static %}
|
{% load static %}
|
||||||
<!-- Edit Package Permission -->
|
<!-- Edit Package Permission -->
|
||||||
<div id="edit_package_permissions_modal" class="modal" tabindex="-1">
|
<div id="edit_package_permissions_modal" class="modal" tabindex="-1">
|
||||||
@ -6,16 +5,23 @@
|
|||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h5 class="modal-title">Grant or Revoke Permissions</h5>
|
<h5 class="modal-title">Grant or Revoke Permissions</h5>
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<p>
|
<p>
|
||||||
Modify permissions for this package. Note that if you give <code>write</code>
|
Modify permissions for this package. Note that if you give
|
||||||
permissions to a user or group, <code>read</code> permissions will be granted automatically.
|
<code>write</code> permissions to a user or group,
|
||||||
<br>
|
<code>read</code> permissions will be granted automatically.
|
||||||
To allow users to perform destructive actions, such as deleting the package, <code>owner</code>
|
<br />
|
||||||
|
To allow users to perform destructive actions, such as deleting the
|
||||||
|
package, <code>owner</code>
|
||||||
permissions must be granted.
|
permissions must be granted.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
@ -35,12 +41,24 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<form id="modal-form-permissions" class="form-inline" role="form" accept-charset="UTF-8" action=""
|
<form
|
||||||
data-remote="true" method="post">
|
id="modal-form-permissions"
|
||||||
|
class="form-inline"
|
||||||
|
role="form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action=""
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<div class="col-xs-4">
|
<div class="col-xs-4">
|
||||||
<select id="select_grantee" name="grantee" data-actions-box='true'
|
<select
|
||||||
class="selPackages" data-width='100%'>
|
id="select_grantee"
|
||||||
|
name="grantee"
|
||||||
|
data-actions-box="true"
|
||||||
|
class="selPackages"
|
||||||
|
data-width="100%"
|
||||||
|
>
|
||||||
<option disabled selected>User</option>
|
<option disabled selected>User</option>
|
||||||
{% for u in users %}
|
{% for u in users %}
|
||||||
<option value="{{ u.url }}">{{ u.username }}</option>
|
<option value="{{ u.url }}">{{ u.username }}</option>
|
||||||
@ -52,16 +70,20 @@
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-2">
|
<div class="col-xs-2">
|
||||||
<input type="checkbox" name="read" id="read_new"/>
|
<input type="checkbox" name="read" id="read_new" />
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-2">
|
<div class="col-xs-2">
|
||||||
<input type="checkbox" name="write" id="write_new"/>
|
<input type="checkbox" name="write" id="write_new" />
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-2">
|
<div class="col-xs-2">
|
||||||
<input type="checkbox" name="owner" id="owner_new"/>
|
<input type="checkbox" name="owner" id="owner_new" />
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-2">
|
<div class="col-xs-2">
|
||||||
<button type="submit" style="width:60%;" class="btn col-xs-2 modify-perm-button">
|
<button
|
||||||
|
type="submit"
|
||||||
|
style="width:60%;"
|
||||||
|
class="btn col-xs-2 modify-perm-button"
|
||||||
|
>
|
||||||
<span class="glyphicon glyphicon-plus"></span>
|
<span class="glyphicon glyphicon-plus"></span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@ -70,24 +92,50 @@
|
|||||||
<p></p>
|
<p></p>
|
||||||
{% for up in user_permissions %}
|
{% for up in user_permissions %}
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<form id="modal-form-permissions_{{ up.user.uuid }}" class="form-inline" role="form"
|
<form
|
||||||
accept-charset="UTF-8" action="" data-remote="true" method="post">
|
id="modal-form-permissions_{{ up.user.uuid }}"
|
||||||
|
class="form-inline"
|
||||||
|
role="form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action=""
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<div class="col-xs-4">
|
<div class="col-xs-4">
|
||||||
{{ up.user.username }}
|
{{ up.user.username }}
|
||||||
<input type="hidden" name="grantee" value="{{ up.user.url }}"/>
|
<input type="hidden" name="grantee" value="{{ up.user.url }}" />
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-2">
|
<div class="col-xs-2">
|
||||||
<input type="checkbox" name="read" id="read_{{ up.user.uuid }}" {% if up.has_read %} checked {% endif %}/>
|
<input
|
||||||
|
type="checkbox"
|
||||||
|
name="read"
|
||||||
|
id="read_{{ up.user.uuid }}"
|
||||||
|
{% if up.has_read %}checked{% endif %}
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-2">
|
<div class="col-xs-2">
|
||||||
<input type="checkbox" name="write" id="write_{{ up.user.uuid }}" {% if up.has_write %} checked {% endif %}/>
|
<input
|
||||||
|
type="checkbox"
|
||||||
|
name="write"
|
||||||
|
id="write_{{ up.user.uuid }}"
|
||||||
|
{% if up.has_write %}checked{% endif %}
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-2">
|
<div class="col-xs-2">
|
||||||
<input type="checkbox" name="owner" id="owner_{{ up.user.uuid }}" {% if up.has_all %} checked {% endif %}/>
|
<input
|
||||||
|
type="checkbox"
|
||||||
|
name="owner"
|
||||||
|
id="owner_{{ up.user.uuid }}"
|
||||||
|
{% if up.has_all %}checked{% endif %}
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-2">
|
<div class="col-xs-2">
|
||||||
<button type="submit" style="width:60%;" class="btn col-xs-2 modify-perm-button">
|
<button
|
||||||
|
type="submit"
|
||||||
|
style="width:60%;"
|
||||||
|
class="btn col-xs-2 modify-perm-button"
|
||||||
|
>
|
||||||
<span class="glyphicon glyphicon-ok"></span>
|
<span class="glyphicon glyphicon-ok"></span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@ -97,58 +145,93 @@
|
|||||||
<p></p>
|
<p></p>
|
||||||
{% for gp in group_permissions %}
|
{% for gp in group_permissions %}
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<form id="modal-form-permissions_{{ gp.user.uuid }}" class="form-inline" role="form"
|
<form
|
||||||
accept-charset="UTF-8" action="" data-remote="true" method="post">
|
id="modal-form-permissions_{{ gp.user.uuid }}"
|
||||||
|
class="form-inline"
|
||||||
|
role="form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action=""
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<div class="col-xs-4">
|
<div class="col-xs-4">
|
||||||
{{ gp.group.name|safe }}
|
{{ gp.group.name|safe }}
|
||||||
<input type="hidden" name="grantee" value="{{ gp.group.url }}"/>
|
<input
|
||||||
|
type="hidden"
|
||||||
|
name="grantee"
|
||||||
|
value="{{ gp.group.url }}"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-2">
|
<div class="col-xs-2">
|
||||||
<input type="checkbox" name="read" id="read_{{ gp.group.uuid }}" {% if gp.has_read %} checked {% endif %}/>
|
<input
|
||||||
|
type="checkbox"
|
||||||
|
name="read"
|
||||||
|
id="read_{{ gp.group.uuid }}"
|
||||||
|
{% if gp.has_read %}checked{% endif %}
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-2">
|
<div class="col-xs-2">
|
||||||
<input type="checkbox" name="write" id="write_{{ gp.group.uuid }}" {% if gp.has_write %} checked {% endif %}/>
|
<input
|
||||||
|
type="checkbox"
|
||||||
|
name="write"
|
||||||
|
id="write_{{ gp.group.uuid }}"
|
||||||
|
{% if gp.has_write %}checked{% endif %}
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-2">
|
<div class="col-xs-2">
|
||||||
<input type="checkbox" name="owner" id="owner_{{ gp.group.uuid }}" {% if gp.has_all %} checked {% endif %}/>
|
<input
|
||||||
|
type="checkbox"
|
||||||
|
name="owner"
|
||||||
|
id="owner_{{ gp.group.uuid }}"
|
||||||
|
{% if gp.has_all %}checked{% endif %}
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-2">
|
<div class="col-xs-2">
|
||||||
<button type="submit" style="width:60%;" class="btn col-xs-2 modify-perm-button">
|
<button
|
||||||
|
type="submit"
|
||||||
|
style="width:60%;"
|
||||||
|
class="btn col-xs-2 modify-perm-button"
|
||||||
|
>
|
||||||
<span class="glyphicon glyphicon-ok"></span>
|
<span class="glyphicon glyphicon-ok"></span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||||
<button type="button" class="btn btn-primary" id="edit-package-modal-submit">Update</button>
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="edit-package-modal-submit"
|
||||||
|
>
|
||||||
|
Update
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
|
function checkboxClick() {
|
||||||
function checkboxClick() {
|
|
||||||
// id looks like read_3cadef24-220e-4587-9fa5-0e9a17aca2da
|
// id looks like read_3cadef24-220e-4587-9fa5-0e9a17aca2da
|
||||||
parts = this.id.split('_');
|
parts = this.id.split("_");
|
||||||
perm = parts[0];
|
perm = parts[0];
|
||||||
id = parts[1];
|
id = parts[1];
|
||||||
|
|
||||||
readbox = '#read_' + id;
|
readbox = "#read_" + id;
|
||||||
writebox = '#write_' + id;
|
writebox = "#write_" + id;
|
||||||
ownerbox = '#owner_' + id;
|
ownerbox = "#owner_" + id;
|
||||||
|
|
||||||
|
if (perm == "read" && !$(readbox).prop("checked")) {
|
||||||
if (perm == 'read' && !$(readbox).prop("checked")) {
|
|
||||||
$(writebox).prop("checked", false);
|
$(writebox).prop("checked", false);
|
||||||
$(ownerbox).prop("checked", false);
|
$(ownerbox).prop("checked", false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (perm == 'write') {
|
if (perm == "write") {
|
||||||
if ($(writebox).prop("checked")) {
|
if ($(writebox).prop("checked")) {
|
||||||
$(readbox).prop("checked", true);
|
$(readbox).prop("checked", true);
|
||||||
}
|
}
|
||||||
@ -157,27 +240,25 @@ function checkboxClick() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (perm == 'owner') {
|
if (perm == "owner") {
|
||||||
if ($(ownerbox).prop("checked")) {
|
if ($(ownerbox).prop("checked")) {
|
||||||
$(readbox).prop("checked", true);
|
$(readbox).prop("checked", true);
|
||||||
$(writebox).prop("checked", true);
|
$(writebox).prop("checked", true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$(function() {
|
$(function () {
|
||||||
|
$("#edit-package-modal-submit").click(function (e) {
|
||||||
$('#edit-package-modal-submit').click(function(e){
|
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$('#edit-package-modal-form').submit();
|
$("#edit-package-modal-form").submit();
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#select_grantee").selectpicker();
|
$("#select_grantee").selectpicker();
|
||||||
|
|
||||||
// Add click functions to permission checkboxes
|
// Add click functions to permission checkboxes
|
||||||
$('[id^="read_"]').on('click', checkboxClick);
|
$('[id^="read_"]').on("click", checkboxClick);
|
||||||
$('[id^="write_"]').on('click', checkboxClick);
|
$('[id^="write_"]').on("click", checkboxClick);
|
||||||
$('[id^="owner_"]').on('click', checkboxClick);
|
$('[id^="owner_"]').on("click", checkboxClick);
|
||||||
|
});
|
||||||
})
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -5,42 +5,78 @@
|
|||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h5 class="modal-title">Update your Password</h5>
|
<h5 class="modal-title">Update your Password</h5>
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<p>To change your password please fill out the following inputs</p>
|
<p>To change your password please fill out the following inputs</p>
|
||||||
<form id="edit-password-modal-form" accept-charset="UTF-8" action="" data-remote="true" method="post">
|
<form
|
||||||
|
id="edit-password-modal-form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action=""
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<p>
|
<p>
|
||||||
<label for="old-password">Old Password</label>
|
<label for="old-password">Old Password</label>
|
||||||
<input id="old-password" class="form-control" name="old-password" type="password" autocomplete="current-password">
|
<input
|
||||||
|
id="old-password"
|
||||||
|
class="form-control"
|
||||||
|
name="old-password"
|
||||||
|
type="password"
|
||||||
|
autocomplete="current-password"
|
||||||
|
/>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label for="new-password">New Password</label>
|
<label for="new-password">New Password</label>
|
||||||
<input id="new-password" class="form-control" name="new-password" type="password", autocomplete="new-password">
|
<input
|
||||||
|
id="new-password"
|
||||||
|
class="form-control"
|
||||||
|
name="new-password"
|
||||||
|
type="password"
|
||||||
|
,
|
||||||
|
autocomplete="new-password"
|
||||||
|
/>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label for="new-password-repeat">Repeat New Password</label>
|
<label for="new-password-repeat">Repeat New Password</label>
|
||||||
<input id="new-password-repeat" class="form-control" name="new-password-repeat" type="password" autocomplete="new-password">
|
<input
|
||||||
|
id="new-password-repeat"
|
||||||
|
class="form-control"
|
||||||
|
name="new-password-repeat"
|
||||||
|
type="password"
|
||||||
|
autocomplete="new-password"
|
||||||
|
/>
|
||||||
</p>
|
</p>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||||
<button type="button" class="btn btn-primary" id="edit-password-modal-submit">Update</button>
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="edit-password-modal-submit"
|
||||||
|
>
|
||||||
|
Update
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
$(function() {
|
$(function () {
|
||||||
|
$("#edit-password-modal-submit").click(function (e) {
|
||||||
$('#edit-password-modal-submit').click(function(e){
|
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$('#edit-password-modal-form').submit();
|
$("#edit-password-modal-form").submit();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
})
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
{% load static %}
|
{% load static %}
|
||||||
<!-- Edit Pathway -->
|
<!-- Edit Pathway -->
|
||||||
<div id="edit_pathway_modal" class="modal" tabindex="-1">
|
<div id="edit_pathway_modal" class="modal" tabindex="-1">
|
||||||
@ -6,39 +5,68 @@
|
|||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h5 class="modal-title">Edit Pathway</h5>
|
<h5 class="modal-title">Edit Pathway</h5>
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<p>Edit Pathway.</p>
|
<p>Edit Pathway.</p>
|
||||||
<form id="edit-pathway-modal-form" accept-charset="UTF-8" action="" data-remote="true" method="post">
|
<form
|
||||||
|
id="edit-pathway-modal-form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action=""
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<p>
|
<p>
|
||||||
<label for="pathway-name">Name</label>
|
<label for="pathway-name">Name</label>
|
||||||
<input id="pathway-name" class="form-control" name="pathway-name" value="{{ pathway.name|safe }}">
|
<input
|
||||||
|
id="pathway-name"
|
||||||
|
class="form-control"
|
||||||
|
name="pathway-name"
|
||||||
|
value="{{ pathway.name|safe }}"
|
||||||
|
/>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label for="pathway-description">Description</label>
|
<label for="pathway-description">Description</label>
|
||||||
<textarea id="pathway-description" type="text" class="form-control" name="pathway-description"
|
<textarea
|
||||||
rows="10">{{ pathway.description|safe }}</textarea>
|
id="pathway-description"
|
||||||
|
type="text"
|
||||||
|
class="form-control"
|
||||||
|
name="pathway-description"
|
||||||
|
rows="10"
|
||||||
|
>
|
||||||
|
{{ pathway.description|safe }}</textarea
|
||||||
|
>
|
||||||
</p>
|
</p>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||||
<button type="button" class="btn btn-primary" id="edit-pathway-modal-submit">Update</button>
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="edit-pathway-modal-submit"
|
||||||
|
>
|
||||||
|
Update
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
$(function() {
|
$(function () {
|
||||||
|
$("#edit-pathway-modal-submit").click(function (e) {
|
||||||
$('#edit-pathway-modal-submit').click(function(e){
|
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$('#edit-pathway-modal-form').submit();
|
$("#edit-pathway-modal-form").submit();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
})
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -5,18 +5,31 @@
|
|||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h5 class="modal-title">Update Prediction Setting</h5>
|
<h5 class="modal-title">Update Prediction Setting</h5>
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<p>To update your prediction setting modify parameters in the form below und click "Update"</p>
|
<p>
|
||||||
<form id="edit-prediction-setting-modal-form" accept-charset="UTF-8" action="" data-remote="true" method="post">
|
To update your prediction setting modify parameters in the form below
|
||||||
|
und click "Update"
|
||||||
|
</p>
|
||||||
|
<form
|
||||||
|
id="edit-prediction-setting-modal-form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action=""
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<div id="prediction-setting" class="panel-collapse collapse in">
|
<div id="prediction-setting" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
|
<table class="table-bordered table-hover table">
|
||||||
<table class="table table-bordered table-hover">
|
|
||||||
<tr style="background-color: rgba(0, 0, 0, 0.08);">
|
<tr style="background-color: rgba(0, 0, 0, 0.08);">
|
||||||
<th scope="col" width="20%">Parameter</th>
|
<th scope="col" width="20%">Parameter</th>
|
||||||
<th scope="col" width="80%">Value</th>
|
<th scope="col" width="80%">Value</th>
|
||||||
@ -26,13 +39,26 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td width="20%">Model</td>
|
<td width="20%">Model</td>
|
||||||
<td width="80%">
|
<td width="80%">
|
||||||
<table width="100%" class="table table-bordered table-hover">
|
<table
|
||||||
|
width="100%"
|
||||||
|
class="table-bordered table-hover table"
|
||||||
|
>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="2">
|
<td colspan="2">
|
||||||
<select id="model" name="model" class="form-control" data-width='100%'>
|
<select
|
||||||
|
id="model"
|
||||||
|
name="model"
|
||||||
|
class="form-control"
|
||||||
|
data-width="100%"
|
||||||
|
>
|
||||||
{% for m in models %}
|
{% for m in models %}
|
||||||
<option value="{{ m.id }}" {% if user.prediction_settings.model.url == m.url %}selected{% endif %}>{{ m.name|safe }}</option>
|
<option
|
||||||
|
value="{{ m.id }}"
|
||||||
|
{% if user.prediction_settings.model.url == m.url %}selected{% endif %}
|
||||||
|
>
|
||||||
|
{{ m.name|safe }}
|
||||||
|
</option>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
@ -50,8 +76,15 @@
|
|||||||
</td>
|
</td>
|
||||||
<td width="80%">
|
<td width="80%">
|
||||||
{% if k == 'threshold' %}
|
{% if k == 'threshold' %}
|
||||||
<input type="number" class="form-control" name="{{k}}" value="{{v}}"
|
<input
|
||||||
min="0" max="1" step="0.05">
|
type="number"
|
||||||
|
class="form-control"
|
||||||
|
name="{{ k }}"
|
||||||
|
value="{{ v }}"
|
||||||
|
min="0"
|
||||||
|
max="1"
|
||||||
|
step="0.05"
|
||||||
|
/>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -63,22 +96,40 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% for k, v in user.prediction_settings.truncator.items %}
|
{% for k, v in user.prediction_settings.truncator.items %}
|
||||||
<tr>
|
<tr>
|
||||||
<td><p>
|
<td>
|
||||||
|
<p>
|
||||||
{% if k == 'max_nodes' %}
|
{% if k == 'max_nodes' %}
|
||||||
Max Nodes
|
Max Nodes
|
||||||
{% elif k == 'max_depth' %}
|
{% elif k == 'max_depth' %}
|
||||||
Max Depth
|
Max Depth
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</p></td>
|
</p>
|
||||||
<td><p>
|
</td>
|
||||||
|
<td>
|
||||||
|
<p>
|
||||||
{% if k == 'max_nodes' %}
|
{% if k == 'max_nodes' %}
|
||||||
<input type="number" class="form-control" name="{{k}}" value="{{v}}" min="1"
|
<input
|
||||||
max="50" step="1">
|
type="number"
|
||||||
|
class="form-control"
|
||||||
|
name="{{ k }}"
|
||||||
|
value="{{ v }}"
|
||||||
|
min="1"
|
||||||
|
max="50"
|
||||||
|
step="1"
|
||||||
|
/>
|
||||||
{% elif k == 'max_depth' %}
|
{% elif k == 'max_depth' %}
|
||||||
<input type="number" class="form-control" name="{{k}}" value="{{v}}" min="1"
|
<input
|
||||||
max="8" step="1">
|
type="number"
|
||||||
|
class="form-control"
|
||||||
|
name="{{ k }}"
|
||||||
|
value="{{ v }}"
|
||||||
|
min="1"
|
||||||
|
max="8"
|
||||||
|
step="1"
|
||||||
|
/>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</p></td>
|
</p>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tbody>
|
</tbody>
|
||||||
@ -88,19 +139,25 @@
|
|||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||||
<button type="button" class="btn btn-primary" id="edit-prediction-setting-modal-submit">Update</button>
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="edit-prediction-setting-modal-submit"
|
||||||
|
>
|
||||||
|
Update
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
$(function() {
|
$(function () {
|
||||||
|
$("#edit-prediction-setting-modal-submit").click(function (e) {
|
||||||
$('#edit-prediction-setting-modal-submit').click(function(e){
|
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$('#edit-prediction-setting-modal-form').submit();
|
$("#edit-prediction-setting-modal-form").submit();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
})
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -1,45 +1,69 @@
|
|||||||
|
|
||||||
{% load static %}
|
{% load static %}
|
||||||
<!-- Edit Reaction -->
|
<!-- Edit Reaction -->
|
||||||
<div id="edit_reaction_modal" class="modal" tabindex="-1">
|
<div id="edit_reaction_modal" class="modal" tabindex="-1">
|
||||||
<div class="modal-dialog">
|
<div class="modal-dialog">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
<h3 class="modal-title">Update Reaction</h3>
|
<h3 class="modal-title">Update Reaction</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<form id="edit-reaction-modal-form" accept-charset="UTF-8" action="" data-remote="true" method="post">
|
<form
|
||||||
|
id="edit-reaction-modal-form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action=""
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<p>
|
<p>
|
||||||
<label for="reaction-name">Name</label>
|
<label for="reaction-name">Name</label>
|
||||||
<input id="reaction-name" class="form-control" name="reaction-name" value="{{ reaction.name|safe }}">
|
<input
|
||||||
|
id="reaction-name"
|
||||||
|
class="form-control"
|
||||||
|
name="reaction-name"
|
||||||
|
value="{{ reaction.name|safe }}"
|
||||||
|
/>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label for="reaction-description">Description</label>
|
<label for="reaction-description">Description</label>
|
||||||
<input id="reaction-description" type="text" class="form-control"
|
<input
|
||||||
value="{{ reaction.description|safe }}" name="reaction-description">
|
id="reaction-description"
|
||||||
|
type="text"
|
||||||
|
class="form-control"
|
||||||
|
value="{{ reaction.description|safe }}"
|
||||||
|
name="reaction-description"
|
||||||
|
/>
|
||||||
</p>
|
</p>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||||
<button type="button" class="btn btn-primary" id="edit-reaction-modal-submit">Update</button>
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="edit-reaction-modal-submit"
|
||||||
|
>
|
||||||
|
Update
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
$(function() {
|
$(function () {
|
||||||
|
$("#edit-reaction-modal-submit").click(function (e) {
|
||||||
$('#edit-reaction-modal-submit').click(function(e){
|
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$('#edit-reaction-modal-form').submit();
|
$("#edit-reaction-modal-form").submit();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -1,45 +1,69 @@
|
|||||||
|
|
||||||
{% load static %}
|
{% load static %}
|
||||||
<!-- Edit Rule -->
|
<!-- Edit Rule -->
|
||||||
<div id="edit_rule_modal" class="modal" tabindex="-1">
|
<div id="edit_rule_modal" class="modal" tabindex="-1">
|
||||||
<div class="modal-dialog">
|
<div class="modal-dialog">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
<h3 class="modal-title">Update Rule</h3>
|
<h3 class="modal-title">Update Rule</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<form id="edit-rule-modal-form" accept-charset="UTF-8" action="" data-remote="true" method="post">
|
<form
|
||||||
|
id="edit-rule-modal-form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action=""
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<p>
|
<p>
|
||||||
<label for="rule-name">Name</label>
|
<label for="rule-name">Name</label>
|
||||||
<input id="rule-name" class="form-control" name="rule-name" value="{{ rule.name|safe }}">
|
<input
|
||||||
|
id="rule-name"
|
||||||
|
class="form-control"
|
||||||
|
name="rule-name"
|
||||||
|
value="{{ rule.name|safe }}"
|
||||||
|
/>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label for="rule-description">Description</label>
|
<label for="rule-description">Description</label>
|
||||||
<input id="rule-description" type="text" class="form-control"
|
<input
|
||||||
value="{{ rule.description|safe }}" name="rule-description">
|
id="rule-description"
|
||||||
|
type="text"
|
||||||
|
class="form-control"
|
||||||
|
value="{{ rule.description|safe }}"
|
||||||
|
name="rule-description"
|
||||||
|
/>
|
||||||
</p>
|
</p>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||||
<button type="button" class="btn btn-primary" id="edit-rule-modal-submit">Update</button>
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="edit-rule-modal-submit"
|
||||||
|
>
|
||||||
|
Update
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
$(function() {
|
$(function () {
|
||||||
|
$("#edit-rule-modal-submit").click(function (e) {
|
||||||
$('#edit-rule-modal-submit').click(function(e){
|
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$('#edit-rule-modal-form').submit();
|
$("#edit-rule-modal-form").submit();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
{% load static %}
|
{% load static %}
|
||||||
<!-- Edit User -->
|
<!-- Edit User -->
|
||||||
<div id="edit_user_modal" class="modal" tabindex="-1">
|
<div id="edit_user_modal" class="modal" tabindex="-1">
|
||||||
@ -6,57 +5,106 @@
|
|||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h5 class="modal-title">Update User Defaults</h5>
|
<h5 class="modal-title">Update User Defaults</h5>
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<p>Edit User Defaults.</p>
|
<p>Edit User Defaults.</p>
|
||||||
<form id="edit-user-modal-form" accept-charset="UTF-8" action="" data-remote="true" method="post">
|
<form
|
||||||
|
id="edit-user-modal-form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action=""
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<p>
|
<p>
|
||||||
<label for="default-package">Default Package</label>
|
<label for="default-package">Default Package</label>
|
||||||
<select id="default-package" name="default-package" class="form-control" data-width='100%'>
|
<select
|
||||||
|
id="default-package"
|
||||||
|
name="default-package"
|
||||||
|
class="form-control"
|
||||||
|
data-width="100%"
|
||||||
|
>
|
||||||
<option disabled>Select a Package</option>
|
<option disabled>Select a Package</option>
|
||||||
{% for p in meta.writeable_packages %}
|
{% for p in meta.writeable_packages %}
|
||||||
<option value="{{ p.url }}" {% if p.id == meta.user.default_package.id %}selected{% endif %}>{{ p.name|safe }}</option>
|
<option
|
||||||
|
value="{{ p.url }}"
|
||||||
|
{% if p.id == meta.user.default_package.id %}selected{% endif %}
|
||||||
|
>
|
||||||
|
{{ p.name|safe }}
|
||||||
|
</option>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label for="default-group">Default Group</label>
|
<label for="default-group">Default Group</label>
|
||||||
<select id="default-group" name="default-group" class="form-control" data-width='100%'>
|
<select
|
||||||
|
id="default-group"
|
||||||
|
name="default-group"
|
||||||
|
class="form-control"
|
||||||
|
data-width="100%"
|
||||||
|
>
|
||||||
<option disabled>Select a Group</option>
|
<option disabled>Select a Group</option>
|
||||||
{% for g in meta.available_groups %}
|
{% for g in meta.available_groups %}
|
||||||
<option value="{{ g.url }}" {% if g.id == meta.user.default_group.id %}selected{% endif %}>{{ g.name|safe }}</option>
|
<option
|
||||||
|
value="{{ g.url }}"
|
||||||
|
{% if g.id == meta.user.default_group.id %}selected{% endif %}
|
||||||
|
>
|
||||||
|
{{ g.name|safe }}
|
||||||
|
</option>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label for="default-prediction-setting">Default Prediction Setting</label>
|
<label for="default-prediction-setting"
|
||||||
<select id="default-prediction-setting" name="default-prediction-setting" class="form-control" data-width='100%'>
|
>Default Prediction Setting</label
|
||||||
|
>
|
||||||
|
<select
|
||||||
|
id="default-prediction-setting"
|
||||||
|
name="default-prediction-setting"
|
||||||
|
class="form-control"
|
||||||
|
data-width="100%"
|
||||||
|
>
|
||||||
<option disabled>Select a Setting</option>
|
<option disabled>Select a Setting</option>
|
||||||
{% for s in meta.available_settings %}
|
{% for s in meta.available_settings %}
|
||||||
<option value="{{ s.url }}" {% if s.id == meta.user.default_setting.id %}selected{% endif %}>{{ s.name|safe }}</option>
|
<option
|
||||||
|
value="{{ s.url }}"
|
||||||
|
{% if s.id == meta.user.default_setting.id %}selected{% endif %}
|
||||||
|
>
|
||||||
|
{{ s.name|safe }}
|
||||||
|
</option>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
</p>
|
</p>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||||
<button type="button" class="btn btn-primary" id="edit-user-modal-submit">Update</button>
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="edit-user-modal-submit"
|
||||||
|
>
|
||||||
|
Update
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
$(function() {
|
$(function () {
|
||||||
|
$("#edit-user-modal-submit").click(function (e) {
|
||||||
$('#edit-user-modal-submit').click(function(e){
|
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$('#edit-user-modal-form').submit();
|
$("#edit-user-modal-form").submit();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
})
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -1,6 +1,11 @@
|
|||||||
|
<div
|
||||||
<div class="modal fade" tabindex="-1" id="evaluate_model_modal" role="dialog" aria-labelledby="evaluate_model_modal"
|
class="modal fade"
|
||||||
aria-hidden="true">
|
tabindex="-1"
|
||||||
|
id="evaluate_model_modal"
|
||||||
|
role="dialog"
|
||||||
|
aria-labelledby="evaluate_model_modal"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
<div class="modal-dialog modal-lg">
|
<div class="modal-dialog modal-lg">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
@ -11,17 +16,29 @@
|
|||||||
<h4 class="modal-title">Evaluate Model</h4>
|
<h4 class="modal-title">Evaluate Model</h4>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<form id="evaluate_model_form" accept-charset="UTF-8" action="{{ current_object.url }}"
|
<form
|
||||||
data-remote="true" method="post">
|
id="evaluate_model_form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action="{{ current_object.url }}"
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<div class="jumbotron">
|
<div class="jumbotron">
|
||||||
For evaluation, you need to select the packages you want to use.
|
For evaluation, you need to select the packages you want to use.
|
||||||
While the model is evaluating, you can use the model for predictions.
|
While the model is evaluating, you can use the model for
|
||||||
|
predictions.
|
||||||
</div>
|
</div>
|
||||||
<!-- Evaluation Packages -->
|
<!-- Evaluation Packages -->
|
||||||
<label for="model-evaluation-packages">Evaluation Packages</label>
|
<label for="model-evaluation-packages">Evaluation Packages</label>
|
||||||
<select id="model-evaluation-packages" name="model-evaluation-packages" data-actions-box='true'
|
<select
|
||||||
class="form-control" multiple data-width='100%'>
|
id="model-evaluation-packages"
|
||||||
|
name="model-evaluation-packages"
|
||||||
|
data-actions-box="true"
|
||||||
|
class="form-control"
|
||||||
|
multiple
|
||||||
|
data-width="100%"
|
||||||
|
>
|
||||||
<option disabled>Reviewed Packages</option>
|
<option disabled>Reviewed Packages</option>
|
||||||
{% for obj in meta.readable_packages %}
|
{% for obj in meta.readable_packages %}
|
||||||
{% if obj.reviewed %}
|
{% if obj.reviewed %}
|
||||||
@ -39,35 +56,38 @@
|
|||||||
|
|
||||||
<!-- Eval Type -->
|
<!-- Eval Type -->
|
||||||
<label for="model-evaluation-type">Evaluation Type</label>
|
<label for="model-evaluation-type">Evaluation Type</label>
|
||||||
<select id="model-evaluation-type" name="model-evaluation-type" class="form-control">
|
<select
|
||||||
|
id="model-evaluation-type"
|
||||||
|
name="model-evaluation-type"
|
||||||
|
class="form-control"
|
||||||
|
>
|
||||||
<option disabled selected>Select evaluation type</option>
|
<option disabled selected>Select evaluation type</option>
|
||||||
<option value="sg">Single Generation</option>
|
<option value="sg">Single Generation</option>
|
||||||
<option value="mg">Multiple Generations</option>
|
<option value="mg">Multiple Generations</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<input type="hidden" name="hidden" value="evaluate">
|
<input type="hidden" name="hidden" value="evaluate" />
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<a id="evaluate_model_form_submit" class="btn btn-primary" href="#">Evaluate</a>
|
<a id="evaluate_model_form_submit" class="btn btn-primary" href="#"
|
||||||
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
|
>Evaluate</a
|
||||||
|
>
|
||||||
|
<button type="button" class="btn btn-default" data-dismiss="modal">
|
||||||
|
Cancel
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
$(function () {
|
$(function () {
|
||||||
|
|
||||||
$("#model-evaluation-packages").selectpicker();
|
$("#model-evaluation-packages").selectpicker();
|
||||||
|
|
||||||
$('#evaluate_model_form_submit').on('click', function (e) {
|
$("#evaluate_model_form_submit").on("click", function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$('#evaluate_model_form').submit();
|
$("#evaluate_model_form").submit();
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -5,32 +5,49 @@
|
|||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h3 class="modal-title">Export Package as JSON</h3>
|
<h3 class="modal-title">Export Package as JSON</h3>
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
By clicking on Export the Package will be serialized into a JSON and directly downloaded.
|
By clicking on Export the Package will be serialized into a JSON and
|
||||||
<form id="export-package-modal-form" accept-charset="UTF-8" action="{{ package.url }}"
|
directly downloaded.
|
||||||
data-remote="true" method="GET">
|
<form
|
||||||
<input type="hidden" name="export" value="true"/>
|
id="export-package-modal-form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action="{{ package.url }}"
|
||||||
|
data-remote="true"
|
||||||
|
method="GET"
|
||||||
|
>
|
||||||
|
<input type="hidden" name="export" value="true" />
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||||
<button type="button" class="btn btn-primary" id="export-package-modal-form-submit">Export</button>
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="export-package-modal-form-submit"
|
||||||
|
>
|
||||||
|
Export
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
$(function () {
|
$(function () {
|
||||||
|
$("#export-package-modal-form-submit").click(function (e) {
|
||||||
$('#export-package-modal-form-submit').click(function (e) {
|
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$('#export-package-modal-form').submit();
|
$("#export-package-modal-form").submit();
|
||||||
$('#export_package_modal').modal('hide');
|
$("#export_package_modal").modal("hide");
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
})
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
{% load static %}
|
{% load static %}
|
||||||
<!-- Copy Object -->
|
<!-- Copy Object -->
|
||||||
<div id="generic_copy_object_modal" class="modal" tabindex="-1">
|
<div id="generic_copy_object_modal" class="modal" tabindex="-1">
|
||||||
@ -6,30 +5,58 @@
|
|||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h3 class="modal-title">Copy {{ object_type|capfirst }}</h3>
|
<h3 class="modal-title">Copy {{ object_type|capfirst }}</h3>
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<form id="generic-copy-object-modal-form" accept-charset="UTF-8" data-remote="true" method="post">
|
<form
|
||||||
|
id="generic-copy-object-modal-form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<label for="target-package">Select the Target Package you want to copy this {{ object_type }}
|
<label for="target-package"
|
||||||
into</label>
|
>Select the Target Package you want to copy this {{ object_type }}
|
||||||
<select id="target-package" name="target-package" data-actions-box='true' class="form-control"
|
into</label
|
||||||
data-width='100%'>
|
>
|
||||||
|
<select
|
||||||
|
id="target-package"
|
||||||
|
name="target-package"
|
||||||
|
data-actions-box="true"
|
||||||
|
class="form-control"
|
||||||
|
data-width="100%"
|
||||||
|
>
|
||||||
<option disabled selected>Select Target Package</option>
|
<option disabled selected>Select Target Package</option>
|
||||||
{% for p in meta.writeable_packages %}
|
{% for p in meta.writeable_packages %}
|
||||||
<option value="{{ p.url }}">{{ p.name|safe }}</option>`
|
<option value="{{ p.url }}">{{ p.name|safe }}</option>
|
||||||
|
`
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
<input type="hidden" name="hidden" value="copy">
|
<input type="hidden" name="hidden" value="copy" />
|
||||||
</form>
|
</form>
|
||||||
<div id="copy-object-error-message" class="alert alert-danger" role="alert" style="display: none">
|
<div
|
||||||
</div>
|
id="copy-object-error-message"
|
||||||
|
class="alert alert-danger"
|
||||||
|
role="alert"
|
||||||
|
style="display: none"
|
||||||
|
></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||||
<button type="button" class="btn btn-primary" id="generic-copy-object-modal-form-submit">
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="generic-copy-object-modal-form-submit"
|
||||||
|
>
|
||||||
Copy
|
Copy
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@ -38,38 +65,45 @@
|
|||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
$(function () {
|
$(function () {
|
||||||
|
$("#generic-copy-object-modal-form-submit").click(function (e) {
|
||||||
$('#generic-copy-object-modal-form-submit').click(function (e) {
|
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$('#copy-object-error-message').hide()
|
$("#copy-object-error-message").hide();
|
||||||
|
|
||||||
const packageUrl = $('#target-package').find(":selected").val();
|
const packageUrl = $("#target-package").find(":selected").val();
|
||||||
|
|
||||||
if (packageUrl === 'Select Target Package' || packageUrl === '' || packageUrl === null || packageUrl === undefined) {
|
if (
|
||||||
|
packageUrl === "Select Target Package" ||
|
||||||
|
packageUrl === "" ||
|
||||||
|
packageUrl === null ||
|
||||||
|
packageUrl === undefined
|
||||||
|
) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const formData = {
|
const formData = {
|
||||||
hidden: 'copy',
|
hidden: "copy",
|
||||||
object_to_copy: '{{ current_object.url }}',
|
object_to_copy: "{{ current_object.url }}",
|
||||||
}
|
};
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: 'post',
|
type: "post",
|
||||||
data: formData,
|
data: formData,
|
||||||
url: packageUrl,
|
url: packageUrl,
|
||||||
success: function (data, textStatus) {
|
success: function (data, textStatus) {
|
||||||
window.location.href = data.success;
|
window.location.href = data.success;
|
||||||
},
|
},
|
||||||
error: function (jqXHR, textStatus, errorThrown) {
|
error: function (jqXHR, textStatus, errorThrown) {
|
||||||
if (jqXHR.responseJSON.error.indexOf('to the same package') > -1) {
|
if (jqXHR.responseJSON.error.indexOf("to the same package") > -1) {
|
||||||
$('#copy-object-error-message').append('<p>The target Package is the same as the source Package. Please select another target!</p>');
|
$("#copy-object-error-message").append(
|
||||||
|
"<p>The target Package is the same as the source Package. Please select another target!</p>",
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
$('#copy-object-error-message').append('<p>' + jqXHR.responseJSON.error + '</p>');
|
$("#copy-object-error-message").append(
|
||||||
}
|
"<p>" + jqXHR.responseJSON.error + "</p>",
|
||||||
$('#copy-object-error-message').show();
|
);
|
||||||
}
|
}
|
||||||
|
$("#copy-object-error-message").show();
|
||||||
|
},
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
})
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -5,38 +5,54 @@
|
|||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h3 class="modal-title">Delete {{ object_type|capfirst }}</h3>
|
<h3 class="modal-title">Delete {{ object_type|capfirst }}</h3>
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
{% if object_type == 'user' %}
|
{% if object_type == 'user' %}
|
||||||
Clicking "Delete" will <strong>permanently</strong> delete the User and associated data.
|
Clicking "Delete" will <strong>permanently</strong> delete the User
|
||||||
This action can't be undone!
|
and associated data. This action can't be undone!
|
||||||
{% else %}
|
{% else %}
|
||||||
Deletes the {{ object_type|capfirst }}. Related objects that depend on this {{ object_type|capfirst }}
|
Deletes the {{ object_type|capfirst }}. Related objects that depend on
|
||||||
will be deleted as well.
|
this {{ object_type|capfirst }} will be deleted as well.
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<form id="generic-delete-modal-form" accept-charset="UTF-8" action="{{ current_object.url }}"
|
<form
|
||||||
data-remote="true" method="post">
|
id="generic-delete-modal-form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action="{{ current_object.url }}"
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<input type="hidden" id="hidden" name="hidden" value="delete"/>
|
<input type="hidden" id="hidden" name="hidden" value="delete" />
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||||
<button type="button" class="btn btn-primary" id="generic-delete-modal-form-submit">Delete</button>
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="generic-delete-modal-form-submit"
|
||||||
|
>
|
||||||
|
Delete
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
$(function () {
|
$(function () {
|
||||||
|
$("#generic-delete-modal-form-submit").click(function (e) {
|
||||||
$('#generic-delete-modal-form-submit').click(function (e) {
|
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$('#generic-delete-modal-form').submit();
|
$("#generic-delete-modal-form").submit();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
})
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
{% load static %}
|
{% load static %}
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
@ -48,66 +47,110 @@
|
|||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<div class="modal fade bs-modal-lg" id="set_aliases_modal" tabindex="-1" aria-labelledby="set_aliases_modal"
|
<div
|
||||||
aria-modal="true" role="dialog">
|
class="modal fade bs-modal-lg"
|
||||||
|
id="set_aliases_modal"
|
||||||
|
tabindex="-1"
|
||||||
|
aria-labelledby="set_aliases_modal"
|
||||||
|
aria-modal="true"
|
||||||
|
role="dialog"
|
||||||
|
>
|
||||||
<div class="modal-dialog modal-lg">
|
<div class="modal-dialog modal-lg">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
<h4 class="modal-title">Set Aliases for {{ current_object.name|safe }}</h4>
|
<h4 class="modal-title">
|
||||||
|
Set Aliases for {{ current_object.name|safe }}
|
||||||
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<form id="set_aliases_modal_form" accept-charset="UTF-8" action="{{ current_object.url }}"
|
<form
|
||||||
data-remote="true" method="post">
|
id="set_aliases_modal_form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action="{{ current_object.url }}"
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<label for="alias-input">Aliases:</label>
|
<label for="alias-input">Aliases:</label>
|
||||||
<div class="form-control alias-container" id="alias-box">
|
<div class="form-control alias-container" id="alias-box">
|
||||||
{% for alias in current_object.aliases %}
|
{% for alias in current_object.aliases %}
|
||||||
<span class="alias">{{ alias|escape }}<span class="remove">×</span></span>
|
<span class="alias"
|
||||||
|
>{{ alias|escape }}<span class="remove">×</span></span
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
<input type="text" id="alias-input" class="alias-input" placeholder="Add Alias...">
|
<input
|
||||||
|
type="text"
|
||||||
|
id="alias-input"
|
||||||
|
class="alias-input"
|
||||||
|
placeholder="Add Alias..."
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
<div id="add-alias-error-message" class="alert alert-danger" role="alert" style="display: none">
|
<div
|
||||||
</div>
|
id="add-alias-error-message"
|
||||||
|
class="alert alert-danger"
|
||||||
|
role="alert"
|
||||||
|
style="display: none"
|
||||||
|
></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary pull-left" data-dismiss="modal">Close</button>
|
<button
|
||||||
<button type="button" class="btn btn-primary" id="set_aliases_modal_form_submit">Submit</button>
|
type="button"
|
||||||
|
class="btn btn-secondary pull-left"
|
||||||
|
data-dismiss="modal"
|
||||||
|
>
|
||||||
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="set_aliases_modal_form_submit"
|
||||||
|
>
|
||||||
|
Submit
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
$(function () {
|
$(function () {
|
||||||
|
|
||||||
function addAlias(aliasText) {
|
function addAlias(aliasText) {
|
||||||
aliasText = aliasText.trim();
|
aliasText = aliasText.trim();
|
||||||
if (aliasText === '') return;
|
if (aliasText === "") return;
|
||||||
|
|
||||||
// Avoid duplicate aliass
|
// Avoid duplicate aliass
|
||||||
var exists = false;
|
var exists = false;
|
||||||
$('#alias-box .alias').each(function () {
|
$("#alias-box .alias").each(function () {
|
||||||
if ($(this).text().replace('×', '').trim().toLowerCase() === aliasText.toLowerCase()) {
|
if (
|
||||||
|
$(this).text().replace("×", "").trim().toLowerCase() ===
|
||||||
|
aliasText.toLowerCase()
|
||||||
|
) {
|
||||||
exists = true;
|
exists = true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!exists) {
|
if (!exists) {
|
||||||
var aliasHtml = '<span class="alias">' + $('<div>').text(aliasText).html() +
|
var aliasHtml =
|
||||||
|
'<span class="alias">' +
|
||||||
|
$("<div>").text(aliasText).html() +
|
||||||
'<span class="remove">×</span></span>';
|
'<span class="remove">×</span></span>';
|
||||||
$(aliasHtml).insertBefore('#alias-input');
|
$(aliasHtml).insertBefore("#alias-input");
|
||||||
}
|
}
|
||||||
|
|
||||||
$('#alias-input').val('');
|
$("#alias-input").val("");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add alias when Enter is pressed
|
// Add alias when Enter is pressed
|
||||||
$('#alias-input').on('keypress', function (e) {
|
$("#alias-input").on("keypress", function (e) {
|
||||||
if (e.which === 13) {
|
if (e.which === 13) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
addAlias($(this).val());
|
addAlias($(this).val());
|
||||||
@ -115,56 +158,56 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Add alias when input loses focus
|
// Add alias when input loses focus
|
||||||
$('#alias-input').on('blur', function () {
|
$("#alias-input").on("blur", function () {
|
||||||
var val = $(this).val();
|
var val = $(this).val();
|
||||||
if (val.trim() !== '') {
|
if (val.trim() !== "") {
|
||||||
addAlias(val);
|
addAlias(val);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Remove alias when clicking ×
|
// Remove alias when clicking ×
|
||||||
$('#alias-box').on('click', '.remove', function () {
|
$("#alias-box").on("click", ".remove", function () {
|
||||||
$(this).closest('.alias').remove();
|
$(this).closest(".alias").remove();
|
||||||
});
|
});
|
||||||
|
|
||||||
// Focus input when clicking the container
|
// Focus input when clicking the container
|
||||||
$('#alias-box').on('click', function () {
|
$("#alias-box").on("click", function () {
|
||||||
$('#alias-input').focus();
|
$("#alias-input").focus();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$("#set_aliases_modal_form_submit").on("click", function (e) {
|
||||||
$('#set_aliases_modal_form_submit').on('click', function (e) {
|
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
let aliases = [];
|
let aliases = [];
|
||||||
$('#alias-box .alias').each(function () {
|
$("#alias-box .alias").each(function () {
|
||||||
aliases.push($(this).text().replace('×', '').trim())
|
aliases.push($(this).text().replace("×", "").trim());
|
||||||
});
|
});
|
||||||
|
|
||||||
if (aliases.length === 0) {
|
if (aliases.length === 0) {
|
||||||
// Set empty string for deletion of all aliases
|
// Set empty string for deletion of all aliases
|
||||||
// If empty list is sent, its gets removed entirely from post data
|
// If empty list is sent, its gets removed entirely from post data
|
||||||
aliases = ['']
|
aliases = [""];
|
||||||
}
|
}
|
||||||
|
|
||||||
formData = {
|
formData = {
|
||||||
'aliases': aliases
|
aliases: aliases,
|
||||||
}
|
};
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: 'post',
|
type: "post",
|
||||||
data: formData,
|
data: formData,
|
||||||
url: '{{ current_object.url }}',
|
url: "{{ current_object.url }}",
|
||||||
traditional: true,
|
traditional: true,
|
||||||
success: function (data, textStatus) {
|
success: function (data, textStatus) {
|
||||||
window.location.href = data.success;
|
window.location.href = data.success;
|
||||||
},
|
},
|
||||||
error: function (jqXHR, textStatus, errorThrown) {
|
error: function (jqXHR, textStatus, errorThrown) {
|
||||||
$('#add-alias-error-message').append('<p>Setting aliases failed!</p>');
|
$("#add-alias-error-message").append(
|
||||||
$('#add-alias-error-message').show(); }
|
"<p>Setting aliases failed!</p>",
|
||||||
|
);
|
||||||
|
$("#add-alias-error-message").show();
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
{% load static %}
|
{% load static %}
|
||||||
<!-- Delete Object -->
|
<!-- Delete Object -->
|
||||||
<div id="generic_set_external_reference_modal" class="modal" tabindex="-1">
|
<div id="generic_set_external_reference_modal" class="modal" tabindex="-1">
|
||||||
@ -6,56 +5,93 @@
|
|||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h3 class="modal-title">Add External References</h3>
|
<h3 class="modal-title">Add External References</h3>
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<form id="generic-set-external-reference-modal-form" accept-charset="UTF-8"
|
<form
|
||||||
|
id="generic-set-external-reference-modal-form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
action="{{ current_object.url }}"
|
action="{{ current_object.url }}"
|
||||||
data-remote="true" method="post">
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<label for="database-select">Select the Database you want to attach an External Reference
|
<label for="database-select"
|
||||||
for</label>
|
>Select the Database you want to attach an External Reference
|
||||||
<select id="database-select" name="selected-database" data-actions-box='true' class="form-control"
|
for</label
|
||||||
data-width='100%'>
|
>
|
||||||
|
<select
|
||||||
|
id="database-select"
|
||||||
|
name="selected-database"
|
||||||
|
data-actions-box="true"
|
||||||
|
class="form-control"
|
||||||
|
data-width="100%"
|
||||||
|
>
|
||||||
<option disabled selected>Select Database</option>
|
<option disabled selected>Select Database</option>
|
||||||
{% for entity, databases in meta.external_databases.items %}
|
{% for entity, databases in meta.external_databases.items %}
|
||||||
{% if entity == object_type %}
|
{% if entity == object_type %}
|
||||||
{% for db in databases %}
|
{% for db in databases %}
|
||||||
<option id="db-select-{{ db.database.pk }}" data-input-placeholder="{{ db.placeholder }}"
|
<option
|
||||||
value="{{ db.database.id }}">{{ db.database.name|safe }}</option>`
|
id="db-select-{{ db.database.pk }}"
|
||||||
|
data-input-placeholder="{{ db.placeholder }}"
|
||||||
|
value="{{ db.database.id }}"
|
||||||
|
>
|
||||||
|
{{ db.database.name|safe }}
|
||||||
|
</option>
|
||||||
|
`
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
<p></p>
|
<p></p>
|
||||||
<div id="input-div" style="display: none">
|
<div id="input-div" style="display: none">
|
||||||
<label for="identifier" >The reference</label>
|
<label for="identifier">The reference</label>
|
||||||
<input type="text" id="identifier" name="identifier" class="form-control" placeholder="">
|
<input
|
||||||
|
type="text"
|
||||||
|
id="identifier"
|
||||||
|
name="identifier"
|
||||||
|
class="form-control"
|
||||||
|
placeholder=""
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||||
<button type="button" class="btn btn-primary" id="generic-set-external-reference-modal-form-submit">Submit</button>
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="generic-set-external-reference-modal-form-submit"
|
||||||
|
>
|
||||||
|
Submit
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
$(function () {
|
$(function () {
|
||||||
|
|
||||||
$("#database-select").on("change", function () {
|
$("#database-select").on("change", function () {
|
||||||
let selected = $(this).val();
|
let selected = $(this).val();
|
||||||
$("#identifier").attr("placeholder", $('#db-select-' + selected).data('input-placeholder'));
|
$("#identifier").attr(
|
||||||
|
"placeholder",
|
||||||
|
$("#db-select-" + selected).data("input-placeholder"),
|
||||||
|
);
|
||||||
$("#input-div").show();
|
$("#input-div").show();
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#generic-set-external-reference-modal-form-submit').click(function (e) {
|
$("#generic-set-external-reference-modal-form-submit").click(function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$('#generic-set-external-reference-modal-form').submit();
|
$("#generic-set-external-reference-modal-form").submit();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
})
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -1,37 +1,71 @@
|
|||||||
|
|
||||||
{% load static %}
|
{% load static %}
|
||||||
<div class="modal fade bs-modal-lg" id="set_scenario_modal" tabindex="-1" aria-labelledby="set_scenario_modal"
|
<div
|
||||||
aria-modal="true" role="dialog">
|
class="modal fade bs-modal-lg"
|
||||||
|
id="set_scenario_modal"
|
||||||
|
tabindex="-1"
|
||||||
|
aria-labelledby="set_scenario_modal"
|
||||||
|
aria-modal="true"
|
||||||
|
role="dialog"
|
||||||
|
>
|
||||||
<div class="modal-dialog modal-lg">
|
<div class="modal-dialog modal-lg">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
<h4 class="modal-title">Set Scenarios for {{ current_object.name|safe }}</h4>
|
<h4 class="modal-title">
|
||||||
|
Set Scenarios for {{ current_object.name|safe }}
|
||||||
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<div id="loading_scenario_div" class="text-center"></div>
|
<div id="loading_scenario_div" class="text-center"></div>
|
||||||
<form id="set_scenario_modal_form" accept-charset="UTF-8" action="{{ current_object.url }}"
|
<form
|
||||||
data-remote="true" method="post">
|
id="set_scenario_modal_form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action="{{ current_object.url }}"
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<label for="scenario-select">Scenarios</label>
|
<label for="scenario-select">Scenarios</label>
|
||||||
<select id="scenario-select" name="selected-scenarios" data-actions-box='true' class="form-control"
|
<select
|
||||||
multiple data-width='100%'>
|
id="scenario-select"
|
||||||
|
name="selected-scenarios"
|
||||||
|
data-actions-box="true"
|
||||||
|
class="form-control"
|
||||||
|
multiple
|
||||||
|
data-width="100%"
|
||||||
|
>
|
||||||
<option disabled>Select Scenarios</option>
|
<option disabled>Select Scenarios</option>
|
||||||
<option value="" hidden></option>
|
<option value="" hidden></option>
|
||||||
</select>
|
</select>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary pull-left" data-dismiss="modal">Close
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-secondary pull-left"
|
||||||
|
data-dismiss="modal"
|
||||||
|
>
|
||||||
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="set_scenario_modal_form_submit"
|
||||||
|
>
|
||||||
|
Submit
|
||||||
</button>
|
</button>
|
||||||
<button type="button" class="btn btn-primary" id="set_scenario_modal_form_submit">Submit</button>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
{# prettier-ignore-start #}
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
$(function () {
|
$(function () {
|
||||||
@ -75,3 +109,4 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
{# prettier-ignore-end #}
|
||||||
|
|||||||
@ -5,18 +5,33 @@
|
|||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h3 class="modal-title">Identify Missing Rules</h3>
|
<h3 class="modal-title">Identify Missing Rules</h3>
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
By clicking on Download we'll search the Pathway for Reactions that are not backed by
|
By clicking on Download we'll search the Pathway for Reactions that are
|
||||||
a Rule or which can be assembled by chaining two rules.
|
not backed by a Rule or which can be assembled by chaining two rules.
|
||||||
<form id="identify-missing-rules-modal-form" accept-charset="UTF-8" action="{{ pathway.url }}"
|
<form
|
||||||
data-remote="true" method="GET">
|
id="identify-missing-rules-modal-form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action="{{ pathway.url }}"
|
||||||
|
data-remote="true"
|
||||||
|
method="GET"
|
||||||
|
>
|
||||||
<label for="rule-package">Select the Rule Package</label>
|
<label for="rule-package">Select the Rule Package</label>
|
||||||
<select id="rule-package" name="rule-package" data-actions-box='true' class="form-control"
|
<select
|
||||||
data-width='100%'>
|
id="rule-package"
|
||||||
|
name="rule-package"
|
||||||
|
data-actions-box="true"
|
||||||
|
class="form-control"
|
||||||
|
data-width="100%"
|
||||||
|
>
|
||||||
<option disabled>Reviewed Packages</option>
|
<option disabled>Reviewed Packages</option>
|
||||||
{% for obj in meta.readable_packages %}
|
{% for obj in meta.readable_packages %}
|
||||||
{% if obj.reviewed %}
|
{% if obj.reviewed %}
|
||||||
@ -31,24 +46,30 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
<input type="hidden" name="identify-missing-rules" value="true"/>
|
<input type="hidden" name="identify-missing-rules" value="true" />
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||||
<button type="button" class="btn btn-primary" id="identify-missing-rules-modal-submit">Download</button>
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="identify-missing-rules-modal-submit"
|
||||||
|
>
|
||||||
|
Download
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
$(function () {
|
$(function () {
|
||||||
|
$("#identify-missing-rules-modal-submit").click(function (e) {
|
||||||
$('#identify-missing-rules-modal-submit').click(function (e) {
|
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$('#identify-missing-rules-modal-form').submit();
|
$("#identify-missing-rules-modal-form").submit();
|
||||||
$('#identify_missing_rules_modal').modal('hide');
|
$("#identify_missing_rules_modal").modal("hide");
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
})
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -1,35 +1,52 @@
|
|||||||
|
<div
|
||||||
<div class="modal fade"
|
class="modal fade"
|
||||||
tabindex="-1"
|
tabindex="-1"
|
||||||
id="manage_api_token_modal"
|
id="manage_api_token_modal"
|
||||||
role="dialog"
|
role="dialog"
|
||||||
aria-labelledby="manage_api_token_modal"
|
aria-labelledby="manage_api_token_modal"
|
||||||
aria-hidden="true">
|
aria-hidden="true"
|
||||||
|
>
|
||||||
<div class="modal-dialog">
|
<div class="modal-dialog">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<button type="button"
|
<button type="button" class="close" data-dismiss="modal">
|
||||||
class="close"
|
|
||||||
data-dismiss="modal">
|
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
<span class="sr-only">Close</span>
|
<span class="sr-only">Close</span>
|
||||||
</button>
|
</button>
|
||||||
<h3 class="modal-title">Manage API Token</h3>
|
<h3 class="modal-title">Manage API Token</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<p>Requesting a Token will invalidate all potential existing tokens. The new token will only be shown once, so ensure to store it in secure place</p>
|
<p>
|
||||||
<form id="request_api_token_form"
|
Requesting a Token will invalidate all potential existing tokens. The
|
||||||
|
new token will only be shown once, so ensure to store it in secure
|
||||||
|
place
|
||||||
|
</p>
|
||||||
|
<form
|
||||||
|
id="request_api_token_form"
|
||||||
accept-charset="UTF-8"
|
accept-charset="UTF-8"
|
||||||
action=""
|
action=""
|
||||||
data-remote="true"
|
data-remote="true"
|
||||||
method="post">
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<p>
|
<p>
|
||||||
<label for="token-name">Name</label>
|
<label for="token-name">Name</label>
|
||||||
<input type="text" id="token-name" class="form-control" name="name" placeholder="Generic Token for {{ meta.user.username }}"/>
|
<input
|
||||||
|
type="text"
|
||||||
|
id="token-name"
|
||||||
|
class="form-control"
|
||||||
|
name="name"
|
||||||
|
placeholder="Generic Token for {{ meta.user.username }}"
|
||||||
|
/>
|
||||||
<label for="valid-for">Valid for (in days)</label>
|
<label for="valid-for">Valid for (in days)</label>
|
||||||
<input type="number" id="valid-for" class="form-control" name="valid-for" value="90"/>
|
<input
|
||||||
<input type="hidden" name="hidden" value="request-api-token">
|
type="number"
|
||||||
|
id="valid-for"
|
||||||
|
class="form-control"
|
||||||
|
name="valid-for"
|
||||||
|
value="90"
|
||||||
|
/>
|
||||||
|
<input type="hidden" name="hidden" value="request-api-token" />
|
||||||
</p>
|
</p>
|
||||||
</form>
|
</form>
|
||||||
<div id="new-token">
|
<div id="new-token">
|
||||||
@ -37,12 +54,23 @@
|
|||||||
</div>
|
</div>
|
||||||
<div id="existing-tokens">
|
<div id="existing-tokens">
|
||||||
{% for t in tokens %}
|
{% for t in tokens %}
|
||||||
<form id="delete-token-{{ forloop.counter0 }}" accept-charset="UTF-8" action="{{ meta.user.url }}" data-remote="true" method="post">
|
<form
|
||||||
|
id="delete-token-{{ forloop.counter0 }}"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action="{{ meta.user.url }}"
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<input type="hidden" name="hidden" value="delete">
|
<input type="hidden" name="hidden" value="delete" />
|
||||||
<input type="hidden" name="token-id" value="{{ t.pk }}">
|
<input type="hidden" name="token-id" value="{{ t.pk }}" />
|
||||||
<input type="text" class="form-control" value="{{ t.name|safe }}" disabled>
|
<input
|
||||||
|
type="text"
|
||||||
|
class="form-control"
|
||||||
|
value="{{ t.name|safe }}"
|
||||||
|
disabled
|
||||||
|
/>
|
||||||
<span class="input-group-btn">
|
<span class="input-group-btn">
|
||||||
<button type="submit" class="btn btn-danger">Delete</button>
|
<button type="submit" class="btn btn-danger">Delete</button>
|
||||||
</span>
|
</span>
|
||||||
@ -52,41 +80,39 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<a id="manage_api_token_form_submit"
|
<a id="manage_api_token_form_submit" class="btn btn-primary" href="#"
|
||||||
class="btn btn-primary"
|
>Submit</a
|
||||||
href="#">Submit</a>
|
>
|
||||||
<button type="button"
|
<button type="button" class="btn btn-default" data-dismiss="modal">
|
||||||
class="btn btn-default"
|
Cancel
|
||||||
data-dismiss="modal">Cancel
|
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
$(function() {
|
$(function () {
|
||||||
$('#new-token').hide()
|
$("#new-token").hide();
|
||||||
|
|
||||||
$('#manage_api_token_form_submit').on('click', function (e) {
|
$("#manage_api_token_form_submit").on("click", function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
const formData = $('#request_api_token_form').serialize();
|
const formData = $("#request_api_token_form").serialize();
|
||||||
$.post('', formData, function(response) {
|
$.post("", formData, function (response) {
|
||||||
$('#new-token-pre').text(response.raw_token);
|
$("#new-token-pre").text(response.raw_token);
|
||||||
$('#new-token').show();
|
$("#new-token").show();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
// Select all elements that start with 'delete-token-'
|
// Select all elements that start with 'delete-token-'
|
||||||
$("[id^='delete-token-']").on("submit", function(e) {
|
$("[id^='delete-token-']").on("submit", function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
const formData = $(this).serialize();
|
const formData = $(this).serialize();
|
||||||
const form = $(this);
|
const form = $(this);
|
||||||
$.post(this.action, formData, function(response) {
|
$.post(this.action, formData, function (response) {
|
||||||
console.log(this);
|
console.log(this);
|
||||||
form.remove();
|
form.remove();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
});
|
||||||
});
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -5,31 +5,48 @@
|
|||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h5 class="modal-title">Publish Package</h5>
|
<h5 class="modal-title">Publish Package</h5>
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<p>Clicking on Publish will make this Package publicly available!</p>
|
<p>Clicking on Publish will make this Package publicly available!</p>
|
||||||
<form id="publish-package-modal-form" accept-charset="UTF-8" action="{{ current_package.url }}" data-remote="true" method="post">
|
<form
|
||||||
|
id="publish-package-modal-form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action="{{ current_package.url }}"
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<input type="hidden" name="hidden" value="publish-package">
|
<input type="hidden" name="hidden" value="publish-package" />
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||||
<button type="button" class="btn btn-primary" id="publish-package-modal-form-submit">Publish</button>
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="publish-package-modal-form-submit"
|
||||||
|
>
|
||||||
|
Publish
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
$(function() {
|
$(function () {
|
||||||
|
$("#publish-package-modal-form-submit").click(function (e) {
|
||||||
$('#publish-package-modal-form-submit').click(function(e){
|
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$('#publish-package-modal-form').submit();
|
$("#publish-package-modal-form").submit();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
})
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -1,15 +1,15 @@
|
|||||||
<div class="modal fade"
|
<div
|
||||||
|
class="modal fade"
|
||||||
tabindex="-1"
|
tabindex="-1"
|
||||||
id="set_license_modal"
|
id="set_license_modal"
|
||||||
role="dialog"
|
role="dialog"
|
||||||
aria-labelledby="set_license_modal"
|
aria-labelledby="set_license_modal"
|
||||||
aria-hidden="true">
|
aria-hidden="true"
|
||||||
|
>
|
||||||
<div class="modal-dialog">
|
<div class="modal-dialog">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<button type="button"
|
<button type="button" class="close" data-dismiss="modal">
|
||||||
class="close"
|
|
||||||
data-dismiss="modal">
|
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
<span class="sr-only">Close</span>
|
<span class="sr-only">Close</span>
|
||||||
</button>
|
</button>
|
||||||
@ -21,101 +21,152 @@
|
|||||||
<div class="col-md-9">
|
<div class="col-md-9">
|
||||||
<p>
|
<p>
|
||||||
Set the license for all data in this package:
|
Set the license for all data in this package:
|
||||||
<br> <br>
|
<br />
|
||||||
(For more information please visit our <a target="#"
|
<br />
|
||||||
href="https://wiki.envipath.org/index.php/License">wiki</a>.)
|
(For more information please visit our
|
||||||
|
<a target="#" href="https://wiki.envipath.org/index.php/License"
|
||||||
|
>wiki</a
|
||||||
|
>.)
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
<div id="ccfig"></div>
|
<div id="ccfig"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<form id="set_license_form" accept-charset="UTF-8" action="" data-remote="true" method="post">
|
<form
|
||||||
|
id="set_license_form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action=""
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<div class="radio">
|
<div class="radio">
|
||||||
<label><input type="radio" name="optlicense" onclick="cc()" id="ccradio">Creative commons license</label>
|
<label
|
||||||
|
><input
|
||||||
|
type="radio"
|
||||||
|
name="optlicense"
|
||||||
|
onclick="cc()"
|
||||||
|
id="ccradio"
|
||||||
|
/>Creative commons license</label
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div class="checkbox">
|
<div class="checkbox">
|
||||||
<label><input type="checkbox" value="" onclick="cc()" id="ccremix" disabled>Allow adaptations of your work to be shared</label>
|
<label
|
||||||
|
><input
|
||||||
|
type="checkbox"
|
||||||
|
value=""
|
||||||
|
onclick="cc()"
|
||||||
|
id="ccremix"
|
||||||
|
disabled
|
||||||
|
/>Allow adaptations of your work to be shared</label
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="checkbox">
|
<div class="checkbox">
|
||||||
<label><input type="checkbox" value="" onclick="cc()" id="ccnocom" disabled>Prohibit commercial use</label>
|
<label
|
||||||
|
><input
|
||||||
|
type="checkbox"
|
||||||
|
value=""
|
||||||
|
onclick="cc()"
|
||||||
|
id="ccnocom"
|
||||||
|
disabled
|
||||||
|
/>Prohibit commercial use</label
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="checkbox">
|
<div class="checkbox">
|
||||||
<label><input type="checkbox" value="" onclick="cc()" id="ccalike" disabled>Share only if others share alike</label>
|
<label
|
||||||
|
><input
|
||||||
|
type="checkbox"
|
||||||
|
value=""
|
||||||
|
onclick="cc()"
|
||||||
|
id="ccalike"
|
||||||
|
disabled
|
||||||
|
/>Share only if others share alike</label
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="radio">
|
<div class="radio">
|
||||||
<label><input type="radio" name="optlicense" onclick="cc()" id="noccradio">No creative commons license, contact package owner for license information</label>
|
<label
|
||||||
|
><input
|
||||||
|
type="radio"
|
||||||
|
name="optlicense"
|
||||||
|
onclick="cc()"
|
||||||
|
id="noccradio"
|
||||||
|
/>No creative commons license, contact package owner for license
|
||||||
|
information</label
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<input type="hidden" id="license" name="license">
|
<input type="hidden" id="license" name="license" />
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button id="set_license_form_submit" class="btn btn-primary">Submit</button>
|
<button id="set_license_form_submit" class="btn btn-primary">
|
||||||
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
|
Submit
|
||||||
|
</button>
|
||||||
|
<button type="button" class="btn btn-default" data-dismiss="modal">
|
||||||
|
Cancel
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
|
function ccstring(ccremix, ccnocom, ccalike) {
|
||||||
function ccstring(ccremix, ccnocom, ccalike){
|
|
||||||
var ccstring = "by";
|
var ccstring = "by";
|
||||||
|
|
||||||
if(ccnocom){
|
if (ccnocom) {
|
||||||
ccstring +="-nc";
|
ccstring += "-nc";
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!ccremix){
|
if (!ccremix) {
|
||||||
ccstring +="-nd";
|
ccstring += "-nd";
|
||||||
} else{
|
} else {
|
||||||
if(ccalike){
|
if (ccalike) {
|
||||||
ccstring +="-sa";
|
ccstring += "-sa";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ccstring;
|
return ccstring;
|
||||||
}
|
}
|
||||||
|
|
||||||
function cc() {
|
function cc() {
|
||||||
var nocc = $('#noccradio').prop('checked')
|
var nocc = $("#noccradio").prop("checked");
|
||||||
var iscc = $('#ccradio').prop('checked');
|
var iscc = $("#ccradio").prop("checked");
|
||||||
|
|
||||||
if(nocc) {
|
if (nocc) {
|
||||||
$('#ccradio').prop('checked', false);
|
$("#ccradio").prop("checked", false);
|
||||||
$('#ccremix').prop('checked', false);
|
$("#ccremix").prop("checked", false);
|
||||||
$('#ccnocom').prop('checked', false);
|
$("#ccnocom").prop("checked", false);
|
||||||
$('#ccalike').prop('checked', false);
|
$("#ccalike").prop("checked", false);
|
||||||
|
|
||||||
$('#ccremix').prop('disabled', true);
|
$("#ccremix").prop("disabled", true);
|
||||||
$('#ccnocom').prop('disabled', true);
|
$("#ccnocom").prop("disabled", true);
|
||||||
$('#ccalike').prop('disabled', true);
|
$("#ccalike").prop("disabled", true);
|
||||||
} else if (iscc) {
|
} else if (iscc) {
|
||||||
$('#ccremix').prop('disabled', false);
|
$("#ccremix").prop("disabled", false);
|
||||||
$('#ccnocom').prop('disabled', false);
|
$("#ccnocom").prop("disabled", false);
|
||||||
|
|
||||||
if ($('#ccremix').prop('checked')) {
|
if ($("#ccremix").prop("checked")) {
|
||||||
$('#ccalike').prop('disabled', false);
|
$("#ccalike").prop("disabled", false);
|
||||||
} else {
|
} else {
|
||||||
$('#ccalike').prop('disabled', true);
|
$("#ccalike").prop("disabled", true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var remix = $('#ccremix').prop('checked');
|
var remix = $("#ccremix").prop("checked");
|
||||||
var nocom = $('#ccnocom').prop('checked');
|
var nocom = $("#ccnocom").prop("checked");
|
||||||
var alike = $('#ccalike').prop('checked');
|
var alike = $("#ccalike").prop("checked");
|
||||||
|
|
||||||
if(nocc) {
|
if (nocc) {
|
||||||
$('#set_license_form_submit').prop('disabled', false);
|
$("#set_license_form_submit").prop("disabled", false);
|
||||||
$('#ccfig').empty();
|
$("#ccfig").empty();
|
||||||
$('#license').val('no-license')
|
$("#license").val("no-license");
|
||||||
} else if(iscc) {
|
} else if (iscc) {
|
||||||
$('#set_license_form_submit').prop('disabled', false);
|
$("#set_license_form_submit").prop("disabled", false);
|
||||||
$('#ccfig').empty();
|
$("#ccfig").empty();
|
||||||
var ccstr = ccstring(remix, nocom, alike)
|
var ccstr = ccstring(remix, nocom, alike);
|
||||||
|
|
||||||
var link = `https://creativecommons.org/licenses/${ccstr}/4.0/`;
|
var link = `https://creativecommons.org/licenses/${ccstr}/4.0/`;
|
||||||
var imageLink = `https://licensebuttons.net/l/${ccstr}/4.0/88x31.png`;
|
var imageLink = `https://licensebuttons.net/l/${ccstr}/4.0/88x31.png`;
|
||||||
@ -124,26 +175,24 @@ function cc() {
|
|||||||
<img src='${imageLink}'>
|
<img src='${imageLink}'>
|
||||||
</a>`;
|
</a>`;
|
||||||
|
|
||||||
$('#ccfig').append(img_tpl);
|
$("#ccfig").append(img_tpl);
|
||||||
$('#license').val(ccstr);
|
$("#license").val(ccstr);
|
||||||
} else {
|
} else {
|
||||||
$('#ccfig').empty();
|
$("#ccfig").empty();
|
||||||
$('#set_license_form_submit').prop('disabled', true);
|
$("#set_license_form_submit").prop("disabled", true);
|
||||||
$('#license').val('no-license')
|
$("#license").val("no-license");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
$(function () {
|
||||||
|
|
||||||
$(function() {
|
|
||||||
// Disable by default as nothing is selected
|
// Disable by default as nothing is selected
|
||||||
|
|
||||||
cc();
|
cc();
|
||||||
$('#set_license_form_submit').prop('disabled', true);
|
$("#set_license_form_submit").prop("disabled", true);
|
||||||
|
|
||||||
$('#set_license_form_submit').on('click', function (e) {
|
$("#set_license_form_submit").on("click", function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$('#set_license_form').submit();
|
$("#set_license_form").submit();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
@ -1,39 +1,62 @@
|
|||||||
{% load static %}
|
{% load static %}
|
||||||
<!-- Update Scenario Additional Information-->
|
<!-- Update Scenario Additional Information-->
|
||||||
<div id="update_scenario_additional_information_modal" class="modal" tabindex="-1">
|
<div
|
||||||
|
id="update_scenario_additional_information_modal"
|
||||||
|
class="modal"
|
||||||
|
tabindex="-1"
|
||||||
|
>
|
||||||
<div class="modal-dialog">
|
<div class="modal-dialog">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
<h3 class="modal-title">Update Additional Information</h3>
|
<h3 class="modal-title">Update Additional Information</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<form id="edit-scenario-additional-information-modal-form" accept-charset="UTF-8" action="" data-remote="true" method="post">
|
<form
|
||||||
|
id="edit-scenario-additional-information-modal-form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action=""
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
{% for widget in update_widgets %}
|
{% for widget in update_widgets %}
|
||||||
{{ widget|safe }}
|
{{ widget|safe }}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
<input type="hidden" name="hidden" value="set-additional-information">
|
<input
|
||||||
|
type="hidden"
|
||||||
|
name="hidden"
|
||||||
|
value="set-additional-information"
|
||||||
|
/>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">
|
||||||
<button type="button" class="btn btn-primary" id="edit-scenario-additional-information-modal-submit">Update</button>
|
Close
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary"
|
||||||
|
id="edit-scenario-additional-information-modal-submit"
|
||||||
|
>
|
||||||
|
Update
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
$(function() {
|
$(function () {
|
||||||
|
$("#edit-scenario-additional-information-modal-submit").click(function (e) {
|
||||||
$('#edit-scenario-additional-information-modal-submit').click(function(e){
|
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$('#edit-scenario-additional-information-modal-form').submit();
|
$("#edit-scenario-additional-information-modal-form").submit();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -1,94 +1,157 @@
|
|||||||
{% load static %}
|
{% load static %}
|
||||||
<div class="modal fade bs-modal-lg" id="predict_modal" tabindex="-1" aria-labelledby="predict_modal" aria-modal="true"
|
<div
|
||||||
role="dialog">
|
class="modal fade bs-modal-lg"
|
||||||
|
id="predict_modal"
|
||||||
|
tabindex="-1"
|
||||||
|
aria-labelledby="predict_modal"
|
||||||
|
aria-modal="true"
|
||||||
|
role="dialog"
|
||||||
|
>
|
||||||
<div class="modal-dialog modal-lg">
|
<div class="modal-dialog modal-lg">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
<h4 class="modal-title">Predict a Pathway</h4>
|
<h4 class="modal-title">Predict a Pathway</h4>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<form id="predict_modal_form" accept-charset="UTF-8" action="{{ meta.current_package.url }}/pathway" data-remote="true" method="post">
|
<form
|
||||||
|
id="predict_modal_form"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
action="{{ meta.current_package.url }}/pathway"
|
||||||
|
data-remote="true"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<label for="name">Name</label>
|
<label for="name">Name</label>
|
||||||
<input id="name" class="form-control" name="name" placeholder="Name"/>
|
<input
|
||||||
|
id="name"
|
||||||
|
class="form-control"
|
||||||
|
name="name"
|
||||||
|
placeholder="Name"
|
||||||
|
/>
|
||||||
<label for="description">Description</label>
|
<label for="description">Description</label>
|
||||||
<input id="description" class="form-control" name="description" placeholder="Description"/>
|
<input
|
||||||
|
id="description"
|
||||||
|
class="form-control"
|
||||||
|
name="description"
|
||||||
|
placeholder="Description"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<label for="predict">Predict pathway or build yourself?</label>
|
<label for="predict">Predict pathway or build yourself?</label>
|
||||||
<div class="radio" id="predict">
|
<div class="radio" id="predict">
|
||||||
<p>
|
<p>
|
||||||
<label>
|
<label>
|
||||||
<input type="radio" name="predict" id="radioPredict" value="predict" checked/>Predict
|
<input
|
||||||
pathway
|
type="radio"
|
||||||
|
name="predict"
|
||||||
|
id="radioPredict"
|
||||||
|
value="predict"
|
||||||
|
checked
|
||||||
|
/>Predict pathway
|
||||||
</label>
|
</label>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label>
|
<label>
|
||||||
<input type="radio" name="predict" id="radioIncremental" value="incremental"/>Incremental
|
<input
|
||||||
prediction
|
type="radio"
|
||||||
|
name="predict"
|
||||||
|
id="radioIncremental"
|
||||||
|
value="incremental"
|
||||||
|
/>Incremental prediction
|
||||||
</label>
|
</label>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label>
|
<label>
|
||||||
<input type="radio" name="predict" id="radioBuild" value="build"/>Build pathway
|
<input
|
||||||
|
type="radio"
|
||||||
|
name="predict"
|
||||||
|
id="radioBuild"
|
||||||
|
value="build"
|
||||||
|
/>Build pathway
|
||||||
</label>
|
</label>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<label for="predict-modal-smiles">SMILES</label>
|
<label for="predict-modal-smiles">SMILES</label>
|
||||||
<input type="text" class="form-control" name="smiles" placeholder="SMILES" id="predict-modal-smiles">
|
<input
|
||||||
|
type="text"
|
||||||
|
class="form-control"
|
||||||
|
name="smiles"
|
||||||
|
placeholder="SMILES"
|
||||||
|
id="predict-modal-smiles"
|
||||||
|
/>
|
||||||
<p id="ketcher_container"></p>
|
<p id="ketcher_container"></p>
|
||||||
<div>
|
<div>
|
||||||
<iframe id="predict-modal-ketcher" src="{% static '/js/ketcher2/ketcher.html' %}" width="100%"
|
<iframe
|
||||||
height="510"></iframe>
|
id="predict-modal-ketcher"
|
||||||
|
src="{% static '/js/ketcher2/ketcher.html' %}"
|
||||||
|
width="100%"
|
||||||
|
height="510"
|
||||||
|
></iframe>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<label for="prediction-setting">Default Prediction Setting</label>
|
<label for="prediction-setting">Default Prediction Setting</label>
|
||||||
<select id="prediction-setting" name="prediction-setting" class="form-control"
|
<select
|
||||||
data-width='100%'>
|
id="prediction-setting"
|
||||||
|
name="prediction-setting"
|
||||||
|
class="form-control"
|
||||||
|
data-width="100%"
|
||||||
|
>
|
||||||
<option disabled>Select a Setting</option>
|
<option disabled>Select a Setting</option>
|
||||||
{% for s in meta.available_settings %}
|
{% for s in meta.available_settings %}
|
||||||
<option value="{{ s.url }}"{% if s.id == meta.user.default_setting.id %}selected{% endif %}>
|
<option
|
||||||
{{ s.name|safe }}{% if s.id == meta.user.default_setting.id %} <i>(User default)</i>{% endif %}
|
value="{{ s.url }}"
|
||||||
|
{% if s.id == meta.user.default_setting.id %}selected{% endif %}
|
||||||
|
>
|
||||||
|
{{ s.name|safe }}{% if s.id == meta.user.default_setting.id %}
|
||||||
|
<i>(User default)</i>
|
||||||
|
{% endif %}
|
||||||
</option>
|
</option>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary pull-left" data-dismiss="modal">Close
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-secondary pull-left"
|
||||||
|
data-dismiss="modal"
|
||||||
|
>
|
||||||
|
Close
|
||||||
|
</button>
|
||||||
|
<button type="button" class="btn btn-primary" id="predictButton">
|
||||||
|
Predict
|
||||||
</button>
|
</button>
|
||||||
<button type="button" class="btn btn-primary" id="predictButton">Predict</button>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
|
function predictModalketcherToPredictModalTextInput() {
|
||||||
|
$("#predict-modal-smiles").val(this.ketcher.getSmiles());
|
||||||
|
}
|
||||||
|
|
||||||
function predictModalketcherToPredictModalTextInput() {
|
$(function () {
|
||||||
$('#predict-modal-smiles').val(this.ketcher.getSmiles());
|
$("#predict-modal-ketcher").on("load", function () {
|
||||||
}
|
|
||||||
|
|
||||||
$(function() {
|
|
||||||
|
|
||||||
$('#predict-modal-ketcher').on('load', function() {
|
|
||||||
const checkKetcherReady = () => {
|
const checkKetcherReady = () => {
|
||||||
win = this.contentWindow
|
win = this.contentWindow;
|
||||||
if (win.ketcher && 'editor' in win.ketcher) {
|
if (win.ketcher && "editor" in win.ketcher) {
|
||||||
win.ketcher.editor.event.change.handlers.push({
|
win.ketcher.editor.event.change.handlers.push({
|
||||||
once: false,
|
once: false,
|
||||||
priority: 0,
|
priority: 0,
|
||||||
f: predictModalketcherToPredictModalTextInput,
|
f: predictModalketcherToPredictModalTextInput,
|
||||||
ketcher: win.ketcher
|
ketcher: win.ketcher,
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
setTimeout(checkKetcherReady, 100);
|
setTimeout(checkKetcherReady, 100);
|
||||||
@ -96,9 +159,9 @@ $(function() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
checkKetcherReady();
|
checkKetcherReady();
|
||||||
})
|
});
|
||||||
|
|
||||||
$('#predictButton').on('click', function(e) {
|
$("#predictButton").on("click", function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
$(this).prop("disabled", true);
|
$(this).prop("disabled", true);
|
||||||
|
|
||||||
@ -109,7 +172,7 @@ $(function() {
|
|||||||
// existing pws...
|
// existing pws...
|
||||||
|
|
||||||
// submit form
|
// submit form
|
||||||
$('#predict_modal_form').submit();
|
$("#predict_modal_form").submit();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -10,16 +10,29 @@
|
|||||||
{% include "modals/objects/generic_delete_modal.html" %}
|
{% include "modals/objects/generic_delete_modal.html" %}
|
||||||
{% endblock action_modals %}
|
{% endblock action_modals %}
|
||||||
|
|
||||||
<div class="panel-group" id="rule-detail">
|
<div class="panel-group" id="rule-detail">
|
||||||
<div class="panel panel-default">
|
<div class="panel panel-default">
|
||||||
<div class="panel-heading" id="headingPanel" style="font-size:2rem;height: 46px">
|
<div
|
||||||
|
class="panel-heading"
|
||||||
|
id="headingPanel"
|
||||||
|
style="font-size:2rem;height: 46px"
|
||||||
|
>
|
||||||
{{ rule.name|safe }}
|
{{ rule.name|safe }}
|
||||||
<div id="actionsButton"
|
<div
|
||||||
|
id="actionsButton"
|
||||||
style="float: right;font-weight: normal;font-size: medium;position: relative; top: 50%; transform: translateY(-50%);z-index:100;display: none;"
|
style="float: right;font-weight: normal;font-size: medium;position: relative; top: 50%; transform: translateY(-50%);z-index:100;display: none;"
|
||||||
class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button"
|
class="dropdown"
|
||||||
aria-haspopup="true" aria-expanded="false"><span
|
>
|
||||||
class="glyphicon glyphicon-wrench"></span> Actions <span class="caret"></span><span
|
<a
|
||||||
style="padding-right:1em"></span></a>
|
href="#"
|
||||||
|
class="dropdown-toggle"
|
||||||
|
data-toggle="dropdown"
|
||||||
|
role="button"
|
||||||
|
aria-haspopup="true"
|
||||||
|
aria-expanded="false"
|
||||||
|
><span class="glyphicon glyphicon-wrench"></span> Actions
|
||||||
|
<span class="caret"></span><span style="padding-right:1em"></span
|
||||||
|
></a>
|
||||||
<ul id="actionsList" class="dropdown-menu">
|
<ul id="actionsList" class="dropdown-menu">
|
||||||
{% block actions %}
|
{% block actions %}
|
||||||
{% include "actions/objects/rule.html" %}
|
{% include "actions/objects/rule.html" %}
|
||||||
@ -28,20 +41,26 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<p>
|
<p>{{ rule.description|safe }}</p>
|
||||||
{{ rule.description|safe }}
|
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if rule.aliases %}
|
{% if rule.aliases %}
|
||||||
<!-- Aliases -->
|
<!-- Aliases -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="rule-aliases-link" data-toggle="collapse" data-parent="#rule-detail"
|
<a
|
||||||
href="#rule-aliases">Aliases</a>
|
id="rule-aliases-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#rule-detail"
|
||||||
|
href="#rule-aliases"
|
||||||
|
>Aliases</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="rule-aliases" class="panel-collapse collapse in">
|
<div id="rule-aliases" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for alias in rule.aliases %}
|
{% for alias in rule.aliases %}
|
||||||
<a class="list-group-item">{{ alias }}</a>
|
<a class="list-group-item">{{ alias }}</a>
|
||||||
@ -51,20 +70,26 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<!-- Reaction Patterns -->
|
<!-- Reaction Patterns -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="rule-reaction-patterns-link" data-toggle="collapse" data-parent="#rule-detail"
|
<a
|
||||||
href="#rule-reaction-patterns">Reaction Patterns</a>
|
id="rule-reaction-patterns-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#rule-detail"
|
||||||
|
href="#rule-reaction-patterns"
|
||||||
|
>Reaction Patterns</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="rule-reaction-patterns" class="panel-collapse collapse in">
|
<div id="rule-reaction-patterns" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for r in rule.srs %}
|
{% for r in rule.srs %}
|
||||||
<a class="list-group-item" href="{{ r.url }}">{{ r.name|safe }}</a>
|
<a class="list-group-item" href="{{ r.url }}">{{ r.name|safe }}</a>
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<p>
|
<p>{{ r.as_svg|safe }}</p>
|
||||||
{{r.as_svg|safe}}
|
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
@ -72,16 +97,26 @@
|
|||||||
|
|
||||||
<!-- Scenarios -->
|
<!-- Scenarios -->
|
||||||
{% if rule.scenarios.all %}
|
{% if rule.scenarios.all %}
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="rule-scenario-link" data-toggle="collapse" data-parent="#rule-detail"
|
<a
|
||||||
href="#rule-scenario">Scenarios</a>
|
id="rule-scenario-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#rule-detail"
|
||||||
|
href="#rule-scenario"
|
||||||
|
>Scenarios</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="rule-scenario" class="panel-collapse collapse in">
|
<div id="rule-scenario" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for s in rule.scenarios.all %}
|
{% for s in rule.scenarios.all %}
|
||||||
<a class="list-group-item" href="{{ s.url }}">{{ s.name|safe }} <i>({{ s.package.name|safe }})</i></a>
|
<a class="list-group-item" href="{{ s.url }}"
|
||||||
|
>{{ s.name|safe }} <i>({{ s.package.name|safe }})</i></a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -89,31 +124,49 @@
|
|||||||
|
|
||||||
{% if rule.enzymelinks %}
|
{% if rule.enzymelinks %}
|
||||||
<!-- EC Numbers -->
|
<!-- EC Numbers -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="rule-ec-numbers-link" data-toggle="collapse" data-parent="#rule-detail"
|
<a
|
||||||
href="#rule-ec-numbers">EC Numbers</a>
|
id="rule-ec-numbers-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#rule-detail"
|
||||||
|
href="#rule-ec-numbers"
|
||||||
|
>EC Numbers</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="rule-ec-numbers" class="panel-collapse collapse in">
|
<div id="rule-ec-numbers" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for k, v in rule.get_grouped_enzymelinks.items %}
|
{% for k, v in rule.get_grouped_enzymelinks.items %}
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="{{ k|slugify }}_Link" data-toggle="collapse"
|
<a
|
||||||
|
id="{{ k|slugify }}_Link"
|
||||||
|
data-toggle="collapse"
|
||||||
data-parent="#{{ k|slugify }}_Accordion"
|
data-parent="#{{ k|slugify }}_Accordion"
|
||||||
href="#{{ k|slugify }}">
|
href="#{{ k|slugify }}"
|
||||||
|
>
|
||||||
{{ k }}
|
{{ k }}
|
||||||
</a>
|
</a>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="{{ k|slugify }}" class="panel-collapse collapse in">
|
<div id="{{ k|slugify }}" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for enzyme in v %}
|
{% for enzyme in v %}
|
||||||
<a class="list-group-item" href="{{ enzyme.url }}">
|
<a class="list-group-item" href="{{ enzyme.url }}">
|
||||||
{{ enzyme.ec_number }}
|
{{ enzyme.ec_number }}
|
||||||
<div style="position:absolute;bottom:10px;left:100px;">{{ enzyme.name }}</div>
|
<div style="position:absolute;bottom:10px;left:100px;">
|
||||||
<div style="float:right;">{{ enzyme.linking_method }}</div>
|
{{ enzyme.name }}
|
||||||
|
</div>
|
||||||
|
<div style="float:right;">
|
||||||
|
{{ enzyme.linking_method }}
|
||||||
|
</div>
|
||||||
</a>
|
</a>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
@ -123,5 +176,5 @@
|
|||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|||||||
@ -14,14 +14,27 @@
|
|||||||
|
|
||||||
<div class="panel-group" id="compound-detail">
|
<div class="panel-group" id="compound-detail">
|
||||||
<div class="panel panel-default">
|
<div class="panel panel-default">
|
||||||
<div class="panel-heading" id="headingPanel" style="font-size:2rem;height: 46px">
|
<div
|
||||||
|
class="panel-heading"
|
||||||
|
id="headingPanel"
|
||||||
|
style="font-size:2rem;height: 46px"
|
||||||
|
>
|
||||||
{{ compound.name|safe }}
|
{{ compound.name|safe }}
|
||||||
<div id="actionsButton"
|
<div
|
||||||
|
id="actionsButton"
|
||||||
style="float: right;font-weight: normal;font-size: medium;position: relative; top: 50%; transform: translateY(-50%);z-index:100;display: none;"
|
style="float: right;font-weight: normal;font-size: medium;position: relative; top: 50%; transform: translateY(-50%);z-index:100;display: none;"
|
||||||
class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button"
|
class="dropdown"
|
||||||
aria-haspopup="true" aria-expanded="false"><span
|
>
|
||||||
class="glyphicon glyphicon-wrench"></span> Actions <span class="caret"></span><span
|
<a
|
||||||
style="padding-right:1em"></span></a>
|
href="#"
|
||||||
|
class="dropdown-toggle"
|
||||||
|
data-toggle="dropdown"
|
||||||
|
role="button"
|
||||||
|
aria-haspopup="true"
|
||||||
|
aria-expanded="false"
|
||||||
|
><span class="glyphicon glyphicon-wrench"></span> Actions
|
||||||
|
<span class="caret"></span><span style="padding-right:1em"></span
|
||||||
|
></a>
|
||||||
<ul id="actionsList" class="dropdown-menu">
|
<ul id="actionsList" class="dropdown-menu">
|
||||||
{% block actions %}
|
{% block actions %}
|
||||||
{% include "actions/objects/compound.html" %}
|
{% include "actions/objects/compound.html" %}
|
||||||
@ -31,22 +44,30 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<p>
|
<p>
|
||||||
The structures stored in this compound can be found at <a target="_blank"
|
The structures stored in this compound can be found at
|
||||||
href="{{ compound.url }}/structure"
|
<a target="_blank" href="{{ compound.url }}/structure" role="button"
|
||||||
role="button">Compound structures
|
>Compound structures >></a
|
||||||
>></a>
|
>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if compound.aliases %}
|
{% if compound.aliases %}
|
||||||
<!-- Aliases -->
|
<!-- Aliases -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="compound-aliases-link" data-toggle="collapse" data-parent="#compound-detail"
|
<a
|
||||||
href="#compound-aliases">Aliases</a>
|
id="compound-aliases-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#compound-detail"
|
||||||
|
href="#compound-aliases"
|
||||||
|
>Aliases</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="compound-aliases" class="panel-collapse collapse in">
|
<div id="compound-aliases" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for alias in compound.aliases %}
|
{% for alias in compound.aliases %}
|
||||||
<a class="list-group-item">{{ alias }}</a>
|
<a class="list-group-item">{{ alias }}</a>
|
||||||
@ -56,26 +77,42 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<!-- Description -->
|
<!-- Description -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="compound-desc-link" data-toggle="collapse" data-parent="#compound-detail"
|
<a
|
||||||
href="#compound-desc">Description</a>
|
id="compound-desc-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#compound-detail"
|
||||||
|
href="#compound-desc"
|
||||||
|
>Description</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="compound-desc" class="panel-collapse collapse in">
|
<div id="compound-desc" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{{ compound.description|safe }}
|
{{ compound.description|safe }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Image -->
|
<!-- Image -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="compound-image-link" data-toggle="collapse" data-parent="#compound-detail"
|
<a
|
||||||
href="#compound-image">Image Representation</a>
|
id="compound-image-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#compound-detail"
|
||||||
|
href="#compound-image"
|
||||||
|
>Image Representation</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="compound-image" class="panel-collapse collapse in">
|
<div id="compound-image" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
<div id="image-div" align="center">
|
<div id="image-div" align="center">
|
||||||
{{ compound.default_structure.as_svg|safe }}
|
{{ compound.default_structure.as_svg|safe }}
|
||||||
@ -84,39 +121,63 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- SMILES -->
|
<!-- SMILES -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="compound-smiles-link" data-toggle="collapse" data-parent="#compound-detail"
|
<a
|
||||||
href="#compound-smiles">SMILES Representation</a>
|
id="compound-smiles-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#compound-detail"
|
||||||
|
href="#compound-smiles"
|
||||||
|
>SMILES Representation</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="compound-smiles" class="panel-collapse collapse in">
|
<div id="compound-smiles" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{{ compound.default_structure.smiles }}
|
{{ compound.default_structure.smiles }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Canonical SMILES -->
|
<!-- Canonical SMILES -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="compound-canonical-smiles-link" data-toggle="collapse" data-parent="#compound-detail"
|
<a
|
||||||
href="#compound-canonical-smiles">Canonical SMILES Representation</a>
|
id="compound-canonical-smiles-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#compound-detail"
|
||||||
|
href="#compound-canonical-smiles"
|
||||||
|
>Canonical SMILES Representation</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="compound-canonical-smiles" class="panel-collapse collapse in">
|
<div id="compound-canonical-smiles" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{{ compound.default_structure.canonical_smiles }}
|
{{ compound.default_structure.canonical_smiles }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- InChiKey -->
|
<!-- InChiKey -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="compound-inchi-link" data-toggle="collapse" data-parent="#compound-detail"
|
<a
|
||||||
href="#compound-inchi">InChIKey</a>
|
id="compound-inchi-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#compound-detail"
|
||||||
|
href="#compound-inchi"
|
||||||
|
>InChIKey</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="compound-inchi" class="panel-collapse collapse in">
|
<div id="compound-inchi" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{{ compound.default_structure.inchikey }}
|
{{ compound.default_structure.inchikey }}
|
||||||
</div>
|
</div>
|
||||||
@ -124,16 +185,26 @@
|
|||||||
|
|
||||||
<!-- Reactions -->
|
<!-- Reactions -->
|
||||||
{% if compound.related_reactions %}
|
{% if compound.related_reactions %}
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="compound-reaction-link" data-toggle="collapse" data-parent="#compound-detail"
|
<a
|
||||||
href="#compound-reaction">Reactions</a>
|
id="compound-reaction-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#compound-detail"
|
||||||
|
href="#compound-reaction"
|
||||||
|
>Reactions</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="compound-reaction" class="panel-collapse collapse in">
|
<div id="compound-reaction" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for r in compound.related_reactions %}
|
{% for r in compound.related_reactions %}
|
||||||
<a class="list-group-item" href="{{ r.url }}">{{ r.name|safe }} <i>({{ r.package.name|safe }})</i></a>
|
<a class="list-group-item" href="{{ r.url }}"
|
||||||
|
>{{ r.name|safe }} <i>({{ r.package.name|safe }})</i></a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -141,16 +212,26 @@
|
|||||||
|
|
||||||
<!-- Pathways -->
|
<!-- Pathways -->
|
||||||
{% if compound.related_pathways %}
|
{% if compound.related_pathways %}
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="compound-pathway-link" data-toggle="collapse" data-parent="#compound-detail"
|
<a
|
||||||
href="#compound-pathway">Pathways</a>
|
id="compound-pathway-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#compound-detail"
|
||||||
|
href="#compound-pathway"
|
||||||
|
>Pathways</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="compound-pathway" class="panel-collapse collapse in">
|
<div id="compound-pathway" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for r in compound.related_pathways %}
|
{% for r in compound.related_pathways %}
|
||||||
<a class="list-group-item" href="{{ r.url }}">{{ r.name|safe }} <i>({{ r.package.name|safe }})</i></a>
|
<a class="list-group-item" href="{{ r.url }}"
|
||||||
|
>{{ r.name|safe }} <i>({{ r.package.name|safe }})</i></a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -158,16 +239,26 @@
|
|||||||
|
|
||||||
<!-- Scenarios -->
|
<!-- Scenarios -->
|
||||||
{% if compound.scenarios.all %}
|
{% if compound.scenarios.all %}
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="compound-scenario-link" data-toggle="collapse" data-parent="#compound-detail"
|
<a
|
||||||
href="#compound-scenario">Scenarios</a>
|
id="compound-scenario-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#compound-detail"
|
||||||
|
href="#compound-scenario"
|
||||||
|
>Scenarios</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="compound-scenario" class="panel-collapse collapse in">
|
<div id="compound-scenario" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for s in compound.scenarios.all %}
|
{% for s in compound.scenarios.all %}
|
||||||
<a class="list-group-item" href="{{ s.url }}">{{ s.name|safe }} <i>({{ s.package.name|safe }})</i></a>
|
<a class="list-group-item" href="{{ s.url }}"
|
||||||
|
>{{ s.name|safe }} <i>({{ s.package.name|safe }})</i></a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -175,67 +266,106 @@
|
|||||||
|
|
||||||
<!-- External Identifiers -->
|
<!-- External Identifiers -->
|
||||||
{% if compound.get_external_identifiers %}
|
{% if compound.get_external_identifiers %}
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="compound-external-identifier-link" data-toggle="collapse" data-parent="#compound-detail"
|
<a
|
||||||
href="#compound-external-identifier">External Identifier</a>
|
id="compound-external-identifier-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#compound-detail"
|
||||||
|
href="#compound-external-identifier"
|
||||||
|
>External Identifier</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="compound-external-identifier" class="panel-collapse collapse in">
|
<div
|
||||||
|
id="compound-external-identifier"
|
||||||
|
class="panel-collapse in collapse"
|
||||||
|
>
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% if compound.get_pubchem_compound_identifiers %}
|
{% if compound.get_pubchem_compound_identifiers %}
|
||||||
<div class="panel panel-default panel-heading list-group-item"
|
<div
|
||||||
style="background-color:silver">
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="compound-pubchem-identifier-link" data-toggle="collapse"
|
<a
|
||||||
|
id="compound-pubchem-identifier-link"
|
||||||
|
data-toggle="collapse"
|
||||||
data-parent="#compound-external-identifier"
|
data-parent="#compound-external-identifier"
|
||||||
href="#compound-pubchem-identifier">PubChem Compound Identifier</a>
|
href="#compound-pubchem-identifier"
|
||||||
|
>PubChem Compound Identifier</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="compound-pubchem-identifier" class="panel-collapse collapse in">
|
<div
|
||||||
|
id="compound-pubchem-identifier"
|
||||||
|
class="panel-collapse in collapse"
|
||||||
|
>
|
||||||
{% for eid in compound.get_pubchem_compound_identifiers %}
|
{% for eid in compound.get_pubchem_compound_identifiers %}
|
||||||
<a class="list-group-item"
|
<a class="list-group-item" href="{{ eid.external_url }}"
|
||||||
href="{{ eid.external_url }}">CID{{ eid.identifier_value }}</a>
|
>CID{{ eid.identifier_value }}</a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if compound.get_pubchem_substance_identifiers %}
|
{% if compound.get_pubchem_substance_identifiers %}
|
||||||
<div class="panel panel-default panel-heading list-group-item"
|
<div
|
||||||
style="background-color:silver">
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="compound-pubchem-identifier-link" data-toggle="collapse"
|
<a
|
||||||
|
id="compound-pubchem-identifier-link"
|
||||||
|
data-toggle="collapse"
|
||||||
data-parent="#compound-external-identifier"
|
data-parent="#compound-external-identifier"
|
||||||
href="#compound-pubchem-identifier">PubChem Substance Identifier</a>
|
href="#compound-pubchem-identifier"
|
||||||
|
>PubChem Substance Identifier</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="compound-pubchem-identifier" class="panel-collapse collapse in">
|
<div
|
||||||
|
id="compound-pubchem-identifier"
|
||||||
|
class="panel-collapse in collapse"
|
||||||
|
>
|
||||||
{% for eid in compound.get_pubchem_substance_identifiers %}
|
{% for eid in compound.get_pubchem_substance_identifiers %}
|
||||||
<a class="list-group-item"
|
<a class="list-group-item" href="{{ eid.external_url }}"
|
||||||
href="{{ eid.external_url }}">SID{{ eid.identifier_value }}</a>
|
>SID{{ eid.identifier_value }}</a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if compound.get_chebi_identifiers %}
|
{% if compound.get_chebi_identifiers %}
|
||||||
<div class="panel panel-default panel-heading list-group-item"
|
<div
|
||||||
style="background-color:silver">
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="compound-chebi-identifier-link" data-toggle="collapse"
|
<a
|
||||||
|
id="compound-chebi-identifier-link"
|
||||||
|
data-toggle="collapse"
|
||||||
data-parent="#compound-external-identifier"
|
data-parent="#compound-external-identifier"
|
||||||
href="#compound-chebi-identifier">ChEBI Identifier</a>
|
href="#compound-chebi-identifier"
|
||||||
|
>ChEBI Identifier</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="compound-chebi-identifier" class="panel-collapse collapse in">
|
<div
|
||||||
|
id="compound-chebi-identifier"
|
||||||
|
class="panel-collapse in collapse"
|
||||||
|
>
|
||||||
{% for eid in compound.get_chebi_identifiers %}
|
{% for eid in compound.get_chebi_identifiers %}
|
||||||
<a class="list-group-item"
|
<a class="list-group-item" href="{{ eid.external_url }}"
|
||||||
href="{{ eid.external_url }}">CHEBI:{{ eid.identifier_value }}</a>
|
>CHEBI:{{ eid.identifier_value }}</a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|||||||
@ -10,16 +10,29 @@
|
|||||||
{% include "modals/objects/generic_delete_modal.html" %}
|
{% include "modals/objects/generic_delete_modal.html" %}
|
||||||
{% endblock action_modals %}
|
{% endblock action_modals %}
|
||||||
|
|
||||||
<div class="panel-group" id="compound-structure-detail">
|
<div class="panel-group" id="compound-structure-detail">
|
||||||
<div class="panel panel-default">
|
<div class="panel panel-default">
|
||||||
<div class="panel-heading" id="headingPanel" style="font-size:2rem;height: 46px">
|
<div
|
||||||
|
class="panel-heading"
|
||||||
|
id="headingPanel"
|
||||||
|
style="font-size:2rem;height: 46px"
|
||||||
|
>
|
||||||
{{ compound_structure.name|safe }}
|
{{ compound_structure.name|safe }}
|
||||||
<div id="actionsButton"
|
<div
|
||||||
|
id="actionsButton"
|
||||||
style="float: right;font-weight: normal;font-size: medium;position: relative; top: 50%; transform: translateY(-50%);z-index:100;display: none;"
|
style="float: right;font-weight: normal;font-size: medium;position: relative; top: 50%; transform: translateY(-50%);z-index:100;display: none;"
|
||||||
class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button"
|
class="dropdown"
|
||||||
aria-haspopup="true" aria-expanded="false"><span
|
>
|
||||||
class="glyphicon glyphicon-wrench"></span> Actions <span class="caret"></span><span
|
<a
|
||||||
style="padding-right:1em"></span></a>
|
href="#"
|
||||||
|
class="dropdown-toggle"
|
||||||
|
data-toggle="dropdown"
|
||||||
|
role="button"
|
||||||
|
aria-haspopup="true"
|
||||||
|
aria-expanded="false"
|
||||||
|
><span class="glyphicon glyphicon-wrench"></span> Actions
|
||||||
|
<span class="caret"></span><span style="padding-right:1em"></span
|
||||||
|
></a>
|
||||||
<ul id="actionsList" class="dropdown-menu">
|
<ul id="actionsList" class="dropdown-menu">
|
||||||
{% block actions %}
|
{% block actions %}
|
||||||
{% include "actions/objects/compound_structure.html" %}
|
{% include "actions/objects/compound_structure.html" %}
|
||||||
@ -28,17 +41,25 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<p> {{ compound_structure.description|safe }} </p>
|
<p>{{ compound_structure.description|safe }}</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Image -->
|
<!-- Image -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="compound-structure-image-link" data-toggle="collapse" data-parent="#compound-structure-detail"
|
<a
|
||||||
href="#compound-structure-image">Image Representation</a>
|
id="compound-structure-image-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#compound-structure-detail"
|
||||||
|
href="#compound-structure-image"
|
||||||
|
>Image Representation</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="compound-structure-image" class="panel-collapse collapse in">
|
<div id="compound-structure-image" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
<div id="image-div" align="center">
|
<div id="image-div" align="center">
|
||||||
{{ compound_structure.as_svg|safe }}
|
{{ compound_structure.as_svg|safe }}
|
||||||
@ -47,13 +68,21 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- SMILES -->
|
<!-- SMILES -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="compound-structure-smiles-link" data-toggle="collapse" data-parent="#compound-structure-detail"
|
<a
|
||||||
href="#compound-structure-smiles">SMILES Representation</a>
|
id="compound-structure-smiles-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#compound-structure-detail"
|
||||||
|
href="#compound-structure-smiles"
|
||||||
|
>SMILES Representation</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="compound-structure-smiles" class="panel-collapse collapse in">
|
<div id="compound-structure-smiles" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{{ compound_structure.smiles }}
|
{{ compound_structure.smiles }}
|
||||||
</div>
|
</div>
|
||||||
@ -61,13 +90,21 @@
|
|||||||
|
|
||||||
{% if compound_structure.aliases %}
|
{% if compound_structure.aliases %}
|
||||||
<!-- Aliases -->
|
<!-- Aliases -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="compound-structure-aliases-link" data-toggle="collapse" data-parent="#compound-structure-detail"
|
<a
|
||||||
href="#compound-structure-aliases">Aliases</a>
|
id="compound-structure-aliases-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#compound-structure-detail"
|
||||||
|
href="#compound-structure-aliases"
|
||||||
|
>Aliases</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="compound-structure-aliases" class="panel-collapse collapse in">
|
<div id="compound-structure-aliases" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for alias in compound_structure.aliases %}
|
{% for alias in compound_structure.aliases %}
|
||||||
<a class="list-group-item">{{ alias }}</a>
|
<a class="list-group-item">{{ alias }}</a>
|
||||||
@ -77,16 +114,29 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if compound_structure.scenarios.all %}
|
{% if compound_structure.scenarios.all %}
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="compound-structure-scenario-link" data-toggle="collapse" data-parent="#compound-structure-detail"
|
<a
|
||||||
href="#compound-structure-scenario">Scenarios</a>
|
id="compound-structure-scenario-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#compound-structure-detail"
|
||||||
|
href="#compound-structure-scenario"
|
||||||
|
>Scenarios</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="compound-structure-scenario" class="panel-collapse collapse in">
|
<div
|
||||||
|
id="compound-structure-scenario"
|
||||||
|
class="panel-collapse in collapse"
|
||||||
|
>
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for s in compound_structure.scenarios.all %}
|
{% for s in compound_structure.scenarios.all %}
|
||||||
<a class="list-group-item" href="{{ s.url }}">{{ s.name|safe }} <i>({{ s.package.name|safe }})</i></a>
|
<a class="list-group-item" href="{{ s.url }}"
|
||||||
|
>{{ s.name|safe }} <i>({{ s.package.name|safe }})</i></a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -95,8 +145,6 @@
|
|||||||
<!-- Reactions -->
|
<!-- Reactions -->
|
||||||
|
|
||||||
<!-- Pathways -->
|
<!-- Pathways -->
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
{% block content %}
|
{% block content %}
|
||||||
|
|
||||||
{% block action_modals %}
|
{% block action_modals %}
|
||||||
{# {% include "modals/objects/edit_edge_modal.html" %}#}
|
{# {% include "modals/objects/edit_edge_modal.html" %}#}
|
||||||
{% include "modals/objects/generic_set_aliases_modal.html" %}
|
{% include "modals/objects/generic_set_aliases_modal.html" %}
|
||||||
{% include "modals/objects/generic_set_scenario_modal.html" %}
|
{% include "modals/objects/generic_set_scenario_modal.html" %}
|
||||||
{% include "modals/objects/generic_delete_modal.html" %}
|
{% include "modals/objects/generic_delete_modal.html" %}
|
||||||
@ -11,14 +11,27 @@
|
|||||||
|
|
||||||
<div class="panel-group" id="edge-detail">
|
<div class="panel-group" id="edge-detail">
|
||||||
<div class="panel panel-default">
|
<div class="panel panel-default">
|
||||||
<div class="panel-heading" id="headingPanel" style="font-size:2rem;height: 46px">
|
<div
|
||||||
|
class="panel-heading"
|
||||||
|
id="headingPanel"
|
||||||
|
style="font-size:2rem;height: 46px"
|
||||||
|
>
|
||||||
{{ edge.edge_label.name|safe }}
|
{{ edge.edge_label.name|safe }}
|
||||||
<div id="actionsButton"
|
<div
|
||||||
|
id="actionsButton"
|
||||||
style="float: right;font-weight: normal;font-size: medium;position: relative; top: 50%; transform: translateY(-50%);z-index:100;display: none;"
|
style="float: right;font-weight: normal;font-size: medium;position: relative; top: 50%; transform: translateY(-50%);z-index:100;display: none;"
|
||||||
class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button"
|
class="dropdown"
|
||||||
aria-haspopup="true" aria-expanded="false"><span
|
>
|
||||||
class="glyphicon glyphicon-wrench"></span> Actions <span class="caret"></span><span
|
<a
|
||||||
style="padding-right:1em"></span></a>
|
href="#"
|
||||||
|
class="dropdown-toggle"
|
||||||
|
data-toggle="dropdown"
|
||||||
|
role="button"
|
||||||
|
aria-haspopup="true"
|
||||||
|
aria-expanded="false"
|
||||||
|
><span class="glyphicon glyphicon-wrench"></span> Actions
|
||||||
|
<span class="caret"></span><span style="padding-right:1em"></span
|
||||||
|
></a>
|
||||||
<ul id="actionsList" class="dropdown-menu">
|
<ul id="actionsList" class="dropdown-menu">
|
||||||
{% block actions %}
|
{% block actions %}
|
||||||
{% include "actions/objects/edge.html" %}
|
{% include "actions/objects/edge.html" %}
|
||||||
@ -28,13 +41,21 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Description -->
|
<!-- Description -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="edge-desc-link" data-toggle="collapse" data-parent="#edge-detail"
|
<a
|
||||||
href="#edge-desc">Description</a>
|
id="edge-desc-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#edge-detail"
|
||||||
|
href="#edge-desc"
|
||||||
|
>Description</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="edge-desc" class="panel-collapse collapse in">
|
<div id="edge-desc" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{{ edge.description|safe }}
|
{{ edge.description|safe }}
|
||||||
</div>
|
</div>
|
||||||
@ -42,13 +63,21 @@
|
|||||||
|
|
||||||
{% if edge.aliases %}
|
{% if edge.aliases %}
|
||||||
<!-- Aliases -->
|
<!-- Aliases -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="edge-aliases-link" data-toggle="collapse" data-parent="#edge-detail"
|
<a
|
||||||
href="#edge-aliases">Aliases</a>
|
id="edge-aliases-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#edge-detail"
|
||||||
|
href="#edge-aliases"
|
||||||
|
>Aliases</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="edge-aliases" class="panel-collapse collapse in">
|
<div id="edge-aliases" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for alias in edge.aliases %}
|
{% for alias in edge.aliases %}
|
||||||
<a class="list-group-item">{{ alias }}</a>
|
<a class="list-group-item">{{ alias }}</a>
|
||||||
@ -58,13 +87,21 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<!-- Image -->
|
<!-- Image -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="edge-image-link" data-toggle="collapse" data-parent="#edge-detail"
|
<a
|
||||||
href="#edge-image">Image Representation</a>
|
id="edge-image-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#edge-detail"
|
||||||
|
href="#edge-image"
|
||||||
|
>Image Representation</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="edge-image" class="panel-collapse collapse in">
|
<div id="edge-image" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
<div id="image-div" align="center">
|
<div id="image-div" align="center">
|
||||||
{{ edge.edge_label.as_svg|safe }}
|
{{ edge.edge_label.as_svg|safe }}
|
||||||
@ -73,33 +110,56 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Reaction Description -->
|
<!-- Reaction Description -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="edge-description-link" data-toggle="collapse" data-parent="#edge-description-detail"
|
<a
|
||||||
href="#edge-description-smiles">Reaction Description</a>
|
id="edge-description-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#edge-description-detail"
|
||||||
|
href="#edge-description-smiles"
|
||||||
|
>Reaction Description</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="edge-description-smiles" class="panel-collapse collapse in">
|
<div id="edge-description-smiles" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for educt in edge.start_nodes.all %}
|
{% for educt in edge.start_nodes.all %}
|
||||||
<a class="btn btn-default" href="{{ educt.url }}">{{ educt.name|safe }}</a>
|
<a class="btn btn-default" href="{{ educt.url }}"
|
||||||
|
>{{ educt.name|safe }}</a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
<span class="glyphicon glyphicon-arrow-right" style="margin-left:5em;margin-right:5em;"
|
<span
|
||||||
aria-hidden="true"></span>
|
class="glyphicon glyphicon-arrow-right"
|
||||||
|
style="margin-left:5em;margin-right:5em;"
|
||||||
|
aria-hidden="true"
|
||||||
|
></span>
|
||||||
{% for product in edge.end_nodes.all %}
|
{% for product in edge.end_nodes.all %}
|
||||||
<a class="btn btn-default" href="{{ product.url }}">{{ product.name|safe }}</a>
|
<a class="btn btn-default" href="{{ product.url }}"
|
||||||
|
>{{ product.name|safe }}</a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- SMIRKS -->
|
<!-- SMIRKS -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="edge-smirks-link" data-toggle="collapse" data-parent="#edge-detail"
|
<a
|
||||||
href="#edge-smirks">SMIRKS Representation</a>
|
id="edge-smirks-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#edge-detail"
|
||||||
|
href="#edge-smirks"
|
||||||
|
>SMIRKS Representation</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="edge-smirks" class="panel-collapse collapse in">
|
<div id="edge-smirks" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{{ edge.edge_label.smirks }}
|
{{ edge.edge_label.smirks }}
|
||||||
</div>
|
</div>
|
||||||
@ -107,36 +167,56 @@
|
|||||||
|
|
||||||
{% if edge.edge_label.rules.all %}
|
{% if edge.edge_label.rules.all %}
|
||||||
<!-- Rules -->
|
<!-- Rules -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="edge-rules-link" data-toggle="collapse" data-parent="#edge-detail"
|
<a
|
||||||
href="#edge-rules">Rules</a>
|
id="edge-rules-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#edge-detail"
|
||||||
|
href="#edge-rules"
|
||||||
|
>Rules</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="edge-rules" class="panel-collapse collapse in">
|
<div id="edge-rules" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for r in edge.edge_label.rules.all %}
|
{% for r in edge.edge_label.rules.all %}
|
||||||
<a class="list-group-item" href="{{ r.url }}">{{ r.name|safe }}</a>
|
<a class="list-group-item" href="{{ r.url }}"
|
||||||
|
>{{ r.name|safe }}</a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if edge.scenarios.all %}
|
{% if edge.scenarios.all %}
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="edge-scenario-link" data-toggle="collapse" data-parent="#edge-detail"
|
<a
|
||||||
href="#edge-scenario">Scenarios</a>
|
id="edge-scenario-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#edge-detail"
|
||||||
|
href="#edge-scenario"
|
||||||
|
>Scenarios</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="edge-scenario" class="panel-collapse collapse in">
|
<div id="edge-scenario" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for s in edge.scenarios.all %}
|
{% for s in edge.scenarios.all %}
|
||||||
<a class="list-group-item" href="{{ s.url }}">{{ s.name|safe }} <i>({{ s.package.name|safe }})</i></a>
|
<a class="list-group-item" href="{{ s.url }}"
|
||||||
|
>{{ s.name|safe }} <i>({{ s.package.name|safe }})</i></a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|||||||
@ -1,105 +1,164 @@
|
|||||||
{% extends "framework.html" %}
|
{% extends "framework.html" %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
|
||||||
<div class="panel-group" id="enzyme-detail">
|
<div class="panel-group" id="enzyme-detail">
|
||||||
<div class="panel panel-default">
|
<div class="panel panel-default">
|
||||||
<div class="panel-heading" id="headingPanel" style="font-size:2rem;height: 46px">
|
<div
|
||||||
|
class="panel-heading"
|
||||||
|
id="headingPanel"
|
||||||
|
style="font-size:2rem;height: 46px"
|
||||||
|
>
|
||||||
{{ enzymelink.ec_number }}
|
{{ enzymelink.ec_number }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Name -->
|
<!-- Name -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="enzyme-name-link" data-toggle="collapse" data-parent="#enzyme-detail"
|
<a
|
||||||
href="#enzyme-name">Enzyme Name</a>
|
id="enzyme-name-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#enzyme-detail"
|
||||||
|
href="#enzyme-name"
|
||||||
|
>Enzyme Name</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="enzyme-name" class="panel-collapse collapse in">
|
<div id="enzyme-name" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">{{ enzymelink.name }}</div>
|
||||||
{{ enzymelink.name }}
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Linking Method -->
|
<!-- Linking Method -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="enzyme-linking-link" data-toggle="collapse" data-parent="#enzyme-detail"
|
<a
|
||||||
href="#enzyme-linking">Linking Method</a>
|
id="enzyme-linking-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#enzyme-detail"
|
||||||
|
href="#enzyme-linking"
|
||||||
|
>Linking Method</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="enzyme-linking" class="panel-collapse collapse in">
|
<div id="enzyme-linking" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{{ enzymelink.linking_method }}. <a
|
{{ enzymelink.linking_method }}. <a
|
||||||
href="https://wiki.envipath.org/index.php/Rules#EnzymeLinks" target="#">Learn more >></a>
|
href="https://wiki.envipath.org/index.php/Rules#EnzymeLinks"
|
||||||
|
target="#"
|
||||||
|
>Learn more >></a
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if enzymelink.kegg_reaction_links %}
|
{% if enzymelink.kegg_reaction_links %}
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="enzyme-evidence-link" data-toggle="collapse" data-parent="#enzyme-detail"
|
<a
|
||||||
href="#enzyme-evidence">Linking Evidence</a>
|
id="enzyme-evidence-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#enzyme-detail"
|
||||||
|
href="#enzyme-evidence"
|
||||||
|
>Linking Evidence</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="enzyme-evidence" class="panel-collapse collapse in">
|
<div id="enzyme-evidence" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for kl in enzymelink.kegg_reaction_links %}
|
{% for kl in enzymelink.kegg_reaction_links %}
|
||||||
<a class="list-group-item"
|
<a class="list-group-item" href="{{ kl.external_url }}"
|
||||||
href="{{ kl.external_url }}">{{ kl.identifier_value }}</a>
|
>{{ kl.identifier_value }}</a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if enzymelink.reaction_evidence.all %}
|
{% if enzymelink.reaction_evidence.all %}
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="enzyme-reaction-evidence-link" data-toggle="collapse" data-parent="#enzyme-detail"
|
<a
|
||||||
href="#enzyme-reaction-evidence">Linking Evidence - enviPath Reactions</a>
|
id="enzyme-reaction-evidence-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#enzyme-detail"
|
||||||
|
href="#enzyme-reaction-evidence"
|
||||||
|
>Linking Evidence - enviPath Reactions</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="enzyme-reaction-evidence" class="panel-collapse collapse in">
|
<div id="enzyme-reaction-evidence" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for r in enzymelink.reaction_evidence.all %}
|
{% for r in enzymelink.reaction_evidence.all %}
|
||||||
<a class="list-group-item" href="{{ r.url }}">{{ r.name }} <i>({{ r.package.name }})</i></a>
|
<a class="list-group-item" href="{{ r.url }}"
|
||||||
|
>{{ r.name }} <i>({{ r.package.name }})</i></a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if enzymelink.edge_evidence.all %}
|
{% if enzymelink.edge_evidence.all %}
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="enzyme-edge-evidence-link" data-toggle="collapse" data-parent="#enzyme-detail"
|
<a
|
||||||
href="#enzyme-edge-evidence">Linking Evidence - enviPath Pathways</a>
|
id="enzyme-edge-evidence-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#enzyme-detail"
|
||||||
|
href="#enzyme-edge-evidence"
|
||||||
|
>Linking Evidence - enviPath Pathways</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="enzyme-edge-evidence" class="panel-collapse collapse in">
|
<div id="enzyme-edge-evidence" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for e in enzymelink.edge_evidence.all %}
|
{% for e in enzymelink.edge_evidence.all %}
|
||||||
<a class="list-group-item" href="{{ e.pathway.url }}">{{ e.pathway.name }}
|
<a class="list-group-item" href="{{ e.pathway.url }}"
|
||||||
<i>({{ r.package.name }})</i></a>
|
>{{ e.pathway.name }} <i>({{ r.package.name }})</i></a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<!-- External DB Reference -->
|
<!-- External DB Reference -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="enzyme-external-identifier-link" data-toggle="collapse" data-parent="#enzyme-detail"
|
<a
|
||||||
href="#enzyme-external-identifier">External DB References</a>
|
id="enzyme-external-identifier-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#enzyme-detail"
|
||||||
|
href="#enzyme-external-identifier"
|
||||||
|
>External DB References</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="enzyme-external-identifier" class="panel-collapse collapse in">
|
<div id="enzyme-external-identifier" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
<a class="list-group-item"
|
<a
|
||||||
|
class="list-group-item"
|
||||||
href="http://www.brenda-enzymes.org/enzyme.php?ecno={{ enzymelink.ec_number }}"
|
href="http://www.brenda-enzymes.org/enzyme.php?ecno={{ enzymelink.ec_number }}"
|
||||||
target="_blank"> Brenda entry for {{ enzymelink.ec_number }}</a>
|
target="_blank"
|
||||||
|
>
|
||||||
|
Brenda entry for {{ enzymelink.ec_number }}</a
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|||||||
@ -2,22 +2,35 @@
|
|||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
|
||||||
{% block action_modals %}
|
{% block action_modals %}
|
||||||
{% include "modals/objects/edit_group_modal.html" %}
|
{% include "modals/objects/edit_group_modal.html" %}
|
||||||
{% include "modals/objects/edit_group_member_modal.html" %}
|
{% include "modals/objects/edit_group_member_modal.html" %}
|
||||||
{% include "modals/objects/generic_delete_modal.html" %}
|
{% include "modals/objects/generic_delete_modal.html" %}
|
||||||
{% endblock action_modals %}
|
{% endblock action_modals %}
|
||||||
|
|
||||||
<div class="panel-group" id="package-detail">
|
<div class="panel-group" id="package-detail">
|
||||||
<div class="panel panel-default">
|
<div class="panel panel-default">
|
||||||
<div class="panel-heading" id="headingPanel" style="font-size:2rem;height: 46px">
|
<div
|
||||||
|
class="panel-heading"
|
||||||
|
id="headingPanel"
|
||||||
|
style="font-size:2rem;height: 46px"
|
||||||
|
>
|
||||||
{{ group.name|safe }}
|
{{ group.name|safe }}
|
||||||
<div id="actionsButton"
|
<div
|
||||||
|
id="actionsButton"
|
||||||
style="float: right;font-weight: normal;font-size: medium;position: relative; top: 50%; transform: translateY(-50%);z-index:100;display: none;"
|
style="float: right;font-weight: normal;font-size: medium;position: relative; top: 50%; transform: translateY(-50%);z-index:100;display: none;"
|
||||||
class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button"
|
class="dropdown"
|
||||||
aria-haspopup="true" aria-expanded="false"><span
|
>
|
||||||
class="glyphicon glyphicon-wrench"></span> Actions <span class="caret"></span><span
|
<a
|
||||||
style="padding-right:1em"></span></a>
|
href="#"
|
||||||
|
class="dropdown-toggle"
|
||||||
|
data-toggle="dropdown"
|
||||||
|
role="button"
|
||||||
|
aria-haspopup="true"
|
||||||
|
aria-expanded="false"
|
||||||
|
><span class="glyphicon glyphicon-wrench"></span> Actions
|
||||||
|
<span class="caret"></span><span style="padding-right:1em"></span
|
||||||
|
></a>
|
||||||
<ul id="actionsList" class="dropdown-menu">
|
<ul id="actionsList" class="dropdown-menu">
|
||||||
{% block actions %}
|
{% block actions %}
|
||||||
{% include "actions/objects/group.html" %}
|
{% include "actions/objects/group.html" %}
|
||||||
@ -26,20 +39,28 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<p> {{ group.description|safe }} </p>
|
<p>{{ group.description|safe }}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p></p>
|
<p></p>
|
||||||
|
|
||||||
<div class="panel panel-default">
|
<div class="panel panel-default">
|
||||||
<div id="member-panel" style="font-size:2rem;height: 46px" class="panel-heading">Members</div>
|
<div
|
||||||
|
id="member-panel"
|
||||||
|
style="font-size:2rem;height: 46px"
|
||||||
|
class="panel-heading"
|
||||||
|
>
|
||||||
|
Members
|
||||||
|
</div>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<p>List of members of this group</p>
|
<p>List of members of this group</p>
|
||||||
</div>
|
</div>
|
||||||
<ul class="list-group">
|
<ul class="list-group">
|
||||||
{% for um in group.user_member.all %}
|
{% for um in group.user_member.all %}
|
||||||
<a class="list-group-item" href="{{ um.url }}">{{ um.username|safe }}</a>
|
<a class="list-group-item" href="{{ um.url }}"
|
||||||
|
>{{ um.username|safe }}</a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% for gm in group.group_member.all %}
|
{% for gm in group.group_member.all %}
|
||||||
<a class="list-group-item" href="{{ gm.url }}">{{ gm.name|safe }}</a>
|
<a class="list-group-item" href="{{ gm.url }}">{{ gm.name|safe }}</a>
|
||||||
@ -50,7 +71,13 @@
|
|||||||
<p></p>
|
<p></p>
|
||||||
|
|
||||||
<div class="panel panel-default">
|
<div class="panel panel-default">
|
||||||
<div id="package-panel" style="font-size:2rem;height: 46px" class="panel-heading">Packages</div>
|
<div
|
||||||
|
id="package-panel"
|
||||||
|
style="font-size:2rem;height: 46px"
|
||||||
|
class="panel-heading"
|
||||||
|
>
|
||||||
|
Packages
|
||||||
|
</div>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<p>Packages where this group has access to</p>
|
<p>Packages where this group has access to</p>
|
||||||
</div>
|
</div>
|
||||||
@ -60,5 +87,5 @@
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|||||||
@ -67,7 +67,7 @@
|
|||||||
>
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="rule-package" class="panel-collapse collapse in">
|
<div id="rule-package" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for p in model.rule_packages.all %}
|
{% for p in model.rule_packages.all %}
|
||||||
<a class="list-group-item" href="{{ p.url }}"
|
<a class="list-group-item" href="{{ p.url }}"
|
||||||
@ -91,7 +91,7 @@
|
|||||||
>
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="reaction-package" class="panel-collapse collapse in">
|
<div id="reaction-package" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for p in model.data_packages.all %}
|
{% for p in model.data_packages.all %}
|
||||||
<a class="list-group-item" href="{{ p.url }}"
|
<a class="list-group-item" href="{{ p.url }}"
|
||||||
@ -116,7 +116,7 @@
|
|||||||
>
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="eval-package" class="panel-collapse collapse in">
|
<div id="eval-package" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for p in model.eval_packages.all %}
|
{% for p in model.eval_packages.all %}
|
||||||
<a class="list-group-item" href="{{ p.url }}"
|
<a class="list-group-item" href="{{ p.url }}"
|
||||||
@ -141,7 +141,7 @@
|
|||||||
>
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="model-status" class="panel-collapse collapse in">
|
<div id="model-status" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">{{ model.status }}</div>
|
<div class="panel-body list-group-item">{{ model.status }}</div>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -161,7 +161,7 @@
|
|||||||
>
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="predict-smiles" class="panel-collapse collapse in">
|
<div id="predict-smiles" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<input
|
<input
|
||||||
@ -203,7 +203,7 @@
|
|||||||
>
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="app-domain-assessment" class="panel-collapse collapse in">
|
<div id="app-domain-assessment" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<input
|
<input
|
||||||
@ -245,7 +245,7 @@
|
|||||||
>
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="sg-curve" class="panel-collapse collapse in">
|
<div id="sg-curve" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
<!-- Center container contents -->
|
<!-- Center container contents -->
|
||||||
<div
|
<div
|
||||||
|
|||||||
@ -11,14 +11,27 @@
|
|||||||
|
|
||||||
<div class="panel-group" id="node-detail">
|
<div class="panel-group" id="node-detail">
|
||||||
<div class="panel panel-default">
|
<div class="panel panel-default">
|
||||||
<div class="panel-heading" id="headingPanel" style="font-size:2rem;height: 46px">
|
<div
|
||||||
|
class="panel-heading"
|
||||||
|
id="headingPanel"
|
||||||
|
style="font-size:2rem;height: 46px"
|
||||||
|
>
|
||||||
{{ node.name|safe }}
|
{{ node.name|safe }}
|
||||||
<div id="actionsButton"
|
<div
|
||||||
|
id="actionsButton"
|
||||||
style="float: right;font-weight: normal;font-size: medium;position: relative; top: 50%; transform: translateY(-50%);z-index:100;display: none;"
|
style="float: right;font-weight: normal;font-size: medium;position: relative; top: 50%; transform: translateY(-50%);z-index:100;display: none;"
|
||||||
class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button"
|
class="dropdown"
|
||||||
aria-haspopup="true" aria-expanded="false"><span
|
>
|
||||||
class="glyphicon glyphicon-wrench"></span> Actions <span class="caret"></span><span
|
<a
|
||||||
style="padding-right:1em"></span></a>
|
href="#"
|
||||||
|
class="dropdown-toggle"
|
||||||
|
data-toggle="dropdown"
|
||||||
|
role="button"
|
||||||
|
aria-haspopup="true"
|
||||||
|
aria-expanded="false"
|
||||||
|
><span class="glyphicon glyphicon-wrench"></span> Actions
|
||||||
|
<span class="caret"></span><span style="padding-right:1em"></span
|
||||||
|
></a>
|
||||||
<ul id="actionsList" class="dropdown-menu">
|
<ul id="actionsList" class="dropdown-menu">
|
||||||
{% block actions %}
|
{% block actions %}
|
||||||
{% include "actions/objects/node.html" %}
|
{% include "actions/objects/node.html" %}
|
||||||
@ -27,17 +40,26 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
The underlying structure can be found <a href="{{ node.default_node_label.url }}">here</a>.
|
The underlying structure can be found
|
||||||
|
<a href="{{ node.default_node_label.url }}">here</a>.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Description -->
|
<!-- Description -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="node-desc-link" data-toggle="collapse" data-parent="#node-detail"
|
<a
|
||||||
href="#node-desc">Description</a>
|
id="node-desc-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#node-detail"
|
||||||
|
href="#node-desc"
|
||||||
|
>Description</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="node-desc" class="panel-collapse collapse in">
|
<div id="node-desc" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{{ node.description|safe }}
|
{{ node.description|safe }}
|
||||||
</div>
|
</div>
|
||||||
@ -45,13 +67,21 @@
|
|||||||
|
|
||||||
{% if node.aliases %}
|
{% if node.aliases %}
|
||||||
<!-- Aliases -->
|
<!-- Aliases -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="node-aliases-link" data-toggle="collapse" data-parent="#node-detail"
|
<a
|
||||||
href="#node-aliases">Aliases</a>
|
id="node-aliases-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#node-detail"
|
||||||
|
href="#node-aliases"
|
||||||
|
>Aliases</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="node-aliases" class="panel-collapse collapse in">
|
<div id="node-aliases" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for alias in node.aliases %}
|
{% for alias in node.aliases %}
|
||||||
<a class="list-group-item">{{ alias }}</a>
|
<a class="list-group-item">{{ alias }}</a>
|
||||||
@ -61,13 +91,21 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<!-- Image -->
|
<!-- Image -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="node-image-link" data-toggle="collapse" data-parent="#node-detail"
|
<a
|
||||||
href="#node-image">Image Representation</a>
|
id="node-image-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#node-detail"
|
||||||
|
href="#node-image"
|
||||||
|
>Image Representation</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="node-image" class="panel-collapse collapse in">
|
<div id="node-image" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
<div id="image-div" align="center">
|
<div id="image-div" align="center">
|
||||||
{{ node.default_node_label.as_svg|safe }}
|
{{ node.default_node_label.as_svg|safe }}
|
||||||
@ -76,29 +114,47 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- SMILES -->
|
<!-- SMILES -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="node-smiles-link" data-toggle="collapse" data-parent="#node-detail"
|
<a
|
||||||
href="#node-smiles">SMILES Representation</a>
|
id="node-smiles-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#node-detail"
|
||||||
|
href="#node-smiles"
|
||||||
|
>SMILES Representation</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="node-smiles" class="panel-collapse collapse in">
|
<div id="node-smiles" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{{ node.default_node_label.smiles }}
|
{{ node.default_node_label.smiles }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if node.scenarios.all %}
|
{% if node.scenarios.all %}
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="node-scenario-link" data-toggle="collapse" data-parent="#node-detail"
|
<a
|
||||||
href="#node-scenario">Scenarios</a>
|
id="node-scenario-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#node-detail"
|
||||||
|
href="#node-scenario"
|
||||||
|
>Scenarios</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="node-scenario" class="panel-collapse collapse in">
|
<div id="node-scenario" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for s in node.scenarios.all %}
|
{% for s in node.scenarios.all %}
|
||||||
<a class="list-group-item" href="{{ s.url }}">{{ s.name|safe }} <i>({{ s.package.name|safe }})</i></a>
|
<a class="list-group-item" href="{{ s.url }}"
|
||||||
|
>{{ s.name|safe }} <i>({{ s.package.name|safe }})</i></a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -106,16 +162,14 @@
|
|||||||
|
|
||||||
{% if app_domain_assessment_data %}
|
{% if app_domain_assessment_data %}
|
||||||
<div id="appDomainAssessmentResultTable"></div>
|
<div id="appDomainAssessmentResultTable"></div>
|
||||||
|
{# prettier-ignore-start #}
|
||||||
<script>
|
<script>
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
handleAssessmentResponse("{% url 'depict' %}", {{ app_domain_assessment_data|safe }})
|
handleAssessmentResponse("{% url 'depict' %}", {{ app_domain_assessment_data|safe }})
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
{# prettier-ignore-end #}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|||||||
@ -2,25 +2,38 @@
|
|||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
|
||||||
{% block action_modals %}
|
{% block action_modals %}
|
||||||
{% include "modals/objects/edit_package_modal.html" %}
|
{% include "modals/objects/edit_package_modal.html" %}
|
||||||
{% include "modals/objects/edit_package_permissions_modal.html" %}
|
{% include "modals/objects/edit_package_permissions_modal.html" %}
|
||||||
{% include "modals/objects/publish_package_modal.html" %}
|
{% include "modals/objects/publish_package_modal.html" %}
|
||||||
{% include "modals/objects/set_license_modal.html" %}
|
{% include "modals/objects/set_license_modal.html" %}
|
||||||
{% include "modals/objects/export_package_modal.html" %}
|
{% include "modals/objects/export_package_modal.html" %}
|
||||||
{% include "modals/objects/generic_delete_modal.html" %}
|
{% include "modals/objects/generic_delete_modal.html" %}
|
||||||
{% endblock action_modals %}
|
{% endblock action_modals %}
|
||||||
|
|
||||||
<div class="panel-group" id="package-detail">
|
<div class="panel-group" id="package-detail">
|
||||||
<div class="panel panel-default">
|
<div class="panel panel-default">
|
||||||
<div class="panel-heading" id="headingPanel" style="font-size:2rem;height: 46px">
|
<div
|
||||||
|
class="panel-heading"
|
||||||
|
id="headingPanel"
|
||||||
|
style="font-size:2rem;height: 46px"
|
||||||
|
>
|
||||||
{{ package.name|safe }}
|
{{ package.name|safe }}
|
||||||
<div id="actionsButton"
|
<div
|
||||||
|
id="actionsButton"
|
||||||
style="float: right;font-weight: normal;font-size: medium;position: relative; top: 50%; transform: translateY(-50%);z-index:100;display: none;"
|
style="float: right;font-weight: normal;font-size: medium;position: relative; top: 50%; transform: translateY(-50%);z-index:100;display: none;"
|
||||||
class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button"
|
class="dropdown"
|
||||||
aria-haspopup="true" aria-expanded="false"><span
|
>
|
||||||
class="glyphicon glyphicon-wrench"></span> Actions <span class="caret"></span><span
|
<a
|
||||||
style="padding-right:1em"></span></a>
|
href="#"
|
||||||
|
class="dropdown-toggle"
|
||||||
|
data-toggle="dropdown"
|
||||||
|
role="button"
|
||||||
|
aria-haspopup="true"
|
||||||
|
aria-expanded="false"
|
||||||
|
><span class="glyphicon glyphicon-wrench"></span> Actions
|
||||||
|
<span class="caret"></span><span style="padding-right:1em"></span
|
||||||
|
></a>
|
||||||
<ul id="actionsList" class="dropdown-menu">
|
<ul id="actionsList" class="dropdown-menu">
|
||||||
{% block actions %}
|
{% block actions %}
|
||||||
{% include "actions/objects/package.html" %}
|
{% include "actions/objects/package.html" %}
|
||||||
@ -29,30 +42,38 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<p> {{ package.description|safe }} </p>
|
<p>{{ package.description|safe }}</p>
|
||||||
</div>
|
</div>
|
||||||
<ul class="list-group">
|
<ul class="list-group">
|
||||||
<li class="list-group-item">
|
<li class="list-group-item">
|
||||||
<a href="{{ package.url }}/pathway">Pathways ({{ package.pathways.count }})</a>
|
<a href="{{ package.url }}/pathway"
|
||||||
|
>Pathways ({{ package.pathways.count }})</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li class="list-group-item">
|
<li class="list-group-item">
|
||||||
<a href="{{ package.url }}/rule">Rules ({{ package.rules.count }})</a>
|
<a href="{{ package.url }}/rule">Rules ({{ package.rules.count }})</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="list-group-item">
|
<li class="list-group-item">
|
||||||
<a href="{{ package.url }}/compound">Compounds ({{ package.compounds.count }})</a>
|
<a href="{{ package.url }}/compound"
|
||||||
|
>Compounds ({{ package.compounds.count }})</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li class="list-group-item">
|
<li class="list-group-item">
|
||||||
<a href="{{ package.url }}/reaction">Reactions ({{ package.reactions.count }})</a>
|
<a href="{{ package.url }}/reaction"
|
||||||
|
>Reactions ({{ package.reactions.count }})</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li class="list-group-item">
|
<li class="list-group-item">
|
||||||
<a href="{{ package.url }}/model">Models ({{ package.models.count }})</a>
|
<a href="{{ package.url }}/model"
|
||||||
|
>Models ({{ package.models.count }})</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li class="list-group-item">
|
<li class="list-group-item">
|
||||||
<a href="{{ package.url }}/scenario">Scenarios ({{ package.scenarios.count }})</a>
|
<a href="{{ package.url }}/scenario"
|
||||||
|
>Scenarios ({{ package.scenarios.count }})</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
{% extends "framework.html" %}
|
{% extends "framework.html" %}
|
||||||
{% load static %}
|
{% load static %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
|
||||||
<script src="https://d3js.org/d3.v7.min.js"></script>
|
<script src="https://d3js.org/d3.v7.min.js"></script>
|
||||||
<style>
|
<style>
|
||||||
#vizdiv {
|
#vizdiv {
|
||||||
@ -19,7 +18,6 @@
|
|||||||
.link {
|
.link {
|
||||||
stroke: #999;
|
stroke: #999;
|
||||||
stroke-opacity: 0.6;
|
stroke-opacity: 0.6;
|
||||||
//marker-end: url(#arrow);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.link_no_arrow {
|
.link_no_arrow {
|
||||||
@ -61,7 +59,6 @@
|
|||||||
stroke-opacity: 0.6;
|
stroke-opacity: 0.6;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.highlighted {
|
.highlighted {
|
||||||
stroke: red;
|
stroke: red;
|
||||||
stroke-width: 3px;
|
stroke-width: 3px;
|
||||||
@ -73,7 +70,7 @@
|
|||||||
padding: 5px;
|
padding: 5px;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
opacity: 1
|
opacity: 1;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<script src="{% static 'js/pw.js' %}"></script>
|
<script src="{% static 'js/pw.js' %}"></script>
|
||||||
@ -97,29 +94,47 @@
|
|||||||
<div id="pwcontent">
|
<div id="pwcontent">
|
||||||
<div class="panel-group" id="pwAccordion">
|
<div class="panel-group" id="pwAccordion">
|
||||||
<div class="panel panel-default">
|
<div class="panel panel-default">
|
||||||
<div class="panel-heading" id="headingPanel" style="font-size:2rem;height: 46px">
|
<div
|
||||||
|
class="panel-heading"
|
||||||
|
id="headingPanel"
|
||||||
|
style="font-size:2rem;height: 46px"
|
||||||
|
>
|
||||||
{{ pathway.name|safe }}
|
{{ pathway.name|safe }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="vizLink" data-toggle="collapse" data-parent="#pwAccordion" href="#viz">
|
<a
|
||||||
|
id="vizLink"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#pwAccordion"
|
||||||
|
href="#viz"
|
||||||
|
>
|
||||||
Graphical Representation
|
Graphical Representation
|
||||||
</a>
|
</a>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="viz" class="panel-collapse collapse in">
|
<div id="viz" class="panel-collapse in collapse">
|
||||||
<nav role="navigation" class="navbar navbar-default" style="margin: 0;">
|
<nav role="navigation" class="navbar navbar-default" style="margin: 0;">
|
||||||
<div class="navbar-header">
|
<div class="navbar-header"></div>
|
||||||
</div>
|
<div id="editbarCollapse" class="navbar-collapse collapse">
|
||||||
<div id="editbarCollapse" class="collapse navbar-collapse ">
|
|
||||||
<ul class="nav navbar-nav">
|
<ul class="nav navbar-nav">
|
||||||
<li class="dropdown requiresWritePerm">
|
<li class="dropdown requiresWritePerm">
|
||||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button"
|
<a
|
||||||
aria-haspopup="true" aria-expanded="false">
|
href="#"
|
||||||
|
class="dropdown-toggle"
|
||||||
|
data-toggle="dropdown"
|
||||||
|
role="button"
|
||||||
|
aria-haspopup="true"
|
||||||
|
aria-expanded="false"
|
||||||
|
>
|
||||||
<span class="glyphicon glyphicon-edit"></span>
|
<span class="glyphicon glyphicon-edit"></span>
|
||||||
Edit
|
Edit
|
||||||
<span class="caret"></span></a>
|
<span class="caret"></span
|
||||||
|
></a>
|
||||||
<ul id="editingList" class="dropdown-menu">
|
<ul id="editingList" class="dropdown-menu">
|
||||||
{% block actions %}
|
{% block actions %}
|
||||||
{% include "actions/objects/pathway.html" %}
|
{% include "actions/objects/pathway.html" %}
|
||||||
@ -128,15 +143,27 @@
|
|||||||
</li>
|
</li>
|
||||||
{% if pathway.setting.model.app_domain %}
|
{% if pathway.setting.model.app_domain %}
|
||||||
<li class="dropdown">
|
<li class="dropdown">
|
||||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button"
|
<a
|
||||||
aria-haspopup="true" aria-expanded="false">
|
href="#"
|
||||||
|
class="dropdown-toggle"
|
||||||
|
data-toggle="dropdown"
|
||||||
|
role="button"
|
||||||
|
aria-haspopup="true"
|
||||||
|
aria-expanded="false"
|
||||||
|
>
|
||||||
<span class="glyphicon glyphicon-eye-open"></span>
|
<span class="glyphicon glyphicon-eye-open"></span>
|
||||||
View
|
View
|
||||||
<span class="caret"></span></a>
|
<span class="caret"></span
|
||||||
|
></a>
|
||||||
<ul id="editingList" class="dropdown-menu">
|
<ul id="editingList" class="dropdown-menu">
|
||||||
<li>
|
<li>
|
||||||
<a class="button" id="app-domain-toggle-button">
|
<a class="button" id="app-domain-toggle-button">
|
||||||
<i id="app-domain-toggle-button" class="glyphicon glyphicon-eye-open"></i> App Domain View</a>
|
<i
|
||||||
|
id="app-domain-toggle-button"
|
||||||
|
class="glyphicon glyphicon-eye-open"
|
||||||
|
></i>
|
||||||
|
App Domain View</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
@ -145,51 +172,96 @@
|
|||||||
|
|
||||||
<ul class="nav navbar-nav navbar-right">
|
<ul class="nav navbar-nav navbar-right">
|
||||||
<li>
|
<li>
|
||||||
<a role="button" data-toggle="modal" onclick="goFullscreen('vizdiv')">
|
<a
|
||||||
|
role="button"
|
||||||
|
data-toggle="modal"
|
||||||
|
onclick="goFullscreen('vizdiv')"
|
||||||
|
>
|
||||||
<span class="glyphicon glyphicon-fullscreen"></span>
|
<span class="glyphicon glyphicon-fullscreen"></span>
|
||||||
Fullscreen
|
Fullscreen
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
{% if pathway.completed %}
|
{% if pathway.completed %}
|
||||||
<button type="button" class="btn btn-default navbar-btn" data-toggle="popover"
|
<button
|
||||||
id="status" data-original-title="" title=""
|
type="button"
|
||||||
data-content="Pathway prediction complete.">
|
class="btn btn-default navbar-btn"
|
||||||
|
data-toggle="popover"
|
||||||
|
id="status"
|
||||||
|
data-original-title=""
|
||||||
|
title=""
|
||||||
|
data-content="Pathway prediction complete."
|
||||||
|
>
|
||||||
<span class="glyphicon glyphicon-ok"></span>
|
<span class="glyphicon glyphicon-ok"></span>
|
||||||
</button>
|
</button>
|
||||||
{% elif pathway.failed %}
|
{% elif pathway.failed %}
|
||||||
<button type="button" class="btn btn-default navbar-btn" data-toggle="popover"
|
<button
|
||||||
id="status" data-original-title="" title=""
|
type="button"
|
||||||
data-content="Pathway prediction failed.">
|
class="btn btn-default navbar-btn"
|
||||||
|
data-toggle="popover"
|
||||||
|
id="status"
|
||||||
|
data-original-title=""
|
||||||
|
title=""
|
||||||
|
data-content="Pathway prediction failed."
|
||||||
|
>
|
||||||
<span class="glyphicon glyphicon-remove"></span>
|
<span class="glyphicon glyphicon-remove"></span>
|
||||||
</button>
|
</button>
|
||||||
{% else %}
|
{% else %}
|
||||||
<button type="button" class="btn btn-default navbar-btn" data-toggle="popover"
|
<button
|
||||||
id="status" data-original-title="" title=""
|
type="button"
|
||||||
data-content="Pathway prediction running.">
|
class="btn btn-default navbar-btn"
|
||||||
<img height="20" src="{% static '/images/wait.gif' %}">
|
data-toggle="popover"
|
||||||
|
id="status"
|
||||||
|
data-original-title=""
|
||||||
|
title=""
|
||||||
|
data-content="Pathway prediction running."
|
||||||
|
>
|
||||||
|
<img height="20" src="{% static '/images/wait.gif' %}" />
|
||||||
</button>
|
</button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
<div id="vizdiv" >
|
<div id="vizdiv">
|
||||||
<svg id="pwsvg">
|
<svg id="pwsvg">
|
||||||
<defs>
|
<defs>
|
||||||
<marker id="arrow" viewBox="0 0 10 10" refX="43" refY="5" markerWidth="6" markerHeight="6"
|
<marker
|
||||||
orient="auto-start-reverse" markerUnits="userSpaceOnUse">
|
id="arrow"
|
||||||
<path d="M 0 0 L 10 5 L 0 10 z" fill="#999"/>
|
viewBox="0 0 10 10"
|
||||||
|
refX="43"
|
||||||
|
refY="5"
|
||||||
|
markerWidth="6"
|
||||||
|
markerHeight="6"
|
||||||
|
orient="auto-start-reverse"
|
||||||
|
markerUnits="userSpaceOnUse"
|
||||||
|
>
|
||||||
|
<path d="M 0 0 L 10 5 L 0 10 z" fill="#999" />
|
||||||
</marker>
|
</marker>
|
||||||
<marker id="arrow_passes_app_domain" viewBox="0 0 10 10" refX="43" refY="5" markerWidth="6" markerHeight="6"
|
<marker
|
||||||
orient="auto-start-reverse" markerUnits="userSpaceOnUse">
|
id="arrow_passes_app_domain"
|
||||||
<path d="M 0 0 L 10 5 L 0 10 z" fill="green"/>
|
viewBox="0 0 10 10"
|
||||||
|
refX="43"
|
||||||
|
refY="5"
|
||||||
|
markerWidth="6"
|
||||||
|
markerHeight="6"
|
||||||
|
orient="auto-start-reverse"
|
||||||
|
markerUnits="userSpaceOnUse"
|
||||||
|
>
|
||||||
|
<path d="M 0 0 L 10 5 L 0 10 z" fill="green" />
|
||||||
</marker>
|
</marker>
|
||||||
<marker id="arrow_fails_app_domain" viewBox="0 0 10 10" refX="43" refY="5" markerWidth="6" markerHeight="6"
|
<marker
|
||||||
orient="auto-start-reverse" markerUnits="userSpaceOnUse">
|
id="arrow_fails_app_domain"
|
||||||
<path d="M 0 0 L 10 5 L 0 10 z" fill="red"/>
|
viewBox="0 0 10 10"
|
||||||
|
refX="43"
|
||||||
|
refY="5"
|
||||||
|
markerWidth="6"
|
||||||
|
markerHeight="6"
|
||||||
|
orient="auto-start-reverse"
|
||||||
|
markerUnits="userSpaceOnUse"
|
||||||
|
>
|
||||||
|
<path d="M 0 0 L 10 5 L 0 10 z" fill="red" />
|
||||||
</marker>
|
</marker>
|
||||||
</defs>
|
</defs>
|
||||||
<g id="zoomable"></g>
|
<g id="zoomable"></g>
|
||||||
@ -198,12 +270,21 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- Description -->
|
<!-- Description -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="DescriptionLink" data-toggle="collapse" data-parent="#pathwayAccordion"
|
<a
|
||||||
href="#Description">Description</a></h4>
|
id="DescriptionLink"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#pathwayAccordion"
|
||||||
|
href="#Description"
|
||||||
|
>Description</a
|
||||||
|
>
|
||||||
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="Description" class="panel-collapse collapse in">
|
<div id="Description" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item" id="DescriptionContent">
|
<div class="panel-body list-group-item" id="DescriptionContent">
|
||||||
{{ pathway.description | safe }}
|
{{ pathway.description | safe }}
|
||||||
</div>
|
</div>
|
||||||
@ -211,13 +292,21 @@
|
|||||||
|
|
||||||
{% if pathway.aliases %}
|
{% if pathway.aliases %}
|
||||||
<!-- Aliases -->
|
<!-- Aliases -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="pathway-aliases-link" data-toggle="collapse" data-parent="#pathway-detail"
|
<a
|
||||||
href="#pathway-aliases">Aliases</a>
|
id="pathway-aliases-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#pathway-detail"
|
||||||
|
href="#pathway-aliases"
|
||||||
|
>Aliases</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="pathway-aliases" class="panel-collapse collapse in">
|
<div id="pathway-aliases" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for alias in pathway.aliases %}
|
{% for alias in pathway.aliases %}
|
||||||
<a class="list-group-item">{{ alias }}</a>
|
<a class="list-group-item">{{ alias }}</a>
|
||||||
@ -227,30 +316,49 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if pathway.scenarios.all %}
|
{% if pathway.scenarios.all %}
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="pathway-scenario-link" data-toggle="collapse" data-parent="#pathway-detail"
|
<a
|
||||||
href="#pathway-scenario">Scenarios</a>
|
id="pathway-scenario-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#pathway-detail"
|
||||||
|
href="#pathway-scenario"
|
||||||
|
>Scenarios</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="pathway-scenario" class="panel-collapse collapse in">
|
<div id="pathway-scenario" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for s in pathway.scenarios.all %}
|
{% for s in pathway.scenarios.all %}
|
||||||
<a class="list-group-item" href="{{ s.url }}">{{ s.name|safe }} <i>({{ s.package.name|safe }})</i></a>
|
<a class="list-group-item" href="{{ s.url }}"
|
||||||
|
>{{ s.name|safe }} <i>({{ s.package.name|safe }})</i></a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if pathway.setting %}
|
{% if pathway.setting %}
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="pathwaySettingLink" data-toggle="collapse" data-parent="#pathwayAccordion"
|
<a
|
||||||
href="#pathwaySetting">Setting</a></h4>
|
id="pathwaySettingLink"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#pathwayAccordion"
|
||||||
|
href="#pathwaySetting"
|
||||||
|
>Setting</a
|
||||||
|
>
|
||||||
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="pathwaySetting" class="panel-collapse collapse">
|
<div id="pathwaySetting" class="panel-collapse collapse">
|
||||||
<div class="panel-body list-group-item" id="pathwaySettingContent">
|
<div class="panel-body list-group-item" id="pathwaySettingContent">
|
||||||
<table class="table table-bordered table-hover">
|
<table class="table-bordered table-hover table">
|
||||||
<tr style="background-color: rgba(0, 0, 0, 0.08);">
|
<tr style="background-color: rgba(0, 0, 0, 0.08);">
|
||||||
<th scope="col" width="20%">Parameter</th>
|
<th scope="col" width="20%">Parameter</th>
|
||||||
<th scope="col" width="80%">Value</th>
|
<th scope="col" width="80%">Value</th>
|
||||||
@ -260,7 +368,10 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td width="20%">Model</td>
|
<td width="20%">Model</td>
|
||||||
<td width="80%">
|
<td width="80%">
|
||||||
<table width="100%" class="table table-bordered table-hover">
|
<table
|
||||||
|
width="100%"
|
||||||
|
class="table-bordered table-hover table"
|
||||||
|
>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="2">
|
<td colspan="2">
|
||||||
@ -276,9 +387,7 @@
|
|||||||
<th width="80%">Parameter Value</th>
|
<th width="80%">Parameter Value</th>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td width="20%">
|
<td width="20%">Threshold</td>
|
||||||
Threshold
|
|
||||||
</td>
|
|
||||||
<td width="80%">
|
<td width="80%">
|
||||||
{{ pathway.setting.model_threshold }}
|
{{ pathway.setting.model_threshold }}
|
||||||
</td>
|
</td>
|
||||||
@ -292,15 +401,16 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td width="20%">Rule Packages</td>
|
<td width="20%">Rule Packages</td>
|
||||||
<td width="80%">
|
<td width="80%">
|
||||||
<table width="100%" class="table table-bordered table-hover">
|
<table
|
||||||
|
width="100%"
|
||||||
|
class="table-bordered table-hover table"
|
||||||
|
>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="2">
|
<td colspan="2">
|
||||||
{% for p in pathway.setting.rule_packages.all %}
|
{% for p in pathway.setting.rule_packages.all %}
|
||||||
<li class="list-group-item">
|
<li class="list-group-item">
|
||||||
<a href="{{ p.url }}">
|
<a href="{{ p.url }}"> {{ p.name|safe }} </a>
|
||||||
{{ p.name|safe }}
|
|
||||||
</a>
|
|
||||||
</li>
|
</li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</td>
|
</td>
|
||||||
@ -333,6 +443,7 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
{# prettier-ignore-start #}
|
||||||
<script>
|
<script>
|
||||||
// Global switch for app domain view
|
// Global switch for app domain view
|
||||||
var appDomainViewEnabled = false;
|
var appDomainViewEnabled = false;
|
||||||
@ -455,4 +566,5 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
{# prettier-ignore-end #}
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|||||||
@ -13,14 +13,27 @@
|
|||||||
|
|
||||||
<div class="panel-group" id="reaction-detail">
|
<div class="panel-group" id="reaction-detail">
|
||||||
<div class="panel panel-default">
|
<div class="panel panel-default">
|
||||||
<div class="panel-heading" id="headingPanel" style="font-size:2rem;height: 46px">
|
<div
|
||||||
|
class="panel-heading"
|
||||||
|
id="headingPanel"
|
||||||
|
style="font-size:2rem;height: 46px"
|
||||||
|
>
|
||||||
{{ reaction.name|safe }}
|
{{ reaction.name|safe }}
|
||||||
<div id="actionsButton"
|
<div
|
||||||
|
id="actionsButton"
|
||||||
style="float: right;font-weight: normal;font-size: medium;position: relative; top: 50%; transform: translateY(-50%);z-index:100;display: none;"
|
style="float: right;font-weight: normal;font-size: medium;position: relative; top: 50%; transform: translateY(-50%);z-index:100;display: none;"
|
||||||
class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button"
|
class="dropdown"
|
||||||
aria-haspopup="true" aria-expanded="false"><span
|
>
|
||||||
class="glyphicon glyphicon-wrench"></span> Actions <span class="caret"></span><span
|
<a
|
||||||
style="padding-right:1em"></span></a>
|
href="#"
|
||||||
|
class="dropdown-toggle"
|
||||||
|
data-toggle="dropdown"
|
||||||
|
role="button"
|
||||||
|
aria-haspopup="true"
|
||||||
|
aria-expanded="false"
|
||||||
|
><span class="glyphicon glyphicon-wrench"></span> Actions
|
||||||
|
<span class="caret"></span><span style="padding-right:1em"></span
|
||||||
|
></a>
|
||||||
<ul id="actionsList" class="dropdown-menu">
|
<ul id="actionsList" class="dropdown-menu">
|
||||||
{% block actions %}
|
{% block actions %}
|
||||||
{% include "actions/objects/reaction.html" %}
|
{% include "actions/objects/reaction.html" %}
|
||||||
@ -30,13 +43,21 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Description -->
|
<!-- Description -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="reaction-desc-link" data-toggle="collapse" data-parent="#reaction-detail"
|
<a
|
||||||
href="#reaction-desc">Description</a>
|
id="reaction-desc-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#reaction-detail"
|
||||||
|
href="#reaction-desc"
|
||||||
|
>Description</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="reaction-desc" class="panel-collapse collapse in">
|
<div id="reaction-desc" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{{ reaction.description|safe }}
|
{{ reaction.description|safe }}
|
||||||
</div>
|
</div>
|
||||||
@ -44,13 +65,21 @@
|
|||||||
|
|
||||||
{% if reaction.aliases %}
|
{% if reaction.aliases %}
|
||||||
<!-- Aliases -->
|
<!-- Aliases -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="reaction-aliases-link" data-toggle="collapse" data-parent="#reaction-detail"
|
<a
|
||||||
href="#reaction-aliases">Aliases</a>
|
id="reaction-aliases-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#reaction-detail"
|
||||||
|
href="#reaction-aliases"
|
||||||
|
>Aliases</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="reaction-aliases" class="panel-collapse collapse in">
|
<div id="reaction-aliases" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for alias in reaction.aliases %}
|
{% for alias in reaction.aliases %}
|
||||||
<a class="list-group-item">{{ alias }}</a>
|
<a class="list-group-item">{{ alias }}</a>
|
||||||
@ -60,65 +89,102 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<!-- Image -->
|
<!-- Image -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="reaction-image-link" data-toggle="collapse" data-parent="#reaction-detail"
|
<a
|
||||||
href="#reaction-image">Image Representation</a>
|
id="reaction-image-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#reaction-detail"
|
||||||
|
href="#reaction-image"
|
||||||
|
>Image Representation</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="reaction-image" class="panel-collapse collapse in">
|
<div id="reaction-image" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
<div id="image-div" align="center">
|
<div id="image-div" align="center">{{ reaction.as_svg|safe }}</div>
|
||||||
{{ reaction.as_svg|safe }}
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Reaction Description -->
|
<!-- Reaction Description -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="reaction-description-link" data-toggle="collapse" data-parent="#reaction-description-detail"
|
<a
|
||||||
href="#reaction-description-smiles">Reaction Description</a>
|
id="reaction-description-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#reaction-description-detail"
|
||||||
|
href="#reaction-description-smiles"
|
||||||
|
>Reaction Description</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="reaction-description-smiles" class="panel-collapse collapse in">
|
<div id="reaction-description-smiles" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for educt in reaction.educts.all %}
|
{% for educt in reaction.educts.all %}
|
||||||
<a class="btn btn-default" href="{{ educt.url }}">{{ educt.name|safe }}</a>
|
<a class="btn btn-default" href="{{ educt.url }}"
|
||||||
|
>{{ educt.name|safe }}</a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
<span class="glyphicon glyphicon-arrow-right" style="margin-left:5em;margin-right:5em;"
|
<span
|
||||||
aria-hidden="true"></span>
|
class="glyphicon glyphicon-arrow-right"
|
||||||
|
style="margin-left:5em;margin-right:5em;"
|
||||||
|
aria-hidden="true"
|
||||||
|
></span>
|
||||||
{% for product in reaction.products.all %}
|
{% for product in reaction.products.all %}
|
||||||
<a class="btn btn-default" href="{{ product.url }}">{{ product.name|safe }}</a>
|
<a class="btn btn-default" href="{{ product.url }}"
|
||||||
|
>{{ product.name|safe }}</a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- SMIRKS -->
|
<!-- SMIRKS -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="reaction-smirks-link" data-toggle="collapse" data-parent="#reaction-detail"
|
<a
|
||||||
href="#reaction-smirks">SMIRKS Representation</a>
|
id="reaction-smirks-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#reaction-detail"
|
||||||
|
href="#reaction-smirks"
|
||||||
|
>SMIRKS Representation</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="reaction-smirks" class="panel-collapse collapse in">
|
<div id="reaction-smirks" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">{{ reaction.smirks }}</div>
|
||||||
{{ reaction.smirks }}
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if reaction.rules.all %}
|
{% if reaction.rules.all %}
|
||||||
<!-- Rules -->
|
<!-- Rules -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="reaction-rules-link" data-toggle="collapse" data-parent="#reaction-detail"
|
<a
|
||||||
href="#reaction-rules">Rules</a>
|
id="reaction-rules-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#reaction-detail"
|
||||||
|
href="#reaction-rules"
|
||||||
|
>Rules</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="reaction-rules" class="panel-collapse collapse in">
|
<div id="reaction-rules" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for r in reaction.rules.all %}
|
{% for r in reaction.rules.all %}
|
||||||
<a class="list-group-item" href="{{ r.url }}">{{ r.name|safe }}</a>
|
<a class="list-group-item" href="{{ r.url }}"
|
||||||
|
>{{ r.name|safe }}</a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -126,16 +192,28 @@
|
|||||||
|
|
||||||
{% if reaction.get_related_enzymes %}
|
{% if reaction.get_related_enzymes %}
|
||||||
<!-- EC Numbers -->
|
<!-- EC Numbers -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="rule-ec-numbers-link" data-toggle="collapse" data-parent="#rule-detail"
|
<a
|
||||||
href="#rule-ec-numbers">EC Numbers</a>
|
id="rule-ec-numbers-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#rule-detail"
|
||||||
|
href="#rule-ec-numbers"
|
||||||
|
>EC Numbers</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="rule-ec-numbers" class="panel-collapse collapse in">
|
<div id="rule-ec-numbers" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for e in reaction.get_related_enzymes %}
|
{% for e in reaction.get_related_enzymes %}
|
||||||
<a class="list-group-item" href="http://www.brenda-enzymes.org/enzyme.php?ecno={{ e.ec_number }}">{{ e.name }}</a>
|
<a
|
||||||
|
class="list-group-item"
|
||||||
|
href="http://www.brenda-enzymes.org/enzyme.php?ecno={{ e.ec_number }}"
|
||||||
|
>{{ e.name }}</a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -143,32 +221,52 @@
|
|||||||
|
|
||||||
{% if reaction.related_pathways %}
|
{% if reaction.related_pathways %}
|
||||||
<!-- Pathways -->
|
<!-- Pathways -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="reaction-pathway-link" data-toggle="collapse" data-parent="#reaction-detail"
|
<a
|
||||||
href="#reaction-pathway">Pathways</a>
|
id="reaction-pathway-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#reaction-detail"
|
||||||
|
href="#reaction-pathway"
|
||||||
|
>Pathways</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="reaction-pathway" class="panel-collapse collapse in">
|
<div id="reaction-pathway" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for r in reaction.related_pathways %}
|
{% for r in reaction.related_pathways %}
|
||||||
<a class="list-group-item" href="{{ r.url }}">{{ r.name|safe }}</a>
|
<a class="list-group-item" href="{{ r.url }}"
|
||||||
|
>{{ r.name|safe }}</a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if reaction.scenarios.all %}
|
{% if reaction.scenarios.all %}
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="reaction-scenario-link" data-toggle="collapse" data-parent="#reaction-detail"
|
<a
|
||||||
href="#reaction-scenario">Scenarios</a>
|
id="reaction-scenario-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#reaction-detail"
|
||||||
|
href="#reaction-scenario"
|
||||||
|
>Scenarios</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="reaction-scenario" class="panel-collapse collapse in">
|
<div id="reaction-scenario" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for s in reaction.scenarios.all %}
|
{% for s in reaction.scenarios.all %}
|
||||||
<a class="list-group-item" href="{{ s.url }}">{{ s.name|safe }} <i>({{ s.package.name|safe }})</i></a>
|
<a class="list-group-item" href="{{ s.url }}"
|
||||||
|
>{{ s.name|safe }} <i>({{ s.package.name|safe }})</i></a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -176,50 +274,80 @@
|
|||||||
|
|
||||||
<!-- External Identifiers -->
|
<!-- External Identifiers -->
|
||||||
{% if reaction.get_external_identifiers %}
|
{% if reaction.get_external_identifiers %}
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="reaction-external-identifier-link" data-toggle="collapse" data-parent="#reaction-detail"
|
<a
|
||||||
href="#reaction-external-identifier">External Identifier</a>
|
id="reaction-external-identifier-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#reaction-detail"
|
||||||
|
href="#reaction-external-identifier"
|
||||||
|
>External Identifier</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="reaction-external-identifier" class="panel-collapse collapse in">
|
<div
|
||||||
|
id="reaction-external-identifier"
|
||||||
|
class="panel-collapse in collapse"
|
||||||
|
>
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% if reaction.get_rhea_identifiers %}
|
{% if reaction.get_rhea_identifiers %}
|
||||||
<div class="panel panel-default panel-heading list-group-item"
|
<div
|
||||||
style="background-color:silver">
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="reaction-rhea-identifier-link" data-toggle="collapse"
|
<a
|
||||||
|
id="reaction-rhea-identifier-link"
|
||||||
|
data-toggle="collapse"
|
||||||
data-parent="#reaction-external-identifier"
|
data-parent="#reaction-external-identifier"
|
||||||
href="#reaction-rhea-identifier">Rhea</a>
|
href="#reaction-rhea-identifier"
|
||||||
|
>Rhea</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="reaction-rhea-identifier" class="panel-collapse collapse in">
|
<div
|
||||||
|
id="reaction-rhea-identifier"
|
||||||
|
class="panel-collapse in collapse"
|
||||||
|
>
|
||||||
{% for eid in reaction.get_rhea_identifiers %}
|
{% for eid in reaction.get_rhea_identifiers %}
|
||||||
<a class="list-group-item"
|
<a class="list-group-item" href="{{ eid.external_url }}"
|
||||||
href="{{ eid.external_url }}">{{ eid.identifier_value }}</a>
|
>{{ eid.identifier_value }}</a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if reaction.get_uniprot_identifiers %}
|
{% if reaction.get_uniprot_identifiers %}
|
||||||
<div class="panel panel-default panel-heading list-group-item"
|
<div
|
||||||
style="background-color:silver">
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="reaction-uniprot-identifier-link" data-toggle="collapse"
|
<a
|
||||||
|
id="reaction-uniprot-identifier-link"
|
||||||
|
data-toggle="collapse"
|
||||||
data-parent="#reaction-external-identifier"
|
data-parent="#reaction-external-identifier"
|
||||||
href="#reaction-uniprot-identifier">UniProt</a>
|
href="#reaction-uniprot-identifier"
|
||||||
|
>UniProt</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="reaction-uniprot-identifier" class="panel-collapse collapse in">
|
<div
|
||||||
|
id="reaction-uniprot-identifier"
|
||||||
|
class="panel-collapse in collapse"
|
||||||
|
>
|
||||||
{% for eid in reaction.get_uniprot_identifiers %}
|
{% for eid in reaction.get_uniprot_identifiers %}
|
||||||
<a class="list-group-item"
|
<a class="list-group-item" href="{{ eid.external_url }}"
|
||||||
href="{{ eid.external_url }}">10 SwissProt entries ({{ eid.identifier_value }})</a>
|
>10 SwissProt entries ({{ eid.identifier_value }})</a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|||||||
@ -9,14 +9,27 @@
|
|||||||
{% endblock action_modals %}
|
{% endblock action_modals %}
|
||||||
<div class="panel-group" id="scenario-detail">
|
<div class="panel-group" id="scenario-detail">
|
||||||
<div class="panel panel-default">
|
<div class="panel panel-default">
|
||||||
<div class="panel-heading" id="headingPanel" style="font-size:2rem;height: 46px">
|
<div
|
||||||
|
class="panel-heading"
|
||||||
|
id="headingPanel"
|
||||||
|
style="font-size:2rem;height: 46px"
|
||||||
|
>
|
||||||
{{ scenario.name|safe }}
|
{{ scenario.name|safe }}
|
||||||
<div id="actionsButton"
|
<div
|
||||||
|
id="actionsButton"
|
||||||
style="float: right;font-weight: normal;font-size: medium;position: relative; top: 50%; transform: translateY(-50%);z-index:100;display: none;"
|
style="float: right;font-weight: normal;font-size: medium;position: relative; top: 50%; transform: translateY(-50%);z-index:100;display: none;"
|
||||||
class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button"
|
class="dropdown"
|
||||||
aria-haspopup="true" aria-expanded="false"><span
|
>
|
||||||
class="glyphicon glyphicon-wrench"></span> Actions <span class="caret"></span><span
|
<a
|
||||||
style="padding-right:1em"></span></a>
|
href="#"
|
||||||
|
class="dropdown-toggle"
|
||||||
|
data-toggle="dropdown"
|
||||||
|
role="button"
|
||||||
|
aria-haspopup="true"
|
||||||
|
aria-expanded="false"
|
||||||
|
><span class="glyphicon glyphicon-wrench"></span> Actions
|
||||||
|
<span class="caret"></span><span style="padding-right:1em"></span
|
||||||
|
></a>
|
||||||
<ul id="actionsList" class="dropdown-menu">
|
<ul id="actionsList" class="dropdown-menu">
|
||||||
{% block actions %}
|
{% block actions %}
|
||||||
{% include "actions/objects/scenario.html" %}
|
{% include "actions/objects/scenario.html" %}
|
||||||
@ -31,15 +44,18 @@
|
|||||||
<div class="panel-heading">Description</div>
|
<div class="panel-heading">Description</div>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
{{ scenario.description|safe }}
|
{{ scenario.description|safe }}
|
||||||
<br>
|
<br />
|
||||||
{{ scenario.scenario_type }}
|
{{ scenario.scenario_type }}
|
||||||
<br>
|
<br />
|
||||||
Reported {{ scenario.scenario_date }}
|
Reported {{ scenario.scenario_date }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="table-responsive">
|
<div class="table-responsive">
|
||||||
<table id="scenario-table" class="table table-bordered table-striped table-hover">
|
<table
|
||||||
|
id="scenario-table"
|
||||||
|
class="table-bordered table-striped table-hover table"
|
||||||
|
>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Property</th>
|
<th>Property</th>
|
||||||
@ -52,16 +68,25 @@
|
|||||||
|
|
||||||
{% for ai in scenario.get_additional_information %}
|
{% for ai in scenario.get_additional_information %}
|
||||||
<tr>
|
<tr>
|
||||||
<td> {{ ai.property_name|safe }} </td>
|
<td>{{ ai.property_name|safe }}</td>
|
||||||
<td> {{ ai.property_data|safe }} </td>
|
<td>{{ ai.property_data|safe }}</td>
|
||||||
<td> {{ ai.property_unit|safe }} </td>
|
<td>{{ ai.property_unit|safe }}</td>
|
||||||
{% if meta.can_edit %}
|
{% if meta.can_edit %}
|
||||||
<td>
|
<td>
|
||||||
<form action="{% url 'package scenario detail' scenario.package.uuid scenario.uuid %}" method="post">
|
<form
|
||||||
|
action="{% url 'package scenario detail' scenario.package.uuid scenario.uuid %}"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<input type="hidden" name="uuid" value="{{ ai.uuid }}">
|
<input type="hidden" name="uuid" value="{{ ai.uuid }}" />
|
||||||
<input type="hidden" name="hidden" value="delete-additional-information">
|
<input
|
||||||
<button type="submit" class="btn"><span class="glyphicon glyphicon-minus"></span></button>
|
type="hidden"
|
||||||
|
name="hidden"
|
||||||
|
value="delete-additional-information"
|
||||||
|
/>
|
||||||
|
<button type="submit" class="btn">
|
||||||
|
<span class="glyphicon glyphicon-minus"></span>
|
||||||
|
</button>
|
||||||
</form>
|
</form>
|
||||||
</td>
|
</td>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -73,10 +98,19 @@
|
|||||||
<td></td>
|
<td></td>
|
||||||
<td>Delete all</td>
|
<td>Delete all</td>
|
||||||
<td>
|
<td>
|
||||||
<form action="{% url 'package scenario detail' scenario.package.uuid scenario.uuid %}" method="post">
|
<form
|
||||||
|
action="{% url 'package scenario detail' scenario.package.uuid scenario.uuid %}"
|
||||||
|
method="post"
|
||||||
|
>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<input type="hidden" name="hidden" value="delete-all-additional-information">
|
<input
|
||||||
<button type="submit" class="btn"><span class="glyphicon glyphicon-trash"></span></button>
|
type="hidden"
|
||||||
|
name="hidden"
|
||||||
|
value="delete-all-additional-information"
|
||||||
|
/>
|
||||||
|
<button type="submit" class="btn">
|
||||||
|
<span class="glyphicon glyphicon-trash"></span>
|
||||||
|
</button>
|
||||||
</form>
|
</form>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -84,6 +118,4 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
@ -12,14 +12,27 @@
|
|||||||
|
|
||||||
<div class="panel-group" id="rule-detail">
|
<div class="panel-group" id="rule-detail">
|
||||||
<div class="panel panel-default">
|
<div class="panel panel-default">
|
||||||
<div class="panel-heading" id="headingPanel" style="font-size:2rem;height: 46px">
|
<div
|
||||||
|
class="panel-heading"
|
||||||
|
id="headingPanel"
|
||||||
|
style="font-size:2rem;height: 46px"
|
||||||
|
>
|
||||||
{{ rule.name|safe }}
|
{{ rule.name|safe }}
|
||||||
<div id="actionsButton"
|
<div
|
||||||
|
id="actionsButton"
|
||||||
style="float: right;font-weight: normal;font-size: medium;position: relative; top: 50%; transform: translateY(-50%);z-index:100;display: none;"
|
style="float: right;font-weight: normal;font-size: medium;position: relative; top: 50%; transform: translateY(-50%);z-index:100;display: none;"
|
||||||
class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button"
|
class="dropdown"
|
||||||
aria-haspopup="true" aria-expanded="false"><span
|
>
|
||||||
class="glyphicon glyphicon-wrench"></span> Actions <span class="caret"></span><span
|
<a
|
||||||
style="padding-right:1em"></span></a>
|
href="#"
|
||||||
|
class="dropdown-toggle"
|
||||||
|
data-toggle="dropdown"
|
||||||
|
role="button"
|
||||||
|
aria-haspopup="true"
|
||||||
|
aria-expanded="false"
|
||||||
|
><span class="glyphicon glyphicon-wrench"></span> Actions
|
||||||
|
<span class="caret"></span><span style="padding-right:1em"></span
|
||||||
|
></a>
|
||||||
<ul id="actionsList" class="dropdown-menu">
|
<ul id="actionsList" class="dropdown-menu">
|
||||||
{% block actions %}
|
{% block actions %}
|
||||||
{% include "actions/objects/rule.html" %}
|
{% include "actions/objects/rule.html" %}
|
||||||
@ -28,20 +41,26 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<p>
|
<p>{{ rule.description|safe }}</p>
|
||||||
{{ rule.description|safe }}
|
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if rule.aliases %}
|
{% if rule.aliases %}
|
||||||
<!-- Aliases -->
|
<!-- Aliases -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="rule-aliases-link" data-toggle="collapse" data-parent="#rule-detail"
|
<a
|
||||||
href="#rule-aliases">Aliases</a>
|
id="rule-aliases-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#rule-detail"
|
||||||
|
href="#rule-aliases"
|
||||||
|
>Aliases</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="rule-aliases" class="panel-collapse collapse in">
|
<div id="rule-aliases" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for alias in rule.aliases %}
|
{% for alias in rule.aliases %}
|
||||||
<a class="list-group-item">{{ alias }}</a>
|
<a class="list-group-item">{{ alias }}</a>
|
||||||
@ -51,101 +70,160 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<!-- Representation -->
|
<!-- Representation -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="rule-image-link" data-toggle="collapse" data-parent="#rule-detail"
|
<a
|
||||||
href="#rule-image">Image Representation</a>
|
id="rule-image-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#rule-detail"
|
||||||
|
href="#rule-image"
|
||||||
|
>Image Representation</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="rule-image" class="panel-collapse collapse in">
|
<div id="rule-image" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
<div id="image-div" align="center">
|
<div id="image-div" align="center">{{ rule.as_svg|safe }}</div>
|
||||||
{{ rule.as_svg|safe }}
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- SMIRKS -->
|
<!-- SMIRKS -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="rule-smirks-link" data-toggle="collapse" data-parent="#rule-detail"
|
<a
|
||||||
href="#rule-smirks">SMIRKS Representation</a>
|
id="rule-smirks-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#rule-detail"
|
||||||
|
href="#rule-smirks"
|
||||||
|
>SMIRKS Representation</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="rule-smirks" class="panel-collapse collapse in">
|
<div id="rule-smirks" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
<p> {{ rule.smirks }} </p>
|
<p>{{ rule.smirks }}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Reactants SMARTS -->
|
<!-- Reactants SMARTS -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="rule-reactants-smarts-link" data-toggle="collapse" data-parent="#rule-detail"
|
<a
|
||||||
href="#rule-reactants-smarts">Reactant SMARTS</a>
|
id="rule-reactants-smarts-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#rule-detail"
|
||||||
|
href="#rule-reactants-smarts"
|
||||||
|
>Reactant SMARTS</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="rule-reactants-smarts" class="panel-collapse collapse in">
|
<div id="rule-reactants-smarts" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
<p> {{ rule.reactants_smarts }} </p>
|
<p>{{ rule.reactants_smarts }}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Reactant Filter SMARTS -->
|
<!-- Reactant Filter SMARTS -->
|
||||||
{% if rule.reactant_filter_smarts %}
|
{% if rule.reactant_filter_smarts %}
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="rule-reactant-filter-smarts-link" data-toggle="collapse" data-parent="#rule-detail"
|
<a
|
||||||
href="#rule-reactant-filter-smarts">Reactant Filter SMARTS</a>
|
id="rule-reactant-filter-smarts-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#rule-detail"
|
||||||
|
href="#rule-reactant-filter-smarts"
|
||||||
|
>Reactant Filter SMARTS</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="rule-reactant-filter-smarts" class="panel-collapse collapse in">
|
<div
|
||||||
|
id="rule-reactant-filter-smarts"
|
||||||
|
class="panel-collapse in collapse"
|
||||||
|
>
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
<p> {{ rule.reactant_filter_smarts }} </p>
|
<p>{{ rule.reactant_filter_smarts }}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<!-- Products SMARTS -->
|
<!-- Products SMARTS -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="rule-products-smarts-link" data-toggle="collapse" data-parent="#rule-detail"
|
<a
|
||||||
href="#rule-products-smarts">Reactant SMARTS</a>
|
id="rule-products-smarts-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#rule-detail"
|
||||||
|
href="#rule-products-smarts"
|
||||||
|
>Reactant SMARTS</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="rule-products-smarts" class="panel-collapse collapse in">
|
<div id="rule-products-smarts" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
<p> {{ rule.products_smarts }} </p>
|
<p>{{ rule.products_smarts }}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Product Filter SMARTS -->
|
<!-- Product Filter SMARTS -->
|
||||||
{% if rule.product_filter_smarts %}
|
{% if rule.product_filter_smarts %}
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="rule-product-filter-smarts-link" data-toggle="collapse" data-parent="#rule-detail"
|
<a
|
||||||
href="#rule-product-filter-smarts">Product Filter SMARTS</a>
|
id="rule-product-filter-smarts-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#rule-detail"
|
||||||
|
href="#rule-product-filter-smarts"
|
||||||
|
>Product Filter SMARTS</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="rule-product-filter-smarts" class="panel-collapse collapse in">
|
<div id="rule-product-filter-smarts" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
<p> {{ rule.product_filter_smarts }} </p>
|
<p>{{ rule.product_filter_smarts }}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<!-- Included in Composite Rules -->
|
<!-- Included in Composite Rules -->
|
||||||
{% if rule.parallelrule_set.all %}
|
{% if rule.parallelrule_set.all %}
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="rule-composite-rule-link" data-toggle="collapse" data-parent="#rule-detail"
|
<a
|
||||||
href="#rule-composite-rule">Included in Composite Rules</a>
|
id="rule-composite-rule-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#rule-detail"
|
||||||
|
href="#rule-composite-rule"
|
||||||
|
>Included in Composite Rules</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="rule-composite-rule" class="panel-collapse collapse in">
|
<div id="rule-composite-rule" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for cr in rule.parallelrule_set.all %}
|
{% for cr in rule.parallelrule_set.all %}
|
||||||
<a class="list-group-item" href="{{ cr.url }}">{{ cr.name|safe }}</a>
|
<a class="list-group-item" href="{{ cr.url }}"
|
||||||
|
>{{ cr.name|safe }}</a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -153,16 +231,26 @@
|
|||||||
|
|
||||||
<!-- Scenarios -->
|
<!-- Scenarios -->
|
||||||
{% if rule.scenarios.all %}
|
{% if rule.scenarios.all %}
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="rule-scenario-link" data-toggle="collapse" data-parent="#rule-detail"
|
<a
|
||||||
href="#rule-scenario">Scenarios</a>
|
id="rule-scenario-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#rule-detail"
|
||||||
|
href="#rule-scenario"
|
||||||
|
>Scenarios</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="rule-scenario" class="panel-collapse collapse in">
|
<div id="rule-scenario" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for s in rule.scenarios.all %}
|
{% for s in rule.scenarios.all %}
|
||||||
<a class="list-group-item" href="{{ s.url }}">{{ s.name|safe }}</a>
|
<a class="list-group-item" href="{{ s.url }}"
|
||||||
|
>{{ s.name|safe }}</a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -170,16 +258,26 @@
|
|||||||
|
|
||||||
<!-- Reactions -->
|
<!-- Reactions -->
|
||||||
{% if rule.related_reactions %}
|
{% if rule.related_reactions %}
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="rule-reaction-link" data-toggle="collapse" data-parent="#rule-detail"
|
<a
|
||||||
href="#rule-reaction">Reactions</a>
|
id="rule-reaction-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#rule-detail"
|
||||||
|
href="#rule-reaction"
|
||||||
|
>Reactions</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="rule-reaction" class="panel-collapse collapse">
|
<div id="rule-reaction" class="panel-collapse collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for r in rule.related_reactions %}
|
{% for r in rule.related_reactions %}
|
||||||
<a class="list-group-item" href="{{ r.url }}">{{ r.name|safe }}</a>
|
<a class="list-group-item" href="{{ r.url }}"
|
||||||
|
>{{ r.name|safe }}</a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -187,16 +285,26 @@
|
|||||||
|
|
||||||
<!-- Pathways -->
|
<!-- Pathways -->
|
||||||
{% if rule.related_pathways %}
|
{% if rule.related_pathways %}
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="rule-pathway-link" data-toggle="collapse" data-parent="#rule-detail"
|
<a
|
||||||
href="#rule-pathway">Pathways</a>
|
id="rule-pathway-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#rule-detail"
|
||||||
|
href="#rule-pathway"
|
||||||
|
>Pathways</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="rule-pathway" class="panel-collapse collapse">
|
<div id="rule-pathway" class="panel-collapse collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for r in rule.related_pathways %}
|
{% for r in rule.related_pathways %}
|
||||||
<a class="list-group-item" href="{{ r.url }}">{{ r.name|safe }}</a>
|
<a class="list-group-item" href="{{ r.url }}"
|
||||||
|
>{{ r.name|safe }}</a
|
||||||
|
>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -204,32 +312,49 @@
|
|||||||
|
|
||||||
{% if rule.enzymelinks %}
|
{% if rule.enzymelinks %}
|
||||||
<!-- EC Numbers -->
|
<!-- EC Numbers -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="rule-ec-numbers-link" data-toggle="collapse" data-parent="#rule-detail"
|
<a
|
||||||
href="#rule-ec-numbers">EC Numbers</a>
|
id="rule-ec-numbers-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#rule-detail"
|
||||||
|
href="#rule-ec-numbers"
|
||||||
|
>EC Numbers</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="rule-ec-numbers" class="panel-collapse collapse in">
|
<div id="rule-ec-numbers" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for k, v in rule.get_grouped_enzymelinks.items %}
|
{% for k, v in rule.get_grouped_enzymelinks.items %}
|
||||||
<div class="panel panel-default panel-heading list-group-item"
|
<div
|
||||||
style="background-color:silver">
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="{{ k|slugify }}_Link" data-toggle="collapse"
|
<a
|
||||||
|
id="{{ k|slugify }}_Link"
|
||||||
|
data-toggle="collapse"
|
||||||
data-parent="#{{ k|slugify }}_Accordion"
|
data-parent="#{{ k|slugify }}_Accordion"
|
||||||
href="#{{ k|slugify }}">
|
href="#{{ k|slugify }}"
|
||||||
|
>
|
||||||
{{ k }}
|
{{ k }}
|
||||||
</a>
|
</a>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="{{ k|slugify }}" class="panel-collapse collapse in">
|
<div id="{{ k|slugify }}" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for enzyme in v %}
|
{% for enzyme in v %}
|
||||||
<a class="list-group-item" href="{{ enzyme.url }}">
|
<a class="list-group-item" href="{{ enzyme.url }}">
|
||||||
{{ enzyme.ec_number }}
|
{{ enzyme.ec_number }}
|
||||||
<div style="position:absolute;bottom:10px;left:100px;">{{ enzyme.name }}</div>
|
<div style="position:absolute;bottom:10px;left:100px;">
|
||||||
<div style="float:right;">{{ enzyme.linking_method }}</div>
|
{{ enzyme.name }}
|
||||||
|
</div>
|
||||||
|
<div style="float:right;">
|
||||||
|
{{ enzyme.linking_method }}
|
||||||
|
</div>
|
||||||
</a>
|
</a>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -2,24 +2,37 @@
|
|||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
|
||||||
{% block action_modals %}
|
{% block action_modals %}
|
||||||
{% include "modals/objects/edit_user_modal.html" %}
|
{% include "modals/objects/edit_user_modal.html" %}
|
||||||
{% include "modals/objects/edit_password_modal.html" %}
|
{% include "modals/objects/edit_password_modal.html" %}
|
||||||
{% include "modals/collections/new_prediction_setting_modal.html" %}
|
{% include "modals/collections/new_prediction_setting_modal.html" %}
|
||||||
{% include "modals/objects/manage_api_token_modal.html" %}
|
{% include "modals/objects/manage_api_token_modal.html" %}
|
||||||
{% include "modals/objects/generic_delete_modal.html" %}
|
{% include "modals/objects/generic_delete_modal.html" %}
|
||||||
{% endblock action_modals %}
|
{% endblock action_modals %}
|
||||||
|
|
||||||
<div class="panel-group" id="user-detail">
|
<div class="panel-group" id="user-detail">
|
||||||
<div class="panel panel-default">
|
<div class="panel panel-default">
|
||||||
<div class="panel-heading" id="headingPanel" style="font-size:2rem;height: 46px">
|
<div
|
||||||
|
class="panel-heading"
|
||||||
|
id="headingPanel"
|
||||||
|
style="font-size:2rem;height: 46px"
|
||||||
|
>
|
||||||
{{ user.username }}
|
{{ user.username }}
|
||||||
<div id="actionsButton"
|
<div
|
||||||
|
id="actionsButton"
|
||||||
style="float: right;font-weight: normal;font-size: medium;position: relative; top: 50%; transform: translateY(-50%);z-index:100;display: none;"
|
style="float: right;font-weight: normal;font-size: medium;position: relative; top: 50%; transform: translateY(-50%);z-index:100;display: none;"
|
||||||
class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button"
|
class="dropdown"
|
||||||
aria-haspopup="true" aria-expanded="false"><span
|
>
|
||||||
class="glyphicon glyphicon-wrench"></span> Actions <span class="caret"></span><span
|
<a
|
||||||
style="padding-right:1em"></span></a>
|
href="#"
|
||||||
|
class="dropdown-toggle"
|
||||||
|
data-toggle="dropdown"
|
||||||
|
role="button"
|
||||||
|
aria-haspopup="true"
|
||||||
|
aria-expanded="false"
|
||||||
|
><span class="glyphicon glyphicon-wrench"></span> Actions
|
||||||
|
<span class="caret"></span><span style="padding-right:1em"></span
|
||||||
|
></a>
|
||||||
<ul id="actionsList" class="dropdown-menu">
|
<ul id="actionsList" class="dropdown-menu">
|
||||||
{% block actions %}
|
{% block actions %}
|
||||||
{% include "actions/objects/user.html" %}
|
{% include "actions/objects/user.html" %}
|
||||||
@ -28,33 +41,54 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<p> On this page you can modify your account or set preferences such as prediction settings.</p>
|
<p>
|
||||||
|
On this page you can modify your account or set preferences such as
|
||||||
|
prediction settings.
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- Default Package -->
|
<!-- Default Package -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="default-package-link" data-toggle="collapse" data-parent="#user-detail"
|
<a
|
||||||
href="#default-package">Default Package</a>
|
id="default-package-link"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#user-detail"
|
||||||
|
href="#default-package"
|
||||||
|
>Default Package</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="default-package" class="panel-collapse collapse in">
|
<div id="default-package" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
<li class="list-group-item">
|
<li class="list-group-item">
|
||||||
<a href="{{ user.default_package.url }}"> {{ user.default_package.name|safe }}</a>
|
<a href="{{ user.default_package.url }}">
|
||||||
|
{{ user.default_package.name|safe }}</a
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Groups -->
|
<!-- Groups -->
|
||||||
{% if meta.available_groups|length > 0 %}
|
{% if meta.available_groups|length > 0 %}
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="group-links" data-toggle="collapse" data-parent="#user-detail"
|
<a
|
||||||
href="#groups">Groups</a>
|
id="group-links"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#user-detail"
|
||||||
|
href="#groups"
|
||||||
|
>Groups</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="groups" class="panel-collapse collapse in">
|
<div id="groups" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
{% for g in meta.available_groups %}
|
{% for g in meta.available_groups %}
|
||||||
<li class="list-group-item">
|
<li class="list-group-item">
|
||||||
@ -66,15 +100,23 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<!-- Current Prediction Settings -->
|
<!-- Current Prediction Settings -->
|
||||||
<div class="panel panel-default panel-heading list-group-item" style="background-color:silver">
|
<div
|
||||||
|
class="panel panel-default panel-heading list-group-item"
|
||||||
|
style="background-color:silver"
|
||||||
|
>
|
||||||
<h4 class="panel-title">
|
<h4 class="panel-title">
|
||||||
<a id="current-prediction-setting-links" data-toggle="collapse" data-parent="#user-detail"
|
<a
|
||||||
href="#current-prediction-setting">Current Prediction Setting</a>
|
id="current-prediction-setting-links"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-parent="#user-detail"
|
||||||
|
href="#current-prediction-setting"
|
||||||
|
>Current Prediction Setting</a
|
||||||
|
>
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="current-prediction-setting" class="panel-collapse collapse in">
|
<div id="current-prediction-setting" class="panel-collapse in collapse">
|
||||||
<div class="panel-body list-group-item">
|
<div class="panel-body list-group-item">
|
||||||
<table class="table table-bordered table-hover">
|
<table class="table-bordered table-hover table">
|
||||||
<tr style="background-color: rgba(0, 0, 0, 0.08);">
|
<tr style="background-color: rgba(0, 0, 0, 0.08);">
|
||||||
<th scope="col" width="20%">Parameter</th>
|
<th scope="col" width="20%">Parameter</th>
|
||||||
<th scope="col" width="80%">Value</th>
|
<th scope="col" width="80%">Value</th>
|
||||||
@ -84,12 +126,12 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td width="20%">Model</td>
|
<td width="20%">Model</td>
|
||||||
<td width="80%">
|
<td width="80%">
|
||||||
<table width="100%" class="table table-bordered table-hover">
|
<table width="100%" class="table-bordered table-hover table">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="2">
|
<td colspan="2">
|
||||||
<li class="list-group-item">
|
<li class="list-group-item">
|
||||||
<a href="{{user.default_setting.model.url}}">
|
<a href="{{ user.default_setting.model.url }}">
|
||||||
{{ user.default_setting.model.name|safe }}
|
{{ user.default_setting.model.name|safe }}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
@ -100,9 +142,7 @@
|
|||||||
<th width="80%">Parameter Value</th>
|
<th width="80%">Parameter Value</th>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td width="20%">
|
<td width="20%">Threshold</td>
|
||||||
Threshold
|
|
||||||
</td>
|
|
||||||
<td width="80%">
|
<td width="80%">
|
||||||
{{ user.default_setting.model_threshold }}
|
{{ user.default_setting.model_threshold }}
|
||||||
</td>
|
</td>
|
||||||
@ -116,15 +156,13 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td width="20%">Rule Packages</td>
|
<td width="20%">Rule Packages</td>
|
||||||
<td width="80%">
|
<td width="80%">
|
||||||
<table width="100%" class="table table-bordered table-hover">
|
<table width="100%" class="table-bordered table-hover table">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="2">
|
<td colspan="2">
|
||||||
{% for p in user.default_setting.rule_packages.all %}
|
{% for p in user.default_setting.rule_packages.all %}
|
||||||
<li class="list-group-item">
|
<li class="list-group-item">
|
||||||
<a href="{{p.url}}">
|
<a href="{{ p.url }}"> {{ p.name|safe }} </a>
|
||||||
{{ p.name|safe }}
|
|
||||||
</a>
|
|
||||||
</li>
|
</li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</td>
|
</td>
|
||||||
@ -154,5 +192,5 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|||||||
@ -1,14 +1,15 @@
|
|||||||
<!DOCTYPE html>
|
<!doctype html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8" />
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js"></script>
|
||||||
|
|
||||||
<title>Title</title>
|
<title>Title</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="viz"></div>
|
<div id="viz"></div>
|
||||||
</body>
|
</body>
|
||||||
|
{# prettier-ignore-start #}
|
||||||
<script>
|
<script>
|
||||||
data = {
|
data = {
|
||||||
"aliases" : [ ] ,
|
"aliases" : [ ] ,
|
||||||
@ -853,5 +854,5 @@ function drawGraph(pathway) {
|
|||||||
|
|
||||||
drawGraph(data);
|
drawGraph(data);
|
||||||
</script>
|
</script>
|
||||||
|
{# prettier-ignore-end #}
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@ -1,38 +1,71 @@
|
|||||||
<!DOCTYPE html>
|
<!doctype html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>Force-Directed Tree</title>
|
<title>Force-Directed Tree</title>
|
||||||
<script src="https://d3js.org/d3.v7.min.js"></script>
|
<script src="https://d3js.org/d3.v7.min.js"></script>
|
||||||
<style>
|
<style>
|
||||||
svg { width: 100%; height: 600px; }
|
svg {
|
||||||
.link { stroke: #999; stroke-opacity: 0.6; marker-end: url(#arrow); }
|
width: 100%;
|
||||||
.link_no_arrow { stroke: #999; stroke-opacity: 0.6; }
|
height: 600px;
|
||||||
.node image { cursor: pointer; }
|
}
|
||||||
.node circle { fill: lightblue; stroke: steelblue; stroke-width: 1.5px; }
|
.link {
|
||||||
.highlighted { stroke: red; stroke-width: 3px; }
|
stroke: #999;
|
||||||
.tooltip { position: absolute; background: lightgray; padding: 5px; border-radius: 5px; visibility: hidden; }
|
stroke-opacity: 0.6;
|
||||||
|
marker-end: url(#arrow);
|
||||||
|
}
|
||||||
|
.link_no_arrow {
|
||||||
|
stroke: #999;
|
||||||
|
stroke-opacity: 0.6;
|
||||||
|
}
|
||||||
|
.node image {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.node circle {
|
||||||
|
fill: lightblue;
|
||||||
|
stroke: steelblue;
|
||||||
|
stroke-width: 1.5px;
|
||||||
|
}
|
||||||
|
.highlighted {
|
||||||
|
stroke: red;
|
||||||
|
stroke-width: 3px;
|
||||||
|
}
|
||||||
|
.tooltip {
|
||||||
|
position: absolute;
|
||||||
|
background: lightgray;
|
||||||
|
padding: 5px;
|
||||||
|
border-radius: 5px;
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<p></p>
|
<p></p>
|
||||||
{{ pathway.name|safe }}
|
{{ pathway.name|safe }}
|
||||||
<div id="viz">
|
<div id="viz">
|
||||||
<svg width="2000" height="2000"> <!-- Sehr großes SVG für Zoom -->
|
<svg width="2000" height="2000">
|
||||||
|
<!-- Sehr großes SVG für Zoom -->
|
||||||
<defs>
|
<defs>
|
||||||
<marker id="arrow" viewBox="0 0 10 10" refX="43" refY="5" markerWidth="6" markerHeight="6"
|
<marker
|
||||||
orient="auto-start-reverse">
|
id="arrow"
|
||||||
<path d="M 0 0 L 10 5 L 0 10 z" fill="#999"/>
|
viewBox="0 0 10 10"
|
||||||
|
refX="43"
|
||||||
|
refY="5"
|
||||||
|
markerWidth="6"
|
||||||
|
markerHeight="6"
|
||||||
|
orient="auto-start-reverse"
|
||||||
|
>
|
||||||
|
<path d="M 0 0 L 10 5 L 0 10 z" fill="#999" />
|
||||||
</marker>
|
</marker>
|
||||||
</defs>
|
</defs>
|
||||||
<g id="zoomable"></g>
|
<g id="zoomable"></g>
|
||||||
</svg>
|
</svg>
|
||||||
</div>
|
</div>
|
||||||
<div id="tooltip" class="tooltip"></div>
|
<div id="tooltip" class="tooltip"></div>
|
||||||
<script>
|
|
||||||
|
|
||||||
|
{# prettier-ignore-start #}
|
||||||
|
<script>
|
||||||
function assignPositions(nodes) {
|
function assignPositions(nodes) {
|
||||||
const levelSpacing = 75; // Vertikaler Abstand zwischen den Tiefen
|
const levelSpacing = 75; // Vertikaler Abstand zwischen den Tiefen
|
||||||
const horizontalSpacing = 75; // Abstand zwischen Knoten auf gleicher Tiefe
|
const horizontalSpacing = 75; // Abstand zwischen Knoten auf gleicher Tiefe
|
||||||
@ -178,17 +211,27 @@ function nodeClick(event, node, t) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<svg width="400" height="300">
|
{# prettier-ignore-end #}
|
||||||
<path d="M200,50 C200,100 150,150 150,200" stroke="black" fill="none" stroke-width="2"/>
|
<svg width="400" height="300">
|
||||||
<path d="M200,50 C200,100 250,150 250,200" stroke="black" fill="none" stroke-width="2"/>
|
<path
|
||||||
|
d="M200,50 C200,100 150,150 150,200"
|
||||||
|
stroke="black"
|
||||||
|
fill="none"
|
||||||
|
stroke-width="2"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M200,50 C200,100 250,150 250,200"
|
||||||
|
stroke="black"
|
||||||
|
fill="none"
|
||||||
|
stroke-width="2"
|
||||||
|
/>
|
||||||
|
|
||||||
<!-- Knoten -->
|
<!-- Knoten -->
|
||||||
<circle cx="200" cy="50" r="5" fill="blue"/>
|
<circle cx="200" cy="50" r="5" fill="blue" />
|
||||||
<circle cx="150" cy="200" r="5" fill="red"/>
|
<circle cx="150" cy="200" r="5" fill="red" />
|
||||||
<circle cx="250" cy="200" r="5" fill="red"/>
|
<circle cx="250" cy="200" r="5" fill="red" />
|
||||||
</svg>
|
</svg>
|
||||||
</body>
|
</body>
|
||||||
{% load static %}
|
{% load static %}
|
||||||
<script src="{% static 'js/pw.js' %}"></script>
|
<script src="{% static 'js/pw.js' %}"></script>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@ -135,7 +135,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
{# prettier-ignore-start #}
|
||||||
<script>
|
<script>
|
||||||
function predictKetcherToTextInput() {
|
function predictKetcherToTextInput() {
|
||||||
$("#predict-smiles").val(this.ketcher.getSmiles());
|
$("#predict-smiles").val(this.ketcher.getSmiles());
|
||||||
@ -191,4 +191,5 @@
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
{# prettier-ignore-end #}
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user