package ro.nextreports.server.web.action.dashboard; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.injection.Injector; import org.apache.wicket.model.StringResourceModel; import org.apache.wicket.spring.injection.annot.SpringBean; import ro.nextreports.server.service.DashboardService; import ro.nextreports.server.web.NextServerSession; import ro.nextreports.server.web.common.menu.MenuPanel; import ro.nextreports.server.web.common.misc.AjaxConfirmLink; import ro.nextreports.server.web.core.action.ActionContext; import ro.nextreports.server.web.core.section.SectionContext; import ro.nextreports.server.web.core.section.SectionContextConstants; import ro.nextreports.server.web.dashboard.DashboardBrowserPanel; import ro.nextreports.server.web.dashboard.DashboardSection; public class SetDefaultActionLink extends AjaxConfirmLink { @SpringBean private DashboardService dashboardService; public void setDashboardService(DashboardService dashboardService) { this.dashboardService = dashboardService; } private ActionContext actionContext; public SetDefaultActionLink(ActionContext actionContext) { super(MenuPanel.LINK_ID, new StringResourceModel("DashboardPopupMenuModel.defaultAsk", null, new Object[] { actionContext.getEntity().getName() }).getString()); this.actionContext = actionContext; Injector.get().inject(this); } public void executeAction(AjaxRequestTarget target) { String id = actionContext.getEntity().getId(); dashboardService.setDefaultDashboard(id); SectionContext sectionContext = NextServerSession.get().getSectionContext(DashboardSection.ID); sectionContext.getData().put(SectionContextConstants.SELECTED_DASHBOARD_ID, id); target.add(findParent(DashboardBrowserPanel.class)); } @Override public void onClick(AjaxRequestTarget target) { executeAction(target); } }