package org.activityinfo.ui.client.component.formdesigner.palette;
import com.google.common.collect.Lists;
import org.activityinfo.i18n.shared.I18N;
import org.activityinfo.model.type.expr.CalculatedFieldType;
import org.activityinfo.model.type.NarrativeType;
import org.activityinfo.model.type.barcode.BarcodeType;
import org.activityinfo.model.type.number.QuantityType;
import org.activityinfo.model.type.primitive.TextType;
import java.util.List;
public class Templates {
public static List<Template> list() {
List<Template> items = Lists.newArrayList();
// use only types supported by backend for the moment
// // Add all type classes to the palette except for reference + enum types:
// // we will handle those specially
// for(FieldTypeClass typeClass : TypeRegistry.get().getTypeClasses()) {
// if(typeClass != ReferenceType.TypeClass.INSTANCE &&
// typeClass != EnumType.TypeClass.INSTANCE) {
// items.add(new TypeClassTemplate(typeClass));
// }
// }
//
// // ReferenceTypes are a bit abstract, we will provide a number of
// // concrete types that make will hopefully make sense to the user
items.add(new TypeClassTemplate(QuantityType.TYPE_CLASS, I18N.CONSTANTS.fieldTypeQuantity()));
items.add(new TypeClassTemplate(TextType.TYPE_CLASS, I18N.CONSTANTS.fieldTypeText()));
items.add(new TypeClassTemplate(NarrativeType.TYPE_CLASS, I18N.CONSTANTS.fieldTypeNarrative()));
// items.add(new TypeClassTemplate(LocalDateType.TYPE_CLASS));
// items.add(new TypeClassTemplate(LocalDateIntervalType.TYPE_CLASS));
items.add(new CheckboxTemplate());
items.add(new RadioButtonTemplate());
// items.add(new TypeClassTemplate(GeoPointType.TYPE_CLASS));
items.add(new TypeClassTemplate(BarcodeType.TYPE_CLASS, I18N.CONSTANTS.fieldTypeBarcode()));
// items.add(new TypeClassTemplate(ImageType.TYPE_CLASS));
items.add(new TypeClassTemplate(CalculatedFieldType.TYPE_CLASS, I18N.CONSTANTS.fieldTypeCalculated()));
// items.add(new SectionTemplate());
return items;
}
}