problem with ChoiceRenderer

2012-05-11 Thread Michael Jaruska

Hi folks,

after hours of elaborating, searching docu and trying I'm totaly lost. My 
ChoiceRenderer is not
working.

Here is my code (not relevant code has been removed):

markup:
select id=1 wicket:id=zoznam/select

page implementation:
public class PageEshop extends PageBase{
public PageEshop(){
ChoiceRendererVyrobok renderer = new ChoiceRendererVyrobok();
ListVyrobok vyrobky = Arrays.asList(new Vyrobok(start, -Vyberte typ-), new Vyrobok(polstar, 
Polštář), new Vyrobok(deka, Deka));
Vyrobok defaultChoice = vyrobky.get(0);
DropDownChoiceVyrobok vyberVyrobku = new DropDownChoiceVyrobok(zoznam, new 
PropertyModelVyrobok(defaultChoice, kluc), vyrobky, renderer);
FormObject form = new FormObject(inputForm);
form.add(vyberVyrobku);
this.add(form);
}
}

pojo:
public class Vyrobok implements Serializable{
private String kluc;
private String hodnota;

public Vyrobok(String kluc, String hodnota){
this.kluc = kluc;
this.hodnota = hodnota;
}
//getters and setters for attributes
}

IChoiceRenderer implementation:
public class ChoiceRendererVyrobok implements IChoiceRendererVyrobok{
@Override
public Object getDisplayValue(Vyrobok vyrobok){
return vyrobok.getHodnota();
}

@Override
public String getIdValue(Vyrobok vyrobok, int index){
return vyrobok.getKluc();
}
}

When page is loaded, this error happens (not complete stack, not relevant 
removed):
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to 
cz.polstareadeky.utils.Vyrobok
at 
cz.polstareadeky.ChoiceRendererVyrobok.getIdValue(ChoiceRendererVyrobok.java:1)
at 
org.apache.wicket.markup.html.form.AbstractSingleSelectChoice.getModelValue(AbstractSingleSelectChoice.java:194)
at 
org.apache.wicket.markup.html.form.FormComponent.getValue(FormComponent.java:837)

Something is wrong in ChoiceRendererVyrobok but I can't find what..

Any help is apreciated,

thanks, Michal

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



Re: problem with ChoiceRenderer

2012-05-11 Thread Michael Jaruska

just now I have elaborated that this works:
DropDownChoiceVyrobok vyberVyrobku = new DropDownChoiceVyrobok(vyberVyrobku, 
new PropertyModelVyrobok(defaultChoice, null), vyrobky, renderer);
(note `null' in PropertyModel)

but strange is that I don't know why :-(



On 11.5.2012 9:36, Sven Meier wrote:

Hi,

Vyrobok defaultChoice = vyrobky.get(0);
DropDownChoiceVyrobok vyberVyrobku =
new DropDownChoiceVyrobok(
zoznam,
new PropertyModelVyrobok(defaultChoice, kluc),
vyrobky,
renderer);

you're instructing the DropDownChoice to get its model object from your 
defaultChoice:

new PropertyModelVyrobok(defaultChoice, kluc)

This is probably not what you've intended as Kluc is a String. Something like 
the following would make more sense:

this.selectedChoice = vyrobky.get(0);

new PropertyModelVyrobok(this, selectedChoice)

Sven

On 05/11/2012 09:16 AM, Michael Jaruska wrote:

Hi folks,

after hours of elaborating, searching docu and trying I'm totaly lost. My 
ChoiceRenderer is not
working.

Here is my code (not relevant code has been removed):

markup:
select id=1 wicket:id=zoznam/select

page implementation:
public class PageEshop extends PageBase{
public PageEshop(){
ChoiceRendererVyrobok renderer = new ChoiceRendererVyrobok();
ListVyrobok vyrobky = Arrays.asList(new Vyrobok(start, -Vyberte typ-), new Vyrobok(polstar, 
Polštář), new Vyrobok(deka, Deka));
Vyrobok defaultChoice = vyrobky.get(0);
DropDownChoiceVyrobok vyberVyrobku = new DropDownChoiceVyrobok(zoznam, new 
PropertyModelVyrobok(defaultChoice, kluc), vyrobky, renderer);
FormObject form = new FormObject(inputForm);
form.add(vyberVyrobku);
this.add(form);
}
}

pojo:
public class Vyrobok implements Serializable{
private String kluc;
private String hodnota;

public Vyrobok(String kluc, String hodnota){
this.kluc = kluc;
this.hodnota = hodnota;
}
//getters and setters for attributes
}

IChoiceRenderer implementation:
public class ChoiceRendererVyrobok implements IChoiceRendererVyrobok{
@Override
public Object getDisplayValue(Vyrobok vyrobok){
return vyrobok.getHodnota();
}

@Override
public String getIdValue(Vyrobok vyrobok, int index){
return vyrobok.getKluc();
}
}

When page is loaded, this error happens (not complete stack, not relevant 
removed):
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to 
cz.polstareadeky.utils.Vyrobok
at 
cz.polstareadeky.ChoiceRendererVyrobok.getIdValue(ChoiceRendererVyrobok.java:1)
at 
org.apache.wicket.markup.html.form.AbstractSingleSelectChoice.getModelValue(AbstractSingleSelectChoice.java:194)
at 
org.apache.wicket.markup.html.form.FormComponent.getValue(FormComponent.java:837)

Something is wrong in ChoiceRendererVyrobok but I can't find what..

Any help is apreciated,

thanks, Michal

-
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: problem with ChoiceRenderer

2012-05-13 Thread Michael Jaruska



On 11.5.2012 12:21, Andrea Del Bene wrote:

Hi,

the type of the model and of the renderer must be the same chosen for the 
DropDownChoice (Vyrobok in your case). In the first version of your code this 
was not
true for your model because it pointed to a String field (named kluc).
Your second version works fine because you don't provide a property expression 
to PropertyModel (is null) and doing so the property model considers as model
object the first parameter of its constructor (defaultChoice in your case), 
which is an instance of class Vyrobok.
But at this point it does not make much sense to use a PropertyModel, you could 
substitute it with a Model class, like this:

Model.of(defaultChoice)

just now I have elaborated that this works:
DropDownChoiceVyrobok vyberVyrobku = new DropDownChoiceVyrobok(vyberVyrobku, 
new PropertyModelVyrobok(defaultChoice, null), vyrobky, renderer);
(note `null' in PropertyModel)

but strange is that I don't know why :-(

yes, now I see, mea culpa

thanks for pointing me this






On 11.5.2012 9:36, Sven Meier wrote:

Hi,

Vyrobok defaultChoice = vyrobky.get(0);
DropDownChoiceVyrobok vyberVyrobku =
new DropDownChoiceVyrobok(
zoznam,
new PropertyModelVyrobok(defaultChoice, kluc),
vyrobky,
renderer);

you're instructing the DropDownChoice to get its model object from your 
defaultChoice:

new PropertyModelVyrobok(defaultChoice, kluc)

This is probably not what you've intended as Kluc is a String. Something like 
the following would make more sense:

this.selectedChoice = vyrobky.get(0);

new PropertyModelVyrobok(this, selectedChoice)

Sven

On 05/11/2012 09:16 AM, Michael Jaruska wrote:

Hi folks,

after hours of elaborating, searching docu and trying I'm totaly lost. My 
ChoiceRenderer is not
working.

Here is my code (not relevant code has been removed):

markup:
select id=1 wicket:id=zoznam/select

page implementation:
public class PageEshop extends PageBase{
public PageEshop(){
ChoiceRendererVyrobok renderer = new ChoiceRendererVyrobok();
ListVyrobok vyrobky = Arrays.asList(new Vyrobok(start, -Vyberte typ-), new Vyrobok(polstar, 
Polštář), new Vyrobok(deka, Deka));
Vyrobok defaultChoice = vyrobky.get(0);
DropDownChoiceVyrobok vyberVyrobku = new DropDownChoiceVyrobok(zoznam, new 
PropertyModelVyrobok(defaultChoice, kluc), vyrobky, renderer);
FormObject form = new FormObject(inputForm);
form.add(vyberVyrobku);
this.add(form);
}
}

pojo:
public class Vyrobok implements Serializable{
private String kluc;
private String hodnota;

public Vyrobok(String kluc, String hodnota){
this.kluc = kluc;
this.hodnota = hodnota;
}
//getters and setters for attributes
}

IChoiceRenderer implementation:
public class ChoiceRendererVyrobok implements IChoiceRendererVyrobok{
@Override
public Object getDisplayValue(Vyrobok vyrobok){
return vyrobok.getHodnota();
}

@Override
public String getIdValue(Vyrobok vyrobok, int index){
return vyrobok.getKluc();
}
}

When page is loaded, this error happens (not complete stack, not relevant 
removed):
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to 
cz.polstareadeky.utils.Vyrobok
at 
cz.polstareadeky.ChoiceRendererVyrobok.getIdValue(ChoiceRendererVyrobok.java:1)
at 
org.apache.wicket.markup.html.form.AbstractSingleSelectChoice.getModelValue(AbstractSingleSelectChoice.java:194)
at 
org.apache.wicket.markup.html.form.FormComponent.getValue(FormComponent.java:837)

Something is wrong in ChoiceRendererVyrobok but I can't find what..

Any help is apreciated,

thanks, Michal

-
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



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



dropdown and values added with jquery

2012-05-13 Thread Michael Jaruska

Hi,

in my Page (not relevant code removed for simplicity) is dropdown:
public class MyPage extends WebBase{
//perie
private ModelPerie modelPerie;
//two values in dropdown:
private ListPerie perie = Arrays.asList(new Perie(start, -Vyberte druh peří-), new 
Perie(vsypek, nové 806));
private DropDownChoicePerie vyberPeria;
private ChoiceRendererPerie rendererPerie;
public PageEshop(){
this.rendererPerie = new ChoiceRendererPerie();
this.modelPerie = new ModelPerie(this.perie.get(0));
this.vyberPeria = new DropDownChoicePerie(vyberPeria, 
this.modelPerie, this.perie, this.rendererPerie);
MyForm form = new MyForm(inputForm);
form.add(vyberPeria);
this.add(form);
}

private class MyForm extends FormObject{
public MyForm(String id){
super(id);
}

@Override
protected void onSubmit(){
//with value added with jquery this produce error

System.out.println(PageEshop.this.modelPerie.getObject().getHodnota());
}
}
}

and in relevant markup I add new choice in this dropdown with jquery:
form wicket:id=inputForm
div id=perie
labelTyp peří:/label
select id=2 wicket:id=vyberPeria/select
/div
script
jQuery(document).ready(
function()
{
//--this add another value into dropdown, now there are three 
values:

$('#2').append($('option/option').val('testkluc').html('testovaci text'));
})
/script
/form

Of course, when I select this added value ('testkluc') in dropdown and submit 
it, from onSubmit() I try to do something with this, I get error:
...
java.lang.reflect.InvocationTargetException
...PageEshop$MyForm.onSubmit(...

Yes, I know that this third value isn't in model so error is predictable. 
Question is: how to deal with situation when I need
add new value in HTML and this value isn't in my model in java?

Thanks,

MJ

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



DownloadLink

2012-10-14 Thread Michael Jaruska

Hi,

what to add into onClick() in DownloadLink if I need return to client generated 
.pdf
stream as a .pdf file?

My code:

IModel pdfStreamModel = new AbstractReadOnlyModel()
{
public Object getObject()
{
return getPdfStreamBytes();
}
};
DownloadLink downloadLink = new DownloadLink(downloadLink, pdfStreamModel, 
getPdfDocumentName())
{
public void onClick()
{
System.out.println(clicking works);
}
};

Model works, DownloadLink is added into my markup. But I can't find any example 
how to deal
code into onClick() in DownloadLink in a way it will return my generated .pdf 
stream in model.

Thank folks,

MJ

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



Re: DownloadLink

2012-10-14 Thread Michael Jaruska

Dan, thank you for links and points.

The true is that I have data in database so I would like streaming them. Is the 
right
way put them in temp file first and then send it into browser with DownloadLink?

After some googling I noticed that ResourceLink should be like DownloadLink but 
for me
better - it's for streamed data. But can't find any example for wicket 1.5 :-(

MJ


On 14.10.2012 21:00, Dan Retzlaff wrote:

Michael, check out the DownloadLink example here:
http://www.wicket-library.com/wicket-examples/linkomatic/home

Also check out the code for DownloadLink itself, and you'll see
1. Your IModel must return a File, but yours returns bytes.
2. The download is initiated in DownloadLink#onClick, which you have
blocked with your subclass.

Hope that helps,
Dan

On Sun, Oct 14, 2012 at 5:09 PM, Michael Jaruska
michael.jaru...@gmail.comwrote:


Hi,

what to add into onClick() in DownloadLink if I need return to client
generated .pdf
stream as a .pdf file?

My code:

IModel pdfStreamModel = new AbstractReadOnlyModel()
{
 public Object getObject()
 {
 return getPdfStreamBytes();
 }
};
DownloadLink downloadLink = new DownloadLink(downloadLink,
pdfStreamModel, getPdfDocumentName())
{
 public void onClick()
 {
 System.out.println(clicking works);
 }
};

Model works, DownloadLink is added into my markup. But I can't find any
example how to deal
code into onClick() in DownloadLink in a way it will return my generated
.pdf stream in model.

Thank folks,

MJ

--**--**-
To unsubscribe, e-mail: 
users-unsubscribe@wicket.**apache.orgusers-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: DownloadLink

2012-10-14 Thread Michael Jaruska

Is there more complex example? Do you build link with DownloadLink or
ResourceLink? -I suppouse you use ResourceLink. And yes, I would like to
build response data at the link click moment, no temp file if possible
(in fact I have data as byte[] from database).


On 14.10.2012 21:59, Dan Retzlaff wrote:

I usually wrap a custom AbstractResource instance in a ResourceReference,
and put that into the ResourceLink. AbstractResource#newResourceResponse()
is called when the link is clicked. You can query for the bytes there, and
write them to the response in your ResourceResponse's WriteCallback. For a
download, the relevant setters are:

ResourceResponse response = new ResourceResponse();
response.setFileName(...);
response.setContentType(...);
response.setContentLength(...);
response.setContentDisposition(ContentDisposition.ATTACHMENT);
response.setWriteCallback(new WriteCallback() {...});

On Sun, Oct 14, 2012 at 7:45 PM, Michael Jaruska
michael.jaru...@gmail.comwrote:


Dan, thank you for links and points.

The true is that I have data in database so I would like streaming them.
Is the right
way put them in temp file first and then send it into browser with
DownloadLink?

After some googling I noticed that ResourceLink should be like
DownloadLink but for me
better - it's for streamed data. But can't find any example for wicket 1.5
:-(

MJ



On 14.10.2012 21:00, Dan Retzlaff wrote:


Michael, check out the DownloadLink example here:
http://www.wicket-library.com/**wicket-examples/linkomatic/**homehttp://www.wicket-library.com/wicket-examples/linkomatic/home

Also check out the code for DownloadLink itself, and you'll see
1. Your IModel must return a File, but yours returns bytes.
2. The download is initiated in DownloadLink#onClick, which you have
blocked with your subclass.

Hope that helps,
Dan

On Sun, Oct 14, 2012 at 5:09 PM, Michael Jaruska
michael.jaru...@gmail.com**wrote:

  Hi,


what to add into onClick() in DownloadLink if I need return to client
generated .pdf
stream as a .pdf file?

My code:

IModel pdfStreamModel = new AbstractReadOnlyModel()
{
  public Object getObject()
  {
  return getPdfStreamBytes();
  }
};
DownloadLink downloadLink = new DownloadLink(downloadLink,
pdfStreamModel, getPdfDocumentName())
{
  public void onClick()
  {
  System.out.println(clicking works);
  }
};

Model works, DownloadLink is added into my markup. But I can't find any
example how to deal
code into onClick() in DownloadLink in a way it will return my generated
.pdf stream in model.

Thank folks,

MJ

--**
--**-
To unsubscribe, e-mail: 
users-unsubscribe@wicket.**apa**che.orghttp://apache.org
users-unsubscribe@**wicket.apache.orgusers-unsubscr...@wicket.apache.org




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






--**--**-
To unsubscribe, e-mail: 
users-unsubscribe@wicket.**apache.orgusers-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: DownloadLink

2012-10-15 Thread Michael Jaruska

Yes, thank you, this example helps.


On 15.10.2012 3:42, Dan Retzlaff wrote:

This should get you going:
new ResourceLinkVoid(pdf, new AbstractResource() {
@Override
protected ResourceResponse newResourceResponse(Attributes attributes) {
final byte[] pdfBytes = getPdfBytes();
ResourceResponse r = new ResourceResponse();
r.setFileName(yourpdf.pdf);
r.setContentType(application/pdf);
r.setContentDisposition(ContentDisposition.ATTACHMENT);
r.setContentLength(pdfBytes.length);
r.setWriteCallback(new WriteCallback() {
@Override
public void writeData(Attributes attributes) throws IOException {
attributes.getResponse().write(pdfBytes);
}
});
return r;
}
}
On Sun, Oct 14, 2012 at 8:14 PM, Michael Jaruska
michael.jaru...@gmail.comwrote:


Is there more complex example? Do you build link with DownloadLink or
ResourceLink? -I suppouse you use ResourceLink. And yes, I would like to
build response data at the link click moment, no temp file if possible
(in fact I have data as byte[] from database).



On 14.10.2012 21:59, Dan Retzlaff wrote:


I usually wrap a custom AbstractResource instance in a ResourceReference,
and put that into the ResourceLink. AbstractResource#**
newResourceResponse()
is called when the link is clicked. You can query for the bytes there, and
write them to the response in your ResourceResponse's WriteCallback. For a
download, the relevant setters are:

ResourceResponse response = new ResourceResponse();
response.setFileName(...);
response.setContentType(...);
response.setContentLength(...)**;
response.**setContentDisposition(**ContentDisposition.ATTACHMENT)**;
response.setWriteCallback(new WriteCallback() {...});

On Sun, Oct 14, 2012 at 7:45 PM, Michael Jaruska
michael.jaru...@gmail.com**wrote:

  Dan, thank you for links and points.


The true is that I have data in database so I would like streaming them.
Is the right
way put them in temp file first and then send it into browser with
DownloadLink?

After some googling I noticed that ResourceLink should be like
DownloadLink but for me
better - it's for streamed data. But can't find any example for wicket
1.5
:-(

MJ



On 14.10.2012 21:00, Dan Retzlaff wrote:

  Michael, check out the DownloadLink example here:

http://www.wicket-library.com/wicket-examples/linkomatic/homehttp://www.wicket-library.com/**wicket-examples/linkomatic/**home
http://www.wicket-**library.com/wicket-examples/**linkomatic/homehttp://www.wicket-library.com/wicket-examples/linkomatic/home





Also check out the code for DownloadLink itself, and you'll see
1. Your IModel must return a File, but yours returns bytes.
2. The download is initiated in DownloadLink#onClick, which you have
blocked with your subclass.

Hope that helps,
Dan

On Sun, Oct 14, 2012 at 5:09 PM, Michael Jaruska
michael.jaru...@gmail.comwrote:

   Hi,



what to add into onClick() in DownloadLink if I need return to client
generated .pdf
stream as a .pdf file?

My code:

IModel pdfStreamModel = new AbstractReadOnlyModel()
{
   public Object getObject()
   {
   return getPdfStreamBytes();
   }
};
DownloadLink downloadLink = new DownloadLink(downloadLink,
pdfStreamModel, getPdfDocumentName())
{
   public void onClick()
   {
   System.out.println(clicking works);
   }
};

Model works, DownloadLink is added into my markup. But I can't find any
example how to deal
code into onClick() in DownloadLink in a way it will return my
generated
.pdf stream in model.

Thank folks,

MJ

--**--**--**
--**-
To unsubscribe, e-mail: users-unsubscribe@wicket.apa**che.org
http://apache.org**
users-unsubscribe@**wicket.**apache.org http://wicket.apache.org
users-unsubscribe@**wicket.apache.orgusers-unsubscr...@wicket.apache.org








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





  --**

--**-
To unsubscribe, e-mail: 
users-unsubscribe@wicket.**apa**che.orghttp://apache.org
users-unsubscribe@**wicket.apache.orgusers-unsubscr...@wicket.apache.org



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






--**--**-
To unsubscribe, e-mail: 
users-unsubscribe@wicket.**apache.orgusers-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: DownloadLink

2012-10-15 Thread Michael Jaruska

Ok, so this is my code (works, irrelevant striped):

public class PageIndex extends PageBase{
...
...
...
  final Integer fileDbIdTmp = (Integer) oneResult.get(fileId);
  final byte[] bytes = new String(content of the created file for 
download).getBytes();
  ResourceLinkVoid downloadLink = new ResourceLinkVoid(downloadLink, new 
AbstractResource()
  {
private Integer fileDbId = fileDbIdTmp;
@Override
protected ResourceResponse newResourceResponse(Attributes attributes)
{
  ResourceResponse r = new ResourceResponse();
  r.setFileName(mypdf.pdf);
  r.setContentType(application/pdf);
  r.setContentDisposition(ContentDisposition.ATTACHMENT);
  r.setContentLength(bytes.length);
  r.setWriteCallback(new WriteCallback()
  {
@Override
public void writeData(Attributes attributes)
{
  //here, the data for .pdf should be loaded on-demand from DB with 
some appropriate model...
  MyDAOObject myDBData = new MyDAOObject(fileDbIdTmp);//just pseudo-code
  attributes.getResponse().write(myDBData.loadData());
}
  });
  return r;
}
  });
panelEvent.add(downloadLink);
this.add(panelEvent);
...
...
...
}

Now I would like construct LoadableDetachableModel (using this model for 
loading strings for same panels) or something similar
so I can construct data from DB based on some id (I have DB id of the element - 
in this case .pdf file stored in DB).

After consult doc:
http://wicket.apache.org/apidocs/1.5/org/apache/wicket/markup/html/link/ResourceLink.html
I can't see where to put model, or where to hook model into ResourceLink.

In my code in writeData() there is line for loading data but I think this is 
ugly solution...


Any help appreciated.

MJ


On 15.10.2012 8:06, Michael Jaruska wrote:

Yes, thank you, this example helps.


On 15.10.2012 3:42, Dan Retzlaff wrote:

This should get you going:
new ResourceLinkVoid(pdf, new AbstractResource() {
@Override
protected ResourceResponse newResourceResponse(Attributes attributes) {
final byte[] pdfBytes = getPdfBytes();
ResourceResponse r = new ResourceResponse();
r.setFileName(yourpdf.pdf);
r.setContentType(application/pdf);
r.setContentDisposition(ContentDisposition.ATTACHMENT);
r.setContentLength(pdfBytes.length);
r.setWriteCallback(new WriteCallback() {
@Override
public void writeData(Attributes attributes) throws IOException {
attributes.getResponse().write(pdfBytes);
}
});
return r;
}
}
On Sun, Oct 14, 2012 at 8:14 PM, Michael Jaruska
michael.jaru...@gmail.comwrote:


Is there more complex example? Do you build link with DownloadLink or
ResourceLink? -I suppouse you use ResourceLink. And yes, I would like to
build response data at the link click moment, no temp file if possible
(in fact I have data as byte[] from database).



On 14.10.2012 21:59, Dan Retzlaff wrote:


I usually wrap a custom AbstractResource instance in a ResourceReference,
and put that into the ResourceLink. AbstractResource#**
newResourceResponse()
is called when the link is clicked. You can query for the bytes there, and
write them to the response in your ResourceResponse's WriteCallback. For a
download, the relevant setters are:

ResourceResponse response = new ResourceResponse();
response.setFileName(...);
response.setContentType(...);
response.setContentLength(...)**;
response.**setContentDisposition(**ContentDisposition.ATTACHMENT)**;
response.setWriteCallback(new WriteCallback() {...});

On Sun, Oct 14, 2012 at 7:45 PM, Michael Jaruska
michael.jaru...@gmail.com**wrote:

  Dan, thank you for links and points.


The true is that I have data in database so I would like streaming them.
Is the right
way put them in temp file first and then send it into browser with
DownloadLink?

After some googling I noticed that ResourceLink should be like
DownloadLink but for me
better - it's for streamed data. But can't find any example for wicket
1.5
:-(

MJ



On 14.10.2012 21:00, Dan Retzlaff wrote:

  Michael, check out the DownloadLink example here:

http://www.wicket-library.com/wicket-examples/linkomatic/homehttp://www.wicket-library.com/**wicket-examples/linkomatic/**home
http://www.wicket-**library.com/wicket-examples/**linkomatic/homehttp://www.wicket-library.com/wicket-examples/linkomatic/home





Also check out the code for DownloadLink itself, and you'll see
1. Your IModel must return a File, but yours returns bytes.
2. The download is initiated in DownloadLink#onClick, which you have
blocked with your subclass.

Hope that helps,
Dan

On Sun, Oct 14, 2012 at 5:09 PM, Michael Jaruska
michael.jaru...@gmail.comwrote:

   Hi,



what to add into onClick() in DownloadLink if I need return to client
generated .pdf
stream as a .pdf file?

My code:

IModel pdfStreamModel = new AbstractReadOnlyModel()
{
   public Object getObject()
   {
   return getPdfStreamBytes();
   }
};
DownloadLink downloadLink = new DownloadLink(downloadLink,
pdfStreamModel

find html tag

2013-01-23 Thread Michael Jaruska

Hi,

is there a way I can find specific html tag in markup?

I have this html structure:
ul class=mymenu
  li
a href=./mypage.html?cid=menumenu/a
  ul
li
  a href=./mypage.html?cid=menu/submenusubmenu/a
ul
  li
a href=./mypage.html?cid=menu/submenu/subsubmenu1subsubmenu1/a
  /li
  li
a href=./mypage.html?cid=menu/submenu/subsubmenu2subsubmenu2/a
  /li
  li
a href=./mypage.html?cid=menu/submenu/subsubmenu3subsubmenu3/a
  /li
/ul
  /ul
/ul

I'm processing clicks on anchors with my page:
public PageTest(PageParameters parameters){
  //cid = category id
  String category = parameters.get(cid).toString();
  ...
}

Now I need some way I can add atribute into parent li tag of a tag on which 
I do click.
Somethink like (pseudocode):
public PageTest(PageParameters parameters){
  //cid = category id
  String category = parameters.get(cid).toString();
  //find corresponding a tag
  Tag anchorTag = go_from_top_ul_tag_and_find_a_tag_by_category(category)
  //have corresponding anchor tag, get parrent tag of the anchor tag
  Tag anchorParentTag = anchorTag.getParent();
  //and now I can do my mysterious things with menu...
}

But I don't know where to start my search and I totaly don't know whot to look 
for in docu.

Please, help :-)

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



Re: find html tag

2013-01-23 Thread Michael Jaruska

Problem is that uls and lis (let's call whole structure menu) is static html 
code.


On 23.1.2013 20:50, Bas Gooren wrote:

Hi!

What you want to accomplish (e.g. changing some html attributes) can be done by 
adding an attributemodifier to each li component.

In pseudocode:

RepeatingView uls = ...
for_every_li:
WebMarkupContainer li = ...
uls.add(li);

now, you can do something like this:
li.add(new AttributeAppender(...) {
 isEnabled() {
 return true if you want to append a html attribute;
 }
});

Or alternatively:

WebMarkupContainer li = new WMC() {
 onComponentTag(ComponentTag tag) {
 super(tag);

 tag.put(my-html-attribute, value);
 }
}

Met vriendelijke groet,
Kind regards,

Bas Gooren

Op 23-1-2013 20:45, schreef Michael Jaruska:

Hi,

is there a way I can find specific html tag in markup?

I have this html structure:
ul class=mymenu
  li
a href=./mypage.html?cid=menumenu/a
  ul
li
  a href=./mypage.html?cid=menu/submenusubmenu/a
ul
  li
a href=./mypage.html?cid=menu/submenu/subsubmenu1subsubmenu1/a
  /li
  li
a href=./mypage.html?cid=menu/submenu/subsubmenu2subsubmenu2/a
  /li
  li
a href=./mypage.html?cid=menu/submenu/subsubmenu3subsubmenu3/a
  /li
/ul
  /ul
/ul

I'm processing clicks on anchors with my page:
public PageTest(PageParameters parameters){
  //cid = category id
  String category = parameters.get(cid).toString();
  ...
}

Now I need some way I can add atribute into parent li tag of a tag on which 
I do click.
Somethink like (pseudocode):
public PageTest(PageParameters parameters){
  //cid = category id
  String category = parameters.get(cid).toString();
  //find corresponding a tag
  Tag anchorTag = go_from_top_ul_tag_and_find_a_tag_by_category(category)
  //have corresponding anchor tag, get parrent tag of the anchor tag
  Tag anchorParentTag = anchorTag.getParent();
  //and now I can do my mysterious things with menu...
}

But I don't know where to start my search and I totaly don't know whot to look 
for in docu.

Please, help :-)

-
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: find html tag

2013-01-23 Thread Michael Jaruska

And question is not how can I change html attribute but how can I go through html 
structure and
find html tag with specific attribute :-)


On 23.1.2013 20:50, Bas Gooren wrote:

Hi!

What you want to accomplish (e.g. changing some html attributes) can be done by 
adding an attributemodifier to each li component.

In pseudocode:

RepeatingView uls = ...
for_every_li:
WebMarkupContainer li = ...
uls.add(li);

now, you can do something like this:
li.add(new AttributeAppender(...) {
 isEnabled() {
 return true if you want to append a html attribute;
 }
});

Or alternatively:

WebMarkupContainer li = new WMC() {
 onComponentTag(ComponentTag tag) {
 super(tag);

 tag.put(my-html-attribute, value);
 }
}

Met vriendelijke groet,
Kind regards,

Bas Gooren

Op 23-1-2013 20:45, schreef Michael Jaruska:

Hi,

is there a way I can find specific html tag in markup?

I have this html structure:
ul class=mymenu
  li
a href=./mypage.html?cid=menumenu/a
  ul
li
  a href=./mypage.html?cid=menu/submenusubmenu/a
ul
  li
a href=./mypage.html?cid=menu/submenu/subsubmenu1subsubmenu1/a
  /li
  li
a href=./mypage.html?cid=menu/submenu/subsubmenu2subsubmenu2/a
  /li
  li
a href=./mypage.html?cid=menu/submenu/subsubmenu3subsubmenu3/a
  /li
/ul
  /ul
/ul

I'm processing clicks on anchors with my page:
public PageTest(PageParameters parameters){
  //cid = category id
  String category = parameters.get(cid).toString();
  ...
}

Now I need some way I can add atribute into parent li tag of a tag on which 
I do click.
Somethink like (pseudocode):
public PageTest(PageParameters parameters){
  //cid = category id
  String category = parameters.get(cid).toString();
  //find corresponding a tag
  Tag anchorTag = go_from_top_ul_tag_and_find_a_tag_by_category(category)
  //have corresponding anchor tag, get parrent tag of the anchor tag
  Tag anchorParentTag = anchorTag.getParent();
  //and now I can do my mysterious things with menu...
}

But I don't know where to start my search and I totaly don't know whot to look 
for in docu.

Please, help :-)

-
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: find html tag

2013-01-23 Thread Michael Jaruska

I need to find the parent li tag of the anchor user clicks - I now from 
PageParameters which anchor
has been clicked. Then I will put into this parent li specific atribute 
(id=something). This attribute
will be then processed by JavaScript on the page.


On 23.1.2013 21:04, Bas Gooren wrote:

Sorry, I read too quickly.

What are you trying to accomplish? Let's say you are able to find the 
appropriate html tag, what do you want to do with it?

Met vriendelijke groet,
Kind regards,

Bas Gooren

Op 23-1-2013 21:01, schreef Michael Jaruska:

And question is not how can I change html attribute but how can I go through html 
structure and
find html tag with specific attribute :-)


On 23.1.2013 20:50, Bas Gooren wrote:

Hi!

What you want to accomplish (e.g. changing some html attributes) can be done by 
adding an attributemodifier to each li component.

In pseudocode:

RepeatingView uls = ...
for_every_li:
WebMarkupContainer li = ...
uls.add(li);

now, you can do something like this:
li.add(new AttributeAppender(...) {
 isEnabled() {
 return true if you want to append a html attribute;
 }
});

Or alternatively:

WebMarkupContainer li = new WMC() {
 onComponentTag(ComponentTag tag) {
 super(tag);

 tag.put(my-html-attribute, value);
 }
}

Met vriendelijke groet,
Kind regards,

Bas Gooren

Op 23-1-2013 20:45, schreef Michael Jaruska:

Hi,

is there a way I can find specific html tag in markup?

I have this html structure:
ul class=mymenu
  li
a href=./mypage.html?cid=menumenu/a
  ul
li
  a href=./mypage.html?cid=menu/submenusubmenu/a
ul
  li
a href=./mypage.html?cid=menu/submenu/subsubmenu1subsubmenu1/a
  /li
  li
a href=./mypage.html?cid=menu/submenu/subsubmenu2subsubmenu2/a
  /li
  li
a href=./mypage.html?cid=menu/submenu/subsubmenu3subsubmenu3/a
  /li
/ul
  /ul
/ul

I'm processing clicks on anchors with my page:
public PageTest(PageParameters parameters){
  //cid = category id
  String category = parameters.get(cid).toString();
  ...
}

Now I need some way I can add atribute into parent li tag of a tag on which 
I do click.
Somethink like (pseudocode):
public PageTest(PageParameters parameters){
  //cid = category id
  String category = parameters.get(cid).toString();
  //find corresponding a tag
  Tag anchorTag = go_from_top_ul_tag_and_find_a_tag_by_category(category)
  //have corresponding anchor tag, get parrent tag of the anchor tag
  Tag anchorParentTag = anchorTag.getParent();
  //and now I can do my mysterious things with menu...
}

But I don't know where to start my search and I totaly don't know whot to look 
for in docu.

Please, help :-)

-
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: find html tag

2013-01-23 Thread Michael Jaruska

Structure is static and I can't (management decision) generate it dynamically. 
Everythink I have is
static html and category user has been clicked.


On 23.1.2013 21:03, Bas Gooren wrote:

In that case I wouldn't bother trying this at the serverside.

Theoretically you can access the html markup and fiddle with it, but that's 
generally not how wicket is meant to be used. (Trust me, we've been doing quite 
some
advanced stuff with wicket over the years).

If all you want to do is change the html code, you can also do that with some 
javascript code.
E.g. override renderHead() in your page and contribute some javascript code for 
onLoad.

But before doing such things: is there a particular reason why you are using 
static html instead of a component tree?
Are you able and willing to switch to a component tree?

Met vriendelijke groet,
Kind regards,

Bas Gooren

Op 23-1-2013 20:53, schreef Michael Jaruska:

Problem is that uls and lis (let's call whole structure menu) is static html 
code.


On 23.1.2013 20:50, Bas Gooren wrote:

Hi!

What you want to accomplish (e.g. changing some html attributes) can be done by 
adding an attributemodifier to each li component.

In pseudocode:

RepeatingView uls = ...
for_every_li:
WebMarkupContainer li = ...
uls.add(li);

now, you can do something like this:
li.add(new AttributeAppender(...) {
 isEnabled() {
 return true if you want to append a html attribute;
 }
});

Or alternatively:

WebMarkupContainer li = new WMC() {
 onComponentTag(ComponentTag tag) {
 super(tag);

 tag.put(my-html-attribute, value);
 }
}

Met vriendelijke groet,
Kind regards,

Bas Gooren

Op 23-1-2013 20:45, schreef Michael Jaruska:

Hi,

is there a way I can find specific html tag in markup?

I have this html structure:
ul class=mymenu
  li
a href=./mypage.html?cid=menumenu/a
  ul
li
  a href=./mypage.html?cid=menu/submenusubmenu/a
ul
  li
a href=./mypage.html?cid=menu/submenu/subsubmenu1subsubmenu1/a
  /li
  li
a href=./mypage.html?cid=menu/submenu/subsubmenu2subsubmenu2/a
  /li
  li
a href=./mypage.html?cid=menu/submenu/subsubmenu3subsubmenu3/a
  /li
/ul
  /ul
/ul

I'm processing clicks on anchors with my page:
public PageTest(PageParameters parameters){
  //cid = category id
  String category = parameters.get(cid).toString();
  ...
}

Now I need some way I can add atribute into parent li tag of a tag on which 
I do click.
Somethink like (pseudocode):
public PageTest(PageParameters parameters){
  //cid = category id
  String category = parameters.get(cid).toString();
  //find corresponding a tag
  Tag anchorTag = go_from_top_ul_tag_and_find_a_tag_by_category(category)
  //have corresponding anchor tag, get parrent tag of the anchor tag
  Tag anchorParentTag = anchorTag.getParent();
  //and now I can do my mysterious things with menu...
}

But I don't know where to start my search and I totaly don't know whot to look 
for in docu.

Please, help :-)

-
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: find html tag

2013-01-23 Thread Michael Jaruska

Look at my original post. User clicks on a 
href=./mypage.html?cid=menu/submenu/subsubmenu2subsubmenu2/a, then
I have in String category (java code) value menu/submenu/subsubmenu2. I 
need just to make 2 more steps:
1. in html code find anchor tag with href menu/submenu/subsubmenu2;
2. find li tag which is parent of the anchor from point 1;

When I have point 2 done, then I know how to put somethink into li tag...



On 23.1.2013 21:21, Bas Gooren wrote:

Ok, so you are indeed looking for a way to change a html attribute ;-)

Since you wrote (in your folluw-up e-mail) that you cannot generate the html, 
there are some ways, but they mostly work outside of the normal wicket way.

1) In the component which actually renders your static html override 
onComponentTagBody and fiddle with the markup stream (e.g. look at 
replaceComponentTagBody)

2) store the static html somewhere by itself, and create a custom model.
The model can then load the html and perform string replacement.
You can then add a label component which uses the model and has 
setEscapeModelStrings(false) set.

Met vriendelijke groet,
Kind regards,

Bas Gooren

Op 23-1-2013 21:11, schreef Michael Jaruska:

I need to find the parent li tag of the anchor user clicks - I now from 
PageParameters which anchor
has been clicked. Then I will put into this parent li specific atribute 
(id=something). This attribute
will be then processed by JavaScript on the page.


On 23.1.2013 21:04, Bas Gooren wrote:

Sorry, I read too quickly.

What are you trying to accomplish? Let's say you are able to find the 
appropriate html tag, what do you want to do with it?

Met vriendelijke groet,
Kind regards,

Bas Gooren

Op 23-1-2013 21:01, schreef Michael Jaruska:

And question is not how can I change html attribute but how can I go through html 
structure and
find html tag with specific attribute :-)


On 23.1.2013 20:50, Bas Gooren wrote:

Hi!

What you want to accomplish (e.g. changing some html attributes) can be done by 
adding an attributemodifier to each li component.

In pseudocode:

RepeatingView uls = ...
for_every_li:
WebMarkupContainer li = ...
uls.add(li);

now, you can do something like this:
li.add(new AttributeAppender(...) {
 isEnabled() {
 return true if you want to append a html attribute;
 }
});

Or alternatively:

WebMarkupContainer li = new WMC() {
 onComponentTag(ComponentTag tag) {
 super(tag);

 tag.put(my-html-attribute, value);
 }
}

Met vriendelijke groet,
Kind regards,

Bas Gooren

Op 23-1-2013 20:45, schreef Michael Jaruska:

Hi,

is there a way I can find specific html tag in markup?

I have this html structure:
ul class=mymenu
  li
a href=./mypage.html?cid=menumenu/a
  ul
li
  a href=./mypage.html?cid=menu/submenusubmenu/a
ul
  li
a href=./mypage.html?cid=menu/submenu/subsubmenu1subsubmenu1/a
  /li
  li
a href=./mypage.html?cid=menu/submenu/subsubmenu2subsubmenu2/a
  /li
  li
a href=./mypage.html?cid=menu/submenu/subsubmenu3subsubmenu3/a
  /li
/ul
  /ul
/ul

I'm processing clicks on anchors with my page:
public PageTest(PageParameters parameters){
  //cid = category id
  String category = parameters.get(cid).toString();
  ...
}

Now I need some way I can add atribute into parent li tag of a tag on which 
I do click.
Somethink like (pseudocode):
public PageTest(PageParameters parameters){
  //cid = category id
  String category = parameters.get(cid).toString();
  //find corresponding a tag
  Tag anchorTag = go_from_top_ul_tag_and_find_a_tag_by_category(category)
  //have corresponding anchor tag, get parrent tag of the anchor tag
  Tag anchorParentTag = anchorTag.getParent();
  //and now I can do my mysterious things with menu...
}

But I don't know where to start my search and I totaly don't know whot to look 
for in docu.

Please, help :-)

-
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: find html tag

2013-01-23 Thread Michael Jaruska

Thanks Martin, this is what I'm looking for, you save my life and my job... :-D

On 23.1.2013 22:47, Martin Grigorov wrote:

You can use IMarkupFilter to manipulate the raw markup before being loaded
and used by the components.
See the implementations in Wicket to see what can be done with such filter.


On Wed, Jan 23, 2013 at 11:11 PM, Michael Jaruska michael.jaru...@gmail.com

wrote:



Look at my original post. User clicks on a href=./mypage.html?cid=menu/*
*submenu/subsubmenu2**subsubmenu2/a, then
I have in String category (java code) value menu/submenu/subsubmenu2.
I need just to make 2 more steps:
1. in html code find anchor tag with href menu/submenu/subsubmenu2;
2. find li tag which is parent of the anchor from point 1;

When I have point 2 done, then I know how to put somethink into li tag...




On 23.1.2013 21:21, Bas Gooren wrote:


Ok, so you are indeed looking for a way to change a html attribute ;-)

Since you wrote (in your folluw-up e-mail) that you cannot generate the
html, there are some ways, but they mostly work outside of the normal
wicket way.

1) In the component which actually renders your static html override
onComponentTagBody and fiddle with the markup stream (e.g. look at
replaceComponentTagBody)

2) store the static html somewhere by itself, and create a custom model.
The model can then load the html and perform string replacement.
You can then add a label component which uses the model and has
setEscapeModelStrings(false) set.

Met vriendelijke groet,
Kind regards,

Bas Gooren

Op 23-1-2013 21:11, schreef Michael Jaruska:


I need to find the parent li tag of the anchor user clicks - I now
from PageParameters which anchor
has been clicked. Then I will put into this parent li specific
atribute (id=something). This attribute
will be then processed by JavaScript on the page.


On 23.1.2013 21:04, Bas Gooren wrote:


Sorry, I read too quickly.

What are you trying to accomplish? Let's say you are able to find the
appropriate html tag, what do you want to do with it?

Met vriendelijke groet,
Kind regards,

Bas Gooren

Op 23-1-2013 21:01, schreef Michael Jaruska:


And question is not how can I change html attribute but how can I
go through html structure and
find html tag with specific attribute :-)


On 23.1.2013 20:50, Bas Gooren wrote:


Hi!

What you want to accomplish (e.g. changing some html attributes) can
be done by adding an attributemodifier to each li component.

In pseudocode:

RepeatingView uls = ...
for_every_li:
WebMarkupContainer li = ...
uls.add(li);

now, you can do something like this:
li.add(new AttributeAppender(...) {
  isEnabled() {
  return true if you want to append a html attribute;
  }
});

Or alternatively:

WebMarkupContainer li = new WMC() {
  onComponentTag(ComponentTag tag) {
  super(tag);

  tag.put(my-html-attribute, value);
  }
}

Met vriendelijke groet,
Kind regards,

Bas Gooren

Op 23-1-2013 20:45, schreef Michael Jaruska:


Hi,

is there a way I can find specific html tag in markup?

I have this html structure:
ul class=mymenu
   li
 a href=./mypage.html?cid=menu**menu/a
   ul
 li
   a href=./mypage.html?cid=menu/**submenusubmenu/a
 ul
   li
 a href=./mypage.html?cid=menu/**submenu/subsubmenu1**
subsubmenu1/a
   /li
   li
 a href=./mypage.html?cid=menu/**submenu/subsubmenu2**
subsubmenu2/a
   /li
   li
 a href=./mypage.html?cid=menu/**submenu/subsubmenu3**
subsubmenu3/a
   /li
 /ul
   /ul
/ul

I'm processing clicks on anchors with my page:
public PageTest(PageParameters parameters){
   //cid = category id
   String category = parameters.get(cid).**toString();
   ...
}

Now I need some way I can add atribute into parent li tag of a
tag on which I do click.
Somethink like (pseudocode):
public PageTest(PageParameters parameters){
   //cid = category id
   String category = parameters.get(cid).**toString();
   //find corresponding a tag
   Tag anchorTag = go_from_top_ul_tag_and_find_a_**
tag_by_category(category)
   //have corresponding anchor tag, get parrent tag of the anchor tag
   Tag anchorParentTag = anchorTag.getParent();
   //and now I can do my mysterious things with menu...
}

But I don't know where to start my search and I totaly don't know
whot to look for in docu.

Please, help :-)

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






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






--**--**
-
To unsubscribe, e-mail: 
users-unsubscribe@wicket.**apache.orgusers-unsubscr...@wicket.apache.org

Re: find html tag

2013-02-10 Thread Michael Jaruska

again with my question: is it possible to get markup in onRender() of the 
component?
have found this article:
https://cwiki.apache.org/WICKET/component-rendering.html
but in onRender() section is just code snippet I'm not understand. is there more
detailed example how to get markup of the component in onRender()?

thanks, michael



On 23.1.2013 22:47, Martin Grigorov wrote:

You can use IMarkupFilter to manipulate the raw markup before being loaded
and used by the components.
See the implementations in Wicket to see what can be done with such filter.


On Wed, Jan 23, 2013 at 11:11 PM, Michael Jaruska michael.jaru...@gmail.com

wrote:



Look at my original post. User clicks on a href=./mypage.html?cid=menu/*
*submenu/subsubmenu2**subsubmenu2/a, then
I have in String category (java code) value menu/submenu/subsubmenu2.
I need just to make 2 more steps:
1. in html code find anchor tag with href menu/submenu/subsubmenu2;
2. find li tag which is parent of the anchor from point 1;

When I have point 2 done, then I know how to put somethink into li tag...




On 23.1.2013 21:21, Bas Gooren wrote:


Ok, so you are indeed looking for a way to change a html attribute ;-)

Since you wrote (in your folluw-up e-mail) that you cannot generate the
html, there are some ways, but they mostly work outside of the normal
wicket way.

1) In the component which actually renders your static html override
onComponentTagBody and fiddle with the markup stream (e.g. look at
replaceComponentTagBody)

2) store the static html somewhere by itself, and create a custom model.
The model can then load the html and perform string replacement.
You can then add a label component which uses the model and has
setEscapeModelStrings(false) set.

Met vriendelijke groet,
Kind regards,

Bas Gooren

Op 23-1-2013 21:11, schreef Michael Jaruska:


I need to find the parent li tag of the anchor user clicks - I now
from PageParameters which anchor
has been clicked. Then I will put into this parent li specific
atribute (id=something). This attribute
will be then processed by JavaScript on the page.


On 23.1.2013 21:04, Bas Gooren wrote:


Sorry, I read too quickly.

What are you trying to accomplish? Let's say you are able to find the
appropriate html tag, what do you want to do with it?

Met vriendelijke groet,
Kind regards,

Bas Gooren

Op 23-1-2013 21:01, schreef Michael Jaruska:


And question is not how can I change html attribute but how can I
go through html structure and
find html tag with specific attribute :-)


On 23.1.2013 20:50, Bas Gooren wrote:


Hi!

What you want to accomplish (e.g. changing some html attributes) can
be done by adding an attributemodifier to each li component.

In pseudocode:

RepeatingView uls = ...
for_every_li:
WebMarkupContainer li = ...
uls.add(li);

now, you can do something like this:
li.add(new AttributeAppender(...) {
  isEnabled() {
  return true if you want to append a html attribute;
  }
});

Or alternatively:

WebMarkupContainer li = new WMC() {
  onComponentTag(ComponentTag tag) {
  super(tag);

  tag.put(my-html-attribute, value);
  }
}

Met vriendelijke groet,
Kind regards,

Bas Gooren

Op 23-1-2013 20:45, schreef Michael Jaruska:


Hi,

is there a way I can find specific html tag in markup?

I have this html structure:
ul class=mymenu
   li
 a href=./mypage.html?cid=menu**menu/a
   ul
 li
   a href=./mypage.html?cid=menu/**submenusubmenu/a
 ul
   li
 a href=./mypage.html?cid=menu/**submenu/subsubmenu1**
subsubmenu1/a
   /li
   li
 a href=./mypage.html?cid=menu/**submenu/subsubmenu2**
subsubmenu2/a
   /li
   li
 a href=./mypage.html?cid=menu/**submenu/subsubmenu3**
subsubmenu3/a
   /li
 /ul
   /ul
/ul

I'm processing clicks on anchors with my page:
public PageTest(PageParameters parameters){
   //cid = category id
   String category = parameters.get(cid).**toString();
   ...
}

Now I need some way I can add atribute into parent li tag of a
tag on which I do click.
Somethink like (pseudocode):
public PageTest(PageParameters parameters){
   //cid = category id
   String category = parameters.get(cid).**toString();
   //find corresponding a tag
   Tag anchorTag = go_from_top_ul_tag_and_find_a_**
tag_by_category(category)
   //have corresponding anchor tag, get parrent tag of the anchor tag
   Tag anchorParentTag = anchorTag.getParent();
   //and now I can do my mysterious things with menu...
}

But I don't know where to start my search and I totaly don't know
whot to look for in docu.

Please, help :-)

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






--**--**
-
To unsubscribe, e-mail: 
users-unsubscribe@wicket.**apache.orgusers-unsubscr

Re: find html tag

2013-02-10 Thread Michael Jaruska

my quick test:
@Override
protected void onRender()
{
super.onRender();
System.out.println(this.getMarkup().toString());
}

get me just top-level tag in my panel, subtags isn't shown. how to get whole
markup for my panel?


On 10.2.2013 22:38, Sven Meier wrote:

Sure, with #getMarkup() you can get hold of the component's markup. With a 
MarkupStream you can iterate over it.

Sven

On 02/10/2013 10:23 PM, Michael Jaruska wrote:

again with my question: is it possible to get markup in onRender() of the 
component?
have found this article:
https://cwiki.apache.org/WICKET/component-rendering.html
but in onRender() section is just code snippet I'm not understand. is there more
detailed example how to get markup of the component in onRender()?

thanks, michael



On 23.1.2013 22:47, Martin Grigorov wrote:

You can use IMarkupFilter to manipulate the raw markup before being loaded
and used by the components.
See the implementations in Wicket to see what can be done with such filter.


On Wed, Jan 23, 2013 at 11:11 PM, Michael Jaruska michael.jaru...@gmail.com

wrote:



Look at my original post. User clicks on a href=./mypage.html?cid=menu/*
*submenu/subsubmenu2**subsubmenu2/a, then
I have in String category (java code) value menu/submenu/subsubmenu2.
I need just to make 2 more steps:
1. in html code find anchor tag with href menu/submenu/subsubmenu2;
2. find li tag which is parent of the anchor from point 1;

When I have point 2 done, then I know how to put somethink into li tag...




On 23.1.2013 21:21, Bas Gooren wrote:


Ok, so you are indeed looking for a way to change a html attribute ;-)

Since you wrote (in your folluw-up e-mail) that you cannot generate the
html, there are some ways, but they mostly work outside of the normal
wicket way.

1) In the component which actually renders your static html override
onComponentTagBody and fiddle with the markup stream (e.g. look at
replaceComponentTagBody)

2) store the static html somewhere by itself, and create a custom model.
The model can then load the html and perform string replacement.
You can then add a label component which uses the model and has
setEscapeModelStrings(false) set.

Met vriendelijke groet,
Kind regards,

Bas Gooren

Op 23-1-2013 21:11, schreef Michael Jaruska:


I need to find the parent li tag of the anchor user clicks - I now
from PageParameters which anchor
has been clicked. Then I will put into this parent li specific
atribute (id=something). This attribute
will be then processed by JavaScript on the page.


On 23.1.2013 21:04, Bas Gooren wrote:


Sorry, I read too quickly.

What are you trying to accomplish? Let's say you are able to find the
appropriate html tag, what do you want to do with it?

Met vriendelijke groet,
Kind regards,

Bas Gooren

Op 23-1-2013 21:01, schreef Michael Jaruska:


And question is not how can I change html attribute but how can I
go through html structure and
find html tag with specific attribute :-)


On 23.1.2013 20:50, Bas Gooren wrote:


Hi!

What you want to accomplish (e.g. changing some html attributes) can
be done by adding an attributemodifier to each li component.

In pseudocode:

RepeatingView uls = ...
for_every_li:
WebMarkupContainer li = ...
uls.add(li);

now, you can do something like this:
li.add(new AttributeAppender(...) {
  isEnabled() {
  return true if you want to append a html attribute;
  }
});

Or alternatively:

WebMarkupContainer li = new WMC() {
  onComponentTag(ComponentTag tag) {
  super(tag);

  tag.put(my-html-attribute, value);
  }
}

Met vriendelijke groet,
Kind regards,

Bas Gooren

Op 23-1-2013 20:45, schreef Michael Jaruska:


Hi,

is there a way I can find specific html tag in markup?

I have this html structure:
ul class=mymenu
   li
 a href=./mypage.html?cid=menu**menu/a
   ul
 li
   a href=./mypage.html?cid=menu/**submenusubmenu/a
 ul
   li
 a href=./mypage.html?cid=menu/**submenu/subsubmenu1**
subsubmenu1/a
   /li
   li
 a href=./mypage.html?cid=menu/**submenu/subsubmenu2**
subsubmenu2/a
   /li
   li
 a href=./mypage.html?cid=menu/**submenu/subsubmenu3**
subsubmenu3/a
   /li
 /ul
   /ul
/ul

I'm processing clicks on anchors with my page:
public PageTest(PageParameters parameters){
   //cid = category id
   String category = parameters.get(cid).**toString();
   ...
}

Now I need some way I can add atribute into parent li tag of a
tag on which I do click.
Somethink like (pseudocode):
public PageTest(PageParameters parameters){
   //cid = category id
   String category = parameters.get(cid).**toString();
   //find corresponding a tag
   Tag anchorTag = go_from_top_ul_tag_and_find_a_**
tag_by_category(category)
   //have corresponding anchor tag, get parrent tag of the anchor tag
   Tag anchorParentTag = anchorTag.getParent();
   //and now I can do my mysterious things with menu...
}

But I don't know where to start my search and I totaly don't know
whot

Re: find html tag

2013-02-11 Thread Michael Jaruska

thanks, studied. but in my case not working. i don't know why, where is my 
mistake. try this code:

markup - base page:
?xml version=1.0 encoding=UTF-8 ?
html xmlns:wicket
head
titlemy test page/title
meta http-equiv=Content-Type content=text/html; charset=utf-8 /
/head
body
pmy test page/p
span wicket:id=myPanel[my test panel]/span
/body
/html

markup - my test panel:
?xml version=1.0 encoding=UTF-8 ?
html xmlns:wicket
wicket:panel
   ul
  li
a href=./mypage.html?cid=menumy item/a
  /li
   /ul
/wicket:panel

java - base page:
public class PageBase extends WebPage{
public PageBase()
{
//my panel
this.add(new MyMenu(myPanel).setRenderBodyOnly(true));
}
}

java - panel:
ublic class MyMenu extends Panel{
public PanelMenu(String id)
{
super(id);
}

protected void onRender(MarkupStream markupStream){
while(markupStream.hasMore())
{
System.out.println(markupStream.next());
}
}
}


i expect on console printed whole html markup for panel, but nothing is 
displayed.

any ideas please?


On 10.2.2013 23:21, Sven Meier wrote:

See BorderBehavior#beforeRender(Component) on how to iterate over the markup.

Sven

On 02/10/2013 11:09 PM, Michael Jaruska wrote:

my quick test:
@Override
protected void onRender()
{
super.onRender();
System.out.println(this.getMarkup().toString());
}

get me just top-level tag in my panel, subtags isn't shown. how to get whole
markup for my panel?


On 10.2.2013 22:38, Sven Meier wrote:

Sure, with #getMarkup() you can get hold of the component's markup. With a 
MarkupStream you can iterate over it.

Sven

On 02/10/2013 10:23 PM, Michael Jaruska wrote:

again with my question: is it possible to get markup in onRender() of the 
component?
have found this article:
https://cwiki.apache.org/WICKET/component-rendering.html
but in onRender() section is just code snippet I'm not understand. is there more
detailed example how to get markup of the component in onRender()?

thanks, michael



On 23.1.2013 22:47, Martin Grigorov wrote:

You can use IMarkupFilter to manipulate the raw markup before being loaded
and used by the components.
See the implementations in Wicket to see what can be done with such filter.


On Wed, Jan 23, 2013 at 11:11 PM, Michael Jaruska michael.jaru...@gmail.com

wrote:



Look at my original post. User clicks on a href=./mypage.html?cid=menu/*
*submenu/subsubmenu2**subsubmenu2/a, then
I have in String category (java code) value menu/submenu/subsubmenu2.
I need just to make 2 more steps:
1. in html code find anchor tag with href menu/submenu/subsubmenu2;
2. find li tag which is parent of the anchor from point 1;

When I have point 2 done, then I know how to put somethink into li tag...




On 23.1.2013 21:21, Bas Gooren wrote:


Ok, so you are indeed looking for a way to change a html attribute ;-)

Since you wrote (in your folluw-up e-mail) that you cannot generate the
html, there are some ways, but they mostly work outside of the normal
wicket way.

1) In the component which actually renders your static html override
onComponentTagBody and fiddle with the markup stream (e.g. look at
replaceComponentTagBody)

2) store the static html somewhere by itself, and create a custom model.
The model can then load the html and perform string replacement.
You can then add a label component which uses the model and has
setEscapeModelStrings(false) set.

Met vriendelijke groet,
Kind regards,

Bas Gooren

Op 23-1-2013 21:11, schreef Michael Jaruska:


I need to find the parent li tag of the anchor user clicks - I now
from PageParameters which anchor
has been clicked. Then I will put into this parent li specific
atribute (id=something). This attribute
will be then processed by JavaScript on the page.


On 23.1.2013 21:04, Bas Gooren wrote:


Sorry, I read too quickly.

What are you trying to accomplish? Let's say you are able to find the
appropriate html tag, what do you want to do with it?

Met vriendelijke groet,
Kind regards,

Bas Gooren

Op 23-1-2013 21:01, schreef Michael Jaruska:


And question is not how can I change html attribute but how can I
go through html structure and
find html tag with specific attribute :-)


On 23.1.2013 20:50, Bas Gooren wrote:


Hi!

What you want to accomplish (e.g. changing some html attributes) can
be done by adding an attributemodifier to each li component.

In pseudocode:

RepeatingView uls = ...
for_every_li:
WebMarkupContainer li = ...
uls.add(li);

now, you can do something like this:
li.add(new AttributeAppender(...) {
  isEnabled() {
  return true if you want to append a html attribute;
  }
});

Or alternatively:

WebMarkupContainer li = new WMC() {
  onComponentTag(ComponentTag tag) {
  super(tag);

  tag.put(my-html-attribute, value);
  }
}

Met

Re: find html tag

2013-02-11 Thread Michael Jaruska

in fact, my panel is menu which is modified by javascript.
i need to keep track of the previous selected entry (to get know
javascript to disable element) and actual element to modify
(add class) for javascript.

javascript need to now at a moment page rendered where is
class which it is looking for.

so i need to modify html markup, modify it on client side by
javascript is not possible.

based on this article:
https://cwiki.apache.org/WICKET/component-rendering.html
it should be possible modify markup generated by component (my
panel).



On 11.2.2013 10:03, Martin Grigorov wrote:

Hi,

What do you want to do with the markup ?
Maybe you don't need to bother with internals like MarkupStream for
something that may be solved much easier.


On Mon, Feb 11, 2013 at 10:01 AM, Michael Jaruska michael.jaru...@gmail.com

wrote:



thanks, studied. but in my case not working. i don't know why, where is my
mistake. try this code:

markup - base page:
?xml version=1.0 encoding=UTF-8 ?
html xmlns:wicket
 head
 titlemy test page/title
 meta http-equiv=Content-Type content=text/html; charset=utf-8
/
 /head
 body
 pmy test page/p
 span wicket:id=myPanel[my test panel]/span
 /body
/html

markup - my test panel:
?xml version=1.0 encoding=UTF-8 ?
html xmlns:wicket
wicket:panel
ul
   li
 a href=./mypage.html?cid=menu**my item/a
   /li
/ul
/wicket:panel

java - base page:
public class PageBase extends WebPage{
 public PageBase()
 {
 //my panel
 this.add(new MyMenu(myPanel).**setRenderBodyOnly(true));
 }
}

java - panel:
ublic class MyMenu extends Panel{
 public PanelMenu(String id)
 {
 super(id);
 }

 protected void onRender(MarkupStream markupStream){
 while(markupStream.hasMore())
 {
 System.out.println(**markupStream.next());
 }
 }
}


i expect on console printed whole html markup for panel, but nothing is
displayed.

any ideas please?



On 10.2.2013 23:21, Sven Meier wrote:


See BorderBehavior#beforeRender(**Component) on how to iterate over the
markup.

Sven

On 02/10/2013 11:09 PM, Michael Jaruska wrote:


my quick test:
@Override
protected void onRender()
{
 super.onRender();
 System.out.println(this.**getMarkup().toString());
}

get me just top-level tag in my panel, subtags isn't shown. how to get
whole
markup for my panel?


On 10.2.2013 22:38, Sven Meier wrote:


Sure, with #getMarkup() you can get hold of the component's markup.
With a MarkupStream you can iterate over it.

Sven

On 02/10/2013 10:23 PM, Michael Jaruska wrote:


again with my question: is it possible to get markup in onRender() of
the component?
have found this article:
https://cwiki.apache.org/**WICKET/component-rendering.**htmlhttps://cwiki.apache.org/WICKET/component-rendering.html
but in onRender() section is just code snippet I'm not understand. is
there more
detailed example how to get markup of the component in onRender()?

thanks, michael



On 23.1.2013 22:47, Martin Grigorov wrote:


You can use IMarkupFilter to manipulate the raw markup before being
loaded
and used by the components.
See the implementations in Wicket to see what can be done with such
filter.


On Wed, Jan 23, 2013 at 11:11 PM, Michael Jaruska 
michael.jaru...@gmail.com


wrote:



  Look at my original post. User clicks on a

href=./mypage.html?cid=menu/*
*submenu/subsubmenu2subsubmenu2/a, then
I have in String category (java code) value
menu/submenu/subsubmenu2.
I need just to make 2 more steps:
1. in html code find anchor tag with href menu/submenu/subsubmenu2;
2. find li tag which is parent of the anchor from point 1;

When I have point 2 done, then I know how to put somethink into li
tag...




On 23.1.2013 21:21, Bas Gooren wrote:

  Ok, so you are indeed looking for a way to change a html attribute

;-)

Since you wrote (in your folluw-up e-mail) that you cannot generate
the
html, there are some ways, but they mostly work outside of the
normal
wicket way.

1) In the component which actually renders your static html override
onComponentTagBody and fiddle with the markup stream (e.g. look at
replaceComponentTagBody)

2) store the static html somewhere by itself, and create a custom
model.
The model can then load the html and perform string replacement.
You can then add a label component which uses the model and has
setEscapeModelStrings(false) set.

Met vriendelijke groet,
Kind regards,

Bas Gooren

Op 23-1-2013 21:11, schreef Michael Jaruska:

  I need to find the parent li tag of the anchor user clicks - I

now
from PageParameters which anchor
has been clicked. Then I will put into this parent li specific
atribute (id=something). This attribute
will be then processed by JavaScript on the page.


On 23.1.2013 21:04, Bas Gooren wrote:

  Sorry, I read too quickly.


What are you trying to accomplish

Re: find html tag

2013-02-11 Thread Michael Jaruska

yes, i need that raw html that comes from markup (my .html file which is my 
panel),
in java code i will modify it (one step for put new class) and send it to 
client :-)
as i thnik now i dont need to delete previous step because this modifying isn't 
in
markup. so i just need to modify markup in actual render - modify markup stream.


On 11.2.2013 11:26, Martin Grigorov wrote:

MarkupStream gives you the raw html that comes from the .html file, i.e.
from the template file.
It doesn't give you the html from the previous page render.

You need to send Ajax requests to update the server side state to be in
sync with the client side state (modified by your JS).

On Mon, Feb 11, 2013 at 11:22 AM, Michael Jaruska michael.jaru...@gmail.com

wrote:



in fact, my panel is menu which is modified by javascript.
i need to keep track of the previous selected entry (to get know
javascript to disable element) and actual element to modify
(add class) for javascript.

javascript need to now at a moment page rendered where is
class which it is looking for.

so i need to modify html markup, modify it on client side by
javascript is not possible.

based on this article:
https://cwiki.apache.org/**WICKET/component-rendering.**htmlhttps://cwiki.apache.org/WICKET/component-rendering.html
it should be possible modify markup generated by component (my
panel).




On 11.2.2013 10:03, Martin Grigorov wrote:


Hi,

What do you want to do with the markup ?
Maybe you don't need to bother with internals like MarkupStream for
something that may be solved much easier.


On Mon, Feb 11, 2013 at 10:01 AM, Michael Jaruska 
michael.jaru...@gmail.com


wrote:



  thanks, studied. but in my case not working. i don't know why, where is

my
mistake. try this code:

markup - base page:
?xml version=1.0 encoding=UTF-8 ?
html xmlns:wicket
  head
  titlemy test page/title
  meta http-equiv=Content-Type content=text/html;
charset=utf-8
/
  /head
  body
  pmy test page/p
  span wicket:id=myPanel[my test panel]/span
  /body
/html

markup - my test panel:
?xml version=1.0 encoding=UTF-8 ?
html xmlns:wicket
wicket:panel
 ul
li
  a href=./mypage.html?cid=menumy item/a

/li
 /ul
/wicket:panel

java - base page:
public class PageBase extends WebPage{
  public PageBase()
  {
  //my panel
  this.add(new MyMenu(myPanel).
setRenderBodyOnly(true));

  }
}

java - panel:
ublic class MyMenu extends Panel{
  public PanelMenu(String id)
  {
  super(id);
  }

  protected void onRender(MarkupStream markupStream){
  while(markupStream.hasMore())
  {
  System.out.println(markupStream.next());

  }
  }
}


i expect on console printed whole html markup for panel, but nothing is
displayed.

any ideas please?



On 10.2.2013 23:21, Sven Meier wrote:

  See BorderBehavior#beforeRender(Component) on how to iterate over

the

markup.

Sven

On 02/10/2013 11:09 PM, Michael Jaruska wrote:

  my quick test:

@Override
protected void onRender()
{
  super.onRender();
  System.out.println(this.getMarkup().toString());

}

get me just top-level tag in my panel, subtags isn't shown. how to get
whole
markup for my panel?


On 10.2.2013 22:38, Sven Meier wrote:

  Sure, with #getMarkup() you can get hold of the component's markup.

With a MarkupStream you can iterate over it.

Sven

On 02/10/2013 10:23 PM, Michael Jaruska wrote:

  again with my question: is it possible to get markup in onRender() of

the component?
have found this article:
https://cwiki.apache.org/WICKET/component-rendering.htmlhttps://cwiki.apache.org/**WICKET/component-rendering.**html
https://cwiki.apache.org/**WICKET/component-rendering.**htmlhttps://cwiki.apache.org/WICKET/component-rendering.html




but in onRender() section is just code snippet I'm not understand. is
there more
detailed example how to get markup of the component in onRender()?

thanks, michael



On 23.1.2013 22:47, Martin Grigorov wrote:

  You can use IMarkupFilter to manipulate the raw markup before being

loaded
and used by the components.
See the implementations in Wicket to see what can be done with such
filter.


On Wed, Jan 23, 2013 at 11:11 PM, Michael Jaruska 
michael.jaru...@gmail.com

  wrote:




   Look at my original post. User clicks on a


href=./mypage.html?cid=menu/*
*submenu/subsubmenu2**subsubmenu2/a, then

I have in String category (java code) value
menu/submenu/subsubmenu2.
I need just to make 2 more steps:
1. in html code find anchor tag with href
menu/submenu/subsubmenu2;
2. find li tag which is parent of the anchor from point 1;

When I have point 2 done, then I know how to put somethink into
li
tag...




On 23.1.2013 21:21, Bas Gooren wrote:

   Ok, so you are indeed looking for a way to change a html
attribute

Re: find html tag

2013-02-11 Thread Michael Jaruska

based on this article:
https://cwiki.apache.org/WICKET/component-rendering.html in section onRender()
it should be possible to modify markup which is going from wicket (e.g. from 
.html file)
and modyfied it send to client.


On 11.2.2013 11:34, Michael Jaruska wrote:

yes, i need that raw html that comes from markup (my .html file which is my 
panel),
in java code i will modify it (one step for put new class) and send it to 
client :-)
as i thnik now i dont need to delete previous step because this modifying isn't 
in
markup. so i just need to modify markup in actual render - modify markup stream.


On 11.2.2013 11:26, Martin Grigorov wrote:

MarkupStream gives you the raw html that comes from the .html file, i.e.
from the template file.
It doesn't give you the html from the previous page render.

You need to send Ajax requests to update the server side state to be in
sync with the client side state (modified by your JS).

On Mon, Feb 11, 2013 at 11:22 AM, Michael Jaruska michael.jaru...@gmail.com

wrote:



in fact, my panel is menu which is modified by javascript.
i need to keep track of the previous selected entry (to get know
javascript to disable element) and actual element to modify
(add class) for javascript.

javascript need to now at a moment page rendered where is
class which it is looking for.

so i need to modify html markup, modify it on client side by
javascript is not possible.

based on this article:
https://cwiki.apache.org/**WICKET/component-rendering.**htmlhttps://cwiki.apache.org/WICKET/component-rendering.html
it should be possible modify markup generated by component (my
panel).




On 11.2.2013 10:03, Martin Grigorov wrote:


Hi,

What do you want to do with the markup ?
Maybe you don't need to bother with internals like MarkupStream for
something that may be solved much easier.


On Mon, Feb 11, 2013 at 10:01 AM, Michael Jaruska 
michael.jaru...@gmail.com


wrote:



  thanks, studied. but in my case not working. i don't know why, where is

my
mistake. try this code:

markup - base page:
?xml version=1.0 encoding=UTF-8 ?
html xmlns:wicket
  head
  titlemy test page/title
  meta http-equiv=Content-Type content=text/html;
charset=utf-8
/
  /head
  body
  pmy test page/p
  span wicket:id=myPanel[my test panel]/span
  /body
/html

markup - my test panel:
?xml version=1.0 encoding=UTF-8 ?
html xmlns:wicket
wicket:panel
 ul
li
  a href=./mypage.html?cid=menumy item/a

/li
 /ul
/wicket:panel

java - base page:
public class PageBase extends WebPage{
  public PageBase()
  {
  //my panel
  this.add(new MyMenu(myPanel).
setRenderBodyOnly(true));

  }
}

java - panel:
ublic class MyMenu extends Panel{
  public PanelMenu(String id)
  {
  super(id);
  }

  protected void onRender(MarkupStream markupStream){
  while(markupStream.hasMore())
  {
  System.out.println(markupStream.next());

  }
  }
}


i expect on console printed whole html markup for panel, but nothing is
displayed.

any ideas please?



On 10.2.2013 23:21, Sven Meier wrote:

  See BorderBehavior#beforeRender(Component) on how to iterate over

the

markup.

Sven

On 02/10/2013 11:09 PM, Michael Jaruska wrote:

  my quick test:

@Override
protected void onRender()
{
  super.onRender();
  System.out.println(this.getMarkup().toString());

}

get me just top-level tag in my panel, subtags isn't shown. how to get
whole
markup for my panel?


On 10.2.2013 22:38, Sven Meier wrote:

  Sure, with #getMarkup() you can get hold of the component's markup.

With a MarkupStream you can iterate over it.

Sven

On 02/10/2013 10:23 PM, Michael Jaruska wrote:

  again with my question: is it possible to get markup in onRender() of

the component?
have found this article:
https://cwiki.apache.org/WICKET/component-rendering.htmlhttps://cwiki.apache.org/**WICKET/component-rendering.**html
https://cwiki.apache.org/**WICKET/component-rendering.**htmlhttps://cwiki.apache.org/WICKET/component-rendering.html




but in onRender() section is just code snippet I'm not understand. is
there more
detailed example how to get markup of the component in onRender()?

thanks, michael



On 23.1.2013 22:47, Martin Grigorov wrote:

  You can use IMarkupFilter to manipulate the raw markup before being

loaded
and used by the components.
See the implementations in Wicket to see what can be done with such
filter.


On Wed, Jan 23, 2013 at 11:11 PM, Michael Jaruska 
michael.jaru...@gmail.com

  wrote:




   Look at my original post. User clicks on a


href=./mypage.html?cid=menu/*
*submenu/subsubmenu2**subsubmenu2/a, then

I have in String category (java code) value
menu/submenu/subsubmenu2.
I need just to make 2 more steps:
1. in html code find anchor tag with href
menu

Re: find html tag

2013-02-12 Thread Michael Jaruska

no way how to modify raw html stream in actual rendering?


On 11.2.2013 11:50, Michael Jaruska wrote:

based on this article:
https://cwiki.apache.org/WICKET/component-rendering.html in section onRender()
it should be possible to modify markup which is going from wicket (e.g. from 
.html file)
and modyfied it send to client.


On 11.2.2013 11:34, Michael Jaruska wrote:

yes, i need that raw html that comes from markup (my .html file which is my 
panel),
in java code i will modify it (one step for put new class) and send it to 
client :-)
as i thnik now i dont need to delete previous step because this modifying isn't 
in
markup. so i just need to modify markup in actual render - modify markup stream.


On 11.2.2013 11:26, Martin Grigorov wrote:

MarkupStream gives you the raw html that comes from the .html file, i.e.
from the template file.
It doesn't give you the html from the previous page render.

You need to send Ajax requests to update the server side state to be in
sync with the client side state (modified by your JS).

On Mon, Feb 11, 2013 at 11:22 AM, Michael Jaruska michael.jaru...@gmail.com

wrote:



in fact, my panel is menu which is modified by javascript.
i need to keep track of the previous selected entry (to get know
javascript to disable element) and actual element to modify
(add class) for javascript.

javascript need to now at a moment page rendered where is
class which it is looking for.

so i need to modify html markup, modify it on client side by
javascript is not possible.

based on this article:
https://cwiki.apache.org/**WICKET/component-rendering.**htmlhttps://cwiki.apache.org/WICKET/component-rendering.html
it should be possible modify markup generated by component (my
panel).




On 11.2.2013 10:03, Martin Grigorov wrote:


Hi,

What do you want to do with the markup ?
Maybe you don't need to bother with internals like MarkupStream for
something that may be solved much easier.


On Mon, Feb 11, 2013 at 10:01 AM, Michael Jaruska 
michael.jaru...@gmail.com


wrote:



  thanks, studied. but in my case not working. i don't know why, where is

my
mistake. try this code:

markup - base page:
?xml version=1.0 encoding=UTF-8 ?
html xmlns:wicket
  head
  titlemy test page/title
  meta http-equiv=Content-Type content=text/html;
charset=utf-8
/
  /head
  body
  pmy test page/p
  span wicket:id=myPanel[my test panel]/span
  /body
/html

markup - my test panel:
?xml version=1.0 encoding=UTF-8 ?
html xmlns:wicket
wicket:panel
 ul
li
  a href=./mypage.html?cid=menumy item/a

/li
 /ul
/wicket:panel

java - base page:
public class PageBase extends WebPage{
  public PageBase()
  {
  //my panel
  this.add(new MyMenu(myPanel).
setRenderBodyOnly(true));

  }
}

java - panel:
ublic class MyMenu extends Panel{
  public PanelMenu(String id)
  {
  super(id);
  }

  protected void onRender(MarkupStream markupStream){
  while(markupStream.hasMore())
  {
  System.out.println(markupStream.next());

  }
  }
}


i expect on console printed whole html markup for panel, but nothing is
displayed.

any ideas please?



On 10.2.2013 23:21, Sven Meier wrote:

  See BorderBehavior#beforeRender(Component) on how to iterate over

the

markup.

Sven

On 02/10/2013 11:09 PM, Michael Jaruska wrote:

  my quick test:

@Override
protected void onRender()
{
  super.onRender();
  System.out.println(this.getMarkup().toString());

}

get me just top-level tag in my panel, subtags isn't shown. how to get
whole
markup for my panel?


On 10.2.2013 22:38, Sven Meier wrote:

  Sure, with #getMarkup() you can get hold of the component's markup.

With a MarkupStream you can iterate over it.

Sven

On 02/10/2013 10:23 PM, Michael Jaruska wrote:

  again with my question: is it possible to get markup in onRender() of

the component?
have found this article:
https://cwiki.apache.org/WICKET/component-rendering.htmlhttps://cwiki.apache.org/**WICKET/component-rendering.**html
https://cwiki.apache.org/**WICKET/component-rendering.**htmlhttps://cwiki.apache.org/WICKET/component-rendering.html




but in onRender() section is just code snippet I'm not understand. is
there more
detailed example how to get markup of the component in onRender()?

thanks, michael



On 23.1.2013 22:47, Martin Grigorov wrote:

  You can use IMarkupFilter to manipulate the raw markup before being

loaded
and used by the components.
See the implementations in Wicket to see what can be done with such
filter.


On Wed, Jan 23, 2013 at 11:11 PM, Michael Jaruska 
michael.jaru...@gmail.com

  wrote:




   Look at my original post. User clicks on a


href=./mypage.html?cid=menu/*
*submenu/subsubmenu2**subsubmenu2/a, then

I have in String category (java code) value
menu

Re: find html tag

2013-02-12 Thread Michael Jaruska

do you mean in beforeRender(final Component component)?



On 12.2.2013 9:11, Martin Grigorov wrote:

Hi,

As Sven suggested - BorderBehavior does exactly this.


On Tue, Feb 12, 2013 at 9:08 AM, Michael Jaruska
michael.jaru...@gmail.comwrote:


no way how to modify raw html stream in actual rendering?



On 11.2.2013 11:50, Michael Jaruska wrote:


based on this article:
https://cwiki.apache.org/**WICKET/component-rendering.**htmlhttps://cwiki.apache.org/WICKET/component-rendering.htmlin
 section onRender()
it should be possible to modify markup which is going from wicket (e.g.
from .html file)
and modyfied it send to client.


On 11.2.2013 11:34, Michael Jaruska wrote:


yes, i need that raw html that comes from markup (my .html file which is
my panel),
in java code i will modify it (one step for put new class) and send it
to client :-)
as i thnik now i dont need to delete previous step because this
modifying isn't in
markup. so i just need to modify markup in actual render - modify markup
stream.


On 11.2.2013 11:26, Martin Grigorov wrote:


MarkupStream gives you the raw html that comes from the .html file, i.e.
from the template file.
It doesn't give you the html from the previous page render.

You need to send Ajax requests to update the server side state to be in
sync with the client side state (modified by your JS).

On Mon, Feb 11, 2013 at 11:22 AM, Michael Jaruska 
michael.jaru...@gmail.com


wrote:



  in fact, my panel is menu which is modified by javascript.

i need to keep track of the previous selected entry (to get know
javascript to disable element) and actual element to modify
(add class) for javascript.

javascript need to now at a moment page rendered where is
class which it is looking for.

so i need to modify html markup, modify it on client side by
javascript is not possible.

based on this article:
https://cwiki.apache.org/WICKET/component-rendering.htmlhttps://cwiki.apache.org/**WICKET/component-rendering.**html
https://cwiki.apache.org/**WICKET/component-rendering.**htmlhttps://cwiki.apache.org/WICKET/component-rendering.html



it should be possible modify markup generated by component (my
panel).




On 11.2.2013 10:03, Martin Grigorov wrote:

  Hi,


What do you want to do with the markup ?
Maybe you don't need to bother with internals like MarkupStream for
something that may be solved much easier.


On Mon, Feb 11, 2013 at 10:01 AM, Michael Jaruska 
michael.jaru...@gmail.com

  wrote:




   thanks, studied. but in my case not working. i don't know why,
where is


my
mistake. try this code:

markup - base page:
?xml version=1.0 encoding=UTF-8 ?
html xmlns:wicket
   head
   titlemy test page/title
   meta http-equiv=Content-Type content=text/html;
charset=utf-8
/
   /head
   body
   pmy test page/p
   span wicket:id=myPanel[my test panel]/span
   /body
/html

markup - my test panel:
?xml version=1.0 encoding=UTF-8 ?
html xmlns:wicket
wicket:panel
  ul
 li
   a href=./mypage.html?cid=menu**my item/a

 /li
  /ul
/wicket:panel

java - base page:
public class PageBase extends WebPage{
   public PageBase()
   {
   //my panel
   this.add(new MyMenu(myPanel).
setRenderBodyOnly(true));

   }
}

java - panel:
ublic class MyMenu extends Panel{
   public PanelMenu(String id)
   {
   super(id);
   }

   protected void onRender(MarkupStream markupStream){
   while(markupStream.hasMore())
   {
   System.out.println(**
markupStream.next());

   }
   }
}


i expect on console printed whole html markup for panel, but nothing
is
displayed.

any ideas please?



On 10.2.2013 23:21, Sven Meier wrote:

   See BorderBehavior#beforeRender(**Component) on how to
iterate over


the

markup.

Sven

On 02/10/2013 11:09 PM, Michael Jaruska wrote:

   my quick test:


@Override
protected void onRender()
{
   super.onRender();
   System.out.println(this.**getMarkup().toString());

}

get me just top-level tag in my panel, subtags isn't shown. how to
get
whole
markup for my panel?


On 10.2.2013 22:38, Sven Meier wrote:

   Sure, with #getMarkup() you can get hold of the component's
markup.


With a MarkupStream you can iterate over it.

Sven

On 02/10/2013 10:23 PM, Michael Jaruska wrote:

   again with my question: is it possible to get markup in
onRender() of


the component?
have found this article:
https://cwiki.apache.org/**WICKET/component-rendering.*
*htmlhttps://cwiki.apache.org/WICKET/component-rendering.html
https://cwiki.apache.**org/**WICKET/component-**
rendering.**htmlhttps://cwiki.apache.org/**WICKET/component-rendering.**html



https://cwiki.apache.org/WICKET/component-rendering.
htmlhttps://cwiki.apache.org/**WICKET/component-rendering.**html
https://cwiki.apache.org

Re: find html tag

2013-02-12 Thread Michael Jaruska

Paul, thanks. Looks like I'm just two steps from final. My current code in 
MyPanel (stupid,
at the moment just for test):
@Override
public void onRender()
{
MarkupStream markupStream = this.getAssociatedMarkupStream(false);
while(markupStream.hasMore())
{
String myString = markupStream.next().toString(); //after last html 
element I get null
  //pointer exception 
but markupStream.hasMore()
  //indicate that there 
is more elements
myString = myString.replaceAll(menuso, someelse);
System.out.println(myString);
}
}

two more questions:
1. markupStream.hasMore() is going over MyPanel markup, when go over all markup
   it's going beyond border and after last html tag I get null pointer exception
   on markupStream.next()
2. how to write modified markup back to markupStream? Have found this:
   Response response = this.getResponse(); //in MyPanel - MyPanel is Component 
(extends Panel)
   response.write(CharSequence); //is this right way to write modified stream 
back to response?

will test same with onComponentTag(ComponentTag component), based on this:
http://stackoverflow.com/questions/4609871/wicket-getting-body-of-markup-element
now know hot to get markupStream (2 days ago my big problem).

sorry for my stupid questions, i'm still n00b ...



On 12.2.2013 18:07, Paul Bors wrote:

You can also do it inside the onComponentTag() or onComponentTagBody():

http://wicket.apache.org/apidocs/1.5/org/apache/wicket/Component.html#onComponentTag(org.apache.wicket.markup.ComponentTag
)
http://wicket.apache.org/apidocs/1.5/org/apache/wicket/Component.html#onComponentTagBody(org.apache.wicket.markup.MarkupStream,
org.apache.wicket.markup.ComponentTag)

This is how I switched from a DIV to a SPAN when nesting forms since
Wicket uses DIV that sometimes breaks my CSS inheritance:

/**
  * Wicket by default will substitute inner nested forms with DIV elements,
we want SPAN
  * elements to preserve the page layout.
  *
  * @see org.apache.wicket.Component#onComponentTag(ComponentTag)
  */
@Override
protected void onComponentTag(final ComponentTag tag) {
   super.onComponentTag(tag);
   if(!isRootForm()) {
 tag.setName(span);
   }
}

~ Thank you,
Paul Bors
On Tue, Feb 12, 2013 at 7:55 AM, Michael Jaruska
michael.jaru...@gmail.comwrote:


do you mean in beforeRender(final Component component)?




On 12.2.2013 9:11, Martin Grigorov wrote:


Hi,

As Sven suggested - BorderBehavior does exactly this.


On Tue, Feb 12, 2013 at 9:08 AM, Michael Jaruska
michael.jaru...@gmail.com**wrote:

  no way how to modify raw html stream in actual rendering?




On 11.2.2013 11:50, Michael Jaruska wrote:

  based on this article:

https://cwiki.apache.org/WICKET/component-rendering.htmlhttps://cwiki.apache.org/**WICKET/component-rendering.**html
https://cwiki.apache.org/**WICKET/component-rendering.**htmlhttps://cwiki.apache.org/WICKET/component-rendering.htmlin
section onRender()
it should be possible to modify markup which is going from wicket (e.g.
from .html file)
and modyfied it send to client.


On 11.2.2013 11:34, Michael Jaruska wrote:

  yes, i need that raw html that comes from markup (my .html file which

is
my panel),
in java code i will modify it (one step for put new class) and send it
to client :-)
as i thnik now i dont need to delete previous step because this
modifying isn't in
markup. so i just need to modify markup in actual render - modify
markup
stream.


On 11.2.2013 11:26, Martin Grigorov wrote:

  MarkupStream gives you the raw html that comes from the .html file,

i.e.
from the template file.
It doesn't give you the html from the previous page render.

You need to send Ajax requests to update the server side state to be
in
sync with the client side state (modified by your JS).

On Mon, Feb 11, 2013 at 11:22 AM, Michael Jaruska 
michael.jaru...@gmail.com

  wrote:




   in fact, my panel is menu which is modified by javascript.


i need to keep track of the previous selected entry (to get know
javascript to disable element) and actual element to modify
(add class) for javascript.

javascript need to now at a moment page rendered where is
class which it is looking for.

so i need to modify html markup, modify it on client side by
javascript is not possible.

based on this article:
https://cwiki.apache.org/**WICKET/component-rendering.**htmlhttps://cwiki.apache.org/WICKET/component-rendering.html
https://cwiki.apache.**org/**WICKET/component-**rendering.**htmlhttps://cwiki.apache.org/**WICKET/component-rendering.**html



https://cwiki.apache.org/WICKET/component-rendering.htmlhttps://cwiki.apache.org/**WICKET/component-rendering.**html
https://cwiki.apache.org/**WICKET/component-rendering.**htmlhttps://cwiki.apache.org/WICKET/component-rendering.html






  it should be possible modify markup generated by component (my

panel