Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

FLUID-3051: tagging the 0.8.1 release

svn path=/fluid/infusion/tags/fluid-0.8.1/; revision=7623
  • Loading branch information...
commit bb035555d0e3d3beb2b8c4af13d22b6f04bc272b 0 parents
@jobara jobara authored
Showing with 32,556 additions and 0 deletions.
  1. +11 −0 .project
  2. +227 −0 LICENSE.txt
  3. +157 −0 README.txt
  4. +18 −0 build-scripts/build.properties
  5. +387 −0 build-scripts/build.xml
  6. BIN  build-scripts/lib/jslint4java-1.1+rhino.jar
  7. BIN  build-scripts/lib/yuicompressor-2.3.3.jar
  8. +46 −0 maven.xml
  9. +29 −0 pom.xml
  10. +3 −0  project.properties
  11. +36 −0 project.xml
  12. +8 −0 src/webapp/WEB-INF/web.xml
  13. +62 −0 src/webapp/fluid-components/css/FSSDemo.css
  14. BIN  src/webapp/fluid-components/css/FSS_images/themes/_common/exclamation.png
  15. BIN  src/webapp/fluid-components/css/FSS_images/themes/_common/gloss_25_repeater.png
  16. BIN  src/webapp/fluid-components/css/FSS_images/themes/_common/gripper.png
  17. BIN  src/webapp/fluid-components/css/FSS_images/themes/mist/gripper.png
  18. BIN  src/webapp/fluid-components/css/FSS_images/themes/mist/icon-menu-Delete.png
  19. BIN  src/webapp/fluid-components/css/FSS_images/themes/mist/icon-options-ListOrGrid.png
  20. BIN  src/webapp/fluid-components/css/FSS_images/themes/mist/icon-widget-Close.png
  21. BIN  src/webapp/fluid-components/css/FSS_images/themes/mist/icon-widget-More.png
  22. BIN  src/webapp/fluid-components/css/FSS_images/themes/mist/icon-widget-ShowSettings.png
  23. BIN  src/webapp/fluid-components/css/FSS_images/themes/mist/widget-bg.png
  24. BIN  src/webapp/fluid-components/css/FSS_images/themes/rust/gripper.png
  25. BIN  src/webapp/fluid-components/css/FSS_images/themes/rust/icon-menu-Delete.png
  26. BIN  src/webapp/fluid-components/css/FSS_images/themes/rust/icon-options-ListOrGrid.png
  27. BIN  src/webapp/fluid-components/css/FSS_images/themes/rust/icon-widget-Close.png
  28. BIN  src/webapp/fluid-components/css/FSS_images/themes/rust/icon-widget-More.png
  29. BIN  src/webapp/fluid-components/css/FSS_images/themes/rust/icon-widget-Settings.png
  30. BIN  src/webapp/fluid-components/css/FSS_images/themes/rust/menu-hover.png
  31. BIN  src/webapp/fluid-components/css/FSS_images/themes/rust/widget-earmark.png
  32. +126 −0 src/webapp/fluid-components/css/ImageReorderer.css
  33. +7 −0 src/webapp/fluid-components/css/fluid.components.pager.css
  34. +14 −0 src/webapp/fluid-components/css/fluid.components.ui-options.css
  35. +18 −0 src/webapp/fluid-components/css/fluid.components.ui-options.preview.css
  36. +406 −0 src/webapp/fluid-components/css/fluid.components.uploader.css
  37. +279 −0 src/webapp/fluid-components/css/fluid.layout.css
  38. +136 −0 src/webapp/fluid-components/css/fluid.reset.css
  39. +89 −0 src/webapp/fluid-components/css/fluid.states.css
  40. +169 −0 src/webapp/fluid-components/css/fluid.text.css
  41. +25 −0 src/webapp/fluid-components/css/fluid.theme.debug.css
  42. +103 −0 src/webapp/fluid-components/css/fluid.theme.hc.css
  43. +141 −0 src/webapp/fluid-components/css/fluid.theme.mist.css
  44. +134 −0 src/webapp/fluid-components/css/fluid.theme.rust.css
  45. +82 −0 src/webapp/fluid-components/css/fluid.ui.dialog.css
  46. +9 −0 src/webapp/fluid-components/css/jquery.tooltip.css
  47. +22 −0 src/webapp/fluid-components/flash/LICENSE.txt
  48. BIN  src/webapp/fluid-components/flash/swfupload.swf
  49. +88 −0 src/webapp/fluid-components/html/FSS.helpers.html
  50. +139 −0 src/webapp/fluid-components/html/FSS.layout.html
  51. +402 −0 src/webapp/fluid-components/html/FSS.text.html
  52. +267 −0 src/webapp/fluid-components/html/FSS.themes.html
  53. +192 −0 src/webapp/fluid-components/html/InlineEdit.html
  54. +126 −0 src/webapp/fluid-components/html/LayoutReorderer.html
  55. +23 −0 src/webapp/fluid-components/html/README.txt
  56. +224 −0 src/webapp/fluid-components/html/Reorderer.html
  57. +284 −0 src/webapp/fluid-components/html/templates/ImageReordererRSF.html
  58. +33 −0 src/webapp/fluid-components/html/templates/TableOfContents.html
  59. +110 −0 src/webapp/fluid-components/html/templates/UIOptions.html
  60. +83 −0 src/webapp/fluid-components/html/templates/UIOptionsPreview.html
  61. +131 −0 src/webapp/fluid-components/html/templates/Uploader.html
  62. BIN  src/webapp/fluid-components/images/Banana.jpg
  63. BIN  src/webapp/fluid-components/images/Blackberry.jpg
  64. BIN  src/webapp/fluid-components/images/Cherry.jpg
  65. BIN  src/webapp/fluid-components/images/Dragonfruit.jpg
  66. BIN  src/webapp/fluid-components/images/Fig.jpg
  67. BIN  src/webapp/fluid-components/images/Grapes.jpg
  68. BIN  src/webapp/fluid-components/images/Kiwano.jpg
  69. BIN  src/webapp/fluid-components/images/Kiwi.jpg
  70. BIN  src/webapp/fluid-components/images/Kumquat.jpg
  71. BIN  src/webapp/fluid-components/images/Lemon.jpg
  72. BIN  src/webapp/fluid-components/images/Mangosteen.jpg
  73. BIN  src/webapp/fluid-components/images/Orange.jpg
  74. BIN  src/webapp/fluid-components/images/RedApple.jpg
  75. BIN  src/webapp/fluid-components/images/Tamarillo.jpg
  76. BIN  src/webapp/fluid-components/images/infusion-theme/x-close-lrg.png
  77. BIN  src/webapp/fluid-components/images/pager/arrow-dn.png
  78. BIN  src/webapp/fluid-components/images/pager/arrow-up.png
  79. BIN  src/webapp/fluid-components/images/progress/gradient-file.png
  80. BIN  src/webapp/fluid-components/images/progress/gradient-total.png
  81. BIN  src/webapp/fluid-components/images/shared/exclamation.png
  82. BIN  src/webapp/fluid-components/images/shared/gloss_25_repeater.png
  83. BIN  src/webapp/fluid-components/images/shared/gripper.png
  84. BIN  src/webapp/fluid-components/images/uioptions/500x327_mint_truffle.jpg
  85. BIN  src/webapp/fluid-components/images/uioptions/border_1.png
  86. BIN  src/webapp/fluid-components/images/uioptions/expand_collapse.png
  87. BIN  src/webapp/fluid-components/images/uioptions/h1.png
  88. BIN  src/webapp/fluid-components/images/uioptions/main_bg.png
  89. BIN  src/webapp/fluid-components/images/uioptions/mintleaf.png
  90. BIN  src/webapp/fluid-components/images/uploader/add.png
  91. BIN  src/webapp/fluid-components/images/uploader/browse.png
  92. BIN  src/webapp/fluid-components/images/uploader/error.png
  93. BIN  src/webapp/fluid-components/images/uploader/remove.png
  94. BIN  src/webapp/fluid-components/images/uploader/tick.png
  95. +951 −0 src/webapp/fluid-components/js/fluid/Fluid.js
  96. +168 −0 src/webapp/fluid-components/js/fluid/FluidDOMUtilities.js
  97. +583 −0 src/webapp/fluid-components/js/fluid/GeometricManager.js
  98. +137 −0 src/webapp/fluid-components/js/fluid/ImageReorderer.js
  99. +672 −0 src/webapp/fluid-components/js/fluid/InlineEdit.js
  100. +295 −0 src/webapp/fluid-components/js/fluid/InlineEditIntegrations.js
  101. +37 −0 src/webapp/fluid-components/js/fluid/LayoutReorderer.js
  102. +233 −0 src/webapp/fluid-components/js/fluid/ModuleLayout.js
  103. +770 −0 src/webapp/fluid-components/js/fluid/Pager.js
  104. +14 −0 src/webapp/fluid-components/js/fluid/ProgressiveEnhancement.js
  105. +702 −0 src/webapp/fluid-components/js/fluid/Reorderer.js
  106. +103 −0 src/webapp/fluid-components/js/fluid/Skin.js
  107. +156 −0 src/webapp/fluid-components/js/fluid/TableOfContents.js
  108. +285 −0 src/webapp/fluid-components/js/fluid/UIOptions.js
  109. +129 −0 src/webapp/fluid-components/js/fluid/Undo.js
  110. +500 −0 src/webapp/fluid-components/js/fluid/renderer/LICENSE.txt
  111. +447 −0 src/webapp/fluid-components/js/fluid/renderer/fastXmlPull.js
  112. +647 −0 src/webapp/fluid-components/js/fluid/renderer/fluidParser.js
  113. +1,436 −0 src/webapp/fluid-components/js/fluid/renderer/fluidRenderer.js
  114. +159 −0 src/webapp/fluid-components/js/fluid/uploader/DemoUploadManager.js
  115. +168 −0 src/webapp/fluid-components/js/fluid/uploader/FileQueue.js
  116. +246 −0 src/webapp/fluid-components/js/fluid/uploader/Progress.js
  117. +104 −0 src/webapp/fluid-components/js/fluid/uploader/ReadMe.txt
  118. +395 −0 src/webapp/fluid-components/js/fluid/uploader/SWFUploadManager.js
  119. +131 −0 src/webapp/fluid-components/js/fluid/uploader/Scroller.js
  120. +727 −0 src/webapp/fluid-components/js/fluid/uploader/Uploader.js
  121. +278 −0 src/webapp/fluid-components/js/jquery/GPL-LICENSE.txt
  122. +20 −0 src/webapp/fluid-components/js/jquery/MIT-LICENSE.txt
  123. +134 −0 src/webapp/fluid-components/js/jquery/jARIA.js
  124. +4,241 −0 src/webapp/fluid-components/js/jquery/jquery-1.3.1.js
  125. +104 −0 src/webapp/fluid-components/js/jquery/jquery.bgiframe.js
  126. +695 −0 src/webapp/fluid-components/js/jquery/jquery.keyboard-a11y.js
  127. +30 −0 src/webapp/fluid-components/js/jquery/jquery.tinymce.js
  128. +266 −0 src/webapp/fluid-components/js/jquery/jquery.tooltip.js
  129. +4 −0 src/webapp/fluid-components/js/jquery/ui-FLUID-readme.txt
  130. +449 −0 src/webapp/fluid-components/js/jquery/ui.accordion.js
  131. +534 −0 src/webapp/fluid-components/js/jquery/ui.core.js
  132. +688 −0 src/webapp/fluid-components/js/jquery/ui.dialog.js
  133. +748 −0 src/webapp/fluid-components/js/jquery/ui.draggable.js
  134. +264 −0 src/webapp/fluid-components/js/json/json2.js
  135. +4 −0 src/webapp/fluid-components/js/swfupload/swfobject-license.txt
  136. +731 −0 src/webapp/fluid-components/js/swfupload/swfobject.js
  137. +22 −0 src/webapp/fluid-components/js/swfupload/swfupload-license.txt
  138. +943 −0 src/webapp/fluid-components/js/swfupload/swfupload.js
  139. +444 −0 src/webapp/sample-code/inline-edit/announcements/announcements.css
  140. +398 −0 src/webapp/sample-code/inline-edit/announcements/announcements.html
  141. BIN  src/webapp/sample-code/inline-edit/announcements/images/application_lightning.png
  142. BIN  src/webapp/sample-code/inline-edit/announcements/images/banner_inst.gif
  143. BIN  src/webapp/sample-code/inline-edit/announcements/images/flag_blue.png
  144. BIN  src/webapp/sample-code/inline-edit/announcements/images/folder.png
  145. BIN  src/webapp/sample-code/inline-edit/announcements/images/help.png
  146. BIN  src/webapp/sample-code/inline-edit/announcements/images/logo_inst.gif
  147. BIN  src/webapp/sample-code/inline-edit/announcements/images/redo.png
  148. BIN  src/webapp/sample-code/inline-edit/announcements/images/sakai_powered.gif
  149. BIN  src/webapp/sample-code/inline-edit/announcements/images/sortascending.gif
  150. BIN  src/webapp/sample-code/inline-edit/announcements/images/tab-arrow-down-active.gif
  151. BIN  src/webapp/sample-code/inline-edit/announcements/images/tab-arrow-down.gif
  152. BIN  src/webapp/sample-code/inline-edit/announcements/images/tab-left-selected.gif
  153. BIN  src/webapp/sample-code/inline-edit/announcements/images/tab-left.gif
  154. BIN  src/webapp/sample-code/inline-edit/announcements/images/tab-right-selected.gif
  155. BIN  src/webapp/sample-code/inline-edit/announcements/images/tab-right.gif
  156. BIN  src/webapp/sample-code/inline-edit/announcements/images/transparent.gif
  157. BIN  src/webapp/sample-code/inline-edit/announcements/images/undo.png
  158. +924 −0 src/webapp/sample-code/inline-edit/section-info/css/portal.css
  159. +119 −0 src/webapp/sample-code/inline-edit/section-info/css/portalstyles.css
  160. +312 −0 src/webapp/sample-code/inline-edit/section-info/css/sections.css
  161. +1,516 −0 src/webapp/sample-code/inline-edit/section-info/css/tool.css
  162. +876 −0 src/webapp/sample-code/inline-edit/section-info/css/tool_base.css
  163. BIN  src/webapp/sample-code/inline-edit/section-info/images/all-edit-buttons.png
  164. BIN  src/webapp/sample-code/inline-edit/section-info/images/banner_inst.gif
  165. BIN  src/webapp/sample-code/inline-edit/section-info/images/help.gif
  166. BIN  src/webapp/sample-code/inline-edit/section-info/images/il-edit-lg.png
  167. BIN  src/webapp/sample-code/inline-edit/section-info/images/il-edit-saved.png
  168. BIN  src/webapp/sample-code/inline-edit/section-info/images/il-edit-sm.png
  169. BIN  src/webapp/sample-code/inline-edit/section-info/images/il-redo-lg.png
  170. BIN  src/webapp/sample-code/inline-edit/section-info/images/il-redo-sm.png
  171. BIN  src/webapp/sample-code/inline-edit/section-info/images/il-undo-lg.png
  172. BIN  src/webapp/sample-code/inline-edit/section-info/images/il-undo-saved.png
  173. BIN  src/webapp/sample-code/inline-edit/section-info/images/il-undo-sm.png
  174. BIN  src/webapp/sample-code/inline-edit/section-info/images/information.png
  175. BIN  src/webapp/sample-code/inline-edit/section-info/images/logo_inst.gif
  176. BIN  src/webapp/sample-code/inline-edit/section-info/images/logout.gif
  177. BIN  src/webapp/sample-code/inline-edit/section-info/images/mytoolsfooter.gif
  178. BIN  src/webapp/sample-code/inline-edit/section-info/images/navback.gif
  179. BIN  src/webapp/sample-code/inline-edit/section-info/images/norm_left.gif
  180. BIN  src/webapp/sample-code/inline-edit/section-info/images/norm_left_on.gif
  181. BIN  src/webapp/sample-code/inline-edit/section-info/images/norm_right.gif
  182. BIN  src/webapp/sample-code/inline-edit/section-info/images/norm_right_on.gif
  183. BIN  src/webapp/sample-code/inline-edit/section-info/images/pointer_tools.gif
  184. BIN  src/webapp/sample-code/inline-edit/section-info/images/redo.png
  185. BIN  src/webapp/sample-code/inline-edit/section-info/images/reload.gif
  186. BIN  src/webapp/sample-code/inline-edit/section-info/images/reload_h.gif
  187. BIN  src/webapp/sample-code/inline-edit/section-info/images/remove.png
  188. BIN  src/webapp/sample-code/inline-edit/section-info/images/sakai_powered.gif
  189. BIN  src/webapp/sample-code/inline-edit/section-info/images/sortascending.gif
  190. BIN  src/webapp/sample-code/inline-edit/section-info/images/tools-course-header.gif
  191. BIN  src/webapp/sample-code/inline-edit/section-info/images/tools-workspace-header.gif
  192. BIN  src/webapp/sample-code/inline-edit/section-info/images/top_left.gif
  193. BIN  src/webapp/sample-code/inline-edit/section-info/images/top_right.gif
  194. BIN  src/webapp/sample-code/inline-edit/section-info/images/transparent.gif
  195. BIN  src/webapp/sample-code/inline-edit/section-info/images/undo.png
  196. +630 −0 src/webapp/sample-code/inline-edit/section-info/js/headscripts.js
  197. +94 −0 src/webapp/sample-code/inline-edit/section-info/js/portalscripts.js
  198. +270 −0 src/webapp/sample-code/inline-edit/section-info/js/sections.js
  199. +441 −0 src/webapp/sample-code/inline-edit/section-info/section-info-inner.html
  200. +214 −0 src/webapp/sample-code/inline-edit/section-info/section-info.html
  201. +79 −0 src/webapp/sample-code/keyboard-a11y/checkboxes/AccessibleCheckbox.js
  202. +49 −0 src/webapp/sample-code/keyboard-a11y/checkboxes/CheckboxExample.html
  203. +19 −0 src/webapp/sample-code/keyboard-a11y/checkboxes/Checkboxes.css
  204. BIN  src/webapp/sample-code/keyboard-a11y/checkboxes/checked.png
  205. BIN  src/webapp/sample-code/keyboard-a11y/checkboxes/unchecked.png
  206. +51 −0 src/webapp/sample-code/keyboard-a11y/jquery-ui-tabs/jquery-ui-accessible-tabs.html
  207. +117 −0 src/webapp/sample-code/keyboard-a11y/jquery-ui-tabs/jquery-ui-accessible-tabs.js
  208. +4 −0 src/webapp/sample-code/keyboard-a11y/shared/Focus.css
  209. +34 −0 src/webapp/sample-code/pager/basic/pager-example.js
  210. +54 −0 src/webapp/sample-code/pager/basic/pager.css
  211. +321 −0 src/webapp/sample-code/pager/basic/pager.html
  212. +44 −0 src/webapp/sample-code/pager/renderer/pager-render-example.js
  213. +59 −0 src/webapp/sample-code/pager/renderer/pager-render.css
  214. +87 −0 src/webapp/sample-code/pager/renderer/pager-render.html
  215. +204 −0 src/webapp/sample-code/pager/renderer/user-data.js
Sorry, we could not display the entire diff because too many files (1,120) changed.
11 .project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>fluid-components</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ </buildSpec>
+ <natures>
+ </natures>
+</projectDescription>
227 LICENSE.txt
@@ -0,0 +1,227 @@
+Fluid is available under either the terms of the New BSD license or the
+Educational Community License, Version 2.0. As a recipient of Fluid, you may
+choose which license to receive this code under (except as noted in per-module
+LICENSE files). All modules are Copyright 2007 University of Toronto except
+where noted otherwise in the code itself, or if the modules reside in a separate
+directory, they may contain explicit declarations of copyright in both the
+LICENSE file in the directory in which they reside and in the code itself. No
+external contributions are allowed under licenses which are fundamentally
+incompatible with the ECL or BSD licenses that Fluid is distributed under.
+
+The text of the ECL and BSD licenses is reproduced below.
+
+Educational Community License, Version 2.0
+*************************************
+Copyright 2007 University of Toronto
+
+Educational Community License, Version 2.0, April 2007
+
+The Educational Community License version 2.0 ("ECL") consists of the Apache 2.0
+license, modified to change the scope of the patent grant in section 3 to be
+specific to the needs of the education communities using this license. The
+original Apache 2.0 license can be found at:
+http://www.apache.org/licenses/LICENSE-2.0
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+"License" shall mean the terms and conditions for use, reproduction, and
+distribution as defined by Sections 1 through 9 of this document.
+
+"Licensor" shall mean the copyright owner or entity authorized by the copyright
+owner that is granting the License.
+
+"Legal Entity" shall mean the union of the acting entity and all other entities
+that control, are controlled by, or are under common control with that entity.
+For the purposes of this definition, "control" means (i) the power, direct or
+indirect, to cause the direction or management of such entity, whether by
+contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the
+outstanding shares, or (iii) beneficial ownership of such entity.
+
+"You" (or "Your") shall mean an individual or Legal Entity exercising
+permissions granted by this License.
+
+"Source" form shall mean the preferred form for making modifications, including
+but not limited to software source code, documentation source, and configuration
+files.
+
+"Object" form shall mean any form resulting from mechanical transformation or
+translation of a Source form, including but not limited to compiled object code,
+generated documentation, and conversions to other media types.
+
+"Work" shall mean the work of authorship, whether in Source or Object form, made
+available under the License, as indicated by a copyright notice that is included
+in or attached to the work (an example is provided in the Appendix below).
+
+"Derivative Works" shall mean any work, whether in Source or Object form, that
+is based on (or derived from) the Work and for which the editorial revisions,
+annotations, elaborations, or other modifications represent, as a whole, an
+original work of authorship. For the purposes of this License, Derivative Works
+shall not include works that remain separable from, or merely link (or bind by
+name) to the interfaces of, the Work and Derivative Works thereof.
+
+"Contribution" shall mean any work of authorship, including the original version
+of the Work and any modifications or additions to that Work or Derivative Works
+thereof, that is intentionally submitted to Licensor for inclusion in the Work
+by the copyright owner or by an individual or Legal Entity authorized to submit
+on behalf of the copyright owner. For the purposes of this definition,
+"submitted" means any form of electronic, verbal, or written communication sent
+to the Licensor or its representatives, including but not limited to
+communication on electronic mailing lists, source code control systems, and
+issue tracking systems that are managed by, or on behalf of, the Licensor for
+the purpose of discussing and improving the Work, but excluding communication
+that is conspicuously marked or otherwise designated in writing by the copyright
+owner as "Not a Contribution."
+
+"Contributor" shall mean Licensor and any individual or Legal Entity on behalf
+of whom a Contribution has been received by Licensor and subsequently
+incorporated within the Work.
+
+2. Grant of Copyright License.
+
+Subject to the terms and conditions of this License, each Contributor hereby
+grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
+irrevocable copyright license to reproduce, prepare Derivative Works of,
+publicly display, publicly perform, sublicense, and distribute the Work and such
+Derivative Works in Source or Object form.
+
+3. Grant of Patent License.
+
+Subject to the terms and conditions of this License, each Contributor hereby
+grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
+irrevocable (except as stated in this section) patent license to make, have
+made, use, offer to sell, sell, import, and otherwise transfer the Work, where
+such license applies only to those patent claims licensable by such Contributor
+that are necessarily infringed by their Contribution(s) alone or by combination
+of their Contribution(s) with the Work to which such Contribution(s) was
+submitted. If You institute patent litigation against any entity (including a
+cross-claim or counterclaim in a lawsuit) alleging that the Work or a
+Contribution incorporated within the Work constitutes direct or contributory
+patent infringement, then any patent licenses granted to You under this License
+for that Work shall terminate as of the date such litigation is filed. Any
+patent license granted hereby with respect to contributions by an individual
+employed by an institution or organization is limited to patent claims where the
+individual that is the author of the Work is also the inventor of the patent
+claims licensed, and where the organization or institution has the right to
+grant such license under applicable grant and research funding agreements. No
+other express or implied licenses are granted.
+
+4. Redistribution.
+
+You may reproduce and distribute copies of the Work or Derivative Works thereof
+in any medium, with or without modifications, and in Source or Object form,
+provided that You meet the following conditions:
+
+ 1. You must give any other recipients of the Work or Derivative Works a copy
+of this License; and
+ 2. You must cause any modified files to carry prominent notices stating that
+You changed the files; and
+ 3. You must retain, in the Source form of any Derivative Works that You
+distribute, all copyright, patent, trademark, and attribution notices from
+the Source form of the Work, excluding those notices that do not pertain to
+any part of the Derivative Works; and
+ 4. If the Work includes a "NOTICE" text file as part of its distribution,
+then any Derivative Works that You distribute must include a readable copy of
+the attribution notices contained within such NOTICE file, excluding those
+notices that do not pertain to any part of the Derivative Works, in at least
+one of the following places: within a NOTICE text file distributed as part of
+the Derivative Works; within the Source form or documentation, if provided
+along with the Derivative Works; or, within a display generated by the
+Derivative Works, if and wherever such third-party notices normally appear.
+The contents of the NOTICE file are for informational purposes only and do
+not modify the License. You may add Your own attribution notices within
+Derivative Works that You distribute, alongside or as an addendum to the
+NOTICE text from the Work, provided that such additional attribution notices
+cannot be construed as modifying the License.
+
+You may add Your own copyright statement to Your modifications and may provide
+additional or different license terms and conditions for use, reproduction, or
+distribution of Your modifications, or for any such Derivative Works as a whole,
+provided Your use, reproduction, and distribution of the Work otherwise complies
+with the conditions stated in this License.
+
+5. Submission of Contributions.
+
+Unless You explicitly state otherwise, any Contribution intentionally submitted
+for inclusion in the Work by You to the Licensor shall be under the terms and
+conditions of this License, without any additional terms or conditions.
+Notwithstanding the above, nothing herein shall supersede or modify the terms of
+any separate license agreement you may have executed with Licensor regarding
+such Contributions.
+
+6. Trademarks.
+
+This License does not grant permission to use the trade names, trademarks,
+service marks, or product names of the Licensor, except as required for
+reasonable and customary use in describing the origin of the Work and
+reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty.
+
+Unless required by applicable law or agreed to in writing, Licensor provides the
+Work (and each Contributor provides its Contributions) on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,
+including, without limitation, any warranties or conditions of TITLE,
+NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are
+solely responsible for determining the appropriateness of using or
+redistributing the Work and assume any risks associated with Your exercise of
+permissions under this License.
+
+8. Limitation of Liability.
+
+In no event and under no legal theory, whether in tort (including negligence),
+contract, or otherwise, unless required by applicable law (such as deliberate
+and grossly negligent acts) or agreed to in writing, shall any Contributor be
+liable to You for damages, including any direct, indirect, special, incidental,
+or consequential damages of any character arising as a result of this License or
+out of the use or inability to use the Work (including but not limited to
+damages for loss of goodwill, work stoppage, computer failure or malfunction, or
+any and all other commercial damages or losses), even if such Contributor has
+been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability.
+
+While redistributing the Work or Derivative Works thereof, You may choose to
+offer, and charge a fee for, acceptance of support, warranty, indemnity, or
+other liability obligations and/or rights consistent with this License. However,
+in accepting such obligations, You may act only on Your own behalf and on Your
+sole responsibility, not on behalf of any other Contributor, and only if You
+agree to indemnify, defend, and hold each Contributor harmless for any liability
+incurred by, or claims asserted against, such Contributor by reason of your
+accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS FOR ECL 2.0
+
+The New BSD license
+**********************
+
+Copyright 2007 University of Toronto.
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice,
+this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution.
+ * Neither the name of the University of Toronto nor the names of its
+contributors may be used to endorse or promote products derived from this
+software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
+OF SUCH DAMAGE.
+
+END OF TERMS AND CONDITIONS FOR THE NEW BSD LICENSE
157 README.txt
@@ -0,0 +1,157 @@
+Fluid Infusion 0.8.1
+====================
+Main Project Site: http://fluidproject.org
+User Manual: http://wiki.fluidproject.org/display/fluid/User+Manual+Table+of+Contents
+
+What's New in 0.8.1
+===================
+
+This release includes
+
+ * Improved Uploader compatibility with Flash 9 and Internet Explorer
+ * Improved documentation
+ * Fluid Skinning System
+ * Preview of User Interface Options
+ * Upgrade to the latest version of qUnit automated Javascript test harness
+ * Many bug fixes
+ * Including a fix for http://issues.fluidproject.org/browse/FLUID-2277
+
+What's in this Release
+======================
+
+This release is available in two forms:
+ Deployment Bundle - fluid-0.8.1.zip
+ Source Code Bundle - fluid-0.8.1-src.zip
+
+Both bundles include all the code needed to get started using Fluid, include a single JavaScript file, fluid-components/js/Fluid-all.js, that is a combination of all other source files. This script is compressed and suitable for production use. Developers can include this single file in their pages to provide all the necessary support for the Fluid component Library.
+
+Both bundles have the following organization:
+ fluid-components/
+ sample-code/
+ tests/
+ LICENSE.txt
+ README.txt
+
+The Deployment Bundle also includes a WAR file suitable for deployment in Java-based containers:
+ fluid-components-0.8.1.war
+
+Also, in the Deployment Bundle, the JavaScript source has been minified: comments and whitespace have been removed.
+
+Developers wishing to learn about the Fluid code, or debug their applications, should use the Source Code Bundle.
+
+Source Code
+-----------
+The organization of the full source code for the Fluid component library, including JavaScript, HTML templates and CSS is:
+ fluid-components/
+ css/
+ flash/
+ html/
+ images/
+ js/
+
+Sample Code
+-----------
+Sample code illustrating how Fluid components can be used*:
+ sample-code/
+ inline-edit/
+ keyboard-a11y/
+ pager/
+ renderer/
+ reorderer/
+ shared/
+
+* sample code for the Uploader can be found in fluid-components/html/templates/
+
+Tests
+-----
+ tests/
+ fluid-tests/
+ jquery-tests/
+ jqUnit/
+ utils/
+
+License
+-------
+Fluid code is licensed under a dual ECL 2.0 / BSD license. The specific licenses can be found in the license file:
+ LICENSE.txt
+
+Fluid also depends upon some third party open source modules. These are contained in their own folders with their respective licenses inside the fluid source code.
+
+
+Third Party Software in Fluid
+------------------------------
+This is a list of publicly available software that is included in the Fluid bundle, along with their licensing terms.
+
+ * jQuery javascript library: http://jquery.com/ (MIT and GPL licensed http://docs.jquery.com/Licensing)
+ * jQuery UI javascript widget library: http://ui.jquery.com/ (MIT and GPL licensed http://docs.jquery.com/Licensing)
+ * jQuery QUnit testrunner: http://docs.jquery.com/QUnit (MIT and GPL licensed http://docs.jquery.com/Licensing)
+ * CSS styling reset from YUI: http://developer.yahoo.com/yui/reset/ (BSD licensed http://developer.yahoo.com/yui/license.html)
+ * jARIA, the jQuery ARIA plugin: http://jqueryjs.googlecode.com/svn/trunk/plugins/jARIA (MIT and GPL licensed http://docs.jquery.com/Licensing)
+ * Douglas Crockford's JSON parsing and stringifying methods: http://www.json.org/ (Public Domain)
+ * SWFUpload: http://swfupload.org/ (MIT licensed http://www.opensource.org/licenses/mit-license.php)
+ * XML for Script's Fast Pull Parser (LGPL licensed http://xmljs.sourceforge.net/)
+ * Sample markup and stylesheets from Sakai (http://sakaiproject.org) and uPortal (http://www.uportal.org/)
+ * TinyMCE, Javascript HTML WYSIWYG editor control: (LGPL licensed http://tinymce.moxiecode.com/license.php)
+ * FCKeditor, HTML text editor (LGPL licensed http://www.fckeditor.net/license)
+
+Readme
+------
+This file.
+ README.txt
+
+
+Documentation
+=============
+
+ http://wiki.fluidproject.org/display/fluid/User+Manual+Table+of+Contents
+
+The Fluid Project uses a wiki for documentation and project collaboration: http://wiki.fluidproject.org.
+
+The User Manual for Fluid releases consists of a number of information pages stored in the Fluid Wiki.
+The pages include tutorials, API descriptions, testing procedures, and data-gathering approaches. To make the manual pages easy to navigation we have added the following guides:
+
+ * An organized Table of Contents is provided for the reader, with links to
+ all manual pages, each with a brief description of the page contents.
+ * A link to the Table of Contents appears at the top of the left-side wiki navigation
+ bar with the name "User Manual". This makes it easy to return to the Table of
+ Contents from anywhere in the wiki hierarchical structure.
+
+
+Supported Browsers
+==================
+Firefox 2.x, 3.x: full support
+Internet Explorer 6.x, 7.x: full support
+Safari 3.1, Opera 9.5: full support (except keyboard interaction, which is not supported by these browsers)
+
+
+Known Issues
+============
+
+The Fluid Project uses a JIRA website to track bugs: http://issues.fluidproject.org.
+Some of the known issues in this release are described here:
+
+Uploader:
+ For information related to known issues related to Flash 10 compatibility, see http://wiki.fluidproject.org/x/0QFS
+ FLUID-2052 Cannot tab away from the "Browse Files" button with Flash 10; using FF3
+ FLUID-2032 Cannot Tab to the 'Browse More" button with Flash 10, using FF2
+
+Inline Edit:
+ FLUID-1600 Pressing the "Tab" key to exit edit mode, places focus on the wrong item
+
+Reorderer:
+ FLUID-148 Edge case: visual position of drop target when droppable is at beginning or end of a row
+ FLUID-118 Dragging an image offscreen or out of the frame has some unexpected results.
+
+Layout Reorderer:
+ FLUID-1540 Can't use keyboard reordering to move a nested reorderer to the right column, using IE6
+ FLUID-858 Portlet Columns load with no padding between them in IE7
+
+UI Options:
+ FLUID-2121 Focus is not placed on the first focusable item in the user interfact options dialog
+ FLUID-2258 In IE 6, the UI Options Dialog may display with missing elements
+ FLUID-2260 In Opera, Activating the Reset or Close button will remove all elements of the UI Options dialog
+ FLUID-2261 In Opera, UI Options example throws an error on load
+
+
+Pager:
+ FLUID-835 Pager links are not in the tab order, using Opera 9.5
18 build-scripts/build.properties
@@ -0,0 +1,18 @@
+
+<!-- the Fluid version number -->
+fluid_version = 0.8.1
+
+<!-- Order of jQuery dependencies -->
+jquery_order_of_dependencies=jquery-1.3.1.js,jquery.keyboard-a11y.js,jARIA.js,jquery.bgiframe.js,jquery.tooltip.js,ui.core.js,ui.dialog.js,ui.draggable.js
+
+<!-- Order of Fluid dependencies -->
+fluid_order_of_dependencies=Fluid.js,ProgressiveEnhancement.js,FluidDOMUtilities.js,GeometricManager.js,Reorderer.js,ModuleLayout.js,LayoutReorderer.js,ImageReorderer.js,Undo.js,InlineEdit.js,InlineEditIntegrations.js,Pager.js,Skin.js,UIOptions.js
+
+<!-- Order of Renderer dependencies -->
+fluid_renderer_order_of_dependencies=fastXmlPull.js,fluidParser.js,fluidRenderer.js
+
+<!-- Order of Uploader dependencies -->
+fluid_uploader_order_of_dependencies=FileQueue.js,DemoUploadManager.js,SWFUploadManager.js,Scroller.js,Progress.js,Uploader.js
+
+<!-- Directories to exclude from JSLint validation -->
+excludeFromJSLint=**/jquery*/,**/json*/
387 build-scripts/build.xml
@@ -0,0 +1,387 @@
+<!--
+To build a distribution, type: ant
+To jsLint all source code in the source directory, type: ant validate
+To jsLint source code within a specific directory, type: ant validate -Dlint="../some/folder"
+-->
+
+<project name="Fluid" default="buildAll" basedir=".">
+ <description>
+ Build a distributable package of Fluid components.
+ </description>
+
+ <!-- get environment variables and properties -->
+ <property environment="env"/>
+ <property file="build.properties"/>
+
+ <!-- Define dependencies -->
+ <property name="yuicompressor" location="lib/yuicompressor-2.3.3.jar" />
+ <property name="jslint" location="lib/jslint4java-1.1+rhino.jar" />
+
+ <!-- set up directory locations -->
+ <property name="base-dir" location=".." />
+ <property name="products" location="${base-dir}/products" />
+ <property name="src" location="${base-dir}/src/webapp/fluid-components" />
+ <property name="sample-code" location="${base-dir}/src/webapp/sample-code" />
+ <property name="tests" location="${base-dir}/src/webapp/tests" />
+ <property name="jquery-src" location="${src}/js/jquery" />
+ <property name="swfupload-src" location="${src}/flash" />
+ <property name="swfupload-js-src" location="${src}/js/swfupload" />
+ <property name="renderer-src" location="${src}/js/fluid/renderer" />
+ <property name="uploader-src" location="${src}/js/fluid/uploader" />
+ <property name="dist" location="${products}/dist" />
+ <property name="src-dist" location="${products}/src-dist" />
+ <property name="src-dist-components" location="${src-dist}/fluid-components" />
+ <property name="build" location="${base-dir}/build" />
+ <property name="web-inf" location="${base-dir}/src/webapp/WEB-INF"/>
+ <property name="components-build" location="${build}/fluid-components" />
+ <property name="sample-code-build" location="${build}/sample-code" />
+ <property name="tests-build" location="${build}/tests" />
+ <property name="jquery-build" location="${components-build}/js/jquery" />
+ <property name="swfupload-build" location="${components-build}/flash" />
+ <property name="swfupload-js-build" location="${components-build}/js/swfupload" />
+ <property name="renderer-build" location="${components-build}/js/fluid/renderer" />
+ <property name="uploader-build" location="${components-build}/js/fluid/uploader" />
+ <property name="lint" location="${src}"/>
+
+ <!-- the filename for the package to output -->
+ <property name="zipfile" value="fluid-${fluid_version}" />
+
+ <!-- the filename of the documentation PDF -->
+ <property name="pdf-file" value="Fluid-${fluid_version}.pdf" />
+
+ <!-- the filename of the war file -->
+ <property name="warfile" value="fluid-components-${fluid_version}.war" />
+
+ <!-- task definition for JSLint -->
+ <taskdef name="jslint"
+ classname="net.happygiraffe.jslint.ant.JSLintTask"
+ classpath="${jslint}" />
+
+ <!-- Target: buildAll -->
+ <target name="buildAll" depends="clean, war, package" />
+
+ <!-- Target: cleanup before running -->
+ <target name="clean">
+ <delete dir="${build}" />
+ <delete dir="${products}" />
+ </target>
+
+ <!-- Set up the build directory structure -->
+ <target name="init">
+ <mkdir dir="${products}" />
+ <mkdir dir="${build}" />
+ <mkdir dir="${components-build}" />
+
+ <!-- Copy the directory structure (but not the files) of fluid-components into the build tree -->
+ <copy todir="${components-build}">
+ <dirset dir="${src}">
+ <include name="**/*" />
+ </dirset>
+ </copy>
+
+ <mkdir dir="${dist}" />
+ <mkdir dir="${src-dist}" />
+ </target>
+
+ <target name="copyLicenses">
+ <copy todir="${toDir}">
+ <fileset dir="${base-dir}">
+ <include name="LICENSE.txt" />
+ <include name="README.txt" />
+ </fileset>
+ </copy>
+ </target>
+
+ <!--Copy files that don't need to be minified from the source tree to the build directory -->
+ <target name="copyUnminifiableFiles" depends="init">
+ <copy todir="${components-build}">
+ <fileset dir="${src}">
+ <include name="html/**" />
+ <include name="images/**" />
+ </fileset>
+ </copy>
+ <antcall target="copyLicenses">
+ <param name="toDir" value="${build}" />
+ </antcall>
+
+ <copy todir="${jquery-build}">
+ <fileset dir="${jquery-src}">
+ <include name="GPL-LICENSE.txt" />
+ <include name="MIT-LICENSE.txt" />
+ <include name="ui-FLUID-readme.txt" />
+ </fileset>
+ </copy>
+ <copy todir="${swfupload-build}">
+ <fileset dir="${swfupload-src}">
+ <include name="LICENSE.txt" />
+ <include name="swfupload.swf" />
+ </fileset>
+ </copy>
+ <copy todir="${swfupload-js-build}">
+ <fileset dir="${swfupload-js-src}">
+ <include name="*.txt" />
+ </fileset>
+ </copy>
+ <copy todir="${renderer-build}">
+ <fileset dir="${renderer-src}">
+ <include name="LICENSE.txt" />
+ </fileset>
+ </copy>
+ <copy todir="${uploader-build}">
+ <fileset dir="${uploader-src}">
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="concatAllJS">
+ <concat destfile="${toDir}/Fluid-all.js" append="true" >
+ <filelist dir="${src}/js/jquery" files="${jquery_order_of_dependencies}" />
+ <filelist dir="${src}/js/json" files="json2.js" />
+ <filelist dir="${src}/js/swfupload" files="swfobject.js, swfupload.js" />
+ <filelist dir="${src}/js/fluid" files="${fluid_order_of_dependencies}" />
+ <filelist dir="${src}/js/fluid/renderer" files="${fluid_renderer_order_of_dependencies}" />
+ <filelist dir="${src}/js/fluid/uploader" files="${fluid_uploader_order_of_dependencies}" />
+ </concat>
+ </target>
+
+ <!-- Concatenate all the minified JS files together into an all-in-one file. -->
+ <target name="fluidAllInOne" depends="init">
+ <mkdir dir="${components-build}/js/all" />
+ <antcall target="concatAllJS">
+ <param name="toDir" value="${components-build}/js/all" />
+ </antcall>
+
+ <antcall target="minify">
+ <param name="fromDir" value="${components-build}/js/all" />
+ <param name="toDir" value="${components-build}/js/" />
+ <param name="file-pattern" value="Fluid-all.js" />
+ <param name="lineBreakArg" value="" />
+ </antcall>
+
+ <!-- delete the unminified concatenated file generated above -->
+ <delete dir="${components-build}/js/all" />
+ </target>
+
+ <!-- Target: Minify the JS files -->
+ <target name="minify">
+ <description>
+ Minify the specified files and copy them into the specified directory. Don't call this directly.
+ </description>
+
+ <apply executable="java" dest="${toDir}" parallel="false">
+ <!-- The files to act upon. -->
+ <fileset dir="${fromDir}" casesensitive="no">
+ <include name="**/${file-pattern}" />
+ <exclude name="**/test/*" />
+ </fileset>
+
+ <arg line="-jar" />
+ <arg path="${yuicompressor}" />
+ <srcfile/>
+ <arg line="--nomunge" />
+ <!-- -o option for YUI Compressor to output minified JS to a file instead of stdout. -->
+ <arg line="${lineBreakArg}" />
+ <arg line="-o" />
+ <mapper type="glob" from="${file-pattern}" to="${file-pattern}" />
+ <targetfile />
+ </apply>
+ </target>
+
+ <target name="minifyAll">
+ <!-- Minify all the other JavaScript files straight out of the source tree. -->
+ <echo>Minifying .JS files...</echo>
+ <antcall target="minify">
+ <param name="fromDir" value="${src}/js" />
+ <param name="toDir" value="${components-build}/js" />
+ <param name="file-pattern" value="*.js" />
+ <param name="lineBreakArg" value="" />
+ </antcall>
+
+ <echo>Minifying .CSS files...</echo>
+ <antcall target="minify">
+ <param name="fromDir" value="${src}/css" />
+ <param name="toDir" value="${components-build}/css" />
+ <param name="file-pattern" value="*.css" />
+ <param name="lineBreakArg" value="--line-break 0" />
+ </antcall>
+ </target>
+
+ <target name="copyDistroFiles">
+ <mkdir dir="${toDir}/sample-code" />
+
+ <copy todir="${toDir}/sample-code">
+ <fileset dir="${base-dir}/src/webapp/sample-code/">
+ <include name="*/**" />
+ </fileset>
+ </copy>
+
+ <mkdir dir="${toDir}/tests" />
+ <copy todir="${toDir}/tests">
+ <fileset dir="${base-dir}/src/webapp/tests">
+ <include name="*/**" />
+ </fileset>
+ </copy>
+ </target>
+
+ <!-- Copy all the files necessary for the distribution. -->
+ <target name="createDistro" depends="init, copyUnminifiableFiles, minifyAll, fluidAllInOne">
+ <description>
+ Copy all the files necessary for distribution to the Dist directory.
+ </description>
+
+ <copy todir="${dist}">
+ <fileset dir="${build}">
+ <exclude name="war/**"/>
+ </fileset>
+ </copy>
+
+ <antcall target="copyDistroFiles">
+ <param name="toDir" value="${dist}" />
+ </antcall>
+
+ </target>
+
+ <target name="createSrcDistro" depends="init">
+ <description>
+ Creates a source distribution.
+ </description>
+ <!-- Copy the whole source tree over. -->
+ <mkdir dir="${src-dist-components}" />
+
+ <copy todir="${src-dist-components}">
+ <fileset dir="${src}" />
+ </copy>
+
+ <antcall target="concatAllJS">
+ <param name="toDir" value="${src-dist-components}/js" />
+ </antcall>
+
+ <antcall target="copyDistroFiles">
+ <param name="toDir" value="${src-dist}" />
+ </antcall>
+
+ <antcall target="copyLicenses">
+ <param name="toDir" value="${src-dist}" />
+ </antcall>
+ </target>
+
+ <!-- Zip up the whole release bundle -->
+ <target name="package" depends="createDistro, createSrcDistro">
+ <description>
+ Creates the release directory structure and zips it all up.
+ </description>
+
+ <echo>Zipping distribution bundle to ${dist}/${zipfile}</echo>
+ <zip destfile="${products}/${zipfile}.zip"
+ basedir="${dist}"
+ includes="**/*" excludes="*.zip" />
+
+ <echo>Zipping source bundle to ${dist}/${zipfile}</echo>
+ <zip destfile="${products}/${zipfile}-src.zip"
+ basedir="${src-dist}"
+ includes="**/*" excludes="*.zip" />
+ </target>
+
+ <target name="war" depends="createDistro">
+ <copy todir="${build}/war/src/webapp/fluid-components" >
+ <fileset dir="${components-build}"/>
+ </copy>
+
+ <copy todir="${build}/war/src/webapp/WEB-INF" >
+ <fileset dir="${web-inf}"/>
+ </copy>
+
+ <copy todir="${build}/war">
+ <fileset dir="..">
+ <include name="pom.xml" />
+ <include name="project.xml" />
+ <include name="maven.xml" />
+ <include name="project.properties" />
+ </fileset>
+ </copy>
+
+ <echo>Building war file...</echo>
+ <apply executable="mvn" dir="${build}/war" parallel="true">
+ <fileset dir=".">
+ <include name="pom.xml"/>
+ </fileset>
+ <arg value="install" />
+ </apply>
+
+ <echo>Copying war file ${build}/war/target/${warfile} to ${dist}...</echo>
+ <copy todir="${dist}">
+ <fileset dir="${build}/war/target">
+ <include name="${warfile}" />
+ </fileset>
+ </copy>
+
+ </target>
+
+ <!-- Target: validate -->
+ <target name="validate">
+ <description>
+ Validate the javascript files using JSLint.
+ </description>
+
+ <echo>Validating .JS files...</echo>
+ <jslint dir="${lint}"
+ excludes="${excludeFromJSLint}"
+ options="browser,eqeqeq,nomen,undef">
+ </jslint>
+ </target>
+
+ <!-- Target: fullWar -->
+ <target name="fullWar" depends="clean, createSrcDistro">
+ <copy todir="${sample-code-build}">
+ <fileset dir="${sample-code}">
+ <include name="**/*" />
+ </fileset>
+ </copy>
+
+ <copy todir="${tests-build}">
+ <fileset dir="${tests}">
+ <include name="**/*" />
+ </fileset>
+ </copy>
+ <copy todir="${build}/war/src/webapp/fluid-components" >
+ <fileset dir="${src-dist-components}"/>
+ </copy>
+
+ <copy todir="${build}/war/src/webapp/sample-code" >
+ <fileset dir="${sample-code-build}"/>
+ </copy>
+
+ <copy todir="${build}/war/src/webapp/tests" >
+ <fileset dir="${tests-build}"/>
+ </copy>
+
+ <copy todir="${build}/war/src/webapp/WEB-INF" >
+ <fileset dir="${web-inf}"/>
+ </copy>
+
+ <copy todir="${build}/war">
+ <fileset dir="..">
+ <include name="pom.xml" />
+ <include name="project.xml" />
+ <include name="maven.xml" />
+ <include name="project.properties" />
+ </fileset>
+ </copy>
+
+ <echo>Building war file...</echo>
+ <apply executable="mvn" dir="${build}/war" parallel="true">
+ <fileset dir=".">
+ <include name="pom.xml"/>
+ </fileset>
+ <arg value="install" />
+ </apply>
+
+ <echo>Copying war file ${build}/war/target/${warfile} to ${dist}...</echo>
+ <copy todir="${dist}">
+ <fileset dir="${build}/war/target">
+ <include name="${warfile}" />
+ </fileset>
+ </copy>
+ </target>
+
+</project>
BIN  build-scripts/lib/jslint4java-1.1+rhino.jar
Binary file not shown
BIN  build-scripts/lib/yuicompressor-2.3.3.jar
Binary file not shown
46 maven.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- default goal for the project builds and installs the war in the local repository -->
+<project default="full" xmlns:j="jelly:core"
+ xmlns:maven="jelly:maven">
+
+ <!-- the common "full" goal invokes the default goal. Used in maven -Dgoal=full multiproject:goal from .. -->
+ <goal name="full">
+ <!--attainGoal name="dependencies" /-->
+ <attainGoal name="war:install" />
+ </goal>
+
+ <!-- Override jar:install goal to compose "partial WAR" strategy -->
+ <goal name="jar:install">
+ <attainGoal name="war:install"/>
+ </goal>
+
+<!-- This standard stanza is required for any webapps participating in the
+ "partial WAR" build strategy -->
+ <preGoal name="war:resources">
+ <echo>Expanding webapp dependencies</echo>
+
+ <mkdir dir="${maven.war.webapp.dir}" />
+ <j:forEach var="lib" items="${pom.artifacts}">
+ <j:set var="dep" value="${lib.dependency}" />
+ <j:if test="${dep.getProperty('explode') == 'true'}">
+ <j:if test="${dep.type =='war'}">
+ <unjar src="${lib.path}" dest="${maven.war.webapp.dir}" />
+ </j:if>
+ </j:if>
+ </j:forEach>
+ </preGoal>
+
+<!-- Do not deploy for now, will be folded into each deployed user
+ <goal name="deploy" prereqs="war:install">
+ <maven:property defaultValue="${pom.artifactId}" var="webappName"
+ name="deploy.webappname" />
+ <j:set var="destination"
+ value="${maven.tomcat.home}/webapps/${webappName}" />
+ <delete dir="${destination}"/>
+ <echo>Copying ${maven.war.build.dir}/${maven.war.final.name} to ${destination}.war</echo>
+ <copy file="${maven.war.build.dir}/${maven.war.final.name}"
+ tofile="${destination}.war"/>
+ </goal>
+-->
+</project>
29 pom.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
+ http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>fluid-components</artifactId>
+ <name>Fluid Components</name>
+ <groupId>org.fluidproject</groupId>
+ <version>0.8.1</version>
+
+ <organization>
+ <name>Fluid Project</name>
+ <url>http://fluidproject.org</url>
+ </organization>
+ <inceptionYear>2007</inceptionYear>
+ <packaging>war</packaging>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-war-plugin</artifactId>
+ <configuration>
+ <warSourceDirectory>src/webapp</warSourceDirectory>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
3  project.properties
@@ -0,0 +1,3 @@
+
+deploy.webappname=fluid-components
+
36 project.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+ <pomVersion>3</pomVersion>
+ <artifactId>fluid-components</artifactId>
+ <name>Fluid Components</name>
+ <groupId>org.fluidproject</groupId>
+ <currentVersion>0.8.1</currentVersion>
+ <organization>
+ <name>Fluid Project</name>
+ <url>http://fluidproject.org</url>
+ </organization>
+ <inceptionYear>2007</inceptionYear>
+ <properties>
+ <!-- This project is NOT REALLY a JAR, but we want it not to deploy
+ to the server when invoked as a byproduct of a Sakai build. -->
+ <deploy.type>jar</deploy.type>
+ </properties>
+ <description>
+ Fluid Components package, packaged for a standard Servlet environment.
+ </description>
+ <dependencies>
+ </dependencies>
+ <repository>
+ <connection>scm:svn:https://source.sakaiproject.org/contrib/utoronto/fluid/components/trunk</connection>
+ </repository>
+ <build>
+ <sourceDirectory>src/java</sourceDirectory>
+ <unitTestSourceDirectory>src/test</unitTestSourceDirectory>
+ <unitTest>
+ <includes>
+ <include>**/*Test.java</include>
+ </includes>
+ </unitTest>
+ </build>
+</project>
+
8 src/webapp/WEB-INF/web.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<!DOCTYPE web-app PUBLIC
+ "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+ "http://java.sun.com/dtd/web-app_2_3.dtd">
+<web-app>
+<!-- This empty web.xml is required by the darn Maven 2 war plugin - it should
+never appear in an application -->
+</web-app>
62 src/webapp/fluid-components/css/FSSDemo.css
@@ -0,0 +1,62 @@
+body {
+ padding: 0 3em 3em;
+}
+.header {
+ background-color:rgb(250,200,200);
+}
+.content {
+ background-color:rgb(200,250,200);
+}
+.content div {
+ background-color:rgb(175,225,175);
+}
+.footer {
+ background-color:rgb(200,200,250);
+}
+.container {
+ background-color:rgb(240,240,240);
+}
+/*
+ * THESE COLORS ARE PROXIES for either your own coloring, or the premade FSS Themes
+ */
+.fl-widget {background:rgb(240,240,240);}
+ .fl-widget ul {}
+ .fl-widget h2 {}
+/* Widget titlebar */
+.fl-widget-titlebar {background-color:rgb(250,200,200);}
+ .fl-widget-titlebar .icon {background-position:center center;}
+/* Widget options */
+.fl-widget-options {background-color:rgb(200,200,250);}
+ .fl-widget-options ul {}
+ .fl-widget-options li {border-left:1px solid #000;}
+ .fl-widget-options a {}
+ .fl-widget-options .icon {}
+ .fl-widget-options a.icon:hover {}
+/* Widget content */
+.fl-widget-content {background-color:rgb(200,250,200);}
+ /* Widget :: Icons */
+ .fl-widget .more {margin-left:0px;}
+ .fl-widget .close {margin-right:0px;}
+ .fl-widget .settings {margin-right:0px; width:16px;}
+
+.fl-tabs {border-bottom-color:rgb(0,0,0);}
+.fl-tabs li {background-color:rgb(200,240,200);}
+.fl-tabs li,
+.fl-tabs li a {font-weight:bold; color:#333; border-color:rgb(0,0,0); text-decoration:none;}
+.fl-tabs li:hover,
+.fl-tabs li:hover a,
+.fl-tabs li a:hover {background-color:#999; color:#fff}
+.fl-tabs li.fl-activeTab,
+.fl-tabs li.fl-activeTab a,
+.fl-tabs li.fl-activeTab a:hover {background-color:rgb(200,200,250); border-bottom-color:rgb(200,200,250); color:#000;}
+.fl-tab-content {background-color:rgb(200,200,250); color:#000; border:1px solid #000; border-top:none; min-height:20px;}
+
+
+.fl-listmenu {border:1px solid #000; border-bottom:none; background-color:#fff;}
+.fl-listmenu li,
+.fl-listmenu li a {font-weight:bold; color:#000; background-color:rgb(200,240,200); text-decoration:none;}
+.fl-listmenu li a {border-bottom:2px groove #fff;}
+.fl-listmenu a:hover {background-color:#999; color:#fff;}
+.fl-listmenu .fl-activemenu a,
+.fl-listmenu .fl-activemenu a:hover { background-color:rgb(200,200,250); color:#000;}
+
BIN  src/webapp/fluid-components/css/FSS_images/themes/_common/exclamation.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  src/webapp/fluid-components/css/FSS_images/themes/_common/gloss_25_repeater.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  src/webapp/fluid-components/css/FSS_images/themes/_common/gripper.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  src/webapp/fluid-components/css/FSS_images/themes/mist/gripper.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  src/webapp/fluid-components/css/FSS_images/themes/mist/icon-menu-Delete.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  src/webapp/fluid-components/css/FSS_images/themes/mist/icon-options-ListOrGrid.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  src/webapp/fluid-components/css/FSS_images/themes/mist/icon-widget-Close.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  src/webapp/fluid-components/css/FSS_images/themes/mist/icon-widget-More.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  src/webapp/fluid-components/css/FSS_images/themes/mist/icon-widget-ShowSettings.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  src/webapp/fluid-components/css/FSS_images/themes/mist/widget-bg.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  src/webapp/fluid-components/css/FSS_images/themes/rust/gripper.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  src/webapp/fluid-components/css/FSS_images/themes/rust/icon-menu-Delete.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  src/webapp/fluid-components/css/FSS_images/themes/rust/icon-options-ListOrGrid.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  src/webapp/fluid-components/css/FSS_images/themes/rust/icon-widget-Close.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  src/webapp/fluid-components/css/FSS_images/themes/rust/icon-widget-More.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  src/webapp/fluid-components/css/FSS_images/themes/rust/icon-widget-Settings.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  src/webapp/fluid-components/css/FSS_images/themes/rust/menu-hover.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  src/webapp/fluid-components/css/FSS_images/themes/rust/widget-earmark.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
126 src/webapp/fluid-components/css/ImageReorderer.css
@@ -0,0 +1,126 @@
+body{
+ font-family: verdana, helvetica, sans-serif;
+ font-size: 12px;
+}
+
+img {
+ border: 0px;
+}
+.image-container{
+ overflow: hidden; width: 100%;
+ margin-top: 50px;
+}
+
+.image-inner-container{
+ height: 100px;
+ width: 140px;
+ background-color: #eee;
+ overflow: hidden;
+ margin: 0 auto 3px auto;
+}
+
+.image-inner-container img{
+ width: 150px;
+}
+
+.orderable-default{
+ height: 150px !important;
+ width: 150px;
+ border: 2px solid #ddd;
+ float: left;
+ margin: 5px !important;
+ text-align: center;
+ padding-top: 10px;
+ cursor: move;
+}
+
+.orderable-hover{
+ height: 150px !important;
+ width: 150px;
+ border: 2px solid #666;
+ float: left;
+ margin: 5px !important;
+ text-align: center;
+ padding-top: 10px;
+}
+
+.orderable-selected{
+ height: 150px !important;
+ width: 150px;
+ border: 2px solid #666;
+ background-color: #ddd;
+ float: left;
+ margin: 5px !important;
+ text-align: center;
+ padding-top: 10px;
+ cursor: move;
+}
+
+.orderable-selected img{
+ border: 1px solid #eee;
+}
+
+.orderable-dragging{
+ height: 150px !important;
+ width: 150px;
+ border: 2px solid #666;
+ background-color: #eee;
+ float: left;
+ margin: 5px !important;
+ text-align: center;
+ opacity: .2;
+ filter: alpha(opacity=20);
+ padding-top: 10px;
+}
+
+.image-title{
+ margin-top:5px;
+ height: 40px;
+ overflow: hidden;
+}
+
+.image-title a{
+ text-decoration: none;
+}
+
+.image-title a:hover{
+ text-decoration: underline;
+}
+
+div .orderable-drop-marker{
+ height: 160px !important;
+ margin:0 -2px;
+ padding:0 2px;
+ background-color: red;
+ float: left;
+}
+
+.image-reorderer-instructions{
+ color: #666;
+ background-color: lightyellow;
+ padding: 3px;
+ border: 2px solid #ddd;
+ font-size: .9em;
+ position: absolute;
+ top: 0;
+ right: 0;
+ width: 340px;
+}
+
+.image-reorderer-downarrow{
+ font-size: 0px; line-height: 0%; width: 0px;
+ margin: 5px 8px 30px 0;
+ float: left;
+ border-top: 10px solid red;
+ border-left: 10px solid lightyellow;
+ border-right: 10px solid lightyellow;
+}
+
+.screen-reader-instructions {
+ position:absolute;
+ left:0px;
+ top:-500px;
+ width:1px;
+ height:1px;
+ overflow:hidden;
+}
7 src/webapp/fluid-components/css/fluid.components.pager.css
@@ -0,0 +1,7 @@
+.fl-components-pager .fl-asc {
+ background: url(../images/pager/arrow-dn.png) no-repeat right;
+}
+
+.fl-components-pager .fl-desc {
+ background: url(../images/pager/arrow-up.png) no-repeat right;
+}
14 src/webapp/fluid-components/css/fluid.components.ui-options.css
@@ -0,0 +1,14 @@
+/* CSS Specifically for the UI Options dialog and Preview window */
+.fl-components-ui-options {padding:10px;}
+.fl-components-ui-options fieldset {margin:0 20px 5px 0; background-color:#f5f5f5;}
+.fl-components-ui-options fieldset h2 {cursor:pointer; margin:0; padding:0 0 0 24px; background:#ccc url(../images/uioptions/expand_collapse.png) no-repeat left 5px;}
+.fl-components-ui-options fieldset legend {font-weight:bold;}
+.fl-components-ui-options fieldset ol {margin:0; padding:15px 0 0 0; border:3px solid #ccc;}
+.fl-components-ui-options fieldset li {padding:2px 0}
+
+.fl-components-ui-options fieldset.selected h2 {background-position:left -13px;}
+
+
+.fl-components-ui-options .fl-subcomp-preview {padding:0;border:3px solid #ccc;}
+.fl-components-ui-options .fl-subcomp-preview h2 {font-weight:normal; margin:0; padding:5px; background-color:#ccc; color:#000;}
+.fl-components-ui-options .fl-subcomp-preview iframe {width:100%; height:300px;}
18 src/webapp/fluid-components/css/fluid.components.ui-options.preview.css
@@ -0,0 +1,18 @@
+.previewContent {font-size:13px; background:#e8ffea url(../images/uioptions/main_bg.png) no-repeat fixed 0px 0px; padding: 0 10px;}
+.previewContent h1 {margin:0; padding:5px 0 5px 0;}
+.previewContent h2 {}
+.previewContent h3 {}
+.previewContent p {padding:5px;}
+.previewContent img {float:right; margin:10px 0;}
+.previewContent strong {}
+.previewContent em {}
+.previewContent ul {}
+.previewContent ol {}
+.previewContent li {}
+.previewContent table {}
+.previewContent table thead {}
+.previewContent table thead th {background-color:#fff;}
+.previewContent table tbody {}
+.previewContent table tbody td {}
+.previewContent table tfoot {}
+.previewContent table tfoot th {}
406 src/webapp/fluid-components/css/fluid.components.uploader.css
@@ -0,0 +1,406 @@
+.fl-uploader {
+ width: 434px;
+ position: relative;
+ display: block;
+ clear: both;
+ padding: 1em 2em;
+}
+
+.fl-uploader td, .fl-uploader th {
+ border: none;
+}
+
+.fl-uploader table {
+ border-collapse: separate;
+ margin: 0;
+}
+
+.fl-uploader form {
+ height: auto !important;
+}
+
+.fl-uploader button {
+ background-color: #4F99D3;
+ border-color: #2A3990;
+ border-width: 1px;
+ border-style: solid;
+ font-weight: bolder;
+ font-size: 1.06em;
+ color: #FFF;
+ height: 32px;
+ padding-left: 2em;
+ padding-right: 2em;
+ margin-right: 1em;
+ outline: none;
+ cursor: pointer;
+}
+
+.fl-uploader button:focus, .fl-uploader button.focus {
+ outline: 2px solid #142B8C;
+}
+
+.fl-uploader button:hover {
+ background-color: #115F8F;
+}
+
+.fl-uploader button.default {
+ background-color: #74B74A;
+ border-color: #006838;
+}
+
+.fl-uploader button.default:hover {
+ background-color: #519325;
+ border-color: #142B8C;
+}
+
+.fl-uploader button.cancel {
+ background-color: #D03E4F;
+ border-color: #BF1E2D;
+}
+
+.fl-uploader button.cancel:hover {
+ background-color: #9E182B;
+ border-color: #142B8C;
+}
+
+.fl-uploader button.dim {
+ background-color: #999;
+ border-color: #666666;
+}
+
+.fl-uploader button.dim:hover {
+ background-color: #999;
+ border-color: #666666;
+}
+
+.fl-uploader button span.text-description {
+ display: none;
+}
+
+.fl-uploader a.fl-uploader-browse {
+ background-image: url(../images/uploader/add.png);
+ background-attachment: scroll;
+ background-repeat: no-repeat;
+ background-position: 5px center;
+ padding: 4px 7px 4px 26px;
+ border: none;
+ white-space: nowrap;
+ color: #427ABE;
+ font-weight: normal;
+ cursor: pointer;
+}
+
+html>body .fl-uploader a.fl-uploader-browse {
+ padding: 3px 6px 3px 25px;
+ border: 1px solid transparent;
+}
+
+.fl-uploader a.fl-uploader-browse:hover {
+ border: 1px solid #CCC;
+ background-color: #FFF;
+}
+
+.fl-uploader a.fl-uploader-browse:focus, .fl-uploader a.fl-uploader-browse.focus {
+ outline: 2px solid #142B8C;
+ background-color: #FFF;
+}
+
+.fl-uploader .fl-browse-button-overlay {
+ position: absolute;
+ z-index: 1;
+}
+
+/* FILE QUEUE TABLE STYLES */
+
+/* caption */
+
+.fl-uploader-queue-wrapper caption {
+ display: none;
+}
+
+/* header rows */
+
+.fl-scroller-table-head {
+ background-color: transparent;
+ color: #666;
+}
+
+.fl-scroller-table-head th {
+ text-align: left;
+ font-size: 0.94em;
+ font-weight: normal;
+ padding: 6px;
+}
+
+/* footer rows */
+
+.fl-scroller-table-foot {
+ position: relative;
+ background-color: #E6E6E6;
+ border: 1px solid #999;
+}
+
+.fl-scroller-table-foot table {
+ width: 100%;
+ position:relative;
+ z-index:6;
+}
+
+.fl-scroller-table-foot td {
+ padding: 8px 6px;
+ vertical-align: middle;
+ font-size: 1.07em;
+ font-weight: bolder;
+ color: #666;
+}
+
+.fl-scroller-table-foot td.footer-button {
+ text-align: right;
+}
+
+
+/* tbody */
+
+.fl-scroller {
+ display: block;
+ position: relative;
+ background-color: white;
+ overflow: auto;
+ overflow-x: hidden;
+ overflow-y: auto;
+ border-width: 1px 1px 0;
+ border-style: solid;
+ border-color: #999;
+}
+
+.fl-scroller .scroller-inner {
+ position: relative;
+ overflow: hidden;
+}
+
+.fl-uploader-queue {
+ position: relative;
+ font-size: 0.9em;
+ color: #333;
+ z-index: 6;
+}
+
+/* hidden from IE6 */
+html>body .fl-uploader-queue {
+ width: 100%;
+}
+
+/* this style is here for debugging, if everything is working right the list items are focusable but the list not. */
+.fl-uploader-queue:focus {
+ border: 1px solid #142B8C;
+}
+
+.fl-uploader-queue tr:focus, .fl-uploader-queue tr.selected {
+ background-color: #FFF9DC;
+}
+
+.fl-uploader-queue tr {
+ background-color: transparent;
+}
+
+/* second CSS selector is added only for IE6 */
+
+.fl-uploader-queue tr.ready:hover, .fl-uploader-queue tr.hover {
+ background-color: #FFF9DC;
+}
+
+.fl-uploader-queue tr.dim {
+ color: #666;
+}
+
+.fl-uploader-queue td, .fl-uploader-queue th {
+ text-align: left;
+ padding: 3px 6px;
+ border-bottom: 1px solid #BBCFDC;
+}
+
+.fl-uploader-queue-wrapper .fileName {
+ width: 322px;
+ overflow: hidden;
+}
+
+.fl-uploader-queue-wrapper .fileSize {
+ text-align: right;
+ width: 4em;
+ white-space: nowrap;
+}
+
+.fl-uploader-queue .iconBtn {
+ border: 1px solid transparent;
+ height: 20px;
+ width: 20px;
+ overflow: hidden;
+ background-color: transparent;
+ background-attachment: scroll;
+ background-repeat: no-repeat;
+ background-position: 1px 1px;
+ outline: 0;
+ padding: 0;
+ margin: 0;
+ outline: none;
+}
+
+.fl-uploader-queue .iconBtn:hover {
+ border: 1px solid transparent;
+ background-color: transparent;
+ cursor: auto;
+}
+
+.fl-uploader-queue .iconBtn.dim {
+ border: 1px solid transparent;
+ background-color: transparent;
+ cursor: auto;
+}
+
+.fl-uploader-queue .removeFile {
+ background-image: url(../images/uploader/remove.png);
+ cursor: pointer !important;
+}
+
+.fl-uploader-queue .removeFile:hover, .fl-uploader-queue tr.ready:focus .removeFile, .fl-uploader-queue tr.focus .removeFile {
+ border: 1px solid #CCC;
+ background-color: #FFF;
+}
+
+.fl-uploader-queue .removeFile:focus, .fl-uploader-queue .removeFile.focus {
+ background-color: #4F99D3;
+ outline: none;
+}
+
+.fl-uploader-queue .uploaded th, .fl-uploader-queue tr.uploaded:focus th, .fl-uploader-queue tr.focus th {
+ border-left: 4px solid #74B74A;
+ color: #5E7A5E;
+}
+
+.fl-uploader-queue .uploaded td {
+ color: #5E7A5E;
+}
+
+.fl-uploader-queue .uploaded .iconBtn {
+ background-image: url(../images/uploader/tick.png);
+}
+
+.fl-uploader-queue .error th {
+ border-left: 4px solid #F5E392;
+}
+
+.fl-uploader-queue .error .iconBtn {
+ background-image: url(../images/uploader/error.png);
+}
+
+.fl-uploader-queue-wrapper td.actions, .fl-uploader-queue-wrapper th.actions {
+ text-align: center;
+}
+
+.fl-uploader-queue td.actions, .fl-uploader-queue td.fileStatus {
+ white-space: nowrap;
+}
+
+.fl-uploader-queue-wrapper .fl-uploader-browse-instructions {
+ background-color: #F0F9FF;
+ color: #666;
+ text-align: center;
+ border-left: 1px solid #999;
+ border-right: 1px solid #999;
+ padding: 6px;
+}
+
+.fl-uploader-btns {
+ margin-top: 1em;
+}
+
+.fl-uploader-btns .fl-uploader-upload, .fl-uploader-btns .fl-uploader-resume, .fl-uploader-btns .fl-uploader-pause {
+ width: 8.4em;
+}
+
+.fl-uploader-btns .fl-uploader-done, .fl-uploader-btns .fl-uploader-cancel {
+ width: 7.6em;
+}
+
+.fl-uploader-btns button {
+ float: right;
+ padding: 0;
+}
+
+button span.text-description {
+ display: none;
+}
+
+/* element states */
+
+.disabled, .dim {
+ cursor: auto;
+}
+
+.disabled {
+ background-color: #CCC !important;
+ border-color: #999 !important;
+}
+
+.dim {
+ opacity: 0.4;
+ filter:alpha(opacity=40);
+}
+
+.hidden {
+ display: none;
+}
+
+.fluid-templates {
+ display: none;
+}
+
+
+/* ERRORS
+ *
+ */
+
+.fl-uploader-queue .queue-error-row td {
+ border-top: 1px dotted #E6E6E6;
+ border-left: 4px solid #F5E392;
+}
+
+
+/* PROGRESS */
+
+.file-progress, .total-progress {
+ position: absolute;
+ display: none;
+ background-attachment: scroll;
+ background-position: bottom left;
+ background-repeat: repeat-x;
+ overflow: hidden;
+ left: 0;
+ z-index:4;
+}
+
+.file-progress {
+ background-image: url('../images/progress/gradient-file.png');
+ background-color: #D1D6DD;
+ width:76%;
+}
+
+.file-progress .file-progress-text {
+ display: none;
+}
+
+.total-progress {
+ top: 0;
+ height: 100%;
+ background-image: url('../images/progress/gradient-total.png');
+ background-color: #BDBFC1;
+ width:76%;
+}
+
+/* Hidden SWF for Flash 9*/
+
+.fl-uploader-flash9-container {
+ overflow: hidden;
+ width: 1px;
+ height: 1px;
+}
279 src/webapp/fluid-components/css/fluid.layout.css
@@ -0,0 +1,279 @@
+/*
+Generic containers for columns and layouts
+=============================================
+ */
+
+/* Container Utilities*/
+.fl-fix {overflow: auto; zoom:1;}
+.fl-push {clear:both;}
+
+/* Container alignment */
+.fl-force-right {float:right; display:inline;} /* IE 6 needs inline display to prevent double margin bug (other browsers ignore it) */
+.fl-force-left {float:left; display:inline;} /* IE 6 needs inline display to prevent double margin bug (other browsers ignore it) */
+.fl-centered {margin-left:auto; margin-right:auto;}
+
+/* Generic container, proxy for other container effects */
+.fl-container {}
+
+/* Fixed width containers */
+.fl-container-50 {width: 50px;}
+.fl-container-100 {width: 100px;}
+.fl-container-150 {width: 150px;}
+.fl-container-200 {width: 200px;}
+.fl-container-250 {width: 250px;}
+.fl-container-300 {width: 300px;}
+.fl-container-350 {width: 350px;}
+.fl-container-400 {width: 400px;}
+.fl-container-450 {width: 450px;}
+.fl-container-500 {width: 500px;}
+.fl-container-550 {width: 550px;}
+.fl-container-600 {width: 600px;}
+.fl-container-650 {width: 650px;}
+.fl-container-700 {width: 700px;}
+.fl-container-750 {width: 750px;}
+.fl-container-800 {width: 800px;}
+.fl-container-850 {width: 850px;}
+.fl-container-900 {width: 900px;}
+.fl-container-950 {width: 950px;}
+.fl-container-1000 {width: 1000px;}
+
+/* Flex width containers */
+.fl-container-auto {width: auto;}
+.fl-container-flex {width: 100%; clear:both;}
+.fl-container-flex10 {width: 10%;}
+.fl-container-flex20 {width: 20%;}
+.fl-container-flex25 {width: 25%;}
+.fl-container-flex30 {width: 30%;}
+.fl-container-flex33 {width: 33%;}
+.fl-container-flex40 {width: 40%;}
+.fl-container-flex50 {width: 50%;}
+.fl-container-flex60 {width: 60%;}
+.fl-container-flex66 {width: 66%;}
+.fl-container-flex75 {width: 75%;}
+
+/* linearizable containers & columns */
+.fl-layout-linear *,
+.fl-layout-linear .fl-linearEnabled {
+ overflow:visible !important;
+ clear: both !important;
+ float:none !important;
+ position:relative !important;
+ margin-left:0 !important;
+ margin-right:0 !important;
+ top:0 !important;
+ left:0 !important;
+}
+.fl-layout-linear .fl-container,
+.fl-layout-linear .fl-container-100,
+.fl-layout-linear .fl-container-150,
+.fl-layout-linear .fl-container-200,
+.fl-layout-linear .fl-container-250,
+.fl-layout-linear .fl-container-300,
+.fl-layout-linear .fl-container-400,
+.fl-layout-linear .fl-container-750,
+.fl-layout-linear .fl-container-950,
+.fl-layout-linear .fl-container-auto,
+.fl-layout-linear .fl-container-flex25,
+.fl-layout-linear .fl-container-flex30,
+.fl-layout-linear .fl-container-flex33,
+.fl-layout-linear .fl-container-flex50,
+.fl-layout-linear .fl-col,
+.fl-layout-linear .fl-col-side,
+.fl-layout-linear .fl-col-flex,
+.fl-layout-linear .fl-col-main,
+.fl-layout-linear .fl-col-fixed,
+.fl-layout-linear .fl-col-justified {width:100% !important; margin:auto; padding:0 !important;}
+
+.fl-layout-linear .fl-force-left,
+.fl-layout-linear .fl-force-right,
+.fl-layout-linear li {display:block !important; float:none !important;}
+
+.fl-layout-linear .fl-linearEnabled {width:100% !important; position:relative;} /* linearization opt in for special cases */
+
+/*
+Layout Helpers
+=============================================
+*/
+/* Columns: A quick column grid system */
+/* Flex width columns (containers with margins and padding) */
+.fl-col-justified {float:left; display:inline; overflow:auto; text-align:justify;} /* redundant: text alignment now in fluid.text.css */
+
+.fl-col-flex2, .fl-col-flex3, .fl-col-flex4, .fl-col-flex5 {overflow:auto; zoom:1;}
+.fl-col {float:left; display:inline;}
+.fl-col-flex5 .fl-col {width:18.95%; margin-left:0.25%;margin-right:0.25%; padding-left:0.25%; padding-right:0.25%}
+.fl-col-flex4 .fl-col {width:24%; margin-left:0.25%;margin-right:0.25%; padding-left:0.25%; padding-right:0.25%}
+.fl-col-flex3 .fl-col {width:32.33%; margin-left:0.25%;margin-right:0.25%; padding-left:0.25%; padding-right:0.25%}
+.fl-col-flex2 .fl-col {width:48.85%; margin-left:0.25%;margin-right:0.25%; padding-left:0.25%; padding-right:0.25%}
+
+/* CHANGE TO LAYOUT not COL since this will become a layout helper */
+.fl-col-mixed,
+.fl-col-mixed2,
+.fl-col-mixed3 {overflow:auto; zoom:1;}
+
+/* Old System */
+.fl-col-mixed .fl-col-side {width:200px;}
+.fl-col-mixed .fl-col-side,
+.fl-col-mixed .fl-col-main {padding:0 10px;}
+
+.fl-col-mixed2 .fl-col-side {width:200px; padding:0 10px; float:left;}
+.fl-col-mixed2 .fl-col-main {margin-left:220px; padding:0 10px;} /* margin goes on whichever side the fixed column goes */
+
+.fl-col-mixed3 .fl-col-main {margin:0 220px;} /* margin goes on whichever side the fixed column goes */
+
+/* New System, requires fl-force-XX, provides some basic numbers to start with */
+.fl-col-fixed, .fl-col-flex {padding:0 10px;}
+
+.fl-col-mixed .fl-col-fixed {width:200px; padding:0 10px;}
+.fl-col-mixed .fl-col-flex {margin-left:220px; padding:0 10px;}
+
+.fl-col-mixed-100 .fl-col-fixed {width:100px;}
+.fl-col-mixed-100 .fl-col-flex {margin-left:120px;}
+
+.fl-col-mixed-150 .fl-col-fixed {width:150px;}
+.fl-col-mixed-150 .fl-col-flex {margin-left:170px;}
+
+.fl-col-mixed-200 .fl-col-fixed {width:200px;}
+.fl-col-mixed-200 .fl-col-flex {margin-left:220px;}
+
+.fl-col-mixed-250 .fl-col-fixed {width:250px;}
+.fl-col-mixed-250 .fl-col-flex {margin-left:270px;}
+
+.fl-col-mixed-300 .fl-col-fixed {width:300px;}
+.fl-col-mixed-300 .fl-col-flex {margin-left:320px;}
+
+
+
+/*
+ * Tabs: a quick tab system
+ * Dependency: list-based markup ?
+ */
+.fl-tabs {margin:0.75em 0 0 0; border-bottom:1px solid #000; text-align:center; padding-bottom:0.2em;}
+.fl-tabs li {list-style-type:none; display:inline;}
+.fl-tabs li a {padding:0.25em 1.25em; background-color:#fff; margin-left:-5px; *margin-bottom:-8px; zoom:1; border:1px solid #000; border-bottom:1px solid #fff;}
+.fl-tabs li a:hover {}
+.fl-tabs .orderable-drop-marker {padding:0 3px; background-color:#c00;margin:0 5px 0 -5px; zoom:1;}
+
+.fl-tabs .fl-activeTab {}
+
+.fl-tabs-center {text-align:center;}
+.fl-tabs-left {text-align:left; padding-left:10px;}
+.fl-tabs-right {text-align:right; padding-right:15px;}
+
+
+/*
+ * Menus: quick horizontal and vertical menu
+ * Requires list items with anchors
+ */
+.fl-listmenu {padding:0px; border-bottom-width:1px; border-bottom-style:solid;}
+.fl-listmenu li {margin:0; padding:0; list-style-type:none; border-width:1px; border-style:solid; border-bottom:none;}
+.fl-listmenu a {padding:5px 5px; display:block; zoom:1;} /* list item needs layout (http://www.brunildo.org/test/IEWlispace.php) */
+.fl-vert-menu {
+}
+.fl-horz-menu {
+}
+
+/*
+ * Picture Grid: a quick picture grid layout
+ * Dependency: list-based markup
+ */
+ul.fl-grid, .fl-grid ul {padding:0; margin:0;}
+.fl-grid li {list-style-type:none; display:inline;}
+.fl-grid li {float:left; width:19%; margin:0.5%; height:150px; overflow:hidden; position:relative; display:inline;}
+.fl-grid li img {display:block; margin:5px auto;}
+.fl-grid li .caption {position:absolute; left:0px; bottom:0px; width:100%; text-align:center; height:1em; padding:3px 0;}
+
+/*
+ * Icons: quick accessible icon helper
+ */
+.fl-icon {
+ text-indent:-5000px;
+ overflow:hidden;
+ cursor:pointer;
+ display:block;
+ height:16px;
+ width:16px;
+ margin-left:5px;
+ margin-right:5px;
+ background-position:center center;
+ background-repeat:no-repeat;
+}
+input.fl-icon {padding-left:16px;}
+
+/*
+ * Buttons: quick sliding door buttons
+ * requires a container with a sub container
+ */
+
+.fl-button-left {float:left; margin-right:10px; padding:0 0 0 16px; background-position:left center; background-repeat:no-repeat;}
+.fl-button-left * {float:left; padding:0 16px 0 0; cursor:pointer; background-position:left center; background-repeat:no-repeat;}
+.fl-button-right {float:right; margin-left:10px; padding:0 0 0 16px; background-position:left center; background-repeat:no-repeat;}
+.fl-button-right * {float:left; padding: 0 16px 0 0; cursor:pointer; background-position:left center; background-repeat:no-repeat;}
+
+/*
+ * Widgets: modelled after the mycamtools widget model
+ */
+.fl-widget {padding:5px; margin-bottom:10px;}
+.fl-widget .button {margin:0 5px;}
+.fl-widget .fl-widget-titlebar {} /* fixes layout problem in IE6 due to .column {position:relative} setup*/
+.fl-widget .fl-widget-titlebar h2 {padding:0; margin:0; font-size:105%;}
+.fl-widget .fl-widget-controls {margin:-1.3em 0 1.5em 0;}
+.fl-widget .fl-widget-options {margin-top:5px; padding:0px 10px;}
+.fl-widget .fl-widget-options ul {margin:0; padding:0; overflow:hidden; zoom:1;}
+.fl-widget .fl-widget-options li {list-style-type:none; float:left; display:inline; padding:0 5px 0 5px; margin-left:-5px;}
+.fl-widget .fl-widget-options a {margin-right:5px;}
+.fl-widget .fl-widget-content {zoom:1; margin:5px 0 0 0; overflow: auto;}
+.fl-widget .fl-widget-content ul {}
+.fl-widget .empty * {padding-top:10px; margin-left:auto; margin-right:auto; text-align:center;}
+
+/* Common widget sub-components */
+.fl-widget .menu {margin:0;}
+.fl-widget .grabbable {cursor:move; background-position:center top; background-repeat:no-repeat;}
+.fl-widget h2.grabbable {background-position:center top;}
+/*.fl-widget .icon {text-indent:-5000px; cursor:pointer; display:block; height:16px; width:16px; margin-left:5px; margin-right:5px; background-repeat:no-repeat;}*/
+.fl-widget .toggle {width:32px;}
+.fl-widget .on {background-position:left top;}
+.fl-widget .off {background-position:left bottom;}
+
+
+/*
+ * Forms and Form Controls
+ * Common arrangements for form inputs
+ */
+/* Alignment requires list of label elements placed before the control */
+.fl-controls-left li {list-style-type:none; text-align:left;}
+.fl-controls-left .fl-label {float:left; text-align:left; width:50%; margin-right:5px;}
+
+.fl-controls-right li {list-style-type:none; display:block; text-align:left;}
+.fl-controls-right .fl-label {float:left; text-align:right; width:50%; margin-right:5px;}
+
+.fl-controls-centered li {list-style-type:none; display:block; text-align:left;}
+.fl-controls-centered .fl-label {float:left; text-align:center; width:50%; margin-right:5px;}
+
+
+/*
+ * Progressive Enhancement
+ */
+.fl-progressive-enhancer {display:none;}
+
+/**
+ * Knockout Background Images
+ */
+.fl-no-background-images, .fl-noBackgroundImages * {
+ background-image:none !important;
+}
+
+
+/*
+Component Specific
+=============================================
+*/
+
+
+/* INLINE EDIT */
+.fl-component-inlineEdit span input {margin:-2px; padding:0;} /* auto generated input fields */
+
+
+
+/* PROGRESSOR */
+.fl-progress-bounds {border-width:1px; border-style:solid; padding:2px;}
+.fl-progress-fill {width:100%;}
136 src/webapp/fluid-components/css/fluid.reset.css
@@ -0,0 +1,136 @@
+/*
+YUI fonts, reset and base
+
+Copyright (c) 2008, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.5.2
+*/
+/**
+ * Percents could work for IE, but for backCompat purposes, we are using keywords.
+ * x-small is for IE6/7 quirks mode.
+ */
+body {}
+table {font-size:inherit;font:100%;}
+/**