position de carte selon gabarit (#66959) #253

Merged
fpeters merged 1 commits from wip/66959-map-initial-position-template into main 2023-04-21 07:55:07 +02:00
Owner
No description provided.
fpeters force-pushed wip/66959-map-initial-position-template from 7fb11cf911 to 274af38061 2023-04-20 14:42:06 +02:00 Compare
fpeters force-pushed wip/66959-map-initial-position-template from 274af38061 to 30532fc6a3 2023-04-20 15:07:58 +02:00 Compare
fpeters force-pushed wip/66959-map-initial-position-template from 30532fc6a3 to 4d6cea8305 2023-04-20 15:46:44 +02:00 Compare
fpeters force-pushed wip/66959-map-initial-position-template from 4d6cea8305 to 83fa0aa4fd 2023-04-20 16:12:18 +02:00 Compare
fpeters force-pushed wip/66959-map-initial-position-template from 83fa0aa4fd to afafc75fe3 2023-04-20 16:16:02 +02:00 Compare
fpeters reviewed 2023-04-20 16:27:24 +02:00
wcs/fields.py Outdated
@ -2302,0 +2309,4 @@
'max_zoom',
'initial_position',
'position_template',
'data_source',
Author
Owner

Avec le passage en plusieurs lignes on ne le voit pas bien, c'est l'ajout de initial_position et position_template.

Avec le passage en plusieurs lignes on ne le voit pas bien, c'est l'ajout de initial_position et position_template.
wcs/fields.py Outdated
@ -2549,0 +2565,4 @@
options=(
('', _('Default position (from markers)'), ''),
('template', _('From template'), 'template'),
),
Author
Owner

La position de départ est soit déterminée selon les marqueurs (situation actuelle), soit selon ce qui sera donné dans le gabarit en question.

La position de départ est soit déterminée selon les marqueurs (situation actuelle), soit selon ce qui sera donné dans le gabarit en question.
wcs/fields.py Outdated
@ -3537,0 +3583,4 @@
'initial_position',
'default_position',
'position_template',
]
Author
Owner

Pour les champs carte il y a initial_position et position_template ajoutés, init_with_geoloc retiré (il devient une des valeurs possibles pour initial_position).

Pour les champs carte il y a initial_position et position_template ajoutés, init_with_geoloc retiré (il devient une des valeurs possibles pour initial_position).
@ -3537,0 +3594,4 @@
elif self.default_position:
self.initial_position = 'point'
changed = True
return changed
Author
Owner

Code de migration, précédemment on pouvait avoir en parallèle la géoloc et une position par défaut, désormais il faut choisir, le choix de la géoloc était prioritaire avant, donc on garde de manière préférentielle celui-ci.

Code de migration, précédemment on pouvait avoir en parallèle la géoloc et une position par défaut, désormais il faut choisir, le choix de la géoloc était prioritaire avant, donc on garde de manière préférentielle celui-ci.
@ -3541,0 +3608,4 @@
('point', _('Specific point'), 'point'),
('geoloc', _('Device geolocation'), 'geoloc'),
('template', _('From template'), 'template'),
),
Author
Owner

Pour les champs "carte" on a ces 4 options, les 3 qui existaient + la possibilité de gabarit.

Pour les champs liste affichés sous forme de carte on a uniquement 2 options, le choix par défaut (position selon les marqueurs) et le choix "gabarit" (qui est la demande à l'origine du ticket). Ça pourrait être étendu pour avoir les options point et géoloc mais je me suis dit que j'attendrais la demande.

Pour les champs "carte" on a ces 4 options, les 3 qui existaient + la possibilité de gabarit. Pour les champs liste affichés sous forme de carte on a uniquement 2 options, le choix par défaut (position selon les marqueurs) et le choix "gabarit" (qui est la demande à l'origine du ticket). Ça pourrait être étendu pour avoir les options point et géoloc mais je me suis dit que j'attendrais la demande.
@ -3375,0 +3397,4 @@
self.map_attributes['data-def-lat'] = position.split(';')[0]
self.map_attributes['data-def-lng'] = position.split(';')[1]
else:
# address?
Author
Owner

C'est le même comportement que celui adopté pour le préremplissage par un gabarit d'un champ carte, soit le gabarit donne des coordonnées, soit on on part sur le géocodage.

C'est le même comportement que celui adopté pour le préremplissage par un gabarit d'un champ carte, soit le gabarit donne des coordonnées, soit on on part sur le géocodage.
@ -2642,0 +2642,4 @@
div[data-dynamic-display-child-of="initial_position"] {
margin-top: -1.5em;
}
Author
Owner

Dans l'admin, pour coller davantage le champ qui vient directement sous la sélection du type de position initiale.

Dans l'admin, pour coller davantage le champ qui vient directement sous la sélection du type de position initiale.
@ -16,0 +23,4 @@
}
});
// refresh maps that may have been shown
$(this).parents('form').find('.qommon-map').trigger('qommon:invalidate');
Author
Owner

Pour la configuration des champs liste en mode carte, on a désormais une cascade possible, affichage carte -> le champ position initiale s'affiche -> le champ gabarit associé peut s'afficher, ou pas.

Le code ici cache tout ce qui serait dépendant du champ "position initiale" quand celui-ci est caché, et joue le trigger "change" quand il est affiché (ce qui amènera les champs dépendants à s'afficher).

Pour la configuration des champs liste en mode carte, on a désormais une cascade possible, affichage carte -> le champ position initiale s'affiche -> le champ gabarit associé peut s'afficher, ou pas. Le code ici cache tout ce qui serait dépendant du champ "position initiale" quand celui-ci est caché, et joue le trigger "change" quand il est affiché (ce qui amènera les champs dépendants à s'afficher).
@ -110,0 +117,4 @@
// has been given.
} else {
map.fitBounds(geo_json.getBounds());
}
Author
Owner

Si la carte a une position par défaut via un gabarit, on ne fait rien (elle a été centrée dessus plus tôt), sinon s'il y a un marqueur sélectionné on se centre dessus (nouveau comportement), sinon on reste sur l'ancien comportement d'ajuster la carte pour afficher les marqueurs.

Si la carte a une position par défaut via un gabarit, on ne fait rien (elle a été centrée dessus plus tôt), sinon s'il y a un marqueur sélectionné on se centre dessus (nouveau comportement), sinon on reste sur l'ancien comportement d'ajuster la carte pour afficher les marqueurs.
Author
Owner

Le besoin initial concerne uniquement le champ liste affiché en carte mais ça n'aurait pas été terrible de lui ajouter une option de centrage de carte que le champ carte n'aurait pas eu, donc ça l'ajoute aussi au champ carte, et plutôt que faire une succession de possibilités (position par défaut qui peut être vide, case à cocher pour la géolocalisation par l'appareil), ça modifie l'interface pour avoir d'abord une série de boutons radio :

Position initiale
(x) position par défault  ( ) point  ( ) géoloc  ( ) gabarit

et dessous, si point est choisi une carte, et si gabarit est choisi un champ texte pour le saisir.

Une fois ça en place, juste un peu de js supplémentaire pour le cas "choix d'un marqueur" et c'est plié.

Le besoin initial concerne uniquement le champ liste affiché en carte mais ça n'aurait pas été terrible de lui ajouter une option de centrage de carte que le champ carte n'aurait pas eu, donc ça l'ajoute aussi au champ carte, et plutôt que faire une succession de possibilités (position par défaut qui peut être vide, case à cocher pour la géolocalisation par l'appareil), ça modifie l'interface pour avoir d'abord une série de boutons radio : ``` Position initiale (x) position par défault ( ) point ( ) géoloc ( ) gabarit ``` et dessous, si point est choisi une carte, et si gabarit est choisi un champ texte pour le saisir. Une fois ça en place, juste un peu de js supplémentaire pour le cas "choix d'un marqueur" et c'est plié.
fpeters changed title from WIP: position de carte selon gabarit (#66959) to position de carte selon gabarit (#66959) 2023-04-20 16:46:51 +02:00
lguerin approved these changes 2023-04-20 20:33:47 +02:00
fpeters merged commit f0d81c12d6 into main 2023-04-21 07:55:07 +02:00
fpeters deleted branch wip/66959-map-initial-position-template 2023-04-21 07:55:07 +02:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: entrouvert/wcs#253
No description provided.