Autor Thema: Typeahead  (Gelesen 7675 mal)

Offline machineslave

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Männlich
Typeahead
« am: 19.09.13 - 10:38:23 »
Hallo,

ich habe mich mal an dem Type Ahead versucht, aber irgendwie will es nicht funktionieren.
Der Code sieht wie folgt aus:

<xp:inputText id="superior" value="#{document1.Superior}">
     <xp:this.defaultValue><![CDATA[#{javascript:db = new Array(getComponent("server").getValue(), getComponent("addressBook").getValue());
@DbLookup(db,"($VIMPeople)",getComponent("commonName").getValue(), "Manager")}]]>
     </xp:this.defaultValue>
     <xp:typeAhead mode="partial" minChars="3" var="aKey" valueListSeparator="," ignoreCase="true" valueMarkup="true">
     <xp:this.valueList><![CDATA[#{javascript:db = new Array(getComponent("server").getValue(), getComponent("addressBook").getValue());
          var aKey = getComponent("superior").getValue();
@DbLookup(db,"(PeopleByFirstname)",aKey,1,"[PARTIALMATCH]")}]]>
     </xp:this.valueList>
     </xp:typeAhead>
</xp:inputText>

Der Lookup für sich alleine genommen funktioniert, aber ich bekomme keine Vorschläge angezeigt.
Stefan

Das Leben ist ein Scheiß Spiel, aber die Grafik ist geil

Offline Sven Hasselbach

  • Senior Mitglied
  • ****
  • Beiträge: 316
  • Geschlecht: Männlich
    • blog@hasselba.ch
Re: Typeahead
« Antwort #1 am: 19.09.13 - 11:17:01 »
Das liegt daran, das Du zum Einen die Variable aKey überschreibst, und zum Anderen daran, dass die Komponente superior nicht den eingegebenen Wert enhält, der beim Typeahead eingetippt wird.

Wenn Du die Zeile
Code
 var aKey = getComponent("superior").getValue();

löschst, sollte es funktionieren.

Offline machineslave

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Männlich
Re: Typeahead
« Antwort #2 am: 19.09.13 - 13:30:25 »
Hab die Zeile entfernt, bekomme aber immer noch keine Vorschläge angezeigt.
Stefan

Das Leben ist ein Scheiß Spiel, aber die Grafik ist geil

Offline Sven Hasselbach

  • Senior Mitglied
  • ****
  • Beiträge: 316
  • Geschlecht: Männlich
    • blog@hasselba.ch
Re: Typeahead
« Antwort #3 am: 19.09.13 - 13:43:00 »
Ah, und da Du kein HTML generierst, setze valueMarkup auf false

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Typeahead
« Antwort #4 am: 19.09.13 - 13:43:07 »
an dem fehlenden ;
in der Zeile "@DbLookup(db,"(PeopleByFirstname)",aKey,1,"[PARTIALMATCH]")}]]>" wirds wohl nicht liegen...
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline machineslave

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Männlich
Re: Typeahead
« Antwort #5 am: 19.09.13 - 13:52:58 »
Habe valueMarkup auf false gesetzt (und das ; sicherheitshalber angefügt) aber ich bekomme trotzdem keine Vorschläge angezeigt.
Stefan

Das Leben ist ein Scheiß Spiel, aber die Grafik ist geil

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Typeahead
« Antwort #6 am: 19.09.13 - 13:56:09 »
Hi
Verwendest du zufällig Chrome/Firefox? Dann schau mal mit den Developer Tools was da retourkommt.
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline Sven Hasselbach

  • Senior Mitglied
  • ****
  • Beiträge: 316
  • Geschlecht: Männlich
    • blog@hasselba.ch
Re: Typeahead
« Antwort #7 am: 19.09.13 - 14:02:11 »
Was liefert denn der Server zurück (HTTP Response via Firebug Toolbar)?

Offline machineslave

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Männlich
Re: Typeahead
« Antwort #8 am: 19.09.13 - 14:04:06 »
Hab mir das grad mal mit Firebug angeschaut. Die Anfrage an den Server wird gesendet, jedoch bekomme ich einen Timeout zurück :-(
Stefan

Das Leben ist ein Scheiß Spiel, aber die Grafik ist geil

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Typeahead
« Antwort #9 am: 19.09.13 - 15:03:58 »
Moin
die Ansicht ist im Web sichtbar und der Zugriff ist auf diese DB per Browser möglich?
bzw. in der ACL ist dort etwa maximum Internet Access  eingeschränkt ?
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline machineslave

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Männlich
Re: Typeahead
« Antwort #10 am: 19.09.13 - 16:19:36 »
Die Ansicht ist über den Browser abrufbar; Max Internet Access ist nicht eingeschränkt.
Stefan

Das Leben ist ein Scheiß Spiel, aber die Grafik ist geil

Offline Jens Winkelmann

  • Junior Mitglied
  • **
  • Beiträge: 53
  • Geschlecht: Männlich
  • Jens Winkelmann
    • PAVONE AG
Re: Typeahead
« Antwort #11 am: 19.09.13 - 22:58:42 »
Punkt 1)
Entferne die Property valueMarkup="true".
Diese ist vermutlich nur notwendig, wenn man XML über die Formel berechnet.

Punkt 2)
Den Nutzen der Property var="aKey" verstehe ich nicht.
Bitte mal löschen.

Punkt 3)
Auch die Berechnung der Vorschlagsliste verstehe ich nicht ganz.
Du machst ein Lookup auf eine Ansicht mit dem aktuellen Wert des Feldes.
Diese Formel wird aber erst bei einem Refresh des Feldes aktualisiert.
Also nicht bei jedem Eintippen eines Buchstaben im Feld selbst.

Versuch doch mal zum Testen die nachfolgende Formel:
db = new Array(getComponent("server").getValue(), getComponent("addressBook").getValue());
return @DbColumn(db,"($VIMPeople)",1);

Wenn es kein Überlauf gibt, sollte die Funktionalität wenigstens klappen.


Offline Sven Hasselbach

  • Senior Mitglied
  • ****
  • Beiträge: 316
  • Geschlecht: Männlich
    • blog@hasselba.ch
Re: Typeahead
« Antwort #12 am: 20.09.13 - 07:09:50 »
Zitat
Den Nutzen der Property var="aKey" verstehe ich nicht.
In der Variable ist der eingegebene String enthalten (Sonst wäre ja ein Refresh der Inputbox nötig)

Zitat
Lookup auf eine Ansicht mit dem aktuellen Wert des Feldes.
Diese Formel wird aber erst bei einem Refresh des Feldes aktualisiert.
Also nicht bei jedem Eintippen eines Buchstaben im Feld selbst.
siehe oben.

Das ein Timeout auftritt, ist jedoch recht merkwürdig. Ich würde mir den Lookup näher anschauen. Was ist denn, wenn die Typeahead-Liste hardgecoded ist?

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz