@singularsystems/neo-core 1.0.0-alpha.3 → 1.0.0-alpha.4

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 (296) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/ApiClient/ApiClientBase.d.ts +5 -5
  3. package/dist/ApiClient/ApiClientBase.js +13 -13
  4. package/dist/ApiClient/ReadApiClient.d.ts +16 -16
  5. package/dist/ApiClient/ReadApiClient.js +24 -24
  6. package/dist/ApiClient/UpdateableApiClient.d.ts +28 -28
  7. package/dist/ApiClient/UpdateableApiClient.js +33 -33
  8. package/dist/AppServices/AppService.d.ts +46 -46
  9. package/dist/AppServices/AppService.js +25 -25
  10. package/dist/AppServices/Config/ConfigModel.d.ts +21 -20
  11. package/dist/AppServices/Config/ConfigModel.js +28 -17
  12. package/dist/AppServices/Config/ConfigService.d.ts +15 -15
  13. package/dist/AppServices/Config/ConfigService.js +49 -53
  14. package/dist/AppServices/Module.d.ts +11 -11
  15. package/dist/AppServices/Module.js +13 -13
  16. package/dist/AppServices/NeoContainer.d.ts +22 -22
  17. package/dist/AppServices/NeoContainer.js +42 -42
  18. package/dist/AppServices/NeoModule.d.ts +3 -3
  19. package/dist/AppServices/NeoModule.js +30 -30
  20. package/dist/AppServices/NeoTypes.d.ts +61 -61
  21. package/dist/AppServices/NeoTypes.js +42 -42
  22. package/dist/AppServices/ServiceIdentifier.d.ts +23 -23
  23. package/dist/AppServices/ServiceIdentifier.js +38 -39
  24. package/dist/AppServices/index.d.ts +7 -7
  25. package/dist/AppServices/index.js +7 -7
  26. package/dist/Components/AnimationHelper.d.ts +69 -69
  27. package/dist/Components/AnimationHelper.js +182 -182
  28. package/dist/Components/BootstrapHelpers.d.ts +8 -8
  29. package/dist/Components/BootstrapHelpers.js +30 -30
  30. package/dist/Components/BootstrapTypes.d.ts +35 -35
  31. package/dist/Components/BootstrapTypes.js +1 -1
  32. package/dist/Components/ButtonOptions.d.ts +63 -61
  33. package/dist/Components/ButtonOptions.js +1 -1
  34. package/dist/Components/ContextMenu/ContextMenu.d.ts +16 -16
  35. package/dist/Components/ContextMenu/ContextMenu.js +1 -1
  36. package/dist/Components/ContextMenu/MenuUtils.d.ts +16 -16
  37. package/dist/Components/ContextMenu/MenuUtils.js +34 -34
  38. package/dist/Components/DatePicker/DatePicker.d.ts +70 -69
  39. package/dist/Components/DatePicker/DatePicker.js +502 -487
  40. package/dist/Components/DatePicker/DatePickerOptions.d.ts +43 -34
  41. package/dist/Components/DatePicker/DatePickerOptions.js +33 -33
  42. package/dist/Components/ErrorHandler.d.ts +59 -55
  43. package/dist/Components/ErrorHandler.js +210 -138
  44. package/dist/Components/FileManager/BoundFileManager.d.ts +18 -18
  45. package/dist/Components/FileManager/BoundFileManager.js +60 -60
  46. package/dist/Components/FileManager/FileManager.d.ts +80 -78
  47. package/dist/Components/FileManager/FileManager.js +277 -257
  48. package/dist/Components/FileManager/FileUploadBatch.d.ts +37 -37
  49. package/dist/Components/FileManager/FileUploadBatch.js +83 -82
  50. package/dist/Components/FileManager/IFileManagerOptions.d.ts +42 -42
  51. package/dist/Components/FileManager/IFileManagerOptions.js +1 -1
  52. package/dist/Components/FormOptions.d.ts +34 -34
  53. package/dist/Components/FormOptions.js +1 -1
  54. package/dist/Components/ICollapsableOptions.d.ts +11 -11
  55. package/dist/Components/ICollapsableOptions.js +1 -1
  56. package/dist/Components/Modal/ModalHelper.d.ts +31 -31
  57. package/dist/Components/Modal/ModalHelper.js +174 -174
  58. package/dist/Components/Modal/ModalOptions.d.ts +61 -61
  59. package/dist/Components/Modal/ModalOptions.js +1 -1
  60. package/dist/Components/Modal/ModalStore.d.ts +32 -32
  61. package/dist/Components/Modal/ModalStore.js +82 -82
  62. package/dist/Components/Modal/ModalUtils.d.ts +61 -61
  63. package/dist/Components/Modal/ModalUtils.js +109 -109
  64. package/dist/Components/Notifications/INotificationHelper.d.ts +56 -56
  65. package/dist/Components/Notifications/INotificationHelper.js +1 -1
  66. package/dist/Components/Notifications/Notification.d.ts +32 -32
  67. package/dist/Components/Notifications/Notification.js +26 -27
  68. package/dist/Components/Notifications/NotificationHelper.d.ts +63 -63
  69. package/dist/Components/Notifications/NotificationHelper.js +111 -112
  70. package/dist/Components/Notifications/NotificationStore.d.ts +34 -34
  71. package/dist/Components/Notifications/NotificationStore.js +78 -79
  72. package/dist/Components/PositionHelper.d.ts +10 -10
  73. package/dist/Components/PositionHelper.js +43 -43
  74. package/dist/Components/TaskRunner/Decorators.d.ts +6 -6
  75. package/dist/Components/TaskRunner/Decorators.js +24 -24
  76. package/dist/Components/TaskRunner/ProgressState.d.ts +22 -22
  77. package/dist/Components/TaskRunner/ProgressState.js +71 -72
  78. package/dist/Components/TaskRunner/TaskRunner.d.ts +114 -114
  79. package/dist/Components/TaskRunner/TaskRunner.js +253 -244
  80. package/dist/Components/TooltipOptions.d.ts +8 -8
  81. package/dist/Components/TooltipOptions.js +1 -1
  82. package/dist/Components/index.d.ts +22 -22
  83. package/dist/Components/index.js +13 -13
  84. package/dist/ConnectionManager.d.ts +45 -45
  85. package/dist/ConnectionManager.js +60 -61
  86. package/dist/Data/ApiDataSource.d.ts +46 -46
  87. package/dist/Data/ApiDataSource.js +140 -144
  88. package/dist/Data/AsyncDataSource.d.ts +35 -35
  89. package/dist/Data/AsyncDataSource.js +79 -80
  90. package/dist/Data/CacheService.d.ts +40 -40
  91. package/dist/Data/CacheService.js +63 -64
  92. package/dist/Data/DataCacheEntry.d.ts +42 -42
  93. package/dist/Data/DataCacheEntry.js +80 -80
  94. package/dist/Data/DataView.d.ts +43 -43
  95. package/dist/Data/DataView.js +173 -172
  96. package/dist/Data/Deserialiser.d.ts +42 -42
  97. package/dist/Data/Deserialiser.js +255 -255
  98. package/dist/Data/Paging/PageManager.d.ts +167 -167
  99. package/dist/Data/Paging/PageManager.js +323 -323
  100. package/dist/Data/Paging/PageRequest.d.ts +24 -24
  101. package/dist/Data/Paging/PageRequest.js +38 -39
  102. package/dist/Data/Paging/PageResult.d.ts +10 -10
  103. package/dist/Data/Paging/PageResult.js +14 -14
  104. package/dist/Data/Serialiser.d.ts +41 -41
  105. package/dist/Data/Serialiser.js +201 -201
  106. package/dist/Data/SortOperation.d.ts +8 -8
  107. package/dist/Data/SortOperation.js +26 -26
  108. package/dist/Data/StaticDataSource.d.ts +9 -9
  109. package/dist/Data/StaticDataSource.js +27 -27
  110. package/dist/Data/WindowedDataView.d.ts +8 -8
  111. package/dist/Data/WindowedDataView.js +49 -50
  112. package/dist/Data/index.d.ts +15 -15
  113. package/dist/Data/index.js +15 -15
  114. package/dist/Dates/DateUtils.d.ts +47 -47
  115. package/dist/Dates/DateUtils.js +226 -226
  116. package/dist/Dates/TimeSpan.d.ts +24 -24
  117. package/dist/Dates/TimeSpan.js +46 -46
  118. package/dist/DebounceHelper.d.ts +44 -38
  119. package/dist/DebounceHelper.js +122 -95
  120. package/dist/Extensions.d.ts +82 -82
  121. package/dist/Extensions.js +182 -182
  122. package/dist/FileUtils.d.ts +6 -6
  123. package/dist/FileUtils.js +37 -37
  124. package/dist/Globals.d.ts +19 -19
  125. package/dist/Globals.js +41 -41
  126. package/dist/JsonSchema/ClassMetadata.d.ts +25 -25
  127. package/dist/JsonSchema/ClassMetadata.js +53 -53
  128. package/dist/JsonSchema/JsonData.d.ts +16 -16
  129. package/dist/JsonSchema/JsonData.js +97 -97
  130. package/dist/JsonSchema/JsonSchemaTypes.d.ts +37 -37
  131. package/dist/JsonSchema/JsonSchemaTypes.js +1 -1
  132. package/dist/JsonSchema/PropertyMetadata.d.ts +8 -8
  133. package/dist/JsonSchema/PropertyMetadata.js +8 -8
  134. package/dist/JsonSchema/TypeCache.d.ts +16 -16
  135. package/dist/JsonSchema/TypeCache.js +44 -44
  136. package/dist/JsonSchema/TypeMetadata.d.ts +45 -45
  137. package/dist/JsonSchema/TypeMetadata.js +170 -170
  138. package/dist/JsonSchema/index.d.ts +7 -7
  139. package/dist/JsonSchema/index.js +6 -6
  140. package/dist/Localisation/ILocalisationService.d.ts +11 -11
  141. package/dist/Localisation/ILocalisationService.js +1 -1
  142. package/dist/Localisation/LocalisationService.d.ts +4 -4
  143. package/dist/Localisation/LocalisationService.js +17 -17
  144. package/dist/Localisation/index.d.ts +1 -1
  145. package/dist/Localisation/index.js +1 -1
  146. package/dist/Misc.d.ts +6 -6
  147. package/dist/Misc.js +6 -6
  148. package/dist/Model/BaseModels/AuditValues.d.ts +12 -12
  149. package/dist/Model/BaseModels/AuditValues.js +46 -48
  150. package/dist/Model/BaseModels/CriteriaBase.d.ts +18 -16
  151. package/dist/Model/BaseModels/CriteriaBase.js +45 -34
  152. package/dist/Model/BaseModels/FileDescriptorBase.d.ts +12 -12
  153. package/dist/Model/BaseModels/FileDescriptorBase.js +22 -22
  154. package/dist/Model/BaseModels/ReasonedUserEvent.d.ts +5 -4
  155. package/dist/Model/BaseModels/ReasonedUserEvent.js +23 -19
  156. package/dist/Model/BaseModels/UserEvent.d.ts +9 -8
  157. package/dist/Model/BaseModels/UserEvent.js +36 -32
  158. package/dist/Model/BindableBase.d.ts +46 -40
  159. package/dist/Model/BindableBase.js +79 -76
  160. package/dist/Model/Decorators.d.ts +47 -44
  161. package/dist/Model/Decorators.js +182 -177
  162. package/dist/Model/EnumHelper.d.ts +54 -54
  163. package/dist/Model/EnumHelper.js +104 -100
  164. package/dist/Model/IAutoRunner.d.ts +5 -5
  165. package/dist/Model/IAutoRunner.js +1 -1
  166. package/dist/Model/IModelBase.d.ts +92 -79
  167. package/dist/Model/IModelBase.js +1 -1
  168. package/dist/Model/IModelCreatorBase.d.ts +9 -9
  169. package/dist/Model/IModelCreatorBase.js +1 -1
  170. package/dist/Model/List.d.ts +79 -77
  171. package/dist/Model/List.js +208 -198
  172. package/dist/Model/LookupBase.d.ts +13 -6
  173. package/dist/Model/LookupBase.js +19 -10
  174. package/dist/Model/Misc.d.ts +83 -81
  175. package/dist/Model/Misc.js +59 -59
  176. package/dist/Model/ModelBase.d.ts +88 -86
  177. package/dist/Model/ModelBase.js +182 -180
  178. package/dist/Model/ModelCreatorBase.d.ts +24 -23
  179. package/dist/Model/ModelCreatorBase.js +92 -92
  180. package/dist/Model/ModelFieldInfo.d.ts +29 -12
  181. package/dist/Model/ModelFieldInfo.js +35 -26
  182. package/dist/Model/ModelGraphTraverser.d.ts +35 -35
  183. package/dist/Model/ModelGraphTraverser.js +101 -99
  184. package/dist/Model/NeoModel.d.ts +6 -6
  185. package/dist/Model/NeoModel.js +13 -13
  186. package/dist/Model/NeoTypeInfo.d.ts +52 -41
  187. package/dist/Model/NeoTypeInfo.js +300 -250
  188. package/dist/Model/ObservableProperty.d.ts +8 -8
  189. package/dist/Model/ObservableProperty.js +41 -41
  190. package/dist/Model/ObservableValue.d.ts +9 -9
  191. package/dist/Model/ObservableValue.js +25 -26
  192. package/dist/Model/PropertyInfo.d.ts +83 -81
  193. package/dist/Model/PropertyInfo.js +138 -137
  194. package/dist/Model/PropertyInstance.d.ts +84 -48
  195. package/dist/Model/PropertyInstance.js +173 -113
  196. package/dist/Model/ValueObject.d.ts +3 -3
  197. package/dist/Model/ValueObject.js +10 -10
  198. package/dist/Model/index.d.ts +15 -14
  199. package/dist/Model/index.js +13 -12
  200. package/dist/NumberUtils.d.ts +63 -49
  201. package/dist/NumberUtils.js +247 -197
  202. package/dist/Routing/IMenuItemProvider.d.ts +9 -9
  203. package/dist/Routing/IMenuItemProvider.js +1 -1
  204. package/dist/Routing/IMenuRoute.d.ts +18 -18
  205. package/dist/Routing/IMenuRoute.js +1 -1
  206. package/dist/Routing/INavigationHelper.d.ts +7 -7
  207. package/dist/Routing/INavigationHelper.js +1 -1
  208. package/dist/Routing/IPageLeaveHandler.d.ts +23 -23
  209. package/dist/Routing/IPageLeaveHandler.js +7 -7
  210. package/dist/Routing/IRoute.d.ts +27 -27
  211. package/dist/Routing/IRoute.js +1 -1
  212. package/dist/Routing/IRouteSecurityService.d.ts +14 -14
  213. package/dist/Routing/IRouteSecurityService.js +1 -1
  214. package/dist/Routing/MenuItemProvider.d.ts +17 -17
  215. package/dist/Routing/MenuItemProvider.js +53 -54
  216. package/dist/Routing/RouteSecurityService.d.ts +18 -18
  217. package/dist/Routing/RouteSecurityService.js +35 -36
  218. package/dist/Routing/index.d.ts +7 -7
  219. package/dist/Routing/index.js +3 -3
  220. package/dist/Security/IAuthenticationService.d.ts +41 -36
  221. package/dist/Security/IAuthenticationService.js +1 -1
  222. package/dist/Security/IAuthorisationService.d.ts +11 -11
  223. package/dist/Security/IAuthorisationService.js +1 -1
  224. package/dist/Security/ILoginErrorHandler.d.ts +4 -4
  225. package/dist/Security/ILoginErrorHandler.js +1 -1
  226. package/dist/Security/ISecurityService.d.ts +10 -10
  227. package/dist/Security/ISecurityService.js +1 -1
  228. package/dist/Security/IUser.d.ts +10 -10
  229. package/dist/Security/IUser.js +1 -1
  230. package/dist/Security/IUserRole.d.ts +6 -6
  231. package/dist/Security/IUserRole.js +1 -1
  232. package/dist/Security/LoginErrorHandler.d.ts +15 -15
  233. package/dist/Security/LoginErrorHandler.js +97 -98
  234. package/dist/Security/Oidc/OidcAuthService.d.ts +67 -60
  235. package/dist/Security/Oidc/OidcAuthService.js +216 -189
  236. package/dist/Security/Oidc/OidcTypes.d.ts +46 -29
  237. package/dist/Security/Oidc/OidcTypes.js +1 -1
  238. package/dist/Security/Oidc/OidcUser.d.ts +9 -9
  239. package/dist/Security/Oidc/OidcUser.js +33 -33
  240. package/dist/Security/SecurityService.d.ts +12 -12
  241. package/dist/Security/SecurityService.js +33 -34
  242. package/dist/Security/SignInResult.d.ts +13 -13
  243. package/dist/Security/SignInResult.js +8 -8
  244. package/dist/Security/User.d.ts +12 -12
  245. package/dist/Security/User.js +24 -24
  246. package/dist/Security/index.d.ts +10 -10
  247. package/dist/Security/index.js +5 -5
  248. package/dist/Settings.d.ts +71 -57
  249. package/dist/Settings.js +100 -87
  250. package/dist/SignalR/HubBase.d.ts +70 -70
  251. package/dist/SignalR/HubBase.js +164 -164
  252. package/dist/SignalR/HubReceiver.d.ts +11 -11
  253. package/dist/SignalR/HubReceiver.js +25 -25
  254. package/dist/SignalR/HubSubscription.d.ts +12 -12
  255. package/dist/SignalR/HubSubscription.js +14 -14
  256. package/dist/SignalR/index.d.ts +3 -3
  257. package/dist/SignalR/index.js +1 -1
  258. package/dist/StringUtils.d.ts +7 -7
  259. package/dist/StringUtils.js +24 -24
  260. package/dist/Utils.d.ts +81 -80
  261. package/dist/Utils.js +220 -218
  262. package/dist/Validation/Decorators.d.ts +12 -12
  263. package/dist/Validation/Decorators.js +52 -52
  264. package/dist/Validation/DisplayHelper.d.ts +20 -19
  265. package/dist/Validation/DisplayHelper.js +104 -104
  266. package/dist/Validation/Misc.d.ts +10 -10
  267. package/dist/Validation/Misc.js +11 -11
  268. package/dist/Validation/ModelProxy.d.ts +20 -20
  269. package/dist/Validation/ModelProxy.js +46 -46
  270. package/dist/Validation/RuleContext.d.ts +86 -86
  271. package/dist/Validation/RuleContext.js +130 -130
  272. package/dist/Validation/Rules.d.ts +70 -70
  273. package/dist/Validation/Rules.js +177 -177
  274. package/dist/Validation/ValidationHelpers.d.ts +12 -12
  275. package/dist/Validation/ValidationHelpers.js +57 -57
  276. package/dist/Validation/ValidationRules.d.ts +18 -18
  277. package/dist/Validation/ValidationRules.js +34 -34
  278. package/dist/Validation/ValidationState.d.ts +42 -42
  279. package/dist/Validation/ValidationState.js +74 -74
  280. package/dist/Validation/Validators/IModelValidator.d.ts +28 -24
  281. package/dist/Validation/Validators/IModelValidator.js +1 -1
  282. package/dist/Validation/Validators/IPropertyValidator.d.ts +21 -21
  283. package/dist/Validation/Validators/IPropertyValidator.js +15 -15
  284. package/dist/Validation/Validators/ModelValidator.d.ts +46 -45
  285. package/dist/Validation/Validators/ModelValidator.js +143 -137
  286. package/dist/Validation/Validators/PropertyValidator.d.ts +21 -21
  287. package/dist/Validation/Validators/PropertyValidator.js +64 -67
  288. package/dist/Validation/Validators/RuleValidator.d.ts +19 -19
  289. package/dist/Validation/Validators/RuleValidator.js +51 -55
  290. package/dist/Validation/index.d.ts +9 -9
  291. package/dist/Validation/index.js +7 -7
  292. package/dist/Views/IViewBase.d.ts +5 -5
  293. package/dist/Views/IViewBase.js +1 -1
  294. package/dist/index.d.ts +37 -36
  295. package/dist/index.js +44 -43
  296. 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
+ }