diff options
author | Rogelio Mita <rogeliomita@activitycentral.com> | 2013-09-10 18:40:03 (GMT) |
---|---|---|
committer | Rogelio Mita <rogeliomita@activitycentral.com> | 2013-09-10 18:40:03 (GMT) |
commit | ba305b43ab490d8efb3de08b266f269adc6ea98c (patch) | |
tree | abc4fa84db0ba151731ae9f313d98821411e7edc | |
parent | fd47ea1e903742a881e690b0613bba0747380941 (diff) |
Applying DependencyInput into dynamic structure of poll
-rw-r--r-- | webapp/coffee/dependency_input.coffee | 4 | ||||
-rw-r--r-- | webapp/js_tests/spec/DependencyInputSpec.js | 11 | ||||
-rw-r--r-- | webapp/js_tests/spec/coffee/DependencyInputSpec.coffee | 17 | ||||
-rw-r--r-- | webapp/polls/templates/tags/structure.html | 1 | ||||
-rw-r--r-- | webapp/webapp/static/js/dependency_input.js | 4 | ||||
-rw-r--r-- | webapp/webapp/static/js/dynamic_structure.js | 8 |
6 files changed, 37 insertions, 8 deletions
diff --git a/webapp/coffee/dependency_input.coffee b/webapp/coffee/dependency_input.coffee index 0d70135..520c7c5 100644 --- a/webapp/coffee/dependency_input.coffee +++ b/webapp/coffee/dependency_input.coffee @@ -6,13 +6,15 @@ class DependencyInput class="span2 droppable dependence_value" type="text" name="groups.[[ group_order ]].fields.[[ order ]].dependence.values" - value="" + value="[[ value ]]" placeholder="nro. ID" /> <span class="_parentesis _parentesis_open">(</span><span class="_parentesis _parentesis_close">)</span> """ + @value = "" render: -> context = { + "value": @value, "order": @field_order, "group_order": @group_order, } diff --git a/webapp/js_tests/spec/DependencyInputSpec.js b/webapp/js_tests/spec/DependencyInputSpec.js index 8b2bd37..adbde46 100644 --- a/webapp/js_tests/spec/DependencyInputSpec.js +++ b/webapp/js_tests/spec/DependencyInputSpec.js @@ -1,7 +1,7 @@ // Generated by CoffeeScript 1.6.3 (function() { describe("DependencyInput", function() { - return it("should render html element", function() { + it("should render html element", function() { var dependency_input, expected, field_order, group_order; expected = "<span class=\"_parentesis _parentesis_open\">(</span><span class=\"_parentesis _parentesis_close\">)</span>\n<input\n class=\"span2 droppable dependence_value\"\n type=\"text\"\n name=\"groups.1.fields.1.dependence.values\"\n value=\"\"\n placeholder=\"nro. ID\" />\n<span class=\"_parentesis _parentesis_open\">(</span><span class=\"_parentesis _parentesis_close\">)</span>"; group_order = "1"; @@ -9,6 +9,15 @@ dependency_input = new DependencyInput(group_order, field_order); return expect(dependency_input.render()).toBe(expected); }); + return it("render should have group_order, field_order and value", function() { + var dependency_input, expected, field_order, group_order; + expected = "<span class=\"_parentesis _parentesis_open\">(</span><span class=\"_parentesis _parentesis_close\">)</span>\n<input\n class=\"span2 droppable dependence_value\"\n type=\"text\"\n name=\"groups.0.fields.0.dependence.values\"\n value=\"a value\"\n placeholder=\"nro. ID\" />\n<span class=\"_parentesis _parentesis_open\">(</span><span class=\"_parentesis _parentesis_close\">)</span>"; + group_order = "0"; + field_order = "0"; + dependency_input = new DependencyInput(group_order, field_order); + dependency_input.value = "a value"; + return expect(dependency_input.render()).toBe(expected); + }); }); }).call(this); diff --git a/webapp/js_tests/spec/coffee/DependencyInputSpec.coffee b/webapp/js_tests/spec/coffee/DependencyInputSpec.coffee index 5a1759c..702081a 100644 --- a/webapp/js_tests/spec/coffee/DependencyInputSpec.coffee +++ b/webapp/js_tests/spec/coffee/DependencyInputSpec.coffee @@ -14,3 +14,20 @@ describe "DependencyInput", -> field_order = "1" dependency_input = new DependencyInput(group_order, field_order) expect(dependency_input.render()).toBe(expected) + + it "render should have group_order, field_order and value", -> + expected = """ + <span class="_parentesis _parentesis_open">(</span><span class="_parentesis _parentesis_close">)</span> + <input + class="span2 droppable dependence_value" + type="text" + name="groups.0.fields.0.dependence.values" + value="a value" + placeholder="nro. ID" /> + <span class="_parentesis _parentesis_open">(</span><span class="_parentesis _parentesis_close">)</span> + """ + group_order = "0" + field_order = "0" + dependency_input = new DependencyInput(group_order, field_order) + dependency_input.value = "a value" + expect(dependency_input.render()).toBe(expected)
\ No newline at end of file diff --git a/webapp/polls/templates/tags/structure.html b/webapp/polls/templates/tags/structure.html index 61e0c63..d6b5765 100644 --- a/webapp/polls/templates/tags/structure.html +++ b/webapp/polls/templates/tags/structure.html @@ -49,6 +49,7 @@ <!-- Dynamic structure methods --> +<script src="{{ STATIC_URL }}js/dependency_input.js"></script> <script src="{{ STATIC_URL }}js/factoryField.js"></script> <script src="{{ STATIC_URL }}js/dynamic_structure.js"></script> diff --git a/webapp/webapp/static/js/dependency_input.js b/webapp/webapp/static/js/dependency_input.js index 0cf0e81..ac92e02 100644 --- a/webapp/webapp/static/js/dependency_input.js +++ b/webapp/webapp/static/js/dependency_input.js @@ -6,12 +6,14 @@ function DependencyInput(group_order, field_order) { this.group_order = group_order; this.field_order = field_order; - this.template = "<span class=\"_parentesis _parentesis_open\">(</span><span class=\"_parentesis _parentesis_close\">)</span>\n<input\n class=\"span2 droppable dependence_value\"\n type=\"text\"\n name=\"groups.[[ group_order ]].fields.[[ order ]].dependence.values\"\n value=\"\"\n placeholder=\"nro. ID\" />\n<span class=\"_parentesis _parentesis_open\">(</span><span class=\"_parentesis _parentesis_close\">)</span>"; + this.template = "<span class=\"_parentesis _parentesis_open\">(</span><span class=\"_parentesis _parentesis_close\">)</span>\n<input\n class=\"span2 droppable dependence_value\"\n type=\"text\"\n name=\"groups.[[ group_order ]].fields.[[ order ]].dependence.values\"\n value=\"[[ value ]]\"\n placeholder=\"nro. ID\" />\n<span class=\"_parentesis _parentesis_open\">(</span><span class=\"_parentesis _parentesis_close\">)</span>"; + this.value = ""; } DependencyInput.prototype.render = function() { var context; context = { + "value": this.value, "order": this.field_order, "group_order": this.group_order }; diff --git a/webapp/webapp/static/js/dynamic_structure.js b/webapp/webapp/static/js/dynamic_structure.js index 9a6aef9..b0a6d91 100644 --- a/webapp/webapp/static/js/dynamic_structure.js +++ b/webapp/webapp/static/js/dynamic_structure.js @@ -409,11 +409,9 @@ var factoryDependences = function(container, values, field_order, group_order) { "operators": _operators }); } else { - widget = Mustache.render(TEMPLATES['dependence_value'], { - "value": value, - "order": field_order, - "group_order": group_order, - }); + dependency_input = new DependencyInput(group_order, field_order); + dependency_input.value = value; + widget = dependency_input.render(); } container.append(widget); |