@singularsystems/neo-core 1.0.0-alpha.3 → 1.0.0-beta.0

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