statixite 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (462) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +145 -0
  4. data/Rakefile +26 -0
  5. data/app/assets/images/statixite/STATIXITE-logo.png +0 -0
  6. data/app/assets/images/statixite/favicon.ico +0 -0
  7. data/app/assets/images/statixite/jekyll.png +0 -0
  8. data/app/assets/images/statixite/md-editor.png +0 -0
  9. data/app/assets/images/statixite/ring-alt.gif +0 -0
  10. data/app/assets/javascripts/controllers/statixite/deployments_create.js +13 -0
  11. data/app/assets/javascripts/controllers/statixite/deployments_index.js +13 -0
  12. data/app/assets/javascripts/controllers/statixite/sites_create.js +27 -0
  13. data/app/assets/javascripts/controllers/statixite/sites_new.js +27 -0
  14. data/app/assets/javascripts/controllers/statixite/templates_edit.js +208 -0
  15. data/app/assets/javascripts/statixite/application.js +8 -0
  16. data/app/assets/javascripts/statixite/array-helpers.js +13 -0
  17. data/app/assets/javascripts/statixite/editor.js +244 -0
  18. data/app/assets/javascripts/statixite/loader.js +14 -0
  19. data/app/assets/javascripts/statixite/notify-defaults.js +5 -0
  20. data/app/assets/stylesheets/statixite/application.less +271 -0
  21. data/app/assets/stylesheets/statixite/bootstrap-glyphicons.less +305 -0
  22. data/app/assets/stylesheets/statixite/bootstrap.less +58 -0
  23. data/app/assets/stylesheets/statixite/bootstrap_and_overrides.less +2 -0
  24. data/app/assets/stylesheets/statixite/landing-page.less +156 -0
  25. data/app/controllers/statixite/application_controller.rb +22 -0
  26. data/app/controllers/statixite/deployments_controller.rb +61 -0
  27. data/app/controllers/statixite/media_controller.rb +61 -0
  28. data/app/controllers/statixite/posts_controller.rb +68 -0
  29. data/app/controllers/statixite/sites_controller.rb +141 -0
  30. data/app/controllers/statixite/templates_controller.rb +233 -0
  31. data/app/helpers/statixite/application_helper.rb +63 -0
  32. data/app/models/statixite/deployment.rb +5 -0
  33. data/app/models/statixite/media.rb +7 -0
  34. data/app/models/statixite/post.rb +76 -0
  35. data/app/models/statixite/site.rb +76 -0
  36. data/app/services/statixite/deployment_service.rb +73 -0
  37. data/app/services/statixite/git_service.rb +102 -0
  38. data/app/services/statixite/site_deactivation_service.rb +52 -0
  39. data/app/services/statixite/site_operation_service.rb +251 -0
  40. data/app/uploaders/statixite/file_uploader.rb +14 -0
  41. data/app/validators/statixite/jekyll_template_validator.rb +16 -0
  42. data/app/validators/statixite/liquid_validator.rb +11 -0
  43. data/app/views/layouts/statixite/_dash_nav.html.haml +20 -0
  44. data/app/views/layouts/statixite/_flash.html.haml +13 -0
  45. data/app/views/layouts/statixite/_head.html.haml +12 -0
  46. data/app/views/layouts/statixite/_header.html.haml +30 -0
  47. data/app/views/layouts/statixite/_site_sub_items.html.haml +38 -0
  48. data/app/views/layouts/statixite/dashboard.html.haml +27 -0
  49. data/app/views/statixite/deployments/_modal.html.haml +18 -0
  50. data/app/views/statixite/deployments/index.html.haml +39 -0
  51. data/app/views/statixite/kaminari/_first_page.html.haml +2 -0
  52. data/app/views/statixite/kaminari/_gap.html.haml +2 -0
  53. data/app/views/statixite/kaminari/_last_page.html.haml +2 -0
  54. data/app/views/statixite/kaminari/_next_page.html.haml +2 -0
  55. data/app/views/statixite/kaminari/_page.html.haml +6 -0
  56. data/app/views/statixite/kaminari/_paginator.html.haml +11 -0
  57. data/app/views/statixite/kaminari/_prev_page.html.haml +2 -0
  58. data/app/views/statixite/media/_index.html.haml +13 -0
  59. data/app/views/statixite/media/_paginate.html.haml +1 -0
  60. data/app/views/statixite/media/index.html.haml +39 -0
  61. data/app/views/statixite/media/index.js.haml +2 -0
  62. data/app/views/statixite/posts/_form.html.haml +65 -0
  63. data/app/views/statixite/posts/_image_modal.html.haml +21 -0
  64. data/app/views/statixite/posts/_modals.html.haml +111 -0
  65. data/app/views/statixite/posts/_posts.html.haml +15 -0
  66. data/app/views/statixite/posts/edit.html.haml +6 -0
  67. data/app/views/statixite/posts/index.html.haml +4 -0
  68. data/app/views/statixite/posts/index.js.haml +1 -0
  69. data/app/views/statixite/posts/new.html.haml +5 -0
  70. data/app/views/statixite/sites/_sites.html.haml +27 -0
  71. data/app/views/statixite/sites/_templates.html.haml +26 -0
  72. data/app/views/statixite/sites/build_and_preview.html.haml +24 -0
  73. data/app/views/statixite/sites/index.html.haml +4 -0
  74. data/app/views/statixite/sites/index.js.haml +1 -0
  75. data/app/views/statixite/sites/new.html.haml +45 -0
  76. data/app/views/statixite/sites/settings.html.haml +77 -0
  77. data/app/views/statixite/templates/edit.html.haml +93 -0
  78. data/app/views/statixite/templates/upload_files.js.haml +2 -0
  79. data/config/routes.rb +24 -0
  80. data/db/migrate/20150525171543_create_statixite_sites.rb +15 -0
  81. data/db/migrate/20150530041055_create_statixite_posts.rb +14 -0
  82. data/db/migrate/20150610024047_create_statixite_deployments.rb +11 -0
  83. data/db/migrate/20151013131224_create_statixite_media.rb +10 -0
  84. data/lib/assets/templates.yaml +734 -0
  85. data/lib/generators/statixite/statixite_generator.rb +49 -0
  86. data/lib/statixite.rb +14 -0
  87. data/lib/statixite/cloud_sync.rb +104 -0
  88. data/lib/statixite/engine.rb +49 -0
  89. data/lib/statixite/version.rb +3 -0
  90. data/lib/tasks/statixite_tasks.rake +4 -0
  91. data/vendor/assets/bower_components/bootstrap/CHANGELOG.md +5 -0
  92. data/vendor/assets/bower_components/bootstrap/Gruntfile.js +533 -0
  93. data/vendor/assets/bower_components/bootstrap/LICENSE +21 -0
  94. data/vendor/assets/bower_components/bootstrap/README.md +139 -0
  95. data/vendor/assets/bower_components/bootstrap/bower.json +34 -0
  96. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.css +587 -0
  97. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.css.map +1 -0
  98. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.min.css +6 -0
  99. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.min.css.map +1 -0
  100. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.css +6760 -0
  101. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.css.map +1 -0
  102. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.min.css +6 -0
  103. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.min.css.map +1 -0
  104. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot +0 -0
  105. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.svg +288 -0
  106. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
  107. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff +0 -0
  108. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 +0 -0
  109. data/vendor/assets/bower_components/bootstrap/dist/js/bootstrap.js +2363 -0
  110. data/vendor/assets/bower_components/bootstrap/dist/js/bootstrap.min.js +7 -0
  111. data/vendor/assets/bower_components/bootstrap/dist/js/npm.js +13 -0
  112. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
  113. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.svg +288 -0
  114. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
  115. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
  116. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff2 +0 -0
  117. data/vendor/assets/bower_components/bootstrap/grunt/bs-commonjs-generator.js +30 -0
  118. data/vendor/assets/bower_components/bootstrap/grunt/bs-glyphicons-data-generator.js +42 -0
  119. data/vendor/assets/bower_components/bootstrap/grunt/bs-lessdoc-parser.js +237 -0
  120. data/vendor/assets/bower_components/bootstrap/grunt/bs-raw-files-generator.js +44 -0
  121. data/vendor/assets/bower_components/bootstrap/grunt/configBridge.json +46 -0
  122. data/vendor/assets/bower_components/bootstrap/grunt/sauce_browsers.yml +82 -0
  123. data/vendor/assets/bower_components/bootstrap/js/affix.js +162 -0
  124. data/vendor/assets/bower_components/bootstrap/js/alert.js +94 -0
  125. data/vendor/assets/bower_components/bootstrap/js/button.js +120 -0
  126. data/vendor/assets/bower_components/bootstrap/js/carousel.js +237 -0
  127. data/vendor/assets/bower_components/bootstrap/js/collapse.js +211 -0
  128. data/vendor/assets/bower_components/bootstrap/js/dropdown.js +165 -0
  129. data/vendor/assets/bower_components/bootstrap/js/modal.js +337 -0
  130. data/vendor/assets/bower_components/bootstrap/js/popover.js +108 -0
  131. data/vendor/assets/bower_components/bootstrap/js/scrollspy.js +172 -0
  132. data/vendor/assets/bower_components/bootstrap/js/tab.js +155 -0
  133. data/vendor/assets/bower_components/bootstrap/js/tooltip.js +514 -0
  134. data/vendor/assets/bower_components/bootstrap/js/transition.js +59 -0
  135. data/vendor/assets/bower_components/bootstrap/less/alerts.less +73 -0
  136. data/vendor/assets/bower_components/bootstrap/less/badges.less +66 -0
  137. data/vendor/assets/bower_components/bootstrap/less/bootstrap.less +56 -0
  138. data/vendor/assets/bower_components/bootstrap/less/breadcrumbs.less +26 -0
  139. data/vendor/assets/bower_components/bootstrap/less/button-groups.less +244 -0
  140. data/vendor/assets/bower_components/bootstrap/less/buttons.less +166 -0
  141. data/vendor/assets/bower_components/bootstrap/less/carousel.less +270 -0
  142. data/vendor/assets/bower_components/bootstrap/less/close.less +34 -0
  143. data/vendor/assets/bower_components/bootstrap/less/code.less +69 -0
  144. data/vendor/assets/bower_components/bootstrap/less/component-animations.less +33 -0
  145. data/vendor/assets/bower_components/bootstrap/less/dropdowns.less +216 -0
  146. data/vendor/assets/bower_components/bootstrap/less/forms.less +613 -0
  147. data/vendor/assets/bower_components/bootstrap/less/glyphicons.less +305 -0
  148. data/vendor/assets/bower_components/bootstrap/less/grid.less +84 -0
  149. data/vendor/assets/bower_components/bootstrap/less/input-groups.less +171 -0
  150. data/vendor/assets/bower_components/bootstrap/less/jumbotron.less +54 -0
  151. data/vendor/assets/bower_components/bootstrap/less/labels.less +64 -0
  152. data/vendor/assets/bower_components/bootstrap/less/list-group.less +130 -0
  153. data/vendor/assets/bower_components/bootstrap/less/media.less +66 -0
  154. data/vendor/assets/bower_components/bootstrap/less/mixins.less +40 -0
  155. data/vendor/assets/bower_components/bootstrap/less/mixins/alerts.less +14 -0
  156. data/vendor/assets/bower_components/bootstrap/less/mixins/background-variant.less +9 -0
  157. data/vendor/assets/bower_components/bootstrap/less/mixins/border-radius.less +18 -0
  158. data/vendor/assets/bower_components/bootstrap/less/mixins/buttons.less +65 -0
  159. data/vendor/assets/bower_components/bootstrap/less/mixins/center-block.less +7 -0
  160. data/vendor/assets/bower_components/bootstrap/less/mixins/clearfix.less +22 -0
  161. data/vendor/assets/bower_components/bootstrap/less/mixins/forms.less +85 -0
  162. data/vendor/assets/bower_components/bootstrap/less/mixins/gradients.less +59 -0
  163. data/vendor/assets/bower_components/bootstrap/less/mixins/grid-framework.less +91 -0
  164. data/vendor/assets/bower_components/bootstrap/less/mixins/grid.less +122 -0
  165. data/vendor/assets/bower_components/bootstrap/less/mixins/hide-text.less +21 -0
  166. data/vendor/assets/bower_components/bootstrap/less/mixins/image.less +33 -0
  167. data/vendor/assets/bower_components/bootstrap/less/mixins/labels.less +12 -0
  168. data/vendor/assets/bower_components/bootstrap/less/mixins/list-group.less +30 -0
  169. data/vendor/assets/bower_components/bootstrap/less/mixins/nav-divider.less +10 -0
  170. data/vendor/assets/bower_components/bootstrap/less/mixins/nav-vertical-align.less +9 -0
  171. data/vendor/assets/bower_components/bootstrap/less/mixins/opacity.less +8 -0
  172. data/vendor/assets/bower_components/bootstrap/less/mixins/pagination.less +24 -0
  173. data/vendor/assets/bower_components/bootstrap/less/mixins/panels.less +24 -0
  174. data/vendor/assets/bower_components/bootstrap/less/mixins/progress-bar.less +10 -0
  175. data/vendor/assets/bower_components/bootstrap/less/mixins/reset-filter.less +8 -0
  176. data/vendor/assets/bower_components/bootstrap/less/mixins/reset-text.less +18 -0
  177. data/vendor/assets/bower_components/bootstrap/less/mixins/resize.less +6 -0
  178. data/vendor/assets/bower_components/bootstrap/less/mixins/responsive-visibility.less +15 -0
  179. data/vendor/assets/bower_components/bootstrap/less/mixins/size.less +10 -0
  180. data/vendor/assets/bower_components/bootstrap/less/mixins/tab-focus.less +9 -0
  181. data/vendor/assets/bower_components/bootstrap/less/mixins/table-row.less +28 -0
  182. data/vendor/assets/bower_components/bootstrap/less/mixins/text-emphasis.less +9 -0
  183. data/vendor/assets/bower_components/bootstrap/less/mixins/text-overflow.less +8 -0
  184. data/vendor/assets/bower_components/bootstrap/less/mixins/vendor-prefixes.less +227 -0
  185. data/vendor/assets/bower_components/bootstrap/less/modals.less +150 -0
  186. data/vendor/assets/bower_components/bootstrap/less/navbar.less +660 -0
  187. data/vendor/assets/bower_components/bootstrap/less/navs.less +242 -0
  188. data/vendor/assets/bower_components/bootstrap/less/normalize.less +424 -0
  189. data/vendor/assets/bower_components/bootstrap/less/pager.less +54 -0
  190. data/vendor/assets/bower_components/bootstrap/less/pagination.less +89 -0
  191. data/vendor/assets/bower_components/bootstrap/less/panels.less +271 -0
  192. data/vendor/assets/bower_components/bootstrap/less/popovers.less +131 -0
  193. data/vendor/assets/bower_components/bootstrap/less/print.less +101 -0
  194. data/vendor/assets/bower_components/bootstrap/less/progress-bars.less +87 -0
  195. data/vendor/assets/bower_components/bootstrap/less/responsive-embed.less +35 -0
  196. data/vendor/assets/bower_components/bootstrap/less/responsive-utilities.less +194 -0
  197. data/vendor/assets/bower_components/bootstrap/less/scaffolding.less +161 -0
  198. data/vendor/assets/bower_components/bootstrap/less/tables.less +234 -0
  199. data/vendor/assets/bower_components/bootstrap/less/theme.less +291 -0
  200. data/vendor/assets/bower_components/bootstrap/less/thumbnails.less +36 -0
  201. data/vendor/assets/bower_components/bootstrap/less/tooltip.less +101 -0
  202. data/vendor/assets/bower_components/bootstrap/less/type.less +302 -0
  203. data/vendor/assets/bower_components/bootstrap/less/utilities.less +55 -0
  204. data/vendor/assets/bower_components/bootstrap/less/variables.less +869 -0
  205. data/vendor/assets/bower_components/bootstrap/less/wells.less +29 -0
  206. data/vendor/assets/bower_components/bootstrap/nuget/MyGet.ps1 +8 -0
  207. data/vendor/assets/bower_components/bootstrap/nuget/bootstrap.less.nuspec +28 -0
  208. data/vendor/assets/bower_components/bootstrap/nuget/bootstrap.nuspec +28 -0
  209. data/vendor/assets/bower_components/bootstrap/package.js +32 -0
  210. data/vendor/assets/bower_components/bootstrap/package.json +87 -0
  211. data/vendor/assets/bower_components/jquery/AUTHORS.txt +275 -0
  212. data/vendor/assets/bower_components/jquery/LICENSE.txt +36 -0
  213. data/vendor/assets/bower_components/jquery/README.md +5 -0
  214. data/vendor/assets/bower_components/jquery/bower.json +14 -0
  215. data/vendor/assets/bower_components/jquery/dist/jquery.js +9831 -0
  216. data/vendor/assets/bower_components/jquery/dist/jquery.min.js +4 -0
  217. data/vendor/assets/bower_components/jquery/dist/jquery.min.map +1 -0
  218. data/vendor/assets/bower_components/jquery/src/ajax.js +845 -0
  219. data/vendor/assets/bower_components/jquery/src/ajax/jsonp.js +100 -0
  220. data/vendor/assets/bower_components/jquery/src/ajax/load.js +83 -0
  221. data/vendor/assets/bower_components/jquery/src/ajax/parseJSON.js +13 -0
  222. data/vendor/assets/bower_components/jquery/src/ajax/parseXML.js +27 -0
  223. data/vendor/assets/bower_components/jquery/src/ajax/script.js +68 -0
  224. data/vendor/assets/bower_components/jquery/src/ajax/var/location.js +3 -0
  225. data/vendor/assets/bower_components/jquery/src/ajax/var/nonce.js +5 -0
  226. data/vendor/assets/bower_components/jquery/src/ajax/var/rquery.js +3 -0
  227. data/vendor/assets/bower_components/jquery/src/ajax/xhr.js +167 -0
  228. data/vendor/assets/bower_components/jquery/src/attributes.js +11 -0
  229. data/vendor/assets/bower_components/jquery/src/attributes/attr.js +142 -0
  230. data/vendor/assets/bower_components/jquery/src/attributes/classes.js +177 -0
  231. data/vendor/assets/bower_components/jquery/src/attributes/prop.js +109 -0
  232. data/vendor/assets/bower_components/jquery/src/attributes/support.js +36 -0
  233. data/vendor/assets/bower_components/jquery/src/attributes/val.js +170 -0
  234. data/vendor/assets/bower_components/jquery/src/callbacks.js +232 -0
  235. data/vendor/assets/bower_components/jquery/src/core.js +489 -0
  236. data/vendor/assets/bower_components/jquery/src/core/access.js +65 -0
  237. data/vendor/assets/bower_components/jquery/src/core/init.js +134 -0
  238. data/vendor/assets/bower_components/jquery/src/core/parseHTML.js +49 -0
  239. data/vendor/assets/bower_components/jquery/src/core/ready.js +103 -0
  240. data/vendor/assets/bower_components/jquery/src/core/support.js +18 -0
  241. data/vendor/assets/bower_components/jquery/src/core/var/rsingleTag.js +5 -0
  242. data/vendor/assets/bower_components/jquery/src/css.js +515 -0
  243. data/vendor/assets/bower_components/jquery/src/css/addGetHookIf.js +24 -0
  244. data/vendor/assets/bower_components/jquery/src/css/adjustCSS.js +65 -0
  245. data/vendor/assets/bower_components/jquery/src/css/curCSS.js +57 -0
  246. data/vendor/assets/bower_components/jquery/src/css/defaultDisplay.js +72 -0
  247. data/vendor/assets/bower_components/jquery/src/css/hiddenVisibleSelectors.js +18 -0
  248. data/vendor/assets/bower_components/jquery/src/css/showHide.js +48 -0
  249. data/vendor/assets/bower_components/jquery/src/css/support.js +121 -0
  250. data/vendor/assets/bower_components/jquery/src/css/var/cssExpand.js +3 -0
  251. data/vendor/assets/bower_components/jquery/src/css/var/getStyles.js +15 -0
  252. data/vendor/assets/bower_components/jquery/src/css/var/isHidden.js +16 -0
  253. data/vendor/assets/bower_components/jquery/src/css/var/rmargin.js +3 -0
  254. data/vendor/assets/bower_components/jquery/src/css/var/rnumnonpx.js +5 -0
  255. data/vendor/assets/bower_components/jquery/src/css/var/swap.js +24 -0
  256. data/vendor/assets/bower_components/jquery/src/data.js +187 -0
  257. data/vendor/assets/bower_components/jquery/src/data/Data.js +200 -0
  258. data/vendor/assets/bower_components/jquery/src/data/accepts.js +20 -0
  259. data/vendor/assets/bower_components/jquery/src/data/support.js +23 -0
  260. data/vendor/assets/bower_components/jquery/src/data/var/acceptData.js +18 -0
  261. data/vendor/assets/bower_components/jquery/src/data/var/dataPriv.js +5 -0
  262. data/vendor/assets/bower_components/jquery/src/data/var/dataUser.js +5 -0
  263. data/vendor/assets/bower_components/jquery/src/deferred.js +158 -0
  264. data/vendor/assets/bower_components/jquery/src/deprecated.js +32 -0
  265. data/vendor/assets/bower_components/jquery/src/dimensions.js +54 -0
  266. data/vendor/assets/bower_components/jquery/src/effects.js +629 -0
  267. data/vendor/assets/bower_components/jquery/src/effects/Tween.js +121 -0
  268. data/vendor/assets/bower_components/jquery/src/effects/animatedSelector.js +13 -0
  269. data/vendor/assets/bower_components/jquery/src/effects/support.js +58 -0
  270. data/vendor/assets/bower_components/jquery/src/event.js +710 -0
  271. data/vendor/assets/bower_components/jquery/src/event/ajax.js +20 -0
  272. data/vendor/assets/bower_components/jquery/src/event/alias.js +27 -0
  273. data/vendor/assets/bower_components/jquery/src/event/focusin.js +53 -0
  274. data/vendor/assets/bower_components/jquery/src/event/support.js +9 -0
  275. data/vendor/assets/bower_components/jquery/src/event/trigger.js +199 -0
  276. data/vendor/assets/bower_components/jquery/src/exports/amd.js +24 -0
  277. data/vendor/assets/bower_components/jquery/src/exports/global.js +26 -0
  278. data/vendor/assets/bower_components/jquery/src/intro.js +44 -0
  279. data/vendor/assets/bower_components/jquery/src/jquery.js +37 -0
  280. data/vendor/assets/bower_components/jquery/src/manipulation.js +481 -0
  281. data/vendor/assets/bower_components/jquery/src/manipulation/_evalUrl.js +20 -0
  282. data/vendor/assets/bower_components/jquery/src/manipulation/buildFragment.js +102 -0
  283. data/vendor/assets/bower_components/jquery/src/manipulation/createSafeFragment.js +20 -0
  284. data/vendor/assets/bower_components/jquery/src/manipulation/getAll.js +21 -0
  285. data/vendor/assets/bower_components/jquery/src/manipulation/setGlobalEval.js +20 -0
  286. data/vendor/assets/bower_components/jquery/src/manipulation/support.js +33 -0
  287. data/vendor/assets/bower_components/jquery/src/manipulation/var/nodeNames.js +5 -0
  288. data/vendor/assets/bower_components/jquery/src/manipulation/var/rcheckableType.js +3 -0
  289. data/vendor/assets/bower_components/jquery/src/manipulation/var/rleadingWhitespace.js +3 -0
  290. data/vendor/assets/bower_components/jquery/src/manipulation/var/rscriptType.js +3 -0
  291. data/vendor/assets/bower_components/jquery/src/manipulation/var/rtagName.js +3 -0
  292. data/vendor/assets/bower_components/jquery/src/manipulation/wrapMap.js +27 -0
  293. data/vendor/assets/bower_components/jquery/src/offset.js +221 -0
  294. data/vendor/assets/bower_components/jquery/src/outro.js +2 -0
  295. data/vendor/assets/bower_components/jquery/src/queue.js +143 -0
  296. data/vendor/assets/bower_components/jquery/src/queue/delay.js +22 -0
  297. data/vendor/assets/bower_components/jquery/src/selector-native.js +211 -0
  298. data/vendor/assets/bower_components/jquery/src/selector-sizzle.js +14 -0
  299. data/vendor/assets/bower_components/jquery/src/selector.js +1 -0
  300. data/vendor/assets/bower_components/jquery/src/serialize.js +125 -0
  301. data/vendor/assets/bower_components/jquery/src/support.js +63 -0
  302. data/vendor/assets/bower_components/jquery/src/traversing.js +175 -0
  303. data/vendor/assets/bower_components/jquery/src/traversing/findFilter.js +100 -0
  304. data/vendor/assets/bower_components/jquery/src/traversing/var/dir.js +20 -0
  305. data/vendor/assets/bower_components/jquery/src/traversing/var/rneedsContext.js +6 -0
  306. data/vendor/assets/bower_components/jquery/src/traversing/var/siblings.js +15 -0
  307. data/vendor/assets/bower_components/jquery/src/var/arr.js +3 -0
  308. data/vendor/assets/bower_components/jquery/src/var/class2type.js +5 -0
  309. data/vendor/assets/bower_components/jquery/src/var/concat.js +5 -0
  310. data/vendor/assets/bower_components/jquery/src/var/deletedIds.js +3 -0
  311. data/vendor/assets/bower_components/jquery/src/var/document.js +3 -0
  312. data/vendor/assets/bower_components/jquery/src/var/documentElement.js +5 -0
  313. data/vendor/assets/bower_components/jquery/src/var/hasOwn.js +5 -0
  314. data/vendor/assets/bower_components/jquery/src/var/indexOf.js +5 -0
  315. data/vendor/assets/bower_components/jquery/src/var/pnum.js +3 -0
  316. data/vendor/assets/bower_components/jquery/src/var/push.js +5 -0
  317. data/vendor/assets/bower_components/jquery/src/var/rcssNum.js +7 -0
  318. data/vendor/assets/bower_components/jquery/src/var/rnotwhite.js +3 -0
  319. data/vendor/assets/bower_components/jquery/src/var/slice.js +5 -0
  320. data/vendor/assets/bower_components/jquery/src/var/support.js +5 -0
  321. data/vendor/assets/bower_components/jquery/src/var/toString.js +5 -0
  322. data/vendor/assets/bower_components/jquery/src/wrap.js +79 -0
  323. data/vendor/assets/bower_components/jsoneditor/CONTRIBUTING.md +15 -0
  324. data/vendor/assets/bower_components/jsoneditor/HISTORY.md +457 -0
  325. data/vendor/assets/bower_components/jsoneditor/LICENSE +176 -0
  326. data/vendor/assets/bower_components/jsoneditor/NOTICE +17 -0
  327. data/vendor/assets/bower_components/jsoneditor/README.md +155 -0
  328. data/vendor/assets/bower_components/jsoneditor/bower.json +32 -0
  329. data/vendor/assets/bower_components/jsoneditor/dist/img/jsoneditor-icons.svg +893 -0
  330. data/vendor/assets/bower_components/jsoneditor/dist/jsoneditor-minimalist.js +9418 -0
  331. data/vendor/assets/bower_components/jsoneditor/dist/jsoneditor-minimalist.map +1 -0
  332. data/vendor/assets/bower_components/jsoneditor/dist/jsoneditor-minimalist.min.js +35 -0
  333. data/vendor/assets/bower_components/jsoneditor/dist/jsoneditor.css.less +879 -0
  334. data/vendor/assets/bower_components/jsoneditor/dist/jsoneditor.js +35095 -0
  335. data/vendor/assets/bower_components/jsoneditor/dist/jsoneditor.map +1 -0
  336. data/vendor/assets/bower_components/jsoneditor/dist/jsoneditor.min.css +1 -0
  337. data/vendor/assets/bower_components/jsoneditor/dist/jsoneditor.min.js +48 -0
  338. data/vendor/assets/bower_components/jsoneditor/dist/which files do I need.md +41 -0
  339. data/vendor/assets/bower_components/jsoneditor/docs/api.md +286 -0
  340. data/vendor/assets/bower_components/jsoneditor/docs/shortcut_keys.md +38 -0
  341. data/vendor/assets/bower_components/jsoneditor/docs/usage.md +117 -0
  342. data/vendor/assets/bower_components/jsoneditor/examples/01_basic_usage.html +49 -0
  343. data/vendor/assets/bower_components/jsoneditor/examples/02_viewer.html +44 -0
  344. data/vendor/assets/bower_components/jsoneditor/examples/03_switch_mode.html +66 -0
  345. data/vendor/assets/bower_components/jsoneditor/examples/04_load_and_save.html +62 -0
  346. data/vendor/assets/bower_components/jsoneditor/examples/05_custom_fields_editable.html +63 -0
  347. data/vendor/assets/bower_components/jsoneditor/examples/06_custom_styling.html +51 -0
  348. data/vendor/assets/bower_components/jsoneditor/examples/07_json_schema_validation.html +71 -0
  349. data/vendor/assets/bower_components/jsoneditor/examples/css/darktheme.css +76 -0
  350. data/vendor/assets/bower_components/jsoneditor/examples/requirejs_demo/requirejs_demo.html +21 -0
  351. data/vendor/assets/bower_components/jsoneditor/examples/requirejs_demo/scripts/main.js +25 -0
  352. data/vendor/assets/bower_components/jsoneditor/examples/requirejs_demo/scripts/require.js +36 -0
  353. data/vendor/assets/bower_components/jsoneditor/index.js +1 -0
  354. data/vendor/assets/bower_components/jsoneditor/package.json +41 -0
  355. data/vendor/assets/bower_components/jsoneditor/src/css/contextmenu.css +233 -0
  356. data/vendor/assets/bower_components/jsoneditor/src/css/img/description.txt +14 -0
  357. data/vendor/assets/bower_components/jsoneditor/src/css/img/jsoneditor-icons.svg +893 -0
  358. data/vendor/assets/bower_components/jsoneditor/src/css/jsoneditor.css +433 -0
  359. data/vendor/assets/bower_components/jsoneditor/src/css/menu.css +110 -0
  360. data/vendor/assets/bower_components/jsoneditor/src/css/searchbox.css +75 -0
  361. data/vendor/assets/bower_components/jsoneditor/src/docs/which files do I need.md +41 -0
  362. data/vendor/assets/bower_components/jsoneditor/src/js/ContextMenu.js +455 -0
  363. data/vendor/assets/bower_components/jsoneditor/src/js/Highlighter.js +84 -0
  364. data/vendor/assets/bower_components/jsoneditor/src/js/History.js +252 -0
  365. data/vendor/assets/bower_components/jsoneditor/src/js/JSONEditor.js +371 -0
  366. data/vendor/assets/bower_components/jsoneditor/src/js/Node.js +3400 -0
  367. data/vendor/assets/bower_components/jsoneditor/src/js/SearchBox.js +295 -0
  368. data/vendor/assets/bower_components/jsoneditor/src/js/ace/index.js +9 -0
  369. data/vendor/assets/bower_components/jsoneditor/src/js/ace/theme-jsoneditor.js +144 -0
  370. data/vendor/assets/bower_components/jsoneditor/src/js/appendNodeFactory.js +226 -0
  371. data/vendor/assets/bower_components/jsoneditor/src/js/assets/jsonlint/README.md +15 -0
  372. data/vendor/assets/bower_components/jsoneditor/src/js/assets/jsonlint/jsonlint.js +418 -0
  373. data/vendor/assets/bower_components/jsoneditor/src/js/header.js +29 -0
  374. data/vendor/assets/bower_components/jsoneditor/src/js/modeswitcher.js +105 -0
  375. data/vendor/assets/bower_components/jsoneditor/src/js/textmode.js +474 -0
  376. data/vendor/assets/bower_components/jsoneditor/src/js/treemode.js +1150 -0
  377. data/vendor/assets/bower_components/jsoneditor/src/js/util.js +765 -0
  378. data/vendor/assets/bower_components/notifyjs/CHANGES.md +7 -0
  379. data/vendor/assets/bower_components/notifyjs/README.md +31 -0
  380. data/vendor/assets/bower_components/notifyjs/bower.json +14 -0
  381. data/vendor/assets/bower_components/notifyjs/dist/notify.js +586 -0
  382. data/vendor/assets/bower_components/notifyjs/dist/styles/metro/notify-metro.css +40 -0
  383. data/vendor/assets/bower_components/notifyjs/dist/styles/metro/notify-metro.js +39 -0
  384. data/vendor/assets/bower_components/notifyjs/examples/classes.html +49 -0
  385. data/vendor/assets/bower_components/notifyjs/examples/images/Mail.png +0 -0
  386. data/vendor/assets/bower_components/notifyjs/examples/inlines.html +111 -0
  387. data/vendor/assets/bower_components/notifyjs/examples/metro.html +37 -0
  388. data/vendor/assets/bower_components/notifyjs/examples/multi-text.html +55 -0
  389. data/vendor/assets/bower_components/notifyjs/examples/position.html +42 -0
  390. data/vendor/assets/bower_components/notifyjs/notify.jquery.json +28 -0
  391. data/vendor/assets/bower_components/notifyjs/package.json +18 -0
  392. data/vendor/assets/bower_components/vue/LICENSE +21 -0
  393. data/vendor/assets/bower_components/vue/bower.json +19 -0
  394. data/vendor/assets/bower_components/vue/dist/vue.js +10198 -0
  395. data/vendor/assets/bower_components/vue/dist/vue.min.js +8 -0
  396. data/vendor/assets/bower_components/vue/src/api/child.js +49 -0
  397. data/vendor/assets/bower_components/vue/src/api/data.js +159 -0
  398. data/vendor/assets/bower_components/vue/src/api/dom.js +226 -0
  399. data/vendor/assets/bower_components/vue/src/api/events.js +174 -0
  400. data/vendor/assets/bower_components/vue/src/api/global.js +129 -0
  401. data/vendor/assets/bower_components/vue/src/api/lifecycle.js +68 -0
  402. data/vendor/assets/bower_components/vue/src/batcher.js +98 -0
  403. data/vendor/assets/bower_components/vue/src/cache.js +112 -0
  404. data/vendor/assets/bower_components/vue/src/compiler/compile-props.js +183 -0
  405. data/vendor/assets/bower_components/vue/src/compiler/compile.js +630 -0
  406. data/vendor/assets/bower_components/vue/src/compiler/index.js +4 -0
  407. data/vendor/assets/bower_components/vue/src/compiler/transclude.js +144 -0
  408. data/vendor/assets/bower_components/vue/src/config.js +124 -0
  409. data/vendor/assets/bower_components/vue/src/directive.js +254 -0
  410. data/vendor/assets/bower_components/vue/src/directives/attr.js +59 -0
  411. data/vendor/assets/bower_components/vue/src/directives/class.js +70 -0
  412. data/vendor/assets/bower_components/vue/src/directives/cloak.js +10 -0
  413. data/vendor/assets/bower_components/vue/src/directives/component.js +344 -0
  414. data/vendor/assets/bower_components/vue/src/directives/el.js +12 -0
  415. data/vendor/assets/bower_components/vue/src/directives/html.js +40 -0
  416. data/vendor/assets/bower_components/vue/src/directives/if.js +125 -0
  417. data/vendor/assets/bower_components/vue/src/directives/index.js +24 -0
  418. data/vendor/assets/bower_components/vue/src/directives/model/checkbox.js +42 -0
  419. data/vendor/assets/bower_components/vue/src/directives/model/index.js +82 -0
  420. data/vendor/assets/bower_components/vue/src/directives/model/radio.js +33 -0
  421. data/vendor/assets/bower_components/vue/src/directives/model/select.js +236 -0
  422. data/vendor/assets/bower_components/vue/src/directives/model/text.js +132 -0
  423. data/vendor/assets/bower_components/vue/src/directives/on.js +59 -0
  424. data/vendor/assets/bower_components/vue/src/directives/prop.js +62 -0
  425. data/vendor/assets/bower_components/vue/src/directives/ref.js +22 -0
  426. data/vendor/assets/bower_components/vue/src/directives/repeat.js +770 -0
  427. data/vendor/assets/bower_components/vue/src/directives/show.js +8 -0
  428. data/vendor/assets/bower_components/vue/src/directives/style.js +110 -0
  429. data/vendor/assets/bower_components/vue/src/directives/text.js +14 -0
  430. data/vendor/assets/bower_components/vue/src/directives/transition.js +26 -0
  431. data/vendor/assets/bower_components/vue/src/element-directives/content.js +111 -0
  432. data/vendor/assets/bower_components/vue/src/element-directives/index.js +2 -0
  433. data/vendor/assets/bower_components/vue/src/element-directives/partial.js +73 -0
  434. data/vendor/assets/bower_components/vue/src/filters/array-filters.js +97 -0
  435. data/vendor/assets/bower_components/vue/src/filters/index.js +146 -0
  436. data/vendor/assets/bower_components/vue/src/instance/compile.js +200 -0
  437. data/vendor/assets/bower_components/vue/src/instance/events.js +139 -0
  438. data/vendor/assets/bower_components/vue/src/instance/init.js +89 -0
  439. data/vendor/assets/bower_components/vue/src/instance/misc.js +93 -0
  440. data/vendor/assets/bower_components/vue/src/instance/scope.js +282 -0
  441. data/vendor/assets/bower_components/vue/src/observer/array.js +98 -0
  442. data/vendor/assets/bower_components/vue/src/observer/dep.js +61 -0
  443. data/vendor/assets/bower_components/vue/src/observer/index.js +234 -0
  444. data/vendor/assets/bower_components/vue/src/observer/object.js +82 -0
  445. data/vendor/assets/bower_components/vue/src/parsers/directive.js +180 -0
  446. data/vendor/assets/bower_components/vue/src/parsers/expression.js +264 -0
  447. data/vendor/assets/bower_components/vue/src/parsers/path.js +348 -0
  448. data/vendor/assets/bower_components/vue/src/parsers/template.js +288 -0
  449. data/vendor/assets/bower_components/vue/src/parsers/text.js +178 -0
  450. data/vendor/assets/bower_components/vue/src/transition/index.js +128 -0
  451. data/vendor/assets/bower_components/vue/src/transition/queue.js +35 -0
  452. data/vendor/assets/bower_components/vue/src/transition/transition.js +357 -0
  453. data/vendor/assets/bower_components/vue/src/util/component.js +124 -0
  454. data/vendor/assets/bower_components/vue/src/util/debug.js +64 -0
  455. data/vendor/assets/bower_components/vue/src/util/dom.js +272 -0
  456. data/vendor/assets/bower_components/vue/src/util/env.js +85 -0
  457. data/vendor/assets/bower_components/vue/src/util/index.js +9 -0
  458. data/vendor/assets/bower_components/vue/src/util/lang.js +310 -0
  459. data/vendor/assets/bower_components/vue/src/util/options.js +357 -0
  460. data/vendor/assets/bower_components/vue/src/vue.js +89 -0
  461. data/vendor/assets/bower_components/vue/src/watcher.js +312 -0
  462. metadata +870 -0
@@ -0,0 +1,85 @@
1
+ // can we use __proto__?
2
+ exports.hasProto = '__proto__' in {}
3
+
4
+ // Browser environment sniffing
5
+ var inBrowser = exports.inBrowser =
6
+ typeof window !== 'undefined' &&
7
+ Object.prototype.toString.call(window) !== '[object Object]'
8
+
9
+ exports.isIE9 =
10
+ inBrowser &&
11
+ navigator.userAgent.toLowerCase().indexOf('msie 9.0') > 0
12
+
13
+ exports.isAndroid =
14
+ inBrowser &&
15
+ navigator.userAgent.toLowerCase().indexOf('android') > 0
16
+
17
+ // Transition property/event sniffing
18
+ if (inBrowser && !exports.isIE9) {
19
+ var isWebkitTrans =
20
+ window.ontransitionend === undefined &&
21
+ window.onwebkittransitionend !== undefined
22
+ var isWebkitAnim =
23
+ window.onanimationend === undefined &&
24
+ window.onwebkitanimationend !== undefined
25
+ exports.transitionProp = isWebkitTrans
26
+ ? 'WebkitTransition'
27
+ : 'transition'
28
+ exports.transitionEndEvent = isWebkitTrans
29
+ ? 'webkitTransitionEnd'
30
+ : 'transitionend'
31
+ exports.animationProp = isWebkitAnim
32
+ ? 'WebkitAnimation'
33
+ : 'animation'
34
+ exports.animationEndEvent = isWebkitAnim
35
+ ? 'webkitAnimationEnd'
36
+ : 'animationend'
37
+ }
38
+
39
+ /**
40
+ * Defer a task to execute it asynchronously. Ideally this
41
+ * should be executed as a microtask, so we leverage
42
+ * MutationObserver if it's available, and fallback to
43
+ * setTimeout(0).
44
+ *
45
+ * @param {Function} cb
46
+ * @param {Object} ctx
47
+ */
48
+
49
+ exports.nextTick = (function () {
50
+ var callbacks = []
51
+ var pending = false
52
+ var timerFunc
53
+ function nextTickHandler () {
54
+ pending = false
55
+ var copies = callbacks.slice(0)
56
+ callbacks = []
57
+ for (var i = 0; i < copies.length; i++) {
58
+ copies[i]()
59
+ }
60
+ }
61
+ /* istanbul ignore if */
62
+ if (typeof MutationObserver !== 'undefined') {
63
+ var counter = 1
64
+ var observer = new MutationObserver(nextTickHandler)
65
+ var textNode = document.createTextNode(counter)
66
+ observer.observe(textNode, {
67
+ characterData: true
68
+ })
69
+ timerFunc = function () {
70
+ counter = (counter + 1) % 2
71
+ textNode.data = counter
72
+ }
73
+ } else {
74
+ timerFunc = setTimeout
75
+ }
76
+ return function (cb, ctx) {
77
+ var func = ctx
78
+ ? function () { cb.call(ctx) }
79
+ : cb
80
+ callbacks.push(func)
81
+ if (pending) return
82
+ pending = true
83
+ timerFunc(nextTickHandler, 0)
84
+ }
85
+ })()
@@ -0,0 +1,9 @@
1
+ var lang = require('./lang')
2
+ var extend = lang.extend
3
+
4
+ extend(exports, lang)
5
+ extend(exports, require('./env'))
6
+ extend(exports, require('./dom'))
7
+ extend(exports, require('./options'))
8
+ extend(exports, require('./component'))
9
+ extend(exports, require('./debug'))
@@ -0,0 +1,310 @@
1
+ /**
2
+ * Check if a string starts with $ or _
3
+ *
4
+ * @param {String} str
5
+ * @return {Boolean}
6
+ */
7
+
8
+ exports.isReserved = function (str) {
9
+ var c = (str + '').charCodeAt(0)
10
+ return c === 0x24 || c === 0x5F
11
+ }
12
+
13
+ /**
14
+ * Guard text output, make sure undefined outputs
15
+ * empty string
16
+ *
17
+ * @param {*} value
18
+ * @return {String}
19
+ */
20
+
21
+ exports.toString = function (value) {
22
+ return value == null
23
+ ? ''
24
+ : value.toString()
25
+ }
26
+
27
+ /**
28
+ * Check and convert possible numeric strings to numbers
29
+ * before setting back to data
30
+ *
31
+ * @param {*} value
32
+ * @return {*|Number}
33
+ */
34
+
35
+ exports.toNumber = function (value) {
36
+ if (typeof value !== 'string') {
37
+ return value
38
+ } else {
39
+ var parsed = Number(value)
40
+ return isNaN(parsed)
41
+ ? value
42
+ : parsed
43
+ }
44
+ }
45
+
46
+ /**
47
+ * Convert string boolean literals into real booleans.
48
+ *
49
+ * @param {*} value
50
+ * @return {*|Boolean}
51
+ */
52
+
53
+ exports.toBoolean = function (value) {
54
+ return value === 'true'
55
+ ? true
56
+ : value === 'false'
57
+ ? false
58
+ : value
59
+ }
60
+
61
+ /**
62
+ * Strip quotes from a string
63
+ *
64
+ * @param {String} str
65
+ * @return {String | false}
66
+ */
67
+
68
+ exports.stripQuotes = function (str) {
69
+ var a = str.charCodeAt(0)
70
+ var b = str.charCodeAt(str.length - 1)
71
+ return a === b && (a === 0x22 || a === 0x27)
72
+ ? str.slice(1, -1)
73
+ : false
74
+ }
75
+
76
+ /**
77
+ * Camelize a hyphen-delmited string.
78
+ *
79
+ * @param {String} str
80
+ * @return {String}
81
+ */
82
+
83
+ exports.camelize = function (str) {
84
+ return str.replace(/-(\w)/g, toUpper)
85
+ }
86
+
87
+ function toUpper (_, c) {
88
+ return c ? c.toUpperCase() : ''
89
+ }
90
+
91
+ /**
92
+ * Hyphenate a camelCase string.
93
+ *
94
+ * @param {String} str
95
+ * @return {String}
96
+ */
97
+
98
+ exports.hyphenate = function (str) {
99
+ return str
100
+ .replace(/([a-z\d])([A-Z])/g, '$1-$2')
101
+ .toLowerCase()
102
+ }
103
+
104
+ /**
105
+ * Converts hyphen/underscore/slash delimitered names into
106
+ * camelized classNames.
107
+ *
108
+ * e.g. my-component => MyComponent
109
+ * some_else => SomeElse
110
+ * some/comp => SomeComp
111
+ *
112
+ * @param {String} str
113
+ * @return {String}
114
+ */
115
+
116
+ var classifyRE = /(?:^|[-_\/])(\w)/g
117
+ exports.classify = function (str) {
118
+ return str.replace(classifyRE, toUpper)
119
+ }
120
+
121
+ /**
122
+ * Simple bind, faster than native
123
+ *
124
+ * @param {Function} fn
125
+ * @param {Object} ctx
126
+ * @return {Function}
127
+ */
128
+
129
+ exports.bind = function (fn, ctx) {
130
+ return function (a) {
131
+ var l = arguments.length
132
+ return l
133
+ ? l > 1
134
+ ? fn.apply(ctx, arguments)
135
+ : fn.call(ctx, a)
136
+ : fn.call(ctx)
137
+ }
138
+ }
139
+
140
+ /**
141
+ * Convert an Array-like object to a real Array.
142
+ *
143
+ * @param {Array-like} list
144
+ * @param {Number} [start] - start index
145
+ * @return {Array}
146
+ */
147
+
148
+ exports.toArray = function (list, start) {
149
+ start = start || 0
150
+ var i = list.length - start
151
+ var ret = new Array(i)
152
+ while (i--) {
153
+ ret[i] = list[i + start]
154
+ }
155
+ return ret
156
+ }
157
+
158
+ /**
159
+ * Mix properties into target object.
160
+ *
161
+ * @param {Object} to
162
+ * @param {Object} from
163
+ */
164
+
165
+ exports.extend = function (to, from) {
166
+ for (var key in from) {
167
+ to[key] = from[key]
168
+ }
169
+ return to
170
+ }
171
+
172
+ /**
173
+ * Quick object check - this is primarily used to tell
174
+ * Objects from primitive values when we know the value
175
+ * is a JSON-compliant type.
176
+ *
177
+ * @param {*} obj
178
+ * @return {Boolean}
179
+ */
180
+
181
+ exports.isObject = function (obj) {
182
+ return obj !== null && typeof obj === 'object'
183
+ }
184
+
185
+ /**
186
+ * Strict object type check. Only returns true
187
+ * for plain JavaScript objects.
188
+ *
189
+ * @param {*} obj
190
+ * @return {Boolean}
191
+ */
192
+
193
+ var toString = Object.prototype.toString
194
+ var OBJECT_STRING = '[object Object]'
195
+ exports.isPlainObject = function (obj) {
196
+ return toString.call(obj) === OBJECT_STRING
197
+ }
198
+
199
+ /**
200
+ * Array type check.
201
+ *
202
+ * @param {*} obj
203
+ * @return {Boolean}
204
+ */
205
+
206
+ exports.isArray = Array.isArray
207
+
208
+ /**
209
+ * Define a non-enumerable property
210
+ *
211
+ * @param {Object} obj
212
+ * @param {String} key
213
+ * @param {*} val
214
+ * @param {Boolean} [enumerable]
215
+ */
216
+
217
+ exports.define = function (obj, key, val, enumerable) {
218
+ Object.defineProperty(obj, key, {
219
+ value: val,
220
+ enumerable: !!enumerable,
221
+ writable: true,
222
+ configurable: true
223
+ })
224
+ }
225
+
226
+ /**
227
+ * Debounce a function so it only gets called after the
228
+ * input stops arriving after the given wait period.
229
+ *
230
+ * @param {Function} func
231
+ * @param {Number} wait
232
+ * @return {Function} - the debounced function
233
+ */
234
+
235
+ exports.debounce = function (func, wait) {
236
+ var timeout, args, context, timestamp, result
237
+ var later = function () {
238
+ var last = Date.now() - timestamp
239
+ if (last < wait && last >= 0) {
240
+ timeout = setTimeout(later, wait - last)
241
+ } else {
242
+ timeout = null
243
+ result = func.apply(context, args)
244
+ if (!timeout) context = args = null
245
+ }
246
+ }
247
+ return function () {
248
+ context = this
249
+ args = arguments
250
+ timestamp = Date.now()
251
+ if (!timeout) {
252
+ timeout = setTimeout(later, wait)
253
+ }
254
+ return result
255
+ }
256
+ }
257
+
258
+ /**
259
+ * Manual indexOf because it's slightly faster than
260
+ * native.
261
+ *
262
+ * @param {Array} arr
263
+ * @param {*} obj
264
+ */
265
+
266
+ exports.indexOf = function (arr, obj) {
267
+ var i = arr.length
268
+ while (i--) {
269
+ if (arr[i] === obj) return i
270
+ }
271
+ return -1
272
+ }
273
+
274
+ /**
275
+ * Make a cancellable version of an async callback.
276
+ *
277
+ * @param {Function} fn
278
+ * @return {Function}
279
+ */
280
+
281
+ exports.cancellable = function (fn) {
282
+ var cb = function () {
283
+ if (!cb.cancelled) {
284
+ return fn.apply(this, arguments)
285
+ }
286
+ }
287
+ cb.cancel = function () {
288
+ cb.cancelled = true
289
+ }
290
+ return cb
291
+ }
292
+
293
+ /**
294
+ * Check if two values are loosely equal - that is,
295
+ * if they are plain objects, do they have the same shape?
296
+ *
297
+ * @param {*} a
298
+ * @param {*} b
299
+ * @return {Boolean}
300
+ */
301
+
302
+ exports.looseEqual = function (a, b) {
303
+ /* eslint-disable eqeqeq */
304
+ return a == b || (
305
+ exports.isObject(a) && exports.isObject(b)
306
+ ? JSON.stringify(a) === JSON.stringify(b)
307
+ : false
308
+ )
309
+ /* eslint-enable eqeqeq */
310
+ }
@@ -0,0 +1,357 @@
1
+ var _ = require('./index')
2
+ var config = require('../config')
3
+ var extend = _.extend
4
+
5
+ /**
6
+ * Option overwriting strategies are functions that handle
7
+ * how to merge a parent option value and a child option
8
+ * value into the final value.
9
+ *
10
+ * All strategy functions follow the same signature:
11
+ *
12
+ * @param {*} parentVal
13
+ * @param {*} childVal
14
+ * @param {Vue} [vm]
15
+ */
16
+
17
+ var strats = config.optionMergeStrategies = Object.create(null)
18
+
19
+ /**
20
+ * Helper that recursively merges two data objects together.
21
+ */
22
+
23
+ function mergeData (to, from) {
24
+ var key, toVal, fromVal
25
+ for (key in from) {
26
+ toVal = to[key]
27
+ fromVal = from[key]
28
+ if (!to.hasOwnProperty(key)) {
29
+ to.$add(key, fromVal)
30
+ } else if (_.isObject(toVal) && _.isObject(fromVal)) {
31
+ mergeData(toVal, fromVal)
32
+ }
33
+ }
34
+ return to
35
+ }
36
+
37
+ /**
38
+ * Data
39
+ */
40
+
41
+ strats.data = function (parentVal, childVal, vm) {
42
+ if (!vm) {
43
+ // in a Vue.extend merge, both should be functions
44
+ if (!childVal) {
45
+ return parentVal
46
+ }
47
+ if (typeof childVal !== 'function') {
48
+ process.env.NODE_ENV !== 'production' && _.warn(
49
+ 'The "data" option should be a function ' +
50
+ 'that returns a per-instance value in component ' +
51
+ 'definitions.'
52
+ )
53
+ return parentVal
54
+ }
55
+ if (!parentVal) {
56
+ return childVal
57
+ }
58
+ // when parentVal & childVal are both present,
59
+ // we need to return a function that returns the
60
+ // merged result of both functions... no need to
61
+ // check if parentVal is a function here because
62
+ // it has to be a function to pass previous merges.
63
+ return function mergedDataFn () {
64
+ return mergeData(
65
+ childVal.call(this),
66
+ parentVal.call(this)
67
+ )
68
+ }
69
+ } else if (parentVal || childVal) {
70
+ return function mergedInstanceDataFn () {
71
+ // instance merge
72
+ var instanceData = typeof childVal === 'function'
73
+ ? childVal.call(vm)
74
+ : childVal
75
+ var defaultData = typeof parentVal === 'function'
76
+ ? parentVal.call(vm)
77
+ : undefined
78
+ if (instanceData) {
79
+ return mergeData(instanceData, defaultData)
80
+ } else {
81
+ return defaultData
82
+ }
83
+ }
84
+ }
85
+ }
86
+
87
+ /**
88
+ * El
89
+ */
90
+
91
+ strats.el = function (parentVal, childVal, vm) {
92
+ if (!vm && childVal && typeof childVal !== 'function') {
93
+ process.env.NODE_ENV !== 'production' && _.warn(
94
+ 'The "el" option should be a function ' +
95
+ 'that returns a per-instance value in component ' +
96
+ 'definitions.'
97
+ )
98
+ return
99
+ }
100
+ var ret = childVal || parentVal
101
+ // invoke the element factory if this is instance merge
102
+ return vm && typeof ret === 'function'
103
+ ? ret.call(vm)
104
+ : ret
105
+ }
106
+
107
+ /**
108
+ * Hooks and param attributes are merged as arrays.
109
+ */
110
+
111
+ strats.created =
112
+ strats.ready =
113
+ strats.attached =
114
+ strats.detached =
115
+ strats.beforeCompile =
116
+ strats.compiled =
117
+ strats.beforeDestroy =
118
+ strats.destroyed =
119
+ strats.props = function (parentVal, childVal) {
120
+ return childVal
121
+ ? parentVal
122
+ ? parentVal.concat(childVal)
123
+ : _.isArray(childVal)
124
+ ? childVal
125
+ : [childVal]
126
+ : parentVal
127
+ }
128
+
129
+ /**
130
+ * 0.11 deprecation warning
131
+ */
132
+
133
+ strats.paramAttributes = function () {
134
+ /* istanbul ignore next */
135
+ process.env.NODE_ENV !== 'production' && _.warn(
136
+ '"paramAttributes" option has been deprecated in 0.12. ' +
137
+ 'Use "props" instead.'
138
+ )
139
+ }
140
+
141
+ /**
142
+ * Assets
143
+ *
144
+ * When a vm is present (instance creation), we need to do
145
+ * a three-way merge between constructor options, instance
146
+ * options and parent options.
147
+ */
148
+
149
+ function mergeAssets (parentVal, childVal) {
150
+ var res = Object.create(parentVal)
151
+ return childVal
152
+ ? extend(res, guardArrayAssets(childVal))
153
+ : res
154
+ }
155
+
156
+ config._assetTypes.forEach(function (type) {
157
+ strats[type + 's'] = mergeAssets
158
+ })
159
+
160
+ /**
161
+ * Events & Watchers.
162
+ *
163
+ * Events & watchers hashes should not overwrite one
164
+ * another, so we merge them as arrays.
165
+ */
166
+
167
+ strats.watch =
168
+ strats.events = function (parentVal, childVal) {
169
+ if (!childVal) return parentVal
170
+ if (!parentVal) return childVal
171
+ var ret = {}
172
+ extend(ret, parentVal)
173
+ for (var key in childVal) {
174
+ var parent = ret[key]
175
+ var child = childVal[key]
176
+ if (parent && !_.isArray(parent)) {
177
+ parent = [parent]
178
+ }
179
+ ret[key] = parent
180
+ ? parent.concat(child)
181
+ : [child]
182
+ }
183
+ return ret
184
+ }
185
+
186
+ /**
187
+ * Other object hashes.
188
+ */
189
+
190
+ strats.methods =
191
+ strats.computed = function (parentVal, childVal) {
192
+ if (!childVal) return parentVal
193
+ if (!parentVal) return childVal
194
+ var ret = Object.create(parentVal)
195
+ extend(ret, childVal)
196
+ return ret
197
+ }
198
+
199
+ /**
200
+ * Default strategy.
201
+ */
202
+
203
+ var defaultStrat = function (parentVal, childVal) {
204
+ return childVal === undefined
205
+ ? parentVal
206
+ : childVal
207
+ }
208
+
209
+ /**
210
+ * Make sure component options get converted to actual
211
+ * constructors.
212
+ *
213
+ * @param {Object} options
214
+ */
215
+
216
+ function guardComponents (options) {
217
+ if (options.components) {
218
+ var components = options.components =
219
+ guardArrayAssets(options.components)
220
+ var def
221
+ var ids = Object.keys(components)
222
+ for (var i = 0, l = ids.length; i < l; i++) {
223
+ var key = ids[i]
224
+ if (_.commonTagRE.test(key)) {
225
+ process.env.NODE_ENV !== 'production' && _.warn(
226
+ 'Do not use built-in HTML elements as component ' +
227
+ 'id: ' + key
228
+ )
229
+ continue
230
+ }
231
+ def = components[key]
232
+ if (_.isPlainObject(def)) {
233
+ def.id = def.id || key
234
+ components[key] = def._Ctor || (def._Ctor = _.Vue.extend(def))
235
+ }
236
+ }
237
+ }
238
+ }
239
+
240
+ /**
241
+ * Ensure all props option syntax are normalized into the
242
+ * Object-based format.
243
+ *
244
+ * @param {Object} options
245
+ */
246
+
247
+ function guardProps (options) {
248
+ var props = options.props
249
+ if (_.isPlainObject(props)) {
250
+ options.props = Object.keys(props).map(function (key) {
251
+ var val = props[key]
252
+ if (!_.isPlainObject(val)) {
253
+ val = { type: val }
254
+ }
255
+ val.name = key
256
+ return val
257
+ })
258
+ } else if (_.isArray(props)) {
259
+ options.props = props.map(function (prop) {
260
+ return typeof prop === 'string'
261
+ ? { name: prop }
262
+ : prop
263
+ })
264
+ }
265
+ }
266
+
267
+ /**
268
+ * Guard an Array-format assets option and converted it
269
+ * into the key-value Object format.
270
+ *
271
+ * @param {Object|Array} assets
272
+ * @return {Object}
273
+ */
274
+
275
+ function guardArrayAssets (assets) {
276
+ if (_.isArray(assets)) {
277
+ var res = {}
278
+ var i = assets.length
279
+ var asset
280
+ while (i--) {
281
+ asset = assets[i]
282
+ var id = asset.id || (asset.options && asset.options.id)
283
+ if (!id) {
284
+ process.env.NODE_ENV !== 'production' && _.warn(
285
+ 'Array-syntax assets must provide an id field.'
286
+ )
287
+ } else {
288
+ res[id] = asset
289
+ }
290
+ }
291
+ return res
292
+ }
293
+ return assets
294
+ }
295
+
296
+ /**
297
+ * Merge two option objects into a new one.
298
+ * Core utility used in both instantiation and inheritance.
299
+ *
300
+ * @param {Object} parent
301
+ * @param {Object} child
302
+ * @param {Vue} [vm] - if vm is present, indicates this is
303
+ * an instantiation merge.
304
+ */
305
+
306
+ exports.mergeOptions = function merge (parent, child, vm) {
307
+ guardComponents(child)
308
+ guardProps(child)
309
+ var options = {}
310
+ var key
311
+ if (child.mixins) {
312
+ for (var i = 0, l = child.mixins.length; i < l; i++) {
313
+ parent = merge(parent, child.mixins[i], vm)
314
+ }
315
+ }
316
+ for (key in parent) {
317
+ mergeField(key)
318
+ }
319
+ for (key in child) {
320
+ if (!(parent.hasOwnProperty(key))) {
321
+ mergeField(key)
322
+ }
323
+ }
324
+ function mergeField (key) {
325
+ var strat = strats[key] || defaultStrat
326
+ options[key] = strat(parent[key], child[key], vm, key)
327
+ }
328
+ return options
329
+ }
330
+
331
+ /**
332
+ * Resolve an asset.
333
+ * This function is used because child instances need access
334
+ * to assets defined in its ancestor chain.
335
+ *
336
+ * @param {Object} options
337
+ * @param {String} type
338
+ * @param {String} id
339
+ * @return {Object|Function}
340
+ */
341
+
342
+ exports.resolveAsset = function resolve (options, type, id) {
343
+ var camelizedId = _.camelize(id)
344
+ var pascalizedId = camelizedId.charAt(0).toUpperCase() + camelizedId.slice(1)
345
+ var assets = options[type]
346
+ var asset = assets[id] || assets[camelizedId] || assets[pascalizedId]
347
+ while (
348
+ !asset &&
349
+ options._parent &&
350
+ (!config.strict || options._repeat)
351
+ ) {
352
+ options = (options._context || options._parent).$options
353
+ assets = options[type]
354
+ asset = assets[id] || assets[camelizedId] || assets[pascalizedId]
355
+ }
356
+ return asset
357
+ }