renalware-core 2.0.153 → 2.0.159

Sign up to get free protection for your applications and to get access to all the features.
Files changed (307) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/renalware/components/configuration.js +20 -0
  3. data/app/assets/javascripts/renalware/components/{dialogs.js.erb → dialogs.js} +2 -5
  4. data/app/assets/javascripts/renalware/components/{feed_only_inputs.js.erb → feed_only_inputs.js} +4 -4
  5. data/app/assets/javascripts/renalware/components/navigation.js +0 -7
  6. data/app/assets/javascripts/renalware/components/sortable.js +3 -0
  7. data/app/assets/javascripts/renalware/{core.js.erb → core.js} +0 -7
  8. data/app/assets/javascripts/renalware/rollup_compiled.css +62433 -43575
  9. data/app/assets/javascripts/renalware/rollup_compiled.js +10 -14
  10. data/app/assets/stylesheets/renalware/base/_variables.scss +1 -0
  11. data/app/assets/stylesheets/renalware/lib/_foundation_and_overrides.scss +1 -620
  12. data/app/assets/stylesheets/renalware/lib/_select2-foundation5-overrides.scss +1 -1
  13. data/app/assets/stylesheets/renalware/modules/_clinical.scss +13 -0
  14. data/app/assets/stylesheets/renalware/modules/_medications.scss +9 -9
  15. data/app/assets/stylesheets/renalware/modules/_patients.scss +4 -0
  16. data/app/assets/stylesheets/renalware/modules/_users.scss +2 -1
  17. data/app/assets/stylesheets/renalware/partials/_forms.scss +11 -0
  18. data/app/assets/stylesheets/renalware/partials/_navigation.scss +15 -12
  19. data/app/assets/stylesheets/renalware/partials/_simple_form.scss +1 -1
  20. data/app/assets/stylesheets/renalware/partials/_tables.scss +15 -8
  21. data/app/assets/stylesheets/renalware/partials/_toggle.scss +0 -66
  22. data/app/assets/stylesheets/renalware/partials/_toggling.scss +18 -0
  23. data/app/assets/stylesheets/renalware/partials/_trix.scss +12 -0
  24. data/app/components/renalware/admissions/active_consult_alert_component.html.slim +4 -0
  25. data/app/components/renalware/admissions/active_consult_alert_component.rb +25 -0
  26. data/app/components/renalware/article_component.html.slim +5 -0
  27. data/app/components/renalware/article_component.rb +12 -0
  28. data/app/components/renalware/events/event_list_component.rb +6 -1
  29. data/app/components/renalware/medications/tabbed_prescriptions_list_component.html.slim +41 -0
  30. data/app/components/renalware/medications/tabbed_prescriptions_list_component.rb +47 -0
  31. data/app/components/renalware/patients/messages_component.html.slim +45 -0
  32. data/app/components/renalware/patients/messages_component.rb +52 -0
  33. data/app/components/renalware/pd/adequacy_results_component.html.slim +3 -5
  34. data/app/components/renalware/pd/pet_results_component.html.slim +1 -3
  35. data/app/components/renalware/system/admin_menu_component.html.slim +3 -1
  36. data/app/components/renalware/users/last_signin_component.html.slim +3 -0
  37. data/app/components/renalware/users/last_signin_component.rb +23 -0
  38. data/app/controllers/renalware/admin/playgrounds_controller.rb +1 -1
  39. data/app/controllers/renalware/admin/users_controller.rb +1 -0
  40. data/app/controllers/renalware/drugs/drugs_controller.rb +4 -0
  41. data/app/controllers/renalware/hd/historical_profiles_controller.rb +1 -1
  42. data/app/controllers/renalware/medications/prescriptions_controller.rb +5 -2
  43. data/app/controllers/renalware/messaging/internal/messages_controller.rb +14 -5
  44. data/app/controllers/renalware/pathology/observation_descriptions_controller.rb +58 -0
  45. data/app/controllers/renalware/patients/mdms_controller.rb +104 -0
  46. data/app/controllers/renalware/pd/pet_results_controller.rb +1 -1
  47. data/app/controllers/renalware/system/view_metadata_controller.rb +61 -0
  48. data/app/controllers/renalware/users_controller.rb +25 -0
  49. data/app/helpers/renalware/drugs_helper.rb +6 -0
  50. data/app/helpers/renalware/layout_helper.rb +1 -1
  51. data/app/models/concerns/renalware/sortable.rb +49 -0
  52. data/app/models/renalware/accesses/patient.rb +2 -2
  53. data/app/models/renalware/accesses/plan.rb +1 -1
  54. data/app/models/renalware/admissions/request.rb +1 -0
  55. data/app/models/renalware/clinical/body_composition.rb +1 -1
  56. data/app/models/renalware/clinical/dry_weight.rb +1 -1
  57. data/app/models/renalware/clinics/clinic_visit.rb +5 -4
  58. data/app/models/renalware/feeds/files/create_feed_file.rb +1 -1
  59. data/app/models/renalware/hd/patient.rb +1 -1
  60. data/app/models/renalware/hd/preference_set.rb +1 -1
  61. data/app/models/renalware/hd/profile.rb +4 -4
  62. data/app/models/renalware/hd/schedule_definition.rb +1 -1
  63. data/app/models/renalware/hd/session.rb +2 -2
  64. data/app/models/renalware/hd/session_forms/batch_compile_pdfs.rb +1 -1
  65. data/app/models/renalware/hd/station.rb +2 -1
  66. data/app/models/renalware/letters/description.rb +2 -0
  67. data/app/models/renalware/letters/letter.rb +1 -1
  68. data/app/models/renalware/letters/part/prescriptions.rb +12 -3
  69. data/app/models/renalware/letters/pdf_letter_cache.rb +1 -1
  70. data/app/models/renalware/letters/printing/batch_compile_pdfs.rb +1 -1
  71. data/app/models/renalware/letters/recipient_params_processor.rb +1 -1
  72. data/app/models/renalware/medications/prescription.rb +0 -4
  73. data/app/models/renalware/messaging/internal/message_form.rb +1 -0
  74. data/app/models/renalware/messaging/internal/message_form_builder.rb +2 -1
  75. data/app/models/renalware/pathology/current_observations_for_descriptions_query.rb +3 -3
  76. data/app/models/renalware/pathology/measurement_unit.rb +13 -0
  77. data/app/models/renalware/pathology/observation_description.rb +23 -5
  78. data/app/models/renalware/pathology/observation_descriptions_by_code_query.rb +1 -1
  79. data/app/models/renalware/pathology/observation_requests_attributes_builder.rb +45 -5
  80. data/app/models/renalware/pathology/observations_within_date_range_query.rb +1 -1
  81. data/app/models/renalware/patient.rb +2 -2
  82. data/app/models/renalware/patients/bookmark.rb +2 -2
  83. data/app/models/renalware/patients/mdm_menu.rb +41 -0
  84. data/app/models/renalware/patients/mdm_patients_query.rb +1 -1
  85. data/app/models/renalware/patients/search_query.rb +1 -1
  86. data/app/models/renalware/patients/worry.rb +0 -1
  87. data/app/models/renalware/pd/mdm_patients_query.rb +1 -1
  88. data/app/models/renalware/problems/problem.rb +2 -1
  89. data/app/models/renalware/snippets/snippet_query.rb +1 -1
  90. data/app/models/renalware/surveys/question.rb +1 -2
  91. data/app/models/renalware/system/column_definition.rb +43 -0
  92. data/app/models/renalware/system/filter_definition.rb +29 -0
  93. data/app/models/renalware/system/update_user.rb +5 -0
  94. data/app/models/renalware/system/version.rb +11 -0
  95. data/app/models/renalware/system/view_metadata.rb +25 -0
  96. data/app/models/renalware/transplants/donation.rb +1 -1
  97. data/app/models/renalware/transplants/donor_followup.rb +0 -1
  98. data/app/models/renalware/transplants/failure_cause_description.rb +1 -1
  99. data/app/models/renalware/transplants/mdm_patients_query.rb +2 -2
  100. data/app/models/renalware/transplants/patient.rb +1 -1
  101. data/app/models/renalware/transplants/recipient_followup.rb +1 -3
  102. data/app/models/renalware/transplants/registration.rb +1 -3
  103. data/app/models/renalware/transplants/registrations/wait_list_query.rb +4 -4
  104. data/app/models/renalware/ukrdc/measurement_unit.rb +21 -0
  105. data/app/models/renalware/ukrdc/outgoing/rendering/lab_order.rb +30 -2
  106. data/app/models/renalware/ukrdc/paths.rb +1 -1
  107. data/app/models/renalware/ukrdc/treatment_timeline/prepare_tables.rb +1 -1
  108. data/app/models/renalware/ukrdc/treatment_timeline/remap_model_table_names_to_their_prepared_equivalents.rb +1 -1
  109. data/app/models/renalware/virology/vaccination.rb +5 -0
  110. data/app/policies/application_policy.rb +1 -1
  111. data/app/policies/renalware/medications/prescription_policy.rb +35 -0
  112. data/app/policies/renalware/system/view_metadata_policy.rb +17 -0
  113. data/app/presenters/concerns/renalware/accountable_presentation.rb +33 -0
  114. data/app/presenters/renalware/clinics/visit_presenter.rb +11 -0
  115. data/app/presenters/renalware/events/event_presenter.rb +11 -0
  116. data/app/presenters/renalware/mdm_presenter.rb +11 -0
  117. data/app/presenters/renalware/pathology/results_presenter.rb +1 -2
  118. data/app/presenters/renalware/renal/clinical_summary_presenter.rb +9 -6
  119. data/app/presenters/renalware/user_session_presenter.rb +1 -3
  120. data/app/views/renalware/admin/playgrounds/show.html.slim +2 -6
  121. data/app/views/renalware/admin/users/edit.html.slim +9 -0
  122. data/app/views/renalware/admin/users/index.html.slim +6 -0
  123. data/app/views/renalware/admissions/admissions/_filters.html.slim +8 -16
  124. data/app/views/renalware/clinical/allergies/_list.html.slim +3 -1
  125. data/app/views/renalware/dashboard/dashboards/show.html.slim +1 -0
  126. data/app/views/renalware/hd/protocols/_virology.html.slim +4 -5
  127. data/app/views/renalware/letters/letters/_form.html.slim +1 -1
  128. data/app/views/renalware/letters/mailshots/mailshots/_form.html.slim +25 -21
  129. data/app/views/renalware/letters/parts/_prescriptions.html.slim +4 -0
  130. data/app/views/renalware/mdm/_prescriptions.html.slim +4 -13
  131. data/app/views/renalware/mdm/prescriptions/_table.html.slim +3 -1
  132. data/app/views/renalware/medications/prescriptions/_current_hd.html.slim +13 -0
  133. data/app/views/renalware/medications/prescriptions/_filter_form.html.slim +26 -13
  134. data/app/views/renalware/medications/prescriptions/_form.html.slim +3 -2
  135. data/app/views/renalware/medications/prescriptions/_options.html.slim +3 -3
  136. data/app/views/renalware/medications/prescriptions/_table.html.slim +5 -4
  137. data/app/views/renalware/medications/prescriptions/_tables.html.slim +13 -16
  138. data/app/views/renalware/medications/prescriptions/index.html.slim +5 -4
  139. data/app/views/renalware/messaging/internal/messages/_form.html.slim +3 -0
  140. data/app/views/renalware/messaging/internal/messages/index.html.slim +36 -0
  141. data/app/views/renalware/navigation/_mdms.html.slim +5 -0
  142. data/app/views/renalware/navigation/_renal.html.slim +1 -0
  143. data/app/views/renalware/navigation/{_super_admin.html.slim → _super_admin.html.slim.dead} +0 -0
  144. data/app/views/renalware/pathology/code_groups/edit.html.slim +5 -5
  145. data/app/views/renalware/pathology/code_groups/index.html.slim +4 -5
  146. data/app/views/renalware/pathology/code_groups/show.html.slim +25 -26
  147. data/app/views/renalware/pathology/observation_descriptions/_filters.html.slim +14 -0
  148. data/app/views/renalware/pathology/observation_descriptions/edit.html.slim +21 -0
  149. data/app/views/renalware/pathology/observation_descriptions/index.html.slim +38 -0
  150. data/app/views/renalware/pathology/requests/requests/request_form/_crs_form.html.slim +1 -1
  151. data/app/views/renalware/patients/alerts/_list.html.slim +1 -0
  152. data/app/views/renalware/patients/mdms/_filters.html.slim +38 -0
  153. data/app/views/renalware/patients/mdms/_table.html.slim +72 -0
  154. data/app/views/renalware/patients/mdms/show.html.slim +18 -0
  155. data/app/views/renalware/patients/side_menu/_general.html.slim +4 -0
  156. data/app/views/renalware/patients/worryboard/_filters.html.slim +18 -13
  157. data/app/views/renalware/pd/_peritonitis_episodes.html.slim +13 -13
  158. data/app/views/renalware/pd/adequacy_results/_form_fields.html.slim +1 -1
  159. data/app/views/renalware/pd/adequacy_results/_table.html.slim +2 -2
  160. data/app/views/renalware/pd/peritonitis_episodes/show.html.slim +8 -6
  161. data/app/views/renalware/shared/_fieldset.html.slim +1 -2
  162. data/app/views/renalware/shared/_magellan_block.html.slim +1 -2
  163. data/app/views/renalware/system/view_metadata/_columns_table.html.slim +44 -0
  164. data/app/views/renalware/system/view_metadata/_filters_form.html.slim +19 -0
  165. data/app/views/renalware/system/view_metadata/_versions.html.slim +23 -0
  166. data/app/views/renalware/system/view_metadata/edit.html.slim +66 -0
  167. data/app/views/renalware/transplants/mdm/_prescriptions.html.slim +6 -22
  168. data/app/views/renalware/users/_filters.html.slim +11 -0
  169. data/app/views/renalware/users/index.html.slim +24 -0
  170. data/app/views/renalware/virology/vaccinations/_cell.html.slim +1 -1
  171. data/app/views/renalware/virology/vaccinations/_inputs.html.slim +1 -0
  172. data/app/views/renalware/virology/vaccinations/_toggled_cell.html.slim +2 -0
  173. data/config/initializers/core_extensions.rb +2 -2
  174. data/config/initializers/delayed_job.rb +1 -1
  175. data/config/initializers/inflections.rb +1 -0
  176. data/config/initializers/pagy.rb +5 -0
  177. data/config/locales/renalware/clinical/allergies.en.yml +1 -0
  178. data/config/locales/renalware/medications/tabbed_prescriptions_list_component.yml +15 -0
  179. data/config/locales/renalware/navigation/renal.en.yml +1 -0
  180. data/config/locales/renalware/patients/side_menu.en.yml +1 -0
  181. data/config/locales/renalware/virology/virology.en.yml +2 -0
  182. data/config/permissions.yml +1 -0
  183. data/config/routes.rb +1 -0
  184. data/config/routes/messaging.rb +9 -1
  185. data/config/routes/pathology.rb +1 -0
  186. data/config/routes/patients.rb +1 -0
  187. data/config/routes/system.rb +3 -0
  188. data/config/routes/users.rb +3 -0
  189. data/db/functions/convert_to_float_with_explicit_return_v01.sql +18 -0
  190. data/db/functions/update_current_observation_set_from_trigger_v05.sql +92 -0
  191. data/db/functions/update_pathology_observations_nresult_from_trigger_v01.sql +13 -0
  192. data/db/migrate/20200122182018_update_patient_current_modalities.rb +7 -0
  193. data/db/migrate/20200122182036_create_transplant_mdm_patients.rb +7 -0
  194. data/db/migrate/20200122190909_create_view_metadata.rb +44 -0
  195. data/db/migrate/20200131133223_create_hd_mdm_patients.rb +7 -0
  196. data/db/migrate/20200205185151_add_columns_to_system_view_metadata.rb +13 -0
  197. data/db/migrate/20200219113324_create_supportive_care_mdm_patients_view.rb +7 -0
  198. data/db/migrate/20200622120232_add_limits_to_path_obs_descriptions.rb +18 -0
  199. data/db/migrate/20200626081248_overload_convert_to_float_function.rb +13 -0
  200. data/db/migrate/20200626090256_add_nresult_to_pathology_observations.rb +29 -0
  201. data/db/migrate/20200628094228_add_prescriber_to_users.rb +14 -0
  202. data/db/migrate/20200812074223_add_public_flag_to_messages.rb +18 -0
  203. data/db/migrate/20200815150303_create_system_versions.rb +16 -0
  204. data/db/migrate/20200817085618_create_pd_mdm_patients.rb +7 -0
  205. data/db/migrate/20200817103930_create_low_clearance_mdm_patients.rb +7 -0
  206. data/db/migrate/20201001144512_update_fn_update_current_obs_set_triggerv05.rb +13 -0
  207. data/db/migrate/20201001145452_add_position_to_letter_descriptions.rb +5 -0
  208. data/db/migrate/20201009090959_make_drug_types_unique.rb +8 -0
  209. data/db/migrate/20201012160414_add_suggested_measurement_unit_to_pathology_observation_descriptions.rb +18 -0
  210. data/db/migrate/20201012171428_create_ukrdc_measurement_units.rb +18 -0
  211. data/db/migrate/20201015160542_add_position_to_drug_types.rb +31 -0
  212. data/db/migrate/20201020155510_add_bmi_to_clinic_visits.rb +31 -0
  213. data/db/migrate/20201020164524_update_pd_mdm_patients_view.rb +7 -0
  214. data/db/migrate/20201020170921_update_hd_mdm_patients_view.rb +7 -0
  215. data/db/migrate/20201020171139_update_low_clearance_mdm_patients_view.rb +7 -0
  216. data/db/migrate/20201021153832_update_supportive_care_mdm_patients_view.rb +7 -0
  217. data/db/migrate/20201021154809_update_transplant_mdm_patients_view.rb +7 -0
  218. data/db/migrate/20201023092859_remove_unused_indexes.rb +20 -0
  219. data/db/migrate/20201105153422_update_medication_current_prescriptions_view.rb +7 -0
  220. data/db/migrate/20201112152752_update_pd_mdm_patients_view1.rb +7 -0
  221. data/db/seeds/default/system/seeds.rb +1 -0
  222. data/db/seeds/default/system/view_metadata.rb +91 -0
  223. data/db/seeds/default/ukrdc/measurement_units.csv +12 -0
  224. data/db/seeds/default/ukrdc/measurement_units.rb +15 -0
  225. data/db/seeds/default/ukrdc/seeds.rb +1 -0
  226. data/db/triggers/update_pathology_observations_nresult_trigger_v01.sql +11 -0
  227. data/db/views/hd_mdm_patients_v01.sql +69 -0
  228. data/db/views/hd_mdm_patients_v02.sql +70 -0
  229. data/db/views/low_clearance_mdm_patients_v01.sql +38 -0
  230. data/db/views/low_clearance_mdm_patients_v02.sql +39 -0
  231. data/db/views/medication_current_prescriptions_v01.sql +2 -1
  232. data/db/views/medication_current_prescriptions_v02.sql +30 -0
  233. data/db/views/patient_current_modalities_v02.sql +18 -0
  234. data/db/views/pd_mdm_patients_v01.sql +42 -0
  235. data/db/views/pd_mdm_patients_v02.sql +43 -0
  236. data/db/views/pd_mdm_patients_v03.sql +50 -0
  237. data/db/views/reporting_anaemia_audit_v01.sql +0 -2
  238. data/db/views/supportive_care_mdm_patients_v01.sql +28 -0
  239. data/db/views/supportive_care_mdm_patients_v02.sql +29 -0
  240. data/db/views/transplant_mdm_patients_v01.sql +46 -0
  241. data/db/views/transplant_mdm_patients_v02.sql +47 -0
  242. data/lib/renalware/configuration.rb +2 -5
  243. data/lib/renalware/engine.rb +2 -2
  244. data/lib/renalware/version_number.rb +1 -1
  245. data/lib/tasks/db.rake +9 -0
  246. data/lib/tasks/pd.rake +28 -0
  247. data/spec/factories/drugs/drug_types.rb +5 -1
  248. data/spec/factories/messaging/internal/messages.rb +1 -0
  249. data/spec/factories/patients/practices.rb +1 -1
  250. data/spec/factories/patients/primary_care_physicians.rb +1 -1
  251. data/spec/factories/system/users.rb +1 -0
  252. data/spec/factories/system/view_metadata.rb +20 -0
  253. data/spec/support/capybara_helper.rb +2 -4
  254. data/spec/support/letters_spec_helper.rb +1 -1
  255. data/spec/support/matchers/validate_timeliness_of.rb +1 -1
  256. data/spec/support/pathology_spec_helper.rb +1 -2
  257. data/spec/support/policy_spec_helper.rb +12 -0
  258. data/vendor/assets/javascripts/foundation/foundation.alert.js +43 -0
  259. data/vendor/assets/javascripts/foundation/foundation.dropdown.js +468 -0
  260. data/vendor/assets/javascripts/foundation/foundation.js +727 -0
  261. data/vendor/assets/javascripts/foundation/foundation.reveal.js +522 -0
  262. data/vendor/assets/javascripts/foundation/foundation.tab.js +247 -0
  263. data/vendor/assets/javascripts/foundation/foundation.tooltip.js +348 -0
  264. data/vendor/assets/javascripts/foundation/foundation.topbar.js +458 -0
  265. data/vendor/assets/stylesheets/foundation/_functions.scss +156 -0
  266. data/vendor/assets/stylesheets/foundation/components/_alert-boxes.scss +128 -0
  267. data/vendor/assets/stylesheets/foundation/components/_buttons.scss +261 -0
  268. data/vendor/assets/stylesheets/foundation/components/_dropdown-buttons.scss +130 -0
  269. data/vendor/assets/stylesheets/foundation/components/_dropdown.scss +269 -0
  270. data/vendor/assets/stylesheets/foundation/components/_forms.scss +601 -0
  271. data/vendor/assets/stylesheets/foundation/components/_global.scss +566 -0
  272. data/vendor/assets/stylesheets/foundation/components/_grid.scss +292 -0
  273. data/vendor/assets/stylesheets/foundation/components/_labels.scss +106 -0
  274. data/vendor/assets/stylesheets/foundation/components/_pagination.scss +163 -0
  275. data/vendor/assets/stylesheets/foundation/components/_panels.scss +107 -0
  276. data/vendor/assets/stylesheets/foundation/components/_reveal.scss +212 -0
  277. data/vendor/assets/stylesheets/foundation/components/_side-nav.scss +120 -0
  278. data/vendor/assets/stylesheets/foundation/components/_split-buttons.scss +203 -0
  279. data/vendor/assets/stylesheets/foundation/components/_sub-nav.scss +125 -0
  280. data/vendor/assets/stylesheets/foundation/components/_tables.scss +135 -0
  281. data/vendor/assets/stylesheets/foundation/components/_tabs.scss +142 -0
  282. data/vendor/assets/stylesheets/foundation/components/_tooltips.scss +142 -0
  283. data/vendor/assets/stylesheets/foundation/components/_top-bar.scss +745 -0
  284. data/vendor/assets/stylesheets/foundation/components/_type.scss +525 -0
  285. data/vendor/assets/stylesheets/foundation/components/_visibility.scss +425 -0
  286. metadata +172 -71
  287. data/app/assets/javascripts/renalware/components/reporting.js.erb +0 -0
  288. data/app/assets/javascripts/renalware/components/session_timeout_redirect.js.erb +0 -37
  289. data/app/views/renalware/pd/infection_organisms/_edit.html.slim.obsolete +0 -16
  290. data/app/views/renalware/transplants/donor_operations/_sections_nav.html.slim +0 -11
  291. data/app/views/renalware/transplants/donor_workups/_sections_nav.html.slim +0 -15
  292. data/app/views/renalware/transplants/recipient_operations/_sections_nav.html.slim +0 -14
  293. data/app/views/renalware/transplants/recipient_workups/_sections_nav.html.slim +0 -15
  294. data/lib/core_extensions/active_record/sort.rb +0 -52
  295. data/spec/support/pages/accesses/procedure_page.rb +0 -53
  296. data/spec/support/pages/accesses/profile_page.rb +0 -45
  297. data/spec/support/pages/admissions/consults_page.rb +0 -26
  298. data/spec/support/pages/clinical/allergy_page.rb +0 -74
  299. data/spec/support/pages/clinical/profile_page.rb +0 -28
  300. data/spec/support/pages/hd/prescription_administration_dialog.rb +0 -132
  301. data/spec/support/pages/letters/form.rb +0 -63
  302. data/spec/support/pages/letters/mailshots/form.rb +0 -58
  303. data/spec/support/pages/letters/patient_letters.rb +0 -20
  304. data/spec/support/pages/low_clearance/profile_page.rb +0 -70
  305. data/spec/support/pages/medications/home_delivery_dialog.rb +0 -77
  306. data/spec/support/pages/medications/prescription_fom.rb +0 -62
  307. data/spec/support/pages/page_object.rb +0 -10
@@ -0,0 +1,727 @@
1
+ /*
2
+ * Foundation Responsive Library
3
+ * http://foundation.zurb.com
4
+ * Copyright 2015, ZURB
5
+ * Free to use under the MIT license.
6
+ * http://www.opensource.org/licenses/mit-license.php
7
+ */
8
+
9
+ (function ($, window, document, undefined) {
10
+ 'use strict';
11
+
12
+ var header_helpers = function (class_array) {
13
+ var head = $('head');
14
+ head.prepend($.map(class_array, function (class_name) {
15
+ if (head.has('.' + class_name).length === 0) {
16
+ return '<meta class="' + class_name + '" />';
17
+ }
18
+ }));
19
+ };
20
+
21
+ header_helpers([
22
+ 'foundation-mq-small',
23
+ 'foundation-mq-small-only',
24
+ 'foundation-mq-medium',
25
+ 'foundation-mq-medium-only',
26
+ 'foundation-mq-large',
27
+ 'foundation-mq-large-only',
28
+ 'foundation-mq-xlarge',
29
+ 'foundation-mq-xlarge-only',
30
+ 'foundation-mq-xxlarge',
31
+ 'foundation-data-attribute-namespace']);
32
+
33
+ // Enable FastClick if present
34
+
35
+ $(function () {
36
+ if (typeof FastClick !== 'undefined') {
37
+ // Don't attach to body if undefined
38
+ if (typeof document.body !== 'undefined') {
39
+ FastClick.attach(document.body);
40
+ }
41
+ }
42
+ });
43
+
44
+ // private Fast Selector wrapper,
45
+ // returns jQuery object. Only use where
46
+ // getElementById is not available.
47
+ var S = function (selector, context) {
48
+ if (typeof selector === 'string') {
49
+ if (context) {
50
+ var cont;
51
+ if (context.jquery) {
52
+ cont = context[0];
53
+ if (!cont) {
54
+ return context;
55
+ }
56
+ } else {
57
+ cont = context;
58
+ }
59
+ return $(cont.querySelectorAll(selector));
60
+ }
61
+
62
+ return $(document.querySelectorAll(selector));
63
+ }
64
+
65
+ return $(selector, context);
66
+ };
67
+
68
+ // Namespace functions.
69
+
70
+ var attr_name = function (init) {
71
+ var arr = [];
72
+ if (!init) {
73
+ arr.push('data');
74
+ }
75
+ if (this.namespace.length > 0) {
76
+ arr.push(this.namespace);
77
+ }
78
+ arr.push(this.name);
79
+
80
+ return arr.join('-');
81
+ };
82
+
83
+ var add_namespace = function (str) {
84
+ var parts = str.split('-'),
85
+ i = parts.length,
86
+ arr = [];
87
+
88
+ while (i--) {
89
+ if (i !== 0) {
90
+ arr.push(parts[i]);
91
+ } else {
92
+ if (this.namespace.length > 0) {
93
+ arr.push(this.namespace, parts[i]);
94
+ } else {
95
+ arr.push(parts[i]);
96
+ }
97
+ }
98
+ }
99
+
100
+ return arr.reverse().join('-');
101
+ };
102
+
103
+ // Event binding and data-options updating.
104
+
105
+ var bindings = function (method, options) {
106
+ var self = this,
107
+ bind = function(){
108
+ var $this = S(this),
109
+ should_bind_events = !$this.data(self.attr_name(true) + '-init');
110
+ $this.data(self.attr_name(true) + '-init', $.extend({}, self.settings, (options || method), self.data_options($this)));
111
+
112
+ if (should_bind_events) {
113
+ self.events(this);
114
+ }
115
+ };
116
+
117
+ if (S(this.scope).is('[' + this.attr_name() +']')) {
118
+ bind.call(this.scope);
119
+ } else {
120
+ S('[' + this.attr_name() +']', this.scope).each(bind);
121
+ }
122
+ // # Patch to fix #5043 to move this *after* the if/else clause in order for Backbone and similar frameworks to have improved control over event binding and data-options updating.
123
+ if (typeof method === 'string') {
124
+ return this[method].call(this, options);
125
+ }
126
+
127
+ };
128
+
129
+ var single_image_loaded = function (image, callback) {
130
+ function loaded () {
131
+ callback(image[0]);
132
+ }
133
+
134
+ function bindLoad () {
135
+ this.one('load', loaded);
136
+
137
+ if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) {
138
+ var src = this.attr( 'src' ),
139
+ param = src.match( /\?/ ) ? '&' : '?';
140
+
141
+ param += 'random=' + (new Date()).getTime();
142
+ this.attr('src', src + param);
143
+ }
144
+ }
145
+
146
+ if (!image.attr('src')) {
147
+ loaded();
148
+ return;
149
+ }
150
+
151
+ if (image[0].complete || image[0].readyState === 4) {
152
+ loaded();
153
+ } else {
154
+ bindLoad.call(image);
155
+ }
156
+ };
157
+
158
+ /*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license */
159
+
160
+ window.matchMedia || (window.matchMedia = function() {
161
+ "use strict";
162
+
163
+ // For browsers that support matchMedium api such as IE 9 and webkit
164
+ var styleMedia = (window.styleMedia || window.media);
165
+
166
+ // For those that don't support matchMedium
167
+ if (!styleMedia) {
168
+ var style = document.createElement('style'),
169
+ script = document.getElementsByTagName('script')[0],
170
+ info = null;
171
+
172
+ style.type = 'text/css';
173
+ style.id = 'matchmediajs-test';
174
+
175
+ script.parentNode.insertBefore(style, script);
176
+
177
+ // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers
178
+ info = ('getComputedStyle' in window) && window.getComputedStyle(style, null) || style.currentStyle;
179
+
180
+ styleMedia = {
181
+ matchMedium: function(media) {
182
+ var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';
183
+
184
+ // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers
185
+ if (style.styleSheet) {
186
+ style.styleSheet.cssText = text;
187
+ } else {
188
+ style.textContent = text;
189
+ }
190
+
191
+ // Test if media query is true or false
192
+ return info.width === '1px';
193
+ }
194
+ };
195
+ }
196
+
197
+ return function(media) {
198
+ return {
199
+ matches: styleMedia.matchMedium(media || 'all'),
200
+ media: media || 'all'
201
+ };
202
+ };
203
+ }());
204
+
205
+ /*
206
+ * jquery.requestAnimationFrame
207
+ * https://github.com/gnarf37/jquery-requestAnimationFrame
208
+ * Requires jQuery 1.8+
209
+ *
210
+ * Copyright (c) 2012 Corey Frang
211
+ * Licensed under the MIT license.
212
+ */
213
+
214
+ (function(jQuery) {
215
+
216
+
217
+ // requestAnimationFrame polyfill adapted from Erik Möller
218
+ // fixes from Paul Irish and Tino Zijdel
219
+ // http://paulirish.com/2011/requestanimationframe-for-smart-animating/
220
+ // http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating
221
+
222
+ var animating,
223
+ lastTime = 0,
224
+ vendors = ['webkit', 'moz'],
225
+ requestAnimationFrame = window.requestAnimationFrame,
226
+ cancelAnimationFrame = window.cancelAnimationFrame,
227
+ jqueryFxAvailable = 'undefined' !== typeof jQuery.fx;
228
+
229
+ for (; lastTime < vendors.length && !requestAnimationFrame; lastTime++) {
230
+ requestAnimationFrame = window[ vendors[lastTime] + 'RequestAnimationFrame' ];
231
+ cancelAnimationFrame = cancelAnimationFrame ||
232
+ window[ vendors[lastTime] + 'CancelAnimationFrame' ] ||
233
+ window[ vendors[lastTime] + 'CancelRequestAnimationFrame' ];
234
+ }
235
+
236
+ function raf() {
237
+ if (animating) {
238
+ requestAnimationFrame(raf);
239
+
240
+ if (jqueryFxAvailable) {
241
+ jQuery.fx.tick();
242
+ }
243
+ }
244
+ }
245
+
246
+ if (requestAnimationFrame) {
247
+ // use rAF
248
+ window.requestAnimationFrame = requestAnimationFrame;
249
+ window.cancelAnimationFrame = cancelAnimationFrame;
250
+
251
+ if (jqueryFxAvailable) {
252
+ jQuery.fx.timer = function (timer) {
253
+ if (timer() && jQuery.timers.push(timer) && !animating) {
254
+ animating = true;
255
+ raf();
256
+ }
257
+ };
258
+
259
+ jQuery.fx.stop = function () {
260
+ animating = false;
261
+ };
262
+ }
263
+ } else {
264
+ // polyfill
265
+ window.requestAnimationFrame = function (callback) {
266
+ var currTime = new Date().getTime(),
267
+ timeToCall = Math.max(0, 16 - (currTime - lastTime)),
268
+ id = window.setTimeout(function () {
269
+ callback(currTime + timeToCall);
270
+ }, timeToCall);
271
+ lastTime = currTime + timeToCall;
272
+ return id;
273
+ };
274
+
275
+ window.cancelAnimationFrame = function (id) {
276
+ clearTimeout(id);
277
+ };
278
+
279
+ }
280
+
281
+ }( $ ));
282
+
283
+ function removeQuotes (string) {
284
+ if (typeof string === 'string' || string instanceof String) {
285
+ string = string.replace(/^['\\/"]+|(;\s?})+|['\\/"]+$/g, '');
286
+ }
287
+
288
+ return string;
289
+ }
290
+
291
+ function MediaQuery(selector) {
292
+ this.selector = selector;
293
+ this.query = '';
294
+ }
295
+
296
+ MediaQuery.prototype.toString = function () {
297
+ return this.query || (this.query = S(this.selector).css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''));
298
+ };
299
+
300
+ window.Foundation = {
301
+ name : 'Foundation',
302
+
303
+ version : '5.5.3',
304
+
305
+ media_queries : {
306
+ 'small' : new MediaQuery('.foundation-mq-small'),
307
+ 'small-only' : new MediaQuery('.foundation-mq-small-only'),
308
+ 'medium' : new MediaQuery('.foundation-mq-medium'),
309
+ 'medium-only' : new MediaQuery('.foundation-mq-medium-only'),
310
+ 'large' : new MediaQuery('.foundation-mq-large'),
311
+ 'large-only' : new MediaQuery('.foundation-mq-large-only'),
312
+ 'xlarge' : new MediaQuery('.foundation-mq-xlarge'),
313
+ 'xlarge-only' : new MediaQuery('.foundation-mq-xlarge-only'),
314
+ 'xxlarge' : new MediaQuery('.foundation-mq-xxlarge')
315
+ },
316
+
317
+ stylesheet : $('<style></style>').appendTo('head')[0].sheet,
318
+
319
+ global : {
320
+ namespace : undefined
321
+ },
322
+
323
+ init : function (scope, libraries, method, options, response) {
324
+ var args = [scope, method, options, response],
325
+ responses = [];
326
+
327
+ // check RTL
328
+ this.rtl = /rtl/i.test(S('html').attr('dir'));
329
+
330
+ // set foundation global scope
331
+ this.scope = scope || this.scope;
332
+
333
+ this.set_namespace();
334
+
335
+ if (libraries && typeof libraries === 'string' && !/reflow/i.test(libraries)) {
336
+ if (this.libs.hasOwnProperty(libraries)) {
337
+ responses.push(this.init_lib(libraries, args));
338
+ }
339
+ } else {
340
+ for (var lib in this.libs) {
341
+ responses.push(this.init_lib(lib, libraries));
342
+ }
343
+ }
344
+
345
+ S(window).load(function () {
346
+ S(window)
347
+ .trigger('resize.fndtn.clearing')
348
+ .trigger('resize.fndtn.dropdown')
349
+ .trigger('resize.fndtn.topbar');
350
+ });
351
+
352
+ return scope;
353
+ },
354
+
355
+ init_lib : function (lib, args) {
356
+ if (this.libs.hasOwnProperty(lib)) {
357
+ this.patch(this.libs[lib]);
358
+
359
+ if (args && args.hasOwnProperty(lib)) {
360
+ if (typeof this.libs[lib].settings !== 'undefined') {
361
+ $.extend(true, this.libs[lib].settings, args[lib]);
362
+ } else if (typeof this.libs[lib].defaults !== 'undefined') {
363
+ $.extend(true, this.libs[lib].defaults, args[lib]);
364
+ }
365
+ return this.libs[lib].init.apply(this.libs[lib], [this.scope, args[lib]]);
366
+ }
367
+
368
+ args = args instanceof Array ? args : new Array(args);
369
+ return this.libs[lib].init.apply(this.libs[lib], args);
370
+ }
371
+
372
+ return function () {};
373
+ },
374
+
375
+ patch : function (lib) {
376
+ lib.scope = this.scope;
377
+ lib.namespace = this.global.namespace;
378
+ lib.rtl = this.rtl;
379
+ lib['data_options'] = this.utils.data_options;
380
+ lib['attr_name'] = attr_name;
381
+ lib['add_namespace'] = add_namespace;
382
+ lib['bindings'] = bindings;
383
+ lib['S'] = this.utils.S;
384
+ },
385
+
386
+ inherit : function (scope, methods) {
387
+ var methods_arr = methods.split(' '),
388
+ i = methods_arr.length;
389
+
390
+ while (i--) {
391
+ if (this.utils.hasOwnProperty(methods_arr[i])) {
392
+ scope[methods_arr[i]] = this.utils[methods_arr[i]];
393
+ }
394
+ }
395
+ },
396
+
397
+ set_namespace : function () {
398
+
399
+ // Description:
400
+ // Don't bother reading the namespace out of the meta tag
401
+ // if the namespace has been set globally in javascript
402
+ //
403
+ // Example:
404
+ // Foundation.global.namespace = 'my-namespace';
405
+ // or make it an empty string:
406
+ // Foundation.global.namespace = '';
407
+ //
408
+ //
409
+
410
+ // If the namespace has not been set (is undefined), try to read it out of the meta element.
411
+ // Otherwise use the globally defined namespace, even if it's empty ('')
412
+ var namespace = ( this.global.namespace === undefined ) ? $('.foundation-data-attribute-namespace').css('font-family') : this.global.namespace;
413
+
414
+ // Finally, if the namsepace is either undefined or false, set it to an empty string.
415
+ // Otherwise use the namespace value.
416
+ this.global.namespace = ( namespace === undefined || /false/i.test(namespace) ) ? '' : namespace;
417
+ },
418
+
419
+ libs : {},
420
+
421
+ // methods that can be inherited in libraries
422
+ utils : {
423
+
424
+ // Description:
425
+ // Fast Selector wrapper returns jQuery object. Only use where getElementById
426
+ // is not available.
427
+ //
428
+ // Arguments:
429
+ // Selector (String): CSS selector describing the element(s) to be
430
+ // returned as a jQuery object.
431
+ //
432
+ // Scope (String): CSS selector describing the area to be searched. Default
433
+ // is document.
434
+ //
435
+ // Returns:
436
+ // Element (jQuery Object): jQuery object containing elements matching the
437
+ // selector within the scope.
438
+ S : S,
439
+
440
+ // Description:
441
+ // Executes a function a max of once every n milliseconds
442
+ //
443
+ // Arguments:
444
+ // Func (Function): Function to be throttled.
445
+ //
446
+ // Delay (Integer): Function execution threshold in milliseconds.
447
+ //
448
+ // Returns:
449
+ // Lazy_function (Function): Function with throttling applied.
450
+ throttle : function (func, delay) {
451
+ var timer = null;
452
+
453
+ return function () {
454
+ var context = this, args = arguments;
455
+
456
+ if (timer == null) {
457
+ timer = setTimeout(function () {
458
+ func.apply(context, args);
459
+ timer = null;
460
+ }, delay);
461
+ }
462
+ };
463
+ },
464
+
465
+ // Description:
466
+ // Executes a function when it stops being invoked for n seconds
467
+ // Modified version of _.debounce() http://underscorejs.org
468
+ //
469
+ // Arguments:
470
+ // Func (Function): Function to be debounced.
471
+ //
472
+ // Delay (Integer): Function execution threshold in milliseconds.
473
+ //
474
+ // Immediate (Bool): Whether the function should be called at the beginning
475
+ // of the delay instead of the end. Default is false.
476
+ //
477
+ // Returns:
478
+ // Lazy_function (Function): Function with debouncing applied.
479
+ debounce : function (func, delay, immediate) {
480
+ var timeout, result;
481
+ return function () {
482
+ var context = this, args = arguments;
483
+ var later = function () {
484
+ timeout = null;
485
+ if (!immediate) {
486
+ result = func.apply(context, args);
487
+ }
488
+ };
489
+ var callNow = immediate && !timeout;
490
+ clearTimeout(timeout);
491
+ timeout = setTimeout(later, delay);
492
+ if (callNow) {
493
+ result = func.apply(context, args);
494
+ }
495
+ return result;
496
+ };
497
+ },
498
+
499
+ // Description:
500
+ // Parses data-options attribute
501
+ //
502
+ // Arguments:
503
+ // El (jQuery Object): Element to be parsed.
504
+ //
505
+ // Returns:
506
+ // Options (Javascript Object): Contents of the element's data-options
507
+ // attribute.
508
+ data_options : function (el, data_attr_name) {
509
+ data_attr_name = data_attr_name || 'options';
510
+ var opts = {}, ii, p, opts_arr,
511
+ data_options = function (el) {
512
+ var namespace = Foundation.global.namespace;
513
+
514
+ if (namespace.length > 0) {
515
+ return el.data(namespace + '-' + data_attr_name);
516
+ }
517
+
518
+ return el.data(data_attr_name);
519
+ };
520
+
521
+ var cached_options = data_options(el);
522
+
523
+ if (typeof cached_options === 'object') {
524
+ return cached_options;
525
+ }
526
+
527
+ opts_arr = (cached_options || ':').split(';');
528
+ ii = opts_arr.length;
529
+
530
+ function isNumber (o) {
531
+ return !isNaN (o - 0) && o !== null && o !== '' && o !== false && o !== true;
532
+ }
533
+
534
+ function trim (str) {
535
+ if (typeof str === 'string') {
536
+ return $.trim(str);
537
+ }
538
+ return str;
539
+ }
540
+
541
+ while (ii--) {
542
+ p = opts_arr[ii].split(':');
543
+ p = [p[0], p.slice(1).join(':')];
544
+
545
+ if (/true/i.test(p[1])) {
546
+ p[1] = true;
547
+ }
548
+ if (/false/i.test(p[1])) {
549
+ p[1] = false;
550
+ }
551
+ if (isNumber(p[1])) {
552
+ if (p[1].indexOf('.') === -1) {
553
+ p[1] = parseInt(p[1], 10);
554
+ } else {
555
+ p[1] = parseFloat(p[1]);
556
+ }
557
+ }
558
+
559
+ if (p.length === 2 && p[0].length > 0) {
560
+ opts[trim(p[0])] = trim(p[1]);
561
+ }
562
+ }
563
+
564
+ return opts;
565
+ },
566
+
567
+ // Description:
568
+ // Adds JS-recognizable media queries
569
+ //
570
+ // Arguments:
571
+ // Media (String): Key string for the media query to be stored as in
572
+ // Foundation.media_queries
573
+ //
574
+ // Class (String): Class name for the generated <meta> tag
575
+ register_media : function (media, media_class) {
576
+ if (Foundation.media_queries[media] === undefined) {
577
+ $('head').append('<meta class="' + media_class + '"/>');
578
+ Foundation.media_queries[media] = removeQuotes($('.' + media_class).css('font-family'));
579
+ }
580
+ },
581
+
582
+ // Description:
583
+ // Add custom CSS within a JS-defined media query
584
+ //
585
+ // Arguments:
586
+ // Rule (String): CSS rule to be appended to the document.
587
+ //
588
+ // Media (String): Optional media query string for the CSS rule to be
589
+ // nested under.
590
+ add_custom_rule : function (rule, media) {
591
+ if (media === undefined && Foundation.stylesheet) {
592
+ Foundation.stylesheet.insertRule(rule, Foundation.stylesheet.cssRules.length);
593
+ } else {
594
+ var query = Foundation.media_queries[media];
595
+
596
+ if (query !== undefined) {
597
+ Foundation.stylesheet.insertRule('@media ' +
598
+ Foundation.media_queries[media] + '{ ' + rule + ' }', Foundation.stylesheet.cssRules.length);
599
+ }
600
+ }
601
+ },
602
+
603
+ // Description:
604
+ // Performs a callback function when an image is fully loaded
605
+ //
606
+ // Arguments:
607
+ // Image (jQuery Object): Image(s) to check if loaded.
608
+ //
609
+ // Callback (Function): Function to execute when image is fully loaded.
610
+ image_loaded : function (images, callback) {
611
+ var self = this,
612
+ unloaded = images.length;
613
+
614
+ function pictures_has_height(images) {
615
+ var pictures_number = images.length;
616
+
617
+ for (var i = pictures_number - 1; i >= 0; i--) {
618
+ if(images.attr('height') === undefined) {
619
+ return false;
620
+ };
621
+ };
622
+
623
+ return true;
624
+ }
625
+
626
+ if (unloaded === 0 || pictures_has_height(images)) {
627
+ callback(images);
628
+ }
629
+
630
+ images.each(function () {
631
+ single_image_loaded(self.S(this), function () {
632
+ unloaded -= 1;
633
+ if (unloaded === 0) {
634
+ callback(images);
635
+ }
636
+ });
637
+ });
638
+ },
639
+
640
+ // Description:
641
+ // Returns a random, alphanumeric string
642
+ //
643
+ // Arguments:
644
+ // Length (Integer): Length of string to be generated. Defaults to random
645
+ // integer.
646
+ //
647
+ // Returns:
648
+ // Rand (String): Pseudo-random, alphanumeric string.
649
+ random_str : function () {
650
+ if (!this.fidx) {
651
+ this.fidx = 0;
652
+ }
653
+ this.prefix = this.prefix || [(this.name || 'F'), (+new Date).toString(36)].join('-');
654
+
655
+ return this.prefix + (this.fidx++).toString(36);
656
+ },
657
+
658
+ // Description:
659
+ // Helper for window.matchMedia
660
+ //
661
+ // Arguments:
662
+ // mq (String): Media query
663
+ //
664
+ // Returns:
665
+ // (Boolean): Whether the media query passes or not
666
+ match : function (mq) {
667
+ return window.matchMedia(mq).matches;
668
+ },
669
+
670
+ // Description:
671
+ // Helpers for checking Foundation default media queries with JS
672
+ //
673
+ // Returns:
674
+ // (Boolean): Whether the media query passes or not
675
+
676
+ is_small_up : function () {
677
+ return this.match(Foundation.media_queries.small);
678
+ },
679
+
680
+ is_medium_up : function () {
681
+ return this.match(Foundation.media_queries.medium);
682
+ },
683
+
684
+ is_large_up : function () {
685
+ return this.match(Foundation.media_queries.large);
686
+ },
687
+
688
+ is_xlarge_up : function () {
689
+ return this.match(Foundation.media_queries.xlarge);
690
+ },
691
+
692
+ is_xxlarge_up : function () {
693
+ return this.match(Foundation.media_queries.xxlarge);
694
+ },
695
+
696
+ is_small_only : function () {
697
+ return !this.is_medium_up() && !this.is_large_up() && !this.is_xlarge_up() && !this.is_xxlarge_up();
698
+ },
699
+
700
+ is_medium_only : function () {
701
+ return this.is_medium_up() && !this.is_large_up() && !this.is_xlarge_up() && !this.is_xxlarge_up();
702
+ },
703
+
704
+ is_large_only : function () {
705
+ return this.is_medium_up() && this.is_large_up() && !this.is_xlarge_up() && !this.is_xxlarge_up();
706
+ },
707
+
708
+ is_xlarge_only : function () {
709
+ return this.is_medium_up() && this.is_large_up() && this.is_xlarge_up() && !this.is_xxlarge_up();
710
+ },
711
+
712
+ is_xxlarge_only : function () {
713
+ return this.is_medium_up() && this.is_large_up() && this.is_xlarge_up() && this.is_xxlarge_up();
714
+ }
715
+ }
716
+ };
717
+
718
+ $.fn.foundation = function () {
719
+ var args = Array.prototype.slice.call(arguments, 0);
720
+
721
+ return this.each(function () {
722
+ Foundation.init.apply(Foundation, [this].concat(args));
723
+ return this;
724
+ });
725
+ };
726
+
727
+ }(jQuery, window, window.document));