@singularsystems/neo-core 1.0.0-alpha.3 → 1.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/README.md +1 -1
- package/dist/ApiClient/ApiClientBase.d.ts +5 -5
- package/dist/ApiClient/ApiClientBase.js +13 -13
- package/dist/ApiClient/ReadApiClient.d.ts +16 -16
- package/dist/ApiClient/ReadApiClient.js +24 -24
- package/dist/ApiClient/UpdateableApiClient.d.ts +28 -28
- package/dist/ApiClient/UpdateableApiClient.js +33 -33
- package/dist/AppServices/AppService.d.ts +46 -46
- package/dist/AppServices/AppService.js +25 -25
- package/dist/AppServices/Config/ConfigModel.d.ts +21 -20
- package/dist/AppServices/Config/ConfigModel.js +28 -17
- package/dist/AppServices/Config/ConfigService.d.ts +15 -15
- package/dist/AppServices/Config/ConfigService.js +49 -53
- package/dist/AppServices/Module.d.ts +11 -11
- package/dist/AppServices/Module.js +13 -13
- package/dist/AppServices/NeoContainer.d.ts +22 -22
- package/dist/AppServices/NeoContainer.js +42 -42
- package/dist/AppServices/NeoModule.d.ts +3 -3
- package/dist/AppServices/NeoModule.js +30 -30
- package/dist/AppServices/NeoTypes.d.ts +61 -61
- package/dist/AppServices/NeoTypes.js +42 -42
- package/dist/AppServices/ServiceIdentifier.d.ts +23 -23
- package/dist/AppServices/ServiceIdentifier.js +38 -39
- package/dist/AppServices/index.d.ts +7 -7
- package/dist/AppServices/index.js +7 -7
- package/dist/Components/AnimationHelper.d.ts +69 -69
- package/dist/Components/AnimationHelper.js +182 -182
- package/dist/Components/BootstrapHelpers.d.ts +8 -8
- package/dist/Components/BootstrapHelpers.js +30 -30
- package/dist/Components/BootstrapTypes.d.ts +35 -35
- package/dist/Components/BootstrapTypes.js +1 -1
- package/dist/Components/ButtonOptions.d.ts +63 -61
- package/dist/Components/ButtonOptions.js +1 -1
- package/dist/Components/ContextMenu/ContextMenu.d.ts +16 -16
- package/dist/Components/ContextMenu/ContextMenu.js +1 -1
- package/dist/Components/ContextMenu/MenuUtils.d.ts +16 -16
- package/dist/Components/ContextMenu/MenuUtils.js +34 -34
- package/dist/Components/DatePicker/DatePicker.d.ts +70 -69
- package/dist/Components/DatePicker/DatePicker.js +510 -487
- package/dist/Components/DatePicker/DatePickerOptions.d.ts +43 -34
- package/dist/Components/DatePicker/DatePickerOptions.js +33 -33
- package/dist/Components/ErrorHandler.d.ts +63 -55
- package/dist/Components/ErrorHandler.js +211 -138
- package/dist/Components/FileManager/BoundFileManager.d.ts +18 -18
- package/dist/Components/FileManager/BoundFileManager.js +60 -60
- package/dist/Components/FileManager/FileManager.d.ts +80 -78
- package/dist/Components/FileManager/FileManager.js +277 -257
- package/dist/Components/FileManager/FileUploadBatch.d.ts +37 -37
- package/dist/Components/FileManager/FileUploadBatch.js +83 -82
- package/dist/Components/FileManager/IFileManagerOptions.d.ts +42 -42
- package/dist/Components/FileManager/IFileManagerOptions.js +1 -1
- package/dist/Components/FormOptions.d.ts +34 -34
- package/dist/Components/FormOptions.js +1 -1
- package/dist/Components/ICollapsableOptions.d.ts +11 -11
- package/dist/Components/ICollapsableOptions.js +1 -1
- package/dist/Components/Modal/ModalHelper.d.ts +31 -31
- package/dist/Components/Modal/ModalHelper.js +174 -174
- package/dist/Components/Modal/ModalOptions.d.ts +61 -61
- package/dist/Components/Modal/ModalOptions.js +1 -1
- package/dist/Components/Modal/ModalStore.d.ts +32 -32
- package/dist/Components/Modal/ModalStore.js +82 -82
- package/dist/Components/Modal/ModalUtils.d.ts +61 -61
- package/dist/Components/Modal/ModalUtils.js +109 -109
- package/dist/Components/Notifications/INotificationHelper.d.ts +56 -56
- package/dist/Components/Notifications/INotificationHelper.js +1 -1
- package/dist/Components/Notifications/Notification.d.ts +32 -32
- package/dist/Components/Notifications/Notification.js +26 -27
- package/dist/Components/Notifications/NotificationHelper.d.ts +63 -63
- package/dist/Components/Notifications/NotificationHelper.js +111 -112
- package/dist/Components/Notifications/NotificationStore.d.ts +34 -34
- package/dist/Components/Notifications/NotificationStore.js +78 -79
- package/dist/Components/PositionHelper.d.ts +10 -10
- package/dist/Components/PositionHelper.js +43 -43
- package/dist/Components/TaskRunner/Decorators.d.ts +6 -6
- package/dist/Components/TaskRunner/Decorators.js +24 -24
- package/dist/Components/TaskRunner/ProgressState.d.ts +22 -22
- package/dist/Components/TaskRunner/ProgressState.js +71 -72
- package/dist/Components/TaskRunner/TaskRunner.d.ts +114 -114
- package/dist/Components/TaskRunner/TaskRunner.js +253 -244
- package/dist/Components/TooltipOptions.d.ts +8 -8
- package/dist/Components/TooltipOptions.js +1 -1
- package/dist/Components/index.d.ts +22 -22
- package/dist/Components/index.js +13 -13
- package/dist/ConnectionManager.d.ts +45 -45
- package/dist/ConnectionManager.js +60 -61
- package/dist/Data/ApiDataSource.d.ts +46 -46
- package/dist/Data/ApiDataSource.js +140 -144
- package/dist/Data/AsyncDataSource.d.ts +35 -35
- package/dist/Data/AsyncDataSource.js +79 -80
- package/dist/Data/CacheService.d.ts +40 -40
- package/dist/Data/CacheService.js +63 -64
- package/dist/Data/DataCacheEntry.d.ts +42 -42
- package/dist/Data/DataCacheEntry.js +80 -80
- package/dist/Data/DataView.d.ts +43 -43
- package/dist/Data/DataView.js +173 -172
- package/dist/Data/Deserialiser.d.ts +42 -42
- package/dist/Data/Deserialiser.js +255 -255
- package/dist/Data/Paging/PageManager.d.ts +167 -167
- package/dist/Data/Paging/PageManager.js +323 -323
- package/dist/Data/Paging/PageRequest.d.ts +24 -24
- package/dist/Data/Paging/PageRequest.js +38 -39
- package/dist/Data/Paging/PageResult.d.ts +10 -10
- package/dist/Data/Paging/PageResult.js +14 -14
- package/dist/Data/Serialiser.d.ts +41 -41
- package/dist/Data/Serialiser.js +201 -201
- package/dist/Data/SortOperation.d.ts +8 -8
- package/dist/Data/SortOperation.js +26 -26
- package/dist/Data/StaticDataSource.d.ts +9 -9
- package/dist/Data/StaticDataSource.js +27 -27
- package/dist/Data/WindowedDataView.d.ts +8 -8
- package/dist/Data/WindowedDataView.js +49 -50
- package/dist/Data/index.d.ts +15 -15
- package/dist/Data/index.js +15 -15
- package/dist/Dates/DateUtils.d.ts +47 -47
- package/dist/Dates/DateUtils.js +226 -226
- package/dist/Dates/TimeSpan.d.ts +24 -24
- package/dist/Dates/TimeSpan.js +46 -46
- package/dist/DebounceHelper.d.ts +44 -38
- package/dist/DebounceHelper.js +122 -95
- package/dist/Extensions.d.ts +82 -82
- package/dist/Extensions.js +182 -182
- package/dist/FileUtils.d.ts +6 -6
- package/dist/FileUtils.js +37 -37
- package/dist/Globals.d.ts +19 -19
- package/dist/Globals.js +41 -41
- package/dist/JsonSchema/ClassMetadata.d.ts +25 -25
- package/dist/JsonSchema/ClassMetadata.js +53 -53
- package/dist/JsonSchema/JsonData.d.ts +16 -16
- package/dist/JsonSchema/JsonData.js +97 -97
- package/dist/JsonSchema/JsonSchemaTypes.d.ts +37 -37
- package/dist/JsonSchema/JsonSchemaTypes.js +1 -1
- package/dist/JsonSchema/PropertyMetadata.d.ts +8 -8
- package/dist/JsonSchema/PropertyMetadata.js +8 -8
- package/dist/JsonSchema/TypeCache.d.ts +16 -16
- package/dist/JsonSchema/TypeCache.js +44 -44
- package/dist/JsonSchema/TypeMetadata.d.ts +45 -45
- package/dist/JsonSchema/TypeMetadata.js +170 -170
- package/dist/JsonSchema/index.d.ts +7 -7
- package/dist/JsonSchema/index.js +6 -6
- package/dist/Localisation/ILocalisationService.d.ts +11 -11
- package/dist/Localisation/ILocalisationService.js +1 -1
- package/dist/Localisation/LocalisationService.d.ts +4 -4
- package/dist/Localisation/LocalisationService.js +17 -17
- package/dist/Localisation/index.d.ts +1 -1
- package/dist/Localisation/index.js +1 -1
- package/dist/Misc.d.ts +6 -6
- package/dist/Misc.js +6 -6
- package/dist/Model/BaseModels/AuditValues.d.ts +12 -12
- package/dist/Model/BaseModels/AuditValues.js +46 -48
- package/dist/Model/BaseModels/CriteriaBase.d.ts +18 -16
- package/dist/Model/BaseModels/CriteriaBase.js +45 -34
- package/dist/Model/BaseModels/FileDescriptorBase.d.ts +12 -12
- package/dist/Model/BaseModels/FileDescriptorBase.js +22 -22
- package/dist/Model/BaseModels/ReasonedUserEvent.d.ts +5 -4
- package/dist/Model/BaseModels/ReasonedUserEvent.js +23 -19
- package/dist/Model/BaseModels/UserEvent.d.ts +9 -8
- package/dist/Model/BaseModels/UserEvent.js +36 -32
- package/dist/Model/BindableBase.d.ts +46 -40
- package/dist/Model/BindableBase.js +82 -76
- package/dist/Model/Decorators.d.ts +50 -44
- package/dist/Model/Decorators.js +189 -177
- package/dist/Model/EnumHelper.d.ts +54 -54
- package/dist/Model/EnumHelper.js +104 -100
- package/dist/Model/IAutoRunner.d.ts +5 -5
- package/dist/Model/IAutoRunner.js +1 -1
- package/dist/Model/IModelBase.d.ts +101 -79
- package/dist/Model/IModelBase.js +1 -1
- package/dist/Model/IModelCreatorBase.d.ts +9 -9
- package/dist/Model/IModelCreatorBase.js +1 -1
- package/dist/Model/List.d.ts +79 -77
- package/dist/Model/List.js +208 -198
- package/dist/Model/LookupBase.d.ts +13 -6
- package/dist/Model/LookupBase.js +19 -10
- package/dist/Model/MethodInfo.d.ts +8 -0
- package/dist/Model/MethodInfo.js +7 -0
- package/dist/Model/Misc.d.ts +83 -81
- package/dist/Model/Misc.js +59 -59
- package/dist/Model/ModelBase.d.ts +88 -86
- package/dist/Model/ModelBase.js +189 -180
- package/dist/Model/ModelCreatorBase.d.ts +23 -23
- package/dist/Model/ModelCreatorBase.js +91 -92
- package/dist/Model/ModelFieldInfo.d.ts +29 -12
- package/dist/Model/ModelFieldInfo.js +35 -26
- package/dist/Model/ModelGraphTraverser.d.ts +35 -35
- package/dist/Model/ModelGraphTraverser.js +101 -99
- package/dist/Model/NeoModel.d.ts +6 -6
- package/dist/Model/NeoModel.js +13 -13
- package/dist/Model/NeoTypeInfo.d.ts +55 -41
- package/dist/Model/NeoTypeInfo.js +319 -250
- package/dist/Model/ObservableProperty.d.ts +8 -8
- package/dist/Model/ObservableProperty.js +41 -41
- package/dist/Model/ObservableValue.d.ts +9 -9
- package/dist/Model/ObservableValue.js +25 -26
- package/dist/Model/PropertyInfo.d.ts +83 -81
- package/dist/Model/PropertyInfo.js +137 -137
- package/dist/Model/PropertyInstance.d.ts +84 -48
- package/dist/Model/PropertyInstance.js +173 -113
- package/dist/Model/ValueObject.d.ts +3 -3
- package/dist/Model/ValueObject.js +10 -10
- package/dist/Model/index.d.ts +15 -14
- package/dist/Model/index.js +13 -12
- package/dist/NumberUtils.d.ts +63 -49
- package/dist/NumberUtils.js +247 -197
- package/dist/Routing/IMenuItemProvider.d.ts +9 -9
- package/dist/Routing/IMenuItemProvider.js +1 -1
- package/dist/Routing/IMenuRoute.d.ts +18 -18
- package/dist/Routing/IMenuRoute.js +1 -1
- package/dist/Routing/INavigationHelper.d.ts +7 -7
- package/dist/Routing/INavigationHelper.js +1 -1
- package/dist/Routing/IPageLeaveHandler.d.ts +23 -23
- package/dist/Routing/IPageLeaveHandler.js +7 -7
- package/dist/Routing/IRoute.d.ts +27 -27
- package/dist/Routing/IRoute.js +1 -1
- package/dist/Routing/IRouteSecurityService.d.ts +14 -14
- package/dist/Routing/IRouteSecurityService.js +1 -1
- package/dist/Routing/MenuItemProvider.d.ts +17 -17
- package/dist/Routing/MenuItemProvider.js +53 -54
- package/dist/Routing/RouteSecurityService.d.ts +18 -18
- package/dist/Routing/RouteSecurityService.js +35 -36
- package/dist/Routing/index.d.ts +7 -7
- package/dist/Routing/index.js +3 -3
- package/dist/Security/IAuthenticationService.d.ts +41 -36
- package/dist/Security/IAuthenticationService.js +1 -1
- package/dist/Security/IAuthorisationService.d.ts +11 -11
- package/dist/Security/IAuthorisationService.js +1 -1
- package/dist/Security/ILoginErrorHandler.d.ts +4 -4
- package/dist/Security/ILoginErrorHandler.js +1 -1
- package/dist/Security/ISecurityService.d.ts +10 -10
- package/dist/Security/ISecurityService.js +1 -1
- package/dist/Security/IUser.d.ts +10 -10
- package/dist/Security/IUser.js +1 -1
- package/dist/Security/IUserRole.d.ts +6 -6
- package/dist/Security/IUserRole.js +1 -1
- package/dist/Security/LoginErrorHandler.d.ts +15 -15
- package/dist/Security/LoginErrorHandler.js +97 -98
- package/dist/Security/Oidc/OidcAuthService.d.ts +67 -60
- package/dist/Security/Oidc/OidcAuthService.js +216 -189
- package/dist/Security/Oidc/OidcTypes.d.ts +46 -29
- package/dist/Security/Oidc/OidcTypes.js +1 -1
- package/dist/Security/Oidc/OidcUser.d.ts +9 -9
- package/dist/Security/Oidc/OidcUser.js +33 -33
- package/dist/Security/SecurityService.d.ts +12 -12
- package/dist/Security/SecurityService.js +33 -34
- package/dist/Security/SignInResult.d.ts +13 -13
- package/dist/Security/SignInResult.js +8 -8
- package/dist/Security/User.d.ts +12 -12
- package/dist/Security/User.js +24 -24
- package/dist/Security/index.d.ts +10 -10
- package/dist/Security/index.js +5 -5
- package/dist/Settings.d.ts +71 -57
- package/dist/Settings.js +100 -87
- package/dist/SignalR/HubBase.d.ts +70 -70
- package/dist/SignalR/HubBase.js +164 -164
- package/dist/SignalR/HubReceiver.d.ts +11 -11
- package/dist/SignalR/HubReceiver.js +25 -25
- package/dist/SignalR/HubSubscription.d.ts +12 -12
- package/dist/SignalR/HubSubscription.js +14 -14
- package/dist/SignalR/index.d.ts +3 -3
- package/dist/SignalR/index.js +1 -1
- package/dist/StringUtils.d.ts +7 -7
- package/dist/StringUtils.js +24 -24
- package/dist/Utils.d.ts +81 -80
- package/dist/Utils.js +220 -218
- package/dist/Validation/Decorators.d.ts +12 -12
- package/dist/Validation/Decorators.js +52 -52
- package/dist/Validation/DisplayHelper.d.ts +20 -19
- package/dist/Validation/DisplayHelper.js +104 -104
- package/dist/Validation/Misc.d.ts +10 -10
- package/dist/Validation/Misc.js +11 -11
- package/dist/Validation/ModelProxy.d.ts +20 -20
- package/dist/Validation/ModelProxy.js +46 -46
- package/dist/Validation/RuleContext.d.ts +86 -86
- package/dist/Validation/RuleContext.js +130 -130
- package/dist/Validation/Rules.d.ts +70 -70
- package/dist/Validation/Rules.js +177 -177
- package/dist/Validation/ValidationHelpers.d.ts +12 -12
- package/dist/Validation/ValidationHelpers.js +57 -57
- package/dist/Validation/ValidationRules.d.ts +18 -18
- package/dist/Validation/ValidationRules.js +34 -34
- package/dist/Validation/ValidationState.d.ts +42 -42
- package/dist/Validation/ValidationState.js +74 -74
- package/dist/Validation/Validators/IModelValidator.d.ts +28 -24
- package/dist/Validation/Validators/IModelValidator.js +1 -1
- package/dist/Validation/Validators/IPropertyValidator.d.ts +21 -21
- package/dist/Validation/Validators/IPropertyValidator.js +15 -15
- package/dist/Validation/Validators/ModelValidator.d.ts +46 -45
- package/dist/Validation/Validators/ModelValidator.js +143 -137
- package/dist/Validation/Validators/PropertyValidator.d.ts +21 -21
- package/dist/Validation/Validators/PropertyValidator.js +64 -67
- package/dist/Validation/Validators/RuleValidator.d.ts +19 -19
- package/dist/Validation/Validators/RuleValidator.js +51 -55
- package/dist/Validation/index.d.ts +9 -9
- package/dist/Validation/index.js +7 -7
- package/dist/Views/IViewBase.d.ts +5 -5
- package/dist/Views/IViewBase.js +1 -1
- package/dist/index.d.ts +37 -36
- package/dist/index.js +44 -43
- package/package.json +11 -10
package/dist/Dates/DateUtils.js
CHANGED
|
@@ -1,226 +1,226 @@
|
|
|
1
|
-
import { Misc } from "../";
|
|
2
|
-
import { TimeSpan } from "./TimeSpan";
|
|
3
|
-
var DateUtils = /** @class */ (function () {
|
|
4
|
-
function DateUtils() {
|
|
5
|
-
}
|
|
6
|
-
DateUtils.format = function (dateOrDateProperty, formatString, utc) {
|
|
7
|
-
if (utc === void 0) { utc = false; }
|
|
8
|
-
var date = dateOrDateProperty;
|
|
9
|
-
var dateProperty = dateOrDateProperty;
|
|
10
|
-
if (dateProperty === null || dateProperty === void 0 ? void 0 : dateProperty.propertyInfo) {
|
|
11
|
-
date = dateProperty.value;
|
|
12
|
-
formatString = dateProperty.propertyInfo.timeZoneSerialisation === Misc.TimeZoneFormat.None ? DateUtils.defaultFormatString : DateUtils.defaultFormatStringWithTime;
|
|
13
|
-
}
|
|
14
|
-
if (!date)
|
|
15
|
-
return "";
|
|
16
|
-
// Passing date through Date applies Date.parse, if necessary
|
|
17
|
-
if (isNaN(date))
|
|
18
|
-
throw SyntaxError("invalid date");
|
|
19
|
-
if (!formatString)
|
|
20
|
-
formatString = DateUtils.defaultFormatString;
|
|
21
|
-
formatString = formatString.replace(/ /g, '\xA0'); //replace spaces with non-breaking spaces.
|
|
22
|
-
// Allow setting the utc argument via the mask
|
|
23
|
-
if (formatString.slice(0, 4) == "UTC:") {
|
|
24
|
-
formatString = formatString.slice(4);
|
|
25
|
-
utc = true;
|
|
26
|
-
}
|
|
27
|
-
var _ = utc ? "getUTC" : "get", d = date[_ + "Date"](), D = date[_ + "Day"](), M = date[_ + "Month"](), y = date[_ + "FullYear"](), H = date[_ + "Hours"](), m = date[_ + "Minutes"](), s = date[_ + "Seconds"](), L = date[_ + "Milliseconds"](), o = utc ? 0 : date.getTimezoneOffset(), flags = {
|
|
28
|
-
d: d,
|
|
29
|
-
dd: DateUtils.pad(d),
|
|
30
|
-
ddd: DateUtils.i18n.dayNames[D],
|
|
31
|
-
dddd: DateUtils.i18n.dayNames[D + 7],
|
|
32
|
-
M: M + 1,
|
|
33
|
-
MM: DateUtils.pad(M + 1),
|
|
34
|
-
MMM: DateUtils.i18n.monthNames[M],
|
|
35
|
-
MMMM: DateUtils.i18n.monthNames[M + 12],
|
|
36
|
-
yy: String(y).slice(2),
|
|
37
|
-
yyyy: y,
|
|
38
|
-
h: H % 12 || 12,
|
|
39
|
-
hh: DateUtils.pad(H % 12 || 12),
|
|
40
|
-
H: H,
|
|
41
|
-
HH: DateUtils.pad(H),
|
|
42
|
-
m: m,
|
|
43
|
-
mm: DateUtils.pad(m),
|
|
44
|
-
s: s,
|
|
45
|
-
ss: DateUtils.pad(s),
|
|
46
|
-
l: DateUtils.pad(L, 3),
|
|
47
|
-
L: DateUtils.pad(L > 99 ? Math.round(L / 10) : L),
|
|
48
|
-
t: H < 12 ? "a" : "p",
|
|
49
|
-
tt: H < 12 ? "am" : "pm",
|
|
50
|
-
T: H < 12 ? "A" : "P",
|
|
51
|
-
TT: H < 12 ? "AM" : "PM",
|
|
52
|
-
Z: utc ? "UTC" : (String(date).match(DateUtils.timezone) || [""]).pop().replace(DateUtils.timezoneClip, ""),
|
|
53
|
-
o: (o > 0 ? "-" : "+") + DateUtils.pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4),
|
|
54
|
-
S: ["th", "st", "nd", "rd"][d % 10 > 3 ? 0 : (d % 100 - d % 10 != 10) * d % 10]
|
|
55
|
-
};
|
|
56
|
-
return formatString.replace(DateUtils.token, function ($0) {
|
|
57
|
-
return $0 in flags ? flags[$0] : $0.slice(1, $0.length - 1);
|
|
58
|
-
});
|
|
59
|
-
};
|
|
60
|
-
DateUtils.pad = function (val, len) {
|
|
61
|
-
if (len === void 0) { len = 2; }
|
|
62
|
-
val = String(val);
|
|
63
|
-
while (val.length < len)
|
|
64
|
-
val = "0" + val;
|
|
65
|
-
return val;
|
|
66
|
-
};
|
|
67
|
-
;
|
|
68
|
-
/**
|
|
69
|
-
* Tries to parse a date from a string using the supplied format string
|
|
70
|
-
* @param dateString The string to parse
|
|
71
|
-
* @param format The format string. This is only used to get the order of d/m/y
|
|
72
|
-
* @param requireAllParts True if day month and year must be specified
|
|
73
|
-
* @param refDate Reference date. E.g. if the year is ommitted in the date string, then the year from the reference date will be used. Today is used if no reference date is supplied.
|
|
74
|
-
*/
|
|
75
|
-
DateUtils.tryParse = function (dateString, format, requireAllParts, refDate) {
|
|
76
|
-
if (format === void 0) { format = ""; }
|
|
77
|
-
if (requireAllParts === void 0) { requireAllParts = false; }
|
|
78
|
-
if (!dateString)
|
|
79
|
-
return null;
|
|
80
|
-
if (!format)
|
|
81
|
-
format = DateUtils.defaultFormatString;
|
|
82
|
-
var returnDate = !refDate ? new Date() : new Date(refDate);
|
|
83
|
-
// Find the position of d m and y in the format string.
|
|
84
|
-
var d = format.indexOf('d'), m = format.indexOf('M'), y = format.indexOf('y'), Extra = 100;
|
|
85
|
-
// Check for time component.
|
|
86
|
-
var timeString = "";
|
|
87
|
-
var isPM = false;
|
|
88
|
-
var timePos = dateString.indexOf(":");
|
|
89
|
-
if (timePos == -1) {
|
|
90
|
-
timePos = dateString.toUpperCase().indexOf("PM");
|
|
91
|
-
}
|
|
92
|
-
if (timePos == -1) {
|
|
93
|
-
timePos = dateString.toUpperCase().indexOf("AM");
|
|
94
|
-
}
|
|
95
|
-
if (timePos >= 1) {
|
|
96
|
-
timePos = Math.max(0, timePos - (dateString[timePos - 1] == " " ? 3 : 2));
|
|
97
|
-
timeString = dateString.substring(timePos);
|
|
98
|
-
dateString = dateString.substring(0, timePos);
|
|
99
|
-
isPM = timeString.toUpperCase().indexOf("PM") > 0;
|
|
100
|
-
timeString = timeString.replace(/a/gi, "").replace(/p/gi, "").replace(/m/gi, "").replace(/ /gi, "");
|
|
101
|
-
}
|
|
102
|
-
// Date component
|
|
103
|
-
if (d >= 0 || m >= 0 || y >= 0) {
|
|
104
|
-
// Add missing d/m/y on the end.
|
|
105
|
-
d = d == -1 ? Extra++ : d;
|
|
106
|
-
m = m == -1 ? Extra++ : m;
|
|
107
|
-
y = y == -1 ? Extra++ : y;
|
|
108
|
-
// Replace common separators in the date string with /
|
|
109
|
-
var str = dateString.replace(/-/g, '/').replace(/ /g, '/').replace(/\xA0/g, '/');
|
|
110
|
-
// If the user doesnt put in separators, e.g. 0103, then add them to make the string value 01/03
|
|
111
|
-
if ((d == 0 || m == 0) && str.indexOf('/') == -1 && str.length >= 4 && !isNaN(+str)) {
|
|
112
|
-
str = str.substring(0, 2) + '/' + str.substring(2, 4) + (str.length == 8 || str.length == 6 ? '/' + str.substring(4, str.length) : '');
|
|
113
|
-
}
|
|
114
|
-
var parts = str.split('/');
|
|
115
|
-
if (requireAllParts && parts.length < 3)
|
|
116
|
-
return null;
|
|
117
|
-
// if format is dd mmm yyyy, and the user omits the dd, then add 1st day.
|
|
118
|
-
if (d == 0 && parts[0].length > 2)
|
|
119
|
-
parts.splice(0, 0, "1");
|
|
120
|
-
var Year = y > m ? (y > d ? parts[2] : parts[1]) : (y > d ? parts[1] : parts[0]);
|
|
121
|
-
var Month = m > d ? (m > y ? parts[2] : parts[1]) : (m > y ? parts[1] : parts[0]);
|
|
122
|
-
var Day = d > m ? (d > y ? parts[2] : parts[1]) : (d > y ? parts[1] : parts[0]);
|
|
123
|
-
if (Year && (Year.length == 1 || Year.length == 3 || Year.length > 4))
|
|
124
|
-
return null;
|
|
125
|
-
Year = !Year ? returnDate.getFullYear().toString() : Year;
|
|
126
|
-
Month = !Month ? (returnDate.getMonth() + 1).toString() : Month;
|
|
127
|
-
Day = !Day ? 1 : Day;
|
|
128
|
-
if (Month.length < 3 && parseInt(Month) <= 12) {
|
|
129
|
-
Month = DateUtils.i18n.monthNames[parseInt(Month) - 1];
|
|
130
|
-
}
|
|
131
|
-
if (Year.length == 2) {
|
|
132
|
-
if (requireAllParts) {
|
|
133
|
-
return null;
|
|
134
|
-
}
|
|
135
|
-
Year = "20" + Year;
|
|
136
|
-
}
|
|
137
|
-
returnDate = new Date(Day + " " + Month + " " + Year);
|
|
138
|
-
if (isNaN(returnDate)) {
|
|
139
|
-
return null;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
// Get time component.
|
|
143
|
-
if (timeString) {
|
|
144
|
-
var time = new Date(0);
|
|
145
|
-
time.setHours.apply(time, timeString.split(":").map(function (s) { return parseInt(s); }));
|
|
146
|
-
if (isNaN(time)) {
|
|
147
|
-
return returnDate;
|
|
148
|
-
}
|
|
149
|
-
returnDate.setHours(time.getHours() + (isPM ? 12 : 0), time.getMinutes(), time.getSeconds());
|
|
150
|
-
}
|
|
151
|
-
return returnDate;
|
|
152
|
-
};
|
|
153
|
-
DateUtils.min = function (date1, date2) {
|
|
154
|
-
return new Date(date1.getTime() < date2.getTime() ? date1 : date2);
|
|
155
|
-
};
|
|
156
|
-
DateUtils.max = function (date1, date2) {
|
|
157
|
-
return new Date(date1.getTime() > date2.getTime() ? date1 : date2);
|
|
158
|
-
};
|
|
159
|
-
/** Returns the first date of the month for the specified date. */
|
|
160
|
-
DateUtils.monthStart = function (date) {
|
|
161
|
-
if (date === void 0) { date = new Date(); }
|
|
162
|
-
return new Date(date.getFullYear(), date.getMonth(), 1);
|
|
163
|
-
};
|
|
164
|
-
/** Returns the last date of the month for the specified date. */
|
|
165
|
-
DateUtils.monthEnd = function (date) {
|
|
166
|
-
if (date === void 0) { date = new Date(); }
|
|
167
|
-
return new Date(date.getFullYear(), date.getMonth() + 1, 0);
|
|
168
|
-
};
|
|
169
|
-
/**
|
|
170
|
-
* Returns the current date without time.
|
|
171
|
-
*/
|
|
172
|
-
DateUtils.today = function () {
|
|
173
|
-
return this.stripTime(new Date());
|
|
174
|
-
};
|
|
175
|
-
/**
|
|
176
|
-
* Returns a new date with no time component.
|
|
177
|
-
*/
|
|
178
|
-
DateUtils.stripTime = function (dateWithTime) {
|
|
179
|
-
return new Date(dateWithTime.getFullYear(), dateWithTime.getMonth(), dateWithTime.getDate());
|
|
180
|
-
};
|
|
181
|
-
/**
|
|
182
|
-
* Returns a new date, with the timespan components added to it.
|
|
183
|
-
* Use negative numbers to subtract.
|
|
184
|
-
*/
|
|
185
|
-
DateUtils.add = function (date, timeSpan) {
|
|
186
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
187
|
-
var newDate = new Date();
|
|
188
|
-
newDate.setFullYear(date.getFullYear() + ((_a = timeSpan.years) !== null && _a !== void 0 ? _a : 0), date.getMonth() + ((_b = timeSpan.months) !== null && _b !== void 0 ? _b : 0), date.getDate() + ((_c = timeSpan.days) !== null && _c !== void 0 ? _c : 0));
|
|
189
|
-
newDate.setHours(date.getHours() + ((_d = timeSpan.hours) !== null && _d !== void 0 ? _d : 0), date.getMinutes() + ((_e = timeSpan.minutes) !== null && _e !== void 0 ? _e : 0), date.getSeconds() + ((_f = timeSpan.seconds) !== null && _f !== void 0 ? _f : 0), date.getMilliseconds() + ((_g = timeSpan.milliseconds) !== null && _g !== void 0 ? _g : 0));
|
|
190
|
-
return newDate;
|
|
191
|
-
};
|
|
192
|
-
/**
|
|
193
|
-
* Gets the difference between 2 dates.
|
|
194
|
-
*/
|
|
195
|
-
DateUtils.difference = function (startDate, endDate) {
|
|
196
|
-
var compareDate = new Date();
|
|
197
|
-
compareDate.setFullYear(endDate.getFullYear() - startDate.getFullYear(), endDate.getMonth() - startDate.getMonth(), endDate.getDate() - startDate.getDate());
|
|
198
|
-
compareDate.setHours(endDate.getHours() - startDate.getHours(), endDate.getMinutes() - startDate.getMinutes(), endDate.getSeconds() - startDate.getSeconds(), endDate.getMilliseconds() - startDate.getMilliseconds());
|
|
199
|
-
return new TimeSpan(compareDate.getFullYear(), compareDate.getMonth(), compareDate.getDate(), compareDate.getHours(), compareDate.getMinutes(), compareDate.getSeconds(), compareDate.getMilliseconds(), endDate.getTime() - startDate.getTime());
|
|
200
|
-
};
|
|
201
|
-
DateUtils.defaultFormatString = "dd MMM yyyy";
|
|
202
|
-
DateUtils.defaultFormatStringWithTime = "dd MMM yyyy HH:mm";
|
|
203
|
-
DateUtils.token = /d{1,4}|M{1,4}|yy(?:yy)?|([HhmsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g;
|
|
204
|
-
DateUtils.timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g;
|
|
205
|
-
DateUtils.timezoneClip = /[^-+\dA-Z]/g;
|
|
206
|
-
/*
|
|
207
|
-
* Date Format 1.2.3
|
|
208
|
-
* (c) 2007-2009 Steven Levithan <stevenlevithan.com>
|
|
209
|
-
* MIT license
|
|
210
|
-
*
|
|
211
|
-
* Includes enhancements by Scott Trenda <scott.trenda.net>
|
|
212
|
-
* and Kris Kowal <cixar.com/~kris.kowal/>
|
|
213
|
-
*/
|
|
214
|
-
DateUtils.i18n = {
|
|
215
|
-
dayNames: [
|
|
216
|
-
"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat",
|
|
217
|
-
"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"
|
|
218
|
-
],
|
|
219
|
-
monthNames: [
|
|
220
|
-
"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec",
|
|
221
|
-
"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
|
|
222
|
-
]
|
|
223
|
-
};
|
|
224
|
-
return DateUtils;
|
|
225
|
-
}());
|
|
226
|
-
export default DateUtils;
|
|
1
|
+
import { Misc } from "../";
|
|
2
|
+
import { TimeSpan } from "./TimeSpan";
|
|
3
|
+
var DateUtils = /** @class */ (function () {
|
|
4
|
+
function DateUtils() {
|
|
5
|
+
}
|
|
6
|
+
DateUtils.format = function (dateOrDateProperty, formatString, utc) {
|
|
7
|
+
if (utc === void 0) { utc = false; }
|
|
8
|
+
var date = dateOrDateProperty;
|
|
9
|
+
var dateProperty = dateOrDateProperty;
|
|
10
|
+
if (dateProperty === null || dateProperty === void 0 ? void 0 : dateProperty.propertyInfo) {
|
|
11
|
+
date = dateProperty.value;
|
|
12
|
+
formatString = dateProperty.propertyInfo.timeZoneSerialisation === Misc.TimeZoneFormat.None ? DateUtils.defaultFormatString : DateUtils.defaultFormatStringWithTime;
|
|
13
|
+
}
|
|
14
|
+
if (!date)
|
|
15
|
+
return "";
|
|
16
|
+
// Passing date through Date applies Date.parse, if necessary
|
|
17
|
+
if (isNaN(date))
|
|
18
|
+
throw SyntaxError("invalid date");
|
|
19
|
+
if (!formatString)
|
|
20
|
+
formatString = DateUtils.defaultFormatString;
|
|
21
|
+
formatString = formatString.replace(/ /g, '\xA0'); //replace spaces with non-breaking spaces.
|
|
22
|
+
// Allow setting the utc argument via the mask
|
|
23
|
+
if (formatString.slice(0, 4) == "UTC:") {
|
|
24
|
+
formatString = formatString.slice(4);
|
|
25
|
+
utc = true;
|
|
26
|
+
}
|
|
27
|
+
var _ = utc ? "getUTC" : "get", d = date[_ + "Date"](), D = date[_ + "Day"](), M = date[_ + "Month"](), y = date[_ + "FullYear"](), H = date[_ + "Hours"](), m = date[_ + "Minutes"](), s = date[_ + "Seconds"](), L = date[_ + "Milliseconds"](), o = utc ? 0 : date.getTimezoneOffset(), flags = {
|
|
28
|
+
d: d,
|
|
29
|
+
dd: DateUtils.pad(d),
|
|
30
|
+
ddd: DateUtils.i18n.dayNames[D],
|
|
31
|
+
dddd: DateUtils.i18n.dayNames[D + 7],
|
|
32
|
+
M: M + 1,
|
|
33
|
+
MM: DateUtils.pad(M + 1),
|
|
34
|
+
MMM: DateUtils.i18n.monthNames[M],
|
|
35
|
+
MMMM: DateUtils.i18n.monthNames[M + 12],
|
|
36
|
+
yy: String(y).slice(2),
|
|
37
|
+
yyyy: y,
|
|
38
|
+
h: H % 12 || 12,
|
|
39
|
+
hh: DateUtils.pad(H % 12 || 12),
|
|
40
|
+
H: H,
|
|
41
|
+
HH: DateUtils.pad(H),
|
|
42
|
+
m: m,
|
|
43
|
+
mm: DateUtils.pad(m),
|
|
44
|
+
s: s,
|
|
45
|
+
ss: DateUtils.pad(s),
|
|
46
|
+
l: DateUtils.pad(L, 3),
|
|
47
|
+
L: DateUtils.pad(L > 99 ? Math.round(L / 10) : L),
|
|
48
|
+
t: H < 12 ? "a" : "p",
|
|
49
|
+
tt: H < 12 ? "am" : "pm",
|
|
50
|
+
T: H < 12 ? "A" : "P",
|
|
51
|
+
TT: H < 12 ? "AM" : "PM",
|
|
52
|
+
Z: utc ? "UTC" : (String(date).match(DateUtils.timezone) || [""]).pop().replace(DateUtils.timezoneClip, ""),
|
|
53
|
+
o: (o > 0 ? "-" : "+") + DateUtils.pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4),
|
|
54
|
+
S: ["th", "st", "nd", "rd"][d % 10 > 3 ? 0 : (d % 100 - d % 10 != 10) * d % 10]
|
|
55
|
+
};
|
|
56
|
+
return formatString.replace(DateUtils.token, function ($0) {
|
|
57
|
+
return $0 in flags ? flags[$0] : $0.slice(1, $0.length - 1);
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
DateUtils.pad = function (val, len) {
|
|
61
|
+
if (len === void 0) { len = 2; }
|
|
62
|
+
val = String(val);
|
|
63
|
+
while (val.length < len)
|
|
64
|
+
val = "0" + val;
|
|
65
|
+
return val;
|
|
66
|
+
};
|
|
67
|
+
;
|
|
68
|
+
/**
|
|
69
|
+
* Tries to parse a date from a string using the supplied format string
|
|
70
|
+
* @param dateString The string to parse
|
|
71
|
+
* @param format The format string. This is only used to get the order of d/m/y
|
|
72
|
+
* @param requireAllParts True if day month and year must be specified
|
|
73
|
+
* @param refDate Reference date. E.g. if the year is ommitted in the date string, then the year from the reference date will be used. Today is used if no reference date is supplied.
|
|
74
|
+
*/
|
|
75
|
+
DateUtils.tryParse = function (dateString, format, requireAllParts, refDate) {
|
|
76
|
+
if (format === void 0) { format = ""; }
|
|
77
|
+
if (requireAllParts === void 0) { requireAllParts = false; }
|
|
78
|
+
if (!dateString)
|
|
79
|
+
return null;
|
|
80
|
+
if (!format)
|
|
81
|
+
format = DateUtils.defaultFormatString;
|
|
82
|
+
var returnDate = !refDate ? new Date() : new Date(refDate);
|
|
83
|
+
// Find the position of d m and y in the format string.
|
|
84
|
+
var d = format.indexOf('d'), m = format.indexOf('M'), y = format.indexOf('y'), Extra = 100;
|
|
85
|
+
// Check for time component.
|
|
86
|
+
var timeString = "";
|
|
87
|
+
var isPM = false;
|
|
88
|
+
var timePos = dateString.indexOf(":");
|
|
89
|
+
if (timePos == -1) {
|
|
90
|
+
timePos = dateString.toUpperCase().indexOf("PM");
|
|
91
|
+
}
|
|
92
|
+
if (timePos == -1) {
|
|
93
|
+
timePos = dateString.toUpperCase().indexOf("AM");
|
|
94
|
+
}
|
|
95
|
+
if (timePos >= 1) {
|
|
96
|
+
timePos = Math.max(0, timePos - (dateString[timePos - 1] == " " ? 3 : 2));
|
|
97
|
+
timeString = dateString.substring(timePos);
|
|
98
|
+
dateString = dateString.substring(0, timePos);
|
|
99
|
+
isPM = timeString.toUpperCase().indexOf("PM") > 0;
|
|
100
|
+
timeString = timeString.replace(/a/gi, "").replace(/p/gi, "").replace(/m/gi, "").replace(/ /gi, "");
|
|
101
|
+
}
|
|
102
|
+
// Date component
|
|
103
|
+
if (d >= 0 || m >= 0 || y >= 0) {
|
|
104
|
+
// Add missing d/m/y on the end.
|
|
105
|
+
d = d == -1 ? Extra++ : d;
|
|
106
|
+
m = m == -1 ? Extra++ : m;
|
|
107
|
+
y = y == -1 ? Extra++ : y;
|
|
108
|
+
// Replace common separators in the date string with /
|
|
109
|
+
var str = dateString.replace(/-/g, '/').replace(/ /g, '/').replace(/\xA0/g, '/');
|
|
110
|
+
// If the user doesnt put in separators, e.g. 0103, then add them to make the string value 01/03
|
|
111
|
+
if ((d == 0 || m == 0) && str.indexOf('/') == -1 && str.length >= 4 && !isNaN(+str)) {
|
|
112
|
+
str = str.substring(0, 2) + '/' + str.substring(2, 4) + (str.length == 8 || str.length == 6 ? '/' + str.substring(4, str.length) : '');
|
|
113
|
+
}
|
|
114
|
+
var parts = str.split('/');
|
|
115
|
+
if (requireAllParts && parts.length < 3)
|
|
116
|
+
return null;
|
|
117
|
+
// if format is dd mmm yyyy, and the user omits the dd, then add 1st day.
|
|
118
|
+
if (d == 0 && parts[0].length > 2)
|
|
119
|
+
parts.splice(0, 0, "1");
|
|
120
|
+
var Year = y > m ? (y > d ? parts[2] : parts[1]) : (y > d ? parts[1] : parts[0]);
|
|
121
|
+
var Month = m > d ? (m > y ? parts[2] : parts[1]) : (m > y ? parts[1] : parts[0]);
|
|
122
|
+
var Day = d > m ? (d > y ? parts[2] : parts[1]) : (d > y ? parts[1] : parts[0]);
|
|
123
|
+
if (Year && (Year.length == 1 || Year.length == 3 || Year.length > 4))
|
|
124
|
+
return null;
|
|
125
|
+
Year = !Year ? returnDate.getFullYear().toString() : Year;
|
|
126
|
+
Month = !Month ? (returnDate.getMonth() + 1).toString() : Month;
|
|
127
|
+
Day = !Day ? 1 : Day;
|
|
128
|
+
if (Month.length < 3 && parseInt(Month) <= 12) {
|
|
129
|
+
Month = DateUtils.i18n.monthNames[parseInt(Month) - 1];
|
|
130
|
+
}
|
|
131
|
+
if (Year.length == 2) {
|
|
132
|
+
if (requireAllParts) {
|
|
133
|
+
return null;
|
|
134
|
+
}
|
|
135
|
+
Year = "20" + Year;
|
|
136
|
+
}
|
|
137
|
+
returnDate = new Date(Day + " " + Month + " " + Year);
|
|
138
|
+
if (isNaN(returnDate)) {
|
|
139
|
+
return null;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
// Get time component.
|
|
143
|
+
if (timeString) {
|
|
144
|
+
var time = new Date(0);
|
|
145
|
+
time.setHours.apply(time, timeString.split(":").map(function (s) { return parseInt(s); }));
|
|
146
|
+
if (isNaN(time)) {
|
|
147
|
+
return returnDate;
|
|
148
|
+
}
|
|
149
|
+
returnDate.setHours(time.getHours() + (isPM ? 12 : 0), time.getMinutes(), time.getSeconds());
|
|
150
|
+
}
|
|
151
|
+
return returnDate;
|
|
152
|
+
};
|
|
153
|
+
DateUtils.min = function (date1, date2) {
|
|
154
|
+
return new Date(date1.getTime() < date2.getTime() ? date1 : date2);
|
|
155
|
+
};
|
|
156
|
+
DateUtils.max = function (date1, date2) {
|
|
157
|
+
return new Date(date1.getTime() > date2.getTime() ? date1 : date2);
|
|
158
|
+
};
|
|
159
|
+
/** Returns the first date of the month for the specified date. */
|
|
160
|
+
DateUtils.monthStart = function (date) {
|
|
161
|
+
if (date === void 0) { date = new Date(); }
|
|
162
|
+
return new Date(date.getFullYear(), date.getMonth(), 1);
|
|
163
|
+
};
|
|
164
|
+
/** Returns the last date of the month for the specified date. */
|
|
165
|
+
DateUtils.monthEnd = function (date) {
|
|
166
|
+
if (date === void 0) { date = new Date(); }
|
|
167
|
+
return new Date(date.getFullYear(), date.getMonth() + 1, 0);
|
|
168
|
+
};
|
|
169
|
+
/**
|
|
170
|
+
* Returns the current date without time.
|
|
171
|
+
*/
|
|
172
|
+
DateUtils.today = function () {
|
|
173
|
+
return this.stripTime(new Date());
|
|
174
|
+
};
|
|
175
|
+
/**
|
|
176
|
+
* Returns a new date with no time component.
|
|
177
|
+
*/
|
|
178
|
+
DateUtils.stripTime = function (dateWithTime) {
|
|
179
|
+
return new Date(dateWithTime.getFullYear(), dateWithTime.getMonth(), dateWithTime.getDate());
|
|
180
|
+
};
|
|
181
|
+
/**
|
|
182
|
+
* Returns a new date, with the timespan components added to it.
|
|
183
|
+
* Use negative numbers to subtract.
|
|
184
|
+
*/
|
|
185
|
+
DateUtils.add = function (date, timeSpan) {
|
|
186
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
187
|
+
var newDate = new Date();
|
|
188
|
+
newDate.setFullYear(date.getFullYear() + ((_a = timeSpan.years) !== null && _a !== void 0 ? _a : 0), date.getMonth() + ((_b = timeSpan.months) !== null && _b !== void 0 ? _b : 0), date.getDate() + ((_c = timeSpan.days) !== null && _c !== void 0 ? _c : 0));
|
|
189
|
+
newDate.setHours(date.getHours() + ((_d = timeSpan.hours) !== null && _d !== void 0 ? _d : 0), date.getMinutes() + ((_e = timeSpan.minutes) !== null && _e !== void 0 ? _e : 0), date.getSeconds() + ((_f = timeSpan.seconds) !== null && _f !== void 0 ? _f : 0), date.getMilliseconds() + ((_g = timeSpan.milliseconds) !== null && _g !== void 0 ? _g : 0));
|
|
190
|
+
return newDate;
|
|
191
|
+
};
|
|
192
|
+
/**
|
|
193
|
+
* Gets the difference between 2 dates.
|
|
194
|
+
*/
|
|
195
|
+
DateUtils.difference = function (startDate, endDate) {
|
|
196
|
+
var compareDate = new Date();
|
|
197
|
+
compareDate.setFullYear(endDate.getFullYear() - startDate.getFullYear(), endDate.getMonth() - startDate.getMonth(), endDate.getDate() - startDate.getDate());
|
|
198
|
+
compareDate.setHours(endDate.getHours() - startDate.getHours(), endDate.getMinutes() - startDate.getMinutes(), endDate.getSeconds() - startDate.getSeconds(), endDate.getMilliseconds() - startDate.getMilliseconds());
|
|
199
|
+
return new TimeSpan(compareDate.getFullYear(), compareDate.getMonth(), compareDate.getDate(), compareDate.getHours(), compareDate.getMinutes(), compareDate.getSeconds(), compareDate.getMilliseconds(), endDate.getTime() - startDate.getTime());
|
|
200
|
+
};
|
|
201
|
+
DateUtils.defaultFormatString = "dd MMM yyyy";
|
|
202
|
+
DateUtils.defaultFormatStringWithTime = "dd MMM yyyy HH:mm";
|
|
203
|
+
DateUtils.token = /d{1,4}|M{1,4}|yy(?:yy)?|([HhmsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g;
|
|
204
|
+
DateUtils.timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g;
|
|
205
|
+
DateUtils.timezoneClip = /[^-+\dA-Z]/g;
|
|
206
|
+
/*
|
|
207
|
+
* Date Format 1.2.3
|
|
208
|
+
* (c) 2007-2009 Steven Levithan <stevenlevithan.com>
|
|
209
|
+
* MIT license
|
|
210
|
+
*
|
|
211
|
+
* Includes enhancements by Scott Trenda <scott.trenda.net>
|
|
212
|
+
* and Kris Kowal <cixar.com/~kris.kowal/>
|
|
213
|
+
*/
|
|
214
|
+
DateUtils.i18n = {
|
|
215
|
+
dayNames: [
|
|
216
|
+
"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat",
|
|
217
|
+
"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"
|
|
218
|
+
],
|
|
219
|
+
monthNames: [
|
|
220
|
+
"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec",
|
|
221
|
+
"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
|
|
222
|
+
]
|
|
223
|
+
};
|
|
224
|
+
return DateUtils;
|
|
225
|
+
}());
|
|
226
|
+
export default DateUtils;
|
package/dist/Dates/TimeSpan.d.ts
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
export interface ITimeSpan {
|
|
2
|
-
years: number;
|
|
3
|
-
months: number;
|
|
4
|
-
days: number;
|
|
5
|
-
hours: number;
|
|
6
|
-
minutes: number;
|
|
7
|
-
seconds: number;
|
|
8
|
-
milliseconds: number;
|
|
9
|
-
}
|
|
10
|
-
export declare class TimeSpan implements ITimeSpan {
|
|
11
|
-
readonly years: number;
|
|
12
|
-
readonly months: number;
|
|
13
|
-
readonly days: number;
|
|
14
|
-
readonly hours: number;
|
|
15
|
-
readonly minutes: number;
|
|
16
|
-
readonly seconds: number;
|
|
17
|
-
readonly milliseconds: number;
|
|
18
|
-
readonly totalMilliseconds: number;
|
|
19
|
-
constructor(years: number, months: number, days: number, hours: number, minutes: number, seconds: number, milliseconds: number, totalMilliseconds: number);
|
|
20
|
-
get totalSeconds(): number;
|
|
21
|
-
get totalMinutes(): number;
|
|
22
|
-
get totalHours(): number;
|
|
23
|
-
get totalDays(): number;
|
|
24
|
-
}
|
|
1
|
+
export interface ITimeSpan {
|
|
2
|
+
years: number;
|
|
3
|
+
months: number;
|
|
4
|
+
days: number;
|
|
5
|
+
hours: number;
|
|
6
|
+
minutes: number;
|
|
7
|
+
seconds: number;
|
|
8
|
+
milliseconds: number;
|
|
9
|
+
}
|
|
10
|
+
export declare class TimeSpan implements ITimeSpan {
|
|
11
|
+
readonly years: number;
|
|
12
|
+
readonly months: number;
|
|
13
|
+
readonly days: number;
|
|
14
|
+
readonly hours: number;
|
|
15
|
+
readonly minutes: number;
|
|
16
|
+
readonly seconds: number;
|
|
17
|
+
readonly milliseconds: number;
|
|
18
|
+
readonly totalMilliseconds: number;
|
|
19
|
+
constructor(years: number, months: number, days: number, hours: number, minutes: number, seconds: number, milliseconds: number, totalMilliseconds: number);
|
|
20
|
+
get totalSeconds(): number;
|
|
21
|
+
get totalMinutes(): number;
|
|
22
|
+
get totalHours(): number;
|
|
23
|
+
get totalDays(): number;
|
|
24
|
+
}
|
package/dist/Dates/TimeSpan.js
CHANGED
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
var msPerSecond = 1000;
|
|
2
|
-
var msPerMinute = msPerSecond * 60;
|
|
3
|
-
var msPerHour = msPerMinute * 60;
|
|
4
|
-
var msPerDay = msPerHour * 24;
|
|
5
|
-
var TimeSpan = /** @class */ (function () {
|
|
6
|
-
function TimeSpan(years, months, days, hours, minutes, seconds, milliseconds, totalMilliseconds) {
|
|
7
|
-
this.years = years;
|
|
8
|
-
this.months = months;
|
|
9
|
-
this.days = days;
|
|
10
|
-
this.hours = hours;
|
|
11
|
-
this.minutes = minutes;
|
|
12
|
-
this.seconds = seconds;
|
|
13
|
-
this.milliseconds = milliseconds;
|
|
14
|
-
this.totalMilliseconds = totalMilliseconds;
|
|
15
|
-
}
|
|
16
|
-
Object.defineProperty(TimeSpan.prototype, "totalSeconds", {
|
|
17
|
-
get: function () {
|
|
18
|
-
return Math.floor(this.totalMilliseconds / msPerSecond);
|
|
19
|
-
},
|
|
20
|
-
enumerable: false,
|
|
21
|
-
configurable: true
|
|
22
|
-
});
|
|
23
|
-
Object.defineProperty(TimeSpan.prototype, "totalMinutes", {
|
|
24
|
-
get: function () {
|
|
25
|
-
return Math.floor(this.totalMilliseconds / msPerMinute);
|
|
26
|
-
},
|
|
27
|
-
enumerable: false,
|
|
28
|
-
configurable: true
|
|
29
|
-
});
|
|
30
|
-
Object.defineProperty(TimeSpan.prototype, "totalHours", {
|
|
31
|
-
get: function () {
|
|
32
|
-
return Math.floor(this.totalMilliseconds / msPerHour);
|
|
33
|
-
},
|
|
34
|
-
enumerable: false,
|
|
35
|
-
configurable: true
|
|
36
|
-
});
|
|
37
|
-
Object.defineProperty(TimeSpan.prototype, "totalDays", {
|
|
38
|
-
get: function () {
|
|
39
|
-
return Math.floor(this.totalMilliseconds / msPerDay);
|
|
40
|
-
},
|
|
41
|
-
enumerable: false,
|
|
42
|
-
configurable: true
|
|
43
|
-
});
|
|
44
|
-
return TimeSpan;
|
|
45
|
-
}());
|
|
46
|
-
export { TimeSpan };
|
|
1
|
+
var msPerSecond = 1000;
|
|
2
|
+
var msPerMinute = msPerSecond * 60;
|
|
3
|
+
var msPerHour = msPerMinute * 60;
|
|
4
|
+
var msPerDay = msPerHour * 24;
|
|
5
|
+
var TimeSpan = /** @class */ (function () {
|
|
6
|
+
function TimeSpan(years, months, days, hours, minutes, seconds, milliseconds, totalMilliseconds) {
|
|
7
|
+
this.years = years;
|
|
8
|
+
this.months = months;
|
|
9
|
+
this.days = days;
|
|
10
|
+
this.hours = hours;
|
|
11
|
+
this.minutes = minutes;
|
|
12
|
+
this.seconds = seconds;
|
|
13
|
+
this.milliseconds = milliseconds;
|
|
14
|
+
this.totalMilliseconds = totalMilliseconds;
|
|
15
|
+
}
|
|
16
|
+
Object.defineProperty(TimeSpan.prototype, "totalSeconds", {
|
|
17
|
+
get: function () {
|
|
18
|
+
return Math.floor(this.totalMilliseconds / msPerSecond);
|
|
19
|
+
},
|
|
20
|
+
enumerable: false,
|
|
21
|
+
configurable: true
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(TimeSpan.prototype, "totalMinutes", {
|
|
24
|
+
get: function () {
|
|
25
|
+
return Math.floor(this.totalMilliseconds / msPerMinute);
|
|
26
|
+
},
|
|
27
|
+
enumerable: false,
|
|
28
|
+
configurable: true
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(TimeSpan.prototype, "totalHours", {
|
|
31
|
+
get: function () {
|
|
32
|
+
return Math.floor(this.totalMilliseconds / msPerHour);
|
|
33
|
+
},
|
|
34
|
+
enumerable: false,
|
|
35
|
+
configurable: true
|
|
36
|
+
});
|
|
37
|
+
Object.defineProperty(TimeSpan.prototype, "totalDays", {
|
|
38
|
+
get: function () {
|
|
39
|
+
return Math.floor(this.totalMilliseconds / msPerDay);
|
|
40
|
+
},
|
|
41
|
+
enumerable: false,
|
|
42
|
+
configurable: true
|
|
43
|
+
});
|
|
44
|
+
return TimeSpan;
|
|
45
|
+
}());
|
|
46
|
+
export { TimeSpan };
|