This is a rating widget that can support a "line of stars" style input field.
rating
type in form fields. The result of the rating is captured as an integer, and displayed as a line of stars. For example,
Install the contrib into your TWiki. You can immediately use the rating
type in your forms. Rating values are stored as integers.
To use it in a TWiki form, use the type rating
, with the optional modified +small
for small stars. The size field dictates how wide the rating is e.g. 5 means a 5 star range. The value field specifies the initial value. For example, the form definition:
| *Name* | *Type* | *Size* | *Values* | | Supplier | text | 40 | | | Quality | rating+small | 10 | 5 | | Order Date | date | | |looks like this when it is edited:
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 where TWiki is running.
Like many other TWiki extensions, this module is shipped with a fully automatic installer script written using the BuildContrib.
configure
interface (Go to Plugins->Find More Extensions) RatingContrib_installer
perl script and run it.
$TWIKI_PACKAGES
to this directory, and the installer script will look there first for required TWiki packages. $TWIKI_PACKAGES
is actually a path; you can list several directories separated by :
.zip
or .tgz
archives to a temporary directory.
,v
files in your existing install (take care not to lock the files when you check in)
configure
and enable the module, if it is a plugin.
TWiki::Contrib::RatingContrib::renderRating($name, $size, $small, $value, $input_attrs) -> $html
where
$name
is the name you want to give to the input
element that will get the rating value
$size
is the total width of the rating bar, typically 5 or 10
$small
is a boolean; if true, use small (10px) stars in place of the default (25px) stars
$value
is the current value of the rating. This may be a floating-point value, but should be in the range 0..$size
$input_attrs
is a hash that contains additional attributes to be assigned to the input
element used to capture the rating value. Typically the only attribute callers will need to use is onchange
, which should be set to a callback that will be invoked when the value in the input
is changed. If you pass undef
for this parameter, then the line of stars will be "read only".
For example, let's say we want to generate a conventional form that contains a line of stars prompt. We want the value of the rating bar to be submitted along with everything else in the form.
my $html = CGI::form({action="some url", method=>"post"}, TWiki::Contrib::RatingContrib::renderRating('rating', 5, 0, 0, {}) .CGI::submit("OK"));
Say instead that we want to generate an alert when a line of stars has its value changed:
$html = TWiki::Contrib::RatingContrib::renderRating('rating', 5, 0, 0, {onchange=>'javascript: alert("Rated")'})Of course, when you use the
onchange
event, you don't need a form. This model
is good if you want (for example) to update values using a REST handler.
Contrib Author(s): | Crawford Currie http://c-dot.co.uk |
Copyright: | © 2007 C-Dot Consultants |
License: | GPL (Gnu General Public License) |
Contrib Version: | 14295 (27 Jun 2007) |
Change History: | |
27 Jun 2006: | First version |
Dependencies: | None |
Contrib Home: | http://twiki.org/cgi-bin/view/Plugins/RatingContrib |
Feedback: | http://twiki.org/cgi-bin/view/Plugins/RatingContribDev |
Appraisal: | http://twiki.org/cgi-bin/view/Plugins/RatingContribAppraisal |
Related Topics: TWikiContribs, DeveloperDocumentationCategory, AdminDocumentationCategory, TWikiPreferences