card 1.98.0 → 1.99.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (587) hide show
  1. checksums.yaml +5 -5
  2. data/VERSION +1 -1
  3. data/config/locales/de.yml +7 -7
  4. data/config/locales/en.yml +7 -7
  5. data/config/locales/es.yml +7 -7
  6. data/db/migrate/20190929202325_rename_present_in_reference_table.rb +9 -0
  7. data/db/migrate_core_cards/20150610180019_add_recaptcha_key_and_admin_info_cards.rb +3 -3
  8. data/db/migrate_core_cards/20160801143221_change_bootstrap_card_type_to_scss.rb +1 -1
  9. data/db/migrate_core_cards/20160804112510_reorganize_scripts.rb +1 -1
  10. data/db/migrate_core_cards/20160908154210_add_trash_card.rb +1 -1
  11. data/db/migrate_core_cards/20180508210903_add_json_type.rb +3 -3
  12. data/db/migrate_core_cards/20180712042655_head_rule.rb +1 -1
  13. data/db/migrate_core_cards/{20180905061536_migrate_layouts.rb → 20180905061537_migrate_layouts.rb} +12 -1
  14. data/db/migrate_core_cards/20190204195039_add_rule_card.rb +3 -0
  15. data/db/migrate_core_cards/20190320091257_upgrade_recaptcha_to_v3.rb +5 -6
  16. data/db/migrate_core_cards/20190417142612_reorganize_scripts_2.rb +3 -3
  17. data/db/migrate_core_cards/20190502130029_add_shark_and_help_desk_role.rb +4 -5
  18. data/db/migrate_core_cards/20190618110446_add_dropdown_divider.rb +1 -1
  19. data/db/migrate_core_cards/20190710090209_homepage_tweaks.rb +17 -0
  20. data/db/migrate_core_cards/20190718140126_add_guides.rb +19 -0
  21. data/db/migrate_core_cards/20190820155833_update_cardtype_type_structure.rb +7 -0
  22. data/db/migrate_core_cards/20190822093633_move_help_text_to_code.rb +38 -0
  23. data/db/migrate_core_cards/20190823220018_cleanup_for_decko_1_0.rb +21 -0
  24. data/db/migrate_core_cards/20190826132738_add_more_guides.rb +7 -0
  25. data/db/migrate_core_cards/20190829093961_cardtype_grouping.rb +16 -0
  26. data/db/migrate_core_cards/20190829205148_remove_add_help.rb +14 -0
  27. data/db/migrate_core_cards/20190830131820_setting_settings_aside.rb +17 -0
  28. data/db/migrate_core_cards/20190902161223_add_style_media.rb +7 -0
  29. data/db/migrate_core_cards/20190902193208_input_type.rb +22 -0
  30. data/db/migrate_core_cards/20190904174403_token_upgrade.rb +14 -0
  31. data/db/migrate_core_cards/20190909104250_add_cardtype_input_types.rb +10 -0
  32. data/db/migrate_core_cards/20190918200115_ensure_description_card.rb +13 -0
  33. data/db/migrate_core_cards/20191008201046_fixture_fix.rb +9 -0
  34. data/db/migrate_core_cards/data/cards.yml +12 -8
  35. data/db/migrate_core_cards/data/cards/Xaccount +22 -0
  36. data/db/migrate_core_cards/data/cards/Xaccount_setting-Xright-Xstructure +9 -2
  37. data/db/migrate_core_cards/data/cards/Xgetting_started +5 -5
  38. data/db/migrate_core_cards/data/cards/{Xgetting_started-link → Xgetting_started_link} +0 -0
  39. data/db/migrate_core_cards/data/cards/Xmain_menu +1 -1
  40. data/db/migrate_core_cards/data/cards/Xstructure-Xright-Xguide +12 -0
  41. data/db/migrate_core_cards/data/cards/administrator-dashboard +5 -0
  42. data/db/migrate_core_cards/data/cards/anyone_signed_in-dashboard +0 -2
  43. data/db/migrate_core_cards/data/cards/cardtype-Xtype-Xguide +24 -0
  44. data/db/migrate_core_cards/data/cards/cardtype-Xtype-Xstructure +3 -3
  45. data/db/migrate_core_cards/data/cards/shark-dashboard +2 -2
  46. data/db/migrate_core_cards/data/mailer/password_reset_email.html +6 -3
  47. data/db/migrate_core_cards/data/mailer/password_reset_email.txt +1 -1
  48. data/db/migrate_core_cards/data/mailer/verification_email.html +5 -2
  49. data/db/migrate_core_cards/data/mailer/verification_email.txt +2 -1
  50. data/db/schema.rb +1 -1
  51. data/db/seed/README.md +1 -1
  52. data/db/seed/new/card_actions.yml +2904 -3448
  53. data/db/seed/new/card_acts.yml +2 -2
  54. data/db/seed/new/card_references.yml +3124 -3215
  55. data/db/seed/new/cards.yml +4199 -5156
  56. data/db/seed/new/schema_migrations.yml +2 -0
  57. data/db/seed/new/schema_migrations_core_cards.yml +81 -37
  58. data/db/seed/test/fixtures/card_actions.yml +4136 -4688
  59. data/db/seed/test/fixtures/card_acts.yml +503 -509
  60. data/db/seed/test/fixtures/card_changes.yml +66 -66
  61. data/db/seed/test/fixtures/card_references.yml +4083 -4174
  62. data/db/seed/test/fixtures/cards.yml +4220 -5429
  63. data/db/seed/test/fixtures/schema_migrations.yml +2 -0
  64. data/db/seed/test/fixtures/schema_migrations_core_cards.yml +81 -37
  65. data/db/{seed/test/seed.rb → test_seed.rb} +13 -11
  66. data/db/version.txt +1 -1
  67. data/lib/card/act_manager.rb +15 -45
  68. data/lib/card/act_manager/event_delay.rb +48 -0
  69. data/lib/card/act_manager/stage_director.rb +2 -2
  70. data/lib/card/act_manager/stage_director/phases.rb +3 -6
  71. data/lib/card/auth.rb +1 -0
  72. data/lib/card/auth/current.rb +30 -27
  73. data/lib/card/auth/setup.rb +13 -12
  74. data/lib/card/auth/token.rb +38 -0
  75. data/lib/card/content.rb +34 -7
  76. data/lib/card/content/clean.rb +2 -1
  77. data/lib/card/content/truncate.rb +2 -0
  78. data/lib/card/dirty.rb +2 -1
  79. data/lib/card/env/success.rb +1 -14
  80. data/lib/card/error.rb +3 -1
  81. data/lib/card/format.rb +4 -1
  82. data/lib/card/format/content.rb +2 -2
  83. data/lib/card/format/error.rb +3 -2
  84. data/lib/card/format/nest.rb +1 -1
  85. data/lib/card/format/nesting.rb +2 -2
  86. data/lib/card/format/nesting/mode.rb +15 -15
  87. data/lib/card/migration.rb +3 -5
  88. data/lib/card/mod/loader.rb +5 -0
  89. data/lib/card/model/save_helper.rb +2 -0
  90. data/lib/card/query.rb +1 -0
  91. data/lib/card/query/abstract_query/tie.rb +2 -2
  92. data/lib/card/query/card_query/match_attributes.rb +19 -1
  93. data/lib/card/query/card_query/reference_attributes.rb +4 -2
  94. data/lib/card/query/reference_query.rb +1 -1
  95. data/lib/card/seed_consts.rb +1 -1
  96. data/lib/card/set/event/delayed_event.rb +2 -0
  97. data/lib/card/set/format/abstract_format.rb +3 -5
  98. data/lib/card/set/format/abstract_format/view_opts.rb +1 -1
  99. data/lib/card/set/required_field.rb +8 -3
  100. data/lib/card/set_pattern.rb +10 -0
  101. data/lib/card/tasks/card/file_card_creator.rb +6 -1
  102. data/lib/card/tasks/card/file_card_creator/abstract_file_card.rb +5 -0
  103. data/lib/card/tasks/card/file_card_creator/script_card.rb +2 -0
  104. data/lib/card/view/cache/stub.rb +3 -20
  105. data/lib/card/view/options.rb +4 -3
  106. data/lib/card/view/options/voo_api.rb +1 -1
  107. data/lib/cardio.rb +7 -1
  108. data/lib/cardio/schema.rb +18 -14
  109. data/mod/Modfile +1 -0
  110. data/mod/account/set/abstract/account_field.rb +15 -0
  111. data/mod/account/set/abstract/accounted.rb +15 -0
  112. data/mod/account/set/all/account.rb +3 -4
  113. data/mod/account/set/right/account.rb +23 -155
  114. data/mod/account/set/right/account/events.rb +98 -0
  115. data/mod/account/set/right/account/views.rb +65 -0
  116. data/mod/account/set/right/api_key.rb +48 -0
  117. data/mod/account/set/right/email.rb +2 -2
  118. data/mod/account/set/right/password.rb +6 -9
  119. data/mod/account/set/right/salt.rb +5 -1
  120. data/mod/account/set/right/status.rb +10 -1
  121. data/mod/account/set/self/signin.rb +3 -3
  122. data/mod/account/set/type/role.rb +4 -0
  123. data/mod/account/set/type/signup.rb +31 -160
  124. data/mod/account/{template → set}/type/signup/core.haml +0 -0
  125. data/mod/account/set/type/signup/views.rb +93 -0
  126. data/mod/account/set/type/user.rb +16 -27
  127. data/mod/account/set/type/user/setup_help.haml +10 -0
  128. data/mod/account/spec/set/all/account_spec.rb +84 -98
  129. data/mod/account/spec/set/right/account_spec.rb +40 -34
  130. data/mod/account/spec/set/self/signin_spec.rb +2 -2
  131. data/mod/account/spec/set/type/signup_spec.rb +40 -77
  132. data/mod/ace_editor/db/migrate_core_cards/{20160805112548_delete_ace_help_card.rb → 20180805112548_delete_ace_help_card.rb} +1 -1
  133. data/mod/admin/set/self/debugger.rb +3 -0
  134. data/mod/admin/set/self/trash.rb +1 -1
  135. data/mod/basic_formats/set/all/all_css.rb +1 -1
  136. data/mod/basic_formats/set/all/all_csv.rb +1 -1
  137. data/mod/basic_formats/set/all/base.rb +19 -60
  138. data/mod/basic_formats/set/self/head.rb +1 -1
  139. data/mod/basic_types/set/type/html.rb +7 -3
  140. data/mod/basic_types/set/type/json.rb +1 -1
  141. data/mod/basic_types/set/type/plain_text.rb +1 -1
  142. data/mod/{standard → basic_types}/spec/set/type/html_spec.rb +6 -6
  143. data/mod/basic_types/spec/set/type/plain_text_spec.rb +7 -2
  144. data/mod/bootstrap/db/migrate_core_cards/20170719163733_update_bootswatch_themes_to_4_beta.rb +3 -3
  145. data/mod/bootstrap/db/migrate_core_cards/20180423160231_migrate_customized_bootstrap_skin.rb +2 -2
  146. data/mod/bootstrap/db/migrate_core_cards/20180423170283_add_type_bootswatch_skin.rb +1 -1
  147. data/mod/bootstrap/db/migrate_core_cards/lib/skin.rb +1 -1
  148. data/mod/bootstrap/lib/javascript/script_load_select2.js.coffee +27 -18
  149. data/mod/bootstrap/lib/stylesheets/style_bootstrap_cards.scss +19 -9
  150. data/mod/bootstrap/set/abstract/bootswatch_theme/html_views.rb +1 -1
  151. data/mod/bootstrap/set/all/bootstrap/helper.rb +9 -4
  152. data/mod/bootstrap/set/all/bootstrap/tabs.rb +1 -1
  153. data/mod/bootstrap/set/type/customized_bootswatch_skin.rb +1 -1
  154. data/mod/bootstrap/set/type_plus_right/customized_bootswatch_skin/colors.rb +1 -1
  155. data/mod/bootstrap/set/type_plus_right/customized_bootswatch_skin/colors/{editor.haml → input.haml} +0 -0
  156. data/mod/bootstrap/spec/set/all/bootstrap/bootstrap_builder_spec.rb +1 -1
  157. data/mod/bootstrap/spec/set/all/bootstrap/form_spec.rb +2 -2
  158. data/mod/carrierwave/lib/carrier_wave/file_card_uploader.rb +8 -2
  159. data/mod/carrierwave/set/abstract/attachment.rb +2 -3
  160. data/mod/carrierwave/set/abstract/attachment/storage_type.rb +1 -2
  161. data/mod/carrierwave/set/abstract/attachment/upload_cache.rb +1 -2
  162. data/mod/carrierwave/set/self/favicon.rb +5 -0
  163. data/mod/carrierwave/set/self/new_file.rb +1 -1
  164. data/mod/carrierwave/set/self/new_image.rb +1 -1
  165. data/mod/carrierwave/set/type/file.rb +1 -1
  166. data/mod/carrierwave/set/type/image.rb +2 -2
  167. data/mod/carrierwave/set/type/image/html_views.rb +0 -35
  168. data/mod/carrierwave/spec/set/type/image_spec.rb +1 -1
  169. data/mod/core/chunk/link.rb +4 -2
  170. data/mod/core/chunk/view_stub.rb +5 -4
  171. data/mod/core/set/abstract/code_file.rb +1 -1
  172. data/mod/core/set/all/abort.rb +1 -0
  173. data/mod/core/set/all/codename.rb +2 -1
  174. data/mod/core/set/all/content.rb +59 -0
  175. data/mod/core/set/all/event_conditions.rb +33 -7
  176. data/mod/core/set/all/fetch_helper.rb +4 -1
  177. data/mod/core/set/all/location_history.rb +1 -1
  178. data/mod/core/set/all/name.rb +1 -1
  179. data/mod/core/set/all/name_events.rb +3 -2
  180. data/mod/core/set/all/permissions.rb +6 -36
  181. data/mod/core/set/all/references.rb +12 -5
  182. data/mod/core/set/all/rename.rb +3 -2
  183. data/mod/core/set/all/rules.rb +0 -5
  184. data/mod/core/set/all/update_read_rules.rb +1 -19
  185. data/mod/core/set_pattern/03_type.rb +4 -0
  186. data/mod/core/set_pattern/07_right.rb +4 -0
  187. data/mod/core/set_pattern/08_type_plus_right.rb +4 -0
  188. data/mod/core/set_pattern/09_self.rb +4 -0
  189. data/mod/core/spec/chunk/link_spec.rb +6 -0
  190. data/mod/core/spec/chunk/nest_spec.rb +2 -2
  191. data/mod/core/spec/set/all/event_conditions_spec.rb +36 -38
  192. data/mod/core/spec/set/all/name_events_spec.rb +1 -1
  193. data/mod/core/spec/set/all/permissions_spec.rb +1 -11
  194. data/mod/core/spec/set/all/rules_spec.rb +6 -16
  195. data/mod/date/set/all/calendar.rb +1 -1
  196. data/mod/date/set/self/datepicker.rb +6 -0
  197. data/mod/date/set/type/date.rb +1 -1
  198. data/mod/date/spec/set/type/date_spec.rb +1 -1
  199. data/mod/date/vendor/moment/CHANGELOG.md +8 -0
  200. data/mod/date/vendor/moment/Moment.js.nuspec +5 -5
  201. data/mod/date/vendor/moment/component.json +1 -1
  202. data/mod/date/vendor/moment/locale/az.js +1 -1
  203. data/mod/date/vendor/moment/locale/be.js +1 -1
  204. data/mod/date/vendor/moment/locale/pa-in.js +1 -1
  205. data/mod/date/vendor/moment/meteor/moment.js +1 -1
  206. data/mod/date/vendor/moment/meteor/package.js +1 -1
  207. data/mod/date/vendor/moment/min/locales.js +28 -28
  208. data/mod/date/vendor/moment/min/locales.min.js +1 -1
  209. data/mod/date/vendor/moment/min/moment-with-locales.js +33 -33
  210. data/mod/date/vendor/moment/min/moment-with-locales.min.js +1 -1
  211. data/mod/date/vendor/moment/min/moment.min.js +1 -1
  212. data/mod/date/vendor/moment/min/tests.js +48 -11
  213. data/mod/date/vendor/moment/moment.js +5 -5
  214. data/mod/date/vendor/moment/package.json +2 -2
  215. data/mod/date/vendor/moment/src/lib/create/from-string.js +1 -1
  216. data/mod/date/vendor/moment/src/lib/units/day-of-week.js +3 -3
  217. data/mod/date/vendor/moment/src/locale/az.js +1 -1
  218. data/mod/date/vendor/moment/src/locale/be.js +1 -1
  219. data/mod/date/vendor/moment/src/locale/pa-in.js +1 -1
  220. data/mod/date/vendor/moment/src/moment.js +2 -2
  221. data/mod/date/vendor/moment/src/test/locale/az.js +5 -5
  222. data/mod/date/vendor/moment/src/test/locale/be.js +3 -0
  223. data/mod/date/vendor/moment/src/test/locale/pa-in.js +3 -3
  224. data/mod/date/vendor/moment/src/test/moment/locale.js +33 -0
  225. data/mod/date/vendor/moment/src/test/moment/start_end_of.js +1 -1
  226. data/mod/date/vendor/moment/src/test/moment/weeks.js +2 -2
  227. data/mod/date/vendor/tempusdominus/Gruntfile.js +7 -49
  228. data/mod/date/vendor/tempusdominus/build/css/tempusdominus-bootstrap-4.css +3 -1
  229. data/mod/date/vendor/tempusdominus/build/css/tempusdominus-bootstrap-4.min.css +3 -1
  230. data/mod/date/vendor/tempusdominus/build/js/tempusdominus-bootstrap-4.js +128 -116
  231. data/mod/date/vendor/tempusdominus/build/js/tempusdominus-bootstrap-4.min.js +3 -3
  232. data/mod/date/vendor/tempusdominus/composer.json +3 -3
  233. data/mod/date/vendor/tempusdominus/docs/Changelog/index.html +20 -36
  234. data/mod/date/vendor/tempusdominus/docs/ContributorsGuide/index.html +20 -36
  235. data/mod/date/vendor/tempusdominus/docs/Events/index.html +20 -36
  236. data/mod/date/vendor/tempusdominus/docs/Extras/index.html +20 -36
  237. data/mod/date/vendor/tempusdominus/docs/FAQ/index.html +20 -36
  238. data/mod/date/vendor/tempusdominus/docs/Functions/index.html +20 -36
  239. data/mod/date/vendor/tempusdominus/docs/Installing/index.html +30 -50
  240. data/mod/date/vendor/tempusdominus/docs/Options/index.html +21 -37
  241. data/mod/date/vendor/tempusdominus/docs/Usage/index.html +20 -40
  242. data/mod/date/vendor/tempusdominus/docs/css/base.css +1682 -0
  243. data/mod/date/vendor/tempusdominus/docs/css/tempusdominus-bootstrap-4.css +3 -1
  244. data/mod/date/vendor/tempusdominus/docs/index.html +26 -41
  245. data/mod/date/vendor/tempusdominus/docs/js/tempusdominus-bootstrap-4.js +127 -115
  246. data/mod/date/vendor/tempusdominus/docs/search/search_index.json +11 -16
  247. data/mod/date/vendor/tempusdominus/docs/sitemap.xml +10 -10
  248. data/mod/date/vendor/tempusdominus/docs/theme/base.html +11 -12
  249. data/mod/date/vendor/tempusdominus/docs/theme/css/base.css +1682 -0
  250. data/mod/date/vendor/tempusdominus/docs/theme/css/tempusdominus-bootstrap-4.css +3 -1
  251. data/mod/date/vendor/tempusdominus/docs/theme/js/tempusdominus-bootstrap-4.js +127 -115
  252. data/mod/date/vendor/tempusdominus/docs/theme/toc.html +1 -0
  253. data/mod/date/vendor/tempusdominus/package-lock.json +4085 -8197
  254. data/mod/date/vendor/tempusdominus/package.json +17 -19
  255. data/mod/date/vendor/tempusdominus/src/docs/Installing.md +12 -18
  256. data/mod/date/vendor/tempusdominus/src/docs/Options.md +1 -1
  257. data/mod/date/vendor/tempusdominus/src/docs/Usage.md +0 -2
  258. data/mod/date/vendor/tempusdominus/src/docs/index.md +7 -5
  259. data/mod/date/vendor/tempusdominus/src/docs/theme/base.html +11 -12
  260. data/mod/date/vendor/tempusdominus/src/docs/theme/css/base.css +1682 -0
  261. data/mod/date/vendor/tempusdominus/src/docs/theme/css/tempusdominus-bootstrap-4.css +3 -1
  262. data/mod/date/vendor/tempusdominus/src/docs/theme/js/tempusdominus-bootstrap-4.js +127 -115
  263. data/mod/date/vendor/tempusdominus/src/docs/theme/toc.html +1 -0
  264. data/mod/date/vendor/tempusdominus/src/js/tempusdominus-bootstrap-4.js +32 -12
  265. data/mod/date/vendor/tempusdominus/src/sass/_tempusdominus-bootstrap-4.scss +4 -0
  266. data/mod/date/vendor/tempusdominus/src/sass/tempusdominus-bootstrap-4-build.scss +2 -2
  267. data/mod/edit/set/all/bridge.rb +4 -1
  268. data/mod/edit/set/all/bridge/account_section.rb +16 -0
  269. data/mod/edit/set/all/bridge/bridge_pills.rb +47 -0
  270. data/mod/edit/set/all/bridge/related_section.rb +34 -0
  271. data/mod/edit/set/all/bridge/tab_views.rb +13 -40
  272. data/mod/edit/set/all/bridge/tab_visibility.rb +6 -2
  273. data/mod/edit/set/all/edit_content.rb +12 -3
  274. data/mod/edit/set/all/edit_inline.rb +15 -8
  275. data/mod/edit/set/all/edit_name.rb +5 -7
  276. data/mod/edit/set/all/edit_type.rb +84 -11
  277. data/mod/edit/set/all/editing.rb +7 -3
  278. data/mod/edit/set/all/editor.rb +28 -15
  279. data/mod/edit/set/all/form.rb +34 -74
  280. data/mod/edit/set/all/form_buttons.rb +12 -3
  281. data/mod/edit/set/all/formgroup.rb +5 -5
  282. data/mod/edit/set/all/nest_editor.rb +20 -4
  283. data/mod/edit/set/all/nest_editor/_help.haml +7 -0
  284. data/mod/edit/set/all/nest_editor/nest_editor.haml +3 -2
  285. data/mod/edit/set/all/new.rb +65 -3
  286. data/mod/edit/set/all/overlay_guide.haml +7 -0
  287. data/mod/edit/set/all/overlay_guide.rb +9 -0
  288. data/mod/edit/set/all/template_nest.rb +42 -0
  289. data/mod/edit/set/type/list.rb +15 -0
  290. data/mod/edit/set/type/plain_text.rb +13 -0
  291. data/mod/edit/set/type/pointer.rb +11 -0
  292. data/mod/edit/spec/set/all/bridge/tab_views_spec.rb +1 -1
  293. data/mod/edit/spec/set/all/nest_editor_spec.rb +1 -1
  294. data/mod/email/set/all/email_html.rb +2 -2
  295. data/mod/email/set/all/email_text.rb +2 -2
  296. data/mod/follow/lib/card/follower_stash.rb +1 -1
  297. data/mod/follow/set/all/follow/followed_by.rb +1 -1
  298. data/mod/follow/set/all/notify/base_views.rb +4 -6
  299. data/mod/follow/set/right/following.rb +1 -1
  300. data/mod/follow/set/self/follow_defaults.rb +1 -1
  301. data/mod/follow/set/type/cardtype.rb +6 -0
  302. data/mod/follow/set/type_plus_right/user/follow.rb +1 -1
  303. data/mod/history/lib/card/act/act_renderer.rb +1 -1
  304. data/mod/history/lib/card/action.rb +2 -1
  305. data/mod/history/set/all/history_bridge.rb +0 -1
  306. data/mod/history/spec/set/all/history/views_spec.rb +1 -1
  307. data/mod/item/set/all/bar.rb +15 -7
  308. data/mod/machines/file/all_script_machine_output/file.js +72 -38108
  309. data/mod/machines/file/all_style_machine_output/file.css +4 -4
  310. data/mod/machines/file/script_html5shiv_printshiv_machine_output/file.js +1 -1
  311. data/mod/machines/lib/javascript/decko/bridge.js.coffee +4 -0
  312. data/mod/machines/lib/javascript/decko/card_menu.js.coffee +11 -0
  313. data/mod/machines/lib/javascript/decko/decko.js.coffee +12 -3
  314. data/mod/machines/lib/javascript/decko/name_editor.js.coffee +1 -1
  315. data/mod/machines/lib/javascript/decko/nest_editor.js.coffee +3 -1
  316. data/mod/machines/lib/javascript/decko/nest_editor_name.js.coffee +29 -6
  317. data/mod/machines/lib/javascript/decko/overlay.js.coffee +6 -2
  318. data/mod/machines/lib/javascript/decko/slot.js.coffee +12 -2
  319. data/mod/machines/lib/javascript/decko/slotter.js.coffee +8 -0
  320. data/mod/machines/lib/javascript/decko/upload.js.coffee +1 -1
  321. data/mod/machines/lib/stylesheets/style_cards.scss +57 -52
  322. data/mod/machines/lib/stylesheets/style_jquery_ui_smoothness.css +13 -13
  323. data/mod/machines/set/abstract/script.rb +1 -1
  324. data/mod/machines/set/type/css.rb +1 -1
  325. data/mod/machines/spec/set/type/css_spec.rb +14 -14
  326. data/mod/machines/spec/shared_examples/machine_input.rb +6 -10
  327. data/mod/media/lib/stylesheets/style_image_box.scss +79 -0
  328. data/mod/{utility → media}/set/abstract/media.rb +0 -0
  329. data/mod/{utility → media}/set/abstract/media/media_snippet.haml +0 -0
  330. data/mod/media/set/self/style_media.rb +6 -0
  331. data/mod/media/set/type/image.rb +38 -0
  332. data/mod/{utility → media}/spec/set/abstract/media_spec.rb +0 -0
  333. data/mod/navbar/set/abstract/{roles_dropdown.rb → account_dropdown.rb} +8 -2
  334. data/mod/navbar/set/right/enabled_roles.rb +7 -9
  335. data/mod/navbar/set/self/account_links.rb +4 -3
  336. data/mod/navbar/spec/set/self/account_links_spec.rb +31 -0
  337. data/mod/pointer/lib/javascript/script_pointer_config.js.coffee +13 -0
  338. data/mod/pointer/lib/javascript/script_pointer_list_editor.js.coffee +7 -2
  339. data/mod/pointer/set/abstract/02_pointer/html_views.rb +16 -7
  340. data/mod/pointer/set/abstract/02_pointer/html_views/checkbox_input.haml +1 -2
  341. data/mod/pointer/set/abstract/02_pointer/html_views/list_input.haml +1 -2
  342. data/mod/pointer/set/abstract/02_pointer/html_views/list_item.haml +2 -0
  343. data/mod/pointer/set/abstract/02_pointer/html_views/radio_input.haml +1 -2
  344. data/mod/pointer/set/abstract/02_pointer/options_api.rb +6 -13
  345. data/mod/pointer/set/right/{options.rb → content_options.rb} +0 -0
  346. data/mod/pointer/set/type/link_list.rb +23 -6
  347. data/mod/pointer/set/type/link_list/link_list_input.haml +24 -0
  348. data/mod/pointer/set/type/mirrored_list.rb +1 -1
  349. data/mod/pointer/spec/set/abstract/pointer/html_views_spec.rb +20 -18
  350. data/mod/pointer/spec/set/abstract/pointer/options_api_spec.rb +2 -1
  351. data/mod/pointer/spec/set/self/input_options_spec.rb +1 -1
  352. data/mod/rules/set/right/self.rb +3 -0
  353. data/mod/rules/set/rule/bar_view.rb +88 -0
  354. data/mod/rules/set/rule/bridge_rules_editor.rb +5 -10
  355. data/mod/rules/set/rule/editor.rb +40 -113
  356. data/mod/rules/set/rule/html_views.rb +13 -0
  357. data/mod/rules/set/rule/quick_editor.rb +39 -0
  358. data/mod/rules/set/rule/{editor → quick_editor}/quick_edit.haml +0 -0
  359. data/mod/rules/set/rule/{editor → quick_editor}/set_info.haml +1 -1
  360. data/mod/rules/set/rule/rule_form/buttons.rb +3 -1
  361. data/mod/rules/set/rule/rule_form/form_elements.rb +2 -2
  362. data/mod/rules/set/rule/rule_form/rule_set_radio.rb +3 -6
  363. data/mod/rules/set/rule/rule_form/set_selection.rb +3 -10
  364. data/mod/rules/set/rule/rules.rb +10 -1
  365. data/mod/rules/set/type/set.rb +37 -20
  366. data/mod/rules/set/type/set/html_views.rb +17 -35
  367. data/mod/rules/set/type/set/html_views/group_panel.haml +1 -1
  368. data/mod/rules/set/type/set/html_views/rule_lists.rb +42 -0
  369. data/mod/rules/set/type/set/html_views/template.rb +1 -32
  370. data/mod/rules/set/type/set/rules_filter.rb +24 -10
  371. data/mod/rules/set/type/set/setting_lists.rb +18 -25
  372. data/mod/rules/spec/set/rule/bar_view_spec.rb +15 -0
  373. data/mod/rules/spec/set/rule/editor_spec.rb +15 -1
  374. data/mod/rules/spec/set/type/set/html_views_spec.rb +0 -13
  375. data/mod/rules/spec/set/type/set/setting_lists_spec.rb +17 -0
  376. data/mod/rules/spec/set/type/set_spec.rb +3 -8
  377. data/mod/search/set/abstract/03_filter/form_helper.rb +11 -9
  378. data/mod/search/set/abstract/search/views.rb +2 -2
  379. data/mod/search/set/right/children.rb +4 -0
  380. data/mod/search/set/right/created.rb +3 -0
  381. data/mod/search/set/right/edited.rb +3 -0
  382. data/mod/search/set/right/editors.rb +3 -0
  383. data/mod/search/set/right/follow.rb +3 -0
  384. data/mod/search/set/right/linked_to_by.rb +3 -0
  385. data/mod/search/set/right/links_to.rb +3 -0
  386. data/mod/search/set/right/mates.rb +3 -0
  387. data/mod/search/set/right/nested_by.rb +3 -0
  388. data/mod/search/set/right/nests.rb +3 -0
  389. data/mod/search/set/right/referred_to_by.rb +3 -0
  390. data/mod/search/set/right/refers_to.rb +3 -0
  391. data/mod/search/set/self/search.rb +3 -1
  392. data/mod/search/set/type/search_type.rb +6 -5
  393. data/mod/settings/lib/card/setting.rb +17 -4
  394. data/mod/settings/set/abstract/permission.rb +6 -2
  395. data/mod/settings/set/all/supports_content_options.rb +7 -0
  396. data/mod/settings/set/right/content_option_view.rb +10 -0
  397. data/mod/settings/set/right/content_options.rb +18 -0
  398. data/mod/settings/set/right/default.rb +18 -2
  399. data/mod/settings/set/right/guide.rb +8 -0
  400. data/mod/settings/set/right/help.rb +2 -1
  401. data/mod/settings/set/right/input_type.rb +35 -0
  402. data/mod/settings/set/right/read.rb +1 -1
  403. data/mod/settings/set/right/script.rb +6 -0
  404. data/mod/settings/set/right/structure.rb +7 -1
  405. data/mod/settings/set/right/style.rb +2 -2
  406. data/mod/settings/set/right/style/{editor.haml → input.haml} +0 -0
  407. data/mod/settings/set/self/autoname.rb +3 -1
  408. data/mod/settings/set/self/captcha.rb +4 -1
  409. data/mod/settings/set/self/content_option_view.rb +10 -0
  410. data/mod/settings/set/self/content_options.rb +10 -0
  411. data/mod/settings/set/self/create.rb +2 -1
  412. data/mod/settings/set/self/default.rb +1 -1
  413. data/mod/settings/set/self/delete.rb +2 -1
  414. data/mod/settings/set/self/guide.rb +3 -0
  415. data/mod/settings/set/self/head.rb +3 -1
  416. data/mod/settings/set/self/help.rb +3 -1
  417. data/mod/settings/set/self/input_type.rb +13 -0
  418. data/mod/settings/set/self/layout.rb +3 -1
  419. data/mod/settings/set/self/on_create.rb +2 -1
  420. data/mod/settings/set/self/on_delete.rb +2 -1
  421. data/mod/settings/set/self/on_update.rb +2 -1
  422. data/mod/settings/set/self/read.rb +2 -1
  423. data/mod/settings/set/self/structure.rb +3 -1
  424. data/mod/settings/set/self/style.rb +3 -1
  425. data/mod/settings/set/self/table_of_contents.rb +4 -1
  426. data/mod/settings/set/self/thanks.rb +3 -1
  427. data/mod/settings/set/self/update.rb +2 -1
  428. data/mod/settings/set/type/setting.rb +15 -37
  429. data/mod/settings/spec/set/right/comment_spec.rb +0 -27
  430. data/mod/settings/spec/set/right/create_spec.rb +1 -1
  431. data/mod/settings/spec/set/right/structure_spec.rb +13 -10
  432. data/mod/settings/spec/set/type/setting_spec.rb +1 -8
  433. data/mod/solid_cache/set/right/solid_cache.rb +3 -3
  434. data/mod/standard/set/all/comment.rb +2 -1
  435. data/mod/standard/set/all/error.rb +2 -2
  436. data/mod/standard/set/all/path.rb +7 -7
  437. data/mod/standard/set/all/rich_html/content.rb +41 -17
  438. data/mod/standard/set/all/rich_html/error.rb +16 -24
  439. data/mod/standard/set/all/rich_html/html_views/guide.rb +51 -0
  440. data/mod/standard/set/all/rich_html/html_views/help.rb +23 -5
  441. data/mod/standard/set/all/rich_html/html_views/info.rb +1 -1
  442. data/mod/standard/set/all/rich_html/menu.rb +50 -2
  443. data/mod/standard/set/all/rich_html/overlay.rb +24 -2
  444. data/mod/standard/set/all/rich_html/title.rb +3 -3
  445. data/mod/standard/set/right/discussion.rb +8 -2
  446. data/mod/standard/set/right/head.rb +4 -0
  447. data/mod/standard/set/right/type_plus_right.rb +4 -0
  448. data/mod/standard/set/self/cardtype.rb +42 -0
  449. data/mod/standard/set/self/sidebar.rb +5 -0
  450. data/mod/standard/set/type/basic.rb +2 -2
  451. data/mod/standard/set/type/cardtype.rb +25 -11
  452. data/mod/standard/set/type/number.rb +1 -1
  453. data/mod/standard/set/type/phrase.rb +1 -1
  454. data/mod/standard/set/type/toggle.rb +9 -1
  455. data/mod/standard/set/type/uri.rb +1 -1
  456. data/mod/standard/spec/set/all/error_spec.rb +1 -1
  457. data/mod/standard/spec/set/type/cardtype_spec.rb +4 -3
  458. data/mod/standard/spec/set/type/number_spec.rb +1 -1
  459. data/mod/standard/spec/set/type/phrase_spec.rb +1 -1
  460. data/mod/standard/spec/set/type/toggle_spec.rb +3 -4
  461. data/mod/standard/spec/set/type/uri_spec.rb +1 -1
  462. data/mod/tinymce_editor/lib/javascript/script_tinymce.js +2 -2
  463. data/mod/tinymce_editor/lib/javascript/script_tinymce_config.js.coffee +4 -2
  464. data/mod/tinymce_editor/public/assets/tinymce/jquery.tinymce.min.js +1 -1
  465. data/mod/tinymce_editor/public/assets/tinymce/plugins/advlist/plugin.min.js +2 -2
  466. data/mod/tinymce_editor/public/assets/tinymce/plugins/anchor/plugin.min.js +2 -2
  467. data/mod/tinymce_editor/public/assets/tinymce/plugins/autolink/plugin.min.js +2 -2
  468. data/mod/tinymce_editor/public/assets/tinymce/plugins/autoresize/plugin.min.js +2 -2
  469. data/mod/tinymce_editor/public/assets/tinymce/plugins/autosave/plugin.min.js +2 -2
  470. data/mod/tinymce_editor/public/assets/tinymce/plugins/bbcode/plugin.min.js +2 -2
  471. data/mod/tinymce_editor/public/assets/tinymce/plugins/charmap/plugin.min.js +2 -2
  472. data/mod/tinymce_editor/public/assets/tinymce/plugins/code/plugin.min.js +2 -2
  473. data/mod/tinymce_editor/public/assets/tinymce/plugins/codesample/plugin.min.js +2 -2
  474. data/mod/tinymce_editor/public/assets/tinymce/plugins/colorpicker/plugin.min.js +2 -2
  475. data/mod/tinymce_editor/public/assets/tinymce/plugins/contextmenu/plugin.min.js +2 -2
  476. data/mod/tinymce_editor/public/assets/tinymce/plugins/directionality/plugin.min.js +2 -2
  477. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/js/emojis.js +8941 -8941
  478. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/plugin.min.js +2 -2
  479. data/mod/tinymce_editor/public/assets/tinymce/plugins/fullpage/plugin.min.js +2 -2
  480. data/mod/tinymce_editor/public/assets/tinymce/plugins/fullscreen/plugin.min.js +2 -2
  481. data/mod/tinymce_editor/public/assets/tinymce/plugins/help/plugin.min.js +2 -2
  482. data/mod/tinymce_editor/public/assets/tinymce/plugins/hr/plugin.min.js +2 -2
  483. data/mod/tinymce_editor/public/assets/tinymce/plugins/image/plugin.min.js +2 -2
  484. data/mod/tinymce_editor/public/assets/tinymce/plugins/imagetools/plugin.min.js +2 -2
  485. data/mod/tinymce_editor/public/assets/tinymce/plugins/importcss/plugin.min.js +2 -2
  486. data/mod/tinymce_editor/public/assets/tinymce/plugins/insertdatetime/plugin.min.js +2 -2
  487. data/mod/tinymce_editor/public/assets/tinymce/plugins/legacyoutput/plugin.min.js +2 -2
  488. data/mod/tinymce_editor/public/assets/tinymce/plugins/link/plugin.min.js +2 -2
  489. data/mod/tinymce_editor/public/assets/tinymce/plugins/lists/plugin.min.js +2 -2
  490. data/mod/tinymce_editor/public/assets/tinymce/plugins/media/plugin.min.js +2 -2
  491. data/mod/tinymce_editor/public/assets/tinymce/plugins/nonbreaking/plugin.min.js +2 -2
  492. data/mod/tinymce_editor/public/assets/tinymce/plugins/noneditable/plugin.min.js +2 -2
  493. data/mod/tinymce_editor/public/assets/tinymce/plugins/pagebreak/plugin.min.js +2 -2
  494. data/mod/tinymce_editor/public/assets/tinymce/plugins/paste/plugin.min.js +2 -2
  495. data/mod/tinymce_editor/public/assets/tinymce/plugins/preview/plugin.min.js +2 -2
  496. data/mod/tinymce_editor/public/assets/tinymce/plugins/print/plugin.min.js +2 -2
  497. data/mod/tinymce_editor/public/assets/tinymce/plugins/quickbars/plugin.min.js +2 -2
  498. data/mod/tinymce_editor/public/assets/tinymce/plugins/save/plugin.min.js +2 -2
  499. data/mod/tinymce_editor/public/assets/tinymce/plugins/searchreplace/plugin.min.js +2 -2
  500. data/mod/tinymce_editor/public/assets/tinymce/plugins/spellchecker/plugin.min.js +2 -2
  501. data/mod/tinymce_editor/public/assets/tinymce/plugins/tabfocus/plugin.min.js +2 -2
  502. data/mod/tinymce_editor/public/assets/tinymce/plugins/table/plugin.min.js +2 -2
  503. data/mod/tinymce_editor/public/assets/tinymce/plugins/template/plugin.min.js +2 -2
  504. data/mod/tinymce_editor/public/assets/tinymce/plugins/textcolor/plugin.min.js +2 -2
  505. data/mod/tinymce_editor/public/assets/tinymce/plugins/textpattern/plugin.min.js +2 -2
  506. data/mod/tinymce_editor/public/assets/tinymce/plugins/toc/plugin.min.js +2 -2
  507. data/mod/tinymce_editor/public/assets/tinymce/plugins/visualblocks/plugin.min.js +2 -2
  508. data/mod/tinymce_editor/public/assets/tinymce/plugins/visualchars/plugin.min.js +2 -2
  509. data/mod/tinymce_editor/public/assets/tinymce/plugins/wordcount/plugin.min.js +2 -2
  510. data/mod/tinymce_editor/public/assets/tinymce/skins/content/default/content.min.css +1 -1
  511. data/mod/tinymce_editor/public/assets/tinymce/skins/content/document/content.min.css +1 -1
  512. data/mod/tinymce_editor/public/assets/tinymce/skins/content/writer/content.min.css +1 -1
  513. data/mod/tinymce_editor/public/assets/tinymce/skins/ui/oxide-dark/content.inline.min.css +1 -1
  514. data/mod/tinymce_editor/public/assets/tinymce/skins/ui/oxide-dark/content.min.css +1 -1
  515. data/mod/tinymce_editor/public/assets/tinymce/skins/ui/oxide-dark/skin.min.css +1 -1
  516. data/mod/tinymce_editor/public/assets/tinymce/skins/ui/oxide/content.inline.min.css +1 -1
  517. data/mod/tinymce_editor/public/assets/tinymce/skins/ui/oxide/content.min.css +1 -1
  518. data/mod/tinymce_editor/public/assets/tinymce/skins/ui/oxide/content.mobile.min.css +7 -1
  519. data/mod/tinymce_editor/public/assets/tinymce/skins/ui/oxide/skin.min.css +1 -1
  520. data/mod/tinymce_editor/public/assets/tinymce/skins/ui/oxide/skin.mobile.min.css +7 -1
  521. data/mod/tinymce_editor/public/assets/tinymce/themes/mobile/theme.min.js +2 -2
  522. data/mod/tinymce_editor/public/assets/tinymce/themes/silver/theme.min.js +2 -2
  523. data/mod/tinymce_editor/public/assets/tinymce/tinymce.min.js +2 -2
  524. data/mod/tinymce_editor/set/self/tiny_mce.rb +7 -0
  525. metadata +147 -119
  526. data/db/migrate_core_cards/20190710090207_homepage_tweaks.rb +0 -12
  527. data/db/migrate_core_cards/data/cards/eagle-description +0 -1
  528. data/mod/account/set/right/token.rb +0 -54
  529. data/mod/account/spec/set/right/token_spec.rb +0 -23
  530. data/mod/bootstrap/set/abstract/bootswatch_theme/thumbnail.haml +0 -10
  531. data/mod/date/vendor/tempusdominus/src/nuget/NuGet.exe +0 -0
  532. data/mod/date/vendor/tempusdominus/src/nuget/Tempus.Dominus.Bootstrap.4.nuspec +0 -29
  533. data/mod/rules/set/rule/table.rb +0 -27
  534. data/mod/rules/set/rule/table_row.rb +0 -63
  535. data/mod/rules/set/type/set/html_views/nest_rules.rb +0 -14
  536. data/mod/rules/set/type/set/html_views/rules_bridge.rb +0 -21
  537. data/mod/rules/set/type/set/html_views/rules_table.haml +0 -11
  538. data/mod/rules/set/type/set/html_views/template/template_editor.haml +0 -6
  539. data/mod/rules/spec/set/rule/table_row_spec.rb +0 -9
  540. data/mod/rules/spec/set/rule/table_spec.rb +0 -15
  541. data/mod/settings/set/right/add_help.rb +0 -1
  542. data/mod/settings/set/self/accountable.rb +0 -3
  543. data/mod/settings/set/self/add_help.rb +0 -2
  544. data/mod/settings/set/self/input.rb +0 -3
  545. data/mod/settings/set/self/options.rb +0 -4
  546. data/mod/settings/set/self/options_label.rb +0 -4
  547. data/mod/settings/spec/set/right/add_help_spec.rb +0 -5
  548. data/mod/tinymce_editor/public/assets/tinymce/plugins/codesample/css/prism.css +0 -138
  549. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-cool.gif +0 -0
  550. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-cry.gif +0 -0
  551. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-embarassed.gif +0 -0
  552. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-foot-in-mouth.gif +0 -0
  553. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-frown.gif +0 -0
  554. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-innocent.gif +0 -0
  555. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-kiss.gif +0 -0
  556. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-laughing.gif +0 -0
  557. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-money-mouth.gif +0 -0
  558. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-sealed.gif +0 -0
  559. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-smile.gif +0 -0
  560. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-surprised.gif +0 -0
  561. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-tongue-out.gif +0 -0
  562. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-undecided.gif +0 -0
  563. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-wink.gif +0 -0
  564. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-yell.gif +0 -0
  565. data/mod/tinymce_editor/public/assets/tinymce/plugins/help/img/logo.png +0 -0
  566. data/mod/tinymce_editor/public/assets/tinymce/plugins/visualblocks/css/visualblocks.css +0 -154
  567. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/content.inline.min.css +0 -1
  568. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/content.min.css +0 -1
  569. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/content.mobile.min.css +0 -1
  570. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/fonts/tinymce-mobile.woff +0 -0
  571. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/fonts/tinymce-small.eot +0 -0
  572. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/fonts/tinymce-small.svg +0 -63
  573. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/fonts/tinymce-small.ttf +0 -0
  574. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/fonts/tinymce-small.woff +0 -0
  575. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/fonts/tinymce.eot +0 -0
  576. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/fonts/tinymce.svg +0 -131
  577. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/fonts/tinymce.ttf +0 -0
  578. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/fonts/tinymce.woff +0 -0
  579. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/img/anchor.gif +0 -0
  580. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/img/loader.gif +0 -0
  581. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/img/object.gif +0 -0
  582. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/img/trans.gif +0 -0
  583. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/skin.min.css +0 -1
  584. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/skin.min.css.map +0 -0
  585. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/skin.mobile.min.css +0 -2
  586. data/mod/tinymce_editor/public/assets/tinymce/themes/inlite/theme.min.js +0 -1
  587. data/mod/tinymce_editor/public/assets/tinymce/themes/modern/theme.min.js +0 -1
@@ -1,5 +1,5 @@
1
1
  /*@preserve
2
- * Tempus Dominus Bootstrap4 v5.0.0-alpha18 (https://tempusdominus.github.io/bootstrap-4/)
2
+ * Tempus Dominus Bootstrap4 v5.1.2 (https://tempusdominus.github.io/bootstrap-4/)
3
3
  * Copyright 2016-2018 Jonathan Peterson
4
4
  * Licensed under MIT (https://github.com/tempusdominus/bootstrap-3/blob/master/LICENSE)
5
5
  */
@@ -66,6 +66,8 @@
66
66
  .bootstrap-datetimepicker-widget.dropdown-menu.float-right:after {
67
67
  left: auto;
68
68
  right: 7px; }
69
+ .bootstrap-datetimepicker-widget.dropdown-menu.wider {
70
+ width: 16rem; }
69
71
  .bootstrap-datetimepicker-widget .list-unstyled {
70
72
  margin: 0; }
71
73
  .bootstrap-datetimepicker-widget a[data-action] {
@@ -16,9 +16,7 @@
16
16
  <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#144287">
17
17
  <meta name="theme-color" content="#ffffff">
18
18
  <title>Tempus Dominus - Bootstrap 4</title>
19
- <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.3/css/bootstrap.min.css" integrity="sha384-Zug+QiDoJOrZ5t4lssLdxGhVrurbmBWopoEl+M6BdEfwnCJZtKxi1KgxUyJq13dy" crossorigin="anonymous">
20
- <link rel="stylesheet" href="https://getbootstrap.com/assets/css/docs.min.css" />
21
- <!--<link rel="stylesheet" href="https://v4-alpha.getbootstrap.com/assets/css/docs.min.css" />-->
19
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha256-Md8eaeo67OiouuXAi8t/Xpd8t2+IaJezATVTWbZqSOw=" crossorigin="anonymous" />
22
20
  <link rel="stylesheet" href="https://netdna.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.css" />
23
21
  <link href="./theme/css/base.css" rel="stylesheet">
24
22
  <link href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.9.0/styles/github.min.css" rel="stylesheet">
@@ -29,17 +27,24 @@
29
27
  <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
30
28
  <![endif]-->
31
29
  <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
32
- <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
33
- <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.3/js/bootstrap.min.js" integrity="sha384-a5N7Y/aK3qNeh15eJKGWxsqtnX/wWdSZSKp+81YjTmS15nvnvxKHuzaWwXHDli+4" crossorigin="anonymous"></script>
34
- <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.19.4/moment-with-locales.min.js"></script>
35
- <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.14/moment-timezone-with-data-2012-2022.min.js"></script>
30
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha256-98vAGjEDGN79TjHkYWVD4s87rvWkdWLHPs5MC3FvFX4=" crossorigin="anonymous"></script>
31
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/js/bootstrap.min.js" integrity="sha256-xaF9RpdtRxzwYMWg4ldJoyPWqyDPCRD0Cv7YEEe6Ie8=" crossorigin="anonymous"></script>
32
+ <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment-with-locales.min.js"></script>
33
+ <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.21/moment-timezone-with-data-2012-2022.min.js"></script>
36
34
  <script>var base_url = '.';</script>
37
- <!--<script data-main="./mkdocs/js/search.js" src="./mkdocs/js/require.js"></script>-->
35
+
38
36
  <script src="./theme/js/base.js"></script>
37
+
38
+
39
39
  <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.9.0/highlight.min.js"></script>
40
+
41
+
40
42
  <script src="./theme/js/tempusdominus-bootstrap-4.js"></script>
41
- <script src="./search/require.js"></script>
42
- <script src="./search/search.js"></script>
43
+
44
+
45
+
46
+
47
+
43
48
  </head>
44
49
 
45
50
  <body class="bd-home" >
@@ -122,13 +127,12 @@
122
127
  </ul>
123
128
  </header>
124
129
 
125
-
130
+
126
131
  <main class="bd-masthead" id="content" role="main">
127
132
  <div class="container">
128
133
  <div class="row align-items-center">
129
134
  <div class="col-6 mx-auto col-md-6 order-md-2">
130
- <!--img class="img-fluid mb-3 mb-md-0" src="/assets/img/bootstrap-stack.png" alt="" width="1024" height="860"-->
131
- ![Tempus Dominus](android-chrome-256x256.png)
135
+ <img class="img-fluid mb-3 mb-md-0" src="android-chrome-256x256.png" alt="" width="256" height="256">
132
136
  </div>
133
137
  <div class="col-md-6 order-md-1 text-center text-md-left pr-md-5">
134
138
  <h1 class="mb-3">Tempus Dominus</h1>
@@ -141,7 +145,8 @@
141
145
  <a href="Installing/" class="btn btn-lg btn-outline-secondary">Download</a>
142
146
  </div>
143
147
  <p class="text-muted mb-0">
144
- Currently v5.0.0-alpha.18
148
+ Currently v5.0.1
149
+ <script async type="text/javascript" src="//cdn.carbonads.com/carbon.js?serve=CK7DC5QN&placement=eonasdangithubio" id="_carbonads_js"></script>
145
150
  </p>
146
151
  </div>
147
152
  </div>
@@ -167,38 +172,18 @@ npm i tempusdominus-bootstrap-4
167
172
  <p>When you only need to include Tempus Dominus's compiled CSS or JS, you can use CDNJS.</p>
168
173
  <pre>
169
174
  <code>
170
- &lt;script type=&quot;text/javascript&quot; src=&quot;https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.0-alpha18/js/tempusdominus-bootstrap-4.min.js&quot;&gt;&lt;/script&gt;
171
- &lt;link rel=&quot;stylesheet&quot; href=&quot;https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.0-alpha18/css/tempusdominus-bootstrap-4.min.css&quot; /&gt;
175
+ &lt;script type=&quot;text/javascript&quot; src=&quot;https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;
176
+ &lt;script type=&quot;text/javascript&quot; src=&quot;https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js&quot;&gt;&lt;/script&gt;
177
+ &lt;script type=&quot;text/javascript&quot; src=&quot;https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.1/js/tempusdominus-bootstrap-4.min.js&quot;&gt;&lt;/script&gt;
178
+ &lt;link rel=&quot;stylesheet&quot; href=&quot;https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.1/css/tempusdominus-bootstrap-4.min.css&quot; /&gt;
172
179
  </code>
173
180
  </pre>
174
181
  <hr class="half-rule"/>
175
182
  <a class="btn btn-outline-primary" href="/Functions">Explore the docs</a>
176
183
  </div>
177
184
  </div>
178
- <div class="modal" id="mkdocs_search_modal" tabindex="-1" role="dialog" aria-labelledby="Search Modal" aria-hidden="true">
179
- <div class="modal-dialog">
180
- <div class="modal-content">
181
- <div class="modal-header">
182
- <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
183
- <h4 class="modal-title" id="exampleModalLabel">Search</h4>
184
- </div>
185
- <div class="modal-body">
186
- <p>
187
- From here you can search these documents. Enter
188
- your search terms below.
189
- </p>
190
- <form role="form">
191
- <div class="form-group">
192
- <input type="text" class="form-control" placeholder="Search..." id="mkdocs-search-query">
193
- </div>
194
- </form>
195
- <div id="mkdocs-search-results"></div>
196
- </div>
197
- <div class="modal-footer">
198
- </div>
199
- </div>
200
- </div>
201
- </div>
185
+
186
+
202
187
  <script>
203
188
  if (top !== self) { top.location.replace(self.location.href); }
204
189
  if (location.hostname !== "localhost" && location.hostname !== "127.0.0.1") {
@@ -212,7 +197,7 @@ npm i tempusdominus-bootstrap-4
212
197
  m = s.getElementsByTagName(o)[0];
213
198
  a.async = 1;
214
199
  a.src = g;
215
- m.parentNode.insertBefore(a, m)
200
+ m.parentNode.insertBefore(a, m);
216
201
  })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
217
202
 
218
203
  ga('create', 'UA-47462200-1', 'eonasdan.github.io');
@@ -1,5 +1,5 @@
1
1
  /*@preserve
2
- * Tempus Dominus Bootstrap4 v5.0.0-alpha18 (https://tempusdominus.github.io/bootstrap-4/)
2
+ * Tempus Dominus Bootstrap4 v5.1.2 (https://tempusdominus.github.io/bootstrap-4/)
3
3
  * Copyright 2016-2018 Jonathan Peterson
4
4
  * Licensed under MIT (https://github.com/tempusdominus/bootstrap-3/blob/master/LICENSE)
5
5
  */
@@ -38,13 +38,11 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
38
38
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
39
39
 
40
40
  // ReSharper disable once InconsistentNaming
41
- var DateTimePicker = function ($) {
41
+ var DateTimePicker = function ($, moment) {
42
42
  // ReSharper disable InconsistentNaming
43
43
  var NAME = 'datetimepicker',
44
- VERSION = '5.0.0-alpha7',
45
44
  DATA_KEY = '' + NAME,
46
45
  EVENT_KEY = '.' + DATA_KEY,
47
- EMIT_EVENT_KEY = DATA_KEY + '.',
48
46
  DATA_API_KEY = '.data-api',
49
47
  Selector = {
50
48
  DATA_TOGGLE: '[data-toggle="' + DATA_KEY + '"]'
@@ -60,12 +58,63 @@ var DateTimePicker = function ($) {
60
58
  FOCUS: 'focus' + EVENT_KEY,
61
59
  CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,
62
60
  //emitted
63
- UPDATE: EMIT_EVENT_KEY + 'update',
64
- ERROR: EMIT_EVENT_KEY + 'error',
65
- HIDE: EMIT_EVENT_KEY + 'hide',
66
- SHOW: EMIT_EVENT_KEY + 'show'
61
+ UPDATE: 'update' + EVENT_KEY,
62
+ ERROR: 'error' + EVENT_KEY,
63
+ HIDE: 'hide' + EVENT_KEY,
64
+ SHOW: 'show' + EVENT_KEY
67
65
  },
68
- Default = {
66
+ DatePickerModes = [{
67
+ CLASS_NAME: 'days',
68
+ NAV_FUNCTION: 'M',
69
+ NAV_STEP: 1
70
+ }, {
71
+ CLASS_NAME: 'months',
72
+ NAV_FUNCTION: 'y',
73
+ NAV_STEP: 1
74
+ }, {
75
+ CLASS_NAME: 'years',
76
+ NAV_FUNCTION: 'y',
77
+ NAV_STEP: 10
78
+ }, {
79
+ CLASS_NAME: 'decades',
80
+ NAV_FUNCTION: 'y',
81
+ NAV_STEP: 100
82
+ }],
83
+ KeyMap = {
84
+ 'up': 38,
85
+ 38: 'up',
86
+ 'down': 40,
87
+ 40: 'down',
88
+ 'left': 37,
89
+ 37: 'left',
90
+ 'right': 39,
91
+ 39: 'right',
92
+ 'tab': 9,
93
+ 9: 'tab',
94
+ 'escape': 27,
95
+ 27: 'escape',
96
+ 'enter': 13,
97
+ 13: 'enter',
98
+ 'pageUp': 33,
99
+ 33: 'pageUp',
100
+ 'pageDown': 34,
101
+ 34: 'pageDown',
102
+ 'shift': 16,
103
+ 16: 'shift',
104
+ 'control': 17,
105
+ 17: 'control',
106
+ 'space': 32,
107
+ 32: 'space',
108
+ 't': 84,
109
+ 84: 't',
110
+ 'delete': 46,
111
+ 46: 'delete'
112
+ },
113
+ ViewModes = ['times', 'days', 'months', 'years', 'decades'],
114
+ keyState = {},
115
+ keyPressHandled = {};
116
+
117
+ var Default = {
69
118
  timeZone: '',
70
119
  format: false,
71
120
  dayViewHeaderFormat: 'MMMM YYYY',
@@ -75,7 +124,7 @@ var DateTimePicker = function ($) {
75
124
  maxDate: false,
76
125
  useCurrent: true,
77
126
  collapse: true,
78
- locale: window.moment.locale(),
127
+ locale: moment.locale(),
79
128
  defaultDate: false,
80
129
  disabledDates: false,
81
130
  enabledDates: false,
@@ -230,6 +279,9 @@ var DateTimePicker = function ($) {
230
279
  return true;
231
280
  },
232
281
  enter: function enter() {
282
+ if (!this.widget) {
283
+ return false;
284
+ }
233
285
  this.hide();
234
286
  return true;
235
287
  },
@@ -250,6 +302,9 @@ var DateTimePicker = function ($) {
250
302
  return true;
251
303
  },
252
304
  t: function t() {
305
+ if (!this.widget) {
306
+ return false;
307
+ }
253
308
  this.date(this.getMoment());
254
309
  return true;
255
310
  },
@@ -269,59 +324,8 @@ var DateTimePicker = function ($) {
269
324
  viewDate: false,
270
325
  allowMultidate: false,
271
326
  multidateSeparator: ','
272
- },
273
- DatePickerModes = [{
274
- CLASS_NAME: 'days',
275
- NAV_FUNCTION: 'M',
276
- NAV_STEP: 1
277
- }, {
278
- CLASS_NAME: 'months',
279
- NAV_FUNCTION: 'y',
280
- NAV_STEP: 1
281
- }, {
282
- CLASS_NAME: 'years',
283
- NAV_FUNCTION: 'y',
284
- NAV_STEP: 10
285
- }, {
286
- CLASS_NAME: 'decades',
287
- NAV_FUNCTION: 'y',
288
- NAV_STEP: 100
289
- }],
290
- KeyMap = {
291
- 'up': 38,
292
- 38: 'up',
293
- 'down': 40,
294
- 40: 'down',
295
- 'left': 37,
296
- 37: 'left',
297
- 'right': 39,
298
- 39: 'right',
299
- 'tab': 9,
300
- 9: 'tab',
301
- 'escape': 27,
302
- 27: 'escape',
303
- 'enter': 13,
304
- 13: 'enter',
305
- 'pageUp': 33,
306
- 33: 'pageUp',
307
- 'pageDown': 34,
308
- 34: 'pageDown',
309
- 'shift': 16,
310
- 16: 'shift',
311
- 'control': 17,
312
- 17: 'control',
313
- 'space': 32,
314
- 32: 'space',
315
- 't': 84,
316
- 84: 't',
317
- 'delete': 46,
318
- 46: 'delete'
319
- },
320
- ViewModes = ['times', 'days', 'months', 'years', 'decades'],
321
- keyState = {},
322
- keyPressHandled = {};
327
+ };
323
328
 
324
- var MinViewModeNumber = 0;
325
329
  // ReSharper restore InconsistentNaming
326
330
 
327
331
  // ReSharper disable once DeclarationHides
@@ -346,6 +350,7 @@ var DateTimePicker = function ($) {
346
350
  this.actualFormat = null;
347
351
  this.parseFormats = null;
348
352
  this.currentViewMode = null;
353
+ this.MinViewModeNumber = 0;
349
354
 
350
355
  this._int();
351
356
  }
@@ -380,9 +385,9 @@ var DateTimePicker = function ($) {
380
385
  this._initFormatting();
381
386
 
382
387
  if (this.input !== undefined && this.input.is('input') && this.input.val().trim().length !== 0) {
383
- this._setValue(this._parseInputDate(this.input.val().trim()));
388
+ this._setValue(this._parseInputDate(this.input.val().trim()), 0);
384
389
  } else if (this._options.defaultDate && this.input !== undefined && this.input.attr('placeholder') === undefined) {
385
- this._setValue(this._options.defaultDate);
390
+ this._setValue(this._options.defaultDate, 0);
386
391
  }
387
392
  if (this._options.inline) {
388
393
  this.show();
@@ -499,7 +504,7 @@ var DateTimePicker = function ($) {
499
504
  };
500
505
 
501
506
  DateTimePicker.prototype._hasTimeZone = function _hasTimeZone() {
502
- return window.moment.tz !== undefined && this._options.timeZone !== undefined && this._options.timeZone !== null && this._options.timeZone !== '';
507
+ return moment.tz !== undefined && this._options.timeZone !== undefined && this._options.timeZone !== null && this._options.timeZone !== '';
503
508
  };
504
509
 
505
510
  DateTimePicker.prototype._isEnabled = function _isEnabled(granularity) {
@@ -520,6 +525,9 @@ var DateTimePicker = function ($) {
520
525
  return this.actualFormat.indexOf('m') !== -1;
521
526
  case 's':
522
527
  return this.actualFormat.indexOf('s') !== -1;
528
+ case 'a':
529
+ case 'A':
530
+ return this.actualFormat.toLowerCase().indexOf('a') !== -1;
523
531
  default:
524
532
  return false;
525
533
  }
@@ -575,7 +583,7 @@ var DateTimePicker = function ($) {
575
583
  return;
576
584
  }
577
585
  if (dir) {
578
- this.currentViewMode = Math.max(MinViewModeNumber, Math.min(3, this.currentViewMode + dir));
586
+ this.currentViewMode = Math.max(this.MinViewModeNumber, Math.min(3, this.currentViewMode + dir));
579
587
  }
580
588
  this.widget.find('.datepicker > div').hide().filter('.datepicker-' + DatePickerModes[this.currentViewMode].CLASS_NAME).show();
581
589
  };
@@ -638,7 +646,7 @@ var DateTimePicker = function ($) {
638
646
 
639
647
  DateTimePicker.prototype._parseInputDate = function _parseInputDate(inputDate) {
640
648
  if (this._options.parseInputDate === undefined) {
641
- if (!window.moment.isMoment(inputDate)) {
649
+ if (!moment.isMoment(inputDate)) {
642
650
  inputDate = this.getMoment(inputDate);
643
651
  }
644
652
  } else {
@@ -690,7 +698,7 @@ var DateTimePicker = function ($) {
690
698
  }
691
699
 
692
700
  if (handler) {
693
- if (handler.call(this.widget)) {
701
+ if (handler.call(this)) {
694
702
  e.stopPropagation();
695
703
  e.preventDefault();
696
704
  }
@@ -751,16 +759,16 @@ var DateTimePicker = function ($) {
751
759
  this.use24Hours = this.actualFormat.toLowerCase().indexOf('a') < 1 && this.actualFormat.replace(/\[.*?]/g, '').indexOf('h') < 1;
752
760
 
753
761
  if (this._isEnabled('y')) {
754
- MinViewModeNumber = 2;
762
+ this.MinViewModeNumber = 2;
755
763
  }
756
764
  if (this._isEnabled('M')) {
757
- MinViewModeNumber = 1;
765
+ this.MinViewModeNumber = 1;
758
766
  }
759
767
  if (this._isEnabled('d')) {
760
- MinViewModeNumber = 0;
768
+ this.MinViewModeNumber = 0;
761
769
  }
762
770
 
763
- this.currentViewMode = Math.max(MinViewModeNumber, this.currentViewMode);
771
+ this.currentViewMode = Math.max(this.MinViewModeNumber, this.currentViewMode);
764
772
 
765
773
  if (!this.unset) {
766
774
  this._setValue(this._dates[0], 0);
@@ -782,13 +790,13 @@ var DateTimePicker = function ($) {
782
790
  var returnMoment = void 0;
783
791
 
784
792
  if (d === undefined || d === null) {
785
- returnMoment = window.moment(); //TODO should this use format? and locale?
793
+ returnMoment = moment(); //TODO should this use format? and locale?
786
794
  } else if (this._hasTimeZone()) {
787
795
  // There is a string to parse and a default time zone
788
796
  // parse with the tz function which takes a default time zone if it is not in the format string
789
- returnMoment = window.moment.tz(d, this.parseFormats, this._options.useStrict, this._options.timeZone);
797
+ returnMoment = moment.tz(d, this.parseFormats, this._options.locale, this._options.useStrict, this._options.timeZone);
790
798
  } else {
791
- returnMoment = window.moment(d, this.parseFormats, this._options.useStrict);
799
+ returnMoment = moment(d, this.parseFormats, this._options.locale, this._options.useStrict);
792
800
  }
793
801
 
794
802
  if (this._hasTimeZone()) {
@@ -842,7 +850,7 @@ var DateTimePicker = function ($) {
842
850
  }
843
851
  }
844
852
 
845
- if (newDate !== null && typeof newDate !== 'string' && !window.moment.isMoment(newDate) && !(newDate instanceof Date)) {
853
+ if (newDate !== null && typeof newDate !== 'string' && !moment.isMoment(newDate) && !(newDate instanceof Date)) {
846
854
  throw new TypeError('date() parameter must be one of [null, string, moment or Date]');
847
855
  }
848
856
 
@@ -850,9 +858,6 @@ var DateTimePicker = function ($) {
850
858
  };
851
859
 
852
860
  DateTimePicker.prototype.format = function format(newFormat) {
853
- ///<summary>test su</summary>
854
- ///<param name="newFormat">info about para</param>
855
- ///<returns type="string|boolean">returns foo</returns>
856
861
  if (arguments.length === 0) {
857
862
  return this._options.format;
858
863
  }
@@ -1093,10 +1098,12 @@ var DateTimePicker = function ($) {
1093
1098
  return this._options.locale;
1094
1099
  }
1095
1100
 
1096
- if (!window.moment.localeData(_locale)) {
1101
+ if (!moment.localeData(_locale)) {
1097
1102
  throw new TypeError('locale() locale ' + _locale + ' is not loaded from moment locales!');
1098
1103
  }
1099
1104
 
1105
+ this._options.locale = _locale;
1106
+
1100
1107
  for (var i = 0; i < this._dates.length; i++) {
1101
1108
  this._dates[i].locale(this._options.locale);
1102
1109
  }
@@ -1228,7 +1235,7 @@ var DateTimePicker = function ($) {
1228
1235
  }
1229
1236
 
1230
1237
  this._options.viewMode = _viewMode;
1231
- this.currentViewMode = Math.max(DateTimePicker.ViewModes.indexOf(_viewMode) - 1, DateTimePicker.MinViewModeNumber);
1238
+ this.currentViewMode = Math.max(DateTimePicker.ViewModes.indexOf(_viewMode) - 1, this.MinViewModeNumber);
1232
1239
 
1233
1240
  this._showMode();
1234
1241
  };
@@ -1465,7 +1472,7 @@ var DateTimePicker = function ($) {
1465
1472
  return true;
1466
1473
  }
1467
1474
 
1468
- if (typeof newDate !== 'string' && !window.moment.isMoment(newDate) && !(newDate instanceof Date)) {
1475
+ if (typeof newDate !== 'string' && !moment.isMoment(newDate) && !(newDate instanceof Date)) {
1469
1476
  throw new TypeError('viewDate() parameter must be one of [string, moment or Date]');
1470
1477
  }
1471
1478
 
@@ -1503,16 +1510,6 @@ var DateTimePicker = function ($) {
1503
1510
  * @return {string}
1504
1511
  */
1505
1512
 
1506
- }, {
1507
- key: 'VERSION',
1508
- get: function get() {
1509
- return VERSION;
1510
- }
1511
-
1512
- /**
1513
- * @return {string}
1514
- */
1515
-
1516
1513
  }, {
1517
1514
  key: 'DATA_KEY',
1518
1515
  get: function get() {
@@ -1548,16 +1545,6 @@ var DateTimePicker = function ($) {
1548
1545
  get: function get() {
1549
1546
  return ViewModes;
1550
1547
  }
1551
-
1552
- /**
1553
- * @return {number}
1554
- */
1555
-
1556
- }, {
1557
- key: 'MinViewModeNumber',
1558
- get: function get() {
1559
- return MinViewModeNumber;
1560
- }
1561
1548
  }, {
1562
1549
  key: 'Event',
1563
1550
  get: function get() {
@@ -1572,6 +1559,9 @@ var DateTimePicker = function ($) {
1572
1559
  key: 'Default',
1573
1560
  get: function get() {
1574
1561
  return Default;
1562
+ },
1563
+ set: function set(value) {
1564
+ Default = value;
1575
1565
  }
1576
1566
  }, {
1577
1567
  key: 'ClassName',
@@ -1584,7 +1574,7 @@ var DateTimePicker = function ($) {
1584
1574
  }();
1585
1575
 
1586
1576
  return DateTimePicker;
1587
- }(jQuery);
1577
+ }(jQuery, moment);
1588
1578
 
1589
1579
  //noinspection JSUnusedGlobalSymbols
1590
1580
  /* global DateTimePicker */
@@ -1754,12 +1744,21 @@ var TempusDominusBootstrap4 = function ($) {
1754
1744
  }).append($('<span>').addClass(this._options.icons.today))));
1755
1745
  }
1756
1746
  if (!this._options.sideBySide && this._hasDate() && this._hasTime()) {
1747
+ var title = void 0,
1748
+ icon = void 0;
1749
+ if (this._options.viewMode === 'times') {
1750
+ title = this._options.tooltips.selectDate;
1751
+ icon = this._options.icons.date;
1752
+ } else {
1753
+ title = this._options.tooltips.selectTime;
1754
+ icon = this._options.icons.time;
1755
+ }
1757
1756
  row.push($('<td>').append($('<a>').attr({
1758
1757
  href: '#',
1759
1758
  tabindex: '-1',
1760
1759
  'data-action': 'togglePicker',
1761
- 'title': this._options.tooltips.selectTime
1762
- }).append($('<span>').addClass(this._options.icons.time))));
1760
+ 'title': title
1761
+ }).append($('<span>').addClass(icon))));
1763
1762
  }
1764
1763
  if (this._options.buttons.showClear) {
1765
1764
  row.push($('<td>').append($('<a>').attr({
@@ -1814,13 +1813,13 @@ var TempusDominusBootstrap4 = function ($) {
1814
1813
  content.append(toolbar);
1815
1814
  }
1816
1815
  if (this._hasDate()) {
1817
- content.append($('<li>').addClass(this._options.collapse && this._hasTime() ? 'collapse' : '').addClass(this._options.collapse && this._hasTime() && this._options.viewMode === 'time' ? '' : 'show').append(dateView));
1816
+ content.append($('<li>').addClass(this._options.collapse && this._hasTime() ? 'collapse' : '').addClass(this._options.collapse && this._hasTime() && this._options.viewMode === 'times' ? '' : 'show').append(dateView));
1818
1817
  }
1819
1818
  if (this._options.toolbarPlacement === 'default') {
1820
1819
  content.append(toolbar);
1821
1820
  }
1822
1821
  if (this._hasTime()) {
1823
- content.append($('<li>').addClass(this._options.collapse && this._hasDate() ? 'collapse' : '').addClass(this._options.collapse && this._hasDate() && this._options.viewMode === 'time' ? 'show' : '').append(timeView));
1822
+ content.append($('<li>').addClass(this._options.collapse && this._hasDate() ? 'collapse' : '').addClass(this._options.collapse && this._hasDate() && this._options.viewMode === 'times' ? 'show' : '').append(timeView));
1824
1823
  }
1825
1824
  if (this._options.toolbarPlacement === 'bottom') {
1826
1825
  content.append(toolbar);
@@ -1988,12 +1987,12 @@ var TempusDominusBootstrap4 = function ($) {
1988
1987
  yearsViewHeader.eq(2).addClass('disabled');
1989
1988
  }
1990
1989
 
1991
- html += '<span data-action="selectYear" class="year old">' + (startYear.year() - 1) + '</span>';
1990
+ html += '<span data-action="selectYear" class="year old' + (!this._isValid(startYear, 'y') ? ' disabled' : '') + '">' + (startYear.year() - 1) + '</span>';
1992
1991
  while (!startYear.isAfter(endYear, 'y')) {
1993
1992
  html += '<span data-action="selectYear" class="year' + (startYear.isSame(this._getLastPickedDate(), 'y') && !this.unset ? ' active' : '') + (!this._isValid(startYear, 'y') ? ' disabled' : '') + '">' + startYear.year() + '</span>';
1994
1993
  startYear.add(1, 'y');
1995
1994
  }
1996
- html += '<span data-action="selectYear" class="year old">' + startYear.year() + '</span>';
1995
+ html += '<span data-action="selectYear" class="year old' + (!this._isValid(startYear, 'y') ? ' disabled' : '') + '">' + startYear.year() + '</span>';
1997
1996
 
1998
1997
  yearsView.find('td').html(html);
1999
1998
  };
@@ -2233,7 +2232,7 @@ var TempusDominusBootstrap4 = function ($) {
2233
2232
  {
2234
2233
  var month = $(e.target).closest('tbody').find('span').index($(e.target));
2235
2234
  this._viewDate.month(month);
2236
- if (this.currentViewMode === DateTimePicker.MinViewModeNumber) {
2235
+ if (this.currentViewMode === this.MinViewModeNumber) {
2237
2236
  this._setValue(lastPicked.clone().year(this._viewDate.year()).month(this._viewDate.month()), this._getLastPickedDateIndex());
2238
2237
  if (!this._options.inline) {
2239
2238
  this.hide();
@@ -2249,7 +2248,7 @@ var TempusDominusBootstrap4 = function ($) {
2249
2248
  {
2250
2249
  var year = parseInt($(e.target).text(), 10) || 0;
2251
2250
  this._viewDate.year(year);
2252
- if (this.currentViewMode === DateTimePicker.MinViewModeNumber) {
2251
+ if (this.currentViewMode === this.MinViewModeNumber) {
2253
2252
  this._setValue(lastPicked.clone().year(this._viewDate.year()), this._getLastPickedDateIndex());
2254
2253
  if (!this._options.inline) {
2255
2254
  this.hide();
@@ -2265,7 +2264,7 @@ var TempusDominusBootstrap4 = function ($) {
2265
2264
  {
2266
2265
  var _year = parseInt($(e.target).data('selection'), 10) || 0;
2267
2266
  this._viewDate.year(_year);
2268
- if (this.currentViewMode === DateTimePicker.MinViewModeNumber) {
2267
+ if (this.currentViewMode === this.MinViewModeNumber) {
2269
2268
  this._setValue(lastPicked.clone().year(this._viewDate.year()), this._getLastPickedDateIndex());
2270
2269
  if (!this._options.inline) {
2271
2270
  this.hide();
@@ -2286,8 +2285,21 @@ var TempusDominusBootstrap4 = function ($) {
2286
2285
  if ($(e.target).is('.new')) {
2287
2286
  day.add(1, 'M');
2288
2287
  }
2289
- this._setValue(day.date(parseInt($(e.target).text(), 10)), this._getLastPickedDateIndex());
2290
- if (!this._hasTime() && !this._options.keepOpen && !this._options.inline) {
2288
+
2289
+ var selectDate = day.date(parseInt($(e.target).text(), 10)),
2290
+ index = 0;
2291
+ if (this._options.allowMultidate) {
2292
+ index = this._datesFormatted.indexOf(selectDate.format('YYYY-MM-DD'));
2293
+ if (index !== -1) {
2294
+ this._setValue(null, index); //deselect multidate
2295
+ } else {
2296
+ this._setValue(selectDate, this._getLastPickedDateIndex() + 1);
2297
+ }
2298
+ } else {
2299
+ this._setValue(selectDate, this._getLastPickedDateIndex());
2300
+ }
2301
+
2302
+ if (!this._hasTime() && !this._options.keepOpen && !this._options.inline && !this._options.allowMultidate) {
2291
2303
  this.hide();
2292
2304
  }
2293
2305
  break;
@@ -2751,7 +2763,7 @@ var TempusDominusBootstrap4 = function ($) {
2751
2763
  if (!config._options.allowInputToggle) {
2752
2764
  return;
2753
2765
  }
2754
- TempusDominusBootstrap4._jQueryInterface.call($target, config, event);
2766
+ TempusDominusBootstrap4._jQueryInterface.call($target, 'show', event);
2755
2767
  });
2756
2768
 
2757
2769
  $.fn[DateTimePicker.NAME] = TempusDominusBootstrap4._jQueryInterface;