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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/ApiClient/ApiClientBase.d.ts +5 -5
  3. package/dist/ApiClient/ApiClientBase.js +13 -13
  4. package/dist/ApiClient/ReadApiClient.d.ts +16 -16
  5. package/dist/ApiClient/ReadApiClient.js +24 -24
  6. package/dist/ApiClient/UpdateableApiClient.d.ts +28 -28
  7. package/dist/ApiClient/UpdateableApiClient.js +33 -33
  8. package/dist/AppServices/AppService.d.ts +46 -46
  9. package/dist/AppServices/AppService.js +25 -25
  10. package/dist/AppServices/Config/ConfigModel.d.ts +21 -20
  11. package/dist/AppServices/Config/ConfigModel.js +28 -17
  12. package/dist/AppServices/Config/ConfigService.d.ts +15 -15
  13. package/dist/AppServices/Config/ConfigService.js +49 -53
  14. package/dist/AppServices/Module.d.ts +11 -11
  15. package/dist/AppServices/Module.js +13 -13
  16. package/dist/AppServices/NeoContainer.d.ts +22 -22
  17. package/dist/AppServices/NeoContainer.js +42 -42
  18. package/dist/AppServices/NeoModule.d.ts +3 -3
  19. package/dist/AppServices/NeoModule.js +30 -30
  20. package/dist/AppServices/NeoTypes.d.ts +61 -61
  21. package/dist/AppServices/NeoTypes.js +42 -42
  22. package/dist/AppServices/ServiceIdentifier.d.ts +23 -23
  23. package/dist/AppServices/ServiceIdentifier.js +38 -39
  24. package/dist/AppServices/index.d.ts +7 -7
  25. package/dist/AppServices/index.js +7 -7
  26. package/dist/Components/AnimationHelper.d.ts +69 -69
  27. package/dist/Components/AnimationHelper.js +182 -182
  28. package/dist/Components/BootstrapHelpers.d.ts +8 -8
  29. package/dist/Components/BootstrapHelpers.js +30 -30
  30. package/dist/Components/BootstrapTypes.d.ts +35 -35
  31. package/dist/Components/BootstrapTypes.js +1 -1
  32. package/dist/Components/ButtonOptions.d.ts +63 -61
  33. package/dist/Components/ButtonOptions.js +1 -1
  34. package/dist/Components/ContextMenu/ContextMenu.d.ts +16 -16
  35. package/dist/Components/ContextMenu/ContextMenu.js +1 -1
  36. package/dist/Components/ContextMenu/MenuUtils.d.ts +16 -16
  37. package/dist/Components/ContextMenu/MenuUtils.js +34 -34
  38. package/dist/Components/DatePicker/DatePicker.d.ts +70 -69
  39. package/dist/Components/DatePicker/DatePicker.js +502 -487
  40. package/dist/Components/DatePicker/DatePickerOptions.d.ts +43 -34
  41. package/dist/Components/DatePicker/DatePickerOptions.js +33 -33
  42. package/dist/Components/ErrorHandler.d.ts +59 -55
  43. package/dist/Components/ErrorHandler.js +210 -138
  44. package/dist/Components/FileManager/BoundFileManager.d.ts +18 -18
  45. package/dist/Components/FileManager/BoundFileManager.js +60 -60
  46. package/dist/Components/FileManager/FileManager.d.ts +80 -78
  47. package/dist/Components/FileManager/FileManager.js +277 -257
  48. package/dist/Components/FileManager/FileUploadBatch.d.ts +37 -37
  49. package/dist/Components/FileManager/FileUploadBatch.js +83 -82
  50. package/dist/Components/FileManager/IFileManagerOptions.d.ts +42 -42
  51. package/dist/Components/FileManager/IFileManagerOptions.js +1 -1
  52. package/dist/Components/FormOptions.d.ts +34 -34
  53. package/dist/Components/FormOptions.js +1 -1
  54. package/dist/Components/ICollapsableOptions.d.ts +11 -11
  55. package/dist/Components/ICollapsableOptions.js +1 -1
  56. package/dist/Components/Modal/ModalHelper.d.ts +31 -31
  57. package/dist/Components/Modal/ModalHelper.js +174 -174
  58. package/dist/Components/Modal/ModalOptions.d.ts +61 -61
  59. package/dist/Components/Modal/ModalOptions.js +1 -1
  60. package/dist/Components/Modal/ModalStore.d.ts +32 -32
  61. package/dist/Components/Modal/ModalStore.js +82 -82
  62. package/dist/Components/Modal/ModalUtils.d.ts +61 -61
  63. package/dist/Components/Modal/ModalUtils.js +109 -109
  64. package/dist/Components/Notifications/INotificationHelper.d.ts +56 -56
  65. package/dist/Components/Notifications/INotificationHelper.js +1 -1
  66. package/dist/Components/Notifications/Notification.d.ts +32 -32
  67. package/dist/Components/Notifications/Notification.js +26 -27
  68. package/dist/Components/Notifications/NotificationHelper.d.ts +63 -63
  69. package/dist/Components/Notifications/NotificationHelper.js +111 -112
  70. package/dist/Components/Notifications/NotificationStore.d.ts +34 -34
  71. package/dist/Components/Notifications/NotificationStore.js +78 -79
  72. package/dist/Components/PositionHelper.d.ts +10 -10
  73. package/dist/Components/PositionHelper.js +43 -43
  74. package/dist/Components/TaskRunner/Decorators.d.ts +6 -6
  75. package/dist/Components/TaskRunner/Decorators.js +24 -24
  76. package/dist/Components/TaskRunner/ProgressState.d.ts +22 -22
  77. package/dist/Components/TaskRunner/ProgressState.js +71 -72
  78. package/dist/Components/TaskRunner/TaskRunner.d.ts +114 -114
  79. package/dist/Components/TaskRunner/TaskRunner.js +253 -244
  80. package/dist/Components/TooltipOptions.d.ts +8 -8
  81. package/dist/Components/TooltipOptions.js +1 -1
  82. package/dist/Components/index.d.ts +22 -22
  83. package/dist/Components/index.js +13 -13
  84. package/dist/ConnectionManager.d.ts +45 -45
  85. package/dist/ConnectionManager.js +60 -61
  86. package/dist/Data/ApiDataSource.d.ts +46 -46
  87. package/dist/Data/ApiDataSource.js +140 -144
  88. package/dist/Data/AsyncDataSource.d.ts +35 -35
  89. package/dist/Data/AsyncDataSource.js +79 -80
  90. package/dist/Data/CacheService.d.ts +40 -40
  91. package/dist/Data/CacheService.js +63 -64
  92. package/dist/Data/DataCacheEntry.d.ts +42 -42
  93. package/dist/Data/DataCacheEntry.js +80 -80
  94. package/dist/Data/DataView.d.ts +43 -43
  95. package/dist/Data/DataView.js +173 -172
  96. package/dist/Data/Deserialiser.d.ts +42 -42
  97. package/dist/Data/Deserialiser.js +255 -255
  98. package/dist/Data/Paging/PageManager.d.ts +167 -167
  99. package/dist/Data/Paging/PageManager.js +323 -323
  100. package/dist/Data/Paging/PageRequest.d.ts +24 -24
  101. package/dist/Data/Paging/PageRequest.js +38 -39
  102. package/dist/Data/Paging/PageResult.d.ts +10 -10
  103. package/dist/Data/Paging/PageResult.js +14 -14
  104. package/dist/Data/Serialiser.d.ts +41 -41
  105. package/dist/Data/Serialiser.js +201 -201
  106. package/dist/Data/SortOperation.d.ts +8 -8
  107. package/dist/Data/SortOperation.js +26 -26
  108. package/dist/Data/StaticDataSource.d.ts +9 -9
  109. package/dist/Data/StaticDataSource.js +27 -27
  110. package/dist/Data/WindowedDataView.d.ts +8 -8
  111. package/dist/Data/WindowedDataView.js +49 -50
  112. package/dist/Data/index.d.ts +15 -15
  113. package/dist/Data/index.js +15 -15
  114. package/dist/Dates/DateUtils.d.ts +47 -47
  115. package/dist/Dates/DateUtils.js +226 -226
  116. package/dist/Dates/TimeSpan.d.ts +24 -24
  117. package/dist/Dates/TimeSpan.js +46 -46
  118. package/dist/DebounceHelper.d.ts +44 -38
  119. package/dist/DebounceHelper.js +122 -95
  120. package/dist/Extensions.d.ts +82 -82
  121. package/dist/Extensions.js +182 -182
  122. package/dist/FileUtils.d.ts +6 -6
  123. package/dist/FileUtils.js +37 -37
  124. package/dist/Globals.d.ts +19 -19
  125. package/dist/Globals.js +41 -41
  126. package/dist/JsonSchema/ClassMetadata.d.ts +25 -25
  127. package/dist/JsonSchema/ClassMetadata.js +53 -53
  128. package/dist/JsonSchema/JsonData.d.ts +16 -16
  129. package/dist/JsonSchema/JsonData.js +97 -97
  130. package/dist/JsonSchema/JsonSchemaTypes.d.ts +37 -37
  131. package/dist/JsonSchema/JsonSchemaTypes.js +1 -1
  132. package/dist/JsonSchema/PropertyMetadata.d.ts +8 -8
  133. package/dist/JsonSchema/PropertyMetadata.js +8 -8
  134. package/dist/JsonSchema/TypeCache.d.ts +16 -16
  135. package/dist/JsonSchema/TypeCache.js +44 -44
  136. package/dist/JsonSchema/TypeMetadata.d.ts +45 -45
  137. package/dist/JsonSchema/TypeMetadata.js +170 -170
  138. package/dist/JsonSchema/index.d.ts +7 -7
  139. package/dist/JsonSchema/index.js +6 -6
  140. package/dist/Localisation/ILocalisationService.d.ts +11 -11
  141. package/dist/Localisation/ILocalisationService.js +1 -1
  142. package/dist/Localisation/LocalisationService.d.ts +4 -4
  143. package/dist/Localisation/LocalisationService.js +17 -17
  144. package/dist/Localisation/index.d.ts +1 -1
  145. package/dist/Localisation/index.js +1 -1
  146. package/dist/Misc.d.ts +6 -6
  147. package/dist/Misc.js +6 -6
  148. package/dist/Model/BaseModels/AuditValues.d.ts +12 -12
  149. package/dist/Model/BaseModels/AuditValues.js +46 -48
  150. package/dist/Model/BaseModels/CriteriaBase.d.ts +18 -16
  151. package/dist/Model/BaseModels/CriteriaBase.js +45 -34
  152. package/dist/Model/BaseModels/FileDescriptorBase.d.ts +12 -12
  153. package/dist/Model/BaseModels/FileDescriptorBase.js +22 -22
  154. package/dist/Model/BaseModels/ReasonedUserEvent.d.ts +5 -4
  155. package/dist/Model/BaseModels/ReasonedUserEvent.js +23 -19
  156. package/dist/Model/BaseModels/UserEvent.d.ts +9 -8
  157. package/dist/Model/BaseModels/UserEvent.js +36 -32
  158. package/dist/Model/BindableBase.d.ts +46 -40
  159. package/dist/Model/BindableBase.js +79 -76
  160. package/dist/Model/Decorators.d.ts +47 -44
  161. package/dist/Model/Decorators.js +182 -177
  162. package/dist/Model/EnumHelper.d.ts +54 -54
  163. package/dist/Model/EnumHelper.js +104 -100
  164. package/dist/Model/IAutoRunner.d.ts +5 -5
  165. package/dist/Model/IAutoRunner.js +1 -1
  166. package/dist/Model/IModelBase.d.ts +92 -79
  167. package/dist/Model/IModelBase.js +1 -1
  168. package/dist/Model/IModelCreatorBase.d.ts +9 -9
  169. package/dist/Model/IModelCreatorBase.js +1 -1
  170. package/dist/Model/List.d.ts +79 -77
  171. package/dist/Model/List.js +208 -198
  172. package/dist/Model/LookupBase.d.ts +13 -6
  173. package/dist/Model/LookupBase.js +19 -10
  174. package/dist/Model/Misc.d.ts +83 -81
  175. package/dist/Model/Misc.js +59 -59
  176. package/dist/Model/ModelBase.d.ts +88 -86
  177. package/dist/Model/ModelBase.js +182 -180
  178. package/dist/Model/ModelCreatorBase.d.ts +24 -23
  179. package/dist/Model/ModelCreatorBase.js +92 -92
  180. package/dist/Model/ModelFieldInfo.d.ts +29 -12
  181. package/dist/Model/ModelFieldInfo.js +35 -26
  182. package/dist/Model/ModelGraphTraverser.d.ts +35 -35
  183. package/dist/Model/ModelGraphTraverser.js +101 -99
  184. package/dist/Model/NeoModel.d.ts +6 -6
  185. package/dist/Model/NeoModel.js +13 -13
  186. package/dist/Model/NeoTypeInfo.d.ts +52 -41
  187. package/dist/Model/NeoTypeInfo.js +300 -250
  188. package/dist/Model/ObservableProperty.d.ts +8 -8
  189. package/dist/Model/ObservableProperty.js +41 -41
  190. package/dist/Model/ObservableValue.d.ts +9 -9
  191. package/dist/Model/ObservableValue.js +25 -26
  192. package/dist/Model/PropertyInfo.d.ts +83 -81
  193. package/dist/Model/PropertyInfo.js +138 -137
  194. package/dist/Model/PropertyInstance.d.ts +84 -48
  195. package/dist/Model/PropertyInstance.js +173 -113
  196. package/dist/Model/ValueObject.d.ts +3 -3
  197. package/dist/Model/ValueObject.js +10 -10
  198. package/dist/Model/index.d.ts +15 -14
  199. package/dist/Model/index.js +13 -12
  200. package/dist/NumberUtils.d.ts +63 -49
  201. package/dist/NumberUtils.js +247 -197
  202. package/dist/Routing/IMenuItemProvider.d.ts +9 -9
  203. package/dist/Routing/IMenuItemProvider.js +1 -1
  204. package/dist/Routing/IMenuRoute.d.ts +18 -18
  205. package/dist/Routing/IMenuRoute.js +1 -1
  206. package/dist/Routing/INavigationHelper.d.ts +7 -7
  207. package/dist/Routing/INavigationHelper.js +1 -1
  208. package/dist/Routing/IPageLeaveHandler.d.ts +23 -23
  209. package/dist/Routing/IPageLeaveHandler.js +7 -7
  210. package/dist/Routing/IRoute.d.ts +27 -27
  211. package/dist/Routing/IRoute.js +1 -1
  212. package/dist/Routing/IRouteSecurityService.d.ts +14 -14
  213. package/dist/Routing/IRouteSecurityService.js +1 -1
  214. package/dist/Routing/MenuItemProvider.d.ts +17 -17
  215. package/dist/Routing/MenuItemProvider.js +53 -54
  216. package/dist/Routing/RouteSecurityService.d.ts +18 -18
  217. package/dist/Routing/RouteSecurityService.js +35 -36
  218. package/dist/Routing/index.d.ts +7 -7
  219. package/dist/Routing/index.js +3 -3
  220. package/dist/Security/IAuthenticationService.d.ts +41 -36
  221. package/dist/Security/IAuthenticationService.js +1 -1
  222. package/dist/Security/IAuthorisationService.d.ts +11 -11
  223. package/dist/Security/IAuthorisationService.js +1 -1
  224. package/dist/Security/ILoginErrorHandler.d.ts +4 -4
  225. package/dist/Security/ILoginErrorHandler.js +1 -1
  226. package/dist/Security/ISecurityService.d.ts +10 -10
  227. package/dist/Security/ISecurityService.js +1 -1
  228. package/dist/Security/IUser.d.ts +10 -10
  229. package/dist/Security/IUser.js +1 -1
  230. package/dist/Security/IUserRole.d.ts +6 -6
  231. package/dist/Security/IUserRole.js +1 -1
  232. package/dist/Security/LoginErrorHandler.d.ts +15 -15
  233. package/dist/Security/LoginErrorHandler.js +97 -98
  234. package/dist/Security/Oidc/OidcAuthService.d.ts +67 -60
  235. package/dist/Security/Oidc/OidcAuthService.js +216 -189
  236. package/dist/Security/Oidc/OidcTypes.d.ts +46 -29
  237. package/dist/Security/Oidc/OidcTypes.js +1 -1
  238. package/dist/Security/Oidc/OidcUser.d.ts +9 -9
  239. package/dist/Security/Oidc/OidcUser.js +33 -33
  240. package/dist/Security/SecurityService.d.ts +12 -12
  241. package/dist/Security/SecurityService.js +33 -34
  242. package/dist/Security/SignInResult.d.ts +13 -13
  243. package/dist/Security/SignInResult.js +8 -8
  244. package/dist/Security/User.d.ts +12 -12
  245. package/dist/Security/User.js +24 -24
  246. package/dist/Security/index.d.ts +10 -10
  247. package/dist/Security/index.js +5 -5
  248. package/dist/Settings.d.ts +71 -57
  249. package/dist/Settings.js +100 -87
  250. package/dist/SignalR/HubBase.d.ts +70 -70
  251. package/dist/SignalR/HubBase.js +164 -164
  252. package/dist/SignalR/HubReceiver.d.ts +11 -11
  253. package/dist/SignalR/HubReceiver.js +25 -25
  254. package/dist/SignalR/HubSubscription.d.ts +12 -12
  255. package/dist/SignalR/HubSubscription.js +14 -14
  256. package/dist/SignalR/index.d.ts +3 -3
  257. package/dist/SignalR/index.js +1 -1
  258. package/dist/StringUtils.d.ts +7 -7
  259. package/dist/StringUtils.js +24 -24
  260. package/dist/Utils.d.ts +81 -80
  261. package/dist/Utils.js +220 -218
  262. package/dist/Validation/Decorators.d.ts +12 -12
  263. package/dist/Validation/Decorators.js +52 -52
  264. package/dist/Validation/DisplayHelper.d.ts +20 -19
  265. package/dist/Validation/DisplayHelper.js +104 -104
  266. package/dist/Validation/Misc.d.ts +10 -10
  267. package/dist/Validation/Misc.js +11 -11
  268. package/dist/Validation/ModelProxy.d.ts +20 -20
  269. package/dist/Validation/ModelProxy.js +46 -46
  270. package/dist/Validation/RuleContext.d.ts +86 -86
  271. package/dist/Validation/RuleContext.js +130 -130
  272. package/dist/Validation/Rules.d.ts +70 -70
  273. package/dist/Validation/Rules.js +177 -177
  274. package/dist/Validation/ValidationHelpers.d.ts +12 -12
  275. package/dist/Validation/ValidationHelpers.js +57 -57
  276. package/dist/Validation/ValidationRules.d.ts +18 -18
  277. package/dist/Validation/ValidationRules.js +34 -34
  278. package/dist/Validation/ValidationState.d.ts +42 -42
  279. package/dist/Validation/ValidationState.js +74 -74
  280. package/dist/Validation/Validators/IModelValidator.d.ts +28 -24
  281. package/dist/Validation/Validators/IModelValidator.js +1 -1
  282. package/dist/Validation/Validators/IPropertyValidator.d.ts +21 -21
  283. package/dist/Validation/Validators/IPropertyValidator.js +15 -15
  284. package/dist/Validation/Validators/ModelValidator.d.ts +46 -45
  285. package/dist/Validation/Validators/ModelValidator.js +143 -137
  286. package/dist/Validation/Validators/PropertyValidator.d.ts +21 -21
  287. package/dist/Validation/Validators/PropertyValidator.js +64 -67
  288. package/dist/Validation/Validators/RuleValidator.d.ts +19 -19
  289. package/dist/Validation/Validators/RuleValidator.js +51 -55
  290. package/dist/Validation/index.d.ts +9 -9
  291. package/dist/Validation/index.js +7 -7
  292. package/dist/Views/IViewBase.d.ts +5 -5
  293. package/dist/Views/IViewBase.js +1 -1
  294. package/dist/index.d.ts +37 -36
  295. package/dist/index.js +44 -43
  296. package/package.json +11 -10
@@ -1,177 +1,177 @@
1
- import { __extends } from "tslib";
2
- import { RuleSeverity } from './ValidationState';
3
- import { Utils } from '../Utils';
4
- var Rule = /** @class */ (function () {
5
- function Rule() {
6
- this.ruleId = Utils.uuidv4();
7
- }
8
- return Rule;
9
- }());
10
- export { Rule };
11
- var RequiredRule = /** @class */ (function (_super) {
12
- __extends(RequiredRule, _super);
13
- function RequiredRule(errorText, allowZero) {
14
- if (allowZero === void 0) { allowZero = false; }
15
- var _this = _super.call(this) || this;
16
- _this.errorText = errorText;
17
- _this.allowZero = allowZero;
18
- return _this;
19
- }
20
- RequiredRule.prototype.checkRule = function (propertyInstance, context) {
21
- var value = propertyInstance.value;
22
- if (!value && !(this.allowZero && value === 0)) {
23
- context.addError(this.errorText.format(propertyInstance.propertyInfo.readableName));
24
- }
25
- };
26
- return RequiredRule;
27
- }(Rule));
28
- export { RequiredRule };
29
- var StringLengthRule = /** @class */ (function (_super) {
30
- __extends(StringLengthRule, _super);
31
- function StringLengthRule(maxLength, minLength, errorText) {
32
- var _this = _super.call(this) || this;
33
- _this.maxLength = maxLength;
34
- _this.minLength = minLength;
35
- _this.errorText = errorText;
36
- return _this;
37
- }
38
- StringLengthRule.prototype.checkRule = function (propertyInstance, context) {
39
- var value = propertyInstance.value;
40
- var errorTextValue = this.errorText;
41
- if (this.minLength && (!value || value.length < this.minLength)) {
42
- if (!errorTextValue)
43
- errorTextValue = "{0} cannot be less than {1} characters in length";
44
- context.addError(errorTextValue.format(propertyInstance.propertyInfo.readableName, this.minLength.toString(), this.maxLength.toString()));
45
- }
46
- else if (value && value.length > this.maxLength) {
47
- if (!errorTextValue)
48
- errorTextValue = "{0} cannot be more than {1} characters in length";
49
- context.addError(errorTextValue.format(propertyInstance.propertyInfo.readableName, this.maxLength.toString()));
50
- }
51
- };
52
- return StringLengthRule;
53
- }(Rule));
54
- export { StringLengthRule };
55
- var EmailAddressRule = /** @class */ (function (_super) {
56
- __extends(EmailAddressRule, _super);
57
- function EmailAddressRule(errorText) {
58
- var _this = _super.call(this) || this;
59
- _this.errorText = errorText;
60
- return _this;
61
- }
62
- EmailAddressRule.prototype.checkRule = function (propertyInstance, context) {
63
- var value = propertyInstance.value;
64
- if (value) {
65
- if (!/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(value)) {
66
- context.addError(this.errorText.format("'" + value + "'", propertyInstance.propertyInfo.readableName));
67
- }
68
- }
69
- };
70
- return EmailAddressRule;
71
- }(Rule));
72
- export { EmailAddressRule };
73
- var RegExpRule = /** @class */ (function (_super) {
74
- __extends(RegExpRule, _super);
75
- function RegExpRule(expression, errorText) {
76
- var _this = _super.call(this) || this;
77
- _this.expression = expression;
78
- _this.errorText = errorText;
79
- return _this;
80
- }
81
- RegExpRule.prototype.checkRule = function (propertyInstance, context) {
82
- var value = propertyInstance.value;
83
- if (value) {
84
- if (!this.expression.test(value)) {
85
- context.addError(this.errorText.format("'" + value + "'", propertyInstance.propertyInfo.readableName));
86
- }
87
- }
88
- };
89
- return RegExpRule;
90
- }(Rule));
91
- export { RegExpRule };
92
- var CustomRule = /** @class */ (function (_super) {
93
- __extends(CustomRule, _super);
94
- function CustomRule() {
95
- return _super !== null && _super.apply(this, arguments) || this;
96
- }
97
- CustomRule.prototype.onProperties = function (properties) {
98
- this.onPropertiesCallback = properties;
99
- return this;
100
- };
101
- CustomRule.prototype.onModel = function () {
102
- this.onPropertiesCallback = function () { return []; };
103
- return this;
104
- };
105
- CustomRule.prototype.getDisplayProperties = function (type) {
106
- if (this.onPropertiesCallback) {
107
- var properties = this.onPropertiesCallback(type);
108
- if (properties instanceof Array) {
109
- return properties;
110
- }
111
- else {
112
- return [properties];
113
- }
114
- }
115
- else {
116
- return undefined;
117
- }
118
- };
119
- return CustomRule;
120
- }(Rule));
121
- export { CustomRule };
122
- var CallbackRule = /** @class */ (function (_super) {
123
- __extends(CallbackRule, _super);
124
- function CallbackRule(validateFn) {
125
- var _this = _super.call(this) || this;
126
- _this.validateFn = validateFn;
127
- _this.hasBoundFunction = false;
128
- if (!validateFn.hasOwnProperty("prototype")) {
129
- _this.hasBoundFunction = true;
130
- }
131
- return _this;
132
- }
133
- CallbackRule.prototype.checkRule = function (propertyInstance, context) {
134
- if (this.hasBoundFunction) {
135
- var reboundFn = this.validateFn.bind(propertyInstance.attachedTo);
136
- reboundFn(context);
137
- }
138
- else {
139
- this.validateFn.call(propertyInstance.attachedTo, context);
140
- }
141
- };
142
- return CallbackRule;
143
- }(CustomRule));
144
- export { CallbackRule };
145
- var ExpressionRule = /** @class */ (function (_super) {
146
- __extends(ExpressionRule, _super);
147
- function ExpressionRule(failExpression, error, severity) {
148
- var _this = _super.call(this) || this;
149
- _this.failExpression = failExpression;
150
- _this.error = error;
151
- _this.severity = severity;
152
- return _this;
153
- }
154
- ExpressionRule.prototype.checkRule = function (propertyInstance, context) {
155
- var instance = propertyInstance.attachedTo;
156
- if (this.failExpression(instance)) {
157
- var errorText = void 0;
158
- if (typeof this.error === "string") {
159
- errorText = this.error;
160
- }
161
- else {
162
- errorText = this.error(instance);
163
- }
164
- if (this.severity === undefined || this.severity == RuleSeverity.Error) {
165
- context.addError(errorText);
166
- }
167
- else if (this.severity == RuleSeverity.Warning) {
168
- context.addWarning(errorText);
169
- }
170
- else {
171
- context.addMessage(errorText);
172
- }
173
- }
174
- };
175
- return ExpressionRule;
176
- }(CustomRule));
177
- export { ExpressionRule };
1
+ import { __extends } from "tslib";
2
+ import { RuleSeverity } from './ValidationState';
3
+ import { Utils } from '../Utils';
4
+ var Rule = /** @class */ (function () {
5
+ function Rule() {
6
+ this.ruleId = Utils.uuidv4();
7
+ }
8
+ return Rule;
9
+ }());
10
+ export { Rule };
11
+ var RequiredRule = /** @class */ (function (_super) {
12
+ __extends(RequiredRule, _super);
13
+ function RequiredRule(errorText, allowZero) {
14
+ if (allowZero === void 0) { allowZero = false; }
15
+ var _this = _super.call(this) || this;
16
+ _this.errorText = errorText;
17
+ _this.allowZero = allowZero;
18
+ return _this;
19
+ }
20
+ RequiredRule.prototype.checkRule = function (propertyInstance, context) {
21
+ var value = propertyInstance.value;
22
+ if (!value && !(this.allowZero && value === 0)) {
23
+ context.addError(this.errorText.format(propertyInstance.propertyInfo.readableName));
24
+ }
25
+ };
26
+ return RequiredRule;
27
+ }(Rule));
28
+ export { RequiredRule };
29
+ var StringLengthRule = /** @class */ (function (_super) {
30
+ __extends(StringLengthRule, _super);
31
+ function StringLengthRule(maxLength, minLength, errorText) {
32
+ var _this = _super.call(this) || this;
33
+ _this.maxLength = maxLength;
34
+ _this.minLength = minLength;
35
+ _this.errorText = errorText;
36
+ return _this;
37
+ }
38
+ StringLengthRule.prototype.checkRule = function (propertyInstance, context) {
39
+ var value = propertyInstance.value;
40
+ var errorTextValue = this.errorText;
41
+ if (this.minLength && (!value || value.length < this.minLength)) {
42
+ if (!errorTextValue)
43
+ errorTextValue = "{0} cannot be less than {1} characters in length";
44
+ context.addError(errorTextValue.format(propertyInstance.propertyInfo.readableName, this.minLength.toString(), this.maxLength.toString()));
45
+ }
46
+ else if (value && value.length > this.maxLength) {
47
+ if (!errorTextValue)
48
+ errorTextValue = "{0} cannot be more than {1} characters in length";
49
+ context.addError(errorTextValue.format(propertyInstance.propertyInfo.readableName, this.maxLength.toString()));
50
+ }
51
+ };
52
+ return StringLengthRule;
53
+ }(Rule));
54
+ export { StringLengthRule };
55
+ var EmailAddressRule = /** @class */ (function (_super) {
56
+ __extends(EmailAddressRule, _super);
57
+ function EmailAddressRule(errorText) {
58
+ var _this = _super.call(this) || this;
59
+ _this.errorText = errorText;
60
+ return _this;
61
+ }
62
+ EmailAddressRule.prototype.checkRule = function (propertyInstance, context) {
63
+ var value = propertyInstance.value;
64
+ if (value) {
65
+ if (!/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(value)) {
66
+ context.addError(this.errorText.format("'" + value + "'", propertyInstance.propertyInfo.readableName));
67
+ }
68
+ }
69
+ };
70
+ return EmailAddressRule;
71
+ }(Rule));
72
+ export { EmailAddressRule };
73
+ var RegExpRule = /** @class */ (function (_super) {
74
+ __extends(RegExpRule, _super);
75
+ function RegExpRule(expression, errorText) {
76
+ var _this = _super.call(this) || this;
77
+ _this.expression = expression;
78
+ _this.errorText = errorText;
79
+ return _this;
80
+ }
81
+ RegExpRule.prototype.checkRule = function (propertyInstance, context) {
82
+ var value = propertyInstance.value;
83
+ if (value) {
84
+ if (!this.expression.test(value)) {
85
+ context.addError(this.errorText.format("'" + value + "'", propertyInstance.propertyInfo.readableName));
86
+ }
87
+ }
88
+ };
89
+ return RegExpRule;
90
+ }(Rule));
91
+ export { RegExpRule };
92
+ var CustomRule = /** @class */ (function (_super) {
93
+ __extends(CustomRule, _super);
94
+ function CustomRule() {
95
+ return _super !== null && _super.apply(this, arguments) || this;
96
+ }
97
+ CustomRule.prototype.onProperties = function (properties) {
98
+ this.onPropertiesCallback = properties;
99
+ return this;
100
+ };
101
+ CustomRule.prototype.onModel = function () {
102
+ this.onPropertiesCallback = function () { return []; };
103
+ return this;
104
+ };
105
+ CustomRule.prototype.getDisplayProperties = function (type) {
106
+ if (this.onPropertiesCallback) {
107
+ var properties = this.onPropertiesCallback(type);
108
+ if (properties instanceof Array) {
109
+ return properties;
110
+ }
111
+ else {
112
+ return [properties];
113
+ }
114
+ }
115
+ else {
116
+ return undefined;
117
+ }
118
+ };
119
+ return CustomRule;
120
+ }(Rule));
121
+ export { CustomRule };
122
+ var CallbackRule = /** @class */ (function (_super) {
123
+ __extends(CallbackRule, _super);
124
+ function CallbackRule(validateFn) {
125
+ var _this = _super.call(this) || this;
126
+ _this.validateFn = validateFn;
127
+ _this.hasBoundFunction = false;
128
+ if (!validateFn.hasOwnProperty("prototype")) {
129
+ _this.hasBoundFunction = true;
130
+ }
131
+ return _this;
132
+ }
133
+ CallbackRule.prototype.checkRule = function (propertyInstance, context) {
134
+ if (this.hasBoundFunction) {
135
+ var reboundFn = this.validateFn.bind(propertyInstance.attachedTo);
136
+ reboundFn(context);
137
+ }
138
+ else {
139
+ this.validateFn.call(propertyInstance.attachedTo, context);
140
+ }
141
+ };
142
+ return CallbackRule;
143
+ }(CustomRule));
144
+ export { CallbackRule };
145
+ var ExpressionRule = /** @class */ (function (_super) {
146
+ __extends(ExpressionRule, _super);
147
+ function ExpressionRule(failExpression, error, severity) {
148
+ var _this = _super.call(this) || this;
149
+ _this.failExpression = failExpression;
150
+ _this.error = error;
151
+ _this.severity = severity;
152
+ return _this;
153
+ }
154
+ ExpressionRule.prototype.checkRule = function (propertyInstance, context) {
155
+ var instance = propertyInstance.attachedTo;
156
+ if (this.failExpression(instance)) {
157
+ var errorText = void 0;
158
+ if (typeof this.error === "string") {
159
+ errorText = this.error;
160
+ }
161
+ else {
162
+ errorText = this.error(instance);
163
+ }
164
+ if (this.severity === undefined || this.severity == RuleSeverity.Error) {
165
+ context.addError(errorText);
166
+ }
167
+ else if (this.severity == RuleSeverity.Warning) {
168
+ context.addWarning(errorText);
169
+ }
170
+ else {
171
+ context.addMessage(errorText);
172
+ }
173
+ }
174
+ };
175
+ return ExpressionRule;
176
+ }(CustomRule));
177
+ export { ExpressionRule };
@@ -1,12 +1,12 @@
1
- import { IModelBase } from '../Model/IModelBase';
2
- import { IInvalidObject } from './Validators/ModelValidator';
3
- import { ValidationDisplayMode } from './Misc';
4
- export interface IInvalidObjectGraph extends IInvalidObject {
5
- childLists: IInvalidObjectGraph[];
6
- childObjects: IInvalidObjectGraph[];
7
- valueObjects: IInvalidObjectGraph[];
8
- }
9
- /** Gets a validation summary graph for display of broken rules */
10
- export declare function getValidationSummary(model: IModelBase, displayMode?: ValidationDisplayMode): IInvalidObjectGraph | null;
11
- /** Gets a validation summary graph for display of broken rules */
12
- export declare function getValidationSummary(models: IModelBase[], displayMode?: ValidationDisplayMode): IInvalidObjectGraph[];
1
+ import { IModelBase } from '../Model/IModelBase';
2
+ import { IInvalidObject } from './Validators/ModelValidator';
3
+ import { ValidationDisplayMode } from './Misc';
4
+ export interface IInvalidObjectGraph extends IInvalidObject {
5
+ childLists: IInvalidObjectGraph[];
6
+ childObjects: IInvalidObjectGraph[];
7
+ valueObjects: IInvalidObjectGraph[];
8
+ }
9
+ /** Gets a validation summary graph for display of broken rules */
10
+ export declare function getValidationSummary(model: IModelBase, displayMode?: ValidationDisplayMode): IInvalidObjectGraph | null;
11
+ /** Gets a validation summary graph for display of broken rules */
12
+ export declare function getValidationSummary(models: IModelBase[], displayMode?: ValidationDisplayMode): IInvalidObjectGraph[];
@@ -1,57 +1,57 @@
1
- import { __assign, __extends } from "tslib";
2
- import * as ModelTraverser from '../Model/ModelGraphTraverser';
3
- import { ValidationDisplayMode } from './Misc';
4
- import { RelationType } from '../Model/Misc';
5
- var ObjectRecursionState = /** @class */ (function (_super) {
6
- __extends(ObjectRecursionState, _super);
7
- function ObjectRecursionState(parent) {
8
- var _this = _super.call(this) || this;
9
- _this.parent = parent;
10
- _this.stack = [];
11
- return _this;
12
- }
13
- ObjectRecursionState.prototype.add = function (object, relationType) {
14
- this.current = __assign(__assign({}, object), { childLists: [], childObjects: [], valueObjects: [] });
15
- if (relationType === RelationType.ChildObject) {
16
- this.parent.childObjects.push(this.current);
17
- }
18
- else if (relationType === RelationType.ValueObject) {
19
- this.parent.valueObjects.push(this.current);
20
- }
21
- else {
22
- this.parent.childLists.push(this.current);
23
- }
24
- };
25
- ObjectRecursionState.prototype.pushState = function () {
26
- this.stack.push({ parent: this.parent, current: this.current });
27
- this.parent = this.current;
28
- };
29
- ObjectRecursionState.prototype.popState = function () {
30
- var prevState = this.stack.pop();
31
- this.current = prevState.current;
32
- this.parent = prevState.parent;
33
- };
34
- return ObjectRecursionState;
35
- }(ModelTraverser.RecursionState));
36
- export function getValidationSummary(model, displayMode) {
37
- var _a;
38
- var root = { model: undefined, objectDisplayInfo: [], isValid: true, childLists: [], propertyRules: [], childObjects: [], valueObjects: [] };
39
- var state = new ObjectRecursionState(root);
40
- var models;
41
- var isArray = model instanceof Array;
42
- if (isArray) {
43
- models = model;
44
- }
45
- else {
46
- models = [model];
47
- }
48
- for (var _i = 0, models_1 = models; _i < models_1.length; _i++) {
49
- var model_1 = models_1[_i];
50
- ModelTraverser.traverseItems(model_1, state, function (item, state, relationType) {
51
- if (!item.isValid) {
52
- state.add(item.validator.getBrokenRules(displayMode || ValidationDisplayMode.Always), relationType);
53
- }
54
- });
55
- }
56
- return isArray ? root.childLists : ((_a = root.childLists[0]) !== null && _a !== void 0 ? _a : null);
57
- }
1
+ import { __assign, __extends } from "tslib";
2
+ import * as ModelTraverser from '../Model/ModelGraphTraverser';
3
+ import { ValidationDisplayMode } from './Misc';
4
+ import { RelationType } from '../Model/Misc';
5
+ var ObjectRecursionState = /** @class */ (function (_super) {
6
+ __extends(ObjectRecursionState, _super);
7
+ function ObjectRecursionState(parent) {
8
+ var _this = _super.call(this) || this;
9
+ _this.parent = parent;
10
+ _this.stack = [];
11
+ return _this;
12
+ }
13
+ ObjectRecursionState.prototype.add = function (object, relationType) {
14
+ this.current = __assign(__assign({}, object), { childLists: [], childObjects: [], valueObjects: [] });
15
+ if (relationType === RelationType.ChildObject) {
16
+ this.parent.childObjects.push(this.current);
17
+ }
18
+ else if (relationType === RelationType.ValueObject) {
19
+ this.parent.valueObjects.push(this.current);
20
+ }
21
+ else {
22
+ this.parent.childLists.push(this.current);
23
+ }
24
+ };
25
+ ObjectRecursionState.prototype.pushState = function () {
26
+ this.stack.push({ parent: this.parent, current: this.current });
27
+ this.parent = this.current;
28
+ };
29
+ ObjectRecursionState.prototype.popState = function () {
30
+ var prevState = this.stack.pop();
31
+ this.current = prevState.current;
32
+ this.parent = prevState.parent;
33
+ };
34
+ return ObjectRecursionState;
35
+ }(ModelTraverser.RecursionState));
36
+ export function getValidationSummary(model, displayMode) {
37
+ var _a;
38
+ var root = { model: undefined, objectDisplayInfo: [], isValid: true, childLists: [], propertyRules: [], childObjects: [], valueObjects: [] };
39
+ var state = new ObjectRecursionState(root);
40
+ var models;
41
+ var isArray = model instanceof Array;
42
+ if (isArray) {
43
+ models = model;
44
+ }
45
+ else {
46
+ models = [model];
47
+ }
48
+ for (var _i = 0, models_1 = models; _i < models_1.length; _i++) {
49
+ var model_1 = models_1[_i];
50
+ ModelTraverser.traverseItems(model_1, state, function (item, state, relationType) {
51
+ if (!item.isValid) {
52
+ state.add(item.validator.getBrokenRules(displayMode || ValidationDisplayMode.Always), relationType);
53
+ }
54
+ });
55
+ }
56
+ return isArray ? root.childLists : ((_a = root.childLists[0]) !== null && _a !== void 0 ? _a : null);
57
+ }
@@ -1,18 +1,18 @@
1
- import { RuleExpression, ErrorExpression, ICustomRule, CustomRule, IExpressionRule } from './Rules';
2
- import { IModelBase } from '../Model/IModelBase';
3
- import { IRuleContext } from './RuleContext';
4
- export declare class ValidationRules<T extends IModelBase> {
5
- rules: CustomRule<T>[];
6
- /**
7
- * Registers a custom rule.
8
- * NOTE: Do not use an arrow function: add(context => {}), either pass in the address of a function: add(this.myRule), or pass an anonymous function: add(function(context) {}).
9
- * @param ruleFunction
10
- */
11
- add(ruleFunction: (context: IRuleContext) => void): ICustomRule<T>;
12
- failWhen(failCondition: RuleExpression<T>, errorTextExpression: ErrorExpression<T>): IExpressionRule<T>;
13
- failWhen(failCondition: RuleExpression<T>, errorText: string): IExpressionRule<T>;
14
- warnWhen(condition: RuleExpression<T>, warningTextExpression: ErrorExpression<T>): IExpressionRule<T>;
15
- warnWhen(condition: RuleExpression<T>, warningText: string): IExpressionRule<T>;
16
- infoWhen(condition: RuleExpression<T>, infoTextExpression: ErrorExpression<T>): IExpressionRule<T>;
17
- infoWhen(condition: RuleExpression<T>, infoText: string): IExpressionRule<T>;
18
- }
1
+ import { RuleExpression, ErrorExpression, ICustomRule, CustomRule, IExpressionRule } from './Rules';
2
+ import { IModelBase } from '../Model/IModelBase';
3
+ import { IRuleContext } from './RuleContext';
4
+ export declare class ValidationRules<T extends IModelBase> {
5
+ rules: CustomRule<T>[];
6
+ /**
7
+ * Registers a custom rule.
8
+ * NOTE: Do not use an arrow function: add(context => {}), either pass in the address of a function: add(this.myRule), or pass an anonymous function: add(function(context) {}).
9
+ * @param ruleFunction
10
+ */
11
+ add(ruleFunction: (context: IRuleContext) => void): ICustomRule<T>;
12
+ failWhen(failCondition: RuleExpression<T>, errorTextExpression: ErrorExpression<T>): IExpressionRule<T>;
13
+ failWhen(failCondition: RuleExpression<T>, errorText: string): IExpressionRule<T>;
14
+ warnWhen(condition: RuleExpression<T>, warningTextExpression: ErrorExpression<T>): IExpressionRule<T>;
15
+ warnWhen(condition: RuleExpression<T>, warningText: string): IExpressionRule<T>;
16
+ infoWhen(condition: RuleExpression<T>, infoTextExpression: ErrorExpression<T>): IExpressionRule<T>;
17
+ infoWhen(condition: RuleExpression<T>, infoText: string): IExpressionRule<T>;
18
+ }
@@ -1,34 +1,34 @@
1
- import { ExpressionRule, CallbackRule } from './Rules';
2
- import { RuleSeverity } from './ValidationState';
3
- var ValidationRules = /** @class */ (function () {
4
- function ValidationRules() {
5
- this.rules = [];
6
- }
7
- /**
8
- * Registers a custom rule.
9
- * NOTE: Do not use an arrow function: add(context => {}), either pass in the address of a function: add(this.myRule), or pass an anonymous function: add(function(context) {}).
10
- * @param ruleFunction
11
- */
12
- ValidationRules.prototype.add = function (ruleFunction) {
13
- var rule = new CallbackRule(ruleFunction);
14
- this.rules.push(rule);
15
- return rule;
16
- };
17
- ValidationRules.prototype.failWhen = function (check, errorText) {
18
- var rule = new ExpressionRule(check, errorText, RuleSeverity.Error);
19
- this.rules.push(rule);
20
- return rule;
21
- };
22
- ValidationRules.prototype.warnWhen = function (check, warningText) {
23
- var rule = new ExpressionRule(check, warningText, RuleSeverity.Warning);
24
- this.rules.push(rule);
25
- return rule;
26
- };
27
- ValidationRules.prototype.infoWhen = function (check, infoText) {
28
- var rule = new ExpressionRule(check, infoText, RuleSeverity.Info);
29
- this.rules.push(rule);
30
- return rule;
31
- };
32
- return ValidationRules;
33
- }());
34
- export { ValidationRules };
1
+ import { ExpressionRule, CallbackRule } from './Rules';
2
+ import { RuleSeverity } from './ValidationState';
3
+ var ValidationRules = /** @class */ (function () {
4
+ function ValidationRules() {
5
+ this.rules = [];
6
+ }
7
+ /**
8
+ * Registers a custom rule.
9
+ * NOTE: Do not use an arrow function: add(context => {}), either pass in the address of a function: add(this.myRule), or pass an anonymous function: add(function(context) {}).
10
+ * @param ruleFunction
11
+ */
12
+ ValidationRules.prototype.add = function (ruleFunction) {
13
+ var rule = new CallbackRule(ruleFunction);
14
+ this.rules.push(rule);
15
+ return rule;
16
+ };
17
+ ValidationRules.prototype.failWhen = function (check, errorText) {
18
+ var rule = new ExpressionRule(check, errorText, RuleSeverity.Error);
19
+ this.rules.push(rule);
20
+ return rule;
21
+ };
22
+ ValidationRules.prototype.warnWhen = function (check, warningText) {
23
+ var rule = new ExpressionRule(check, warningText, RuleSeverity.Warning);
24
+ this.rules.push(rule);
25
+ return rule;
26
+ };
27
+ ValidationRules.prototype.infoWhen = function (check, infoText) {
28
+ var rule = new ExpressionRule(check, infoText, RuleSeverity.Info);
29
+ this.rules.push(rule);
30
+ return rule;
31
+ };
32
+ return ValidationRules;
33
+ }());
34
+ export { ValidationRules };