how to build lastest 1.3.x jar

2009-03-07 Thread NHSoft.YHW

I can not found where to get lastest 1.3.x jar file, so I build from source,
but there always has error.

check out lastest code from
http://svn.apache.org/repos/asf/wicket/branches/wicket-1.3.x;, then build
with mvn installl, but build failure because some test case run error. so
I build with mvn -Dmaven.test.skip=true install as wicket site said, but
there has some error, detail information

INFO] [bundle:manifest {execution: bundle-manifest}]
[WARNING] Warning in manifest for
org.apache.wicket:wicket-extensions:jar:1.3-SN
APSHOT : Superfluous export-package instructions: [org, org.apache,
org.apache.w
icket, org.apache.wicket.extensions.ajax,
org.apache.wicket.extensions.ajax.mark
up, org.apache.wicket.extensions.ajax.markup.html.form,
org.apache.wicket.extens
ions.ajax.markup.html.repeater,
org.apache.wicket.extensions.ajax.markup.html.re
peater.data, org.apache.wicket.extensions.markup,
org.apache.wicket.extensions.m
arkup.html, org.apache.wicket.extensions.markup.html.image,
org.apache.wicket.ex
tensions.markup.html.repeater,
org.apache.wicket.extensions.markup.html.repeater
.data, org.apache.wicket.extensions.util,
org.apache.wicket.extensions.validatio
n]
[INFO] [resources:testResources]
[INFO] Using default encoding to copy filtered resources.
[INFO]

[ERROR] BUILD ERROR
[INFO]

[INFO] Failed to resolve artifact.

Missing:
--
1) org.apache.wicket:wicket:jar:tests:1.3-SNAPSHOT

  Try downloading the file manually from the project website.

  Then, install it using the command:
  mvn install:install-file -DgroupId=org.apache.wicket
-DartifactId=wicket -
Dversion=1.3-SNAPSHOT -Dclassifier=tests -Dpackaging=jar
-Dfile=/path/to/file

  Alternatively, if you host your own repository you can deploy the file
there:

  mvn deploy:deploy-file -DgroupId=org.apache.wicket -DartifactId=wicket
-Dv
ersion=1.3-SNAPSHOT -Dclassifier=tests -Dpackaging=jar -Dfile=/path/to/file
-Dur
l=[url] -DrepositoryId=[id]

  Path to dependency:
1) org.apache.wicket:wicket-extensions:jar:1.3-SNAPSHOT
2) org.apache.wicket:wicket:jar:tests:1.3-SNAPSHOT

--
1 required artifact is missing.

for artifact:
  org.apache.wicket:wicket-extensions:jar:1.3-SNAPSHOT

from the specified remote repositories:
  central (http://repo1.maven.org/maven2)

anyone could help me how to build, or where to get lastest build jar files,
thanks.



-- 
View this message in context: 
http://www.nabble.com/how-to-build-lastest-1.3.x-jar-tp22386106p22386106.html
Sent from the Wicket - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: how to build lastest 1.3.x jar

2009-03-07 Thread Dave Schoorl

On the wicket site they mention a SNAPSHOT repository at

repositories
   repository
   idorg.wicketstuff/id
   nameWicket Stuff Repository/name
   urlhttp://wicketstuff.org/maven/repository/url
   /repository
/repositories

When you look with your webbrowser, you can see that at this moment the latest 
snapshot is from March 3: wicket-1.3-20090303.231013-289.jar.

HTH



NHSoft.YHW wrote:

I can not found where to get lastest 1.3.x jar file, so I build from source,
but there always has error.

check out lastest code from
http://svn.apache.org/repos/asf/wicket/branches/wicket-1.3.x;, then build
with mvn installl, but build failure because some test case run error. so
I build with mvn -Dmaven.test.skip=true install as wicket site said, but
there has some error, detail information

INFO] [bundle:manifest {execution: bundle-manifest}]
[WARNING] Warning in manifest for
org.apache.wicket:wicket-extensions:jar:1.3-SN
APSHOT : Superfluous export-package instructions: [org, org.apache,
org.apache.w
icket, org.apache.wicket.extensions.ajax,
org.apache.wicket.extensions.ajax.mark
up, org.apache.wicket.extensions.ajax.markup.html.form,
org.apache.wicket.extens
ions.ajax.markup.html.repeater,
org.apache.wicket.extensions.ajax.markup.html.re
peater.data, org.apache.wicket.extensions.markup,
org.apache.wicket.extensions.m
arkup.html, org.apache.wicket.extensions.markup.html.image,
org.apache.wicket.ex
tensions.markup.html.repeater,
org.apache.wicket.extensions.markup.html.repeater
.data, org.apache.wicket.extensions.util,
org.apache.wicket.extensions.validatio
n]
[INFO] [resources:testResources]
[INFO] Using default encoding to copy filtered resources.
[INFO]

[ERROR] BUILD ERROR
[INFO]

[INFO] Failed to resolve artifact.

Missing:
--
1) org.apache.wicket:wicket:jar:tests:1.3-SNAPSHOT

  Try downloading the file manually from the project website.

  Then, install it using the command:
  mvn install:install-file -DgroupId=org.apache.wicket
-DartifactId=wicket -
Dversion=1.3-SNAPSHOT -Dclassifier=tests -Dpackaging=jar
-Dfile=/path/to/file

  Alternatively, if you host your own repository you can deploy the file
there:

  mvn deploy:deploy-file -DgroupId=org.apache.wicket -DartifactId=wicket
-Dv
ersion=1.3-SNAPSHOT -Dclassifier=tests -Dpackaging=jar -Dfile=/path/to/file
-Dur
l=[url] -DrepositoryId=[id]

  Path to dependency:
1) org.apache.wicket:wicket-extensions:jar:1.3-SNAPSHOT
2) org.apache.wicket:wicket:jar:tests:1.3-SNAPSHOT

--
1 required artifact is missing.

for artifact:
  org.apache.wicket:wicket-extensions:jar:1.3-SNAPSHOT

from the specified remote repositories:
  central (http://repo1.maven.org/maven2)

anyone could help me how to build, or where to get lastest build jar files,
thanks.



  



-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: openstreetmap in openlayers

2009-03-07 Thread morbo

I have to correct myself a little bit. The setCenter method does work! I had
a problem with the coordinates, which were not in the right format. So,
sorry for that.





morbo wrote:
 
 Hi Nino,
 
 yes, I would love to contribute to this project. But I'm warning you, I am
 not a very experienced javascript developer. :)
 
 What I have done so far, was extending the layer class for all osm layers.
 For example I created a OSMMapnik class which contributes
 http://www.openstreetmap.org/openlayers/OpenStreetMap.js; to the header
 and the getJSConstructer method returns this: return new
 Constructor(OpenLayers.Layer.OSM.Mapnik).add(' + getName() +
 ').toJS();
 
 As you see, I am using the OSM object. This solution works but I think it
 would be nicer to use the TSM object, as I have done in my first attempt
 (see above). The problem is that the script does not find the
 osm_getTileURL method. I am not sure why. 
 
 Furthermore I modified the setZoom method so, that it calls
 zoomTo(zoom). Thats all.
 
 Maybe, you could give a brief introduction how the project works. I am not
 sure if I understand all of your code. Especially the role of the
 wicket-openlayers.js file and event handling. 
 
 richard
 
 
 
 
 nino martinez wael wrote:
 
 Hi Richard
 
 Im the author behind the openlayers contrib, I checked the code last time
 somewhere in end if december...
 
 Do you have some patches or further clues on whats not working?
 
 
 Im not directly using the openlayers integration currently so patches are
 very welcome, even co- coders would be nice :)
 regards Nino
 
 2009/3/6 morbo richard.wiesin...@gmail.com
 

 Thank you very much. That really helped a lot. I am now able to render
 the
 different openstreetmap layers (mapnik, ti...@home, cycleMap) with the
 above
 mentioned OpenLayers.Layer.OSM object.

 But there still exist some problems. It is not entirely possible to edit
 the
 maps with the wicketstuff project. Once the map is rendered there is no
 problem: dragging, zooming, layerswitching are working. But before
 rendering
 not all functions are working. For example the setCenter(lonlat, zoom)
 function of the wicketstuff openlayers contrib seems to do nothing with
 the
 map. Also the setZoom function did not worked at the beginning, but
 after
 some changes I got it working.

 I think the project is not entirely up to date with the openlayers api?
 Maybe a user who is more familiar with this project could give a
 statement
 about the problem.





 Michael O'Cleirigh wrote:
 
  Hello,
 
  Pink tiles means there is a mismatch somewhere between your layers.
 
  Does your openlayers javascript work correctly? (i.e. when not emitted
  from wicket openlayers?)
 
  This page embeds an openstreet map in openlayers:
  http://wiki.openstreetmap.org/wiki/OpenLayers
 
  But it doesn't use the OpenLayers.Layer.TMS object. It adds its own
  import (http://openstreetmap.org/openlayers/OpenStreetMap.js ) and
 uses
  an OpenLayers.Layer.OSM object.
 
  Perhaps your integration should use that instead?
 
  There is a ticket for something similiar that might get into
 OpenLayers
  2.8 (http://trac.openlayers.org/ticket/1950)
 
  Mike
 
  I tried a few things and I think I managed the integration of
  openstreetmaps.
  The browser is contacting the osm tile server BUT everything I get
 are
  pink
  tiles?
 
 
  Here is the output of the final html page:
 
  html
  head
  titleWicket Quickstart Archetype Homepage/title
  script type=text/javascript
 
 src=resources/org.apache.wicket.markup.html.WicketEventReference/wicket-event.js/script
  script type=text/javascript
 
 src=resources/org.apache.wicket.ajax.WicketAjaxReference/wicket-ajax.js/script
  script type=text/javascript
 
 src=resources/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/wicket-ajax-debug.js/script
  script type=text/javascript
  id=wicket-ajax-debug-enable!--/*--![CDATA[/*!--*/
  wicketAjaxDebugEnable=true;
  /*--]]*//script
 
  script type=text/javascript
  src=http://openlayers.org/api/OpenLayers.js;/script
 
  script type=text/javascript
 
 src=resources/org.wicketstuff.openlayers.OpenLayersMap/wicket-openlayersmap.js/script
  script type=text/javascript !--/*--![CDATA[/*!--*/
  Wicket.Event.add(window, load, function(event) { function
  osm_getTileURL(bounds) {var res = this.map.getResolution();var x =
  Math.round((bounds.left - this.maxExtent.left) / (res *
  this.tileSize.w));var y = Math.round((this.maxExtent.top -
 bounds.top) /
  (res * this.tileSize.h)); var z = this.map.getZoom(); var limit =
  Math.pow(2, z);   if (y  0 || y = limit) { return
  OpenLayers.Util.getImagesLocation() + '404.png'; } else { x = ((x %
  limit) +
  limit) % limit; return this.url + z + '/' + x + '/' + y + '.'
 +
  this.type; }  }  ;});
  /*--]]*//script
 
  script type=text/javascript !--/*--![CDATA[/*!--*/
  Wicket.Event.add(window, domready, function(event) {
  var options = {maxResolution: 

bug? RequestUtils.toAbsolutePath using AJAX is not constructing a valid path

2009-03-07 Thread Antoine van Wel
Hey hey,


trying to construct a URL like this:

RequestUtils.toAbsolutePath(urlFor(MyPage.class, null).toString());


this works fine in general, but when executed using AJAX calls, it produces
 http:/mypagemountpath 
instead of the expected  http://my.host.name/mypagemountpath 


Am I missing something or is this a bug?


- Antoine


-- 
We don't see things as they are, we see things as we are. - Anais Nin
Whether you think you can or whether you think you can't, you're right. -
Henry Ford


Re: Uppercasing inputs

2009-03-07 Thread taha siddiqi
Sorry for a late response!! In this part of the world interest works
5-6 hours a day if you are fortunate and yesterday i was not...

Man, It is my pleasure to be part of a project which made me most
comfortable with j2ee ( I have worked from perl, php, python, asp to
.NET, struts, spring MVC ). Hope I will be able to contribute to this
project in a few months ... ( right now i am busy with two office
projects )

Thanks everybody

taha

On Fri, Mar 6, 2009 at 8:11 PM, Leszek Gawron lgaw...@apache.org wrote:
 taha siddiqi wrote:

 Thanks!!( everyone MADE a joke and I BECAME one )

 I'm sorry if you felt offended. It wasn't personal. Maybe my expression was
 not exact enough. After all I have used your proposal (modify Strings
 directly in domain model). What I didn't like is the requirement to change
 every set*( String value ) so I used AspectJ for that (which is probably a
 total overkill).

 My regards
        lg
 --
 Leszek Gawron

 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org



-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



tinymce question: how to switch default language?

2009-03-07 Thread rolandpeng

There are many languages supported by tinymce.
The default lanuage of my tinymce is zh.
--
TinyMCESettings settings = new TinyMCESettings(
TinyMCESettings.Theme.advanced);
Language language = settings.getLanguage();
System.out.println(language.name());
==
result: zh
--
I can't find setLanguage() method in TinyMCESettings class.
How to switch the language from zh into en,or any others? 

Thanks.

Roland.
-- 
View this message in context: 
http://www.nabble.com/tinymce-question%3A-how-to-switch-default-language--tp22388584p22388584.html
Sent from the Wicket - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Wizard and onSubmit of nested form

2009-03-07 Thread rmattler

Show us your code and I'll see if I can help.



Dave Schoorl wrote:
 
 Hi Robert, thanks for your quick reply.
 
 I am not sure if I understand what you mean. How is form validation 
 helping with the trigger of onSubmit() on the correct form?
 But I gave it a try and the problem remains: the onSubmit of the next 
 step is called instead of the current step. I think that first the panel 
 of the current step is replaced with the panel of the next step and then 
 the onSubmit is executed.
 
 Hope someone can help me.
 
 Regards,
 Dave
 
 
 rmattler wrote:
 Use public void validate(Form form)

 See example below.  Hope it helps.


 private final class Step2 extends WizardStep {
  public Step2() {
  setTitleModel(new Model(Add pictures));

  add(new AbstractFormValidator() {
  public FormComponent[] 
 getDependentFormComponents() {
  return null;
  }

  public void validate(Form form) {

  String dir = 
 Constants.ADD_PROJECT_FILE_PIC_PATH +
 getProjects().getTblId();

  File filesDir = new File(dir);
  if (filesDir.canRead() || 
 filesDir.isDirectory()) {
  String[] fileNames = 
 filesDir.list();
  if (fileNames.length  0) {
  
 getProjects().setNumPhotos(fileNames.length);
  } else {
  form.error(Please 
 upload some photos);
  }
  } else {
  form.error(Please upload some 
 photos);
  }

  }
  });

  }
  }

 Dave Schoorl wrote:
   
 Hi all,

 I am building my first Wizard with the wizard from wicket-extensions 
 version 1.3.5. Every step contains a panel with it's own form, so I have 
 a nested form in the wizards form. I was expecting that when I click 
 next, the onSubmit of my current form is called, but it's not. Instead 
 the onSubmit of the form in the next step is called.

 This seems to be related: http://markmail.org/message/ktpvzvslq5tupo6x

 Am I doing something wrong?

 Regards,
 Dave


 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org



 

   
 
 
 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org
 
 
 

-- 
View this message in context: 
http://www.nabble.com/Wizard-and-onSubmit-of-nested-form-tp22375244p22388940.html
Sent from the Wicket - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Modal window not appearing in IE

2009-03-07 Thread NHSoft.YHW

We had a similar problem about modelWindow, Firefox/Opera/Google browser all
worked fine, but IE did not show modelwindow, by wicket debug, I found that
the server has send ajax modelwindow CDATA, the detail debug information is
in attachment.
http://www.nabble.com/file/p22388985/wicket-debug-message-in-ie.txt
wicket-debug-message-in-ie.txt 


i have try to wicket-1.3.x-20090303 night build, ModelWindow also did not
show in IE.

my site url : http://www.517wm.com/app/share
when click link( 您当前所在的地标), the modalwindow did not show but
firefox/Google Chrome works well.

can somebody help me?


ecornett wrote:
 
 Has anyone else had trouble with modal windows appearing in Firefox but
 not IE and if so, what is a good solution?  I can go into more details if
 necessary.
 

-- 
View this message in context: 
http://www.nabble.com/Modal-window-not-appearing-in-IE-tp21018938p22388985.html
Sent from the Wicket - User mailing list archive at Nabble.com.


Re: tinymce question: how to switch default language?

2009-03-07 Thread Pointbreak
The default language is based on the locale of the session. Which is
normally what you want (because it is influenced by the browser
preferences, and the same as what wicket is using). You can override it
by passing a language as second argument in the TinyMCESettings
constructor.

On Sat, 07 Mar 2009 07:22 -0800, rolandpeng rolandp...@cht.com.tw
wrote:
 
 There are many languages supported by tinymce.
 The default lanuage of my tinymce is zh.
 --
 TinyMCESettings settings = new TinyMCESettings(
 TinyMCESettings.Theme.advanced);
 Language language = settings.getLanguage();
 System.out.println(language.name());
 ==
 result: zh
 --
 I can't find setLanguage() method in TinyMCESettings class.
 How to switch the language from zh into en,or any others? 
 
 Thanks.
 
 Roland.
 -- 
 View this message in context:
 http://www.nabble.com/tinymce-question%3A-how-to-switch-default-language--tp22388584p22388584.html
 Sent from the Wicket - User mailing list archive at Nabble.com.
 
 
 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org
 

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Wizard and onSubmit of nested form

2009-03-07 Thread Dave Schoorl
I created the following Jira issue for this: 
https://issues.apache.org/jira/browse/WICKET-2150




Dave Schoorl wrote:
Thanks. But I've dug a little deeper and it turns out that the panel 
switching is done in the onSubmit() of the Wizard's NextButton. The 
Form's onSubmit() is executed after that, so that will execute the 
onSubmit() of the replaced (read: next) nested Form.


I don't think that is correct, so I will be preparing a Jira issue 
later today.


But I am still looking for a work around (or maybe a permanent 
solution that can be submitted as a patch).


Regards,
Dave


rmattler wrote:

Show us your code and I'll see if I can help.



Dave Schoorl wrote:

Hi Robert, thanks for your quick reply.

I am not sure if I understand what you mean. How is form validation 
helping with the trigger of onSubmit() on the correct form?
But I gave it a try and the problem remains: the onSubmit of the 
next step is called instead of the current step. I think that first 
the panel of the current step is replaced with the panel of the next 
step and then the onSubmit is executed.


Hope someone can help me.

Regards,
Dave


rmattler wrote:

Use public void validate(Form form)

See example below. Hope it helps.


private final class Step2 extends WizardStep {
public Step2() {
setTitleModel(new Model(Add pictures));

add(new AbstractFormValidator() {
public FormComponent[] getDependentFormComponents() {
return null;
}

public void validate(Form form) {

String dir = Constants.ADD_PROJECT_FILE_PIC_PATH +
getProjects().getTblId();

File filesDir = new File(dir);
if (filesDir.canRead() || filesDir.isDirectory()) {
String[] fileNames = filesDir.list();
if (fileNames.length  0) {
getProjects().setNumPhotos(fileNames.length);
} else {
form.error(Please upload some photos);
}
} else {
form.error(Please upload some photos);
}

}
});

}
}

Dave Schoorl wrote:

Hi all,

I am building my first Wizard with the wizard from 
wicket-extensions version 1.3.5. Every step contains a panel with 
it's own form, so I have a nested form in the wizards form. I was 
expecting that when I click next, the onSubmit of my current form 
is called, but it's not. Instead the onSubmit of the form in the 
next step is called.


This seems to be related: 
http://markmail.org/message/ktpvzvslq5tupo6x


Am I doing something wrong?

Regards,
Dave


-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org




-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org








-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org




-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: How (not) to: IModel and Collections (and generics)

2009-03-07 Thread Johannes Schneider
On Wed, 2009-03-04 at 09:14 -0800, Igor Vaynberg wrote:
 components that deal with collections in wicket always reuse the same
 instance of collection is one was provided where it makes sense.

Yes, and therefore a setter is not necessary.

 setobject is still called on the model, but is called with the same
 instance of collection. this is necessary so that if you have a model
 that translates a collection of one type to a collection of another
 can perform the conversion when the component pushes new data into it.

And this is just a *misuse* of the given method... Why not create a own
model interface for collections and add some sort of conversion
method/object?


Regards,

Johannes

 
 -igor
 
 On Wed, Mar 4, 2009 at 4:50 AM, Johannes Schneider
 maili...@cedarsoft.com wrote:
  Hi,
 
  the concept of IModel seems to be very obvious. It is simply some kind
  of reference and offers a getter and a setter.
 
  When used with ordinary object, everything works fine. An IModel that
  contains a String can easily be mapped to a TextField.
  The text field calls getObject to show the initial value and sets the
  changed string to the model using setObject on form commit.
 
 
  Everything becomes a little more complicated when collections are
  affected. The problem is, that it is not obvious what those collections
  represent.
 
  1) A collection might be read-only (e.g. the possible choices for a
  selection).
  2) But it also might be necessary to add/remove single elements (e.g.
  privileged users shown within a shuffle list).
  3) And sometimes the complete collection is changed (can't find an
  example here).
 
 
  IModel only supports the *third* method where the complete collection is
  replaced.
  (Don't forget that the reference to the collection changes which will
  lead to several other problems.)
  I strongly recommend the usage of a wrapping class for that case.
  But this case is not very common. Maybe someone finds a good example - I
  can't.
 
 
  For the other two cases it does *not* make any sense to call
  IModel#setObject.
 
 
  Summary: Nearly in every case when the IModel contains a collection, the
  setObject method does not make any sense and must not be called.
 
 
  Conclusion: I think we should have created some sort of IModelProvider
  (contains only the getObject method) and IModel (with both methods).
  Components that just *read* values from the model, accept the read only
  interface now.
 
  For special cases where a magic component adds/removes elements to a
  collection, we need some sort of ICollectionModel that offers add and
  remove methods (but no setter).
  That interface - of course - will be based upon a collection *without*
  wildcards...
 
 
 
  Regards,
 
  Johannes Schneider
 
 
 
 
 
 
 
 
 
 
 
 
 
  -
  To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
  For additional commands, e-mail: users-h...@wicket.apache.org
 
 
 
 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org
 


-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: How (not) to: IModel and Collections (and generics)

2009-03-07 Thread Igor Vaynberg
On Sat, Mar 7, 2009 at 10:15 AM, Johannes Schneider
maili...@cedarsoft.com wrote:

  setobject is still called on the model, but is called with the same
  instance of collection. this is necessary so that if you have a model
  that translates a collection of one type to a collection of another
  can perform the conversion when the component pushes new data into it.

 And this is just a *misuse* of the given method... Why not create a own
 model interface for collections and add some sort of conversion
 method/object?

i think misuse is a pretty bold word considering you are talking to
people who designed and built imodel, dont you think? :)

if we do what you suggest then we would end up with:

interface imodel { object getobject(); }
interface icollectionmodel extends imodel { object convert(object); }
interface iwhatevermodel extends imodel { void setobject(object); }

then things that are built on top of imodel now have to be built on
top of at least two hierarchies (imodel and iwhatevermodel -
considering icollectionmodel can be a mixin which all implementations
have to check for which makes it dirty), so we will end up with double
the classes like loadabledetachablemodel, etc.

where as right now this works perfectly and is quiet elegant:

abstract class collectionconverternew,old implements imodelcollectionnew {
  private final imodelcollectionold delegate;

  public collectionnew getobject() {
listnew list=new arraylistnew(delegate.getobject().size());
for (old o:delegate.getobject()) {
 list.add(converttonew(o));
}
return list;
  }

  public void setobject(collectionnew object) {
delegate.getobject().clear();
for (new o:object) {
 delegate.getobject().add(converttold(o));
}
  }

  abstract new converttonew(old o);
  abstract old converttoold(new o);
}

-igor


 Regards,

 Johannes

 
  -igor
 
  On Wed, Mar 4, 2009 at 4:50 AM, Johannes Schneider
  maili...@cedarsoft.com wrote:
   Hi,
  
   the concept of IModel seems to be very obvious. It is simply some kind
   of reference and offers a getter and a setter.
  
   When used with ordinary object, everything works fine. An IModel that
   contains a String can easily be mapped to a TextField.
   The text field calls getObject to show the initial value and sets the
   changed string to the model using setObject on form commit.
  
  
   Everything becomes a little more complicated when collections are
   affected. The problem is, that it is not obvious what those collections
   represent.
  
   1) A collection might be read-only (e.g. the possible choices for a
   selection).
   2) But it also might be necessary to add/remove single elements (e.g.
   privileged users shown within a shuffle list).
   3) And sometimes the complete collection is changed (can't find an
   example here).
  
  
   IModel only supports the *third* method where the complete collection is
   replaced.
   (Don't forget that the reference to the collection changes which will
   lead to several other problems.)
   I strongly recommend the usage of a wrapping class for that case.
   But this case is not very common. Maybe someone finds a good example - I
   can't.
  
  
   For the other two cases it does *not* make any sense to call
   IModel#setObject.
  
  
   Summary: Nearly in every case when the IModel contains a collection, the
   setObject method does not make any sense and must not be called.
  
  
   Conclusion: I think we should have created some sort of IModelProvider
   (contains only the getObject method) and IModel (with both methods).
   Components that just *read* values from the model, accept the read only
   interface now.
  
   For special cases where a magic component adds/removes elements to a
   collection, we need some sort of ICollectionModel that offers add and
   remove methods (but no setter).
   That interface - of course - will be based upon a collection *without*
   wildcards...
  
  
  
   Regards,
  
   Johannes Schneider
  
  
  
  
  
  
  
  
  
  
  
  
  
   -
   To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
   For additional commands, e-mail: users-h...@wicket.apache.org
  
  
 
  -
  To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
  For additional commands, e-mail: users-h...@wicket.apache.org
 


 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org


-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Creating a brandable or white label type of application

2009-03-07 Thread Igor Vaynberg
if you are just starting to think about building this you might want
to consider using brix, or another cms that works well with wicket.

in case of brix:
each client would get their own jcr workspaces that you can fill in
with a template. they are then free to edit their own workspace
creating pages, uploading images, etc.
it is trivial in brix to map domains to workspaces
functionality for your application is then provided using brix tiles
which users are free to move around their html, a tile is basically
just a [brix:tile tile:id=foo][/brix:tile] anywhere inside the
markup.

if this sounds too out there you can still use normal wicket code and
allow your customers to edit the markup. you can store the markup
itself in the database, so all things like styles and variations still
work even though markup is not in the war. see IMarkupStreamProvider
and IMarkupCacheKeyProvider - these allow you to override where markup
comes from per page or per hierarchy of pages. there are more general
things like IResourceStreamProvider that will allow you to override
where resources are loaded from on a global scale.

-igor

On Fri, Mar 6, 2009 at 7:30 PM, Tauren Mills tau...@groovee.com wrote:
 I'm looking for thoughts on ways to create a site that can be branded
 by a customer.  It should do the following:

 * run in a single webapp deployed in a WAR file
 * multiple host names resolve to this same web app
   domain1.com - myapp.com
   domain2.com -- myapp.com
 * based on the host name, the app selects a skin (color scheme,
 images, maybe even layout changes)
 * users need to be able to alter colors, images, and layout in real
 time, so updating the WAR with new skins isn't possible
 * need to pull alternate CSS content and perhaps HTML markup from a
 database and images from a location outside of the WAR.

 This needs to be kind of like blogger.com, where a user can change
 images and colors, and the application displays their blog that way.
 But in my case, the content on the page primarily remains the same,
 just the way it is presented changes.

 So I'm looking at the localization and style features thinking they
 might help.  But they rely on alternate versions of files to be in the
 WAR.
 http://cwiki.apache.org/WICKET/localization-and-skinning-of-applications.html

 What methods would you recommend to get the current hostname from the request?
 Whould this be best done in the RequestCycle, the Session, or?
 What techniques would be useful for using external CSS, images, and HTML?
 Will getStyle/setStyle even help since the content is external of the WAR?

 I realize that I shouldn't allow users to modify HTML markup that
 contains wicket tags.  That could break things very quickly.

 I'm just starting to think about how to do this, so I'm looking for
 any suggestions to direct me to the right tools for the job.

 Thanks,
 Tauren

 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org



-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: How (not) to: IModel and Collections (and generics)

2009-03-07 Thread Johannes Schneider

 i think misuse is a pretty bold word considering you are talking to
 people who designed and built imodel, dont you think? :)

Well, I think you are right. Sorry for that.
I just mean, that it has a bad smell here...

 
 if we do what you suggest then we would end up with:
 
 interface imodel { object getobject(); }
 interface icollectionmodel extends imodel { object convert(object); }
 interface iwhatevermodel extends imodel { void setobject(object); }
 
 then things that are built on top of imodel now have to be built on
 top of at least two hierarchies (imodel and iwhatevermodel -
 considering icollectionmodel can be a mixin which all implementations
 have to check for which makes it dirty), so we will end up with double
 the classes like loadabledetachablemodel, etc.

Yes, I think we need at least two interfaces. I don't know whether we
need the icollectionmodel... I think that can be discussed.
 
 where as right now this works perfectly and is quiet elegant:
 
 abstract class collectionconverternew,old implements 
 imodelcollectionnew {
   private final imodelcollectionold delegate;
 
   public collectionnew getobject() {
 listnew list=new arraylistnew(delegate.getobject().size());
 for (old o:delegate.getobject()) {
  list.add(converttonew(o));
 }
 return list;
   }
 
   public void setobject(collectionnew object) {
 delegate.getobject().clear();
 for (new o:object) {
  delegate.getobject().add(converttold(o));
 }
   }
 
   abstract new converttonew(old o);
   abstract old converttoold(new o);
 }

Don't know, whether that is really elegant. It feels more like a
misuse... ;).
I think there is a reason you don't simply take an object for everything
(what might be the most elegant)...

I really don't understand why IModel must handle the conversion stuff.
That conversion thing could/should be done using some wrapper or
something else. But I don't get all the concepts of Wicket. 
I just think that components that just *read* a collection, should just
read the collection...

But well, as you mentioned correctly, you have designed it, so it is
your choice...


Regards,

Johannes


 
 -igor
 
 
  Regards,
 
  Johannes
 
  
   -igor
  
   On Wed, Mar 4, 2009 at 4:50 AM, Johannes Schneider
   maili...@cedarsoft.com wrote:
Hi,
   
the concept of IModel seems to be very obvious. It is simply some kind
of reference and offers a getter and a setter.
   
When used with ordinary object, everything works fine. An IModel that
contains a String can easily be mapped to a TextField.
The text field calls getObject to show the initial value and sets the
changed string to the model using setObject on form commit.
   
   
Everything becomes a little more complicated when collections are
affected. The problem is, that it is not obvious what those collections
represent.
   
1) A collection might be read-only (e.g. the possible choices for a
selection).
2) But it also might be necessary to add/remove single elements (e.g.
privileged users shown within a shuffle list).
3) And sometimes the complete collection is changed (can't find an
example here).
   
   
IModel only supports the *third* method where the complete collection is
replaced.
(Don't forget that the reference to the collection changes which will
lead to several other problems.)
I strongly recommend the usage of a wrapping class for that case.
But this case is not very common. Maybe someone finds a good example - I
can't.
   
   
For the other two cases it does *not* make any sense to call
IModel#setObject.
   
   
Summary: Nearly in every case when the IModel contains a collection, the
setObject method does not make any sense and must not be called.
   
   
Conclusion: I think we should have created some sort of IModelProvider
(contains only the getObject method) and IModel (with both methods).
Components that just *read* values from the model, accept the read only
interface now.
   
For special cases where a magic component adds/removes elements to a
collection, we need some sort of ICollectionModel that offers add and
remove methods (but no setter).
That interface - of course - will be based upon a collection *without*
wildcards...
   
   
   
Regards,
   
Johannes Schneider
   
   
   
   
   
   
   
   
   
   
   
   
   
-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org
   
   
  
   -
   To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
   For additional commands, e-mail: users-h...@wicket.apache.org
  
 
 
  -
  To unsubscribe, e-mail: 

warn user a field has changed

2009-03-07 Thread Kurt Heston

I haven't been able to make this work since my upgrade from 1.2.x to 1.3.5:

http://javathoughts.capesugarbird.com/2007/11/warning-on-page-exit-for-wicket-12x.html


It was pretty slick.  I was able to warn the user that she/he had
changed a field without saving when trying to navigate away.  Is there a
better facility in 1.3.x that I can use for the same purpose?


-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: How (not) to: IModel and Collections (and generics)

2009-03-07 Thread Igor Vaynberg
you are right, the components that just read a collection do just
that, read it. they simply ignore the setter method in imodel. no big
deal, just because you are given an interface doesnt mean you have to
use all the methods in it. thus abstractreadonlymodel.

however, a lot of components manipulate items in the collection. you
are right, they can do this without ever needing a setter, but it is
very convenient to have a callback that lets you know that the
collection has been updated. it is even more convenient to have a
callback be part of model itself because in wicket you often factor
out conversions and other transformations into the model
implementation itself so they are reusable across multiple components.
keep in mind models are the glue between components and your domain
model, so if any kind of massaging needs to be done for the domain
model to work smoothly with the component the model is the perfect
place to do it.

-igor

On Sat, Mar 7, 2009 at 12:25 PM, Johannes Schneider
maili...@cedarsoft.com wrote:

 i think misuse is a pretty bold word considering you are talking to
 people who designed and built imodel, dont you think? :)

 Well, I think you are right. Sorry for that.
 I just mean, that it has a bad smell here...


 if we do what you suggest then we would end up with:

 interface imodel { object getobject(); }
 interface icollectionmodel extends imodel { object convert(object); }
 interface iwhatevermodel extends imodel { void setobject(object); }

 then things that are built on top of imodel now have to be built on
 top of at least two hierarchies (imodel and iwhatevermodel -
 considering icollectionmodel can be a mixin which all implementations
 have to check for which makes it dirty), so we will end up with double
 the classes like loadabledetachablemodel, etc.

 Yes, I think we need at least two interfaces. I don't know whether we
 need the icollectionmodel... I think that can be discussed.

 where as right now this works perfectly and is quiet elegant:

 abstract class collectionconverternew,old implements 
 imodelcollectionnew {
   private final imodelcollectionold delegate;

   public collectionnew getobject() {
     listnew list=new arraylistnew(delegate.getobject().size());
     for (old o:delegate.getobject()) {
          list.add(converttonew(o));
     }
     return list;
   }

   public void setobject(collectionnew object) {
     delegate.getobject().clear();
     for (new o:object) {
          delegate.getobject().add(converttold(o));
     }
   }

   abstract new converttonew(old o);
   abstract old converttoold(new o);
 }

 Don't know, whether that is really elegant. It feels more like a
 misuse... ;).
 I think there is a reason you don't simply take an object for everything
 (what might be the most elegant)...

 I really don't understand why IModel must handle the conversion stuff.
 That conversion thing could/should be done using some wrapper or
 something else. But I don't get all the concepts of Wicket.
 I just think that components that just *read* a collection, should just
 read the collection...

 But well, as you mentioned correctly, you have designed it, so it is
 your choice...


 Regards,

 Johannes



 -igor

 
  Regards,
 
  Johannes
 
  
   -igor
  
   On Wed, Mar 4, 2009 at 4:50 AM, Johannes Schneider
   maili...@cedarsoft.com wrote:
Hi,
   
the concept of IModel seems to be very obvious. It is simply some kind
of reference and offers a getter and a setter.
   
When used with ordinary object, everything works fine. An IModel that
contains a String can easily be mapped to a TextField.
The text field calls getObject to show the initial value and sets the
changed string to the model using setObject on form commit.
   
   
Everything becomes a little more complicated when collections are
affected. The problem is, that it is not obvious what those collections
represent.
   
1) A collection might be read-only (e.g. the possible choices for a
selection).
2) But it also might be necessary to add/remove single elements (e.g.
privileged users shown within a shuffle list).
3) And sometimes the complete collection is changed (can't find an
example here).
   
   
IModel only supports the *third* method where the complete collection 
is
replaced.
(Don't forget that the reference to the collection changes which will
lead to several other problems.)
I strongly recommend the usage of a wrapping class for that case.
But this case is not very common. Maybe someone finds a good example - 
I
can't.
   
   
For the other two cases it does *not* make any sense to call
IModel#setObject.
   
   
Summary: Nearly in every case when the IModel contains a collection, 
the
setObject method does not make any sense and must not be called.
   
   
Conclusion: I think we should have created some sort of IModelProvider
(contains only the getObject method) and 

Re: warn user a field has changed

2009-03-07 Thread Igor Vaynberg
do you know why it doesnt work?

-igor

On Sat, Mar 7, 2009 at 12:26 PM, Kurt Heston khes...@hestonsystems.com wrote:
 I haven't been able to make this work since my upgrade from 1.2.x to 1.3.5:

 http://javathoughts.capesugarbird.com/2007/11/warning-on-page-exit-for-wicket-12x.html


 It was pretty slick.  I was able to warn the user that she/he had
 changed a field without saving when trying to navigate away.  Is there a
 better facility in 1.3.x that I can use for the same purpose?


 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org



-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: warn user a field has changed

2009-03-07 Thread Kurt Heston
Not yet.  Still trying to figure it out.  Just wanted to make sure I 
wasn't overlooking something in the manual that works just as as well or 
better.


Igor Vaynberg wrote:

do you know why it doesnt work?

-igor

On Sat, Mar 7, 2009 at 12:26 PM, Kurt Heston khes...@hestonsystems.com wrote:
  

I haven't been able to make this work since my upgrade from 1.2.x to 1.3.5:

http://javathoughts.capesugarbird.com/2007/11/warning-on-page-exit-for-wicket-12x.html


It was pretty slick.  I was able to warn the user that she/he had
changed a field without saving when trying to navigate away.  Is there a
better facility in 1.3.x that I can use for the same purpose?


-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org





-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org
  



-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Wicket - Session Management

2009-03-07 Thread Jeremy Thomerson
Basically, the normal Wicket facility for transferring state client side is
through PageParameters.  Of course, if you're building links to another app,
you'll basically need to build these links your self since App1 doesn't know
how to build links for App2 since App2 pages aren't mounted in App1.

So, you pretty much have your normal webapp options - store the state
somewhere central to both apps (DB, etc), or transfer it some other way
(perhaps a messaging bus).  Wicket is just OO, so you can pretty much use
whatever fits your situation.

--
Jeremy Thomerson
http://www.wickettraining.com



On Wed, Mar 4, 2009 at 2:48 AM, subbu_tce subramanian.mur...@gmail.comwrote:


 Jeremy, I meant to ask about both the points that you have mentioned in
 your
 reply message:

 (i.e) Two wicket apps in two JVMs. How do we accomplish the following?

 - transfer state from first app to second app when clicking a link in the
 first app
 - access state in the first app from second app
 - preserve/expire state in the first app when moving to second app.

 Moreover, how do we accomplish the above three for two wicket apps in the
 same JVM?

 And also does wicket provide any extension points to have the state saved
 in
 the client side?


 ---

 I'm not sure exactly what you're asking.  Is it one of the following?

 - I have two apps in two JVMs - how do I transfer state from one app to the
 second when clicking a link from one to the other?
 - I have two apps in two JVMs - how do I expire state in the first when
 moving to the second?

 --
 Jeremy Thomerson
 http://www.wickettraining.com

 --
 View this message in context:
 http://www.nabble.com/Wicket---Session-Management-tp22288083p22325909.html
 Sent from the Wicket - User mailing list archive at Nabble.com.


 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org




Re: Have a feature, want to contribute

2009-03-07 Thread Jeremy Thomerson
Marat,
  It doesn't look like you received any response.  I'd be happy to look at
it.  Could you file it as a patch on JIRA?

Thanks,

Jeremy Thomerson
http://www.wickettraining.com



On Thu, Dec 18, 2008 at 1:52 PM, Marat Radchenko 
slonopotamusor...@gmail.com wrote:

 Wicket pages/components can be either stateful or stateless. Wicket
 manages hem transparently and it is very easy to write any complex
 page you want. Stateful pages are much more powerful than stateless.
 However that comes at  a cost of using page store for their state. On
 highload sites it is usually desired to minimize session-scope data,
 and move it to request-scope. That's when Wicket users approach a task
 of making stateful pages stateless. However stateless state (sic!) is
 very fragile, if you add a single stateful component to a page, it
 instantly becomes stateful (and you even might not notice that if your
 other page content can work in both modes. And here comes my lovely
 feature - @StatelessComponent. It is an annotation that you should put
 on components which you want to be stateless. It doesn't do any magic,
 it simply uses postComponentOnBeforeRender to assert that annotated
 component (and all its children) are stateless. If it doesn't, an
 exception is thrown, indicating what component tries to be stateful.

 This feature isn't large enough to be put in a separate project (just
 one annotation and one listener) but wee find it extremely useful on
 our project.

 I'd be happy to give it to Wicket project (or wicketstuff?) at
 absolutely no cost (tests included) under same license as wicket
 itself, if Wicket developers are interested in it.

 I'll file a feature request with a patch, if Wicket team finds this
 useful in Wicket core.

 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org




model for entity with checkgroup (user roles relation)

2009-03-07 Thread Francisco Diaz Trepat - gmail
Hi all, it probably that this has been answered in the list, but I can't
figure out how to construct the query for gmail (I've been on the list for
some time now).

I have the following feature I don't know how to resolve. I am using wicket
1.4rc2 with activeobjects (orm).

I have User and Role entities, and User has a manytomany relationship.

I would like to have a form with a checkgroup to be able to select which
roles a user have.

User has:
String name
String password
@ManyToMany(UserRole.class)
Role[] roles

Role has:
String name

and UserRole has:
User user
Role role

all with corresponding setters and getters.

How could I combine this entities to develop a form in which user could see:
TextField
PasswordTextField
CheckGroup (with the names of the roles available)
?

Thanks
f(t)

PS: some extra info.

this is my model and form (comments other than the question would be grate
also):

  //create user entity model
  userModel = new LoadableDetachableModelSqsUser() {
 private static final long serialVersionUID = 0L;

 @Override
 protected SqsUser load() {
Session session;
session = (Session) getSession();
SqsUser user;
if (selectedUser != null)
   return selectedUser;
user = null;
try {
   user = session.getEntityManager().create(SqsUser.class);
} catch (SQLException ex) {

Logger.getLogger(UsersPanel.class.getName()).log(Level.SEVERE, null, ex);
}
if (user != null)
   selectedUser = user;
return user;
 }
  };

  //create user form overriding process to begin transaction
  usersForm = new FormSqsUser(users-form, new
CompoundPropertyModelSqsUser(userModel)) {
 private static final long serialVersionUID = 0L;
 private TransactionSqsUser transaction;

 @Override
 public void process(IFormSubmittingComponent submittingComponent) {

super.process(submittingComponent);
transaction = new TransactionSqsUser(((Session)
getSession()).getEntityManager()) {
   @Override
   protected SqsUser run() throws SQLException {
  SqsUser user = getModelObject();
  user.save();
  return user;
   }
};
 }

 @Override
 protected void onSubmit() {
try {
   transaction.execute();
} catch (SQLException ex) {

Logger.getLogger(UsersPanel.class.getName()).log(Level.SEVERE, null, ex);
   onError();
}
 }

 @Override
 protected void onError() {

 }
  };


Re: tinymce question: how to switch default language?

2009-03-07 Thread rolandpeng

Got it.I missed the part of constructor.
The way to set my lanuage works.
--
TinyMCESettings settings=new
TinyMCESettings(TinyMCESettings.Theme.advanced,Language.tw);
--

thank you!


pointbreak+wicketstuff wrote:
 
 The default language is based on the locale of the session. Which is
 normally what you want (because it is influenced by the browser
 preferences, and the same as what wicket is using). You can override it
 by passing a language as second argument in the TinyMCESettings
 constructor.
 

-- 
View this message in context: 
http://www.nabble.com/tinymce-question%3A-how-to-switch-default-language--tp22388584p22394058.html
Sent from the Wicket - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Passing a PageParameters to a RedirectRequestTarget

2009-03-07 Thread Warren Bell
Is there a way of passing a PageParameters to a RedirectRequestTarget 
without pulling apart PageParameters and adding them to the url?


Thanks,

Warren

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Passing a PageParameters to a RedirectRequestTarget

2009-03-07 Thread Igor Vaynberg
redirect request target takes a url, so just build one that includes
pageparameters using urlfor(page.class, pageparams)

-igor

On Sat, Mar 7, 2009 at 6:02 PM, Warren Bell warrenbe...@gmail.com wrote:

 Is there a way of passing a PageParameters to a RedirectRequestTarget
 without pulling apart PageParameters and adding them to the url?

 Thanks,

 Warren

 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org




Re: warn user a field has changed

2009-03-07 Thread Kurt Heston
The problem appears to be related to the code I used to replace the old 
onAttach code.  It was:



protected void onAttach() {
  super.onAttach();

  if (firstTimeThru) {
final WebMarkupContainer c = 
this.getBodyContainer().getBodyContainer();

c.add(new SimpleAttributeModifier(onload,
FORMCONFIRM=true;FORMISDIRTY=false;));
c.add(new SimpleAttributeModifier(class, body1));
c.add(new SimpleAttributeModifier(onbeforeunload,
return warnOnPageExit('Data has changed. Make sure you press 
save 

+ if you want to keep your changes!');));
firstTimeThru = false;
  }
}


now it is:


 public void renderHead(IHeaderResponse arg0) {

   if (firstTimeThru) {
 arg0.renderOnLoadJavascript(FORMCONFIRM=true;FORMISDIRTY=false;);
 arg0.renderCSSReference(body1);
 arg0.renderOnEventJavacript(window, onbeforeunload,
 return warnOnPageExit('Data has changed. Make sure you press 
save 

 + if you want to keep your changes!'););
 firstTimeThru = false;
   }
 }



I'm focusing on tweaking this at the moment.  Not sure yet what's going on.

Kurt Heston wrote:
Not yet.  Still trying to figure it out.  Just wanted to make sure I 
wasn't overlooking something in the manual that works just as as well 
or better.


Igor Vaynberg wrote:

do you know why it doesnt work?

-igor

On Sat, Mar 7, 2009 at 12:26 PM, Kurt Heston 
khes...@hestonsystems.com wrote:
 
I haven't been able to make this work since my upgrade from 1.2.x to 
1.3.5:


http://javathoughts.capesugarbird.com/2007/11/warning-on-page-exit-for-wicket-12x.html 




It was pretty slick.  I was able to warn the user that she/he had
changed a field without saving when trying to navigate away.  Is 
there a

better facility in 1.3.x that I can use for the same purpose?


-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org





-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org
  



-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org