Edit Table Plugin
This plugin allows you to edit TWiki tables using edit fields and drop down boxes. Tables have an
[ Edit table ] button if preceeded by an
%EDITTABLE{...}%
variable. Each column can be a text field, a drop down box, a date field, etc. Multiple tables per topic are editable, but only one at a time can be edited.
Per Table Settings
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. Parameters:
Initial Values
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 if you do not want that:
Date Field Type

The
date
field type allows one to choose a date with a popup calendar. Popup calendar works for Netscape 6.0 or better, all other Gecko-based browsers, Internet Explorer 5.0 or better for Windows, Opera 7 and Konqueror 3.1.2. The
...
button is inactive if the browser cannot support the popup calendar. It uses the nice
Mishoo DHTML calendar, see also
TWiki:Codev/JavaScriptDatePickerForForm
Per Cell Settings
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" }% |
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.
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.
Examples
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" }%
Note: Please do not save this example table! Use TWiki:Sandbox.EditTablePluginTesting if you want to try out this Plugin
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:
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.
You type:
%EDITTABLE{ format="| label | text, 40 |" }%
|
Screenshot:
|
Screenshot in edit mode:
|
Plugin Settings
Plugin settings are stored as preferences variables. To reference
a plugin setting write
%<plugin>_<setting>%
, for example,
%EDITTABLEPLUGIN_SHORTDESCRIPTION%
- One line description, shown in the TextFormattingRules topic:
- Set SHORTDESCRIPTION = Edit TWiki tables using edit fields, date pickers and drop down boxes
- Set DEBUG to 1 to get debug messages in
data/debug.txt
. Default: 0
- Default for change rows flag:
on
, off
, add
- Default flag for quiet save option:
on
to show the Quiet Save button, off
to hide
- Default edit button: Specify
button text
, or specify alternate text, image URL
- #Set EDITBUTTON = Edit table
- Set EDITBUTTON = Edit this table,
Note: The Plugin uses base settings like language and style from the
JSCalendarContrib. The standard date format is '%e %B %Y' and is defined within this plugin.
Limitations and Known Issues
- This Plugin does not support TWiki 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
- Variables like
%ATTACHURL%
get expanded unless they are in a label
- You cannot put two
%EDITTABLE{}%
statements on the same line in the source
- You can include %-vars now in select values, by quoting them with <nop>, as in %<nop>X% for %X%, say for instance:
select,1,%<nop>X%,%<nop>Y%
Plugin Installation Instructions
Note: You do not need to install anything on the browser to use this Plugin. The following instructions are for the administrator who installs the plugin on the server where TWiki is running.
- Download the ZIP file from the Plugin web (see below)
- Unzip
EditTablePlugin.zip
in your twiki installation directory. Content:
- 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.
- The Mishoo DHTML calendar 0.9.5 is preinstalled and should work without any configuration. If you wish to use another language, specify the in the Plugin settings, or create a new language files, attach it to the Plugin topic, and change the Plugin settings
- Test if the Plugin is correctly installed:
- Check above example if there is an [ Edit table ] button below the table in above example
- Click on [ Edit table ], make changes and save the table
License
- The Edit Table Plugin is released under the GPL
- The Mishoo DHTML calendar bundled with this Plugin was created by Mihai Bazon and is released under the LGPL -- thanks Mihai for the great tool
Plugin Info
Related Topics: TWikiPreferences,
TWikiPlugins
--
TWiki:Main/PeterThoeny - 16 Sep 2004