iqvoc 4.12.0 → 4.13.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (855) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +29 -0
  3. data/Gemfile +32 -41
  4. data/Gemfile.lock +439 -351
  5. data/README.md +19 -9
  6. data/{vendor → app}/assets/images/ajax-loader.gif +0 -0
  7. data/{vendor → app}/assets/images/treeview-default-line.gif +0 -0
  8. data/app/assets/javascripts/framework.js +5 -9
  9. data/app/assets/javascripts/iqvoc/autocomplete.js +2 -0
  10. data/app/assets/javascripts/iqvoc/concept_mapping_manager.js +141 -123
  11. data/app/assets/javascripts/iqvoc/create_note.js +52 -0
  12. data/app/assets/javascripts/iqvoc/debounce.js +21 -0
  13. data/app/assets/javascripts/iqvoc/{entityselect.js.erb → entityselect.js} +7 -5
  14. data/app/assets/javascripts/iqvoc/entityselect_qualified.js +51 -0
  15. data/app/assets/javascripts/iqvoc/federated_concept_mapper.js +126 -56
  16. data/app/assets/javascripts/iqvoc/hover_menues.js +14 -0
  17. data/app/assets/javascripts/iqvoc/iqvoc.js +57 -151
  18. data/app/assets/javascripts/iqvoc/label_resolver.js +35 -30
  19. data/app/assets/javascripts/iqvoc/langselect.js +2 -2
  20. data/app/assets/javascripts/iqvoc/manifest.js +12 -12
  21. data/app/assets/javascripts/iqvoc/treeview.js +228 -228
  22. data/app/assets/javascripts/manifest.js +2 -2
  23. data/app/assets/stylesheets/_framework.scss +3 -4
  24. data/app/assets/stylesheets/iqvoc/{settings/_bootstrap.scss → _bootstrap_overrides.scss} +54 -6
  25. data/app/assets/stylesheets/iqvoc/_manifest.scss +15 -17
  26. data/app/assets/stylesheets/iqvoc/components/_components.scss +31 -50
  27. data/app/assets/stylesheets/iqvoc/components/_entity_select.scss +5 -9
  28. data/app/assets/stylesheets/iqvoc/components/_label-list.scss +3 -3
  29. data/app/assets/stylesheets/iqvoc/components/_modals.scss +3 -5
  30. data/app/assets/stylesheets/iqvoc/components/_notes.scss +5 -0
  31. data/app/assets/stylesheets/iqvoc/components/_onebox.scss +18 -0
  32. data/app/assets/stylesheets/iqvoc/components/_sidebars.scss +6 -2
  33. data/app/assets/stylesheets/iqvoc/components/_simplete.scss +38 -0
  34. data/app/assets/stylesheets/iqvoc/components/{_treeview.scss.erb → _treeview.scss} +12 -3
  35. data/app/assets/stylesheets/iqvoc/components/typeahead.scss +4 -2
  36. data/app/assets/stylesheets/iqvoc/hacks/_hacks.scss +1 -1
  37. data/app/assets/stylesheets/iqvoc/settings/_bootstrap-variables.scss +1 -853
  38. data/app/assets/stylesheets/iqvoc/settings/_fonts.scss +35 -35
  39. data/app/assets/stylesheets/iqvoc/settings/_manifest.scss +4 -0
  40. data/app/assets/stylesheets/iqvoc/{mixins → settings}/_mixins.scss +4 -0
  41. data/app/assets/stylesheets/{manifest.css.scss → manifest.scss} +1 -1
  42. data/app/controllers/collections/versions_controller.rb +1 -1
  43. data/app/controllers/collections_controller.rb +7 -4
  44. data/app/controllers/concepts/alphabetical_controller.rb +18 -16
  45. data/app/controllers/concepts/expired_controller.rb +9 -10
  46. data/app/controllers/concepts/hierarchical_controller.rb +1 -3
  47. data/app/controllers/concepts/scheme_controller.rb +6 -2
  48. data/app/controllers/concepts/untranslated_controller.rb +1 -1
  49. data/app/controllers/concepts/versions_controller.rb +2 -1
  50. data/app/controllers/concepts_controller.rb +13 -3
  51. data/app/controllers/concerns/controller_extensions.rb +37 -3
  52. data/app/controllers/dashboard_controller.rb +5 -1
  53. data/app/controllers/errors_controller.rb +8 -0
  54. data/app/controllers/exports_controller.rb +1 -1
  55. data/app/controllers/frontpage_controller.rb +8 -1
  56. data/app/controllers/hierarchy_controller.rb +8 -2
  57. data/app/controllers/imports_controller.rb +1 -1
  58. data/app/controllers/rdf_controller.rb +3 -0
  59. data/app/controllers/search_results_controller.rb +10 -1
  60. data/app/controllers/triplestore_sync_controller.rb +2 -2
  61. data/app/controllers/user_sessions_controller.rb +6 -4
  62. data/app/controllers/users_controller.rb +3 -3
  63. data/app/helpers/application_helper.rb +7 -4
  64. data/app/helpers/concepts_helper.rb +5 -4
  65. data/app/helpers/dashboard_helper.rb +7 -3
  66. data/app/helpers/form_helper.rb +1 -1
  67. data/app/helpers/link_helper.rb +7 -7
  68. data/app/helpers/navigation_helper.rb +34 -12
  69. data/app/helpers/rdf_helper.rb +14 -0
  70. data/app/helpers/search_results_helper.rb +1 -1
  71. data/app/models/ability.rb +3 -0
  72. data/app/models/abstract_user.rb +20 -8
  73. data/app/models/application_record.rb +3 -0
  74. data/app/models/collection/base.rb +9 -9
  75. data/app/models/collection/member/base.rb +6 -3
  76. data/app/models/concept/base.rb +112 -33
  77. data/app/models/concept/relation/base.rb +3 -3
  78. data/app/models/concept/skos/base.rb +8 -8
  79. data/app/models/concept/validations.rb +6 -4
  80. data/app/models/concerns/search_extension.rb +1 -1
  81. data/app/models/concerns/versioning.rb +12 -5
  82. data/app/models/configuration_setting.rb +1 -1
  83. data/app/models/dataset/adaptors/iqvoc/http_adaptor.rb +1 -1
  84. data/app/models/dataset/adaptors/iqvoc/label_adaptor.rb +1 -1
  85. data/app/models/dataset/adaptors/iqvoc/search_adaptor.rb +1 -1
  86. data/app/models/dataset/iqvoc_dataset.rb +3 -2
  87. data/app/models/export.rb +2 -2
  88. data/app/models/import.rb +1 -1
  89. data/app/models/label/base.rb +26 -7
  90. data/app/models/labeling/base.rb +1 -1
  91. data/app/models/labeling/skos/alt_label.rb +4 -0
  92. data/app/models/labeling/skos/base.rb +15 -11
  93. data/app/models/labeling/skos/hidden_label.rb +2 -2
  94. data/app/models/match/base.rb +5 -3
  95. data/app/models/notation/base.rb +4 -1
  96. data/app/models/note/annotated/base.rb +1 -1
  97. data/app/models/note/base.rb +23 -5
  98. data/app/models/user_session.rb +0 -3
  99. data/app/services/rdf_sync_service.rb +3 -3
  100. data/app/views/collections/_data.html.erb +16 -2
  101. data/app/views/collections/_form.html.erb +2 -2
  102. data/app/views/collections/_sidebar.html.erb +16 -8
  103. data/app/views/collections/show_published.html.erb +4 -4
  104. data/app/views/collections/show_unpublished.html.erb +6 -6
  105. data/app/views/concepts/_form.html.erb +2 -3
  106. data/app/views/concepts/alphabetical/_search_result.html.erb +12 -11
  107. data/app/views/concepts/alphabetical/index.html.erb +7 -2
  108. data/app/views/concepts/expired/index.html.erb +10 -5
  109. data/app/views/concepts/glance.html.erb +5 -4
  110. data/app/views/concepts/hierarchical/_treeview.html.erb +4 -1
  111. data/app/views/concepts/new.html.erb +2 -1
  112. data/app/views/concepts/scheme/edit.html.erb +1 -1
  113. data/app/views/concepts/scheme/show.html.erb +3 -5
  114. data/app/views/concepts/scheme/show.iqrdf +1 -6
  115. data/app/views/concepts/show_published.html.erb +4 -4
  116. data/app/views/concepts/show_unpublished.html.erb +6 -6
  117. data/app/views/concepts/sidebars/_plural.html.erb +7 -2
  118. data/app/views/concepts/sidebars/_singular.html.erb +19 -10
  119. data/app/views/dashboard/_sidebar.html.erb +3 -0
  120. data/app/views/dashboard/_table.html.erb +20 -9
  121. data/app/views/dashboard/glance.html.erb +6 -5
  122. data/app/views/dashboard/index.html.erb +4 -1
  123. data/app/views/errors/access_denied.html.erb +17 -2
  124. data/app/views/errors/not_found.html.erb +17 -3
  125. data/app/views/errors/server_error.html.erb +37 -0
  126. data/app/views/frontpage/index.html.erb +28 -7
  127. data/app/views/instance_configuration/index.html.erb +4 -4
  128. data/app/views/kaminari/_first_page.html.erb +13 -0
  129. data/app/views/kaminari/_gap.html.erb +10 -0
  130. data/app/views/kaminari/_last_page.html.erb +13 -0
  131. data/app/views/kaminari/_next_page.html.erb +13 -0
  132. data/app/views/kaminari/_page.html.erb +18 -0
  133. data/app/views/kaminari/_paginator.html.erb +25 -0
  134. data/app/views/kaminari/_prev_page.html.erb +13 -0
  135. data/app/views/layouts/_controls.html.erb +30 -27
  136. data/app/views/layouts/_navigation.html.erb +15 -15
  137. data/app/views/layouts/_sections.html.erb +3 -1
  138. data/app/views/layouts/_user_navigation.html.erb +24 -34
  139. data/app/views/layouts/application.html.erb +41 -41
  140. data/app/views/pages/components.html.erb +5 -5
  141. data/app/views/pages/version.html.erb +12 -14
  142. data/app/views/partials/collection/_member.html.erb +1 -1
  143. data/app/views/partials/collection/_new_link_base.html.erb +5 -3
  144. data/app/views/partials/concept/_new_link_base.html.erb +5 -3
  145. data/app/views/partials/concept/relation/_base.html.erb +4 -4
  146. data/app/views/partials/concept/relation/skos/_narrower.html.erb +1 -1
  147. data/app/views/partials/concept/relation/skos/broader/_mono.html.erb +2 -2
  148. data/app/views/partials/concept/relation/skos/broader/_poly.html.erb +2 -2
  149. data/app/views/partials/labeling/skos/_base.html.erb +1 -1
  150. data/app/views/partials/labeling/skos/_edit_base.html.erb +5 -2
  151. data/app/views/partials/labeling/skos/_search_result.html.erb +3 -0
  152. data/app/views/partials/match/_edit_base.html.erb +1 -1
  153. data/app/views/partials/match/_panel.html.erb +2 -2
  154. data/app/views/partials/notation/_base.html.erb +1 -1
  155. data/app/views/partials/notation/_edit_base.html.erb +1 -1
  156. data/app/views/partials/note/_edit_base.html.erb +19 -6
  157. data/app/views/partials/note/_note.html.erb +1 -1
  158. data/app/views/partials/note/_search_result.html.erb +1 -1
  159. data/app/views/partials/note/skos/_edit_change_note.html.erb +1 -0
  160. data/app/views/partials/note/skos/change_note/_search_result.html.erb +1 -1
  161. data/app/views/partials/note/skos/definition/_search_result.html.erb +1 -1
  162. data/app/views/search_results/_form.html.erb +4 -4
  163. data/app/views/search_results/_result_list.html.erb +15 -0
  164. data/app/views/search_results/_sidebar.html.erb +9 -2
  165. data/app/views/search_results/index.html.erb +1 -11
  166. data/app/views/search_results/index.iqrdf +2 -2
  167. data/app/views/search_results/sections/_change_note.html.erb +8 -8
  168. data/app/views/search_results/sections/_collection.html.erb +2 -2
  169. data/app/views/search_results/sections/_datasets.html.erb +9 -6
  170. data/app/views/search_results/sections/_klass.html.erb +2 -2
  171. data/app/views/search_results/sections/_languages.html.erb +11 -8
  172. data/app/views/search_results/sections/_mode.html.erb +2 -2
  173. data/app/views/search_results/sections/_note.html.erb +1 -1
  174. data/app/views/search_results/sections/_options.html.erb +10 -0
  175. data/app/views/search_results/sections/_terms.html.erb +10 -11
  176. data/app/views/search_results/sections/_type.html.erb +14 -11
  177. data/app/views/triplestore_sync/index.html.erb +1 -1
  178. data/app/views/users/_form.html.erb +3 -1
  179. data/app/views/users/index.html.erb +8 -5
  180. data/bin/bundle +3 -0
  181. data/bin/delayed_job +5 -0
  182. data/bin/rails +4 -0
  183. data/bin/rake +4 -0
  184. data/bin/setup +36 -0
  185. data/bin/update +31 -0
  186. data/bin/yarn +17 -0
  187. data/config/application.rb +25 -33
  188. data/config/boot.rb +3 -18
  189. data/config/cable.yml +10 -0
  190. data/config/database.template.yml +3 -3
  191. data/config/database.yml +15 -24
  192. data/config/database.yml.mysql +7 -7
  193. data/config/database.yml.postgresql +12 -9
  194. data/config/engine.rb +4 -11
  195. data/config/environment.rb +4 -20
  196. data/config/environments/heroku.rb +0 -13
  197. data/config/initializers/apipie.rb +2 -0
  198. data/config/initializers/application_controller_renderer.rb +8 -0
  199. data/config/initializers/backtrace_silencers.rb +4 -19
  200. data/config/initializers/content_security_policy.rb +30 -0
  201. data/config/initializers/cookies_serializer.rb +2 -0
  202. data/config/initializers/delayed_job.rb +0 -1
  203. data/config/initializers/filter_parameter_logging.rb +3 -1
  204. data/config/initializers/inflections.rb +0 -16
  205. data/config/initializers/iqvoc.rb +0 -2
  206. data/config/initializers/linked_data.rb +5 -0
  207. data/config/initializers/mime_types.rb +0 -16
  208. data/config/initializers/permissions_policy.rb +11 -0
  209. data/config/initializers/session_store.rb +0 -16
  210. data/config/initializers/wrap_parameters.rb +4 -4
  211. data/config/initializers/zeitwerk.rb +6 -0
  212. data/config/locales/activerecord.de.yml +13 -9
  213. data/config/locales/activerecord.en.yml +5 -0
  214. data/config/locales/de.yml +32 -20
  215. data/config/locales/en.yml +20 -4
  216. data/config/puma.rb +43 -0
  217. data/config/routes.rb +3 -0
  218. data/config/secrets.yml +24 -0
  219. data/config/storage.yml +34 -0
  220. data/db/migrate/20100927101502_create_schema.rb +1 -1
  221. data/db/migrate/20101125141218_add_collection_tables.rb +1 -1
  222. data/db/migrate/20101129161528_add_type_to_collections.rb +1 -1
  223. data/db/migrate/20101202094602_add_origin_to_collections.rb +1 -1
  224. data/db/migrate/20101202135420_rename_collection_contents_to_collection_members.rb +1 -1
  225. data/db/migrate/20101208103531_add_type_to_collection_contents.rb +1 -1
  226. data/db/migrate/20101210153916_add_indexes_to_collections.rb +1 -1
  227. data/db/migrate/20110204121244_create_collection_labels.rb +1 -1
  228. data/db/migrate/20110208084250_change_origin_lengths.rb +1 -1
  229. data/db/migrate/20110328124300_discard_collection_specifics.rb +1 -1
  230. data/db/migrate/20110408120357_remove_classifications_and_classifiers.rb +1 -1
  231. data/db/migrate/20110408120740_remove_xl_specfic_stuff.rb +1 -1
  232. data/db/migrate/20110420133640_change_value_in_notes.rb +1 -1
  233. data/db/migrate/20110427120534_add_published_at_to_labels.rb +1 -1
  234. data/db/migrate/20110510162719_use_mono_hierarchy_instead_of_poly_hierarchy.rb +1 -1
  235. data/db/migrate/20110512132624_extend_notes_value_field_length.rb +1 -1
  236. data/db/migrate/20110525103100_separate_note_annotation_predicates.rb +1 -1
  237. data/db/migrate/20110615134040_change_umt_note_annotations_to_dct.rb +1 -1
  238. data/db/migrate/20120119000000_create_configuration_settings.rb +1 -1
  239. data/db/migrate/20120201120736_add_top_term_to_concepts.rb +1 -1
  240. data/db/migrate/20120326102037_add_rank_to_concept_relations.rb +1 -1
  241. data/db/migrate/20130227145825_fix_collection_type.rb +1 -1
  242. data/db/migrate/20130315093255_add_notations.rb +1 -1
  243. data/db/migrate/20130315141952_add_indexes_to_notations.rb +1 -1
  244. data/db/migrate/20130418093837_add_language_to_note_annotations.rb +1 -1
  245. data/db/migrate/20130502151221_fix_collection_member_types.rb +1 -1
  246. data/db/migrate/20130508103137_adjust_note_languages_setting.rb +2 -2
  247. data/db/migrate/20131220134356_create_delayed_jobs.rb +1 -1
  248. data/db/migrate/20131220144601_create_imports.rb +1 -1
  249. data/db/migrate/20140423095147_create_exports.rb +1 -1
  250. data/db/migrate/20140425130615_add_fk_indexes_to_exports_and_imports.rb +1 -1
  251. data/db/migrate/20140505144919_add_import_file_to_imports.rb +1 -1
  252. data/db/migrate/20140506073428_add_missing_imports_attributes.rb +1 -1
  253. data/db/migrate/20140506133619_add_namespace_to_exports.rb +1 -1
  254. data/db/migrate/20140730132113_add_type_to_users.rb +1 -1
  255. data/db/migrate/20140807072457_create_job_relations.rb +1 -1
  256. data/db/migrate/20140807123413_add_response_error_to_job_relation.rb +1 -1
  257. data/db/migrate/20141204151558_add_foreign_key_constraints.rb +1 -1
  258. data/db/migrate/20150316103756_delayed_jobs_optimizations.rb +1 -1
  259. data/db/migrate/20150317162953_drop_job_relation.rb +1 -1
  260. data/db/migrate/20170608093748_extend_job_output_log.rb +1 -1
  261. data/db/migrate/20170626074649_add_note_annotations_index.rb +6 -2
  262. data/db/migrate/20180430163647_utf8mb4_conversion.rb +122 -0
  263. data/db/migrate/20180525135715_fix_note_annotations_index.rb +6 -0
  264. data/db/migrate/20190403133600_change_collation.rb +39 -0
  265. data/db/migrate/20200220134024_add_position_to_notes.rb +5 -0
  266. data/db/migrate/20200529053158_extend_users.rb +14 -0
  267. data/db/migrate/20200901143030_add_collection_type_index.rb +5 -0
  268. data/db/migrate/20220107114201_add_fk_constraint_to_active_storage_attachments_for_blob_id.active_storage.rb +10 -0
  269. data/db/schema.rb +133 -137
  270. data/db/seeds.rb +4 -4
  271. data/iqvoc.gemspec +20 -19
  272. data/lib/iqvoc/configuration/core.rb +10 -5
  273. data/lib/iqvoc/configuration/instance_configuration.rb +1 -1
  274. data/lib/iqvoc/configuration/navigation.rb +6 -0
  275. data/lib/iqvoc/environments/development.rb +44 -51
  276. data/lib/iqvoc/environments/production.rb +64 -34
  277. data/lib/iqvoc/environments/test.rb +22 -13
  278. data/lib/iqvoc/version.rb +1 -1
  279. data/lib/tasks/cleanup.rake +37 -0
  280. data/lib/tasks/db.rake +32 -0
  281. data/lib/tasks/sync.rake +1 -1
  282. data/test/authentication.rb +1 -1
  283. data/test/controllers/concepts_movement_controller_test.rb +41 -36
  284. data/test/controllers/hierarchy_test.rb +42 -47
  285. data/test/controllers/rdf_rendering_test.rb +2 -4
  286. data/test/controllers/reverse_match_test.rb +49 -39
  287. data/test/integration/authentication_test.rb +1 -1
  288. data/test/integration/browse_concepts_and_labels_test.rb +3 -1
  289. data/test/integration/client_edit_concept_test.rb +2 -2
  290. data/test/integration/concept_collection_assignment_test.rb +6 -6
  291. data/test/integration/dashboard_test.rb +2 -2
  292. data/test/integration/export_test.rb +2 -2
  293. data/test/integration/import_test.rb +2 -2
  294. data/test/integration/instance_configuration_browsing_test.rb +2 -2
  295. data/test/integration/navigation_test.rb +30 -3
  296. data/test/integration/note_annotations_test.rb +1 -1
  297. data/test/integration/search_test.rb +5 -5
  298. data/test/integration/user_management_test.rb +2 -2
  299. data/test/integration_test_helper.rb +3 -2
  300. data/test/models/hygiene_test.rb +1 -1
  301. data/test/models/rdf_sync_test.rb +3 -3
  302. data/test/models/zeitwerk_compliance_test.rb +7 -0
  303. data/test/test_helper.rb +0 -5
  304. metadata +189 -675
  305. data/app/assets/javascripts/iqvoc/concept_mapper.js +0 -73
  306. data/app/assets/javascripts/iqvoc/entityselect_qualified.js.erb +0 -45
  307. data/app/assets/javascripts/iqvoc/moving_sidebar.js +0 -37
  308. data/app/assets/javascripts/iqvoc/onebox.js.erb +0 -62
  309. data/app/assets/javascripts/iqvoc/quicksearch.js +0 -59
  310. data/app/assets/stylesheets/iqvoc/ie_fixes.css.scss +0 -6
  311. data/app/models/concerns/deep_cloning.rb +0 -94
  312. data/config/initializers/assets.rb +0 -5
  313. data/config/travis/database.yml.mysql +0 -9
  314. data/config/travis/database.yml.postgresql +0 -7
  315. data/config/travis/database.yml.sqlite +0 -5
  316. data/public/404.html +0 -58
  317. data/public/422.html +0 -58
  318. data/public/500.html +0 -57
  319. data/public/favicon.ico +0 -0
  320. data/public/robots.txt +0 -5
  321. data/vendor/assets/bower_components/URIjs/LICENSE.txt +0 -21
  322. data/vendor/assets/bower_components/URIjs/README.md +0 -496
  323. data/vendor/assets/bower_components/URIjs/bower.json +0 -29
  324. data/vendor/assets/bower_components/URIjs/contributing.md +0 -19
  325. data/vendor/assets/bower_components/URIjs/src/IPv6.js +0 -188
  326. data/vendor/assets/bower_components/URIjs/src/SecondLevelDomains.js +0 -241
  327. data/vendor/assets/bower_components/URIjs/src/URI.fragmentQuery.js +0 -104
  328. data/vendor/assets/bower_components/URIjs/src/URI.fragmentURI.js +0 -97
  329. data/vendor/assets/bower_components/URIjs/src/URI.js +0 -2002
  330. data/vendor/assets/bower_components/URIjs/src/URI.min.js +0 -84
  331. data/vendor/assets/bower_components/URIjs/src/URITemplate.js +0 -499
  332. data/vendor/assets/bower_components/URIjs/src/jquery.URI.js +0 -235
  333. data/vendor/assets/bower_components/URIjs/src/jquery.URI.min.js +0 -7
  334. data/vendor/assets/bower_components/URIjs/src/punycode.js +0 -508
  335. data/vendor/assets/bower_components/bootstrap-sass/CHANGELOG.md +0 -189
  336. data/vendor/assets/bower_components/bootstrap-sass/CONTRIBUTING.md +0 -86
  337. data/vendor/assets/bower_components/bootstrap-sass/LICENSE +0 -21
  338. data/vendor/assets/bower_components/bootstrap-sass/README.md +0 -352
  339. data/vendor/assets/bower_components/bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.eot +0 -0
  340. data/vendor/assets/bower_components/bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.svg +0 -288
  341. data/vendor/assets/bower_components/bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  342. data/vendor/assets/bower_components/bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
  343. data/vendor/assets/bower_components/bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.woff2 +0 -0
  344. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/affix.js +0 -162
  345. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/alert.js +0 -94
  346. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/button.js +0 -116
  347. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/carousel.js +0 -237
  348. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/collapse.js +0 -211
  349. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/dropdown.js +0 -161
  350. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/modal.js +0 -339
  351. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/popover.js +0 -108
  352. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/scrollspy.js +0 -172
  353. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/tab.js +0 -153
  354. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/tooltip.js +0 -476
  355. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/transition.js +0 -59
  356. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap-sprockets.js +0 -12
  357. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap.js +0 -2317
  358. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap.min.js +0 -7
  359. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/_bootstrap-compass.scss +0 -9
  360. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/_bootstrap-mincer.scss +0 -19
  361. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/_bootstrap-sprockets.scss +0 -9
  362. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/_bootstrap.scss +0 -50
  363. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_alerts.scss +0 -73
  364. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_badges.scss +0 -68
  365. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_breadcrumbs.scss +0 -26
  366. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_button-groups.scss +0 -243
  367. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_buttons.scss +0 -160
  368. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_carousel.scss +0 -269
  369. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_close.scss +0 -36
  370. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_code.scss +0 -69
  371. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_component-animations.scss +0 -37
  372. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_dropdowns.scss +0 -214
  373. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_forms.scss +0 -578
  374. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_glyphicons.scss +0 -305
  375. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_grid.scss +0 -84
  376. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_input-groups.scss +0 -166
  377. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_jumbotron.scss +0 -50
  378. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_labels.scss +0 -66
  379. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_list-group.scss +0 -124
  380. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_media.scss +0 -61
  381. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_mixins.scss +0 -39
  382. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_modals.scss +0 -150
  383. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_navbar.scss +0 -662
  384. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_navs.scss +0 -242
  385. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_normalize.scss +0 -427
  386. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_pager.scss +0 -54
  387. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_pagination.scss +0 -88
  388. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_panels.scss +0 -265
  389. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_popovers.scss +0 -135
  390. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_print.scss +0 -107
  391. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_progress-bars.scss +0 -87
  392. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_responsive-embed.scss +0 -35
  393. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_responsive-utilities.scss +0 -177
  394. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_scaffolding.scss +0 -162
  395. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_tables.scss +0 -234
  396. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_theme.scss +0 -273
  397. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_thumbnails.scss +0 -38
  398. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_tooltip.scss +0 -102
  399. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_type.scss +0 -298
  400. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_utilities.scss +0 -55
  401. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_variables.scss +0 -866
  402. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_wells.scss +0 -29
  403. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_alerts.scss +0 -14
  404. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -11
  405. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_border-radius.scss +0 -18
  406. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_buttons.scss +0 -52
  407. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_center-block.scss +0 -7
  408. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_clearfix.scss +0 -22
  409. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_forms.scss +0 -88
  410. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_gradients.scss +0 -58
  411. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -81
  412. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_grid.scss +0 -122
  413. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_hide-text.scss +0 -21
  414. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_image.scss +0 -33
  415. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_labels.scss +0 -12
  416. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_list-group.scss +0 -31
  417. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -10
  418. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_nav-vertical-align.scss +0 -9
  419. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_opacity.scss +0 -8
  420. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_pagination.scss +0 -23
  421. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_panels.scss +0 -24
  422. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_progress-bar.scss +0 -10
  423. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_reset-filter.scss +0 -8
  424. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_resize.scss +0 -6
  425. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss +0 -21
  426. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_size.scss +0 -10
  427. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_tab-focus.scss +0 -9
  428. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -28
  429. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -11
  430. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_text-overflow.scss +0 -8
  431. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss +0 -222
  432. data/vendor/assets/bower_components/bootstrap-sass/bower.json +0 -40
  433. data/vendor/assets/bower_components/bootstrap-sass/composer.json +0 -35
  434. data/vendor/assets/bower_components/bootstrap-sass/package.json +0 -30
  435. data/vendor/assets/bower_components/bootstrap-sass/sache.json +0 -5
  436. data/vendor/assets/bower_components/html5shiv/Gruntfile.js +0 -61
  437. data/vendor/assets/bower_components/html5shiv/bower.json +0 -15
  438. data/vendor/assets/bower_components/html5shiv/dist/html5shiv-printshiv.js +0 -520
  439. data/vendor/assets/bower_components/html5shiv/dist/html5shiv-printshiv.min.js +0 -4
  440. data/vendor/assets/bower_components/html5shiv/dist/html5shiv.js +0 -322
  441. data/vendor/assets/bower_components/html5shiv/dist/html5shiv.min.js +0 -4
  442. data/vendor/assets/bower_components/html5shiv/package.json +0 -16
  443. data/vendor/assets/bower_components/html5shiv/readme.md +0 -152
  444. data/vendor/assets/bower_components/jqtree/LICENSE +0 -202
  445. data/vendor/assets/bower_components/jqtree/README.md +0 -24
  446. data/vendor/assets/bower_components/jqtree/_config.yml +0 -18
  447. data/vendor/assets/bower_components/jqtree/_entries/01_general.md +0 -7
  448. data/vendor/assets/bower_components/jqtree/_entries/02_introduction.md +0 -9
  449. data/vendor/assets/bower_components/jqtree/_entries/03_features.md +0 -15
  450. data/vendor/assets/bower_components/jqtree/_entries/04_demo.html +0 -34
  451. data/vendor/assets/bower_components/jqtree/_entries/05_requirements.md +0 -6
  452. data/vendor/assets/bower_components/jqtree/_entries/06_downloads.md +0 -9
  453. data/vendor/assets/bower_components/jqtree/_entries/07_tutorial.md +0 -77
  454. data/vendor/assets/bower_components/jqtree/_entries/08_examples.md +0 -8
  455. data/vendor/assets/bower_components/jqtree/_entries/09_changelog.md +0 -179
  456. data/vendor/assets/bower_components/jqtree/_entries/10_options.md +0 -6
  457. data/vendor/assets/bower_components/jqtree/_entries/11_autoescape.md +0 -6
  458. data/vendor/assets/bower_components/jqtree/_entries/12_autoopen.md +0 -28
  459. data/vendor/assets/bower_components/jqtree/_entries/13_closedicon.md +0 -12
  460. data/vendor/assets/bower_components/jqtree/_entries/14_data.md +0 -41
  461. data/vendor/assets/bower_components/jqtree/_entries/15_datafilter.md +0 -17
  462. data/vendor/assets/bower_components/jqtree/_entries/16_data-url.md +0 -21
  463. data/vendor/assets/bower_components/jqtree/_entries/17_draganddrop.md +0 -18
  464. data/vendor/assets/bower_components/jqtree/_entries/18_keyboardsupport.md +0 -14
  465. data/vendor/assets/bower_components/jqtree/_entries/19_oncanmove.md +0 -22
  466. data/vendor/assets/bower_components/jqtree/_entries/20_oncanmoveto.md +0 -22
  467. data/vendor/assets/bower_components/jqtree/_entries/21_oncanselectnode.md +0 -26
  468. data/vendor/assets/bower_components/jqtree/_entries/22_oncreateli.md +0 -16
  469. data/vendor/assets/bower_components/jqtree/_entries/23_onismovehandle.md +0 -17
  470. data/vendor/assets/bower_components/jqtree/_entries/24_onloadfailed.md +0 -15
  471. data/vendor/assets/bower_components/jqtree/_entries/25_openedicon.md +0 -12
  472. data/vendor/assets/bower_components/jqtree/_entries/26_openfolderdelay.md +0 -13
  473. data/vendor/assets/bower_components/jqtree/_entries/27_savestate.md +0 -42
  474. data/vendor/assets/bower_components/jqtree/_entries/28_selectable.md +0 -18
  475. data/vendor/assets/bower_components/jqtree/_entries/29_slide.md +0 -12
  476. data/vendor/assets/bower_components/jqtree/_entries/30_usecontextmenu.md +0 -14
  477. data/vendor/assets/bower_components/jqtree/_entries/31_functions.md +0 -6
  478. data/vendor/assets/bower_components/jqtree/_entries/32_addnodeafter.md +0 -20
  479. data/vendor/assets/bower_components/jqtree/_entries/33_addnodebefore.md +0 -8
  480. data/vendor/assets/bower_components/jqtree/_entries/34_appendnode.md +0 -33
  481. data/vendor/assets/bower_components/jqtree/_entries/35_closenode.md +0 -23
  482. data/vendor/assets/bower_components/jqtree/_entries/36_getnodebyid.md +0 -21
  483. data/vendor/assets/bower_components/jqtree/_entries/37_getselectednode.md +0 -10
  484. data/vendor/assets/bower_components/jqtree/_entries/38_getstate.md +0 -19
  485. data/vendor/assets/bower_components/jqtree/_entries/39_gettree.md +0 -8
  486. data/vendor/assets/bower_components/jqtree/_entries/40_loaddata.md +0 -46
  487. data/vendor/assets/bower_components/jqtree/_entries/41_loaddatafromurl.md +0 -55
  488. data/vendor/assets/bower_components/jqtree/_entries/42_movedown.md +0 -8
  489. data/vendor/assets/bower_components/jqtree/_entries/43_movenode.md +0 -15
  490. data/vendor/assets/bower_components/jqtree/_entries/44_moveup.md +0 -8
  491. data/vendor/assets/bower_components/jqtree/_entries/45_opennode.md +0 -29
  492. data/vendor/assets/bower_components/jqtree/_entries/46_addparentnode.md +0 -20
  493. data/vendor/assets/bower_components/jqtree/_entries/47_reload.md +0 -12
  494. data/vendor/assets/bower_components/jqtree/_entries/48_removenode.md +0 -12
  495. data/vendor/assets/bower_components/jqtree/_entries/49_selectnode.md +0 -24
  496. data/vendor/assets/bower_components/jqtree/_entries/50_scrolltonode.md +0 -13
  497. data/vendor/assets/bower_components/jqtree/_entries/51_setoption.md +0 -12
  498. data/vendor/assets/bower_components/jqtree/_entries/52_setstate.md +0 -8
  499. data/vendor/assets/bower_components/jqtree/_entries/53_toggle.md +0 -8
  500. data/vendor/assets/bower_components/jqtree/_entries/54_tojson.md +0 -13
  501. data/vendor/assets/bower_components/jqtree/_entries/55_updatenode.md +0 -33
  502. data/vendor/assets/bower_components/jqtree/_entries/56_events.md +0 -6
  503. data/vendor/assets/bower_components/jqtree/_entries/57_tree-click.md +0 -37
  504. data/vendor/assets/bower_components/jqtree/_entries/58_tree-close.md +0 -15
  505. data/vendor/assets/bower_components/jqtree/_entries/59_tree-contextmenu.md +0 -21
  506. data/vendor/assets/bower_components/jqtree/_entries/60_tree-dblclick.md +0 -19
  507. data/vendor/assets/bower_components/jqtree/_entries/61_tree-init.md +0 -15
  508. data/vendor/assets/bower_components/jqtree/_entries/62_tree-move.md +0 -71
  509. data/vendor/assets/bower_components/jqtree/_entries/63_tree-open.md +0 -15
  510. data/vendor/assets/bower_components/jqtree/_entries/64_tree-select.md +0 -28
  511. data/vendor/assets/bower_components/jqtree/_entries/65_multiple-selection.md +0 -9
  512. data/vendor/assets/bower_components/jqtree/_entries/66_add-to-selection.md +0 -11
  513. data/vendor/assets/bower_components/jqtree/_entries/67_get-selected-nodes.md +0 -10
  514. data/vendor/assets/bower_components/jqtree/_entries/68_is-node-selected.md +0 -11
  515. data/vendor/assets/bower_components/jqtree/_entries/69_remove-from-selection.md +0 -11
  516. data/vendor/assets/bower_components/jqtree/_entries/70_node-functions.md +0 -13
  517. data/vendor/assets/bower_components/jqtree/_entries/71_children.md +0 -12
  518. data/vendor/assets/bower_components/jqtree/_entries/72_getdata.md +0 -10
  519. data/vendor/assets/bower_components/jqtree/_entries/73_getlevel.md +0 -13
  520. data/vendor/assets/bower_components/jqtree/_entries/74_getnextnode.md +0 -12
  521. data/vendor/assets/bower_components/jqtree/_entries/75_getnextsibling.md +0 -10
  522. data/vendor/assets/bower_components/jqtree/_entries/76_getpreviousnode.md +0 -12
  523. data/vendor/assets/bower_components/jqtree/_entries/77_getprevioussibling.md +0 -10
  524. data/vendor/assets/bower_components/jqtree/_entries/78_parent.md +0 -10
  525. data/vendor/assets/bower_components/jqtree/_examples/01_load_json_data.html +0 -47
  526. data/vendor/assets/bower_components/jqtree/_examples/02_load_json_data_from_server.html +0 -31
  527. data/vendor/assets/bower_components/jqtree/_examples/03_drag_and_drop.html +0 -45
  528. data/vendor/assets/bower_components/jqtree/_examples/04_save_state.html +0 -52
  529. data/vendor/assets/bower_components/jqtree/_examples/05_load_on_demand.html +0 -70
  530. data/vendor/assets/bower_components/jqtree/_examples/06_autoescape.html +0 -47
  531. data/vendor/assets/bower_components/jqtree/_examples/07_autoscroll.html +0 -23
  532. data/vendor/assets/bower_components/jqtree/_examples/08_multiple_select.html +0 -72
  533. data/vendor/assets/bower_components/jqtree/_examples/09_custom_html.html +0 -68
  534. data/vendor/assets/bower_components/jqtree/_examples/10_icon_buttons.html +0 -27
  535. data/vendor/assets/bower_components/jqtree/_layouts/base.html +0 -48
  536. data/vendor/assets/bower_components/jqtree/_layouts/frontpage.html +0 -20
  537. data/vendor/assets/bower_components/jqtree/_layouts/page.html +0 -7
  538. data/vendor/assets/bower_components/jqtree/bower.json +0 -12
  539. data/vendor/assets/bower_components/jqtree/gulpfile.coffee +0 -30
  540. data/vendor/assets/bower_components/jqtree/gulpfile.js +0 -2
  541. data/vendor/assets/bower_components/jqtree/index.html +0 -48
  542. data/vendor/assets/bower_components/jqtree/jqtree-circle.png +0 -0
  543. data/vendor/assets/bower_components/jqtree/jqtree.css +0 -143
  544. data/vendor/assets/bower_components/jqtree/jqtree.jquery.json +0 -23
  545. data/vendor/assets/bower_components/jqtree/package.json +0 -23
  546. data/vendor/assets/bower_components/jqtree/phantomjs/runner.js +0 -193
  547. data/vendor/assets/bower_components/jqtree/phantomjs/server.js +0 -14
  548. data/vendor/assets/bower_components/jqtree/screenshot.png +0 -0
  549. data/vendor/assets/bower_components/jqtree/sitemap.txt +0 -11
  550. data/vendor/assets/bower_components/jqtree/src/drag_and_drop_handler.coffee +0 -466
  551. data/vendor/assets/bower_components/jqtree/src/elements_renderer.coffee +0 -198
  552. data/vendor/assets/bower_components/jqtree/src/key_handler.coffee +0 -92
  553. data/vendor/assets/bower_components/jqtree/src/mouse.widget.coffee +0 -181
  554. data/vendor/assets/bower_components/jqtree/src/node.coffee +0 -431
  555. data/vendor/assets/bower_components/jqtree/src/node_element.coffee +0 -144
  556. data/vendor/assets/bower_components/jqtree/src/save_state_handler.coffee +0 -191
  557. data/vendor/assets/bower_components/jqtree/src/scroll_handler.coffee +0 -100
  558. data/vendor/assets/bower_components/jqtree/src/select_node_handler.coffee +0 -76
  559. data/vendor/assets/bower_components/jqtree/src/simple.widget.coffee +0 -102
  560. data/vendor/assets/bower_components/jqtree/src/test.js +0 -1945
  561. data/vendor/assets/bower_components/jqtree/src/tree.jquery.coffee +0 -772
  562. data/vendor/assets/bower_components/jqtree/src/util.coffee +0 -117
  563. data/vendor/assets/bower_components/jqtree/src/version.coffee +0 -1
  564. data/vendor/assets/bower_components/jqtree/static/bower.json +0 -13
  565. data/vendor/assets/bower_components/jqtree/static/bower_components/blanket/dist/qunit/blanket.js +0 -5430
  566. data/vendor/assets/bower_components/jqtree/static/bower_components/bootstrap/dist/css/bootstrap-theme.min.css +0 -5
  567. data/vendor/assets/bower_components/jqtree/static/bower_components/bootstrap/dist/css/bootstrap.min.css +0 -5
  568. data/vendor/assets/bower_components/jqtree/static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot +0 -0
  569. data/vendor/assets/bower_components/jqtree/static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.svg +0 -229
  570. data/vendor/assets/bower_components/jqtree/static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
  571. data/vendor/assets/bower_components/jqtree/static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff +0 -0
  572. data/vendor/assets/bower_components/jqtree/static/bower_components/bootstrap/dist/js/bootstrap.min.js +0 -7
  573. data/vendor/assets/bower_components/jqtree/static/bower_components/fontawesome/css/font-awesome.min.css +0 -4
  574. data/vendor/assets/bower_components/jqtree/static/bower_components/fontawesome/fonts/FontAwesome.otf +0 -0
  575. data/vendor/assets/bower_components/jqtree/static/bower_components/fontawesome/fonts/fontawesome-webfont.eot +0 -0
  576. data/vendor/assets/bower_components/jqtree/static/bower_components/fontawesome/fonts/fontawesome-webfont.svg +0 -520
  577. data/vendor/assets/bower_components/jqtree/static/bower_components/fontawesome/fonts/fontawesome-webfont.ttf +0 -0
  578. data/vendor/assets/bower_components/jqtree/static/bower_components/fontawesome/fonts/fontawesome-webfont.woff +0 -0
  579. data/vendor/assets/bower_components/jqtree/static/bower_components/jquery/dist/jquery.min.js +0 -5
  580. data/vendor/assets/bower_components/jqtree/static/bower_components/jquery-cookie/jquery.cookie.js +0 -117
  581. data/vendor/assets/bower_components/jqtree/static/bower_components/jquery-mockjax/jquery.mockjax.js +0 -692
  582. data/vendor/assets/bower_components/jqtree/static/bower_components/pygments/css/monokai.css +0 -63
  583. data/vendor/assets/bower_components/jqtree/static/bower_components/qunit/qunit/qunit.css +0 -264
  584. data/vendor/assets/bower_components/jqtree/static/bower_components/qunit/qunit/qunit.js +0 -2819
  585. data/vendor/assets/bower_components/jqtree/static/documentation.css +0 -165
  586. data/vendor/assets/bower_components/jqtree/static/documentation.js +0 -51
  587. data/vendor/assets/bower_components/jqtree/static/example.css +0 -53
  588. data/vendor/assets/bower_components/jqtree/static/example_data.js +0 -128
  589. data/vendor/assets/bower_components/jqtree/static/examples/autoescape.js +0 -19
  590. data/vendor/assets/bower_components/jqtree/static/examples/autoscroll.js +0 -8
  591. data/vendor/assets/bower_components/jqtree/static/examples/custom_html.js +0 -32
  592. data/vendor/assets/bower_components/jqtree/static/examples/drag_and_drop.js +0 -15
  593. data/vendor/assets/bower_components/jqtree/static/examples/icon_buttons.js +0 -14
  594. data/vendor/assets/bower_components/jqtree/static/examples/load_json_data.js +0 -21
  595. data/vendor/assets/bower_components/jqtree/static/examples/load_json_data_from_server.js +0 -11
  596. data/vendor/assets/bower_components/jqtree/static/examples/load_on_demand.js +0 -20
  597. data/vendor/assets/bower_components/jqtree/static/examples/multiple_select.js +0 -27
  598. data/vendor/assets/bower_components/jqtree/static/examples/save_state.js +0 -13
  599. data/vendor/assets/bower_components/jqtree/static/jquery-1.11.2.min.js +0 -4
  600. data/vendor/assets/bower_components/jqtree/static/spinner.gif +0 -0
  601. data/vendor/assets/bower_components/jqtree/test/test.html +0 -23
  602. data/vendor/assets/bower_components/jqtree/test/test.js +0 -2604
  603. data/vendor/assets/bower_components/jqtree/tree.jquery.js +0 -3388
  604. data/vendor/assets/bower_components/jquery/MIT-LICENSE.txt +0 -21
  605. data/vendor/assets/bower_components/jquery/bower.json +0 -27
  606. data/vendor/assets/bower_components/jquery/dist/jquery.js +0 -9205
  607. data/vendor/assets/bower_components/jquery/dist/jquery.min.js +0 -5
  608. data/vendor/assets/bower_components/jquery/dist/jquery.min.map +0 -1
  609. data/vendor/assets/bower_components/jquery/src/ajax/jsonp.js +0 -89
  610. data/vendor/assets/bower_components/jquery/src/ajax/load.js +0 -75
  611. data/vendor/assets/bower_components/jquery/src/ajax/parseJSON.js +0 -13
  612. data/vendor/assets/bower_components/jquery/src/ajax/parseXML.js +0 -28
  613. data/vendor/assets/bower_components/jquery/src/ajax/script.js +0 -64
  614. data/vendor/assets/bower_components/jquery/src/ajax/var/nonce.js +0 -5
  615. data/vendor/assets/bower_components/jquery/src/ajax/var/rquery.js +0 -3
  616. data/vendor/assets/bower_components/jquery/src/ajax/xhr.js +0 -136
  617. data/vendor/assets/bower_components/jquery/src/ajax.js +0 -786
  618. data/vendor/assets/bower_components/jquery/src/attributes/attr.js +0 -141
  619. data/vendor/assets/bower_components/jquery/src/attributes/classes.js +0 -158
  620. data/vendor/assets/bower_components/jquery/src/attributes/prop.js +0 -94
  621. data/vendor/assets/bower_components/jquery/src/attributes/support.js +0 -35
  622. data/vendor/assets/bower_components/jquery/src/attributes/val.js +0 -161
  623. data/vendor/assets/bower_components/jquery/src/attributes.js +0 -11
  624. data/vendor/assets/bower_components/jquery/src/callbacks.js +0 -205
  625. data/vendor/assets/bower_components/jquery/src/core/access.js +0 -60
  626. data/vendor/assets/bower_components/jquery/src/core/init.js +0 -123
  627. data/vendor/assets/bower_components/jquery/src/core/parseHTML.js +0 -39
  628. data/vendor/assets/bower_components/jquery/src/core/ready.js +0 -97
  629. data/vendor/assets/bower_components/jquery/src/core/var/rsingleTag.js +0 -4
  630. data/vendor/assets/bower_components/jquery/src/core.js +0 -497
  631. data/vendor/assets/bower_components/jquery/src/css/addGetHookIf.js +0 -22
  632. data/vendor/assets/bower_components/jquery/src/css/curCSS.js +0 -57
  633. data/vendor/assets/bower_components/jquery/src/css/defaultDisplay.js +0 -70
  634. data/vendor/assets/bower_components/jquery/src/css/hiddenVisibleSelectors.js +0 -15
  635. data/vendor/assets/bower_components/jquery/src/css/support.js +0 -96
  636. data/vendor/assets/bower_components/jquery/src/css/swap.js +0 -28
  637. data/vendor/assets/bower_components/jquery/src/css/var/cssExpand.js +0 -3
  638. data/vendor/assets/bower_components/jquery/src/css/var/getStyles.js +0 -12
  639. data/vendor/assets/bower_components/jquery/src/css/var/isHidden.js +0 -13
  640. data/vendor/assets/bower_components/jquery/src/css/var/rmargin.js +0 -3
  641. data/vendor/assets/bower_components/jquery/src/css/var/rnumnonpx.js +0 -5
  642. data/vendor/assets/bower_components/jquery/src/css.js +0 -450
  643. data/vendor/assets/bower_components/jquery/src/data/Data.js +0 -181
  644. data/vendor/assets/bower_components/jquery/src/data/accepts.js +0 -20
  645. data/vendor/assets/bower_components/jquery/src/data/var/data_priv.js +0 -5
  646. data/vendor/assets/bower_components/jquery/src/data/var/data_user.js +0 -5
  647. data/vendor/assets/bower_components/jquery/src/data.js +0 -178
  648. data/vendor/assets/bower_components/jquery/src/deferred.js +0 -149
  649. data/vendor/assets/bower_components/jquery/src/deprecated.js +0 -13
  650. data/vendor/assets/bower_components/jquery/src/dimensions.js +0 -50
  651. data/vendor/assets/bower_components/jquery/src/effects/Tween.js +0 -114
  652. data/vendor/assets/bower_components/jquery/src/effects/animatedSelector.js +0 -13
  653. data/vendor/assets/bower_components/jquery/src/effects.js +0 -648
  654. data/vendor/assets/bower_components/jquery/src/event/ajax.js +0 -13
  655. data/vendor/assets/bower_components/jquery/src/event/alias.js +0 -39
  656. data/vendor/assets/bower_components/jquery/src/event/support.js +0 -9
  657. data/vendor/assets/bower_components/jquery/src/event.js +0 -868
  658. data/vendor/assets/bower_components/jquery/src/exports/amd.js +0 -24
  659. data/vendor/assets/bower_components/jquery/src/exports/global.js +0 -32
  660. data/vendor/assets/bower_components/jquery/src/intro.js +0 -44
  661. data/vendor/assets/bower_components/jquery/src/jquery.js +0 -37
  662. data/vendor/assets/bower_components/jquery/src/manipulation/_evalUrl.js +0 -18
  663. data/vendor/assets/bower_components/jquery/src/manipulation/support.js +0 -32
  664. data/vendor/assets/bower_components/jquery/src/manipulation/var/rcheckableType.js +0 -3
  665. data/vendor/assets/bower_components/jquery/src/manipulation.js +0 -580
  666. data/vendor/assets/bower_components/jquery/src/offset.js +0 -207
  667. data/vendor/assets/bower_components/jquery/src/outro.js +0 -1
  668. data/vendor/assets/bower_components/jquery/src/queue/delay.js +0 -22
  669. data/vendor/assets/bower_components/jquery/src/queue.js +0 -142
  670. data/vendor/assets/bower_components/jquery/src/selector-native.js +0 -172
  671. data/vendor/assets/bower_components/jquery/src/selector-sizzle.js +0 -14
  672. data/vendor/assets/bower_components/jquery/src/selector.js +0 -1
  673. data/vendor/assets/bower_components/jquery/src/serialize.js +0 -111
  674. data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.js +0 -2067
  675. data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.min.js +0 -3
  676. data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.min.map +0 -1
  677. data/vendor/assets/bower_components/jquery/src/traversing/findFilter.js +0 -100
  678. data/vendor/assets/bower_components/jquery/src/traversing/var/rneedsContext.js +0 -6
  679. data/vendor/assets/bower_components/jquery/src/traversing.js +0 -199
  680. data/vendor/assets/bower_components/jquery/src/var/arr.js +0 -3
  681. data/vendor/assets/bower_components/jquery/src/var/class2type.js +0 -4
  682. data/vendor/assets/bower_components/jquery/src/var/concat.js +0 -5
  683. data/vendor/assets/bower_components/jquery/src/var/hasOwn.js +0 -5
  684. data/vendor/assets/bower_components/jquery/src/var/indexOf.js +0 -5
  685. data/vendor/assets/bower_components/jquery/src/var/pnum.js +0 -3
  686. data/vendor/assets/bower_components/jquery/src/var/push.js +0 -5
  687. data/vendor/assets/bower_components/jquery/src/var/rnotwhite.js +0 -3
  688. data/vendor/assets/bower_components/jquery/src/var/slice.js +0 -5
  689. data/vendor/assets/bower_components/jquery/src/var/strundefined.js +0 -3
  690. data/vendor/assets/bower_components/jquery/src/var/support.js +0 -4
  691. data/vendor/assets/bower_components/jquery/src/var/toString.js +0 -5
  692. data/vendor/assets/bower_components/jquery/src/wrap.js +0 -79
  693. data/vendor/assets/bower_components/jquery-ujs/CHANGELOG.md +0 -24
  694. data/vendor/assets/bower_components/jquery-ujs/MIT-LICENSE.txt +0 -20
  695. data/vendor/assets/bower_components/jquery-ujs/README.md +0 -72
  696. data/vendor/assets/bower_components/jquery-ujs/bower.json +0 -20
  697. data/vendor/assets/bower_components/jquery-ujs/src/rails.js +0 -469
  698. data/vendor/assets/bower_components/typeahead.js/CHANGELOG.md +0 -222
  699. data/vendor/assets/bower_components/typeahead.js/CONTRIBUTING.md +0 -120
  700. data/vendor/assets/bower_components/typeahead.js/Gruntfile.js +0 -265
  701. data/vendor/assets/bower_components/typeahead.js/LICENSE +0 -19
  702. data/vendor/assets/bower_components/typeahead.js/README.md +0 -188
  703. data/vendor/assets/bower_components/typeahead.js/bower.json +0 -13
  704. data/vendor/assets/bower_components/typeahead.js/composer.json +0 -17
  705. data/vendor/assets/bower_components/typeahead.js/dist/bloodhound.js +0 -727
  706. data/vendor/assets/bower_components/typeahead.js/dist/bloodhound.min.js +0 -7
  707. data/vendor/assets/bower_components/typeahead.js/dist/typeahead.bundle.js +0 -1782
  708. data/vendor/assets/bower_components/typeahead.js/dist/typeahead.bundle.min.js +0 -7
  709. data/vendor/assets/bower_components/typeahead.js/dist/typeahead.jquery.js +0 -1184
  710. data/vendor/assets/bower_components/typeahead.js/dist/typeahead.jquery.min.js +0 -7
  711. data/vendor/assets/bower_components/typeahead.js/doc/bloodhound.md +0 -279
  712. data/vendor/assets/bower_components/typeahead.js/doc/jquery_typeahead.md +0 -383
  713. data/vendor/assets/bower_components/typeahead.js/doc/migration/0.10.0.md +0 -234
  714. data/vendor/assets/bower_components/typeahead.js/karma.conf.js +0 -98
  715. data/vendor/assets/bower_components/typeahead.js/package.json +0 -57
  716. data/vendor/assets/bower_components/typeahead.js/src/bloodhound/bloodhound.js +0 -234
  717. data/vendor/assets/bower_components/typeahead.js/src/bloodhound/lru_cache.js +0 -99
  718. data/vendor/assets/bower_components/typeahead.js/src/bloodhound/options_parser.js +0 -89
  719. data/vendor/assets/bower_components/typeahead.js/src/bloodhound/persistent_storage.js +0 -131
  720. data/vendor/assets/bower_components/typeahead.js/src/bloodhound/search_index.js +0 -169
  721. data/vendor/assets/bower_components/typeahead.js/src/bloodhound/tokenizers.js +0 -44
  722. data/vendor/assets/bower_components/typeahead.js/src/bloodhound/transport.js +0 -152
  723. data/vendor/assets/bower_components/typeahead.js/src/bloodhound/version.js +0 -7
  724. data/vendor/assets/bower_components/typeahead.js/src/common/utils.js +0 -152
  725. data/vendor/assets/bower_components/typeahead.js/src/typeahead/css.js +0 -77
  726. data/vendor/assets/bower_components/typeahead.js/src/typeahead/dataset.js +0 -210
  727. data/vendor/assets/bower_components/typeahead.js/src/typeahead/dropdown.js +0 -245
  728. data/vendor/assets/bower_components/typeahead.js/src/typeahead/event_bus.js +0 -38
  729. data/vendor/assets/bower_components/typeahead.js/src/typeahead/event_emitter.js +0 -119
  730. data/vendor/assets/bower_components/typeahead.js/src/typeahead/highlight.js +0 -84
  731. data/vendor/assets/bower_components/typeahead.js/src/typeahead/html.js +0 -15
  732. data/vendor/assets/bower_components/typeahead.js/src/typeahead/input.js +0 -311
  733. data/vendor/assets/bower_components/typeahead.js/src/typeahead/plugin.js +0 -129
  734. data/vendor/assets/bower_components/typeahead.js/src/typeahead/typeahead.js +0 -391
  735. data/vendor/assets/bower_components/typeahead.js/test/bloodhound_spec.js +0 -592
  736. data/vendor/assets/bower_components/typeahead.js/test/ci +0 -12
  737. data/vendor/assets/bower_components/typeahead.js/test/dataset_view_spec.js +0 -222
  738. data/vendor/assets/bower_components/typeahead.js/test/dropdown_view_spec.js +0 -353
  739. data/vendor/assets/bower_components/typeahead.js/test/event_emitter_spec.js +0 -111
  740. data/vendor/assets/bower_components/typeahead.js/test/fixtures/ajax_responses.js +0 -19
  741. data/vendor/assets/bower_components/typeahead.js/test/fixtures/data.js +0 -116
  742. data/vendor/assets/bower_components/typeahead.js/test/fixtures/html.js +0 -17
  743. data/vendor/assets/bower_components/typeahead.js/test/helpers/typeahead_mocks.js +0 -71
  744. data/vendor/assets/bower_components/typeahead.js/test/highlight_spec.js +0 -117
  745. data/vendor/assets/bower_components/typeahead.js/test/input_view_spec.js +0 -449
  746. data/vendor/assets/bower_components/typeahead.js/test/integration/test.html +0 -112
  747. data/vendor/assets/bower_components/typeahead.js/test/integration/test.js +0 -397
  748. data/vendor/assets/bower_components/typeahead.js/test/lru_cache_spec.js +0 -42
  749. data/vendor/assets/bower_components/typeahead.js/test/persistent_storage_spec.js +0 -131
  750. data/vendor/assets/bower_components/typeahead.js/test/playground.html +0 -347
  751. data/vendor/assets/bower_components/typeahead.js/test/search_index_spec.js +0 -60
  752. data/vendor/assets/bower_components/typeahead.js/test/tokenizers_spec.js +0 -60
  753. data/vendor/assets/bower_components/typeahead.js/test/transport_spec.js +0 -197
  754. data/vendor/assets/bower_components/typeahead.js/test/typeahead_view_spec.js +0 -570
  755. data/vendor/assets/bower_components/typeahead.js/typeahead.js.jquery.json +0 -40
  756. data/vendor/assets/images/animated-overlay.gif +0 -0
  757. data/vendor/assets/images/file.gif +0 -0
  758. data/vendor/assets/images/folder-closed.gif +0 -0
  759. data/vendor/assets/images/folder.gif +0 -0
  760. data/vendor/assets/images/minus.gif +0 -0
  761. data/vendor/assets/images/plus.gif +0 -0
  762. data/vendor/assets/images/treeview-black-line.gif +0 -0
  763. data/vendor/assets/images/treeview-black.gif +0 -0
  764. data/vendor/assets/images/treeview-default.gif +0 -0
  765. data/vendor/assets/images/treeview-famfamfam-line.gif +0 -0
  766. data/vendor/assets/images/treeview-famfamfam.gif +0 -0
  767. data/vendor/assets/images/treeview-gray-line.gif +0 -0
  768. data/vendor/assets/images/treeview-gray.gif +0 -0
  769. data/vendor/assets/images/treeview-red-line.gif +0 -0
  770. data/vendor/assets/images/treeview-red.gif +0 -0
  771. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker.css +0 -471
  772. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker.css.map +0 -1
  773. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker.min.css +0 -9
  774. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker.min.css.map +0 -1
  775. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker.standalone.css +0 -504
  776. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker.standalone.css.map +0 -1
  777. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker.standalone.min.css +0 -9
  778. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker.standalone.min.css.map +0 -1
  779. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker3.css +0 -678
  780. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker3.css.map +0 -1
  781. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker3.min.css +0 -9
  782. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker3.min.css.map +0 -1
  783. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker3.standalone.css +0 -707
  784. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker3.standalone.css.map +0 -1
  785. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker3.standalone.min.css +0 -9
  786. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker3.standalone.min.css.map +0 -1
  787. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/js/bootstrap-datepicker.js +0 -2096
  788. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/js/bootstrap-datepicker.min.js +0 -9
  789. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.ar.min.js +0 -1
  790. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.az.min.js +0 -1
  791. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.bg.min.js +0 -1
  792. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.bs.min.js +0 -1
  793. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.ca.min.js +0 -1
  794. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.cs.min.js +0 -1
  795. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.cy.min.js +0 -1
  796. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.da.min.js +0 -1
  797. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.de.min.js +0 -1
  798. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.el.min.js +0 -1
  799. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.en-AU.min.js +0 -1
  800. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.en-GB.min.js +0 -1
  801. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.eo.min.js +0 -1
  802. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.es.min.js +0 -1
  803. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.et.min.js +0 -1
  804. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.eu.min.js +0 -1
  805. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.fa.min.js +0 -1
  806. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.fi.min.js +0 -1
  807. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.fo.min.js +0 -1
  808. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.fr-CH.min.js +0 -1
  809. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.fr.min.js +0 -1
  810. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.gl.min.js +0 -1
  811. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.he.min.js +0 -1
  812. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.hr.min.js +0 -1
  813. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.hu.min.js +0 -1
  814. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.hy.min.js +0 -1
  815. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.id.min.js +0 -1
  816. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.is.min.js +0 -1
  817. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.it-CH.min.js +0 -1
  818. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.it.min.js +0 -1
  819. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.ja.min.js +0 -1
  820. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.ka.min.js +0 -1
  821. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.kh.min.js +0 -1
  822. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.kk.min.js +0 -1
  823. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.ko.min.js +0 -1
  824. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.kr.min.js +0 -1
  825. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.lt.min.js +0 -1
  826. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.lv.min.js +0 -1
  827. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.me.min.js +0 -1
  828. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.mk.min.js +0 -1
  829. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.mn.min.js +0 -1
  830. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.ms.min.js +0 -1
  831. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.nb.min.js +0 -1
  832. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.nl-BE.min.js +0 -1
  833. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.nl.min.js +0 -1
  834. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.no.min.js +0 -1
  835. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.pl.min.js +0 -1
  836. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.pt-BR.min.js +0 -1
  837. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.pt.min.js +0 -1
  838. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.ro.min.js +0 -1
  839. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.rs-latin.min.js +0 -1
  840. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.rs.min.js +0 -1
  841. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.ru.min.js +0 -1
  842. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.sk.min.js +0 -1
  843. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.sl.min.js +0 -1
  844. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.sq.min.js +0 -1
  845. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.sr-latin.min.js +0 -1
  846. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.sr.min.js +0 -1
  847. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.sv.min.js +0 -1
  848. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.sw.min.js +0 -1
  849. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.th.min.js +0 -1
  850. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.tr.min.js +0 -1
  851. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.uk.min.js +0 -1
  852. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.vi.min.js +0 -1
  853. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.zh-CN.min.js +0 -1
  854. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.zh-TW.min.js +0 -1
  855. data/vendor/assets/javascripts/storage.js +0 -122
@@ -1,1184 +0,0 @@
1
- /*!
2
- * typeahead.js 0.10.5
3
- * https://github.com/twitter/typeahead.js
4
- * Copyright 2013-2014 Twitter, Inc. and other contributors; Licensed MIT
5
- */
6
-
7
- (function($) {
8
- var _ = function() {
9
- "use strict";
10
- return {
11
- isMsie: function() {
12
- return /(msie|trident)/i.test(navigator.userAgent) ? navigator.userAgent.match(/(msie |rv:)(\d+(.\d+)?)/i)[2] : false;
13
- },
14
- isBlankString: function(str) {
15
- return !str || /^\s*$/.test(str);
16
- },
17
- escapeRegExChars: function(str) {
18
- return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
19
- },
20
- isString: function(obj) {
21
- return typeof obj === "string";
22
- },
23
- isNumber: function(obj) {
24
- return typeof obj === "number";
25
- },
26
- isArray: $.isArray,
27
- isFunction: $.isFunction,
28
- isObject: $.isPlainObject,
29
- isUndefined: function(obj) {
30
- return typeof obj === "undefined";
31
- },
32
- toStr: function toStr(s) {
33
- return _.isUndefined(s) || s === null ? "" : s + "";
34
- },
35
- bind: $.proxy,
36
- each: function(collection, cb) {
37
- $.each(collection, reverseArgs);
38
- function reverseArgs(index, value) {
39
- return cb(value, index);
40
- }
41
- },
42
- map: $.map,
43
- filter: $.grep,
44
- every: function(obj, test) {
45
- var result = true;
46
- if (!obj) {
47
- return result;
48
- }
49
- $.each(obj, function(key, val) {
50
- if (!(result = test.call(null, val, key, obj))) {
51
- return false;
52
- }
53
- });
54
- return !!result;
55
- },
56
- some: function(obj, test) {
57
- var result = false;
58
- if (!obj) {
59
- return result;
60
- }
61
- $.each(obj, function(key, val) {
62
- if (result = test.call(null, val, key, obj)) {
63
- return false;
64
- }
65
- });
66
- return !!result;
67
- },
68
- mixin: $.extend,
69
- getUniqueId: function() {
70
- var counter = 0;
71
- return function() {
72
- return counter++;
73
- };
74
- }(),
75
- templatify: function templatify(obj) {
76
- return $.isFunction(obj) ? obj : template;
77
- function template() {
78
- return String(obj);
79
- }
80
- },
81
- defer: function(fn) {
82
- setTimeout(fn, 0);
83
- },
84
- debounce: function(func, wait, immediate) {
85
- var timeout, result;
86
- return function() {
87
- var context = this, args = arguments, later, callNow;
88
- later = function() {
89
- timeout = null;
90
- if (!immediate) {
91
- result = func.apply(context, args);
92
- }
93
- };
94
- callNow = immediate && !timeout;
95
- clearTimeout(timeout);
96
- timeout = setTimeout(later, wait);
97
- if (callNow) {
98
- result = func.apply(context, args);
99
- }
100
- return result;
101
- };
102
- },
103
- throttle: function(func, wait) {
104
- var context, args, timeout, result, previous, later;
105
- previous = 0;
106
- later = function() {
107
- previous = new Date();
108
- timeout = null;
109
- result = func.apply(context, args);
110
- };
111
- return function() {
112
- var now = new Date(), remaining = wait - (now - previous);
113
- context = this;
114
- args = arguments;
115
- if (remaining <= 0) {
116
- clearTimeout(timeout);
117
- timeout = null;
118
- previous = now;
119
- result = func.apply(context, args);
120
- } else if (!timeout) {
121
- timeout = setTimeout(later, remaining);
122
- }
123
- return result;
124
- };
125
- },
126
- noop: function() {}
127
- };
128
- }();
129
- var html = function() {
130
- return {
131
- wrapper: '<span class="twitter-typeahead"></span>',
132
- dropdown: '<span class="tt-dropdown-menu"></span>',
133
- dataset: '<div class="tt-dataset-%CLASS%"></div>',
134
- suggestions: '<span class="tt-suggestions"></span>',
135
- suggestion: '<div class="tt-suggestion"></div>'
136
- };
137
- }();
138
- var css = function() {
139
- "use strict";
140
- var css = {
141
- wrapper: {
142
- position: "relative",
143
- display: "inline-block"
144
- },
145
- hint: {
146
- position: "absolute",
147
- top: "0",
148
- left: "0",
149
- borderColor: "transparent",
150
- boxShadow: "none",
151
- opacity: "1"
152
- },
153
- input: {
154
- position: "relative",
155
- verticalAlign: "top",
156
- backgroundColor: "transparent"
157
- },
158
- inputWithNoHint: {
159
- position: "relative",
160
- verticalAlign: "top"
161
- },
162
- dropdown: {
163
- position: "absolute",
164
- top: "100%",
165
- left: "0",
166
- zIndex: "100",
167
- display: "none"
168
- },
169
- suggestions: {
170
- display: "block"
171
- },
172
- suggestion: {
173
- whiteSpace: "nowrap",
174
- cursor: "pointer"
175
- },
176
- suggestionChild: {
177
- whiteSpace: "normal"
178
- },
179
- ltr: {
180
- left: "0",
181
- right: "auto"
182
- },
183
- rtl: {
184
- left: "auto",
185
- right: " 0"
186
- }
187
- };
188
- if (_.isMsie()) {
189
- _.mixin(css.input, {
190
- backgroundImage: "url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)"
191
- });
192
- }
193
- if (_.isMsie() && _.isMsie() <= 7) {
194
- _.mixin(css.input, {
195
- marginTop: "-1px"
196
- });
197
- }
198
- return css;
199
- }();
200
- var EventBus = function() {
201
- "use strict";
202
- var namespace = "typeahead:";
203
- function EventBus(o) {
204
- if (!o || !o.el) {
205
- $.error("EventBus initialized without el");
206
- }
207
- this.$el = $(o.el);
208
- }
209
- _.mixin(EventBus.prototype, {
210
- trigger: function(type) {
211
- var args = [].slice.call(arguments, 1);
212
- this.$el.trigger(namespace + type, args);
213
- }
214
- });
215
- return EventBus;
216
- }();
217
- var EventEmitter = function() {
218
- "use strict";
219
- var splitter = /\s+/, nextTick = getNextTick();
220
- return {
221
- onSync: onSync,
222
- onAsync: onAsync,
223
- off: off,
224
- trigger: trigger
225
- };
226
- function on(method, types, cb, context) {
227
- var type;
228
- if (!cb) {
229
- return this;
230
- }
231
- types = types.split(splitter);
232
- cb = context ? bindContext(cb, context) : cb;
233
- this._callbacks = this._callbacks || {};
234
- while (type = types.shift()) {
235
- this._callbacks[type] = this._callbacks[type] || {
236
- sync: [],
237
- async: []
238
- };
239
- this._callbacks[type][method].push(cb);
240
- }
241
- return this;
242
- }
243
- function onAsync(types, cb, context) {
244
- return on.call(this, "async", types, cb, context);
245
- }
246
- function onSync(types, cb, context) {
247
- return on.call(this, "sync", types, cb, context);
248
- }
249
- function off(types) {
250
- var type;
251
- if (!this._callbacks) {
252
- return this;
253
- }
254
- types = types.split(splitter);
255
- while (type = types.shift()) {
256
- delete this._callbacks[type];
257
- }
258
- return this;
259
- }
260
- function trigger(types) {
261
- var type, callbacks, args, syncFlush, asyncFlush;
262
- if (!this._callbacks) {
263
- return this;
264
- }
265
- types = types.split(splitter);
266
- args = [].slice.call(arguments, 1);
267
- while ((type = types.shift()) && (callbacks = this._callbacks[type])) {
268
- syncFlush = getFlush(callbacks.sync, this, [ type ].concat(args));
269
- asyncFlush = getFlush(callbacks.async, this, [ type ].concat(args));
270
- syncFlush() && nextTick(asyncFlush);
271
- }
272
- return this;
273
- }
274
- function getFlush(callbacks, context, args) {
275
- return flush;
276
- function flush() {
277
- var cancelled;
278
- for (var i = 0, len = callbacks.length; !cancelled && i < len; i += 1) {
279
- cancelled = callbacks[i].apply(context, args) === false;
280
- }
281
- return !cancelled;
282
- }
283
- }
284
- function getNextTick() {
285
- var nextTickFn;
286
- if (window.setImmediate) {
287
- nextTickFn = function nextTickSetImmediate(fn) {
288
- setImmediate(function() {
289
- fn();
290
- });
291
- };
292
- } else {
293
- nextTickFn = function nextTickSetTimeout(fn) {
294
- setTimeout(function() {
295
- fn();
296
- }, 0);
297
- };
298
- }
299
- return nextTickFn;
300
- }
301
- function bindContext(fn, context) {
302
- return fn.bind ? fn.bind(context) : function() {
303
- fn.apply(context, [].slice.call(arguments, 0));
304
- };
305
- }
306
- }();
307
- var highlight = function(doc) {
308
- "use strict";
309
- var defaults = {
310
- node: null,
311
- pattern: null,
312
- tagName: "strong",
313
- className: null,
314
- wordsOnly: false,
315
- caseSensitive: false
316
- };
317
- return function hightlight(o) {
318
- var regex;
319
- o = _.mixin({}, defaults, o);
320
- if (!o.node || !o.pattern) {
321
- return;
322
- }
323
- o.pattern = _.isArray(o.pattern) ? o.pattern : [ o.pattern ];
324
- regex = getRegex(o.pattern, o.caseSensitive, o.wordsOnly);
325
- traverse(o.node, hightlightTextNode);
326
- function hightlightTextNode(textNode) {
327
- var match, patternNode, wrapperNode;
328
- if (match = regex.exec(textNode.data)) {
329
- wrapperNode = doc.createElement(o.tagName);
330
- o.className && (wrapperNode.className = o.className);
331
- patternNode = textNode.splitText(match.index);
332
- patternNode.splitText(match[0].length);
333
- wrapperNode.appendChild(patternNode.cloneNode(true));
334
- textNode.parentNode.replaceChild(wrapperNode, patternNode);
335
- }
336
- return !!match;
337
- }
338
- function traverse(el, hightlightTextNode) {
339
- var childNode, TEXT_NODE_TYPE = 3;
340
- for (var i = 0; i < el.childNodes.length; i++) {
341
- childNode = el.childNodes[i];
342
- if (childNode.nodeType === TEXT_NODE_TYPE) {
343
- i += hightlightTextNode(childNode) ? 1 : 0;
344
- } else {
345
- traverse(childNode, hightlightTextNode);
346
- }
347
- }
348
- }
349
- };
350
- function getRegex(patterns, caseSensitive, wordsOnly) {
351
- var escapedPatterns = [], regexStr;
352
- for (var i = 0, len = patterns.length; i < len; i++) {
353
- escapedPatterns.push(_.escapeRegExChars(patterns[i]));
354
- }
355
- regexStr = wordsOnly ? "\\b(" + escapedPatterns.join("|") + ")\\b" : "(" + escapedPatterns.join("|") + ")";
356
- return caseSensitive ? new RegExp(regexStr) : new RegExp(regexStr, "i");
357
- }
358
- }(window.document);
359
- var Input = function() {
360
- "use strict";
361
- var specialKeyCodeMap;
362
- specialKeyCodeMap = {
363
- 9: "tab",
364
- 27: "esc",
365
- 37: "left",
366
- 39: "right",
367
- 13: "enter",
368
- 38: "up",
369
- 40: "down"
370
- };
371
- function Input(o) {
372
- var that = this, onBlur, onFocus, onKeydown, onInput;
373
- o = o || {};
374
- if (!o.input) {
375
- $.error("input is missing");
376
- }
377
- onBlur = _.bind(this._onBlur, this);
378
- onFocus = _.bind(this._onFocus, this);
379
- onKeydown = _.bind(this._onKeydown, this);
380
- onInput = _.bind(this._onInput, this);
381
- this.$hint = $(o.hint);
382
- this.$input = $(o.input).on("blur.tt", onBlur).on("focus.tt", onFocus).on("keydown.tt", onKeydown);
383
- if (this.$hint.length === 0) {
384
- this.setHint = this.getHint = this.clearHint = this.clearHintIfInvalid = _.noop;
385
- }
386
- if (!_.isMsie()) {
387
- this.$input.on("input.tt", onInput);
388
- } else {
389
- this.$input.on("keydown.tt keypress.tt cut.tt paste.tt", function($e) {
390
- if (specialKeyCodeMap[$e.which || $e.keyCode]) {
391
- return;
392
- }
393
- _.defer(_.bind(that._onInput, that, $e));
394
- });
395
- }
396
- this.query = this.$input.val();
397
- this.$overflowHelper = buildOverflowHelper(this.$input);
398
- }
399
- Input.normalizeQuery = function(str) {
400
- return (str || "").replace(/^\s*/g, "").replace(/\s{2,}/g, " ");
401
- };
402
- _.mixin(Input.prototype, EventEmitter, {
403
- _onBlur: function onBlur() {
404
- this.resetInputValue();
405
- this.trigger("blurred");
406
- },
407
- _onFocus: function onFocus() {
408
- this.trigger("focused");
409
- },
410
- _onKeydown: function onKeydown($e) {
411
- var keyName = specialKeyCodeMap[$e.which || $e.keyCode];
412
- this._managePreventDefault(keyName, $e);
413
- if (keyName && this._shouldTrigger(keyName, $e)) {
414
- this.trigger(keyName + "Keyed", $e);
415
- }
416
- },
417
- _onInput: function onInput() {
418
- this._checkInputValue();
419
- },
420
- _managePreventDefault: function managePreventDefault(keyName, $e) {
421
- var preventDefault, hintValue, inputValue;
422
- switch (keyName) {
423
- case "tab":
424
- hintValue = this.getHint();
425
- inputValue = this.getInputValue();
426
- preventDefault = hintValue && hintValue !== inputValue && !withModifier($e);
427
- break;
428
-
429
- case "up":
430
- case "down":
431
- preventDefault = !withModifier($e);
432
- break;
433
-
434
- default:
435
- preventDefault = false;
436
- }
437
- preventDefault && $e.preventDefault();
438
- },
439
- _shouldTrigger: function shouldTrigger(keyName, $e) {
440
- var trigger;
441
- switch (keyName) {
442
- case "tab":
443
- trigger = !withModifier($e);
444
- break;
445
-
446
- default:
447
- trigger = true;
448
- }
449
- return trigger;
450
- },
451
- _checkInputValue: function checkInputValue() {
452
- var inputValue, areEquivalent, hasDifferentWhitespace;
453
- inputValue = this.getInputValue();
454
- areEquivalent = areQueriesEquivalent(inputValue, this.query);
455
- hasDifferentWhitespace = areEquivalent ? this.query.length !== inputValue.length : false;
456
- this.query = inputValue;
457
- if (!areEquivalent) {
458
- this.trigger("queryChanged", this.query);
459
- } else if (hasDifferentWhitespace) {
460
- this.trigger("whitespaceChanged", this.query);
461
- }
462
- },
463
- focus: function focus() {
464
- this.$input.focus();
465
- },
466
- blur: function blur() {
467
- this.$input.blur();
468
- },
469
- getQuery: function getQuery() {
470
- return this.query;
471
- },
472
- setQuery: function setQuery(query) {
473
- this.query = query;
474
- },
475
- getInputValue: function getInputValue() {
476
- return this.$input.val();
477
- },
478
- setInputValue: function setInputValue(value, silent) {
479
- this.$input.val(value);
480
- silent ? this.clearHint() : this._checkInputValue();
481
- },
482
- resetInputValue: function resetInputValue() {
483
- this.setInputValue(this.query, true);
484
- },
485
- getHint: function getHint() {
486
- return this.$hint.val();
487
- },
488
- setHint: function setHint(value) {
489
- this.$hint.val(value);
490
- },
491
- clearHint: function clearHint() {
492
- this.setHint("");
493
- },
494
- clearHintIfInvalid: function clearHintIfInvalid() {
495
- var val, hint, valIsPrefixOfHint, isValid;
496
- val = this.getInputValue();
497
- hint = this.getHint();
498
- valIsPrefixOfHint = val !== hint && hint.indexOf(val) === 0;
499
- isValid = val !== "" && valIsPrefixOfHint && !this.hasOverflow();
500
- !isValid && this.clearHint();
501
- },
502
- getLanguageDirection: function getLanguageDirection() {
503
- return (this.$input.css("direction") || "ltr").toLowerCase();
504
- },
505
- hasOverflow: function hasOverflow() {
506
- var constraint = this.$input.width() - 2;
507
- this.$overflowHelper.text(this.getInputValue());
508
- return this.$overflowHelper.width() >= constraint;
509
- },
510
- isCursorAtEnd: function() {
511
- var valueLength, selectionStart, range;
512
- valueLength = this.$input.val().length;
513
- selectionStart = this.$input[0].selectionStart;
514
- if (_.isNumber(selectionStart)) {
515
- return selectionStart === valueLength;
516
- } else if (document.selection) {
517
- range = document.selection.createRange();
518
- range.moveStart("character", -valueLength);
519
- return valueLength === range.text.length;
520
- }
521
- return true;
522
- },
523
- destroy: function destroy() {
524
- this.$hint.off(".tt");
525
- this.$input.off(".tt");
526
- this.$hint = this.$input = this.$overflowHelper = null;
527
- }
528
- });
529
- return Input;
530
- function buildOverflowHelper($input) {
531
- return $('<pre aria-hidden="true"></pre>').css({
532
- position: "absolute",
533
- visibility: "hidden",
534
- whiteSpace: "pre",
535
- fontFamily: $input.css("font-family"),
536
- fontSize: $input.css("font-size"),
537
- fontStyle: $input.css("font-style"),
538
- fontVariant: $input.css("font-variant"),
539
- fontWeight: $input.css("font-weight"),
540
- wordSpacing: $input.css("word-spacing"),
541
- letterSpacing: $input.css("letter-spacing"),
542
- textIndent: $input.css("text-indent"),
543
- textRendering: $input.css("text-rendering"),
544
- textTransform: $input.css("text-transform")
545
- }).insertAfter($input);
546
- }
547
- function areQueriesEquivalent(a, b) {
548
- return Input.normalizeQuery(a) === Input.normalizeQuery(b);
549
- }
550
- function withModifier($e) {
551
- return $e.altKey || $e.ctrlKey || $e.metaKey || $e.shiftKey;
552
- }
553
- }();
554
- var Dataset = function() {
555
- "use strict";
556
- var datasetKey = "ttDataset", valueKey = "ttValue", datumKey = "ttDatum";
557
- function Dataset(o) {
558
- o = o || {};
559
- o.templates = o.templates || {};
560
- if (!o.source) {
561
- $.error("missing source");
562
- }
563
- if (o.name && !isValidName(o.name)) {
564
- $.error("invalid dataset name: " + o.name);
565
- }
566
- this.query = null;
567
- this.highlight = !!o.highlight;
568
- this.name = o.name || _.getUniqueId();
569
- this.source = o.source;
570
- this.displayFn = getDisplayFn(o.display || o.displayKey);
571
- this.templates = getTemplates(o.templates, this.displayFn);
572
- this.$el = $(html.dataset.replace("%CLASS%", this.name));
573
- }
574
- Dataset.extractDatasetName = function extractDatasetName(el) {
575
- return $(el).data(datasetKey);
576
- };
577
- Dataset.extractValue = function extractDatum(el) {
578
- return $(el).data(valueKey);
579
- };
580
- Dataset.extractDatum = function extractDatum(el) {
581
- return $(el).data(datumKey);
582
- };
583
- _.mixin(Dataset.prototype, EventEmitter, {
584
- _render: function render(query, suggestions) {
585
- if (!this.$el) {
586
- return;
587
- }
588
- var that = this, hasSuggestions;
589
- this.$el.empty();
590
- hasSuggestions = suggestions && suggestions.length;
591
- if (!hasSuggestions && this.templates.empty) {
592
- this.$el.html(getEmptyHtml()).prepend(that.templates.header ? getHeaderHtml() : null).append(that.templates.footer ? getFooterHtml() : null);
593
- } else if (hasSuggestions) {
594
- this.$el.html(getSuggestionsHtml()).prepend(that.templates.header ? getHeaderHtml() : null).append(that.templates.footer ? getFooterHtml() : null);
595
- }
596
- this.trigger("rendered");
597
- function getEmptyHtml() {
598
- return that.templates.empty({
599
- query: query,
600
- isEmpty: true
601
- });
602
- }
603
- function getSuggestionsHtml() {
604
- var $suggestions, nodes;
605
- $suggestions = $(html.suggestions).css(css.suggestions);
606
- nodes = _.map(suggestions, getSuggestionNode);
607
- $suggestions.append.apply($suggestions, nodes);
608
- that.highlight && highlight({
609
- className: "tt-highlight",
610
- node: $suggestions[0],
611
- pattern: query
612
- });
613
- return $suggestions;
614
- function getSuggestionNode(suggestion) {
615
- var $el;
616
- $el = $(html.suggestion).append(that.templates.suggestion(suggestion)).data(datasetKey, that.name).data(valueKey, that.displayFn(suggestion)).data(datumKey, suggestion);
617
- $el.children().each(function() {
618
- $(this).css(css.suggestionChild);
619
- });
620
- return $el;
621
- }
622
- }
623
- function getHeaderHtml() {
624
- return that.templates.header({
625
- query: query,
626
- isEmpty: !hasSuggestions
627
- });
628
- }
629
- function getFooterHtml() {
630
- return that.templates.footer({
631
- query: query,
632
- isEmpty: !hasSuggestions
633
- });
634
- }
635
- },
636
- getRoot: function getRoot() {
637
- return this.$el;
638
- },
639
- update: function update(query) {
640
- var that = this;
641
- this.query = query;
642
- this.canceled = false;
643
- this.source(query, render);
644
- function render(suggestions) {
645
- if (!that.canceled && query === that.query) {
646
- that._render(query, suggestions);
647
- }
648
- }
649
- },
650
- cancel: function cancel() {
651
- this.canceled = true;
652
- },
653
- clear: function clear() {
654
- this.cancel();
655
- this.$el.empty();
656
- this.trigger("rendered");
657
- },
658
- isEmpty: function isEmpty() {
659
- return this.$el.is(":empty");
660
- },
661
- destroy: function destroy() {
662
- this.$el = null;
663
- }
664
- });
665
- return Dataset;
666
- function getDisplayFn(display) {
667
- display = display || "value";
668
- return _.isFunction(display) ? display : displayFn;
669
- function displayFn(obj) {
670
- return obj[display];
671
- }
672
- }
673
- function getTemplates(templates, displayFn) {
674
- return {
675
- empty: templates.empty && _.templatify(templates.empty),
676
- header: templates.header && _.templatify(templates.header),
677
- footer: templates.footer && _.templatify(templates.footer),
678
- suggestion: templates.suggestion || suggestionTemplate
679
- };
680
- function suggestionTemplate(context) {
681
- return "<p>" + displayFn(context) + "</p>";
682
- }
683
- }
684
- function isValidName(str) {
685
- return /^[_a-zA-Z0-9-]+$/.test(str);
686
- }
687
- }();
688
- var Dropdown = function() {
689
- "use strict";
690
- function Dropdown(o) {
691
- var that = this, onSuggestionClick, onSuggestionMouseEnter, onSuggestionMouseLeave;
692
- o = o || {};
693
- if (!o.menu) {
694
- $.error("menu is required");
695
- }
696
- this.isOpen = false;
697
- this.isEmpty = true;
698
- this.datasets = _.map(o.datasets, initializeDataset);
699
- onSuggestionClick = _.bind(this._onSuggestionClick, this);
700
- onSuggestionMouseEnter = _.bind(this._onSuggestionMouseEnter, this);
701
- onSuggestionMouseLeave = _.bind(this._onSuggestionMouseLeave, this);
702
- this.$menu = $(o.menu).on("click.tt", ".tt-suggestion", onSuggestionClick).on("mouseenter.tt", ".tt-suggestion", onSuggestionMouseEnter).on("mouseleave.tt", ".tt-suggestion", onSuggestionMouseLeave);
703
- _.each(this.datasets, function(dataset) {
704
- that.$menu.append(dataset.getRoot());
705
- dataset.onSync("rendered", that._onRendered, that);
706
- });
707
- }
708
- _.mixin(Dropdown.prototype, EventEmitter, {
709
- _onSuggestionClick: function onSuggestionClick($e) {
710
- this.trigger("suggestionClicked", $($e.currentTarget));
711
- },
712
- _onSuggestionMouseEnter: function onSuggestionMouseEnter($e) {
713
- this._removeCursor();
714
- this._setCursor($($e.currentTarget), true);
715
- },
716
- _onSuggestionMouseLeave: function onSuggestionMouseLeave() {
717
- this._removeCursor();
718
- },
719
- _onRendered: function onRendered() {
720
- this.isEmpty = _.every(this.datasets, isDatasetEmpty);
721
- this.isEmpty ? this._hide() : this.isOpen && this._show();
722
- this.trigger("datasetRendered");
723
- function isDatasetEmpty(dataset) {
724
- return dataset.isEmpty();
725
- }
726
- },
727
- _hide: function() {
728
- this.$menu.hide();
729
- },
730
- _show: function() {
731
- this.$menu.css("display", "block");
732
- },
733
- _getSuggestions: function getSuggestions() {
734
- return this.$menu.find(".tt-suggestion");
735
- },
736
- _getCursor: function getCursor() {
737
- return this.$menu.find(".tt-cursor").first();
738
- },
739
- _setCursor: function setCursor($el, silent) {
740
- $el.first().addClass("tt-cursor");
741
- !silent && this.trigger("cursorMoved");
742
- },
743
- _removeCursor: function removeCursor() {
744
- this._getCursor().removeClass("tt-cursor");
745
- },
746
- _moveCursor: function moveCursor(increment) {
747
- var $suggestions, $oldCursor, newCursorIndex, $newCursor;
748
- if (!this.isOpen) {
749
- return;
750
- }
751
- $oldCursor = this._getCursor();
752
- $suggestions = this._getSuggestions();
753
- this._removeCursor();
754
- newCursorIndex = $suggestions.index($oldCursor) + increment;
755
- newCursorIndex = (newCursorIndex + 1) % ($suggestions.length + 1) - 1;
756
- if (newCursorIndex === -1) {
757
- this.trigger("cursorRemoved");
758
- return;
759
- } else if (newCursorIndex < -1) {
760
- newCursorIndex = $suggestions.length - 1;
761
- }
762
- this._setCursor($newCursor = $suggestions.eq(newCursorIndex));
763
- this._ensureVisible($newCursor);
764
- },
765
- _ensureVisible: function ensureVisible($el) {
766
- var elTop, elBottom, menuScrollTop, menuHeight;
767
- elTop = $el.position().top;
768
- elBottom = elTop + $el.outerHeight(true);
769
- menuScrollTop = this.$menu.scrollTop();
770
- menuHeight = this.$menu.height() + parseInt(this.$menu.css("paddingTop"), 10) + parseInt(this.$menu.css("paddingBottom"), 10);
771
- if (elTop < 0) {
772
- this.$menu.scrollTop(menuScrollTop + elTop);
773
- } else if (menuHeight < elBottom) {
774
- this.$menu.scrollTop(menuScrollTop + (elBottom - menuHeight));
775
- }
776
- },
777
- close: function close() {
778
- if (this.isOpen) {
779
- this.isOpen = false;
780
- this._removeCursor();
781
- this._hide();
782
- this.trigger("closed");
783
- }
784
- },
785
- open: function open() {
786
- if (!this.isOpen) {
787
- this.isOpen = true;
788
- !this.isEmpty && this._show();
789
- this.trigger("opened");
790
- }
791
- },
792
- setLanguageDirection: function setLanguageDirection(dir) {
793
- this.$menu.css(dir === "ltr" ? css.ltr : css.rtl);
794
- },
795
- moveCursorUp: function moveCursorUp() {
796
- this._moveCursor(-1);
797
- },
798
- moveCursorDown: function moveCursorDown() {
799
- this._moveCursor(+1);
800
- },
801
- getDatumForSuggestion: function getDatumForSuggestion($el) {
802
- var datum = null;
803
- if ($el.length) {
804
- datum = {
805
- raw: Dataset.extractDatum($el),
806
- value: Dataset.extractValue($el),
807
- datasetName: Dataset.extractDatasetName($el)
808
- };
809
- }
810
- return datum;
811
- },
812
- getDatumForCursor: function getDatumForCursor() {
813
- return this.getDatumForSuggestion(this._getCursor().first());
814
- },
815
- getDatumForTopSuggestion: function getDatumForTopSuggestion() {
816
- return this.getDatumForSuggestion(this._getSuggestions().first());
817
- },
818
- update: function update(query) {
819
- _.each(this.datasets, updateDataset);
820
- function updateDataset(dataset) {
821
- dataset.update(query);
822
- }
823
- },
824
- empty: function empty() {
825
- _.each(this.datasets, clearDataset);
826
- this.isEmpty = true;
827
- function clearDataset(dataset) {
828
- dataset.clear();
829
- }
830
- },
831
- isVisible: function isVisible() {
832
- return this.isOpen && !this.isEmpty;
833
- },
834
- destroy: function destroy() {
835
- this.$menu.off(".tt");
836
- this.$menu = null;
837
- _.each(this.datasets, destroyDataset);
838
- function destroyDataset(dataset) {
839
- dataset.destroy();
840
- }
841
- }
842
- });
843
- return Dropdown;
844
- function initializeDataset(oDataset) {
845
- return new Dataset(oDataset);
846
- }
847
- }();
848
- var Typeahead = function() {
849
- "use strict";
850
- var attrsKey = "ttAttrs";
851
- function Typeahead(o) {
852
- var $menu, $input, $hint;
853
- o = o || {};
854
- if (!o.input) {
855
- $.error("missing input");
856
- }
857
- this.isActivated = false;
858
- this.autoselect = !!o.autoselect;
859
- this.minLength = _.isNumber(o.minLength) ? o.minLength : 1;
860
- this.$node = buildDom(o.input, o.withHint);
861
- $menu = this.$node.find(".tt-dropdown-menu");
862
- $input = this.$node.find(".tt-input");
863
- $hint = this.$node.find(".tt-hint");
864
- $input.on("blur.tt", function($e) {
865
- var active, isActive, hasActive;
866
- active = document.activeElement;
867
- isActive = $menu.is(active);
868
- hasActive = $menu.has(active).length > 0;
869
- if (_.isMsie() && (isActive || hasActive)) {
870
- $e.preventDefault();
871
- $e.stopImmediatePropagation();
872
- _.defer(function() {
873
- $input.focus();
874
- });
875
- }
876
- });
877
- $menu.on("mousedown.tt", function($e) {
878
- $e.preventDefault();
879
- });
880
- this.eventBus = o.eventBus || new EventBus({
881
- el: $input
882
- });
883
- this.dropdown = new Dropdown({
884
- menu: $menu,
885
- datasets: o.datasets
886
- }).onSync("suggestionClicked", this._onSuggestionClicked, this).onSync("cursorMoved", this._onCursorMoved, this).onSync("cursorRemoved", this._onCursorRemoved, this).onSync("opened", this._onOpened, this).onSync("closed", this._onClosed, this).onAsync("datasetRendered", this._onDatasetRendered, this);
887
- this.input = new Input({
888
- input: $input,
889
- hint: $hint
890
- }).onSync("focused", this._onFocused, this).onSync("blurred", this._onBlurred, this).onSync("enterKeyed", this._onEnterKeyed, this).onSync("tabKeyed", this._onTabKeyed, this).onSync("escKeyed", this._onEscKeyed, this).onSync("upKeyed", this._onUpKeyed, this).onSync("downKeyed", this._onDownKeyed, this).onSync("leftKeyed", this._onLeftKeyed, this).onSync("rightKeyed", this._onRightKeyed, this).onSync("queryChanged", this._onQueryChanged, this).onSync("whitespaceChanged", this._onWhitespaceChanged, this);
891
- this._setLanguageDirection();
892
- }
893
- _.mixin(Typeahead.prototype, {
894
- _onSuggestionClicked: function onSuggestionClicked(type, $el) {
895
- var datum;
896
- if (datum = this.dropdown.getDatumForSuggestion($el)) {
897
- this._select(datum);
898
- }
899
- },
900
- _onCursorMoved: function onCursorMoved() {
901
- var datum = this.dropdown.getDatumForCursor();
902
- this.input.setInputValue(datum.value, true);
903
- this.eventBus.trigger("cursorchanged", datum.raw, datum.datasetName);
904
- },
905
- _onCursorRemoved: function onCursorRemoved() {
906
- this.input.resetInputValue();
907
- this._updateHint();
908
- },
909
- _onDatasetRendered: function onDatasetRendered() {
910
- this._updateHint();
911
- },
912
- _onOpened: function onOpened() {
913
- this._updateHint();
914
- this.eventBus.trigger("opened");
915
- },
916
- _onClosed: function onClosed() {
917
- this.input.clearHint();
918
- this.eventBus.trigger("closed");
919
- },
920
- _onFocused: function onFocused() {
921
- this.isActivated = true;
922
- this.dropdown.open();
923
- },
924
- _onBlurred: function onBlurred() {
925
- this.isActivated = false;
926
- this.dropdown.empty();
927
- this.dropdown.close();
928
- },
929
- _onEnterKeyed: function onEnterKeyed(type, $e) {
930
- var cursorDatum, topSuggestionDatum;
931
- cursorDatum = this.dropdown.getDatumForCursor();
932
- topSuggestionDatum = this.dropdown.getDatumForTopSuggestion();
933
- if (cursorDatum) {
934
- this._select(cursorDatum);
935
- $e.preventDefault();
936
- } else if (this.autoselect && topSuggestionDatum) {
937
- this._select(topSuggestionDatum);
938
- $e.preventDefault();
939
- }
940
- },
941
- _onTabKeyed: function onTabKeyed(type, $e) {
942
- var datum;
943
- if (datum = this.dropdown.getDatumForCursor()) {
944
- this._select(datum);
945
- $e.preventDefault();
946
- } else {
947
- this._autocomplete(true);
948
- }
949
- },
950
- _onEscKeyed: function onEscKeyed() {
951
- this.dropdown.close();
952
- this.input.resetInputValue();
953
- },
954
- _onUpKeyed: function onUpKeyed() {
955
- var query = this.input.getQuery();
956
- this.dropdown.isEmpty && query.length >= this.minLength ? this.dropdown.update(query) : this.dropdown.moveCursorUp();
957
- this.dropdown.open();
958
- },
959
- _onDownKeyed: function onDownKeyed() {
960
- var query = this.input.getQuery();
961
- this.dropdown.isEmpty && query.length >= this.minLength ? this.dropdown.update(query) : this.dropdown.moveCursorDown();
962
- this.dropdown.open();
963
- },
964
- _onLeftKeyed: function onLeftKeyed() {
965
- this.dir === "rtl" && this._autocomplete();
966
- },
967
- _onRightKeyed: function onRightKeyed() {
968
- this.dir === "ltr" && this._autocomplete();
969
- },
970
- _onQueryChanged: function onQueryChanged(e, query) {
971
- this.input.clearHintIfInvalid();
972
- query.length >= this.minLength ? this.dropdown.update(query) : this.dropdown.empty();
973
- this.dropdown.open();
974
- this._setLanguageDirection();
975
- },
976
- _onWhitespaceChanged: function onWhitespaceChanged() {
977
- this._updateHint();
978
- this.dropdown.open();
979
- },
980
- _setLanguageDirection: function setLanguageDirection() {
981
- var dir;
982
- if (this.dir !== (dir = this.input.getLanguageDirection())) {
983
- this.dir = dir;
984
- this.$node.css("direction", dir);
985
- this.dropdown.setLanguageDirection(dir);
986
- }
987
- },
988
- _updateHint: function updateHint() {
989
- var datum, val, query, escapedQuery, frontMatchRegEx, match;
990
- datum = this.dropdown.getDatumForTopSuggestion();
991
- if (datum && this.dropdown.isVisible() && !this.input.hasOverflow()) {
992
- val = this.input.getInputValue();
993
- query = Input.normalizeQuery(val);
994
- escapedQuery = _.escapeRegExChars(query);
995
- frontMatchRegEx = new RegExp("^(?:" + escapedQuery + ")(.+$)", "i");
996
- match = frontMatchRegEx.exec(datum.value);
997
- match ? this.input.setHint(val + match[1]) : this.input.clearHint();
998
- } else {
999
- this.input.clearHint();
1000
- }
1001
- },
1002
- _autocomplete: function autocomplete(laxCursor) {
1003
- var hint, query, isCursorAtEnd, datum;
1004
- hint = this.input.getHint();
1005
- query = this.input.getQuery();
1006
- isCursorAtEnd = laxCursor || this.input.isCursorAtEnd();
1007
- if (hint && query !== hint && isCursorAtEnd) {
1008
- datum = this.dropdown.getDatumForTopSuggestion();
1009
- datum && this.input.setInputValue(datum.value);
1010
- this.eventBus.trigger("autocompleted", datum.raw, datum.datasetName);
1011
- }
1012
- },
1013
- _select: function select(datum) {
1014
- this.input.setQuery(datum.value);
1015
- this.input.setInputValue(datum.value, true);
1016
- this._setLanguageDirection();
1017
- this.eventBus.trigger("selected", datum.raw, datum.datasetName);
1018
- this.dropdown.close();
1019
- _.defer(_.bind(this.dropdown.empty, this.dropdown));
1020
- },
1021
- open: function open() {
1022
- this.dropdown.open();
1023
- },
1024
- close: function close() {
1025
- this.dropdown.close();
1026
- },
1027
- setVal: function setVal(val) {
1028
- val = _.toStr(val);
1029
- if (this.isActivated) {
1030
- this.input.setInputValue(val);
1031
- } else {
1032
- this.input.setQuery(val);
1033
- this.input.setInputValue(val, true);
1034
- }
1035
- this._setLanguageDirection();
1036
- },
1037
- getVal: function getVal() {
1038
- return this.input.getQuery();
1039
- },
1040
- destroy: function destroy() {
1041
- this.input.destroy();
1042
- this.dropdown.destroy();
1043
- destroyDomStructure(this.$node);
1044
- this.$node = null;
1045
- }
1046
- });
1047
- return Typeahead;
1048
- function buildDom(input, withHint) {
1049
- var $input, $wrapper, $dropdown, $hint;
1050
- $input = $(input);
1051
- $wrapper = $(html.wrapper).css(css.wrapper);
1052
- $dropdown = $(html.dropdown).css(css.dropdown);
1053
- $hint = $input.clone().css(css.hint).css(getBackgroundStyles($input));
1054
- $hint.val("").removeData().addClass("tt-hint").removeAttr("id name placeholder required").prop("readonly", true).attr({
1055
- autocomplete: "off",
1056
- spellcheck: "false",
1057
- tabindex: -1
1058
- });
1059
- $input.data(attrsKey, {
1060
- dir: $input.attr("dir"),
1061
- autocomplete: $input.attr("autocomplete"),
1062
- spellcheck: $input.attr("spellcheck"),
1063
- style: $input.attr("style")
1064
- });
1065
- $input.addClass("tt-input").attr({
1066
- autocomplete: "off",
1067
- spellcheck: false
1068
- }).css(withHint ? css.input : css.inputWithNoHint);
1069
- try {
1070
- !$input.attr("dir") && $input.attr("dir", "auto");
1071
- } catch (e) {}
1072
- return $input.wrap($wrapper).parent().prepend(withHint ? $hint : null).append($dropdown);
1073
- }
1074
- function getBackgroundStyles($el) {
1075
- return {
1076
- backgroundAttachment: $el.css("background-attachment"),
1077
- backgroundClip: $el.css("background-clip"),
1078
- backgroundColor: $el.css("background-color"),
1079
- backgroundImage: $el.css("background-image"),
1080
- backgroundOrigin: $el.css("background-origin"),
1081
- backgroundPosition: $el.css("background-position"),
1082
- backgroundRepeat: $el.css("background-repeat"),
1083
- backgroundSize: $el.css("background-size")
1084
- };
1085
- }
1086
- function destroyDomStructure($node) {
1087
- var $input = $node.find(".tt-input");
1088
- _.each($input.data(attrsKey), function(val, key) {
1089
- _.isUndefined(val) ? $input.removeAttr(key) : $input.attr(key, val);
1090
- });
1091
- $input.detach().removeData(attrsKey).removeClass("tt-input").insertAfter($node);
1092
- $node.remove();
1093
- }
1094
- }();
1095
- (function() {
1096
- "use strict";
1097
- var old, typeaheadKey, methods;
1098
- old = $.fn.typeahead;
1099
- typeaheadKey = "ttTypeahead";
1100
- methods = {
1101
- initialize: function initialize(o, datasets) {
1102
- datasets = _.isArray(datasets) ? datasets : [].slice.call(arguments, 1);
1103
- o = o || {};
1104
- return this.each(attach);
1105
- function attach() {
1106
- var $input = $(this), eventBus, typeahead;
1107
- _.each(datasets, function(d) {
1108
- d.highlight = !!o.highlight;
1109
- });
1110
- typeahead = new Typeahead({
1111
- input: $input,
1112
- eventBus: eventBus = new EventBus({
1113
- el: $input
1114
- }),
1115
- withHint: _.isUndefined(o.hint) ? true : !!o.hint,
1116
- minLength: o.minLength,
1117
- autoselect: o.autoselect,
1118
- datasets: datasets
1119
- });
1120
- $input.data(typeaheadKey, typeahead);
1121
- }
1122
- },
1123
- open: function open() {
1124
- return this.each(openTypeahead);
1125
- function openTypeahead() {
1126
- var $input = $(this), typeahead;
1127
- if (typeahead = $input.data(typeaheadKey)) {
1128
- typeahead.open();
1129
- }
1130
- }
1131
- },
1132
- close: function close() {
1133
- return this.each(closeTypeahead);
1134
- function closeTypeahead() {
1135
- var $input = $(this), typeahead;
1136
- if (typeahead = $input.data(typeaheadKey)) {
1137
- typeahead.close();
1138
- }
1139
- }
1140
- },
1141
- val: function val(newVal) {
1142
- return !arguments.length ? getVal(this.first()) : this.each(setVal);
1143
- function setVal() {
1144
- var $input = $(this), typeahead;
1145
- if (typeahead = $input.data(typeaheadKey)) {
1146
- typeahead.setVal(newVal);
1147
- }
1148
- }
1149
- function getVal($input) {
1150
- var typeahead, query;
1151
- if (typeahead = $input.data(typeaheadKey)) {
1152
- query = typeahead.getVal();
1153
- }
1154
- return query;
1155
- }
1156
- },
1157
- destroy: function destroy() {
1158
- return this.each(unattach);
1159
- function unattach() {
1160
- var $input = $(this), typeahead;
1161
- if (typeahead = $input.data(typeaheadKey)) {
1162
- typeahead.destroy();
1163
- $input.removeData(typeaheadKey);
1164
- }
1165
- }
1166
- }
1167
- };
1168
- $.fn.typeahead = function(method) {
1169
- var tts;
1170
- if (methods[method] && method !== "initialize") {
1171
- tts = this.filter(function() {
1172
- return !!$(this).data(typeaheadKey);
1173
- });
1174
- return methods[method].apply(tts, [].slice.call(arguments, 1));
1175
- } else {
1176
- return methods.initialize.apply(this, arguments);
1177
- }
1178
- };
1179
- $.fn.typeahead.noConflict = function noConflict() {
1180
- $.fn.typeahead = old;
1181
- return this;
1182
- };
1183
- })();
1184
- })(window.jQuery);