@singularsystems/neo-core 1.0.0-alpha.2 → 1.0.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
@@ -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
|
|
7
|
-
export
|
|
8
|
-
export
|
|
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
|
+
}
|