Suite

Placement du bouton Enregistrer dans ArcGIS Javascript AttributeInspector dijit

Placement du bouton Enregistrer dans ArcGIS Javascript AttributeInspector dijit


J'ai un problème avec un AttributeInspector dont j'ai remarqué qu'il existe également dans un exemple en ligne ici : http://developers.arcgis.com/javascript/samples/ed_attribute_inspector/

Si vous cliquez sur un polygone pour afficher l'AttibuteInspector, vous remarquerez qu'en passant votre souris sur le coin supérieur droit du bouton Supprimer, vous sélectionnez le bouton Enregistrer. Dans la console Chrome, j'ai pu constater qu'il existe une balise malveillante qui pourrait être à l'origine de ce problème. Voir capture d'écran ci-jointe.

Le code qui a créé cela est le suivant et est visible dans l'exemple de code ici.

var saveButton = new Button({ label: "Save", "class": "saveButton"}); domConstruct.place(saveButton.domNode, attInspector.deleteBtn.domNode, "après");

Comment éviter ce problème afin qu'aucune partie des deux boutons ou de leurs conteneurs ne se chevauche ?


Cela ressemble à un problème CSS possible - je le signalerais au support technique d'Esri pour voir s'ils peuvent le résoudre correctement dans l'API JS.

En guise de solution de contournement, vous pourrez peut-être modifier vous-même le CSS pour éviter le chevauchement. Par exemple, essayez quelque chose comme ceci :

.saveButton { margin-left: 45px; }

En fait, je l'ai réparé plus tard aujourd'hui. C'est un bug CSS, et voici comment je l'ai corrigé pour l'instant :

attInspector.deleteBtn.domNode.classList.remove("atiButton");

Le problème est que dans la classe CSS atiButton a une taille fixe de 16px (orientée vers les boutons de navigation) et le bouton supprimer ne devrait pas en hériter, ou mieux encore, la classe devrait changer et un nouvel atiNavButton devrait avoir la taille fixe, etc.