source: trunk/JQueryPlugin/data/System/JQueryPlugin.txt @ 7692

Revision 7692, 10.6 KB checked in by CrawfordCurrie, 3 years ago (diff)

Item2297: this started with trying to get the latest TMCE working with 1.0.9. First, there's no need for a required dependency on ZonePlugin, as long as the reporting of *why* JQueryPlugins don't work is clear. Second, the checking for zone capability is *not* dependent on the plugin, but the availability of the addToZone function. Third, the JQueryPlugin doc needed some work, and still needs more to clarify the role of the macros it registers (why are these not registered as and when plugins are enabled?) Fourth, TMCE now requires jQuery, which requires addToZone, so it can safely add itself to the body. Finally, a minor improvement to the reporting of initPlugin failures. The upshot of this all is that TinyMCE + jQuery + ZonePlugin, latest trunk versions, works with 1.0.9 and 1.1.

  • Property svn:keywords set to Revision Date
Line 
1%META:TOPICINFO{author="ProjectContributor" comment="reprev" date="1264672217" format="1.1" reprev="1.9" version="1.9"}%
2---+!! %TOPIC%
3<!--
4   * Set SHORTDESCRIPTION = jQuery <nop>JavaScript library for Foswiki
5-->
6%SHORTDESCRIPTION%
7
8%TOC%
9
10---++ Description
11<table style="float:right">
12<tr>
13  <td><img src="%ATTACHURLPATH%/wikiringlogo40x40.png" title="Make your Wiki ring!" alt="WikiRing"></td>
14  <td><a href="http://wikiring.com" title="Make your Wiki ring!" style="text-decoration:none">
15      Powered by <br /> <nop>WikiRing Consultants </a>
16  </td>
17</tr>
18</table>
19
20<blockquote>
21"jQuery is a fast, concise, <nop>JavaScript Library that simplifies how you traverse
22HTML documents, handle events, perform animations, and add Ajax interactions to
23your web pages."
24</blockquote>
25
26---++ Macros
27Depending on what jQuery plugins are enabled, the following Foswiki macros are available. See the documentation for the individual plugins for more information.
28   * Enabled by the 'foswiki' jQuery plugin
29      * [[VarJQTHEME][%<nop>JQTHEME%]]
30      * [[VarJQREQUIRE][%<nop>JQREQUIRE%]]
31      * [[VarJQICON][%<nop>JQICON%]]
32      * [[VarJQICONPATH][%<nop>JQICONPATH%]]
33      * [[VarJQPLUGINS][%<nop>JQPLUGINS%]]
34   * Enabled by the 'tabpane' jQuery plugin
35      * [[VarTABPANE][%<nop>TABPANE%]]
36      * [[VarENDTABPANE][%<nop>ENDTABPANE%]]
37      * [[VarTAB][%<nop>TAB%]]
38      * [[VarENDTAB][%<nop>ENDTAB%]]
39   * Enabled by the 'button' jQuery plugin
40      * [[VarBUTTON][%<nop>BUTTON%]]
41      * [[VarCLEAR][%<nop>CLEAR%]]
42
43---++ Coding Standards
44
45See [[JQuery Coding Standards]]
46This plugin contains the latest version of the [[http://jquery.com][jQuery]]
47<nop>JavaScript library.
48See also Foswiki:Development.UsingJQueryWithFoswiki for more information on
49using jQuery with Foswiki.
50
51---++ Further references and tutorials
52   * [[http://docs.jquery.com/How_jQuery_Works][Getting the feet wet]]
53   * [[http://docs.jquery.com/Tutorials][Tutorials]]
54   * [[http://docs.jquery.com/Main_Page][Reference API]]
55   * [[http://docs.jquery.com/Using_jQuery_with_Other_Libraries][Using jQuery with other libraries]]
56   * [[http://docs.jquery.com/Plugins][Plugin repository]]
57
58---++ Using compressed javascript and css files
59All jQuery plugins are shipped with uncompressed js and css files, as well as minified and gzip compressed.
60For instance the jquery.autocomplete comes with the following set:
61   1 %PUBURLPATH%/%SYSTEMWEB%/JQueryPlugin/plugins/autocomplete/jquery.autocomplete.uncompressed.js
62   1 %PUBURLPATH%/%SYSTEMWEB%/JQueryPlugin/plugins/autocomplete/jquery.autocomplete.js
63   1 %PUBURLPATH%/%SYSTEMWEB%/JQueryPlugin/plugins/autocomplete/jquery.autocomplete.js.gz
64
65There is a Makefile in the =%PUBURLPATH%/%SYSTEMWEB%/JQueryPlugin= root directory that ensures all these
66files are up to date. By default all files in the !JQueryPlugin package are up to date, so you only have to
67issue a =make= in the root directory if you wish to
68modify one of the files underneath. This will update
69all minified and gzipped files as required. Enable the ={JQueryPlugin}{Debug}= flag in =configure=,
70to use the uncompressed files right away to omit the =make= step during development of new javascript components.
71
72Apache can be configured to automatically use the =.gz= files if present using =mod_rewrite= as follows:
73<verbatim>
74  <FilesMatch ".*\.(js|css)$">
75    RewriteEngine On
76    RewriteCond %{HTTP:Accept-encoding} gzip
77    RewriteCond %{REQUEST_FILENAME}.gz -f
78    RewriteRule ^(.*)$ %{REQUEST_URI}.gz [L,QSA]
79  </FilesMatch>
80
81  <Files *.js.gz>
82    AddEncoding gzip .js
83    ForceType application/x-javascript
84  </Files>
85
86  <Files *.css.gz>
87    AddEncoding gzip .css
88    ForceType text/css
89  </Files>
90</verbatim>
91
92So whenever the browser accepts encoding the file as gzip _and_ the file with the =.gz= exists
93in the filesystem, then there will be an internal redirect in the server while still enforcing the original mime-type.
94The browser on the client side will unzip the css and js files automatically. This will drastically
95reduce bandwidth and speed up interactive performance.
96
97---++ Available jQuery plugins
98%JQPLUGINS{
99  format="<h3> $index. $percntIF{\"istopic '$documentation'\"
100                  then=\"[[$documentation][$name]]\"
101                  else=\"<nop>$name\"
102               }$percnt $active
103          </h3>
104          $summary
105  "
106}%
107
108
109---++ Installation Instructions
110%$INSTALL_INSTRUCTIONS%
111
112   * %X% For Foswiki versions before 1.1, this plugin requires the Foswiki:Extensions.ZonePlugin to be installed. The !ZonePlugin is *not* required for Foswiki 1.1 or later.
113
114---++ Plugin Info
115|  Author(s): | Michael Daum |
116|  Copyright: | 2007-2010 Michael Daum http://michaeldaumconsulting.com |
117|  License: | GPL |
118|  Release: | %$RELEASE% |
119|  Version: | %$VERSION% |
120|  Change History: | <!-- versions below in reverse order -->&nbsp; |
121|  28 May 2010: | (3.60) removed pointless TOGGLE module; \
122                  reworked handling of =meta= tags by merging =foswikilibs.js= with =jquery.foswiki= module; \
123                  fixed IE7 error with floats inside tabpanes; \
124                  added ajax handler to query foswiki preferences async-ly |
125|  30 Apr 2010: | (3.51) fixed initial classes of click-areas in treeviews |
126|  29 Mar 2010: | (3.42) disable plugin when prerequisites are not met |
127|  28 Mar 2010: | (3.41) fix ZonePlugin listed as optional dependency (not optional for Foswiki 1.0.x installations) |
128|  26 Mar 2010: | (3.40) externalized grid and fullcalendar modules into plugins of their own; upgraded to jquery-ui 1.7.2; only load i18n support matching the current site language |
129|  20 Mar 2010: | (3.31) Minifier CPAN libs removed from plugin. They will be in core CPAN lib in Foswiki 1.1 |
130|  14 Mar 2010: | (3.30) upgraded =validate= to v1.7; added =wikiword= validation method; \
131                  fixed computation of line-height in =fluidfont=; \
132                  fixed height issue in =tabpane= |
133|  03 Mar 2010: | made ZonePlugin an optional dependency |
134|  01 Mar 2010: | improved js and css compression using yuicompressor; \
135                  improved simplemodal integration to foswiki to create modal dialogs with less additional javascript; \
136                  added custom events to textboxlist: <nop>AddValue, <nop>DeleteValue , Reset and Clear |
137|  12 Feb 2010: | added livequery and rewrote all initializers to use it; \
138                  added =rating= formfield type; \
139                  updated jqGrid to latest version; \
140                  improved foswiki integration and documentation of various plugins; \
141                  upgraded jwplayer coming with media plugin; \
142                  using Foswiki:Extensions/ZonePlugin now to optimize page load time |
143|  08 Feb 2010: | added query-object |
144|  28 Jan 2010: | added jquery-1.4.1, corner, fluidfont, fullcalendar, \
145                  localscroll, masonry, scrollto, serialscroll, slimbox; \
146                  deprecated jquery.nifty; disabled JQSCRIPT and JQSTYLE |
147|  11 Nov 2009: | added jqGrid library; reorganized documentation |
148|  07 Nov 2009: | updated Superfish to 1.4.8 and added examples topic, added\
149                  supersubs plugin, moved JQuery examples from Sandbox to System |
150|  29 Oct 2009: | added SCRIPTSUFFIX to foswiki var set (CDot) |
151|  14 Sep 2009: | added perls tubs for jquery.ui, so that you can pull it in via JQREQUIRE now; \
152                  reworked plugin initialization to allow elements to be init'ed when loaded via ajax; \
153                  fixed BUTTON to play nicely with !TwistyPlugin; \
154                  only load ui-theme if you jqrequire the ui library |
155|  20 Aug 2009: | made <nop>JQueryPlugin <nop>SafeWikiPlugin compatible |
156|  02 Jul 2009: | improved parsing of foswiki meta tags in html header; \
157                  fixed jqTreeview initialisation for jquery-1.3.x; \
158                  fixed chili initialisation; \
159                  dropped support for konqueror3 |
160|  23 Jun 2009: | added jquery.focus, jquery.textboxlist, jquery.farbtastic; jquery.gradient; \
161                  added =color= and =textboxlist= formfield types; \
162                  made !JQueryPlugin pluggable itself; \
163                  added animation switching tabs; \
164                  improved automaxexpand feature in tabs |
165|  28 Apr 2009: | added jquery.media, jquery.simplemodal, shell highlightning for chilli |
166|  03 Feb 2009: | fixed tabpane not being rendered using a rest handler; \
167                  added id to tabs that can be used to init the first active one; \
168                  added compressed version of blockUI; \
169                  replaced ICONTOPIC preference variable with ICONSEARCHPATH to search for icons \
170                  in multiple directories (defaults to all of <nop>FamFamFamContrib) |
171|  15 Jan 2009: | fixed click target for relative urls in %<nop>BUTTON{}%; yet another jquery.wikiword fix |
172|  13 Jan 2009: | fixed jquery.wikiword not to depend on outside string libraries; \
173                  added foswiki alias to global javascript variables (Eugen Mayer) |
174|  08 Jan 2009: | certified for foswiki/compat; fixed BUTTON target for non-wikiword topics |
175|  12 Dec 2008: | fixed a series of IE6+IE7 issues |
176|  18 Nov 2008: | added jquery.ifixpng; \
177                  improved BUTTON tag to have submit and clear and reset buttons; \
178                  ie6 fixes for BUTTONs; \
179                  added missing jquery.wikiword plugin |
180|  13 Nov 2008: | added automaxexpand for TABPANES ;\
181                  added jquery.shake plugin; \
182                  reworked BUTTON tag |
183|  15 Oct 2008: | added jquery.autocomplete, jquery.cycle |
184|  20 Jul 2008: | added jquery.form, jquery.maskedinput, jquery.validate |
185|  15 Jul 2008: | updated to ui-1.5.2; added async treeview; added async options to tabpane |
186|  03 Jul 2008: | updated to ui-1.5.1 |
187|  05 Jun 2008: | updated to jquery-1.2.6 and ui-1.5-RC1 |
188|  30 Apr 2008: | repackaged to contain jquery UI |
189|  13 Feb 2008: | upgrade to jquery-1.2.3, as well as most plugins |
190|  17 Jan 2008: | added jquery.metadata plugin; \
191                  implemented a jquery.tabpane plugin; \
192                  updated jquery.dimensions plugin; \
193                  added jquery.empty plugin to ease development of new plugins |
194|  15 Nov 2007: | use skin independent way to add javascript files to header |
195|  10 Oct 2007: | upgraded to jQuery-1.1.4; compressed js and css |
196|  12 Jul 2007: | initial package containing jQuery-1.1.3.1 |
197|  Dependencies: | %$DEPENDENCIES% |
198|  Home: | Foswiki:Extensions/%TOPIC% |
199|  Support: | Foswiki:Support/%TOPIC% |
200
201
202%META:FILEATTACHMENT{name="wikiringlogo40x40.png" attachment="wikiringlogo40x40.png" attr="h" comment="" date="1189787359" path="wikiringlogo40x40.png" size="2571" stream="wikiringlogo40x40.png" tmpFilename="" user="ProjectContributor" version="1"}%
Note: See TracBrowser for help on using the repository browser.