%META:TOPICINFO{author="ProjectContributor" date="1691320505" format="1.1" version="1"}%
%META:TOPICPARENT{name="Plugins"}%
---+!! Edit Table Plugin
%FORMFIELD{"Description"}%

Simply add an *[&nbsp;Edit&nbsp;table&nbsp;]* button to an existing table by writing =%<nop>EDITTABLE{}%= directly above the table. This can be added to tables that are formatted with TablePlugin: add the =EDITTABLE= macro just above or below the =TABLE= tag. It can also be used without any =TABLE= tag.

Customize entry fields by specifying the format: use a text field, a drop down box, a date field, radio buttons or checkboxes.

Multiple tables per topic are editable, but only one at a time can be edited.

%TOC%

---++ Per Table Settings

Add a =%<nop>EDITTABLE{...}%= macro just before an existing table to make it editable, or add the variable anywhere in a topic to start a new table.
%INCLUDE{"VarEDITTABLE" section="edittable_attributes"}%

---+++ Using Macros in the Format Parameter

By default, macros in =&lt;initial value&gt;= (of text input field) and =&lt;label text&gt;= (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.

Any macro inside a table cell will be preserved. For instance, =%<nop>TOPIC%= will not get expanded to the current topic name.

The format tokens are the same as with %SYSTEMWEB%.FormattedSearch:

| *Escape:* | *Expands To:* |
| =$n= or =$n()= | New line. Use =$n()= if followed by alphanumeric character, e.g. write =Foo$n()Bar= instead of =Foo$nBar= |
| =$nop= or =$nop()= | Is a "no operation". |
| =$quot= | Double quote (="=) |
| =$percnt= | Percent sign (=%=) |
| =$dollar= | Dollar sign (=$=) |


#DateField
---+++ Date Field Type

<img src="%ATTACHURLPATH%/EditTablePluginCalendarExample.gif" alt="Edit Table Calendar Example" width="638" height="250" />

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. 

The optional date format specifiers are described in the [[%SYSTEMWEB%.JSCalendarContrib#FormatSpecifiers][JSCalendarContrib]] documentation. When time specifiers are used, the calendar allows one to choose a date and a time.

In some rare cases, if you pass the date format in =%<nop>EDITTABLE{format="..."}%= and the date format components are adjacent, you must escape the =%= characters to =$percnt= to prevent that the components are expanded as macros. For example:
<verbatim>
%EDITTABLE{format="|date,15,,$percntY$percntm$percntd|"}%
</verbatim>

---++ Per Cell Settings

An individual edit field type can be defined for each table cell. Place an =%<nop>EDITCELL{ "type, ..." }%= macro at the end of the cell content. This is useful to override the per column =%<nop>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 %<nop>EDITCELL{ "text, 20" }% |=

It is also possible to place the edit button inside a cell instead of default location below the table. Type =| %<nop>EDITCELL{ "editbutton, 1, Edit this table" }% |= to show a button, or =| %<nop>EDITCELL{ "editbutton, 1, Edit table, Image-URL" }% |= to show a button image with alternate text.

*Note:* The =%<nop>EDITCELL{ }%= macro cannot be used by itself; place an =%<nop>EDITTABLE{ }%= variable at the beginning of a table where you want to use =%<nop>EDITCELL{ }%= variables.

---++ Table Buttons

<form>
   * In page view mode:
      * <input type="submit" class="foswikiSubmit" name="et"   value="Edit table" onclick="return(false);" /> - turn the table into edit mode
   * In edit mode:
      * <input type="submit" class="foswikiButton" name="etsave"   value="Save table"  onclick="return(false);" /> - save your changes
      * <input type="submit" class="foswikiButton" name="etqsave"   value="Quiet save"  onclick="return(false);" /> - save your changes without alerting subscribed WebNotify users
      * <input type="submit" class="foswikiButton" name="etaddrow" value="Add row" onclick="return(false);" /> - add row to the table (if enabled)
      * <input type="submit" class="foswikiButton" name="etdelrow" value="Delete last row" onclick="return(false);" /> - remove last row from the table (if enabled)
      * <input type="submit" class="foswikiButtonCancel" name="etcancel" value="Cancel" onclick="return(false);" /> - cancel without saving and release edit lock
      * <img src="%ATTACHURLPATH%/btn_move.gif"> - Move a row by clicking this button next to the row to
         be moved, then at a destination.
      * <img src="%ATTACHURLPATH%/btn_delete.gif"> - Deletes the row next to this button.
</form>

---++ Examples

Line before table: <verbatim class="tml">%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" }%</verbatim>
%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" }%
|*Nr*|*Text field*|*Drop down*|*Mood*|*Timestamp*|
| 1 | hello table | one | :-) | 26 Jun 2002 12:30 |
| 2 |  | two | :-( | 27 Jun 2002 12:40 |

%RED% *Note:* Please do not save this example table! Use Foswiki:%SANDBOXWEB%.EditTablePluginTesting if you want to try out this Plugin %ENDCOLOR%

If this plugin is installed you will see an *[&nbsp;Edit&nbsp;table&nbsp;]* button above; if you were to click on it you get this form:

<a name="edittable1"></a>
<div class="editTable editTableEdit">
<input type="hidden" name="ettablenr" value="1" />
<table cellspacing="0" id="default" cellpadding="0" class="foswikiTable" rules="rows" border="1">
    <thead>
    <tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
        <th bgcolor="#6b7f93" valign="top" class="foswikiTableCol0 foswikiFirstCol"> <a rel="nofollow" href="%SCRIPTURL{"viewauth"}%/%SYSTEMWEB%/EditTablePlugin?ettablenr=1&amp;amp;etedit=on&amp;amp;etrows=3&amp;amp;x=27&amp;amp;y=13&amp;amp;sortcol=0;table=2;up=0#sorted_table" title="Sort by this column"><font color="#ffffff">Nr<input type="hidden" name="etcell1x1" value="*Nr*" /></font></a> </th>
        <th bgcolor="#6b7f93" valign="top" class="foswikiTableCol1"> <a rel="nofollow" href="%SCRIPTURL{"viewauth"}%/%SYSTEMWEB%/EditTablePlugin?ettablenr=1&amp;amp;etedit=on&amp;amp;etrows=3&amp;amp;x=27&amp;amp;y=13&amp;amp;sortcol=1;table=2;up=0#sorted_table" title="Sort by this column"><font color="#ffffff">Text field<input type="hidden" name="etcell1x2" value="*Text field*" /></font></a> </th>
        <th bgcolor="#6b7f93" valign="top" class="foswikiTableCol2"> <a rel="nofollow" href="%SCRIPTURL{"viewauth"}%/%SYSTEMWEB%/EditTablePlugin?ettablenr=1&amp;amp;etedit=on&amp;amp;etrows=3&amp;amp;x=27&amp;amp;y=13&amp;amp;sortcol=2;table=2;up=0#sorted_table" title="Sort by this column"><font color="#ffffff">Drop down<input type="hidden" name="etcell1x3" value="*Drop down*" /></font></a> </th>
        <th bgcolor="#6b7f93" valign="top" class="foswikiTableCol3"> <a rel="nofollow" href="%SCRIPTURL{"viewauth"}%/%SYSTEMWEB%/EditTablePlugin?ettablenr=1&amp;amp;etedit=on&amp;amp;etrows=3&amp;amp;x=27&amp;amp;y=13&amp;amp;sortcol=3;table=2;up=0#sorted_table" title="Sort by this column"><font color="#ffffff">Mood<input type="hidden" name="etcell1x4" value="*Mood*" /></font></a> </th>
        <th bgcolor="#6b7f93" valign="top" class="foswikiTableCol4 foswikiLastCol"> <a rel="nofollow" href="%SCRIPTURL{"viewauth"}%/%SYSTEMWEB%/EditTablePlugin?ettablenr=1&amp;amp;etedit=on&amp;amp;etrows=3&amp;amp;x=27&amp;amp;y=13&amp;amp;sortcol=4;table=2;up=0#sorted_table" title="Sort by this column"><font color="#ffffff">Timestamp<input type="hidden" name="etcell1x5" value="*Timestamp*" /></font></a> </th>
    </tr>
    </thead>
    <tr class="foswikiTableOdd foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
        <td bgcolor="#ffffff" valign="top" class="foswikiTableCol0 foswikiFirstCol"> <span class="et_rowlabel">1<input type="hidden" name="etcell2x1" value="1" /></span> </td>
        <td bgcolor="#ffffff" valign="top" class="foswikiTableCol1"> <input class="foswikiInputField editTableInput" type="text" name="etcell2x2" size="20" value="hello table" /> </td>
        <td bgcolor="#ffffff" valign="top" class="foswikiTableCol2"> <select class="foswikiSelect" name="etcell2x3" size="1"> <option selected="selected">one</option> <option>two</option> <option>three</option> <option>four</option></select> </td>
        <td bgcolor="#ffffff" valign="top" class="foswikiTableCol3"> <input type="radio" name="etcell2x4" value=":-)" checked="checked" /> <img src="%PUBURL%/%SYSTEMWEB%/SmiliesPlugin/smile.gif" alt="smile" title="smile" border="0" />  <input type="radio" name="etcell2x4" value=":-I" /> <img src="%PUBURL%/%SYSTEMWEB%/SmiliesPlugin/indifferent.gif" alt="indifferent" title="indifferent" border="0" />  <input type="radio" name="etcell2x4" value=":-(" /> <img src="%PUBURL%/%SYSTEMWEB%/SmiliesPlugin/frown.gif" alt="frown" title="frown" border="0" /> </td>
        <td bgcolor="#ffffff" valign="top" class="foswikiTableCol4 foswikiLastCol"> 26 Jun 2002 12:30<input type="hidden" name="etcell2x5" value="26 Jun 2002 12:30" /> </td>
    </tr>
    <tr class="foswikiTableEven foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
        <td bgcolor="#edf4f9" valign="top" class="foswikiTableCol0 foswikiFirstCol foswikiLast"> <span class="et_rowlabel">2<input type="hidden" name="etcell3x1" value="2" /></span> </td>
        <td bgcolor="#edf4f9" valign="top" class="foswikiTableCol1 foswikiLast"> <input class="foswikiInputField editTableInput" type="text" name="etcell3x2" size="20" value="" /> </td>

        <td bgcolor="#edf4f9" valign="top" class="foswikiTableCol2 foswikiLast"> <select class="foswikiSelect" name="etcell3x3" size="1"> <option>one</option> <option selected="selected">two</option> <option>three</option> <option>four</option></select> </td>
        <td bgcolor="#edf4f9" valign="top" class="foswikiTableCol3 foswikiLast"> <input type="radio" name="etcell3x4" value=":-)" /> <img src="%PUBURL%/%SYSTEMWEB%/SmiliesPlugin/smile.gif" alt="smile" title="smile" border="0" />  <input type="radio" name="etcell3x4" value=":-I" /> <img src="%PUBURL%/%SYSTEMWEB%/SmiliesPlugin/indifferent.gif" alt="indifferent" title="indifferent" border="0" />  <input type="radio" name="etcell3x4" value=":-(" checked="checked" /> <img src="%PUBURL%/%SYSTEMWEB%/SmiliesPlugin/frown.gif" alt="frown" title="frown" border="0" /> </td>
        <td bgcolor="#edf4f9" valign="top" class="foswikiTableCol4 foswikiLastCol foswikiLast"> 27 Jun 2002 12:40<input type="hidden" name="etcell3x5" value="27 Jun 2002 12:40" /> </td>
    </tr></table>
<input type="hidden" name="etrows" value="3" />
<input type="submit" name="etsave" id="etsave" value="Save table" class="foswikiSubmit" />
<input type="submit" name="etqsave" id="etqsave" value="Quiet save" class="foswikiButton" />
<input type="submit" name="etaddrow" id="etaddrow" value="Add row" class="foswikiButton" />
<input type="submit" name="etdelrow" id="etdelrow" value="Delete last row" class="foswikiButton" />
<input type="submit" name="etcancel" id="etcancel" value="Cancel" class="foswikiButtonCancel" />
</div><!-- /editTable -->

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 Foswiki applications where new topics with tables are created based on a template topic.

*You type:*
<verbatim class="tml">
%TABLE{"headerrows="1"}%
%EDITTABLE{ format="| label | text, 40 |" changerows="off" }%
|*Key*|*Value*|
| Name: | John Smith |
| Gender: | M %EDITCELL{select, 1, , F, M}% |
| DOB: | 1999/12/31 %EDITCELL{date, 10}% |
| City: | New York |
</verbatim>
<table style="background:#f2f2f2;" cellpadding="6">
<tr>
<th>
You get:
</th>
<th>
Table in edit mode:
</th>
</tr>
<tr>
<td valign="top">
<img src="%ATTACHURLPATH%/ScreenshotEditCell1.gif" alt="EDITCELL Example in view mode" width="150" height="172" />
</td>
<td valign="top">
<img src="%ATTACHURLPATH%/ScreenshotEditCell2.gif" alt="EDITCELL Example in edit mode" width="436" height="198" />
</td>
</tr></table>

---++ Plugin Settings

You can override the default settings for the plugin by defining the following [[%SYSTEMWEB%.PreferenceSettings][preferences]].

Note: Texts inside =%<nop>MAKETEXT{}%= are translated into other languages.
| *Preference* | *Meaning* | *Default* |
| EDITTABLEPLUGIN_JAVASCRIPTINTERFACE | Set to 0 to be disable the ability to directly move and delete row without page refresh. Can be overridden with parameter =javascriptinterface= | 1 |
| EDITTABLEPLUGIN_CHANGEROWS | Default for change rows flag: =on=, =off=, =add= | on |
| EDITTABLEPLUGIN_QUIETSAVE | Default flag for quiet save option: =on= to show the Quiet Save button, =off= to hide | on |
| EDITTABLEPLUGIN_EDIT_BUTTON | Specify =button text=, or =alternate text, image URL=.  | %MAKETEXT{"Edit this table"}%, %ATTACHURL%/edittable.gif |
| EDITTABLEPLUGIN_SAVE_BUTTON | Specify =button text=, or =alternate text, image URL=.  | %MAKETEXT{"Save table"}% |
| EDITTABLEPLUGIN_QUIET_SAVE_BUTTON | Specify =button text=, or =alternate text, image URL=.  | %MAKETEXT{"Quiet save"}% |
| EDITTABLEPLUGIN_ADD_ROW_BUTTON | Specify =button text=, or =alternate text, image URL=.  | %MAKETEXT{"Add row"}% |
| EDITTABLEPLUGIN_DELETE_LAST_ROW_BUTTON | Specify =button text=, or =alternate text, image URL=.  | %MAKETEXT{"Delete last row"}% |
| EDITTABLEPLUGIN_CANCEL_BUTTON | Specify =button text=, or =alternate text, image URL=.  | %MAKETEXT{"Cancel"}% |
| EDITTABLEPLUGIN_INCLUDED_TOPIC_DOES_NOT_EXIST | Default help texts | <span class="foswikiAlert">%MAKETEXT{"Warning: 'include' topic does not exist!"}%</span> |
   
*Note:* The Plugin uses base settings like date format, language and style from the JSCalendarContrib.

---++ Limitations and Known Issues

   * This Plugin does not support table formatting like Multi-span cells (e.g. =| ... ||=) and cell justification (e.g. =|  centered  |   right |=)
   * There is a performance issue when editing a large table, say, with more then 50 rows
   * You cannot put two =%<nop>EDITTABLE{}%= statements on the same line in the source
   * You can include %-vars now in select values, by quoting them with &lt;nop&gt;, as in %&lt;nop&gt;X% for %<nop>X%, say for instance:
     <br /> =select,1,%&lt;nop&gt;X%,%&lt;nop&gt;Y%=
   * The =%<nop>EDITTABLE{}%= macro may not be split over multiple lines



---++ Installation Instructions
You do not need to install anything in the browser to use this extension. The following instructions are for the administrator who installs the extension on the server.

Open configure, and open the "Extensions" section. "Extensions Operation and Maintenance" Tab -&gt; "Install, Update or Remove extensions" Tab.  Click the "Search for Extensions" button.  
Enter part of the extension name or description and press search.   Select the desired extension(s) and click install. If an extension is already installed, it will *not* show up in the
search results.

You can also install from the shell by running the extension installer as the web server user: (Be sure to run as the webserver user, not as root!)
<verbatim>
cd /path/to/foswiki
perl tools/extension_installer <NameOfExtension> install
</verbatim>

If you have any problems, or if the extension isn't available in =configure=, then you can still install manually from the command-line. See https://foswiki.org/Support/ManuallyInstallingExtensions for more help.

Test if the Plugin is correctly installed:
   * Check above example if there is an *[&nbsp;Edit&nbsp;table&nbsp;]* button below the table in above example
   * Click on *[&nbsp;Edit&nbsp;table&nbsp;]*, make changes and save the table

---++ License

   * The Edit Table Plugin is released under the [[http://www.gnu.org/licenses/gpl.html][GPL]]


---++ Dependencies
None

---++ Change History
%TABLE{columnwidths="7em" tablewidth="100%"}%
|  06 Aug 2023: | 4.47: Foswikitask:Item15151: add warnings and strictness |
|  04 Apr 2017: | 4.46: Item14324: Unescaped left brace - Perl 5.25.10 |
|  28 Nov 2016: | 4.45: Released with Foswiki 2.1.3<br/>\
                  Foswikitask:Item14236: Include compressed and gziped versions of css and js. |
|  19 Sep 2015: | 4.44: Foswikitask:Item13730: EditTablePlugin uses unescaped braces and calls CGI::param in list context. |
|  28 Nov 2012: | 4.43: Foswikitask:Item11267: Convert to perl version strings.  Release with Foswiki 1.1.6 |
|  06 Apr 2012: | 4.42: Foswikitask:Item11445: References to =Sandbox= should use %<nop>SANDBOXWEB% macro. Release with Foswiki 1.1.5. |
|  05 Dec 2011: | 4.41: Version released with Foswiki 1.1.4. Minor code and documentation cleanup. |
|  11 Apr 2011: | 4.40: Version released with Foswiki 1.1.3. Only a minor change related to how the plugin is being upgraded |
|  20 Jan 2011: | 4.39: Arthur Clemens: Foswikitask:Item10274 - Collision between Date formatting and Wiki variables |
|  06 Dec 2010: | 4.38: Andrew Jones: Foswikitask:Item10126 - Intermittent rendering issues under !FastCGI |
|  06 Nov 2010: | 4.37: Paul Harvey: Foswikitask:Item9963 - Revert usage of =$<nop>percent= back to =$<nop>percnt= |
|  31 Jul 2010: | 4.35: Paul Harvey: Foswikitask:Item9415 - Documentation updates |
|  23 Dec 2009: | 4.34: Arthur Clemens: Fixed a problem that the button "Delete last row" would remove newly added rows. |
|  16 Sep 2009: | 4.33: Kenneth Lavrsen: Removed debug alert when deleting rows |
|  13 Sep 2009: | 4.32: Arthur Clemens: Fix possible sorting issue on edit screen when no TABLE tag is present. |
|  02 Sep 2009: | 4.31: Kenneth Lavrsen: Disabled the display of SpreadSheetPlugin "CALC" in headers and footers as this caused the string CALC to be saved instead of the real formular. |
|  14 Jun 2009: | 4.30: Arthur Clemens: Major code refactoring to let !EditTablePlugin work together with !SpreadSheetPlugin. |
|  18 Apr 2009: | 4.22: Ignore all saving unless it happened by saving a form using POST method. <br />Fixed including edit parameters from subwebs. <br />Removed support for settings in the plugin topic which is a bad idea anyway as they get overwritten at each Foswiki upgrade. Define the global settings in <nop>%USERSWEB%.SitePreferences instead. |
|  26 Mar 2009: | 4.21: Fixed a problem with plugin going into deep recursive orbit when a table is followed by text containing vertical bars but not valid table row. |
|  17 Mar 2009: | 4.20: Fixed several bugs related to use of macros in EDITTABLE and TABLE tags |
|  08 Feb 2009: | 4.13: Fixed incidental removal of =EDITCELL= tags when a different table in the topic is edited. Improved display of linebreaks and TML inside cells. |
|  07 Feb 2009: | 4.12: Protect =verbatim class="xxx"= during edit. |
|  16 Dec 2008: | 4.11: Kenneth Lavrsen: Foswiki version |
|  01 Nov 2008: | 4.9: Arthur Clemens: Fixed rendering of =verbatim= blocks when editing. Added parameter =buttonrow="top"= to allow the buttons to be positioned at the top of the table. |
|  26 Sep 2008: | 4.8.7: Arthur Clemens: Let empty table initialize more than one column from =header= parameter |
|  24 Sep 2008: | 4.8.6: Arthur Clemens: Fix parsing of header labels |
|  21 Sep 2008: | 4.8.5: Arthur Clemens: Fix rendering of TML inside label |
|  03 Aug 2008: | 4.8.4: TWiki 4.2.1 release version |
|  19 Jul 2008: | 4.8.3: Bugfix release |
|  20 Mar 2008: | 4.8: Arthur Clemens: Code refactoring; disabled table sort when editing; removed usage of =$percnt= to prevent variable expansion (is now done automatically); made Javascript interface aware of headers and footers, and of =changerows="off"=; improved feedback on row move. |
|  25 Dec 2007: | 4.7.1: Arthur Clemens: Added warning if =include= parameter topic does not exist. |
|  22 Dec 2007: | 4.7: Arthur Clemens: Changed handling of escaped variables. To escape TWiki variable, use formatting tokens such as =$percnt=. |
|  16 Dec 2007: | 4.6: Kenneth Lavrsen: The plugin prevents 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 =sort= to "off". Disabling sorting while editing is needed now that the EditTablePlugin supports moving rows up and down. |
|  01 Dec 2007: | 4.3: Arthur Clemens: added support for TablePlugin =headerrows= and =footerrows=; updated edit button |
|  16 Oct 2007: | 4.2: Arthur Clemens: refactoring, bug fixes. |
|  07 Oct 2007: | 15182: PTh: Added !VarEDITTABLE to have it listed in !TWikiVariables |
|  15 Mar 2007: | Arthur Clemens: Fixed eating of double newlines; icons for Javascript buttons and interface improvements. By default the Javascript interface is turned off, set =JAVASCRIPTINTERFACE= to use it in edit mode. |
|  05 Mar 2007: | Byron Darrah: Added ability to dynamically move and delete rows. |
|  12 Oct 2006: | <a rel="nofollow" href="http://develop.twiki.org/~develop/cgi-bin/view/Bugs/Item2982">Item2982</a> Use default date format from JSCalendarContrib |
|  02 Oct 2006: | <a rel="nofollow" href="http://develop.twiki.org/~develop/cgi-bin/view/Bugs/Item2884">Item2884</a> Check also for access permission in meta data; proper fix to not warn if oneself has a lock on topic |
|  30 Aug 2006: | <a rel="nofollow" href="http://develop.twiki.org/~develop/cgi-bin/view/Bugs/Item2829">Item2829</a> Remove whitespace from select, radio and checkbox items; restored topic lock if $TWiki::Plugins::VERSION < 1.1 |
|  29 Jul 2006: | <a rel='nofollow' href='http://develop.twiki.org/~develop/cgi-bin/view/Bugs/Item2684'>Item2684</a> - Quietly ignore topic edit locks on table edit |
|  21 Jan 2006: | TWiki:Main.CrawfordCurrie ported to TWiki-4.0.0, changed to use JSCalendarContrib |
|  16 Sep 2004: | Added radio buttons and checkbox controls; escaped "%VBAR%" pipe symbol found in input fields to preserve tables |
|  01 Aug 2004: | Fixed bug where edittable did not work if at the end of a topic |
|  07 Apr 2004: | Fixed bug where two tables got updated when you edit and save a table included into a topic containing other edit tables |
|  02 Mar 2004: | Default for =%<nop>EDITCELL{editbutton}%= is EDITBUTTON preference |
|  27 Feb 2004: | Added QUIETSAVE setting and =quietsave= parameter; image for Edit button |
|  18 Feb 2004: | Doc fixes; allow edit button anywhere in a cell not just at the end of a cell |
|  17 Feb 2004: | Added per cell definition of edit field types with =%<nop>EDITCELL{}%= variable; added =headerislabel= and =editbutton= parameters |
|  20 Dec 2003: | 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 |
|  13 Dec 2003: | Added CHANGEROWS, JSCALENDARDATEFORMAT, JSCALENDARLANGUAGE, JSCALENDAROPTIONS settings |
|  16 Oct 2003: | small typo fixed (garbled if ---<nop>+ header on top) |
|  15 Oct 2003: | new date field type with Javascript calendar - CN |
|  14 Oct 2003: | docfix: the documentation page was an old one - CN |
|  13 Oct 2003: | bugfix: %-vars in select were resetted to first on add/del row - CN |
|  18 Sep 2003: | incompatibility: changed default of =changerows= to =on=; support for %-vars, Quiet save for saving without notification; all other fixes in Dev topic integrated - CN |
|  08 Nov 2002: | Prevent variable expansion in label text; added escape characters |
|  27 Jun 2002: | New =helptopic= parameter |
|  26 Jun 2002: | Support for variables in included EDITTABLE parameters; fixed problem with HTML in cells |
|  21 May 2002: | Added fixed label format; new =changerows="add"= parameter |
|  27 Apr 2002: | Fixed bug where text after a double quote in a cell disappeared |
|  18 Apr 2002: | Fixed bug where table was breaking when pasting multiple lines into an edit field using Netscape on Unix |
|  08 Apr 2002: | Check for change permission and edit lock of topic |
|  05 Apr 2002: | Initial version |


%META:FORM{name="PackageForm"}%
%META:FIELD{name="Author" title="Author" value="ProjectContributor"}%
%META:FIELD{name="Copyright" title="Copyright" value="&copy; 2008-2012, Arthur Clemens, 2008-2023, Foswiki Contributors; Copyright &copy; 2002-2007 Peter Thoeny, peter@thoeny.org and TWiki Contributors"}%
%META:FIELD{name="Description" title="Description" value="Edit tables using edit fields, date pickers and drop down boxes"}%
%META:FIELD{name="Home" title="Home" value="http://foswiki.org/Extensions/%TOPIC%"}%
%META:FIELD{name="License" title="License" value="GPL ([[http://www.gnu.org/copyleft/gpl.html][GNU General Public License]])"}%
%META:FIELD{name="Release" title="Release" value="15 Mar 2026"}%
%META:FIELD{name="Repository" title="Repository" value="https://github.com/foswiki/%TOPIC%"}%
%META:FIELD{name="Support" title="Support" value="http://foswiki.org/Support/%TOPIC%"}%
%META:FIELD{name="Version" title="Version" value="4.47"}%
%META:FILEATTACHMENT{name="EditTablePluginCalendarExample.gif" attr="h" comment="" date="1691320505" size="7823" user="ProjectContributor" version="1"}%
%META:FILEATTACHMENT{name="ScreenshotEditCell1.gif" attr="h" comment="" date="1691320505" size="2017" user="ProjectContributor" version="1"}%
%META:FILEATTACHMENT{name="ScreenshotEditCell2.gif" attr="h" comment="" date="1691320505" size="3199" user="ProjectContributor" version="1"}%
%META:FILEATTACHMENT{name="img.gif" attr="h" comment="" date="1691320505" size="145" user="ProjectContributor" version="1"}%
%META:FILEATTACHMENT{name="menuarrow.gif" attr="h" comment="" date="1691320505" size="68" user="ProjectContributor" version="1"}%
%META:FILEATTACHMENT{name="edittable.gif" attr="h" comment="" date="1691320505" size="298" user="ProjectContributor" version="1"}%
%META:FILEATTACHMENT{name="btn_move.gif" attr="h" comment="" date="1691320505" size="298" user="ProjectContributor" version="1"}%
%META:FILEATTACHMENT{name="btn_delete.gif" attr="h" comment="" date="1691320505" size="298" user="ProjectContributor" version="1"}%
%META:FILEATTACHMENT{name="btn_delete_disabled.gif" attr="h" comment="" date="1691320505" size="298" user="ProjectContributor" version="1"}%
%META:FILEATTACHMENT{name="edittable.css" attr="h" comment="" date="1691320505" size="298" user="ProjectContributor" version="1"}%
%META:FILEATTACHMENT{name="edittable.js" attr="h" comment="" date="1691320505" size="298" user="ProjectContributor" version="1"}%
%META:FILEATTACHMENT{name="move_done_bg_anim.gif" attr="h" comment="" date="1691320505" size="298" user="ProjectContributor" version="1"}%
