@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/Decorators.js
CHANGED
|
@@ -1,177 +1,189 @@
|
|
|
1
|
-
import { ensureTypeInfo } from './NeoTypeInfo';
|
|
2
|
-
import { SerialiseType, RelationType, OnChangedOptions, DataType, TimeZoneFormat } from './Misc';
|
|
3
|
-
function getOrAddPropertyInfo(type, propertyName) {
|
|
4
|
-
return ensureTypeInfo(type.constructor).neo.getOrAddProperty(propertyName);
|
|
5
|
-
}
|
|
6
|
-
export function Display(name) {
|
|
7
|
-
return function (type, propertyKey) {
|
|
8
|
-
var pi = getOrAddPropertyInfo(type, propertyKey);
|
|
9
|
-
pi.displayName = name;
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
/** Indicates that this is a date property. Json strings will be converted to date objects on deserialisation. */
|
|
13
|
-
export function Date(timeZoneSerialisation) {
|
|
14
|
-
if (timeZoneSerialisation === void 0) { timeZoneSerialisation = TimeZoneFormat.UTC; }
|
|
15
|
-
return function (type, propertyKey, descriptor) {
|
|
16
|
-
var pi = getOrAddPropertyInfo(type, propertyKey);
|
|
17
|
-
pi.propertyType = DataType.Date;
|
|
18
|
-
pi.timeZoneSerialisation = timeZoneSerialisation;
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
/** Indicates that this is an integer number property. Editors will be restricted to integer numeric input. */
|
|
22
|
-
export function Integer() {
|
|
23
|
-
return function (type, propertyKey) {
|
|
24
|
-
getOrAddPropertyInfo(type, propertyKey).propertyType = DataType.Int;
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
var
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
1
|
+
import { ensureTypeInfo } from './NeoTypeInfo';
|
|
2
|
+
import { SerialiseType, RelationType, OnChangedOptions, DataType, TimeZoneFormat } from './Misc';
|
|
3
|
+
function getOrAddPropertyInfo(type, propertyName) {
|
|
4
|
+
return ensureTypeInfo(type.constructor).neo.getOrAddProperty(propertyName);
|
|
5
|
+
}
|
|
6
|
+
export function Display(name) {
|
|
7
|
+
return function (type, propertyKey) {
|
|
8
|
+
var pi = getOrAddPropertyInfo(type, propertyKey);
|
|
9
|
+
pi.displayName = name;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
/** Indicates that this is a date property. Json strings will be converted to date objects on deserialisation. */
|
|
13
|
+
export function Date(timeZoneSerialisation) {
|
|
14
|
+
if (timeZoneSerialisation === void 0) { timeZoneSerialisation = TimeZoneFormat.UTC; }
|
|
15
|
+
return function (type, propertyKey, descriptor) {
|
|
16
|
+
var pi = getOrAddPropertyInfo(type, propertyKey);
|
|
17
|
+
pi.propertyType = DataType.Date;
|
|
18
|
+
pi.timeZoneSerialisation = timeZoneSerialisation;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/** Indicates that this is an integer number property. Editors will be restricted to integer numeric input. */
|
|
22
|
+
export function Integer() {
|
|
23
|
+
return function (type, propertyKey) {
|
|
24
|
+
getOrAddPropertyInfo(type, propertyKey).propertyType = DataType.Int;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Indicates that this is a float number property.
|
|
29
|
+
* Editors will be restricted to float numeric input.
|
|
30
|
+
* @param decimals No of decimals allowed when storing this value. Used when binding to this property from a supporting ui component. If not specified, this will be determined from the format string. */
|
|
31
|
+
export function Float(decimals) {
|
|
32
|
+
return function (type, propertyKey) {
|
|
33
|
+
var propertyInfo = getOrAddPropertyInfo(type, propertyKey);
|
|
34
|
+
propertyInfo.propertyType = DataType.Float;
|
|
35
|
+
propertyInfo.allowedDecimals = decimals;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/** Indicates that this is a decimal property (decimal type from the decimal.js-light package). */
|
|
39
|
+
export function Decimal() {
|
|
40
|
+
return function (type, propertyKey) {
|
|
41
|
+
getOrAddPropertyInfo(type, propertyKey).propertyType = DataType.Decimal;
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/** Indicates that this is a nullable boolean property. */
|
|
45
|
+
export function NullableBoolean() {
|
|
46
|
+
return function (type, propertyKey) {
|
|
47
|
+
getOrAddPropertyInfo(type, propertyKey).propertyType = DataType.NullableBoolean;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/** Indicates that this property accepts nulls from user input controls that do not normally accept nulls. E.g. numeric editors. */
|
|
51
|
+
export function Nullable(dataType) {
|
|
52
|
+
return function (type, propertyKey) {
|
|
53
|
+
var pi = getOrAddPropertyInfo(type, propertyKey);
|
|
54
|
+
pi.allowNulls = true;
|
|
55
|
+
if (dataType) {
|
|
56
|
+
pi.propertyType = dataType;
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
export function Observable(isObservable) {
|
|
61
|
+
if (isObservable === void 0) { isObservable = true; }
|
|
62
|
+
return function (type, propertyKey) {
|
|
63
|
+
var pi = getOrAddPropertyInfo(type, propertyKey);
|
|
64
|
+
pi.isObservable = isObservable;
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/** Indicates that changes to this property will not cause the object to become dirty. It will also not be serialised */
|
|
68
|
+
export function NoTracking(serialisation) {
|
|
69
|
+
if (serialisation === void 0) { serialisation = SerialiseType.MappingOnly; }
|
|
70
|
+
return function (type, propertyKey) {
|
|
71
|
+
var pi = getOrAddPropertyInfo(type, propertyKey);
|
|
72
|
+
pi.noTrack = true;
|
|
73
|
+
// Don't overwrite if serialise has already been set.
|
|
74
|
+
if (pi.serialise == SerialiseType.Always)
|
|
75
|
+
pi.serialise = serialisation;
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
export function Serialisation(serialisation) {
|
|
79
|
+
return function (type, propertyKey) {
|
|
80
|
+
var pi = getOrAddPropertyInfo(type, propertyKey);
|
|
81
|
+
pi.serialise = serialisation;
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/** Indicates that this is a list property, and specifies the item type. This is not required if the list is initialised with a value. */
|
|
85
|
+
export function ChildList(childType) {
|
|
86
|
+
return function (type, propertyKey) {
|
|
87
|
+
var pi = getOrAddPropertyInfo(type, propertyKey);
|
|
88
|
+
pi.setPropertyType(childType);
|
|
89
|
+
if (pi.relationType === RelationType.None) {
|
|
90
|
+
pi.relationType = RelationType.ChildList;
|
|
91
|
+
pi.propertyType = DataType.Array;
|
|
92
|
+
// Also add child properties to a dedicated list. (Used in graph iterator)
|
|
93
|
+
type.constructor.neo.children.push(pi);
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
export function ChildObject(childType, isValueObject) {
|
|
98
|
+
if (isValueObject === void 0) { isValueObject = false; }
|
|
99
|
+
return function (type, propertyKey) {
|
|
100
|
+
var pi = getOrAddPropertyInfo(type, propertyKey);
|
|
101
|
+
if (childType === undefined) {
|
|
102
|
+
throw Error("Unknown child type on ".concat(type.constructor.name, ".").concat(propertyKey, ", you may have a circular dependency. Try use @Attributes.ChildObject(() => Type)"));
|
|
103
|
+
}
|
|
104
|
+
pi.setPropertyType(childType);
|
|
105
|
+
if (pi.relationType === RelationType.None) {
|
|
106
|
+
pi.relationType = (isValueObject /*|| childType.prototype instanceof ValueObject* <- Causes circular dependency... */) ? RelationType.ValueObject : RelationType.ChildObject;
|
|
107
|
+
pi.propertyType = DataType.Object;
|
|
108
|
+
// Also add child properties to a dedicated list. (Used in graph iterator)
|
|
109
|
+
type.constructor.neo.children.push(pi);
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
export function Dictionary(valueType) {
|
|
114
|
+
return function (type, propertyKey) {
|
|
115
|
+
var pi = getOrAddPropertyInfo(type, propertyKey);
|
|
116
|
+
pi.setPropertyType(valueType);
|
|
117
|
+
if (pi.relationType === RelationType.None) {
|
|
118
|
+
pi.relationType = RelationType.Dictionary;
|
|
119
|
+
pi.propertyType = DataType.Object;
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
export function Parent(parentType) {
|
|
124
|
+
return function (type, propertyKey) {
|
|
125
|
+
var pi = getOrAddPropertyInfo(type, propertyKey);
|
|
126
|
+
pi.setPropertyType(parentType);
|
|
127
|
+
pi.relationType = RelationType.Parent;
|
|
128
|
+
pi.propertyType = DataType.Object;
|
|
129
|
+
// Also add parent properties to a dedicated list (Used by List to set the parent property to the actual parent object)
|
|
130
|
+
var typeInfo = type.constructor.neo;
|
|
131
|
+
typeInfo.parentProperties.push(pi);
|
|
132
|
+
if (!typeInfo.parentProperty) {
|
|
133
|
+
typeInfo.parentProperty = pi;
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Indicates that this property must be assigned to on deserialisation. The deserialiser will not try create a model instance of the object / array.
|
|
139
|
+
*/
|
|
140
|
+
export function Raw() {
|
|
141
|
+
return function (type, propertyKey) {
|
|
142
|
+
var pi = getOrAddPropertyInfo(type, propertyKey);
|
|
143
|
+
pi.assignOnDeserialise = true;
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
/** Registers an onChanged event handler for changes to this property
|
|
147
|
+
* @param requiresOldValue Set to true if this property is not tracked and you need the old value.
|
|
148
|
+
* @param delayMs Number in milliseconds that can be used to debounce the callback function
|
|
149
|
+
*/
|
|
150
|
+
export function OnChanged(callback, requiresOldValue, delayMs) {
|
|
151
|
+
if (requiresOldValue === void 0) { requiresOldValue = false; }
|
|
152
|
+
if (delayMs === void 0) { delayMs = 0; }
|
|
153
|
+
return function (type, propertyKey) {
|
|
154
|
+
var pi = getOrAddPropertyInfo(type, propertyKey);
|
|
155
|
+
pi.onChangedOptions = new OnChangedOptions(callback(type), requiresOldValue, delayMs);
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Set if you want this value to be debounced when calling toQueryObjectAuto, or using the AutoRunner service.
|
|
160
|
+
* By default, strings or properties decorated with integer or float are debounced.
|
|
161
|
+
* @param value Override the default value.
|
|
162
|
+
*/
|
|
163
|
+
export function Debounce(value) {
|
|
164
|
+
return function (type, propertyKey) {
|
|
165
|
+
var pi = getOrAddPropertyInfo(type, propertyKey);
|
|
166
|
+
pi.debounce = value !== false;
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
/** Converts a getter into a computed. Note, when using NeoModel you do not need to do this. */
|
|
170
|
+
export function Computed(isComputed) {
|
|
171
|
+
if (isComputed === void 0) { isComputed = true; }
|
|
172
|
+
return function (type, propertyKey, descriptor) {
|
|
173
|
+
ensureTypeInfo(type.constructor).neo.addComputed(propertyKey, descriptor, isComputed);
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
/** Specifies whether a method is a mobx action. By default all methods are actions.
|
|
177
|
+
* Use this decorator to suppress this behaviour (by passing in false), or change the default behaviour in the makeObservable options passed to makeObservable. */
|
|
178
|
+
export function Action(isAction) {
|
|
179
|
+
return function (type, propertyKey, descriptor) {
|
|
180
|
+
ensureTypeInfo(type.constructor).neo.addMethod(propertyKey).isAction = isAction;
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
/** Sets this property as the display member to be used in drop downs / radio lists etc. */
|
|
184
|
+
export function DisplayMember() {
|
|
185
|
+
return function (type, propertyKey) {
|
|
186
|
+
var pi = getOrAddPropertyInfo(type, propertyKey);
|
|
187
|
+
type.constructor.neo.displayMember = pi;
|
|
188
|
+
};
|
|
189
|
+
}
|
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
import { StaticDataSource } from '../Data';
|
|
2
|
-
export interface IEnumItem {
|
|
3
|
-
id: number | string;
|
|
4
|
-
name: string;
|
|
5
|
-
description?: string;
|
|
6
|
-
}
|
|
7
|
-
interface IEnumItemDescriptor {
|
|
8
|
-
name: string;
|
|
9
|
-
display: string;
|
|
10
|
-
description?: string;
|
|
11
|
-
order?: number;
|
|
12
|
-
}
|
|
13
|
-
declare class EnumDecorator<T> {
|
|
14
|
-
private enumType;
|
|
15
|
-
static enumDescriptorSymbol: symbol;
|
|
16
|
-
constructor(enumType: T);
|
|
17
|
-
/**
|
|
18
|
-
* Describe the enum item.
|
|
19
|
-
* @param enumItem Item you are describing.
|
|
20
|
-
* @param display Display name to use, e.g. for use in drop downs.
|
|
21
|
-
* @param description Additional description about the item.
|
|
22
|
-
* @param order Override sort order.
|
|
23
|
-
*/
|
|
24
|
-
describe(enumItem: T[keyof T], display: string, description?: string, order?: number): void;
|
|
25
|
-
}
|
|
26
|
-
export declare class EnumHelper {
|
|
27
|
-
/**
|
|
28
|
-
* Decorate an enum and it's items.
|
|
29
|
-
* @param enumType The enum.
|
|
30
|
-
* @param callback Callback decorator. E.g: e.describe(Enum.Item1, "Display Value")
|
|
31
|
-
*/
|
|
32
|
-
static decorateEnum<T>(enumType: T, callback: (decorator: EnumDecorator<T>) => void): void;
|
|
33
|
-
/**
|
|
34
|
-
* Creates a static datasource from an Enum.
|
|
35
|
-
*/
|
|
36
|
-
static asDatasource<T>(enumType: T): StaticDataSource<IEnumItem[]>;
|
|
37
|
-
/**
|
|
38
|
-
* Creates a list of IEnumItem from an enum, using the enum decorator data.
|
|
39
|
-
*/
|
|
40
|
-
static asList(enumObject: any): IEnumItem[];
|
|
41
|
-
/**
|
|
42
|
-
* Gets the metadata for an enum item.
|
|
43
|
-
* @param enumType Enum object. E.g. Status
|
|
44
|
-
* @param enumItem Enum item. E.g. Status.Pending
|
|
45
|
-
*/
|
|
46
|
-
static getItemMetadata<T>(enumType: T, enumItem: T[keyof T]): IEnumItemDescriptor;
|
|
47
|
-
/**
|
|
48
|
-
* Returns `true` if this item looks like an enum item.
|
|
49
|
-
*
|
|
50
|
-
* E.g. has an `id` and `name` property.
|
|
51
|
-
*/
|
|
52
|
-
static isEnumItem(item: any): boolean;
|
|
53
|
-
}
|
|
54
|
-
export {};
|
|
1
|
+
import { StaticDataSource } from '../Data';
|
|
2
|
+
export interface IEnumItem {
|
|
3
|
+
id: number | string;
|
|
4
|
+
name: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
}
|
|
7
|
+
interface IEnumItemDescriptor {
|
|
8
|
+
name: string;
|
|
9
|
+
display: string;
|
|
10
|
+
description?: string;
|
|
11
|
+
order?: number;
|
|
12
|
+
}
|
|
13
|
+
declare class EnumDecorator<T> {
|
|
14
|
+
private enumType;
|
|
15
|
+
static enumDescriptorSymbol: symbol;
|
|
16
|
+
constructor(enumType: T);
|
|
17
|
+
/**
|
|
18
|
+
* Describe the enum item.
|
|
19
|
+
* @param enumItem Item you are describing.
|
|
20
|
+
* @param display Display name to use, e.g. for use in drop downs.
|
|
21
|
+
* @param description Additional description about the item.
|
|
22
|
+
* @param order Override sort order.
|
|
23
|
+
*/
|
|
24
|
+
describe(enumItem: T[keyof T], display: string, description?: string, order?: number): void;
|
|
25
|
+
}
|
|
26
|
+
export declare class EnumHelper {
|
|
27
|
+
/**
|
|
28
|
+
* Decorate an enum and it's items.
|
|
29
|
+
* @param enumType The enum.
|
|
30
|
+
* @param callback Callback decorator. E.g: e.describe(Enum.Item1, "Display Value")
|
|
31
|
+
*/
|
|
32
|
+
static decorateEnum<T>(enumType: T, callback: (decorator: EnumDecorator<T>) => void): void;
|
|
33
|
+
/**
|
|
34
|
+
* Creates a static datasource from an Enum.
|
|
35
|
+
*/
|
|
36
|
+
static asDatasource<T>(enumType: T): StaticDataSource<IEnumItem[]>;
|
|
37
|
+
/**
|
|
38
|
+
* Creates a list of IEnumItem from an enum, using the enum decorator data.
|
|
39
|
+
*/
|
|
40
|
+
static asList(enumObject: any): IEnumItem[];
|
|
41
|
+
/**
|
|
42
|
+
* Gets the metadata for an enum item.
|
|
43
|
+
* @param enumType Enum object. E.g. Status
|
|
44
|
+
* @param enumItem Enum item. E.g. Status.Pending
|
|
45
|
+
*/
|
|
46
|
+
static getItemMetadata<T>(enumType: T, enumItem: T[keyof T]): IEnumItemDescriptor;
|
|
47
|
+
/**
|
|
48
|
+
* Returns `true` if this item looks like an enum item.
|
|
49
|
+
*
|
|
50
|
+
* E.g. has an `id` and `name` property.
|
|
51
|
+
*/
|
|
52
|
+
static isEnumItem(item: any): boolean;
|
|
53
|
+
}
|
|
54
|
+
export {};
|