diff options
author | thomascube <thomas@roundcube.net> | 2011-06-03 22:37:47 +0000 |
---|---|---|
committer | thomascube <thomas@roundcube.net> | 2011-06-03 22:37:47 +0000 |
commit | b0c70b3ca7127b9028e666f15e24261414d3caa0 (patch) | |
tree | a4e9574d275bede35590c145a71aa058109cb678 /program/js | |
parent | 62e2254e3f2171932cf6a60c0a616dc17af599af (diff) |
Use address_template config when adding a new address block (#1487944)
Diffstat (limited to 'program/js')
-rw-r--r-- | program/js/app.js | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/program/js/app.js b/program/js/app.js index 48f058eaf..c81c511a9 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -4109,14 +4109,27 @@ function rcube_webmail() this.init_edit_field(col, input); } else if (colprop.type == 'composite') { - var childcol, cp, first; - for (childcol in colprop.childs) { + var childcol, cp, first, templ, cols = [], suffices = []; + // read template for composite field order + if ((templ = this.env[col+'_template'])) { + for (var j=0; j < templ.length; j++) { + cols.push(templ[j][1]); + suffices.push(templ[j][2]); + } + } + else { // list fields according to appearance in colprop + for (childcol in colprop.childs) + cols.push(childcol); + } + + for (var i=0; i < cols.length; i++) { + childcol = cols[i]; cp = colprop.childs[childcol]; input = $('<input>') .addClass('ff_'+childcol) - .attr({type: 'text', name: '_'+childcol+name_suffix, size: cp.size}) + .attr({ type: 'text', name: '_'+childcol+name_suffix, size: cp.size }) .appendTo(cell); - cell.append(" "); + cell.append(suffices[i] || " "); this.init_edit_field(childcol, input); if (!first) first = input; } |