fluentd-ui 0.3.13 → 0.3.14

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

Potentially problematic release.


This version of fluentd-ui might be problematic. Click here for more details.

Files changed (287) hide show
  1. data/ChangeLog +9 -0
  2. data/Gemfile.lock +47 -44
  3. data/README.md +4 -4
  4. data/app/assets/javascripts/vue/in_tail_format.js +7 -2
  5. data/app/assets/stylesheets/common.css.scss +16 -0
  6. data/app/controllers/concerns/setting_history_concern.rb +6 -0
  7. data/app/controllers/fluentd/settings_controller.rb +37 -8
  8. data/app/models/fluent_gem.rb +6 -3
  9. data/app/models/fluentd/agent.rb +1 -0
  10. data/app/models/fluentd/agent/common.rb +4 -0
  11. data/app/models/fluentd/agent/fluentd_gem.rb +9 -13
  12. data/app/models/fluentd/agent/local_common.rb +23 -0
  13. data/app/models/fluentd/agent/td_agent.rb +4 -0
  14. data/app/models/fluentd/agent/td_agent/macosx.rb +0 -4
  15. data/app/models/fluentd/agent/td_agent/unix.rb +0 -4
  16. data/app/views/fluentd/settings/edit.html.haml +1 -3
  17. data/app/views/fluentd/settings/histories/show.html.haml +10 -0
  18. data/app/views/fluentd/settings/running_backup/show.html.haml +11 -0
  19. data/app/views/shared/settings/_diff.html.erb +21 -0
  20. data/circle.yml +5 -0
  21. data/config/application.rb +1 -0
  22. data/config/locales/translation_en.yml +7 -0
  23. data/config/locales/translation_ja.yml +7 -0
  24. data/fluentd-ui.gemspec +1 -0
  25. data/lib/fluentd-ui.rb +5 -1
  26. data/lib/fluentd-ui/version.rb +1 -1
  27. data/spec/features/fluentd/setting/histories_spec.rb +23 -1
  28. data/spec/features/fluentd/setting/running_backup_spec.rb +22 -1
  29. data/spec/models/fluentd/agent/local_common_spec.rb +4 -2
  30. data/spec/models/fluentd/agent_spec.rb +1 -48
  31. data/spec/models/plugin_spec.rb +2 -2
  32. data/spec/spec_helper.rb +10 -0
  33. data/spec/support/fluentd_agent_common_behavior.rb +53 -0
  34. data/vendor/assets/javascripts/bower/.gitignore +10 -0
  35. data/vendor/assets/javascripts/bower/vue/.bower.json +4 -4
  36. data/vendor/assets/javascripts/bower/vue/bower.json +17 -0
  37. data/vendor/assets/javascripts/bower/vue/dist/vue.js +329 -198
  38. data/vendor/assets/javascripts/bower/vue/dist/vue.min.js +3 -3
  39. metadata +107 -291
  40. checksums.yaml +0 -7
  41. data/vendor/assets/javascripts/bower/codemirror/AUTHORS +0 -423
  42. data/vendor/assets/javascripts/bower/codemirror/CONTRIBUTING.md +0 -76
  43. data/vendor/assets/javascripts/bower/codemirror/LICENSE +0 -19
  44. data/vendor/assets/javascripts/bower/codemirror/README.md +0 -11
  45. data/vendor/assets/javascripts/bower/codemirror/addon/comment/comment.js +0 -183
  46. data/vendor/assets/javascripts/bower/codemirror/addon/comment/continuecomment.js +0 -85
  47. data/vendor/assets/javascripts/bower/codemirror/addon/dialog/dialog.css +0 -32
  48. data/vendor/assets/javascripts/bower/codemirror/addon/dialog/dialog.js +0 -155
  49. data/vendor/assets/javascripts/bower/codemirror/addon/display/fullscreen.css +0 -6
  50. data/vendor/assets/javascripts/bower/codemirror/addon/display/fullscreen.js +0 -41
  51. data/vendor/assets/javascripts/bower/codemirror/addon/display/panel.js +0 -94
  52. data/vendor/assets/javascripts/bower/codemirror/addon/display/placeholder.js +0 -58
  53. data/vendor/assets/javascripts/bower/codemirror/addon/display/rulers.js +0 -64
  54. data/vendor/assets/javascripts/bower/codemirror/addon/edit/closebrackets.js +0 -159
  55. data/vendor/assets/javascripts/bower/codemirror/addon/edit/closetag.js +0 -159
  56. data/vendor/assets/javascripts/bower/codemirror/addon/edit/continuelist.js +0 -51
  57. data/vendor/assets/javascripts/bower/codemirror/addon/edit/matchbrackets.js +0 -120
  58. data/vendor/assets/javascripts/bower/codemirror/addon/edit/matchtags.js +0 -66
  59. data/vendor/assets/javascripts/bower/codemirror/addon/edit/trailingspace.js +0 -27
  60. data/vendor/assets/javascripts/bower/codemirror/addon/fold/brace-fold.js +0 -105
  61. data/vendor/assets/javascripts/bower/codemirror/addon/fold/comment-fold.js +0 -57
  62. data/vendor/assets/javascripts/bower/codemirror/addon/fold/foldcode.js +0 -145
  63. data/vendor/assets/javascripts/bower/codemirror/addon/fold/foldgutter.css +0 -20
  64. data/vendor/assets/javascripts/bower/codemirror/addon/fold/foldgutter.js +0 -134
  65. data/vendor/assets/javascripts/bower/codemirror/addon/fold/indent-fold.js +0 -44
  66. data/vendor/assets/javascripts/bower/codemirror/addon/fold/markdown-fold.js +0 -49
  67. data/vendor/assets/javascripts/bower/codemirror/addon/fold/xml-fold.js +0 -182
  68. data/vendor/assets/javascripts/bower/codemirror/addon/hint/anyword-hint.js +0 -41
  69. data/vendor/assets/javascripts/bower/codemirror/addon/hint/css-hint.js +0 -56
  70. data/vendor/assets/javascripts/bower/codemirror/addon/hint/html-hint.js +0 -348
  71. data/vendor/assets/javascripts/bower/codemirror/addon/hint/javascript-hint.js +0 -146
  72. data/vendor/assets/javascripts/bower/codemirror/addon/hint/show-hint.css +0 -38
  73. data/vendor/assets/javascripts/bower/codemirror/addon/hint/show-hint.js +0 -389
  74. data/vendor/assets/javascripts/bower/codemirror/addon/hint/sql-hint.js +0 -197
  75. data/vendor/assets/javascripts/bower/codemirror/addon/hint/xml-hint.js +0 -110
  76. data/vendor/assets/javascripts/bower/codemirror/addon/lint/coffeescript-lint.js +0 -41
  77. data/vendor/assets/javascripts/bower/codemirror/addon/lint/css-lint.js +0 -35
  78. data/vendor/assets/javascripts/bower/codemirror/addon/lint/javascript-lint.js +0 -136
  79. data/vendor/assets/javascripts/bower/codemirror/addon/lint/json-lint.js +0 -31
  80. data/vendor/assets/javascripts/bower/codemirror/addon/lint/lint.css +0 -73
  81. data/vendor/assets/javascripts/bower/codemirror/addon/lint/lint.js +0 -204
  82. data/vendor/assets/javascripts/bower/codemirror/addon/lint/yaml-lint.js +0 -28
  83. data/vendor/assets/javascripts/bower/codemirror/addon/merge/merge.css +0 -112
  84. data/vendor/assets/javascripts/bower/codemirror/addon/merge/merge.js +0 -643
  85. data/vendor/assets/javascripts/bower/codemirror/addon/mode/loadmode.js +0 -64
  86. data/vendor/assets/javascripts/bower/codemirror/addon/mode/multiplex.js +0 -118
  87. data/vendor/assets/javascripts/bower/codemirror/addon/mode/multiplex_test.js +0 -33
  88. data/vendor/assets/javascripts/bower/codemirror/addon/mode/overlay.js +0 -85
  89. data/vendor/assets/javascripts/bower/codemirror/addon/mode/simple.js +0 -213
  90. data/vendor/assets/javascripts/bower/codemirror/addon/runmode/colorize.js +0 -40
  91. data/vendor/assets/javascripts/bower/codemirror/addon/runmode/runmode-standalone.js +0 -157
  92. data/vendor/assets/javascripts/bower/codemirror/addon/runmode/runmode.js +0 -72
  93. data/vendor/assets/javascripts/bower/codemirror/addon/runmode/runmode.node.js +0 -120
  94. data/vendor/assets/javascripts/bower/codemirror/addon/scroll/annotatescrollbar.js +0 -76
  95. data/vendor/assets/javascripts/bower/codemirror/addon/scroll/scrollpastend.js +0 -46
  96. data/vendor/assets/javascripts/bower/codemirror/addon/scroll/simplescrollbars.css +0 -66
  97. data/vendor/assets/javascripts/bower/codemirror/addon/scroll/simplescrollbars.js +0 -139
  98. data/vendor/assets/javascripts/bower/codemirror/addon/search/match-highlighter.js +0 -128
  99. data/vendor/assets/javascripts/bower/codemirror/addon/search/matchesonscrollbar.css +0 -8
  100. data/vendor/assets/javascripts/bower/codemirror/addon/search/matchesonscrollbar.js +0 -90
  101. data/vendor/assets/javascripts/bower/codemirror/addon/search/search.js +0 -164
  102. data/vendor/assets/javascripts/bower/codemirror/addon/search/searchcursor.js +0 -189
  103. data/vendor/assets/javascripts/bower/codemirror/addon/selection/active-line.js +0 -71
  104. data/vendor/assets/javascripts/bower/codemirror/addon/selection/mark-selection.js +0 -118
  105. data/vendor/assets/javascripts/bower/codemirror/addon/tern/tern.css +0 -86
  106. data/vendor/assets/javascripts/bower/codemirror/addon/tern/tern.js +0 -670
  107. data/vendor/assets/javascripts/bower/codemirror/addon/tern/worker.js +0 -44
  108. data/vendor/assets/javascripts/bower/codemirror/addon/wrap/hardwrap.js +0 -139
  109. data/vendor/assets/javascripts/bower/codemirror/keymap/emacs.js +0 -411
  110. data/vendor/assets/javascripts/bower/codemirror/keymap/sublime.js +0 -540
  111. data/vendor/assets/javascripts/bower/codemirror/keymap/vim.js +0 -4901
  112. data/vendor/assets/javascripts/bower/codemirror/mode/apl/apl.js +0 -175
  113. data/vendor/assets/javascripts/bower/codemirror/mode/asterisk/asterisk.js +0 -198
  114. data/vendor/assets/javascripts/bower/codemirror/mode/clike/clike.js +0 -489
  115. data/vendor/assets/javascripts/bower/codemirror/mode/clike/scala.html +0 -767
  116. data/vendor/assets/javascripts/bower/codemirror/mode/clojure/clojure.js +0 -243
  117. data/vendor/assets/javascripts/bower/codemirror/mode/cobol/cobol.js +0 -255
  118. data/vendor/assets/javascripts/bower/codemirror/mode/coffeescript/coffeescript.js +0 -369
  119. data/vendor/assets/javascripts/bower/codemirror/mode/commonlisp/commonlisp.js +0 -122
  120. data/vendor/assets/javascripts/bower/codemirror/mode/css/css.js +0 -717
  121. data/vendor/assets/javascripts/bower/codemirror/mode/css/less.html +0 -152
  122. data/vendor/assets/javascripts/bower/codemirror/mode/css/less_test.js +0 -51
  123. data/vendor/assets/javascripts/bower/codemirror/mode/css/scss.html +0 -157
  124. data/vendor/assets/javascripts/bower/codemirror/mode/css/scss_test.js +0 -110
  125. data/vendor/assets/javascripts/bower/codemirror/mode/css/test.js +0 -135
  126. data/vendor/assets/javascripts/bower/codemirror/mode/cypher/cypher.js +0 -146
  127. data/vendor/assets/javascripts/bower/codemirror/mode/d/d.js +0 -218
  128. data/vendor/assets/javascripts/bower/codemirror/mode/dart/dart.js +0 -50
  129. data/vendor/assets/javascripts/bower/codemirror/mode/diff/diff.js +0 -47
  130. data/vendor/assets/javascripts/bower/codemirror/mode/django/django.js +0 -67
  131. data/vendor/assets/javascripts/bower/codemirror/mode/dockerfile/dockerfile.js +0 -76
  132. data/vendor/assets/javascripts/bower/codemirror/mode/dtd/dtd.js +0 -142
  133. data/vendor/assets/javascripts/bower/codemirror/mode/dylan/dylan.js +0 -299
  134. data/vendor/assets/javascripts/bower/codemirror/mode/ebnf/ebnf.js +0 -195
  135. data/vendor/assets/javascripts/bower/codemirror/mode/ecl/ecl.js +0 -207
  136. data/vendor/assets/javascripts/bower/codemirror/mode/eiffel/eiffel.js +0 -162
  137. data/vendor/assets/javascripts/bower/codemirror/mode/erlang/erlang.js +0 -622
  138. data/vendor/assets/javascripts/bower/codemirror/mode/fortran/fortran.js +0 -188
  139. data/vendor/assets/javascripts/bower/codemirror/mode/gas/gas.js +0 -345
  140. data/vendor/assets/javascripts/bower/codemirror/mode/gfm/gfm.js +0 -123
  141. data/vendor/assets/javascripts/bower/codemirror/mode/gfm/test.js +0 -213
  142. data/vendor/assets/javascripts/bower/codemirror/mode/gherkin/gherkin.js +0 -178
  143. data/vendor/assets/javascripts/bower/codemirror/mode/go/go.js +0 -184
  144. data/vendor/assets/javascripts/bower/codemirror/mode/groovy/groovy.js +0 -226
  145. data/vendor/assets/javascripts/bower/codemirror/mode/haml/haml.js +0 -159
  146. data/vendor/assets/javascripts/bower/codemirror/mode/haml/test.js +0 -97
  147. data/vendor/assets/javascripts/bower/codemirror/mode/haskell/haskell.js +0 -267
  148. data/vendor/assets/javascripts/bower/codemirror/mode/haxe/haxe.js +0 -518
  149. data/vendor/assets/javascripts/bower/codemirror/mode/htmlembedded/htmlembedded.js +0 -86
  150. data/vendor/assets/javascripts/bower/codemirror/mode/htmlmixed/htmlmixed.js +0 -121
  151. data/vendor/assets/javascripts/bower/codemirror/mode/http/http.js +0 -113
  152. data/vendor/assets/javascripts/bower/codemirror/mode/idl/idl.js +0 -290
  153. data/vendor/assets/javascripts/bower/codemirror/mode/jade/jade.js +0 -590
  154. data/vendor/assets/javascripts/bower/codemirror/mode/javascript/javascript.js +0 -686
  155. data/vendor/assets/javascripts/bower/codemirror/mode/javascript/json-ld.html +0 -72
  156. data/vendor/assets/javascripts/bower/codemirror/mode/javascript/test.js +0 -200
  157. data/vendor/assets/javascripts/bower/codemirror/mode/javascript/typescript.html +0 -61
  158. data/vendor/assets/javascripts/bower/codemirror/mode/jinja2/jinja2.js +0 -142
  159. data/vendor/assets/javascripts/bower/codemirror/mode/julia/julia.js +0 -301
  160. data/vendor/assets/javascripts/bower/codemirror/mode/kotlin/kotlin.js +0 -280
  161. data/vendor/assets/javascripts/bower/codemirror/mode/livescript/livescript.js +0 -280
  162. data/vendor/assets/javascripts/bower/codemirror/mode/lua/lua.js +0 -159
  163. data/vendor/assets/javascripts/bower/codemirror/mode/markdown/markdown.js +0 -765
  164. data/vendor/assets/javascripts/bower/codemirror/mode/markdown/test.js +0 -754
  165. data/vendor/assets/javascripts/bower/codemirror/mode/meta.js +0 -165
  166. data/vendor/assets/javascripts/bower/codemirror/mode/mirc/mirc.js +0 -193
  167. data/vendor/assets/javascripts/bower/codemirror/mode/mllike/mllike.js +0 -205
  168. data/vendor/assets/javascripts/bower/codemirror/mode/modelica/modelica.js +0 -245
  169. data/vendor/assets/javascripts/bower/codemirror/mode/nginx/nginx.js +0 -178
  170. data/vendor/assets/javascripts/bower/codemirror/mode/ntriples/ntriples.js +0 -186
  171. data/vendor/assets/javascripts/bower/codemirror/mode/octave/octave.js +0 -135
  172. data/vendor/assets/javascripts/bower/codemirror/mode/pascal/pascal.js +0 -109
  173. data/vendor/assets/javascripts/bower/codemirror/mode/pegjs/pegjs.js +0 -114
  174. data/vendor/assets/javascripts/bower/codemirror/mode/perl/perl.js +0 -832
  175. data/vendor/assets/javascripts/bower/codemirror/mode/php/php.js +0 -226
  176. data/vendor/assets/javascripts/bower/codemirror/mode/php/test.js +0 -154
  177. data/vendor/assets/javascripts/bower/codemirror/mode/pig/pig.js +0 -188
  178. data/vendor/assets/javascripts/bower/codemirror/mode/properties/properties.js +0 -78
  179. data/vendor/assets/javascripts/bower/codemirror/mode/puppet/puppet.js +0 -220
  180. data/vendor/assets/javascripts/bower/codemirror/mode/python/python.js +0 -359
  181. data/vendor/assets/javascripts/bower/codemirror/mode/q/q.js +0 -139
  182. data/vendor/assets/javascripts/bower/codemirror/mode/r/r.js +0 -162
  183. data/vendor/assets/javascripts/bower/codemirror/mode/rpm/rpm.js +0 -101
  184. data/vendor/assets/javascripts/bower/codemirror/mode/rst/rst.js +0 -557
  185. data/vendor/assets/javascripts/bower/codemirror/mode/ruby/ruby.js +0 -285
  186. data/vendor/assets/javascripts/bower/codemirror/mode/ruby/test.js +0 -14
  187. data/vendor/assets/javascripts/bower/codemirror/mode/rust/rust.js +0 -451
  188. data/vendor/assets/javascripts/bower/codemirror/mode/sass/sass.js +0 -327
  189. data/vendor/assets/javascripts/bower/codemirror/mode/scheme/scheme.js +0 -248
  190. data/vendor/assets/javascripts/bower/codemirror/mode/shell/shell.js +0 -139
  191. data/vendor/assets/javascripts/bower/codemirror/mode/shell/test.js +0 -58
  192. data/vendor/assets/javascripts/bower/codemirror/mode/sieve/sieve.js +0 -193
  193. data/vendor/assets/javascripts/bower/codemirror/mode/slim/slim.js +0 -575
  194. data/vendor/assets/javascripts/bower/codemirror/mode/slim/test.js +0 -96
  195. data/vendor/assets/javascripts/bower/codemirror/mode/smalltalk/smalltalk.js +0 -168
  196. data/vendor/assets/javascripts/bower/codemirror/mode/smarty/smarty.js +0 -221
  197. data/vendor/assets/javascripts/bower/codemirror/mode/smartymixed/smartymixed.js +0 -197
  198. data/vendor/assets/javascripts/bower/codemirror/mode/solr/solr.js +0 -104
  199. data/vendor/assets/javascripts/bower/codemirror/mode/soy/soy.js +0 -198
  200. data/vendor/assets/javascripts/bower/codemirror/mode/sparql/sparql.js +0 -174
  201. data/vendor/assets/javascripts/bower/codemirror/mode/spreadsheet/spreadsheet.js +0 -109
  202. data/vendor/assets/javascripts/bower/codemirror/mode/sql/sql.js +0 -391
  203. data/vendor/assets/javascripts/bower/codemirror/mode/stex/stex.js +0 -251
  204. data/vendor/assets/javascripts/bower/codemirror/mode/stex/test.js +0 -123
  205. data/vendor/assets/javascripts/bower/codemirror/mode/tcl/tcl.js +0 -147
  206. data/vendor/assets/javascripts/bower/codemirror/mode/textile/test.js +0 -417
  207. data/vendor/assets/javascripts/bower/codemirror/mode/textile/textile.js +0 -469
  208. data/vendor/assets/javascripts/bower/codemirror/mode/tiddlywiki/tiddlywiki.css +0 -14
  209. data/vendor/assets/javascripts/bower/codemirror/mode/tiddlywiki/tiddlywiki.js +0 -369
  210. data/vendor/assets/javascripts/bower/codemirror/mode/tiki/tiki.css +0 -26
  211. data/vendor/assets/javascripts/bower/codemirror/mode/tiki/tiki.js +0 -323
  212. data/vendor/assets/javascripts/bower/codemirror/mode/toml/toml.js +0 -88
  213. data/vendor/assets/javascripts/bower/codemirror/mode/tornado/tornado.js +0 -68
  214. data/vendor/assets/javascripts/bower/codemirror/mode/turtle/turtle.js +0 -162
  215. data/vendor/assets/javascripts/bower/codemirror/mode/vb/vb.js +0 -274
  216. data/vendor/assets/javascripts/bower/codemirror/mode/vbscript/vbscript.js +0 -350
  217. data/vendor/assets/javascripts/bower/codemirror/mode/velocity/velocity.js +0 -201
  218. data/vendor/assets/javascripts/bower/codemirror/mode/verilog/test.js +0 -273
  219. data/vendor/assets/javascripts/bower/codemirror/mode/verilog/verilog.js +0 -364
  220. data/vendor/assets/javascripts/bower/codemirror/mode/xml/test.js +0 -51
  221. data/vendor/assets/javascripts/bower/codemirror/mode/xml/xml.js +0 -384
  222. data/vendor/assets/javascripts/bower/codemirror/mode/xquery/test.js +0 -67
  223. data/vendor/assets/javascripts/bower/codemirror/mode/xquery/xquery.js +0 -447
  224. data/vendor/assets/javascripts/bower/codemirror/mode/yaml/yaml.js +0 -117
  225. data/vendor/assets/javascripts/bower/codemirror/mode/z80/z80.js +0 -100
  226. data/vendor/assets/javascripts/bower/vue/LICENSE +0 -21
  227. data/vendor/assets/javascripts/bower/vue/src/api/child.js +0 -53
  228. data/vendor/assets/javascripts/bower/vue/src/api/data.js +0 -161
  229. data/vendor/assets/javascripts/bower/vue/src/api/dom.js +0 -211
  230. data/vendor/assets/javascripts/bower/vue/src/api/events.js +0 -176
  231. data/vendor/assets/javascripts/bower/vue/src/api/global.js +0 -146
  232. data/vendor/assets/javascripts/bower/vue/src/api/lifecycle.js +0 -72
  233. data/vendor/assets/javascripts/bower/vue/src/batcher.js +0 -65
  234. data/vendor/assets/javascripts/bower/vue/src/cache.js +0 -112
  235. data/vendor/assets/javascripts/bower/vue/src/compiler/compile.js +0 -549
  236. data/vendor/assets/javascripts/bower/vue/src/compiler/transclude.js +0 -146
  237. data/vendor/assets/javascripts/bower/vue/src/config.js +0 -79
  238. data/vendor/assets/javascripts/bower/vue/src/directive.js +0 -219
  239. data/vendor/assets/javascripts/bower/vue/src/directives/attr.js +0 -32
  240. data/vendor/assets/javascripts/bower/vue/src/directives/class.js +0 -18
  241. data/vendor/assets/javascripts/bower/vue/src/directives/cloak.js +0 -12
  242. data/vendor/assets/javascripts/bower/vue/src/directives/component.js +0 -196
  243. data/vendor/assets/javascripts/bower/vue/src/directives/el.js +0 -13
  244. data/vendor/assets/javascripts/bower/vue/src/directives/html.js +0 -38
  245. data/vendor/assets/javascripts/bower/vue/src/directives/if.js +0 -87
  246. data/vendor/assets/javascripts/bower/vue/src/directives/index.js +0 -22
  247. data/vendor/assets/javascripts/bower/vue/src/directives/model/checkbox.js +0 -25
  248. data/vendor/assets/javascripts/bower/vue/src/directives/model/default.js +0 -123
  249. data/vendor/assets/javascripts/bower/vue/src/directives/model/index.js +0 -56
  250. data/vendor/assets/javascripts/bower/vue/src/directives/model/radio.js +0 -26
  251. data/vendor/assets/javascripts/bower/vue/src/directives/model/select.js +0 -166
  252. data/vendor/assets/javascripts/bower/vue/src/directives/on.js +0 -59
  253. data/vendor/assets/javascripts/bower/vue/src/directives/partial.js +0 -44
  254. data/vendor/assets/javascripts/bower/vue/src/directives/ref.js +0 -24
  255. data/vendor/assets/javascripts/bower/vue/src/directives/repeat.js +0 -503
  256. data/vendor/assets/javascripts/bower/vue/src/directives/show.js +0 -8
  257. data/vendor/assets/javascripts/bower/vue/src/directives/style.js +0 -58
  258. data/vendor/assets/javascripts/bower/vue/src/directives/text.js +0 -15
  259. data/vendor/assets/javascripts/bower/vue/src/directives/transition.js +0 -12
  260. data/vendor/assets/javascripts/bower/vue/src/directives/with.js +0 -47
  261. data/vendor/assets/javascripts/bower/vue/src/filters/array-filters.js +0 -87
  262. data/vendor/assets/javascripts/bower/vue/src/filters/index.js +0 -135
  263. data/vendor/assets/javascripts/bower/vue/src/instance/compile.js +0 -179
  264. data/vendor/assets/javascripts/bower/vue/src/instance/events.js +0 -122
  265. data/vendor/assets/javascripts/bower/vue/src/instance/init.js +0 -76
  266. data/vendor/assets/javascripts/bower/vue/src/instance/scope.js +0 -217
  267. data/vendor/assets/javascripts/bower/vue/src/observer/array.js +0 -90
  268. data/vendor/assets/javascripts/bower/vue/src/observer/dep.js +0 -50
  269. data/vendor/assets/javascripts/bower/vue/src/observer/index.js +0 -235
  270. data/vendor/assets/javascripts/bower/vue/src/observer/object.js +0 -66
  271. data/vendor/assets/javascripts/bower/vue/src/parsers/directive.js +0 -159
  272. data/vendor/assets/javascripts/bower/vue/src/parsers/expression.js +0 -226
  273. data/vendor/assets/javascripts/bower/vue/src/parsers/path.js +0 -300
  274. data/vendor/assets/javascripts/bower/vue/src/parsers/template.js +0 -248
  275. data/vendor/assets/javascripts/bower/vue/src/parsers/text.js +0 -178
  276. data/vendor/assets/javascripts/bower/vue/src/transition/css.js +0 -189
  277. data/vendor/assets/javascripts/bower/vue/src/transition/index.js +0 -151
  278. data/vendor/assets/javascripts/bower/vue/src/transition/js.js +0 -43
  279. data/vendor/assets/javascripts/bower/vue/src/util/debug.js +0 -50
  280. data/vendor/assets/javascripts/bower/vue/src/util/dom.js +0 -197
  281. data/vendor/assets/javascripts/bower/vue/src/util/env.js +0 -74
  282. data/vendor/assets/javascripts/bower/vue/src/util/filter.js +0 -72
  283. data/vendor/assets/javascripts/bower/vue/src/util/index.js +0 -8
  284. data/vendor/assets/javascripts/bower/vue/src/util/lang.js +0 -175
  285. data/vendor/assets/javascripts/bower/vue/src/util/merge-option.js +0 -255
  286. data/vendor/assets/javascripts/bower/vue/src/vue.js +0 -84
  287. data/vendor/assets/javascripts/bower/vue/src/watcher.js +0 -240
@@ -1,110 +0,0 @@
1
- // CodeMirror, copyright (c) by Marijn Haverbeke and others
2
- // Distributed under an MIT license: http://codemirror.net/LICENSE
3
-
4
- (function(mod) {
5
- if (typeof exports == "object" && typeof module == "object") // CommonJS
6
- mod(require("../../lib/codemirror"));
7
- else if (typeof define == "function" && define.amd) // AMD
8
- define(["../../lib/codemirror"], mod);
9
- else // Plain browser env
10
- mod(CodeMirror);
11
- })(function(CodeMirror) {
12
- "use strict";
13
-
14
- var Pos = CodeMirror.Pos;
15
-
16
- function getHints(cm, options) {
17
- var tags = options && options.schemaInfo;
18
- var quote = (options && options.quoteChar) || '"';
19
- if (!tags) return;
20
- var cur = cm.getCursor(), token = cm.getTokenAt(cur);
21
- if (token.end > cur.ch) {
22
- token.end = cur.ch;
23
- token.string = token.string.slice(0, cur.ch - token.start);
24
- }
25
- var inner = CodeMirror.innerMode(cm.getMode(), token.state);
26
- if (inner.mode.name != "xml") return;
27
- var result = [], replaceToken = false, prefix;
28
- var tag = /\btag\b/.test(token.type) && !/>$/.test(token.string);
29
- var tagName = tag && /^\w/.test(token.string), tagStart;
30
-
31
- if (tagName) {
32
- var before = cm.getLine(cur.line).slice(Math.max(0, token.start - 2), token.start);
33
- var tagType = /<\/$/.test(before) ? "close" : /<$/.test(before) ? "open" : null;
34
- if (tagType) tagStart = token.start - (tagType == "close" ? 2 : 1);
35
- } else if (tag && token.string == "<") {
36
- tagType = "open";
37
- } else if (tag && token.string == "</") {
38
- tagType = "close";
39
- }
40
-
41
- if (!tag && !inner.state.tagName || tagType) {
42
- if (tagName)
43
- prefix = token.string;
44
- replaceToken = tagType;
45
- var cx = inner.state.context, curTag = cx && tags[cx.tagName];
46
- var childList = cx ? curTag && curTag.children : tags["!top"];
47
- if (childList && tagType != "close") {
48
- for (var i = 0; i < childList.length; ++i) if (!prefix || childList[i].lastIndexOf(prefix, 0) == 0)
49
- result.push("<" + childList[i]);
50
- } else if (tagType != "close") {
51
- for (var name in tags)
52
- if (tags.hasOwnProperty(name) && name != "!top" && name != "!attrs" && (!prefix || name.lastIndexOf(prefix, 0) == 0))
53
- result.push("<" + name);
54
- }
55
- if (cx && (!prefix || tagType == "close" && cx.tagName.lastIndexOf(prefix, 0) == 0))
56
- result.push("</" + cx.tagName + ">");
57
- } else {
58
- // Attribute completion
59
- var curTag = tags[inner.state.tagName], attrs = curTag && curTag.attrs;
60
- var globalAttrs = tags["!attrs"];
61
- if (!attrs && !globalAttrs) return;
62
- if (!attrs) {
63
- attrs = globalAttrs;
64
- } else if (globalAttrs) { // Combine tag-local and global attributes
65
- var set = {};
66
- for (var nm in globalAttrs) if (globalAttrs.hasOwnProperty(nm)) set[nm] = globalAttrs[nm];
67
- for (var nm in attrs) if (attrs.hasOwnProperty(nm)) set[nm] = attrs[nm];
68
- attrs = set;
69
- }
70
- if (token.type == "string" || token.string == "=") { // A value
71
- var before = cm.getRange(Pos(cur.line, Math.max(0, cur.ch - 60)),
72
- Pos(cur.line, token.type == "string" ? token.start : token.end));
73
- var atName = before.match(/([^\s\u00a0=<>\"\']+)=$/), atValues;
74
- if (!atName || !attrs.hasOwnProperty(atName[1]) || !(atValues = attrs[atName[1]])) return;
75
- if (typeof atValues == 'function') atValues = atValues.call(this, cm); // Functions can be used to supply values for autocomplete widget
76
- if (token.type == "string") {
77
- prefix = token.string;
78
- var n = 0;
79
- if (/['"]/.test(token.string.charAt(0))) {
80
- quote = token.string.charAt(0);
81
- prefix = token.string.slice(1);
82
- n++;
83
- }
84
- var len = token.string.length;
85
- if (/['"]/.test(token.string.charAt(len - 1))) {
86
- quote = token.string.charAt(len - 1);
87
- prefix = token.string.substr(n, len - 2);
88
- }
89
- replaceToken = true;
90
- }
91
- for (var i = 0; i < atValues.length; ++i) if (!prefix || atValues[i].lastIndexOf(prefix, 0) == 0)
92
- result.push(quote + atValues[i] + quote);
93
- } else { // An attribute name
94
- if (token.type == "attribute") {
95
- prefix = token.string;
96
- replaceToken = true;
97
- }
98
- for (var attr in attrs) if (attrs.hasOwnProperty(attr) && (!prefix || attr.lastIndexOf(prefix, 0) == 0))
99
- result.push(attr);
100
- }
101
- }
102
- return {
103
- list: result,
104
- from: replaceToken ? Pos(cur.line, tagStart == null ? token.start : tagStart) : cur,
105
- to: replaceToken ? Pos(cur.line, token.end) : cur
106
- };
107
- }
108
-
109
- CodeMirror.registerHelper("hint", "xml", getHints);
110
- });
@@ -1,41 +0,0 @@
1
- // CodeMirror, copyright (c) by Marijn Haverbeke and others
2
- // Distributed under an MIT license: http://codemirror.net/LICENSE
3
-
4
- // Depends on coffeelint.js from http://www.coffeelint.org/js/coffeelint.js
5
-
6
- // declare global: coffeelint
7
-
8
- (function(mod) {
9
- if (typeof exports == "object" && typeof module == "object") // CommonJS
10
- mod(require("../../lib/codemirror"));
11
- else if (typeof define == "function" && define.amd) // AMD
12
- define(["../../lib/codemirror"], mod);
13
- else // Plain browser env
14
- mod(CodeMirror);
15
- })(function(CodeMirror) {
16
- "use strict";
17
-
18
- CodeMirror.registerHelper("lint", "coffeescript", function(text) {
19
- var found = [];
20
- var parseError = function(err) {
21
- var loc = err.lineNumber;
22
- found.push({from: CodeMirror.Pos(loc-1, 0),
23
- to: CodeMirror.Pos(loc, 0),
24
- severity: err.level,
25
- message: err.message});
26
- };
27
- try {
28
- var res = coffeelint.lint(text);
29
- for(var i = 0; i < res.length; i++) {
30
- parseError(res[i]);
31
- }
32
- } catch(e) {
33
- found.push({from: CodeMirror.Pos(e.location.first_line, 0),
34
- to: CodeMirror.Pos(e.location.last_line, e.location.last_column),
35
- severity: 'error',
36
- message: e.message});
37
- }
38
- return found;
39
- });
40
-
41
- });
@@ -1,35 +0,0 @@
1
- // CodeMirror, copyright (c) by Marijn Haverbeke and others
2
- // Distributed under an MIT license: http://codemirror.net/LICENSE
3
-
4
- // Depends on csslint.js from https://github.com/stubbornella/csslint
5
-
6
- // declare global: CSSLint
7
-
8
- (function(mod) {
9
- if (typeof exports == "object" && typeof module == "object") // CommonJS
10
- mod(require("../../lib/codemirror"));
11
- else if (typeof define == "function" && define.amd) // AMD
12
- define(["../../lib/codemirror"], mod);
13
- else // Plain browser env
14
- mod(CodeMirror);
15
- })(function(CodeMirror) {
16
- "use strict";
17
-
18
- CodeMirror.registerHelper("lint", "css", function(text) {
19
- var found = [];
20
- if (!window.CSSLint) return found;
21
- var results = CSSLint.verify(text), messages = results.messages, message = null;
22
- for ( var i = 0; i < messages.length; i++) {
23
- message = messages[i];
24
- var startLine = message.line -1, endLine = message.line -1, startCol = message.col -1, endCol = message.col;
25
- found.push({
26
- from: CodeMirror.Pos(startLine, startCol),
27
- to: CodeMirror.Pos(endLine, endCol),
28
- message: message.message,
29
- severity : message.type
30
- });
31
- }
32
- return found;
33
- });
34
-
35
- });
@@ -1,136 +0,0 @@
1
- // CodeMirror, copyright (c) by Marijn Haverbeke and others
2
- // Distributed under an MIT license: http://codemirror.net/LICENSE
3
-
4
- (function(mod) {
5
- if (typeof exports == "object" && typeof module == "object") // CommonJS
6
- mod(require("../../lib/codemirror"));
7
- else if (typeof define == "function" && define.amd) // AMD
8
- define(["../../lib/codemirror"], mod);
9
- else // Plain browser env
10
- mod(CodeMirror);
11
- })(function(CodeMirror) {
12
- "use strict";
13
- // declare global: JSHINT
14
-
15
- var bogus = [ "Dangerous comment" ];
16
-
17
- var warnings = [ [ "Expected '{'",
18
- "Statement body should be inside '{ }' braces." ] ];
19
-
20
- var errors = [ "Missing semicolon", "Extra comma", "Missing property name",
21
- "Unmatched ", " and instead saw", " is not defined",
22
- "Unclosed string", "Stopping, unable to continue" ];
23
-
24
- function validator(text, options) {
25
- if (!window.JSHINT) return [];
26
- JSHINT(text, options);
27
- var errors = JSHINT.data().errors, result = [];
28
- if (errors) parseErrors(errors, result);
29
- return result;
30
- }
31
-
32
- CodeMirror.registerHelper("lint", "javascript", validator);
33
-
34
- function cleanup(error) {
35
- // All problems are warnings by default
36
- fixWith(error, warnings, "warning", true);
37
- fixWith(error, errors, "error");
38
-
39
- return isBogus(error) ? null : error;
40
- }
41
-
42
- function fixWith(error, fixes, severity, force) {
43
- var description, fix, find, replace, found;
44
-
45
- description = error.description;
46
-
47
- for ( var i = 0; i < fixes.length; i++) {
48
- fix = fixes[i];
49
- find = (typeof fix === "string" ? fix : fix[0]);
50
- replace = (typeof fix === "string" ? null : fix[1]);
51
- found = description.indexOf(find) !== -1;
52
-
53
- if (force || found) {
54
- error.severity = severity;
55
- }
56
- if (found && replace) {
57
- error.description = replace;
58
- }
59
- }
60
- }
61
-
62
- function isBogus(error) {
63
- var description = error.description;
64
- for ( var i = 0; i < bogus.length; i++) {
65
- if (description.indexOf(bogus[i]) !== -1) {
66
- return true;
67
- }
68
- }
69
- return false;
70
- }
71
-
72
- function parseErrors(errors, output) {
73
- for ( var i = 0; i < errors.length; i++) {
74
- var error = errors[i];
75
- if (error) {
76
- var linetabpositions, index;
77
-
78
- linetabpositions = [];
79
-
80
- // This next block is to fix a problem in jshint. Jshint
81
- // replaces
82
- // all tabs with spaces then performs some checks. The error
83
- // positions (character/space) are then reported incorrectly,
84
- // not taking the replacement step into account. Here we look
85
- // at the evidence line and try to adjust the character position
86
- // to the correct value.
87
- if (error.evidence) {
88
- // Tab positions are computed once per line and cached
89
- var tabpositions = linetabpositions[error.line];
90
- if (!tabpositions) {
91
- var evidence = error.evidence;
92
- tabpositions = [];
93
- // ugggh phantomjs does not like this
94
- // forEachChar(evidence, function(item, index) {
95
- Array.prototype.forEach.call(evidence, function(item,
96
- index) {
97
- if (item === '\t') {
98
- // First col is 1 (not 0) to match error
99
- // positions
100
- tabpositions.push(index + 1);
101
- }
102
- });
103
- linetabpositions[error.line] = tabpositions;
104
- }
105
- if (tabpositions.length > 0) {
106
- var pos = error.character;
107
- tabpositions.forEach(function(tabposition) {
108
- if (pos > tabposition) pos -= 1;
109
- });
110
- error.character = pos;
111
- }
112
- }
113
-
114
- var start = error.character - 1, end = start + 1;
115
- if (error.evidence) {
116
- index = error.evidence.substring(start).search(/.\b/);
117
- if (index > -1) {
118
- end += index;
119
- }
120
- }
121
-
122
- // Convert to format expected by validation service
123
- error.description = error.reason;// + "(jshint)";
124
- error.start = error.character;
125
- error.end = end;
126
- error = cleanup(error);
127
-
128
- if (error)
129
- output.push({message: error.description,
130
- severity: error.severity,
131
- from: CodeMirror.Pos(error.line - 1, start),
132
- to: CodeMirror.Pos(error.line - 1, end)});
133
- }
134
- }
135
- }
136
- });
@@ -1,31 +0,0 @@
1
- // CodeMirror, copyright (c) by Marijn Haverbeke and others
2
- // Distributed under an MIT license: http://codemirror.net/LICENSE
3
-
4
- // Depends on jsonlint.js from https://github.com/zaach/jsonlint
5
-
6
- // declare global: jsonlint
7
-
8
- (function(mod) {
9
- if (typeof exports == "object" && typeof module == "object") // CommonJS
10
- mod(require("../../lib/codemirror"));
11
- else if (typeof define == "function" && define.amd) // AMD
12
- define(["../../lib/codemirror"], mod);
13
- else // Plain browser env
14
- mod(CodeMirror);
15
- })(function(CodeMirror) {
16
- "use strict";
17
-
18
- CodeMirror.registerHelper("lint", "json", function(text) {
19
- var found = [];
20
- jsonlint.parseError = function(str, hash) {
21
- var loc = hash.loc;
22
- found.push({from: CodeMirror.Pos(loc.first_line - 1, loc.first_column),
23
- to: CodeMirror.Pos(loc.last_line - 1, loc.last_column),
24
- message: str});
25
- };
26
- try { jsonlint.parse(text); }
27
- catch(e) {}
28
- return found;
29
- });
30
-
31
- });
@@ -1,73 +0,0 @@
1
- /* The lint marker gutter */
2
- .CodeMirror-lint-markers {
3
- width: 16px;
4
- }
5
-
6
- .CodeMirror-lint-tooltip {
7
- background-color: infobackground;
8
- border: 1px solid black;
9
- border-radius: 4px 4px 4px 4px;
10
- color: infotext;
11
- font-family: monospace;
12
- font-size: 10pt;
13
- overflow: hidden;
14
- padding: 2px 5px;
15
- position: fixed;
16
- white-space: pre;
17
- white-space: pre-wrap;
18
- z-index: 100;
19
- max-width: 600px;
20
- opacity: 0;
21
- transition: opacity .4s;
22
- -moz-transition: opacity .4s;
23
- -webkit-transition: opacity .4s;
24
- -o-transition: opacity .4s;
25
- -ms-transition: opacity .4s;
26
- }
27
-
28
- .CodeMirror-lint-mark-error, .CodeMirror-lint-mark-warning {
29
- background-position: left bottom;
30
- background-repeat: repeat-x;
31
- }
32
-
33
- .CodeMirror-lint-mark-error {
34
- background-image:
35
- url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDw4cOCW1/KIAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAHElEQVQI12NggIL/DAz/GdA5/xkY/qPKMDAwAADLZwf5rvm+LQAAAABJRU5ErkJggg==")
36
- ;
37
- }
38
-
39
- .CodeMirror-lint-mark-warning {
40
- background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJFhQXEbhTg7YAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAMklEQVQI12NkgIIvJ3QXMjAwdDN+OaEbysDA4MPAwNDNwMCwiOHLCd1zX07o6kBVGQEAKBANtobskNMAAAAASUVORK5CYII=");
41
- }
42
-
43
- .CodeMirror-lint-marker-error, .CodeMirror-lint-marker-warning {
44
- background-position: center center;
45
- background-repeat: no-repeat;
46
- cursor: pointer;
47
- display: inline-block;
48
- height: 16px;
49
- width: 16px;
50
- vertical-align: middle;
51
- position: relative;
52
- }
53
-
54
- .CodeMirror-lint-message-error, .CodeMirror-lint-message-warning {
55
- padding-left: 18px;
56
- background-position: top left;
57
- background-repeat: no-repeat;
58
- }
59
-
60
- .CodeMirror-lint-marker-error, .CodeMirror-lint-message-error {
61
- background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAHlBMVEW7AAC7AACxAAC7AAC7AAAAAAC4AAC5AAD///+7AAAUdclpAAAABnRSTlMXnORSiwCK0ZKSAAAATUlEQVR42mWPOQ7AQAgDuQLx/z8csYRmPRIFIwRGnosRrpamvkKi0FTIiMASR3hhKW+hAN6/tIWhu9PDWiTGNEkTtIOucA5Oyr9ckPgAWm0GPBog6v4AAAAASUVORK5CYII=");
62
- }
63
-
64
- .CodeMirror-lint-marker-warning, .CodeMirror-lint-message-warning {
65
- background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAANlBMVEX/uwDvrwD/uwD/uwD/uwD/uwD/uwD/uwD/uwD6twD/uwAAAADurwD2tQD7uAD+ugAAAAD/uwDhmeTRAAAADHRSTlMJ8mN1EYcbmiixgACm7WbuAAAAVklEQVR42n3PUQqAIBBFUU1LLc3u/jdbOJoW1P08DA9Gba8+YWJ6gNJoNYIBzAA2chBth5kLmG9YUoG0NHAUwFXwO9LuBQL1giCQb8gC9Oro2vp5rncCIY8L8uEx5ZkAAAAASUVORK5CYII=");
66
- }
67
-
68
- .CodeMirror-lint-marker-multiple {
69
- background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAMAAADzjKfhAAAACVBMVEUAAAAAAAC/v7914kyHAAAAAXRSTlMAQObYZgAAACNJREFUeNo1ioEJAAAIwmz/H90iFFSGJgFMe3gaLZ0od+9/AQZ0ADosbYraAAAAAElFTkSuQmCC");
70
- background-repeat: no-repeat;
71
- background-position: right bottom;
72
- width: 100%; height: 100%;
73
- }
@@ -1,204 +0,0 @@
1
- // CodeMirror, copyright (c) by Marijn Haverbeke and others
2
- // Distributed under an MIT license: http://codemirror.net/LICENSE
3
-
4
- (function(mod) {
5
- if (typeof exports == "object" && typeof module == "object") // CommonJS
6
- mod(require("../../lib/codemirror"));
7
- else if (typeof define == "function" && define.amd) // AMD
8
- define(["../../lib/codemirror"], mod);
9
- else // Plain browser env
10
- mod(CodeMirror);
11
- })(function(CodeMirror) {
12
- "use strict";
13
- var GUTTER_ID = "CodeMirror-lint-markers";
14
-
15
- function showTooltip(e, content) {
16
- var tt = document.createElement("div");
17
- tt.className = "CodeMirror-lint-tooltip";
18
- tt.appendChild(content.cloneNode(true));
19
- document.body.appendChild(tt);
20
-
21
- function position(e) {
22
- if (!tt.parentNode) return CodeMirror.off(document, "mousemove", position);
23
- tt.style.top = Math.max(0, e.clientY - tt.offsetHeight - 5) + "px";
24
- tt.style.left = (e.clientX + 5) + "px";
25
- }
26
- CodeMirror.on(document, "mousemove", position);
27
- position(e);
28
- if (tt.style.opacity != null) tt.style.opacity = 1;
29
- return tt;
30
- }
31
- function rm(elt) {
32
- if (elt.parentNode) elt.parentNode.removeChild(elt);
33
- }
34
- function hideTooltip(tt) {
35
- if (!tt.parentNode) return;
36
- if (tt.style.opacity == null) rm(tt);
37
- tt.style.opacity = 0;
38
- setTimeout(function() { rm(tt); }, 600);
39
- }
40
-
41
- function showTooltipFor(e, content, node) {
42
- var tooltip = showTooltip(e, content);
43
- function hide() {
44
- CodeMirror.off(node, "mouseout", hide);
45
- if (tooltip) { hideTooltip(tooltip); tooltip = null; }
46
- }
47
- var poll = setInterval(function() {
48
- if (tooltip) for (var n = node;; n = n.parentNode) {
49
- if (n == document.body) return;
50
- if (!n) { hide(); break; }
51
- }
52
- if (!tooltip) return clearInterval(poll);
53
- }, 400);
54
- CodeMirror.on(node, "mouseout", hide);
55
- }
56
-
57
- function LintState(cm, options, hasGutter) {
58
- this.marked = [];
59
- this.options = options;
60
- this.timeout = null;
61
- this.hasGutter = hasGutter;
62
- this.onMouseOver = function(e) { onMouseOver(cm, e); };
63
- }
64
-
65
- function parseOptions(cm, options) {
66
- if (options instanceof Function) return {getAnnotations: options};
67
- if (!options || options === true) options = {};
68
- if (!options.getAnnotations) options.getAnnotations = cm.getHelper(CodeMirror.Pos(0, 0), "lint");
69
- if (!options.getAnnotations) throw new Error("Required option 'getAnnotations' missing (lint addon)");
70
- return options;
71
- }
72
-
73
- function clearMarks(cm) {
74
- var state = cm.state.lint;
75
- if (state.hasGutter) cm.clearGutter(GUTTER_ID);
76
- for (var i = 0; i < state.marked.length; ++i)
77
- state.marked[i].clear();
78
- state.marked.length = 0;
79
- }
80
-
81
- function makeMarker(labels, severity, multiple, tooltips) {
82
- var marker = document.createElement("div"), inner = marker;
83
- marker.className = "CodeMirror-lint-marker-" + severity;
84
- if (multiple) {
85
- inner = marker.appendChild(document.createElement("div"));
86
- inner.className = "CodeMirror-lint-marker-multiple";
87
- }
88
-
89
- if (tooltips != false) CodeMirror.on(inner, "mouseover", function(e) {
90
- showTooltipFor(e, labels, inner);
91
- });
92
-
93
- return marker;
94
- }
95
-
96
- function getMaxSeverity(a, b) {
97
- if (a == "error") return a;
98
- else return b;
99
- }
100
-
101
- function groupByLine(annotations) {
102
- var lines = [];
103
- for (var i = 0; i < annotations.length; ++i) {
104
- var ann = annotations[i], line = ann.from.line;
105
- (lines[line] || (lines[line] = [])).push(ann);
106
- }
107
- return lines;
108
- }
109
-
110
- function annotationTooltip(ann) {
111
- var severity = ann.severity;
112
- if (!severity) severity = "error";
113
- var tip = document.createElement("div");
114
- tip.className = "CodeMirror-lint-message-" + severity;
115
- tip.appendChild(document.createTextNode(ann.message));
116
- return tip;
117
- }
118
-
119
- function startLinting(cm) {
120
- var state = cm.state.lint, options = state.options;
121
- var passOptions = options.options || options; // Support deprecated passing of `options` property in options
122
- if (options.async)
123
- options.getAnnotations(cm.getValue(), updateLinting, passOptions, cm);
124
- else
125
- updateLinting(cm, options.getAnnotations(cm.getValue(), passOptions, cm));
126
- }
127
-
128
- function updateLinting(cm, annotationsNotSorted) {
129
- clearMarks(cm);
130
- var state = cm.state.lint, options = state.options;
131
-
132
- var annotations = groupByLine(annotationsNotSorted);
133
-
134
- for (var line = 0; line < annotations.length; ++line) {
135
- var anns = annotations[line];
136
- if (!anns) continue;
137
-
138
- var maxSeverity = null;
139
- var tipLabel = state.hasGutter && document.createDocumentFragment();
140
-
141
- for (var i = 0; i < anns.length; ++i) {
142
- var ann = anns[i];
143
- var severity = ann.severity;
144
- if (!severity) severity = "error";
145
- maxSeverity = getMaxSeverity(maxSeverity, severity);
146
-
147
- if (options.formatAnnotation) ann = options.formatAnnotation(ann);
148
- if (state.hasGutter) tipLabel.appendChild(annotationTooltip(ann));
149
-
150
- if (ann.to) state.marked.push(cm.markText(ann.from, ann.to, {
151
- className: "CodeMirror-lint-mark-" + severity,
152
- __annotation: ann
153
- }));
154
- }
155
-
156
- if (state.hasGutter)
157
- cm.setGutterMarker(line, GUTTER_ID, makeMarker(tipLabel, maxSeverity, anns.length > 1,
158
- state.options.tooltips));
159
- }
160
- if (options.onUpdateLinting) options.onUpdateLinting(annotationsNotSorted, annotations, cm);
161
- }
162
-
163
- function onChange(cm) {
164
- var state = cm.state.lint;
165
- clearTimeout(state.timeout);
166
- state.timeout = setTimeout(function(){startLinting(cm);}, state.options.delay || 500);
167
- }
168
-
169
- function popupSpanTooltip(ann, e) {
170
- var target = e.target || e.srcElement;
171
- showTooltipFor(e, annotationTooltip(ann), target);
172
- }
173
-
174
- function onMouseOver(cm, e) {
175
- var target = e.target || e.srcElement;
176
- if (!/\bCodeMirror-lint-mark-/.test(target.className)) return;
177
- var box = target.getBoundingClientRect(), x = (box.left + box.right) / 2, y = (box.top + box.bottom) / 2;
178
- var spans = cm.findMarksAt(cm.coordsChar({left: x, top: y}, "client"));
179
- for (var i = 0; i < spans.length; ++i) {
180
- var ann = spans[i].__annotation;
181
- if (ann) return popupSpanTooltip(ann, e);
182
- }
183
- }
184
-
185
- CodeMirror.defineOption("lint", false, function(cm, val, old) {
186
- if (old && old != CodeMirror.Init) {
187
- clearMarks(cm);
188
- cm.off("change", onChange);
189
- CodeMirror.off(cm.getWrapperElement(), "mouseover", cm.state.lint.onMouseOver);
190
- delete cm.state.lint;
191
- }
192
-
193
- if (val) {
194
- var gutters = cm.getOption("gutters"), hasLintGutter = false;
195
- for (var i = 0; i < gutters.length; ++i) if (gutters[i] == GUTTER_ID) hasLintGutter = true;
196
- var state = cm.state.lint = new LintState(cm, parseOptions(cm, val), hasLintGutter);
197
- cm.on("change", onChange);
198
- if (state.options.tooltips != false)
199
- CodeMirror.on(cm.getWrapperElement(), "mouseover", state.onMouseOver);
200
-
201
- startLinting(cm);
202
- }
203
- });
204
- });