[Checkins] SVN: z3c.listjs/trunk/src/z3c/listjs/ Fix this so it also works with IE, which cannot use innerHTML with
Martijn Faassen
faassen at infrae.com
Thu Jan 8 12:25:03 EST 2009
Log message for revision 94631:
Fix this so it also works with IE, which cannot use innerHTML with
tr.
Changed:
U z3c.listjs/trunk/src/z3c/listjs/listjswidget.pt
D z3c.listjs/trunk/src/z3c/listjs/listjswidget_record.pt
U z3c.listjs/trunk/src/z3c/listjs/resources/listjs.js
U z3c.listjs/trunk/src/z3c/listjs/widget.py
-=-
Modified: z3c.listjs/trunk/src/z3c/listjs/listjswidget.pt
===================================================================
--- z3c.listjs/trunk/src/z3c/listjs/listjswidget.pt 2009-01-08 16:37:10 UTC (rev 94630)
+++ z3c.listjs/trunk/src/z3c/listjs/listjswidget.pt 2009-01-08 17:25:03 UTC (rev 94631)
@@ -31,5 +31,5 @@
<input type="hidden" tal:attributes="
name string:${view/name}.template;
id string:${view/name}.template;
- value view/record_template" />
+ value view/widgetTemplate" />
<input tal:replace="structure view/marker" />
Deleted: z3c.listjs/trunk/src/z3c/listjs/listjswidget_record.pt
===================================================================
--- z3c.listjs/trunk/src/z3c/listjs/listjswidget_record.pt 2009-01-08 16:37:10 UTC (rev 94630)
+++ z3c.listjs/trunk/src/z3c/listjs/listjswidget_record.pt 2009-01-08 17:25:03 UTC (rev 94631)
@@ -1,9 +0,0 @@
- <td>
- <input class="editcheck" type="checkbox"
- tal:attributes="
- name string:${view/name}.remove_0" />
- </td>
- <td>
- <input tal:replace="structure view/widgetTemplate" />
- </td>
-
Modified: z3c.listjs/trunk/src/z3c/listjs/resources/listjs.js
===================================================================
--- z3c.listjs/trunk/src/z3c/listjs/resources/listjs.js 2009-01-08 16:37:10 UTC (rev 94630)
+++ z3c.listjs/trunk/src/z3c/listjs/resources/listjs.js 2009-01-08 17:25:03 UTC (rev 94631)
@@ -102,7 +102,7 @@
// update count
var count_el = document.getElementById(prefix + '.count');
count_el.value = els.length;
- }
+ };
// add a new repeating element to the list
Z3C.listjs.add = function(prefix) {
@@ -111,10 +111,22 @@
var template_text = template_el.value;
var buttons_el = document.getElementById(prefix + '.buttons');
+ // note that some DOM manipulation is needed as IE cannot
+ // use innerHTML on tr directly. Instead we create the td
+ // and put the widget contents in that.
var new_tr = document.createElement('tr');
new_tr.className = 'list_item';
- buttons_el.parentNode.insertBefore(new_tr, buttons_el);
- new_tr.innerHTML = template_text;
+ buttons_el.parentNode.insertBefore(new_tr, buttons_el);
+ var td1 = document.createElement('td');
+ var td2 = document.createElement('td');
+ new_tr.appendChild(td1);
+ new_tr.appendChild(td2);
+ var cb = document.createElement('input');
+ cb.className = 'editcheck';
+ cb.type = 'checkbox';
+ cb.name = prefix + '.remove_0';
+ td1.appendChild(cb);
+ td2.innerHTML = template_text;
updateAllNumbers(prefix);
};
Modified: z3c.listjs/trunk/src/z3c/listjs/widget.py
===================================================================
--- z3c.listjs/trunk/src/z3c/listjs/widget.py 2009-01-08 16:37:10 UTC (rev 94630)
+++ z3c.listjs/trunk/src/z3c/listjs/widget.py 2009-01-08 17:25:03 UTC (rev 94631)
@@ -13,7 +13,6 @@
class _ListJsWidget(ListSequenceWidget):
template = ViewPageTemplateFile('listjswidget.pt')
- record_template = ViewPageTemplateFile('listjswidget_record.pt')
def widgetTemplate(self):
# XXX hack: always get a widget that isn't in the sequence
More information about the Checkins
mailing list