1 | package eu.clarin.cmdi.virtualcollectionregistry.gui.wizard; |
---|
2 | |
---|
3 | import org.apache.wicket.AttributeModifier; |
---|
4 | import org.apache.wicket.Component; |
---|
5 | import org.apache.wicket.extensions.wizard.CancelButton; |
---|
6 | import org.apache.wicket.extensions.wizard.FinishButton; |
---|
7 | import org.apache.wicket.extensions.wizard.IWizard; |
---|
8 | import org.apache.wicket.extensions.wizard.LastButton; |
---|
9 | import org.apache.wicket.extensions.wizard.NextButton; |
---|
10 | import org.apache.wicket.extensions.wizard.PreviousButton; |
---|
11 | import org.apache.wicket.extensions.wizard.Wizard; |
---|
12 | import org.apache.wicket.markup.html.panel.Panel; |
---|
13 | import org.apache.wicket.model.AbstractReadOnlyModel; |
---|
14 | |
---|
15 | @SuppressWarnings("serial") |
---|
16 | public class WizardBase extends Wizard { |
---|
17 | |
---|
18 | private static final class ButtonBarPanel extends Panel { |
---|
19 | |
---|
20 | private ButtonBarPanel(String id, final IWizard wizard) { |
---|
21 | super(id); |
---|
22 | add(new PreviousButton("previous", wizard)); |
---|
23 | add(new NextButton("next", wizard)); |
---|
24 | add(new LastButton("last", wizard)); |
---|
25 | add(new CancelButton("cancel", wizard)); |
---|
26 | add(new FinishButton("finish", wizard) |
---|
27 | // add an onclick confirmation event in the case a public |
---|
28 | // collection is being edited |
---|
29 | .add(new AttributeModifier("onclick", true, new AbstractReadOnlyModel<String>() { |
---|
30 | |
---|
31 | @Override |
---|
32 | public String getObject() { |
---|
33 | if (wizard instanceof CreateVirtualCollectionWizard) { |
---|
34 | final CreateVirtualCollectionWizard vcWizard = (CreateVirtualCollectionWizard) wizard; |
---|
35 | if (vcWizard.getVirtualCollectionModel().getObject().isPublic()) { |
---|
36 | return "return confirm('Are you sure you want to update this published collection?');"; |
---|
37 | } |
---|
38 | } |
---|
39 | return null; |
---|
40 | } |
---|
41 | }))); |
---|
42 | } |
---|
43 | } // class WizardBase.ButtonBarPanel |
---|
44 | |
---|
45 | public WizardBase(String id) { |
---|
46 | super(id); |
---|
47 | } |
---|
48 | |
---|
49 | @Override |
---|
50 | protected Component newButtonBar(String id) { |
---|
51 | return new ButtonBarPanel(id, this); |
---|
52 | } |
---|
53 | |
---|
54 | } // class WizardBase |
---|