Commit 31ed1081 by Vasyl Nakvasiuk

add required_html_ids for ConditionalModule

parent 0f200ae8
...@@ -65,6 +65,7 @@ class ConditionalModule(XModule): ...@@ -65,6 +65,7 @@ class ConditionalModule(XModule):
def is_condition_satisfied(self): def is_condition_satisfied(self):
self.required_modules = [self.system.get_module(descriptor.location) for self.required_modules = [self.system.get_module(descriptor.location) for
descriptor in self.descriptor.get_required_module_descriptors()] descriptor in self.descriptor.get_required_module_descriptors()]
xml_value, attr_name = self._get_condition() xml_value, attr_name = self._get_condition()
if xml_value and self.required_modules: if xml_value and self.required_modules:
...@@ -85,10 +86,15 @@ class ConditionalModule(XModule): ...@@ -85,10 +86,15 @@ class ConditionalModule(XModule):
return False return False
def get_html(self): def get_html(self):
# Calculate html ids of dependencies
self.required_html_ids = [descriptor.location.html_id() for
descriptor in self.descriptor.get_required_module_descriptors()]
return self.system.render_template('conditional_ajax.html', { return self.system.render_template('conditional_ajax.html', {
'element_id': self.location.html_id(), 'element_id': self.location.html_id(),
'id': self.id, 'id': self.id,
'ajax_url': self.system.ajax_url 'ajax_url': self.system.ajax_url,
'depends': ';'.join(self.required_html_ids)
}) })
def handle_ajax(self, dispatch, post): def handle_ajax(self, dispatch, post):
......
<div id="conditional_${element_id}" class="conditional-wrapper" data-problem-id="${id}" data-url="${ajax_url}"></div> <div
id="conditional_${element_id}"
class="conditional-wrapper"
data-problem-id="${id}"
data-url="${ajax_url}"
depends="${depends}"
>
</div>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment