card-mod-date 0.15.6 → 0.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (882) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +674 -0
  3. data/README.md +22 -0
  4. data/config/admin.yml +3 -0
  5. metadata +9 -883
  6. data/vendor/moment/CHANGELOG.md +0 -964
  7. data/vendor/moment/CONTRIBUTING.md +0 -103
  8. data/vendor/moment/FAQ.md +0 -28
  9. data/vendor/moment/Gruntfile.js +0 -255
  10. data/vendor/moment/LICENSE +0 -22
  11. data/vendor/moment/Moment.js.nuspec +0 -31
  12. data/vendor/moment/README.md +0 -55
  13. data/vendor/moment/benchmarks/add.js +0 -22
  14. data/vendor/moment/benchmarks/clone.js +0 -10
  15. data/vendor/moment/benchmarks/compare.js +0 -33
  16. data/vendor/moment/benchmarks/endOf.js +0 -22
  17. data/vendor/moment/benchmarks/fromDate.js +0 -12
  18. data/vendor/moment/benchmarks/fromDateUtc.js +0 -12
  19. data/vendor/moment/benchmarks/get.js +0 -21
  20. data/vendor/moment/benchmarks/isObjectEmpty.js +0 -67
  21. data/vendor/moment/benchmarks/load-missing.js +0 -13
  22. data/vendor/moment/benchmarks/makeDuration.js +0 -11
  23. data/vendor/moment/benchmarks/query.js +0 -40
  24. data/vendor/moment/benchmarks/set.js +0 -22
  25. data/vendor/moment/benchmarks/startOf.js +0 -22
  26. data/vendor/moment/benchmarks/subtract.js +0 -22
  27. data/vendor/moment/benchmarks/zeroFill.js +0 -43
  28. data/vendor/moment/bower.json +0 -26
  29. data/vendor/moment/component.json +0 -147
  30. data/vendor/moment/composer.json +0 -33
  31. data/vendor/moment/dist/locale/af.js +0 -71
  32. data/vendor/moment/dist/locale/ar-dz.js +0 -156
  33. data/vendor/moment/dist/locale/ar-kw.js +0 -54
  34. data/vendor/moment/dist/locale/ar-ly.js +0 -171
  35. data/vendor/moment/dist/locale/ar-ma.js +0 -55
  36. data/vendor/moment/dist/locale/ar-sa.js +0 -104
  37. data/vendor/moment/dist/locale/ar-tn.js +0 -54
  38. data/vendor/moment/dist/locale/ar.js +0 -189
  39. data/vendor/moment/dist/locale/az.js +0 -101
  40. data/vendor/moment/dist/locale/be.js +0 -141
  41. data/vendor/moment/dist/locale/bg.js +0 -87
  42. data/vendor/moment/dist/locale/bm.js +0 -52
  43. data/vendor/moment/dist/locale/bn-bd.js +0 -128
  44. data/vendor/moment/dist/locale/bn.js +0 -118
  45. data/vendor/moment/dist/locale/bo.js +0 -122
  46. data/vendor/moment/dist/locale/br.js +0 -165
  47. data/vendor/moment/dist/locale/bs.js +0 -149
  48. data/vendor/moment/dist/locale/ca.js +0 -97
  49. data/vendor/moment/dist/locale/cs.js +0 -171
  50. data/vendor/moment/dist/locale/cv.js +0 -62
  51. data/vendor/moment/dist/locale/cy.js +0 -97
  52. data/vendor/moment/dist/locale/da.js +0 -53
  53. data/vendor/moment/dist/locale/de-at.js +0 -79
  54. data/vendor/moment/dist/locale/de-ch.js +0 -78
  55. data/vendor/moment/dist/locale/de.js +0 -78
  56. data/vendor/moment/dist/locale/dv.js +0 -90
  57. data/vendor/moment/dist/locale/el.js +0 -104
  58. data/vendor/moment/dist/locale/en-au.js +0 -68
  59. data/vendor/moment/dist/locale/en-ca.js +0 -64
  60. data/vendor/moment/dist/locale/en-gb.js +0 -68
  61. data/vendor/moment/dist/locale/en-ie.js +0 -68
  62. data/vendor/moment/dist/locale/en-il.js +0 -64
  63. data/vendor/moment/dist/locale/en-in.js +0 -68
  64. data/vendor/moment/dist/locale/en-nz.js +0 -68
  65. data/vendor/moment/dist/locale/en-sg.js +0 -68
  66. data/vendor/moment/dist/locale/eo.js +0 -68
  67. data/vendor/moment/dist/locale/es-do.js +0 -104
  68. data/vendor/moment/dist/locale/es-mx.js +0 -106
  69. data/vendor/moment/dist/locale/es-us.js +0 -106
  70. data/vendor/moment/dist/locale/es.js +0 -106
  71. data/vendor/moment/dist/locale/et.js +0 -78
  72. data/vendor/moment/dist/locale/eu.js +0 -63
  73. data/vendor/moment/dist/locale/fa.js +0 -110
  74. data/vendor/moment/dist/locale/fi.js +0 -121
  75. data/vendor/moment/dist/locale/fil.js +0 -58
  76. data/vendor/moment/dist/locale/fo.js +0 -56
  77. data/vendor/moment/dist/locale/fr-ca.js +0 -69
  78. data/vendor/moment/dist/locale/fr-ch.js +0 -73
  79. data/vendor/moment/dist/locale/fr.js +0 -104
  80. data/vendor/moment/dist/locale/fy.js +0 -77
  81. data/vendor/moment/dist/locale/ga.js +0 -95
  82. data/vendor/moment/dist/locale/gd.js +0 -95
  83. data/vendor/moment/dist/locale/gl.js +0 -74
  84. data/vendor/moment/dist/locale/gom-deva.js +0 -124
  85. data/vendor/moment/dist/locale/gom-latn.js +0 -124
  86. data/vendor/moment/dist/locale/gu.js +0 -121
  87. data/vendor/moment/dist/locale/he.js +0 -94
  88. data/vendor/moment/dist/locale/hi.js +0 -119
  89. data/vendor/moment/dist/locale/hr.js +0 -154
  90. data/vendor/moment/dist/locale/hu.js +0 -118
  91. data/vendor/moment/dist/locale/hy-am.js +0 -92
  92. data/vendor/moment/dist/locale/id.js +0 -76
  93. data/vendor/moment/dist/locale/is.js +0 -139
  94. data/vendor/moment/dist/locale/it-ch.js +0 -64
  95. data/vendor/moment/dist/locale/it.js +0 -106
  96. data/vendor/moment/dist/locale/ja.js +0 -148
  97. data/vendor/moment/dist/locale/jv.js +0 -76
  98. data/vendor/moment/dist/locale/ka.js +0 -92
  99. data/vendor/moment/dist/locale/kk.js +0 -82
  100. data/vendor/moment/dist/locale/km.js +0 -102
  101. data/vendor/moment/dist/locale/kn.js +0 -123
  102. data/vendor/moment/dist/locale/ko.js +0 -75
  103. data/vendor/moment/dist/locale/ku.js +0 -118
  104. data/vendor/moment/dist/locale/ky.js +0 -84
  105. data/vendor/moment/dist/locale/lb.js +0 -135
  106. data/vendor/moment/dist/locale/lo.js +0 -65
  107. data/vendor/moment/dist/locale/lt.js +0 -123
  108. data/vendor/moment/dist/locale/lv.js +0 -93
  109. data/vendor/moment/dist/locale/me.js +0 -118
  110. data/vendor/moment/dist/locale/mi.js +0 -59
  111. data/vendor/moment/dist/locale/mk.js +0 -85
  112. data/vendor/moment/dist/locale/ml.js +0 -80
  113. data/vendor/moment/dist/locale/mn.js +0 -99
  114. data/vendor/moment/dist/locale/mr.js +0 -202
  115. data/vendor/moment/dist/locale/ms-my.js +0 -76
  116. data/vendor/moment/dist/locale/ms.js +0 -75
  117. data/vendor/moment/dist/locale/mt.js +0 -55
  118. data/vendor/moment/dist/locale/my.js +0 -91
  119. data/vendor/moment/dist/locale/nb.js +0 -61
  120. data/vendor/moment/dist/locale/ne.js +0 -120
  121. data/vendor/moment/dist/locale/nl-be.js +0 -102
  122. data/vendor/moment/dist/locale/nl.js +0 -104
  123. data/vendor/moment/dist/locale/nn.js +0 -60
  124. data/vendor/moment/dist/locale/oc-lnc.js +0 -83
  125. data/vendor/moment/dist/locale/pa-in.js +0 -121
  126. data/vendor/moment/dist/locale/pl.js +0 -139
  127. data/vendor/moment/dist/locale/pt-br.js +0 -57
  128. data/vendor/moment/dist/locale/pt.js +0 -62
  129. data/vendor/moment/dist/locale/ro.js +0 -75
  130. data/vendor/moment/dist/locale/ru.js +0 -206
  131. data/vendor/moment/dist/locale/sd.js +0 -81
  132. data/vendor/moment/dist/locale/se.js +0 -57
  133. data/vendor/moment/dist/locale/si.js +0 -68
  134. data/vendor/moment/dist/locale/sk.js +0 -144
  135. data/vendor/moment/dist/locale/sl.js +0 -170
  136. data/vendor/moment/dist/locale/sq.js +0 -65
  137. data/vendor/moment/dist/locale/sr-cyrl.js +0 -116
  138. data/vendor/moment/dist/locale/sr.js +0 -118
  139. data/vendor/moment/dist/locale/ss.js +0 -83
  140. data/vendor/moment/dist/locale/sv.js +0 -68
  141. data/vendor/moment/dist/locale/sw.js +0 -54
  142. data/vendor/moment/dist/locale/ta.js +0 -129
  143. data/vendor/moment/dist/locale/te.js +0 -86
  144. data/vendor/moment/dist/locale/tet.js +0 -68
  145. data/vendor/moment/dist/locale/tg.js +0 -116
  146. data/vendor/moment/dist/locale/th.js +0 -64
  147. data/vendor/moment/dist/locale/tk.js +0 -91
  148. data/vendor/moment/dist/locale/tl-ph.js +0 -57
  149. data/vendor/moment/dist/locale/tlh.js +0 -125
  150. data/vendor/moment/dist/locale/tr.js +0 -106
  151. data/vendor/moment/dist/locale/tzl.js +0 -89
  152. data/vendor/moment/dist/locale/tzm-latn.js +0 -53
  153. data/vendor/moment/dist/locale/tzm.js +0 -53
  154. data/vendor/moment/dist/locale/ug-cn.js +0 -110
  155. data/vendor/moment/dist/locale/uk.js +0 -163
  156. data/vendor/moment/dist/locale/ur.js +0 -82
  157. data/vendor/moment/dist/locale/uz-latn.js +0 -53
  158. data/vendor/moment/dist/locale/uz.js +0 -51
  159. data/vendor/moment/dist/locale/vi.js +0 -79
  160. data/vendor/moment/dist/locale/x-pseudo.js +0 -71
  161. data/vendor/moment/dist/locale/yo.js +0 -53
  162. data/vendor/moment/dist/locale/zh-cn.js +0 -120
  163. data/vendor/moment/dist/locale/zh-hk.js +0 -101
  164. data/vendor/moment/dist/locale/zh-mo.js +0 -100
  165. data/vendor/moment/dist/locale/zh-tw.js +0 -99
  166. data/vendor/moment/dist/moment.js +0 -5663
  167. data/vendor/moment/ender.js +0 -1
  168. data/vendor/moment/locale/af.js +0 -82
  169. data/vendor/moment/locale/ar-dz.js +0 -167
  170. data/vendor/moment/locale/ar-kw.js +0 -65
  171. data/vendor/moment/locale/ar-ly.js +0 -182
  172. data/vendor/moment/locale/ar-ma.js +0 -66
  173. data/vendor/moment/locale/ar-sa.js +0 -115
  174. data/vendor/moment/locale/ar-tn.js +0 -65
  175. data/vendor/moment/locale/ar.js +0 -200
  176. data/vendor/moment/locale/az.js +0 -112
  177. data/vendor/moment/locale/be.js +0 -152
  178. data/vendor/moment/locale/bg.js +0 -98
  179. data/vendor/moment/locale/bm.js +0 -62
  180. data/vendor/moment/locale/bn-bd.js +0 -139
  181. data/vendor/moment/locale/bn.js +0 -129
  182. data/vendor/moment/locale/bo.js +0 -133
  183. data/vendor/moment/locale/br.js +0 -176
  184. data/vendor/moment/locale/bs.js +0 -160
  185. data/vendor/moment/locale/ca.js +0 -108
  186. data/vendor/moment/locale/cs.js +0 -182
  187. data/vendor/moment/locale/cv.js +0 -73
  188. data/vendor/moment/locale/cy.js +0 -108
  189. data/vendor/moment/locale/da.js +0 -64
  190. data/vendor/moment/locale/de-at.js +0 -90
  191. data/vendor/moment/locale/de-ch.js +0 -87
  192. data/vendor/moment/locale/de.js +0 -89
  193. data/vendor/moment/locale/dv.js +0 -101
  194. data/vendor/moment/locale/el.js +0 -115
  195. data/vendor/moment/locale/en-au.js +0 -79
  196. data/vendor/moment/locale/en-ca.js +0 -75
  197. data/vendor/moment/locale/en-gb.js +0 -79
  198. data/vendor/moment/locale/en-ie.js +0 -79
  199. data/vendor/moment/locale/en-il.js +0 -75
  200. data/vendor/moment/locale/en-in.js +0 -79
  201. data/vendor/moment/locale/en-nz.js +0 -79
  202. data/vendor/moment/locale/en-sg.js +0 -79
  203. data/vendor/moment/locale/eo.js +0 -79
  204. data/vendor/moment/locale/es-do.js +0 -115
  205. data/vendor/moment/locale/es-mx.js +0 -117
  206. data/vendor/moment/locale/es-us.js +0 -117
  207. data/vendor/moment/locale/es.js +0 -117
  208. data/vendor/moment/locale/et.js +0 -89
  209. data/vendor/moment/locale/eu.js +0 -74
  210. data/vendor/moment/locale/fa.js +0 -121
  211. data/vendor/moment/locale/fi.js +0 -132
  212. data/vendor/moment/locale/fil.js +0 -69
  213. data/vendor/moment/locale/fo.js +0 -67
  214. data/vendor/moment/locale/fr-ca.js +0 -80
  215. data/vendor/moment/locale/fr-ch.js +0 -84
  216. data/vendor/moment/locale/fr.js +0 -115
  217. data/vendor/moment/locale/fy.js +0 -88
  218. data/vendor/moment/locale/ga.js +0 -106
  219. data/vendor/moment/locale/gd.js +0 -106
  220. data/vendor/moment/locale/gl.js +0 -85
  221. data/vendor/moment/locale/gom-deva.js +0 -135
  222. data/vendor/moment/locale/gom-latn.js +0 -135
  223. data/vendor/moment/locale/gu.js +0 -132
  224. data/vendor/moment/locale/he.js +0 -105
  225. data/vendor/moment/locale/hi.js +0 -130
  226. data/vendor/moment/locale/hr.js +0 -165
  227. data/vendor/moment/locale/hu.js +0 -129
  228. data/vendor/moment/locale/hy-am.js +0 -103
  229. data/vendor/moment/locale/id.js +0 -87
  230. data/vendor/moment/locale/is.js +0 -150
  231. data/vendor/moment/locale/it-ch.js +0 -75
  232. data/vendor/moment/locale/it.js +0 -117
  233. data/vendor/moment/locale/ja.js +0 -159
  234. data/vendor/moment/locale/jv.js +0 -87
  235. data/vendor/moment/locale/ka.js +0 -103
  236. data/vendor/moment/locale/kk.js +0 -93
  237. data/vendor/moment/locale/km.js +0 -113
  238. data/vendor/moment/locale/kn.js +0 -134
  239. data/vendor/moment/locale/ko.js +0 -86
  240. data/vendor/moment/locale/ku.js +0 -129
  241. data/vendor/moment/locale/ky.js +0 -95
  242. data/vendor/moment/locale/lb.js +0 -146
  243. data/vendor/moment/locale/lo.js +0 -76
  244. data/vendor/moment/locale/lt.js +0 -134
  245. data/vendor/moment/locale/lv.js +0 -104
  246. data/vendor/moment/locale/me.js +0 -129
  247. data/vendor/moment/locale/mi.js +0 -70
  248. data/vendor/moment/locale/mk.js +0 -97
  249. data/vendor/moment/locale/ml.js +0 -91
  250. data/vendor/moment/locale/mn.js +0 -110
  251. data/vendor/moment/locale/mr.js +0 -213
  252. data/vendor/moment/locale/ms-my.js +0 -87
  253. data/vendor/moment/locale/ms.js +0 -86
  254. data/vendor/moment/locale/mt.js +0 -66
  255. data/vendor/moment/locale/my.js +0 -102
  256. data/vendor/moment/locale/nb.js +0 -72
  257. data/vendor/moment/locale/ne.js +0 -131
  258. data/vendor/moment/locale/nl-be.js +0 -113
  259. data/vendor/moment/locale/nl.js +0 -115
  260. data/vendor/moment/locale/nn.js +0 -71
  261. data/vendor/moment/locale/oc-lnc.js +0 -94
  262. data/vendor/moment/locale/pa-in.js +0 -132
  263. data/vendor/moment/locale/pl.js +0 -150
  264. data/vendor/moment/locale/pt-br.js +0 -68
  265. data/vendor/moment/locale/pt.js +0 -73
  266. data/vendor/moment/locale/ro.js +0 -86
  267. data/vendor/moment/locale/ru.js +0 -217
  268. data/vendor/moment/locale/sd.js +0 -92
  269. data/vendor/moment/locale/se.js +0 -68
  270. data/vendor/moment/locale/si.js +0 -79
  271. data/vendor/moment/locale/sk.js +0 -155
  272. data/vendor/moment/locale/sl.js +0 -181
  273. data/vendor/moment/locale/sq.js +0 -76
  274. data/vendor/moment/locale/sr-cyrl.js +0 -127
  275. data/vendor/moment/locale/sr.js +0 -129
  276. data/vendor/moment/locale/ss.js +0 -94
  277. data/vendor/moment/locale/sv.js +0 -79
  278. data/vendor/moment/locale/sw.js +0 -65
  279. data/vendor/moment/locale/ta.js +0 -140
  280. data/vendor/moment/locale/te.js +0 -97
  281. data/vendor/moment/locale/tet.js +0 -79
  282. data/vendor/moment/locale/tg.js +0 -127
  283. data/vendor/moment/locale/th.js +0 -75
  284. data/vendor/moment/locale/tk.js +0 -102
  285. data/vendor/moment/locale/tl-ph.js +0 -68
  286. data/vendor/moment/locale/tlh.js +0 -136
  287. data/vendor/moment/locale/tr.js +0 -117
  288. data/vendor/moment/locale/tzl.js +0 -100
  289. data/vendor/moment/locale/tzm-latn.js +0 -64
  290. data/vendor/moment/locale/tzm.js +0 -64
  291. data/vendor/moment/locale/ug-cn.js +0 -121
  292. data/vendor/moment/locale/uk.js +0 -174
  293. data/vendor/moment/locale/ur.js +0 -93
  294. data/vendor/moment/locale/uz-latn.js +0 -64
  295. data/vendor/moment/locale/uz.js +0 -62
  296. data/vendor/moment/locale/vi.js +0 -90
  297. data/vendor/moment/locale/x-pseudo.js +0 -82
  298. data/vendor/moment/locale/yo.js +0 -64
  299. data/vendor/moment/locale/zh-cn.js +0 -131
  300. data/vendor/moment/locale/zh-hk.js +0 -112
  301. data/vendor/moment/locale/zh-mo.js +0 -111
  302. data/vendor/moment/locale/zh-tw.js +0 -110
  303. data/vendor/moment/meteor/README.md +0 -5
  304. data/vendor/moment/meteor/export.js +0 -6
  305. data/vendor/moment/meteor/moment.js +0 -1
  306. data/vendor/moment/meteor/package.js +0 -27
  307. data/vendor/moment/meteor/test.js +0 -5
  308. data/vendor/moment/min/locales.js +0 -12384
  309. data/vendor/moment/min/locales.min.js +0 -2
  310. data/vendor/moment/min/locales.min.js.map +0 -1
  311. data/vendor/moment/min/moment-with-locales.js +0 -18039
  312. data/vendor/moment/min/moment-with-locales.min.js +0 -2
  313. data/vendor/moment/min/moment-with-locales.min.js.map +0 -1
  314. data/vendor/moment/min/moment.min.js +0 -2
  315. data/vendor/moment/min/moment.min.js.map +0 -1
  316. data/vendor/moment/min/tests.js +0 -146872
  317. data/vendor/moment/moment.d.ts +0 -796
  318. data/vendor/moment/moment.js +0 -5671
  319. data/vendor/moment/package-lock.json +0 -6460
  320. data/vendor/moment/package.js +0 -11
  321. data/vendor/moment/package.json +0 -112
  322. data/vendor/moment/scripts/locales.js +0 -146
  323. data/vendor/moment/scripts/npm_prepublish.sh +0 -49
  324. data/vendor/moment/src/lib/create/check-overflow.js +0 -57
  325. data/vendor/moment/src/lib/create/date-from-array.js +0 -35
  326. data/vendor/moment/src/lib/create/from-anything.js +0 -117
  327. data/vendor/moment/src/lib/create/from-array.js +0 -187
  328. data/vendor/moment/src/lib/create/from-object.js +0 -20
  329. data/vendor/moment/src/lib/create/from-string-and-array.js +0 -66
  330. data/vendor/moment/src/lib/create/from-string-and-format.js +0 -134
  331. data/vendor/moment/src/lib/create/from-string.js +0 -255
  332. data/vendor/moment/src/lib/create/local.js +0 -5
  333. data/vendor/moment/src/lib/create/parsing-flags.js +0 -28
  334. data/vendor/moment/src/lib/create/utc.js +0 -5
  335. data/vendor/moment/src/lib/create/valid.js +0 -51
  336. data/vendor/moment/src/lib/duration/abs.js +0 -18
  337. data/vendor/moment/src/lib/duration/add-subtract.js +0 -21
  338. data/vendor/moment/src/lib/duration/as.js +0 -88
  339. data/vendor/moment/src/lib/duration/bubble.js +0 -68
  340. data/vendor/moment/src/lib/duration/clone.js +0 -5
  341. data/vendor/moment/src/lib/duration/constructor.js +0 -42
  342. data/vendor/moment/src/lib/duration/create.js +0 -132
  343. data/vendor/moment/src/lib/duration/duration.js +0 -16
  344. data/vendor/moment/src/lib/duration/get.js +0 -27
  345. data/vendor/moment/src/lib/duration/humanize.js +0 -114
  346. data/vendor/moment/src/lib/duration/iso-string.js +0 -68
  347. data/vendor/moment/src/lib/duration/prototype.js +0 -78
  348. data/vendor/moment/src/lib/duration/valid.js +0 -54
  349. data/vendor/moment/src/lib/format/format.js +0 -103
  350. data/vendor/moment/src/lib/locale/base-config.js +0 -41
  351. data/vendor/moment/src/lib/locale/calendar.js +0 -15
  352. data/vendor/moment/src/lib/locale/constructor.js +0 -5
  353. data/vendor/moment/src/lib/locale/en.js +0 -39
  354. data/vendor/moment/src/lib/locale/formats.js +0 -36
  355. data/vendor/moment/src/lib/locale/invalid.js +0 -5
  356. data/vendor/moment/src/lib/locale/lists.js +0 -93
  357. data/vendor/moment/src/lib/locale/locale.js +0 -45
  358. data/vendor/moment/src/lib/locale/locales.js +0 -242
  359. data/vendor/moment/src/lib/locale/ordinal.js +0 -8
  360. data/vendor/moment/src/lib/locale/pre-post-format.js +0 -3
  361. data/vendor/moment/src/lib/locale/prototype.js +0 -88
  362. data/vendor/moment/src/lib/locale/relative.js +0 -32
  363. data/vendor/moment/src/lib/locale/set.js +0 -56
  364. data/vendor/moment/src/lib/moment/add-subtract.js +0 -61
  365. data/vendor/moment/src/lib/moment/calendar.js +0 -53
  366. data/vendor/moment/src/lib/moment/clone.js +0 -5
  367. data/vendor/moment/src/lib/moment/compare.js +0 -72
  368. data/vendor/moment/src/lib/moment/constructor.js +0 -77
  369. data/vendor/moment/src/lib/moment/creation-data.js +0 -9
  370. data/vendor/moment/src/lib/moment/diff.js +0 -79
  371. data/vendor/moment/src/lib/moment/format.js +0 -78
  372. data/vendor/moment/src/lib/moment/from.js +0 -20
  373. data/vendor/moment/src/lib/moment/get-set.js +0 -72
  374. data/vendor/moment/src/lib/moment/locale.js +0 -34
  375. data/vendor/moment/src/lib/moment/min-max.js +0 -62
  376. data/vendor/moment/src/lib/moment/moment.js +0 -28
  377. data/vendor/moment/src/lib/moment/now.js +0 -3
  378. data/vendor/moment/src/lib/moment/prototype.js +0 -197
  379. data/vendor/moment/src/lib/moment/start-end-of.js +0 -164
  380. data/vendor/moment/src/lib/moment/to-type.js +0 -42
  381. data/vendor/moment/src/lib/moment/to.js +0 -20
  382. data/vendor/moment/src/lib/moment/valid.js +0 -15
  383. data/vendor/moment/src/lib/parse/regex.js +0 -82
  384. data/vendor/moment/src/lib/parse/token.js +0 -34
  385. data/vendor/moment/src/lib/units/aliases.js +0 -31
  386. data/vendor/moment/src/lib/units/constants.js +0 -9
  387. data/vendor/moment/src/lib/units/day-of-month.js +0 -39
  388. data/vendor/moment/src/lib/units/day-of-week.js +0 -444
  389. data/vendor/moment/src/lib/units/day-of-year.js +0 -37
  390. data/vendor/moment/src/lib/units/era.js +0 -289
  391. data/vendor/moment/src/lib/units/hour.js +0 -159
  392. data/vendor/moment/src/lib/units/millisecond.js +0 -76
  393. data/vendor/moment/src/lib/units/minute.js +0 -29
  394. data/vendor/moment/src/lib/units/month.js +0 -349
  395. data/vendor/moment/src/lib/units/offset.js +0 -249
  396. data/vendor/moment/src/lib/units/priorities.js +0 -21
  397. data/vendor/moment/src/lib/units/quarter.js +0 -34
  398. data/vendor/moment/src/lib/units/second.js +0 -29
  399. data/vendor/moment/src/lib/units/timestamp.js +0 -20
  400. data/vendor/moment/src/lib/units/timezone.js +0 -16
  401. data/vendor/moment/src/lib/units/units.js +0 -20
  402. data/vendor/moment/src/lib/units/week-calendar-utils.js +0 -66
  403. data/vendor/moment/src/lib/units/week-year.js +0 -140
  404. data/vendor/moment/src/lib/units/week.js +0 -71
  405. data/vendor/moment/src/lib/units/year.js +0 -85
  406. data/vendor/moment/src/lib/utils/abs-ceil.js +0 -7
  407. data/vendor/moment/src/lib/utils/abs-floor.js +0 -8
  408. data/vendor/moment/src/lib/utils/abs-round.js +0 -7
  409. data/vendor/moment/src/lib/utils/compare-arrays.js +0 -18
  410. data/vendor/moment/src/lib/utils/defaults.js +0 -10
  411. data/vendor/moment/src/lib/utils/deprecate.js +0 -68
  412. data/vendor/moment/src/lib/utils/extend.js +0 -19
  413. data/vendor/moment/src/lib/utils/has-own-prop.js +0 -3
  414. data/vendor/moment/src/lib/utils/hooks.js +0 -13
  415. data/vendor/moment/src/lib/utils/index-of.js +0 -18
  416. data/vendor/moment/src/lib/utils/is-array.js +0 -6
  417. data/vendor/moment/src/lib/utils/is-calendar-spec.js +0 -25
  418. data/vendor/moment/src/lib/utils/is-date.js +0 -6
  419. data/vendor/moment/src/lib/utils/is-function.js +0 -6
  420. data/vendor/moment/src/lib/utils/is-leap-year.js +0 -3
  421. data/vendor/moment/src/lib/utils/is-moment-input.js +0 -74
  422. data/vendor/moment/src/lib/utils/is-number.js +0 -6
  423. data/vendor/moment/src/lib/utils/is-object-empty.js +0 -15
  424. data/vendor/moment/src/lib/utils/is-object.js +0 -8
  425. data/vendor/moment/src/lib/utils/is-string.js +0 -3
  426. data/vendor/moment/src/lib/utils/is-undefined.js +0 -3
  427. data/vendor/moment/src/lib/utils/keys.js +0 -20
  428. data/vendor/moment/src/lib/utils/map.js +0 -8
  429. data/vendor/moment/src/lib/utils/mod.js +0 -3
  430. data/vendor/moment/src/lib/utils/some.js +0 -20
  431. data/vendor/moment/src/lib/utils/to-int.js +0 -12
  432. data/vendor/moment/src/lib/utils/zero-fill.js +0 -10
  433. data/vendor/moment/src/locale/af.js +0 -71
  434. data/vendor/moment/src/locale/ar-dz.js +0 -156
  435. data/vendor/moment/src/locale/ar-kw.js +0 -54
  436. data/vendor/moment/src/locale/ar-ly.js +0 -171
  437. data/vendor/moment/src/locale/ar-ma.js +0 -55
  438. data/vendor/moment/src/locale/ar-sa.js +0 -104
  439. data/vendor/moment/src/locale/ar-tn.js +0 -54
  440. data/vendor/moment/src/locale/ar.js +0 -189
  441. data/vendor/moment/src/locale/az.js +0 -101
  442. data/vendor/moment/src/locale/be.js +0 -141
  443. data/vendor/moment/src/locale/bg.js +0 -87
  444. data/vendor/moment/src/locale/bm.js +0 -52
  445. data/vendor/moment/src/locale/bn-bd.js +0 -128
  446. data/vendor/moment/src/locale/bn.js +0 -118
  447. data/vendor/moment/src/locale/bo.js +0 -122
  448. data/vendor/moment/src/locale/br.js +0 -165
  449. data/vendor/moment/src/locale/bs.js +0 -149
  450. data/vendor/moment/src/locale/ca.js +0 -97
  451. data/vendor/moment/src/locale/cs.js +0 -171
  452. data/vendor/moment/src/locale/cv.js +0 -62
  453. data/vendor/moment/src/locale/cy.js +0 -97
  454. data/vendor/moment/src/locale/da.js +0 -53
  455. data/vendor/moment/src/locale/de-at.js +0 -79
  456. data/vendor/moment/src/locale/de-ch.js +0 -78
  457. data/vendor/moment/src/locale/de.js +0 -78
  458. data/vendor/moment/src/locale/dv.js +0 -90
  459. data/vendor/moment/src/locale/el.js +0 -104
  460. data/vendor/moment/src/locale/en-au.js +0 -68
  461. data/vendor/moment/src/locale/en-ca.js +0 -64
  462. data/vendor/moment/src/locale/en-gb.js +0 -68
  463. data/vendor/moment/src/locale/en-ie.js +0 -68
  464. data/vendor/moment/src/locale/en-il.js +0 -64
  465. data/vendor/moment/src/locale/en-in.js +0 -68
  466. data/vendor/moment/src/locale/en-nz.js +0 -68
  467. data/vendor/moment/src/locale/en-sg.js +0 -68
  468. data/vendor/moment/src/locale/eo.js +0 -68
  469. data/vendor/moment/src/locale/es-do.js +0 -104
  470. data/vendor/moment/src/locale/es-mx.js +0 -106
  471. data/vendor/moment/src/locale/es-us.js +0 -106
  472. data/vendor/moment/src/locale/es.js +0 -106
  473. data/vendor/moment/src/locale/et.js +0 -78
  474. data/vendor/moment/src/locale/eu.js +0 -63
  475. data/vendor/moment/src/locale/fa.js +0 -110
  476. data/vendor/moment/src/locale/fi.js +0 -121
  477. data/vendor/moment/src/locale/fil.js +0 -58
  478. data/vendor/moment/src/locale/fo.js +0 -56
  479. data/vendor/moment/src/locale/fr-ca.js +0 -69
  480. data/vendor/moment/src/locale/fr-ch.js +0 -73
  481. data/vendor/moment/src/locale/fr.js +0 -104
  482. data/vendor/moment/src/locale/fy.js +0 -77
  483. data/vendor/moment/src/locale/ga.js +0 -95
  484. data/vendor/moment/src/locale/gd.js +0 -95
  485. data/vendor/moment/src/locale/gl.js +0 -74
  486. data/vendor/moment/src/locale/gom-deva.js +0 -124
  487. data/vendor/moment/src/locale/gom-latn.js +0 -124
  488. data/vendor/moment/src/locale/gu.js +0 -121
  489. data/vendor/moment/src/locale/he.js +0 -94
  490. data/vendor/moment/src/locale/hi.js +0 -119
  491. data/vendor/moment/src/locale/hr.js +0 -154
  492. data/vendor/moment/src/locale/hu.js +0 -118
  493. data/vendor/moment/src/locale/hy-am.js +0 -92
  494. data/vendor/moment/src/locale/id.js +0 -76
  495. data/vendor/moment/src/locale/is.js +0 -139
  496. data/vendor/moment/src/locale/it-ch.js +0 -64
  497. data/vendor/moment/src/locale/it.js +0 -106
  498. data/vendor/moment/src/locale/ja.js +0 -148
  499. data/vendor/moment/src/locale/jv.js +0 -76
  500. data/vendor/moment/src/locale/ka.js +0 -92
  501. data/vendor/moment/src/locale/kk.js +0 -82
  502. data/vendor/moment/src/locale/km.js +0 -102
  503. data/vendor/moment/src/locale/kn.js +0 -123
  504. data/vendor/moment/src/locale/ko.js +0 -75
  505. data/vendor/moment/src/locale/ku.js +0 -118
  506. data/vendor/moment/src/locale/ky.js +0 -84
  507. data/vendor/moment/src/locale/lb.js +0 -135
  508. data/vendor/moment/src/locale/lo.js +0 -65
  509. data/vendor/moment/src/locale/lt.js +0 -123
  510. data/vendor/moment/src/locale/lv.js +0 -93
  511. data/vendor/moment/src/locale/me.js +0 -118
  512. data/vendor/moment/src/locale/mi.js +0 -59
  513. data/vendor/moment/src/locale/mk.js +0 -85
  514. data/vendor/moment/src/locale/ml.js +0 -80
  515. data/vendor/moment/src/locale/mn.js +0 -99
  516. data/vendor/moment/src/locale/mr.js +0 -202
  517. data/vendor/moment/src/locale/ms-my.js +0 -76
  518. data/vendor/moment/src/locale/ms.js +0 -75
  519. data/vendor/moment/src/locale/mt.js +0 -55
  520. data/vendor/moment/src/locale/my.js +0 -91
  521. data/vendor/moment/src/locale/nb.js +0 -61
  522. data/vendor/moment/src/locale/ne.js +0 -120
  523. data/vendor/moment/src/locale/nl-be.js +0 -102
  524. data/vendor/moment/src/locale/nl.js +0 -104
  525. data/vendor/moment/src/locale/nn.js +0 -60
  526. data/vendor/moment/src/locale/oc-lnc.js +0 -83
  527. data/vendor/moment/src/locale/pa-in.js +0 -121
  528. data/vendor/moment/src/locale/pl.js +0 -139
  529. data/vendor/moment/src/locale/pt-br.js +0 -57
  530. data/vendor/moment/src/locale/pt.js +0 -62
  531. data/vendor/moment/src/locale/ro.js +0 -75
  532. data/vendor/moment/src/locale/ru.js +0 -206
  533. data/vendor/moment/src/locale/sd.js +0 -81
  534. data/vendor/moment/src/locale/se.js +0 -57
  535. data/vendor/moment/src/locale/si.js +0 -68
  536. data/vendor/moment/src/locale/sk.js +0 -144
  537. data/vendor/moment/src/locale/sl.js +0 -170
  538. data/vendor/moment/src/locale/sq.js +0 -65
  539. data/vendor/moment/src/locale/sr-cyrl.js +0 -116
  540. data/vendor/moment/src/locale/sr.js +0 -118
  541. data/vendor/moment/src/locale/ss.js +0 -83
  542. data/vendor/moment/src/locale/sv.js +0 -68
  543. data/vendor/moment/src/locale/sw.js +0 -54
  544. data/vendor/moment/src/locale/ta.js +0 -129
  545. data/vendor/moment/src/locale/te.js +0 -86
  546. data/vendor/moment/src/locale/tet.js +0 -68
  547. data/vendor/moment/src/locale/tg.js +0 -116
  548. data/vendor/moment/src/locale/th.js +0 -64
  549. data/vendor/moment/src/locale/tk.js +0 -91
  550. data/vendor/moment/src/locale/tl-ph.js +0 -57
  551. data/vendor/moment/src/locale/tlh.js +0 -125
  552. data/vendor/moment/src/locale/tr.js +0 -106
  553. data/vendor/moment/src/locale/tzl.js +0 -89
  554. data/vendor/moment/src/locale/tzm-latn.js +0 -53
  555. data/vendor/moment/src/locale/tzm.js +0 -53
  556. data/vendor/moment/src/locale/ug-cn.js +0 -110
  557. data/vendor/moment/src/locale/uk.js +0 -163
  558. data/vendor/moment/src/locale/ur.js +0 -82
  559. data/vendor/moment/src/locale/uz-latn.js +0 -53
  560. data/vendor/moment/src/locale/uz.js +0 -51
  561. data/vendor/moment/src/locale/vi.js +0 -79
  562. data/vendor/moment/src/locale/x-pseudo.js +0 -71
  563. data/vendor/moment/src/locale/yo.js +0 -53
  564. data/vendor/moment/src/locale/zh-cn.js +0 -120
  565. data/vendor/moment/src/locale/zh-hk.js +0 -101
  566. data/vendor/moment/src/locale/zh-mo.js +0 -100
  567. data/vendor/moment/src/locale/zh-tw.js +0 -99
  568. data/vendor/moment/src/moment.js +0 -93
  569. data/vendor/moment/src/test/helpers/common-locale.js +0 -265
  570. data/vendor/moment/src/test/helpers/deprecation-handler.js +0 -62
  571. data/vendor/moment/src/test/helpers/dst.js +0 -8
  572. data/vendor/moment/src/test/helpers/each-own-prop.js +0 -8
  573. data/vendor/moment/src/test/helpers/each.js +0 -8
  574. data/vendor/moment/src/test/helpers/has-own-prop.js +0 -3
  575. data/vendor/moment/src/test/helpers/object-keys.js +0 -17
  576. data/vendor/moment/src/test/locale/af.js +0 -446
  577. data/vendor/moment/src/test/locale/ar-dz.js +0 -482
  578. data/vendor/moment/src/test/locale/ar-kw.js +0 -446
  579. data/vendor/moment/src/test/locale/ar-ly.js +0 -521
  580. data/vendor/moment/src/test/locale/ar-ma.js +0 -446
  581. data/vendor/moment/src/test/locale/ar-sa.js +0 -465
  582. data/vendor/moment/src/test/locale/ar-tn.js +0 -611
  583. data/vendor/moment/src/test/locale/ar.js +0 -521
  584. data/vendor/moment/src/test/locale/az.js +0 -453
  585. data/vendor/moment/src/test/locale/be.js +0 -575
  586. data/vendor/moment/src/test/locale/bg.js +0 -459
  587. data/vendor/moment/src/test/locale/bm.js +0 -408
  588. data/vendor/moment/src/test/locale/bn-bd.js +0 -473
  589. data/vendor/moment/src/test/locale/bn.js +0 -481
  590. data/vendor/moment/src/test/locale/bo.js +0 -501
  591. data/vendor/moment/src/test/locale/br.js +0 -541
  592. data/vendor/moment/src/test/locale/bs.js +0 -478
  593. data/vendor/moment/src/test/locale/ca.js +0 -472
  594. data/vendor/moment/src/test/locale/cs.js +0 -635
  595. data/vendor/moment/src/test/locale/cv.js +0 -459
  596. data/vendor/moment/src/test/locale/cy.js +0 -444
  597. data/vendor/moment/src/test/locale/da.js +0 -447
  598. data/vendor/moment/src/test/locale/de-at.js +0 -476
  599. data/vendor/moment/src/test/locale/de-ch.js +0 -481
  600. data/vendor/moment/src/test/locale/de.js +0 -480
  601. data/vendor/moment/src/test/locale/dv.js +0 -419
  602. data/vendor/moment/src/test/locale/el.js +0 -544
  603. data/vendor/moment/src/test/locale/en-au.js +0 -480
  604. data/vendor/moment/src/test/locale/en-ca.js +0 -451
  605. data/vendor/moment/src/test/locale/en-gb.js +0 -446
  606. data/vendor/moment/src/test/locale/en-ie.js +0 -446
  607. data/vendor/moment/src/test/locale/en-il.js +0 -454
  608. data/vendor/moment/src/test/locale/en-in.js +0 -464
  609. data/vendor/moment/src/test/locale/en-nz.js +0 -446
  610. data/vendor/moment/src/test/locale/en-sg.js +0 -430
  611. data/vendor/moment/src/test/locale/en.js +0 -562
  612. data/vendor/moment/src/test/locale/eo.js +0 -455
  613. data/vendor/moment/src/test/locale/es-do.js +0 -473
  614. data/vendor/moment/src/test/locale/es-mx.js +0 -514
  615. data/vendor/moment/src/test/locale/es-us.js +0 -489
  616. data/vendor/moment/src/test/locale/es.js +0 -476
  617. data/vendor/moment/src/test/locale/et.js +0 -533
  618. data/vendor/moment/src/test/locale/eu.js +0 -445
  619. data/vendor/moment/src/test/locale/fa.js +0 -461
  620. data/vendor/moment/src/test/locale/fi.js +0 -489
  621. data/vendor/moment/src/test/locale/fil.js +0 -448
  622. data/vendor/moment/src/test/locale/fo.js +0 -454
  623. data/vendor/moment/src/test/locale/fr-ca.js +0 -460
  624. data/vendor/moment/src/test/locale/fr-ch.js +0 -460
  625. data/vendor/moment/src/test/locale/fr.js +0 -482
  626. data/vendor/moment/src/test/locale/fy.js +0 -461
  627. data/vendor/moment/src/test/locale/ga.js +0 -445
  628. data/vendor/moment/src/test/locale/gd.js +0 -464
  629. data/vendor/moment/src/test/locale/gl.js +0 -466
  630. data/vendor/moment/src/test/locale/gom-deva.js +0 -445
  631. data/vendor/moment/src/test/locale/gom-latn.js +0 -459
  632. data/vendor/moment/src/test/locale/gu.js +0 -487
  633. data/vendor/moment/src/test/locale/he.js +0 -417
  634. data/vendor/moment/src/test/locale/hi.js +0 -484
  635. data/vendor/moment/src/test/locale/hr.js +0 -478
  636. data/vendor/moment/src/test/locale/hu.js +0 -468
  637. data/vendor/moment/src/test/locale/hy-am.js +0 -609
  638. data/vendor/moment/src/test/locale/id.js +0 -407
  639. data/vendor/moment/src/test/locale/is.js +0 -479
  640. data/vendor/moment/src/test/locale/it-ch.js +0 -427
  641. data/vendor/moment/src/test/locale/it.js +0 -479
  642. data/vendor/moment/src/test/locale/ja.js +0 -591
  643. data/vendor/moment/src/test/locale/jv.js +0 -418
  644. data/vendor/moment/src/test/locale/ka.js +0 -452
  645. data/vendor/moment/src/test/locale/kk.js +0 -445
  646. data/vendor/moment/src/test/locale/km.js +0 -471
  647. data/vendor/moment/src/test/locale/kn.js +0 -493
  648. data/vendor/moment/src/test/locale/ko.js +0 -496
  649. data/vendor/moment/src/test/locale/ku.js +0 -465
  650. data/vendor/moment/src/test/locale/ky.js +0 -445
  651. data/vendor/moment/src/test/locale/lb.js +0 -432
  652. data/vendor/moment/src/test/locale/lo.js +0 -445
  653. data/vendor/moment/src/test/locale/lt.js +0 -504
  654. data/vendor/moment/src/test/locale/lv.js +0 -567
  655. data/vendor/moment/src/test/locale/me.js +0 -481
  656. data/vendor/moment/src/test/locale/mi.js +0 -450
  657. data/vendor/moment/src/test/locale/mk.js +0 -460
  658. data/vendor/moment/src/test/locale/ml.js +0 -497
  659. data/vendor/moment/src/test/locale/mn.js +0 -555
  660. data/vendor/moment/src/test/locale/mr.js +0 -497
  661. data/vendor/moment/src/test/locale/ms-my.js +0 -454
  662. data/vendor/moment/src/test/locale/ms.js +0 -454
  663. data/vendor/moment/src/test/locale/mt.js +0 -446
  664. data/vendor/moment/src/test/locale/my.js +0 -616
  665. data/vendor/moment/src/test/locale/nb.js +0 -446
  666. data/vendor/moment/src/test/locale/ne.js +0 -484
  667. data/vendor/moment/src/test/locale/nl-be.js +0 -471
  668. data/vendor/moment/src/test/locale/nl.js +0 -471
  669. data/vendor/moment/src/test/locale/nn.js +0 -445
  670. data/vendor/moment/src/test/locale/oc-lnc.js +0 -440
  671. data/vendor/moment/src/test/locale/pa-in.js +0 -769
  672. data/vendor/moment/src/test/locale/pl.js +0 -557
  673. data/vendor/moment/src/test/locale/pt-br.js +0 -472
  674. data/vendor/moment/src/test/locale/pt.js +0 -449
  675. data/vendor/moment/src/test/locale/ro.js +0 -485
  676. data/vendor/moment/src/test/locale/ru.js +0 -706
  677. data/vendor/moment/src/test/locale/sd.js +0 -434
  678. data/vendor/moment/src/test/locale/se.js +0 -456
  679. data/vendor/moment/src/test/locale/si.js +0 -422
  680. data/vendor/moment/src/test/locale/sk.js +0 -640
  681. data/vendor/moment/src/test/locale/sl.js +0 -816
  682. data/vendor/moment/src/test/locale/sq.js +0 -457
  683. data/vendor/moment/src/test/locale/sr-cyrl.js +0 -478
  684. data/vendor/moment/src/test/locale/sr.js +0 -478
  685. data/vendor/moment/src/test/locale/ss.js +0 -510
  686. data/vendor/moment/src/test/locale/sv.js +0 -441
  687. data/vendor/moment/src/test/locale/sw.js +0 -449
  688. data/vendor/moment/src/test/locale/ta.js +0 -452
  689. data/vendor/moment/src/test/locale/te.js +0 -497
  690. data/vendor/moment/src/test/locale/tet.js +0 -446
  691. data/vendor/moment/src/test/locale/tg.js +0 -462
  692. data/vendor/moment/src/test/locale/th.js +0 -408
  693. data/vendor/moment/src/test/locale/tk.js +0 -445
  694. data/vendor/moment/src/test/locale/tl-ph.js +0 -448
  695. data/vendor/moment/src/test/locale/tlh.js +0 -484
  696. data/vendor/moment/src/test/locale/tr.js +0 -461
  697. data/vendor/moment/src/test/locale/tzl.js +0 -453
  698. data/vendor/moment/src/test/locale/tzm-latn.js +0 -449
  699. data/vendor/moment/src/test/locale/tzm.js +0 -449
  700. data/vendor/moment/src/test/locale/ug-cn.js +0 -427
  701. data/vendor/moment/src/test/locale/uk.js +0 -521
  702. data/vendor/moment/src/test/locale/ur.js +0 -439
  703. data/vendor/moment/src/test/locale/uz-latn.js +0 -450
  704. data/vendor/moment/src/test/locale/uz.js +0 -447
  705. data/vendor/moment/src/test/locale/vi.js +0 -452
  706. data/vendor/moment/src/test/locale/x-pseudo.js +0 -446
  707. data/vendor/moment/src/test/locale/yo.js +0 -447
  708. data/vendor/moment/src/test/locale/zh-cn.js +0 -459
  709. data/vendor/moment/src/test/locale/zh-hk.js +0 -443
  710. data/vendor/moment/src/test/locale/zh-mo.js +0 -427
  711. data/vendor/moment/src/test/locale/zh-tw.js +0 -443
  712. data/vendor/moment/src/test/moment/add_subtract.js +0 -545
  713. data/vendor/moment/src/test/moment/calendar.js +0 -214
  714. data/vendor/moment/src/test/moment/create.js +0 -2816
  715. data/vendor/moment/src/test/moment/creation-data.js +0 -40
  716. data/vendor/moment/src/test/moment/days_in_month.js +0 -122
  717. data/vendor/moment/src/test/moment/days_in_year.js +0 -11
  718. data/vendor/moment/src/test/moment/deprecate.js +0 -14
  719. data/vendor/moment/src/test/moment/diff.js +0 -624
  720. data/vendor/moment/src/test/moment/duration.js +0 -2024
  721. data/vendor/moment/src/test/moment/duration_from_moments.js +0 -53
  722. data/vendor/moment/src/test/moment/duration_invalid.js +0 -145
  723. data/vendor/moment/src/test/moment/format.js +0 -951
  724. data/vendor/moment/src/test/moment/from_to.js +0 -148
  725. data/vendor/moment/src/test/moment/getters_setters.js +0 -504
  726. data/vendor/moment/src/test/moment/instanceof.js +0 -42
  727. data/vendor/moment/src/test/moment/invalid.js +0 -212
  728. data/vendor/moment/src/test/moment/is-leap-year.js +0 -89
  729. data/vendor/moment/src/test/moment/is_after.js +0 -674
  730. data/vendor/moment/src/test/moment/is_array.js +0 -18
  731. data/vendor/moment/src/test/moment/is_before.js +0 -674
  732. data/vendor/moment/src/test/moment/is_between.js +0 -1082
  733. data/vendor/moment/src/test/moment/is_date.js +0 -32
  734. data/vendor/moment/src/test/moment/is_moment.js +0 -52
  735. data/vendor/moment/src/test/moment/is_number.js +0 -27
  736. data/vendor/moment/src/test/moment/is_same.js +0 -554
  737. data/vendor/moment/src/test/moment/is_same_or_after.js +0 -777
  738. data/vendor/moment/src/test/moment/is_same_or_before.js +0 -777
  739. data/vendor/moment/src/test/moment/is_valid.js +0 -563
  740. data/vendor/moment/src/test/moment/leapyear.js +0 -11
  741. data/vendor/moment/src/test/moment/listers.js +0 -172
  742. data/vendor/moment/src/test/moment/locale.js +0 -1029
  743. data/vendor/moment/src/test/moment/locale_inheritance.js +0 -332
  744. data/vendor/moment/src/test/moment/locale_update.js +0 -321
  745. data/vendor/moment/src/test/moment/min_max.js +0 -72
  746. data/vendor/moment/src/test/moment/mutable.js +0 -26
  747. data/vendor/moment/src/test/moment/normalize_units.js +0 -83
  748. data/vendor/moment/src/test/moment/now.js +0 -100
  749. data/vendor/moment/src/test/moment/parsing_flags.js +0 -434
  750. data/vendor/moment/src/test/moment/preparse_postformat.js +0 -121
  751. data/vendor/moment/src/test/moment/quarter.js +0 -117
  752. data/vendor/moment/src/test/moment/relative_time.js +0 -424
  753. data/vendor/moment/src/test/moment/start_end_of.js +0 -538
  754. data/vendor/moment/src/test/moment/string_prototype.js +0 -17
  755. data/vendor/moment/src/test/moment/to_type.js +0 -53
  756. data/vendor/moment/src/test/moment/utc.js +0 -138
  757. data/vendor/moment/src/test/moment/utc_offset.js +0 -894
  758. data/vendor/moment/src/test/moment/week_year.js +0 -1075
  759. data/vendor/moment/src/test/moment/weekday.js +0 -470
  760. data/vendor/moment/src/test/moment/weeks.js +0 -861
  761. data/vendor/moment/src/test/moment/weeks_in_year.js +0 -224
  762. data/vendor/moment/src/test/moment/zone_switching.js +0 -160
  763. data/vendor/moment/src/test/moment/zones.js +0 -840
  764. data/vendor/moment/src/test/qunit-locale.js +0 -32
  765. data/vendor/moment/src/test/qunit.js +0 -31
  766. data/vendor/moment/tasks/bump_version.js +0 -81
  767. data/vendor/moment/tasks/check_sauce_creds.js +0 -13
  768. data/vendor/moment/tasks/component.js +0 -13
  769. data/vendor/moment/tasks/nuget.js +0 -50
  770. data/vendor/moment/tasks/qtest.js +0 -56
  771. data/vendor/moment/tasks/transpile.js +0 -362
  772. data/vendor/moment/tasks/update_index.js +0 -32
  773. data/vendor/moment/templates/default.js +0 -5
  774. data/vendor/moment/templates/empty.js +0 -0
  775. data/vendor/moment/templates/locale-header.js +0 -6
  776. data/vendor/moment/templates/test-header.js +0 -6
  777. data/vendor/moment/ts3.1-typing-tests/moment-tests.ts +0 -547
  778. data/vendor/moment/ts3.1-typing-tests/tsconfig.json +0 -14
  779. data/vendor/moment/ts3.1-typings/moment.d.ts +0 -785
  780. data/vendor/moment/typing-tests/moment-tests.ts +0 -557
  781. data/vendor/moment/typing-tests/tsconfig.json +0 -12
  782. data/vendor/tempusdominus/CONTRIBUTING.md +0 -38
  783. data/vendor/tempusdominus/Gruntfile.js +0 -188
  784. data/vendor/tempusdominus/LICENSE +0 -21
  785. data/vendor/tempusdominus/README.md +0 -30
  786. data/vendor/tempusdominus/build/css/tempusdominus-bootstrap-4.css +0 -206
  787. data/vendor/tempusdominus/build/css/tempusdominus-bootstrap-4.min.css +0 -206
  788. data/vendor/tempusdominus/build/js/tempusdominus-bootstrap-4.js +0 -2779
  789. data/vendor/tempusdominus/build/js/tempusdominus-bootstrap-4.min.js +0 -7
  790. data/vendor/tempusdominus/composer.json +0 -29
  791. data/vendor/tempusdominus/docs/Changelog/index.html +0 -189
  792. data/vendor/tempusdominus/docs/ContributorsGuide/index.html +0 -290
  793. data/vendor/tempusdominus/docs/Events/index.html +0 -244
  794. data/vendor/tempusdominus/docs/Extras/index.html +0 -210
  795. data/vendor/tempusdominus/docs/FAQ/index.html +0 -186
  796. data/vendor/tempusdominus/docs/Functions/index.html +0 -239
  797. data/vendor/tempusdominus/docs/Installing/index.html +0 -233
  798. data/vendor/tempusdominus/docs/Options/index.html +0 -862
  799. data/vendor/tempusdominus/docs/Usage/index.html +0 -853
  800. data/vendor/tempusdominus/docs/android-chrome-192x192.png +0 -0
  801. data/vendor/tempusdominus/docs/android-chrome-256x256.png +0 -0
  802. data/vendor/tempusdominus/docs/apple-touch-icon.png +0 -0
  803. data/vendor/tempusdominus/docs/browserconfig.xml +0 -9
  804. data/vendor/tempusdominus/docs/css/base.css +0 -1705
  805. data/vendor/tempusdominus/docs/css/tempusdominus-bootstrap-4.css +0 -206
  806. data/vendor/tempusdominus/docs/favicon-16x16.png +0 -0
  807. data/vendor/tempusdominus/docs/favicon-32x32.png +0 -0
  808. data/vendor/tempusdominus/docs/favicon.ico +0 -0
  809. data/vendor/tempusdominus/docs/index.html +0 -208
  810. data/vendor/tempusdominus/docs/js/base.js +0 -62
  811. data/vendor/tempusdominus/docs/js/tempusdominus-bootstrap-4.js +0 -2779
  812. data/vendor/tempusdominus/docs/manifest.json +0 -18
  813. data/vendor/tempusdominus/docs/mstile-150x150.png +0 -0
  814. data/vendor/tempusdominus/docs/safari-pinned-tab.svg +0 -18
  815. data/vendor/tempusdominus/docs/search/lunr.min.js +0 -7
  816. data/vendor/tempusdominus/docs/search/mustache.min.js +0 -1
  817. data/vendor/tempusdominus/docs/search/require.js +0 -36
  818. data/vendor/tempusdominus/docs/search/search-results-template.mustache +0 -4
  819. data/vendor/tempusdominus/docs/search/search.js +0 -92
  820. data/vendor/tempusdominus/docs/search/search_index.json +0 -1084
  821. data/vendor/tempusdominus/docs/search/text.js +0 -390
  822. data/vendor/tempusdominus/docs/sitemap.xml +0 -84
  823. data/vendor/tempusdominus/docs/theme/404.html +0 -12
  824. data/vendor/tempusdominus/docs/theme/android-chrome-192x192.png +0 -0
  825. data/vendor/tempusdominus/docs/theme/android-chrome-256x256.png +0 -0
  826. data/vendor/tempusdominus/docs/theme/apple-touch-icon.png +0 -0
  827. data/vendor/tempusdominus/docs/theme/base.html +0 -105
  828. data/vendor/tempusdominus/docs/theme/browserconfig.xml +0 -9
  829. data/vendor/tempusdominus/docs/theme/content.html +0 -8
  830. data/vendor/tempusdominus/docs/theme/css/base.css +0 -1705
  831. data/vendor/tempusdominus/docs/theme/css/tempusdominus-bootstrap-4.css +0 -206
  832. data/vendor/tempusdominus/docs/theme/favicon-16x16.png +0 -0
  833. data/vendor/tempusdominus/docs/theme/favicon-32x32.png +0 -0
  834. data/vendor/tempusdominus/docs/theme/favicon.ico +0 -0
  835. data/vendor/tempusdominus/docs/theme/js/base.js +0 -62
  836. data/vendor/tempusdominus/docs/theme/js/tempusdominus-bootstrap-4.js +0 -2779
  837. data/vendor/tempusdominus/docs/theme/main.html +0 -1
  838. data/vendor/tempusdominus/docs/theme/manifest.json +0 -18
  839. data/vendor/tempusdominus/docs/theme/mstile-150x150.png +0 -0
  840. data/vendor/tempusdominus/docs/theme/nav.html +0 -32
  841. data/vendor/tempusdominus/docs/theme/safari-pinned-tab.svg +0 -18
  842. data/vendor/tempusdominus/docs/theme/search-modal.html +0 -24
  843. data/vendor/tempusdominus/docs/theme/toc.html +0 -13
  844. data/vendor/tempusdominus/eslintrc.json +0 -125
  845. data/vendor/tempusdominus/mkdocs.yml +0 -19
  846. data/vendor/tempusdominus/package-lock.json +0 -6426
  847. data/vendor/tempusdominus/package.json +0 -79
  848. data/vendor/tempusdominus/src/docs/ChangeLog.md +0 -20
  849. data/vendor/tempusdominus/src/docs/ContributorsGuide.md +0 -85
  850. data/vendor/tempusdominus/src/docs/Events.md +0 -95
  851. data/vendor/tempusdominus/src/docs/Extras.md +0 -49
  852. data/vendor/tempusdominus/src/docs/FAQ.md +0 -22
  853. data/vendor/tempusdominus/src/docs/Functions.md +0 -82
  854. data/vendor/tempusdominus/src/docs/Installing.md +0 -67
  855. data/vendor/tempusdominus/src/docs/Options.md +0 -940
  856. data/vendor/tempusdominus/src/docs/Usage.md +0 -724
  857. data/vendor/tempusdominus/src/docs/index.md +0 -53
  858. data/vendor/tempusdominus/src/docs/theme/404.html +0 -12
  859. data/vendor/tempusdominus/src/docs/theme/android-chrome-192x192.png +0 -0
  860. data/vendor/tempusdominus/src/docs/theme/android-chrome-256x256.png +0 -0
  861. data/vendor/tempusdominus/src/docs/theme/apple-touch-icon.png +0 -0
  862. data/vendor/tempusdominus/src/docs/theme/base.html +0 -105
  863. data/vendor/tempusdominus/src/docs/theme/browserconfig.xml +0 -9
  864. data/vendor/tempusdominus/src/docs/theme/content.html +0 -8
  865. data/vendor/tempusdominus/src/docs/theme/css/base.css +0 -1705
  866. data/vendor/tempusdominus/src/docs/theme/css/tempusdominus-bootstrap-4.css +0 -206
  867. data/vendor/tempusdominus/src/docs/theme/favicon-16x16.png +0 -0
  868. data/vendor/tempusdominus/src/docs/theme/favicon-32x32.png +0 -0
  869. data/vendor/tempusdominus/src/docs/theme/favicon.ico +0 -0
  870. data/vendor/tempusdominus/src/docs/theme/js/base.js +0 -62
  871. data/vendor/tempusdominus/src/docs/theme/js/tempusdominus-bootstrap-4.js +0 -2779
  872. data/vendor/tempusdominus/src/docs/theme/main.html +0 -1
  873. data/vendor/tempusdominus/src/docs/theme/manifest.json +0 -18
  874. data/vendor/tempusdominus/src/docs/theme/mstile-150x150.png +0 -0
  875. data/vendor/tempusdominus/src/docs/theme/nav.html +0 -32
  876. data/vendor/tempusdominus/src/docs/theme/safari-pinned-tab.svg +0 -18
  877. data/vendor/tempusdominus/src/docs/theme/search-modal.html +0 -24
  878. data/vendor/tempusdominus/src/docs/theme/toc.html +0 -13
  879. data/vendor/tempusdominus/src/js/tempusdominus-bootstrap-4.js +0 -1182
  880. data/vendor/tempusdominus/src/sass/_tempusdominus-bootstrap-4.scss +0 -342
  881. data/vendor/tempusdominus/src/sass/tempusdominus-bootstrap-4-build.scss +0 -17
  882. data/vendor/tempusdominus/tasks/bump_version.js +0 -75
@@ -1,1182 +0,0 @@
1
- //noinspection JSUnusedGlobalSymbols
2
- /* global DateTimePicker */
3
- const TempusDominusBootstrap4 = ($ => { // eslint-disable-line no-unused-vars
4
- // ReSharper disable once InconsistentNaming
5
- const JQUERY_NO_CONFLICT = $.fn[DateTimePicker.NAME],
6
- verticalModes = ['top', 'bottom', 'auto'],
7
- horizontalModes = ['left', 'right', 'auto'],
8
- toolbarPlacements = ['default', 'top', 'bottom'],
9
- getSelectorFromElement = function ($element) {
10
- let selector = $element.data('target'),
11
- $selector;
12
-
13
- if (!selector) {
14
- selector = $element.attr('href') || '';
15
- selector = /^#[a-z]/i.test(selector) ? selector : null;
16
- }
17
- $selector = $(selector);
18
- if ($selector.length === 0) {
19
- return $selector;
20
- }
21
-
22
- if (!$selector.data(DateTimePicker.DATA_KEY)) {
23
- $.extend({}, $selector.data(), $(this).data());
24
- }
25
-
26
- return $selector;
27
- };
28
-
29
- // ReSharper disable once InconsistentNaming
30
- class TempusDominusBootstrap4 extends DateTimePicker {
31
- constructor(element, options) {
32
- super(element, options);
33
- this._init();
34
- }
35
-
36
- _init() {
37
- if (this._element.hasClass('input-group')) {
38
- const datepickerButton = this._element.find('.datepickerbutton');
39
- if (datepickerButton.length === 0) {
40
- this.component = this._element.find('[data-toggle="datetimepicker"]');
41
- } else {
42
- this.component = datepickerButton;
43
- }
44
- }
45
- }
46
-
47
- _getDatePickerTemplate() {
48
- const headTemplate = $('<thead>').append($('<tr>').append($('<th>').addClass('prev').attr('data-action', 'previous').append($('<span>').addClass(this._options.icons.previous))).append($('<th>').addClass('picker-switch').attr('data-action', 'pickerSwitch').attr('colspan', `${this._options.calendarWeeks ? '6' : '5'}`)).append($('<th>').addClass('next').attr('data-action', 'next').append($('<span>').addClass(this._options.icons.next)))),
49
- contTemplate = $('<tbody>').append($('<tr>').append($('<td>').attr('colspan', `${this._options.calendarWeeks ? '8' : '7'}`)));
50
-
51
- return [$('<div>').addClass('datepicker-days').append($('<table>').addClass('table table-sm').append(headTemplate).append($('<tbody>'))), $('<div>').addClass('datepicker-months').append($('<table>').addClass('table-condensed').append(headTemplate.clone()).append(contTemplate.clone())), $('<div>').addClass('datepicker-years').append($('<table>').addClass('table-condensed').append(headTemplate.clone()).append(contTemplate.clone())), $('<div>').addClass('datepicker-decades').append($('<table>').addClass('table-condensed').append(headTemplate.clone()).append(contTemplate.clone()))];
52
- }
53
-
54
- _getTimePickerMainTemplate() {
55
- const topRow = $('<tr>'),
56
- middleRow = $('<tr>'),
57
- bottomRow = $('<tr>');
58
-
59
- if (this._isEnabled('h')) {
60
- topRow.append($('<td>').append($('<a>').attr({
61
- href: '#',
62
- tabindex: '-1',
63
- 'title': this._options.tooltips.incrementHour
64
- }).addClass('btn').attr('data-action', 'incrementHours').append($('<span>').addClass(this._options.icons.up))));
65
- middleRow.append($('<td>').append($('<span>').addClass('timepicker-hour').attr({
66
- 'data-time-component': 'hours',
67
- 'title': this._options.tooltips.pickHour
68
- }).attr('data-action', 'showHours')));
69
- bottomRow.append($('<td>').append($('<a>').attr({
70
- href: '#',
71
- tabindex: '-1',
72
- 'title': this._options.tooltips.decrementHour
73
- }).addClass('btn').attr('data-action', 'decrementHours').append($('<span>').addClass(this._options.icons.down))));
74
- }
75
- if (this._isEnabled('m')) {
76
- if (this._isEnabled('h')) {
77
- topRow.append($('<td>').addClass('separator'));
78
- middleRow.append($('<td>').addClass('separator').html(':'));
79
- bottomRow.append($('<td>').addClass('separator'));
80
- }
81
- topRow.append($('<td>').append($('<a>').attr({
82
- href: '#',
83
- tabindex: '-1',
84
- 'title': this._options.tooltips.incrementMinute
85
- }).addClass('btn').attr('data-action', 'incrementMinutes').append($('<span>').addClass(this._options.icons.up))));
86
- middleRow.append($('<td>').append($('<span>').addClass('timepicker-minute').attr({
87
- 'data-time-component': 'minutes',
88
- 'title': this._options.tooltips.pickMinute
89
- }).attr('data-action', 'showMinutes')));
90
- bottomRow.append($('<td>').append($('<a>').attr({
91
- href: '#',
92
- tabindex: '-1',
93
- 'title': this._options.tooltips.decrementMinute
94
- }).addClass('btn').attr('data-action', 'decrementMinutes').append($('<span>').addClass(this._options.icons.down))));
95
- }
96
- if (this._isEnabled('s')) {
97
- if (this._isEnabled('m')) {
98
- topRow.append($('<td>').addClass('separator'));
99
- middleRow.append($('<td>').addClass('separator').html(':'));
100
- bottomRow.append($('<td>').addClass('separator'));
101
- }
102
- topRow.append($('<td>').append($('<a>').attr({
103
- href: '#',
104
- tabindex: '-1',
105
- 'title': this._options.tooltips.incrementSecond
106
- }).addClass('btn').attr('data-action', 'incrementSeconds').append($('<span>').addClass(this._options.icons.up))));
107
- middleRow.append($('<td>').append($('<span>').addClass('timepicker-second').attr({
108
- 'data-time-component': 'seconds',
109
- 'title': this._options.tooltips.pickSecond
110
- }).attr('data-action', 'showSeconds')));
111
- bottomRow.append($('<td>').append($('<a>').attr({
112
- href: '#',
113
- tabindex: '-1',
114
- 'title': this._options.tooltips.decrementSecond
115
- }).addClass('btn').attr('data-action', 'decrementSeconds').append($('<span>').addClass(this._options.icons.down))));
116
- }
117
-
118
- if (!this.use24Hours) {
119
- topRow.append($('<td>').addClass('separator'));
120
- middleRow.append($('<td>').append($('<button>').addClass('btn btn-primary').attr({
121
- 'data-action': 'togglePeriod',
122
- tabindex: '-1',
123
- 'title': this._options.tooltips.togglePeriod
124
- })));
125
- bottomRow.append($('<td>').addClass('separator'));
126
- }
127
-
128
- return $('<div>').addClass('timepicker-picker').append($('<table>').addClass('table-condensed').append([topRow, middleRow, bottomRow]));
129
- }
130
-
131
- _getTimePickerTemplate() {
132
- const hoursView = $('<div>').addClass('timepicker-hours').append($('<table>').addClass('table-condensed')),
133
- minutesView = $('<div>').addClass('timepicker-minutes').append($('<table>').addClass('table-condensed')),
134
- secondsView = $('<div>').addClass('timepicker-seconds').append($('<table>').addClass('table-condensed')),
135
- ret = [this._getTimePickerMainTemplate()];
136
-
137
- if (this._isEnabled('h')) {
138
- ret.push(hoursView);
139
- }
140
- if (this._isEnabled('m')) {
141
- ret.push(minutesView);
142
- }
143
- if (this._isEnabled('s')) {
144
- ret.push(secondsView);
145
- }
146
-
147
- return ret;
148
- }
149
-
150
- _getToolbar() {
151
- const row = [];
152
- if (this._options.buttons.showToday) {
153
- row.push($('<td>').append($('<a>').attr({
154
- href: '#',
155
- tabindex: '-1',
156
- 'data-action': 'today',
157
- 'title': this._options.tooltips.today
158
- }).append($('<span>').addClass(this._options.icons.today))));
159
- }
160
- if (!this._options.sideBySide && this._hasDate() && this._hasTime()) {
161
- let title, icon;
162
- if (this._options.viewMode === 'times') {
163
- title = this._options.tooltips.selectDate;
164
- icon = this._options.icons.date;
165
- } else {
166
- title = this._options.tooltips.selectTime;
167
- icon = this._options.icons.time;
168
- }
169
- row.push($('<td>').append($('<a>').attr({
170
- href: '#',
171
- tabindex: '-1',
172
- 'data-action': 'togglePicker',
173
- 'title': title
174
- }).append($('<span>').addClass(icon))));
175
- }
176
- if (this._options.buttons.showClear) {
177
- row.push($('<td>').append($('<a>').attr({
178
- href: '#',
179
- tabindex: '-1',
180
- 'data-action': 'clear',
181
- 'title': this._options.tooltips.clear
182
- }).append($('<span>').addClass(this._options.icons.clear))));
183
- }
184
- if (this._options.buttons.showClose) {
185
- row.push($('<td>').append($('<a>').attr({
186
- href: '#',
187
- tabindex: '-1',
188
- 'data-action': 'close',
189
- 'title': this._options.tooltips.close
190
- }).append($('<span>').addClass(this._options.icons.close))));
191
- }
192
- return row.length === 0 ? '' : $('<table>').addClass('table-condensed').append($('<tbody>').append($('<tr>').append(row)));
193
- }
194
-
195
- _getTemplate() {
196
- const template = $('<div>').addClass('bootstrap-datetimepicker-widget dropdown-menu'),
197
- dateView = $('<div>').addClass('datepicker').append(this._getDatePickerTemplate()),
198
- timeView = $('<div>').addClass('timepicker').append(this._getTimePickerTemplate()),
199
- content = $('<ul>').addClass('list-unstyled'),
200
- toolbar = $('<li>').addClass(`picker-switch${this._options.collapse ? ' accordion-toggle' : ''}`).append(this._getToolbar());
201
-
202
- if (this._options.inline) {
203
- template.removeClass('dropdown-menu');
204
- }
205
-
206
- if (this.use24Hours) {
207
- template.addClass('usetwentyfour');
208
- }
209
- if (this._isEnabled('s') && !this.use24Hours) {
210
- template.addClass('wider');
211
- }
212
-
213
- if (this._options.sideBySide && this._hasDate() && this._hasTime()) {
214
- template.addClass('timepicker-sbs');
215
- if (this._options.toolbarPlacement === 'top') {
216
- template.append(toolbar);
217
- }
218
- template.append($('<div>').addClass('row').append(dateView.addClass('col-md-6')).append(timeView.addClass('col-md-6')));
219
- if (this._options.toolbarPlacement === 'bottom' || this._options.toolbarPlacement === 'default') {
220
- template.append(toolbar);
221
- }
222
- return template;
223
- }
224
-
225
- if (this._options.toolbarPlacement === 'top') {
226
- content.append(toolbar);
227
- }
228
- if (this._hasDate()) {
229
- content.append($('<li>').addClass(this._options.collapse && this._hasTime() ? 'collapse' : '')
230
- .addClass((this._options.collapse && this._hasTime() && this._options.viewMode === 'times' ? '' : 'show'))
231
- .append(dateView));
232
- }
233
- if (this._options.toolbarPlacement === 'default') {
234
- content.append(toolbar);
235
- }
236
- if (this._hasTime()) {
237
- content.append($('<li>').addClass(this._options.collapse && this._hasDate() ? 'collapse' : '')
238
- .addClass((this._options.collapse && this._hasDate() && this._options.viewMode === 'times' ? 'show' : ''))
239
- .append(timeView));
240
- }
241
- if (this._options.toolbarPlacement === 'bottom') {
242
- content.append(toolbar);
243
- }
244
- return template.append(content);
245
- }
246
-
247
- _place(e) {
248
- let self = (e && e.data && e.data.picker) || this, vertical = self._options.widgetPositioning.vertical,
249
- horizontal = self._options.widgetPositioning.horizontal,
250
- parent;
251
- const position = (self.component && self.component.length ? self.component : self._element).position(),
252
- offset = (self.component && self.component.length ? self.component : self._element).offset();
253
- if (self._options.widgetParent) {
254
- parent = self._options.widgetParent.append(self.widget);
255
- } else if (self._element.is('input')) {
256
- parent = self._element.after(self.widget).parent();
257
- } else if (self._options.inline) {
258
- parent = self._element.append(self.widget);
259
- return;
260
- } else {
261
- parent = self._element;
262
- self._element.children().first().after(self.widget);
263
- }
264
-
265
- // Top and bottom logic
266
- if (vertical === 'auto') {
267
- //noinspection JSValidateTypes
268
- if (offset.top + self.widget.height() * 1.5 >= $(window).height() + $(window).scrollTop() && self.widget.height() + self._element.outerHeight() < offset.top) {
269
- vertical = 'top';
270
- } else {
271
- vertical = 'bottom';
272
- }
273
- }
274
-
275
- // Left and right logic
276
- if (horizontal === 'auto') {
277
- if (parent.width() < offset.left + self.widget.outerWidth() / 2 && offset.left + self.widget.outerWidth() > $(window).width()) {
278
- horizontal = 'right';
279
- } else {
280
- horizontal = 'left';
281
- }
282
- }
283
-
284
- if (vertical === 'top') {
285
- self.widget.addClass('top').removeClass('bottom');
286
- } else {
287
- self.widget.addClass('bottom').removeClass('top');
288
- }
289
-
290
- if (horizontal === 'right') {
291
- self.widget.addClass('float-right');
292
- } else {
293
- self.widget.removeClass('float-right');
294
- }
295
-
296
- // find the first parent element that has a relative css positioning
297
- if (parent.css('position') !== 'relative') {
298
- parent = parent.parents().filter(function () {
299
- return $(this).css('position') === 'relative';
300
- }).first();
301
- }
302
-
303
- if (parent.length === 0) {
304
- throw new Error('datetimepicker component should be placed within a relative positioned container');
305
- }
306
-
307
- self.widget.css({
308
- top: vertical === 'top' ? 'auto' : position.top + self._element.outerHeight() + 'px',
309
- bottom: vertical === 'top' ? parent.outerHeight() - (parent === self._element ? 0 : position.top) + 'px' : 'auto',
310
- left: horizontal === 'left' ? (parent === self._element ? 0 : position.left) + 'px' : 'auto',
311
- right: horizontal === 'left' ? 'auto' : parent.outerWidth() - self._element.outerWidth() - (parent === self._element ? 0 : position.left) + 'px'
312
- });
313
- }
314
-
315
- _fillDow() {
316
- const row = $('<tr>'),
317
- currentDate = this._viewDate.clone().startOf('w').startOf('d');
318
-
319
- if (this._options.calendarWeeks === true) {
320
- row.append($('<th>').addClass('cw').text('#'));
321
- }
322
-
323
- while (currentDate.isBefore(this._viewDate.clone().endOf('w'))) {
324
- row.append($('<th>').addClass('dow').text(currentDate.format('dd')));
325
- currentDate.add(1, 'd');
326
- }
327
- this.widget.find('.datepicker-days thead').append(row);
328
- }
329
-
330
- _fillMonths() {
331
- const spans = [],
332
- monthsShort = this._viewDate.clone().startOf('y').startOf('d');
333
- while (monthsShort.isSame(this._viewDate, 'y')) {
334
- spans.push($('<span>').attr('data-action', 'selectMonth').addClass('month').text(monthsShort.format('MMM')));
335
- monthsShort.add(1, 'M');
336
- }
337
- this.widget.find('.datepicker-months td').empty().append(spans);
338
- }
339
-
340
- _updateMonths() {
341
- const monthsView = this.widget.find('.datepicker-months'),
342
- monthsViewHeader = monthsView.find('th'),
343
- months = monthsView.find('tbody').find('span'), self = this;
344
-
345
- monthsViewHeader.eq(0).find('span').attr('title', this._options.tooltips.prevYear);
346
- monthsViewHeader.eq(1).attr('title', this._options.tooltips.selectYear);
347
- monthsViewHeader.eq(2).find('span').attr('title', this._options.tooltips.nextYear);
348
-
349
- monthsView.find('.disabled').removeClass('disabled');
350
-
351
- if (!this._isValid(this._viewDate.clone().subtract(1, 'y'), 'y')) {
352
- monthsViewHeader.eq(0).addClass('disabled');
353
- }
354
-
355
- monthsViewHeader.eq(1).text(this._viewDate.year());
356
-
357
- if (!this._isValid(this._viewDate.clone().add(1, 'y'), 'y')) {
358
- monthsViewHeader.eq(2).addClass('disabled');
359
- }
360
-
361
- months.removeClass('active');
362
- if (this._getLastPickedDate().isSame(this._viewDate, 'y') && !this.unset) {
363
- months.eq(this._getLastPickedDate().month()).addClass('active');
364
- }
365
-
366
- months.each(function (index) {
367
- if (!self._isValid(self._viewDate.clone().month(index), 'M')) {
368
- $(this).addClass('disabled');
369
- }
370
- });
371
- }
372
-
373
- _getStartEndYear(factor, year) {
374
- const step = factor / 10,
375
- startYear = Math.floor(year / factor) * factor,
376
- endYear = startYear + step * 9,
377
- focusValue = Math.floor(year / step) * step;
378
- return [startYear, endYear, focusValue];
379
- }
380
-
381
- _updateYears() {
382
- const yearsView = this.widget.find('.datepicker-years'),
383
- yearsViewHeader = yearsView.find('th'),
384
- yearCaps = this._getStartEndYear(10, this._viewDate.year()),
385
- startYear = this._viewDate.clone().year(yearCaps[0]),
386
- endYear = this._viewDate.clone().year(yearCaps[1]);
387
- let html = '';
388
-
389
- yearsViewHeader.eq(0).find('span').attr('title', this._options.tooltips.prevDecade);
390
- yearsViewHeader.eq(1).attr('title', this._options.tooltips.selectDecade);
391
- yearsViewHeader.eq(2).find('span').attr('title', this._options.tooltips.nextDecade);
392
-
393
- yearsView.find('.disabled').removeClass('disabled');
394
-
395
- if (this._options.minDate && this._options.minDate.isAfter(startYear, 'y')) {
396
- yearsViewHeader.eq(0).addClass('disabled');
397
- }
398
-
399
- yearsViewHeader.eq(1).text(`${startYear.year()}-${endYear.year()}`);
400
-
401
- if (this._options.maxDate && this._options.maxDate.isBefore(endYear, 'y')) {
402
- yearsViewHeader.eq(2).addClass('disabled');
403
- }
404
-
405
- html += `<span data-action="selectYear" class="year old${!this._isValid(startYear, 'y') ? ' disabled' : ''}">${startYear.year() - 1}</span>`;
406
- while (!startYear.isAfter(endYear, 'y')) {
407
- html += `<span data-action="selectYear" class="year${startYear.isSame(this._getLastPickedDate(), 'y') && !this.unset ? ' active' : ''}${!this._isValid(startYear, 'y') ? ' disabled' : ''}">${startYear.year()}</span>`;
408
- startYear.add(1, 'y');
409
- }
410
- html += `<span data-action="selectYear" class="year old${!this._isValid(startYear, 'y') ? ' disabled' : ''}">${startYear.year()}</span>`;
411
-
412
- yearsView.find('td').html(html);
413
- }
414
-
415
- _updateDecades() {
416
- const decadesView = this.widget.find('.datepicker-decades'),
417
- decadesViewHeader = decadesView.find('th'),
418
- yearCaps = this._getStartEndYear(100, this._viewDate.year()),
419
- startDecade = this._viewDate.clone().year(yearCaps[0]),
420
- endDecade = this._viewDate.clone().year(yearCaps[1]);
421
- let minDateDecade = false,
422
- maxDateDecade = false,
423
- endDecadeYear,
424
- html = '';
425
-
426
- decadesViewHeader.eq(0).find('span').attr('title', this._options.tooltips.prevCentury);
427
- decadesViewHeader.eq(2).find('span').attr('title', this._options.tooltips.nextCentury);
428
-
429
- decadesView.find('.disabled').removeClass('disabled');
430
-
431
- if (startDecade.year() === 0 || this._options.minDate && this._options.minDate.isAfter(startDecade, 'y')) {
432
- decadesViewHeader.eq(0).addClass('disabled');
433
- }
434
-
435
- decadesViewHeader.eq(1).text(`${startDecade.year()}-${endDecade.year()}`);
436
-
437
- if (this._options.maxDate && this._options.maxDate.isBefore(endDecade, 'y')) {
438
- decadesViewHeader.eq(2).addClass('disabled');
439
- }
440
-
441
- if (startDecade.year() - 10 < 0) {
442
- html += '<span>&nbsp;</span>';
443
- } else {
444
- html += `<span data-action="selectDecade" class="decade old" data-selection="${startDecade.year() + 6}">${startDecade.year() - 10}</span>`;
445
- }
446
-
447
- while (!startDecade.isAfter(endDecade, 'y')) {
448
- endDecadeYear = startDecade.year() + 11;
449
- minDateDecade = this._options.minDate && this._options.minDate.isAfter(startDecade, 'y') && this._options.minDate.year() <= endDecadeYear;
450
- maxDateDecade = this._options.maxDate && this._options.maxDate.isAfter(startDecade, 'y') && this._options.maxDate.year() <= endDecadeYear;
451
- html += `<span data-action="selectDecade" class="decade${this._getLastPickedDate().isAfter(startDecade) && this._getLastPickedDate().year() <= endDecadeYear ? ' active' : ''}${!this._isValid(startDecade, 'y') && !minDateDecade && !maxDateDecade ? ' disabled' : ''}" data-selection="${startDecade.year() + 6}">${startDecade.year()}</span>`;
452
- startDecade.add(10, 'y');
453
- }
454
- html += `<span data-action="selectDecade" class="decade old" data-selection="${startDecade.year() + 6}">${startDecade.year()}</span>`;
455
-
456
- decadesView.find('td').html(html);
457
- }
458
-
459
- _fillDate() {
460
- const daysView = this.widget.find('.datepicker-days'),
461
- daysViewHeader = daysView.find('th'),
462
- html = [];
463
- let currentDate, row, clsName, i;
464
-
465
- if (!this._hasDate()) {
466
- return;
467
- }
468
-
469
- daysViewHeader.eq(0).find('span').attr('title', this._options.tooltips.prevMonth);
470
- daysViewHeader.eq(1).attr('title', this._options.tooltips.selectMonth);
471
- daysViewHeader.eq(2).find('span').attr('title', this._options.tooltips.nextMonth);
472
-
473
- daysView.find('.disabled').removeClass('disabled');
474
- daysViewHeader.eq(1).text(this._viewDate.format(this._options.dayViewHeaderFormat));
475
-
476
- if (!this._isValid(this._viewDate.clone().subtract(1, 'M'), 'M')) {
477
- daysViewHeader.eq(0).addClass('disabled');
478
- }
479
- if (!this._isValid(this._viewDate.clone().add(1, 'M'), 'M')) {
480
- daysViewHeader.eq(2).addClass('disabled');
481
- }
482
-
483
- currentDate = this._viewDate.clone().startOf('M').startOf('w').startOf('d');
484
-
485
- for (i = 0; i < 42; i++) {
486
- //always display 42 days (should show 6 weeks)
487
- if (currentDate.weekday() === 0) {
488
- row = $('<tr>');
489
- if (this._options.calendarWeeks) {
490
- row.append(`<td class="cw">${currentDate.week()}</td>`);
491
- }
492
- html.push(row);
493
- }
494
- clsName = '';
495
- if (currentDate.isBefore(this._viewDate, 'M')) {
496
- clsName += ' old';
497
- }
498
- if (currentDate.isAfter(this._viewDate, 'M')) {
499
- clsName += ' new';
500
- }
501
- if (this._options.allowMultidate) {
502
- var index = this._datesFormatted.indexOf(currentDate.format('YYYY-MM-DD'));
503
- if (index !== -1) {
504
- if (currentDate.isSame(this._datesFormatted[index], 'd') && !this.unset) {
505
- clsName += ' active';
506
- }
507
- }
508
- } else {
509
- if (currentDate.isSame(this._getLastPickedDate(), 'd') && !this.unset) {
510
- clsName += ' active';
511
- }
512
- }
513
- if (!this._isValid(currentDate, 'd')) {
514
- clsName += ' disabled';
515
- }
516
- if (currentDate.isSame(this.getMoment(), 'd')) {
517
- clsName += ' today';
518
- }
519
- if (currentDate.day() === 0 || currentDate.day() === 6) {
520
- clsName += ' weekend';
521
- }
522
- row.append(`<td data-action="selectDay" data-day="${currentDate.format('L')}" class="day${clsName}">${currentDate.date()}</td>`);
523
- currentDate.add(1, 'd');
524
- }
525
-
526
- daysView.find('tbody').empty().append(html);
527
-
528
- this._updateMonths();
529
-
530
- this._updateYears();
531
-
532
- this._updateDecades();
533
- }
534
-
535
- _fillHours() {
536
- const table = this.widget.find('.timepicker-hours table'),
537
- currentHour = this._viewDate.clone().startOf('d'),
538
- html = [];
539
- let row = $('<tr>');
540
-
541
- if (this._viewDate.hour() > 11 && !this.use24Hours) {
542
- currentHour.hour(12);
543
- }
544
- while (currentHour.isSame(this._viewDate, 'd') && (this.use24Hours || this._viewDate.hour() < 12 && currentHour.hour() < 12 || this._viewDate.hour() > 11)) {
545
- if (currentHour.hour() % 4 === 0) {
546
- row = $('<tr>');
547
- html.push(row);
548
- }
549
- row.append(`<td data-action="selectHour" class="hour${!this._isValid(currentHour, 'h') ? ' disabled' : ''}">${currentHour.format(this.use24Hours ? 'HH' : 'hh')}</td>`);
550
- currentHour.add(1, 'h');
551
- }
552
- table.empty().append(html);
553
- }
554
-
555
- _fillMinutes() {
556
- const table = this.widget.find('.timepicker-minutes table'),
557
- currentMinute = this._viewDate.clone().startOf('h'),
558
- html = [],
559
- step = this._options.stepping === 1 ? 5 : this._options.stepping;
560
- let row = $('<tr>');
561
-
562
- while (this._viewDate.isSame(currentMinute, 'h')) {
563
- if (currentMinute.minute() % (step * 4) === 0) {
564
- row = $('<tr>');
565
- html.push(row);
566
- }
567
- row.append(`<td data-action="selectMinute" class="minute${!this._isValid(currentMinute, 'm') ? ' disabled' : ''}">${currentMinute.format('mm')}</td>`);
568
- currentMinute.add(step, 'm');
569
- }
570
- table.empty().append(html);
571
- }
572
-
573
- _fillSeconds() {
574
- const table = this.widget.find('.timepicker-seconds table'),
575
- currentSecond = this._viewDate.clone().startOf('m'),
576
- html = [];
577
- let row = $('<tr>');
578
-
579
- while (this._viewDate.isSame(currentSecond, 'm')) {
580
- if (currentSecond.second() % 20 === 0) {
581
- row = $('<tr>');
582
- html.push(row);
583
- }
584
- row.append(`<td data-action="selectSecond" class="second${!this._isValid(currentSecond, 's') ? ' disabled' : ''}">${currentSecond.format('ss')}</td>`);
585
- currentSecond.add(5, 's');
586
- }
587
-
588
- table.empty().append(html);
589
- }
590
-
591
- _fillTime() {
592
- let toggle, newDate;
593
- const timeComponents = this.widget.find('.timepicker span[data-time-component]');
594
-
595
- if (!this.use24Hours) {
596
- toggle = this.widget.find('.timepicker [data-action=togglePeriod]');
597
- newDate = this._getLastPickedDate().clone().add(this._getLastPickedDate().hours() >= 12 ? -12 : 12, 'h');
598
-
599
- toggle.text(this._getLastPickedDate().format('A'));
600
-
601
- if (this._isValid(newDate, 'h')) {
602
- toggle.removeClass('disabled');
603
- } else {
604
- toggle.addClass('disabled');
605
- }
606
- }
607
- timeComponents.filter('[data-time-component=hours]').text(this._getLastPickedDate().format(`${this.use24Hours ? 'HH' : 'hh'}`));
608
- timeComponents.filter('[data-time-component=minutes]').text(this._getLastPickedDate().format('mm'));
609
- timeComponents.filter('[data-time-component=seconds]').text(this._getLastPickedDate().format('ss'));
610
-
611
- this._fillHours();
612
- this._fillMinutes();
613
- this._fillSeconds();
614
- }
615
-
616
- _doAction(e, action) {
617
- let lastPicked = this._getLastPickedDate();
618
- if ($(e.currentTarget).is('.disabled')) {
619
- return false;
620
- }
621
- action = action || $(e.currentTarget).data('action');
622
- switch (action) {
623
- case 'next':
624
- {
625
- const navFnc = DateTimePicker.DatePickerModes[this.currentViewMode].NAV_FUNCTION;
626
- this._viewDate.add(DateTimePicker.DatePickerModes[this.currentViewMode].NAV_STEP, navFnc);
627
- this._fillDate();
628
- this._viewUpdate(navFnc);
629
- break;
630
- }
631
- case 'previous':
632
- {
633
- const navFnc = DateTimePicker.DatePickerModes[this.currentViewMode].NAV_FUNCTION;
634
- this._viewDate.subtract(DateTimePicker.DatePickerModes[this.currentViewMode].NAV_STEP, navFnc);
635
- this._fillDate();
636
- this._viewUpdate(navFnc);
637
- break;
638
- }
639
- case 'pickerSwitch':
640
- this._showMode(1);
641
- break;
642
- case 'selectMonth':
643
- {
644
- const month = $(e.target).closest('tbody').find('span').index($(e.target));
645
- this._viewDate.month(month);
646
- if (this.currentViewMode === this.MinViewModeNumber) {
647
- this._setValue(lastPicked.clone().year(this._viewDate.year()).month(this._viewDate.month()), this._getLastPickedDateIndex());
648
- if (!this._options.inline) {
649
- this.hide();
650
- }
651
- } else {
652
- this._showMode(-1);
653
- this._fillDate();
654
- }
655
- this._viewUpdate('M');
656
- break;
657
- }
658
- case 'selectYear':
659
- {
660
- const year = parseInt($(e.target).text(), 10) || 0;
661
- this._viewDate.year(year);
662
- if (this.currentViewMode === this.MinViewModeNumber) {
663
- this._setValue(lastPicked.clone().year(this._viewDate.year()), this._getLastPickedDateIndex());
664
- if (!this._options.inline) {
665
- this.hide();
666
- }
667
- } else {
668
- this._showMode(-1);
669
- this._fillDate();
670
- }
671
- this._viewUpdate('YYYY');
672
- break;
673
- }
674
- case 'selectDecade':
675
- {
676
- const year = parseInt($(e.target).data('selection'), 10) || 0;
677
- this._viewDate.year(year);
678
- if (this.currentViewMode === this.MinViewModeNumber) {
679
- this._setValue(lastPicked.clone().year(this._viewDate.year()), this._getLastPickedDateIndex());
680
- if (!this._options.inline) {
681
- this.hide();
682
- }
683
- } else {
684
- this._showMode(-1);
685
- this._fillDate();
686
- }
687
- this._viewUpdate('YYYY');
688
- break;
689
- }
690
- case 'selectDay':
691
- {
692
- const day = this._viewDate.clone();
693
- if ($(e.target).is('.old')) {
694
- day.subtract(1, 'M');
695
- }
696
- if ($(e.target).is('.new')) {
697
- day.add(1, 'M');
698
- }
699
-
700
- var selectDate = day.date(parseInt($(e.target).text(), 10)), index = 0;
701
- if (this._options.allowMultidate) {
702
- index = this._datesFormatted.indexOf(selectDate.format('YYYY-MM-DD'));
703
- if (index !== -1) {
704
- this._setValue(null, index); //deselect multidate
705
- } else {
706
- this._setValue(selectDate, this._getLastPickedDateIndex() + 1);
707
- }
708
- } else {
709
- this._setValue(selectDate, this._getLastPickedDateIndex());
710
- }
711
-
712
- if (!this._hasTime() && !this._options.keepOpen && !this._options.inline && !this._options.allowMultidate) {
713
- this.hide();
714
- }
715
- break;
716
- }
717
- case 'incrementHours':
718
- {
719
- const newDate = lastPicked.clone().add(1, 'h');
720
- if (this._isValid(newDate, 'h')) {
721
- this._setValue(newDate, this._getLastPickedDateIndex());
722
- }
723
- break;
724
- }
725
- case 'incrementMinutes':
726
- {
727
- const newDate = lastPicked.clone().add(this._options.stepping, 'm');
728
- if (this._isValid(newDate, 'm')) {
729
- this._setValue(newDate, this._getLastPickedDateIndex());
730
- }
731
- break;
732
- }
733
- case 'incrementSeconds':
734
- {
735
- const newDate = lastPicked.clone().add(1, 's');
736
- if (this._isValid(newDate, 's')) {
737
- this._setValue(newDate, this._getLastPickedDateIndex());
738
- }
739
- break;
740
- }
741
- case 'decrementHours':
742
- {
743
- const newDate = lastPicked.clone().subtract(1, 'h');
744
- if (this._isValid(newDate, 'h')) {
745
- this._setValue(newDate, this._getLastPickedDateIndex());
746
- }
747
- break;
748
- }
749
- case 'decrementMinutes':
750
- {
751
- const newDate = lastPicked.clone().subtract(this._options.stepping, 'm');
752
- if (this._isValid(newDate, 'm')) {
753
- this._setValue(newDate, this._getLastPickedDateIndex());
754
- }
755
- break;
756
- }
757
- case 'decrementSeconds':
758
- {
759
- const newDate = lastPicked.clone().subtract(1, 's');
760
- if (this._isValid(newDate, 's')) {
761
- this._setValue(newDate, this._getLastPickedDateIndex());
762
- }
763
- break;
764
- }
765
- case 'togglePeriod':
766
- {
767
- this._setValue(lastPicked.clone().add(lastPicked.hours() >= 12 ? -12 : 12, 'h'), this._getLastPickedDateIndex());
768
- break;
769
- }
770
- case 'togglePicker':
771
- {
772
- const $this = $(e.target),
773
- $link = $this.closest('a'),
774
- $parent = $this.closest('ul'),
775
- expanded = $parent.find('.show'),
776
- closed = $parent.find('.collapse:not(.show)'),
777
- $span = $this.is('span') ? $this : $this.find('span');
778
- let collapseData;
779
-
780
- if (expanded && expanded.length) {
781
- collapseData = expanded.data('collapse');
782
- if (collapseData && collapseData.transitioning) {
783
- return true;
784
- }
785
- if (expanded.collapse) {
786
- // if collapse plugin is available through bootstrap.js then use it
787
- expanded.collapse('hide');
788
- closed.collapse('show');
789
- } else {
790
- // otherwise just toggle in class on the two views
791
- expanded.removeClass('show');
792
- closed.addClass('show');
793
- }
794
- $span.toggleClass(this._options.icons.time + ' ' + this._options.icons.date);
795
-
796
- if ($span.hasClass(this._options.icons.date)) {
797
- $link.attr('title', this._options.tooltips.selectDate);
798
- } else {
799
- $link.attr('title', this._options.tooltips.selectTime);
800
- }
801
- }
802
- }
803
- break;
804
- case 'showPicker':
805
- this.widget.find('.timepicker > div:not(.timepicker-picker)').hide();
806
- this.widget.find('.timepicker .timepicker-picker').show();
807
- break;
808
- case 'showHours':
809
- this.widget.find('.timepicker .timepicker-picker').hide();
810
- this.widget.find('.timepicker .timepicker-hours').show();
811
- break;
812
- case 'showMinutes':
813
- this.widget.find('.timepicker .timepicker-picker').hide();
814
- this.widget.find('.timepicker .timepicker-minutes').show();
815
- break;
816
- case 'showSeconds':
817
- this.widget.find('.timepicker .timepicker-picker').hide();
818
- this.widget.find('.timepicker .timepicker-seconds').show();
819
- break;
820
- case 'selectHour':
821
- {
822
- let hour = parseInt($(e.target).text(), 10);
823
-
824
- if (!this.use24Hours) {
825
- if (lastPicked.hours() >= 12) {
826
- if (hour !== 12) {
827
- hour += 12;
828
- }
829
- } else {
830
- if (hour === 12) {
831
- hour = 0;
832
- }
833
- }
834
- }
835
- this._setValue(lastPicked.clone().hours(hour), this._getLastPickedDateIndex());
836
- if (!this._isEnabled('a') && !this._isEnabled('m') && !this._options.keepOpen && !this._options.inline) {
837
- this.hide();
838
- }
839
- else {
840
- this._doAction(e, 'showPicker');
841
- }
842
- break;
843
- }
844
- case 'selectMinute':
845
- this._setValue(lastPicked.clone().minutes(parseInt($(e.target).text(), 10)), this._getLastPickedDateIndex());
846
- if (!this._isEnabled('a') && !this._isEnabled('s') && !this._options.keepOpen && !this._options.inline) {
847
- this.hide();
848
- }
849
- else {
850
- this._doAction(e, 'showPicker');
851
- }
852
- break;
853
- case 'selectSecond':
854
- this._setValue(lastPicked.clone().seconds(parseInt($(e.target).text(), 10)), this._getLastPickedDateIndex());
855
- if (!this._isEnabled('a') && !this._options.keepOpen && !this._options.inline) {
856
- this.hide();
857
- }
858
- else {
859
- this._doAction(e, 'showPicker');
860
- }
861
- break;
862
- case 'clear':
863
- this.clear();
864
- break;
865
- case 'close':
866
- this.hide();
867
- break;
868
- case 'today':
869
- {
870
- const todaysDate = this.getMoment();
871
- if (this._isValid(todaysDate, 'd')) {
872
- this._setValue(todaysDate, this._getLastPickedDateIndex());
873
- }
874
- break;
875
- }
876
- }
877
- return false;
878
- }
879
-
880
- //public
881
- hide() {
882
- let transitioning = false;
883
- if (!this.widget) {
884
- return;
885
- }
886
- // Ignore event if in the middle of a picker transition
887
- this.widget.find('.collapse').each(function () {
888
- const collapseData = $(this).data('collapse');
889
- if (collapseData && collapseData.transitioning) {
890
- transitioning = true;
891
- return false;
892
- }
893
- return true;
894
- });
895
- if (transitioning) {
896
- return;
897
- }
898
- if (this.component && this.component.hasClass('btn')) {
899
- this.component.toggleClass('active');
900
- }
901
- this.widget.hide();
902
-
903
- $(window).off('resize', this._place());
904
- this.widget.off('click', '[data-action]');
905
- this.widget.off('mousedown', false);
906
-
907
- this.widget.remove();
908
- this.widget = false;
909
-
910
- this._notifyEvent({
911
- type: DateTimePicker.Event.HIDE,
912
- date: this._getLastPickedDate().clone()
913
- });
914
-
915
- if (this.input !== undefined) {
916
- this.input.blur();
917
- }
918
-
919
- this._viewDate = this._getLastPickedDate().clone();
920
- }
921
-
922
- show() {
923
- let currentMoment;
924
- const useCurrentGranularity = {
925
- 'year': function (m) {
926
- return m.month(0).date(1).hours(0).seconds(0).minutes(0);
927
- },
928
- 'month': function (m) {
929
- return m.date(1).hours(0).seconds(0).minutes(0);
930
- },
931
- 'day': function (m) {
932
- return m.hours(0).seconds(0).minutes(0);
933
- },
934
- 'hour': function (m) {
935
- return m.seconds(0).minutes(0);
936
- },
937
- 'minute': function (m) {
938
- return m.seconds(0);
939
- }
940
- };
941
-
942
- if (this.input !== undefined) {
943
- if (this.input.prop('disabled') || !this._options.ignoreReadonly && this.input.prop('readonly') || this.widget) {
944
- return;
945
- }
946
- if (this.input.val() !== undefined && this.input.val().trim().length !== 0) {
947
- this._setValue(this._parseInputDate(this.input.val().trim()), 0);
948
- } else if (this.unset && this._options.useCurrent) {
949
- currentMoment = this.getMoment();
950
- if (typeof this._options.useCurrent === 'string') {
951
- currentMoment = useCurrentGranularity[this._options.useCurrent](currentMoment);
952
- }
953
- this._setValue(currentMoment, 0);
954
- }
955
- } else if (this.unset && this._options.useCurrent) {
956
- currentMoment = this.getMoment();
957
- if (typeof this._options.useCurrent === 'string') {
958
- currentMoment = useCurrentGranularity[this._options.useCurrent](currentMoment);
959
- }
960
- this._setValue(currentMoment, 0);
961
- }
962
-
963
- this.widget = this._getTemplate();
964
-
965
- this._fillDow();
966
- this._fillMonths();
967
-
968
- this.widget.find('.timepicker-hours').hide();
969
- this.widget.find('.timepicker-minutes').hide();
970
- this.widget.find('.timepicker-seconds').hide();
971
-
972
- this._update();
973
- this._showMode();
974
-
975
- $(window).on('resize', { picker: this }, this._place);
976
- this.widget.on('click', '[data-action]', $.proxy(this._doAction, this)); // this handles clicks on the widget
977
- this.widget.on('mousedown', false);
978
-
979
- if (this.component && this.component.hasClass('btn')) {
980
- this.component.toggleClass('active');
981
- }
982
- this._place();
983
- this.widget.show();
984
- if (this.input !== undefined && this._options.focusOnShow && !this.input.is(':focus')) {
985
- this.input.focus();
986
- }
987
-
988
- this._notifyEvent({
989
- type: DateTimePicker.Event.SHOW
990
- });
991
- }
992
-
993
- destroy() {
994
- this.hide();
995
- //todo doc off?
996
- this._element.removeData(DateTimePicker.DATA_KEY);
997
- this._element.removeData('date');
998
- }
999
-
1000
- disable() {
1001
- this.hide();
1002
- if (this.component && this.component.hasClass('btn')) {
1003
- this.component.addClass('disabled');
1004
- }
1005
- if (this.input !== undefined) {
1006
- this.input.prop('disabled', true); //todo disable this/comp if input is null
1007
- }
1008
- }
1009
-
1010
- enable() {
1011
- if (this.component && this.component.hasClass('btn')) {
1012
- this.component.removeClass('disabled');
1013
- }
1014
- if (this.input !== undefined) {
1015
- this.input.prop('disabled', false); //todo enable comp/this if input is null
1016
- }
1017
- }
1018
-
1019
- toolbarPlacement(toolbarPlacement) {
1020
- if (arguments.length === 0) {
1021
- return this._options.toolbarPlacement;
1022
- }
1023
-
1024
- if (typeof toolbarPlacement !== 'string') {
1025
- throw new TypeError('toolbarPlacement() expects a string parameter');
1026
- }
1027
- if (toolbarPlacements.indexOf(toolbarPlacement) === -1) {
1028
- throw new TypeError(`toolbarPlacement() parameter must be one of (${toolbarPlacements.join(', ')}) value`);
1029
- }
1030
- this._options.toolbarPlacement = toolbarPlacement;
1031
-
1032
- if (this.widget) {
1033
- this.hide();
1034
- this.show();
1035
- }
1036
- }
1037
-
1038
- widgetPositioning(widgetPositioning) {
1039
- if (arguments.length === 0) {
1040
- return $.extend({}, this._options.widgetPositioning);
1041
- }
1042
-
1043
- if ({}.toString.call(widgetPositioning) !== '[object Object]') {
1044
- throw new TypeError('widgetPositioning() expects an object variable');
1045
- }
1046
- if (widgetPositioning.horizontal) {
1047
- if (typeof widgetPositioning.horizontal !== 'string') {
1048
- throw new TypeError('widgetPositioning() horizontal variable must be a string');
1049
- }
1050
- widgetPositioning.horizontal = widgetPositioning.horizontal.toLowerCase();
1051
- if (horizontalModes.indexOf(widgetPositioning.horizontal) === -1) {
1052
- throw new TypeError(`widgetPositioning() expects horizontal parameter to be one of (${horizontalModes.join(', ')})`);
1053
- }
1054
- this._options.widgetPositioning.horizontal = widgetPositioning.horizontal;
1055
- }
1056
- if (widgetPositioning.vertical) {
1057
- if (typeof widgetPositioning.vertical !== 'string') {
1058
- throw new TypeError('widgetPositioning() vertical variable must be a string');
1059
- }
1060
- widgetPositioning.vertical = widgetPositioning.vertical.toLowerCase();
1061
- if (verticalModes.indexOf(widgetPositioning.vertical) === -1) {
1062
- throw new TypeError(`widgetPositioning() expects vertical parameter to be one of (${verticalModes.join(', ')})`);
1063
- }
1064
- this._options.widgetPositioning.vertical = widgetPositioning.vertical;
1065
- }
1066
- this._update();
1067
- }
1068
-
1069
- widgetParent(widgetParent) {
1070
- if (arguments.length === 0) {
1071
- return this._options.widgetParent;
1072
- }
1073
-
1074
- if (typeof widgetParent === 'string') {
1075
- widgetParent = $(widgetParent);
1076
- }
1077
-
1078
- if (widgetParent !== null && typeof widgetParent !== 'string' && !(widgetParent instanceof $)) {
1079
- throw new TypeError('widgetParent() expects a string or a jQuery object parameter');
1080
- }
1081
-
1082
- this._options.widgetParent = widgetParent;
1083
- if (this.widget) {
1084
- this.hide();
1085
- this.show();
1086
- }
1087
- }
1088
-
1089
- //static
1090
- static _jQueryHandleThis(me, option, argument) {
1091
- let data = $(me).data(DateTimePicker.DATA_KEY);
1092
- if (typeof option === 'object') {
1093
- $.extend({}, DateTimePicker.Default, option);
1094
- }
1095
-
1096
- if (!data) {
1097
- data = new TempusDominusBootstrap4($(me), option);
1098
- $(me).data(DateTimePicker.DATA_KEY, data);
1099
- }
1100
-
1101
- if (typeof option === 'string') {
1102
- if (data[option] === undefined) {
1103
- throw new Error(`No method named "${option}"`);
1104
- }
1105
- if (argument === undefined) {
1106
- return data[option]();
1107
- }
1108
- else {
1109
- return data[option](argument);
1110
- }
1111
- }
1112
- }
1113
-
1114
-
1115
- static _jQueryInterface(option, argument) {
1116
- if (this.length === 1) {
1117
- return TempusDominusBootstrap4._jQueryHandleThis(this[0], option, argument);
1118
- }
1119
- return this.each(function () {
1120
- TempusDominusBootstrap4._jQueryHandleThis(this, option, argument);
1121
- });
1122
- }
1123
- }
1124
-
1125
- /**
1126
- * ------------------------------------------------------------------------
1127
- * jQuery
1128
- * ------------------------------------------------------------------------
1129
- */
1130
- $(document).on(DateTimePicker.Event.CLICK_DATA_API, DateTimePicker.Selector.DATA_TOGGLE, function () {
1131
- const $target = getSelectorFromElement($(this));
1132
- if ($target.length === 0) {
1133
- return;
1134
- }
1135
- TempusDominusBootstrap4._jQueryInterface.call($target, 'toggle');
1136
- }).on(DateTimePicker.Event.CHANGE, `.${DateTimePicker.ClassName.INPUT}`, function (event) {
1137
- const $target = getSelectorFromElement($(this));
1138
- if ($target.length === 0) {
1139
- return;
1140
- }
1141
- TempusDominusBootstrap4._jQueryInterface.call($target, '_change', event);
1142
- }).on(DateTimePicker.Event.BLUR, `.${DateTimePicker.ClassName.INPUT}`, function (event) {
1143
- const $target = getSelectorFromElement($(this)), config = $target.data(DateTimePicker.DATA_KEY);
1144
- if ($target.length === 0) {
1145
- return;
1146
- }
1147
- if (config._options.debug || window.debug) {
1148
- return;
1149
- }
1150
- TempusDominusBootstrap4._jQueryInterface.call($target, 'hide', event);
1151
- }).on(DateTimePicker.Event.KEYDOWN, `.${DateTimePicker.ClassName.INPUT}`, function (event) {
1152
- const $target = getSelectorFromElement($(this));
1153
- if ($target.length === 0) {
1154
- return;
1155
- }
1156
- TempusDominusBootstrap4._jQueryInterface.call($target, '_keydown', event);
1157
- }).on(DateTimePicker.Event.KEYUP, `.${DateTimePicker.ClassName.INPUT}`, function (event) {
1158
- const $target = getSelectorFromElement($(this));
1159
- if ($target.length === 0) {
1160
- return;
1161
- }
1162
- TempusDominusBootstrap4._jQueryInterface.call($target, '_keyup', event);
1163
- }).on(DateTimePicker.Event.FOCUS, `.${DateTimePicker.ClassName.INPUT}`, function (event) {
1164
- const $target = getSelectorFromElement($(this)), config = $target.data(DateTimePicker.DATA_KEY);
1165
- if ($target.length === 0) {
1166
- return;
1167
- }
1168
- if (!config._options.allowInputToggle) {
1169
- return;
1170
- }
1171
- TempusDominusBootstrap4._jQueryInterface.call($target, 'show', event);
1172
- });
1173
-
1174
- $.fn[DateTimePicker.NAME] = TempusDominusBootstrap4._jQueryInterface;
1175
- $.fn[DateTimePicker.NAME].Constructor = TempusDominusBootstrap4;
1176
- $.fn[DateTimePicker.NAME].noConflict = function () {
1177
- $.fn[DateTimePicker.NAME] = JQUERY_NO_CONFLICT;
1178
- return TempusDominusBootstrap4._jQueryInterface;
1179
- };
1180
-
1181
- return TempusDominusBootstrap4;
1182
- })(jQuery);