X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Ffieldify.js;fp=web%2Ffieldify.js;h=254dd0d2de399cecd05b5ac03f4bc539c17d5452;hb=29386faba01ac22d3d47e5f467412dc63b4e22cf;hp=0000000000000000000000000000000000000000;hpb=87b83b41e162ae16167a719d0f897025fa2d1760;p=brisk.git diff --git a/web/fieldify.js b/web/fieldify.js new file mode 100644 index 0000000..254dd0d --- /dev/null +++ b/web/fieldify.js @@ -0,0 +1,54 @@ + +// fieldsdescr = { name: { type: 'typename' }, ... } +function Fieldify(ancestor, fieldsdescr) +{ + this.ancestor = ancestor; + + this.field = new Array(); + for (k in fieldsdescr) { + this.field[k] = fieldsdescr[k]; + } +} + +Fieldify.prototype = { + ancestor: null, + field: null, + + visible: function(is_visible) { + this.ancestor.style.visibility = (is_visible ? "visible" : "hidden" ); + }, + + // { 'name': 'value' } + populate: function(field_values) + { + for (k in this.field) { + if (this.field[k].type == 'value') { + this.fld_value_set(k, field_values[k]); + } + else if (this.field[k].type == 'radio') { + this.fld_radio_set(k, field_values[k]); + } + } + }, + + fld_value_set: function(name, value) + { + console.log(name + "=" + value); + this.ancestor.getElementsByClassName(name + '_id')[0].innerHTML = value; + }, + + fld_radio_set: function(name, value) + { + var arr = this.ancestor.getElementsByClassName(name + '_id'); + + console.log(name + "=" + value); + + for (k in arr) { + if (arr[k].value == value) + arr[k].checked = true; + else + arr[k].checked = false; + } + }, + tap: null +}