mirror of
https://forge.chapril.org/tykayn/osm-commerces
synced 2025-06-20 01:44:42 +02:00
stats up
This commit is contained in:
parent
9ae7c0d3e4
commit
a1c5647b43
9 changed files with 172 additions and 83 deletions
|
@ -30,29 +30,11 @@
|
|||
{% if commerce_overpass is not empty %}
|
||||
<form action="{{ path('app_public_submit', {'osm_object_id': commerce_overpass['@attributes'].id, 'version': commerce_overpass['@attributes'].version, 'changesetID': commerce_overpass['@attributes'].changeset }) }}" method="post" class="needs-validation">
|
||||
<input type="hidden" name="osm_kind" value="{{ osm_kind }}">
|
||||
<div class="mb-4">
|
||||
<label for="commerce_id" class="form-label">{{ 'display.modify_commerce'|trans }}:
|
||||
<strong>
|
||||
{% if commerce_overpass.tags_converted.name is defined %}
|
||||
{{ commerce_overpass.tags_converted.name }}
|
||||
{% elseif commerce_overpass['@attributes'].name is defined %}
|
||||
{{ commerce_overpass['@attributes'].name }}
|
||||
{% else %}
|
||||
{{ 'display.unknown'|trans }}
|
||||
{% endif %}
|
||||
</strong>
|
||||
</label>
|
||||
<div class="mt-2">
|
||||
<a class="btn btn-info" href="{{ path('app_public_index') }}">{{ 'display.contact_humans'|trans }}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% if commerce.tags_converted.image is defined %}
|
||||
<img class="img-fluid mb-4" src="{{ commerce.tags_converted.image }}" alt="Image du lieu">
|
||||
{% endif %}
|
||||
|
||||
<h2 class="h3 mb-3">{{ 'display.attributes'|trans }}</h2>
|
||||
{# nom #}
|
||||
<div class="row g-3 mb-4">
|
||||
<div class="d-none">
|
||||
{{ dump(commerce_overpass.tags_converted) }}
|
||||
</div>
|
||||
<div class="col-12 col-md-4">
|
||||
<label for="commerce_tag_value__name" class="form-label">{{'display.keys.name'|trans}}</label>
|
||||
</div>
|
||||
|
@ -61,6 +43,18 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{# {{ dump(commerce_overpass.tags_converted) }} #}
|
||||
{% if commerce_overpass.tags_converted.image is defined %}
|
||||
<img class="img-fluid img-thumbnail mb-3" src="{{ commerce_overpass.tags_converted.image }}" />
|
||||
|
||||
|
||||
<input type="text" class="form-control" name="commerce_tag_value__image" value="{{ commerce_overpass.tags_converted.image }}">
|
||||
|
||||
<input type="text" class="form-control" name="commerce_tag_value__panoramax" value="{{ commerce_overpass.tags_converted.panoramax is defined ? commerce_overpass.tags_converted.panoramax : '' }}">
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if hide_filled_inputs and
|
||||
(commerce_overpass.tags_converted['addr:street']) is defined and commerce_overpass.tags_converted['addr:street'] is empty
|
||||
and (commerce_overpass.tags_converted['addr:housenumber']) is defined and commerce_overpass.tags_converted['addr:housenumber'] is empty
|
||||
|
@ -112,6 +106,9 @@
|
|||
<div class="row">
|
||||
<div class="col-12 mt-4">
|
||||
<div class="actions-modification">
|
||||
|
||||
<a class="btn btn-info" href="{{ path('app_public_index') }}">{{ 'display.contact_humans'|trans }}</a>
|
||||
|
||||
<button id="showAllFields" class="btn btn-secondary mx-4">
|
||||
<i class="bi bi-eye"></i>
|
||||
Voir aussi les champs déjà remplis
|
||||
|
@ -152,6 +149,15 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="completion_progress" class="">
|
||||
<div class="container">
|
||||
<div id="completion_display" class="mb-2"></div>
|
||||
<div class="progress" role="progressbar" aria-label="Progression de complétion" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100">
|
||||
<div class="progress-bar" style="width: 0%"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
{% block javascripts %}
|
||||
|
@ -210,33 +216,6 @@
|
|||
.addTo(map);
|
||||
{% endif %}
|
||||
|
||||
function updateCompletionProgress() {
|
||||
const inputs = document.querySelectorAll('input[type="text"]');
|
||||
let filledInputs = 0;
|
||||
let totalInputs = inputs.length;
|
||||
|
||||
inputs.forEach(input => {
|
||||
if (input.value.trim() !== '') {
|
||||
filledInputs++;
|
||||
}
|
||||
});
|
||||
|
||||
const completionPercentage = (filledInputs / totalInputs) * 100;
|
||||
const progressBar = document.querySelector('#completion_progress .progress-bar');
|
||||
progressBar.style.width = completionPercentage + '%';
|
||||
progressBar.setAttribute('aria-valuenow', completionPercentage);
|
||||
|
||||
document.querySelector('#completion_display').innerHTML = `Votre commerce est complété à ${Math.round(completionPercentage)}%`;
|
||||
}
|
||||
|
||||
document.querySelectorAll('input[type="text"]').forEach(input => {
|
||||
input.addEventListener('blur', updateCompletionProgress);
|
||||
});
|
||||
|
||||
document.querySelector('form').addEventListener('submit', check_validity);
|
||||
document.addEventListener('DOMContentLoaded', updateCompletionProgress);
|
||||
|
||||
|
||||
</script>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue