old_sql 1.16.0 → 1.17.0

Sign up to get free protection for your applications and to get access to all the features.
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>