@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,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 {};
|
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,92 @@
|
|
|
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
|
-
export
|
|
30
|
-
export
|
|
31
|
-
trackingState?: Misc.TrackingState;
|
|
32
|
-
entityIdentifier?: string;
|
|
33
|
-
};
|
|
34
|
-
export
|
|
35
|
-
export
|
|
36
|
-
meta?: never;
|
|
37
|
-
};
|
|
38
|
-
export
|
|
39
|
-
trackingState?: never;
|
|
40
|
-
};
|
|
41
|
-
export interface NeoModelConstructor extends Function {
|
|
42
|
-
neo: NeoTypeInfo;
|
|
43
|
-
}
|
|
44
|
-
export interface
|
|
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
|
+
export type PlainObject<T> = TransformLists<NoModelBase<T>>;
|
|
30
|
+
export type PlainTrackedObject<T> = PlainObject<T> & {
|
|
31
|
+
trackingState?: Misc.TrackingState;
|
|
32
|
+
entityIdentifier?: string;
|
|
33
|
+
};
|
|
34
|
+
export type PlainFlatObject<T> = Pick<T, Exclude<keyof T, keyof IModelBase> & keyof RemoveMethods<T> & keyof RemoveChildren<T>>;
|
|
35
|
+
export type PartialPlainObject<T> = Partial<PlainObject<T>> & {
|
|
36
|
+
meta?: never;
|
|
37
|
+
};
|
|
38
|
+
export type PartialPlainNonTrackedObject<T> = PartialPlainObject<T> & {
|
|
39
|
+
trackingState?: never;
|
|
40
|
+
};
|
|
41
|
+
export interface NeoModelConstructor extends Function {
|
|
42
|
+
neo: NeoTypeInfo;
|
|
43
|
+
}
|
|
44
|
+
export interface IMakeBindableOptions {
|
|
45
|
+
/**
|
|
46
|
+
* Specifies whether properties should be observable
|
|
47
|
+
* * If this is `true`, all properties will be observable by default.
|
|
48
|
+
* * If `false` only properties decorated with @Attributes.Observable will be made observable.
|
|
49
|
+
* * If `undefined`, only types that inherit from `ModelBase` will be observable by default.
|
|
50
|
+
*/
|
|
51
|
+
makeObservable?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* If `true`, this instance will not be converted. In inheritence heirarchies, use this to ensure only the last derived type converts the instance.
|
|
54
|
+
*/
|
|
55
|
+
skipConversion?: boolean;
|
|
56
|
+
}
|
|
57
|
+
export interface IDebounceOptions {
|
|
58
|
+
delayMs?: number;
|
|
59
|
+
}
|
|
60
|
+
export interface IBindableBase {
|
|
61
|
+
meta: {
|
|
62
|
+
[index: string]: IPropertyInstance;
|
|
63
|
+
};
|
|
64
|
+
set(jsObject: any): void;
|
|
65
|
+
}
|
|
66
|
+
export interface INonObservableModelBase extends IBindableBase {
|
|
67
|
+
isSuspended: boolean;
|
|
68
|
+
validator: IModelValidator;
|
|
69
|
+
markOld(recurse?: boolean): void;
|
|
70
|
+
toJSObject(options: ISerialiseOptions): PlainObject<this>;
|
|
71
|
+
update(jsObject: any): void;
|
|
72
|
+
toQueryObject(): PlainFlatObject<this>;
|
|
73
|
+
toQueryObjectAuto(callback: (queryObject: PlainFlatObject<this>) => void, options?: IDebounceOptions): Misc.IAutoRunner;
|
|
74
|
+
onAnyPropertyChanged(callback: () => void, options?: Misc.IAutoRunnerOptions<this>): Misc.IAutoRunner;
|
|
75
|
+
/** Icon to display next to toString() text. */
|
|
76
|
+
getIcon(): string;
|
|
77
|
+
}
|
|
78
|
+
export interface IModelBaseInternal {
|
|
79
|
+
addBusinessRules(validationRules: ValidationRules<IModelBase>): void;
|
|
80
|
+
onDeserialiseCompleted(wasCreated: boolean): void;
|
|
81
|
+
canSerialise(shouldSerialise: boolean): boolean;
|
|
82
|
+
}
|
|
83
|
+
export interface IModelBase extends INonObservableModelBase {
|
|
84
|
+
entityIdentifier: string;
|
|
85
|
+
isSelfDirty: boolean;
|
|
86
|
+
isNew: boolean;
|
|
87
|
+
readonly isSelfValid: boolean;
|
|
88
|
+
readonly isValid: boolean;
|
|
89
|
+
readonly isDirty: boolean;
|
|
90
|
+
readonly readyToSave: boolean;
|
|
91
|
+
}
|
|
92
|
+
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 {};
|