@yelon/util 12.0.17 → 12.0.18

Sign up to get free protection for your applications and to get access to all the features.
Files changed (224) hide show
  1. package/LICENSE +21 -21
  2. package/array/array-type.service.d.ts +68 -68
  3. package/array/array.service.d.ts +75 -75
  4. package/array/index.d.ts +2 -2
  5. package/array/yelon-util-array.d.ts +4 -4
  6. package/browser/browser.d.ts +4 -4
  7. package/browser/cookie.service.d.ts +64 -64
  8. package/browser/copy.d.ts +6 -6
  9. package/browser/index.d.ts +5 -5
  10. package/browser/is-empty.d.ts +6 -6
  11. package/browser/scroll.service.d.ts +34 -34
  12. package/browser/style.d.ts +21 -21
  13. package/bundles/browser.umd.js +275 -275
  14. package/bundles/yelon-util-array.umd.js +602 -602
  15. package/bundles/yelon-util-config.umd.js +366 -366
  16. package/bundles/yelon-util-date-time.umd.js +216 -216
  17. package/bundles/yelon-util-decorator.umd.js +437 -437
  18. package/bundles/yelon-util-form.umd.js +116 -116
  19. package/bundles/yelon-util-format.umd.js +726 -726
  20. package/bundles/yelon-util-math.umd.js +83 -83
  21. package/bundles/yelon-util-other.umd.js +652 -652
  22. package/bundles/yelon-util-pipes-currency.umd.js +83 -83
  23. package/bundles/yelon-util-pipes-filter.umd.js +353 -353
  24. package/bundles/yelon-util-pipes-format.umd.js +47 -47
  25. package/bundles/yelon-util-pipes.umd.js +7 -7
  26. package/bundles/yelon-util-token.umd.js +30 -30
  27. package/bundles/yelon-util.umd.js +7 -7
  28. package/config/abc/date-picker.type.d.ts +52 -52
  29. package/config/abc/error-collect.type.d.ts +10 -10
  30. package/config/abc/image.type.d.ts +15 -15
  31. package/config/abc/index.d.ts +16 -16
  32. package/config/abc/loading.type.d.ts +31 -31
  33. package/config/abc/lodop.type.d.ts +33 -33
  34. package/config/abc/media.type.d.ts +11 -11
  35. package/config/abc/onboarding.type.d.ts +4 -4
  36. package/config/abc/page-header.type.d.ts +39 -39
  37. package/config/abc/pdf.type.d.ts +35 -35
  38. package/config/abc/qr.type.d.ts +25 -25
  39. package/config/abc/se.type.d.ts +32 -32
  40. package/config/abc/sg.type.d.ts +10 -10
  41. package/config/abc/st.type.d.ts +427 -427
  42. package/config/abc/sv.type.d.ts +14 -14
  43. package/config/abc/xlsx.type.d.ts +12 -12
  44. package/config/abc/zip.type.d.ts +10 -10
  45. package/config/acl/acl.type.d.ts +32 -32
  46. package/config/auth/auth.type.d.ts +55 -55
  47. package/config/bis/bis.type.d.ts +7 -7
  48. package/config/cache/cache.type.d.ts +40 -40
  49. package/config/chart/chart.type.d.ts +33 -33
  50. package/config/config.service.d.ts +10 -10
  51. package/config/config.types.d.ts +49 -49
  52. package/config/index.d.ts +14 -14
  53. package/config/mock/mock.type.d.ts +18 -18
  54. package/config/sf/sf.type.d.ts +127 -127
  55. package/config/stomp/stomp.type.d.ts +2 -2
  56. package/config/theme/http.type.d.ts +14 -14
  57. package/config/theme/i18n.type.d.ts +8 -8
  58. package/config/theme/index.d.ts +3 -3
  59. package/config/theme/responsive.type.d.ts +12 -12
  60. package/config/util/array.type.d.ts +22 -22
  61. package/config/util/currency.type.d.ts +39 -39
  62. package/config/yelon-util-config.d.ts +4 -4
  63. package/date-time/index.d.ts +2 -2
  64. package/date-time/picker.d.ts +68 -68
  65. package/date-time/time.d.ts +26 -26
  66. package/date-time/yelon-util-date-time.d.ts +4 -4
  67. package/decorator/convert.d.ts +24 -24
  68. package/decorator/index.d.ts +2 -2
  69. package/decorator/yelon-util-decorator.d.ts +4 -4
  70. package/decorator/zone-outside.d.ts +35 -35
  71. package/esm2015/array/array-type.service.js +1 -1
  72. package/esm2015/array/array.service.js +249 -249
  73. package/esm2015/array/index.js +2 -2
  74. package/esm2015/array/yelon-util-array.js +4 -4
  75. package/esm2015/browser/browser.js +4 -4
  76. package/esm2015/browser/cookie.service.js +103 -103
  77. package/esm2015/browser/copy.js +26 -26
  78. package/esm2015/browser/index.js +5 -5
  79. package/esm2015/browser/is-empty.js +18 -18
  80. package/esm2015/browser/scroll.service.js +88 -88
  81. package/esm2015/browser/style.js +37 -37
  82. package/esm2015/config/abc/date-picker.type.js +1 -1
  83. package/esm2015/config/abc/error-collect.type.js +1 -1
  84. package/esm2015/config/abc/image.type.js +1 -1
  85. package/esm2015/config/abc/index.js +16 -16
  86. package/esm2015/config/abc/loading.type.js +1 -1
  87. package/esm2015/config/abc/lodop.type.js +1 -1
  88. package/esm2015/config/abc/media.type.js +1 -1
  89. package/esm2015/config/abc/onboarding.type.js +1 -1
  90. package/esm2015/config/abc/page-header.type.js +1 -1
  91. package/esm2015/config/abc/pdf.type.js +1 -1
  92. package/esm2015/config/abc/qr.type.js +1 -1
  93. package/esm2015/config/abc/se.type.js +1 -1
  94. package/esm2015/config/abc/sg.type.js +1 -1
  95. package/esm2015/config/abc/st.type.js +1 -1
  96. package/esm2015/config/abc/sv.type.js +2 -2
  97. package/esm2015/config/abc/xlsx.type.js +1 -1
  98. package/esm2015/config/abc/zip.type.js +1 -1
  99. package/esm2015/config/acl/acl.type.js +1 -1
  100. package/esm2015/config/auth/auth.type.js +1 -1
  101. package/esm2015/config/bis/bis.type.js +1 -1
  102. package/esm2015/config/cache/cache.type.js +1 -1
  103. package/esm2015/config/chart/chart.type.js +1 -1
  104. package/esm2015/config/config.service.js +33 -33
  105. package/esm2015/config/config.types.js +8 -8
  106. package/esm2015/config/index.js +14 -14
  107. package/esm2015/config/mock/mock.type.js +1 -1
  108. package/esm2015/config/sf/sf.type.js +1 -1
  109. package/esm2015/config/stomp/stomp.type.js +1 -1
  110. package/esm2015/config/theme/http.type.js +1 -1
  111. package/esm2015/config/theme/i18n.type.js +1 -1
  112. package/esm2015/config/theme/index.js +3 -3
  113. package/esm2015/config/theme/responsive.type.js +1 -1
  114. package/esm2015/config/util/array.type.js +1 -1
  115. package/esm2015/config/util/currency.type.js +1 -1
  116. package/esm2015/config/yelon-util-config.js +4 -4
  117. package/esm2015/date-time/index.js +2 -2
  118. package/esm2015/date-time/picker.js +115 -115
  119. package/esm2015/date-time/time.js +83 -83
  120. package/esm2015/date-time/yelon-util-date-time.js +4 -4
  121. package/esm2015/decorator/convert.js +55 -55
  122. package/esm2015/decorator/index.js +2 -2
  123. package/esm2015/decorator/yelon-util-decorator.js +4 -4
  124. package/esm2015/decorator/zone-outside.js +54 -54
  125. package/esm2015/form/index.js +2 -2
  126. package/esm2015/form/match-control.js +29 -29
  127. package/esm2015/form/validators.js +80 -80
  128. package/esm2015/form/yelon-util-form.js +4 -4
  129. package/esm2015/format/currency.service.js +224 -224
  130. package/esm2015/format/currency.types.js +7 -7
  131. package/esm2015/format/index.js +4 -4
  132. package/esm2015/format/string.js +75 -75
  133. package/esm2015/format/validate.js +93 -93
  134. package/esm2015/format/yelon-util-format.js +4 -4
  135. package/esm2015/index.js +11 -11
  136. package/esm2015/math/in-range.js +24 -24
  137. package/esm2015/math/index.js +2 -2
  138. package/esm2015/math/round.js +52 -52
  139. package/esm2015/math/yelon-util-math.js +4 -4
  140. package/esm2015/other/assert.js +66 -66
  141. package/esm2015/other/deep.js +75 -75
  142. package/esm2015/other/index.js +4 -4
  143. package/esm2015/other/lazy.service.js +117 -117
  144. package/esm2015/other/logger.js +32 -32
  145. package/esm2015/other/yelon-util-other.js +4 -4
  146. package/esm2015/pipes/currency/cny.pipe.js +21 -21
  147. package/esm2015/pipes/currency/index.js +3 -3
  148. package/esm2015/pipes/currency/mega.pipe.js +25 -25
  149. package/esm2015/pipes/currency/module.js +13 -13
  150. package/esm2015/pipes/currency/price.pipe.js +25 -25
  151. package/esm2015/pipes/currency/yelon-util-pipes-currency.js +5 -5
  152. package/esm2015/pipes/filter/filter.pipe.js +14 -14
  153. package/esm2015/pipes/filter/index.js +2 -2
  154. package/esm2015/pipes/filter/module.js +11 -11
  155. package/esm2015/pipes/filter/yelon-util-pipes-filter.js +4 -4
  156. package/esm2015/pipes/format/index.js +2 -2
  157. package/esm2015/pipes/format/mask.pipe.js +29 -29
  158. package/esm2015/pipes/format/module.js +11 -11
  159. package/esm2015/pipes/format/yelon-util-pipes-format.js +4 -4
  160. package/esm2015/pipes/index.js +3 -3
  161. package/esm2015/pipes/yelon-util-pipes.js +4 -4
  162. package/esm2015/token/index.js +2 -2
  163. package/esm2015/token/page-visibility.js +15 -15
  164. package/esm2015/token/window.js +16 -16
  165. package/esm2015/token/yelon-util-token.js +4 -4
  166. package/esm2015/yelon-util.js +4 -4
  167. package/fesm2015/browser.js +257 -257
  168. package/fesm2015/yelon-util-array.js +245 -245
  169. package/fesm2015/yelon-util-config.js +36 -36
  170. package/fesm2015/yelon-util-date-time.js +196 -196
  171. package/fesm2015/yelon-util-decorator.js +107 -107
  172. package/fesm2015/yelon-util-form.js +108 -108
  173. package/fesm2015/yelon-util-format.js +390 -390
  174. package/fesm2015/yelon-util-math.js +75 -75
  175. package/fesm2015/yelon-util-other.js +280 -280
  176. package/fesm2015/yelon-util-pipes-currency.js +72 -72
  177. package/fesm2015/yelon-util-pipes-filter.js +22 -22
  178. package/fesm2015/yelon-util-pipes-format.js +36 -36
  179. package/fesm2015/yelon-util-pipes.js +2 -2
  180. package/fesm2015/yelon-util-token.js +25 -25
  181. package/fesm2015/yelon-util.js +2 -2
  182. package/form/index.d.ts +2 -2
  183. package/form/match-control.d.ts +15 -15
  184. package/form/validators.d.ts +62 -62
  185. package/form/yelon-util-form.d.ts +4 -4
  186. package/format/currency.service.d.ts +34 -34
  187. package/format/currency.types.d.ts +77 -77
  188. package/format/index.d.ts +4 -4
  189. package/format/string.d.ts +44 -44
  190. package/format/validate.d.ts +72 -72
  191. package/format/yelon-util-format.d.ts +4 -4
  192. package/index.d.ts +11 -11
  193. package/math/in-range.d.ts +14 -14
  194. package/math/index.d.ts +2 -2
  195. package/math/round.d.ts +33 -33
  196. package/math/yelon-util-math.d.ts +4 -4
  197. package/other/assert.d.ts +36 -36
  198. package/other/deep.d.ts +33 -33
  199. package/other/index.d.ts +4 -4
  200. package/other/lazy.service.d.ts +22 -22
  201. package/other/logger.d.ts +5 -5
  202. package/other/yelon-util-other.d.ts +4 -4
  203. package/package.json +1 -1
  204. package/pipes/currency/cny.pipe.d.ts +12 -12
  205. package/pipes/currency/index.d.ts +3 -3
  206. package/pipes/currency/mega.pipe.d.ts +13 -13
  207. package/pipes/currency/module.d.ts +2 -2
  208. package/pipes/currency/price.pipe.d.ts +16 -16
  209. package/pipes/currency/yelon-util-pipes-currency.d.ts +5 -5
  210. package/pipes/filter/filter.pipe.d.ts +10 -10
  211. package/pipes/filter/index.d.ts +2 -2
  212. package/pipes/filter/module.d.ts +2 -2
  213. package/pipes/filter/yelon-util-pipes-filter.d.ts +4 -4
  214. package/pipes/format/index.d.ts +2 -2
  215. package/pipes/format/mask.pipe.d.ts +24 -24
  216. package/pipes/format/module.d.ts +2 -2
  217. package/pipes/format/yelon-util-pipes-format.d.ts +4 -4
  218. package/pipes/index.d.ts +3 -3
  219. package/pipes/yelon-util-pipes.d.ts +4 -4
  220. package/token/index.d.ts +2 -2
  221. package/token/page-visibility.d.ts +8 -8
  222. package/token/window.d.ts +7 -7
  223. package/token/yelon-util-token.d.ts +4 -4
  224. package/yelon-util.d.ts +4 -4
@@ -1,229 +1,229 @@
1
- /**
2
- * @license ng-yunzai(devcui@outlook.com) v12.0.17
3
- * (c) 2020 devcui https://github.com/hbyunzai/yelon/
4
- * License: MIT
5
- */
1
+ /**
2
+ * @license ng-yunzai(devcui@outlook.com) v12.0.18
3
+ * (c) 2020 devcui https://github.com/hbyunzai/yelon/
4
+ * License: MIT
5
+ */
6
6
  (function (global, factory) {
7
7
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('date-fns')) :
8
8
  typeof define === 'function' && define.amd ? define('@yelon/util/date-time', ['exports', 'date-fns'], factory) :
9
9
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.yelon = global.yelon || {}, global.yelon.util = global.yelon.util || {}, global.yelon.util["date-time"] = {}), global.dateFns));
10
10
  })(this, (function (exports, dateFns) { 'use strict';
11
11
 
12
- /**
13
- * Get the time range, return `[ Date, Date]` for the start and end dates
14
- *
15
- * 获取时间范围
16
- *
17
- * @param type 类型,带 `-` 表示过去一个时间,若指定 `number` 表示天数
18
- * @param time 开始时间
19
- */
20
- function getTimeDistance(type, time) {
21
- time = time
22
- ? typeof time === 'string'
23
- ? dateFns.parse(time, 'yyyy-MM-dd HH:mm:ss', new Date())
24
- : new Date(time)
25
- : new Date();
26
- var options = { weekStartsOn: 1 };
27
- var res;
28
- switch (type) {
29
- case 'today':
30
- res = [time, time];
31
- break;
32
- case '-today':
33
- res = [dateFns.addDays(time, -1), time];
34
- break;
35
- case 'yesterday':
36
- res = [dateFns.addDays(time, -1), dateFns.addDays(time, -1)];
37
- break;
38
- case 'week':
39
- res = [dateFns.startOfWeek(time, options), dateFns.endOfWeek(time, options)];
40
- break;
41
- case '-week':
42
- res = [dateFns.startOfWeek(dateFns.subWeeks(time, 1), options), dateFns.endOfWeek(dateFns.subWeeks(time, 1), options)];
43
- break;
44
- case 'month':
45
- res = [dateFns.startOfMonth(time), dateFns.endOfMonth(time)];
46
- break;
47
- case '-month':
48
- res = [dateFns.startOfMonth(dateFns.subMonths(time, 1)), dateFns.endOfMonth(dateFns.subMonths(time, 1))];
49
- break;
50
- case 'year':
51
- res = [dateFns.startOfYear(time), dateFns.endOfYear(time)];
52
- break;
53
- case '-year':
54
- res = [dateFns.startOfYear(dateFns.subYears(time, 1)), dateFns.endOfYear(dateFns.subYears(time, 1))];
55
- break;
56
- default:
57
- res = type > 0 ? [time, dateFns.addDays(time, type)] : [dateFns.addDays(time, type), time];
58
- break;
59
- }
60
- return fixEndTimeOfRange(res);
61
- }
62
- /**
63
- * fix time is the most, big value
64
- */
65
- function fixEndTimeOfRange(dates) {
66
- return [dateFns.startOfDay(dates[0]), dateFns.endOfDay(dates[1])];
67
- }
68
- /**
69
- * Return the date parsed from string using the given format string
70
- * - If the argument is a number, it is treated as a timestamp.
71
- *
72
- * @param formatString If parsing fails try to parse the date by pressing `formatString`
73
- * @param defaultValue If parsing fails returned default value, default: `new Date(NaN)`
74
- */
75
- function toDate(value, options) {
76
- if (typeof options === 'string')
77
- options = { formatString: options };
78
- var _a = Object.assign({ formatString: 'yyyy-MM-dd HH:mm:ss', defaultValue: new Date(NaN) }, options), formatString = _a.formatString, defaultValue = _a.defaultValue;
79
- if (value == null) {
80
- return defaultValue;
81
- }
82
- if (value instanceof Date) {
83
- return value;
84
- }
85
- if (typeof value === 'number' || (typeof value === 'string' && /[0-9]{10,13}/.test(value))) {
86
- return new Date(+value);
87
- }
88
- var tryDate = dateFns.parseISO(value);
89
- if (isNaN(tryDate)) {
90
- tryDate = dateFns.parse(value, formatString, new Date());
91
- }
92
- return isNaN(tryDate) ? defaultValue : tryDate;
12
+ /**
13
+ * Get the time range, return `[ Date, Date]` for the start and end dates
14
+ *
15
+ * 获取时间范围
16
+ *
17
+ * @param type 类型,带 `-` 表示过去一个时间,若指定 `number` 表示天数
18
+ * @param time 开始时间
19
+ */
20
+ function getTimeDistance(type, time) {
21
+ time = time
22
+ ? typeof time === 'string'
23
+ ? dateFns.parse(time, 'yyyy-MM-dd HH:mm:ss', new Date())
24
+ : new Date(time)
25
+ : new Date();
26
+ var options = { weekStartsOn: 1 };
27
+ var res;
28
+ switch (type) {
29
+ case 'today':
30
+ res = [time, time];
31
+ break;
32
+ case '-today':
33
+ res = [dateFns.addDays(time, -1), time];
34
+ break;
35
+ case 'yesterday':
36
+ res = [dateFns.addDays(time, -1), dateFns.addDays(time, -1)];
37
+ break;
38
+ case 'week':
39
+ res = [dateFns.startOfWeek(time, options), dateFns.endOfWeek(time, options)];
40
+ break;
41
+ case '-week':
42
+ res = [dateFns.startOfWeek(dateFns.subWeeks(time, 1), options), dateFns.endOfWeek(dateFns.subWeeks(time, 1), options)];
43
+ break;
44
+ case 'month':
45
+ res = [dateFns.startOfMonth(time), dateFns.endOfMonth(time)];
46
+ break;
47
+ case '-month':
48
+ res = [dateFns.startOfMonth(dateFns.subMonths(time, 1)), dateFns.endOfMonth(dateFns.subMonths(time, 1))];
49
+ break;
50
+ case 'year':
51
+ res = [dateFns.startOfYear(time), dateFns.endOfYear(time)];
52
+ break;
53
+ case '-year':
54
+ res = [dateFns.startOfYear(dateFns.subYears(time, 1)), dateFns.endOfYear(dateFns.subYears(time, 1))];
55
+ break;
56
+ default:
57
+ res = type > 0 ? [time, dateFns.addDays(time, type)] : [dateFns.addDays(time, type), time];
58
+ break;
59
+ }
60
+ return fixEndTimeOfRange(res);
61
+ }
62
+ /**
63
+ * fix time is the most, big value
64
+ */
65
+ function fixEndTimeOfRange(dates) {
66
+ return [dateFns.startOfDay(dates[0]), dateFns.endOfDay(dates[1])];
67
+ }
68
+ /**
69
+ * Return the date parsed from string using the given format string
70
+ * - If the argument is a number, it is treated as a timestamp.
71
+ *
72
+ * @param formatString If parsing fails try to parse the date by pressing `formatString`
73
+ * @param defaultValue If parsing fails returned default value, default: `new Date(NaN)`
74
+ */
75
+ function toDate(value, options) {
76
+ if (typeof options === 'string')
77
+ options = { formatString: options };
78
+ var _a = Object.assign({ formatString: 'yyyy-MM-dd HH:mm:ss', defaultValue: new Date(NaN) }, options), formatString = _a.formatString, defaultValue = _a.defaultValue;
79
+ if (value == null) {
80
+ return defaultValue;
81
+ }
82
+ if (value instanceof Date) {
83
+ return value;
84
+ }
85
+ if (typeof value === 'number' || (typeof value === 'string' && /[0-9]{10,13}/.test(value))) {
86
+ return new Date(+value);
87
+ }
88
+ var tryDate = dateFns.parseISO(value);
89
+ if (isNaN(tryDate)) {
90
+ tryDate = dateFns.parse(value, formatString, new Date());
91
+ }
92
+ return isNaN(tryDate) ? defaultValue : tryDate;
93
93
  }
94
94
 
95
- // TODO: timezone process
96
- var DateTimePickerUtil = /** @class */ (function () {
97
- function DateTimePickerUtil() {
98
- }
99
- Object.defineProperty(DateTimePickerUtil.prototype, "now", {
100
- /**
101
- * Current local time
102
- *
103
- * 当前本地时间
104
- */
105
- get: function () {
106
- return new Date();
107
- },
108
- enumerable: false,
109
- configurable: true
110
- });
111
- Object.defineProperty(DateTimePickerUtil.prototype, "date", {
112
- /**
113
- * Current local date (not including time part)
114
- *
115
- * 当前本地日期(不包含时间部分)
116
- */
117
- get: function () {
118
- return this.removeTime(this.now);
119
- },
120
- enumerable: false,
121
- configurable: true
122
- });
123
- /**
124
- * Remove the time part of the date
125
- *
126
- * 移除日期的时间部分
127
- */
128
- DateTimePickerUtil.prototype.removeTime = function (d) {
129
- return new Date(d.toDateString());
130
- };
131
- /**
132
- * Format date-time
133
- *
134
- * 格式化日期
135
- */
136
- DateTimePickerUtil.prototype.format = function (d, formatString) {
137
- if (formatString === void 0) { formatString = 'yyyy-MM-dd HH:mm:ss'; }
138
- return dateFns.format(d, formatString);
139
- };
140
- DateTimePickerUtil.prototype.genTick = function (count) {
141
- return new Array(count).fill(0).map(function (_, idx) { return idx; });
142
- };
143
- /**
144
- * Calculate the number of days between two dates, `0` means the same day
145
- *
146
- * 计算两个日期相差天数,`0` 表示同一天
147
- */
148
- DateTimePickerUtil.prototype.getDiffDays = function (dateLeft, dateRight) {
149
- return dateFns.differenceInCalendarDays(dateLeft, typeof dateRight === 'number' ? dateFns.addDays(this.date, dateRight) : dateRight || this.date);
150
- };
151
- /**
152
- * Disabled Before date (Default: today), Generally serves `nzDisabledDate`
153
- *
154
- * 禁用之前日期(默认:今天),一般服务于 `nzDisabledDate`
155
- */
156
- DateTimePickerUtil.prototype.disabledBeforeDate = function (options) {
157
- var _this = this;
158
- return function (d) { return _this.getDiffDays(d, options === null || options === void 0 ? void 0 : options.offsetDays) < 0; };
159
- };
160
- /**
161
- * Disabled After date (Default: today), Generally serves `nzDisabledDate`
162
- *
163
- * 禁用之后日期(默认:今天),一般服务于 `nzDisabledDate`
164
- */
165
- DateTimePickerUtil.prototype.disabledAfterDate = function (options) {
166
- var _this = this;
167
- return function (d) { return _this.getDiffDays(d, options === null || options === void 0 ? void 0 : options.offsetDays) > 0; };
168
- };
169
- DateTimePickerUtil.prototype.baseDisabledTime = function (type, offsetSeconds) {
170
- var _this = this;
171
- var tick24 = this.genTick(24);
172
- var tick60 = this.genTick(60);
173
- return function (current) {
174
- var cur = current;
175
- if (cur == null) {
176
- return {};
177
- }
178
- var now = dateFns.addSeconds(_this.now, offsetSeconds || 0);
179
- var nowHours = now.getHours();
180
- var nowMinutes = now.getMinutes();
181
- var curHours = cur.getHours();
182
- var isToday = _this.getDiffDays(_this.removeTime(cur)) === 0;
183
- return {
184
- nzDisabledHours: function () {
185
- if (!isToday)
186
- return [];
187
- return type === 'before' ? tick24.slice(0, nowHours) : tick24.slice(nowHours + 1);
188
- },
189
- nzDisabledMinutes: function () {
190
- if (isToday && curHours === nowHours) {
191
- return type === 'before' ? tick60.slice(0, nowMinutes) : tick60.slice(nowMinutes + 1);
192
- }
193
- return [];
194
- },
195
- nzDisabledSeconds: function () {
196
- if (isToday && curHours === nowHours && cur.getMinutes() === nowMinutes) {
197
- var nowSeconds = now.getSeconds();
198
- return type === 'before' ? tick60.slice(0, nowSeconds) : tick60.slice(nowSeconds + 1);
199
- }
200
- return [];
201
- }
202
- };
203
- };
204
- };
205
- /**
206
- * Disabled Before time (Default: now), Generally serves `nzDisabledTime`
207
- *
208
- * 禁用之前时间(默认:现在),一般服务于 `nzDisabledTime`
209
- */
210
- DateTimePickerUtil.prototype.disabledBeforeTime = function (options) {
211
- return this.baseDisabledTime('before', options === null || options === void 0 ? void 0 : options.offsetSeconds);
212
- };
213
- /**
214
- * Disabled After time (Default: now), Generally serves `nzDisabledTime`
215
- *
216
- * 禁用之后时间(默认:现在),一般服务于 `nzDisabledTime`
217
- */
218
- DateTimePickerUtil.prototype.disabledAfterTime = function (options) {
219
- return this.baseDisabledTime('after', options === null || options === void 0 ? void 0 : options.offsetSeconds);
220
- };
221
- return DateTimePickerUtil;
222
- }());
95
+ // TODO: timezone process
96
+ var DateTimePickerUtil = /** @class */ (function () {
97
+ function DateTimePickerUtil() {
98
+ }
99
+ Object.defineProperty(DateTimePickerUtil.prototype, "now", {
100
+ /**
101
+ * Current local time
102
+ *
103
+ * 当前本地时间
104
+ */
105
+ get: function () {
106
+ return new Date();
107
+ },
108
+ enumerable: false,
109
+ configurable: true
110
+ });
111
+ Object.defineProperty(DateTimePickerUtil.prototype, "date", {
112
+ /**
113
+ * Current local date (not including time part)
114
+ *
115
+ * 当前本地日期(不包含时间部分)
116
+ */
117
+ get: function () {
118
+ return this.removeTime(this.now);
119
+ },
120
+ enumerable: false,
121
+ configurable: true
122
+ });
123
+ /**
124
+ * Remove the time part of the date
125
+ *
126
+ * 移除日期的时间部分
127
+ */
128
+ DateTimePickerUtil.prototype.removeTime = function (d) {
129
+ return new Date(d.toDateString());
130
+ };
131
+ /**
132
+ * Format date-time
133
+ *
134
+ * 格式化日期
135
+ */
136
+ DateTimePickerUtil.prototype.format = function (d, formatString) {
137
+ if (formatString === void 0) { formatString = 'yyyy-MM-dd HH:mm:ss'; }
138
+ return dateFns.format(d, formatString);
139
+ };
140
+ DateTimePickerUtil.prototype.genTick = function (count) {
141
+ return new Array(count).fill(0).map(function (_, idx) { return idx; });
142
+ };
143
+ /**
144
+ * Calculate the number of days between two dates, `0` means the same day
145
+ *
146
+ * 计算两个日期相差天数,`0` 表示同一天
147
+ */
148
+ DateTimePickerUtil.prototype.getDiffDays = function (dateLeft, dateRight) {
149
+ return dateFns.differenceInCalendarDays(dateLeft, typeof dateRight === 'number' ? dateFns.addDays(this.date, dateRight) : dateRight || this.date);
150
+ };
151
+ /**
152
+ * Disabled Before date (Default: today), Generally serves `nzDisabledDate`
153
+ *
154
+ * 禁用之前日期(默认:今天),一般服务于 `nzDisabledDate`
155
+ */
156
+ DateTimePickerUtil.prototype.disabledBeforeDate = function (options) {
157
+ var _this = this;
158
+ return function (d) { return _this.getDiffDays(d, options === null || options === void 0 ? void 0 : options.offsetDays) < 0; };
159
+ };
160
+ /**
161
+ * Disabled After date (Default: today), Generally serves `nzDisabledDate`
162
+ *
163
+ * 禁用之后日期(默认:今天),一般服务于 `nzDisabledDate`
164
+ */
165
+ DateTimePickerUtil.prototype.disabledAfterDate = function (options) {
166
+ var _this = this;
167
+ return function (d) { return _this.getDiffDays(d, options === null || options === void 0 ? void 0 : options.offsetDays) > 0; };
168
+ };
169
+ DateTimePickerUtil.prototype.baseDisabledTime = function (type, offsetSeconds) {
170
+ var _this = this;
171
+ var tick24 = this.genTick(24);
172
+ var tick60 = this.genTick(60);
173
+ return function (current) {
174
+ var cur = current;
175
+ if (cur == null) {
176
+ return {};
177
+ }
178
+ var now = dateFns.addSeconds(_this.now, offsetSeconds || 0);
179
+ var nowHours = now.getHours();
180
+ var nowMinutes = now.getMinutes();
181
+ var curHours = cur.getHours();
182
+ var isToday = _this.getDiffDays(_this.removeTime(cur)) === 0;
183
+ return {
184
+ nzDisabledHours: function () {
185
+ if (!isToday)
186
+ return [];
187
+ return type === 'before' ? tick24.slice(0, nowHours) : tick24.slice(nowHours + 1);
188
+ },
189
+ nzDisabledMinutes: function () {
190
+ if (isToday && curHours === nowHours) {
191
+ return type === 'before' ? tick60.slice(0, nowMinutes) : tick60.slice(nowMinutes + 1);
192
+ }
193
+ return [];
194
+ },
195
+ nzDisabledSeconds: function () {
196
+ if (isToday && curHours === nowHours && cur.getMinutes() === nowMinutes) {
197
+ var nowSeconds = now.getSeconds();
198
+ return type === 'before' ? tick60.slice(0, nowSeconds) : tick60.slice(nowSeconds + 1);
199
+ }
200
+ return [];
201
+ }
202
+ };
203
+ };
204
+ };
205
+ /**
206
+ * Disabled Before time (Default: now), Generally serves `nzDisabledTime`
207
+ *
208
+ * 禁用之前时间(默认:现在),一般服务于 `nzDisabledTime`
209
+ */
210
+ DateTimePickerUtil.prototype.disabledBeforeTime = function (options) {
211
+ return this.baseDisabledTime('before', options === null || options === void 0 ? void 0 : options.offsetSeconds);
212
+ };
213
+ /**
214
+ * Disabled After time (Default: now), Generally serves `nzDisabledTime`
215
+ *
216
+ * 禁用之后时间(默认:现在),一般服务于 `nzDisabledTime`
217
+ */
218
+ DateTimePickerUtil.prototype.disabledAfterTime = function (options) {
219
+ return this.baseDisabledTime('after', options === null || options === void 0 ? void 0 : options.offsetSeconds);
220
+ };
221
+ return DateTimePickerUtil;
222
+ }());
223
223
  var dateTimePickerUtil = new DateTimePickerUtil();
224
224
 
225
- /**
226
- * Generated bundle index. Do not edit.
225
+ /**
226
+ * Generated bundle index. Do not edit.
227
227
  */
228
228
 
229
229
  exports.DateTimePickerUtil = DateTimePickerUtil;