sequenceserver 2.0.0.rc8 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of sequenceserver might be problematic. Click here for more details.

Files changed (758) hide show
  1. checksums.yaml +4 -4
  2. data/bin/sequenceserver +22 -30
  3. data/lib/sequenceserver/api_errors.rb +29 -3
  4. data/lib/sequenceserver/blast/constants.rb +1 -1
  5. data/lib/sequenceserver/blast/hit.rb +5 -16
  6. data/lib/sequenceserver/blast/job.rb +49 -24
  7. data/lib/sequenceserver/blast/report.rb +38 -30
  8. data/lib/sequenceserver/config.rb +52 -27
  9. data/lib/sequenceserver/database.rb +69 -9
  10. data/lib/sequenceserver/job.rb +14 -4
  11. data/lib/sequenceserver/job_remover.rb +25 -29
  12. data/lib/sequenceserver/makeblastdb.rb +40 -45
  13. data/lib/sequenceserver/refinements.rb +15 -0
  14. data/lib/sequenceserver/routes.rb +70 -4
  15. data/lib/sequenceserver/sequence.rb +8 -7
  16. data/lib/sequenceserver/sys.rb +2 -2
  17. data/lib/sequenceserver/version.rb +1 -1
  18. data/lib/sequenceserver/zip_file_generator.rb +56 -0
  19. data/lib/sequenceserver.rb +16 -11
  20. data/public/config.js +62 -55
  21. data/public/css/fonts.css +23 -22
  22. data/public/css/grapher.css +598 -594
  23. data/public/css/sequenceserver.css +130 -27
  24. data/public/css/sequenceserver.min.css +3 -3
  25. data/public/js/alignment_exporter.js +30 -22
  26. data/public/js/circos.js +370 -234
  27. data/public/js/cloud_share_modal.js +216 -0
  28. data/public/js/databases.js +144 -0
  29. data/public/js/databases_tree.js +144 -0
  30. data/public/js/dnd.js +164 -0
  31. data/public/js/download_fasta.js +1 -1
  32. data/public/js/error_modal.js +4 -11
  33. data/public/js/exporter.js +7 -3
  34. data/public/js/form.js +260 -0
  35. data/public/js/grapher.js +113 -106
  36. data/public/js/hit.js +84 -67
  37. data/public/js/hits_overview.js +3 -3
  38. data/public/js/hsp.js +343 -288
  39. data/public/js/jquery_world.js +4 -4
  40. data/public/js/length_distribution.js +5 -5
  41. data/public/js/mailto.js +36 -0
  42. data/public/js/options.js +84 -0
  43. data/public/js/query.js +321 -64
  44. data/public/js/report.js +322 -288
  45. data/public/js/report_root.js +75 -0
  46. data/public/js/search.js +28 -992
  47. data/public/js/search_button.js +195 -0
  48. data/public/js/sequence.js +2409 -2411
  49. data/public/js/sequence_modal.js +152 -159
  50. data/public/js/share_url.js +23 -0
  51. data/public/js/sidebar.js +265 -86
  52. data/public/js/svgExporter.js +12 -12
  53. data/public/js/tests/database.spec.js +60 -0
  54. data/public/js/tests/mock_data/databases.json +91 -0
  55. data/public/js/tests/mock_data/long_response.json +269 -0
  56. data/public/js/tests/mock_data/short_response.json +2240 -0
  57. data/public/js/tests/report.spec.js +99 -0
  58. data/public/js/tests/search_button.spec.js +14 -0
  59. data/public/js/tests/search_query.spec.js +41 -0
  60. data/public/js/visualisation_helpers.js +4 -5
  61. data/public/packages/circosJS@1.7.0.js +1640 -0
  62. data/public/packages/jquery-ui@1.11.4.js +16624 -0
  63. data/public/sequenceserver-report.min.js +2425 -19
  64. data/public/sequenceserver-search.min.js +2337 -11
  65. data/public/vendor/github/jspm/nodelibs-assert@0.1.0/index.js +2 -0
  66. data/public/vendor/github/jspm/{nodelibs-buffer@0.1.0 → nodelibs-assert@0.1.0}/package.json +1 -1
  67. data/public/vendor/github/jspm/nodelibs-assert@0.1.0.js +1 -0
  68. data/public/vendor/github/jspm/nodelibs-buffer@0.1.1/package.json +6 -0
  69. data/public/vendor/github/jspm/nodelibs-buffer@0.1.1.js +1 -0
  70. data/public/vendor/github/jspm/{nodelibs-process@0.1.1 → nodelibs-process@0.1.2}/package.json +2 -2
  71. data/public/vendor/github/jspm/nodelibs-process@0.1.2.js +1 -0
  72. data/public/vendor/github/jspm/nodelibs-vm@0.1.0/index.js +2 -0
  73. data/public/vendor/github/jspm/nodelibs-vm@0.1.0/package.json +6 -0
  74. data/public/vendor/github/jspm/nodelibs-vm@0.1.0.js +1 -0
  75. data/public/vendor/github/vakata/jstree@3.3.8/LICENSE-MIT +22 -0
  76. data/public/vendor/github/vakata/jstree@3.3.8/README.md +663 -0
  77. data/public/vendor/github/vakata/jstree@3.3.8/bower.json +33 -0
  78. data/public/vendor/github/vakata/jstree@3.3.8/component.json +28 -0
  79. data/public/vendor/github/vakata/jstree@3.3.8/composer.json +46 -0
  80. data/public/vendor/github/vakata/jstree@3.3.8/demo/README.md +2 -0
  81. data/public/vendor/github/vakata/jstree@3.3.8/demo/basic/index.html +146 -0
  82. data/public/vendor/github/vakata/jstree@3.3.8/demo/basic/root.json +1 -0
  83. data/public/vendor/github/vakata/jstree@3.3.8/dist/jstree.js +8612 -0
  84. data/public/vendor/github/vakata/jstree@3.3.8/dist/jstree.min.js +6 -0
  85. data/public/vendor/github/vakata/jstree@3.3.8/dist/themes/default/32px.png +0 -0
  86. data/public/vendor/github/vakata/jstree@3.3.8/dist/themes/default/40px.png +0 -0
  87. data/public/vendor/github/vakata/jstree@3.3.8/dist/themes/default/style.css +1102 -0
  88. data/public/vendor/github/vakata/jstree@3.3.8/dist/themes/default/style.min.css +1 -0
  89. data/public/vendor/github/vakata/jstree@3.3.8/dist/themes/default/throbber.gif +0 -0
  90. data/public/vendor/github/vakata/jstree@3.3.8/dist/themes/default-dark/32px.png +0 -0
  91. data/public/vendor/github/vakata/jstree@3.3.8/dist/themes/default-dark/40px.png +0 -0
  92. data/public/vendor/github/vakata/jstree@3.3.8/dist/themes/default-dark/style.css +1146 -0
  93. data/public/vendor/github/vakata/jstree@3.3.8/dist/themes/default-dark/style.min.css +1 -0
  94. data/public/vendor/github/vakata/jstree@3.3.8/dist/themes/default-dark/throbber.gif +0 -0
  95. data/public/vendor/github/vakata/jstree@3.3.8/gruntfile.js +242 -0
  96. data/public/vendor/github/vakata/jstree@3.3.8/jstree.jquery.json +28 -0
  97. data/public/vendor/github/vakata/jstree@3.3.8/package.json +58 -0
  98. data/public/vendor/github/vakata/jstree@3.3.8/src/intro.js +14 -0
  99. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.changed.js +69 -0
  100. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.checkbox.js +976 -0
  101. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.conditionalselect.js +38 -0
  102. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.contextmenu.js +661 -0
  103. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.dnd.js +669 -0
  104. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.js +4931 -0
  105. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.massload.js +137 -0
  106. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.search.js +421 -0
  107. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.sort.js +74 -0
  108. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.state.js +138 -0
  109. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.types.js +372 -0
  110. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.unique.js +164 -0
  111. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.wholerow.js +122 -0
  112. data/public/vendor/github/vakata/jstree@3.3.8/src/misc.js +656 -0
  113. data/public/vendor/github/vakata/jstree@3.3.8/src/outro.js +1 -0
  114. data/public/vendor/github/vakata/jstree@3.3.8/src/sample.js +93 -0
  115. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/base.less +93 -0
  116. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/default/32px.png +0 -0
  117. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/default/40px.png +0 -0
  118. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/default/style.css +1102 -0
  119. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/default/style.less +22 -0
  120. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/default/throbber.gif +0 -0
  121. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/default-dark/32px.png +0 -0
  122. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/default-dark/40px.png +0 -0
  123. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/default-dark/style.css +1146 -0
  124. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/default-dark/style.less +50 -0
  125. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/default-dark/throbber.gif +0 -0
  126. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/main.less +77 -0
  127. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/mixins.less +104 -0
  128. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/responsive.less +67 -0
  129. data/public/vendor/github/vakata/jstree@3.3.8/src/vakata-jstree.js +38 -0
  130. data/public/vendor/github/vakata/jstree@3.3.8/test/unit/index.html +16 -0
  131. data/public/vendor/github/vakata/jstree@3.3.8/test/unit/libs/qunit.css +244 -0
  132. data/public/vendor/github/vakata/jstree@3.3.8/test/unit/libs/qunit.js +2212 -0
  133. data/public/vendor/github/vakata/jstree@3.3.8/test/unit/test.js +11 -0
  134. data/public/vendor/github/vakata/jstree@3.3.8/test/visual/desktop/index.html +44 -0
  135. data/public/vendor/github/vakata/jstree@3.3.8/test/visual/mobile/index.html +42 -0
  136. data/public/vendor/github/vakata/jstree@3.3.8/test/visual/screenshots/desktop/desktop.png +0 -0
  137. data/public/vendor/github/vakata/jstree@3.3.8/test/visual/screenshots/desktop/home.png +0 -0
  138. data/public/vendor/github/vakata/jstree@3.3.8/test/visual/screenshots/mobile/home.png +0 -0
  139. data/public/vendor/github/vakata/jstree@3.3.8/test/visual/screenshots/mobile/mobile.png +0 -0
  140. data/public/vendor/github/vakata/jstree@3.3.8.js +3 -0
  141. data/public/vendor/npm/assert@1.5.0/CHANGELOG.md +8 -0
  142. data/public/vendor/npm/assert@1.5.0/README.md +105 -0
  143. data/public/vendor/npm/assert@1.5.0/assert.js +327 -0
  144. data/public/vendor/npm/assert@1.5.0/package.json +32 -0
  145. data/public/vendor/npm/assert@1.5.0/test.js +288 -0
  146. data/public/vendor/npm/assert@1.5.0.js +1 -0
  147. data/public/vendor/npm/{base64-js@0.0.8/LICENSE.MIT → base64-js@1.5.1/LICENSE} +1 -1
  148. data/public/vendor/npm/{base64-js@0.0.8 → base64-js@1.5.1}/README.md +10 -7
  149. data/public/vendor/npm/base64-js@1.5.1/base64js.min.js +3 -0
  150. data/public/vendor/npm/base64-js@1.5.1/index.d.ts +3 -0
  151. data/public/vendor/npm/base64-js@1.5.1/index.js +151 -0
  152. data/public/vendor/npm/base64-js@1.5.1/package.json +47 -0
  153. data/public/vendor/npm/base64-js@1.5.1.js +1 -0
  154. data/public/vendor/npm/buffer@5.7.1/AUTHORS.md +70 -0
  155. data/public/vendor/npm/{buffer@3.4.3 → buffer@5.7.1}/README.md +111 -41
  156. data/public/vendor/npm/buffer@5.7.1/index.d.ts +186 -0
  157. data/public/vendor/npm/buffer@5.7.1/index.js +1817 -0
  158. data/public/vendor/npm/buffer@5.7.1/package.json +96 -0
  159. data/public/vendor/npm/buffer@5.7.1.js +1 -0
  160. data/public/vendor/npm/core-util-is@1.0.3/LICENSE +19 -0
  161. data/public/vendor/npm/core-util-is@1.0.3/lib/util.js +64 -0
  162. data/public/vendor/npm/{core-util-is@1.0.1 → core-util-is@1.0.3}/package.json +13 -1
  163. data/public/vendor/npm/core-util-is@1.0.3.js +1 -0
  164. data/public/vendor/npm/events@1.0.2/tests/add-listeners.js +2 -2
  165. data/public/vendor/npm/events@1.0.2/tests/check-listener-leaks.js +3 -3
  166. data/public/vendor/npm/events@1.0.2/tests/common.js +1 -1
  167. data/public/vendor/npm/events@1.0.2/tests/index.js +13 -13
  168. data/public/vendor/npm/events@1.0.2/tests/listeners-side-effects.js +2 -2
  169. data/public/vendor/npm/events@1.0.2/tests/listeners.js +2 -2
  170. data/public/vendor/npm/events@1.0.2/tests/max-listeners.js +2 -2
  171. data/public/vendor/npm/events@1.0.2/tests/modify-in-emit.js +2 -2
  172. data/public/vendor/npm/events@1.0.2/tests/num-args.js +2 -2
  173. data/public/vendor/npm/events@1.0.2/tests/once.js +2 -2
  174. data/public/vendor/npm/events@1.0.2/tests/remove-all-listeners.js +3 -3
  175. data/public/vendor/npm/events@1.0.2/tests/remove-listeners.js +3 -3
  176. data/public/vendor/npm/events@1.0.2/tests/set-max-listeners-side-effects.js +2 -2
  177. data/public/vendor/npm/events@1.0.2/tests/subclass.js +3 -3
  178. data/public/vendor/npm/events@1.0.2.js +1 -1
  179. data/public/vendor/npm/ieee754@1.2.1/LICENSE +11 -0
  180. data/public/vendor/npm/{ieee754@1.1.6 → ieee754@1.2.1}/README.md +12 -8
  181. data/public/vendor/npm/ieee754@1.2.1/index.d.ts +10 -0
  182. data/public/vendor/npm/{ieee754@1.1.6 → ieee754@1.2.1}/index.js +6 -6
  183. data/public/vendor/npm/ieee754@1.2.1/package.json +52 -0
  184. data/public/vendor/npm/ieee754@1.2.1.js +1 -0
  185. data/public/vendor/npm/{is-array@1.0.1 → indexof@0.0.1}/Makefile +3 -3
  186. data/public/vendor/npm/indexof@0.0.1/Readme.md +15 -0
  187. data/public/vendor/npm/indexof@0.0.1/component.json +10 -0
  188. data/public/vendor/npm/indexof@0.0.1/index.js +11 -0
  189. data/public/vendor/npm/indexof@0.0.1/package.json +12 -0
  190. data/public/vendor/npm/indexof@0.0.1.js +1 -0
  191. data/public/vendor/npm/inherits@2.0.1/inherits.js +1 -1
  192. data/public/vendor/npm/inherits@2.0.1.js +1 -1
  193. data/public/vendor/npm/isarray@0.0.1.js +1 -1
  194. data/public/vendor/npm/js-tokens@4.0.0/index.js +23 -0
  195. data/public/vendor/npm/js-tokens@4.0.0/package.json +30 -0
  196. data/public/vendor/npm/js-tokens@4.0.0.js +1 -0
  197. data/public/vendor/npm/loose-envify@1.4.0/LICENSE +21 -0
  198. data/public/vendor/npm/loose-envify@1.4.0/README.md +45 -0
  199. data/public/vendor/npm/loose-envify@1.4.0/cli.js +12 -0
  200. data/public/vendor/npm/loose-envify@1.4.0/custom.js +3 -0
  201. data/public/vendor/npm/loose-envify@1.4.0/index.js +5 -0
  202. data/public/vendor/npm/loose-envify@1.4.0/loose-envify.js +33 -0
  203. data/public/vendor/npm/loose-envify@1.4.0/package.json +36 -0
  204. data/public/vendor/npm/loose-envify@1.4.0/replace.js +52 -0
  205. data/public/vendor/npm/loose-envify@1.4.0.js +1 -0
  206. data/public/vendor/npm/object-assign@4.1.1/index.js +90 -0
  207. data/public/vendor/npm/object-assign@4.1.1/package.json +42 -0
  208. data/public/vendor/npm/object-assign@4.1.1.js +1 -0
  209. data/public/vendor/npm/path-browserify@0.0.0/index.js +1 -1
  210. data/public/vendor/npm/path-browserify@0.0.0.js +1 -1
  211. data/public/vendor/npm/{process@0.10.1 → process@0.11.10}/README.md +4 -1
  212. data/public/vendor/npm/process@0.11.10/browser.js +184 -0
  213. data/public/vendor/npm/{process@0.10.1 → process@0.11.10}/package.json +10 -1
  214. data/public/vendor/npm/process@0.11.10/test.js +185 -0
  215. data/public/vendor/npm/process@0.11.10.js +1 -0
  216. data/public/vendor/npm/react-dom@18.0.0/LICENSE +21 -0
  217. data/public/vendor/npm/react-dom@18.0.0/README.md +50 -0
  218. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server-legacy.browser.development.js +4771 -0
  219. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server-legacy.browser.production.min.js +85 -0
  220. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server-legacy.node.development.js +4813 -0
  221. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server-legacy.node.production.min.js +1705 -0
  222. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server.browser.development.js +4746 -0
  223. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server.browser.production.min.js +90 -0
  224. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server.node.development.js +4714 -0
  225. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-server.node.production.min.js +1746 -0
  226. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-test-utils.development.js +1017 -0
  227. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom-test-utils.production.min.js +617 -0
  228. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom.development.js +20092 -0
  229. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom.production.min.js +322 -0
  230. data/public/vendor/npm/react-dom@18.0.0/cjs/react-dom.profiling.min.js +364 -0
  231. data/public/vendor/npm/react-dom@18.0.0/client.js +27 -0
  232. data/public/vendor/npm/react-dom@18.0.0/index.js +23 -0
  233. data/public/vendor/npm/react-dom@18.0.0/package.json +62 -0
  234. data/public/vendor/npm/react-dom@18.0.0/profiling.js +23 -0
  235. data/public/vendor/npm/react-dom@18.0.0/server.browser.js +19 -0
  236. data/public/vendor/npm/react-dom@18.0.0/server.js +3 -0
  237. data/public/vendor/npm/react-dom@18.0.0/server.node.js +19 -0
  238. data/public/vendor/npm/react-dom@18.0.0/test-utils.js +9 -0
  239. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-server-legacy.browser.development.js +4770 -0
  240. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-server-legacy.browser.production.min.js +72 -0
  241. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-server.browser.development.js +4745 -0
  242. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-server.browser.production.min.js +74 -0
  243. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-test-utils.development.js +1013 -0
  244. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom-test-utils.production.min.js +625 -0
  245. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom.development.js +20106 -0
  246. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom.production.min.js +269 -0
  247. data/public/vendor/npm/react-dom@18.0.0/umd/react-dom.profiling.min.js +285 -0
  248. data/public/vendor/npm/react-dom@18.0.0.js +1 -0
  249. data/public/vendor/npm/react@18.0.0/LICENSE +21 -0
  250. data/public/vendor/npm/react@18.0.0/README.md +13 -0
  251. data/public/vendor/npm/react@18.0.0/cjs/react-jsx-dev-runtime.development.js +837 -0
  252. data/public/vendor/npm/react@18.0.0/cjs/react-jsx-dev-runtime.production.min.js +10 -0
  253. data/public/vendor/npm/react@18.0.0/cjs/react-jsx-dev-runtime.profiling.min.js +10 -0
  254. data/public/vendor/npm/react@18.0.0/cjs/react-jsx-runtime.development.js +849 -0
  255. data/public/vendor/npm/react@18.0.0/cjs/react-jsx-runtime.production.min.js +38 -0
  256. data/public/vendor/npm/react@18.0.0/cjs/react-jsx-runtime.profiling.min.js +38 -0
  257. data/public/vendor/npm/react@18.0.0/cjs/react.development.js +1746 -0
  258. data/public/vendor/npm/react@18.0.0/cjs/react.production.min.js +26 -0
  259. data/public/vendor/npm/react@18.0.0/cjs/react.shared-subset.development.js +10 -0
  260. data/public/vendor/npm/react@18.0.0/cjs/react.shared-subset.production.min.js +12 -0
  261. data/public/vendor/npm/react@18.0.0/index.js +9 -0
  262. data/public/vendor/npm/react@18.0.0/jsx-dev-runtime.js +9 -0
  263. data/public/vendor/npm/react@18.0.0/jsx-runtime.js +9 -0
  264. data/public/vendor/npm/react@18.0.0/package.json +47 -0
  265. data/public/vendor/npm/react@18.0.0/react.shared-subset.js +9 -0
  266. data/public/vendor/npm/react@18.0.0/umd/react.development.js +2186 -0
  267. data/public/vendor/npm/react@18.0.0/umd/react.production.min.js +33 -0
  268. data/public/vendor/npm/react@18.0.0/umd/react.profiling.min.js +33 -0
  269. data/public/vendor/npm/react@18.0.0.js +1 -0
  270. data/public/vendor/npm/readable-stream@1.1.14/LICENSE +18 -0
  271. data/public/vendor/npm/readable-stream@1.1.14/duplex.js +2 -0
  272. data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_duplex.js +5 -5
  273. data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_passthrough.js +3 -3
  274. data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_readable.js +10 -10
  275. data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_transform.js +4 -4
  276. data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/lib/_stream_writable.js +6 -6
  277. data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/package.json +1 -1
  278. data/public/vendor/npm/readable-stream@1.1.14/passthrough.js +2 -0
  279. data/public/vendor/npm/readable-stream@1.1.14/readable.js +13 -0
  280. data/public/vendor/npm/readable-stream@1.1.14/transform.js +2 -0
  281. data/public/vendor/npm/readable-stream@1.1.14/writable.js +2 -0
  282. data/public/vendor/npm/readable-stream@1.1.14.js +1 -0
  283. data/public/vendor/npm/scheduler@0.21.0/LICENSE +21 -0
  284. data/public/vendor/npm/scheduler@0.21.0/README.md +9 -0
  285. data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler-unstable_mock.development.js +530 -0
  286. data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler-unstable_mock.production.min.js +20 -0
  287. data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler-unstable_post_task.development.js +153 -0
  288. data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler-unstable_post_task.production.min.js +14 -0
  289. data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler.development.js +444 -0
  290. data/public/vendor/npm/scheduler@0.21.0/cjs/scheduler.production.min.js +19 -0
  291. data/public/vendor/npm/scheduler@0.21.0/index.js +9 -0
  292. data/public/vendor/npm/scheduler@0.21.0/package.json +36 -0
  293. data/public/vendor/npm/scheduler@0.21.0/umd/scheduler-unstable_mock.development.js +701 -0
  294. data/public/vendor/npm/scheduler@0.21.0/umd/scheduler-unstable_mock.production.min.js +21 -0
  295. data/public/vendor/npm/scheduler@0.21.0/umd/scheduler.development.js +154 -0
  296. data/public/vendor/npm/scheduler@0.21.0/umd/scheduler.production.min.js +148 -0
  297. data/public/vendor/npm/scheduler@0.21.0/umd/scheduler.profiling.min.js +148 -0
  298. data/public/vendor/npm/scheduler@0.21.0/unstable_mock.js +9 -0
  299. data/public/vendor/npm/scheduler@0.21.0/unstable_post_task.js +9 -0
  300. data/public/vendor/npm/scheduler@0.21.0.js +1 -0
  301. data/public/vendor/npm/stream-browserify@1.0.0/index.js +7 -7
  302. data/public/vendor/npm/stream-browserify@1.0.0/test/buf.js +5 -5
  303. data/public/vendor/npm/stream-browserify@1.0.0.js +1 -1
  304. data/public/vendor/npm/string_decoder@0.10.31/index.js +2 -2
  305. data/public/vendor/npm/string_decoder@0.10.31.js +1 -1
  306. data/public/vendor/npm/util@0.10.3/support/isBuffer.js +1 -1
  307. data/public/vendor/npm/util@0.10.3/test/browser/inspect.js +2 -2
  308. data/public/vendor/npm/util@0.10.3/test/browser/is.js +3 -3
  309. data/public/vendor/npm/util@0.10.3/test/node/debug.js +4 -4
  310. data/public/vendor/npm/util@0.10.3/test/node/format.js +2 -2
  311. data/public/vendor/npm/util@0.10.3/test/node/inspect.js +3 -3
  312. data/public/vendor/npm/util@0.10.3/test/node/log.js +3 -3
  313. data/public/vendor/npm/util@0.10.3/test/node/util.js +3 -3
  314. data/public/vendor/npm/util@0.10.3/util.js +3 -3
  315. data/public/vendor/npm/util@0.10.3.js +1 -1
  316. data/public/vendor/npm/vm-browserify@0.0.4/LICENSE +18 -0
  317. data/public/vendor/npm/vm-browserify@0.0.4/example/run/bundle.js +376 -0
  318. data/public/vendor/npm/vm-browserify@0.0.4/example/run/entry.js +6 -0
  319. data/public/vendor/npm/vm-browserify@0.0.4/example/run/index.html +9 -0
  320. data/public/vendor/npm/vm-browserify@0.0.4/example/run/server.js +6 -0
  321. data/public/vendor/npm/vm-browserify@0.0.4/index.js +139 -0
  322. data/public/vendor/npm/vm-browserify@0.0.4/package.json +46 -0
  323. data/public/vendor/npm/vm-browserify@0.0.4/readme.markdown +67 -0
  324. data/public/vendor/npm/vm-browserify@0.0.4/test/vm.js +34 -0
  325. data/public/vendor/npm/vm-browserify@0.0.4.js +1 -0
  326. data/public/vendor/npm/webshim@1.15.8/Gruntfile.js +4 -4
  327. data/public/vendor/npm/webshim@1.15.8/build/combobuild.js +2 -2
  328. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/color-picker.js +1 -1
  329. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/10.js +1 -1
  330. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/11.js +1 -1
  331. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/17.js +1 -1
  332. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/5.js +1 -1
  333. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/6.js +1 -1
  334. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/combos/9.js +1 -1
  335. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/es6.js +1 -1
  336. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/excanvas.js +1 -1
  337. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/form-number-date-ui.js +1 -1
  338. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/moxie/js/moxie-html4.js +1 -1
  339. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/moxie/js/moxie-swf.js +1 -1
  340. data/public/vendor/npm/webshim@1.15.8/js-webshim/dev/shims/sizzle.js +1 -1
  341. data/public/vendor/npm/webshim@1.15.8/js-webshim/minified/shims/es6.js +1 -1
  342. data/public/vendor/npm/webshim@1.15.8/src/shims/color-picker.js +1 -1
  343. data/public/vendor/npm/webshim@1.15.8/src/shims/combos/10.js +1 -1
  344. data/public/vendor/npm/webshim@1.15.8/src/shims/combos/11.js +1 -1
  345. data/public/vendor/npm/webshim@1.15.8/src/shims/combos/17.js +1 -1
  346. data/public/vendor/npm/webshim@1.15.8/src/shims/combos/5.js +1 -1
  347. data/public/vendor/npm/webshim@1.15.8/src/shims/combos/6.js +1 -1
  348. data/public/vendor/npm/webshim@1.15.8/src/shims/combos/9.js +1 -1
  349. data/public/vendor/npm/webshim@1.15.8/src/shims/es6.js +1 -1
  350. data/public/vendor/npm/webshim@1.15.8/src/shims/excanvas.js +1 -1
  351. data/public/vendor/npm/webshim@1.15.8/src/shims/form-number-date-ui.js +1 -1
  352. data/public/vendor/npm/webshim@1.15.8/src/shims/moxie/js/moxie-html4.js +1 -1
  353. data/public/vendor/npm/webshim@1.15.8/src/shims/moxie/js/moxie-swf.js +1 -1
  354. data/public/vendor/npm/webshim@1.15.8/src/shims/sizzle.js +1 -1
  355. data/public/vendor/npm/webshim@1.15.8/tests/dist/jquery.js +1 -1
  356. data/public/vendor/npm/webshim@1.15.8/tests/jquery/unit/core.js +1 -1
  357. data/public/vendor/npm/webshim@1.15.8/tests/jquery/unit/event.js +1388 -711
  358. data/public/vendor/npm/webshim@1.15.8/tests/qunit/qunit.js +1 -1
  359. data/public/vendor/npm/webshim@1.15.8/tests/test-ext/jquery-1-custom.js +1 -1
  360. data/public/vendor/npm/webshim@1.15.8/tests/test-ext/jquery-2-custom.js +1 -1
  361. data/public/vendor/npm/webshim@1.15.8/tests/test-ext/punycode.js +1 -1
  362. data/public/vendor/system-csp-production.js +3 -3
  363. data/public/vendor/system-csp-production.js.map +1 -1
  364. data/public/vendor/system-csp-production.src.js +146 -140
  365. data/public/vendor/system-polyfills.js +865 -1
  366. data/public/vendor/system-polyfills.js.map +1 -1
  367. data/public/vendor/system-polyfills.src.js +1 -0
  368. data/public/vendor/system.js +3 -3
  369. data/public/vendor/system.js.map +1 -1
  370. data/public/vendor/system.src.js +4771 -2383
  371. data/views/blastn_options.erb +291 -0
  372. data/views/blastp_options.erb +288 -0
  373. data/views/blastx_options.erb +318 -0
  374. data/views/error.erb +12 -0
  375. data/views/layout.erb +18 -47
  376. data/views/report.erb +0 -8
  377. data/views/search.erb +16 -9
  378. data/views/tblastn_options.erb +266 -0
  379. data/views/tblastx_options.erb +291 -0
  380. metadata +362 -424
  381. data/bin/chromedriver +0 -0
  382. data/bin/geckodriver +0 -0
  383. data/public/shims/form-core.js +0 -3
  384. data/public/shims/form-validation.js +0 -3
  385. data/public/shims/plugins/jquery.ui.position.js +0 -13
  386. data/public/shims/styles/shim.css +0 -1
  387. data/public/vendor/github/jspm/nodelibs-buffer@0.1.0.js +0 -1
  388. data/public/vendor/github/jspm/nodelibs-module@0.1.0/index.js +0 -1
  389. data/public/vendor/github/jspm/nodelibs-module@0.1.0.js +0 -1
  390. data/public/vendor/github/jspm/nodelibs-process@0.1.1.js +0 -1
  391. data/public/vendor/npm/amdefine@1.0.0/LICENSE +0 -58
  392. data/public/vendor/npm/amdefine@1.0.0/README.md +0 -171
  393. data/public/vendor/npm/amdefine@1.0.0/amdefine.js +0 -200
  394. data/public/vendor/npm/amdefine@1.0.0/intercept.js +0 -24
  395. data/public/vendor/npm/amdefine@1.0.0/package.json +0 -16
  396. data/public/vendor/npm/amdefine@1.0.0.js +0 -1
  397. data/public/vendor/npm/base62@0.1.1/LICENSE +0 -20
  398. data/public/vendor/npm/base62@0.1.1/Readme.md +0 -30
  399. data/public/vendor/npm/base62@0.1.1/base62.js +0 -28
  400. data/public/vendor/npm/base62@0.1.1/package.json +0 -21
  401. data/public/vendor/npm/base62@0.1.1/test/test.js +0 -13
  402. data/public/vendor/npm/base62@0.1.1.js +0 -1
  403. data/public/vendor/npm/base64-js@0.0.8/lib/b64.js +0 -125
  404. data/public/vendor/npm/base64-js@0.0.8/package.json +0 -34
  405. data/public/vendor/npm/base64-js@0.0.8/test/convert.js +0 -39
  406. data/public/vendor/npm/base64-js@0.0.8/test/url-safe.js +0 -15
  407. data/public/vendor/npm/base64-js@0.0.8.js +0 -1
  408. data/public/vendor/npm/buffer@3.4.3/index.js +0 -1533
  409. data/public/vendor/npm/buffer@3.4.3/package.json +0 -67
  410. data/public/vendor/npm/buffer@3.4.3/test/_polyfill.js +0 -152
  411. data/public/vendor/npm/buffer@3.4.3/test/base64.js +0 -33
  412. data/public/vendor/npm/buffer@3.4.3/test/basic.js +0 -58
  413. data/public/vendor/npm/buffer@3.4.3/test/compare.js +0 -53
  414. data/public/vendor/npm/buffer@3.4.3/test/constructor.js +0 -132
  415. data/public/vendor/npm/buffer@3.4.3/test/deprecated.js +0 -21
  416. data/public/vendor/npm/buffer@3.4.3/test/from-string.js +0 -105
  417. data/public/vendor/npm/buffer@3.4.3/test/methods.js +0 -109
  418. data/public/vendor/npm/buffer@3.4.3/test/node/README.txt +0 -1
  419. data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-ascii.js +0 -20
  420. data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-bytelength.js +0 -38
  421. data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-concat.js +0 -26
  422. data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-indexof.js +0 -78
  423. data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer-inspect.js +0 -31
  424. data/public/vendor/npm/buffer@3.4.3/test/node/test-buffer.js +0 -804
  425. data/public/vendor/npm/buffer@3.4.3/test/node-es6/README.txt +0 -1
  426. data/public/vendor/npm/buffer@3.4.3/test/node-es6/test-buffer-arraybuffer.js +0 -37
  427. data/public/vendor/npm/buffer@3.4.3/test/node-es6/test-buffer-iterator.js +0 -32
  428. data/public/vendor/npm/buffer@3.4.3/test/slice.js +0 -33
  429. data/public/vendor/npm/buffer@3.4.3/test/static.js +0 -32
  430. data/public/vendor/npm/buffer@3.4.3/test/to-string.js +0 -106
  431. data/public/vendor/npm/buffer@3.4.3/test/write.js +0 -90
  432. data/public/vendor/npm/buffer@3.4.3.js +0 -1
  433. data/public/vendor/npm/core-util-is@1.0.1/float.patch +0 -604
  434. data/public/vendor/npm/core-util-is@1.0.1/lib/util.js +0 -66
  435. data/public/vendor/npm/core-util-is@1.0.1/util.js +0 -66
  436. data/public/vendor/npm/core-util-is@1.0.1.js +0 -1
  437. data/public/vendor/npm/envify@3.4.0/README.md +0 -145
  438. data/public/vendor/npm/envify@3.4.0/bin/envify +0 -17
  439. data/public/vendor/npm/envify@3.4.0/custom.js +0 -33
  440. data/public/vendor/npm/envify@3.4.0/index.js +0 -4
  441. data/public/vendor/npm/envify@3.4.0/package.json +0 -35
  442. data/public/vendor/npm/envify@3.4.0/visitors.js +0 -33
  443. data/public/vendor/npm/envify@3.4.0.js +0 -1
  444. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/bin/esparse.js +0 -90
  445. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/bin/esvalidate.js +0 -145
  446. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/esprima.js +0 -6191
  447. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/package.json +0 -72
  448. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/compat.js +0 -167
  449. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/reflect.js +0 -421
  450. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/run.js +0 -34
  451. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/runner.js +0 -418
  452. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb/test/test.js +0 -34730
  453. data/public/vendor/npm/esprima-fb@13001.1001.0-dev-harmony-fb.js +0 -1
  454. data/public/vendor/npm/ieee754@1.1.6/LICENSE +0 -56
  455. data/public/vendor/npm/ieee754@1.1.6/package.json +0 -34
  456. data/public/vendor/npm/ieee754@1.1.6/test/basic.js +0 -20
  457. data/public/vendor/npm/ieee754@1.1.6.js +0 -1
  458. data/public/vendor/npm/is-array@1.0.1/History.md +0 -11
  459. data/public/vendor/npm/is-array@1.0.1/Readme.md +0 -27
  460. data/public/vendor/npm/is-array@1.0.1/component.json +0 -13
  461. data/public/vendor/npm/is-array@1.0.1/index.js +0 -33
  462. data/public/vendor/npm/is-array@1.0.1/package.json +0 -10
  463. data/public/vendor/npm/is-array@1.0.1/test/test.html +0 -46
  464. data/public/vendor/npm/is-array@1.0.1.js +0 -1
  465. data/public/vendor/npm/jstransform@10.1.0/LICENSE +0 -201
  466. data/public/vendor/npm/jstransform@10.1.0/README.md +0 -98
  467. data/public/vendor/npm/jstransform@10.1.0/jestEnvironment.js +0 -3
  468. data/public/vendor/npm/jstransform@10.1.0/jestPreprocessor.js +0 -8
  469. data/public/vendor/npm/jstransform@10.1.0/package.json +0 -52
  470. data/public/vendor/npm/jstransform@10.1.0/polyfill/Object.es6.js +0 -54
  471. data/public/vendor/npm/jstransform@10.1.0/src/__tests__/jstransform-test.js +0 -246
  472. data/public/vendor/npm/jstransform@10.1.0/src/__tests__/jstransform-utils-test.js +0 -31
  473. data/public/vendor/npm/jstransform@10.1.0/src/docblock.js +0 -86
  474. data/public/vendor/npm/jstransform@10.1.0/src/jstransform.js +0 -180
  475. data/public/vendor/npm/jstransform@10.1.0/src/utils.js +0 -386
  476. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-arrow-function-visitors-test.js +0 -57
  477. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-call-spread-visitors-test.js +0 -46
  478. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-class-visitors-test.js +0 -463
  479. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-destructuring-visitors-test.js +0 -144
  480. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-es7-object-integration-test.js +0 -40
  481. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-object-concise-method-visitors-test.js +0 -47
  482. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-object-short-notation-visitors-test.js +0 -33
  483. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-rest-param-visitors-test.js +0 -119
  484. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es6-template-visitors-test.js +0 -138
  485. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es7-rest-property-helpers-test.js +0 -47
  486. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/es7-spread-property-visitors-test.js +0 -90
  487. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/gen/generate-type-syntax-test.js +0 -40
  488. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/gen/type-syntax-test.rec.js +0 -846
  489. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/reserved-words-test.js +0 -40
  490. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-alias-syntax-test.js +0 -34
  491. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-class-syntax-test.js +0 -105
  492. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-function-syntax-test.js +0 -126
  493. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-interface-syntax-test.js +0 -29
  494. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-object-method-syntax-test.js +0 -65
  495. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-pattern-syntax-test.js +0 -45
  496. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-syntax-test.js +0 -46
  497. data/public/vendor/npm/jstransform@10.1.0/visitors/__tests__/type-variable-declaration-syntax-test.js +0 -102
  498. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-arrow-function-visitors.js +0 -66
  499. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-call-spread-visitors.js +0 -72
  500. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-class-visitors.js +0 -316
  501. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-destructuring-visitors.js +0 -135
  502. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-object-concise-method-visitors.js +0 -28
  503. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-object-short-notation-visitors.js +0 -12
  504. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-rest-param-visitors.js +0 -45
  505. data/public/vendor/npm/jstransform@10.1.0/visitors/es6-template-visitors.js +0 -90
  506. data/public/vendor/npm/jstransform@10.1.0/visitors/es7-rest-property-helpers.js +0 -80
  507. data/public/vendor/npm/jstransform@10.1.0/visitors/es7-spread-property-visitors.js +0 -56
  508. data/public/vendor/npm/jstransform@10.1.0/visitors/reserved-words-helper.js +0 -74
  509. data/public/vendor/npm/jstransform@10.1.0/visitors/reserved-words-visitors.js +0 -30
  510. data/public/vendor/npm/jstransform@10.1.0/visitors/type-syntax.js +0 -118
  511. data/public/vendor/npm/jstransform@10.1.0.js +0 -1
  512. data/public/vendor/npm/process@0.10.1/browser.js +0 -58
  513. data/public/vendor/npm/process@0.10.1.js +0 -1
  514. data/public/vendor/npm/qs@2.4.1/test/stringify.js +0 -162
  515. data/public/vendor/npm/react@0.13.3/README.md +0 -20
  516. data/public/vendor/npm/react@0.13.3/addons.js +0 -2
  517. data/public/vendor/npm/react@0.13.3/dist/JSXTransformer.js +0 -11346
  518. data/public/vendor/npm/react@0.13.3/dist/react-with-addons.js +0 -10483
  519. data/public/vendor/npm/react@0.13.3/dist/react-with-addons.min.js +0 -7297
  520. data/public/vendor/npm/react@0.13.3/dist/react.js +0 -9468
  521. data/public/vendor/npm/react@0.13.3/dist/react.min.js +0 -6764
  522. data/public/vendor/npm/react@0.13.3/lib/AutoFocusMixin.js +0 -9
  523. data/public/vendor/npm/react@0.13.3/lib/BeforeInputEventPlugin.js +0 -197
  524. data/public/vendor/npm/react@0.13.3/lib/CSSCore.js +0 -39
  525. data/public/vendor/npm/react@0.13.3/lib/CSSProperty.js +0 -123
  526. data/public/vendor/npm/react@0.13.3/lib/CSSPropertyOperations.js +0 -103
  527. data/public/vendor/npm/react@0.13.3/lib/CallbackQueue.js +0 -43
  528. data/public/vendor/npm/react@0.13.3/lib/ChangeEventPlugin.js +0 -174
  529. data/public/vendor/npm/react@0.13.3/lib/ClientReactRootIndex.js +0 -23
  530. data/public/vendor/npm/react@0.13.3/lib/DOMChildrenOperations.js +0 -57
  531. data/public/vendor/npm/react@0.13.3/lib/DOMProperty.js +0 -96
  532. data/public/vendor/npm/react@0.13.3/lib/DOMPropertyOperations.js +0 -99
  533. data/public/vendor/npm/react@0.13.3/lib/Danger.js +0 -67
  534. data/public/vendor/npm/react@0.13.3/lib/DefaultEventPluginOrder.js +0 -5
  535. data/public/vendor/npm/react@0.13.3/lib/EnterLeaveEventPlugin.js +0 -69
  536. data/public/vendor/npm/react@0.13.3/lib/EventConstants.js +0 -55
  537. data/public/vendor/npm/react@0.13.3/lib/EventListener.js +0 -34
  538. data/public/vendor/npm/react@0.13.3/lib/EventPluginHub.js +0 -103
  539. data/public/vendor/npm/react@0.13.3/lib/EventPluginRegistry.js +0 -115
  540. data/public/vendor/npm/react@0.13.3/lib/EventPluginUtils.js +0 -121
  541. data/public/vendor/npm/react@0.13.3/lib/EventPropagators.js +0 -62
  542. data/public/vendor/npm/react@0.13.3/lib/ExecutionEnvironment.js +0 -42
  543. data/public/vendor/npm/react@0.13.3/lib/FallbackCompositionState.js +0 -45
  544. data/public/vendor/npm/react@0.13.3/lib/HTMLDOMPropertyConfig.js +0 -155
  545. data/public/vendor/npm/react@0.13.3/lib/LinkedStateMixin.js +0 -8
  546. data/public/vendor/npm/react@0.13.3/lib/LinkedValueUtils.js +0 -74
  547. data/public/vendor/npm/react@0.13.3/lib/LocalEventTrapMixin.js +0 -26
  548. data/public/vendor/npm/react@0.13.3/lib/MobileSafariClickEventPlugin.js +0 -17
  549. data/public/vendor/npm/react@0.13.3/lib/Object.assign.js +0 -47
  550. data/public/vendor/npm/react@0.13.3/lib/PooledClass.js +0 -75
  551. data/public/vendor/npm/react@0.13.3/lib/React.js +0 -93
  552. data/public/vendor/npm/react@0.13.3/lib/ReactBrowserComponentMixin.js +0 -7
  553. data/public/vendor/npm/react@0.13.3/lib/ReactBrowserEventEmitter.js +0 -136
  554. data/public/vendor/npm/react@0.13.3/lib/ReactCSSTransitionGroup.js +0 -34
  555. data/public/vendor/npm/react@0.13.3/lib/ReactCSSTransitionGroupChild.js +0 -92
  556. data/public/vendor/npm/react@0.13.3/lib/ReactChildReconciler.js +0 -57
  557. data/public/vendor/npm/react@0.13.3/lib/ReactChildren.js +0 -67
  558. data/public/vendor/npm/react@0.13.3/lib/ReactClass.js +0 -338
  559. data/public/vendor/npm/react@0.13.3/lib/ReactComponent.js +0 -50
  560. data/public/vendor/npm/react@0.13.3/lib/ReactComponentBrowserEnvironment.js +0 -14
  561. data/public/vendor/npm/react@0.13.3/lib/ReactComponentEnvironment.js +0 -19
  562. data/public/vendor/npm/react@0.13.3/lib/ReactComponentWithPureRenderMixin.js +0 -7
  563. data/public/vendor/npm/react@0.13.3/lib/ReactCompositeComponent.js +0 -374
  564. data/public/vendor/npm/react@0.13.3/lib/ReactContext.js +0 -27
  565. data/public/vendor/npm/react@0.13.3/lib/ReactCurrentOwner.js +0 -32
  566. data/public/vendor/npm/react@0.13.3/lib/ReactDOM.js +0 -146
  567. data/public/vendor/npm/react@0.13.3/lib/ReactDOMButton.js +0 -35
  568. data/public/vendor/npm/react@0.13.3/lib/ReactDOMComponent.js +0 -267
  569. data/public/vendor/npm/react@0.13.3/lib/ReactDOMForm.js +0 -21
  570. data/public/vendor/npm/react@0.13.3/lib/ReactDOMIDOperations.js +0 -63
  571. data/public/vendor/npm/react@0.13.3/lib/ReactDOMIframe.js +0 -20
  572. data/public/vendor/npm/react@0.13.3/lib/ReactDOMImg.js +0 -21
  573. data/public/vendor/npm/react@0.13.3/lib/ReactDOMInput.js +0 -94
  574. data/public/vendor/npm/react@0.13.3/lib/ReactDOMOption.js +0 -23
  575. data/public/vendor/npm/react@0.13.3/lib/ReactDOMSelect.js +0 -112
  576. data/public/vendor/npm/react@0.13.3/lib/ReactDOMSelection.js +0 -103
  577. data/public/vendor/npm/react@0.13.3/lib/ReactDOMTextComponent.js +0 -38
  578. data/public/vendor/npm/react@0.13.3/lib/ReactDOMTextarea.js +0 -70
  579. data/public/vendor/npm/react@0.13.3/lib/ReactDefaultBatchingStrategy.js +0 -37
  580. data/public/vendor/npm/react@0.13.3/lib/ReactDefaultInjection.js +0 -93
  581. data/public/vendor/npm/react@0.13.3/lib/ReactDefaultPerf.js +0 -183
  582. data/public/vendor/npm/react@0.13.3/lib/ReactDefaultPerfAnalysis.js +0 -145
  583. data/public/vendor/npm/react@0.13.3/lib/ReactElement.js +0 -151
  584. data/public/vendor/npm/react@0.13.3/lib/ReactElementValidator.js +0 -218
  585. data/public/vendor/npm/react@0.13.3/lib/ReactEmptyComponent.js +0 -47
  586. data/public/vendor/npm/react@0.13.3/lib/ReactErrorUtils.js +0 -30
  587. data/public/vendor/npm/react@0.13.3/lib/ReactEventEmitterMixin.js +0 -12
  588. data/public/vendor/npm/react@0.13.3/lib/ReactEventListener.js +0 -93
  589. data/public/vendor/npm/react@0.13.3/lib/ReactFragment.js +0 -110
  590. data/public/vendor/npm/react@0.13.3/lib/ReactInjection.js +0 -27
  591. data/public/vendor/npm/react@0.13.3/lib/ReactInputSelection.js +0 -75
  592. data/public/vendor/npm/react@0.13.3/lib/ReactInstanceHandles.js +0 -113
  593. data/public/vendor/npm/react@0.13.3/lib/ReactInstanceMap.js +0 -47
  594. data/public/vendor/npm/react@0.13.3/lib/ReactLifeCycle.js +0 -9
  595. data/public/vendor/npm/react@0.13.3/lib/ReactLink.js +0 -16
  596. data/public/vendor/npm/react@0.13.3/lib/ReactMarkupChecksum.js +0 -17
  597. data/public/vendor/npm/react@0.13.3/lib/ReactMount.js +0 -347
  598. data/public/vendor/npm/react@0.13.3/lib/ReactMultiChild.js +0 -190
  599. data/public/vendor/npm/react@0.13.3/lib/ReactMultiChildUpdateTypes.js +0 -10
  600. data/public/vendor/npm/react@0.13.3/lib/ReactNativeComponent.js +0 -53
  601. data/public/vendor/npm/react@0.13.3/lib/ReactOwner.js +0 -21
  602. data/public/vendor/npm/react@0.13.3/lib/ReactPerf.js +0 -42
  603. data/public/vendor/npm/react@0.13.3/lib/ReactPropTransferer.js +0 -40
  604. data/public/vendor/npm/react@0.13.3/lib/ReactPropTypeLocationNames.js +0 -13
  605. data/public/vendor/npm/react@0.13.3/lib/ReactPropTypeLocations.js +0 -9
  606. data/public/vendor/npm/react@0.13.3/lib/ReactPropTypes.js +0 -225
  607. data/public/vendor/npm/react@0.13.3/lib/ReactPutListenerQueue.js +0 -31
  608. data/public/vendor/npm/react@0.13.3/lib/ReactReconcileTransaction.js +0 -66
  609. data/public/vendor/npm/react@0.13.3/lib/ReactReconciler.js +0 -44
  610. data/public/vendor/npm/react@0.13.3/lib/ReactRef.js +0 -36
  611. data/public/vendor/npm/react@0.13.3/lib/ReactRootIndex.js +0 -29
  612. data/public/vendor/npm/react@0.13.3/lib/ReactServerRendering.js +0 -44
  613. data/public/vendor/npm/react@0.13.3/lib/ReactServerRenderingTransaction.js +0 -47
  614. data/public/vendor/npm/react@0.13.3/lib/ReactStateSetters.js +0 -104
  615. data/public/vendor/npm/react@0.13.3/lib/ReactTestUtils.js +0 -249
  616. data/public/vendor/npm/react@0.13.3/lib/ReactTransitionChildMapping.js +0 -53
  617. data/public/vendor/npm/react@0.13.3/lib/ReactTransitionEvents.js +0 -68
  618. data/public/vendor/npm/react@0.13.3/lib/ReactTransitionGroup.js +0 -140
  619. data/public/vendor/npm/react@0.13.3/lib/ReactUpdateQueue.js +0 -107
  620. data/public/vendor/npm/react@0.13.3/lib/ReactUpdates.js +0 -139
  621. data/public/vendor/npm/react@0.13.3/lib/ReactWithAddons.js +0 -30
  622. data/public/vendor/npm/react@0.13.3/lib/SVGDOMPropertyConfig.js +0 -76
  623. data/public/vendor/npm/react@0.13.3/lib/SelectEventPlugin.js +0 -91
  624. data/public/vendor/npm/react@0.13.3/lib/ServerReactRootIndex.js +0 -29
  625. data/public/vendor/npm/react@0.13.3/lib/SimpleEventPlugin.js +0 -287
  626. data/public/vendor/npm/react@0.13.3/lib/SyntheticClipboardEvent.js +0 -11
  627. data/public/vendor/npm/react@0.13.3/lib/SyntheticCompositionEvent.js +0 -9
  628. data/public/vendor/npm/react@0.13.3/lib/SyntheticDragEvent.js +0 -9
  629. data/public/vendor/npm/react@0.13.3/lib/SyntheticEvent.js +0 -90
  630. data/public/vendor/npm/react@0.13.3/lib/SyntheticFocusEvent.js +0 -9
  631. data/public/vendor/npm/react@0.13.3/lib/SyntheticInputEvent.js +0 -9
  632. data/public/vendor/npm/react@0.13.3/lib/SyntheticKeyboardEvent.js +0 -43
  633. data/public/vendor/npm/react@0.13.3/lib/SyntheticMouseEvent.js +0 -38
  634. data/public/vendor/npm/react@0.13.3/lib/SyntheticTouchEvent.js +0 -19
  635. data/public/vendor/npm/react@0.13.3/lib/SyntheticUIEvent.js +0 -29
  636. data/public/vendor/npm/react@0.13.3/lib/SyntheticWheelEvent.js +0 -18
  637. data/public/vendor/npm/react@0.13.3/lib/Transaction.js +0 -90
  638. data/public/vendor/npm/react@0.13.3/lib/ViewportMetrics.js +0 -27
  639. data/public/vendor/npm/react@0.13.3/lib/accumulateInto.js +0 -26
  640. data/public/vendor/npm/react@0.13.3/lib/adler32.js +0 -32
  641. data/public/vendor/npm/react@0.13.3/lib/camelize.js +0 -30
  642. data/public/vendor/npm/react@0.13.3/lib/camelizeStyleName.js +0 -8
  643. data/public/vendor/npm/react@0.13.3/lib/cloneWithProps.js +0 -20
  644. data/public/vendor/npm/react@0.13.3/lib/containsNode.js +0 -20
  645. data/public/vendor/npm/react@0.13.3/lib/createArrayFromMixed.js +0 -15
  646. data/public/vendor/npm/react@0.13.3/lib/createFullPageComponent.js +0 -22
  647. data/public/vendor/npm/react@0.13.3/lib/createNodesFromMarkup.js +0 -39
  648. data/public/vendor/npm/react@0.13.3/lib/cx.js +0 -20
  649. data/public/vendor/npm/react@0.13.3/lib/dangerousStyleValue.js +0 -19
  650. data/public/vendor/npm/react@0.13.3/lib/emptyFunction.js +0 -32
  651. data/public/vendor/npm/react@0.13.3/lib/emptyObject.js +0 -9
  652. data/public/vendor/npm/react@0.13.3/lib/escapeTextContentForBrowser.js +0 -38
  653. data/public/vendor/npm/react@0.13.3/lib/findDOMNode.js +0 -31
  654. data/public/vendor/npm/react@0.13.3/lib/flattenChildren.js +0 -25
  655. data/public/vendor/npm/react@0.13.3/lib/focusNode.js +0 -27
  656. data/public/vendor/npm/react@0.13.3/lib/forEachAccumulated.js +0 -29
  657. data/public/vendor/npm/react@0.13.3/lib/getActiveElement.js +0 -27
  658. data/public/vendor/npm/react@0.13.3/lib/getEventCharCode.js +0 -50
  659. data/public/vendor/npm/react@0.13.3/lib/getEventKey.js +0 -72
  660. data/public/vendor/npm/react@0.13.3/lib/getEventModifierState.js +0 -45
  661. data/public/vendor/npm/react@0.13.3/lib/getEventTarget.js +0 -29
  662. data/public/vendor/npm/react@0.13.3/lib/getIteratorFn.js +0 -42
  663. data/public/vendor/npm/react@0.13.3/lib/getMarkupWrap.js +0 -73
  664. data/public/vendor/npm/react@0.13.3/lib/getNodeForCharacterOffset.js +0 -73
  665. data/public/vendor/npm/react@0.13.3/lib/getReactRootElementInContainer.js +0 -33
  666. data/public/vendor/npm/react@0.13.3/lib/getTextContentAccessor.js +0 -11
  667. data/public/vendor/npm/react@0.13.3/lib/getUnboundedScrollPosition.js +0 -38
  668. data/public/vendor/npm/react@0.13.3/lib/hyphenate.js +0 -31
  669. data/public/vendor/npm/react@0.13.3/lib/hyphenateStyleName.js +0 -8
  670. data/public/vendor/npm/react@0.13.3/lib/instantiateReactComponent.js +0 -55
  671. data/public/vendor/npm/react@0.13.3/lib/invariant.js +0 -26
  672. data/public/vendor/npm/react@0.13.3/lib/isEventSupported.js +0 -24
  673. data/public/vendor/npm/react@0.13.3/lib/isNode.js +0 -25
  674. data/public/vendor/npm/react@0.13.3/lib/isTextInputElement.js +0 -41
  675. data/public/vendor/npm/react@0.13.3/lib/isTextNode.js +0 -6
  676. data/public/vendor/npm/react@0.13.3/lib/joinClasses.js +0 -39
  677. data/public/vendor/npm/react@0.13.3/lib/keyMirror.js +0 -18
  678. data/public/vendor/npm/react@0.13.3/lib/keyOf.js +0 -34
  679. data/public/vendor/npm/react@0.13.3/lib/mapObject.js +0 -51
  680. data/public/vendor/npm/react@0.13.3/lib/memoizeStringOnly.js +0 -31
  681. data/public/vendor/npm/react@0.13.3/lib/onlyChild.js +0 -11
  682. data/public/vendor/npm/react@0.13.3/lib/performance.js +0 -8
  683. data/public/vendor/npm/react@0.13.3/lib/performanceNow.js +0 -7
  684. data/public/vendor/npm/react@0.13.3/lib/quoteAttributeValueForBrowser.js +0 -7
  685. data/public/vendor/npm/react@0.13.3/lib/setInnerHTML.js +0 -40
  686. data/public/vendor/npm/react@0.13.3/lib/setTextContent.js +0 -16
  687. data/public/vendor/npm/react@0.13.3/lib/shallowEqual.js +0 -42
  688. data/public/vendor/npm/react@0.13.3/lib/shouldUpdateReactComponent.js +0 -51
  689. data/public/vendor/npm/react@0.13.3/lib/toArray.js +0 -21
  690. data/public/vendor/npm/react@0.13.3/lib/traverseAllChildren.js +0 -104
  691. data/public/vendor/npm/react@0.13.3/lib/update.js +0 -78
  692. data/public/vendor/npm/react@0.13.3/lib/warning.js +0 -34
  693. data/public/vendor/npm/react@0.13.3/package.json +0 -34
  694. data/public/vendor/npm/react@0.13.3/react.js +0 -2
  695. data/public/vendor/npm/react@0.13.3.js +0 -1
  696. data/public/vendor/npm/readable-stream@1.1.13/duplex.js +0 -2
  697. data/public/vendor/npm/readable-stream@1.1.13/passthrough.js +0 -2
  698. data/public/vendor/npm/readable-stream@1.1.13/readable.js +0 -8
  699. data/public/vendor/npm/readable-stream@1.1.13/transform.js +0 -2
  700. data/public/vendor/npm/readable-stream@1.1.13/writable.js +0 -2
  701. data/public/vendor/npm/readable-stream@1.1.13.js +0 -1
  702. data/public/vendor/npm/source-map@0.1.31/CHANGELOG.md +0 -112
  703. data/public/vendor/npm/source-map@0.1.31/LICENSE +0 -28
  704. data/public/vendor/npm/source-map@0.1.31/Makefile.dryice.js +0 -89
  705. data/public/vendor/npm/source-map@0.1.31/README.md +0 -434
  706. data/public/vendor/npm/source-map@0.1.31/build/assert-shim.js +0 -58
  707. data/public/vendor/npm/source-map@0.1.31/build/mini-require.js +0 -154
  708. data/public/vendor/npm/source-map@0.1.31/build/prefix-source-map.jsm +0 -20
  709. data/public/vendor/npm/source-map@0.1.31/build/prefix-utils.jsm +0 -18
  710. data/public/vendor/npm/source-map@0.1.31/build/suffix-browser.js +0 -8
  711. data/public/vendor/npm/source-map@0.1.31/build/suffix-source-map.jsm +0 -6
  712. data/public/vendor/npm/source-map@0.1.31/build/suffix-utils.jsm +0 -21
  713. data/public/vendor/npm/source-map@0.1.31/build/test-prefix.js +0 -10
  714. data/public/vendor/npm/source-map@0.1.31/build/test-suffix.js +0 -5
  715. data/public/vendor/npm/source-map@0.1.31/lib/source-map/array-set.js +0 -49
  716. data/public/vendor/npm/source-map@0.1.31/lib/source-map/base64-vlq.js +0 -56
  717. data/public/vendor/npm/source-map@0.1.31/lib/source-map/base64.js +0 -44
  718. data/public/vendor/npm/source-map@0.1.31/lib/source-map/binary-search.js +0 -83
  719. data/public/vendor/npm/source-map@0.1.31/lib/source-map/source-map-consumer.js +0 -238
  720. data/public/vendor/npm/source-map@0.1.31/lib/source-map/source-map-generator.js +0 -231
  721. data/public/vendor/npm/source-map@0.1.31/lib/source-map/source-node.js +0 -234
  722. data/public/vendor/npm/source-map@0.1.31/lib/source-map/util.js +0 -207
  723. data/public/vendor/npm/source-map@0.1.31/lib/source-map.js +0 -4
  724. data/public/vendor/npm/source-map@0.1.31/package.json +0 -52
  725. data/public/vendor/npm/source-map@0.1.31/test/run-tests.js +0 -50
  726. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-api.js +0 -19
  727. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-array-set.js +0 -84
  728. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-base64-vlq.js +0 -17
  729. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-base64.js +0 -26
  730. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-binary-search.js +0 -37
  731. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-dog-fooding.js +0 -76
  732. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-source-map-consumer.js +0 -426
  733. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-source-map-generator.js +0 -480
  734. data/public/vendor/npm/source-map@0.1.31/test/source-map/test-source-node.js +0 -307
  735. data/public/vendor/npm/source-map@0.1.31/test/source-map/util.js +0 -84
  736. data/public/vendor/npm/source-map@0.1.31.js +0 -1
  737. data/public/vendor/npm/through@2.3.8/LICENSE.APACHE2 +0 -15
  738. data/public/vendor/npm/through@2.3.8/LICENSE.MIT +0 -24
  739. data/public/vendor/npm/through@2.3.8/index.js +0 -93
  740. data/public/vendor/npm/through@2.3.8/package.json +0 -36
  741. data/public/vendor/npm/through@2.3.8/readme.markdown +0 -64
  742. data/public/vendor/npm/through@2.3.8/test/async.js +0 -26
  743. data/public/vendor/npm/through@2.3.8/test/auto-destroy.js +0 -26
  744. data/public/vendor/npm/through@2.3.8/test/buffering.js +0 -57
  745. data/public/vendor/npm/through@2.3.8/test/end.js +0 -37
  746. data/public/vendor/npm/through@2.3.8/test/index.js +0 -98
  747. data/public/vendor/npm/through@2.3.8/test.js +0 -2
  748. data/public/vendor/npm/through@2.3.8.js +0 -1
  749. data/views/_options.erb +0 -135
  750. /data/public/vendor/github/jspm/{nodelibs-buffer@0.1.0 → nodelibs-buffer@0.1.1}/index.js +0 -0
  751. /data/public/vendor/github/jspm/{nodelibs-process@0.1.1 → nodelibs-process@0.1.2}/index.js +0 -0
  752. /data/public/vendor/npm/{readable-stream@1.1.13 → assert@1.5.0}/LICENSE +0 -0
  753. /data/public/vendor/npm/{buffer@3.4.3 → buffer@5.7.1}/LICENSE +0 -0
  754. /data/public/vendor/npm/{core-util-is@1.0.1 → core-util-is@1.0.3}/README.md +0 -0
  755. /data/public/vendor/npm/{process@0.10.1 → process@0.11.10}/LICENSE +0 -0
  756. /data/public/vendor/npm/{process@0.10.1 → process@0.11.10}/index.js +0 -0
  757. /data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/README.md +0 -0
  758. /data/public/vendor/npm/{readable-stream@1.1.13 → readable-stream@1.1.14}/float.patch +0 -0
@@ -0,0 +1,216 @@
1
+ import React, { createRef } from "react";
2
+ import ShareURLComponent from "./share_url";
3
+ import _ from "underscore";
4
+
5
+ /**
6
+ * Takes sequence accession as props, fetches the sequence from the server, and
7
+ * displays it in a modal.
8
+ */
9
+ export default class CloudShareModal extends React.Component {
10
+ constructor(props) {
11
+ super(props);
12
+ this.state = {
13
+ formState: 'input', // Possible values: 'input', 'loading', 'results', 'error'
14
+ errorMessages: [],
15
+ email: '',
16
+ agreeToTos: false,
17
+ shareableurl: '',
18
+ };
19
+ this.modalRef = createRef();
20
+ }
21
+
22
+ // Lifecycle methods. //
23
+
24
+ handleChange = (e) => {
25
+ const { name, value, type, checked } = e.target;
26
+ const inputValue = type === 'checkbox' ? checked : value;
27
+
28
+ this.setState({ [name]: inputValue });
29
+ }
30
+
31
+ handleSubmit = (e) => {
32
+ e.preventDefault();
33
+
34
+ const { email } = this.state;
35
+ const regex = /\/([^/]+)(?:\/|#|\?|$)/;
36
+ const match = window.location.pathname.match(regex);
37
+ const jobId = match[1];
38
+
39
+ this.setState({ formState: 'loading' });
40
+
41
+ const requestData = {
42
+ job_id: jobId,
43
+ sender_email: email
44
+ };
45
+
46
+ fetch('/cloud_share', {
47
+ method: 'POST',
48
+ headers: {
49
+ 'Content-Type': 'application/json'
50
+ },
51
+ body: JSON.stringify(requestData)
52
+ })
53
+ .then(response => response.json())
54
+ .then(data => {
55
+ if (data.shareable_url) {
56
+ // Successful response
57
+ this.setState({ formState: 'results', shareableurl: data.shareable_url });
58
+ } else if (data.errors) {
59
+ // Error response with specific error messages
60
+ const errorMessages = data.errors;
61
+ this.setState({ formState: 'error', errorMessages });
62
+ } else {
63
+ // Generic error message
64
+ throw new Error('Unknown error submitting form');
65
+ }
66
+ })
67
+ .catch(error => {
68
+ this.setState({
69
+ formState: 'error',
70
+ errorMessages: [error.message]
71
+ });
72
+ });
73
+ }
74
+
75
+ renderLoading() {
76
+ return (
77
+ <div className="text-center">
78
+ <i className="fa fa-spinner fa-3x fa-spin"></i>
79
+ <p>Uploading the job to SequenceServer Cloud, please wait...</p>
80
+ </div>
81
+ );
82
+ }
83
+
84
+ renderResults() {
85
+ const { shareableurl } = this.state;
86
+
87
+ return <ShareURLComponent url={shareableurl} querydb={this.props.querydb} program={this.props.program} queryLength={this.props.queryLength} />;
88
+ }
89
+
90
+ renderError() {
91
+ const { errorMessages } = this.state;
92
+
93
+ return (
94
+ <>
95
+ {
96
+ _.map(
97
+ errorMessages,
98
+ _.bind(function (errorMessage) {
99
+ return (
100
+ <div className="fastan">
101
+ <div className="section-content">
102
+ <div className="modal-error">{errorMessage}</div>
103
+ </div>
104
+ </div>
105
+ );
106
+ }, this)
107
+ )
108
+ }
109
+ {this.renderForm()}
110
+ </>
111
+ );
112
+ }
113
+
114
+ renderForm() {
115
+ const { email, agreeToTos } = this.state;
116
+ const isSubmitDisabled = !agreeToTos;
117
+
118
+ return(
119
+ <form onSubmit={this.handleSubmit}>
120
+ <div className="form-group">
121
+ <label htmlFor="emailInput">Your Email Address</label>
122
+ <input
123
+ type="email"
124
+ id="emailInput"
125
+ className="form-control"
126
+ placeholder="person@example.com"
127
+ name="email"
128
+ value={email}
129
+ required="required"
130
+ onChange={this.handleChange}
131
+ />
132
+ </div>
133
+ <p>
134
+ By submitting this form you agree to upload this SequenceServer result set to <a href="https://sequenceserver.com/cloud/" target="_bank">SenquenceServer Cloud</a>
135
+ , where it will become available on the internet to everyone with the link. You also agree that your email address will be stored on SequenceServer databases as proof of authentication for support and similar purposes.
136
+ </p>
137
+
138
+ <div className="form-group form-check">
139
+ <input
140
+ type="checkbox"
141
+ id="tosCheckbox"
142
+ className="form-check-input"
143
+ name="agreeToTos"
144
+ checked={agreeToTos}
145
+ onChange={this.handleChange}
146
+ />
147
+ <label htmlFor="tosCheckbox" className="form-check-label">
148
+ &nbsp;I agree to the <b><a href="https://sequenceserver.com/cloud/terms_and_conditions" target="_blank">Terms and Conditions of Service</a></b>
149
+ </label>
150
+ </div>
151
+ <button type="submit" className="btn btn-primary" disabled={isSubmitDisabled}>
152
+ Submit
153
+ </button>
154
+ </form>
155
+ )
156
+ }
157
+
158
+ render() {
159
+ const { formState } = this.state;
160
+
161
+ let content;
162
+ switch (formState) {
163
+ case 'loading':
164
+ content = this.renderLoading();
165
+ break;
166
+ case 'results':
167
+ content = this.renderResults();
168
+ break;
169
+ case 'error':
170
+ content = this.renderError();
171
+ break;
172
+ case 'input':
173
+ default:
174
+ content = this.renderForm();
175
+ break;
176
+ }
177
+
178
+ return (
179
+ <div className="modal cloud-share" ref={this.modalRef} tabIndex="-1">
180
+ <div className="modal-dialog">
181
+ <div className="modal-content">
182
+ <div className="modal-header">
183
+ <h3>Share to SequenceServer Cloud</h3>
184
+ </div>
185
+ <div className="modal-body">
186
+ {content}
187
+ </div>
188
+ </div>
189
+ </div>
190
+ </div>
191
+ );
192
+ }
193
+
194
+ /*
195
+ * Returns jQuery reference to the main modal container.
196
+ */
197
+ modal() {
198
+ return $(this.modalRef.current);
199
+ }
200
+
201
+ /**
202
+ * Shows share dialogue.
203
+ */
204
+ show() {
205
+ this.setState({ requestCompleted: false }, () => {
206
+ this.modal().modal("show");
207
+ });
208
+ }
209
+
210
+ /**
211
+ * Hide share dialogue.
212
+ */
213
+ hide() {
214
+ this.modal().modal("hide");
215
+ }
216
+ }
@@ -0,0 +1,144 @@
1
+ import React, { Component } from 'react';
2
+ import _ from 'underscore';
3
+
4
+ export class Databases extends Component {
5
+ constructor(props) {
6
+ super(props);
7
+ this.state = { type: '' };
8
+ this.preSelectedDbs = this.props.preSelectedDbs;
9
+ this.databases = this.databases.bind(this);
10
+ this.nselected = this.nselected.bind(this);
11
+ this.categories = this.categories.bind(this);
12
+ this.handleClick = this.handleClick.bind(this);
13
+ this.handleToggle = this.handleToggle.bind(this);
14
+ this.renderDatabases = this.renderDatabases.bind(this);
15
+ this.renderDatabase = this.renderDatabase.bind(this);
16
+ }
17
+ componentDidUpdate() {
18
+ if (this.databases() && this.databases().length === 1) {
19
+ $('.databases').find('input').prop('checked', true);
20
+ this.handleClick(this.databases()[0]);
21
+ }
22
+
23
+ if (this.preSelectedDbs) {
24
+ var selectors = this.preSelectedDbs.map((db) => `input[value=${db.id}]`);
25
+ $(selectors.join(',')).prop('checked', true);
26
+ this.handleClick(this.preSelectedDbs[0]);
27
+ this.preSelectedDbs = null;
28
+ }
29
+ this.props.onDatabaseTypeChanged(this.state.type);
30
+ }
31
+ databases(category) {
32
+ var databases = this.props.databases;
33
+ if (category) {
34
+ databases = _.select(databases, (database) => database.type === category);
35
+ }
36
+
37
+ return _.sortBy(databases, 'title');
38
+ }
39
+
40
+ nselected() {
41
+ return $('input[name="databases[]"]:checked').length;
42
+ }
43
+
44
+ categories() {
45
+ return _.uniq(_.map(this.props.databases, _.iteratee('type'))).sort();
46
+ }
47
+
48
+ handleClick(database) {
49
+ var type = this.nselected() ? database.type : '';
50
+ if (type != this.state.type) this.setState({ type: type });
51
+ }
52
+
53
+ handleToggle(toggleState, type) {
54
+ switch (toggleState) {
55
+ case '[Select all]':
56
+ $(`.${type} .database input:not(:checked)`).click();
57
+ break;
58
+ case '[Deselect all]':
59
+ $(`.${type} .database input:checked`).click();
60
+ break;
61
+ }
62
+ this.forceUpdate();
63
+ }
64
+ renderDatabases(category) {
65
+ // Panel name and column width.
66
+ var panelTitle = category[0].toUpperCase() + category.substring(1).toLowerCase() + ' databases';
67
+ var columnClass = this.categories().length === 1 ? 'col-md-12' : 'col-md-6';
68
+
69
+ // Toggle button.
70
+ var toggleState = '[Select all]';
71
+ var toggleClass = 'btn-link';
72
+ var toggleShown = this.databases(category).length > 1;
73
+ var toggleDisabled = this.state.type && this.state.type !== category;
74
+ if (toggleShown && toggleDisabled) toggleClass += ' disabled';
75
+ if (!toggleShown) toggleClass += ' hidden';
76
+ if (this.nselected() === this.databases(category).length) {
77
+ toggleState = '[Deselect all]';
78
+ }
79
+
80
+ // JSX.
81
+ return (
82
+ <div className={columnClass} key={'DB_' + category}>
83
+ <div className="panel panel-default">
84
+ <div className="panel-heading">
85
+ <h4 style={{ display: 'inline' }}>{panelTitle}</h4> &nbsp;&nbsp;
86
+ <button
87
+ type="button"
88
+ className={toggleClass}
89
+ disabled={toggleDisabled}
90
+ onClick={function () {
91
+ this.handleToggle(toggleState, category);
92
+ }.bind(this)}
93
+ >
94
+ {toggleState}
95
+ </button>
96
+ </div>
97
+ <ul className={'list-group databases ' + category}>
98
+ {_.map(
99
+ this.databases(category),
100
+ _.bind(function (database, index) {
101
+ return (
102
+ <li
103
+ className="list-group-item"
104
+ key={'DB_' + category + index}
105
+ >
106
+ {this.renderDatabase(database)}
107
+ </li>
108
+ );
109
+ }, this)
110
+ )}
111
+ </ul>
112
+ </div>
113
+ </div>
114
+ );
115
+ }
116
+
117
+ renderDatabase(database) {
118
+ var disabled = this.state.type && this.state.type !== database.type;
119
+
120
+ return (
121
+ <label className={(disabled && 'disabled database') || 'database'}>
122
+ <input
123
+ type="checkbox"
124
+ name="databases[]"
125
+ value={database.id}
126
+ data-type={database.type}
127
+ disabled={disabled}
128
+ onChange={_.bind(function () {
129
+ this.handleClick(database);
130
+ }, this)}
131
+ />
132
+ {' ' + (database.title || database.name)}
133
+ </label>
134
+ );
135
+ }
136
+
137
+ render() {
138
+ return (
139
+ <div className="form-group databases-container">
140
+ {_.map(this.categories(), this.renderDatabases)}
141
+ </div>
142
+ );
143
+ }
144
+ }
@@ -0,0 +1,144 @@
1
+ import React from 'react';
2
+ import _ from 'underscore';
3
+ import Jstree from 'jstree';
4
+ import { Databases } from './databases';
5
+
6
+ export default class extends Databases {
7
+ constructor(props) {
8
+ super(props);
9
+ this.handleLoadTree = this.handleLoadTree.bind(this);
10
+ this.renderDatabases = this.renderDatabases.bind(this);
11
+ this.renderDatabaseSearch = this.renderDatabaseSearch.bind(this);
12
+ this.renderDatabaseTree = this.renderDatabaseTree.bind(this);
13
+ }
14
+
15
+ handleLoadTree(category) {
16
+ var tree_id = '#' + category + '_database_tree';
17
+ // hack that is needed to sync the selected tree db with the hidden main db
18
+ window.jstree_node_change_timeout = null;
19
+
20
+ // when a tree database gets selected
21
+ $(tree_id).on('select_node.jstree deselect_node.jstree', function (e, data) {
22
+ if (window.jstree_node_change_timeout) {
23
+ clearTimeout(window.jstree_node_change_timeout);
24
+ window.jstree_node_change_timeout = null;
25
+ }
26
+
27
+ window.jstree_node_change_timeout = setTimeout(function () {
28
+ // uncheck all input
29
+ $('div#database_list input[type="checkbox"]:checked').click();
30
+ setTimeout(function () {
31
+ // get all selected tree dbs. Also includes folders. Therefore, the id must have a length of 32
32
+ // this id is used to find the corresponding element from the hidden main form
33
+ var selected = $(tree_id).jstree('get_selected').filter(selected => selected.length == 32);
34
+ $.each(selected, function (index, value) {
35
+ // select hidden element to trigger original sequenceserver behavior, like blast algorithm, ...
36
+ $('input[value="' + value + '"]').click();
37
+ });
38
+ }, 100);
39
+ }, 100);
40
+ });
41
+
42
+ $(tree_id).jstree({
43
+ 'core': {
44
+ 'data': this.props.tree[category]
45
+ },
46
+ 'plugins': ['checkbox', 'search', 'sort'],
47
+ 'checkbox': {
48
+ 'keep_selected_style': false
49
+ }
50
+ });
51
+ }
52
+
53
+ handleTreeSearch(category, tree_id, search_id) {
54
+ var search_for = $('#' + search_id).val();
55
+ $('#' + tree_id).jstree(true).search(search_for);
56
+ }
57
+
58
+ renderDatabases(category) {
59
+ // Panel name and column width.
60
+ var panelTitle = category[0].toUpperCase() +
61
+ category.substring(1).toLowerCase() + ' databases';
62
+ var columnClass = this.categories().length === 1 ? 'col-md-12' :
63
+ 'col-md-6';
64
+
65
+ // Toggle button.
66
+ var toggleState = '[Select all]';
67
+ var toggleClass = 'btn-link';
68
+ var toggleShown = this.databases(category).length > 1;
69
+ var toggleDisabled = this.state.type && this.state.type !== category;
70
+ if (toggleShown && toggleDisabled) toggleClass += ' disabled';
71
+ if (!toggleShown) toggleClass += ' hidden';
72
+ if (this.nselected() === this.databases(category).length) {
73
+ toggleState = '[Deselect all]';
74
+ }
75
+
76
+ // JSX.
77
+ return (
78
+ <div className={columnClass} key={'DB_' + category}>
79
+ <div className='panel panel-default' id='database_list'>
80
+ <div className='panel-heading'>
81
+ <h4 style={{ display: 'inline' }}>{panelTitle}</h4> &nbsp;&nbsp;
82
+ {
83
+ this.renderDatabaseSearch(category)
84
+ }
85
+ <button type='button' className={toggleClass} disabled={toggleDisabled} style={{ display: 'none' }}
86
+ onClick={function () { this.handleToggle(toggleState, category); }.bind(this)}>
87
+ {toggleState}
88
+ </button>
89
+ </div>
90
+ <ul className={'list-group databases ' + category} style={{ display: 'none' }}>
91
+ {
92
+ _.map(this.databases(category), _.bind(function (database, index) {
93
+ return (
94
+ <li className='list-group-item' key={'DB_' + category + index}>
95
+ {this.renderDatabase(database)}
96
+ </li>
97
+ );
98
+ }, this))
99
+ }
100
+ </ul>
101
+ </div>
102
+ {
103
+ this.renderDatabaseTree(category)
104
+ }
105
+ </div>
106
+ );
107
+ }
108
+
109
+ renderDatabaseSearch(category) {
110
+ var tree_id = category + '_database_tree';
111
+ var search_id = tree_id + '_search';
112
+
113
+ return (
114
+ <input type='text' id={search_id} class='input'
115
+ onKeyUp=
116
+ {
117
+ _.bind(function () {
118
+ this.handleTreeSearch(category, tree_id, search_id);
119
+ }, this)
120
+ }
121
+ ></input>
122
+ );
123
+ }
124
+
125
+ renderDatabaseTree(category) {
126
+ const tree_id = category + '_database_tree';
127
+ const data = this.props.tree[category];
128
+
129
+ return (
130
+ <div
131
+ id={tree_id}
132
+ className={'jstree_div'}
133
+ onClick=
134
+ {
135
+ _.bind(function () {
136
+ this.handleLoadTree(category);
137
+ }, this)
138
+ }
139
+ >
140
+ </div>
141
+ );
142
+ }
143
+
144
+ }
data/public/js/dnd.js ADDED
@@ -0,0 +1,164 @@
1
+ import React, { Component } from 'react';
2
+
3
+ /**
4
+ * Drag n drop widget.
5
+ */
6
+ export class DnD extends Component {
7
+
8
+ constructor(props) {
9
+ super(props);
10
+ this.state = { query: null };
11
+ }
12
+ componentDidMount() {
13
+ var self = this;
14
+ var FASTA_FORMAT = /^>/;
15
+
16
+ $(document).ready(function () {
17
+ var tgtMarker = $('.dnd-overlay');
18
+
19
+ var dndError = function (id) {
20
+ $('.dnd-error').hide();
21
+ $('#' + id + '-notification').show();
22
+ tgtMarker.effect('fade', 2500);
23
+ };
24
+
25
+ $(document)
26
+ .on('dragenter', function (evt) {
27
+ // Do not activate DnD if a modal is active.
28
+ if ($.modalActive()) return;
29
+
30
+ // Based on http://stackoverflow.com/a/8494918/1205465.
31
+ // Contrary to what the above link says, the snippet below can't
32
+ // distinguish directories from files. We handle that on drop.
33
+ var dt = evt.originalEvent.dataTransfer;
34
+ var isFile = dt.types && ((dt.types.indexOf && // Chrome and Safari
35
+ dt.types.indexOf('Files') != -1) ||
36
+ (dt.types.contains && // Firefox
37
+ dt.types.contains('application/x-moz-file')));
38
+
39
+ if (!isFile) { return; }
40
+
41
+ $('.dnd-error').hide();
42
+ tgtMarker.stop(true, true);
43
+ tgtMarker.show();
44
+ dt.effectAllowed = 'copy';
45
+ if (self.state.query.isEmpty()) {
46
+ $('.dnd-overlay-overwrite').hide();
47
+ $('.dnd-overlay-drop').show('drop', { direction: 'down' }, 'fast');
48
+ }
49
+ else {
50
+ $('.dnd-overlay-drop').hide();
51
+ $('.dnd-overlay-overwrite').show('drop', { direction: 'down' }, 'fast');
52
+ }
53
+ })
54
+ .on('dragleave', '.dnd-overlay', function (evt) {
55
+ tgtMarker.hide();
56
+ $('.dnd-overlay-drop').hide();
57
+ $('.dnd-overlay-overwrite').hide();
58
+ })
59
+ .on('dragover', '.dnd-overlay', function (evt) {
60
+ evt.originalEvent.dataTransfer.dropEffect = 'copy';
61
+ evt.preventDefault();
62
+ })
63
+ .on('drop', '.dnd-overlay', function (evt) {
64
+ evt.preventDefault();
65
+ evt.stopPropagation();
66
+
67
+ var indicator = $('#sequence-file');
68
+ self.state.query.focus();
69
+
70
+ var files = evt.originalEvent.dataTransfer.files;
71
+ if (files.length > 1) {
72
+ dndError('dnd-multi');
73
+ return;
74
+ }
75
+
76
+ var file = files[0];
77
+ if (file.size > 10 * 1048576) {
78
+ dndError('dnd-large-file');
79
+ return;
80
+ }
81
+
82
+ var reader = new FileReader();
83
+ reader.onload = function (e) {
84
+ var content = e.target.result;
85
+ if (FASTA_FORMAT.test(content)) {
86
+ indicator.text(file.name + ' ');
87
+ self.state.query.value(content);
88
+ tgtMarker.hide();
89
+ } else {
90
+ // apparently not FASTA
91
+ dndError('dnd-format');
92
+ }
93
+ };
94
+ reader.onerror = function (e) {
95
+ // Couldn't read. Means dropped stuff wasn't FASTA file.
96
+ dndError('dnd-format');
97
+ };
98
+ reader.readAsText(file);
99
+ });
100
+ });
101
+ }
102
+ render() {
103
+ return (
104
+ <div
105
+ className="dnd-overlay"
106
+ style={{ display: 'none' }}>
107
+ <div
108
+ className="container dnd-overlay-container">
109
+ <div
110
+ className="row">
111
+ <div
112
+ className="col-md-offset-2 col-md-10">
113
+ <p
114
+ className="dnd-overlay-drop"
115
+ style={{ display: 'none' }}>
116
+ <i className="fa fa-2x fa-file-o"></i>
117
+ Drop query sequence file here
118
+ </p>
119
+ <p
120
+ className="dnd-overlay-overwrite"
121
+ style={{ display: 'none' }}>
122
+ <i className="fa fa-2x fa-file-o"></i>
123
+ <span style={{ color: 'red' }}>Overwrite</span> query sequence file
124
+ </p>
125
+
126
+ <div
127
+ className="dnd-errors">
128
+ <div
129
+ className="dnd-error row"
130
+ id="dnd-multi-notification"
131
+ style={{ display: 'none' }}>
132
+ <div
133
+ className="col-md-6 col-md-offset-3">
134
+ One file at a time please.
135
+ </div>
136
+ </div>
137
+
138
+ <div
139
+ className="dnd-error row"
140
+ id="dnd-large-file-notification"
141
+ style={{ display: 'none' }}>
142
+ <div
143
+ className="col-md-6 col-md-offset-3">
144
+ Too big a file. Can only do less than 10 MB. &gt;_&lt;
145
+ </div>
146
+ </div>
147
+
148
+ <div
149
+ className="dnd-error row"
150
+ id="dnd-format-notification"
151
+ style={{ display: 'none' }}>
152
+ <div
153
+ className="col-md-6 col-md-offset-3">
154
+ Only FASTA files please.
155
+ </div>
156
+ </div>
157
+ </div>
158
+ </div>
159
+ </div>
160
+ </div>
161
+ </div>
162
+ );
163
+ }
164
+ }
@@ -14,4 +14,4 @@ export default function downloadFASTA(sequence_ids, database_ids) {
14
14
  $('<input>').attr('type', 'hidden').attr('name', name).val(val)
15
15
  );
16
16
  }
17
- };
17
+ }