001    package org.hackystat.projectbrowser.page.projectportfolio.inputpanel;
002    
003    import org.apache.wicket.markup.html.form.Button;
004    import org.apache.wicket.markup.html.form.Form;
005    import org.apache.wicket.markup.html.panel.Panel;
006    import org.hackystat.projectbrowser.ProjectBrowserSession;
007    import org.hackystat.projectbrowser.page.projectportfolio.ProjectPortfolioPage;
008    
009    /**
010     * Panel to let user select the project to display.
011     * @author Shaoxuan Zhang
012     */
013    public class ProjectPortfolioInputPanel extends Panel {
014    
015      /** Support serialization. */
016      private static final long serialVersionUID = 5389750577845203444L;
017    
018      /**
019       * @param id the wicket id.
020       * @param page the page this panel is attached to.
021       */
022      public ProjectPortfolioInputPanel(String id, ProjectPortfolioPage page) {
023        super(id);
024        add(new ProjectPortfolioInputForm("inputForm", page));
025        
026        Button cancelButton = new Button("cancel") {
027          /** Support serialization. */
028          public static final long serialVersionUID = 1L;
029          @Override
030          public void onSubmit() {
031            ProjectBrowserSession.get().getProjectPortfolioSession().getDataModel().cancelDataUpdate();
032          }
033          @Override
034          public boolean isEnabled() {
035            return 
036              ProjectBrowserSession.get().getProjectPortfolioSession().getDataModel().isInProcess();
037          }
038        };
039        add(new Form("cancelForm").add(cancelButton));
040      }
041    
042    }