@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.
- package/CHANGELOG.md +15 -0
- package/dist/ApiClient/ApiClientBase.d.ts +5 -5
- package/dist/ApiClient/ApiClientBase.js +13 -13
- package/dist/ApiClient/ReadApiClient.d.ts +16 -16
- package/dist/ApiClient/ReadApiClient.js +24 -24
- package/dist/ApiClient/UpdateableApiClient.d.ts +28 -28
- package/dist/ApiClient/UpdateableApiClient.js +33 -33
- package/dist/AppServices/AppService.d.ts +46 -46
- package/dist/AppServices/AppService.js +25 -25
- package/dist/AppServices/Config/ConfigModel.d.ts +21 -20
- package/dist/AppServices/Config/ConfigModel.js +28 -17
- package/dist/AppServices/Config/ConfigService.d.ts +15 -15
- package/dist/AppServices/Config/ConfigService.js +49 -53
- package/dist/AppServices/Module.d.ts +11 -11
- package/dist/AppServices/Module.js +13 -13
- package/dist/AppServices/NeoContainer.d.ts +22 -22
- package/dist/AppServices/NeoContainer.js +42 -42
- package/dist/AppServices/NeoModule.d.ts +3 -3
- package/dist/AppServices/NeoModule.js +30 -30
- package/dist/AppServices/NeoTypes.d.ts +61 -61
- package/dist/AppServices/NeoTypes.js +42 -42
- package/dist/AppServices/ServiceIdentifier.d.ts +23 -23
- package/dist/AppServices/ServiceIdentifier.js +38 -39
- package/dist/AppServices/index.d.ts +7 -7
- package/dist/AppServices/index.js +7 -7
- package/dist/Components/AnimationHelper.d.ts +69 -69
- package/dist/Components/AnimationHelper.js +182 -182
- package/dist/Components/BootstrapHelpers.d.ts +8 -8
- package/dist/Components/BootstrapHelpers.js +30 -30
- package/dist/Components/BootstrapTypes.d.ts +35 -35
- package/dist/Components/BootstrapTypes.js +1 -1
- package/dist/Components/ButtonOptions.d.ts +63 -61
- package/dist/Components/ButtonOptions.js +1 -1
- package/dist/Components/ContextMenu/ContextMenu.d.ts +16 -16
- package/dist/Components/ContextMenu/ContextMenu.js +1 -1
- package/dist/Components/ContextMenu/MenuUtils.d.ts +16 -16
- package/dist/Components/ContextMenu/MenuUtils.js +34 -34
- package/dist/Components/DatePicker/DatePicker.d.ts +70 -69
- package/dist/Components/DatePicker/DatePicker.js +502 -487
- package/dist/Components/DatePicker/DatePickerOptions.d.ts +43 -34
- package/dist/Components/DatePicker/DatePickerOptions.js +33 -33
- package/dist/Components/ErrorHandler.d.ts +59 -55
- package/dist/Components/ErrorHandler.js +210 -138
- package/dist/Components/FileManager/BoundFileManager.d.ts +18 -18
- package/dist/Components/FileManager/BoundFileManager.js +60 -60
- package/dist/Components/FileManager/FileManager.d.ts +80 -78
- package/dist/Components/FileManager/FileManager.js +277 -257
- package/dist/Components/FileManager/FileUploadBatch.d.ts +37 -37
- package/dist/Components/FileManager/FileUploadBatch.js +83 -82
- package/dist/Components/FileManager/IFileManagerOptions.d.ts +42 -42
- package/dist/Components/FileManager/IFileManagerOptions.js +1 -1
- package/dist/Components/FormOptions.d.ts +34 -34
- package/dist/Components/FormOptions.js +1 -1
- package/dist/Components/ICollapsableOptions.d.ts +11 -11
- package/dist/Components/ICollapsableOptions.js +1 -1
- package/dist/Components/Modal/ModalHelper.d.ts +31 -31
- package/dist/Components/Modal/ModalHelper.js +174 -174
- package/dist/Components/Modal/ModalOptions.d.ts +61 -61
- package/dist/Components/Modal/ModalOptions.js +1 -1
- package/dist/Components/Modal/ModalStore.d.ts +32 -32
- package/dist/Components/Modal/ModalStore.js +82 -82
- package/dist/Components/Modal/ModalUtils.d.ts +61 -61
- package/dist/Components/Modal/ModalUtils.js +109 -109
- package/dist/Components/Notifications/INotificationHelper.d.ts +56 -56
- package/dist/Components/Notifications/INotificationHelper.js +1 -1
- package/dist/Components/Notifications/Notification.d.ts +32 -32
- package/dist/Components/Notifications/Notification.js +26 -27
- package/dist/Components/Notifications/NotificationHelper.d.ts +63 -63
- package/dist/Components/Notifications/NotificationHelper.js +111 -112
- package/dist/Components/Notifications/NotificationStore.d.ts +34 -34
- package/dist/Components/Notifications/NotificationStore.js +78 -79
- package/dist/Components/PositionHelper.d.ts +10 -10
- package/dist/Components/PositionHelper.js +43 -43
- package/dist/Components/TaskRunner/Decorators.d.ts +6 -6
- package/dist/Components/TaskRunner/Decorators.js +24 -24
- package/dist/Components/TaskRunner/ProgressState.d.ts +22 -22
- package/dist/Components/TaskRunner/ProgressState.js +71 -72
- package/dist/Components/TaskRunner/TaskRunner.d.ts +114 -114
- package/dist/Components/TaskRunner/TaskRunner.js +253 -244
- package/dist/Components/TooltipOptions.d.ts +8 -8
- package/dist/Components/TooltipOptions.js +1 -1
- package/dist/Components/index.d.ts +22 -22
- package/dist/Components/index.js +13 -13
- package/dist/ConnectionManager.d.ts +45 -45
- package/dist/ConnectionManager.js +60 -61
- package/dist/Data/ApiDataSource.d.ts +46 -46
- package/dist/Data/ApiDataSource.js +140 -144
- package/dist/Data/AsyncDataSource.d.ts +35 -35
- package/dist/Data/AsyncDataSource.js +79 -80
- package/dist/Data/CacheService.d.ts +40 -40
- package/dist/Data/CacheService.js +63 -64
- package/dist/Data/DataCacheEntry.d.ts +42 -42
- package/dist/Data/DataCacheEntry.js +80 -80
- package/dist/Data/DataView.d.ts +43 -43
- package/dist/Data/DataView.js +173 -172
- package/dist/Data/Deserialiser.d.ts +42 -42
- package/dist/Data/Deserialiser.js +255 -255
- package/dist/Data/Paging/PageManager.d.ts +167 -167
- package/dist/Data/Paging/PageManager.js +323 -323
- package/dist/Data/Paging/PageRequest.d.ts +24 -24
- package/dist/Data/Paging/PageRequest.js +38 -39
- package/dist/Data/Paging/PageResult.d.ts +10 -10
- package/dist/Data/Paging/PageResult.js +14 -14
- package/dist/Data/Serialiser.d.ts +41 -41
- package/dist/Data/Serialiser.js +201 -201
- package/dist/Data/SortOperation.d.ts +8 -8
- package/dist/Data/SortOperation.js +26 -26
- package/dist/Data/StaticDataSource.d.ts +9 -9
- package/dist/Data/StaticDataSource.js +27 -27
- package/dist/Data/WindowedDataView.d.ts +8 -8
- package/dist/Data/WindowedDataView.js +49 -50
- package/dist/Data/index.d.ts +15 -15
- package/dist/Data/index.js +15 -15
- package/dist/Dates/DateUtils.d.ts +47 -47
- package/dist/Dates/DateUtils.js +226 -226
- package/dist/Dates/TimeSpan.d.ts +24 -24
- package/dist/Dates/TimeSpan.js +46 -46
- package/dist/DebounceHelper.d.ts +44 -38
- package/dist/DebounceHelper.js +122 -95
- package/dist/Extensions.d.ts +82 -82
- package/dist/Extensions.js +182 -182
- package/dist/FileUtils.d.ts +6 -6
- package/dist/FileUtils.js +37 -37
- package/dist/Globals.d.ts +19 -19
- package/dist/Globals.js +41 -41
- package/dist/JsonSchema/ClassMetadata.d.ts +25 -25
- package/dist/JsonSchema/ClassMetadata.js +53 -53
- package/dist/JsonSchema/JsonData.d.ts +16 -16
- package/dist/JsonSchema/JsonData.js +97 -97
- package/dist/JsonSchema/JsonSchemaTypes.d.ts +37 -37
- package/dist/JsonSchema/JsonSchemaTypes.js +1 -1
- package/dist/JsonSchema/PropertyMetadata.d.ts +8 -8
- package/dist/JsonSchema/PropertyMetadata.js +8 -8
- package/dist/JsonSchema/TypeCache.d.ts +16 -16
- package/dist/JsonSchema/TypeCache.js +44 -44
- package/dist/JsonSchema/TypeMetadata.d.ts +45 -45
- package/dist/JsonSchema/TypeMetadata.js +170 -170
- package/dist/JsonSchema/index.d.ts +7 -7
- package/dist/JsonSchema/index.js +6 -6
- package/dist/Localisation/ILocalisationService.d.ts +11 -11
- package/dist/Localisation/ILocalisationService.js +1 -1
- package/dist/Localisation/LocalisationService.d.ts +4 -4
- package/dist/Localisation/LocalisationService.js +17 -17
- package/dist/Localisation/index.d.ts +1 -1
- package/dist/Localisation/index.js +1 -1
- package/dist/Misc.d.ts +6 -6
- package/dist/Misc.js +6 -6
- package/dist/Model/BaseModels/AuditValues.d.ts +12 -12
- package/dist/Model/BaseModels/AuditValues.js +46 -48
- package/dist/Model/BaseModels/CriteriaBase.d.ts +18 -16
- package/dist/Model/BaseModels/CriteriaBase.js +45 -34
- package/dist/Model/BaseModels/FileDescriptorBase.d.ts +12 -12
- package/dist/Model/BaseModels/FileDescriptorBase.js +22 -22
- package/dist/Model/BaseModels/ReasonedUserEvent.d.ts +5 -4
- package/dist/Model/BaseModels/ReasonedUserEvent.js +23 -19
- package/dist/Model/BaseModels/UserEvent.d.ts +9 -8
- package/dist/Model/BaseModels/UserEvent.js +36 -32
- package/dist/Model/BindableBase.d.ts +46 -40
- package/dist/Model/BindableBase.js +79 -76
- package/dist/Model/Decorators.d.ts +47 -44
- package/dist/Model/Decorators.js +182 -177
- package/dist/Model/EnumHelper.d.ts +54 -54
- package/dist/Model/EnumHelper.js +104 -100
- package/dist/Model/IAutoRunner.d.ts +5 -5
- package/dist/Model/IAutoRunner.js +1 -1
- package/dist/Model/IModelBase.d.ts +92 -79
- package/dist/Model/IModelBase.js +1 -1
- package/dist/Model/IModelCreatorBase.d.ts +9 -9
- package/dist/Model/IModelCreatorBase.js +1 -1
- package/dist/Model/List.d.ts +79 -77
- package/dist/Model/List.js +208 -198
- package/dist/Model/LookupBase.d.ts +13 -6
- package/dist/Model/LookupBase.js +19 -10
- package/dist/Model/Misc.d.ts +83 -81
- package/dist/Model/Misc.js +59 -59
- package/dist/Model/ModelBase.d.ts +88 -86
- package/dist/Model/ModelBase.js +182 -180
- package/dist/Model/ModelCreatorBase.d.ts +24 -23
- package/dist/Model/ModelCreatorBase.js +92 -92
- package/dist/Model/ModelFieldInfo.d.ts +29 -12
- package/dist/Model/ModelFieldInfo.js +35 -26
- package/dist/Model/ModelGraphTraverser.d.ts +35 -35
- package/dist/Model/ModelGraphTraverser.js +101 -99
- package/dist/Model/NeoModel.d.ts +6 -6
- package/dist/Model/NeoModel.js +13 -13
- package/dist/Model/NeoTypeInfo.d.ts +52 -41
- package/dist/Model/NeoTypeInfo.js +300 -250
- package/dist/Model/ObservableProperty.d.ts +8 -8
- package/dist/Model/ObservableProperty.js +41 -41
- package/dist/Model/ObservableValue.d.ts +9 -9
- package/dist/Model/ObservableValue.js +25 -26
- package/dist/Model/PropertyInfo.d.ts +83 -81
- package/dist/Model/PropertyInfo.js +138 -137
- package/dist/Model/PropertyInstance.d.ts +84 -48
- package/dist/Model/PropertyInstance.js +173 -113
- package/dist/Model/ValueObject.d.ts +3 -3
- package/dist/Model/ValueObject.js +10 -10
- package/dist/Model/index.d.ts +15 -14
- package/dist/Model/index.js +13 -12
- package/dist/NumberUtils.d.ts +63 -49
- package/dist/NumberUtils.js +247 -197
- package/dist/Routing/IMenuItemProvider.d.ts +9 -9
- package/dist/Routing/IMenuItemProvider.js +1 -1
- package/dist/Routing/IMenuRoute.d.ts +18 -18
- package/dist/Routing/IMenuRoute.js +1 -1
- package/dist/Routing/INavigationHelper.d.ts +7 -7
- package/dist/Routing/INavigationHelper.js +1 -1
- package/dist/Routing/IPageLeaveHandler.d.ts +23 -23
- package/dist/Routing/IPageLeaveHandler.js +7 -7
- package/dist/Routing/IRoute.d.ts +27 -27
- package/dist/Routing/IRoute.js +1 -1
- package/dist/Routing/IRouteSecurityService.d.ts +14 -14
- package/dist/Routing/IRouteSecurityService.js +1 -1
- package/dist/Routing/MenuItemProvider.d.ts +17 -17
- package/dist/Routing/MenuItemProvider.js +53 -54
- package/dist/Routing/RouteSecurityService.d.ts +18 -18
- package/dist/Routing/RouteSecurityService.js +35 -36
- package/dist/Routing/index.d.ts +7 -7
- package/dist/Routing/index.js +3 -3
- package/dist/Security/IAuthenticationService.d.ts +41 -36
- package/dist/Security/IAuthenticationService.js +1 -1
- package/dist/Security/IAuthorisationService.d.ts +11 -11
- package/dist/Security/IAuthorisationService.js +1 -1
- package/dist/Security/ILoginErrorHandler.d.ts +4 -4
- package/dist/Security/ILoginErrorHandler.js +1 -1
- package/dist/Security/ISecurityService.d.ts +10 -10
- package/dist/Security/ISecurityService.js +1 -1
- package/dist/Security/IUser.d.ts +10 -10
- package/dist/Security/IUser.js +1 -1
- package/dist/Security/IUserRole.d.ts +6 -6
- package/dist/Security/IUserRole.js +1 -1
- package/dist/Security/LoginErrorHandler.d.ts +15 -15
- package/dist/Security/LoginErrorHandler.js +97 -98
- package/dist/Security/Oidc/OidcAuthService.d.ts +67 -60
- package/dist/Security/Oidc/OidcAuthService.js +216 -189
- package/dist/Security/Oidc/OidcTypes.d.ts +46 -29
- package/dist/Security/Oidc/OidcTypes.js +1 -1
- package/dist/Security/Oidc/OidcUser.d.ts +9 -9
- package/dist/Security/Oidc/OidcUser.js +33 -33
- package/dist/Security/SecurityService.d.ts +12 -12
- package/dist/Security/SecurityService.js +33 -34
- package/dist/Security/SignInResult.d.ts +13 -13
- package/dist/Security/SignInResult.js +8 -8
- package/dist/Security/User.d.ts +12 -12
- package/dist/Security/User.js +24 -24
- package/dist/Security/index.d.ts +10 -10
- package/dist/Security/index.js +5 -5
- package/dist/Settings.d.ts +71 -57
- package/dist/Settings.js +100 -87
- package/dist/SignalR/HubBase.d.ts +70 -70
- package/dist/SignalR/HubBase.js +164 -164
- package/dist/SignalR/HubReceiver.d.ts +11 -11
- package/dist/SignalR/HubReceiver.js +25 -25
- package/dist/SignalR/HubSubscription.d.ts +12 -12
- package/dist/SignalR/HubSubscription.js +14 -14
- package/dist/SignalR/index.d.ts +3 -3
- package/dist/SignalR/index.js +1 -1
- package/dist/StringUtils.d.ts +7 -7
- package/dist/StringUtils.js +24 -24
- package/dist/Utils.d.ts +81 -80
- package/dist/Utils.js +220 -218
- package/dist/Validation/Decorators.d.ts +12 -12
- package/dist/Validation/Decorators.js +52 -52
- package/dist/Validation/DisplayHelper.d.ts +20 -19
- package/dist/Validation/DisplayHelper.js +104 -104
- package/dist/Validation/Misc.d.ts +10 -10
- package/dist/Validation/Misc.js +11 -11
- package/dist/Validation/ModelProxy.d.ts +20 -20
- package/dist/Validation/ModelProxy.js +46 -46
- package/dist/Validation/RuleContext.d.ts +86 -86
- package/dist/Validation/RuleContext.js +130 -130
- package/dist/Validation/Rules.d.ts +70 -70
- package/dist/Validation/Rules.js +177 -177
- package/dist/Validation/ValidationHelpers.d.ts +12 -12
- package/dist/Validation/ValidationHelpers.js +57 -57
- package/dist/Validation/ValidationRules.d.ts +18 -18
- package/dist/Validation/ValidationRules.js +34 -34
- package/dist/Validation/ValidationState.d.ts +42 -42
- package/dist/Validation/ValidationState.js +74 -74
- package/dist/Validation/Validators/IModelValidator.d.ts +28 -24
- package/dist/Validation/Validators/IModelValidator.js +1 -1
- package/dist/Validation/Validators/IPropertyValidator.d.ts +21 -21
- package/dist/Validation/Validators/IPropertyValidator.js +15 -15
- package/dist/Validation/Validators/ModelValidator.d.ts +46 -45
- package/dist/Validation/Validators/ModelValidator.js +143 -137
- package/dist/Validation/Validators/PropertyValidator.d.ts +21 -21
- package/dist/Validation/Validators/PropertyValidator.js +64 -67
- package/dist/Validation/Validators/RuleValidator.d.ts +19 -19
- package/dist/Validation/Validators/RuleValidator.js +51 -55
- package/dist/Validation/index.d.ts +9 -9
- package/dist/Validation/index.js +7 -7
- package/dist/Views/IViewBase.d.ts +5 -5
- package/dist/Views/IViewBase.js +1 -1
- package/dist/index.d.ts +37 -36
- package/dist/index.js +44 -43
- package/package.json +11 -10
package/dist/Validation/Rules.js
CHANGED
|
@@ -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 };
|