@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,26 +1,35 @@
|
|
|
1
|
-
import { __decorate, __extends, __metadata } from "tslib";
|
|
2
|
-
import ValueObject from "./ValueObject";
|
|
3
|
-
import NeoModel from './NeoModel';
|
|
4
|
-
var ModelFieldInfo = /** @class */ (function (_super) {
|
|
5
|
-
__extends(ModelFieldInfo, _super);
|
|
6
|
-
function ModelFieldInfo(displayName, valueString) {
|
|
7
|
-
var _this = _super.call(this) || this;
|
|
8
|
-
/**
|
|
9
|
-
* Display name for the field.
|
|
10
|
-
*/
|
|
11
|
-
_this.displayName = "";
|
|
12
|
-
/**
|
|
13
|
-
* Lookup of the field value
|
|
14
|
-
*/
|
|
15
|
-
_this.valueString = "";
|
|
16
|
-
_this.displayName = displayName;
|
|
17
|
-
_this.valueString = valueString;
|
|
18
|
-
return _this;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
1
|
+
import { __decorate, __extends, __metadata } from "tslib";
|
|
2
|
+
import ValueObject from "./ValueObject";
|
|
3
|
+
import NeoModel from './NeoModel';
|
|
4
|
+
export var ModelFieldInfo = /** @class */ (function (_super) {
|
|
5
|
+
__extends(ModelFieldInfo, _super);
|
|
6
|
+
function ModelFieldInfo(displayName, valueString) {
|
|
7
|
+
var _this = _super.call(this) || this;
|
|
8
|
+
/**
|
|
9
|
+
* Display name for the field.
|
|
10
|
+
*/
|
|
11
|
+
_this.displayName = "";
|
|
12
|
+
/**
|
|
13
|
+
* Lookup of the field value
|
|
14
|
+
*/
|
|
15
|
+
_this.valueString = "";
|
|
16
|
+
_this.displayName = displayName;
|
|
17
|
+
_this.valueString = valueString;
|
|
18
|
+
return _this;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* If the instance is a container of ModelFieldInfo, the instance is returned, otherwise null is returned.
|
|
22
|
+
*/
|
|
23
|
+
ModelFieldInfo.asModelFieldInfoContainer = function (instance) {
|
|
24
|
+
if (instance.fieldInfo &&
|
|
25
|
+
instance.setModelFieldInfo) {
|
|
26
|
+
return instance;
|
|
27
|
+
}
|
|
28
|
+
return null;
|
|
29
|
+
};
|
|
30
|
+
ModelFieldInfo = __decorate([
|
|
31
|
+
NeoModel,
|
|
32
|
+
__metadata("design:paramtypes", [String, String])
|
|
33
|
+
], ModelFieldInfo);
|
|
34
|
+
return ModelFieldInfo;
|
|
35
|
+
}(ValueObject));
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import { RelationType } from './Misc';
|
|
2
|
-
import { IModelBase } from './IModelBase';
|
|
3
|
-
import PropertyInfo from './PropertyInfo';
|
|
4
|
-
export declare class RecursionState {
|
|
5
|
-
stop: boolean;
|
|
6
|
-
canRecurse: (model: IModelBase, property: PropertyInfo) => boolean;
|
|
7
|
-
pushState(): void;
|
|
8
|
-
popState(): void;
|
|
9
|
-
/**
|
|
10
|
-
* Overwrites the canRecurse callback to always return true.
|
|
11
|
-
*/
|
|
12
|
-
includeNonTrackedProperties(): this;
|
|
13
|
-
}
|
|
14
|
-
export declare class BooleanRecursionState extends RecursionState {
|
|
15
|
-
flag: boolean;
|
|
16
|
-
constructor(flag?: boolean);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Recursively traverses the model graph, and invokes the provided callback for each item in the graph.
|
|
22
|
-
* @param model Model object, or list of objects.
|
|
23
|
-
* @param callback Callback to be invoked for each item.
|
|
24
|
-
* @param listCallback Callback to be invoked when a child list is found.
|
|
25
|
-
*/
|
|
26
|
-
export declare function traverseItems(model: IModelBase | IModelBase[], callback: itemDelegate<null>, listCallback?: listDelegate<null>): void;
|
|
27
|
-
/**
|
|
28
|
-
* Recursively traverses the model graph, and invokes the provided callback for each item in the graph.
|
|
29
|
-
* @param model Model object, or list of objects.
|
|
30
|
-
* @param state State object.
|
|
31
|
-
* @param callback Callback to be invoked for each item.
|
|
32
|
-
* @param listCallback Callback to be invoked when a child list is found.
|
|
33
|
-
*/
|
|
34
|
-
export declare function traverseItems<T extends RecursionState>(model: IModelBase | IModelBase[], state: T, callback: itemDelegate<T>, listCallback?: listDelegate<T>): T;
|
|
35
|
-
export {};
|
|
1
|
+
import { RelationType } from './Misc';
|
|
2
|
+
import { IModelBase } from './IModelBase';
|
|
3
|
+
import PropertyInfo from './PropertyInfo';
|
|
4
|
+
export declare class RecursionState {
|
|
5
|
+
stop: boolean;
|
|
6
|
+
canRecurse: (model: IModelBase, property: PropertyInfo) => boolean;
|
|
7
|
+
pushState(): void;
|
|
8
|
+
popState(): void;
|
|
9
|
+
/**
|
|
10
|
+
* Overwrites the canRecurse callback to always return true.
|
|
11
|
+
*/
|
|
12
|
+
includeNonTrackedProperties(): this;
|
|
13
|
+
}
|
|
14
|
+
export declare class BooleanRecursionState extends RecursionState {
|
|
15
|
+
flag: boolean;
|
|
16
|
+
constructor(flag?: boolean);
|
|
17
|
+
}
|
|
18
|
+
type itemDelegate<T> = (item: IModelBase, state: T, relationType?: RelationType) => void;
|
|
19
|
+
type listDelegate<T> = (list: any[], state: T) => void;
|
|
20
|
+
/**
|
|
21
|
+
* Recursively traverses the model graph, and invokes the provided callback for each item in the graph.
|
|
22
|
+
* @param model Model object, or list of objects.
|
|
23
|
+
* @param callback Callback to be invoked for each item.
|
|
24
|
+
* @param listCallback Callback to be invoked when a child list is found.
|
|
25
|
+
*/
|
|
26
|
+
export declare function traverseItems(model: IModelBase | IModelBase[], callback: itemDelegate<null>, listCallback?: listDelegate<null>): void;
|
|
27
|
+
/**
|
|
28
|
+
* Recursively traverses the model graph, and invokes the provided callback for each item in the graph.
|
|
29
|
+
* @param model Model object, or list of objects.
|
|
30
|
+
* @param state State object.
|
|
31
|
+
* @param callback Callback to be invoked for each item.
|
|
32
|
+
* @param listCallback Callback to be invoked when a child list is found.
|
|
33
|
+
*/
|
|
34
|
+
export declare function traverseItems<T extends RecursionState>(model: IModelBase | IModelBase[], state: T, callback: itemDelegate<T>, listCallback?: listDelegate<T>): T;
|
|
35
|
+
export {};
|
|
@@ -1,99 +1,101 @@
|
|
|
1
|
-
import { __extends } from "tslib";
|
|
2
|
-
import { RelationType } from './Misc';
|
|
3
|
-
var RecursionState = /** @class */ (function () {
|
|
4
|
-
function RecursionState() {
|
|
5
|
-
this.stop = false;
|
|
6
|
-
this.canRecurse = function (model, property) { return !property.noTrack; };
|
|
7
|
-
}
|
|
8
|
-
RecursionState.prototype.pushState = function () {
|
|
9
|
-
};
|
|
10
|
-
RecursionState.prototype.popState = function () {
|
|
11
|
-
};
|
|
12
|
-
/**
|
|
13
|
-
* Overwrites the canRecurse callback to always return true.
|
|
14
|
-
*/
|
|
15
|
-
RecursionState.prototype.includeNonTrackedProperties = function () {
|
|
16
|
-
this.canRecurse = function (model, property) { return true; };
|
|
17
|
-
return this;
|
|
18
|
-
};
|
|
19
|
-
return RecursionState;
|
|
20
|
-
}());
|
|
21
|
-
export { RecursionState };
|
|
22
|
-
var BooleanRecursionState = /** @class */ (function (_super) {
|
|
23
|
-
__extends(BooleanRecursionState, _super);
|
|
24
|
-
function BooleanRecursionState(flag) {
|
|
25
|
-
if (flag === void 0) { flag = false; }
|
|
26
|
-
var _this = _super.call(this) || this;
|
|
27
|
-
_this.flag = flag;
|
|
28
|
-
return _this;
|
|
29
|
-
}
|
|
30
|
-
return BooleanRecursionState;
|
|
31
|
-
}(RecursionState));
|
|
32
|
-
export { BooleanRecursionState };
|
|
33
|
-
export function traverseItems(model, stateOrCallback, callbackOrListCallback, listCallback) {
|
|
34
|
-
var state;
|
|
35
|
-
var callback;
|
|
36
|
-
if (typeof stateOrCallback === "function") {
|
|
37
|
-
state = new RecursionState();
|
|
38
|
-
callback = stateOrCallback;
|
|
39
|
-
listCallback = callbackOrListCallback;
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
state = stateOrCallback;
|
|
43
|
-
callback = callbackOrListCallback;
|
|
44
|
-
}
|
|
45
|
-
if (model instanceof Array) {
|
|
46
|
-
return invokeOnItemsAndChildren(model, state, callback, listCallback, undefined);
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
return invokeOnSelfAndChildren(model, state, callback, listCallback, undefined);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
function invokeOnItemsAndChildren(list, state, callback, listCallback, relationType) {
|
|
53
|
-
for (var _i = 0, list_1 = list; _i < list_1.length; _i++) {
|
|
54
|
-
var item = list_1[_i];
|
|
55
|
-
invokeOnSelfAndChildren(item, state, callback, listCallback, relationType);
|
|
56
|
-
if (state.stop)
|
|
57
|
-
break;
|
|
58
|
-
}
|
|
59
|
-
return state;
|
|
60
|
-
}
|
|
61
|
-
function invokeOnSelfAndChildren(model, state, callback, listCallback, relationType) {
|
|
62
|
-
callback(model, state, relationType);
|
|
63
|
-
if (state.stop)
|
|
64
|
-
return state;
|
|
65
|
-
var ctor = model.constructor;
|
|
66
|
-
if (ctor.neo.children) {
|
|
67
|
-
for (var i = 0; i < ctor.neo.children.length; i++) {
|
|
68
|
-
var cpi = ctor.neo.children[i];
|
|
69
|
-
if (state.canRecurse(model, cpi)) {
|
|
70
|
-
if (cpi.relationType == RelationType.ChildList) {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
state.
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
state.
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}
|
|
1
|
+
import { __extends } from "tslib";
|
|
2
|
+
import { RelationType } from './Misc';
|
|
3
|
+
var RecursionState = /** @class */ (function () {
|
|
4
|
+
function RecursionState() {
|
|
5
|
+
this.stop = false;
|
|
6
|
+
this.canRecurse = function (model, property) { return !property.noTrack; };
|
|
7
|
+
}
|
|
8
|
+
RecursionState.prototype.pushState = function () {
|
|
9
|
+
};
|
|
10
|
+
RecursionState.prototype.popState = function () {
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Overwrites the canRecurse callback to always return true.
|
|
14
|
+
*/
|
|
15
|
+
RecursionState.prototype.includeNonTrackedProperties = function () {
|
|
16
|
+
this.canRecurse = function (model, property) { return true; };
|
|
17
|
+
return this;
|
|
18
|
+
};
|
|
19
|
+
return RecursionState;
|
|
20
|
+
}());
|
|
21
|
+
export { RecursionState };
|
|
22
|
+
var BooleanRecursionState = /** @class */ (function (_super) {
|
|
23
|
+
__extends(BooleanRecursionState, _super);
|
|
24
|
+
function BooleanRecursionState(flag) {
|
|
25
|
+
if (flag === void 0) { flag = false; }
|
|
26
|
+
var _this = _super.call(this) || this;
|
|
27
|
+
_this.flag = flag;
|
|
28
|
+
return _this;
|
|
29
|
+
}
|
|
30
|
+
return BooleanRecursionState;
|
|
31
|
+
}(RecursionState));
|
|
32
|
+
export { BooleanRecursionState };
|
|
33
|
+
export function traverseItems(model, stateOrCallback, callbackOrListCallback, listCallback) {
|
|
34
|
+
var state;
|
|
35
|
+
var callback;
|
|
36
|
+
if (typeof stateOrCallback === "function") {
|
|
37
|
+
state = new RecursionState();
|
|
38
|
+
callback = stateOrCallback;
|
|
39
|
+
listCallback = callbackOrListCallback;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
state = stateOrCallback;
|
|
43
|
+
callback = callbackOrListCallback;
|
|
44
|
+
}
|
|
45
|
+
if (model instanceof Array) {
|
|
46
|
+
return invokeOnItemsAndChildren(model, state, callback, listCallback, undefined);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
return invokeOnSelfAndChildren(model, state, callback, listCallback, undefined);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
function invokeOnItemsAndChildren(list, state, callback, listCallback, relationType) {
|
|
53
|
+
for (var _i = 0, list_1 = list; _i < list_1.length; _i++) {
|
|
54
|
+
var item = list_1[_i];
|
|
55
|
+
invokeOnSelfAndChildren(item, state, callback, listCallback, relationType);
|
|
56
|
+
if (state.stop)
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
return state;
|
|
60
|
+
}
|
|
61
|
+
function invokeOnSelfAndChildren(model, state, callback, listCallback, relationType) {
|
|
62
|
+
callback(model, state, relationType);
|
|
63
|
+
if (state.stop)
|
|
64
|
+
return state;
|
|
65
|
+
var ctor = model.constructor;
|
|
66
|
+
if (ctor.neo.children) {
|
|
67
|
+
for (var i = 0; i < ctor.neo.children.length; i++) {
|
|
68
|
+
var cpi = ctor.neo.children[i];
|
|
69
|
+
if (state.canRecurse(model, cpi)) {
|
|
70
|
+
if (cpi.relationType == RelationType.ChildList) {
|
|
71
|
+
// @ts-ignore
|
|
72
|
+
var childList = model[cpi.propertyName];
|
|
73
|
+
if (listCallback)
|
|
74
|
+
listCallback(childList, state);
|
|
75
|
+
if (state.stop)
|
|
76
|
+
return state;
|
|
77
|
+
state.pushState();
|
|
78
|
+
invokeOnItemsAndChildren(childList, state, callback, listCallback, RelationType.ChildList);
|
|
79
|
+
state.popState();
|
|
80
|
+
if (state.stop)
|
|
81
|
+
return state;
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
try {
|
|
85
|
+
// @ts-ignore
|
|
86
|
+
var child = model[cpi.propertyName];
|
|
87
|
+
if (child) {
|
|
88
|
+
state.pushState();
|
|
89
|
+
invokeOnSelfAndChildren(child, state, callback, listCallback, cpi.relationType);
|
|
90
|
+
state.popState();
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
throw "Error on property '".concat(cpi.propertyName, "' on type '").concat(model.constructor.name, "': ").concat(error);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return state;
|
|
101
|
+
}
|
package/dist/Model/NeoModel.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/** ModelBase decorator
|
|
2
|
-
* Intercepts the construction of objects to call SetupModel.
|
|
3
|
-
*/
|
|
4
|
-
export default function NeoModel<T extends {
|
|
5
|
-
new (...args: any[]): {};
|
|
6
|
-
}>(target: T): T;
|
|
1
|
+
/** ModelBase decorator
|
|
2
|
+
* Intercepts the construction of objects to call SetupModel.
|
|
3
|
+
*/
|
|
4
|
+
export default function NeoModel<T extends {
|
|
5
|
+
new (...args: any[]): {};
|
|
6
|
+
}>(target: T): T;
|
package/dist/Model/NeoModel.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { ensureTypeInfo } from './NeoTypeInfo';
|
|
2
|
-
/** ModelBase decorator
|
|
3
|
-
* Intercepts the construction of objects to call SetupModel.
|
|
4
|
-
*/
|
|
5
|
-
export default function NeoModel(target) {
|
|
6
|
-
var originalConstructor = target;
|
|
7
|
-
// Ensure neo info is set
|
|
8
|
-
var ctor = originalConstructor;
|
|
9
|
-
// Call this in case no property decorators were added
|
|
10
|
-
ensureTypeInfo(ctor);
|
|
11
|
-
var newConstructor = ctor.neo.getOverrideConstructor();
|
|
12
|
-
return newConstructor;
|
|
13
|
-
}
|
|
1
|
+
import { ensureTypeInfo } from './NeoTypeInfo';
|
|
2
|
+
/** ModelBase decorator
|
|
3
|
+
* Intercepts the construction of objects to call SetupModel.
|
|
4
|
+
*/
|
|
5
|
+
export default function NeoModel(target) {
|
|
6
|
+
var originalConstructor = target;
|
|
7
|
+
// Ensure neo info is set
|
|
8
|
+
var ctor = originalConstructor;
|
|
9
|
+
// Call this in case no property decorators were added
|
|
10
|
+
ensureTypeInfo(ctor);
|
|
11
|
+
var newConstructor = ctor.neo.getOverrideConstructor();
|
|
12
|
+
return newConstructor;
|
|
13
|
+
}
|
|
@@ -1,41 +1,52 @@
|
|
|
1
|
-
import { Rule } from '../Validation/Rules';
|
|
2
|
-
import { PropertyInstanceMap } from './PropertyInstance';
|
|
3
|
-
import PropertyInfo, { PropertyInfoMap } from './PropertyInfo';
|
|
4
|
-
import { NeoModelConstructor, IModelBase, IMetaItem } from './IModelBase';
|
|
5
|
-
export declare class NeoTypeInfo {
|
|
6
|
-
private modelCreator;
|
|
7
|
-
private objectConstructor;
|
|
8
|
-
private
|
|
9
|
-
private
|
|
10
|
-
private
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
get
|
|
21
|
-
get
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
1
|
+
import { Rule } from '../Validation/Rules';
|
|
2
|
+
import { PropertyInstanceMap } from './PropertyInstance';
|
|
3
|
+
import PropertyInfo, { PropertyInfoMap } from './PropertyInfo';
|
|
4
|
+
import { NeoModelConstructor, IModelBase, IMetaItem, IMakeBindableOptions } from './IModelBase';
|
|
5
|
+
export declare class NeoTypeInfo {
|
|
6
|
+
private modelCreator;
|
|
7
|
+
private objectConstructor;
|
|
8
|
+
private wrapperConstructor?;
|
|
9
|
+
private _inheritsBindableBase;
|
|
10
|
+
private _inheritsModelBase;
|
|
11
|
+
private _metaItem;
|
|
12
|
+
properties: PropertyInfo[];
|
|
13
|
+
propertyMap: PropertyInfoMap;
|
|
14
|
+
children: PropertyInfo[];
|
|
15
|
+
parentProperties: PropertyInfo[];
|
|
16
|
+
parentProperty?: PropertyInfo;
|
|
17
|
+
objectRules: Rule[];
|
|
18
|
+
meta: PropertyInstanceMap;
|
|
19
|
+
displayMember: PropertyInfo | null;
|
|
20
|
+
get inheritsBindableBase(): boolean;
|
|
21
|
+
get inheritsModelBase(): boolean;
|
|
22
|
+
get metaItem(): IMetaItem;
|
|
23
|
+
initialise(objectConstructor: NeoModelConstructor): void;
|
|
24
|
+
private addPropertyInfo;
|
|
25
|
+
getOrAddProperty(propertyName: string): PropertyInfo;
|
|
26
|
+
addComputed(propertyName: string, descriptor: PropertyDescriptor, isComputed?: boolean): void;
|
|
27
|
+
addAttributeRule(propertyName: string, rule: Rule): void;
|
|
28
|
+
/**
|
|
29
|
+
* Ensures the type has all the information it needs in order to convert instances of this type.
|
|
30
|
+
* E.g. Making sure each property has a property info object.
|
|
31
|
+
* */
|
|
32
|
+
protected ensureStaticRuntimeInfo(instance?: IModelBase): void;
|
|
33
|
+
private addRules;
|
|
34
|
+
/** Copy the property info list from each base type into the current type. */
|
|
35
|
+
merge(baseConstructor: NeoModelConstructor): void;
|
|
36
|
+
ensureInitialised(): void;
|
|
37
|
+
createInstance(...args: any): any;
|
|
38
|
+
/** Gets the override constructor which can setup a neo model. */
|
|
39
|
+
getOverrideConstructor(): Function;
|
|
40
|
+
private createWrapperConstructor;
|
|
41
|
+
makeObservable(instance: any, options?: IMakeBindableOptions): any;
|
|
42
|
+
private defineProxyProperty;
|
|
43
|
+
/**
|
|
44
|
+
* Makes a class instance observable.
|
|
45
|
+
* Must be called in the constructor, preferably directly after the super() call.
|
|
46
|
+
* This method can be used as an alternative to the @NeoModel decorator.
|
|
47
|
+
*/
|
|
48
|
+
static makeObservable(instance: any, options?: IMakeBindableOptions): void;
|
|
49
|
+
/** Ensures the type and its metadata are initialised. */
|
|
50
|
+
static ensureInitialised(constructor: NeoModelConstructor): NeoTypeInfo;
|
|
51
|
+
}
|
|
52
|
+
export declare function ensureTypeInfo(constructor: NeoModelConstructor): NeoModelConstructor;
|