@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
@@ -1,130 +1,130 @@
1
- import { __extends } from "tslib";
2
- import { RuleSeverity, ValidationState } from './ValidationState';
3
- import { Utils } from '../Utils';
4
- export var AsyncStage;
5
- (function (AsyncStage) {
6
- AsyncStage[AsyncStage["None"] = 0] = "None";
7
- AsyncStage[AsyncStage["Debounce"] = 1] = "Debounce";
8
- AsyncStage[AsyncStage["Busy"] = 2] = "Busy";
9
- AsyncStage[AsyncStage["Completing"] = 3] = "Completing";
10
- })(AsyncStage || (AsyncStage = {}));
11
- var RuleContextBase = /** @class */ (function (_super) {
12
- __extends(RuleContextBase, _super);
13
- function RuleContextBase(ruleValidator) {
14
- var _this = _super.call(this) || this;
15
- _this.ruleValidator = ruleValidator;
16
- _this.asyncBusyText = "";
17
- _this.errors = [];
18
- _this.warnings = [];
19
- _this.messages = [];
20
- return _this;
21
- }
22
- RuleContextBase.prototype.addError = function (errorText, forceDisplay) {
23
- if (forceDisplay === void 0) { forceDisplay = false; }
24
- this.errors.push(errorText);
25
- this.severity = RuleSeverity.Error;
26
- if (forceDisplay)
27
- this.forceDisplaySeverity = RuleSeverity.Error;
28
- };
29
- RuleContextBase.prototype.addWarning = function (warningText, forceDisplay) {
30
- if (forceDisplay === void 0) { forceDisplay = false; }
31
- this.warnings.push(warningText);
32
- if (this.severity < RuleSeverity.Warning)
33
- this.severity = RuleSeverity.Warning;
34
- if (forceDisplay && this.forceDisplaySeverity < RuleSeverity.Warning)
35
- this.forceDisplaySeverity = RuleSeverity.Warning;
36
- };
37
- RuleContextBase.prototype.addMessage = function (message, forceDisplay) {
38
- if (forceDisplay === void 0) { forceDisplay = false; }
39
- this.messages.push(message);
40
- if (this.severity < RuleSeverity.Info)
41
- this.severity = RuleSeverity.Info;
42
- if (forceDisplay && this.forceDisplaySeverity < RuleSeverity.Info)
43
- this.forceDisplaySeverity = RuleSeverity.Info;
44
- };
45
- RuleContextBase.prototype.merge = function (ruleState, includeMessages) {
46
- var _a, _b, _c;
47
- if (includeMessages) {
48
- (_a = this.errors).push.apply(_a, ruleState.errors);
49
- (_b = this.warnings).push.apply(_b, ruleState.warnings);
50
- (_c = this.messages).push.apply(_c, ruleState.messages);
51
- }
52
- this.severity = Math.max(this.severity, ruleState.severity);
53
- this.forceDisplaySeverity = Math.max(this.forceDisplaySeverity, ruleState.forceDisplaySeverity);
54
- };
55
- Object.defineProperty(RuleContextBase.prototype, "hasDetail", {
56
- get: function () {
57
- return this.messages.length > 0 || this.warnings.length > 0 || this.errors.length > 0 || this.asyncBusyText.length > 0;
58
- },
59
- enumerable: false,
60
- configurable: true
61
- });
62
- return RuleContextBase;
63
- }(ValidationState));
64
- export { RuleContextBase };
65
- var RuleContext = /** @class */ (function (_super) {
66
- __extends(RuleContext, _super);
67
- function RuleContext() {
68
- return _super !== null && _super.apply(this, arguments) || this;
69
- }
70
- /**
71
- * Indicates that this object is validating.
72
- * It will not be valid until endAsync is called in the provided callback.
73
- * Async / await, or returning a promise can also be used as an alternative to using endAsync.
74
- * @param loadingText Text to display until endAsync is called.
75
- * @param onReady Callback function where the async action must be called from.
76
- * @param options See options properties.
77
- */
78
- RuleContext.prototype.beginAsync = function (loadingText, onReady, options) {
79
- var _this = this;
80
- var model = this.ruleValidator.propertyInstance.attachedTo;
81
- if (!model.isSuspended && ((options && options.checkWhenClean) || model.meta.isSelfDirty.peek) && this.ruleValidator.asyncStage !== AsyncStage.Completing) {
82
- this.asyncBusyText = loadingText;
83
- this.ruleValidator.asyncStage = AsyncStage.Debounce;
84
- if (this.severity < RuleSeverity.AsyncBusy)
85
- this.severity = RuleSeverity.AsyncBusy;
86
- if (options && options.forceDisplay && this.forceDisplaySeverity < RuleSeverity.AsyncBusy)
87
- this.forceDisplaySeverity = RuleSeverity.AsyncBusy;
88
- if (this.ruleValidator.debounce)
89
- clearTimeout(this.ruleValidator.debounce);
90
- this.ruleValidator.debounce = setTimeout(function () {
91
- _this.ruleValidator.asyncContext = _this;
92
- _this.ruleValidator.asyncStage = AsyncStage.Busy;
93
- var asyncContext = new AsyncRuleContext(_this, _this.ruleValidator);
94
- var promise = onReady(asyncContext);
95
- if (promise) {
96
- promise.catch(function (e) { return asyncContext.addError("Error: " + e, true); });
97
- promise.finally(function () {
98
- asyncContext.endAsync();
99
- });
100
- }
101
- }, ((options === null || options === void 0 ? void 0 : options.delayMs) !== undefined ? options.delayMs : 500));
102
- }
103
- };
104
- return RuleContext;
105
- }(RuleContextBase));
106
- export { RuleContext };
107
- var AsyncRuleContext = /** @class */ (function (_super) {
108
- __extends(AsyncRuleContext, _super);
109
- function AsyncRuleContext(initiator, ruleValidator) {
110
- var _this = _super.call(this, ruleValidator) || this;
111
- _this.initiator = initiator;
112
- return _this;
113
- }
114
- AsyncRuleContext.prototype.endAsync = function () {
115
- var _this = this;
116
- if (this.ruleValidator.asyncContext && this.ruleValidator.asyncContext === this.initiator && this.ruleValidator.asyncStage === AsyncStage.Busy) {
117
- this.ruleValidator.asyncContext = this;
118
- this.ruleValidator.asyncStage = AsyncStage.Completing;
119
- // cause observers to refresh
120
- this.ruleValidator.refreshValue += 1;
121
- // allow beginAsync to run next time
122
- Utils.nextTick(function () {
123
- _this.ruleValidator.asyncContext = null;
124
- _this.ruleValidator.asyncStage = AsyncStage.None;
125
- });
126
- }
127
- };
128
- return AsyncRuleContext;
129
- }(RuleContextBase));
130
- export { AsyncRuleContext };
1
+ import { __extends } from "tslib";
2
+ import { RuleSeverity, ValidationState } from './ValidationState';
3
+ import { Utils } from '../Utils';
4
+ export var AsyncStage;
5
+ (function (AsyncStage) {
6
+ AsyncStage[AsyncStage["None"] = 0] = "None";
7
+ AsyncStage[AsyncStage["Debounce"] = 1] = "Debounce";
8
+ AsyncStage[AsyncStage["Busy"] = 2] = "Busy";
9
+ AsyncStage[AsyncStage["Completing"] = 3] = "Completing";
10
+ })(AsyncStage || (AsyncStage = {}));
11
+ var RuleContextBase = /** @class */ (function (_super) {
12
+ __extends(RuleContextBase, _super);
13
+ function RuleContextBase(ruleValidator) {
14
+ var _this = _super.call(this) || this;
15
+ _this.ruleValidator = ruleValidator;
16
+ _this.asyncBusyText = "";
17
+ _this.errors = [];
18
+ _this.warnings = [];
19
+ _this.messages = [];
20
+ return _this;
21
+ }
22
+ RuleContextBase.prototype.addError = function (errorText, forceDisplay) {
23
+ if (forceDisplay === void 0) { forceDisplay = false; }
24
+ this.errors.push(errorText);
25
+ this.severity = RuleSeverity.Error;
26
+ if (forceDisplay)
27
+ this.forceDisplaySeverity = RuleSeverity.Error;
28
+ };
29
+ RuleContextBase.prototype.addWarning = function (warningText, forceDisplay) {
30
+ if (forceDisplay === void 0) { forceDisplay = false; }
31
+ this.warnings.push(warningText);
32
+ if (this.severity < RuleSeverity.Warning)
33
+ this.severity = RuleSeverity.Warning;
34
+ if (forceDisplay && this.forceDisplaySeverity < RuleSeverity.Warning)
35
+ this.forceDisplaySeverity = RuleSeverity.Warning;
36
+ };
37
+ RuleContextBase.prototype.addMessage = function (message, forceDisplay) {
38
+ if (forceDisplay === void 0) { forceDisplay = false; }
39
+ this.messages.push(message);
40
+ if (this.severity < RuleSeverity.Info)
41
+ this.severity = RuleSeverity.Info;
42
+ if (forceDisplay && this.forceDisplaySeverity < RuleSeverity.Info)
43
+ this.forceDisplaySeverity = RuleSeverity.Info;
44
+ };
45
+ RuleContextBase.prototype.merge = function (ruleState, includeMessages) {
46
+ var _a, _b, _c;
47
+ if (includeMessages) {
48
+ (_a = this.errors).push.apply(_a, ruleState.errors);
49
+ (_b = this.warnings).push.apply(_b, ruleState.warnings);
50
+ (_c = this.messages).push.apply(_c, ruleState.messages);
51
+ }
52
+ this.severity = Math.max(this.severity, ruleState.severity);
53
+ this.forceDisplaySeverity = Math.max(this.forceDisplaySeverity, ruleState.forceDisplaySeverity);
54
+ };
55
+ Object.defineProperty(RuleContextBase.prototype, "hasDetail", {
56
+ get: function () {
57
+ return this.messages.length > 0 || this.warnings.length > 0 || this.errors.length > 0 || this.asyncBusyText.length > 0;
58
+ },
59
+ enumerable: false,
60
+ configurable: true
61
+ });
62
+ return RuleContextBase;
63
+ }(ValidationState));
64
+ export { RuleContextBase };
65
+ var RuleContext = /** @class */ (function (_super) {
66
+ __extends(RuleContext, _super);
67
+ function RuleContext() {
68
+ return _super !== null && _super.apply(this, arguments) || this;
69
+ }
70
+ /**
71
+ * Indicates that this object is validating.
72
+ * It will not be valid until endAsync is called in the provided callback.
73
+ * Async / await, or returning a promise can also be used as an alternative to using endAsync.
74
+ * @param loadingText Text to display until endAsync is called.
75
+ * @param onReady Callback function where the async action must be called from.
76
+ * @param options See options properties.
77
+ */
78
+ RuleContext.prototype.beginAsync = function (loadingText, onReady, options) {
79
+ var _this = this;
80
+ var model = this.ruleValidator.propertyInstance.attachedTo;
81
+ if (!model.isSuspended && ((options && options.checkWhenClean) || model.meta.isSelfDirty.peek) && this.ruleValidator.asyncStage !== AsyncStage.Completing) {
82
+ this.asyncBusyText = loadingText;
83
+ this.ruleValidator.asyncStage = AsyncStage.Debounce;
84
+ if (this.severity < RuleSeverity.AsyncBusy)
85
+ this.severity = RuleSeverity.AsyncBusy;
86
+ if (options && options.forceDisplay && this.forceDisplaySeverity < RuleSeverity.AsyncBusy)
87
+ this.forceDisplaySeverity = RuleSeverity.AsyncBusy;
88
+ if (this.ruleValidator.debounce)
89
+ clearTimeout(this.ruleValidator.debounce);
90
+ this.ruleValidator.debounce = setTimeout(function () {
91
+ _this.ruleValidator.asyncContext = _this;
92
+ _this.ruleValidator.asyncStage = AsyncStage.Busy;
93
+ var asyncContext = new AsyncRuleContext(_this, _this.ruleValidator);
94
+ var promise = onReady(asyncContext);
95
+ if (promise) {
96
+ promise.catch(function (e) { return asyncContext.addError("Error: " + e, true); });
97
+ promise.finally(function () {
98
+ asyncContext.endAsync();
99
+ });
100
+ }
101
+ }, ((options === null || options === void 0 ? void 0 : options.delayMs) !== undefined ? options.delayMs : 500));
102
+ }
103
+ };
104
+ return RuleContext;
105
+ }(RuleContextBase));
106
+ export { RuleContext };
107
+ var AsyncRuleContext = /** @class */ (function (_super) {
108
+ __extends(AsyncRuleContext, _super);
109
+ function AsyncRuleContext(initiator, ruleValidator) {
110
+ var _this = _super.call(this, ruleValidator) || this;
111
+ _this.initiator = initiator;
112
+ return _this;
113
+ }
114
+ AsyncRuleContext.prototype.endAsync = function () {
115
+ var _this = this;
116
+ if (this.ruleValidator.asyncContext && this.ruleValidator.asyncContext === this.initiator && this.ruleValidator.asyncStage === AsyncStage.Busy) {
117
+ this.ruleValidator.asyncContext = this;
118
+ this.ruleValidator.asyncStage = AsyncStage.Completing;
119
+ // cause observers to refresh
120
+ this.ruleValidator.refreshValue += 1;
121
+ // allow beginAsync to run next time
122
+ Utils.nextTick(function () {
123
+ _this.ruleValidator.asyncContext = null;
124
+ _this.ruleValidator.asyncStage = AsyncStage.None;
125
+ });
126
+ }
127
+ };
128
+ return AsyncRuleContext;
129
+ }(RuleContextBase));
130
+ export { AsyncRuleContext };
@@ -1,70 +1,70 @@
1
- import { RuleContext } from './RuleContext';
2
- import { IPropertyInstance } from '../Model/PropertyInstance';
3
- import { IModelBase } from '../Model/IModelBase';
4
- import PropertyInfo, { TransformStaticMetaType } from '../Model/PropertyInfo';
5
- import { RuleSeverity } from './ValidationState';
6
- export declare type PropertyInfoCallback<T> = (type: TransformStaticMetaType<T>) => (PropertyInfo | PropertyInfo[]);
7
- export declare type RuleExpression<T extends IModelBase> = (model: T) => boolean;
8
- export declare type ErrorExpression<T extends IModelBase> = (model: T) => string;
9
- export interface IRule {
10
- ruleId: string;
11
- }
12
- export declare abstract class Rule implements IRule {
13
- ruleId: string;
14
- abstract checkRule(propertyInstance: IPropertyInstance, context: RuleContext): void;
15
- }
16
- export declare class RequiredRule extends Rule {
17
- errorText: string;
18
- allowZero: boolean;
19
- constructor(errorText: string, allowZero?: boolean);
20
- checkRule(propertyInstance: IPropertyInstance, context: RuleContext): void;
21
- }
22
- export declare class StringLengthRule extends Rule {
23
- private maxLength;
24
- private minLength?;
25
- errorText?: string | undefined;
26
- constructor(maxLength: number, minLength?: number | undefined, errorText?: string | undefined);
27
- checkRule(propertyInstance: IPropertyInstance, context: RuleContext): void;
28
- }
29
- export declare class EmailAddressRule extends Rule {
30
- errorText: string;
31
- constructor(errorText: string);
32
- checkRule(propertyInstance: IPropertyInstance, context: RuleContext): void;
33
- }
34
- export declare class RegExpRule extends Rule {
35
- expression: RegExp;
36
- errorText: string;
37
- constructor(expression: RegExp, errorText: string);
38
- checkRule(propertyInstance: IPropertyInstance, context: RuleContext): void;
39
- }
40
- export interface ICustomRule<T extends IModelBase> extends IRule {
41
- /**
42
- * Used to specify on which properties the rule should display. Return a property instance for 1 property, or an array for multiple.
43
- */
44
- onProperties(properties: PropertyInfoCallback<T>): IRule;
45
- }
46
- export interface IExpressionRule<T extends IModelBase> extends ICustomRule<T> {
47
- /**
48
- * Specifies that the rule should not be displayed on any properties, only in the object summary.
49
- */
50
- onModel(): IRule;
51
- }
52
- export declare abstract class CustomRule<T extends IModelBase> extends Rule implements IExpressionRule<T> {
53
- private onPropertiesCallback?;
54
- onProperties(properties: PropertyInfoCallback<T>): this;
55
- onModel(): this;
56
- getDisplayProperties(type: TransformStaticMetaType<T>): PropertyInfo[] | undefined;
57
- }
58
- export declare class CallbackRule<T extends IModelBase> extends CustomRule<T> {
59
- private validateFn;
60
- hasBoundFunction: boolean;
61
- constructor(validateFn: (context: RuleContext) => void);
62
- checkRule(propertyInstance: IPropertyInstance, context: RuleContext): void;
63
- }
64
- export declare class ExpressionRule<T extends IModelBase> extends CustomRule<T> {
65
- private failExpression;
66
- private error;
67
- private severity?;
68
- constructor(failExpression: RuleExpression<T>, error: ErrorExpression<T> | string, severity?: RuleSeverity | undefined);
69
- checkRule(propertyInstance: IPropertyInstance, context: RuleContext): void;
70
- }
1
+ import { RuleContext } from './RuleContext';
2
+ import { IPropertyInstance } from '../Model/PropertyInstance';
3
+ import { IModelBase } from '../Model/IModelBase';
4
+ import PropertyInfo, { TransformStaticMetaType } from '../Model/PropertyInfo';
5
+ import { RuleSeverity } from './ValidationState';
6
+ export type PropertyInfoCallback<T> = (type: TransformStaticMetaType<T>) => (PropertyInfo | PropertyInfo[]);
7
+ export type RuleExpression<T extends IModelBase> = (model: T) => boolean;
8
+ export type ErrorExpression<T extends IModelBase> = (model: T) => string;
9
+ export interface IRule {
10
+ ruleId: string;
11
+ }
12
+ export declare abstract class Rule implements IRule {
13
+ ruleId: string;
14
+ abstract checkRule(propertyInstance: IPropertyInstance, context: RuleContext): void;
15
+ }
16
+ export declare class RequiredRule extends Rule {
17
+ errorText: string;
18
+ allowZero: boolean;
19
+ constructor(errorText: string, allowZero?: boolean);
20
+ checkRule(propertyInstance: IPropertyInstance, context: RuleContext): void;
21
+ }
22
+ export declare class StringLengthRule extends Rule {
23
+ private maxLength;
24
+ private minLength?;
25
+ errorText?: string | undefined;
26
+ constructor(maxLength: number, minLength?: number | undefined, errorText?: string | undefined);
27
+ checkRule(propertyInstance: IPropertyInstance, context: RuleContext): void;
28
+ }
29
+ export declare class EmailAddressRule extends Rule {
30
+ errorText: string;
31
+ constructor(errorText: string);
32
+ checkRule(propertyInstance: IPropertyInstance, context: RuleContext): void;
33
+ }
34
+ export declare class RegExpRule extends Rule {
35
+ expression: RegExp;
36
+ errorText: string;
37
+ constructor(expression: RegExp, errorText: string);
38
+ checkRule(propertyInstance: IPropertyInstance, context: RuleContext): void;
39
+ }
40
+ export interface ICustomRule<T extends IModelBase> extends IRule {
41
+ /**
42
+ * Used to specify on which properties the rule should display. Return a property instance for 1 property, or an array for multiple.
43
+ */
44
+ onProperties(properties: PropertyInfoCallback<T>): IRule;
45
+ }
46
+ export interface IExpressionRule<T extends IModelBase> extends ICustomRule<T> {
47
+ /**
48
+ * Specifies that the rule should not be displayed on any properties, only in the object summary.
49
+ */
50
+ onModel(): IRule;
51
+ }
52
+ export declare abstract class CustomRule<T extends IModelBase> extends Rule implements IExpressionRule<T> {
53
+ private onPropertiesCallback?;
54
+ onProperties(properties: PropertyInfoCallback<T>): this;
55
+ onModel(): this;
56
+ getDisplayProperties(type: TransformStaticMetaType<T>): PropertyInfo[] | undefined;
57
+ }
58
+ export declare class CallbackRule<T extends IModelBase> extends CustomRule<T> {
59
+ private validateFn;
60
+ hasBoundFunction: boolean;
61
+ constructor(validateFn: (context: RuleContext) => void);
62
+ checkRule(propertyInstance: IPropertyInstance, context: RuleContext): void;
63
+ }
64
+ export declare class ExpressionRule<T extends IModelBase> extends CustomRule<T> {
65
+ private failExpression;
66
+ private error;
67
+ private severity?;
68
+ constructor(failExpression: RuleExpression<T>, error: ErrorExpression<T> | string, severity?: RuleSeverity | undefined);
69
+ checkRule(propertyInstance: IPropertyInstance, context: RuleContext): void;
70
+ }