2009-12-10 2 views
2

Un débutant question scala/ascenseur:ascenseur échantillon CalendarMonthView échoue avec Lift 1.1 INSTANTANÉ

J'ai vérifié l'échantillon CalendarMonthView:

http://scala-tools.org/mvnsites/liftweb-1.0/lift-widgets/scaladocs/net/liftweb/widgets/calendars/CalendarMonthView.html

avec Ascenseur 1,1-M6 et compilé et travaillé.

Lorsque j'ai essayé de migrer l'échantillon vers Lift 1.1-SNAPSHOT, la signature d'AnonFunc semble avoir changé de classe JsRaw à JsCmd (qui est un trait).

Le compilateur échoue ici:

def itemClick = Full (AnonFunc ("élém, PARAM", JsCmd ("alert ('itemClick' + + param '-' + elem.nodeName)")))

introuvable: valeur JsCmd

suis-je manque quelque chose?

Cordialement Paul

Répondre

0

Essayez d'utiliser net.liftweb.http.js.JE.JsRaw au lieu de JsCmd:

def itemClick = Full(AnonFunc("elem, param", JsRaw("alert('itemClick' + param + '-' + elem.nodeName)"))) 

Je ne sais pas si cela passera par votre élém et de param le AnonFunc, mais je crois que oui

+0

Aaron, merci pour votre commentaire. Mon problème est que la signature de l'AnonFunc dans Lift 1.1-SNAPSHOT a été remplacé par: def s'applique (s: scala.Predef.String, j: net.liftweb.http.js.JsCmd): net.liftweb.http.js.JE.AnonFunc = {/ * code compilé * /} –

1

Je trouve la nouvelle remontée mécanique mise en œuvre 1.1 INSTANTANÉ de l'échantillon de CalendarMonthView dans le sous-projet

/ascenseur -modules/levage-widgets

qui a d'autres tout à fait impressionnants échantillons widget :-)

La meilleure façon est d'obtenir la pension entière liftweb via:

git clone git: //github.com/ dpp/liftweb.git

0

Il y a deux solutions à ce problème:

  1. Utilisez le JsCmds jsExp à convertisseur JsCmd.
  2. Créez un objet JsCmd.

Pour illustrer ces deux exemples, en supposant que votre commande initiale était:

def dayClick = Full(AnonFunc("elem, param", JsRaw("alert('day was clicked')"))) 

Le convertisseur serait:

import net.liftweb.http.js.JsCmds.jsExpToJsCmd 
def dayClick = Full(AnonFunc("elem, param", JsRaw("alert('day was clicked')"))) 

Et serait le nouveau commandement:

import net.liftweb.http.js.JsCmd 
def dayClick = Full(AnonFunc("elem, param", 
          new JsCmd("alert('day was clicked')"))) 

Bien sûr, ce ne sont pas des listes d'importation complètes, simplement ces importations qui sont nécessaires pour le changement en question.