(no commit message)
[openafs-wiki.git] / TWiki / EditTablePlugin.mdwn
1 # <a name="Edit Table Plugin"></a><a name=" Edit Table Plugin"></a> Edit Table Plugin
2
3 Edit TWiki tables in place, using edit fields and drop down boxes, without having to edit the complete topic.
4
5 Simply add an **[ Edit table ]** button to an existing table by writing `%EDITTABLE{}%` directly above the table. This can be added to tables that are formatted with [[TablePlugin]]: add the `EDITTABLE` variable just above or below the `TABLE` tag. It can also be used without any `TABLE` tag.
6
7 Customize entry fields by specifying the format: use a text field, a drop down box, a date field, radio buttons or checkboxes.
8
9 Multiple tables per topic are editable, but only one at a time can be edited.
10
11 <div>
12   <ul>
13     <li><a href="#Per Table Settings"> Per Table Settings</a><ul>
14         <li><a href="#Using TWiki Variables in the For"> Using TWiki Variables in the Format Parameter</a></li>
15         <li><a href="#Date Field Type"> Date Field Type</a></li>
16       </ul>
17     </li>
18     <li><a href="#Per Cell Settings"> Per Cell Settings</a></li>
19     <li><a href="#Table Buttons"> Table Buttons</a></li>
20     <li><a href="#Examples"> Examples</a></li>
21     <li><a href="#Plugin Settings"> Plugin Settings</a></li>
22     <li><a href="#Limitations and Known Issues"> Limitations and Known Issues</a></li>
23     <li><a href="#Installation Instructions"> Installation Instructions</a></li>
24     <li><a href="#License"> License</a></li>
25     <li><a href="#Plugin Info"> Plugin Info</a></li>
26   </ul>
27 </div>
28
29 ## <a name="Per Table Settings"></a> Per Table Settings
30
31 Add a `%EDITTABLE{...}%` variable just before an existing table to make it editable, or add the variable anywhere in a topic to start a new table.
32
33 ### <a name="Using TWiki Variables in the For"></a> Using TWiki Variables in the Format Parameter
34
35 By default, variables in `<initial value>` (of text input field) and `<label text>` (of fixed label) get expanded when a new row is added. This can be used for example to add a timestamp to a label. You can escape characters with format tokens if you do not want that.
36
37 Any TWiki variable inside a table cell will be preserved. For instance, `%TOPIC%` will not get expanded to the current topic name.
38
39 The format tokens are the same as with [[FormattedSearch]]:
40
41 <table border="1" cellpadding="0" cellspacing="0">
42   <tr>
43     <th bgcolor="#99CCCC"><strong> Escape: </strong></th>
44     <th bgcolor="#99CCCC"><strong> Expands To: </strong></th>
45   </tr>
46   <tr>
47     <td><code>$n</code> or <code>$n()</code></td>
48     <td> New line. Use <code>$n()</code> if followed by alphanumeric character, e.g. write <code>Foo$n()Bar</code> instead of <code>Foo$nBar</code></td>
49   </tr>
50   <tr>
51     <td><code>$nop</code> or <code>$nop()</code></td>
52     <td> Is a "no operation". </td>
53   </tr>
54   <tr>
55     <td><code>$quot</code></td>
56     <td> Double quote (<code>"</code>) </td>
57   </tr>
58   <tr>
59     <td><code>$percnt</code></td>
60     <td> Percent sign (<code>%</code>) </td>
61   </tr>
62   <tr>
63     <td><code>$dollar</code></td>
64     <td> Dollar sign (<code>$</code>) </td>
65   </tr>
66 </table>
67
68 <a name="DateField"></a>
69
70 ### <a name="Date Field Type"></a> Date Field Type
71
72 <img src="http://www.dementia.org/twiki//view/EditTablePluginCalendarExample.gif" width="638" height="250" alt="Edit Table Calendar Example" />
73
74 The `date` field type allows one to choose a date with a popup calendar. Popup calendar works with all modern browsers. The date picker button is inactive if the browser cannot support the popup calendar or if javascript is disabled.
75
76 ## <a name="Per Cell Settings"></a> Per Cell Settings
77
78 An individual edit field type can be defined for each table cell. Place an `%EDITCELL{ "type, ..." }%` variable at the end of the cell content. This is useful to override the per column `%EDITTABLE{ format="..." }%` settings, or to create tables with key/value rows. All edit field types of the `format="..."` parameter are supported. For example, to define a text field, type: `| cell content %EDITCELL{ "text, 20" }% |`
79
80 It is also possible to place the edit button inside a cell instead of default location below the table. Type `| %EDITCELL{ "editbutton, 1, Edit this table" }% |` to show a button, or `| %EDITCELL{ "editbutton, 1, Edit table, Image-URL" }% |` to show a button image with alternate text.
81
82 **_Note:_** The `%EDITCELL{ }%=variable cannot be used by itself; place an =%EDITTABLE{ }%=variable at the beginning of a table where you want to use =%EDITCELL{ }%` variables.
83
84 ## <a name="Table Buttons"></a> Table Buttons
85
86 <form>
87   <ul>
88     <li> In page view mode: <ul>
89         <li><input name="et" onclick="return(false);" type="submit" value="Edit table" /> - turn the table into edit mode </li>
90       </ul>
91     </li>
92     <li> In edit mode: <ul>
93         <li><input name="etsave" onclick="return(false);" type="submit" value="Save table" /> - save your changes </li>
94         <li><input name="etqsave" onclick="return(false);" type="submit" value="Quiet save" /> - save your changes without alerting subscribed [[Main/WebNotify]] users </li>
95         <li><input name="etaddrow" onclick="return(false);" type="submit" value="Add row" /> - add row to the table (if enabled) </li>
96         <li><input name="etdelrow" onclick="return(false);" type="submit" value="Delete last row" /> - remove last row from the table (if enabled) </li>
97         <li><input name="etcancel" onclick="return(false);" type="submit" value="Cancel" /> - cancel without saving and release edit lock </li>
98         <li><img src="http://www.dementia.org/twiki//view/btn_move.gif" /> - Move a row by clicking this button next to the row to be moved, then at a destination. </li>
99         <li><img src="http://www.dementia.org/twiki//view/btn_delete.gif" /> - Deletes the row next to this button. </li>
100       </ul>
101     </li>
102   </ul>
103 </form>
104
105 ## <a name="Examples"></a> Examples
106
107 Line before table: `%EDITTABLE{ format="| row, -1 | text, 20, init | select, 1, one, two, three, four | radio, 3,:-),:-I,:-( | label, 0, %SERVERTIME{"$day $mon $year $hour:$min"}% |" changerows="on" }%` <a name="edittable1"></a>
108
109 <div>
110   <form action="http://www.dementia.org/twiki/viewauth#edittable1" method="post" name="edittable1"><input name="ettablenr" type="hidden" value="1" /> <input name="etedit" type="hidden" value="on" /><table border="1" cellpadding="0" cellspacing="0">
111       <tr>
112         <th bgcolor="#99CCCC"><strong> Nr </strong></th>
113         <th bgcolor="#99CCCC"><strong> Text field </strong></th>
114         <th bgcolor="#99CCCC"><strong> Drop down </strong></th>
115         <th bgcolor="#99CCCC"><strong> Mood </strong></th>
116         <th bgcolor="#99CCCC"><strong> Timestamp </strong></th>
117       </tr>
118       <tr>
119         <td> 1 </td>
120         <td> hello table </td>
121         <td> one </td>
122         <td> :-) </td>
123         <td> 26 Jun 2002 12:30 </td>
124       </tr>
125       <tr>
126         <td> 2 </td>
127         <td>   </td>
128         <td> two </td>
129         <td> :-( </td>
130         <td> 27 Jun 2002 12:40 </td>
131       </tr>
132     </table><input name="etrows" type="hidden" value="3" /> <input type="submit" value="Edit table" /></form>
133 </div>
134
135 %RED% **_Note:_** Please do not save this example table! Use TWiki:Sandbox.EditTablePluginTesting if you want to try out this Plugin %ENDCOLOR%
136
137 If this plugin is installed you will see an **[ Edit table ]** button above; if you were to click on it (please don't, use TWiki:Sandbox.EditTablePluginTesting for testing) you get this form:
138
139 <a name="edittable1"></a>
140
141 <div><input name="ettablenr" type="hidden" value="1" /><table border="1" cellpadding="0" cellspacing="0" id="default" rules="rows">
142     <thead>
143       <tr>
144         <th bgcolor="#6b7f93" valign="top"><a href="http://www.dementia.org/twiki/viewauth/TWiki/EditTablePlugin?ettablenr=1&amp;etedit=on&amp;etrows=3&amp;x=27&amp;y=13&amp;sortcol=0;table=2;up=0#sorted_table" rel="nofollow" title="Sort by this column"><font color="#ffffff">Nr<input name="etcell1x1" type="hidden" value="*Nr*" /></font></a></th>
145         <th bgcolor="#6b7f93" valign="top"><a href="http://www.dementia.org/twiki/viewauth/TWiki/EditTablePlugin?ettablenr=1&amp;etedit=on&amp;etrows=3&amp;x=27&amp;y=13&amp;sortcol=1;table=2;up=0#sorted_table" rel="nofollow" title="Sort by this column"><font color="#ffffff">Text field<input name="etcell1x2" type="hidden" value="*Text field*" /></font></a></th>
146         <th bgcolor="#6b7f93" valign="top"><a href="http://www.dementia.org/twiki/viewauth/TWiki/EditTablePlugin?ettablenr=1&amp;etedit=on&amp;etrows=3&amp;x=27&amp;y=13&amp;sortcol=2;table=2;up=0#sorted_table" rel="nofollow" title="Sort by this column"><font color="#ffffff">Drop down<input name="etcell1x3" type="hidden" value="*Drop down*" /></font></a></th>
147         <th bgcolor="#6b7f93" valign="top"><a href="http://www.dementia.org/twiki/viewauth/TWiki/EditTablePlugin?ettablenr=1&amp;etedit=on&amp;etrows=3&amp;x=27&amp;y=13&amp;sortcol=3;table=2;up=0#sorted_table" rel="nofollow" title="Sort by this column"><font color="#ffffff">Mood<input name="etcell1x4" type="hidden" value="*Mood*" /></font></a></th>
148         <th bgcolor="#6b7f93" valign="top"><a href="http://www.dementia.org/twiki/viewauth/TWiki/EditTablePlugin?ettablenr=1&amp;etedit=on&amp;etrows=3&amp;x=27&amp;y=13&amp;sortcol=4;table=2;up=0#sorted_table" rel="nofollow" title="Sort by this column"><font color="#ffffff">Timestamp<input name="etcell1x5" type="hidden" value="*Timestamp*" /></font></a></th>
149       </tr>
150     </thead>
151     <tr>
152       <td bgcolor="#ffffff" valign="top"><span>1<input name="etcell2x1" type="hidden" value="1" /></span></td>
153       <td bgcolor="#ffffff" valign="top"><input name="etcell2x2" size="20" type="text" value="hello table" /></td>
154       <td bgcolor="#ffffff" valign="top"><select name="etcell2x3" size="1"><option selected>one</option>
155           <option>two</option>
156           <option>three</option>
157           <option>four</option></select></td>
158       <td bgcolor="#ffffff" valign="top"><input checked name="etcell2x4" type="radio" value=":-)" /> <img alt="smile" border="0" src="http://www.dementia.org/twiki//view/TWiki/SmiliesPlugin/smile.gif" title="smile" /> <input name="etcell2x4" type="radio" value=":-I" /> <img alt="indifferent" border="0" src="http://www.dementia.org/twiki//view/TWiki/SmiliesPlugin/indifferent.gif" title="indifferent" /> <input name="etcell2x4" type="radio" value=":-(" /> <img alt="frown" border="0" src="http://www.dementia.org/twiki//view/TWiki/SmiliesPlugin/frown.gif" title="frown" /></td>
159       <td bgcolor="#ffffff" valign="top"> 26 Jun 2002 12:30<input name="etcell2x5" type="hidden" value="26 Jun 2002 12:30" /></td>
160     </tr>
161     <tr>
162       <td bgcolor="#edf4f9" valign="top"><span>2<input name="etcell3x1" type="hidden" value="2" /></span></td>
163       <td bgcolor="#edf4f9" valign="top"><input name="etcell3x2" size="20" type="text" value="" /></td>
164       <td>
165         <p>
166         </p>
167       </td>
168       <td bgcolor="#edf4f9" valign="top"><select name="etcell3x3" size="1"><option>one</option>
169           <option selected>two</option>
170           <option>three</option>
171           <option>four</option></select></td>
172       <td bgcolor="#edf4f9" valign="top"><input name="etcell3x4" type="radio" value=":-)" /> <img alt="smile" border="0" src="http://www.dementia.org/twiki//view/TWiki/SmiliesPlugin/smile.gif" title="smile" /> <input name="etcell3x4" type="radio" value=":-I" /> <img alt="indifferent" border="0" src="http://www.dementia.org/twiki//view/TWiki/SmiliesPlugin/indifferent.gif" title="indifferent" /> <input checked name="etcell3x4" type="radio" value=":-(" /> <img alt="frown" border="0" src="http://www.dementia.org/twiki//view/TWiki/SmiliesPlugin/frown.gif" title="frown" /></td>
173       <td bgcolor="#edf4f9" valign="top"> 27 Jun 2002 12:40<input name="etcell3x5" type="hidden" value="27 Jun 2002 12:40" /></td>
174     </tr>
175   </table><input name="etrows" type="hidden" value="3" /> <input id="etsave" name="etsave" type="submit" value="Save table" /> <input id="etqsave" name="etqsave" type="submit" value="Quiet save" /> <input id="etaddrow" name="etaddrow" type="submit" value="Add row" /> <input id="etdelrow" name="etdelrow" type="submit" value="Delete last row" /> <input id="etcancel" name="etcancel" type="submit" value="Cancel" /></div>
176
177 The following example shows a simple table with key/value rows. The default edit field type for the value column is a text field. This is overloaded by a selector for the Gender, and a date picker for the DOB. This is typically used by TWiki applications where new topics with tables are created based on a template topic.
178
179 <table cellpadding="6" style="background: #f2f2f2">
180   <tr>
181     <th> You type: </th>
182     <th> You get: </th>
183     <th> Table in edit mode: </th>
184   </tr>
185   <tr>
186     <td valign="top"><pre>
187 %TABLE{"headerrows="1"}%
188 %EDITTABLE{ format="| label | text, 40 |" changerows="off" }%
189 |*Key*|*Value*|
190 | Name: | John Smith |
191 | Gender: | M %EDITCELL{select, 1, , F, M}% |
192 | DOB: | 1999/12/31 %EDITCELL{date, 10}% |
193 | City: | New York |
194 </pre></td>
195     <td valign="top"><img alt="EDITCELL Example in view mode" height="172" src="http://www.dementia.org/twiki//view/ScreenshotEditCell1.gif" width="150" /></td>
196     <td valign="top"><img alt="EDITCELL Example in edit mode" height="198" src="http://www.dementia.org/twiki//view/ScreenshotEditCell2.gif" width="436" /></td>
197   </tr>
198 </table>
199
200 ## <a name="Plugin Settings"></a> Plugin Settings
201
202 Plugin settings are stored as preferences variables. To reference a plugin setting write <code>**%&lt;plugin&gt;\_&lt;setting&gt;%**</code>, for example, <code>**%EDITTABLEPLUGIN\_SHORTDESCRIPTION%**</code>
203
204 - One line description, shown in the [[TextFormattingRules]] topic:
205   - Set SHORTDESCRIPTION = Edit TWiki tables using edit fields, date pickers and drop down boxes
206
207 - Set DEBUG to 1 to get debug messages in `data/debug.txt`. Default: `0`
208   - Set DEBUG = 0
209
210 - Set JAVASCRIPTINTERFACE to 1 to be able to directly move and delete row without page refresh. Can be overridden with parameter `javascriptinterface`.
211   - Set JAVASCRIPTINTERFACE = 1
212
213 - Default for change rows flag: `on`, `off`, `add`
214   - Set CHANGEROWS = on
215
216 - Default flag for quiet save option: `on` to show the Quiet Save button, `off` to hide
217   - Set QUIETSAVE = on
218
219 - Default edit button: Specify `button text`, or specify `alternate text, image URL`. Note: Texts inside `%MAKETEXT{}%` are translated into other languages.
220   - #Set EDIT\_BUTTON = Edit table
221   - Set EDIT\_BUTTON = Edit this table, ![edittable.gif](http://www.dementia.org/twiki//view/edittable.gif)
222   - Set SAVE\_BUTTON = Save table
223   - Set QUIET\_SAVE\_BUTTON = Quiet save
224   - Set ADD\_ROW\_BUTTON = Add row
225   - Set DELETE\_LAST\_ROW\_BUTTON = Delete last row
226   - Set CANCEL\_BUTTON = Cancel
227
228 - Default help texts
229   - Set INCLUDED\_TOPIC\_DOES\_NOT\_EXIST = <span>Warning: 'include' topic does not exist!</span>
230
231 **_Note:_** The Plugin uses base settings like date format, language and style from the [[JSCalendarContrib]].
232
233 ## <a name="Limitations and Known Issues"></a> Limitations and Known Issues
234
235 - This Plugin does not support TWiki table formatting like Multi-span cells (e.g. `| ... ||`) and cell justification (e.g. `|  centered  |   right |`)
236 - There is a performance issue when editing a large table, say, with more then 50 rows
237 - You cannot put two `%EDITTABLE{}%` statements on the same line in the source
238 - You can include %-vars now in select values, by quoting them with &lt;nop&gt;, as in %&lt;nop&gt;X% for %X%, say for instance: <br />`select,1,%<nop>X%,%<nop>Y%`
239
240 ## <a name="Installation Instructions"></a> Installation Instructions
241
242 - Download the ZIP file from the Plugin web (see below)
243 - Unzip <code>**%TOPIC%.zip**</code> in your ($TWIKI\_ROOT) directory.
244 - Alternatively,
245   - Manually resolve the dependencies listed below. None
246 - The Plugin depends on the `viewauth` script to authenticate the user. As described in [[TWikiAccessControl]], copy the `view` script to `viewauth` (or better, create a symbolic link) and add `viewauth` to the list of authenticated scripts in the `.htaccess` file.
247 - (Dakar) Visit `configure` in your TWiki installation, and enable the plugin in the \{Plugins\} section.
248 - Test if the Plugin is correctly installed:
249   - Check above example if there is an **[ Edit table ]** button below the table in above example
250   - Click on **[ Edit table ]**, make changes and save the table
251
252 ## <a name="License"></a> License
253
254 - The Edit Table Plugin is released under the [GPL](http://www.gnu.org/licenses/gpl.html)
255
256 ## <a name="Plugin Info"></a> Plugin Info
257
258 <table border="1" cellpadding="0" cellspacing="0">
259   <tr>
260     <td align="right"> Plugin Author: </td>
261     <td> Arthur Clemens, TWiki:Main/PeterThoeny </td>
262   </tr>
263   <tr>
264     <td align="right"> Copyright: </td>
265     <td> © 2008 Arthur Clemens, 2002-2008 TWiki:Main.PeterThoeny (<a href="http://www.twiki.net/" target="_top">TWIKI.NET</a>) and TWiki Contributors </td>
266   </tr>
267   <tr>
268     <td align="right"> License: </td>
269     <td> GPL (<a href="http://www.gnu.org/copyleft/gpl.html" target="_top">GNU General Public License</a>) </td>
270   </tr>
271   <tr>
272     <td align="right"> Plugin Version: </td>
273     <td> 4.9 (01 Nov 2008) </td>
274   </tr>
275   <tr>
276     <td align="right"> Change History: </td>
277     <td>  </td>
278   </tr>
279   <tr>
280     <td align="right"> 01 Nov 2008: </td>
281     <td> 4.9: Arthur Clemens: Fixed rendering of <code>verbatim</code> blocks when editing. Added parameter <code>buttonrow="top"</code> to allow the buttons to be positioned at the top of the table. </td>
282   </tr>
283   <tr>
284     <td align="right"> 26 Sep 2008: </td>
285     <td> 4.8.7: Arthur Clemens: Let empty table initialize more than one column from <code>header</code> parameter </td>
286   </tr>
287   <tr>
288     <td align="right"> 24 Sep 2008: </td>
289     <td> 4.8.6: Arthur Clemens: Fix parsing of header labels </td>
290   </tr>
291   <tr>
292     <td align="right"> 21 Sep 2008: </td>
293     <td> 4.8.5: Arthur Clemens: Fix rendering of TML inside label </td>
294   </tr>
295   <tr>
296     <td align="right"> 03 Aug 2008: </td>
297     <td> 4.8.4: TWiki 4.2.1 release version </td>
298   </tr>
299   <tr>
300     <td align="right"> 19 Jul 2008: </td>
301     <td> 4.8.3: Bugfix release </td>
302   </tr>
303   <tr>
304     <td align="right"> 20 Mar 2008: </td>
305     <td> 4.8: Arthur Clemens: Code refactoring; disabled table sort when editing; removed usage of <code>$percnt</code> to prevent variable expansion (is now done automatically); made Javascript interface aware of headers and footers, and of <code>changerows="off"</code>; improved feedback on row move. </td>
306   </tr>
307   <tr>
308     <td align="right"> 25 Dec 2007: </td>
309     <td> 4.7.1: Arthur Clemens: Added warning if <code>include</code> parameter topic does not exist. </td>
310   </tr>
311   <tr>
312     <td align="right"> 22 Dec 2007: </td>
313     <td> 4.7: Arthur Clemens: Changed handling of escaped variables. To escape TWiki variable, use formatting tokens such as <code>$percnt</code>. </td>
314   </tr>
315   <tr>
316     <td align="right"> 16 Dec 2007: </td>
317     <td> 4.6: Kenneth Lavrsen: The plugin prevents [[Main/TablePlugin]] from initsorting the table being edited. This is done by temporarily appending the attribute disableallsort="on" to the TABLE tag of a table being edited. Additionally all header sorting is disabled while editing a table by setting a hidden formfield <code>sort</code> to "off". Disabling sorting while editing is needed now that the [[Main/EditTablePlugin]] supports moving rows up and down. </td>
318   </tr>
319   <tr>
320     <td align="right"> 01 Dec 2007: </td>
321     <td> 4.3: Arthur Clemens: added support for [[Main/TablePlugin]] <code>headerrows</code> and <code>footerrows</code>; updated edit button </td>
322   </tr>
323   <tr>
324     <td align="right"> 16 Oct 2007: </td>
325     <td> 4.2: Arthur Clemens: refactoring, bug fixes. </td>
326   </tr>
327   <tr>
328     <td align="right"> 07 Oct 2007: </td>
329     <td> 15182: PTh: Added [[TWiki/VarEDITTABLE]] to have it listed in [[TWiki/TWikiVariables]]</td>
330   </tr>
331   <tr>
332     <td align="right"> 15 Mar 2007: </td>
333     <td> Arthur Clemens: Fixed eating of double newlines; icons for javascript buttons and interface improvements. By default the javascript interface is turned off, set <code>JAVASCRIPTINTERFACE</code> to use it in edit mode. </td>
334   </tr>
335   <tr>
336     <td align="right"> 05 Mar 2007: </td>
337     <td> Byron Darrah: Added ability to dynamically move and delete rows. </td>
338   </tr>
339   <tr>
340     <td align="right"> 12 Oct 2006: </td>
341     <td><a href="http://develop.twiki.org/~develop/cgi-bin/view/Bugs/Item2982" rel="nofollow">Item2982</a> Use default date format from [[Main/JSCalendarContrib]]</td>
342   </tr>
343   <tr>
344     <td align="right"> 02 Oct 2006: </td>
345     <td><a href="http://develop.twiki.org/~develop/cgi-bin/view/Bugs/Item2884" rel="nofollow">Item2884</a> Check also for access permission in meta data; proper fix to not warn if oneself has a lock on topic </td>
346   </tr>
347   <tr>
348     <td align="right"> 30 Aug 2006: </td>
349     <td><a href="http://develop.twiki.org/~develop/cgi-bin/view/Bugs/Item2829" rel="nofollow">Item2829</a> Remove whitespace from select, radio and checkbox items; restored topic lock if $TWiki::Plugins::VERSION &lt; 1.1 </td>
350   </tr>
351   <tr>
352     <td align="right"> 29 Jul 2006: </td>
353     <td><a href="http://develop.twiki.org/~develop/cgi-bin/view/Bugs/Item2684" rel="nofollow">Item2684</a> - Quietly ignore topic edit locks on table edit </td>
354   </tr>
355   <tr>
356     <td align="right"> 21 Jan 2006: </td>
357     <td> TWiki:Main.CrawfordCurrie ported to TWiki-4.0.0, changed to use [[Main/JSCalendarContrib]]</td>
358   </tr>
359   <tr>
360     <td align="right"> 16 Sep 2004: </td>
361     <td> Added radio buttons and checkbox controls; escaped "%VBAR%" pipe symbol found in input fields to preserve tables </td>
362   </tr>
363   <tr>
364     <td align="right"> 01 Aug 2004: </td>
365     <td> Fixed bug where edittable did not work if at the end of a topic </td>
366   </tr>
367   <tr>
368     <td align="right"> 07 Apr 2004: </td>
369     <td> Fixed bug where two tables got updated when you edit and save a table included into a topic containing other edit tables </td>
370   </tr>
371   <tr>
372     <td align="right"> 02 Mar 2004: </td>
373     <td> Default for <code>%EDITCELL{editbutton}%</code> is EDITBUTTON preference </td>
374   </tr>
375   <tr>
376     <td align="right"> 27 Feb 2004: </td>
377     <td> Added QUIETSAVE setting and <code>quietsave</code> parameter; image for Edit button </td>
378   </tr>
379   <tr>
380     <td align="right"> 18 Feb 2004: </td>
381     <td> Doc fixes; allow edit button anywhere in a cell not just at the end of a cell </td>
382   </tr>
383   <tr>
384     <td align="right"> 17 Feb 2004: </td>
385     <td> Added per cell definition of edit field types with <code>%EDITCELL{}%</code> variable; added <code>headerislabel</code> and <code>editbutton</code> parameters </td>
386   </tr>
387   <tr>
388     <td align="right"> 20 Dec 2003: </td>
389     <td> Fixed bug where calendar did not work after adding a row (TWiki:Main/PaulineCheung); added all language files of Mishoo DHTML calendar 0.9.5 </td>
390   </tr>
391   <tr>
392     <td align="right"> 13 Dec 2003: </td>
393     <td> Added CHANGEROWS, JSCALENDARDATEFORMAT, JSCALENDARLANGUAGE, JSCALENDAROPTIONS settings </td>
394   </tr>
395   <tr>
396     <td align="right"> 16 Oct 2003: </td>
397     <td> small typo fixed (garbled if ---+ header on top) </td>
398   </tr>
399   <tr>
400     <td align="right"> 15 Oct 2003: </td>
401     <td> new date field type with javascript calendar - CN </td>
402   </tr>
403   <tr>
404     <td align="right"> 14 Oct 2003: </td>
405     <td> docfix: the documentation page was an old one - CN </td>
406   </tr>
407   <tr>
408     <td align="right"> 13 Oct 2003: </td>
409     <td> bugfix: %-vars in select were resetted to first on add/del row - CN </td>
410   </tr>
411   <tr>
412     <td align="right"> 18 Sep 2003: </td>
413     <td> incompatibility: changed default of <code>changerows</code> to <code>on</code>; support for %-vars, Quiet save for saving without notification; all other fixes in Dev topic integrated - CN </td>
414   </tr>
415   <tr>
416     <td align="right"> 08 Nov 2002: </td>
417     <td> Prevent variable expansion in label text; added escape characters </td>
418   </tr>
419   <tr>
420     <td align="right"> 27 Jun 2002: </td>
421     <td> New <code>helptopic</code> parameter </td>
422   </tr>
423   <tr>
424     <td align="right"> 26 Jun 2002: </td>
425     <td> Support for variables in included EDITTABLE parameters; fixed problem with HTML in cells </td>
426   </tr>
427   <tr>
428     <td align="right"> 21 May 2002: </td>
429     <td> Added fixed label format; new <code>changerows="add"</code> parameter </td>
430   </tr>
431   <tr>
432     <td align="right"> 27 Apr 2002: </td>
433     <td> Fixed bug where text after a double quote in a cell disappeared </td>
434   </tr>
435   <tr>
436     <td align="right"> 18 Apr 2002: </td>
437     <td> Fixed bug where table was breaking when pasting multiple lines into an edit field using Netscape on Unix </td>
438   </tr>
439   <tr>
440     <td align="right"> 08 Apr 2002: </td>
441     <td> Check for change permission and edit lock of topic </td>
442   </tr>
443   <tr>
444     <td align="right"> 05 Apr 2002: </td>
445     <td> Initial version </td>
446   </tr>
447   <tr>
448     <td align="right"> Dependencies: </td>
449     <td> None </td>
450   </tr>
451   <tr>
452     <td align="right"> Perl Version: </td>
453     <td> 5.0 </td>
454   </tr>
455   <tr>
456     <td align="right"> TWiki:Plugins/Benchmark: </td>
457     <td>[[TWiki/GoodStyle]] 98%, [[TWiki/FormattedSearch]] 98%, %TOPIC% 95% </td>
458   </tr>
459   <tr>
460     <td align="right"> Plugin Home: </td>
461     <td><a href="http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%" target="_top">http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%</a></td>
462   </tr>
463   <tr>
464     <td align="right"> Feedback: </td>
465     <td><a href="http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Dev" target="_top">http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Dev</a></td>
466   </tr>
467   <tr>
468     <td align="right"> Appraisal: </td>
469     <td><a href="http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Appraisal" target="_top">http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Appraisal</a></td>
470   </tr>
471 </table>
472
473 **_Related Topics:_** [[VarEDITTABLE]], [[TWikiPreferences]], [[TWikiPlugins]]