old_sql 1.16.0 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. data/README.md +24 -13
  2. data/app/controllers/old_sql/report_controller.rb +3 -17
  3. data/app/views/layouts/old_sql/chart.html.erb +11 -0
  4. data/app/views/old_sql/report/chart.html.erb +8 -25
  5. data/lib/generators/old_sql/templates/user_design_template.csv +2 -3
  6. data/lib/generators/old_sql/templates/user_old_sql_demo_chart_design.yml +18 -9
  7. data/lib/old_sql/report_design/chart.rb +2 -2
  8. data/lib/old_sql/report_design/chart_item.rb +4 -4
  9. data/lib/old_sql/report_design/chart_parser.rb +2 -2
  10. data/public/javascripts/old_sql/chart.js +33 -0
  11. metadata +5 -265
  12. data/public/javascripts/old_sql/MochiKit-1.4.2/Changes +0 -362
  13. data/public/javascripts/old_sql/MochiKit-1.4.2/LICENSE.txt +0 -69
  14. data/public/javascripts/old_sql/MochiKit-1.4.2/MANIFEST +0 -179
  15. data/public/javascripts/old_sql/MochiKit-1.4.2/META.json +0 -17
  16. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/Async.html +0 -814
  17. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/Base.html +0 -1703
  18. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/Color.html +0 -755
  19. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/DOM.html +0 -1197
  20. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/DateTime.html +0 -168
  21. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/DragAndDrop.html +0 -187
  22. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/Format.html +0 -300
  23. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/Iter.html +0 -524
  24. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/Logging.html +0 -420
  25. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/LoggingPane.html +0 -142
  26. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/Position.html +0 -38
  27. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/Selector.html +0 -240
  28. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/Signal.html +0 -508
  29. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/Sortable.html +0 -244
  30. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/Style.html +0 -385
  31. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/VersionHistory.html +0 -384
  32. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/Visual.html +0 -1161
  33. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/html/MochiKit/index.html +0 -447
  34. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/js/toc.js +0 -113
  35. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/Async.rst +0 -767
  36. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/Base.rst +0 -1445
  37. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/Color.rst +0 -651
  38. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/DOM.rst +0 -1143
  39. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/DateTime.rst +0 -145
  40. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/DragAndDrop.rst +0 -197
  41. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/Format.rst +0 -258
  42. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/Iter.rst +0 -454
  43. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/Logging.rst +0 -348
  44. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/LoggingPane.rst +0 -128
  45. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/Position.rst +0 -26
  46. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/Selector.rst +0 -203
  47. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/Signal.rst +0 -498
  48. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/Sortable.rst +0 -186
  49. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/Style.rst +0 -353
  50. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/VersionHistory.rst +0 -362
  51. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/Visual.rst +0 -895
  52. data/public/javascripts/old_sql/MochiKit-1.4.2/doc/rst/MochiKit/index.rst +0 -83
  53. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/ajax_tables/ajax_tables.css +0 -69
  54. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/ajax_tables/ajax_tables.js +0 -401
  55. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/ajax_tables/domains.json +0 -10
  56. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/ajax_tables/domains.xml +0 -40
  57. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/ajax_tables/index.html +0 -96
  58. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/color_wheel/color_wheel.css +0 -4
  59. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/color_wheel/color_wheel.js +0 -95
  60. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/color_wheel/index.html +0 -31
  61. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/dnd_sortable/dnd_sortable.css +0 -23
  62. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/dnd_sortable/dropmarker.png +0 -0
  63. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/dnd_sortable/icon.png +0 -0
  64. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/dnd_sortable/index.html +0 -54
  65. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/dnd_sortable/sortable2_test.html +0 -150
  66. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/dnd_sortable/sortable3_test.html +0 -42
  67. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/dnd_sortable/sortable4_test.html +0 -90
  68. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/dnd_sortable/sortable5_test.html +0 -29
  69. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/dnd_sortable/sortable_test.html +0 -38
  70. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/dnd_sortable/sortable_tree_test.html +0 -189
  71. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/draggable/draggable.css +0 -28
  72. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/draggable/draggable.js +0 -73
  73. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/draggable/index.html +0 -38
  74. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/effects/effects_bigslide.html +0 -36
  75. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/effects/effects_blind.html +0 -65
  76. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/effects/effects_blindslide.html +0 -31
  77. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/effects/effects_combi.css +0 -18
  78. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/effects/effects_fadeappear.html +0 -61
  79. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/effects/effects_grow_shrink.html +0 -38
  80. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/effects/effects_onload.html +0 -67
  81. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/effects/effects_queue.html +0 -67
  82. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/effects/effects_queue_limit.html +0 -30
  83. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/effects/effects_scroll.html +0 -483
  84. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/effects/effects_slide.html +0 -62
  85. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/effects/full.html +0 -71
  86. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/effects/icon.png +0 -0
  87. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/effects/index.html +0 -150
  88. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/interpreter/index.html +0 -88
  89. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/interpreter/interpreter.css +0 -54
  90. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/interpreter/interpreter.js +0 -373
  91. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/key_events/index.html +0 -78
  92. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/key_events/key_events.css +0 -5
  93. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/key_events/key_events.js +0 -85
  94. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/logging_pane/index.html +0 -46
  95. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/logging_pane/logging_pane.css +0 -78
  96. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/logging_pane/logging_pane.js +0 -11
  97. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/mochiregexp/index.html +0 -74
  98. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/mochiregexp/mochiregexp.css +0 -73
  99. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/mochiregexp/mochiregexp.js +0 -125
  100. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/mouse_events/index.html +0 -88
  101. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/mouse_events/mouse_events.css +0 -17
  102. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/mouse_events/mouse_events.js +0 -59
  103. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/rounded_corners/index.html +0 -28
  104. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/rounded_corners/rounded_corners.css +0 -3
  105. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/rounded_corners/rounded_corners.js +0 -19
  106. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/simple_dnd/dnd_boxes.html +0 -45
  107. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/simple_dnd/dnd_full.html +0 -119
  108. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/simple_dnd/dnd_ghost.html +0 -40
  109. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/simple_dnd/dnd_hoverclass.html +0 -43
  110. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/simple_dnd/dnd_scroll.html +0 -91
  111. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/simple_dnd/dnd_snap.html +0 -54
  112. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/simple_dnd/index.html +0 -93
  113. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/simple_dnd/simple_dnd.css +0 -64
  114. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/sortable_tables/index.html +0 -71
  115. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/sortable_tables/sortable_tables.css +0 -66
  116. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/sortable_tables/sortable_tables.js +0 -203
  117. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/view-source/lib/SyntaxHighlighter/SyntaxHighlighter.css +0 -177
  118. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/view-source/lib/SyntaxHighlighter/Tests.html +0 -339
  119. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/view-source/lib/SyntaxHighlighter/shBrushCSharp.js +0 -30
  120. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/view-source/lib/SyntaxHighlighter/shBrushDelphi.js +0 -31
  121. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/view-source/lib/SyntaxHighlighter/shBrushJScript.js +0 -22
  122. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/view-source/lib/SyntaxHighlighter/shBrushPhp.js +0 -23
  123. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/view-source/lib/SyntaxHighlighter/shBrushPython.js +0 -71
  124. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/view-source/lib/SyntaxHighlighter/shBrushSql.js +0 -40
  125. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/view-source/lib/SyntaxHighlighter/shBrushVb.js +0 -29
  126. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/view-source/lib/SyntaxHighlighter/shBrushXml.js +0 -61
  127. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/view-source/lib/SyntaxHighlighter/shCore.js +0 -622
  128. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/view-source/view-source.css +0 -1
  129. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/view-source/view-source.html +0 -19
  130. data/public/javascripts/old_sql/MochiKit-1.4.2/examples/view-source/view-source.js +0 -70
  131. data/public/javascripts/old_sql/MochiKit-1.4.2/include/_img/bg_docheader.gif +0 -0
  132. data/public/javascripts/old_sql/MochiKit-1.4.2/include/_img/g_bullet.gif +0 -0
  133. data/public/javascripts/old_sql/MochiKit-1.4.2/include/_img/g_logo_doc.gif +0 -0
  134. data/public/javascripts/old_sql/MochiKit-1.4.2/include/css/documentation.css +0 -130
  135. data/public/javascripts/old_sql/MochiKit-1.4.2/include/css/general.css +0 -48
  136. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/Async.js +0 -682
  137. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/Base.js +0 -1489
  138. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/Color.js +0 -863
  139. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/DOM.js +0 -1256
  140. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/DateTime.js +0 -222
  141. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/DragAndDrop.js +0 -793
  142. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/Format.js +0 -304
  143. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/Iter.js +0 -844
  144. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/Logging.js +0 -315
  145. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/LoggingPane.js +0 -353
  146. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/MochiKit.js +0 -188
  147. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/MockDOM.js +0 -115
  148. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/Position.js +0 -236
  149. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/Selector.js +0 -415
  150. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/Signal.js +0 -897
  151. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/Sortable.js +0 -589
  152. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/Style.js +0 -594
  153. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/Test.js +0 -162
  154. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/Visual.js +0 -2026
  155. data/public/javascripts/old_sql/MochiKit-1.4.2/lib/MochiKit/__package__.js +0 -18
  156. data/public/javascripts/old_sql/MochiKit-1.4.2/packed/MochiKit/MochiKit.js +0 -7829
  157. data/public/javascripts/old_sql/MochiKit-1.4.2/packed/MochiKit/__package__.js +0 -6
  158. data/public/javascripts/old_sql/MochiKit-1.4.2/packed/MochiKit/customize.html +0 -251
  159. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/FakeJSAN.js +0 -40
  160. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/SimpleTest/SimpleTest.js +0 -381
  161. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/SimpleTest/TestRunner.js +0 -159
  162. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/SimpleTest/test.css +0 -28
  163. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/cli.js +0 -6
  164. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/index.html +0 -25
  165. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/standalone.js +0 -16
  166. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_Base.js +0 -577
  167. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_Color.js +0 -137
  168. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_DateTime.js +0 -52
  169. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_DragAndDrop.js +0 -30
  170. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_Format.js +0 -89
  171. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_Iter.js +0 -186
  172. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_Logging.js +0 -88
  173. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-Async.html +0 -408
  174. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-Async.json +0 -1
  175. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-Base.html +0 -34
  176. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-Color.html +0 -84
  177. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-DOM-Safari.html +0 -48
  178. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-DOM.html +0 -363
  179. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-DateTime.html +0 -39
  180. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-DragAndDrop.html +0 -54
  181. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-Format.html +0 -39
  182. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-Iter.html +0 -38
  183. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-JSAN.html +0 -32
  184. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-Logging.html +0 -40
  185. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-MochiKit.html +0 -18
  186. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-Selector.html +0 -295
  187. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-Signal.html +0 -43
  188. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-Style.html +0 -223
  189. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_MochiKit-Visual.html +0 -197
  190. data/public/javascripts/old_sql/MochiKit-1.4.2/tests/test_Signal.js +0 -481
  191. data/public/javascripts/old_sql/plotkit-0.9.1/COPYING +0 -28
  192. data/public/javascripts/old_sql/plotkit-0.9.1/PlotKit/Base.js +0 -406
  193. data/public/javascripts/old_sql/plotkit-0.9.1/PlotKit/Canvas.js +0 -683
  194. data/public/javascripts/old_sql/plotkit-0.9.1/PlotKit/EasyPlot.js +0 -161
  195. data/public/javascripts/old_sql/plotkit-0.9.1/PlotKit/Layout.js +0 -756
  196. data/public/javascripts/old_sql/plotkit-0.9.1/PlotKit/PlotKit.js +0 -151
  197. data/public/javascripts/old_sql/plotkit-0.9.1/PlotKit/PlotKit_Packed.js +0 -2177
  198. data/public/javascripts/old_sql/plotkit-0.9.1/PlotKit/SVG.js +0 -705
  199. data/public/javascripts/old_sql/plotkit-0.9.1/PlotKit/SweetCanvas.js +0 -348
  200. data/public/javascripts/old_sql/plotkit-0.9.1/PlotKit/SweetSVG.js +0 -247
  201. data/public/javascripts/old_sql/plotkit-0.9.1/PlotKit/dummy.svg +0 -9
  202. data/public/javascripts/old_sql/plotkit-0.9.1/PlotKit/excanvas.js +0 -723
  203. data/public/javascripts/old_sql/plotkit-0.9.1/README +0 -1
  204. data/public/javascripts/old_sql/plotkit-0.9.1/doc/MochiKitAdditions.html +0 -2
  205. data/public/javascripts/old_sql/plotkit-0.9.1/doc/MochiKitAdditions.txt +0 -2
  206. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.Base.html +0 -302
  207. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.Base.txt +0 -139
  208. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.Canvas.html +0 -172
  209. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.Canvas.txt +0 -81
  210. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.EasyPlot.html +0 -155
  211. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.EasyPlot.txt +0 -50
  212. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.Layout.html +0 -428
  213. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.Layout.txt +0 -330
  214. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.QuickStart.html +0 -368
  215. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.QuickStart.txt +0 -256
  216. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.Renderer.html +0 -436
  217. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.Renderer.txt +0 -299
  218. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.SVG.html +0 -159
  219. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.SVG.txt +0 -64
  220. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.SweetCanvas.html +0 -131
  221. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.SweetCanvas.txt +0 -34
  222. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.SweetSVG.html +0 -131
  223. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.SweetSVG.txt +0 -34
  224. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.html +0 -334
  225. data/public/javascripts/old_sql/plotkit-0.9.1/doc/PlotKit.txt +0 -151
  226. data/public/javascripts/old_sql/plotkit-0.9.1/doc/SVGCanvasCompat.html +0 -304
  227. data/public/javascripts/old_sql/plotkit-0.9.1/doc/SVGCanvasCompat.txt +0 -144
  228. data/public/javascripts/old_sql/plotkit-0.9.1/doc/barsample.png +0 -0
  229. data/public/javascripts/old_sql/plotkit-0.9.1/doc/black.png +0 -0
  230. data/public/javascripts/old_sql/plotkit-0.9.1/doc/blue.png +0 -0
  231. data/public/javascripts/old_sql/plotkit-0.9.1/doc/cyan.png +0 -0
  232. data/public/javascripts/old_sql/plotkit-0.9.1/doc/doc.css +0 -62
  233. data/public/javascripts/old_sql/plotkit-0.9.1/doc/generate.py +0 -37
  234. data/public/javascripts/old_sql/plotkit-0.9.1/doc/green.png +0 -0
  235. data/public/javascripts/old_sql/plotkit-0.9.1/doc/orange.png +0 -0
  236. data/public/javascripts/old_sql/plotkit-0.9.1/doc/piesample.png +0 -0
  237. data/public/javascripts/old_sql/plotkit-0.9.1/doc/purple.png +0 -0
  238. data/public/javascripts/old_sql/plotkit-0.9.1/doc/red.png +0 -0
  239. data/public/javascripts/old_sql/plotkit-0.9.1/scripts/custom_rhino.jar +0 -0
  240. data/public/javascripts/old_sql/plotkit-0.9.1/scripts/pack.py +0 -58
  241. data/public/javascripts/old_sql/plotkit-0.9.1/tests/axis.html +0 -31
  242. data/public/javascripts/old_sql/plotkit-0.9.1/tests/basic.html +0 -25
  243. data/public/javascripts/old_sql/plotkit-0.9.1/tests/basic.js +0 -143
  244. data/public/javascripts/old_sql/plotkit-0.9.1/tests/debug.html +0 -56
  245. data/public/javascripts/old_sql/plotkit-0.9.1/tests/demo-svg.html +0 -58
  246. data/public/javascripts/old_sql/plotkit-0.9.1/tests/demo-svg.js +0 -133
  247. data/public/javascripts/old_sql/plotkit-0.9.1/tests/demo.html +0 -57
  248. data/public/javascripts/old_sql/plotkit-0.9.1/tests/demo.js +0 -136
  249. data/public/javascripts/old_sql/plotkit-0.9.1/tests/dynamic.html +0 -161
  250. data/public/javascripts/old_sql/plotkit-0.9.1/tests/img/firefox.png +0 -0
  251. data/public/javascripts/old_sql/plotkit-0.9.1/tests/img/konqueror.png +0 -0
  252. data/public/javascripts/old_sql/plotkit-0.9.1/tests/img/mozilla.ico +0 -0
  253. data/public/javascripts/old_sql/plotkit-0.9.1/tests/img/msie.gif +0 -0
  254. data/public/javascripts/old_sql/plotkit-0.9.1/tests/img/opera.ico +0 -0
  255. data/public/javascripts/old_sql/plotkit-0.9.1/tests/img/safari.gif +0 -0
  256. data/public/javascripts/old_sql/plotkit-0.9.1/tests/labels-img.html +0 -38
  257. data/public/javascripts/old_sql/plotkit-0.9.1/tests/labels.html +0 -43
  258. data/public/javascripts/old_sql/plotkit-0.9.1/tests/prototype_compat.html +0 -28
  259. data/public/javascripts/old_sql/plotkit-0.9.1/tests/quickstart-easy.html +0 -29
  260. data/public/javascripts/old_sql/plotkit-0.9.1/tests/quickstart-horiz.html +0 -53
  261. data/public/javascripts/old_sql/plotkit-0.9.1/tests/quickstart-neg.html +0 -29
  262. data/public/javascripts/old_sql/plotkit-0.9.1/tests/quickstart-svg.html +0 -61
  263. data/public/javascripts/old_sql/plotkit-0.9.1/tests/quickstart.html +0 -57
  264. data/public/javascripts/old_sql/plotkit-0.9.1/tests/sample.txt +0 -6
  265. data/public/javascripts/old_sql/plotkit-0.9.1/tests/svg-sweet.html +0 -29
  266. data/public/javascripts/old_sql/plotkit-0.9.1/tests/svg-sweet.js +0 -141
  267. data/public/javascripts/old_sql/plotkit-0.9.1/tests/svg.html +0 -26
  268. data/public/javascripts/old_sql/plotkit-0.9.1/tests/svg.js +0 -147
  269. data/public/javascripts/old_sql/plotkit-0.9.1/tests/sweet.html +0 -24
  270. data/public/javascripts/old_sql/plotkit-0.9.1/tests/sweet.js +0 -89
  271. data/public/javascripts/old_sql/plotkit-0.9.1/tests/tests.css +0 -66
  272. data/public/javascripts/old_sql/plotkit-0.9.1/tests/testsvg.html +0 -20
  273. data/public/javascripts/old_sql/plotkit-0.9.1/tests/testsvg.js +0 -31
@@ -1,17 +0,0 @@
1
- {
2
- "recommends": {
3
- "JSAN": "0.10"
4
- },
5
- "name": "MochiKit",
6
- "license": "mit",
7
- "author": [
8
- "Bob Ippolito <bob@redivi.com>"
9
- ],
10
- "abstract": "Python-inspired JavaScript kit",
11
- "generated_by": "MochiKit's build script",
12
- "build_requires": {
13
- "Test.Simple": "0.11"
14
- },
15
- "version": "1.4.2",
16
- "provides": {}
17
- }
@@ -1,814 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8" ?>
2
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
-
4
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
- <head>
6
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
- <meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
8
- <title>MochiKit.Async - manage asynchronous tasks</title>
9
-
10
- <link rel="stylesheet" href="../../../include/css/documentation.css" type="text/css" />
11
- <script type="text/javascript" src="../../../packed/lib/MochiKit/MochiKit.js"></script>
12
- <script type="text/javascript" src="../../js/toc.js"></script>
13
- </head>
14
- <body>
15
- <a href="http://mochikit.com"><img id="mainlink" src="../../../include/_img/g_logo_doc.gif" alt="MochiKit" /></a>
16
- <a class='indexlink' href='index.html'>Back to docs index</a>
17
- <div class="document">
18
- <div class="section">
19
- <h1><a id="name" name="name">Name</a></h1>
20
- <p>MochiKit.Async - manage asynchronous tasks</p>
21
- </div>
22
- <div class="section">
23
- <h1><a id="synopsis" name="synopsis">Synopsis</a></h1>
24
- <pre class="literal-block">
25
- var url = &quot;/src/b/bo/bob/MochiKit.Async/META.json&quot;;
26
- /*
27
-
28
- META.json looks something like this:
29
-
30
- {&quot;name&quot;: &quot;MochiKit&quot;, &quot;version&quot;: &quot;0.5&quot;}
31
-
32
- */
33
- var d = loadJSONDoc(url);
34
- var gotMetadata = function (meta) {
35
- if (MochiKit.Async.VERSION == meta.version) {
36
- alert(&quot;You have the newest MochiKit.Async!&quot;);
37
- } else {
38
- alert(&quot;MochiKit.Async &quot;
39
- + meta.version
40
- + &quot; is available, upgrade!&quot;);
41
- }
42
- };
43
- var metadataFetchFailed = function (err) {
44
- alert(&quot;The metadata for MochiKit.Async could not be fetched :(&quot;);
45
- };
46
- d.addCallbacks(gotMetadata, metadataFetchFailed);
47
- </pre>
48
- </div>
49
- <div class="section">
50
- <h1><a id="description" name="description">Description</a></h1>
51
- <p>MochiKit.Async provides facilities to manage asynchronous (as in AJAX
52
- <a class="footnote-reference" href="#id7" id="id1" name="id1">[1]</a>) tasks. The model for asynchronous computation used in this
53
- module is heavily inspired by Twisted <a class="footnote-reference" href="#id8" id="id2" name="id2">[2]</a>.</p>
54
- </div>
55
- <div class="section">
56
- <h1><a id="dependencies" name="dependencies">Dependencies</a></h1>
57
- <ul class="simple">
58
- <li><a class="mochiref reference" href="Base.html">MochiKit.Base</a></li>
59
- </ul>
60
- </div>
61
- <div class="section">
62
- <h1><a id="security-concerns" name="security-concerns">Security Concerns</a></h1>
63
- <p>The current implementation of evalJSONRequest does no input validation.
64
- Invalid JSON can execute arbitrary JavaScript code in the client. This isn't
65
- normally a concern because of the same-origin policy in web browsers; the
66
- server is already sending arbitrary code to the client (your program!).</p>
67
- <p>While this isn't directly relevant to MochiKit, server-side code that produces
68
- JSON should consider potential cross-site request forgery. Currently known
69
- exploits require a JSON array to be the outer-most object, and the data to be
70
- leaked must be known keys in objects contained by that array:</p>
71
- <pre class="literal-block">
72
- [{&quot;some_known_key&quot;: &quot;this can be leaked&quot;}, &quot;but not this&quot;]
73
- </pre>
74
- <p>This exploit does not apply to the most common usage of JSON, sending an
75
- object:</p>
76
- <pre class="literal-block">
77
- {&quot;some_known_key&quot;: &quot;this can't be leaked&quot;}
78
- </pre>
79
- <p>There are several ways to avoid this, here are a few:</p>
80
- <ul class="simple">
81
- <li>Use some non-standard addition to JSON that adds constructs to prevent
82
- script tag parsing, such as wrapping the data in a comment or an infinite
83
- loop. MochiKit supports comment-wrapped JSON, but it's up to the server
84
- to send it that way.</li>
85
- <li>Require some kind of authentication token in the URL.</li>
86
- <li>Allow only POST requests to access sensitive JSON.</li>
87
- <li>Only send JSON objects, not arrays. JSON objects aren't valid JavaScript
88
- syntax on their own without parentheses.</li>
89
- </ul>
90
- </div>
91
- <div class="section">
92
- <h1><a id="overview" name="overview">Overview</a></h1>
93
- <div class="section">
94
- <h2><a id="deferred" name="deferred">Deferred</a></h2>
95
- <p>The Deferred constructor encapsulates a single value that is not
96
- available yet. The most important example of this in the context of a
97
- web browser would be an <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt> to a server. The importance
98
- of the Deferred is that it allows a consistent API to be exposed for
99
- all asynchronous computations that occur exactly once.</p>
100
- <p>The producer of the Deferred is responsible for doing all of the
101
- complicated work behind the scenes. This often means waiting for a
102
- timer to fire, or waiting for an event (e.g. <tt class="docutils literal"><span class="pre">onreadystatechange</span></tt> of
103
- <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt>). It could also be coordinating several events
104
- (e.g. <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt> with a timeout, or several Deferreds
105
- (e.g. fetching a set of XML documents that should be processed at the
106
- same time).</p>
107
- <p>Since these sorts of tasks do not respond immediately, the producer of
108
- the Deferred does the following steps before returning to the
109
- consumer:</p>
110
- <ol class="arabic simple">
111
- <li>Create a <tt class="docutils literal"><span class="pre">new</span></tt> <a class="mochiref reference" href="#fn-deferred">Deferred();</a> object and keep a
112
- reference to it, because it will be needed later when the value is
113
- ready.</li>
114
- <li>Setup the conditions to create the value requested (e.g. create a
115
- new <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt>, set its <tt class="docutils literal"><span class="pre">onreadystatechange</span></tt>).</li>
116
- <li>Return the <a class="mochiref reference" href="#fn-deferred">Deferred</a> object.</li>
117
- </ol>
118
- <p>Since the value is not yet ready, the consumer attaches a function to
119
- the Deferred that will be called when the value is ready. This is not
120
- unlike <tt class="docutils literal"><span class="pre">setTimeout</span></tt>, or other similar facilities you may already be
121
- familiar with. The consumer can also attach an &quot;errback&quot; to the
122
- <a class="mochiref reference" href="#fn-deferred">Deferred</a>, which is a callback for error handling.</p>
123
- <p>When the value is ready, the producer simply calls
124
- <tt class="docutils literal"><span class="pre">myDeferred.callback(theValue)</span></tt>. If an error occurred, it should
125
- call <tt class="docutils literal"><span class="pre">myDeferred.errback(theValue)</span></tt> instead. As soon as this
126
- happens, the callback that the consumer attached to the
127
- <a class="mochiref reference" href="#fn-deferred">Deferred</a> is called with <tt class="docutils literal"><span class="pre">theValue</span></tt> as the only argument.</p>
128
- <p>There are quite a few additional &quot;advanced&quot; features baked into
129
- <a class="mochiref reference" href="#fn-deferred">Deferred</a>, such as cancellation and callback chains, so
130
- take a look at the API reference if you would like to know more!</p>
131
- </div>
132
- </div>
133
- <div class="section">
134
- <h1><a id="api-reference" name="api-reference">API Reference</a></h1>
135
- <div class="section">
136
- <h2><a id="errors" name="errors">Errors</a></h2>
137
- <p>
138
- <a name="fn-alreadycallederror"></a>
139
- <a class="mochidef reference" href="#fn-alreadycallederror">AlreadyCalledError</a>:</p>
140
- <blockquote>
141
- <p>Thrown by a <a class="mochiref reference" href="#fn-deferred">Deferred</a> if <tt class="docutils literal"><span class="pre">.callback</span></tt> or <tt class="docutils literal"><span class="pre">.errback</span></tt>
142
- are called more than once.</p>
143
- <dl class="docutils">
144
- <dt><em>Availability</em>:</dt>
145
- <dd>Available in MochiKit 1.3.1+</dd>
146
- </dl>
147
- </blockquote>
148
- <p>
149
- <a name="fn-browsercomplianceerror"></a>
150
- <a class="mochidef reference" href="#fn-browsercomplianceerror">BrowserComplianceError</a>:</p>
151
- <blockquote>
152
- <p>Thrown when the JavaScript runtime is not capable of performing
153
- the given function. Currently, this happens if the browser does
154
- not support <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt>.</p>
155
- <dl class="docutils">
156
- <dt><em>Availability</em>:</dt>
157
- <dd>Available in MochiKit 1.3.1+</dd>
158
- </dl>
159
- </blockquote>
160
- <p>
161
- <a name="fn-cancellederror"></a>
162
- <a class="mochidef reference" href="#fn-cancellederror">CancelledError</a>:</p>
163
- <blockquote>
164
- <p>Thrown by a <a class="mochiref reference" href="#fn-deferred">Deferred</a> when it is cancelled, unless a
165
- canceller is present and throws something else.</p>
166
- <dl class="docutils">
167
- <dt><em>Availability</em>:</dt>
168
- <dd>Available in MochiKit 1.3.1+</dd>
169
- </dl>
170
- </blockquote>
171
- <p>
172
- <a name="fn-genericerror"></a>
173
- <a class="mochidef reference" href="#fn-genericerror">GenericError</a>:</p>
174
- <blockquote>
175
- <p>Results passed to <tt class="docutils literal"><span class="pre">.fail</span></tt> or <tt class="docutils literal"><span class="pre">.errback</span></tt> of a
176
- <a class="mochiref reference" href="#fn-deferred">Deferred</a> are wrapped by this <tt class="docutils literal"><span class="pre">Error</span></tt> if <tt class="docutils literal"><span class="pre">!(result</span>
177
- <span class="pre">instanceof</span> <span class="pre">Error)</span></tt>.</p>
178
- <dl class="docutils">
179
- <dt><em>Availability</em>:</dt>
180
- <dd>Available in MochiKit 1.3.1+</dd>
181
- </dl>
182
- </blockquote>
183
- <p>
184
- <a name="fn-xmlhttprequesterror"></a>
185
- <a class="mochidef reference" href="#fn-xmlhttprequesterror">XMLHttpRequestError</a>:</p>
186
- <blockquote>
187
- <p>Thrown when an <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt> does not complete successfully
188
- for any reason. The <tt class="docutils literal"><span class="pre">req</span></tt> property of the error is the failed
189
- <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt> object, and for convenience the <tt class="docutils literal"><span class="pre">number</span></tt>
190
- property corresponds to <tt class="docutils literal"><span class="pre">req.status</span></tt>.</p>
191
- <dl class="docutils">
192
- <dt><em>Availability</em>:</dt>
193
- <dd>Available in MochiKit 1.3.1+</dd>
194
- </dl>
195
- </blockquote>
196
- </div>
197
- <div class="section">
198
- <h2><a id="constructors" name="constructors">Constructors</a></h2>
199
- <p>
200
- <a name="fn-deferred"></a>
201
- <a class="mochidef reference" href="#fn-deferred">Deferred()</a>:</p>
202
- <blockquote>
203
- Encapsulates a sequence of callbacks in response to a value that
204
- may not yet be available. This is modeled after the Deferred class
205
- from Twisted <a class="footnote-reference" href="#id9" id="id3" name="id3">[3]</a>.</blockquote>
206
- <blockquote>
207
- <p>Why do we want this? JavaScript has no threads, and even if it
208
- did, threads are hard. Deferreds are a way of abstracting
209
- non-blocking events, such as the final response to an
210
- <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt>.</p>
211
- <p>The sequence of callbacks is internally represented as a list of
212
- 2-tuples containing the callback/errback pair. For example, the
213
- following call sequence:</p>
214
- <pre class="literal-block">
215
- var d = new Deferred();
216
- d.addCallback(myCallback);
217
- d.addErrback(myErrback);
218
- d.addBoth(myBoth);
219
- d.addCallbacks(myCallback, myErrback);
220
- </pre>
221
- <p>is translated into a <a class="mochiref reference" href="#fn-deferred">Deferred</a> with the following
222
- internal representation:</p>
223
- <pre class="literal-block">
224
- [
225
- [myCallback, null],
226
- [null, myErrback],
227
- [myBoth, myBoth],
228
- [myCallback, myErrback]
229
- ]
230
- </pre>
231
- <p>The <a class="mochiref reference" href="#fn-deferred">Deferred</a> also keeps track of its current status
232
- (fired). Its status may be one of the following three values:</p>
233
- <blockquote>
234
- <table border="1" class="docutils">
235
- <colgroup>
236
- <col width="14%" />
237
- <col width="86%" />
238
- </colgroup>
239
- <thead valign="bottom">
240
- <tr><th class="head">Value</th>
241
- <th class="head">Condition</th>
242
- </tr>
243
- </thead>
244
- <tbody valign="top">
245
- <tr><td>-1</td>
246
- <td>no value yet (initial condition)</td>
247
- </tr>
248
- <tr><td>0</td>
249
- <td>success</td>
250
- </tr>
251
- <tr><td>1</td>
252
- <td>error</td>
253
- </tr>
254
- </tbody>
255
- </table>
256
- </blockquote>
257
- <p>A <a class="mochiref reference" href="#fn-deferred">Deferred</a> will be in the error state if one of the
258
- following conditions are met:</p>
259
- <ol class="arabic simple">
260
- <li>The result given to callback or errback is &quot;<tt class="docutils literal"><span class="pre">instanceof</span>
261
- <span class="pre">Error</span></tt>&quot;</li>
262
- <li>The callback or errback threw while executing. If the thrown
263
- object is not <tt class="docutils literal"><span class="pre">instanceof</span> <span class="pre">Error</span></tt>, it will be wrapped with
264
- <a class="mochiref reference" href="#fn-genericerror">GenericError</a>.</li>
265
- </ol>
266
- <p>Otherwise, the <a class="mochiref reference" href="#fn-deferred">Deferred</a> will be in the success
267
- state. The state of the <a class="mochiref reference" href="#fn-deferred">Deferred</a> determines the next
268
- element in the callback sequence to run.</p>
269
- <p>When a callback or errback occurs with the example deferred chain,
270
- something equivalent to the following will happen (imagine that
271
- exceptions are caught and returned as-is):</p>
272
- <pre class="literal-block">
273
- // d.callback(result) or d.errback(result)
274
- if (!(result instanceof Error)) {
275
- result = myCallback(result);
276
- }
277
- if (result instanceof Error) {
278
- result = myErrback(result);
279
- }
280
- result = myBoth(result);
281
- if (result instanceof Error) {
282
- result = myErrback(result);
283
- } else {
284
- result = myCallback(result);
285
- }
286
- </pre>
287
- <p>The result is then stored away in case another step is added to
288
- the callback sequence. Since the <a class="mochiref reference" href="#fn-deferred">Deferred</a> already has
289
- a value available, any new callbacks added will be called
290
- immediately.</p>
291
- <p>There are two other &quot;advanced&quot; details about this implementation
292
- that are useful:</p>
293
- <p>Callbacks are allowed to return <a class="mochiref reference" href="#fn-deferred">Deferred</a> instances, so
294
- you can build complicated sequences of events with (relative)
295
- ease.</p>
296
- <p>The creator of the <a class="mochiref reference" href="#fn-deferred">Deferred</a> may specify a
297
- canceller. The canceller is a function that will be called if
298
- <a class="mochiref reference" href="#fn-deferred.prototype.cancel">Deferred.prototype.cancel</a> is called before the
299
- <a class="mochiref reference" href="#fn-deferred">Deferred</a> fires. You can use this to allow an
300
- <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt> to be cleanly cancelled, for example. Note that
301
- cancel will fire the <a class="mochiref reference" href="#fn-deferred">Deferred</a> with a
302
- <a class="mochiref reference" href="#fn-cancellederror">CancelledError</a> (unless your canceller throws or
303
- returns a different <tt class="docutils literal"><span class="pre">Error</span></tt>), so errbacks should be prepared to
304
- handle that <tt class="docutils literal"><span class="pre">Error</span></tt> gracefully for cancellable
305
- <a class="mochiref reference" href="#fn-deferred">Deferred</a> instances.</p>
306
- <dl class="docutils">
307
- <dt><em>Availability</em>:</dt>
308
- <dd>Available in MochiKit 1.3.1+</dd>
309
- </dl>
310
- </blockquote>
311
- <p>
312
- <a name="fn-deferred.prototype.addboth"></a>
313
- <a class="mochidef reference" href="#fn-deferred.prototype.addboth">Deferred.prototype.addBoth(func)</a>:</p>
314
- <blockquote>
315
- <p>Add the same function as both a callback and an errback as the
316
- next element on the callback sequence. This is useful for code
317
- that you want to guarantee to run, e.g. a finalizer.</p>
318
- <p>If additional arguments are given, then <tt class="docutils literal"><span class="pre">func</span></tt> will be replaced
319
- with <a class="mochiref reference" href="Base.html#fn-partial">MochiKit.Base.partial.apply(null,
320
- arguments)</a>. This differs from <a class="reference" href="http://twistedmatrix.com/">Twisted</a>, because the result of
321
- the callback or errback will be the <em>last</em> argument passed to
322
- <tt class="docutils literal"><span class="pre">func</span></tt>.</p>
323
- <p>If <tt class="docutils literal"><span class="pre">func</span></tt> returns a <a class="mochiref reference" href="#fn-deferred">Deferred</a>, then it will be
324
- chained (its value or error will be passed to the next
325
- callback). Note that once the returned <tt class="docutils literal"><span class="pre">Deferred</span></tt> is chained, it
326
- can no longer accept new callbacks.</p>
327
- <dl class="docutils">
328
- <dt><em>Availability</em>:</dt>
329
- <dd>Available in MochiKit 1.3.1+</dd>
330
- </dl>
331
- </blockquote>
332
- <p>
333
- <a name="fn-deferred.prototype.addcallback"></a>
334
- <a class="mochidef reference" href="#fn-deferred.prototype.addcallback">Deferred.prototype.addCallback(func[, ...])</a>:</p>
335
- <blockquote>
336
- <p>Add a single callback to the end of the callback sequence.</p>
337
- <p>If additional arguments are given, then <tt class="docutils literal"><span class="pre">func</span></tt> will be replaced
338
- with <a class="mochiref reference" href="Base.html#fn-partial">MochiKit.Base.partial.apply(null,
339
- arguments)</a>. This differs from <a class="reference" href="http://twistedmatrix.com/">Twisted</a>, because the result of
340
- the callback will be the <em>last</em> argument passed to <tt class="docutils literal"><span class="pre">func</span></tt>.</p>
341
- <p>If <tt class="docutils literal"><span class="pre">func</span></tt> returns a <a class="mochiref reference" href="#fn-deferred">Deferred</a>, then it will be
342
- chained (its value or error will be passed to the next
343
- callback). Note that once the returned <tt class="docutils literal"><span class="pre">Deferred</span></tt> is chained, it
344
- can no longer accept new callbacks.</p>
345
- <dl class="docutils">
346
- <dt><em>Availability</em>:</dt>
347
- <dd>Available in MochiKit 1.3.1+</dd>
348
- </dl>
349
- </blockquote>
350
- <p>
351
- <a name="fn-deferred.prototype.addcallbacks"></a>
352
- <a class="mochidef reference" href="#fn-deferred.prototype.addcallbacks">Deferred.prototype.addCallbacks(callback, errback)</a>:</p>
353
- <blockquote>
354
- <p>Add separate callback and errback to the end of the callback
355
- sequence. Either callback or errback may be <tt class="docutils literal"><span class="pre">null</span></tt>, but not
356
- both.</p>
357
- <p>If <tt class="docutils literal"><span class="pre">callback</span></tt> or <tt class="docutils literal"><span class="pre">errback</span></tt> returns a <a class="mochiref reference" href="#fn-deferred">Deferred</a>,
358
- then it will be chained (its value or error will be passed to the
359
- next callback). Note that once the returned <tt class="docutils literal"><span class="pre">Deferred</span></tt> is
360
- chained, it can no longer accept new callbacks.</p>
361
- <dl class="docutils">
362
- <dt><em>Availability</em>:</dt>
363
- <dd>Available in MochiKit 1.3.1+</dd>
364
- </dl>
365
- </blockquote>
366
- <p>
367
- <a name="fn-deferred.prototype.adderrback"></a>
368
- <a class="mochidef reference" href="#fn-deferred.prototype.adderrback">Deferred.prototype.addErrback(func)</a>:</p>
369
- <blockquote>
370
- <p>Add a single errback to the end of the callback sequence.</p>
371
- <p>If additional arguments are given, then <tt class="docutils literal"><span class="pre">func</span></tt> will be replaced
372
- with <a class="mochiref reference" href="Base.html#fn-partial">MochiKit.Base.partial.apply(null,
373
- arguments)</a>. This differs from <a class="reference" href="http://twistedmatrix.com/">Twisted</a>, because the result of
374
- the errback will be the <em>last</em> argument passed to <tt class="docutils literal"><span class="pre">func</span></tt>.</p>
375
- <p>If <tt class="docutils literal"><span class="pre">func</span></tt> returns a <a class="mochiref reference" href="#fn-deferred">Deferred</a>, then it will be
376
- chained (its value or error will be passed to the next
377
- callback). Note that once the returned <tt class="docutils literal"><span class="pre">Deferred</span></tt> is chained, it
378
- can no longer accept new callbacks.</p>
379
- <dl class="docutils">
380
- <dt><em>Availability</em>:</dt>
381
- <dd>Available in MochiKit 1.3.1+</dd>
382
- </dl>
383
- </blockquote>
384
- <p>
385
- <a name="fn-deferred.prototype.callback"></a>
386
- <a class="mochidef reference" href="#fn-deferred.prototype.callback">Deferred.prototype.callback([result])</a>:</p>
387
- <blockquote>
388
- <p>Begin the callback sequence with a non-<tt class="docutils literal"><span class="pre">Error</span></tt> result. Result
389
- may be any value except for a <a class="mochiref reference" href="#fn-deferred">Deferred</a>.</p>
390
- <p>Either <tt class="docutils literal"><span class="pre">.callback</span></tt> or <tt class="docutils literal"><span class="pre">.errback</span></tt> should be called exactly once
391
- on a <a class="mochiref reference" href="#fn-deferred">Deferred</a>.</p>
392
- <dl class="docutils">
393
- <dt><em>Availability</em>:</dt>
394
- <dd>Available in MochiKit 1.3.1+</dd>
395
- </dl>
396
- </blockquote>
397
- <p>
398
- <a name="fn-deferred.prototype.cancel"></a>
399
- <a class="mochidef reference" href="#fn-deferred.prototype.cancel">Deferred.prototype.cancel()</a>:</p>
400
- <blockquote>
401
- <p>Cancels a <a class="mochiref reference" href="#fn-deferred">Deferred</a> that has not yet received a value,
402
- or is waiting on another <a class="mochiref reference" href="#fn-deferred">Deferred</a> as its value.</p>
403
- <p>If a canceller is defined, the canceller is called. If the
404
- canceller did not return an <tt class="docutils literal"><span class="pre">Error</span></tt>, or there was no canceller,
405
- then the errback chain is started with <a class="mochiref reference" href="#fn-cancellederror">CancelledError</a>.</p>
406
- <dl class="docutils">
407
- <dt><em>Availability</em>:</dt>
408
- <dd>Available in MochiKit 1.3.1+</dd>
409
- </dl>
410
- </blockquote>
411
- <p>
412
- <a name="fn-deferred.prototype.errback"></a>
413
- <a class="mochidef reference" href="#fn-deferred.prototype.errback">Deferred.prototype.errback([result])</a>:</p>
414
- <blockquote>
415
- <p>Begin the callback sequence with an error result. Result may be
416
- any value except for a <a class="mochiref reference" href="#fn-deferred">Deferred</a>, but if <tt class="docutils literal"><span class="pre">!(result</span>
417
- <span class="pre">instanceof</span> <span class="pre">Error)</span></tt>, it will be wrapped with
418
- <a class="mochiref reference" href="#fn-genericerror">GenericError</a>.</p>
419
- <p>Either <tt class="docutils literal"><span class="pre">.callback</span></tt> or <tt class="docutils literal"><span class="pre">.errback</span></tt> should be called exactly once
420
- on a
421
- <a name="fn-deferred"></a>
422
- <a class="mochidef reference" href="#fn-deferred">Deferred</a>.</p>
423
- <dl class="docutils">
424
- <dt><em>Availability</em>:</dt>
425
- <dd>Available in MochiKit 1.3.1+</dd>
426
- </dl>
427
- </blockquote>
428
- <p>
429
- <a name="fn-deferredlock"></a>
430
- <a class="mochidef reference" href="#fn-deferredlock">DeferredLock()</a>:</p>
431
- <blockquote>
432
- <p>A lock for asynchronous systems.</p>
433
- <p>The <tt class="docutils literal"><span class="pre">locked</span></tt> property of a <a class="mochiref reference" href="#fn-deferredlock">DeferredLock</a> will be
434
- <tt class="docutils literal"><span class="pre">true</span></tt> if it locked, <tt class="docutils literal"><span class="pre">false</span></tt> otherwise. Do not change this
435
- property.</p>
436
- <dl class="docutils">
437
- <dt><em>Availability</em>:</dt>
438
- <dd>Available in MochiKit 1.3.1+</dd>
439
- </dl>
440
- </blockquote>
441
- <p>
442
- <a name="fn-deferredlock.prototype.acquire"></a>
443
- <a class="mochidef reference" href="#fn-deferredlock.prototype.acquire">DeferredLock.prototype.acquire()</a>:</p>
444
- <blockquote>
445
- <p>Attempt to acquire the lock. Returns a <a class="mochiref reference" href="#fn-deferred">Deferred</a> that
446
- fires on lock acquisition with the <a class="mochiref reference" href="#fn-deferredlock">DeferredLock</a> as the
447
- value. If the lock is locked, then the <a class="mochiref reference" href="#fn-deferred">Deferred</a> goes
448
- into a waiting list.</p>
449
- <dl class="docutils">
450
- <dt><em>Availability</em>:</dt>
451
- <dd>Available in MochiKit 1.3.1+</dd>
452
- </dl>
453
- </blockquote>
454
- <p>
455
- <a name="fn-deferredlock.prototype.release"></a>
456
- <a class="mochidef reference" href="#fn-deferredlock.prototype.release">DeferredLock.prototype.release()</a>:</p>
457
- <blockquote>
458
- <p>Release the lock. If there is a waiting list, then the first
459
- <a class="mochiref reference" href="#fn-deferred">Deferred</a> in that waiting list will be called back.</p>
460
- <dl class="docutils">
461
- <dt><em>Availability</em>:</dt>
462
- <dd>Available in MochiKit 1.3.1+</dd>
463
- </dl>
464
- </blockquote>
465
- <p>
466
- <a name="fn-deferredlist"></a>
467
- <a class="mochidef reference" href="#fn-deferredlist">DeferredList(list, [fireOnOneCallback, fireOnOneErrback, consumeErrors, canceller])</a>:</p>
468
- <blockquote>
469
- <p>Combine a list of <a class="mochiref reference" href="#fn-deferred">Deferred</a> into one. Track the
470
- callbacks and return a list of (success, result) tuples, 'success'
471
- being a boolean indicating whether result is a normal result or an
472
- error.</p>
473
- <p>Once created, you have access to all <a class="mochiref reference" href="#fn-deferred">Deferred</a> methods,
474
- like addCallback, addErrback, addBoth. The behaviour can be
475
- changed by the following options:</p>
476
- <dl class="docutils">
477
- <dt><tt class="docutils literal"><span class="pre">fireOnOneCallback</span></tt>:</dt>
478
- <dd>Flag for launching the callback once the first Deferred of the
479
- list has returned.</dd>
480
- <dt><tt class="docutils literal"><span class="pre">fireOnOneErrback</span></tt>:</dt>
481
- <dd>Flag for calling the errback at the first error of a Deferred.</dd>
482
- <dt><tt class="docutils literal"><span class="pre">consumeErrors</span></tt>:</dt>
483
- <dd>Flag indicating that any errors raised in the Deferreds should
484
- be consumed by the DeferredList.</dd>
485
- </dl>
486
- <p>Example:</p>
487
- <pre class="literal-block">
488
- // We need to fetch data from 2 different urls
489
- var d1 = loadJSONDoc(url1);
490
- var d2 = loadJSONDoc(url2);
491
- var l1 = new DeferredList([d1, d2], false, false, true);
492
- l1.addCallback(function (resultList) {
493
- MochiKit.Base.map(function (result) {
494
- if (result[0]) {
495
- alert(&quot;Data is here: &quot; + result[1]);
496
- } else {
497
- alert(&quot;Got an error: &quot; + result[1]);
498
- }
499
- }, resultList);
500
- });
501
- </pre>
502
- <dl class="docutils">
503
- <dt><em>Availability</em>:</dt>
504
- <dd>Available in MochiKit 1.3.1+</dd>
505
- </dl>
506
- </blockquote>
507
- </div>
508
- <div class="section">
509
- <h2><a id="functions" name="functions">Functions</a></h2>
510
- <p>
511
- <a name="fn-calllater"></a>
512
- <a class="mochidef reference" href="#fn-calllater">callLater(seconds, func[, args...])</a>:</p>
513
- <blockquote>
514
- <p>Call <tt class="docutils literal"><span class="pre">func(args...)</span></tt> after at least <tt class="docutils literal"><span class="pre">seconds</span></tt> seconds have
515
- elapsed. This is a convenience method for:</p>
516
- <pre class="literal-block">
517
- func = partial.apply(extend(null, arguments, 1));
518
- return wait(seconds).addCallback(function (res) { return func() });
519
- </pre>
520
- <p>Returns a cancellable <a class="mochiref reference" href="#fn-deferred">Deferred</a>.</p>
521
- <dl class="docutils">
522
- <dt><em>Availability</em>:</dt>
523
- <dd>Available in MochiKit 1.3.1+</dd>
524
- </dl>
525
- </blockquote>
526
- <p>
527
- <a name="fn-doxhr"></a>
528
- <a class="mochidef reference" href="#fn-doxhr">doXHR(url[, {option: value, ...}])</a>:</p>
529
- <blockquote>
530
- <p>Perform a customized <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt> and wrap it with a
531
- <a class="mochiref reference" href="#fn-deferred">Deferred</a> that may be cancelled.</p>
532
- <p>Note that only <tt class="docutils literal"><span class="pre">200</span></tt> (OK), <tt class="docutils literal"><span class="pre">201</span></tt> (CREATED),
533
- <tt class="docutils literal"><span class="pre">204</span></tt> (NO CONTENT) and <tt class="docutils literal"><span class="pre">304</span></tt> (NOT MODIFIED) are considered
534
- success codes. All other status codes will
535
- result in an errback with an <tt class="docutils literal"><span class="pre">XMLHttpRequestError</span></tt>.</p>
536
- <dl class="docutils">
537
- <dt><tt class="docutils literal"><span class="pre">url</span></tt>:</dt>
538
- <dd>The URL for this request.</dd>
539
- </dl>
540
- <p>The following options are currently accepted:</p>
541
- <dl class="docutils">
542
- <dt><tt class="docutils literal"><span class="pre">method</span></tt>:</dt>
543
- <dd>The HTTP method. Default is <tt class="docutils literal"><span class="pre">'GET'</span></tt>.</dd>
544
- <dt><tt class="docutils literal"><span class="pre">sendContent</span></tt>:</dt>
545
- <dd>The content to send (e.g. with POST). Default is no content.</dd>
546
- <dt><tt class="docutils literal"><span class="pre">queryString</span></tt>:</dt>
547
- <dd>If present it will be used to build a query string to append to
548
- the url using <a class="mochiref reference" href="Base.html#fn-querystring">MochiKit.Base.queryString</a>. Default is
549
- no query string.</dd>
550
- <dt><tt class="docutils literal"><span class="pre">username</span></tt>:</dt>
551
- <dd>The username for the request. Default is no username.</dd>
552
- <dt><tt class="docutils literal"><span class="pre">password</span></tt>:</dt>
553
- <dd>The password for the request. Default is no password.</dd>
554
- <dt><tt class="docutils literal"><span class="pre">headers</span></tt>:</dt>
555
- <dd>Additional headers to set in the request, either as an object
556
- such as <tt class="docutils literal"><span class="pre">{'Accept':</span> <span class="pre">'text/xml'}</span></tt> or as an Array of 2-Arrays
557
- <tt class="docutils literal"><span class="pre">[['Accept',</span> <span class="pre">'text/xml']]</span></tt>. Default is no additional headers.</dd>
558
- <dt><tt class="docutils literal"><span class="pre">mimeType</span></tt>:</dt>
559
- <dd>An override mime type. The typical use of this is to pass
560
- 'text/xml' to force XMLHttpRequest to attempt to parse responseXML.
561
- Default is no override.</dd>
562
- <dt><em>returns</em>:</dt>
563
- <dd><a class="mochiref reference" href="#fn-deferred">Deferred</a> that will callback with the
564
- <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt> instance on success</dd>
565
- <dt><em>Availability</em>:</dt>
566
- <dd>Available in MochiKit 1.4+.</dd>
567
- </dl>
568
- </blockquote>
569
- <p>
570
- <a name="fn-dosimplexmlhttprequest"></a>
571
- <a class="mochidef reference" href="#fn-dosimplexmlhttprequest">doSimpleXMLHttpRequest(url[, queryArguments...])</a>:</p>
572
- <blockquote>
573
- <p>Perform a simple <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt> and wrap it with a
574
- <a class="mochiref reference" href="#fn-deferred">Deferred</a> that may be cancelled.</p>
575
- <p>Note that only <tt class="docutils literal"><span class="pre">200</span></tt> (OK), <tt class="docutils literal"><span class="pre">201</span></tt> (CREATED),
576
- <tt class="docutils literal"><span class="pre">204</span></tt> (NO CONTENT) and <tt class="docutils literal"><span class="pre">304</span></tt> (NOT MODIFIED) are considered
577
- success codes. All other status codes will
578
- result in an errback with an <tt class="docutils literal"><span class="pre">XMLHttpRequestError</span></tt>.</p>
579
- <dl class="docutils">
580
- <dt><tt class="docutils literal"><span class="pre">url</span></tt>:</dt>
581
- <dd>The URL to GET</dd>
582
- <dt><tt class="docutils literal"><span class="pre">queryArguments</span></tt>:</dt>
583
- <dd><p class="first">If this function is called with more than one argument, a
584
- <tt class="docutils literal"><span class="pre">&quot;?&quot;</span></tt> and the result of
585
- <a class="mochiref reference" href="Base.html#fn-querystring">MochiKit.Base.queryString</a> with the rest of the
586
- arguments are appended to the URL.</p>
587
- <p>For example, this will do a GET request to the URL
588
- <tt class="docutils literal"><span class="pre">http://example.com?bar=baz</span></tt>:</p>
589
- <pre class="last literal-block">
590
- doSimpleXMLHttpRequest(&quot;http://example.com&quot;, {bar: &quot;baz&quot;});
591
- </pre>
592
- </dd>
593
- <dt><em>returns</em>:</dt>
594
- <dd><a class="mochiref reference" href="#fn-deferred">Deferred</a> that will callback with the
595
- <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt> instance on success</dd>
596
- <dt><em>Availability</em>:</dt>
597
- <dd>Available in MochiKit 1.3.1+. Support for 201 and 204 were added in
598
- MochiKit 1.4.</dd>
599
- </dl>
600
- </blockquote>
601
- <p>
602
- <a name="fn-evaljsonrequest"></a>
603
- <a class="mochidef reference" href="#fn-evaljsonrequest">evalJSONRequest(req)</a>:</p>
604
- <blockquote>
605
- <p>Evaluate a JSON <a class="footnote-reference" href="#id10" id="id4" name="id4">[4]</a> <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt></p>
606
- <dl class="docutils">
607
- <dt><tt class="docutils literal"><span class="pre">req</span></tt>:</dt>
608
- <dd>The request whose <tt class="docutils literal"><span class="pre">.responseText</span></tt> property is to be
609
- evaluated. If the JSON is wrapped in a comment, the comment will
610
- be stripped before evaluation.</dd>
611
- <dt><em>returns</em>:</dt>
612
- <dd>A JavaScript object</dd>
613
- <dt><em>Availability</em>:</dt>
614
- <dd>Available in MochiKit 1.3.1+</dd>
615
- </dl>
616
- </blockquote>
617
- <p>
618
- <a name="fn-fail"></a>
619
- <a class="mochidef reference" href="#fn-fail">fail([result])</a>:</p>
620
- <blockquote>
621
- <p>Return a <a class="mochiref reference" href="#fn-deferred">Deferred</a> that has already had
622
- <tt class="docutils literal"><span class="pre">.errback(result)</span></tt> called.</p>
623
- <p>See <tt class="docutils literal"><span class="pre">succeed</span></tt> documentation for rationale.</p>
624
- <dl class="docutils">
625
- <dt><tt class="docutils literal"><span class="pre">result</span></tt>:</dt>
626
- <dd>The result to give to
627
- <a class="mochiref reference" href="#fn-deferred.prototype.errback">Deferred.prototype.errback(result)</a>.</dd>
628
- <dt><em>returns</em>:</dt>
629
- <dd>A <tt class="docutils literal"><span class="pre">new</span></tt> <a class="mochiref reference" href="#fn-deferred">Deferred()</a></dd>
630
- <dt><em>Availability</em>:</dt>
631
- <dd>Available in MochiKit 1.3.1+</dd>
632
- </dl>
633
- </blockquote>
634
- <p>
635
- <a name="fn-gatherresults"></a>
636
- <a class="mochidef reference" href="#fn-gatherresults">gatherResults(deferreds)</a>:</p>
637
- <blockquote>
638
- <p>A convenience function that returns a <a class="mochiref reference" href="#fn-deferredlist">DeferredList</a>
639
- from the given <tt class="docutils literal"><span class="pre">Array</span></tt> of <a class="mochiref reference" href="#fn-deferred">Deferred</a> instances that
640
- will callback with an <tt class="docutils literal"><span class="pre">Array</span></tt> of just results when they're
641
- available, or errback on the first array.</p>
642
- <dl class="docutils">
643
- <dt><em>Availability</em>:</dt>
644
- <dd>Available in MochiKit 1.3.1+</dd>
645
- </dl>
646
- </blockquote>
647
- <p>
648
- <a name="fn-getxmlhttprequest"></a>
649
- <a class="mochidef reference" href="#fn-getxmlhttprequest">getXMLHttpRequest()</a>:</p>
650
- <blockquote>
651
- <p>Return an <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt> compliant object for the current
652
- platform.</p>
653
- <p>In order of preference:</p>
654
- <ul class="simple">
655
- <li><tt class="docutils literal"><span class="pre">new</span> <span class="pre">XMLHttpRequest()</span></tt></li>
656
- <li><tt class="docutils literal"><span class="pre">new</span> <span class="pre">ActiveXObject('Msxml2.XMLHTTP')</span></tt></li>
657
- <li><tt class="docutils literal"><span class="pre">new</span> <span class="pre">ActiveXObject('Microsoft.XMLHTTP')</span></tt></li>
658
- <li><tt class="docutils literal"><span class="pre">new</span> <span class="pre">ActiveXObject('Msxml2.XMLHTTP.4.0')</span></tt></li>
659
- </ul>
660
- <dl class="docutils">
661
- <dt><em>Availability</em>:</dt>
662
- <dd>Available in MochiKit 1.3.1+</dd>
663
- </dl>
664
- </blockquote>
665
- <p>
666
- <a name="fn-maybedeferred"></a>
667
- <a class="mochidef reference" href="#fn-maybedeferred">maybeDeferred(func[, argument...])</a>:</p>
668
- <blockquote>
669
- <p>Call a <tt class="docutils literal"><span class="pre">func</span></tt> with the given arguments and ensure the result is
670
- a <a class="mochiref reference" href="#fn-deferred">Deferred</a>.</p>
671
- <dl class="docutils">
672
- <dt><tt class="docutils literal"><span class="pre">func</span></tt>:</dt>
673
- <dd>The function to call.</dd>
674
- <dt><em>returns</em>:</dt>
675
- <dd>A new <a class="mochiref reference" href="#fn-deferred">Deferred</a> based on the call to <tt class="docutils literal"><span class="pre">func</span></tt>. If
676
- <tt class="docutils literal"><span class="pre">func</span></tt> does not naturally return a <a class="mochiref reference" href="#fn-deferred">Deferred</a>, its
677
- result or error value will be wrapped by one.</dd>
678
- <dt><em>Availability</em>:</dt>
679
- <dd>Available in MochiKit 1.3.1+</dd>
680
- </dl>
681
- </blockquote>
682
- <p>
683
- <a name="fn-loadjsondoc"></a>
684
- <a class="mochidef reference" href="#fn-loadjsondoc">loadJSONDoc(url[, queryArguments...])</a>:</p>
685
- <blockquote>
686
- <p>Do a simple <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt> to a URL and get the response as a
687
- JSON <a class="footnote-reference" href="#id10" id="id5" name="id5">[4]</a> document.</p>
688
- <dl class="docutils">
689
- <dt><tt class="docutils literal"><span class="pre">url</span></tt>:</dt>
690
- <dd>The URL to GET</dd>
691
- <dt><tt class="docutils literal"><span class="pre">queryArguments</span></tt>:</dt>
692
- <dd><p class="first">If this function is called with more than one argument, a
693
- <tt class="docutils literal"><span class="pre">&quot;?&quot;</span></tt> and the result of
694
- <a class="mochiref reference" href="Base.html#fn-querystring">MochiKit.Base.queryString</a> with the rest of the
695
- arguments are appended to the URL.</p>
696
- <p>For example, this will do a GET request to the URL
697
- <tt class="docutils literal"><span class="pre">http://example.com?bar=baz</span></tt>:</p>
698
- <pre class="last literal-block">
699
- loadJSONDoc(&quot;http://example.com&quot;, {bar: &quot;baz&quot;});
700
- </pre>
701
- </dd>
702
- <dt><em>returns</em>:</dt>
703
- <dd><a class="mochiref reference" href="#fn-deferred">Deferred</a> that will callback with the evaluated
704
- JSON <a class="footnote-reference" href="#id10" id="id6" name="id6">[4]</a> response upon successful <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt></dd>
705
- <dt><em>Availability</em>:</dt>
706
- <dd>Available in MochiKit 1.3.1+</dd>
707
- </dl>
708
- </blockquote>
709
- <p>
710
- <a name="fn-sendxmlhttprequest"></a>
711
- <a class="mochidef reference" href="#fn-sendxmlhttprequest">sendXMLHttpRequest(req[, sendContent])</a>:</p>
712
- <blockquote>
713
- <p>Set an <tt class="docutils literal"><span class="pre">onreadystatechange</span></tt> handler on an <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt>
714
- object and send it off. Will return a cancellable
715
- <a class="mochiref reference" href="#fn-deferred">Deferred</a> that will callback on success.</p>
716
- <p>Note that only <tt class="docutils literal"><span class="pre">200</span></tt> (OK), <tt class="docutils literal"><span class="pre">201</span></tt> (CREATED),
717
- <tt class="docutils literal"><span class="pre">204</span></tt> (NO CONTENT) and <tt class="docutils literal"><span class="pre">304</span></tt> (NOT MODIFIED) are considered
718
- success codes. All other status codes will
719
- result in an errback with an <tt class="docutils literal"><span class="pre">XMLHttpRequestError</span></tt>.</p>
720
- <dl class="docutils">
721
- <dt><tt class="docutils literal"><span class="pre">req</span></tt>:</dt>
722
- <dd>An preconfigured <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt> object (open has been
723
- called).</dd>
724
- <dt><tt class="docutils literal"><span class="pre">sendContent</span></tt>:</dt>
725
- <dd>Optional string or DOM content to send over the
726
- <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt>.</dd>
727
- <dt><em>returns</em>:</dt>
728
- <dd><a class="mochiref reference" href="#fn-deferred">Deferred</a> that will callback with the
729
- <tt class="docutils literal"><span class="pre">XMLHttpRequest</span></tt> instance on success.</dd>
730
- <dt><em>Availability</em>:</dt>
731
- <dd>Available in MochiKit 1.3.1+. Support for 201 and 204 were added in
732
- MochiKit 1.4.</dd>
733
- </dl>
734
- </blockquote>
735
- <p>
736
- <a name="fn-succeed"></a>
737
- <a class="mochidef reference" href="#fn-succeed">succeed([result])</a>:</p>
738
- <blockquote>
739
- <p>Return a <a class="mochiref reference" href="#fn-deferred">Deferred</a> that has already had
740
- <tt class="docutils literal"><span class="pre">.callback(result)</span></tt> called.</p>
741
- <p>This is useful when you're writing synchronous code to an
742
- asynchronous interface: i.e., some code is calling you expecting a
743
- <a class="mochiref reference" href="#fn-deferred">Deferred</a> result, but you don't actually need to do
744
- anything asynchronous. Just return <tt class="docutils literal"><span class="pre">succeed(theResult)</span></tt>.</p>
745
- <p>See <tt class="docutils literal"><span class="pre">fail</span></tt> for a version of this function that uses a failing
746
- <a class="mochiref reference" href="#fn-deferred">Deferred</a> rather than a successful one.</p>
747
- <dl class="docutils">
748
- <dt><tt class="docutils literal"><span class="pre">result</span></tt>:</dt>
749
- <dd>The result to give to
750
- <a class="mochiref reference" href="#fn-deferred.prototype.callback">Deferred.prototype.callback(result)</a></dd>
751
- <dt><em>returns</em>:</dt>
752
- <dd>a <tt class="docutils literal"><span class="pre">new</span></tt> <a class="mochiref reference" href="#fn-deferred">Deferred</a></dd>
753
- <dt><em>Availability</em>:</dt>
754
- <dd>Available in MochiKit 1.3.1+</dd>
755
- </dl>
756
- </blockquote>
757
- <p>
758
- <a name="fn-wait"></a>
759
- <a class="mochidef reference" href="#fn-wait">wait(seconds[, res])</a>:</p>
760
- <blockquote>
761
- <p>Return a new cancellable <a class="mochiref reference" href="#fn-deferred">Deferred</a> that will
762
- <tt class="docutils literal"><span class="pre">.callback(res)</span></tt> after at least <tt class="docutils literal"><span class="pre">seconds</span></tt> seconds have
763
- elapsed.</p>
764
- <dl class="docutils">
765
- <dt><em>Availability</em>:</dt>
766
- <dd>Available in MochiKit 1.3.1+</dd>
767
- </dl>
768
- </blockquote>
769
- </div>
770
- </div>
771
- <div class="section">
772
- <h1><a id="see-also" name="see-also">See Also</a></h1>
773
- <table class="docutils footnote" frame="void" id="id7" rules="none">
774
- <colgroup><col class="label" /><col /></colgroup>
775
- <tbody valign="top">
776
- <tr><td class="label"><a class="fn-backref" href="#id1" name="id7">[1]</a></td><td>AJAX, Asynchronous JavaScript and XML: <a class="reference" href="http://en.wikipedia.org/wiki/AJAX">http://en.wikipedia.org/wiki/AJAX</a></td></tr>
777
- </tbody>
778
- </table>
779
- <table class="docutils footnote" frame="void" id="id8" rules="none">
780
- <colgroup><col class="label" /><col /></colgroup>
781
- <tbody valign="top">
782
- <tr><td class="label"><a class="fn-backref" href="#id2" name="id8">[2]</a></td><td>Twisted, an event-driven networking framework written in Python: <a class="reference" href="http://twistedmatrix.com/">http://twistedmatrix.com/</a></td></tr>
783
- </tbody>
784
- </table>
785
- <table class="docutils footnote" frame="void" id="id9" rules="none">
786
- <colgroup><col class="label" /><col /></colgroup>
787
- <tbody valign="top">
788
- <tr><td class="label"><a class="fn-backref" href="#id3" name="id9">[3]</a></td><td>Twisted Deferred Reference: <a class="reference" href="http://twistedmatrix.com/projects/core/documentation/howto/defer.html">http://twistedmatrix.com/projects/core/documentation/howto/defer.html</a></td></tr>
789
- </tbody>
790
- </table>
791
- <table class="docutils footnote" frame="void" id="id10" rules="none">
792
- <colgroup><col class="label" /><col /></colgroup>
793
- <tbody valign="top">
794
- <tr><td class="label"><a name="id10">[4]</a></td><td><em>(<a class="fn-backref" href="#id4">1</a>, <a class="fn-backref" href="#id5">2</a>, <a class="fn-backref" href="#id6">3</a>)</em> JSON, JavaScript Object Notation: <a class="reference" href="http://json.org/">http://json.org/</a></td></tr>
795
- </tbody>
796
- </table>
797
- </div>
798
- <div class="section">
799
- <h1><a id="authors" name="authors">Authors</a></h1>
800
- <ul class="simple">
801
- <li>Bob Ippolito &lt;<a class="reference" href="mailto:bob&#64;redivi.com">bob&#64;redivi.com</a>&gt;</li>
802
- </ul>
803
- </div>
804
- <div class="section">
805
- <h1><a id="copyright" name="copyright">Copyright</a></h1>
806
- <p>Copyright 2005 Bob Ippolito &lt;<a class="reference" href="mailto:bob&#64;redivi.com">bob&#64;redivi.com</a>&gt;. This program is
807
- dual-licensed free software; you can redistribute it and/or modify it
808
- under the terms of the <a class="reference" href="http://www.opensource.org/licenses/mit-license.php">MIT License</a> or the <a class="reference" href="http://www.opensource.org/licenses/afl-2.1.php">Academic Free License
809
- v2.1</a>.</p>
810
- </div>
811
- </div>
812
-
813
- </body>
814
- </html>