iqvoc 4.12.1 → 4.13.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (977) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/Gemfile +26 -42
  4. data/Gemfile.lock +372 -340
  5. data/README.md +3 -3
  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/iqvoc.js +16 -115
  17. data/app/assets/javascripts/iqvoc/label_resolver.js +35 -30
  18. data/app/assets/javascripts/iqvoc/langselect.js +2 -2
  19. data/app/assets/javascripts/iqvoc/manifest.js +11 -12
  20. data/app/assets/javascripts/iqvoc/treeview.js +227 -228
  21. data/app/assets/javascripts/manifest.js +2 -2
  22. data/app/assets/stylesheets/_framework.scss +3 -4
  23. data/app/assets/stylesheets/iqvoc/{settings/_bootstrap.scss → _bootstrap_overrides.scss} +54 -6
  24. data/app/assets/stylesheets/iqvoc/_manifest.scss +15 -17
  25. data/app/assets/stylesheets/iqvoc/components/_components.scss +31 -50
  26. data/app/assets/stylesheets/iqvoc/components/_entity_select.scss +0 -1
  27. data/app/assets/stylesheets/iqvoc/components/_label-list.scss +3 -3
  28. data/app/assets/stylesheets/iqvoc/components/_modals.scss +3 -5
  29. data/app/assets/stylesheets/iqvoc/components/_notes.scss +5 -0
  30. data/app/assets/stylesheets/iqvoc/components/_onebox.scss +18 -0
  31. data/app/assets/stylesheets/iqvoc/components/_sidebars.scss +6 -2
  32. data/app/assets/stylesheets/iqvoc/components/_simplete.scss +37 -0
  33. data/app/assets/stylesheets/iqvoc/components/{_treeview.scss.erb → _treeview.scss} +11 -3
  34. data/app/assets/stylesheets/iqvoc/components/typeahead.scss +4 -2
  35. data/app/assets/stylesheets/iqvoc/settings/_bootstrap-variables.scss +1 -853
  36. data/app/assets/stylesheets/iqvoc/settings/_fonts.scss +35 -35
  37. data/app/assets/stylesheets/iqvoc/settings/_manifest.scss +4 -0
  38. data/app/assets/stylesheets/iqvoc/{mixins → settings}/_mixins.scss +4 -0
  39. data/app/assets/stylesheets/{manifest.css.scss → manifest.scss} +1 -1
  40. data/app/controllers/collections_controller.rb +6 -3
  41. data/app/controllers/concepts/alphabetical_controller.rb +18 -16
  42. data/app/controllers/concepts/expired_controller.rb +9 -10
  43. data/app/controllers/concepts/hierarchical_controller.rb +1 -3
  44. data/app/controllers/concepts/scheme_controller.rb +4 -1
  45. data/app/controllers/concepts/untranslated_controller.rb +1 -1
  46. data/app/controllers/concepts/versions_controller.rb +1 -0
  47. data/app/controllers/concepts_controller.rb +4 -0
  48. data/app/controllers/concerns/controller_extensions.rb +37 -3
  49. data/app/controllers/errors_controller.rb +8 -0
  50. data/app/controllers/exports_controller.rb +1 -1
  51. data/app/controllers/frontpage_controller.rb +8 -1
  52. data/app/controllers/hierarchy_controller.rb +7 -1
  53. data/app/controllers/imports_controller.rb +1 -1
  54. data/app/controllers/rdf_controller.rb +3 -0
  55. data/app/controllers/search_results_controller.rb +7 -1
  56. data/app/controllers/user_sessions_controller.rb +5 -3
  57. data/app/controllers/users_controller.rb +2 -2
  58. data/app/helpers/application_helper.rb +1 -1
  59. data/app/helpers/concepts_helper.rb +2 -1
  60. data/app/helpers/dashboard_helper.rb +6 -2
  61. data/app/helpers/form_helper.rb +1 -1
  62. data/app/helpers/navigation_helper.rb +20 -9
  63. data/app/helpers/rdf_helper.rb +14 -0
  64. data/app/helpers/search_results_helper.rb +1 -1
  65. data/app/models/ability.rb +3 -0
  66. data/app/models/abstract_user.rb +19 -7
  67. data/app/models/application_record.rb +3 -0
  68. data/app/models/collection/base.rb +9 -9
  69. data/app/models/collection/member/base.rb +6 -3
  70. data/app/models/concept/base.rb +102 -32
  71. data/app/models/concept/relation/base.rb +3 -3
  72. data/app/models/concept/skos/base.rb +10 -0
  73. data/app/models/concerns/search_extension.rb +1 -1
  74. data/app/models/concerns/versioning.rb +11 -4
  75. data/app/models/configuration_setting.rb +1 -1
  76. data/app/models/dataset/iqvoc_dataset.rb +3 -2
  77. data/app/models/export.rb +2 -2
  78. data/app/models/import.rb +1 -1
  79. data/app/models/label/base.rb +26 -7
  80. data/app/models/labeling/base.rb +1 -1
  81. data/app/models/labeling/skos/alt_label.rb +4 -0
  82. data/app/models/labeling/skos/base.rb +1 -1
  83. data/app/models/labeling/skos/hidden_label.rb +2 -2
  84. data/app/models/match/base.rb +5 -3
  85. data/app/models/notation/base.rb +4 -1
  86. data/app/models/note/annotated/base.rb +1 -1
  87. data/app/models/note/base.rb +23 -5
  88. data/app/views/collections/_data.html.erb +16 -2
  89. data/app/views/collections/_form.html.erb +2 -2
  90. data/app/views/collections/_sidebar.html.erb +16 -8
  91. data/app/views/collections/show_published.html.erb +4 -4
  92. data/app/views/collections/show_unpublished.html.erb +6 -6
  93. data/app/views/concepts/_form.html.erb +2 -3
  94. data/app/views/concepts/alphabetical/_search_result.html.erb +10 -11
  95. data/app/views/concepts/alphabetical/index.html.erb +7 -2
  96. data/app/views/concepts/expired/index.html.erb +10 -5
  97. data/app/views/concepts/glance.html.erb +5 -4
  98. data/app/views/concepts/scheme/edit.html.erb +1 -1
  99. data/app/views/concepts/scheme/show.html.erb +2 -2
  100. data/app/views/concepts/scheme/show.iqrdf +1 -6
  101. data/app/views/concepts/show_published.html.erb +4 -4
  102. data/app/views/concepts/show_unpublished.html.erb +6 -6
  103. data/app/views/concepts/sidebars/_plural.html.erb +7 -2
  104. data/app/views/concepts/sidebars/_singular.html.erb +12 -7
  105. data/app/views/dashboard/_sidebar.html.erb +3 -0
  106. data/app/views/dashboard/_table.html.erb +20 -9
  107. data/app/views/dashboard/glance.html.erb +5 -4
  108. data/app/views/dashboard/index.html.erb +4 -1
  109. data/app/views/errors/access_denied.html.erb +17 -2
  110. data/app/views/errors/not_found.html.erb +17 -3
  111. data/app/views/errors/server_error.html.erb +38 -0
  112. data/app/views/frontpage/index.html.erb +28 -7
  113. data/app/views/instance_configuration/index.html.erb +4 -4
  114. data/app/views/kaminari/_first_page.html.erb +13 -0
  115. data/app/views/kaminari/_gap.html.erb +10 -0
  116. data/app/views/kaminari/_last_page.html.erb +13 -0
  117. data/app/views/kaminari/_next_page.html.erb +13 -0
  118. data/app/views/kaminari/_page.html.erb +18 -0
  119. data/app/views/kaminari/_paginator.html.erb +25 -0
  120. data/app/views/kaminari/_prev_page.html.erb +13 -0
  121. data/app/views/layouts/_controls.html.erb +30 -27
  122. data/app/views/layouts/_navigation.html.erb +15 -15
  123. data/app/views/layouts/_sections.html.erb +3 -1
  124. data/app/views/layouts/_user_navigation.html.erb +24 -34
  125. data/app/views/layouts/application.html.erb +41 -41
  126. data/app/views/pages/components.html.erb +5 -5
  127. data/app/views/pages/version.html.erb +12 -14
  128. data/app/views/partials/collection/_new_link_base.html.erb +5 -3
  129. data/app/views/partials/concept/_new_link_base.html.erb +5 -3
  130. data/app/views/partials/labeling/skos/_edit_base.html.erb +3 -1
  131. data/app/views/partials/match/_edit_base.html.erb +1 -1
  132. data/app/views/partials/notation/_edit_base.html.erb +1 -1
  133. data/app/views/partials/note/_edit_base.html.erb +19 -6
  134. data/app/views/partials/note/_note.html.erb +1 -1
  135. data/app/views/partials/note/_search_result.html.erb +1 -1
  136. data/app/views/partials/note/skos/_edit_change_note.html.erb +1 -0
  137. data/app/views/partials/note/skos/change_note/_search_result.html.erb +1 -1
  138. data/app/views/partials/note/skos/definition/_search_result.html.erb +1 -1
  139. data/app/views/search_results/_form.html.erb +4 -4
  140. data/app/views/search_results/_result_list.html.erb +15 -0
  141. data/app/views/search_results/_sidebar.html.erb +2 -0
  142. data/app/views/search_results/index.html.erb +1 -11
  143. data/app/views/search_results/index.iqrdf +2 -2
  144. data/app/views/search_results/sections/_change_note.html.erb +8 -8
  145. data/app/views/search_results/sections/_collection.html.erb +2 -2
  146. data/app/views/search_results/sections/_datasets.html.erb +9 -6
  147. data/app/views/search_results/sections/_klass.html.erb +2 -2
  148. data/app/views/search_results/sections/_languages.html.erb +11 -8
  149. data/app/views/search_results/sections/_mode.html.erb +2 -2
  150. data/app/views/search_results/sections/_note.html.erb +1 -1
  151. data/app/views/search_results/sections/_terms.html.erb +10 -11
  152. data/app/views/search_results/sections/_type.html.erb +14 -11
  153. data/app/views/triplestore_sync/index.html.erb +1 -1
  154. data/app/views/users/_form.html.erb +3 -1
  155. data/app/views/users/index.html.erb +8 -5
  156. data/config/application.rb +19 -32
  157. data/config/boot.rb +2 -17
  158. data/config/cable.yml +10 -0
  159. data/config/database.yml +12 -11
  160. data/config/database.yml.postgresql +14 -12
  161. data/config/engine.rb +4 -10
  162. data/config/environment.rb +4 -20
  163. data/config/environments/heroku.rb +0 -13
  164. data/config/initializers/apipie.rb +2 -0
  165. data/config/initializers/application_controller_renderer.rb +8 -0
  166. data/config/initializers/backtrace_silencers.rb +0 -16
  167. data/config/initializers/content_security_policy.rb +25 -0
  168. data/config/initializers/cookies_serializer.rb +2 -0
  169. data/config/initializers/delayed_job.rb +0 -1
  170. data/config/initializers/inflections.rb +0 -16
  171. data/config/initializers/iqvoc.rb +0 -2
  172. data/config/initializers/linked_data.rb +5 -0
  173. data/config/initializers/mime_types.rb +0 -16
  174. data/config/initializers/new_framework_defaults_5_1.rb +14 -0
  175. data/config/initializers/session_store.rb +0 -16
  176. data/config/initializers/sqlite3_booleans.rb +1 -0
  177. data/config/initializers/wrap_parameters.rb +2 -2
  178. data/config/locales/activerecord.de.yml +8 -7
  179. data/config/locales/activerecord.en.yml +2 -0
  180. data/config/locales/de.yml +25 -17
  181. data/config/locales/en.yml +15 -3
  182. data/config/puma.rb +37 -0
  183. data/config/routes.rb +3 -0
  184. data/config/secrets.yml +24 -0
  185. data/config/storage.yml +34 -0
  186. data/db/migrate/20100927101502_create_schema.rb +1 -1
  187. data/db/migrate/20101125141218_add_collection_tables.rb +1 -1
  188. data/db/migrate/20101129161528_add_type_to_collections.rb +1 -1
  189. data/db/migrate/20101202094602_add_origin_to_collections.rb +1 -1
  190. data/db/migrate/20101202135420_rename_collection_contents_to_collection_members.rb +1 -1
  191. data/db/migrate/20101208103531_add_type_to_collection_contents.rb +1 -1
  192. data/db/migrate/20101210153916_add_indexes_to_collections.rb +1 -1
  193. data/db/migrate/20110204121244_create_collection_labels.rb +1 -1
  194. data/db/migrate/20110208084250_change_origin_lengths.rb +1 -1
  195. data/db/migrate/20110328124300_discard_collection_specifics.rb +1 -1
  196. data/db/migrate/20110408120357_remove_classifications_and_classifiers.rb +1 -1
  197. data/db/migrate/20110408120740_remove_xl_specfic_stuff.rb +1 -1
  198. data/db/migrate/20110420133640_change_value_in_notes.rb +1 -1
  199. data/db/migrate/20110427120534_add_published_at_to_labels.rb +1 -1
  200. data/db/migrate/20110510162719_use_mono_hierarchy_instead_of_poly_hierarchy.rb +1 -1
  201. data/db/migrate/20110512132624_extend_notes_value_field_length.rb +1 -1
  202. data/db/migrate/20110525103100_separate_note_annotation_predicates.rb +1 -1
  203. data/db/migrate/20110615134040_change_umt_note_annotations_to_dct.rb +1 -1
  204. data/db/migrate/20120119000000_create_configuration_settings.rb +1 -1
  205. data/db/migrate/20120201120736_add_top_term_to_concepts.rb +1 -1
  206. data/db/migrate/20120326102037_add_rank_to_concept_relations.rb +1 -1
  207. data/db/migrate/20130227145825_fix_collection_type.rb +1 -1
  208. data/db/migrate/20130315093255_add_notations.rb +1 -1
  209. data/db/migrate/20130315141952_add_indexes_to_notations.rb +1 -1
  210. data/db/migrate/20130418093837_add_language_to_note_annotations.rb +1 -1
  211. data/db/migrate/20130502151221_fix_collection_member_types.rb +1 -1
  212. data/db/migrate/20130508103137_adjust_note_languages_setting.rb +2 -2
  213. data/db/migrate/20131220134356_create_delayed_jobs.rb +1 -1
  214. data/db/migrate/20131220144601_create_imports.rb +1 -1
  215. data/db/migrate/20140423095147_create_exports.rb +1 -1
  216. data/db/migrate/20140425130615_add_fk_indexes_to_exports_and_imports.rb +1 -1
  217. data/db/migrate/20140505144919_add_import_file_to_imports.rb +1 -1
  218. data/db/migrate/20140506073428_add_missing_imports_attributes.rb +1 -1
  219. data/db/migrate/20140506133619_add_namespace_to_exports.rb +1 -1
  220. data/db/migrate/20140730132113_add_type_to_users.rb +1 -1
  221. data/db/migrate/20140807072457_create_job_relations.rb +1 -1
  222. data/db/migrate/20140807123413_add_response_error_to_job_relation.rb +1 -1
  223. data/db/migrate/20141204151558_add_foreign_key_constraints.rb +1 -1
  224. data/db/migrate/20150316103756_delayed_jobs_optimizations.rb +1 -1
  225. data/db/migrate/20150317162953_drop_job_relation.rb +1 -1
  226. data/db/migrate/20170608093748_extend_job_output_log.rb +1 -1
  227. data/db/migrate/20170626074649_add_note_annotations_index.rb +1 -1
  228. data/db/migrate/20180430163647_utf8mb4_conversion.rb +1 -1
  229. data/db/migrate/20180525135715_fix_note_annotations_index.rb +1 -1
  230. data/db/migrate/20190403133600_change_collation.rb +1 -1
  231. data/db/migrate/20200220134024_add_position_to_notes.rb +5 -0
  232. data/db/migrate/20200529053158_extend_users.rb +14 -0
  233. data/db/migrate/20200901143030_add_collection_type_index.rb +5 -0
  234. data/db/schema.rb +120 -123
  235. data/iqvoc.gemspec +15 -13
  236. data/lib/iqvoc/configuration/core.rb +1 -3
  237. data/lib/iqvoc/configuration/navigation.rb +6 -0
  238. data/lib/iqvoc/environments/development.rb +29 -47
  239. data/lib/iqvoc/environments/production.rb +37 -30
  240. data/lib/iqvoc/environments/test.rb +11 -9
  241. data/lib/iqvoc/version.rb +1 -1
  242. data/lib/tasks/cleanup.rake +37 -0
  243. data/lib/tasks/db.rake +32 -0
  244. data/public/assets/fonts/FiraMono-Regular-0b6138c5b386dc9125473fd851926f29.ttf +0 -0
  245. data/public/assets/fonts/FiraMono-Regular-690950e8d89c92cba41eeeb13f1de93e.woff +0 -0
  246. data/public/assets/fonts/FiraMono-Regular-98f97ed2dbf9d94d4fa5df048434b88d.eot +0 -0
  247. data/public/assets/fonts/FiraMono-Regular.eot +0 -0
  248. data/public/assets/fonts/FiraMono-Regular.ttf +0 -0
  249. data/public/assets/fonts/FiraMono-Regular.woff +0 -0
  250. data/public/assets/fonts/FiraSans-Bold-0de5f536bd0dc370449c0c67a49a6fe7.eot +0 -0
  251. data/public/assets/fonts/FiraSans-Bold-25037ef8d155e38b5df0c242a4c6cf2d.ttf +0 -0
  252. data/public/assets/fonts/FiraSans-Bold-494219a9639084eb9528ff47f79fcda1.woff +0 -0
  253. data/public/assets/fonts/FiraSans-Bold.eot +0 -0
  254. data/public/assets/fonts/FiraSans-Bold.ttf +0 -0
  255. data/public/assets/fonts/FiraSans-Bold.woff +0 -0
  256. data/public/assets/fonts/FiraSans-BoldItalic-5b3b812df9e1cb2b1f34baad65a2bdfb.ttf +0 -0
  257. data/public/assets/fonts/FiraSans-BoldItalic-90b8087c48feff2e828f658c49de5399.eot +0 -0
  258. data/public/assets/fonts/FiraSans-BoldItalic-b10e46158d50bf9b78968112acf87310.woff +0 -0
  259. data/public/assets/fonts/FiraSans-BoldItalic.eot +0 -0
  260. data/public/assets/fonts/FiraSans-BoldItalic.ttf +0 -0
  261. data/public/assets/fonts/FiraSans-BoldItalic.woff +0 -0
  262. data/public/assets/fonts/FiraSans-Book-659d252627051e785260ba445da8930f.woff +0 -0
  263. data/public/assets/fonts/FiraSans-Book-abc65ceb7bfaed729bff7a9d1367b7d4.eot +0 -0
  264. data/public/assets/fonts/FiraSans-Book-f0410501d5ecc5fe66bcdbc02b482c81.ttf +0 -0
  265. data/public/assets/fonts/FiraSans-Book.eot +0 -0
  266. data/public/assets/fonts/FiraSans-Book.ttf +0 -0
  267. data/public/assets/fonts/FiraSans-Book.woff +0 -0
  268. data/public/assets/fonts/FiraSans-ExtraLight-140f15ee97cb2099ff01c2b57dcd1a24.woff +0 -0
  269. data/public/assets/fonts/FiraSans-ExtraLight-28e5c2679df66406ebd117fbdded6753.eot +0 -0
  270. data/public/assets/fonts/FiraSans-ExtraLight-c15de70ebceffce178cbd2e82aa2c373.ttf +0 -0
  271. data/public/assets/fonts/FiraSans-ExtraLight.eot +0 -0
  272. data/public/assets/fonts/FiraSans-ExtraLight.ttf +0 -0
  273. data/public/assets/fonts/FiraSans-ExtraLight.woff +0 -0
  274. data/public/assets/fonts/FiraSans-Italic-ac4cb18fe14a7c90f29cdd2ce499ba59.woff +0 -0
  275. data/public/assets/fonts/FiraSans-Italic-bdea00fee0da5ca9176061e00c26a0da.eot +0 -0
  276. data/public/assets/fonts/FiraSans-Italic-e7e76a0ee170fd29b5d8100753eff569.ttf +0 -0
  277. data/public/assets/fonts/FiraSans-Italic.eot +0 -0
  278. data/public/assets/fonts/FiraSans-Italic.ttf +0 -0
  279. data/public/assets/fonts/FiraSans-Italic.woff +0 -0
  280. data/public/assets/fonts/FiraSans-Light-20adaf630b690c3e3184daaeae585f22.woff +0 -0
  281. data/public/assets/fonts/FiraSans-Light-3689e18b38d335ec0c43823adb6a2984.eot +0 -0
  282. data/public/assets/fonts/FiraSans-Light-55b04531e7a9ecdf58090d70b94b68e2.ttf +0 -0
  283. data/public/assets/fonts/FiraSans-Light-SC-098407a72b7ad46f7c2480d7ac11baf2.eot +0 -0
  284. data/public/assets/fonts/FiraSans-Light-SC-82763fe2ce9e6b897556c6f3c2aceb29.woff2 +0 -0
  285. data/public/assets/fonts/FiraSans-Light-SC-c73985985f0501c1845a5185b180fe6b.woff +0 -0
  286. data/public/assets/fonts/FiraSans-Light-SC-c9563f48d9cccd91f07e46801c27130f.ttf +0 -0
  287. data/public/assets/fonts/FiraSans-Light-SC.eot +0 -0
  288. data/public/assets/fonts/FiraSans-Light-SC.ttf +0 -0
  289. data/public/assets/fonts/FiraSans-Light-SC.woff +0 -0
  290. data/public/assets/fonts/FiraSans-Light-SC.woff2 +0 -0
  291. data/public/assets/fonts/FiraSans-Light.eot +0 -0
  292. data/public/assets/fonts/FiraSans-Light.ttf +0 -0
  293. data/public/assets/fonts/FiraSans-Light.woff +0 -0
  294. data/public/assets/fonts/FiraSans-Medium-082fab59048189168006bf2e914ba8b7.woff +0 -0
  295. data/public/assets/fonts/FiraSans-Medium-11706edfe8651c355b413bd24b4b5e10.eot +0 -0
  296. data/public/assets/fonts/FiraSans-Medium-3a0dacdeaba1b4c054f2d6cb5061965d.ttf +0 -0
  297. data/public/assets/fonts/FiraSans-Medium.eot +0 -0
  298. data/public/assets/fonts/FiraSans-Medium.ttf +0 -0
  299. data/public/assets/fonts/FiraSans-Medium.woff +0 -0
  300. data/public/assets/fonts/FiraSans-MediumItalic-6c8a2646d72641226527d574a8485b66.woff +0 -0
  301. data/public/assets/fonts/FiraSans-MediumItalic-b81e92794a6878b6c578d97b3ad5e6d7.ttf +0 -0
  302. data/public/assets/fonts/FiraSans-MediumItalic-eae7f4a3c4db9fe83025909ebfae5ad9.eot +0 -0
  303. data/public/assets/fonts/FiraSans-MediumItalic.eot +0 -0
  304. data/public/assets/fonts/FiraSans-MediumItalic.ttf +0 -0
  305. data/public/assets/fonts/FiraSans-MediumItalic.woff +0 -0
  306. data/public/assets/fonts/FiraSans-Regular-537188a19aeebdd74a92e114af7a02cb.ttf +0 -0
  307. data/public/assets/fonts/FiraSans-Regular-5d6a923de9be80ff5c2995cc03d93127.woff +0 -0
  308. data/public/assets/fonts/FiraSans-Regular-db689e5fea21ed4b7890811151968dc6.eot +0 -0
  309. data/public/assets/fonts/FiraSans-Regular.eot +0 -0
  310. data/public/assets/fonts/FiraSans-Regular.ttf +0 -0
  311. data/public/assets/fonts/FiraSans-Regular.woff +0 -0
  312. data/public/assets/fonts/FiraSans-UltraLight-3baefce4c224a0f0b26cdafe37dfa55d.eot +0 -0
  313. data/public/assets/fonts/FiraSans-UltraLight-e3909a352b87f853bb464836adfd602a.ttf +0 -0
  314. data/public/assets/fonts/FiraSans-UltraLight-f7289beeaa2353caf487553ee8b8ef03.woff +0 -0
  315. data/public/assets/fonts/FiraSans-UltraLight.eot +0 -0
  316. data/public/assets/fonts/FiraSans-UltraLight.ttf +0 -0
  317. data/public/assets/fonts/FiraSans-UltraLight.woff +0 -0
  318. data/public/assets/fonts/FontAwesome.otf +0 -0
  319. data/public/assets/fonts/fontawesome-webfont.eot +0 -0
  320. data/public/assets/fonts/fontawesome-webfont.svg +2671 -0
  321. data/public/assets/fonts/fontawesome-webfont.ttf +0 -0
  322. data/public/assets/fonts/fontawesome-webfont.woff +0 -0
  323. data/public/assets/fonts/fontawesome-webfont.woff2 +0 -0
  324. data/public/assets/images/ajax-loader-30d8e72bfdae694b1938658e1b087df0.gif +0 -0
  325. data/public/assets/images/ajax-loader.gif +0 -0
  326. data/public/assets/images/iqvoc_logo-165f17a46cf0a1bf9464db9d136fb843.svg +41 -0
  327. data/public/assets/images/iqvoc_logo.svg +41 -0
  328. data/public/assets/images/treeview-default-line-5e3c0e0c48f48c23c45aef7b72c739c0.gif +0 -0
  329. data/public/assets/images/treeview-default-line.gif +0 -0
  330. data/public/assets/javascripts/bootstrap.bundle.min-68b3c2f1c1f636f947fff1229d3ffbf5.js +7 -0
  331. data/public/assets/javascripts/bootstrap.bundle.min.js +42 -0
  332. data/public/assets/javascripts/jquery-17e41799d7fba03a313ca6b67d8a0954.js +26 -0
  333. data/public/assets/javascripts/jquery-d52dc3a9171f1fc89dd0f8e35e42c9d2.js +26 -0
  334. data/{vendor/assets/bower_components/jquery/dist → public/assets/javascripts}/jquery.js +5142 -3472
  335. data/public/assets/javascripts/manifest-7708201f7c24d5186cd075c3317f9b70.js +7311 -0
  336. data/public/assets/javascripts/manifest-89894d9f630fa57378a0c28e2a3d9ea9.js +7325 -0
  337. data/public/assets/javascripts/manifest.js +5660 -0
  338. data/public/assets/manifest.json +1 -0
  339. data/public/assets/stylesheets/manifest-893c7de3dee9ed1295bc1b5b4c1f0c34.css +13 -0
  340. data/public/assets/stylesheets/manifest-94b7be92a9b1cfeafea4ea71af910324.css +13 -0
  341. data/public/assets/stylesheets/manifest-e576edf92efaaad86b15b565fa473d0b.css +7 -0
  342. data/public/assets/stylesheets/manifest.css +14314 -0
  343. data/public/export/{192518761412858257538294365837284445543.nt → 12750.nt} +0 -0
  344. data/public/export/{222655544999381011796369687711131211507.nt → 17385303752427181100115432751692126521.nt} +0 -0
  345. data/public/export/{28094.nt → 181196830007276319343907883650755121680.nt} +0 -0
  346. data/public/export/{317743731342877661346578631544287380698.nt → 194669028845730209313058462140064732442.nt} +0 -0
  347. data/public/export/{59040722386799844495905115730928244680.nt → 21988.nt} +0 -0
  348. data/public/export/{65316.nt → 230655012044692637365356891394989635995.nt} +0 -0
  349. data/public/export/233590502327750705645106563554497694497.nt +28 -0
  350. data/public/export/245884359537367641918690456207690070316.nt +28 -0
  351. data/public/export/250386066048669747259363837063223215204.nt +28 -0
  352. data/public/export/256041066575224861739818511470898486442.nt +28 -0
  353. data/public/export/287138383024694264939471429022965897163.nt +28 -0
  354. data/public/export/31892.nt +28 -0
  355. data/public/export/333774437366008328346740356666975078086.nt +28 -0
  356. data/public/export/34639390376251419382098415225771775708.nt +28 -0
  357. data/public/export/4098.nt +28 -0
  358. data/public/export/47070.nt +28 -0
  359. data/public/export/49947.nt +28 -0
  360. data/public/export/5793.nt +28 -0
  361. data/public/export/64089124325772410079516909502763866955.nt +28 -0
  362. data/public/export/64718.nt +28 -0
  363. data/public/export/71200590939430584664474292378126383577.nt +28 -0
  364. data/public/export/81965533953024918329855744567916239964.nt +28 -0
  365. data/public/uploads/import/{0090c45f8a575ba948e9e1f9346e8bd8.nt → 213b73161661ebbad4e5ee3f543ae617.nt} +0 -0
  366. data/public/uploads/import/{10b55d476cc7905edd5bf2ea3339266f.nt → 22ad4d7419b7914c7319c46a66839f77.nt} +0 -0
  367. data/public/uploads/import/{29f4bdb935b9ba14344c38808e2fc172.nt → 22b78e01b9b5876851578cf9a8373c07.nt} +0 -0
  368. data/public/uploads/import/{5686fe12a4157c537fe4f83de393e436.nt → 2ab75781f8141010699dd272f681b245.nt} +0 -0
  369. data/public/uploads/import/{a46e5777d14959f0a264fc27170a9aca.nt → 4c7fe47a2c21a681fd8f0eb3af0ebf19.nt} +0 -0
  370. data/public/uploads/import/{f47c4c34a7652d03188ef8815667a546.nt → 5265d7cb194f017c592a68914ecf8d9f.nt} +0 -0
  371. data/public/uploads/{tmp/1565090696-8977-0904/hobbies.nt → import/5cb5414a66e4ae5dbe05eb763c367bd1.nt} +0 -0
  372. data/public/uploads/{tmp/1565092660-26284-7315/hobbies.nt → import/6b042e00c2e2abf9241d2ece3e67ed27.nt} +0 -0
  373. data/public/uploads/{tmp/1565092837-26720-3638/hobbies.nt → import/749edd3918db157202b00f89418b87d1.nt} +0 -0
  374. data/public/uploads/{tmp/1565093111-27724-9556/hobbies.nt → import/7aeb9d76b78ba67674caa53a96e1caa0.nt} +0 -0
  375. data/public/uploads/{tmp/1565093198-28993-6950/hobbies.nt → import/7b7fc425b8926e586ca10d0f1385aa4e.nt} +0 -0
  376. data/public/uploads/{tmp/1565093353-29520-6028/hobbies.nt → import/8319d34702375718b20e72a6af71c503.nt} +0 -0
  377. data/public/uploads/import/9ec48f5aaece8d2a8770439e34199b19.nt +259 -0
  378. data/public/uploads/import/a22750632c35587057285920142c2db8.nt +259 -0
  379. data/public/uploads/import/a6d9eeb5e76ce0032614c8142a33c90b.nt +259 -0
  380. data/public/uploads/import/a7ec826e32e80d1fc61f5e89f7442199.nt +259 -0
  381. data/public/uploads/import/af2ac8cb84a194da9871ea701f915a25.nt +259 -0
  382. data/public/uploads/import/b50c67ef8cb51fa12812ac2601faaa75.nt +259 -0
  383. data/public/uploads/import/b66560ac9cc4aecd50f82d4fcec8bde4.nt +259 -0
  384. data/public/uploads/import/c1a12245a41d9105585fb48a0b5244ab.nt +259 -0
  385. data/public/uploads/import/c4b23750b9f72a7f93bcd979a9afded3.nt +259 -0
  386. data/public/uploads/import/d1edac76626a35a6e72a592c98e97b1a.nt +259 -0
  387. data/public/uploads/import/eca92dbeff4aec30e3072103bb5f565f.nt +259 -0
  388. data/public/uploads/import/f7996f8826062cd8dcfc8fac70e830b9.nt +259 -0
  389. data/public/uploads/tmp/1609926599-187261935008931-0002-5418/hobbies.nt +259 -0
  390. data/public/uploads/tmp/1610450700-516890595554445-0002-2685/hobbies.nt +259 -0
  391. data/public/uploads/tmp/1610450844-597126333235543-0001-0714/hobbies.nt +259 -0
  392. data/public/uploads/tmp/1611054155-443031323634581-0001-9192/hobbies.nt +259 -0
  393. data/public/uploads/tmp/1611225485-767301590714814-0002-6904/hobbies.nt +259 -0
  394. data/public/uploads/tmp/1611225661-919900076415463-0002-0657/hobbies.nt +259 -0
  395. data/public/uploads/tmp/1611227389-36557097935032-0002-4613/hobbies.nt +259 -0
  396. data/public/uploads/tmp/1611585376-822293462114758-0001-9752/hobbies.nt +259 -0
  397. data/public/uploads/tmp/1611585431-703460698560673-0002-7522/hobbies.nt +259 -0
  398. data/public/uploads/tmp/1611586554-483369300394995-0002-0872/hobbies.nt +259 -0
  399. data/public/uploads/tmp/1619777137-609890333749067-0002-0264/hobbies.nt +259 -0
  400. data/public/uploads/tmp/1627291050-163284787457980-0001-2701/hobbies.nt +259 -0
  401. data/public/uploads/tmp/1627291589-952446089963663-0002-3171/hobbies.nt +259 -0
  402. data/public/uploads/tmp/1627291819-788250283200541-0002-2503/hobbies.nt +259 -0
  403. data/public/uploads/tmp/1627292534-103362378955855-0001-7089/hobbies.nt +259 -0
  404. data/public/uploads/tmp/1627293799-506613299368066-0002-1247/hobbies.nt +259 -0
  405. data/public/uploads/tmp/1627293863-868842521367397-0001-4656/hobbies.nt +259 -0
  406. data/public/uploads/tmp/1636993960-338364327912413-0002-8049/hobbies.nt +259 -0
  407. data/public/uploads/tmp/1641550181-434480636271400-0002-7928/hobbies.nt +259 -0
  408. data/public/uploads/tmp/1641550416-6444469569098-0002-2156/hobbies.nt +259 -0
  409. data/public/uploads/tmp/1641550691-848542458162760-0002-6815/hobbies.nt +259 -0
  410. data/public/uploads/tmp/1641550716-647719127292471-0002-9954/hobbies.nt +259 -0
  411. data/public/uploads/tmp/1641551058-78248622355227-0002-3663/hobbies.nt +259 -0
  412. data/public/uploads/tmp/1641551220-744894908610606-0001-3879/hobbies.nt +259 -0
  413. data/test/controllers/concepts_movement_controller_test.rb +41 -36
  414. data/test/controllers/hierarchy_test.rb +38 -43
  415. data/test/controllers/rdf_rendering_test.rb +2 -4
  416. data/test/controllers/reverse_match_test.rb +49 -39
  417. data/test/integration/authentication_test.rb +1 -1
  418. data/test/integration/browse_concepts_and_labels_test.rb +3 -1
  419. data/test/integration/client_edit_concept_test.rb +1 -1
  420. data/test/integration/export_test.rb +2 -2
  421. data/test/integration/import_test.rb +2 -2
  422. data/test/integration/instance_configuration_browsing_test.rb +2 -2
  423. data/test/integration/navigation_test.rb +30 -3
  424. data/test/integration/note_annotations_test.rb +1 -1
  425. data/test/integration/search_test.rb +2 -2
  426. data/test/integration_test_helper.rb +1 -0
  427. data/test/models/hygiene_test.rb +1 -1
  428. data/test/test_helper.rb +0 -5
  429. metadata +305 -645
  430. data/app/assets/javascripts/iqvoc/concept_mapper.js +0 -73
  431. data/app/assets/javascripts/iqvoc/entityselect_qualified.js.erb +0 -45
  432. data/app/assets/javascripts/iqvoc/moving_sidebar.js +0 -37
  433. data/app/assets/javascripts/iqvoc/onebox.js.erb +0 -62
  434. data/app/assets/javascripts/iqvoc/quicksearch.js +0 -59
  435. data/app/assets/stylesheets/iqvoc/ie_fixes.css.scss +0 -6
  436. data/app/models/concerns/deep_cloning.rb +0 -94
  437. data/config/initializers/assets.rb +0 -5
  438. data/config/initializers/mysql_column_limit.rb +0 -14
  439. data/config/travis/database.yml.mysql +0 -9
  440. data/config/travis/database.yml.postgresql +0 -7
  441. data/config/travis/database.yml.sqlite +0 -5
  442. data/public/404.html +0 -58
  443. data/public/500.html +0 -57
  444. data/vendor/assets/bower_components/URIjs/LICENSE.txt +0 -21
  445. data/vendor/assets/bower_components/URIjs/README.md +0 -496
  446. data/vendor/assets/bower_components/URIjs/bower.json +0 -29
  447. data/vendor/assets/bower_components/URIjs/contributing.md +0 -19
  448. data/vendor/assets/bower_components/URIjs/src/IPv6.js +0 -188
  449. data/vendor/assets/bower_components/URIjs/src/SecondLevelDomains.js +0 -241
  450. data/vendor/assets/bower_components/URIjs/src/URI.fragmentQuery.js +0 -104
  451. data/vendor/assets/bower_components/URIjs/src/URI.fragmentURI.js +0 -97
  452. data/vendor/assets/bower_components/URIjs/src/URI.js +0 -2002
  453. data/vendor/assets/bower_components/URIjs/src/URI.min.js +0 -84
  454. data/vendor/assets/bower_components/URIjs/src/URITemplate.js +0 -499
  455. data/vendor/assets/bower_components/URIjs/src/jquery.URI.js +0 -235
  456. data/vendor/assets/bower_components/URIjs/src/jquery.URI.min.js +0 -7
  457. data/vendor/assets/bower_components/URIjs/src/punycode.js +0 -508
  458. data/vendor/assets/bower_components/bootstrap-sass/CHANGELOG.md +0 -189
  459. data/vendor/assets/bower_components/bootstrap-sass/CONTRIBUTING.md +0 -86
  460. data/vendor/assets/bower_components/bootstrap-sass/LICENSE +0 -21
  461. data/vendor/assets/bower_components/bootstrap-sass/README.md +0 -352
  462. data/vendor/assets/bower_components/bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.eot +0 -0
  463. data/vendor/assets/bower_components/bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.svg +0 -288
  464. data/vendor/assets/bower_components/bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  465. data/vendor/assets/bower_components/bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
  466. data/vendor/assets/bower_components/bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.woff2 +0 -0
  467. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/affix.js +0 -162
  468. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/alert.js +0 -94
  469. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/button.js +0 -116
  470. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/carousel.js +0 -237
  471. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/collapse.js +0 -211
  472. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/dropdown.js +0 -161
  473. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/modal.js +0 -339
  474. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/popover.js +0 -108
  475. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/scrollspy.js +0 -172
  476. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/tab.js +0 -153
  477. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/tooltip.js +0 -476
  478. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/transition.js +0 -59
  479. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap-sprockets.js +0 -12
  480. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap.js +0 -2317
  481. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap.min.js +0 -7
  482. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/_bootstrap-compass.scss +0 -9
  483. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/_bootstrap-mincer.scss +0 -19
  484. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/_bootstrap-sprockets.scss +0 -9
  485. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/_bootstrap.scss +0 -50
  486. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_alerts.scss +0 -73
  487. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_badges.scss +0 -68
  488. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_breadcrumbs.scss +0 -26
  489. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_button-groups.scss +0 -243
  490. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_buttons.scss +0 -160
  491. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_carousel.scss +0 -269
  492. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_close.scss +0 -36
  493. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_code.scss +0 -69
  494. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_component-animations.scss +0 -37
  495. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_dropdowns.scss +0 -214
  496. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_forms.scss +0 -578
  497. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_glyphicons.scss +0 -305
  498. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_grid.scss +0 -84
  499. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_input-groups.scss +0 -166
  500. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_jumbotron.scss +0 -50
  501. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_labels.scss +0 -66
  502. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_list-group.scss +0 -124
  503. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_media.scss +0 -61
  504. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_mixins.scss +0 -39
  505. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_modals.scss +0 -150
  506. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_navbar.scss +0 -662
  507. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_navs.scss +0 -242
  508. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_normalize.scss +0 -427
  509. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_pager.scss +0 -54
  510. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_pagination.scss +0 -88
  511. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_panels.scss +0 -265
  512. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_popovers.scss +0 -135
  513. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_print.scss +0 -107
  514. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_progress-bars.scss +0 -87
  515. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_responsive-embed.scss +0 -35
  516. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_responsive-utilities.scss +0 -177
  517. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_scaffolding.scss +0 -162
  518. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_tables.scss +0 -234
  519. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_theme.scss +0 -273
  520. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_thumbnails.scss +0 -38
  521. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_tooltip.scss +0 -102
  522. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_type.scss +0 -298
  523. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_utilities.scss +0 -55
  524. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_variables.scss +0 -866
  525. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_wells.scss +0 -29
  526. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_alerts.scss +0 -14
  527. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -11
  528. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_border-radius.scss +0 -18
  529. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_buttons.scss +0 -52
  530. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_center-block.scss +0 -7
  531. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_clearfix.scss +0 -22
  532. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_forms.scss +0 -88
  533. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_gradients.scss +0 -58
  534. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -81
  535. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_grid.scss +0 -122
  536. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_hide-text.scss +0 -21
  537. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_image.scss +0 -33
  538. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_labels.scss +0 -12
  539. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_list-group.scss +0 -31
  540. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -10
  541. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_nav-vertical-align.scss +0 -9
  542. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_opacity.scss +0 -8
  543. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_pagination.scss +0 -23
  544. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_panels.scss +0 -24
  545. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_progress-bar.scss +0 -10
  546. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_reset-filter.scss +0 -8
  547. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_resize.scss +0 -6
  548. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss +0 -21
  549. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_size.scss +0 -10
  550. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_tab-focus.scss +0 -9
  551. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -28
  552. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -11
  553. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_text-overflow.scss +0 -8
  554. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss +0 -222
  555. data/vendor/assets/bower_components/bootstrap-sass/bower.json +0 -40
  556. data/vendor/assets/bower_components/bootstrap-sass/composer.json +0 -35
  557. data/vendor/assets/bower_components/bootstrap-sass/package.json +0 -30
  558. data/vendor/assets/bower_components/bootstrap-sass/sache.json +0 -5
  559. data/vendor/assets/bower_components/html5shiv/Gruntfile.js +0 -61
  560. data/vendor/assets/bower_components/html5shiv/bower.json +0 -15
  561. data/vendor/assets/bower_components/html5shiv/dist/html5shiv-printshiv.js +0 -520
  562. data/vendor/assets/bower_components/html5shiv/dist/html5shiv-printshiv.min.js +0 -4
  563. data/vendor/assets/bower_components/html5shiv/dist/html5shiv.js +0 -322
  564. data/vendor/assets/bower_components/html5shiv/dist/html5shiv.min.js +0 -4
  565. data/vendor/assets/bower_components/html5shiv/package.json +0 -16
  566. data/vendor/assets/bower_components/html5shiv/readme.md +0 -152
  567. data/vendor/assets/bower_components/jqtree/LICENSE +0 -202
  568. data/vendor/assets/bower_components/jqtree/README.md +0 -24
  569. data/vendor/assets/bower_components/jqtree/_config.yml +0 -18
  570. data/vendor/assets/bower_components/jqtree/_entries/01_general.md +0 -7
  571. data/vendor/assets/bower_components/jqtree/_entries/02_introduction.md +0 -9
  572. data/vendor/assets/bower_components/jqtree/_entries/03_features.md +0 -15
  573. data/vendor/assets/bower_components/jqtree/_entries/04_demo.html +0 -34
  574. data/vendor/assets/bower_components/jqtree/_entries/05_requirements.md +0 -6
  575. data/vendor/assets/bower_components/jqtree/_entries/06_downloads.md +0 -9
  576. data/vendor/assets/bower_components/jqtree/_entries/07_tutorial.md +0 -77
  577. data/vendor/assets/bower_components/jqtree/_entries/08_examples.md +0 -8
  578. data/vendor/assets/bower_components/jqtree/_entries/09_changelog.md +0 -179
  579. data/vendor/assets/bower_components/jqtree/_entries/10_options.md +0 -6
  580. data/vendor/assets/bower_components/jqtree/_entries/11_autoescape.md +0 -6
  581. data/vendor/assets/bower_components/jqtree/_entries/12_autoopen.md +0 -28
  582. data/vendor/assets/bower_components/jqtree/_entries/13_closedicon.md +0 -12
  583. data/vendor/assets/bower_components/jqtree/_entries/14_data.md +0 -41
  584. data/vendor/assets/bower_components/jqtree/_entries/15_datafilter.md +0 -17
  585. data/vendor/assets/bower_components/jqtree/_entries/16_data-url.md +0 -21
  586. data/vendor/assets/bower_components/jqtree/_entries/17_draganddrop.md +0 -18
  587. data/vendor/assets/bower_components/jqtree/_entries/18_keyboardsupport.md +0 -14
  588. data/vendor/assets/bower_components/jqtree/_entries/19_oncanmove.md +0 -22
  589. data/vendor/assets/bower_components/jqtree/_entries/20_oncanmoveto.md +0 -22
  590. data/vendor/assets/bower_components/jqtree/_entries/21_oncanselectnode.md +0 -26
  591. data/vendor/assets/bower_components/jqtree/_entries/22_oncreateli.md +0 -16
  592. data/vendor/assets/bower_components/jqtree/_entries/23_onismovehandle.md +0 -17
  593. data/vendor/assets/bower_components/jqtree/_entries/24_onloadfailed.md +0 -15
  594. data/vendor/assets/bower_components/jqtree/_entries/25_openedicon.md +0 -12
  595. data/vendor/assets/bower_components/jqtree/_entries/26_openfolderdelay.md +0 -13
  596. data/vendor/assets/bower_components/jqtree/_entries/27_savestate.md +0 -42
  597. data/vendor/assets/bower_components/jqtree/_entries/28_selectable.md +0 -18
  598. data/vendor/assets/bower_components/jqtree/_entries/29_slide.md +0 -12
  599. data/vendor/assets/bower_components/jqtree/_entries/30_usecontextmenu.md +0 -14
  600. data/vendor/assets/bower_components/jqtree/_entries/31_functions.md +0 -6
  601. data/vendor/assets/bower_components/jqtree/_entries/32_addnodeafter.md +0 -20
  602. data/vendor/assets/bower_components/jqtree/_entries/33_addnodebefore.md +0 -8
  603. data/vendor/assets/bower_components/jqtree/_entries/34_appendnode.md +0 -33
  604. data/vendor/assets/bower_components/jqtree/_entries/35_closenode.md +0 -23
  605. data/vendor/assets/bower_components/jqtree/_entries/36_getnodebyid.md +0 -21
  606. data/vendor/assets/bower_components/jqtree/_entries/37_getselectednode.md +0 -10
  607. data/vendor/assets/bower_components/jqtree/_entries/38_getstate.md +0 -19
  608. data/vendor/assets/bower_components/jqtree/_entries/39_gettree.md +0 -8
  609. data/vendor/assets/bower_components/jqtree/_entries/40_loaddata.md +0 -46
  610. data/vendor/assets/bower_components/jqtree/_entries/41_loaddatafromurl.md +0 -55
  611. data/vendor/assets/bower_components/jqtree/_entries/42_movedown.md +0 -8
  612. data/vendor/assets/bower_components/jqtree/_entries/43_movenode.md +0 -15
  613. data/vendor/assets/bower_components/jqtree/_entries/44_moveup.md +0 -8
  614. data/vendor/assets/bower_components/jqtree/_entries/45_opennode.md +0 -29
  615. data/vendor/assets/bower_components/jqtree/_entries/46_addparentnode.md +0 -20
  616. data/vendor/assets/bower_components/jqtree/_entries/47_reload.md +0 -12
  617. data/vendor/assets/bower_components/jqtree/_entries/48_removenode.md +0 -12
  618. data/vendor/assets/bower_components/jqtree/_entries/49_selectnode.md +0 -24
  619. data/vendor/assets/bower_components/jqtree/_entries/50_scrolltonode.md +0 -13
  620. data/vendor/assets/bower_components/jqtree/_entries/51_setoption.md +0 -12
  621. data/vendor/assets/bower_components/jqtree/_entries/52_setstate.md +0 -8
  622. data/vendor/assets/bower_components/jqtree/_entries/53_toggle.md +0 -8
  623. data/vendor/assets/bower_components/jqtree/_entries/54_tojson.md +0 -13
  624. data/vendor/assets/bower_components/jqtree/_entries/55_updatenode.md +0 -33
  625. data/vendor/assets/bower_components/jqtree/_entries/56_events.md +0 -6
  626. data/vendor/assets/bower_components/jqtree/_entries/57_tree-click.md +0 -37
  627. data/vendor/assets/bower_components/jqtree/_entries/58_tree-close.md +0 -15
  628. data/vendor/assets/bower_components/jqtree/_entries/59_tree-contextmenu.md +0 -21
  629. data/vendor/assets/bower_components/jqtree/_entries/60_tree-dblclick.md +0 -19
  630. data/vendor/assets/bower_components/jqtree/_entries/61_tree-init.md +0 -15
  631. data/vendor/assets/bower_components/jqtree/_entries/62_tree-move.md +0 -71
  632. data/vendor/assets/bower_components/jqtree/_entries/63_tree-open.md +0 -15
  633. data/vendor/assets/bower_components/jqtree/_entries/64_tree-select.md +0 -28
  634. data/vendor/assets/bower_components/jqtree/_entries/65_multiple-selection.md +0 -9
  635. data/vendor/assets/bower_components/jqtree/_entries/66_add-to-selection.md +0 -11
  636. data/vendor/assets/bower_components/jqtree/_entries/67_get-selected-nodes.md +0 -10
  637. data/vendor/assets/bower_components/jqtree/_entries/68_is-node-selected.md +0 -11
  638. data/vendor/assets/bower_components/jqtree/_entries/69_remove-from-selection.md +0 -11
  639. data/vendor/assets/bower_components/jqtree/_entries/70_node-functions.md +0 -13
  640. data/vendor/assets/bower_components/jqtree/_entries/71_children.md +0 -12
  641. data/vendor/assets/bower_components/jqtree/_entries/72_getdata.md +0 -10
  642. data/vendor/assets/bower_components/jqtree/_entries/73_getlevel.md +0 -13
  643. data/vendor/assets/bower_components/jqtree/_entries/74_getnextnode.md +0 -12
  644. data/vendor/assets/bower_components/jqtree/_entries/75_getnextsibling.md +0 -10
  645. data/vendor/assets/bower_components/jqtree/_entries/76_getpreviousnode.md +0 -12
  646. data/vendor/assets/bower_components/jqtree/_entries/77_getprevioussibling.md +0 -10
  647. data/vendor/assets/bower_components/jqtree/_entries/78_parent.md +0 -10
  648. data/vendor/assets/bower_components/jqtree/_examples/01_load_json_data.html +0 -47
  649. data/vendor/assets/bower_components/jqtree/_examples/02_load_json_data_from_server.html +0 -31
  650. data/vendor/assets/bower_components/jqtree/_examples/03_drag_and_drop.html +0 -45
  651. data/vendor/assets/bower_components/jqtree/_examples/04_save_state.html +0 -52
  652. data/vendor/assets/bower_components/jqtree/_examples/05_load_on_demand.html +0 -70
  653. data/vendor/assets/bower_components/jqtree/_examples/06_autoescape.html +0 -47
  654. data/vendor/assets/bower_components/jqtree/_examples/07_autoscroll.html +0 -23
  655. data/vendor/assets/bower_components/jqtree/_examples/08_multiple_select.html +0 -72
  656. data/vendor/assets/bower_components/jqtree/_examples/09_custom_html.html +0 -68
  657. data/vendor/assets/bower_components/jqtree/_examples/10_icon_buttons.html +0 -27
  658. data/vendor/assets/bower_components/jqtree/_layouts/base.html +0 -48
  659. data/vendor/assets/bower_components/jqtree/_layouts/frontpage.html +0 -20
  660. data/vendor/assets/bower_components/jqtree/_layouts/page.html +0 -7
  661. data/vendor/assets/bower_components/jqtree/bower.json +0 -12
  662. data/vendor/assets/bower_components/jqtree/gulpfile.coffee +0 -30
  663. data/vendor/assets/bower_components/jqtree/gulpfile.js +0 -2
  664. data/vendor/assets/bower_components/jqtree/index.html +0 -48
  665. data/vendor/assets/bower_components/jqtree/jqtree-circle.png +0 -0
  666. data/vendor/assets/bower_components/jqtree/jqtree.css +0 -143
  667. data/vendor/assets/bower_components/jqtree/jqtree.jquery.json +0 -23
  668. data/vendor/assets/bower_components/jqtree/package.json +0 -23
  669. data/vendor/assets/bower_components/jqtree/phantomjs/runner.js +0 -193
  670. data/vendor/assets/bower_components/jqtree/phantomjs/server.js +0 -14
  671. data/vendor/assets/bower_components/jqtree/screenshot.png +0 -0
  672. data/vendor/assets/bower_components/jqtree/sitemap.txt +0 -11
  673. data/vendor/assets/bower_components/jqtree/src/drag_and_drop_handler.coffee +0 -466
  674. data/vendor/assets/bower_components/jqtree/src/elements_renderer.coffee +0 -198
  675. data/vendor/assets/bower_components/jqtree/src/key_handler.coffee +0 -92
  676. data/vendor/assets/bower_components/jqtree/src/mouse.widget.coffee +0 -181
  677. data/vendor/assets/bower_components/jqtree/src/node.coffee +0 -431
  678. data/vendor/assets/bower_components/jqtree/src/node_element.coffee +0 -144
  679. data/vendor/assets/bower_components/jqtree/src/save_state_handler.coffee +0 -191
  680. data/vendor/assets/bower_components/jqtree/src/scroll_handler.coffee +0 -100
  681. data/vendor/assets/bower_components/jqtree/src/select_node_handler.coffee +0 -76
  682. data/vendor/assets/bower_components/jqtree/src/simple.widget.coffee +0 -102
  683. data/vendor/assets/bower_components/jqtree/src/test.js +0 -1945
  684. data/vendor/assets/bower_components/jqtree/src/tree.jquery.coffee +0 -772
  685. data/vendor/assets/bower_components/jqtree/src/util.coffee +0 -117
  686. data/vendor/assets/bower_components/jqtree/src/version.coffee +0 -1
  687. data/vendor/assets/bower_components/jqtree/static/bower.json +0 -13
  688. data/vendor/assets/bower_components/jqtree/static/bower_components/blanket/dist/qunit/blanket.js +0 -5430
  689. data/vendor/assets/bower_components/jqtree/static/bower_components/bootstrap/dist/css/bootstrap-theme.min.css +0 -5
  690. data/vendor/assets/bower_components/jqtree/static/bower_components/bootstrap/dist/css/bootstrap.min.css +0 -5
  691. data/vendor/assets/bower_components/jqtree/static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot +0 -0
  692. data/vendor/assets/bower_components/jqtree/static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.svg +0 -229
  693. data/vendor/assets/bower_components/jqtree/static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
  694. data/vendor/assets/bower_components/jqtree/static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff +0 -0
  695. data/vendor/assets/bower_components/jqtree/static/bower_components/bootstrap/dist/js/bootstrap.min.js +0 -7
  696. data/vendor/assets/bower_components/jqtree/static/bower_components/fontawesome/css/font-awesome.min.css +0 -4
  697. data/vendor/assets/bower_components/jqtree/static/bower_components/fontawesome/fonts/FontAwesome.otf +0 -0
  698. data/vendor/assets/bower_components/jqtree/static/bower_components/fontawesome/fonts/fontawesome-webfont.eot +0 -0
  699. data/vendor/assets/bower_components/jqtree/static/bower_components/fontawesome/fonts/fontawesome-webfont.svg +0 -520
  700. data/vendor/assets/bower_components/jqtree/static/bower_components/fontawesome/fonts/fontawesome-webfont.ttf +0 -0
  701. data/vendor/assets/bower_components/jqtree/static/bower_components/fontawesome/fonts/fontawesome-webfont.woff +0 -0
  702. data/vendor/assets/bower_components/jqtree/static/bower_components/jquery/dist/jquery.min.js +0 -5
  703. data/vendor/assets/bower_components/jqtree/static/bower_components/jquery-cookie/jquery.cookie.js +0 -117
  704. data/vendor/assets/bower_components/jqtree/static/bower_components/jquery-mockjax/jquery.mockjax.js +0 -692
  705. data/vendor/assets/bower_components/jqtree/static/bower_components/pygments/css/monokai.css +0 -63
  706. data/vendor/assets/bower_components/jqtree/static/bower_components/qunit/qunit/qunit.css +0 -264
  707. data/vendor/assets/bower_components/jqtree/static/bower_components/qunit/qunit/qunit.js +0 -2819
  708. data/vendor/assets/bower_components/jqtree/static/documentation.css +0 -165
  709. data/vendor/assets/bower_components/jqtree/static/documentation.js +0 -51
  710. data/vendor/assets/bower_components/jqtree/static/example.css +0 -53
  711. data/vendor/assets/bower_components/jqtree/static/example_data.js +0 -128
  712. data/vendor/assets/bower_components/jqtree/static/examples/autoescape.js +0 -19
  713. data/vendor/assets/bower_components/jqtree/static/examples/autoscroll.js +0 -8
  714. data/vendor/assets/bower_components/jqtree/static/examples/custom_html.js +0 -32
  715. data/vendor/assets/bower_components/jqtree/static/examples/drag_and_drop.js +0 -15
  716. data/vendor/assets/bower_components/jqtree/static/examples/icon_buttons.js +0 -14
  717. data/vendor/assets/bower_components/jqtree/static/examples/load_json_data.js +0 -21
  718. data/vendor/assets/bower_components/jqtree/static/examples/load_json_data_from_server.js +0 -11
  719. data/vendor/assets/bower_components/jqtree/static/examples/load_on_demand.js +0 -20
  720. data/vendor/assets/bower_components/jqtree/static/examples/multiple_select.js +0 -27
  721. data/vendor/assets/bower_components/jqtree/static/examples/save_state.js +0 -13
  722. data/vendor/assets/bower_components/jqtree/static/jquery-1.11.2.min.js +0 -4
  723. data/vendor/assets/bower_components/jqtree/static/spinner.gif +0 -0
  724. data/vendor/assets/bower_components/jqtree/test/test.html +0 -23
  725. data/vendor/assets/bower_components/jqtree/test/test.js +0 -2604
  726. data/vendor/assets/bower_components/jqtree/tree.jquery.js +0 -3388
  727. data/vendor/assets/bower_components/jquery/MIT-LICENSE.txt +0 -21
  728. data/vendor/assets/bower_components/jquery/bower.json +0 -27
  729. data/vendor/assets/bower_components/jquery/dist/jquery.min.js +0 -5
  730. data/vendor/assets/bower_components/jquery/dist/jquery.min.map +0 -1
  731. data/vendor/assets/bower_components/jquery/src/ajax/jsonp.js +0 -89
  732. data/vendor/assets/bower_components/jquery/src/ajax/load.js +0 -75
  733. data/vendor/assets/bower_components/jquery/src/ajax/parseJSON.js +0 -13
  734. data/vendor/assets/bower_components/jquery/src/ajax/parseXML.js +0 -28
  735. data/vendor/assets/bower_components/jquery/src/ajax/script.js +0 -64
  736. data/vendor/assets/bower_components/jquery/src/ajax/var/nonce.js +0 -5
  737. data/vendor/assets/bower_components/jquery/src/ajax/var/rquery.js +0 -3
  738. data/vendor/assets/bower_components/jquery/src/ajax/xhr.js +0 -136
  739. data/vendor/assets/bower_components/jquery/src/ajax.js +0 -786
  740. data/vendor/assets/bower_components/jquery/src/attributes/attr.js +0 -141
  741. data/vendor/assets/bower_components/jquery/src/attributes/classes.js +0 -158
  742. data/vendor/assets/bower_components/jquery/src/attributes/prop.js +0 -94
  743. data/vendor/assets/bower_components/jquery/src/attributes/support.js +0 -35
  744. data/vendor/assets/bower_components/jquery/src/attributes/val.js +0 -161
  745. data/vendor/assets/bower_components/jquery/src/attributes.js +0 -11
  746. data/vendor/assets/bower_components/jquery/src/callbacks.js +0 -205
  747. data/vendor/assets/bower_components/jquery/src/core/access.js +0 -60
  748. data/vendor/assets/bower_components/jquery/src/core/init.js +0 -123
  749. data/vendor/assets/bower_components/jquery/src/core/parseHTML.js +0 -39
  750. data/vendor/assets/bower_components/jquery/src/core/ready.js +0 -97
  751. data/vendor/assets/bower_components/jquery/src/core/var/rsingleTag.js +0 -4
  752. data/vendor/assets/bower_components/jquery/src/core.js +0 -497
  753. data/vendor/assets/bower_components/jquery/src/css/addGetHookIf.js +0 -22
  754. data/vendor/assets/bower_components/jquery/src/css/curCSS.js +0 -57
  755. data/vendor/assets/bower_components/jquery/src/css/defaultDisplay.js +0 -70
  756. data/vendor/assets/bower_components/jquery/src/css/hiddenVisibleSelectors.js +0 -15
  757. data/vendor/assets/bower_components/jquery/src/css/support.js +0 -96
  758. data/vendor/assets/bower_components/jquery/src/css/swap.js +0 -28
  759. data/vendor/assets/bower_components/jquery/src/css/var/cssExpand.js +0 -3
  760. data/vendor/assets/bower_components/jquery/src/css/var/getStyles.js +0 -12
  761. data/vendor/assets/bower_components/jquery/src/css/var/isHidden.js +0 -13
  762. data/vendor/assets/bower_components/jquery/src/css/var/rmargin.js +0 -3
  763. data/vendor/assets/bower_components/jquery/src/css/var/rnumnonpx.js +0 -5
  764. data/vendor/assets/bower_components/jquery/src/css.js +0 -450
  765. data/vendor/assets/bower_components/jquery/src/data/Data.js +0 -181
  766. data/vendor/assets/bower_components/jquery/src/data/accepts.js +0 -20
  767. data/vendor/assets/bower_components/jquery/src/data/var/data_priv.js +0 -5
  768. data/vendor/assets/bower_components/jquery/src/data/var/data_user.js +0 -5
  769. data/vendor/assets/bower_components/jquery/src/data.js +0 -178
  770. data/vendor/assets/bower_components/jquery/src/deferred.js +0 -149
  771. data/vendor/assets/bower_components/jquery/src/deprecated.js +0 -13
  772. data/vendor/assets/bower_components/jquery/src/dimensions.js +0 -50
  773. data/vendor/assets/bower_components/jquery/src/effects/Tween.js +0 -114
  774. data/vendor/assets/bower_components/jquery/src/effects/animatedSelector.js +0 -13
  775. data/vendor/assets/bower_components/jquery/src/effects.js +0 -648
  776. data/vendor/assets/bower_components/jquery/src/event/ajax.js +0 -13
  777. data/vendor/assets/bower_components/jquery/src/event/alias.js +0 -39
  778. data/vendor/assets/bower_components/jquery/src/event/support.js +0 -9
  779. data/vendor/assets/bower_components/jquery/src/event.js +0 -868
  780. data/vendor/assets/bower_components/jquery/src/exports/amd.js +0 -24
  781. data/vendor/assets/bower_components/jquery/src/exports/global.js +0 -32
  782. data/vendor/assets/bower_components/jquery/src/intro.js +0 -44
  783. data/vendor/assets/bower_components/jquery/src/jquery.js +0 -37
  784. data/vendor/assets/bower_components/jquery/src/manipulation/_evalUrl.js +0 -18
  785. data/vendor/assets/bower_components/jquery/src/manipulation/support.js +0 -32
  786. data/vendor/assets/bower_components/jquery/src/manipulation/var/rcheckableType.js +0 -3
  787. data/vendor/assets/bower_components/jquery/src/manipulation.js +0 -580
  788. data/vendor/assets/bower_components/jquery/src/offset.js +0 -207
  789. data/vendor/assets/bower_components/jquery/src/outro.js +0 -1
  790. data/vendor/assets/bower_components/jquery/src/queue/delay.js +0 -22
  791. data/vendor/assets/bower_components/jquery/src/queue.js +0 -142
  792. data/vendor/assets/bower_components/jquery/src/selector-native.js +0 -172
  793. data/vendor/assets/bower_components/jquery/src/selector-sizzle.js +0 -14
  794. data/vendor/assets/bower_components/jquery/src/selector.js +0 -1
  795. data/vendor/assets/bower_components/jquery/src/serialize.js +0 -111
  796. data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.js +0 -2067
  797. data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.min.js +0 -3
  798. data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.min.map +0 -1
  799. data/vendor/assets/bower_components/jquery/src/traversing/findFilter.js +0 -100
  800. data/vendor/assets/bower_components/jquery/src/traversing/var/rneedsContext.js +0 -6
  801. data/vendor/assets/bower_components/jquery/src/traversing.js +0 -199
  802. data/vendor/assets/bower_components/jquery/src/var/arr.js +0 -3
  803. data/vendor/assets/bower_components/jquery/src/var/class2type.js +0 -4
  804. data/vendor/assets/bower_components/jquery/src/var/concat.js +0 -5
  805. data/vendor/assets/bower_components/jquery/src/var/hasOwn.js +0 -5
  806. data/vendor/assets/bower_components/jquery/src/var/indexOf.js +0 -5
  807. data/vendor/assets/bower_components/jquery/src/var/pnum.js +0 -3
  808. data/vendor/assets/bower_components/jquery/src/var/push.js +0 -5
  809. data/vendor/assets/bower_components/jquery/src/var/rnotwhite.js +0 -3
  810. data/vendor/assets/bower_components/jquery/src/var/slice.js +0 -5
  811. data/vendor/assets/bower_components/jquery/src/var/strundefined.js +0 -3
  812. data/vendor/assets/bower_components/jquery/src/var/support.js +0 -4
  813. data/vendor/assets/bower_components/jquery/src/var/toString.js +0 -5
  814. data/vendor/assets/bower_components/jquery/src/wrap.js +0 -79
  815. data/vendor/assets/bower_components/jquery-ujs/CHANGELOG.md +0 -24
  816. data/vendor/assets/bower_components/jquery-ujs/MIT-LICENSE.txt +0 -20
  817. data/vendor/assets/bower_components/jquery-ujs/README.md +0 -72
  818. data/vendor/assets/bower_components/jquery-ujs/bower.json +0 -20
  819. data/vendor/assets/bower_components/jquery-ujs/src/rails.js +0 -469
  820. data/vendor/assets/bower_components/typeahead.js/CHANGELOG.md +0 -222
  821. data/vendor/assets/bower_components/typeahead.js/CONTRIBUTING.md +0 -120
  822. data/vendor/assets/bower_components/typeahead.js/Gruntfile.js +0 -265
  823. data/vendor/assets/bower_components/typeahead.js/LICENSE +0 -19
  824. data/vendor/assets/bower_components/typeahead.js/README.md +0 -188
  825. data/vendor/assets/bower_components/typeahead.js/bower.json +0 -13
  826. data/vendor/assets/bower_components/typeahead.js/composer.json +0 -17
  827. data/vendor/assets/bower_components/typeahead.js/dist/bloodhound.js +0 -727
  828. data/vendor/assets/bower_components/typeahead.js/dist/bloodhound.min.js +0 -7
  829. data/vendor/assets/bower_components/typeahead.js/dist/typeahead.bundle.js +0 -1782
  830. data/vendor/assets/bower_components/typeahead.js/dist/typeahead.bundle.min.js +0 -7
  831. data/vendor/assets/bower_components/typeahead.js/dist/typeahead.jquery.js +0 -1184
  832. data/vendor/assets/bower_components/typeahead.js/dist/typeahead.jquery.min.js +0 -7
  833. data/vendor/assets/bower_components/typeahead.js/doc/bloodhound.md +0 -279
  834. data/vendor/assets/bower_components/typeahead.js/doc/jquery_typeahead.md +0 -383
  835. data/vendor/assets/bower_components/typeahead.js/doc/migration/0.10.0.md +0 -234
  836. data/vendor/assets/bower_components/typeahead.js/karma.conf.js +0 -98
  837. data/vendor/assets/bower_components/typeahead.js/package.json +0 -57
  838. data/vendor/assets/bower_components/typeahead.js/src/bloodhound/bloodhound.js +0 -234
  839. data/vendor/assets/bower_components/typeahead.js/src/bloodhound/lru_cache.js +0 -99
  840. data/vendor/assets/bower_components/typeahead.js/src/bloodhound/options_parser.js +0 -89
  841. data/vendor/assets/bower_components/typeahead.js/src/bloodhound/persistent_storage.js +0 -131
  842. data/vendor/assets/bower_components/typeahead.js/src/bloodhound/search_index.js +0 -169
  843. data/vendor/assets/bower_components/typeahead.js/src/bloodhound/tokenizers.js +0 -44
  844. data/vendor/assets/bower_components/typeahead.js/src/bloodhound/transport.js +0 -152
  845. data/vendor/assets/bower_components/typeahead.js/src/bloodhound/version.js +0 -7
  846. data/vendor/assets/bower_components/typeahead.js/src/common/utils.js +0 -152
  847. data/vendor/assets/bower_components/typeahead.js/src/typeahead/css.js +0 -77
  848. data/vendor/assets/bower_components/typeahead.js/src/typeahead/dataset.js +0 -210
  849. data/vendor/assets/bower_components/typeahead.js/src/typeahead/dropdown.js +0 -245
  850. data/vendor/assets/bower_components/typeahead.js/src/typeahead/event_bus.js +0 -38
  851. data/vendor/assets/bower_components/typeahead.js/src/typeahead/event_emitter.js +0 -119
  852. data/vendor/assets/bower_components/typeahead.js/src/typeahead/highlight.js +0 -84
  853. data/vendor/assets/bower_components/typeahead.js/src/typeahead/html.js +0 -15
  854. data/vendor/assets/bower_components/typeahead.js/src/typeahead/input.js +0 -311
  855. data/vendor/assets/bower_components/typeahead.js/src/typeahead/plugin.js +0 -129
  856. data/vendor/assets/bower_components/typeahead.js/src/typeahead/typeahead.js +0 -391
  857. data/vendor/assets/bower_components/typeahead.js/test/bloodhound_spec.js +0 -592
  858. data/vendor/assets/bower_components/typeahead.js/test/ci +0 -12
  859. data/vendor/assets/bower_components/typeahead.js/test/dataset_view_spec.js +0 -222
  860. data/vendor/assets/bower_components/typeahead.js/test/dropdown_view_spec.js +0 -353
  861. data/vendor/assets/bower_components/typeahead.js/test/event_emitter_spec.js +0 -111
  862. data/vendor/assets/bower_components/typeahead.js/test/fixtures/ajax_responses.js +0 -19
  863. data/vendor/assets/bower_components/typeahead.js/test/fixtures/data.js +0 -116
  864. data/vendor/assets/bower_components/typeahead.js/test/fixtures/html.js +0 -17
  865. data/vendor/assets/bower_components/typeahead.js/test/helpers/typeahead_mocks.js +0 -71
  866. data/vendor/assets/bower_components/typeahead.js/test/highlight_spec.js +0 -117
  867. data/vendor/assets/bower_components/typeahead.js/test/input_view_spec.js +0 -449
  868. data/vendor/assets/bower_components/typeahead.js/test/integration/test.html +0 -112
  869. data/vendor/assets/bower_components/typeahead.js/test/integration/test.js +0 -397
  870. data/vendor/assets/bower_components/typeahead.js/test/lru_cache_spec.js +0 -42
  871. data/vendor/assets/bower_components/typeahead.js/test/persistent_storage_spec.js +0 -131
  872. data/vendor/assets/bower_components/typeahead.js/test/playground.html +0 -347
  873. data/vendor/assets/bower_components/typeahead.js/test/search_index_spec.js +0 -60
  874. data/vendor/assets/bower_components/typeahead.js/test/tokenizers_spec.js +0 -60
  875. data/vendor/assets/bower_components/typeahead.js/test/transport_spec.js +0 -197
  876. data/vendor/assets/bower_components/typeahead.js/test/typeahead_view_spec.js +0 -570
  877. data/vendor/assets/bower_components/typeahead.js/typeahead.js.jquery.json +0 -40
  878. data/vendor/assets/images/animated-overlay.gif +0 -0
  879. data/vendor/assets/images/file.gif +0 -0
  880. data/vendor/assets/images/folder-closed.gif +0 -0
  881. data/vendor/assets/images/folder.gif +0 -0
  882. data/vendor/assets/images/minus.gif +0 -0
  883. data/vendor/assets/images/plus.gif +0 -0
  884. data/vendor/assets/images/treeview-black-line.gif +0 -0
  885. data/vendor/assets/images/treeview-black.gif +0 -0
  886. data/vendor/assets/images/treeview-default.gif +0 -0
  887. data/vendor/assets/images/treeview-famfamfam-line.gif +0 -0
  888. data/vendor/assets/images/treeview-famfamfam.gif +0 -0
  889. data/vendor/assets/images/treeview-gray-line.gif +0 -0
  890. data/vendor/assets/images/treeview-gray.gif +0 -0
  891. data/vendor/assets/images/treeview-red-line.gif +0 -0
  892. data/vendor/assets/images/treeview-red.gif +0 -0
  893. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker.css +0 -471
  894. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker.css.map +0 -1
  895. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker.min.css +0 -9
  896. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker.min.css.map +0 -1
  897. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker.standalone.css +0 -504
  898. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker.standalone.css.map +0 -1
  899. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker.standalone.min.css +0 -9
  900. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker.standalone.min.css.map +0 -1
  901. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker3.css +0 -678
  902. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker3.css.map +0 -1
  903. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker3.min.css +0 -9
  904. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker3.min.css.map +0 -1
  905. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker3.standalone.css +0 -707
  906. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker3.standalone.css.map +0 -1
  907. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker3.standalone.min.css +0 -9
  908. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/css/bootstrap-datepicker3.standalone.min.css.map +0 -1
  909. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/js/bootstrap-datepicker.js +0 -2096
  910. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/js/bootstrap-datepicker.min.js +0 -9
  911. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.ar.min.js +0 -1
  912. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.az.min.js +0 -1
  913. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.bg.min.js +0 -1
  914. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.bs.min.js +0 -1
  915. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.ca.min.js +0 -1
  916. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.cs.min.js +0 -1
  917. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.cy.min.js +0 -1
  918. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.da.min.js +0 -1
  919. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.de.min.js +0 -1
  920. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.el.min.js +0 -1
  921. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.en-AU.min.js +0 -1
  922. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.en-GB.min.js +0 -1
  923. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.eo.min.js +0 -1
  924. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.es.min.js +0 -1
  925. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.et.min.js +0 -1
  926. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.eu.min.js +0 -1
  927. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.fa.min.js +0 -1
  928. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.fi.min.js +0 -1
  929. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.fo.min.js +0 -1
  930. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.fr-CH.min.js +0 -1
  931. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.fr.min.js +0 -1
  932. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.gl.min.js +0 -1
  933. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.he.min.js +0 -1
  934. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.hr.min.js +0 -1
  935. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.hu.min.js +0 -1
  936. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.hy.min.js +0 -1
  937. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.id.min.js +0 -1
  938. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.is.min.js +0 -1
  939. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.it-CH.min.js +0 -1
  940. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.it.min.js +0 -1
  941. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.ja.min.js +0 -1
  942. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.ka.min.js +0 -1
  943. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.kh.min.js +0 -1
  944. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.kk.min.js +0 -1
  945. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.ko.min.js +0 -1
  946. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.kr.min.js +0 -1
  947. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.lt.min.js +0 -1
  948. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.lv.min.js +0 -1
  949. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.me.min.js +0 -1
  950. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.mk.min.js +0 -1
  951. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.mn.min.js +0 -1
  952. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.ms.min.js +0 -1
  953. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.nb.min.js +0 -1
  954. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.nl-BE.min.js +0 -1
  955. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.nl.min.js +0 -1
  956. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.no.min.js +0 -1
  957. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.pl.min.js +0 -1
  958. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.pt-BR.min.js +0 -1
  959. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.pt.min.js +0 -1
  960. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.ro.min.js +0 -1
  961. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.rs-latin.min.js +0 -1
  962. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.rs.min.js +0 -1
  963. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.ru.min.js +0 -1
  964. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.sk.min.js +0 -1
  965. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.sl.min.js +0 -1
  966. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.sq.min.js +0 -1
  967. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.sr-latin.min.js +0 -1
  968. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.sr.min.js +0 -1
  969. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.sv.min.js +0 -1
  970. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.sw.min.js +0 -1
  971. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.th.min.js +0 -1
  972. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.tr.min.js +0 -1
  973. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.uk.min.js +0 -1
  974. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.vi.min.js +0 -1
  975. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.zh-CN.min.js +0 -1
  976. data/vendor/assets/javascripts/bootstrap-datepicker-1.6.4-dist/locales/bootstrap-datepicker.zh-TW.min.js +0 -1
  977. data/vendor/assets/javascripts/storage.js +0 -122
@@ -1,79 +1,79 @@
1
1
  @font-face {
2
2
  font-family: 'Fira Sans Light SC';
3
- src: font-url('FiraSans-Light-SC.eot');
4
- src: font-url('FiraSans-Light-SC.eot') format('embedded-opentype'),
5
- font-url('FiraSans-Light-SC.woff2') format('woff2'),
6
- font-url('FiraSans-Light-SC.woff') format('woff'),
7
- font-url('FiraSans-Light-SC.ttf') format('truetype');
3
+ src: asset-url('FiraSans-Light-SC.eot');
4
+ src: asset-url('FiraSans-Light-SC.eot') format('embedded-opentype'),
5
+ asset-url('FiraSans-Light-SC.woff2') format('woff2'),
6
+ asset-url('FiraSans-Light-SC.woff') format('woff'),
7
+ asset-url('FiraSans-Light-SC.ttf') format('truetype');
8
8
  font-style: normal;
9
9
  }
10
10
 
11
11
  @font-face {
12
12
  font-family: 'Fira Sans ExtraLight';
13
- src: font-url('FiraSans-ExtraLight.eot');
14
- src: font-url('FiraSans-ExtraLight.eot') format('embedded-opentype'),
15
- font-url('FiraSans-ExtraLight.woff') format('woff'),
16
- font-url('FiraSans-ExtraLight.ttf') format('truetype');
13
+ src: asset-url('FiraSans-ExtraLight.eot');
14
+ src: asset-url('FiraSans-ExtraLight.eot') format('embedded-opentype'),
15
+ asset-url('FiraSans-ExtraLight.woff') format('woff'),
16
+ asset-url('FiraSans-ExtraLight.ttf') format('truetype');
17
17
  font-style: normal;
18
18
  }
19
19
 
20
20
  @font-face {
21
21
  font-family: 'Fira Sans Regular';
22
- src: font-url('FiraSans-Regular.eot');
23
- src: font-url('FiraSans-Regular.eot') format('embedded-opentype'),
24
- font-url('FiraSans-Regular.woff') format('woff'),
25
- font-url('FiraSans-Regular.ttf') format('truetype');
22
+ src: asset-url('FiraSans-Regular.eot');
23
+ src: asset-url('FiraSans-Regular.eot') format('embedded-opentype'),
24
+ asset-url('FiraSans-Regular.woff') format('woff'),
25
+ asset-url('FiraSans-Regular.ttf') format('truetype');
26
26
  font-weight: 400;
27
27
  font-style: normal;
28
28
  }
29
29
 
30
30
  @font-face {
31
31
  font-family: 'Fira Sans Regular Italic';
32
- src: font-url('FiraSans-Italic.eot');
33
- src: font-url('FiraSans-Italic.eot') format('embedded-opentype'),
34
- font-url('FiraSans-Italic.woff') format('woff'),
35
- font-url('FiraSans-Italic.ttf') format('truetype');
32
+ src: asset-url('FiraSans-Italic.eot');
33
+ src: asset-url('FiraSans-Italic.eot') format('embedded-opentype'),
34
+ asset-url('FiraSans-Italic.woff') format('woff'),
35
+ asset-url('FiraSans-Italic.ttf') format('truetype');
36
36
  font-weight: 400;
37
37
  font-style: italic;
38
38
  }
39
39
 
40
40
  @font-face {
41
41
  font-family: 'Fira Sans Bold';
42
- src: font-url('FiraSans-Bold.eot');
43
- src: font-url('FiraSans-Bold.eot') format('embedded-opentype'),
44
- font-url('FiraSans-Bold.woff') format('woff'),
45
- font-url('FiraSans-Bold.ttf') format('truetype');
42
+ src: asset-url('FiraSans-Bold.eot');
43
+ src: asset-url('FiraSans-Bold.eot') format('embedded-opentype'),
44
+ asset-url('FiraSans-Bold.woff') format('woff'),
45
+ asset-url('FiraSans-Bold.ttf') format('truetype');
46
46
  font-weight: 700;
47
47
  font-style: normal;
48
48
  }
49
49
 
50
50
  @font-face {
51
51
  font-family: 'Fira Sans Bold Italic';
52
- src: font-url('FiraSans-BoldItalic.eot');
53
- src: font-url('FiraSans-BoldItalic.eot') format('embedded-opentype'),
54
- font-url('FiraSans-BoldItalic.woff') format('woff'),
55
- font-url('FiraSans-BoldItalic.ttf') format('truetype');
52
+ src: asset-url('FiraSans-BoldItalic.eot');
53
+ src: asset-url('FiraSans-BoldItalic.eot') format('embedded-opentype'),
54
+ asset-url('FiraSans-BoldItalic.woff') format('woff'),
55
+ asset-url('FiraSans-BoldItalic.ttf') format('truetype');
56
56
  font-weight: 700;
57
57
  font-style: italic;
58
58
  }
59
59
 
60
60
  @font-face {
61
61
  font-family: 'Fira Mono Regular';
62
- src: font-url('FiraMono-Regular.eot');
63
- src: font-url('FiraMono-Regular.eot') format('embedded-opentype'),
64
- font-url('FiraMono-Regular.woff') format('woff'),
65
- font-url('FiraMono-Regular.ttf') format('truetype');
62
+ src: asset-url('FiraMono-Regular.eot');
63
+ src: asset-url('FiraMono-Regular.eot') format('embedded-opentype'),
64
+ asset-url('FiraMono-Regular.woff') format('woff'),
65
+ asset-url('FiraMono-Regular.ttf') format('truetype');
66
66
  font-weight: 400;
67
67
  font-style: normal;
68
68
  }
69
69
 
70
- /* @font-face {
70
+ @font-face {
71
71
  font-family: 'Fira Sans Light';
72
- src: font-url('FiraSans-Light.eot');
72
+ src: asset-url('FiraSans-Light.eot');
73
73
  src: local('Fira Sans Light'),
74
- font-url('FiraSans-Light.eot') format('embedded-opentype'),
75
- font-url('FiraSans-Light.woff') format('woff'),
76
- font-url('FiraSans-Light.ttf') format('truetype');
74
+ asset-url('FiraSans-Light.eot') format('embedded-opentype'),
75
+ asset-url('FiraSans-Light.woff') format('woff'),
76
+ asset-url('FiraSans-Light.ttf') format('truetype');
77
77
  font-weight: 300;
78
78
  font-style: normal;
79
- } */
79
+ }
@@ -0,0 +1,4 @@
1
+ @import 'mixins';
2
+ @import 'fonts';
3
+ @import 'bootstrap-variables';
4
+ @import 'variables';
@@ -8,6 +8,10 @@
8
8
  font-weight: 700;
9
9
  }
10
10
 
11
+ %font-light {
12
+ font-family: 'Fira Sans Light';
13
+ }
14
+
11
15
  @mixin transitional($property: all, $duration: .25s) {
12
16
  transition: $property $duration ease-in-out;
13
17
  }
@@ -1,3 +1,3 @@
1
- @import 'iqvoc/settings/bootstrap-variables';
1
+ @import 'iqvoc/settings/manifest';
2
2
  @import 'framework';
3
3
  @import 'iqvoc/manifest';
@@ -35,12 +35,15 @@ class CollectionsController < ApplicationController
35
35
  response = if params[:root].present?
36
36
  collections = Iqvoc::Collection.base_class.with_pref_labels.published.by_parent_id(params[:root])
37
37
  collections.map do |collection|
38
- { id: collection.id,
38
+ res = {
39
+ id: collection.id,
39
40
  url: collection_path(id: collection, format: :html),
40
41
  name: CGI.escapeHTML(collection.pref_label.to_s),
41
- load_on_demand: collection.subcollections.any?,
42
- additionalText: " (#{collection.additional_info})"
42
+ load_on_demand: collection.subcollections.any?
43
43
  }
44
+ res[:additionalText] = " (#{collection.additional_info})" if collection.additional_info
45
+
46
+ res
44
47
  end
45
48
  else
46
49
  collections = Iqvoc::Collection.base_class.with_pref_labels.published.merge(Label::Base.by_query_value("#{params[:query]}%"))
@@ -33,17 +33,19 @@ class Concepts::AlphabeticalController < ConceptsController
33
33
  @search_results = dataset.alphabetical_search(query, I18n.locale) || []
34
34
  @search_results = Kaminari.paginate_array(@search_results).page(params[:page])
35
35
  else
36
- @search_results = find_labelings
37
-
38
36
  # When in single query mode, AR handles ALL includes to be loaded by that
39
37
  # one query. We don't want that! So let's do it manually :-)
40
38
  includes = Iqvoc::Concept.base_class.default_includes
41
39
  if Iqvoc::Concept.note_classes.include?(Note::SKOS::Definition)
42
40
  includes << Note::SKOS::Definition.name.to_relation_name
43
41
  end
44
- ActiveRecord::Associations::Preloader.new.preload(@search_results, owner: includes)
45
42
 
46
- @search_results.to_a.map! { |pl| AlphabeticalSearchResult.new(pl) }
43
+ search_results_size = find_labelings.count
44
+ search_results = find_labelings.page(params[:page])
45
+ ActiveRecord::Associations::Preloader.new.preload(search_results, owner: includes)
46
+
47
+ @search_results = search_results.to_a.map { |pl| AlphabeticalSearchResult.new(pl) }
48
+ @search_results = Kaminari.paginate_array(@search_results, total_count: search_results_size).page(params[:page])
47
49
  end
48
50
 
49
51
  respond_to do |format|
@@ -58,18 +60,18 @@ class Concepts::AlphabeticalController < ConceptsController
58
60
  end
59
61
 
60
62
  def find_labelings
61
- query = (params[:prefix] || @letters.first || 'a').mb_chars.downcase.to_s
63
+ letter = (@letters.include?('A')) ? 'a' : @letters.first
64
+ query = (params[:prefix] || letter).mb_chars.downcase.to_s
62
65
 
63
- Iqvoc::Concept.pref_labeling_class.
64
- concept_published.
65
- concept_not_expired.
66
- label_begins_with(query).
67
- by_label_language(I18n.locale).
68
- includes(:target).
69
- order("LOWER(#{Label::Base.table_name}.value)").
70
- joins(:owner).
71
- where(concepts: { type: Iqvoc::Concept.base_class_name }).
72
- references(:concepts, :labels, :labelings).
73
- page(params[:page])
66
+ Iqvoc::Concept.pref_labeling_class
67
+ .concept_published
68
+ .concept_not_expired
69
+ .label_begins_with(query)
70
+ .by_label_language(I18n.locale)
71
+ .includes(:target)
72
+ .order(Arel.sql("LOWER(#{Label::Base.table_name}.value)"))
73
+ .joins(:owner)
74
+ .where(concepts: { type: Iqvoc::Concept.base_class_name })
75
+ .references(:concepts, :labels, :labelings)
74
76
  end
75
77
  end
@@ -24,15 +24,14 @@ class Concepts::ExpiredController < Concepts::AlphabeticalController
24
24
  def find_labelings
25
25
  query = (params[:prefix] || @letters.first || 'a').mb_chars.downcase.to_s
26
26
 
27
- Iqvoc::Concept.pref_labeling_class.
28
- concept_expired.
29
- label_begins_with(query).
30
- by_label_language(I18n.locale).
31
- includes(:target).
32
- order("LOWER(#{Label::Base.table_name}.value)").
33
- joins(:owner).
34
- where(concepts: { type: Iqvoc::Concept.base_class_name }).
35
- references(:concepts, :labels, :labelings).
36
- page(params[:page])
27
+ Iqvoc::Concept.pref_labeling_class
28
+ .concept_expired
29
+ .label_begins_with(query)
30
+ .by_label_language(I18n.locale)
31
+ .includes(:target)
32
+ .order(Arel.sql("LOWER(#{Label::Base.table_name}.value)"))
33
+ .joins(:owner)
34
+ .where(concepts: { type: Iqvoc::Concept.base_class_name })
35
+ .references(:concepts, :labels, :labelings)
37
36
  end
38
37
  end
@@ -22,7 +22,7 @@ class Concepts::HierarchicalController < ConceptsController
22
22
  authorize! :read, Iqvoc::Concept.base_class
23
23
  end
24
24
 
25
- scope = Iqvoc::Concept.base_class
25
+ scope = Iqvoc::Concept.base_class.includes(:pref_labels).order('labels.value')
26
26
  scope = params[:published] == '0' ? scope.published_with_newer_versions : scope.published
27
27
 
28
28
  # unrelated concepts for sidebar
@@ -55,8 +55,6 @@ class Concepts::HierarchicalController < ConceptsController
55
55
  ActiveRecord::Associations::Preloader.new.preload(@concepts,
56
56
  Iqvoc::Concept.base_class.default_includes + [:pref_labels])
57
57
 
58
- @concepts.to_a.sort_by! {|c| c.pref_label }
59
-
60
58
  respond_to do |format|
61
59
  format.html
62
60
  format.json do # Treeview data
@@ -39,7 +39,10 @@ class Concepts::SchemeController < ApplicationController
39
39
  @scheme = Iqvoc::Concept.root_class.instance
40
40
  authorize! :read, @scheme
41
41
 
42
- @top_concepts = Iqvoc::Concept.base_class.tops.published.sort_by {|c| c.pref_label }
42
+ @top_concepts = Iqvoc::Concept.base_class
43
+ .preload(:pref_labels)
44
+ .tops
45
+ .published.sort_by {|c| c.pref_label }
43
46
 
44
47
  respond_to do |format|
45
48
  format.html
@@ -30,7 +30,7 @@ class Concepts::UntranslatedController < ConceptsController
30
30
  @labels = []
31
31
  flash.now[:error] = I18n.t('txt.views.untranslated_concepts.unavailable')
32
32
  else
33
- @labels = scope.order('LOWER(labels.value)').page(params[:page])
33
+ @labels = scope.order(Arel.sql('LOWER(labels.value)')).page(params[:page])
34
34
  end
35
35
  end
36
36
  end
@@ -73,6 +73,7 @@ class Concepts::VersionsController < ApplicationController
73
73
  Iqvoc.change_note_class.create! do |note|
74
74
  note.owner = new_version
75
75
  note.language = I18n.locale.to_s
76
+ note.position = (current_concept.send(Iqvoc.change_note_class_name.to_relation_name).maximum(:position) || 0).succ
76
77
  note.annotations_attributes = [
77
78
  { namespace: 'dct', predicate: 'creator', value: current_user.name },
78
79
  { namespace: 'dct', predicate: 'modified', value: DateTime.now.to_s }
@@ -24,6 +24,9 @@ class ConceptsController < ApplicationController
24
24
  authorize! :read, Concept::Base
25
25
 
26
26
  respond_to do |format|
27
+ format.html do
28
+ redirect_to hierarchical_concepts_url
29
+ end
27
30
  format.json do # Search for widget
28
31
  scope = Iqvoc::Concept.base_class.editor_selectable.with_pref_labels.
29
32
  merge(Label::Base.by_query_value("%#{params[:query]}%"))
@@ -124,6 +127,7 @@ class ConceptsController < ApplicationController
124
127
  @concept.send(Iqvoc::change_note_class_name.to_relation_name).new do |change_note|
125
128
  change_note.value = I18n.t('txt.views.versioning.initial_version')
126
129
  change_note.language = I18n.locale.to_s
130
+ change_note.position = 1
127
131
  change_note.annotations_attributes = [
128
132
  { namespace: 'dct', predicate: 'creator', value: current_user.name },
129
133
  { namespace: 'dct', predicate: 'created', value: DateTime.now.to_s }
@@ -6,13 +6,16 @@ module ControllerExtensions
6
6
  included do
7
7
  prepend_before_action :set_locale
8
8
  before_action :ensure_extension
9
+ before_action :initialize_profiler
9
10
 
10
11
  helper :all
11
12
  helper_method :current_user_session, :current_user, :concept_widget_data, :collection_widget_data, :label_widget_data
12
13
 
14
+ rescue_from Exception, with: :handle_server_error
13
15
  rescue_from ActiveRecord::RecordNotFound, with: :handle_not_found
14
16
  rescue_from CanCan::AccessDenied, with: :handle_access_denied
15
17
  rescue_from ActionController::ParameterMissing, with: :handle_bad_request
18
+ rescue_from ActionController::UnknownFormat, with: :handle_unknown_format
16
19
  end
17
20
 
18
21
  protected
@@ -25,8 +28,11 @@ module ControllerExtensions
25
28
  # Force an extension to every url. (LOD)
26
29
  def ensure_extension
27
30
  unless params[:format] || !request.get?
31
+ # FIXME: convert to whitelist
32
+ safe_params = params.except(:host, :port, :protocol, :domain, :subdomain).permit!
33
+
28
34
  flash.keep
29
- redirect_to url_for(params.merge(format: (request.format && request.format.symbol) || :html))
35
+ redirect_to url_for(safe_params.merge(format: (request.format && request.format.symbol) || :html))
30
36
  end
31
37
  end
32
38
 
@@ -59,6 +65,25 @@ module ControllerExtensions
59
65
  end
60
66
  end
61
67
 
68
+ def handle_server_error(exception)
69
+ Rails.logger.error(exception)
70
+ Rails.logger.error(exception.backtrace.join("\n"))
71
+ @exception = exception
72
+
73
+ respond_to do |format|
74
+ format.html { render template: 'errors/server_error', status: 500 }
75
+ format.any { head 500 }
76
+ end
77
+ end
78
+
79
+ def handle_unknown_format(exception)
80
+ @exception = exception
81
+
82
+ respond_to do |format|
83
+ format.any { head 406 }
84
+ end
85
+ end
86
+
62
87
  def set_locale
63
88
  if params[:lang].present? && Iqvoc::Concept.pref_labeling_languages.include?(params[:lang])
64
89
  I18n.locale = params[:lang]
@@ -98,14 +123,23 @@ module ControllerExtensions
98
123
  end
99
124
 
100
125
  def current_user_session
101
- @current_user_session ||= UserSession.find
126
+ return @current_user_session if defined?(@current_user_session)
127
+ @current_user_session = UserSession.find
102
128
  end
103
129
 
104
130
  def current_user
105
- @current_user ||= current_user_session && current_user_session.user
131
+ return @current_user if defined?(@current_user)
132
+ request.session_options[:skip] = true unless current_user_session
133
+ @current_user = current_user_session && current_user_session.user
106
134
  end
107
135
 
108
136
  def with_layout?
109
137
  !params[:layout]
110
138
  end
139
+
140
+ def initialize_profiler
141
+ if can? :profile, :system
142
+ Rack::MiniProfiler.authorize_request
143
+ end
144
+ end
111
145
  end
@@ -0,0 +1,8 @@
1
+ class ErrorsController < ApplicationController
2
+ def not_found
3
+ respond_to do |format|
4
+ format.html { render template: 'errors/not_found', status: 404 }
5
+ format.any { head 404 }
6
+ end
7
+ end
8
+ end
@@ -61,6 +61,6 @@ class ExportsController < ApplicationController
61
61
  private
62
62
 
63
63
  def export_params
64
- params.require(:export).except!(:user_id, :user).permit!
64
+ params.require(:export).permit(:file_type, :default_namespace)
65
65
  end
66
66
  end
@@ -16,6 +16,13 @@
16
16
 
17
17
  class FrontpageController < ApplicationController
18
18
  def index
19
- @suppress_quicksearch = true
19
+ @recent_concepts = Iqvoc::Concept.base_class.recent
20
+
21
+ respond_to do |format|
22
+ format.html
23
+ format.any(:ttl, :rdf, :nt) do
24
+ redirect_to scheme_url
25
+ end
26
+ end
20
27
  end
21
28
  end
@@ -141,7 +141,7 @@ class HierarchyController < ApplicationController
141
141
  # caching -- NB: invalidated on any in-scope concept modifications
142
142
  latest = scope.maximum(:updated_at)
143
143
  response.cache_control[:public] = !include_unpublished # XXX: this should not be necessary!?
144
- return unless stale?(etag: [latest, params], last_modified: latest,
144
+ return unless stale?(etag: [latest, hierarchy_params.to_h], last_modified: latest,
145
145
  public: !include_unpublished)
146
146
 
147
147
  # NB: order matters due to the `where` clause below
@@ -196,4 +196,10 @@ class HierarchyController < ApplicationController
196
196
  rel.target.narrower_relations.map { |rel| rel.target } # XXX: expensive
197
197
  end.flatten.uniq.sort { |a, b| a.pref_label <=> b.pref_label }
198
198
  end
199
+
200
+ private
201
+
202
+ def hierarchy_params
203
+ params.permit(:lang, :format, :root, :dir, :depth, :siblings, :published)
204
+ end
199
205
  end
@@ -46,6 +46,6 @@ class ImportsController < ApplicationController
46
46
 
47
47
  private
48
48
  def import_params
49
- params.require(:import).except!(:user_id, :user).permit!
49
+ params.require(:import).permit(:import_file, :default_namespace, :publish)
50
50
  end
51
51
  end
@@ -55,6 +55,9 @@ class RdfController < ApplicationController
55
55
  if stale?(etag: @title)
56
56
  respond_to do |format|
57
57
  format.any(:rdf, :ttl, :nt)
58
+ format.html do
59
+ redirect_to root_path
60
+ end
58
61
  end
59
62
  end
60
63
  end
@@ -148,7 +148,13 @@ class SearchResultsController < ApplicationController
148
148
  @results = @results.page(params[:page])
149
149
 
150
150
  respond_to do |format|
151
- format.html { render :index, layout: with_layout? }
151
+ format.html {
152
+ if request.headers['Accept'] == 'text/html; fragment=true'
153
+ render template: 'search_results/_result_list', layout: false
154
+ else
155
+ render :index, layout: with_layout?
156
+ end
157
+ }
152
158
  format.any(:ttl, :rdf, :nt)
153
159
  end
154
160
  end
@@ -15,18 +15,19 @@
15
15
  # limitations under the License.
16
16
 
17
17
  class UserSessionsController < ApplicationController
18
- skip_before_action :require_user, only: [:new, :create]
19
-
20
18
  def new
21
19
  authorize! :create, UserSession
22
20
 
23
21
  @user_session = UserSession.new
22
+ request.session_options[:skip] = false
24
23
  end
25
24
 
26
25
  def create
27
26
  authorize! :create, UserSession
28
27
 
29
28
  @user_session = UserSession.new(user_session_params.to_h)
29
+ request.session_options[:skip] = false
30
+
30
31
  if @user_session.save
31
32
  @current_ability = nil
32
33
  flash[:success] = I18n.t('txt.controllers.user_sessions.login_success')
@@ -46,10 +47,11 @@ class UserSessionsController < ApplicationController
46
47
 
47
48
  current_user_session.destroy
48
49
  flash[:success] = I18n.t('txt.controllers.user_sessions.logout_success')
49
- redirect_to root_path
50
+ redirect_to new_user_session_path
50
51
  end
51
52
 
52
53
  private
54
+
53
55
  def user_session_params
54
56
  params.require(:user_session).permit(:email, :password)
55
57
  end
@@ -48,7 +48,7 @@ class UsersController < ApplicationController
48
48
 
49
49
  # strip out role and active params so that a non admin
50
50
  # could not change his own role and permissions
51
- params = can?(:manage, User) ? user_params : user_params.except(:active, :role)
51
+ params = can?(:manage, User) ? user_params : user_params.except(:active, :role, :comment)
52
52
 
53
53
  if @user.update_attributes(params)
54
54
  flash[:success] = I18n.t('txt.controllers.users.successfully_updated')
@@ -72,6 +72,6 @@ class UsersController < ApplicationController
72
72
  def user_params
73
73
  params.require(:user).permit(:forename, :surname, :email, :password,
74
74
  :password_confirmation, :active, :role,
75
- :telephone_number)
75
+ :telephone_number, :comment)
76
76
  end
77
77
  end
@@ -30,7 +30,7 @@ module ApplicationHelper
30
30
 
31
31
  # Formats a list of items or returns a remark if no items where given
32
32
  def item_listing(items, &block)
33
- return nil if items.empty?
33
+ return '&nbsp;'.html_safe if items.empty?
34
34
 
35
35
  content_tag :ul, class: 'entity_list' do
36
36
  items.map do |item|
@@ -36,7 +36,8 @@ module ConceptsHelper
36
36
  end
37
37
 
38
38
  def letter_selector(letters = ('A'..'Z').to_a, &block)
39
- highlighted_letter = params[:prefix] || letters.first || 'a'
39
+ fallback = (@letters&.include?('A')) ? 'a' : @letters&.first
40
+ highlighted_letter = params[:prefix] || fallback || 'a'
40
41
  content_tag :ul, class: 'letter-selector list-unstyled' do
41
42
  letters.map do |letter|
42
43
  content_tag :li, link_to(letter, yield(letter)),
@@ -18,9 +18,9 @@ module DashboardHelper
18
18
  def sorting_controls_for(name)
19
19
  content_tag :div, class: 'sorting-controls' do
20
20
  link_to(icon('arrow-circle-o-up', 'sorting-arrow'),
21
- params.merge({ sort: "#{name} ASC" })) +
21
+ sorting_params.merge({ sort: "#{name} ASC" })) +
22
22
  link_to(icon('arrow-circle-o-down', 'sorting-arrow'),
23
- params.merge({ sort: "#{name} DESC" }))
23
+ sorting_params.merge({ sort: "#{name} DESC" }))
24
24
  end
25
25
  end
26
26
 
@@ -43,4 +43,8 @@ module DashboardHelper
43
43
  item.published? ? concept_path(id: item.origin) : concept_path(published: 0, id: item.origin)
44
44
  end
45
45
  end
46
+
47
+ def sorting_params
48
+ sorting_params = params.permit(:sort, :check_consistency)
49
+ end
46
50
  end
@@ -25,7 +25,7 @@ module FormHelper
25
25
  id = options.delete(:id)
26
26
 
27
27
  label = if label_text
28
- label_tag(id, label_text, class: 'control-label')
28
+ label_tag(id, label_text, class: 'col-form-label')
29
29
  else
30
30
  ActiveSupport::SafeBuffer.new # empty safe string
31
31
  end
@@ -28,13 +28,16 @@ module NavigationHelper
28
28
  items.map do |item|
29
29
  if !item.has_key?(:authorized?) || instance_eval(&item[:authorized?])
30
30
  if item[:items]
31
- content_tag :li, class: 'dropdown' do
31
+ content_tag :li, class: 'nav-item dropdown' do
32
32
  raw(link_to(element_value(item[:text]).html_safe +
33
- content_tag(:i, nil, class: 'fa fa-fw fa-angle-down'), '#',
34
- class: 'dropdown-toggle',
33
+ content_tag(:i), '#',
34
+ class: 'nav-link dropdown-toggle',
35
+ role: 'button',
36
+ 'aria-haspopup': true,
37
+ 'aria-expanded': false,
35
38
  data: { toggle: 'dropdown' }) +
36
- content_tag(:ul,
37
- item[:items].map { |i| nav_item(i) }.join.html_safe,
39
+ content_tag(:div,
40
+ item[:items].map { |i| dropdown_nav_item(i) }.join.html_safe,
38
41
  class: 'dropdown-menu'))
39
42
  end
40
43
  else
@@ -55,7 +58,7 @@ module NavigationHelper
55
58
  end
56
59
 
57
60
  def sidebar_header(text)
58
- content_tag :h4, text, class: 'sidebar-header'
61
+ content_tag :h3, text, class: 'sidebar-header'
59
62
  end
60
63
 
61
64
  def sidebar_item(opts = {}, &block)
@@ -64,7 +67,7 @@ module NavigationHelper
64
67
  end
65
68
 
66
69
  opts[:class] = '' if opts[:class].blank?
67
- opts[:class] += ' list-group-item'
70
+ opts[:class] += ' list-group-item list-group-item-action'
68
71
  opts[:class] += ' active' if opts.delete(:active)
69
72
 
70
73
  content = if block_given?
@@ -85,8 +88,16 @@ module NavigationHelper
85
88
 
86
89
  def nav_item(item)
87
90
  active = item[:active?] ? instance_eval(&item[:active?]) : (item[:controller] ? params[:controller] == item[:controller] : false)
88
- css = active ? 'active' : nil
89
- content_tag :li, link_to(element_value(item[:text]), element_value(item[:href])), class: css
91
+ css = 'nav-item'
92
+ css << ' active' if active
93
+ content_tag :li, link_to(element_value(item[:text]), element_value(item[:href]), class: 'nav-link'), class: css
94
+ end
95
+
96
+ def dropdown_nav_item(item)
97
+ active = item[:active?] ? instance_eval(&item[:active?]) : (item[:controller] ? params[:controller] == item[:controller] : false)
98
+ css = 'dropdown-item'
99
+ css << ' active' if active
100
+ link_to(element_value(item[:text]), element_value(item[:href]), class: css)
90
101
  end
91
102
 
92
103
  def nav_item_authorized?(item)