templates_demodir = $(templatesdir)/demo
dist_templates_demo_DATA = \
- src/templates/demo/forms.html \
src/templates/demo/index.html
templates_modulesdir = $(templatesdir)/modules
+++ /dev/null
-{% extends "../base.html" %}
-
-{% block main %}
- {% module Form(form) %}
-{% end block %}
+{% import westferry.ui.forms %}
{% import westferry.ui.graphs %}
{#
<div class="tabs-panel {% if selected %}is-active{% end %}" id="{{ tab.id }}">
{% for item in tab.items %}
- {% if isinstance(item, westferry.ui.graphs.Graph) %}
+ {% if isinstance(item, westferry.ui.forms.Form) %}
+ {% module Form(item) %}
+ {% elif isinstance(item, westferry.ui.graphs.Graph) %}
{% module GraphBox(item, show_title=False) %}
{% else %}
{% module WarningBox(_("Unknown UI Element"),
url = r"/demo/forms"
title = N_("Forms")
- def get(self):
- self.render("demo/forms.html", form=self.form)
-
- def post(self):
- data = self.form.export()
- self.finish(data)
-
- @property
- def form(self):
- """
- This creates a simple form that asks the user
- for their address.
- """
+ def initialize(self):
_ = self.locale.translate
- form = backend.forms.Form(self)
+ # Create a new tab
+ tab = self.tabs.add_tab("example-1", _("Example 1"))
+
+ # Add a form to the tab
+ form = tab.add_form()
form.submit_text = _("Order")
# First name
# Subscribe to newsletter?
e = fs2.add_yesno_input("subscribe_to_newsletter", description=_("Subscribe to newsletter?"))
-
- return form
from ..backend import forms
from . import base
+# Forward-compatibility
+from ..backend.forms import Form
+
class FormModule(base.BaseUIModule):
def render(self, form):
return self.render_string("modules/forms/index.html",
import uuid
from . import base
+from . import forms
from . import graphs
class TabsModule(base.BaseUIModule):
# List to store all items that have been added to this tab
self.items = []
- def add_graph(self, *args, **kwargs):
- graph = graphs.Graph(self.handler, *args, **kwargs)
- self.items.append(graph)
+ def _add_item(self, cls, *args, **kwargs):
+ item = cls(self.handler, *args, **kwargs)
+ self.items.append(item)
+
+ return item
- return graph
+ def add_form(self, *args, **kwargs):
+ return self._add_item(forms.Form, *args, **kwargs)
+
+ def add_graph(self, *args, **kwargs):
+ return self._add_item(graphs.Graph, *args, **kwargs)