mirror of
https://github.com/Southampton-RSG/breccia-mapper.git
synced 2026-08-24 05:05:39 +01:00
93 lines
2.8 KiB
HTML
93 lines
2.8 KiB
HTML
{% extends 'base.html' %}
|
|
|
|
{% block extra_head %}
|
|
{% load staticfiles %}
|
|
{{ map_markers|json_script:'map-markers' }}
|
|
|
|
<script src="{% static 'js/map.js' %}"></script>
|
|
<script src="{% static 'js/location_picker.js' %}"></script>
|
|
|
|
<script async defer src="https://maps.googleapis.com/maps/api/js?key={{ settings.GOOGLE_MAPS_API_KEY }}&callback=initPicker&libraries=places"
|
|
type="text/javascript"></script>
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
<nav aria-label="breadcrumb">
|
|
<ol class="breadcrumb">
|
|
<li class="breadcrumb-item">
|
|
<a href="{% url 'people:person.list' %}">People</a>
|
|
</li>
|
|
<li class="breadcrumb-item">
|
|
<a href="{% url 'people:person.detail' pk=person.pk %}">{{ person }}</a>
|
|
</li>
|
|
<li class="breadcrumb-item active" aria-current="page">Update</li>
|
|
</ol>
|
|
</nav>
|
|
|
|
<h1>{{ person.name }}</h1>
|
|
|
|
<hr>
|
|
|
|
<form class="form"
|
|
method="POST">
|
|
{% csrf_token %}
|
|
|
|
{% load bootstrap4 %}
|
|
{% bootstrap_form form exclude='latitude,longitude' %}
|
|
|
|
{% bootstrap_field form.latitude %}
|
|
{% bootstrap_field form.longitude %}
|
|
|
|
{% buttons %}
|
|
<button class="btn btn-success" type="submit">Submit</button>
|
|
{% endbuttons %}
|
|
</form>
|
|
|
|
<hr>
|
|
|
|
<input id="location-search" class="controls" type="text" placeholder="Location Search"/>
|
|
<div id="map" style="height: 800px; width: 100%"></div>
|
|
|
|
{% endblock %}
|
|
|
|
{% block extra_script %}
|
|
<script>
|
|
function hasOption(select, option) {
|
|
var exists = false;
|
|
for (var i = 0; i < select.options.length; i++) {
|
|
if (select.options[i].text.toLowerCase().startsWith(option)) return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
function setFreeTextState(select, freeTextField) {
|
|
var other_selected = false;
|
|
for (var i = 0; i < select.selectedOptions.length; i++) {
|
|
if (select.selectedOptions[i].text.toLowerCase().startsWith('other')) {
|
|
other_selected = true;
|
|
}
|
|
}
|
|
|
|
if (other_selected) {
|
|
freeTextField.show();
|
|
} else {
|
|
freeTextField.hide();
|
|
}
|
|
}
|
|
|
|
$(document).ready(function(){
|
|
$('select').each(function(index, element) {
|
|
if (hasOption(element, 'other')) {
|
|
var freeTextField = $('#' + element.id + '_free').parent();
|
|
setFreeTextState(element, freeTextField);
|
|
|
|
$('#' + element.id).on('change', function(event) {
|
|
setFreeTextState(event.target, freeTextField);
|
|
});
|
|
}
|
|
})
|
|
});
|
|
</script>
|
|
{% endblock %}
|