kms 0.9.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (409) hide show
  1. checksums.yaml +4 -4
  2. data/{vendor/assets/bower_components/Responsive-Dashboard/src/img → app/assets/images}/avatar.jpg +0 -0
  3. data/app/assets/javascripts/kms/application.js +3 -0
  4. data/app/assets/javascripts/kms/application/controllers/assets_controller.coffee.erb +14 -7
  5. data/app/assets/javascripts/kms/application/controllers/pages_controller.coffee.erb +11 -3
  6. data/app/assets/javascripts/kms/application/controllers/snippets_controller.coffee.erb +3 -0
  7. data/app/assets/javascripts/kms/application/controllers/templates_controller.coffee.erb +3 -0
  8. data/app/assets/javascripts/kms/application/controllers/users_controller.coffee +4 -4
  9. data/app/assets/javascripts/kms/application/routes.coffee.erb +1 -1
  10. data/app/assets/javascripts/kms/application/services/transliteration_service.js +160 -0
  11. data/app/assets/javascripts/templates/assets/edit.html.slim +24 -2
  12. data/app/assets/javascripts/templates/assets/form.html.slim +23 -0
  13. data/app/assets/javascripts/templates/assets/index.html.slim +13 -12
  14. data/app/assets/javascripts/templates/assets/new.html.slim +1 -15
  15. data/app/assets/javascripts/templates/help.html.slim +1 -1
  16. data/app/assets/javascripts/templates/pages/index.html.slim +16 -5
  17. data/app/assets/javascripts/templates/snippets/index.html.slim +16 -5
  18. data/app/assets/javascripts/templates/templates/index.html.slim +16 -6
  19. data/app/assets/stylesheets/kms/application.css +2 -2
  20. data/app/assets/stylesheets/kms/custom.css.scss +38 -0
  21. data/app/controllers/kms/assets_controller.rb +8 -9
  22. data/app/controllers/kms/pages_controller.rb +10 -11
  23. data/app/controllers/kms/public/pages_controller.rb +5 -4
  24. data/app/controllers/kms/public/search_controller.rb +2 -0
  25. data/app/controllers/kms/settings_controller.rb +1 -1
  26. data/app/controllers/kms/snippets_controller.rb +2 -1
  27. data/app/controllers/kms/templates_controller.rb +6 -5
  28. data/app/controllers/kms/users_controller.rb +11 -8
  29. data/app/models/ability.rb +1 -0
  30. data/app/models/concerns/kms/permalinkable.rb +1 -1
  31. data/app/models/kms/page.rb +13 -4
  32. data/app/serializers/kms/asset_serializer.rb +6 -0
  33. data/app/serializers/kms/page_serializer.rb +5 -0
  34. data/app/serializers/kms/template_serializer.rb +5 -0
  35. data/app/serializers/kms/user_serializer.rb +5 -0
  36. data/app/services/kms/page_fetcher.rb +30 -0
  37. data/app/services/kms/search_service.rb +28 -3
  38. data/app/services/kms/template_processor.rb +19 -0
  39. data/app/views/devise/passwords/edit.html.erb +1 -1
  40. data/app/views/devise/passwords/new.html.erb +1 -1
  41. data/app/views/devise/registrations/new.html.erb +1 -1
  42. data/app/views/devise/sessions/new.html.erb +1 -1
  43. data/app/views/layouts/kms/devise.html.erb +1 -1
  44. data/app/views/layouts/kms/kms.html.erb +47 -18
  45. data/config/initializers/externals.rb +6 -32
  46. data/config/initializers/search.rb +1 -0
  47. data/config/locales/en.yml +17 -1
  48. data/config/locales/ru.yml +17 -1
  49. data/config/routes.rb +7 -6
  50. data/lib/kms/dependencies.rb +1 -4
  51. data/lib/kms/engine.rb +1 -2
  52. data/lib/kms/search_item.rb +18 -0
  53. data/lib/kms/version.rb +1 -1
  54. data/spec/controllers/kms/assets_controller_spec.rb +51 -0
  55. data/spec/controllers/kms/pages_controller_spec.rb +82 -0
  56. data/spec/controllers/kms/public/pages_controller_spec.rb +30 -0
  57. data/spec/controllers/kms/snippets_controller_spec.rb +61 -47
  58. data/spec/controllers/kms/templates_controller_spec.rb +51 -0
  59. data/spec/controllers/kms/users_controller_spec.rb +56 -0
  60. data/spec/factories/assets.rb +8 -0
  61. data/spec/factories/pages.rb +33 -0
  62. data/spec/factories/templates.rb +20 -0
  63. data/spec/factories/users.rb +9 -4
  64. data/spec/internal/config/routes.rb +12 -1
  65. data/spec/internal/log/test.log +81239 -0
  66. data/spec/internal/public/404.html +67 -0
  67. data/spec/internal/public/avatar.jpg +0 -0
  68. data/spec/internal/public/style.css +1 -0
  69. data/spec/internal/public/uploads/kms/asset/file/1/avatar.jpg +0 -0
  70. data/spec/internal/public/uploads/kms/asset/file/2/avatar.jpg +0 -0
  71. data/spec/internal/public/uploads/kms/asset/file/2/style.css +1 -0
  72. data/spec/internal/public/uploads/kms/asset/file/3/style.css +1 -0
  73. data/spec/internal/public/uploads/kms/asset/file/4/style.css +1 -0
  74. data/spec/internal/public/uploads/tmp/1500976987-41025-0002-0883/style.css +1 -0
  75. data/spec/internal/public/uploads/tmp/1500977082-41195-0002-6495/style.css +1 -0
  76. data/spec/internal/public/uploads/tmp/1500977109-41364-0002-4518/style.css +1 -0
  77. data/spec/internal/public/uploads/tmp/1500977152-41405-0002-2345/style.css +1 -0
  78. data/spec/internal/public/uploads/tmp/1500977327-41694-0002-5448/style.css +1 -0
  79. data/spec/internal/public/uploads/tmp/1500977376-41732-0002-7916/style.css +1 -0
  80. data/spec/internal/public/uploads/tmp/1500977392-41759-0002-7593/style.css +1 -0
  81. data/spec/internal/public/uploads/tmp/1500977410-42259-0002-7527/style.css +1 -0
  82. data/spec/internal/public/uploads/tmp/1500977429-42306-0002-5937/style.css +1 -0
  83. data/spec/internal/public/uploads/tmp/1500977437-42324-0002-5880/style.css +1 -0
  84. data/spec/internal/public/uploads/tmp/1500983228-53594-0002-4559/style.css +1 -0
  85. data/spec/internal/public/uploads/tmp/1500983284-53632-0002-6590/style.css +1 -0
  86. data/spec/internal/public/uploads/tmp/1500983360-53784-0002-7289/style.css +1 -0
  87. data/spec/internal/public/uploads/tmp/1500983469-54321-0002-0386/avatar.jpg +0 -0
  88. data/spec/internal/public/uploads/tmp/1500983469-54321-0004-5691/style.css +1 -0
  89. data/spec/internal/public/uploads/tmp/1500983511-54352-0002-5720/avatar.jpg +0 -0
  90. data/spec/internal/public/uploads/tmp/1500983511-54352-0004-1399/style.css +1 -0
  91. data/spec/internal/public/uploads/tmp/1500983610-54507-0002-4280/avatar.jpg +0 -0
  92. data/spec/internal/public/uploads/tmp/1500983610-54507-0004-9758/style.css +1 -0
  93. data/spec/internal/public/uploads/tmp/1500984466-57012-0002-4146/avatar.jpg +0 -0
  94. data/spec/internal/public/uploads/tmp/1500984466-57012-0004-5895/style.css +1 -0
  95. data/spec/internal/public/uploads/tmp/1500984509-57158-0002-9657/avatar.jpg +0 -0
  96. data/spec/internal/public/uploads/tmp/1500984509-57158-0004-5003/style.css +1 -0
  97. data/spec/internal/public/uploads/tmp/1500984616-57697-0002-7201/avatar.jpg +0 -0
  98. data/spec/internal/public/uploads/tmp/1500984616-57697-0004-6255/style.css +1 -0
  99. data/spec/internal/public/uploads/tmp/1500985257-58947-0002-3629/avatar.jpg +0 -0
  100. data/spec/internal/public/uploads/tmp/1500985257-58947-0004-5338/style.css +1 -0
  101. data/spec/internal/public/uploads/tmp/1500985407-58947-0006-5929/style.css +1 -0
  102. data/spec/internal/public/uploads/tmp/1500985473-59264-0002-0397/avatar.jpg +0 -0
  103. data/spec/internal/public/uploads/tmp/1500985473-59264-0004-6493/style.css +1 -0
  104. data/spec/internal/public/uploads/tmp/1500985475-59264-0007-8674/style.css +1 -0
  105. data/spec/internal/public/uploads/tmp/1500985538-59468-0002-9206/avatar.jpg +0 -0
  106. data/spec/internal/public/uploads/tmp/1500985538-59468-0004-2586/style.css +1 -0
  107. data/spec/internal/public/uploads/tmp/1500985538-59468-0007-6200/style.css +1 -0
  108. data/spec/internal/public/uploads/tmp/1500988358-65877-0002-4528/avatar.jpg +0 -0
  109. data/spec/internal/public/uploads/tmp/1500988358-65877-0004-5904/style.css +1 -0
  110. data/spec/internal/public/uploads/tmp/1500988358-65877-0007-7320/style.css +1 -0
  111. data/spec/internal/public/uploads/tmp/1500988407-65916-0002-3138/avatar.jpg +0 -0
  112. data/spec/internal/public/uploads/tmp/1500988407-65916-0004-5400/style.css +1 -0
  113. data/spec/internal/public/uploads/tmp/1500988407-65916-0007-1655/style.css +1 -0
  114. data/spec/internal/public/uploads/tmp/1500988421-65950-0002-9415/avatar.jpg +0 -0
  115. data/spec/internal/public/uploads/tmp/1500988421-65950-0004-7130/style.css +1 -0
  116. data/spec/internal/public/uploads/tmp/1500988421-65950-0007-9886/style.css +1 -0
  117. data/spec/internal/public/uploads/tmp/1500988435-65981-0002-3228/avatar.jpg +0 -0
  118. data/spec/internal/public/uploads/tmp/1500988435-65981-0004-3682/style.css +1 -0
  119. data/spec/internal/public/uploads/tmp/1500988435-65981-0007-1582/style.css +1 -0
  120. data/spec/internal/public/uploads/tmp/1500988475-66122-0002-9516/avatar.jpg +0 -0
  121. data/spec/internal/public/uploads/tmp/1500988475-66122-0004-5634/style.css +1 -0
  122. data/spec/internal/public/uploads/tmp/1500988530-66122-0007-2272/style.css +1 -0
  123. data/spec/internal/public/uploads/tmp/1500988554-66315-0002-6262/avatar.jpg +0 -0
  124. data/spec/internal/public/uploads/tmp/1500988554-66315-0004-6099/style.css +1 -0
  125. data/spec/internal/public/uploads/tmp/1500988554-66315-0007-1632/style.css +1 -0
  126. data/spec/internal/public/uploads/tmp/1500991751-73722-0002-9937/avatar.jpg +0 -0
  127. data/spec/internal/public/uploads/tmp/1500991751-73722-0004-8034/style.css +1 -0
  128. data/spec/internal/public/uploads/tmp/1500991751-73722-0007-7763/style.css +1 -0
  129. data/spec/internal/public/uploads/tmp/1501233238-34385-0002-3210/avatar.jpg +0 -0
  130. data/spec/internal/public/uploads/tmp/1501233238-34385-0004-5881/style.css +1 -0
  131. data/spec/internal/public/uploads/tmp/1501233238-34385-0007-6280/style.css +1 -0
  132. data/spec/models/kms/page_spec.rb +31 -0
  133. data/spec/models/kms/template_spec.rb +15 -0
  134. data/spec/services/kms/page_fetcher_spec.rb +36 -0
  135. data/spec/services/kms/search_service_spec.rb +53 -0
  136. data/spec/services/kms/template_processor_spec.rb +20 -0
  137. data/spec/support/controller_macros.rb +9 -1
  138. data/vendor/assets/bower.json +3 -2
  139. data/vendor/assets/bower_components/angular-ui-select/CHANGELOG.md +169 -0
  140. data/vendor/assets/bower_components/angular-ui-select/CONTRIBUTING.md +161 -0
  141. data/vendor/assets/bower_components/angular-ui-select/README.md +27 -13
  142. data/vendor/assets/bower_components/angular-ui-select/bower.json +6 -3
  143. data/vendor/assets/bower_components/angular-ui-select/composer.json +29 -0
  144. data/vendor/assets/bower_components/angular-ui-select/deploy-docs.sh +31 -0
  145. data/vendor/assets/bower_components/angular-ui-select/dist/select.css +48 -2
  146. data/vendor/assets/bower_components/angular-ui-select/dist/select.js +454 -111
  147. data/vendor/assets/bower_components/angular-ui-select/dist/select.min.css +2 -2
  148. data/vendor/assets/bower_components/angular-ui-select/dist/select.min.js +2 -2
  149. data/vendor/assets/bower_components/angular-ui-select/docs/assets/app.js +1 -0
  150. data/vendor/assets/bower_components/angular-ui-select/docs/assets/demo.js +461 -0
  151. data/vendor/assets/bower_components/angular-ui-select/docs/assets/docs.css +339 -0
  152. data/vendor/assets/bower_components/angular-ui-select/docs/assets/plunkr.js +110 -0
  153. data/vendor/assets/bower_components/angular-ui-select/docs/index.html +191 -0
  154. data/vendor/assets/bower_components/angular-ui-select/docs/partials/_footer.html +2 -0
  155. data/vendor/assets/bower_components/angular-ui-select/docs/partials/_header.html +64 -0
  156. data/vendor/assets/bower_components/angular-ui-select/index.js +2 -0
  157. data/vendor/assets/bower_components/angular-ui-select/package.json +36 -15
  158. data/vendor/assets/bower_components/bootstrap/CHANGELOG.md +5 -0
  159. data/vendor/assets/bower_components/bootstrap/Gemfile +6 -0
  160. data/vendor/assets/bower_components/bootstrap/Gemfile.lock +43 -0
  161. data/vendor/assets/bower_components/bootstrap/Gruntfile.js +176 -145
  162. data/vendor/assets/bower_components/bootstrap/ISSUE_TEMPLATE.md +22 -0
  163. data/vendor/assets/bower_components/bootstrap/LICENSE +1 -1
  164. data/vendor/assets/bower_components/bootstrap/README.md +55 -40
  165. data/vendor/assets/bower_components/bootstrap/bower.json +5 -9
  166. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.css +204 -59
  167. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.css.map +1 -1
  168. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.min.css +4 -3
  169. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.min.css.map +1 -0
  170. data/vendor/assets/bower_components/bootstrap/dist/css/{bootstrap.less → bootstrap.css} +881 -327
  171. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.css.map +1 -1
  172. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.min.css +6 -0
  173. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.min.css.map +1 -0
  174. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot +0 -0
  175. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.svg +272 -213
  176. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
  177. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff +0 -0
  178. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 +0 -0
  179. data/vendor/assets/bower_components/bootstrap/dist/js/bootstrap.js +549 -286
  180. data/vendor/assets/bower_components/bootstrap/dist/js/bootstrap.min.js +5 -4
  181. data/vendor/assets/bower_components/bootstrap/dist/js/npm.js +13 -0
  182. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
  183. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.svg +272 -213
  184. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
  185. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
  186. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff2 +0 -0
  187. data/vendor/assets/bower_components/bootstrap/grunt/bs-commonjs-generator.js +30 -0
  188. data/vendor/assets/bower_components/bootstrap/grunt/bs-glyphicons-data-generator.js +5 -4
  189. data/vendor/assets/bower_components/bootstrap/grunt/bs-lessdoc-parser.js +13 -12
  190. data/vendor/assets/bower_components/bootstrap/grunt/bs-raw-files-generator.js +6 -8
  191. data/vendor/assets/bower_components/bootstrap/grunt/change-version.js +109 -0
  192. data/vendor/assets/bower_components/bootstrap/grunt/configBridge.json +46 -0
  193. data/vendor/assets/bower_components/bootstrap/grunt/npm-shrinkwrap.json +2679 -0
  194. data/vendor/assets/bower_components/bootstrap/grunt/sauce_browsers.yml +5 -5
  195. data/vendor/assets/bower_components/bootstrap/js/affix.js +46 -26
  196. data/vendor/assets/bower_components/bootstrap/js/alert.js +8 -6
  197. data/vendor/assets/bower_components/bootstrap/js/button.js +34 -19
  198. data/vendor/assets/bower_components/bootstrap/js/carousel.js +35 -21
  199. data/vendor/assets/bower_components/bootstrap/js/collapse.js +69 -27
  200. data/vendor/assets/bower_components/bootstrap/js/dropdown.js +55 -41
  201. data/vendor/assets/bower_components/bootstrap/js/modal.js +91 -32
  202. data/vendor/assets/bower_components/bootstrap/js/popover.js +5 -10
  203. data/vendor/assets/bower_components/bootstrap/js/scrollspy.js +28 -26
  204. data/vendor/assets/bower_components/bootstrap/js/tab.js +45 -18
  205. data/vendor/assets/bower_components/bootstrap/js/tooltip.js +117 -54
  206. data/vendor/assets/bower_components/bootstrap/js/transition.js +2 -2
  207. data/vendor/assets/bower_components/bootstrap/less/alerts.less +5 -0
  208. data/vendor/assets/bower_components/bootstrap/less/badges.less +14 -3
  209. data/vendor/assets/bower_components/bootstrap/less/bootstrap.less +6 -0
  210. data/vendor/assets/bower_components/bootstrap/less/button-groups.less +22 -18
  211. data/vendor/assets/bower_components/bootstrap/less/buttons.less +19 -10
  212. data/vendor/assets/bower_components/bootstrap/less/carousel.less +34 -7
  213. data/vendor/assets/bower_components/bootstrap/less/close.less +1 -0
  214. data/vendor/assets/bower_components/bootstrap/less/code.less +1 -0
  215. data/vendor/assets/bower_components/bootstrap/less/component-animations.less +3 -1
  216. data/vendor/assets/bower_components/bootstrap/less/dropdowns.less +9 -8
  217. data/vendor/assets/bower_components/bootstrap/less/forms.less +123 -50
  218. data/vendor/assets/bower_components/bootstrap/less/glyphicons.less +75 -3
  219. data/vendor/assets/bower_components/bootstrap/less/input-groups.less +8 -3
  220. data/vendor/assets/bower_components/bootstrap/less/jumbotron.less +10 -4
  221. data/vendor/assets/bower_components/bootstrap/less/list-group.less +10 -11
  222. data/vendor/assets/bower_components/bootstrap/less/media.less +40 -30
  223. data/vendor/assets/bower_components/bootstrap/less/mixins.less +1 -0
  224. data/vendor/assets/bower_components/bootstrap/less/mixins/background-variant.less +2 -1
  225. data/vendor/assets/bower_components/bootstrap/less/mixins/buttons.less +19 -4
  226. data/vendor/assets/bower_components/bootstrap/less/mixins/forms.less +5 -1
  227. data/vendor/assets/bower_components/bootstrap/less/mixins/grid-framework.less +4 -4
  228. data/vendor/assets/bower_components/bootstrap/less/mixins/grid.less +4 -4
  229. data/vendor/assets/bower_components/bootstrap/less/mixins/hide-text.less +2 -2
  230. data/vendor/assets/bower_components/bootstrap/less/mixins/image.less +0 -1
  231. data/vendor/assets/bower_components/bootstrap/less/mixins/labels.less +1 -1
  232. data/vendor/assets/bower_components/bootstrap/less/mixins/list-group.less +2 -1
  233. data/vendor/assets/bower_components/bootstrap/less/mixins/pagination.less +2 -1
  234. data/vendor/assets/bower_components/bootstrap/less/mixins/reset-text.less +18 -0
  235. data/vendor/assets/bower_components/bootstrap/less/mixins/responsive-visibility.less +1 -1
  236. data/vendor/assets/bower_components/bootstrap/less/mixins/tab-focus.less +3 -3
  237. data/vendor/assets/bower_components/bootstrap/less/mixins/text-emphasis.less +2 -1
  238. data/vendor/assets/bower_components/bootstrap/less/mixins/vendor-prefixes.less +8 -5
  239. data/vendor/assets/bower_components/bootstrap/less/modals.less +3 -3
  240. data/vendor/assets/bower_components/bootstrap/less/navbar.less +30 -25
  241. data/vendor/assets/bower_components/bootstrap/less/navs.less +1 -1
  242. data/vendor/assets/bower_components/bootstrap/less/normalize.less +12 -13
  243. data/vendor/assets/bower_components/bootstrap/less/pager.less +1 -2
  244. data/vendor/assets/bower_components/bootstrap/less/pagination.less +5 -4
  245. data/vendor/assets/bower_components/bootstrap/less/panels.less +33 -5
  246. data/vendor/assets/bower_components/bootstrap/less/popovers.less +5 -7
  247. data/vendor/assets/bower_components/bootstrap/less/print.less +96 -96
  248. data/vendor/assets/bower_components/bootstrap/less/progress-bars.less +1 -19
  249. data/vendor/assets/bower_components/bootstrap/less/responsive-embed.less +10 -9
  250. data/vendor/assets/bower_components/bootstrap/less/scaffolding.less +13 -2
  251. data/vendor/assets/bower_components/bootstrap/less/tables.less +14 -13
  252. data/vendor/assets/bower_components/bootstrap/less/theme.less +49 -16
  253. data/vendor/assets/bower_components/bootstrap/less/thumbnails.less +1 -1
  254. data/vendor/assets/bower_components/bootstrap/less/tooltip.less +13 -7
  255. data/vendor/assets/bower_components/bootstrap/less/type.less +2 -13
  256. data/vendor/assets/bower_components/bootstrap/less/utilities.less +0 -2
  257. data/vendor/assets/bower_components/bootstrap/less/variables.less +45 -22
  258. data/vendor/assets/bower_components/bootstrap/nuget/MyGet.ps1 +8 -0
  259. data/vendor/assets/bower_components/bootstrap/nuget/bootstrap.less.nuspec +28 -0
  260. data/vendor/assets/bower_components/bootstrap/nuget/bootstrap.nuspec +28 -0
  261. data/vendor/assets/bower_components/bootstrap/package.js +32 -0
  262. data/vendor/assets/bower_components/bootstrap/package.json +49 -41
  263. data/vendor/assets/bower_components/flow.js/README.md +79 -64
  264. data/vendor/assets/bower_components/flow.js/bower.json +6 -2
  265. data/vendor/assets/bower_components/flow.js/dist/flow.js +1635 -1532
  266. data/vendor/assets/bower_components/flow.js/dist/flow.min.js +2 -2
  267. data/vendor/assets/bower_components/flow.js/package.js +24 -0
  268. data/vendor/assets/bower_components/flow.js/travis.sh +19 -0
  269. data/vendor/assets/bower_components/font-awesome/scss/_path.scss +5 -5
  270. data/vendor/assets/bower_components/font-awesome/scss/_variables.scss +1 -2
  271. data/vendor/assets/bower_components/ng-flow/bower.json +1 -1
  272. data/vendor/assets/bower_components/ng-flow/dist/ng-flow-standalone.js +1655 -1542
  273. data/vendor/assets/bower_components/ng-flow/dist/ng-flow-standalone.min.js +2 -2
  274. data/vendor/assets/bower_components/ng-flow/dist/ng-flow.js +19 -9
  275. data/vendor/assets/bower_components/ng-flow/dist/ng-flow.min.js +2 -2
  276. data/vendor/assets/bower_components/ng-flow/index.js +3 -0
  277. data/vendor/assets/bower_components/ng-flow/package.js +25 -0
  278. data/vendor/assets/bower_components/ng-flow/src/directives/drag-events.js +2 -1
  279. data/vendor/assets/bower_components/ng-flow/src/directives/events.js +2 -1
  280. data/vendor/assets/bower_components/ng-flow/src/directives/init.js +7 -1
  281. data/vendor/assets/bower_components/ng-flow/travis.sh +19 -0
  282. data/vendor/assets/bower_components/{Responsive-Dashboard → rdash-ui}/LICENSE +21 -21
  283. data/vendor/assets/bower_components/rdash-ui/README.md +55 -0
  284. data/vendor/assets/bower_components/rdash-ui/bower.json +33 -0
  285. data/vendor/assets/bower_components/rdash-ui/dist/css/rdash.min.css +1 -0
  286. data/vendor/assets/bower_components/rdash-ui/dist/css/rdash.scss +489 -0
  287. data/vendor/assets/bower_components/{Responsive-Dashboard/src → rdash-ui/dist}/fonts/montserrat-regular-webfont.eot +0 -0
  288. data/vendor/assets/bower_components/{Responsive-Dashboard/src → rdash-ui/dist}/fonts/montserrat-regular-webfont.svg +1316 -1316
  289. data/vendor/assets/bower_components/{Responsive-Dashboard/src → rdash-ui/dist}/fonts/montserrat-regular-webfont.ttf +0 -0
  290. data/vendor/assets/bower_components/{Responsive-Dashboard/src → rdash-ui/dist}/fonts/montserrat-regular-webfont.woff +0 -0
  291. metadata +227 -180
  292. data/config/initializers/bower_rails.rb +0 -16
  293. data/vendor/assets/bower_components/Responsive-Dashboard/CONTRIBUTING.md +0 -21
  294. data/vendor/assets/bower_components/Responsive-Dashboard/README.md +0 -119
  295. data/vendor/assets/bower_components/Responsive-Dashboard/bower.json +0 -32
  296. data/vendor/assets/bower_components/Responsive-Dashboard/gulpfile.js +0 -81
  297. data/vendor/assets/bower_components/Responsive-Dashboard/package.json +0 -21
  298. data/vendor/assets/bower_components/Responsive-Dashboard/src/index.html +0 -413
  299. data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/controllers/alerts-ctrl.js +0 -19
  300. data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/controllers/master-ctrl.js +0 -51
  301. data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/directives/loading.js +0 -13
  302. data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/directives/widget-body.js +0 -16
  303. data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/directives/widget-header.js +0 -17
  304. data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/directives/widget.js +0 -16
  305. data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/module.js +0 -1
  306. data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/routes.js +0 -22
  307. data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/content.less +0 -19
  308. data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/hamburg.less +0 -29
  309. data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/header.less +0 -92
  310. data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/loading.less +0 -40
  311. data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/main.less +0 -73
  312. data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/mixins.less +0 -5
  313. data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/sidebar.less +0 -122
  314. data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/variables.less +0 -10
  315. data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/widgets.less +0 -95
  316. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.min.css.erb +0 -5
  317. data/vendor/assets/bower_components/flow.js/CHANGELOG.md +0 -37
  318. data/vendor/assets/bower_components/flow.js/Gruntfile.js +0 -132
  319. data/vendor/assets/bower_components/flow.js/karma.conf.js +0 -114
  320. data/vendor/assets/bower_components/flow.js/package.json +0 -50
  321. data/vendor/assets/bower_components/flow.js/src/flow.js +0 -1532
  322. data/vendor/assets/bower_components/jquery/MIT-LICENSE.txt +0 -21
  323. data/vendor/assets/bower_components/jquery/bower.json +0 -27
  324. data/vendor/assets/bower_components/jquery/dist/jquery.js +0 -9190
  325. data/vendor/assets/bower_components/jquery/dist/jquery.min.js +0 -5
  326. data/vendor/assets/bower_components/jquery/dist/jquery.min.map +0 -1
  327. data/vendor/assets/bower_components/jquery/src/ajax.js +0 -806
  328. data/vendor/assets/bower_components/jquery/src/ajax/jsonp.js +0 -89
  329. data/vendor/assets/bower_components/jquery/src/ajax/load.js +0 -75
  330. data/vendor/assets/bower_components/jquery/src/ajax/parseJSON.js +0 -13
  331. data/vendor/assets/bower_components/jquery/src/ajax/parseXML.js +0 -28
  332. data/vendor/assets/bower_components/jquery/src/ajax/script.js +0 -64
  333. data/vendor/assets/bower_components/jquery/src/ajax/var/nonce.js +0 -5
  334. data/vendor/assets/bower_components/jquery/src/ajax/var/rquery.js +0 -3
  335. data/vendor/assets/bower_components/jquery/src/ajax/xhr.js +0 -135
  336. data/vendor/assets/bower_components/jquery/src/attributes.js +0 -11
  337. data/vendor/assets/bower_components/jquery/src/attributes/attr.js +0 -143
  338. data/vendor/assets/bower_components/jquery/src/attributes/classes.js +0 -158
  339. data/vendor/assets/bower_components/jquery/src/attributes/prop.js +0 -96
  340. data/vendor/assets/bower_components/jquery/src/attributes/support.js +0 -35
  341. data/vendor/assets/bower_components/jquery/src/attributes/val.js +0 -163
  342. data/vendor/assets/bower_components/jquery/src/callbacks.js +0 -205
  343. data/vendor/assets/bower_components/jquery/src/core.js +0 -498
  344. data/vendor/assets/bower_components/jquery/src/core/access.js +0 -60
  345. data/vendor/assets/bower_components/jquery/src/core/init.js +0 -123
  346. data/vendor/assets/bower_components/jquery/src/core/parseHTML.js +0 -39
  347. data/vendor/assets/bower_components/jquery/src/core/ready.js +0 -97
  348. data/vendor/assets/bower_components/jquery/src/core/var/rsingleTag.js +0 -4
  349. data/vendor/assets/bower_components/jquery/src/css.js +0 -451
  350. data/vendor/assets/bower_components/jquery/src/css/addGetHookIf.js +0 -24
  351. data/vendor/assets/bower_components/jquery/src/css/curCSS.js +0 -57
  352. data/vendor/assets/bower_components/jquery/src/css/defaultDisplay.js +0 -70
  353. data/vendor/assets/bower_components/jquery/src/css/hiddenVisibleSelectors.js +0 -15
  354. data/vendor/assets/bower_components/jquery/src/css/support.js +0 -91
  355. data/vendor/assets/bower_components/jquery/src/css/swap.js +0 -28
  356. data/vendor/assets/bower_components/jquery/src/css/var/cssExpand.js +0 -3
  357. data/vendor/assets/bower_components/jquery/src/css/var/getStyles.js +0 -5
  358. data/vendor/assets/bower_components/jquery/src/css/var/isHidden.js +0 -13
  359. data/vendor/assets/bower_components/jquery/src/css/var/rmargin.js +0 -3
  360. data/vendor/assets/bower_components/jquery/src/css/var/rnumnonpx.js +0 -5
  361. data/vendor/assets/bower_components/jquery/src/data.js +0 -179
  362. data/vendor/assets/bower_components/jquery/src/data/Data.js +0 -181
  363. data/vendor/assets/bower_components/jquery/src/data/accepts.js +0 -20
  364. data/vendor/assets/bower_components/jquery/src/data/var/data_priv.js +0 -5
  365. data/vendor/assets/bower_components/jquery/src/data/var/data_user.js +0 -5
  366. data/vendor/assets/bower_components/jquery/src/deferred.js +0 -149
  367. data/vendor/assets/bower_components/jquery/src/deprecated.js +0 -13
  368. data/vendor/assets/bower_components/jquery/src/dimensions.js +0 -50
  369. data/vendor/assets/bower_components/jquery/src/effects.js +0 -649
  370. data/vendor/assets/bower_components/jquery/src/effects/Tween.js +0 -114
  371. data/vendor/assets/bower_components/jquery/src/effects/animatedSelector.js +0 -13
  372. data/vendor/assets/bower_components/jquery/src/event.js +0 -868
  373. data/vendor/assets/bower_components/jquery/src/event/alias.js +0 -39
  374. data/vendor/assets/bower_components/jquery/src/event/support.js +0 -9
  375. data/vendor/assets/bower_components/jquery/src/exports/amd.js +0 -24
  376. data/vendor/assets/bower_components/jquery/src/exports/global.js +0 -32
  377. data/vendor/assets/bower_components/jquery/src/intro.js +0 -44
  378. data/vendor/assets/bower_components/jquery/src/jquery.js +0 -36
  379. data/vendor/assets/bower_components/jquery/src/manipulation.js +0 -582
  380. data/vendor/assets/bower_components/jquery/src/manipulation/_evalUrl.js +0 -18
  381. data/vendor/assets/bower_components/jquery/src/manipulation/support.js +0 -31
  382. data/vendor/assets/bower_components/jquery/src/manipulation/var/rcheckableType.js +0 -3
  383. data/vendor/assets/bower_components/jquery/src/offset.js +0 -204
  384. data/vendor/assets/bower_components/jquery/src/outro.js +0 -1
  385. data/vendor/assets/bower_components/jquery/src/queue.js +0 -142
  386. data/vendor/assets/bower_components/jquery/src/queue/delay.js +0 -22
  387. data/vendor/assets/bower_components/jquery/src/selector-native.js +0 -172
  388. data/vendor/assets/bower_components/jquery/src/selector-sizzle.js +0 -14
  389. data/vendor/assets/bower_components/jquery/src/selector.js +0 -1
  390. data/vendor/assets/bower_components/jquery/src/serialize.js +0 -111
  391. data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.js +0 -2044
  392. data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.min.js +0 -3
  393. data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.min.map +0 -1
  394. data/vendor/assets/bower_components/jquery/src/traversing.js +0 -200
  395. data/vendor/assets/bower_components/jquery/src/traversing/findFilter.js +0 -100
  396. data/vendor/assets/bower_components/jquery/src/traversing/var/rneedsContext.js +0 -6
  397. data/vendor/assets/bower_components/jquery/src/var/arr.js +0 -3
  398. data/vendor/assets/bower_components/jquery/src/var/class2type.js +0 -4
  399. data/vendor/assets/bower_components/jquery/src/var/concat.js +0 -5
  400. data/vendor/assets/bower_components/jquery/src/var/hasOwn.js +0 -5
  401. data/vendor/assets/bower_components/jquery/src/var/indexOf.js +0 -5
  402. data/vendor/assets/bower_components/jquery/src/var/pnum.js +0 -3
  403. data/vendor/assets/bower_components/jquery/src/var/push.js +0 -5
  404. data/vendor/assets/bower_components/jquery/src/var/rnotwhite.js +0 -3
  405. data/vendor/assets/bower_components/jquery/src/var/slice.js +0 -5
  406. data/vendor/assets/bower_components/jquery/src/var/strundefined.js +0 -3
  407. data/vendor/assets/bower_components/jquery/src/var/support.js +0 -4
  408. data/vendor/assets/bower_components/jquery/src/var/toString.js +0 -5
  409. data/vendor/assets/bower_components/jquery/src/wrap.js +0 -78
@@ -0,0 +1,339 @@
1
+ /*
2
+ Taken from angular-ui/bootstrap
3
+ See https://github.com/angular-ui/bootstrap/blob/master/misc/demo/assets/demo.css
4
+ */
5
+
6
+ body {
7
+ opacity: 1;
8
+ -webkit-transition: opacity 1s ease;
9
+ -moz-transition: opacity 1s ease;
10
+ transition: opacity 1s;
11
+ }
12
+
13
+ .ng-cloak {
14
+ opacity: 0;
15
+ }
16
+
17
+ .ng-invalid {
18
+ border: 1px solid red !important;
19
+ }
20
+
21
+ section {
22
+ padding-top: 30px;
23
+ }
24
+
25
+ .page-header h1 > small > a {
26
+ color: #999;
27
+ }
28
+
29
+ .page-header h1 > small > a:hover {
30
+ text-decoration: none;
31
+ }
32
+
33
+ .footer {
34
+ text-align: center;
35
+ padding: 30px 0;
36
+ margin-top: 70px;
37
+ border-top: 1px solid #e5e5e5;
38
+ background-color: #f5f5f5;
39
+ }
40
+
41
+ .bs-social {
42
+ margin-top: 20px;
43
+ margin-bottom: 20px;
44
+ text-align: center;
45
+ }
46
+
47
+ @media (min-width: 768px) {
48
+
49
+ .bs-social {
50
+ text-align: left;
51
+ }
52
+ }
53
+
54
+ .nav, .pagination, .carousel, .panel-title a {
55
+ cursor: pointer;
56
+ }
57
+
58
+ .bs-social-buttons {
59
+ display: inline-block;
60
+ margin-bottom: 0;
61
+ padding-left: 0;
62
+ list-style: none;
63
+ }
64
+
65
+ .bs-social-buttons li {
66
+ display: inline-block;
67
+ padding: 5px 8px;
68
+ line-height: 1;
69
+ }
70
+
71
+ @media (max-width: 767px) {
72
+
73
+ .visible-xs.collapse.in {
74
+ display: block !important;
75
+ }
76
+
77
+ .visible-xs.collapse {
78
+ display: none !important;
79
+ }
80
+ }
81
+
82
+ .navbar .collapse {
83
+ border-top: 1px solid #e7e7e7;
84
+ margin-left: -15px;
85
+ margin-right: -15px;
86
+ padding-right: 15px;
87
+ padding-left: 15px;
88
+ }
89
+
90
+ .show-grid {
91
+ margin-bottom: 15px;
92
+ }
93
+
94
+ /*
95
+ * Container
96
+ *
97
+ * Tweak to width of container.
98
+ */
99
+
100
+ /*@media (min-width: 1200px) {
101
+ .container{
102
+ max-width: 970px;
103
+ }
104
+ }*/
105
+
106
+ /*
107
+ * Tabs
108
+ *
109
+ * Tweaks to the Tabs.
110
+ */
111
+
112
+ .code .nav-tabs {
113
+ border-bottom: 1px solid #ccc;
114
+ }
115
+
116
+ .code pre, .code code {
117
+ border-top: none;
118
+ border-top-left-radius: 0;
119
+ border-top-right-radius: 0;
120
+ }
121
+
122
+ .code .nav-tabs > li.active > a, .code .nav-tabs > li.active > a:hover, .code .nav-tabs > li.active > a:focus {
123
+ background-color: #f8f8f8;
124
+ border: 1px solid #ccc;
125
+ border-bottom-color: transparent;
126
+ }
127
+
128
+ /*
129
+ * Button Inverse
130
+ *
131
+ * Buttons in the masthead.
132
+ */
133
+
134
+ .btn-outline-inverse {
135
+ color: #fff;
136
+ background-color: transparent;
137
+ border-color: #cdbfe3;
138
+ margin: 10px;
139
+ }
140
+
141
+ @media (min-width: 768px) {
142
+
143
+ .btn-outline-inverse {
144
+ width: auto;
145
+ margin: 20px 5px 20px 0;
146
+ padding: 18px 24px;
147
+ font-size: 21px;
148
+ }
149
+ }
150
+
151
+ .btn-outline-inverse:hover, .btn-outline-inverse:focus, .btn-outline-inverse:active {
152
+ color: #563d7c;
153
+ text-shadow: none;
154
+ background-color: #fff;
155
+ border-color: #fff;
156
+ }
157
+
158
+
159
+ /* Page headers */
160
+ .bs-header {
161
+ padding: 30px 15px 40px; /* side padding builds on .container 15px, so 30px */
162
+ font-size: 16px;
163
+ text-align: center;
164
+ text-shadow: 0 1px 0 rgba(0,0,0,.15);
165
+ color: #cdbfe3;
166
+ background-color: #563d7c;
167
+ background-image: url(header.png);
168
+ }
169
+
170
+ .bs-header a {
171
+ color: #fff;
172
+ font-weight: normal;
173
+ }
174
+
175
+ .bs-header h1 {
176
+ color: #fff;
177
+ }
178
+
179
+ .bs-header p {
180
+ font-weight: 200;
181
+ line-height: 1.4;
182
+ }
183
+
184
+ .bs-header .container {
185
+ position: relative;
186
+ }
187
+
188
+ @media (min-width: 768px) {
189
+ .bs-header {
190
+ font-size: 30px;
191
+ text-align: left;
192
+ }
193
+
194
+ .bs-header h1 {
195
+ font-size: 100px;
196
+ line-height: 1;
197
+ }
198
+ }
199
+
200
+ @media (min-width: 992px) {
201
+ .bs-header p {
202
+ margin-right: 25%;
203
+ }
204
+ }
205
+
206
+ .navbar-inner {
207
+ -webkit-box-shadow: 0 3px 3px rgba(0,0,0,0.175);
208
+ box-shadow: 0 3px 3px rgba(0,0,0,0.175);
209
+ }
210
+
211
+ /*
212
+ * Side navigation
213
+ *
214
+ * Scrollspy and affixed enhanced navigation to highlight sections and secondary
215
+ * sections of docs content.
216
+ */
217
+
218
+ /* By default it's not affixed in mobile views, so undo that */
219
+ .bs-sidebar.affix {
220
+ position: static;
221
+ }
222
+
223
+ /* First level of nav */
224
+ .bs-sidenav {
225
+ margin-top: 30px;
226
+ margin-bottom: 30px;
227
+ padding-top: 10px;
228
+ padding-bottom: 10px;
229
+ text-shadow: 0 1px 0 #fff;
230
+ background-color: #f7f5fa;
231
+ border-radius: 5px;
232
+ }
233
+
234
+ /* All levels of nav */
235
+ .bs-sidebar .nav > li > a {
236
+ display: block;
237
+ color: #716b7a;
238
+ padding: 5px 20px;
239
+ }
240
+
241
+ .bs-sidebar .nav > li > a:hover,
242
+ .bs-sidebar .nav > li > a:focus {
243
+ text-decoration: none;
244
+ background-color: #e5e3e9;
245
+ border-right: 1px solid #dbd8e0;
246
+ }
247
+
248
+ .bs-sidebar .nav > .active > a,
249
+ .bs-sidebar .nav > .active:hover > a,
250
+ .bs-sidebar .nav > .active:focus > a {
251
+ font-weight: bold;
252
+ color: #563d7c;
253
+ background-color: transparent;
254
+ border-right: 1px solid #563d7c;
255
+ }
256
+
257
+ /* Nav: second level (shown on .active) */
258
+ .bs-sidebar .nav .nav {
259
+ display: none; /* Hide by default, but at >768px, show it */
260
+ margin-bottom: 8px;
261
+ }
262
+
263
+ .bs-sidebar .nav .nav > li > a {
264
+ padding-top: 3px;
265
+ padding-bottom: 3px;
266
+ padding-left: 30px;
267
+ font-size: 90%;
268
+ }
269
+
270
+ /* Show and affix the side nav when space allows it */
271
+ @media (min-width: 992px) {
272
+ .bs-sidebar .nav > .active > ul {
273
+ display: block;
274
+ }
275
+ /* Widen the fixed sidebar */
276
+ .bs-sidebar.affix,
277
+ .bs-sidebar.affix-bottom {
278
+ width: 213px;
279
+ }
280
+
281
+ .bs-sidebar.affix {
282
+ position: fixed; /* Undo the static from mobile first approach */
283
+ top: 80px;
284
+ }
285
+
286
+ .bs-sidebar.affix-bottom {
287
+ position: absolute; /* Undo the static from mobile first approach */
288
+ }
289
+
290
+ .bs-sidebar.affix-bottom .bs-sidenav,
291
+ .bs-sidebar.affix .bs-sidenav {
292
+ margin-top: 0;
293
+ margin-bottom: 0;
294
+ }
295
+ }
296
+
297
+ @media (min-width: 1200px) {
298
+ /* Widen the fixed sidebar again */
299
+ .bs-sidebar.affix-bottom,
300
+ .bs-sidebar.affix {
301
+ width: 263px;
302
+ }
303
+ }
304
+
305
+
306
+ /* Not enough room on mobile for markup tab, js tab, and plunk btn.
307
+ And no one cares about plunk button on a phone anyway */
308
+ @media only screen and (max-device-width: 480px) {
309
+ #plunk-btn {
310
+ display: none;
311
+ }
312
+ }
313
+
314
+ .navbar-nav .dropdown .navbar-brand {
315
+ max-width: 100%;
316
+ margin-right: inherit;
317
+ margin-left: inherit;
318
+ }
319
+
320
+ .header-placeholder {
321
+ height: 50px;
322
+ }
323
+
324
+ @media screen and (min-width: 768px) {
325
+
326
+ .dropdown.open > .navbar-brand + .dropdown-menu {
327
+ left: 10px;
328
+ }
329
+
330
+ .header-placeholder {
331
+ height: 50px;
332
+ }
333
+
334
+ .navbar-nav .dropdown .navbar-brand {
335
+ max-width: 200px;
336
+ margin-right: 5px;
337
+ margin-left: 10px;
338
+ }
339
+ }
@@ -0,0 +1,110 @@
1
+ angular.module('plunkr', [])
2
+ .factory('formPostData', ['$document', function ($document) {
3
+ return function (url, newWindow, fields) {
4
+ /**
5
+ * If the form posts to target="_blank", pop-up blockers can cause it not to work.
6
+ * If a user choses to bypass pop-up blocker one time and click the link, they will arrive at
7
+ * a new default plnkr, not a plnkr with the desired template. Given this undesired behavior,
8
+ * some may still want to open the plnk in a new window by opting-in via ctrl+click. The
9
+ * newWindow param allows for this possibility.
10
+ */
11
+ var target = newWindow ? '_blank' : '_self';
12
+ var form = angular.element('<form style="display: none;" method="post" action="' + url + '" target="' + target + '"></form>');
13
+ angular.forEach(fields, function (value, name) {
14
+ var input = angular.element('<input type="hidden" name="' + name + '">');
15
+ input.attr('value', value);
16
+ form.append(input);
17
+ });
18
+ $document.find('body').append(form);
19
+ form[0].submit();
20
+ form.remove();
21
+ };
22
+ }])
23
+
24
+
25
+ .directive('plnkrOpener', ['$q', 'getExampleData', 'formPostData', function ($q, getExampleData, formPostData) {
26
+ return {
27
+ scope: {},
28
+ bindToController: {
29
+ 'examplePath': '@'
30
+ },
31
+ controllerAs: 'plnkr',
32
+ template: '<button ng-click="plnkr.open($event)" class="btn btn-info btn-sm plunk-btn"> <i class="glyphicon glyphicon-edit">&nbsp;</i> Edit in Plunker</button> ',
33
+ controller: [function () {
34
+ var ctrl = this;
35
+
36
+ ctrl.prepareExampleData = function (examplePath) {
37
+ if (ctrl.prepared) {
38
+ return $q.when(ctrl.prepared);
39
+ } else {
40
+ return getExampleData(examplePath).then(function (data) {
41
+ ctrl.prepared = data;
42
+ });
43
+ }
44
+ };
45
+
46
+ ctrl.open = function (clickEvent) {
47
+
48
+ var newWindow = clickEvent.ctrlKey || clickEvent.metaKey;
49
+ var postData = {
50
+ 'tags[0]': "angularjs",
51
+ 'tags[1]': "ui-select",
52
+ 'private': true
53
+ };
54
+
55
+ // Make sure the example data is available.
56
+ // If an XHR must be made, this might break some pop-up blockers when
57
+ // new window is requested
58
+ ctrl.prepareExampleData(ctrl.examplePath)
59
+ .then(function () {
60
+ angular.forEach(ctrl.prepared, function (file) {
61
+ postData['files[' + file.name + ']'] = file.content;
62
+ });
63
+
64
+ postData.description = "Angular ui-select http://github.com/angular-ui/ui-select/";
65
+
66
+ formPostData('http://plnkr.co/edit/?p=preview', newWindow, postData);
67
+ });
68
+ };
69
+
70
+ // Initialize the example data, so it's ready when clicking the open button.
71
+ // Otherwise pop-up blockers will prevent a new window from opening
72
+ ctrl.prepareExampleData(ctrl.examplePath);
73
+ }]
74
+ };
75
+ }])
76
+
77
+ .factory('getExampleData', ['$http', '$q', function ($http, $q) {
78
+ return function (exampleFile) {
79
+ // Load the manifest for the example
80
+ var defaultFiles = {
81
+ 'demo.js': './assets/',
82
+ 'select.css': './dist',
83
+ 'select.js': './dist'
84
+ };
85
+ files = angular.copy(defaultFiles);
86
+ files[exampleFile] = './';
87
+
88
+ var filePromises = [];
89
+
90
+ angular.forEach(files, function (folder, filename) {
91
+ filePromises.push($http.get(folder + '/' + filename, { transformResponse: [], cache: true })
92
+ .then(function (response) {
93
+
94
+ var content = response.data;
95
+ // Should only be one html (the example)
96
+ if (filename.match(/.html$/)) {
97
+ filename = "index.html";
98
+ content = content.replace(/.\/assets\//g, './').replace(/.\/dist\//g, './');
99
+ }
100
+
101
+ return {
102
+ name: filename,
103
+ content: content
104
+ };
105
+ }));
106
+ });
107
+
108
+ return $q.all(filePromises);
109
+ };
110
+ }]);
@@ -0,0 +1,191 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en" ng-app="ui.select.pages">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>AngularJS ui-select</title>
6
+
7
+ <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.js"></script>
8
+ <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular-sanitize.js"></script>
9
+
10
+ <script src="./assets/app.js" type="text/javascript"></script>
11
+ <script src="./assets/plunkr.js" type="text/javascript"></script>
12
+
13
+ <!-- themes -->
14
+ <link rel="stylesheet" href="https://netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.css">
15
+ <link rel="stylesheet" href="./assets/docs.css" />
16
+
17
+ </head>
18
+
19
+ <body>
20
+ <header class="navbar navbar-default navbar-fixed-top navbar-inner">
21
+ <div class="container">
22
+ <div class="navbar-header">
23
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-3" ng-click="isCollapsed = !isCollapsed">
24
+ <span class="sr-only">Toggle navigation</span>
25
+ <span class="icon-bar"></span>
26
+ <span class="icon-bar"></span>
27
+ <span class="icon-bar"></span>
28
+ </button>
29
+ <a class="navbar-brand visible-xs" href="#">UI Select</a>
30
+ </div>
31
+ <nav class="hidden-xs">
32
+ <ul class="nav navbar-nav">
33
+ <a href="#top" role="button" class="navbar-brand">
34
+ UI Select
35
+ </a>
36
+ <li><a href="#getting_started">Getting started</a></li>
37
+ <li><a href="#documenation">Documentation</a></li>
38
+ <li><a href="#examples">Examples</a></li>
39
+ <!--<li class="dropdown" uib-dropdown>
40
+ <a role="button" class="dropdown-toggle" uib-dropdown-toggle>
41
+ Previous docs <b class="caret"></b>
42
+ </a>
43
+ <ul class="dropdown-menu">
44
+ <li ng-repeat="version in oldDocs">
45
+ <a ng-href="{{version.url}}">{{version.version}}</a>
46
+ </li>
47
+ </ul>
48
+ </li>-->
49
+ </ul>
50
+ </nav>
51
+ <nav class="visible-xs" uib-collapse="!isCollapsed">
52
+ <ul class="nav navbar-nav">
53
+ <li><a href="#getting_started" ng-click="isCollapsed = !isCollapsed">Getting started</a></li>
54
+ <li><a href="#directives_small" ng-click="isCollapsed = !isCollapsed">Directives</a></li>
55
+ </ul>
56
+ </nav>
57
+ </div>
58
+ </header>
59
+ <div class="header-placeholder"></div>
60
+ <div role="main">
61
+ <header class="bs-header text-center" id="overview">
62
+ <div class="container">
63
+
64
+ <h1>UI Select</h1>
65
+ <p>
66
+ A native <a href="http://angularjs.org">AngularJS</a> implementation of Select2/Selectize by the
67
+ <a href="http://angular-ui.github.io">AngularUI Team</a>
68
+ </p>
69
+
70
+ <p>
71
+ <a class="btn btn-outline-inverse btn-lg" href="https://github.com/angular-ui/ui-select"><i class="icon-github"></i>Code on Github</a>
72
+ <!--<button type="button" class="btn btn-outline-inverse btn-lg" ng-click="showDownloadModal()">
73
+ <i class="glyphicon glyphicon-download-alt"></i> Download <small>(<%= pkg.version%>)</small>
74
+ </button>-->
75
+ </p>
76
+ </div>
77
+ <div class="bs-social container">
78
+ <ul class="bs-social-buttons">
79
+ <li>
80
+ <iframe src="//ghbtns.com/github-btn.html?user=angular-ui&repo=ui-select&type=watch&count=true"
81
+ allowtransparency="true" frameborder="0" scrolling="0" width="110" height="20"></iframe>
82
+ </li>
83
+ <li>
84
+ <iframe src="//ghbtns.com/github-btn.html?user=angular-ui&repo=ui-select&type=fork&count=true"
85
+ allowtransparency="true" frameborder="0" scrolling="0" width="110" height="20"></iframe>
86
+ </li>
87
+ <li>
88
+ <a href="https://twitter.com/share" class="twitter-share-button"
89
+ data-hashtags="angularjs">Tweet</a>
90
+ <script>
91
+ !function (d, s, id) {
92
+ var js, fjs = d.getElementsByTagName(s)[0];
93
+ if (!d.getElementById(id)) {
94
+ js = d.createElement(s);
95
+ js.id = id;
96
+ js.src = "//platform.twitter.com/widgets.js";
97
+ fjs.parentNode.insertBefore(js, fjs);
98
+ }
99
+ }(document, "script", "twitter-wjs");</script>
100
+ </li>
101
+ <li>
102
+ <!-- Place this tag where you want the +1 button to render. -->
103
+ <div class="g-plusone" data-size="medium"></div>
104
+
105
+ <!-- Place this tag after the last +1 button tag. -->
106
+ <script type="text/javascript">
107
+ (function () {
108
+ var po = document.createElement('script');
109
+ po.type = 'text/javascript';
110
+ po.async = true;
111
+ po.src = 'https://apis.google.com/js/plusone.js';
112
+ var s = document.getElementsByTagName('script')[0];
113
+ s.parentNode.insertBefore(po, s);
114
+ })();
115
+ </script>
116
+ </li>
117
+ </ul>
118
+ </div>
119
+ </header>
120
+ <div class="container">
121
+ <div class="row">
122
+ <div class="col-md-12">
123
+ <section id="getting_started">
124
+ <div class="page-header">
125
+ <h1>Getting started</h1>
126
+ </div>
127
+ <h3>Dependencies</h3>
128
+ <p>
129
+ This repository contains a <strong>native AngularJS</strong> select directive based on
130
+ Bootstrap/Select2/Selectize's CSS. As a result no dependency on jQuery or 3rd-Party
131
+ JavaScript is required. The only <strong>required</strong> dependencies are:
132
+ </p>
133
+ <ul>
134
+ <li>
135
+ <a href="http://angularjs.org" target="_blank">AngularJS</a> (requires AngularJS 1.2.x or higher, tested with 1.5.3).
136
+ </li>
137
+ <li>
138
+ <a href="http://angularjs.org" target="_blank">Angular-Sanitze</a> (the version should match your version of angular.js).
139
+ </li>
140
+ <li>
141
+ The matching CSS for your the theme you wish to use:
142
+ <ul>
143
+ <li>Bootstrap</li>
144
+ <li>Select2</li>
145
+ <li>Selectize</li>
146
+ </ul>
147
+ </li>
148
+ </ul>
149
+
150
+ <h3>Installation</h3>
151
+ <h4>Install via npm</h4>
152
+ <pre>$ npm install ui-select</pre>
153
+ <h4>Install via bower</h4>
154
+ <pre>$ bower install angular-ui-select</pre>
155
+ <p>
156
+ As soon as you've got all the files downloaded and included in your page you just need to declare
157
+ a dependency on the <code>ui.select</code> <a href="http://docs.angularjs.org/guide/module">module</a>:<br>
158
+ <pre><code>angular.module('myModule', ['ui.select', 'ngSanitize']);</code></pre>
159
+ </p>
160
+
161
+ </section>
162
+ <section id="documenation">
163
+ <div class="page-header">
164
+ <h1>Documentation</h1>
165
+ </div>
166
+ <h3>Wiki</h3>
167
+ For up to date information please refer to the <a href="https://github.com/angular-ui/ui-select/wiki" target="_blank">Wiki</a>
168
+ <h3>FAQ</h3>
169
+ <p>Please check <a href="https://github.com/angular-ui/ui-select/wiki/FAQs" target="_blank">our FAQ section</a> for common problems / solutions.</p>
170
+ </section>
171
+ <section id="examples">
172
+ <div class="page-header">
173
+ <h1>Examples</h1>
174
+ </div>
175
+ <p>You can fork one of the plunkers from this page to see a working example of what is described here.</p>
176
+
177
+ <!-- INSERT EXAMPLES HERE -->
178
+ </section>
179
+ </div>
180
+ </div>
181
+ </div><!-- /.container -->
182
+ </div><!-- /.main -->
183
+ <footer class="footer">
184
+ <div class="container">
185
+ <p>Designed and built by all ui-select <a href="https://github.com/angular-ui/ui-select/graphs/contributors" target="_blank">contributors</a>.</p>
186
+ <p>Code licensed under <a href="https://github.com/angular-ui/ui-select/blob/master/LICENSE">MIT License</a>.</p>
187
+ <p><a href="https://github.com/angular-ui/ui-select/issues?state=open">Issues</a></p>
188
+ </div>
189
+ </footer>
190
+ </body>
191
+ </html>