@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.
Files changed (299) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +1 -1
  3. package/dist/ApiClient/ApiClientBase.d.ts +5 -5
  4. package/dist/ApiClient/ApiClientBase.js +13 -13
  5. package/dist/ApiClient/ReadApiClient.d.ts +16 -16
  6. package/dist/ApiClient/ReadApiClient.js +24 -24
  7. package/dist/ApiClient/UpdateableApiClient.d.ts +28 -28
  8. package/dist/ApiClient/UpdateableApiClient.js +33 -33
  9. package/dist/AppServices/AppService.d.ts +46 -46
  10. package/dist/AppServices/AppService.js +25 -25
  11. package/dist/AppServices/Config/ConfigModel.d.ts +21 -20
  12. package/dist/AppServices/Config/ConfigModel.js +28 -17
  13. package/dist/AppServices/Config/ConfigService.d.ts +15 -15
  14. package/dist/AppServices/Config/ConfigService.js +49 -53
  15. package/dist/AppServices/Module.d.ts +11 -11
  16. package/dist/AppServices/Module.js +13 -13
  17. package/dist/AppServices/NeoContainer.d.ts +22 -22
  18. package/dist/AppServices/NeoContainer.js +42 -42
  19. package/dist/AppServices/NeoModule.d.ts +3 -3
  20. package/dist/AppServices/NeoModule.js +30 -30
  21. package/dist/AppServices/NeoTypes.d.ts +61 -61
  22. package/dist/AppServices/NeoTypes.js +42 -42
  23. package/dist/AppServices/ServiceIdentifier.d.ts +23 -23
  24. package/dist/AppServices/ServiceIdentifier.js +38 -39
  25. package/dist/AppServices/index.d.ts +7 -7
  26. package/dist/AppServices/index.js +7 -7
  27. package/dist/Components/AnimationHelper.d.ts +69 -69
  28. package/dist/Components/AnimationHelper.js +182 -182
  29. package/dist/Components/BootstrapHelpers.d.ts +8 -8
  30. package/dist/Components/BootstrapHelpers.js +30 -30
  31. package/dist/Components/BootstrapTypes.d.ts +35 -35
  32. package/dist/Components/BootstrapTypes.js +1 -1
  33. package/dist/Components/ButtonOptions.d.ts +63 -61
  34. package/dist/Components/ButtonOptions.js +1 -1
  35. package/dist/Components/ContextMenu/ContextMenu.d.ts +16 -16
  36. package/dist/Components/ContextMenu/ContextMenu.js +1 -1
  37. package/dist/Components/ContextMenu/MenuUtils.d.ts +16 -16
  38. package/dist/Components/ContextMenu/MenuUtils.js +34 -34
  39. package/dist/Components/DatePicker/DatePicker.d.ts +70 -69
  40. package/dist/Components/DatePicker/DatePicker.js +510 -487
  41. package/dist/Components/DatePicker/DatePickerOptions.d.ts +43 -34
  42. package/dist/Components/DatePicker/DatePickerOptions.js +33 -33
  43. package/dist/Components/ErrorHandler.d.ts +63 -55
  44. package/dist/Components/ErrorHandler.js +211 -138
  45. package/dist/Components/FileManager/BoundFileManager.d.ts +18 -18
  46. package/dist/Components/FileManager/BoundFileManager.js +60 -60
  47. package/dist/Components/FileManager/FileManager.d.ts +80 -78
  48. package/dist/Components/FileManager/FileManager.js +277 -257
  49. package/dist/Components/FileManager/FileUploadBatch.d.ts +37 -37
  50. package/dist/Components/FileManager/FileUploadBatch.js +83 -82
  51. package/dist/Components/FileManager/IFileManagerOptions.d.ts +42 -42
  52. package/dist/Components/FileManager/IFileManagerOptions.js +1 -1
  53. package/dist/Components/FormOptions.d.ts +34 -34
  54. package/dist/Components/FormOptions.js +1 -1
  55. package/dist/Components/ICollapsableOptions.d.ts +11 -11
  56. package/dist/Components/ICollapsableOptions.js +1 -1
  57. package/dist/Components/Modal/ModalHelper.d.ts +31 -31
  58. package/dist/Components/Modal/ModalHelper.js +174 -174
  59. package/dist/Components/Modal/ModalOptions.d.ts +61 -61
  60. package/dist/Components/Modal/ModalOptions.js +1 -1
  61. package/dist/Components/Modal/ModalStore.d.ts +32 -32
  62. package/dist/Components/Modal/ModalStore.js +82 -82
  63. package/dist/Components/Modal/ModalUtils.d.ts +61 -61
  64. package/dist/Components/Modal/ModalUtils.js +109 -109
  65. package/dist/Components/Notifications/INotificationHelper.d.ts +56 -56
  66. package/dist/Components/Notifications/INotificationHelper.js +1 -1
  67. package/dist/Components/Notifications/Notification.d.ts +32 -32
  68. package/dist/Components/Notifications/Notification.js +26 -27
  69. package/dist/Components/Notifications/NotificationHelper.d.ts +63 -63
  70. package/dist/Components/Notifications/NotificationHelper.js +111 -112
  71. package/dist/Components/Notifications/NotificationStore.d.ts +34 -34
  72. package/dist/Components/Notifications/NotificationStore.js +78 -79
  73. package/dist/Components/PositionHelper.d.ts +10 -10
  74. package/dist/Components/PositionHelper.js +43 -43
  75. package/dist/Components/TaskRunner/Decorators.d.ts +6 -6
  76. package/dist/Components/TaskRunner/Decorators.js +24 -24
  77. package/dist/Components/TaskRunner/ProgressState.d.ts +22 -22
  78. package/dist/Components/TaskRunner/ProgressState.js +71 -72
  79. package/dist/Components/TaskRunner/TaskRunner.d.ts +114 -114
  80. package/dist/Components/TaskRunner/TaskRunner.js +253 -244
  81. package/dist/Components/TooltipOptions.d.ts +8 -8
  82. package/dist/Components/TooltipOptions.js +1 -1
  83. package/dist/Components/index.d.ts +22 -22
  84. package/dist/Components/index.js +13 -13
  85. package/dist/ConnectionManager.d.ts +45 -45
  86. package/dist/ConnectionManager.js +60 -61
  87. package/dist/Data/ApiDataSource.d.ts +46 -46
  88. package/dist/Data/ApiDataSource.js +140 -144
  89. package/dist/Data/AsyncDataSource.d.ts +35 -35
  90. package/dist/Data/AsyncDataSource.js +79 -80
  91. package/dist/Data/CacheService.d.ts +40 -40
  92. package/dist/Data/CacheService.js +63 -64
  93. package/dist/Data/DataCacheEntry.d.ts +42 -42
  94. package/dist/Data/DataCacheEntry.js +80 -80
  95. package/dist/Data/DataView.d.ts +43 -43
  96. package/dist/Data/DataView.js +173 -172
  97. package/dist/Data/Deserialiser.d.ts +42 -42
  98. package/dist/Data/Deserialiser.js +255 -255
  99. package/dist/Data/Paging/PageManager.d.ts +167 -167
  100. package/dist/Data/Paging/PageManager.js +323 -323
  101. package/dist/Data/Paging/PageRequest.d.ts +24 -24
  102. package/dist/Data/Paging/PageRequest.js +38 -39
  103. package/dist/Data/Paging/PageResult.d.ts +10 -10
  104. package/dist/Data/Paging/PageResult.js +14 -14
  105. package/dist/Data/Serialiser.d.ts +41 -41
  106. package/dist/Data/Serialiser.js +201 -201
  107. package/dist/Data/SortOperation.d.ts +8 -8
  108. package/dist/Data/SortOperation.js +26 -26
  109. package/dist/Data/StaticDataSource.d.ts +9 -9
  110. package/dist/Data/StaticDataSource.js +27 -27
  111. package/dist/Data/WindowedDataView.d.ts +8 -8
  112. package/dist/Data/WindowedDataView.js +49 -50
  113. package/dist/Data/index.d.ts +15 -15
  114. package/dist/Data/index.js +15 -15
  115. package/dist/Dates/DateUtils.d.ts +47 -47
  116. package/dist/Dates/DateUtils.js +226 -226
  117. package/dist/Dates/TimeSpan.d.ts +24 -24
  118. package/dist/Dates/TimeSpan.js +46 -46
  119. package/dist/DebounceHelper.d.ts +44 -38
  120. package/dist/DebounceHelper.js +122 -95
  121. package/dist/Extensions.d.ts +82 -82
  122. package/dist/Extensions.js +182 -182
  123. package/dist/FileUtils.d.ts +6 -6
  124. package/dist/FileUtils.js +37 -37
  125. package/dist/Globals.d.ts +19 -19
  126. package/dist/Globals.js +41 -41
  127. package/dist/JsonSchema/ClassMetadata.d.ts +25 -25
  128. package/dist/JsonSchema/ClassMetadata.js +53 -53
  129. package/dist/JsonSchema/JsonData.d.ts +16 -16
  130. package/dist/JsonSchema/JsonData.js +97 -97
  131. package/dist/JsonSchema/JsonSchemaTypes.d.ts +37 -37
  132. package/dist/JsonSchema/JsonSchemaTypes.js +1 -1
  133. package/dist/JsonSchema/PropertyMetadata.d.ts +8 -8
  134. package/dist/JsonSchema/PropertyMetadata.js +8 -8
  135. package/dist/JsonSchema/TypeCache.d.ts +16 -16
  136. package/dist/JsonSchema/TypeCache.js +44 -44
  137. package/dist/JsonSchema/TypeMetadata.d.ts +45 -45
  138. package/dist/JsonSchema/TypeMetadata.js +170 -170
  139. package/dist/JsonSchema/index.d.ts +7 -7
  140. package/dist/JsonSchema/index.js +6 -6
  141. package/dist/Localisation/ILocalisationService.d.ts +11 -11
  142. package/dist/Localisation/ILocalisationService.js +1 -1
  143. package/dist/Localisation/LocalisationService.d.ts +4 -4
  144. package/dist/Localisation/LocalisationService.js +17 -17
  145. package/dist/Localisation/index.d.ts +1 -1
  146. package/dist/Localisation/index.js +1 -1
  147. package/dist/Misc.d.ts +6 -6
  148. package/dist/Misc.js +6 -6
  149. package/dist/Model/BaseModels/AuditValues.d.ts +12 -12
  150. package/dist/Model/BaseModels/AuditValues.js +46 -48
  151. package/dist/Model/BaseModels/CriteriaBase.d.ts +18 -16
  152. package/dist/Model/BaseModels/CriteriaBase.js +45 -34
  153. package/dist/Model/BaseModels/FileDescriptorBase.d.ts +12 -12
  154. package/dist/Model/BaseModels/FileDescriptorBase.js +22 -22
  155. package/dist/Model/BaseModels/ReasonedUserEvent.d.ts +5 -4
  156. package/dist/Model/BaseModels/ReasonedUserEvent.js +23 -19
  157. package/dist/Model/BaseModels/UserEvent.d.ts +9 -8
  158. package/dist/Model/BaseModels/UserEvent.js +36 -32
  159. package/dist/Model/BindableBase.d.ts +46 -40
  160. package/dist/Model/BindableBase.js +82 -76
  161. package/dist/Model/Decorators.d.ts +50 -44
  162. package/dist/Model/Decorators.js +189 -177
  163. package/dist/Model/EnumHelper.d.ts +54 -54
  164. package/dist/Model/EnumHelper.js +104 -100
  165. package/dist/Model/IAutoRunner.d.ts +5 -5
  166. package/dist/Model/IAutoRunner.js +1 -1
  167. package/dist/Model/IModelBase.d.ts +101 -79
  168. package/dist/Model/IModelBase.js +1 -1
  169. package/dist/Model/IModelCreatorBase.d.ts +9 -9
  170. package/dist/Model/IModelCreatorBase.js +1 -1
  171. package/dist/Model/List.d.ts +79 -77
  172. package/dist/Model/List.js +208 -198
  173. package/dist/Model/LookupBase.d.ts +13 -6
  174. package/dist/Model/LookupBase.js +19 -10
  175. package/dist/Model/MethodInfo.d.ts +8 -0
  176. package/dist/Model/MethodInfo.js +7 -0
  177. package/dist/Model/Misc.d.ts +83 -81
  178. package/dist/Model/Misc.js +59 -59
  179. package/dist/Model/ModelBase.d.ts +88 -86
  180. package/dist/Model/ModelBase.js +189 -180
  181. package/dist/Model/ModelCreatorBase.d.ts +23 -23
  182. package/dist/Model/ModelCreatorBase.js +91 -92
  183. package/dist/Model/ModelFieldInfo.d.ts +29 -12
  184. package/dist/Model/ModelFieldInfo.js +35 -26
  185. package/dist/Model/ModelGraphTraverser.d.ts +35 -35
  186. package/dist/Model/ModelGraphTraverser.js +101 -99
  187. package/dist/Model/NeoModel.d.ts +6 -6
  188. package/dist/Model/NeoModel.js +13 -13
  189. package/dist/Model/NeoTypeInfo.d.ts +55 -41
  190. package/dist/Model/NeoTypeInfo.js +319 -250
  191. package/dist/Model/ObservableProperty.d.ts +8 -8
  192. package/dist/Model/ObservableProperty.js +41 -41
  193. package/dist/Model/ObservableValue.d.ts +9 -9
  194. package/dist/Model/ObservableValue.js +25 -26
  195. package/dist/Model/PropertyInfo.d.ts +83 -81
  196. package/dist/Model/PropertyInfo.js +137 -137
  197. package/dist/Model/PropertyInstance.d.ts +84 -48
  198. package/dist/Model/PropertyInstance.js +173 -113
  199. package/dist/Model/ValueObject.d.ts +3 -3
  200. package/dist/Model/ValueObject.js +10 -10
  201. package/dist/Model/index.d.ts +15 -14
  202. package/dist/Model/index.js +13 -12
  203. package/dist/NumberUtils.d.ts +63 -49
  204. package/dist/NumberUtils.js +247 -197
  205. package/dist/Routing/IMenuItemProvider.d.ts +9 -9
  206. package/dist/Routing/IMenuItemProvider.js +1 -1
  207. package/dist/Routing/IMenuRoute.d.ts +18 -18
  208. package/dist/Routing/IMenuRoute.js +1 -1
  209. package/dist/Routing/INavigationHelper.d.ts +7 -7
  210. package/dist/Routing/INavigationHelper.js +1 -1
  211. package/dist/Routing/IPageLeaveHandler.d.ts +23 -23
  212. package/dist/Routing/IPageLeaveHandler.js +7 -7
  213. package/dist/Routing/IRoute.d.ts +27 -27
  214. package/dist/Routing/IRoute.js +1 -1
  215. package/dist/Routing/IRouteSecurityService.d.ts +14 -14
  216. package/dist/Routing/IRouteSecurityService.js +1 -1
  217. package/dist/Routing/MenuItemProvider.d.ts +17 -17
  218. package/dist/Routing/MenuItemProvider.js +53 -54
  219. package/dist/Routing/RouteSecurityService.d.ts +18 -18
  220. package/dist/Routing/RouteSecurityService.js +35 -36
  221. package/dist/Routing/index.d.ts +7 -7
  222. package/dist/Routing/index.js +3 -3
  223. package/dist/Security/IAuthenticationService.d.ts +41 -36
  224. package/dist/Security/IAuthenticationService.js +1 -1
  225. package/dist/Security/IAuthorisationService.d.ts +11 -11
  226. package/dist/Security/IAuthorisationService.js +1 -1
  227. package/dist/Security/ILoginErrorHandler.d.ts +4 -4
  228. package/dist/Security/ILoginErrorHandler.js +1 -1
  229. package/dist/Security/ISecurityService.d.ts +10 -10
  230. package/dist/Security/ISecurityService.js +1 -1
  231. package/dist/Security/IUser.d.ts +10 -10
  232. package/dist/Security/IUser.js +1 -1
  233. package/dist/Security/IUserRole.d.ts +6 -6
  234. package/dist/Security/IUserRole.js +1 -1
  235. package/dist/Security/LoginErrorHandler.d.ts +15 -15
  236. package/dist/Security/LoginErrorHandler.js +97 -98
  237. package/dist/Security/Oidc/OidcAuthService.d.ts +67 -60
  238. package/dist/Security/Oidc/OidcAuthService.js +216 -189
  239. package/dist/Security/Oidc/OidcTypes.d.ts +46 -29
  240. package/dist/Security/Oidc/OidcTypes.js +1 -1
  241. package/dist/Security/Oidc/OidcUser.d.ts +9 -9
  242. package/dist/Security/Oidc/OidcUser.js +33 -33
  243. package/dist/Security/SecurityService.d.ts +12 -12
  244. package/dist/Security/SecurityService.js +33 -34
  245. package/dist/Security/SignInResult.d.ts +13 -13
  246. package/dist/Security/SignInResult.js +8 -8
  247. package/dist/Security/User.d.ts +12 -12
  248. package/dist/Security/User.js +24 -24
  249. package/dist/Security/index.d.ts +10 -10
  250. package/dist/Security/index.js +5 -5
  251. package/dist/Settings.d.ts +71 -57
  252. package/dist/Settings.js +100 -87
  253. package/dist/SignalR/HubBase.d.ts +70 -70
  254. package/dist/SignalR/HubBase.js +164 -164
  255. package/dist/SignalR/HubReceiver.d.ts +11 -11
  256. package/dist/SignalR/HubReceiver.js +25 -25
  257. package/dist/SignalR/HubSubscription.d.ts +12 -12
  258. package/dist/SignalR/HubSubscription.js +14 -14
  259. package/dist/SignalR/index.d.ts +3 -3
  260. package/dist/SignalR/index.js +1 -1
  261. package/dist/StringUtils.d.ts +7 -7
  262. package/dist/StringUtils.js +24 -24
  263. package/dist/Utils.d.ts +81 -80
  264. package/dist/Utils.js +220 -218
  265. package/dist/Validation/Decorators.d.ts +12 -12
  266. package/dist/Validation/Decorators.js +52 -52
  267. package/dist/Validation/DisplayHelper.d.ts +20 -19
  268. package/dist/Validation/DisplayHelper.js +104 -104
  269. package/dist/Validation/Misc.d.ts +10 -10
  270. package/dist/Validation/Misc.js +11 -11
  271. package/dist/Validation/ModelProxy.d.ts +20 -20
  272. package/dist/Validation/ModelProxy.js +46 -46
  273. package/dist/Validation/RuleContext.d.ts +86 -86
  274. package/dist/Validation/RuleContext.js +130 -130
  275. package/dist/Validation/Rules.d.ts +70 -70
  276. package/dist/Validation/Rules.js +177 -177
  277. package/dist/Validation/ValidationHelpers.d.ts +12 -12
  278. package/dist/Validation/ValidationHelpers.js +57 -57
  279. package/dist/Validation/ValidationRules.d.ts +18 -18
  280. package/dist/Validation/ValidationRules.js +34 -34
  281. package/dist/Validation/ValidationState.d.ts +42 -42
  282. package/dist/Validation/ValidationState.js +74 -74
  283. package/dist/Validation/Validators/IModelValidator.d.ts +28 -24
  284. package/dist/Validation/Validators/IModelValidator.js +1 -1
  285. package/dist/Validation/Validators/IPropertyValidator.d.ts +21 -21
  286. package/dist/Validation/Validators/IPropertyValidator.js +15 -15
  287. package/dist/Validation/Validators/ModelValidator.d.ts +46 -45
  288. package/dist/Validation/Validators/ModelValidator.js +143 -137
  289. package/dist/Validation/Validators/PropertyValidator.d.ts +21 -21
  290. package/dist/Validation/Validators/PropertyValidator.js +64 -67
  291. package/dist/Validation/Validators/RuleValidator.d.ts +19 -19
  292. package/dist/Validation/Validators/RuleValidator.js +51 -55
  293. package/dist/Validation/index.d.ts +9 -9
  294. package/dist/Validation/index.js +7 -7
  295. package/dist/Views/IViewBase.d.ts +5 -5
  296. package/dist/Views/IViewBase.js +1 -1
  297. package/dist/index.d.ts +37 -36
  298. package/dist/index.js +44 -43
  299. package/package.json +11 -10
@@ -1,182 +1,182 @@
1
- import { __spreadArray } from "tslib";
2
- import { DataType } from './Misc';
3
- import Decimal from 'decimal.js-light';
4
- //#region Strings
5
- String.prototype.format = function () {
6
- var args = [];
7
- for (var _i = 0; _i < arguments.length; _i++) {
8
- args[_i] = arguments[_i];
9
- }
10
- return this.replace(/{(\d+)}/g, function (match, number) {
11
- return typeof args[number] != 'undefined'
12
- ? args[number]
13
- : match;
14
- });
15
- };
16
- String.prototype.readable = function () {
17
- var copy = this;
18
- if (copy.endsWith("Id") || copy.endsWith("ID"))
19
- copy = copy.substr(0, copy.length - 2);
20
- var split = copy.replace(/([A-Z]+)/g, ' $1').trim();
21
- if (split.length) {
22
- return split[0].toUpperCase() + split.substr(1);
23
- }
24
- else {
25
- return split;
26
- }
27
- };
28
- //#endregion
29
- //#region Numbers
30
- //Allow comparison to a certain precision.
31
- Number.ignorePrecision = 0.000001;
32
- Number.prototype.compareGT = function CompareGT(y) {
33
- return this - y > Number.ignorePrecision;
34
- };
35
- Number.prototype.compareGTE = function CompareGTE(y) {
36
- return this - y > -Number.ignorePrecision;
37
- };
38
- Number.prototype.compareLT = function CompareLT(y) {
39
- return y.compareGT(this);
40
- };
41
- Number.prototype.compareLTE = function CompareLTE(y) {
42
- return y.compareGTE(this);
43
- };
44
- Number.prototype.compareE = function CompareE(y) {
45
- return Math.abs(this - y) < Number.ignorePrecision;
46
- };
47
- Number.prototype.compareNE = function CompareNE(y) {
48
- return !this.compareE(y);
49
- };
50
- //#endregion
51
- //#region Arrays
52
- Array.prototype.sortBy = function (valueFnOrKey, direction, dataType) {
53
- if (direction === void 0) { direction = "asc"; }
54
- var delta = direction === "asc" ? -1 : 1;
55
- var valueFn;
56
- var comparer;
57
- if (valueFnOrKey instanceof Function) {
58
- valueFn = valueFnOrKey;
59
- comparer = function (a, b) {
60
- var aValue = valueFnOrKey(a);
61
- var bValue = valueFnOrKey(b);
62
- return aValue < bValue ? delta : (aValue > bValue ? -delta : 0);
63
- };
64
- }
65
- else {
66
- valueFn = function (item) { return item[valueFnOrKey]; };
67
- comparer = function (a, b) {
68
- var aValue = a[valueFnOrKey];
69
- var bValue = b[valueFnOrKey];
70
- return aValue < bValue ? delta : (aValue > bValue ? -delta : 0);
71
- };
72
- }
73
- if (dataType === DataType.Decimal) {
74
- comparer = function (a, b) {
75
- var aValue = valueFn(a);
76
- var bValue = valueFn(b);
77
- if (aValue === null && bValue === null) {
78
- return 0;
79
- }
80
- else if (aValue === null && bValue !== null) {
81
- return -delta;
82
- }
83
- else if (aValue !== null && bValue === null) {
84
- return delta;
85
- }
86
- else {
87
- return bValue.comparedTo(aValue) * delta;
88
- }
89
- };
90
- }
91
- return this.sort(comparer);
92
- };
93
- Array.prototype.remove = function (item) {
94
- var index = this.indexOf(item);
95
- if (index >= 0) {
96
- this.splice(index, 1);
97
- }
98
- };
99
- function getPropertyName(property) {
100
- if (property instanceof String) {
101
- return { key: property };
102
- }
103
- else {
104
- var propertyInfo = property;
105
- if (property.propertyInfo) {
106
- propertyInfo = property.propertyInfo;
107
- }
108
- return { key: propertyInfo.propertyName, isDecimal: propertyInfo.propertyType === DataType.Decimal };
109
- }
110
- }
111
- Array.prototype.sum = function (property) {
112
- if (property instanceof Function) {
113
- return this.reduce(function (total, item) { return total + property(item); }, 0);
114
- }
115
- else {
116
- var propertyInfo_1 = getPropertyName(property);
117
- if (propertyInfo_1.isDecimal) {
118
- return sumDecimal(this, propertyInfo_1.key);
119
- }
120
- else {
121
- return this.reduce(function (total, item) { return total + item[propertyInfo_1.key]; }, 0);
122
- }
123
- }
124
- };
125
- Array.prototype.sumDecimal = function (property) {
126
- if (property instanceof Function) {
127
- return this.reduce(function (total, item) { return total.add(property(item)); }, new Decimal(0));
128
- }
129
- else {
130
- var propertyInfo = getPropertyName(property);
131
- return sumDecimal(this, propertyInfo.key);
132
- }
133
- };
134
- function sumDecimal(items, propertyName) {
135
- return items.reduce(function (total, item) { return total.add(item[propertyName]); }, new Decimal(0));
136
- }
137
- Array.prototype.average = function (property) {
138
- return this.length === 0 ? 0 : this.sum(property) / this.length;
139
- };
140
- Array.prototype.groupBy = function (key, selector) {
141
- var keyIsFn = typeof key === "function";
142
- var keyFn = key;
143
- var keys = this.reduce(function (g, i) {
144
- var keyValue = keyIsFn ? keyFn(i) : i[key];
145
- (g[keyValue] = g[keyValue] || []).push(i);
146
- return g;
147
- }, {});
148
- var groupedList = [];
149
- for (var key_1 in keys) {
150
- var details = keys[key_1];
151
- if (selector) {
152
- groupedList.push(selector(key_1, details[0], details));
153
- }
154
- else {
155
- groupedList.push({ item: details[0], details: details });
156
- }
157
- }
158
- return groupedList;
159
- };
160
- Array.prototype.toDictionary = function (keyFn, valueFn) {
161
- if (valueFn) {
162
- return Object.assign.apply(Object, __spreadArray([{}], this.map(function (item) {
163
- var _a;
164
- return (_a = {}, _a[keyFn(item)] = valueFn(item), _a);
165
- }), false));
166
- }
167
- else {
168
- return Object.assign.apply(Object, __spreadArray([{}], this.map(function (item) {
169
- var _a;
170
- return (_a = {}, _a[keyFn(item)] = item, _a);
171
- }), false));
172
- }
173
- };
174
- //#endregion
175
- Map.prototype.getOrAdd = function (key, valueCallback) {
176
- var value = this.get(key);
177
- if (value === undefined) {
178
- value = valueCallback(key);
179
- this.set(key, value);
180
- }
181
- return value;
182
- };
1
+ import { __spreadArray } from "tslib";
2
+ import { DataType } from './Misc';
3
+ import Decimal from 'decimal.js-light';
4
+ //#region Strings
5
+ String.prototype.format = function () {
6
+ var args = [];
7
+ for (var _i = 0; _i < arguments.length; _i++) {
8
+ args[_i] = arguments[_i];
9
+ }
10
+ return this.replace(/{(\d+)}/g, function (match, number) {
11
+ return typeof args[number] != 'undefined'
12
+ ? args[number]
13
+ : match;
14
+ });
15
+ };
16
+ String.prototype.readable = function () {
17
+ var copy = this;
18
+ if (copy.endsWith("Id") || copy.endsWith("ID"))
19
+ copy = copy.substr(0, copy.length - 2);
20
+ var split = copy.replace(/([A-Z]+)/g, ' $1').trim();
21
+ if (split.length) {
22
+ return split[0].toUpperCase() + split.substr(1);
23
+ }
24
+ else {
25
+ return split;
26
+ }
27
+ };
28
+ //#endregion
29
+ //#region Numbers
30
+ //Allow comparison to a certain precision.
31
+ Number.ignorePrecision = 0.000001;
32
+ Number.prototype.compareGT = function CompareGT(y) {
33
+ return this - y > Number.ignorePrecision;
34
+ };
35
+ Number.prototype.compareGTE = function CompareGTE(y) {
36
+ return this - y > -Number.ignorePrecision;
37
+ };
38
+ Number.prototype.compareLT = function CompareLT(y) {
39
+ return y.compareGT(this);
40
+ };
41
+ Number.prototype.compareLTE = function CompareLTE(y) {
42
+ return y.compareGTE(this);
43
+ };
44
+ Number.prototype.compareE = function CompareE(y) {
45
+ return Math.abs(this - y) < Number.ignorePrecision;
46
+ };
47
+ Number.prototype.compareNE = function CompareNE(y) {
48
+ return !this.compareE(y);
49
+ };
50
+ //#endregion
51
+ //#region Arrays
52
+ Array.prototype.sortBy = function (valueFnOrKey, direction, dataType) {
53
+ if (direction === void 0) { direction = "asc"; }
54
+ var delta = direction === "asc" ? -1 : 1;
55
+ var valueFn;
56
+ var comparer;
57
+ if (valueFnOrKey instanceof Function) {
58
+ valueFn = valueFnOrKey;
59
+ comparer = function (a, b) {
60
+ var aValue = valueFnOrKey(a);
61
+ var bValue = valueFnOrKey(b);
62
+ return aValue < bValue ? delta : (aValue > bValue ? -delta : 0);
63
+ };
64
+ }
65
+ else {
66
+ valueFn = function (item) { return item[valueFnOrKey]; };
67
+ comparer = function (a, b) {
68
+ var aValue = a[valueFnOrKey];
69
+ var bValue = b[valueFnOrKey];
70
+ return aValue < bValue ? delta : (aValue > bValue ? -delta : 0);
71
+ };
72
+ }
73
+ if (dataType === DataType.Decimal) {
74
+ comparer = function (a, b) {
75
+ var aValue = valueFn(a);
76
+ var bValue = valueFn(b);
77
+ if (aValue === null && bValue === null) {
78
+ return 0;
79
+ }
80
+ else if (aValue === null && bValue !== null) {
81
+ return -delta;
82
+ }
83
+ else if (aValue !== null && bValue === null) {
84
+ return delta;
85
+ }
86
+ else {
87
+ return bValue.comparedTo(aValue) * delta;
88
+ }
89
+ };
90
+ }
91
+ return this.sort(comparer);
92
+ };
93
+ Array.prototype.remove = function (item) {
94
+ var index = this.indexOf(item);
95
+ if (index >= 0) {
96
+ this.splice(index, 1);
97
+ }
98
+ };
99
+ function getPropertyName(property) {
100
+ if (property instanceof String) {
101
+ return { key: property };
102
+ }
103
+ else {
104
+ var propertyInfo = property;
105
+ if (property.propertyInfo) {
106
+ propertyInfo = property.propertyInfo;
107
+ }
108
+ return { key: propertyInfo.propertyName, isDecimal: propertyInfo.propertyType === DataType.Decimal };
109
+ }
110
+ }
111
+ Array.prototype.sum = function (property) {
112
+ if (property instanceof Function) {
113
+ return this.reduce(function (total, item) { return total + property(item); }, 0);
114
+ }
115
+ else {
116
+ var propertyInfo_1 = getPropertyName(property);
117
+ if (propertyInfo_1.isDecimal) {
118
+ return sumDecimal(this, propertyInfo_1.key);
119
+ }
120
+ else {
121
+ return this.reduce(function (total, item) { return total + item[propertyInfo_1.key]; }, 0);
122
+ }
123
+ }
124
+ };
125
+ Array.prototype.sumDecimal = function (property) {
126
+ if (property instanceof Function) {
127
+ return this.reduce(function (total, item) { return total.add(property(item)); }, new Decimal(0));
128
+ }
129
+ else {
130
+ var propertyInfo = getPropertyName(property);
131
+ return sumDecimal(this, propertyInfo.key);
132
+ }
133
+ };
134
+ function sumDecimal(items, propertyName) {
135
+ return items.reduce(function (total, item) { return total.add(item[propertyName]); }, new Decimal(0));
136
+ }
137
+ Array.prototype.average = function (property) {
138
+ return this.length === 0 ? 0 : this.sum(property) / this.length;
139
+ };
140
+ Array.prototype.groupBy = function (key, selector) {
141
+ var keyIsFn = typeof key === "function";
142
+ var keyFn = key;
143
+ var keys = this.reduce(function (g, i) {
144
+ var keyValue = keyIsFn ? keyFn(i) : i[key];
145
+ (g[keyValue] = g[keyValue] || []).push(i);
146
+ return g;
147
+ }, {});
148
+ var groupedList = [];
149
+ for (var key_1 in keys) {
150
+ var details = keys[key_1];
151
+ if (selector) {
152
+ groupedList.push(selector(key_1, details[0], details));
153
+ }
154
+ else {
155
+ groupedList.push({ item: details[0], details: details });
156
+ }
157
+ }
158
+ return groupedList;
159
+ };
160
+ Array.prototype.toDictionary = function (keyFn, valueFn) {
161
+ if (valueFn) {
162
+ return Object.assign.apply(Object, __spreadArray([{}], this.map(function (item) {
163
+ var _a;
164
+ return (_a = {}, _a[keyFn(item)] = valueFn(item), _a);
165
+ }), false));
166
+ }
167
+ else {
168
+ return Object.assign.apply(Object, __spreadArray([{}], this.map(function (item) {
169
+ var _a;
170
+ return (_a = {}, _a[keyFn(item)] = item, _a);
171
+ }), false));
172
+ }
173
+ };
174
+ //#endregion
175
+ Map.prototype.getOrAdd = function (key, valueCallback) {
176
+ var value = this.get(key);
177
+ if (value === undefined) {
178
+ value = valueCallback(key);
179
+ this.set(key, value);
180
+ }
181
+ return value;
182
+ };
@@ -1,6 +1,6 @@
1
- import { AxiosResponse } from "axios";
2
- export default class FileUtils {
3
- static showSaveFile(response: AxiosResponse<BlobPart>): void;
4
- static showSaveFile(blob: BlobPart, fileName: string): void;
5
- static getAttachmentFileNameFromResponse(response: AxiosResponse): string;
6
- }
1
+ import { AxiosResponse } from "axios";
2
+ export default class FileUtils {
3
+ static showSaveFile(response: AxiosResponse<BlobPart>): void;
4
+ static showSaveFile(blob: BlobPart, fileName: string): void;
5
+ static getAttachmentFileNameFromResponse(response: AxiosResponse): string;
6
+ }
package/dist/FileUtils.js CHANGED
@@ -1,37 +1,37 @@
1
- var FileUtils = /** @class */ (function () {
2
- function FileUtils() {
3
- }
4
- FileUtils.showSaveFile = function (responseOrBlob, fileName) {
5
- var blobData = responseOrBlob;
6
- if (fileName === undefined) {
7
- var response = responseOrBlob;
8
- fileName = this.getAttachmentFileNameFromResponse(response);
9
- blobData = response.data;
10
- }
11
- var blobReference = window.URL.createObjectURL(new Blob([blobData]));
12
- var link = document.createElement('a');
13
- link.href = blobReference;
14
- link.setAttribute('download', fileName);
15
- document.body.appendChild(link);
16
- link.click();
17
- document.body.removeChild(link);
18
- window.URL.revokeObjectURL(blobReference);
19
- };
20
- FileUtils.getAttachmentFileNameFromResponse = function (response) {
21
- var disposition = response.headers["content-disposition"];
22
- if (disposition && disposition.startsWith('attachment')) {
23
- var filenameRegex = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/;
24
- var matches = filenameRegex.exec(disposition);
25
- if (matches != null && matches[1]) {
26
- return matches[1].replace(/['"]/g, '');
27
- }
28
- }
29
- var fileNameValue = response.headers["x_filename"];
30
- if (fileNameValue) {
31
- return fileNameValue;
32
- }
33
- throw Error("Filename not found. Make sure the response contains a content-disposition / x_filename header, and that your CORS policy exposes this header.");
34
- };
35
- return FileUtils;
36
- }());
37
- export default FileUtils;
1
+ var FileUtils = /** @class */ (function () {
2
+ function FileUtils() {
3
+ }
4
+ FileUtils.showSaveFile = function (responseOrBlob, fileName) {
5
+ var blobData = responseOrBlob;
6
+ if (fileName === undefined) {
7
+ var response = responseOrBlob;
8
+ fileName = this.getAttachmentFileNameFromResponse(response);
9
+ blobData = response.data;
10
+ }
11
+ var blobReference = window.URL.createObjectURL(new Blob([blobData]));
12
+ var link = document.createElement('a');
13
+ link.href = blobReference;
14
+ link.setAttribute('download', fileName);
15
+ document.body.appendChild(link);
16
+ link.click();
17
+ document.body.removeChild(link);
18
+ window.URL.revokeObjectURL(blobReference);
19
+ };
20
+ FileUtils.getAttachmentFileNameFromResponse = function (response) {
21
+ var disposition = response.headers["content-disposition"];
22
+ if (disposition && disposition.startsWith('attachment')) {
23
+ var filenameRegex = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/;
24
+ var matches = filenameRegex.exec(disposition);
25
+ if (matches != null && matches[1]) {
26
+ return matches[1].replace(/['"]/g, '');
27
+ }
28
+ }
29
+ var fileNameValue = response.headers["x_filename"];
30
+ if (fileNameValue) {
31
+ return fileNameValue;
32
+ }
33
+ throw Error("Filename not found. Make sure the response contains a content-disposition / x_filename header, and that your CORS policy exposes this header.");
34
+ };
35
+ return FileUtils;
36
+ }());
37
+ export default FileUtils;
package/dist/Globals.d.ts CHANGED
@@ -1,19 +1,19 @@
1
- import { IAppService } from './AppServices/AppService';
2
- import Decimal from 'decimal.js-light';
3
- export default class Globals {
4
- /** Global app service which hosts the DI container. */
5
- static appService: IAppService;
6
- static shadowRoot?: ShadowRoot;
7
- /**
8
- * The top level container hosting the app. Usually the html document, but can be a shadow root if hosted in another site.
9
- * Use this for adding top level events.
10
- */
11
- static get root(): Document | ShadowRoot;
12
- /**
13
- * The top level element hosting the app. Usually html document.body, but can be a shadow root if hosted in another site.
14
- * Use this for adding elements to the root level.
15
- */
16
- static get rootElement(): HTMLElement | ShadowRoot;
17
- private static _decimalType;
18
- static get decimalType(): typeof Decimal;
19
- }
1
+ import { IAppService } from './AppServices/AppService';
2
+ import Decimal from 'decimal.js-light';
3
+ export default class Globals {
4
+ /** Global app service which hosts the DI container. */
5
+ static appService: IAppService;
6
+ static shadowRoot?: ShadowRoot;
7
+ /**
8
+ * The top level container hosting the app. Usually the html document, but can be a shadow root if hosted in another site.
9
+ * Use this for adding top level events.
10
+ */
11
+ static get root(): Document | ShadowRoot;
12
+ /**
13
+ * The top level element hosting the app. Usually html document.body, but can be a shadow root if hosted in another site.
14
+ * Use this for adding elements to the root level.
15
+ */
16
+ static get rootElement(): HTMLElement | ShadowRoot;
17
+ private static _decimalType;
18
+ static get decimalType(): typeof Decimal;
19
+ }
package/dist/Globals.js CHANGED
@@ -1,41 +1,41 @@
1
- import { NeoTypes } from './AppServices';
2
- var Globals = /** @class */ (function () {
3
- function Globals() {
4
- }
5
- Object.defineProperty(Globals, "root", {
6
- /**
7
- * The top level container hosting the app. Usually the html document, but can be a shadow root if hosted in another site.
8
- * Use this for adding top level events.
9
- */
10
- get: function () {
11
- var _a;
12
- return (_a = this.shadowRoot) !== null && _a !== void 0 ? _a : window.document;
13
- },
14
- enumerable: false,
15
- configurable: true
16
- });
17
- Object.defineProperty(Globals, "rootElement", {
18
- /**
19
- * The top level element hosting the app. Usually html document.body, but can be a shadow root if hosted in another site.
20
- * Use this for adding elements to the root level.
21
- */
22
- get: function () {
23
- var _a;
24
- return (_a = this.shadowRoot) !== null && _a !== void 0 ? _a : window.document.body;
25
- },
26
- enumerable: false,
27
- configurable: true
28
- });
29
- Object.defineProperty(Globals, "decimalType", {
30
- get: function () {
31
- if (this._decimalType === undefined) {
32
- this._decimalType = this.appService.get(NeoTypes.Misc.DecimalType);
33
- }
34
- return this._decimalType;
35
- },
36
- enumerable: false,
37
- configurable: true
38
- });
39
- return Globals;
40
- }());
41
- export default Globals;
1
+ import { NeoTypes } from './AppServices';
2
+ var Globals = /** @class */ (function () {
3
+ function Globals() {
4
+ }
5
+ Object.defineProperty(Globals, "root", {
6
+ /**
7
+ * The top level container hosting the app. Usually the html document, but can be a shadow root if hosted in another site.
8
+ * Use this for adding top level events.
9
+ */
10
+ get: function () {
11
+ var _a;
12
+ return (_a = this.shadowRoot) !== null && _a !== void 0 ? _a : window.document;
13
+ },
14
+ enumerable: false,
15
+ configurable: true
16
+ });
17
+ Object.defineProperty(Globals, "rootElement", {
18
+ /**
19
+ * The top level element hosting the app. Usually html document.body, but can be a shadow root if hosted in another site.
20
+ * Use this for adding elements to the root level.
21
+ */
22
+ get: function () {
23
+ var _a;
24
+ return (_a = this.shadowRoot) !== null && _a !== void 0 ? _a : window.document.body;
25
+ },
26
+ enumerable: false,
27
+ configurable: true
28
+ });
29
+ Object.defineProperty(Globals, "decimalType", {
30
+ get: function () {
31
+ if (this._decimalType === undefined) {
32
+ this._decimalType = this.appService.get(NeoTypes.Misc.DecimalType);
33
+ }
34
+ return this._decimalType;
35
+ },
36
+ enumerable: false,
37
+ configurable: true
38
+ });
39
+ return Globals;
40
+ }());
41
+ export default Globals;
@@ -1,25 +1,25 @@
1
- import { PropertyMetadata } from './PropertyMetadata';
2
- import { IJsonObjectType } from './JsonSchemaTypes';
3
- import { ITypeCacheInternal } from './TypeCache';
4
- export declare class ClassMetadata {
5
- name: string;
6
- constructor(name: string);
7
- /**
8
- * All properties.
9
- */
10
- properties: PropertyMetadata[];
11
- /**
12
- * Properties excluding child objects and lists.
13
- */
14
- simpleProperties: PropertyMetadata[];
15
- /**
16
- * Properties containing child object types.
17
- */
18
- childObjectProperties: PropertyMetadata[];
19
- /**
20
- * Properties containing child list types.
21
- */
22
- childListProperties: PropertyMetadata[];
23
- loadMetaData(schema: IJsonObjectType, cache: ITypeCacheInternal): void;
24
- clone(): ClassMetadata;
25
- }
1
+ import { PropertyMetadata } from './PropertyMetadata';
2
+ import { IJsonObjectType } from './JsonSchemaTypes';
3
+ import { ITypeCacheInternal } from './TypeCache';
4
+ export declare class ClassMetadata {
5
+ name: string;
6
+ constructor(name: string);
7
+ /**
8
+ * All properties.
9
+ */
10
+ properties: PropertyMetadata[];
11
+ /**
12
+ * Properties excluding child objects and lists.
13
+ */
14
+ simpleProperties: PropertyMetadata[];
15
+ /**
16
+ * Properties containing child object types.
17
+ */
18
+ childObjectProperties: PropertyMetadata[];
19
+ /**
20
+ * Properties containing child list types.
21
+ */
22
+ childListProperties: PropertyMetadata[];
23
+ loadMetaData(schema: IJsonObjectType, cache: ITypeCacheInternal): void;
24
+ clone(): ClassMetadata;
25
+ }