Projet

Général

Profil

Development #45230

autocomplétion des champs texte à partir d'une source de données non-jsonp

Ajouté par Frédéric Péters il y a presque 4 ans. Mis à jour il y a plus de 3 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
17 juillet 2020
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Aujourd'hui c'est nécessairement jsonp alors qu'on voudrait ne plus avoir ça.

(je suis surpris qu'il n'existe pas encore de ticket).


Fichiers


Demandes liées

Lié à w.c.s. - Development #10990: possibilité d'autocomplétion sur une zone texte via une source de données qui ne serait pas du jsonpFermé19 mai 2016

Actions

Révisions associées

Révision 24ef0f87 (diff)
Ajouté par Lauréline Guérin il y a plus de 3 ans

fields: autocomplete for string field with json datasource (#45230)

Historique

#1

Mis à jour par Lauréline Guérin il y a plus de 3 ans

  • Assigné à mis à Lauréline Guérin
#2

Mis à jour par Lauréline Guérin il y a plus de 3 ans

J'ai l'impression que cette petite modif est suffisante. Fred tu avais autre chose en tête ?

#3

Mis à jour par Frédéric Péters il y a plus de 3 ans

C'est super si ça marche juste comme ça désormais, clairement.

Tu ferais un test comme quoi il y a bien une mention de /api/autocomplete/ dans l'HTML produit ?

#4

Mis à jour par Lauréline Guérin il y a plus de 3 ans

Je n'ai pas cette url dans le html produit, déjà pas avec jsonp.
J'ai juste ça:

<script id="script_f0">
$(function() {
  $("#form_f0").autocomplete({
    source: function( request, response ) {
      $.ajax({
        url: $("#form_f0").data('uiAutocomplete').options.url,
        dataType: "jsonp",
        data: {
          q: request.term
        },
        success: function( data ) {
          response( $.map(data.data, function(item) {
            return {label: item.text, value: item.label};
           }));
        }
      });
    },
    minLength: 2,
    open: function() {
      $(this).removeClass("ui-corner-all").addClass("ui-corner-top");
    },
    close: function() {
      $(this).removeClass("ui-corner-top").addClass("ui-corner-all");
    }
  });

$("#form_f0").data('uiAutocomplete').options.url = 'http://example.net/';

});

Et c'est déjà ce qui était testé

#5

Mis à jour par Frédéric Péters il y a plus de 3 ans

Avec jsonp c'est normal, avec json je m'attendais à l'avoir.

$("#form_f0").data('uiAutocomplete').options.url = 'http://example.net/';

si le http://example.net/ est l'adresse correspondant au JSON (dans le test c'est .org), ça ne passerait pas en vrai parce que le navigateur va foirer à aller sur le domaine séparé.

Il y a dans NamedDataSource une méthode get_jsonp_url qui doit fournir la bonne adresse. (ça fonctionnera uniquement avec les sources qui définissent le ?q mais c'est normal).

#7

Mis à jour par Frédéric Péters il y a plus de 3 ans

  • Statut changé de Solution proposée à Solution validée
#8

Mis à jour par Lauréline Guérin il y a plus de 3 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 24ef0f870cad87d0f61e1ba97d2bc40401426c45
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date:   Mon Oct 19 16:58:39 2020 +0200

    fields: autocomplete for string field with json datasource (#45230)
#9

Mis à jour par Frédéric Péters il y a plus de 3 ans

  • Statut changé de Résolu (à déployer) à Solution déployée
#10

Mis à jour par Frédéric Péters il y a plus de 2 ans

  • Lié à Development #10990: possibilité d'autocomplétion sur une zone texte via une source de données qui ne serait pas du jsonp ajouté

Formats disponibles : Atom PDF