.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.42) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "HTML::Prototype 3pm" .TH HTML::Prototype 3pm "2022-06-14" "perl v5.34.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" HTML::Prototype \- Generate HTML and Javascript for the Prototype library .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& use HTML::Prototype; \& \& my $prototype = HTML::Prototype\->new; \& print $prototype\->auto_complete_field(...); \& print $prototype\->auto_complete_result(...); \& print $prototype\->auto_complete_stylesheet(...); \& print $prototype\->content_tag(...); \& print $prototype\->define_javascript_functions; \& print $prototype\->draggable_element(...); \& print $prototype\->drop_receiving_element(...); \& print $prototype\->evaluate_remote_response(...); \& print $prototype\->form_remote_tag(...); \& print $prototype\->in_place_editor(...); \& print $prototype\->in_place_editor_field(...); \& print $prototype\->in_place_editor_stylesheet(...); \& print $prototype\->javascript_tag(...); \& print $prototype\->link_to_function(...); \& print $prototype\->link_to_remote(...); \& print $prototype\->observe_field(...); \& print $prototype\->observe_form(...); \& print $prototype\->periodically_call_remote(...); \& print $prototype\->sortable_element(...); \& print $prototype\->submit_to_remote(...); \& print $prototype\->tag(...); \& print $prototype\->text_field_with_auto_complete(...); \& print $prototype\->update_element_function(...); \& print $prototype\->visual_effect(...); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" The module contains some code generators for Prototype, the famous JavaScript \&\s-1OO\s0 library and the script.aculous extensions. .PP The Prototype library (http://prototype.conio.net/) is designed to make \&\s-1AJAX\s0 easy. Catalyst::Plugin::Prototype makes it easy to connect to the Prototype library. .PP This is mostly a port of the Ruby on Rails helper tags for JavaScript for use in Catalyst. .SS "\s-1METHODS\s0" .IX Subsection "METHODS" .ie n .IP "$prototype\->in_place_editor( $field_id, \e%options )" 4 .el .IP "\f(CW$prototype\fR\->in_place_editor( \f(CW$field_id\fR, \e%options )" 4 .IX Item "$prototype->in_place_editor( $field_id, %options )" Makes an \s-1HTML\s0 element specified by the \s-1DOM ID\s0 \f(CW$field_id\fR become an in-place editor of a property. .Sp A form is automatically created and displayed when the user clicks the element, something like this: .Sp .Vb 5 \&
\& \& \& cancel \&
.Ve .Sp The form is serialized and sent to the server using an Ajax call, the action on the server should process the value and return the updated value in the body of the reponse. The element will automatically be updated with the changed value (as returned from the server). .Sp Required options are: .Sp \&\f(CW\*(C`url\*(C'\fR: Specifies the url where the updated value should be sent after the user presses \*(L"ok\*(R". .Sp Addtional options are: .Sp \&\f(CW\*(C`rows\*(C'\fR: Number of rows (more than 1 will use a \s-1TEXTAREA\s0) .Sp \&\f(CW\*(C`cols\*(C'\fR: The number of columns the text area should span (works for both single line or multi line). .Sp \&\f(CW\*(C`size\*(C'\fR: Synonym for XcolsX when using single-line (rows=1) input .Sp \&\f(CW\*(C`cancel_text\*(C'\fR: The text on the cancel link. (default: \*(L"cancel\*(R") .Sp \&\f(CW\*(C`form_class_name\*(C'\fR: \s-1CSS\s0 class used for the in place edit form. (default: \*(L"inplaceeditor-form\*(R") .Sp \&\f(CW\*(C`save_text\*(C'\fR: The text on the save link. (default: \*(L"ok\*(R") .Sp \&\f(CW\*(C`saving_class_name\*(C'\fR: \s-1CSS\s0 class added to the element while displaying \*(L"Saving...\*(R" (removed when server responds). (default: \*(L"inplaceeditor-saving\*(R") .Sp \&\f(CW\*(C`load_text_url\*(C'\fR: Will cause the text to be loaded from the server (useful if your text is actually textile and formatted on the server) .Sp \&\f(CW\*(C`loading_text\*(C'\fR: If the \f(CW\*(C`load_text_url\*(C'\fR option is specified then this text is displayed while the text is being loaded from the server. (default: \*(L"Loading...\*(R") .Sp \&\f(CW\*(C`click_to_edit_text\*(C'\fR: The text on the click-to-edit link. (default: \*(L"click to edit\*(R") .Sp \&\f(CW\*(C`external_control\*(C'\fR: The id of an external control used to enter edit mode. .Sp \&\f(CW\*(C`ajax_options\*(C'\fR: Pass through options to the \s-1AJAX\s0 call (see prototype's Ajax.Updater) .Sp \&\f(CW\*(C`with\*(C'\fR: JavaScript snippet that should return what is to be sent in the Ajax call, \f(CW\*(C`form\*(C'\fR and \f(CW\*(C`value\*(C'\fR are implicit parameters .ie n .IP "$prototype\->in_place_editor_field( $object, $method, \e%tag_options, \e%in_place_editor_options )" 4 .el .IP "\f(CW$prototype\fR\->in_place_editor_field( \f(CW$object\fR, \f(CW$method\fR, \e%tag_options, \e%in_place_editor_options )" 4 .IX Item "$prototype->in_place_editor_field( $object, $method, %tag_options, %in_place_editor_options )" Renders the value of the specified object and method with in-place editing capabilities. .ie n .IP "$prototype\->in_place_editor_stylesheet" 4 .el .IP "\f(CW$prototype\fR\->in_place_editor_stylesheet" 4 .IX Item "$prototype->in_place_editor_stylesheet" Returns the in_place_editor stylesheet. .ie n .IP "$prototype\->auto_complete_field( $field_id, \e%options )" 4 .el .IP "\f(CW$prototype\fR\->auto_complete_field( \f(CW$field_id\fR, \e%options )" 4 .IX Item "$prototype->auto_complete_field( $field_id, %options )" Adds Ajax autocomplete functionality to the text input field with the \&\s-1DOM ID\s0 specified by \f(CW$field_id\fR. .Sp This function expects that the called action returns a \s-1HTML\s0