accurator/commit
Made the retrieval of alternatives more generic and added getValue method.
author | Chris Dijkshoorn |
---|---|
Sun Apr 3 11:50:30 2016 +0200 | |
committer | Chris Dijkshoorn |
Sun Apr 3 11:50:30 2016 +0200 | |
commit | 80e532f884d65da6c633dc81440cdaa6fe346e7f |
tree | d977f3b9b317c435ca4c10dca2d51808559177df |
parent | a615d9fd6c9bec05f7bbb0434bfa419d2d27aa90 |
Diff style: patch stat
diff --git a/lib/accurator/ui_elements.pl b/lib/accurator/ui_elements.pl index 403a9d3..5cee3d1 100644 --- a/lib/accurator/ui_elements.pl +++ b/lib/accurator/ui_elements.pl @@ -51,10 +51,10 @@ get_countries(DictArray, _Options) :- %only english for now rdf(GeonamesCountry, gn:name, literal(lang(en, CountryName))), CountryDict0 = country{}, - CountryDict1 = CountryDict0.put(name, CountryName), + CountryDict1 = CountryDict0.put(label, CountryName), rdf(GeonamesCountry, gn:countryCode, literal(CountryCode)), downcase_atom(CountryCode, CountryCodeLower), - CountryDict = CountryDict1.put(country_code, CountryCodeLower)), + CountryDict = CountryDict1.put(id, CountryCodeLower)), DictArray). %% get_languages(-DictArray, _Options) @@ -64,10 +64,10 @@ get_languages(DictArray, _Options) :- findall(LanguageDict, ( rdf(GeonamesCountry, acl:isoCode, literal(IsoCode)), LanguageDict0 = language{}, - LanguageDict1 = LanguageDict0.put(iso_code, IsoCode), + LanguageDict1 = LanguageDict0.put(id, IsoCode), %only english for now rdf(GeonamesCountry, rdfs:label, literal(lang(en, LanguageName))), - LanguageDict = LanguageDict1.put(name, LanguageName)), + LanguageDict = LanguageDict1.put(label, LanguageName)), DictArray). %% get_labels(-TextDic, +Options) diff --git a/web/js/components/form.js b/web/js/components/form.js index 07cbf6f..6d69b4d 100644 --- a/web/js/components/form.js +++ b/web/js/components/form.js @@ -78,7 +78,6 @@ Form.prototype.addFormQuestions = function(labelData) { labelData.formLblCountry ); this.formGroups[i].addAlternatives("countries", this.locale, this.ui); - console.log("adding question", i, " with object ", this.formGroups[i]); } } @@ -88,8 +87,6 @@ Form.prototype.addFormQuestions = function(labelData) { this.formGroups[i].node ); } - // $(this.node).find("#formLblCountry").append(labelData.formLblCountry); - $(this.node).find("#formLblBirthDate").append(labelData.formLblBirthDate); $(this.node).find("#formLblGender").append(labelData.formLblGender); @@ -118,7 +115,7 @@ Form.prototype.addButtonEvents = function() { $(this.node).find("#formBtnAdd").click(function() { _form.processFormFields() .then(function() { - $(_form.node).hide(); + // $(_form.node).hide(); }); }); @@ -130,54 +127,15 @@ Form.prototype.addButtonEvents = function() { Form.prototype.processFormFields = function() { var info = {}; console.log("process form fields"); - // this.getInputDropdownMenus(); - + for (var i=0; i<this.formGroups.length; i++) { + var id = this.formGroups[i].id; + var value = this.formGroups[i].getValue(); + info[id] = value; + } + console.log("info ", info); return save_user_info(info); } -Form.prototype.addCountrySelector = function() { - $(this.node).find("form").append( - $.el.div({'class':'form-group'}, [ - $.el.label({ - 'class':'col-sm-5 control-label', - 'for':'formSltCountry', - 'id':'formLblCountry' - }), - $.el.div({'class':'col-sm-5'}, - $.el.select({ - 'class':'form-control', - 'id':'formSltCountry' - }) - ) - ]) - ); - this.addCountries(); -} - -Form.prototype.addCountries = function() { - $.getJSON("ui_elements", { - locale: this.locale, - ui: this.ui, - type:"countries" - }) - .then(function(countryData) { - this.countries = countryData; - this.countries.sort(function(a, b) { - return a.name.localeCompare(b.name) - }); - - // add first empty element - $("#formSltCountry").append($.el.option("")); - - // add countries to selector - for (var i = 0; i < this.countries.length; i++) { - $("#formSltCountry").append($.el.option(this.countries[i].name)); - } - }, function(){ - $("#formSltCountry").append($.el.option("No countries found on server")); - }); -} - function FormGroup(id, label) { this.id = id; this.label = label; @@ -222,7 +180,7 @@ SelectFormGroup.prototype.addAlternatives = function(type, locale, ui) { .then(function(alternativeData) { _group.alternatives = alternativeData; _group.alternatives.sort(function(a, b) { - return a.name.localeCompare(b.name) + return a.label.localeCompare(b.label) }); // add first empty element @@ -231,7 +189,7 @@ SelectFormGroup.prototype.addAlternatives = function(type, locale, ui) { // add countries to selector for (var i = 0; i < _group.alternatives.length; i++) { $(_group.node).find("#formSlt" + _group.id).append( - $.el.option(_group.alternatives[i].name) + $.el.option(_group.alternatives[i].label) ); } }, function(){ @@ -240,3 +198,14 @@ SelectFormGroup.prototype.addAlternatives = function(type, locale, ui) { ); }); } + +SelectFormGroup.prototype.getValue = function() { + var input = $("#formSlt" + this.id).val(); + + // Find the id corresponding to the selected name + for (var key in this.alternatives) { + if (this.alternatives[key].label === input) { + return this.alternatives[key].id; + } + } +}