Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://wiki.cmc.msu.ru/System/JQueryAjaxHelper?cover=print;rev=9
Дата изменения: Unknown Дата индексирования: Mon Apr 11 09:18:39 2016 Кодировка: |
%INCLUDE
. The Server section is expanded in
response to an AJAX request from a jQuery plugin.
This page also acts as a library of some commonly-used form inputs. For
example, the Topic selector example can be used
in your own topics to define an HTML form input with the name newtopic
by putting this in your topic:
%INCLUDE{ "%SYSTEMWEB%.JQueryAjaxHelper" section="topicselector" INPUT_NAME="newtopic" EXCLUDE="Web*" }%
topic
section of this topic, which expands to the topic list.
INPUT_NAME
: name (and id) of HTML input field
INPUT_VALUE
: preselected value
EXCLUDE
: exclude expression to filter out unwanted topics, see the excludetopic
parameter in VarSEARCH
%STARTSECTION{"topicselector"}%<!-- topicselector --> <input type="text" class="foswikiInputField" name="%INPUT_NAME%" id="%INPUT_NAME%" autocomplete="%SCRIPTURL{"view"}%/%SYSTEMWEB%/JQueryAjaxHelper?section=topic;skin=text;contenttype=application/json;baseweb=%BASEWEB%;%IF{"defined EXCLUDE" then="exclude=%EXCLUDE%"}%" size="60" value="%IF{"defined INPUT_VALUE" then="%INPUT_VALUE%"}%" /> <!-- //topicselector -->%ENDSECTION{"topicselector"}%
term
: search term substring typed so far
limit
: number of search results to return, defaults to 10
baseweb
: the web where to search for topics
exclude
: exclude expression to filter out unwanted topics
%STARTSECTION{"topic"}%[%SEARCH{ "^%URLPARAM{"term" default="does not exist"}%.*" type="regex" scope="topic" format="<nop>%URLPARAM{"format" encode="quote" default="{\\"label\\":\\"$topic\\", \\"value\\":\\"$web.$topic\\"}"}%" separator="," limit="%URLPARAM{"limit" default="10"}%" nonoise="on" excludetopic="%URLPARAM{"exclude"}%" web="%URLPARAM{"baseweb" default="%BASEWEB%"}%" }%]%ENDSECTION{"topic"}%
INPUT_NAME
: name of text input field
INPUT_VALUE
: preselected value
%STARTSECTION{"webselector"}%<!-- webselector --> <input type="text" class="foswikiInputField" name="%INPUT_NAME%" id="%INPUT_NAME%" autocomplete="%SCRIPTURL{"view"}%/%SYSTEMWEB%/JQueryAjaxHelper?section=web;skin=text;contenttype=application/json;%IF{"defined EXCLUDE" then="exclude=%EXCLUDE%"}%" size="60" value="%IF{"defined INPUT_VALUE" then="%INPUT_VALUE%"}%" /> <!-- //webselector -->%ENDSECTION{"webselector"}%
term
: search term substring typed so far
limit
: number of search results to return, defaults to 10
%STARTSECTION{"web"}%%FLEXWEBLIST{ include="^%URLPARAM{"term" default="does not exist"}%.*" ignorecase="on" limit="%URLPARAM{"limit" default="10"}%" header="[" format="\"<nop>$web\"" footer="]" separator=", " subheader=", " subfooter=" " }%%ENDSECTION{"web"}%
GLOBAL
: toggle search for topics in all webs on/off, defaults to off
%STARTSECTION{"jumpbox"}%<!-- jumpbox --> <input type="text" class="foswikiInputField jqJumpBox {%IF{ "$GLOBAL = 'on'" then="global: true, baseweb:'all, -%TRASHWEB%', format:'"$web.$topic"'" else="global: false, baseweb:'%BASEWEB%', format:'"$topic"'" }%}" name="topic" autocomplete="off" size="60" /> %ADDTOZONE{"script" tag="jumpbox::js" section="jumpbox::js" requires="JQUERYPLUGIN::UI::AUTOCOMPLETE" }% <!-- //jumpbox -->%ENDSECTION{"jumpbox"}%The following section is used by the section above; it adds a special Javascript function to the page.
%STARTSECTION{"jumpbox::js"}%<literal> <script type="text/javascript"> jQuery(function($){ $(".jqJumpBox").each(function() { var $this = $(this), opts = $.extend({}, $this.metadata()); $this.autocomplete({ source: foswiki.getPreference('SCRIPTURL') + '/view/' + foswiki.getPreference('SYSTEMWEB') + "/JQueryAjaxHelper?section=topic;skin=text;contenttype=application/json;baseweb="+opts.baseweb+";format="+opts.format, select: function(event, ui) { window.location.href=foswiki.getPreference('SCRIPTURL') + '/view/'+(opts.global?'':opts.baseweb+'/')+ui.item.value; } }); }); }); </script> </literal>%ENDSECTION{"jumpbox::js"}%
topic
server section, defined above.
$Foswiki::cfg{AntiSpam}{HideUserDetails}
), then this example will not work unless you are an administrator.INPUT_NAME
: name of text input field
INPUT_VALUE
: preselected user
%STARTSECTION{"userselector"}%<!-- userselector --> <input type="text" class="foswikiInputField jqUserSelector" name="%INPUT_NAME%" id="%INPUT_NAME%" autocomplete="%SCRIPTURL{"view"}%/%SYSTEMWEB%/JQueryAjaxHelper?section=user;skin=text;contenttype=application/json" size="60" value="%IF{"defined INPUT_VALUE" then="%INPUT_VALUE%"}%" /> %ADDTOZONE{"script" tag="userselector::js" section="userselector::js" requires="JQUERYPLUGIN::UI::AUTOCOMPLETE" }% <!-- //userselector -->%ENDSECTION{"userselector"}%The following section is used by the section above; it adds a special Javascript function to the page.
%STARTSECTION{"userselector::js"}%<literal> <script type="text/javascript"> jQuery(function($){ $(".jqUserSelector").data("ui-autocomplete")._renderItem = function(ul, item) { if (typeof(item.label) !== 'undefined') { return $("<li></li>") .data("item.autocomplete", item) .append("<a><table width='100%'><tr><td width='60px'><img width='50' src='"+item.img+"' /></td><td>"+item.label+"<br />"+item.email+"</td></tr></table></a>") .appendTo(ul); } }; }); </script> </literal>%ENDSECTION{"userselector::js"}%
term
: search term substring typed so far
limit
: number of search results to return, defaults to 10
%STARTSECTION{"user"}%<literal>%FORMAT{ "%SEARCH{ ".*%URLPARAM{"term" default="does not exist"}%.*" type="regex" scope="topic" format="$percntIF{\"'$percntGROUPINFO{\"$topic\" format=\"$dollarname, \" limit=\"1\"}$percnt'=''\" then=\"$percntUSERINFO{\"$topic\" format=\"$dollarwikiname, \"}$percnt\" else=\"$percntGROUPINFO{\"$topic\" format=\"$dollarname, \" limit=\"1\"}$percnt\" }$percnt" separator="" limit="%URLPARAM{"limit" default="10"}%" nonoise="on" web="%USERSWEB%" }%" type="string" header="[$n" format=" {\"label\":\"<nop>$item\", \"email\":\"$percntUSERINFO{\"$item\" format=\"$emails\"}$percnt\", \"img\":\"$percntFORMFIELD{\"Photo\" topic=\"%USERSWEB%.$item\" default=\"%PUBURLPATH%/%SYSTEMWEB%/JQueryPlugin/images/nobody.gif\" alttext=\"%PUBURLPATH%/%SYSTEMWEB%/JQueryPlugin/images/nobody.gif\" }$percnt\" }" separator=",$n" footer="$n]" }% </literal>%ENDSECTION{"user"}%
%QUERY
asynchronously (requires Foswiki 1.1
or later).
ID
: id of an element to bind an onclick event to
SOURCE
: topic to get the field from
QUERY
: query to perform
%STARTSECTION{"queryfetcher"}%%ADDTOZONE{"script" tag="query::js" requires="JQUERYPLUGIN" text ="<literal> <script type=\"text/javascript\"> jQuery(function($){ $(\"#%ID%\").click(function() { $.get(foswiki.getPreference('SCRIPTURL') + '/view/' + foswiki.getPreference('SYSTEMWEB') + '/JQueryAjaxHelper?section=query;topic=%SOURCE%;query=%QUERY%;skin=text', function(data) { // This is the function that will be executed when the // data is fetched alert('%QUERY% is ' + data); }); }); }); </script></literal> "}%%ENDSECTION{"queryfetcher"}%
source
: source topic
query
: query to perform
%STARTSECTION{"query"}%<noautolink>%QUERY{ "%URLPARAM{"query" default="query missing"}%" style="json" }%</noautolink>%ENDSECTION{"query"}%
source
: source topic
formfield
: name of formfiled to retrieve
%STARTSECTION{"formfield"}%%FORMFIELD{ "%URLPARAM{"formfield" default="does not exist"}%" topic="%URLPARAM{"source" default="does not exist"}%" }%%ENDSECTION{"formfield"}%
<img...>
to a user's photo. See the User selector example above.
URL Parameters name
: name of user
height
: image height, defaults to 50
%STARTSECTION{"userphoto"}%<img src='%FORMFIELD{"Photo" topic="%USERINFO{"%URLPARAM{"name" default="does not exist"}%" format="$wikiusername"}%" default="%PUBURLPATH%/%SYSTEMWEB%/JQueryPlugin/images/nobody.gif" alttext="%PUBURLPATH%/%SYSTEMWEB%/JQueryPlugin/images/nobody.gif"}%' alt='%URLPARAM{"name"}%' height='%URLPARAM{"height" default="50"}%' />%ENDSECTION{"userphoto"}%
expression
: TML to be evaluated; will be wrapped into %...% before executing it
scope
: optionally defines the topic within which the expression is expanded
%STARTSECTION{"expand"}%%EXPAND{"$percnt%URLPARAM{"expression"}%$percnt" scope="%URLPARAM{"scope" default="%BASEWEB%.%BASETOPIC%"}%"}%%ENDSECTION{"expand"}%