package com.jcommerce.gwt.client.form; import com.extjs.gxt.ui.client.widget.form.ComboBox; import com.extjs.gxt.ui.client.widget.form.HtmlEditor; import com.extjs.gxt.ui.client.widget.form.Radio; import com.extjs.gxt.ui.client.widget.form.TextField; import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction; import com.jcommerce.gwt.client.model.IArticle; import com.jcommerce.gwt.client.model.IArticleCategory; import com.jcommerce.gwt.client.resources.Resources; import com.jcommerce.gwt.client.widgets.MyHTMLEditor; import com.jcommerce.gwt.client.widgets.MyRadioGroup; public class ArticleForm extends BeanObject implements IArticle { private static final long serialVersionUID = -5252851137860149301L; public ArticleForm (){ super(); } public static TextField<String> getNameField(String fieldTitle){ TextField<String> field = new TextField<String>(); field.setName(IArticle.TITLE); field.setAutoValidate(true); field.setAllowBlank(false); TextField<String>.TextFieldMessages tfm = field.new TextFieldMessages(); tfm.setBlankText(Resources.messages.blankText(fieldTitle)); field.setMessages(tfm); return field; } public static ComboBox<BeanObject> getArticleCat(String fieldTitle){ ComboBox<BeanObject> field = new ComboBox<BeanObject>(); field.setAllowBlank(false); field.setTriggerAction(TriggerAction.ALL); field.setName(IArticle.ARTICLECATEGORY); field.setValueField(IArticleCategory.ID); field.setDisplayField(IArticleCategory.NAME); ComboBox<BeanObject>.ComboBoxMessages cbm = field.new ComboBoxMessages(); cbm.setBlankText(Resources.messages.blankText(fieldTitle)); field.setMessages(cbm); return field; } public static MyRadioGroup getIsOpen(){ MyRadioGroup field = new MyRadioGroup(); Radio yes = new Radio(); yes.setValueAttribute("true"); yes.setBoxLabel("yes"); field.add(yes); Radio no = new Radio(); no.setValue(true); no.setValueAttribute("false"); no.setBoxLabel("no"); field.add(no); field.setName(IArticle.OPEN); return field; } public static MyRadioGroup getArticleType(){ MyRadioGroup field = new MyRadioGroup(); Radio yes = new Radio(); yes.setValueAttribute("true"); yes.setBoxLabel("置顶"); field.add(yes); Radio no = new Radio(); no.setValue(true); no.setValueAttribute("false"); no.setBoxLabel("普通"); field.add(no); field.setName(IArticle.ARTICLETYPE); return field; } public static TextField<String> getAuthorField(){ TextField<String> field = new TextField<String>(); field.setName(IArticle.AUTHOR); return field; } public static TextField<String> getAuthorEmail(){ TextField<String> field = new TextField<String>(); field.setName(IArticle.AUTHOREMAIL); return field; } public static TextField<String> getKeyword(){ TextField<String> field = new TextField<String>(); field.setName(IArticle.AUTHOREMAIL); return field; } public static HtmlEditor getContent(){ MyHTMLEditor field = new MyHTMLEditor(){ @Override protected boolean validateValue(String value) { if(super.validateValue(value) == false) { return false; } if(value!=null && value.length()>500) { markInvalid("Size of content must be less than 500 words."); return false; } return true; } }; field.setName(IArticle.ID); return field; } }