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

Revision 9615, 12.5 KB checked in by KennethLavrsen, 3 years ago (diff)

Item9828: ImageGalleryPlugin not working on Foswiki 1.1.0 because og bug in JQueryPlugin
Simple code bug fixed by Holstener Liesel

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