package de.flower.rmt.ui.page.blog; import de.flower.common.ui.ajax.event.AjaxEventSender; import de.flower.common.ui.behavior.CkEditorBehavior; import de.flower.rmt.model.db.entity.BArticle; import de.flower.rmt.service.IBlogManager; import de.flower.rmt.ui.app.Resource; import de.flower.rmt.ui.markup.html.form.CancelableEntityForm; import de.flower.rmt.ui.markup.html.form.EntityForm; import de.flower.rmt.ui.markup.html.form.field.TextAreaPanel; import de.flower.rmt.ui.markup.html.form.field.TextFieldPanel; import de.flower.rmt.ui.panel.RMTBasePanel; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.model.IModel; import org.apache.wicket.spring.injection.annot.SpringBean; /** * @author flowerrrr */ public class ArticleEditPanel extends RMTBasePanel<BArticle> { @SpringBean private IBlogManager blogManager; public ArticleEditPanel(final IModel<BArticle> model) { super(model); EntityForm<BArticle> form = new CancelableEntityForm<BArticle>("form", model) { @Override protected void onSubmit(AjaxRequestTarget target, Form<BArticle> form) { BArticle article = form.getModelObject(); blogManager.save(article); AjaxEventSender.entityEvent(this, BArticle.class); setResponsePage(ArticlePage.class, ArticlePage.getPageParams(article.getId())); } }; add(form); form.add(new TextFieldPanel("heading")); TextAreaPanel ckeditor = new TextAreaPanel("text"); ckeditor.getFormComponent().add(new CkEditorBehavior(Resource.ckeditorJsUrl, form.getAjaxSubmitLink(), 600)); form.add(ckeditor); // EventDropDownChoicePanel event = new EventDropDownChoicePanel("event"); // form.add(event); } }