fluentd-ui 0.3.13 → 0.3.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,56 +0,0 @@
1
- var _ = require('../../util')
2
-
3
- var handlers = {
4
- _default: require('./default'),
5
- radio: require('./radio'),
6
- select: require('./select'),
7
- checkbox: require('./checkbox')
8
- }
9
-
10
- module.exports = {
11
-
12
- priority: 800,
13
- twoWay: true,
14
- handlers: handlers,
15
-
16
- /**
17
- * Possible elements:
18
- * <select>
19
- * <textarea>
20
- * <input type="*">
21
- * - text
22
- * - checkbox
23
- * - radio
24
- * - number
25
- * - TODO: more types may be supplied as a plugin
26
- */
27
-
28
- bind: function () {
29
- // friendly warning...
30
- var filters = this.filters
31
- if (filters && filters.read && !filters.write) {
32
- _.warn(
33
- 'It seems you are using a read-only filter with ' +
34
- 'v-model. You might want to use a two-way filter ' +
35
- 'to ensure correct behavior.'
36
- )
37
- }
38
- var el = this.el
39
- var tag = el.tagName
40
- var handler
41
- if (tag === 'INPUT') {
42
- handler = handlers[el.type] || handlers._default
43
- } else if (tag === 'SELECT') {
44
- handler = handlers.select
45
- } else if (tag === 'TEXTAREA') {
46
- handler = handlers._default
47
- } else {
48
- _.warn("v-model doesn't support element type: " + tag)
49
- return
50
- }
51
- handler.bind.call(this)
52
- this.update = handler.update
53
- this.unbind = handler.unbind
54
- }
55
-
56
- }
@@ -1,26 +0,0 @@
1
- var _ = require('../../util')
2
-
3
- module.exports = {
4
-
5
- bind: function () {
6
- var self = this
7
- var el = this.el
8
- this.listener = function () {
9
- self.set(el.value, true)
10
- }
11
- _.on(el, 'change', this.listener)
12
- if (el.checked) {
13
- this._initValue = el.value
14
- }
15
- },
16
-
17
- update: function (value) {
18
- /* jshint eqeqeq: false */
19
- this.el.checked = value == this.el.value
20
- },
21
-
22
- unbind: function () {
23
- _.off(this.el, 'change', this.listener)
24
- }
25
-
26
- }
@@ -1,166 +0,0 @@
1
- var _ = require('../../util')
2
- var Watcher = require('../../watcher')
3
-
4
- module.exports = {
5
-
6
- bind: function () {
7
- var self = this
8
- var el = this.el
9
- // check options param
10
- var optionsParam = this._checkParam('options')
11
- if (optionsParam) {
12
- initOptions.call(this, optionsParam)
13
- }
14
- this.multiple = el.hasAttribute('multiple')
15
- this.listener = function () {
16
- var value = self.multiple
17
- ? getMultiValue(el)
18
- : el.value
19
- self.set(value, true)
20
- }
21
- _.on(el, 'change', this.listener)
22
- checkInitialValue.call(this)
23
- },
24
-
25
- update: function (value) {
26
- /* jshint eqeqeq: false */
27
- var el = this.el
28
- el.selectedIndex = -1
29
- var multi = this.multiple && _.isArray(value)
30
- var options = el.options
31
- var i = options.length
32
- var option
33
- while (i--) {
34
- option = options[i]
35
- option.selected = multi
36
- ? indexOf(value, option.value) > -1
37
- : value == option.value
38
- }
39
- },
40
-
41
- unbind: function () {
42
- _.off(this.el, 'change', this.listener)
43
- if (this.optionWatcher) {
44
- this.optionWatcher.teardown()
45
- }
46
- }
47
-
48
- }
49
-
50
- /**
51
- * Initialize the option list from the param.
52
- *
53
- * @param {String} expression
54
- */
55
-
56
- function initOptions (expression) {
57
- var self = this
58
- function optionUpdateWatcher (value) {
59
- if (_.isArray(value)) {
60
- self.el.innerHTML = ''
61
- buildOptions(self.el, value)
62
- if (self._watcher) {
63
- self.update(self._watcher.value)
64
- }
65
- } else {
66
- _.warn('Invalid options value for v-model: ' + value)
67
- }
68
- }
69
- this.optionWatcher = new Watcher(
70
- this.vm,
71
- expression,
72
- optionUpdateWatcher
73
- )
74
- // update with initial value
75
- optionUpdateWatcher(this.optionWatcher.value)
76
- }
77
-
78
- /**
79
- * Build up option elements. IE9 doesn't create options
80
- * when setting innerHTML on <select> elements, so we have
81
- * to use DOM API here.
82
- *
83
- * @param {Element} parent - a <select> or an <optgroup>
84
- * @param {Array} options
85
- */
86
-
87
- function buildOptions (parent, options) {
88
- var op, el
89
- for (var i = 0, l = options.length; i < l; i++) {
90
- op = options[i]
91
- if (!op.options) {
92
- el = document.createElement('option')
93
- if (typeof op === 'string') {
94
- el.text = el.value = op
95
- } else {
96
- el.text = op.text
97
- el.value = op.value
98
- }
99
- } else {
100
- el = document.createElement('optgroup')
101
- el.label = op.label
102
- buildOptions(el, op.options)
103
- }
104
- parent.appendChild(el)
105
- }
106
- }
107
-
108
- /**
109
- * Check the initial value for selected options.
110
- */
111
-
112
- function checkInitialValue () {
113
- var initValue
114
- var options = this.el.options
115
- for (var i = 0, l = options.length; i < l; i++) {
116
- if (options[i].hasAttribute('selected')) {
117
- if (this.multiple) {
118
- (initValue || (initValue = []))
119
- .push(options[i].value)
120
- } else {
121
- initValue = options[i].value
122
- }
123
- }
124
- }
125
- if (initValue) {
126
- this._initValue = initValue
127
- }
128
- }
129
-
130
- /**
131
- * Helper to extract a value array for select[multiple]
132
- *
133
- * @param {SelectElement} el
134
- * @return {Array}
135
- */
136
-
137
- function getMultiValue (el) {
138
- return Array.prototype.filter
139
- .call(el.options, filterSelected)
140
- .map(getOptionValue)
141
- }
142
-
143
- function filterSelected (op) {
144
- return op.selected
145
- }
146
-
147
- function getOptionValue (op) {
148
- return op.value || op.text
149
- }
150
-
151
- /**
152
- * Native Array.indexOf uses strict equal, but in this
153
- * case we need to match string/numbers with soft equal.
154
- *
155
- * @param {Array} arr
156
- * @param {*} val
157
- */
158
-
159
- function indexOf (arr, val) {
160
- /* jshint eqeqeq: false */
161
- var i = arr.length
162
- while (i--) {
163
- if (arr[i] == val) return i
164
- }
165
- return -1
166
- }
@@ -1,59 +0,0 @@
1
- var _ = require('../util')
2
-
3
- module.exports = {
4
-
5
- acceptStatement: true,
6
- priority: 700,
7
-
8
- bind: function () {
9
- // deal with iframes
10
- if (
11
- this.el.tagName === 'IFRAME' &&
12
- this.arg !== 'load'
13
- ) {
14
- var self = this
15
- this.iframeBind = function () {
16
- _.on(self.el.contentWindow, self.arg, self.handler)
17
- }
18
- _.on(this.el, 'load', this.iframeBind)
19
- }
20
- },
21
-
22
- update: function (handler) {
23
- if (typeof handler !== 'function') {
24
- _.warn(
25
- 'Directive "v-on:' + this.expression + '" ' +
26
- 'expects a function value.'
27
- )
28
- return
29
- }
30
- this.reset()
31
- var vm = this.vm
32
- this.handler = function (e) {
33
- e.targetVM = vm
34
- vm.$event = e
35
- var res = handler(e)
36
- vm.$event = null
37
- return res
38
- }
39
- if (this.iframeBind) {
40
- this.iframeBind()
41
- } else {
42
- _.on(this.el, this.arg, this.handler)
43
- }
44
- },
45
-
46
- reset: function () {
47
- var el = this.iframeBind
48
- ? this.el.contentWindow
49
- : this.el
50
- if (this.handler) {
51
- _.off(el, this.arg, this.handler)
52
- }
53
- },
54
-
55
- unbind: function () {
56
- this.reset()
57
- _.off(this.el, 'load', this.iframeBind)
58
- }
59
- }
@@ -1,44 +0,0 @@
1
- var _ = require('../util')
2
- var templateParser = require('../parsers/template')
3
- var vIf = require('./if')
4
-
5
- module.exports = {
6
-
7
- isLiteral: true,
8
-
9
- // same logic reuse from v-if
10
- compile: vIf.compile,
11
- teardown: vIf.teardown,
12
-
13
- bind: function () {
14
- var el = this.el
15
- this.start = document.createComment('v-partial-start')
16
- this.end = document.createComment('v-partial-end')
17
- if (el.nodeType !== 8) {
18
- el.innerHTML = ''
19
- }
20
- if (el.tagName === 'TEMPLATE' || el.nodeType === 8) {
21
- _.replace(el, this.end)
22
- } else {
23
- el.appendChild(this.end)
24
- }
25
- _.before(this.start, this.end)
26
- if (!this._isDynamicLiteral) {
27
- this.insert(this.expression)
28
- }
29
- },
30
-
31
- update: function (id) {
32
- this.teardown()
33
- this.insert(id)
34
- },
35
-
36
- insert: function (id) {
37
- var partial = this.vm.$options.partials[id]
38
- _.assertAsset(partial, 'partial', id)
39
- if (partial) {
40
- this.compile(templateParser.parse(partial))
41
- }
42
- }
43
-
44
- }
@@ -1,24 +0,0 @@
1
- var _ = require('../util')
2
-
3
- module.exports = {
4
-
5
- isLiteral: true,
6
-
7
- bind: function () {
8
- if (this.el !== this.vm.$el) {
9
- _.warn(
10
- 'v-ref should only be used on instance root nodes.'
11
- )
12
- return
13
- }
14
- this.owner = this.vm.$parent
15
- this.owner.$[this.expression] = this.vm
16
- },
17
-
18
- unbind: function () {
19
- if (this.owner.$[this.expression] === this.vm) {
20
- delete this.owner.$[this.expression]
21
- }
22
- }
23
-
24
- }
@@ -1,503 +0,0 @@
1
- var _ = require('../util')
2
- var isObject = _.isObject
3
- var textParser = require('../parsers/text')
4
- var expParser = require('../parsers/expression')
5
- var templateParser = require('../parsers/template')
6
- var compile = require('../compiler/compile')
7
- var transclude = require('../compiler/transclude')
8
- var mergeOptions = require('../util/merge-option')
9
- var uid = 0
10
-
11
- module.exports = {
12
-
13
- /**
14
- * Setup.
15
- */
16
-
17
- bind: function () {
18
- // uid as a cache identifier
19
- this.id = '__v_repeat_' + (++uid)
20
- // we need to insert the objToArray converter
21
- // as the first read filter, because it has to be invoked
22
- // before any user filters. (can't do it in `update`)
23
- if (!this.filters) {
24
- this.filters = {}
25
- }
26
- // add the object -> array convert filter
27
- var objectConverter = _.bind(objToArray, this)
28
- if (!this.filters.read) {
29
- this.filters.read = [objectConverter]
30
- } else {
31
- this.filters.read.unshift(objectConverter)
32
- }
33
- // setup ref node
34
- this.ref = document.createComment('v-repeat')
35
- _.replace(this.el, this.ref)
36
- // check if this is a block repeat
37
- this.template = this.el.tagName === 'TEMPLATE'
38
- ? templateParser.parse(this.el, true)
39
- : this.el
40
- // check other directives that need to be handled
41
- // at v-repeat level
42
- this.checkIf()
43
- this.checkRef()
44
- this.checkComponent()
45
- // check for trackby param
46
- this.idKey =
47
- this._checkParam('track-by') ||
48
- this._checkParam('trackby') // 0.11.0 compat
49
- // cache for primitive value instances
50
- this.cache = Object.create(null)
51
- },
52
-
53
- /**
54
- * Warn against v-if usage.
55
- */
56
-
57
- checkIf: function () {
58
- if (_.attr(this.el, 'if') !== null) {
59
- _.warn(
60
- 'Don\'t use v-if with v-repeat. ' +
61
- 'Use v-show or the "filterBy" filter instead.'
62
- )
63
- }
64
- },
65
-
66
- /**
67
- * Check if v-ref/ v-el is also present.
68
- */
69
-
70
- checkRef: function () {
71
- var childId = _.attr(this.el, 'ref')
72
- this.childId = childId
73
- ? this.vm.$interpolate(childId)
74
- : null
75
- var elId = _.attr(this.el, 'el')
76
- this.elId = elId
77
- ? this.vm.$interpolate(elId)
78
- : null
79
- },
80
-
81
- /**
82
- * Check the component constructor to use for repeated
83
- * instances. If static we resolve it now, otherwise it
84
- * needs to be resolved at build time with actual data.
85
- */
86
-
87
- checkComponent: function () {
88
- var id = _.attr(this.el, 'component')
89
- var options = this.vm.$options
90
- if (!id) {
91
- this.Ctor = _.Vue // default constructor
92
- this.inherit = true // inline repeats should inherit
93
- // important: transclude with no options, just
94
- // to ensure block start and block end
95
- this.template = transclude(this.template)
96
- this._linkFn = compile(this.template, options)
97
- } else {
98
- this._asComponent = true
99
- var tokens = textParser.parse(id)
100
- if (!tokens) { // static component
101
- var Ctor = this.Ctor = options.components[id]
102
- _.assertAsset(Ctor, 'component', id)
103
- // If there's no parent scope directives and no
104
- // content to be transcluded, we can optimize the
105
- // rendering by pre-transcluding + compiling here
106
- // and provide a link function to every instance.
107
- if (!this.el.hasChildNodes() &&
108
- !this.el.hasAttributes()) {
109
- // merge an empty object with owner vm as parent
110
- // so child vms can access parent assets.
111
- var merged = mergeOptions(Ctor.options, {}, {
112
- $parent: this.vm
113
- })
114
- this.template = transclude(this.template, merged)
115
- this._linkFn = compile(this.template, merged)
116
- }
117
- } else {
118
- // to be resolved later
119
- var ctorExp = textParser.tokensToExp(tokens)
120
- this.ctorGetter = expParser.parse(ctorExp).get
121
- }
122
- }
123
- },
124
-
125
- /**
126
- * Update.
127
- * This is called whenever the Array mutates.
128
- *
129
- * @param {Array} data
130
- */
131
-
132
- update: function (data) {
133
- if (typeof data === 'number') {
134
- data = range(data)
135
- }
136
- this.vms = this.diff(data || [], this.vms)
137
- // update v-ref
138
- if (this.childId) {
139
- this.vm.$[this.childId] = this.vms
140
- }
141
- if (this.elId) {
142
- this.vm.$$[this.elId] = this.vms.map(function (vm) {
143
- return vm.$el
144
- })
145
- }
146
- },
147
-
148
- /**
149
- * Diff, based on new data and old data, determine the
150
- * minimum amount of DOM manipulations needed to make the
151
- * DOM reflect the new data Array.
152
- *
153
- * The algorithm diffs the new data Array by storing a
154
- * hidden reference to an owner vm instance on previously
155
- * seen data. This allows us to achieve O(n) which is
156
- * better than a levenshtein distance based algorithm,
157
- * which is O(m * n).
158
- *
159
- * @param {Array} data
160
- * @param {Array} oldVms
161
- * @return {Array}
162
- */
163
-
164
- diff: function (data, oldVms) {
165
- var idKey = this.idKey
166
- var converted = this.converted
167
- var ref = this.ref
168
- var alias = this.arg
169
- var init = !oldVms
170
- var vms = new Array(data.length)
171
- var obj, raw, vm, i, l
172
- // First pass, go through the new Array and fill up
173
- // the new vms array. If a piece of data has a cached
174
- // instance for it, we reuse it. Otherwise build a new
175
- // instance.
176
- for (i = 0, l = data.length; i < l; i++) {
177
- obj = data[i]
178
- raw = converted ? obj.value : obj
179
- vm = !init && this.getVm(raw)
180
- if (vm) { // reusable instance
181
- vm._reused = true
182
- vm.$index = i // update $index
183
- if (converted) {
184
- vm.$key = obj.key // update $key
185
- }
186
- if (idKey) { // swap track by id data
187
- if (alias) {
188
- vm[alias] = raw
189
- } else {
190
- vm._setData(raw)
191
- }
192
- }
193
- } else { // new instance
194
- vm = this.build(obj, i)
195
- vm._new = true
196
- }
197
- vms[i] = vm
198
- // insert if this is first run
199
- if (init) {
200
- vm.$before(ref)
201
- }
202
- }
203
- // if this is the first run, we're done.
204
- if (init) {
205
- return vms
206
- }
207
- // Second pass, go through the old vm instances and
208
- // destroy those who are not reused (and remove them
209
- // from cache)
210
- for (i = 0, l = oldVms.length; i < l; i++) {
211
- vm = oldVms[i]
212
- if (!vm._reused) {
213
- this.uncacheVm(vm)
214
- vm.$destroy(true)
215
- }
216
- }
217
- // final pass, move/insert new instances into the
218
- // right place. We're going in reverse here because
219
- // insertBefore relies on the next sibling to be
220
- // resolved.
221
- var targetNext, currentNext
222
- i = vms.length
223
- while (i--) {
224
- vm = vms[i]
225
- // this is the vm that we should be in front of
226
- targetNext = vms[i + 1]
227
- if (!targetNext) {
228
- // This is the last item. If it's reused then
229
- // everything else will eventually be in the right
230
- // place, so no need to touch it. Otherwise, insert
231
- // it.
232
- if (!vm._reused) {
233
- vm.$before(ref)
234
- }
235
- } else {
236
- if (vm._reused) {
237
- // this is the vm we are actually in front of
238
- currentNext = findNextVm(vm, ref)
239
- // we only need to move if we are not in the right
240
- // place already.
241
- if (currentNext !== targetNext) {
242
- vm.$before(targetNext.$el, null, false)
243
- }
244
- } else {
245
- // new instance, insert to existing next
246
- vm.$before(targetNext.$el)
247
- }
248
- }
249
- vm._new = false
250
- vm._reused = false
251
- }
252
- return vms
253
- },
254
-
255
- /**
256
- * Build a new instance and cache it.
257
- *
258
- * @param {Object} data
259
- * @param {Number} index
260
- */
261
-
262
- build: function (data, index) {
263
- var original = data
264
- var meta = { $index: index }
265
- if (this.converted) {
266
- meta.$key = original.key
267
- }
268
- var raw = this.converted ? data.value : data
269
- var alias = this.arg
270
- var hasAlias = !isObject(raw) || alias
271
- // wrap the raw data with alias
272
- data = hasAlias ? {} : raw
273
- if (alias) {
274
- data[alias] = raw
275
- } else if (hasAlias) {
276
- meta.$value = raw
277
- }
278
- // resolve constructor
279
- var Ctor = this.Ctor || this.resolveCtor(data, meta)
280
- var vm = this.vm.$addChild({
281
- el: templateParser.clone(this.template),
282
- _asComponent: this._asComponent,
283
- _linkFn: this._linkFn,
284
- _meta: meta,
285
- data: data,
286
- inherit: this.inherit
287
- }, Ctor)
288
- // cache instance
289
- this.cacheVm(raw, vm)
290
- return vm
291
- },
292
-
293
- /**
294
- * Resolve a contructor to use for an instance.
295
- * The tricky part here is that there could be dynamic
296
- * components depending on instance data.
297
- *
298
- * @param {Object} data
299
- * @param {Object} meta
300
- * @return {Function}
301
- */
302
-
303
- resolveCtor: function (data, meta) {
304
- // create a temporary context object and copy data
305
- // and meta properties onto it.
306
- // use _.define to avoid accidentally overwriting scope
307
- // properties.
308
- var context = Object.create(this.vm)
309
- var key
310
- for (key in data) {
311
- _.define(context, key, data[key])
312
- }
313
- for (key in meta) {
314
- _.define(context, key, meta[key])
315
- }
316
- var id = this.ctorGetter.call(context, context)
317
- var Ctor = this.vm.$options.components[id]
318
- _.assertAsset(Ctor, 'component', id)
319
- return Ctor
320
- },
321
-
322
- /**
323
- * Unbind, teardown everything
324
- */
325
-
326
- unbind: function () {
327
- if (this.childId) {
328
- delete this.vm.$[this.childId]
329
- }
330
- if (this.vms) {
331
- var i = this.vms.length
332
- var vm
333
- while (i--) {
334
- vm = this.vms[i]
335
- this.uncacheVm(vm)
336
- vm.$destroy()
337
- }
338
- }
339
- },
340
-
341
- /**
342
- * Cache a vm instance based on its data.
343
- *
344
- * If the data is an object, we save the vm's reference on
345
- * the data object as a hidden property. Otherwise we
346
- * cache them in an object and for each primitive value
347
- * there is an array in case there are duplicates.
348
- *
349
- * @param {Object} data
350
- * @param {Vue} vm
351
- */
352
-
353
- cacheVm: function (data, vm) {
354
- var idKey = this.idKey
355
- var cache = this.cache
356
- var id
357
- if (idKey) {
358
- id = data[idKey]
359
- if (!cache[id]) {
360
- cache[id] = vm
361
- } else {
362
- _.warn('Duplicate ID in v-repeat: ' + id)
363
- }
364
- } else if (isObject(data)) {
365
- id = this.id
366
- if (data.hasOwnProperty(id)) {
367
- if (data[id] === null) {
368
- data[id] = vm
369
- } else {
370
- _.warn(
371
- 'Duplicate objects are not supported in v-repeat.'
372
- )
373
- }
374
- } else {
375
- _.define(data, this.id, vm)
376
- }
377
- } else {
378
- if (!cache[data]) {
379
- cache[data] = [vm]
380
- } else {
381
- cache[data].push(vm)
382
- }
383
- }
384
- vm._raw = data
385
- },
386
-
387
- /**
388
- * Try to get a cached instance from a piece of data.
389
- *
390
- * @param {Object} data
391
- * @return {Vue|undefined}
392
- */
393
-
394
- getVm: function (data) {
395
- if (this.idKey) {
396
- return this.cache[data[this.idKey]]
397
- } else if (isObject(data)) {
398
- return data[this.id]
399
- } else {
400
- var cached = this.cache[data]
401
- if (cached) {
402
- var i = 0
403
- var vm = cached[i]
404
- // since duplicated vm instances might be a reused
405
- // one OR a newly created one, we need to return the
406
- // first instance that is neither of these.
407
- while (vm && (vm._reused || vm._new)) {
408
- vm = cached[++i]
409
- }
410
- return vm
411
- }
412
- }
413
- },
414
-
415
- /**
416
- * Delete a cached vm instance.
417
- *
418
- * @param {Vue} vm
419
- */
420
-
421
- uncacheVm: function (vm) {
422
- var data = vm._raw
423
- if (this.idKey) {
424
- this.cache[data[this.idKey]] = null
425
- } else if (isObject(data)) {
426
- data[this.id] = null
427
- vm._raw = null
428
- } else {
429
- this.cache[data].pop()
430
- }
431
- }
432
-
433
- }
434
-
435
- /**
436
- * Helper to find the next element that is an instance
437
- * root node. This is necessary because a destroyed vm's
438
- * element could still be lingering in the DOM before its
439
- * leaving transition finishes, but its __vue__ reference
440
- * should have been removed so we can skip them.
441
- *
442
- * @param {Vue} vm
443
- * @param {CommentNode} ref
444
- * @return {Vue}
445
- */
446
-
447
- function findNextVm (vm, ref) {
448
- var el = (vm._blockEnd || vm.$el).nextSibling
449
- while (!el.__vue__ && el !== ref) {
450
- el = el.nextSibling
451
- }
452
- return el.__vue__
453
- }
454
-
455
- /**
456
- * Attempt to convert non-Array objects to array.
457
- * This is the default filter installed to every v-repeat
458
- * directive.
459
- *
460
- * It will be called with **the directive** as `this`
461
- * context so that we can mark the repeat array as converted
462
- * from an object.
463
- *
464
- * @param {*} obj
465
- * @return {Array}
466
- * @private
467
- */
468
-
469
- function objToArray (obj) {
470
- if (!_.isPlainObject(obj)) {
471
- return obj
472
- }
473
- var keys = Object.keys(obj)
474
- var i = keys.length
475
- var res = new Array(i)
476
- var key
477
- while (i--) {
478
- key = keys[i]
479
- res[i] = {
480
- key: key,
481
- value: obj[key]
482
- }
483
- }
484
- // `this` points to the repeat directive instance
485
- this.converted = true
486
- return res
487
- }
488
-
489
- /**
490
- * Create a range array from given number.
491
- *
492
- * @param {Number} n
493
- * @return {Array}
494
- */
495
-
496
- function range (n) {
497
- var i = -1
498
- var ret = new Array(n)
499
- while (++i < n) {
500
- ret[i] = i
501
- }
502
- return ret
503
- }