X-Git-Url: https://scm.cri.ensmp.fr/git/Plinn.git/blobdiff_plain/3c4367d8e03450e9a73e61f4247145d2b6c86a33..959d888c17d1403d2eeecc19bc4b5e2c8d1debf6:/Products/Plinn/skins/ajax_scripts/growable_table.js diff --git a/Products/Plinn/skins/ajax_scripts/growable_table.js b/Products/Plinn/skins/ajax_scripts/growable_table.js new file mode 100644 index 0000000..b7fcf1f --- /dev/null +++ b/Products/Plinn/skins/ajax_scripts/growable_table.js @@ -0,0 +1,302 @@ +// © Benoît PIN 2006-2008 +// http://plinn.org +// Licence GPL +// +// +// GrowableTable: functions to edit quickly table form entries. + +function GrowableTable(tbody, fieldsDescription, submitExtName, skipFormManagerInit) { + this.fieldsDescription = fieldsDescription; + this.tbody = tbody; + this.length = tbody.getElementsByTagName('tr').length; + this.submitExtName = submitExtName; + + var form = this.tbody.parentNode; + while (form.tagName != 'FORM') + form = form.parentNode; + + var thisManager = this; + + if (!skipFormManagerInit) { + var formManager = new FormManager(form); + formManager.onBeforeSubmit = function(m, e){return thisManager.onBeforeSubmit(m, e)}; + formManager.onResponseLoad = function(req){thisManager.loadResponse(req);}; + } + + addListener(this.tbody.parentNode, 'click', function(evt){thisManager.tbodyClick(evt);}); + + var addButton; + var links = tbody.parentNode.getElementsByTagName('a'); + for (var i=0 ; i