this is code for the mail list (i implemented modal windows in order to show
emails but JWebUnit tests returned errors then i have to find some other way
to show mails...my priority now is to find the way to refresh the mail
listview:
public class MailAccount extends WebPage {
private ModalWindow modal;
private Folder folder;
private User user;
private ListView listTable;
private List<Message> test;
private Message[] messages;
private Message msg;
private int index;
public MailAccount(String username, String password)
{
Manager manager=new Manager("AjaxUbiMailDB",1000);
user=manager.authenticate(username, password);
add(new Label("message","Hello " + user.firstName() +" "+
user.lastName()));
Properties sysProperties = System.getProperties();
Session session=Session.getDefaultInstance(sysProperties, null);
session.setDebug(false);
folder=user.openPopServer();
try {
add(new Label("contains","Your MailBox contains "+
folder.getMessageCount() + " messages."));
} catch (MessagingException e) {
// TODO Auto-generated catch block
add(new Label("contains","Wrong Username or password"));
System.out.println("Error on opening pop folder or
something else");
//e.printStackTrace();
}
initMailList();
WebMarkupContainer listContainer = new
WebMarkupContainer("theContainer");
//generate a markup-id so the contents can be updated through
an AJAX call
listContainer.setOutputMarkupId(true);
listContainer.add(new
AjaxSelfUpdatingTimerBehavior(Duration.seconds(5)));
// add the list view to the container
listContainer.add(listTable);
// finally add the container to the page
add(listContainer);
user.closePopServer();
modal = new ModalWindow("modal");
addOrReplace(modal);
}
public void initMailList(){
listTable=new ListView("listview",mailList)
{
private Folder folder=user.openPopServer();
public void populateItem(ListItem item)
{
try {
final Message msg=(Message)
item.getModelObject();
Address[] add=msg.getFrom();
index=msg.getMessageNumber();
AjaxLink rate = new
AjaxLink("mess") {
public void
onClick(AjaxRequestTarget target) {
GetMessage getMessage;
getMessage = new GetMessage(modal.getContentId(), msg){};
modal.setContent(getMessage);
modal.setInitialHeight(600);
modal.setInitialWidth(1000);
modal.show(target);
modal.setTitle("Mail View");
}
};
rate.add(new
Label("prova",String.valueOf(msg.getMessageNumber())));
item.add(rate);
item.add(new
AttributeAppender("class", true, new
Model(index % 2 ==0 ? "odd": "even"), " "));
item.add(new
Label("subject",
msg.getSubject().toString()));
item.add(new
Label("from", add[0].toString()));
if
(msg.getSentDate()!=null)
item.add(new Label("date",
msg.getSentDate().toString()));
else
item.add(new Label("date", "Nothing"));
} catch (MessagingException e) {
System.out.println("Error
populate item");
//
e.printStackTrace();
}
}
};
}
IModel mailList = new LoadableDetachableModel()
{
protected Object load() {
user.openPopServer();
try {
messages=folder.getMessages();
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
List mailList1=Arrays.asList(messages);
return mailList1;
}
};
}
igor.vaynberg wrote:
>
> On Fri, May 23, 2008 at 2:20 AM, Davidoff <[EMAIL PROTECTED]> wrote:
>>
>> I'm creating a simple webmail application: i've created a listview where
>> the
>> items are rows containing the number of the message, the subject and so
>> on... my target is to reproduce what Gmail does: clicking on the number
>> of a
>> mail i wanto to read it's content, and clicking again i want to return to
>> the list (the content collapses).How can i do this?
>
> include a hidden webmarkupcontainer which you then replace with some
> other component that contains the mail content when the header is
> clicked. replace it back with a webmarkupcontianer to collapse.
>
>> Second question: i created a list like this
>> http://www.google.it/search?q=ajax+listview&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:it:official&client=firefox-a
>> but even if i send emails to the address in list, the listview will not
>> refresh(the messages are always the same).
>
> show us some code
>
> -igor
>
>> --
>> View this message in context:
>> http://www.nabble.com/Ajax-ListView-as-Gmail-tp17421986p17421986.html
>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
--
View this message in context:
http://www.nabble.com/Ajax-ListView-as-Gmail-tp17421986p17428158.html
Sent from the Wicket - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]