1.1 --- a/examples/Common/Recursive/__init__.py Sun Feb 17 19:21:57 2008 +0000
1.2 +++ b/examples/Common/Recursive/__init__.py Sun Feb 17 19:22:28 2008 +0000
1.3 @@ -3,9 +3,8 @@
1.4 "An example of recursive templates."
1.5
1.6 import WebStack.Generic
1.7 -import XSLForms.Resources.WebResources
1.8 -import XSLForms.Utils
1.9 -import os
1.10 +from XSLForms.Resources.WebResources import \
1.11 + XSLFormsResource, input, output, resources, prepare_resources as xslforms_prepare_resources
1.12
1.13 # Site map imports.
1.14
1.15 @@ -17,60 +16,29 @@
1.16
1.17 # Resource classes.
1.18
1.19 -class RecursiveResource(XSLForms.Resources.WebResources.XSLFormsResource):
1.20 +class RecursiveResource(XSLFormsResource):
1.21
1.22 "A resource providing a recursive hierarchy of editable fields."
1.23
1.24 - resource_dir = os.path.join(os.path.split(__file__)[0], "Resources")
1.25 + resource_dir = resources(__file__)
1.26 template_resources = {
1.27 - "recursive" : ("recursive_template.xhtml", "recursive_output.xsl")
1.28 + "recursive" : output("recursive_template.xhtml")
1.29 }
1.30 init_resources = {
1.31 - "recursive" : ("recursive_template.xhtml", "recursive_input.xsl")
1.32 + "recursive" : input("recursive_template.xhtml")
1.33 }
1.34
1.35 - def respond_to_form(self, trans, form):
1.36 -
1.37 - """
1.38 - Respond to a request having the given transaction 'trans' and the given
1.39 - 'form' information.
1.40 - """
1.41 + def select_activity(self, trans, form):
1.42 + form.set_activity("recursive")
1.43
1.44 - parameters = form.get_parameters()
1.45 - documents = form.get_documents()
1.46 -
1.47 - # Ensure the presence of a document.
1.48 -
1.49 - if documents.has_key("recursive"):
1.50 - recursive = documents["recursive"]
1.51 - else:
1.52 - recursive = form.new_instance("recursive")
1.53 + def respond_to_input(self, trans, form):
1.54
1.55 # Add and remove elements according to the selectors found.
1.56
1.57 selectors = form.get_selectors()
1.58 - XSLForms.Utils.remove_elements(selectors.get("remove"))
1.59 - XSLForms.Utils.add_elements(selectors.get("add-list"), "list")
1.60 - XSLForms.Utils.add_elements(selectors.get("add-item"), "item")
1.61 -
1.62 - # Initialise the document, adding enumerations/ranges.
1.63 -
1.64 - init_xsl = self.prepare_initialiser("recursive")
1.65 - recursive = self.get_result([init_xsl], recursive)
1.66 - #print recursive.toString("iso-8859-1")
1.67 -
1.68 - # Start the response.
1.69 -
1.70 - trans.set_content_type(WebStack.Generic.ContentType("application/xhtml+xml", encoding))
1.71 -
1.72 - # Ensure that an output stylesheet exists.
1.73 -
1.74 - trans_xsl = self.prepare_output("recursive")
1.75 - stylesheet_parameters = {}
1.76 -
1.77 - # Complete the response.
1.78 -
1.79 - self.send_output(trans, [trans_xsl], recursive, stylesheet_parameters)
1.80 + self.remove_elements(selectors.get("remove"))
1.81 + self.add_elements(selectors.get("add-list"), "list")
1.82 + self.add_elements(selectors.get("add-item"), "item")
1.83
1.84 # Site map initialisation.
1.85