@singularsystems/neo-core 1.0.0-alpha.3 → 1.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/README.md +1 -1
- 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 +510 -487
- package/dist/Components/DatePicker/DatePickerOptions.d.ts +43 -34
- package/dist/Components/DatePicker/DatePickerOptions.js +33 -33
- package/dist/Components/ErrorHandler.d.ts +63 -55
- package/dist/Components/ErrorHandler.js +211 -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 +82 -76
- package/dist/Model/Decorators.d.ts +50 -44
- package/dist/Model/Decorators.js +189 -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 +101 -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/MethodInfo.d.ts +8 -0
- package/dist/Model/MethodInfo.js +7 -0
- 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 +189 -180
- package/dist/Model/ModelCreatorBase.d.ts +23 -23
- package/dist/Model/ModelCreatorBase.js +91 -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 +55 -41
- package/dist/Model/NeoTypeInfo.js +319 -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 +137 -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/Model/EnumHelper.js
CHANGED
|
@@ -1,100 +1,104 @@
|
|
|
1
|
-
import { StaticDataSource } from '../Data';
|
|
2
|
-
var EnumDecorator = /** @class */ (function () {
|
|
3
|
-
function EnumDecorator(enumType) {
|
|
4
|
-
this.enumType = enumType;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
*
|
|
10
|
-
* @param
|
|
11
|
-
* @param
|
|
12
|
-
* @param
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
*
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
var
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
var
|
|
54
|
-
var
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
*
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}
|
|
100
|
-
|
|
1
|
+
import { StaticDataSource } from '../Data';
|
|
2
|
+
var EnumDecorator = /** @class */ (function () {
|
|
3
|
+
function EnumDecorator(enumType) {
|
|
4
|
+
this.enumType = enumType;
|
|
5
|
+
// @ts-ignore
|
|
6
|
+
enumType[EnumDecorator.enumDescriptorSymbol] = {};
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Describe the enum item.
|
|
10
|
+
* @param enumItem Item you are describing.
|
|
11
|
+
* @param display Display name to use, e.g. for use in drop downs.
|
|
12
|
+
* @param description Additional description about the item.
|
|
13
|
+
* @param order Override sort order.
|
|
14
|
+
*/
|
|
15
|
+
EnumDecorator.prototype.describe = function (enumItem, display, description, order) {
|
|
16
|
+
// @ts-ignore
|
|
17
|
+
this.enumType[EnumDecorator.enumDescriptorSymbol][enumItem] = { display: display, description: description, order: order };
|
|
18
|
+
};
|
|
19
|
+
EnumDecorator.enumDescriptorSymbol = Symbol("Neo.EnumDescriptor");
|
|
20
|
+
return EnumDecorator;
|
|
21
|
+
}());
|
|
22
|
+
var EnumHelper = /** @class */ (function () {
|
|
23
|
+
function EnumHelper() {
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Decorate an enum and it's items.
|
|
27
|
+
* @param enumType The enum.
|
|
28
|
+
* @param callback Callback decorator. E.g: e.describe(Enum.Item1, "Display Value")
|
|
29
|
+
*/
|
|
30
|
+
EnumHelper.decorateEnum = function (enumType, callback) {
|
|
31
|
+
var helper = new EnumDecorator(enumType);
|
|
32
|
+
callback(helper);
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Creates a static datasource from an Enum.
|
|
36
|
+
*/
|
|
37
|
+
EnumHelper.asDatasource = function (enumType) {
|
|
38
|
+
return StaticDataSource.fromEnum(enumType);
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Creates a list of IEnumItem from an enum, using the enum decorator data.
|
|
42
|
+
*/
|
|
43
|
+
EnumHelper.asList = function (enumObject) {
|
|
44
|
+
var descriptorMap = enumObject[EnumDecorator.enumDescriptorSymbol] || {};
|
|
45
|
+
var keys = Object.keys(enumObject).filter(function (key) { return typeof enumObject[key] === "number"; });
|
|
46
|
+
var items = [];
|
|
47
|
+
if (keys.length === 0) {
|
|
48
|
+
// String enum type.
|
|
49
|
+
keys = Object.keys(enumObject);
|
|
50
|
+
}
|
|
51
|
+
var index = keys.length;
|
|
52
|
+
for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
|
|
53
|
+
var key = keys_1[_i];
|
|
54
|
+
var id = enumObject[key];
|
|
55
|
+
var name_1 = void 0, description = void 0;
|
|
56
|
+
var itemDescriptor = descriptorMap[id];
|
|
57
|
+
if (itemDescriptor) {
|
|
58
|
+
name_1 = itemDescriptor.display;
|
|
59
|
+
description = itemDescriptor.description;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
name_1 = key.readable();
|
|
63
|
+
}
|
|
64
|
+
items.push({ id: id, name: name_1, description: description, order: itemDescriptor && itemDescriptor.order !== undefined ? itemDescriptor.order : index });
|
|
65
|
+
index += 1;
|
|
66
|
+
}
|
|
67
|
+
return items.sortBy(function (c) { return c.order; }).map(function (item) { return ({ id: item.id, name: item.name, description: item.description }); });
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Gets the metadata for an enum item.
|
|
71
|
+
* @param enumType Enum object. E.g. Status
|
|
72
|
+
* @param enumItem Enum item. E.g. Status.Pending
|
|
73
|
+
*/
|
|
74
|
+
EnumHelper.getItemMetadata = function (enumType, enumItem) {
|
|
75
|
+
// @ts-ignore
|
|
76
|
+
var descriptorMap = enumType[EnumDecorator.enumDescriptorSymbol] || {};
|
|
77
|
+
var itemDescriptor = descriptorMap[enumItem];
|
|
78
|
+
// @ts-ignore
|
|
79
|
+
var name = enumType[enumItem];
|
|
80
|
+
if (!itemDescriptor) {
|
|
81
|
+
itemDescriptor = name ? { name: name, display: name.readable() } : { name: enumItem.toString(), display: enumItem.toString() };
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
itemDescriptor.name = name;
|
|
85
|
+
}
|
|
86
|
+
return itemDescriptor;
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* Returns `true` if this item looks like an enum item.
|
|
90
|
+
*
|
|
91
|
+
* E.g. has an `id` and `name` property.
|
|
92
|
+
*/
|
|
93
|
+
EnumHelper.isEnumItem = function (item) {
|
|
94
|
+
if (typeof item === "object") {
|
|
95
|
+
var properties = Object.getOwnPropertyNames(item);
|
|
96
|
+
if (properties.length <= 3 && properties.some(function (c) { return c === "id"; }) && properties.some(function (c) { return c === "name"; })) {
|
|
97
|
+
return true;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return false;
|
|
101
|
+
};
|
|
102
|
+
return EnumHelper;
|
|
103
|
+
}());
|
|
104
|
+
export { EnumHelper };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IModelBase } from './IModelBase';
|
|
2
|
-
import { IAutoRunner, IAutoRunnerOptions } from './Misc';
|
|
3
|
-
export interface IAutoRunnerFactory {
|
|
4
|
-
create<T extends IModelBase>(model: T, callback: (model: T) => void, options?: IAutoRunnerOptions<T>): IAutoRunner;
|
|
5
|
-
}
|
|
1
|
+
import { IModelBase } from './IModelBase';
|
|
2
|
+
import { IAutoRunner, IAutoRunnerOptions } from './Misc';
|
|
3
|
+
export interface IAutoRunnerFactory {
|
|
4
|
+
create<T extends IModelBase>(model: T, callback: (model: T) => void, options?: IAutoRunnerOptions<T>): IAutoRunner;
|
|
5
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
@@ -1,79 +1,101 @@
|
|
|
1
|
-
import { NeoTypeInfo } from './NeoTypeInfo';
|
|
2
|
-
import { IPropertyInstance } from './PropertyInstance';
|
|
3
|
-
import IModelValidator from '../Validation/Validators/IModelValidator';
|
|
4
|
-
import { ValidationRules } from '../Validation/ValidationRules';
|
|
5
|
-
import { ISerialiseOptions } from '../Data/Serialiser';
|
|
6
|
-
import { RemoveMethods, Omit } from '../Utils';
|
|
7
|
-
import List from './List';
|
|
8
|
-
import { Misc } from '../';
|
|
9
|
-
export
|
|
10
|
-
export
|
|
11
|
-
[P in keyof ObservableKeys<T>]: IPropertyInstance<T[P]>;
|
|
12
|
-
};
|
|
13
|
-
export interface IMetaItem {
|
|
14
|
-
[index: string]: any;
|
|
15
|
-
meta: {
|
|
16
|
-
[index: string]: IPropertyInstance;
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
[P in keyof T]: T[P] extends List<infer I> ? I[] : T[P];
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
[P in keyof T]: T[P] extends List<infer I> ? never : T[P] extends IModelBase ? never : P;
|
|
25
|
-
}[keyof T]>;
|
|
26
|
-
export
|
|
27
|
-
[P in keyof T]?: T[P] | null;
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
export
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
1
|
+
import { NeoTypeInfo } from './NeoTypeInfo';
|
|
2
|
+
import { IPropertyInstance } from './PropertyInstance';
|
|
3
|
+
import IModelValidator from '../Validation/Validators/IModelValidator';
|
|
4
|
+
import { ValidationRules } from '../Validation/ValidationRules';
|
|
5
|
+
import { ISerialiseOptions } from '../Data/Serialiser';
|
|
6
|
+
import { RemoveMethods, Omit } from '../Utils';
|
|
7
|
+
import List from './List';
|
|
8
|
+
import { Misc } from '../';
|
|
9
|
+
export type ObservableKeys<T> = RemoveMethods<Omit<T, keyof INonObservableModelBase>>;
|
|
10
|
+
export type TransformMetaType<T> = {
|
|
11
|
+
[P in keyof ObservableKeys<T>]: IPropertyInstance<T[P]>;
|
|
12
|
+
};
|
|
13
|
+
export interface IMetaItem {
|
|
14
|
+
[index: string]: any;
|
|
15
|
+
meta: {
|
|
16
|
+
[index: string]: IPropertyInstance;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
type NoModelBase<T> = Pick<T, Exclude<keyof T, keyof IModelBase> & keyof RemoveMethods<T>>;
|
|
20
|
+
type TransformLists<T> = {
|
|
21
|
+
[P in keyof T]: T[P] extends List<infer I> ? I[] : T[P];
|
|
22
|
+
};
|
|
23
|
+
type RemoveChildren<T> = Pick<T, {
|
|
24
|
+
[P in keyof T]: T[P] extends List<infer I> ? never : T[P] extends IModelBase ? never : P;
|
|
25
|
+
}[keyof T]>;
|
|
26
|
+
export type PartialOrNull<T> = {
|
|
27
|
+
[P in keyof T]?: T[P] | null;
|
|
28
|
+
};
|
|
29
|
+
/** Removes ModelBase properties (isNew, isDirty etc), removes methods, and changes list types to arrays. */
|
|
30
|
+
export type PlainObject<T> = TransformLists<NoModelBase<T>>;
|
|
31
|
+
/** PlainObject plus tracking state and entity identifier. */
|
|
32
|
+
export type PlainTrackedObject<T> = PlainObject<T> & {
|
|
33
|
+
trackingState?: Misc.TrackingState;
|
|
34
|
+
entityIdentifier?: string;
|
|
35
|
+
};
|
|
36
|
+
/** Plain object with no tracking state, and no lists. */
|
|
37
|
+
export type PlainFlatObject<T> = Pick<T, Exclude<keyof T, keyof IModelBase> & keyof RemoveMethods<T> & keyof RemoveChildren<T>>;
|
|
38
|
+
/** Plain object where the meta property is not allowed. Used to accept any Plain* object. */
|
|
39
|
+
export type PartialPlainObject<T> = Partial<PlainObject<T>> & {
|
|
40
|
+
meta?: never;
|
|
41
|
+
};
|
|
42
|
+
/** Plain object where the meta and tracking state properties are not allowed. Used to accept PlainObject and PlainFlatObject. */
|
|
43
|
+
export type PartialPlainNonTrackedObject<T> = PartialPlainObject<T> & {
|
|
44
|
+
trackingState?: never;
|
|
45
|
+
};
|
|
46
|
+
export interface NeoModelConstructor extends Function {
|
|
47
|
+
neo: NeoTypeInfo;
|
|
48
|
+
}
|
|
49
|
+
export interface IMakeBindableOptions {
|
|
50
|
+
/**
|
|
51
|
+
* Specifies whether properties should be observable
|
|
52
|
+
* * If this is `true`, all properties will be observable by default.
|
|
53
|
+
* * If `false` only properties decorated with @Attributes.Observable will be made observable.
|
|
54
|
+
* * If `undefined`, only types that inherit from `ModelBase` will be observable by default.
|
|
55
|
+
*/
|
|
56
|
+
makeObservable?: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Specifies whether methods should be converted to mobx actions. This is `true` by default.
|
|
59
|
+
* Use `Attributes.Action()` to override this per methis. */
|
|
60
|
+
autoActions?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* If `true`, this instance will not be converted. In inheritence heirarchies, use this to ensure only the last derived type converts the instance.
|
|
63
|
+
*/
|
|
64
|
+
skipConversion?: boolean;
|
|
65
|
+
}
|
|
66
|
+
export interface IDebounceOptions {
|
|
67
|
+
delayMs?: number;
|
|
68
|
+
}
|
|
69
|
+
export interface IBindableBase {
|
|
70
|
+
meta: {
|
|
71
|
+
[index: string]: IPropertyInstance;
|
|
72
|
+
};
|
|
73
|
+
set(jsObject: any): void;
|
|
74
|
+
}
|
|
75
|
+
export interface INonObservableModelBase extends IBindableBase {
|
|
76
|
+
isSuspended: boolean;
|
|
77
|
+
validator: IModelValidator;
|
|
78
|
+
markOld(recurse?: boolean): void;
|
|
79
|
+
toJSObject(options: ISerialiseOptions): PlainObject<this>;
|
|
80
|
+
update(jsObject: any): void;
|
|
81
|
+
toQueryObject(): PlainFlatObject<this>;
|
|
82
|
+
toQueryObjectAuto(callback: (queryObject: PlainFlatObject<this>) => void, options?: IDebounceOptions): Misc.IAutoRunner;
|
|
83
|
+
onAnyPropertyChanged(callback: () => void, options?: Misc.IAutoRunnerOptions<this>): Misc.IAutoRunner;
|
|
84
|
+
/** Icon to display next to toString() text. */
|
|
85
|
+
getIcon(): string;
|
|
86
|
+
}
|
|
87
|
+
export interface IModelBaseInternal {
|
|
88
|
+
addBusinessRules(validationRules: ValidationRules<IModelBase>): void;
|
|
89
|
+
onDeserialiseCompleted(wasCreated: boolean): void;
|
|
90
|
+
canSerialise(shouldSerialise: boolean): boolean;
|
|
91
|
+
}
|
|
92
|
+
export interface IModelBase extends INonObservableModelBase {
|
|
93
|
+
entityIdentifier: string;
|
|
94
|
+
isSelfDirty: boolean;
|
|
95
|
+
isNew: boolean;
|
|
96
|
+
readonly isSelfValid: boolean;
|
|
97
|
+
readonly isValid: boolean;
|
|
98
|
+
readonly isDirty: boolean;
|
|
99
|
+
readonly readyToSave: boolean;
|
|
100
|
+
}
|
|
101
|
+
export {};
|
package/dist/Model/IModelBase.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { NeoTypeInfo } from './NeoTypeInfo';
|
|
2
|
-
import { NeoModelConstructor } from './IModelBase';
|
|
3
|
-
export default interface IModelCreatorBase {
|
|
4
|
-
shouldInitialiseAllMembers: boolean;
|
|
5
|
-
initialise(typeInfo: NeoTypeInfo, originalConstructor: NeoModelConstructor): void;
|
|
6
|
-
isBindableBase(type: NeoModelConstructor): boolean;
|
|
7
|
-
isModelBase(type: NeoModelConstructor): boolean;
|
|
8
|
-
convertInstance(instance: {}): {};
|
|
9
|
-
}
|
|
1
|
+
import { NeoTypeInfo } from './NeoTypeInfo';
|
|
2
|
+
import { IMakeBindableOptions, NeoModelConstructor } from './IModelBase';
|
|
3
|
+
export default interface IModelCreatorBase {
|
|
4
|
+
shouldInitialiseAllMembers: boolean;
|
|
5
|
+
initialise(typeInfo: NeoTypeInfo, originalConstructor: NeoModelConstructor): void;
|
|
6
|
+
isBindableBase(type: NeoModelConstructor): boolean;
|
|
7
|
+
isModelBase(type: NeoModelConstructor): boolean;
|
|
8
|
+
convertInstance(instance: {}, options: IMakeBindableOptions): {};
|
|
9
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
package/dist/Model/List.d.ts
CHANGED
|
@@ -1,77 +1,79 @@
|
|
|
1
|
-
import { ISerialiseOptions } from '../Data/Serialiser';
|
|
2
|
-
import { PlainObject, PartialPlainObject, PlainTrackedObject, IMetaItem } from './IModelBase';
|
|
3
|
-
import { IDeserialiseOptions } from '../Data/Deserialiser';
|
|
4
|
-
export default class List<T> extends Array<T> {
|
|
5
|
-
childObjectType: (new () => T);
|
|
6
|
-
attachedTo: object | null;
|
|
7
|
-
private _deletedList;
|
|
8
|
-
get deletedList(): T[];
|
|
9
|
-
private baseMethods;
|
|
10
|
-
constructor(childObjectType: (new () => T));
|
|
11
|
-
/**
|
|
12
|
-
* Copies the methods and properties from the prototype to the new instance.
|
|
13
|
-
* This is needed because vue / mobx changes the prototype to its own.
|
|
14
|
-
*/
|
|
15
|
-
static copyMethods(toInstance: any): void;
|
|
16
|
-
setupProxy(proxy: any, attachedTo: any): void;
|
|
17
|
-
/**
|
|
18
|
-
* Converts the neo models to plain javascript objects without tracking state.
|
|
19
|
-
* @param options Serialisation options.
|
|
20
|
-
* */
|
|
21
|
-
toJSArray(options?: ISerialiseOptions & {
|
|
22
|
-
suppressTrackingState: true;
|
|
23
|
-
}): Array<PlainObject<T>>;
|
|
24
|
-
/**
|
|
25
|
-
* Converts the neo models to plain javascript objects.
|
|
26
|
-
* @param options Serialisation options.
|
|
27
|
-
* */
|
|
28
|
-
toJSArray(options?: ISerialiseOptions & {
|
|
29
|
-
suppressTrackingState?: false;
|
|
30
|
-
}): Array<PlainTrackedObject<T>>;
|
|
31
|
-
/**
|
|
32
|
-
* Converts the neo models to plain javascript objects.
|
|
33
|
-
* */
|
|
34
|
-
toJSArray(): Array<PlainTrackedObject<T>>;
|
|
35
|
-
/**
|
|
36
|
-
* Converts a plain javascript Array to a neo model graph.
|
|
37
|
-
* Replaces a list - Items in the list, but not in jsArray will be removed.
|
|
38
|
-
* If you need missing items to remain, use update() instead.
|
|
39
|
-
* This will generally be used after calling toJSArray(includeClean = true)
|
|
40
|
-
* */
|
|
41
|
-
set(jsArray: PartialPlainObject<T>[], options?: IDeserialiseOptions): void;
|
|
42
|
-
/**
|
|
43
|
-
* Converts a plain javascript Array to a neo model graph.
|
|
44
|
-
* Updates a list - Items in the list, but not in jsArray will remain in the list.
|
|
45
|
-
* If you need to replace the List with jsArray, use set() instead.
|
|
46
|
-
* This will generally be used after calling toJSArray(includeClean = false)
|
|
47
|
-
* */
|
|
48
|
-
update(jsArray: PartialPlainObject<T>[], options?: IDeserialiseOptions): void;
|
|
49
|
-
/**
|
|
50
|
-
* Converts a plain javascript array into a neo model graph.
|
|
51
|
-
*/
|
|
52
|
-
static fromJSArray<T>(childType: new () => T, jsArray: PartialPlainObject<T>[], options?: IDeserialiseOptions): List<T>;
|
|
53
|
-
/** Creates a new item of type T */
|
|
54
|
-
createChild(): T;
|
|
55
|
-
push(...items: T[]): any;
|
|
56
|
-
clearDeletedList(): void;
|
|
57
|
-
private setParent;
|
|
58
|
-
/** Creates a new item of type T, adds it to the array and returns the new item. */
|
|
59
|
-
addNew(): T;
|
|
60
|
-
/**
|
|
61
|
-
* Removes an item from the array, and adds it to the deleted list. Deleted items will be included when calling toJSArray
|
|
62
|
-
* @param item Item to remove
|
|
63
|
-
*/
|
|
64
|
-
remove(item: T): void;
|
|
65
|
-
/**
|
|
66
|
-
* Removes an item from the array without adding it to the deleted list.
|
|
67
|
-
* @param item Item to remove
|
|
68
|
-
*/
|
|
69
|
-
removeWithoutTracking(item: T): void;
|
|
70
|
-
private removeItem;
|
|
71
|
-
/** Returns a static meta object containing all the properties of the lists item type. */
|
|
72
|
-
getMetaItem(): IMetaItem;
|
|
73
|
-
/** True if all items in the list are valid. */
|
|
74
|
-
get isValid(): boolean;
|
|
75
|
-
/** True if any item in the list is dirty, or the list contains any deleted items. */
|
|
76
|
-
get isDirty(): boolean;
|
|
77
|
-
|
|
1
|
+
import { ISerialiseOptions } from '../Data/Serialiser';
|
|
2
|
+
import { PlainObject, PartialPlainObject, PlainTrackedObject, IMetaItem } from './IModelBase';
|
|
3
|
+
import { IDeserialiseOptions } from '../Data/Deserialiser';
|
|
4
|
+
export default class List<T> extends Array<T> {
|
|
5
|
+
childObjectType: (new () => T);
|
|
6
|
+
attachedTo: object | null;
|
|
7
|
+
private _deletedList;
|
|
8
|
+
get deletedList(): T[];
|
|
9
|
+
private baseMethods;
|
|
10
|
+
constructor(childObjectType: (new () => T));
|
|
11
|
+
/**
|
|
12
|
+
* Copies the methods and properties from the prototype to the new instance.
|
|
13
|
+
* This is needed because vue / mobx changes the prototype to its own.
|
|
14
|
+
*/
|
|
15
|
+
static copyMethods(toInstance: any): void;
|
|
16
|
+
setupProxy(proxy: any, attachedTo: any): void;
|
|
17
|
+
/**
|
|
18
|
+
* Converts the neo models to plain javascript objects without tracking state.
|
|
19
|
+
* @param options Serialisation options.
|
|
20
|
+
* */
|
|
21
|
+
toJSArray(options?: ISerialiseOptions & {
|
|
22
|
+
suppressTrackingState: true;
|
|
23
|
+
}): Array<PlainObject<T>>;
|
|
24
|
+
/**
|
|
25
|
+
* Converts the neo models to plain javascript objects.
|
|
26
|
+
* @param options Serialisation options.
|
|
27
|
+
* */
|
|
28
|
+
toJSArray(options?: ISerialiseOptions & {
|
|
29
|
+
suppressTrackingState?: false;
|
|
30
|
+
}): Array<PlainTrackedObject<T>>;
|
|
31
|
+
/**
|
|
32
|
+
* Converts the neo models to plain javascript objects.
|
|
33
|
+
* */
|
|
34
|
+
toJSArray(): Array<PlainTrackedObject<T>>;
|
|
35
|
+
/**
|
|
36
|
+
* Converts a plain javascript Array to a neo model graph.
|
|
37
|
+
* Replaces a list - Items in the list, but not in jsArray will be removed.
|
|
38
|
+
* If you need missing items to remain, use update() instead.
|
|
39
|
+
* This will generally be used after calling toJSArray(includeClean = true)
|
|
40
|
+
* */
|
|
41
|
+
set(jsArray: PartialPlainObject<T>[], options?: IDeserialiseOptions): void;
|
|
42
|
+
/**
|
|
43
|
+
* Converts a plain javascript Array to a neo model graph.
|
|
44
|
+
* Updates a list - Items in the list, but not in jsArray will remain in the list.
|
|
45
|
+
* If you need to replace the List with jsArray, use set() instead.
|
|
46
|
+
* This will generally be used after calling toJSArray(includeClean = false)
|
|
47
|
+
* */
|
|
48
|
+
update(jsArray: PartialPlainObject<T>[], options?: IDeserialiseOptions): void;
|
|
49
|
+
/**
|
|
50
|
+
* Converts a plain javascript array into a neo model graph.
|
|
51
|
+
*/
|
|
52
|
+
static fromJSArray<T>(childType: new () => T, jsArray: PartialPlainObject<T>[], options?: IDeserialiseOptions): List<T>;
|
|
53
|
+
/** Creates a new item of type T */
|
|
54
|
+
createChild(): T;
|
|
55
|
+
push(...items: T[]): any;
|
|
56
|
+
clearDeletedList(): void;
|
|
57
|
+
private setParent;
|
|
58
|
+
/** Creates a new item of type T, adds it to the array and returns the new item. */
|
|
59
|
+
addNew(): T;
|
|
60
|
+
/**
|
|
61
|
+
* Removes an item from the array, and adds it to the deleted list. Deleted items will be included when calling toJSArray
|
|
62
|
+
* @param item Item to remove
|
|
63
|
+
*/
|
|
64
|
+
remove(item: T): void;
|
|
65
|
+
/**
|
|
66
|
+
* Removes an item from the array without adding it to the deleted list.
|
|
67
|
+
* @param item Item to remove
|
|
68
|
+
*/
|
|
69
|
+
removeWithoutTracking(item: T): void;
|
|
70
|
+
private removeItem;
|
|
71
|
+
/** Returns a static meta object containing all the properties of the lists item type. */
|
|
72
|
+
getMetaItem(): IMetaItem;
|
|
73
|
+
/** True if all items in the list are valid. */
|
|
74
|
+
get isValid(): boolean;
|
|
75
|
+
/** True if any item in the list is dirty, or the list contains any deleted items. */
|
|
76
|
+
get isDirty(): boolean;
|
|
77
|
+
/** Indicates that the model is dirty and valid and can be saved. */
|
|
78
|
+
get readyToSave(): boolean;
|
|
79
|
+
}
|