def create_entry(self, item): value = self.get_item_value(item) selected = self.is_selected(item) entry = Element() entry.add_class("entry") if self.selection_mode == SINGLE_SELECTION: entry.control = Element("input", type = "radio", checked = selected) elif self.selection_mode == MULTIPLE_SELECTION: entry.control = CheckBox() entry.control.value = selected else: raise ValueError("Invalid selection mode") entry.control["name"] = self.name entry.control["value"] = value entry.append(entry.control) entry.label = Element("label") entry.label["for"] = entry.control.require_id() entry.label.append(self.get_item_label(item)) entry.append(entry.label) if value: entry.label.set_style("font-size", str(self._font_sizes[value]) + "%") return entry
def create_entry(self, item): entry = Element("li") value = self.get_item_value(item) eligible = value is not uneligible # Control (checkbox or radio button) if eligible: entry.control = Element("input", name = self.name, value = value, checked = self.is_selected(item) ) if self.selection_mode == SINGLE_SELECTION: entry.control["type"] = "radio" elif self.selection_mode == MULTIPLE_SELECTION: entry.control["type"] = "checkbox" entry.append(entry.control) # Label if eligible: entry.label = Element("label") entry.label["for"] = entry.control.require_id() else: entry.label = Element("span") entry.add_class("uneligible") entry.label.append(self.get_item_label(item)) entry.append(entry.label) return entry
def create_empty_option(self): entry = Element("li") entry.control = Element("input", type=self._control_type, name=self.name, value="", checked=self.value is None) bind_member(self, entry.control) entry.append(entry.control) entry.label = Element("label") entry.label.add_class("entry_label") entry.label.add_class("empty_option") entry.label.append( translations("woost.views.ContentTypePicker.empty_label")) entry.append(entry.label) entry.label["for"] = entry.control.require_id() return entry
def create_field_instance(self, member, language=None): field_instance = Element("td" if self.table_layout else "div") field_instance.add_class("field_instance") # Label if not self.get_member_hidden(member): if member.translated and not self.redundant_translation_labels: label = self.create_language_label(member, language) else: label = self.create_label(member, language) field_instance.label = label field_instance.append(label) # Control with language_context(language): field_instance.control = self.create_control(self.data, member) if field_instance.control.class_css: for class_name in field_instance.control.class_css.split(" "): field_instance.add_class("field_instance-" + class_name) insert = getattr(field_instance.control, "insert_into_form", None) if insert: insert(self, field_instance) else: field_instance.append(field_instance.control) if field_instance.control.tag \ in ("input", "button", "select", "textarea"): field_instance.label["for"] = field_instance.control.require_id() return field_instance