- Methods: All Methods Documented Methods Hide Methods
- Source: Display Source Hide Source
- Variables: Show Variables Hide Variables
Class ::xowiki::formfield::textarea
::xowiki::formfield::textarea create ... \
[ -autosave:boolean (default "false") ] \
[ -cols (default "80") ] \
[ -paste:boolean (default "true") ] \
[ -rows (default "2") ] \
[ -spell (default "false") ] \
[ -spellcheck:boolean (default "true") ]
Class Relations
- class: ::xotcl::Class
- superclass: ::xowiki::formfield::FormField
- subclass: ::xowiki::formfield::workflow_definition, ::xowiki::formfield::code_listing, ::xowiki::formfield::richtext, ::xowiki::formfield::menuentries, ::xowiki::formfield::form_constraints
::xotcl::Class create ::xowiki::formfield::textarea \ -superclass ::xowiki::formfield::FormFieldMethods (to be applied on instances)
add_statistics (scripted)
#:log "add_statistics $options" next if {[dict exists $options word_statistics]} { #:log "add_statistics call :word_statistics" :word_statistics [dict get $options word_statistics] }autosave (setter)
clear_editor_mixins (scripted)
foreach m [:info mixin] { if {[$m exists editor_mixin]} { :mixin delete $m } }cols (setter)
initialize (scripted)
set :widget_type text(textarea) set :booleanHTMLAttributes {required readonly disabled formnovalidate} foreach p [list rows cols style] { if {[info exists :$p]} {set :html($p) [:$p]} } if {![:istype ::xowiki::formfield::richtext] && [info exists :editor]} { # downgrading #:msg "downgrading [:info class]" :clear_editor_mixins foreach v {editor options} { if {[info exists :$v]} { unset :$v } } } if {${:autosave}} { ::xo::Page requireJS "/resources/xowiki/autosave-text.js" } nextpaste (setter)
render_input (scripted)
if {[:is_disabled] && [info exists :disabled_as_div]} { :render_disabled_as_div textarea } else { set booleanAtts [:booleanAttributes {*}${:booleanHTMLAttributes}] if {!${:spellcheck}} { set :data-gramm false set :data-lt-active false } if {${:autosave}} { ::html::div -class "autosave" { ::html::div -id ${:id}-status -class "nochange" -data-saved #xowiki.autosave_saved# -data-rejected #xowiki.autosave_rejected# -data-pending #xowiki.autosave_pending# { ::html::t "" ;#"no change" } ::html::textarea [:get_attributes id name cols rows style wrap placeholder data-repeat-template-id {CSSclass class} spellcheck data-gramm data-lt-active {*}$booleanAtts] { ::html::t [:value] } } template::add_event_listener -id ${:id} -event keyup -preventdefault=false -script "autosave_handler('${:id}');" } else { ::html::textarea [:get_attributes id name cols rows style wrap placeholder data-repeat-template-id {CSSclass class} {*}$booleanAtts] { ::html::t [:value] } } # # For emergency situations, one might allow swa always pasting # if {!${:paste} && ![acs_user::site_wide_admin_p -user_id [::xo::cc user_id]]} { ... } # if {!${:paste}} { # # When "paste" is deactivated, the cut&paste and drag&drop # handlers are deactivated for this field. "copy" is # deactivated for the full page, since otherwise, one could # cut the field with the surrounding text. # foreach event_type {paste drag drop} { template::add_event_listener -id ${:id} -event $event_type -preventdefault=true -script "" } template::add_script -section body -script { window.addEventListener('copy', function (event) {event.preventDefault();}, false); } } :resetBooleanAttributes $booleanAtts } :render_result_statisticsrows (setter)
set_feedback (scripted)
set :correction [next] return ${:correction}spell (setter)
spellcheck (setter)
- Methods: All Methods Documented Methods Hide Methods
- Source: Display Source Hide Source
- Variables: Show Variables Hide Variables