@singularsystems/neo-core 1.0.0-alpha.2 → 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
package/dist/Utils.js CHANGED
@@ -1,218 +1,220 @@
1
- import { __spreadArray } from "tslib";
2
- import { DebounceHelper } from './DebounceHelper';
3
- var lut = [];
4
- for (var i = 0; i < 256; i++) {
5
- lut[i] = (i < 16 ? '0' : '') + (i).toString(16);
6
- }
7
- var Utils = /** @class */ (function () {
8
- function Utils() {
9
- }
10
- /**
11
- * Calls the supplied function once all computeds have been evaluated.
12
- * In Vue this is asyncronous, in React the callback is executed syncronously.
13
- */
14
- Utils.nextTick = function (callback) {
15
- callback();
16
- };
17
- /**
18
- * Reads an observable value without registering a dependency.
19
- */
20
- Utils.peek = function (target, propertyName) {
21
- throw "missing peek implementation.";
22
- };
23
- /**
24
- * Returns a new guid.
25
- */
26
- Utils.uuidv4 = function () {
27
- var d0 = Math.random() * 0xffffffff | 0;
28
- var d1 = Math.random() * 0xffffffff | 0;
29
- var d2 = Math.random() * 0xffffffff | 0;
30
- var d3 = Math.random() * 0xffffffff | 0;
31
- return lut[d0 & 0xff] + lut[d0 >> 8 & 0xff] + lut[d0 >> 16 & 0xff] + lut[d0 >> 24 & 0xff] + '-' +
32
- lut[d1 & 0xff] + lut[d1 >> 8 & 0xff] + '-' + lut[d1 >> 16 & 0x0f | 0x40] + lut[d1 >> 24 & 0xff] + '-' +
33
- lut[d2 & 0x3f | 0x80] + lut[d2 >> 8 & 0xff] + '-' + lut[d2 >> 16 & 0xff] + lut[d2 >> 24 & 0xff] +
34
- lut[d3 & 0xff] + lut[d3 >> 8 & 0xff] + lut[d3 >> 16 & 0xff] + lut[d3 >> 24 & 0xff];
35
- };
36
- /**
37
- * Returns an empty guid.
38
- */
39
- Utils.emptyGuid = function () {
40
- return "00000000-0000-0000-0000-000000000000";
41
- };
42
- /**
43
- * Runs the callback in the context of a batch transaction. E.g. a mobx action in react.
44
- */
45
- Utils.batchUpdate = function (unitOfWork) {
46
- return unitOfWork();
47
- };
48
- /**
49
- * Instructs the ui not to encode the provided html text.
50
- * Returns a new element containing the html.
51
- */
52
- Utils.suppressHtmlEncode = function (html) {
53
- // This method must be overridden by the ui framework.
54
- return html;
55
- };
56
- Utils.XOR = function (condition1, condition2) {
57
- return (condition1 && !condition2) || (!condition1 && condition2);
58
- };
59
- Utils.sameTypes = function (type1, type2) {
60
- if (!!type1 && !!type2) {
61
- return type1.prototype.constructor == type2.prototype.constructor;
62
- }
63
- return false;
64
- };
65
- Utils.getTypeName = function (type) {
66
- return type.prototype.constructor.name;
67
- };
68
- /**
69
- * Creates an instance of a model decorated with @NeoModel. Use this in static methods on a model class that is compiled with babel (React projects).
70
- * @param type Type to create.
71
- * @param args Constructor args.
72
- */
73
- Utils.createInstance = function (type) {
74
- var _a;
75
- var args = [];
76
- for (var _i = 1; _i < arguments.length; _i++) {
77
- args[_i - 1] = arguments[_i];
78
- }
79
- if (type.prototype.constructor.neo) {
80
- return new ((_a = (type.prototype.constructor.neo.getOverrideConstructor())).bind.apply(_a, __spreadArray([void 0], args, false)))();
81
- }
82
- else {
83
- throw "Cannot instantiate '".concat(type.name, "' because it does not have an @NeoModel attribute.");
84
- }
85
- };
86
- /**
87
- * Binds all the methods of an instances prototype to the instance.
88
- * This guarantees that 'this' will be the instance in each method.
89
- * @param instance Instance to process.
90
- */
91
- Utils.bindAllMethods = function (instance) {
92
- var prototype = instance.constructor.prototype;
93
- for (var _i = 0, _a = Object.getOwnPropertyNames(prototype); _i < _a.length; _i++) {
94
- var key = _a[_i];
95
- if (key !== "constructor" && prototype[key] instanceof Function && !instance.hasOwnProperty(key)) {
96
- instance[key] = prototype[key].bind(instance);
97
- }
98
- }
99
- };
100
- /**
101
- * Completes a partially populated object using defaults specified in the defaults parameter.
102
- * @param partial Partially populated object
103
- * @param defaults Defaults object.
104
- */
105
- Utils.populatePartialWithDefaults = function (partial, defaults) {
106
- if (!partial)
107
- partial = {};
108
- for (var key in defaults) {
109
- if (!partial[key])
110
- partial[key] = defaults[key];
111
- }
112
- return partial;
113
- };
114
- /**
115
- * Converts a string like 'user' to 'fa fa-user' or 'fa-user' to 'fa fa-user' or 'far-user' to 'far fa-user'
116
- */
117
- Utils.getFontAwesomeClass = function (faString) {
118
- var isRegular = false;
119
- if (faString.indexOf("fa-") === 0) {
120
- faString = faString.substring(3);
121
- }
122
- else if (faString.indexOf("far-") === 0) {
123
- isRegular = true;
124
- faString = faString.substring(4);
125
- }
126
- return (isRegular ? 'far ' : 'fa ') + 'fa-' + faString;
127
- };
128
- /** Concatenates an array of strings together, putting spaces in-between them. */
129
- Utils.joinWithSpaces = function (arg0) {
130
- var args = [];
131
- for (var _i = 1; _i < arguments.length; _i++) {
132
- args[_i - 1] = arguments[_i];
133
- }
134
- if (!arg0)
135
- arg0 = "";
136
- for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {
137
- var arg = args_1[_a];
138
- if (arg) {
139
- arg0 += (arg0 ? " " : "") + arg;
140
- }
141
- }
142
- return arg0;
143
- };
144
- /**
145
- * Debounce a function so that it is only called after a period of inactivity.
146
- * @param syncInstance The instance to synchronise against. This should always be the same object for the function you are debouncing.
147
- * @param fn Function to call when the delay has elapsed.
148
- * @param delayMs Delay in milliseconds.
149
- * @param state State to pass to debounced method as an array of values for each time debounce was called.
150
- */
151
- Utils.debounce = function (syncInstance, callback, delayMs, state) {
152
- return DebounceHelper.debounce(syncInstance, callback, delayMs, state);
153
- };
154
- Utils.clearDebounce = function (syncInstance) {
155
- return DebounceHelper.cancelPending(syncInstance);
156
- };
157
- /**
158
- * Gets a list of property values in query string format. Does not include the leading ?.
159
- * @param properties Optional list of property names to include in the query string.
160
- */
161
- Utils.getQueryString = function (plainObject) {
162
- var properties = [];
163
- for (var _i = 1; _i < arguments.length; _i++) {
164
- properties[_i - 1] = arguments[_i];
165
- }
166
- function buildQueryString(plainObject, prefix) {
167
- var properties = [];
168
- for (var _i = 2; _i < arguments.length; _i++) {
169
- properties[_i - 2] = arguments[_i];
170
- }
171
- var queryString = "";
172
- var propertyNames = properties.length === 0 ? Object.keys(plainObject) : properties;
173
- for (var _a = 0, propertyNames_1 = propertyNames; _a < propertyNames_1.length; _a++) {
174
- var propertyKey = propertyNames_1[_a];
175
- var value = plainObject[propertyKey];
176
- if (value !== undefined && value !== null && value !== "") {
177
- var name_1 = prefix ? "".concat(prefix, ".").concat(propertyKey) : propertyKey;
178
- var append = "";
179
- if (value instanceof Date) {
180
- value = value.toISOString();
181
- }
182
- else if (value instanceof Array && value.length) {
183
- if (value[0] instanceof Date) {
184
- for (var i_1 = 0; i_1 < value.length; i_1++) {
185
- append += (i_1 === 0 ? "" : "&") + "".concat(name_1, "=").concat(value[i_1].toISOString());
186
- }
187
- }
188
- else if (value[0] instanceof Object) {
189
- // Object arrays are in the form: sortColumns[0].columnName=Prop1&sortColumns[1].columnName=Prop4
190
- for (var i_2 = 0; i_2 < value.length; i_2++) {
191
- append += (i_2 === 0 ? "" : "&") + buildQueryString(value[i_2], "".concat(name_1, "[").concat(i_2, "]"));
192
- }
193
- }
194
- else {
195
- // Plain arrays are in the form: values=1&values=2
196
- for (var i_3 = 0; i_3 < value.length; i_3++) {
197
- append += (i_3 === 0 ? "" : "&") + "".concat(name_1, "=").concat(encodeURIComponent(value[i_3]));
198
- }
199
- }
200
- }
201
- else if (value instanceof Object) {
202
- append = buildQueryString(value, name_1);
203
- if (!append)
204
- continue;
205
- }
206
- if (queryString !== "") {
207
- queryString += "&";
208
- }
209
- queryString += append || (name_1 + "=" + encodeURIComponent(value));
210
- }
211
- }
212
- return queryString;
213
- }
214
- return buildQueryString.apply(void 0, __spreadArray([plainObject, ""], properties, false));
215
- };
216
- return Utils;
217
- }());
218
- export { Utils };
1
+ import { __spreadArray } from "tslib";
2
+ import { DebounceHelper } from './DebounceHelper';
3
+ var lut = [];
4
+ for (var i = 0; i < 256; i++) {
5
+ lut[i] = (i < 16 ? '0' : '') + (i).toString(16);
6
+ }
7
+ var Utils = /** @class */ (function () {
8
+ function Utils() {
9
+ }
10
+ /**
11
+ * Calls the supplied function once all computeds have been evaluated.
12
+ * In Vue this is asyncronous, in React the callback is executed syncronously.
13
+ */
14
+ Utils.nextTick = function (callback) {
15
+ callback();
16
+ };
17
+ /**
18
+ * Reads an observable value without registering a dependency.
19
+ */
20
+ Utils.peek = function (target, propertyName) {
21
+ throw "missing peek implementation.";
22
+ };
23
+ /**
24
+ * Returns a new guid.
25
+ */
26
+ Utils.uuidv4 = function () {
27
+ var d0 = Math.random() * 0xffffffff | 0;
28
+ var d1 = Math.random() * 0xffffffff | 0;
29
+ var d2 = Math.random() * 0xffffffff | 0;
30
+ var d3 = Math.random() * 0xffffffff | 0;
31
+ return lut[d0 & 0xff] + lut[d0 >> 8 & 0xff] + lut[d0 >> 16 & 0xff] + lut[d0 >> 24 & 0xff] + '-' +
32
+ lut[d1 & 0xff] + lut[d1 >> 8 & 0xff] + '-' + lut[d1 >> 16 & 0x0f | 0x40] + lut[d1 >> 24 & 0xff] + '-' +
33
+ lut[d2 & 0x3f | 0x80] + lut[d2 >> 8 & 0xff] + '-' + lut[d2 >> 16 & 0xff] + lut[d2 >> 24 & 0xff] +
34
+ lut[d3 & 0xff] + lut[d3 >> 8 & 0xff] + lut[d3 >> 16 & 0xff] + lut[d3 >> 24 & 0xff];
35
+ };
36
+ /**
37
+ * Returns an empty guid.
38
+ */
39
+ Utils.emptyGuid = function () {
40
+ return "00000000-0000-0000-0000-000000000000";
41
+ };
42
+ /**
43
+ * Runs the callback in the context of a batch transaction. E.g. a mobx action in react.
44
+ */
45
+ Utils.batchUpdate = function (unitOfWork) {
46
+ return unitOfWork();
47
+ };
48
+ /**
49
+ * Instructs the ui not to encode the provided html text.
50
+ * Returns a new element containing the html.
51
+ */
52
+ Utils.suppressHtmlEncode = function (html) {
53
+ // This method must be overridden by the ui framework.
54
+ return html;
55
+ };
56
+ Utils.XOR = function (condition1, condition2) {
57
+ return (condition1 && !condition2) || (!condition1 && condition2);
58
+ };
59
+ Utils.sameTypes = function (type1, type2) {
60
+ if (!!type1 && !!type2) {
61
+ return type1.prototype.constructor == type2.prototype.constructor;
62
+ }
63
+ return false;
64
+ };
65
+ Utils.getTypeName = function (type) {
66
+ return type.prototype.constructor.name;
67
+ };
68
+ /**
69
+ * Creates an instance of a model decorated with @NeoModel. Use this in static methods on a model class that is compiled with babel (React projects).
70
+ * @param type Type to create.
71
+ * @param args Constructor args.
72
+ */
73
+ Utils.createInstance = function (type) {
74
+ var args = [];
75
+ for (var _i = 1; _i < arguments.length; _i++) {
76
+ args[_i - 1] = arguments[_i];
77
+ }
78
+ if (type.prototype.constructor.neo) {
79
+ return type.prototype.constructor.neo.createInstance(args);
80
+ }
81
+ else {
82
+ throw "Cannot instantiate '".concat(type.name, "' because it does not have an @NeoModel attribute.");
83
+ }
84
+ };
85
+ /**
86
+ * Binds all the methods of an instances prototype to the instance.
87
+ * This guarantees that 'this' will be the instance in each method.
88
+ * @param instance Instance to process.
89
+ */
90
+ Utils.bindAllMethods = function (instance) {
91
+ var prototype = instance.constructor.prototype;
92
+ for (var _i = 0, _a = Object.getOwnPropertyNames(prototype); _i < _a.length; _i++) {
93
+ var key = _a[_i];
94
+ if (key !== "constructor" && prototype[key] instanceof Function && !instance.hasOwnProperty(key)) {
95
+ // @ts-ignore
96
+ instance[key] = prototype[key].bind(instance);
97
+ }
98
+ }
99
+ };
100
+ /**
101
+ * Completes a partially populated object using defaults specified in the defaults parameter.
102
+ * @param partial Partially populated object
103
+ * @param defaults Defaults object.
104
+ */
105
+ Utils.populatePartialWithDefaults = function (partial, defaults) {
106
+ if (!partial)
107
+ partial = {};
108
+ for (var key in defaults) {
109
+ if (!partial[key])
110
+ partial[key] = defaults[key];
111
+ }
112
+ return partial;
113
+ };
114
+ /**
115
+ * Converts a string like 'user' to 'fa fa-user' or 'fa-user' to 'fa fa-user' or 'far-user' to 'far fa-user'
116
+ */
117
+ Utils.getFontAwesomeClass = function (faString) {
118
+ var isRegular = false;
119
+ if (faString.indexOf("fa-") === 0) {
120
+ faString = faString.substring(3);
121
+ }
122
+ else if (faString.indexOf("far-") === 0) {
123
+ isRegular = true;
124
+ faString = faString.substring(4);
125
+ }
126
+ return (isRegular ? 'far ' : 'fa ') + 'fa-' + faString;
127
+ };
128
+ /** Concatenates an array of strings together, putting spaces in-between them. */
129
+ Utils.joinWithSpaces = function (arg0) {
130
+ var args = [];
131
+ for (var _i = 1; _i < arguments.length; _i++) {
132
+ args[_i - 1] = arguments[_i];
133
+ }
134
+ if (!arg0)
135
+ arg0 = "";
136
+ for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {
137
+ var arg = args_1[_a];
138
+ if (arg) {
139
+ arg0 += (arg0 ? " " : "") + arg;
140
+ }
141
+ }
142
+ return arg0;
143
+ };
144
+ /**
145
+ * Debounce a function so that it is only called after a period of inactivity.
146
+ * @param syncInstance The instance to synchronise against. This should always be the same object for the function you are debouncing.
147
+ * @param fn Function to call when the delay has elapsed.
148
+ * @param delayMs Delay in milliseconds.
149
+ * @param state State to pass to debounced method as an array of values for each time debounce was called.
150
+ */
151
+ Utils.debounce = function (syncInstance, callback, delayMs, state) {
152
+ return DebounceHelper.debounce(syncInstance, callback, delayMs, state);
153
+ };
154
+ /** Cancels pending execution of the callback. */
155
+ Utils.clearDebounce = function (syncInstance) {
156
+ return DebounceHelper.cancelPending(syncInstance);
157
+ };
158
+ /**
159
+ * Gets a list of property values in query string format. Does not include the leading ?.
160
+ * @param properties Optional list of property names to include in the query string.
161
+ */
162
+ Utils.getQueryString = function (plainObject) {
163
+ var properties = [];
164
+ for (var _i = 1; _i < arguments.length; _i++) {
165
+ properties[_i - 1] = arguments[_i];
166
+ }
167
+ function buildQueryString(plainObject, prefix) {
168
+ var properties = [];
169
+ for (var _i = 2; _i < arguments.length; _i++) {
170
+ properties[_i - 2] = arguments[_i];
171
+ }
172
+ var queryString = "";
173
+ var propertyNames = properties.length === 0 ? Object.keys(plainObject) : properties;
174
+ for (var _a = 0, propertyNames_1 = propertyNames; _a < propertyNames_1.length; _a++) {
175
+ var propertyKey = propertyNames_1[_a];
176
+ // @ts-ignore
177
+ var value = plainObject[propertyKey];
178
+ if (value !== undefined && value !== null && value !== "") {
179
+ var name_1 = prefix ? "".concat(prefix, ".").concat(propertyKey) : propertyKey;
180
+ var append = "";
181
+ if (value instanceof Date) {
182
+ value = value.toISOString();
183
+ }
184
+ else if (value instanceof Array && value.length) {
185
+ if (value[0] instanceof Date) {
186
+ for (var i_1 = 0; i_1 < value.length; i_1++) {
187
+ append += (i_1 === 0 ? "" : "&") + "".concat(name_1, "=").concat(value[i_1].toISOString());
188
+ }
189
+ }
190
+ else if (value[0] instanceof Object) {
191
+ // Object arrays are in the form: sortColumns[0].columnName=Prop1&sortColumns[1].columnName=Prop4
192
+ for (var i_2 = 0; i_2 < value.length; i_2++) {
193
+ append += (i_2 === 0 ? "" : "&") + buildQueryString(value[i_2], "".concat(name_1, "[").concat(i_2, "]"));
194
+ }
195
+ }
196
+ else {
197
+ // Plain arrays are in the form: values=1&values=2
198
+ for (var i_3 = 0; i_3 < value.length; i_3++) {
199
+ append += (i_3 === 0 ? "" : "&") + "".concat(name_1, "=").concat(encodeURIComponent(value[i_3]));
200
+ }
201
+ }
202
+ }
203
+ else if (value instanceof Object) {
204
+ append = buildQueryString(value, name_1);
205
+ if (!append)
206
+ continue;
207
+ }
208
+ if (queryString !== "") {
209
+ queryString += "&";
210
+ }
211
+ queryString += append || (name_1 + "=" + encodeURIComponent(value));
212
+ }
213
+ }
214
+ return queryString;
215
+ }
216
+ return buildQueryString.apply(void 0, __spreadArray([plainObject, ""], properties, false));
217
+ };
218
+ return Utils;
219
+ }());
220
+ export { Utils };
@@ -1,12 +1,12 @@
1
- interface IRequiredRuleOptions {
2
- errorText?: string;
3
- allowZero?: boolean;
4
- }
5
- export declare function Required(errorText?: string): Function;
6
- export declare function Required(options?: IRequiredRuleOptions): Function;
7
- export declare function EmailAddress(errorText?: string): (type: any, propertyKey: string) => void;
8
- export declare function RegExp(expression: RegExp, errorText?: string): (type: any, propertyKey: string) => void;
9
- declare type decoratorFn = (type: any, propertyKey: string) => void;
10
- export declare function StringLength(maxLength: number, errorText?: string): decoratorFn;
11
- export declare function StringLength(minLength: number, maxLength: number, errorText?: string): decoratorFn;
12
- export {};
1
+ interface IRequiredRuleOptions {
2
+ errorText?: string;
3
+ allowZero?: boolean;
4
+ }
5
+ export declare function Required(errorText?: string): Function;
6
+ export declare function Required(options?: IRequiredRuleOptions): Function;
7
+ export declare function EmailAddress(errorText?: string): (type: any, propertyKey: string) => void;
8
+ export declare function RegExp(expression: RegExp, errorText?: string): (type: any, propertyKey: string) => void;
9
+ type decoratorFn = (type: any, propertyKey: string) => void;
10
+ export declare function StringLength(maxLength: number, errorText?: string): decoratorFn;
11
+ export declare function StringLength(minLength: number, maxLength: number, errorText?: string): decoratorFn;
12
+ export {};
@@ -1,52 +1,52 @@
1
- import { __assign } from "tslib";
2
- import * as Rules from './Rules';
3
- import { ensureTypeInfo } from '../Model/NeoTypeInfo';
4
- function addRuleToType(type, propertyName, rule) {
5
- ensureTypeInfo(type.constructor).neo.addAttributeRule(propertyName, rule);
6
- }
7
- export function Required(errorTextOrOptions) {
8
- return function (type, propertyKey) {
9
- var options = { errorText: "{0} is required", allowZero: false };
10
- if (errorTextOrOptions !== undefined) {
11
- if (typeof errorTextOrOptions === "string") {
12
- options.errorText = errorTextOrOptions;
13
- }
14
- else {
15
- options = __assign(__assign({}, options), errorTextOrOptions);
16
- }
17
- }
18
- var requiredRule = new Rules.RequiredRule(options.errorText, options.allowZero);
19
- addRuleToType(type, propertyKey, requiredRule);
20
- };
21
- }
22
- export function EmailAddress(errorText) {
23
- if (errorText === void 0) { errorText = "{0} is not a valid email address"; }
24
- return function (type, propertyKey) {
25
- var emailAddressRule = new Rules.EmailAddressRule(errorText);
26
- addRuleToType(type, propertyKey, emailAddressRule);
27
- };
28
- }
29
- export function RegExp(expression, errorText) {
30
- if (errorText === void 0) { errorText = "{0} is in an invalid format"; }
31
- return function (type, propertyKey) {
32
- var regExpRule = new Rules.RegExpRule(expression, errorText);
33
- addRuleToType(type, propertyKey, regExpRule);
34
- };
35
- }
36
- export function StringLength(minOrMaxLength, arg2, errorText) {
37
- return function (type, propertyKey) {
38
- var minLength;
39
- var maxLength = minOrMaxLength;
40
- if (arg2) {
41
- if (typeof arg2 === "string") {
42
- errorText = arg2;
43
- }
44
- else {
45
- minLength = minOrMaxLength;
46
- maxLength = arg2;
47
- }
48
- }
49
- var minLengthRule = new Rules.StringLengthRule(maxLength, minLength, errorText);
50
- addRuleToType(type, propertyKey, minLengthRule);
51
- };
52
- }
1
+ import { __assign } from "tslib";
2
+ import * as Rules from './Rules';
3
+ import { ensureTypeInfo } from '../Model/NeoTypeInfo';
4
+ function addRuleToType(type, propertyName, rule) {
5
+ ensureTypeInfo(type.constructor).neo.addAttributeRule(propertyName, rule);
6
+ }
7
+ export function Required(errorTextOrOptions) {
8
+ return function (type, propertyKey) {
9
+ var options = { errorText: "{0} is required", allowZero: false };
10
+ if (errorTextOrOptions !== undefined) {
11
+ if (typeof errorTextOrOptions === "string") {
12
+ options.errorText = errorTextOrOptions;
13
+ }
14
+ else {
15
+ options = __assign(__assign({}, options), errorTextOrOptions);
16
+ }
17
+ }
18
+ var requiredRule = new Rules.RequiredRule(options.errorText, options.allowZero);
19
+ addRuleToType(type, propertyKey, requiredRule);
20
+ };
21
+ }
22
+ export function EmailAddress(errorText) {
23
+ if (errorText === void 0) { errorText = "{0} is not a valid email address"; }
24
+ return function (type, propertyKey) {
25
+ var emailAddressRule = new Rules.EmailAddressRule(errorText);
26
+ addRuleToType(type, propertyKey, emailAddressRule);
27
+ };
28
+ }
29
+ export function RegExp(expression, errorText) {
30
+ if (errorText === void 0) { errorText = "{0} is in an invalid format"; }
31
+ return function (type, propertyKey) {
32
+ var regExpRule = new Rules.RegExpRule(expression, errorText);
33
+ addRuleToType(type, propertyKey, regExpRule);
34
+ };
35
+ }
36
+ export function StringLength(minOrMaxLength, arg2, errorText) {
37
+ return function (type, propertyKey) {
38
+ var minLength;
39
+ var maxLength = minOrMaxLength;
40
+ if (arg2) {
41
+ if (typeof arg2 === "string") {
42
+ errorText = arg2;
43
+ }
44
+ else {
45
+ minLength = minOrMaxLength;
46
+ maxLength = arg2;
47
+ }
48
+ }
49
+ var minLengthRule = new Rules.StringLengthRule(maxLength, minLength, errorText);
50
+ addRuleToType(type, propertyKey, minLengthRule);
51
+ };
52
+ }
@@ -1,19 +1,20 @@
1
- import { RuleSeverity, ValidationState } from './ValidationState';
2
- import { variant } from '../Components';
3
- export declare class ValidationDisplayInfo {
4
- additionalClassName: string;
5
- iconClass: string;
6
- errorText: string;
7
- asyncBusyText: string;
8
- warningText: string;
9
- infoText: string;
10
- severity: RuleSeverity;
11
- variant: variant;
12
- get displayText(): string;
13
- get editorClassName(): string;
14
- applyToDom(elementProps: {}, addTooltip: boolean): void;
15
- }
16
- export default class ValidationDisplayHelper {
17
- static getDisplayInfo(ruleState: ValidationState, canDisplayAll: boolean): ValidationDisplayInfo;
18
- private static join;
19
- }
1
+ import { RuleSeverity, ValidationState } from './ValidationState';
2
+ import { variant } from '../Components';
3
+ import React from 'react';
4
+ export declare class ValidationDisplayInfo {
5
+ additionalClassName: string;
6
+ icon: any;
7
+ errorText: string;
8
+ asyncBusyText: string;
9
+ warningText: string;
10
+ infoText: string;
11
+ severity: RuleSeverity;
12
+ variant: variant;
13
+ get displayText(): string;
14
+ get editorClassName(): string;
15
+ applyToDom(elementProps: React.HTMLProps<HTMLElement>, addTooltip: boolean): void;
16
+ }
17
+ export default class ValidationDisplayHelper {
18
+ static getDisplayInfo(ruleState: ValidationState, canDisplayAll: boolean): ValidationDisplayInfo;
19
+ private static join;
20
+ }