@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
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
|
+
}
|
package/dist/Model/List.js
CHANGED
|
@@ -1,198 +1,208 @@
|
|
|
1
|
-
import { __assign, __extends } from "tslib";
|
|
2
|
-
import { JSFormatter } from '../Data/Serialiser';
|
|
3
|
-
import { Utils } from '../Utils';
|
|
4
|
-
import { ObservableValue } from './ObservableValue';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
_this
|
|
10
|
-
_this.
|
|
11
|
-
|
|
12
|
-
|
|
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
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
proxy.
|
|
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
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
List.prototype.
|
|
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
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
}
|
|
198
|
-
|
|
1
|
+
import { __assign, __extends } from "tslib";
|
|
2
|
+
import { JSFormatter } from '../Data/Serialiser';
|
|
3
|
+
import { Utils } from '../Utils';
|
|
4
|
+
import { ObservableValue } from './ObservableValue';
|
|
5
|
+
import { NeoTypeInfo } from './NeoTypeInfo';
|
|
6
|
+
var List = /** @class */ (function (_super) {
|
|
7
|
+
__extends(List, _super);
|
|
8
|
+
function List(childObjectType) {
|
|
9
|
+
var _this = _super.call(this) || this;
|
|
10
|
+
_this.childObjectType = childObjectType;
|
|
11
|
+
_this._deletedList = new ObservableValue([]);
|
|
12
|
+
List.copyMethods(_this);
|
|
13
|
+
return _this;
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(List.prototype, "deletedList", {
|
|
16
|
+
get: function () {
|
|
17
|
+
return this._deletedList.value;
|
|
18
|
+
},
|
|
19
|
+
enumerable: false,
|
|
20
|
+
configurable: true
|
|
21
|
+
});
|
|
22
|
+
/**
|
|
23
|
+
* Copies the methods and properties from the prototype to the new instance.
|
|
24
|
+
* This is needed because vue / mobx changes the prototype to its own.
|
|
25
|
+
*/
|
|
26
|
+
List.copyMethods = function (toInstance) {
|
|
27
|
+
toInstance.baseMethods = {};
|
|
28
|
+
for (var _i = 0, _a = Object.getOwnPropertyNames(this.prototype); _i < _a.length; _i++) {
|
|
29
|
+
var propertyName = _a[_i];
|
|
30
|
+
if (propertyName !== "constructor") {
|
|
31
|
+
var descriptor = Object.getOwnPropertyDescriptor(this.prototype, propertyName);
|
|
32
|
+
if (descriptor.value !== void 0) {
|
|
33
|
+
// Method
|
|
34
|
+
if (toInstance[propertyName]) {
|
|
35
|
+
toInstance.baseMethods[propertyName] = toInstance[propertyName];
|
|
36
|
+
}
|
|
37
|
+
// @ts-ignore
|
|
38
|
+
toInstance[propertyName] = this.prototype[propertyName];
|
|
39
|
+
}
|
|
40
|
+
else if (descriptor.get) {
|
|
41
|
+
Object.defineProperty(toInstance, propertyName, descriptor);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
List.prototype.setupProxy = function (proxy, attachedTo) {
|
|
47
|
+
proxy.childObjectType = this.childObjectType;
|
|
48
|
+
proxy._deletedList = new ObservableValue([]);
|
|
49
|
+
proxy.attachedTo = attachedTo;
|
|
50
|
+
};
|
|
51
|
+
List.prototype.toJSArray = function (options) {
|
|
52
|
+
if (options === void 0) { options = {}; }
|
|
53
|
+
return JSFormatter.serialise(this, options);
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Converts a plain javascript Array to a neo model graph.
|
|
57
|
+
* Replaces a list - Items in the list, but not in jsArray will be removed.
|
|
58
|
+
* If you need missing items to remain, use update() instead.
|
|
59
|
+
* This will generally be used after calling toJSArray(includeClean = true)
|
|
60
|
+
* */
|
|
61
|
+
List.prototype.set = function (jsArray, options) {
|
|
62
|
+
JSFormatter.deserialise(jsArray, this, this.childObjectType, __assign({ removeOldItems: true }, options));
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* Converts a plain javascript Array to a neo model graph.
|
|
66
|
+
* Updates a list - Items in the list, but not in jsArray will remain in the list.
|
|
67
|
+
* If you need to replace the List with jsArray, use set() instead.
|
|
68
|
+
* This will generally be used after calling toJSArray(includeClean = false)
|
|
69
|
+
* */
|
|
70
|
+
List.prototype.update = function (jsArray, options) {
|
|
71
|
+
JSFormatter.deserialise(jsArray, this, this.childObjectType, options);
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Converts a plain javascript array into a neo model graph.
|
|
75
|
+
*/
|
|
76
|
+
List.fromJSArray = function (childType, jsArray, options) {
|
|
77
|
+
var list = new List(childType);
|
|
78
|
+
list.set(jsArray, options);
|
|
79
|
+
return list;
|
|
80
|
+
};
|
|
81
|
+
/** Creates a new item of type T */
|
|
82
|
+
List.prototype.createChild = function () {
|
|
83
|
+
return new this.childObjectType();
|
|
84
|
+
};
|
|
85
|
+
List.prototype.push = function () {
|
|
86
|
+
var _this = this;
|
|
87
|
+
var items = [];
|
|
88
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
89
|
+
items[_i] = arguments[_i];
|
|
90
|
+
}
|
|
91
|
+
items.forEach(function (item) {
|
|
92
|
+
if (!(item instanceof _this.childObjectType)) {
|
|
93
|
+
throw "Type error, cannot add item of type " + Utils.getTypeName(item.constructor) + " to list of type " + Utils.getTypeName(_this.childObjectType) + ".";
|
|
94
|
+
}
|
|
95
|
+
_this.setParent(item);
|
|
96
|
+
});
|
|
97
|
+
return this.baseMethods.push.apply(this, items);
|
|
98
|
+
};
|
|
99
|
+
List.prototype.clearDeletedList = function () {
|
|
100
|
+
this._deletedList.value = [];
|
|
101
|
+
};
|
|
102
|
+
List.prototype.setParent = function (item) {
|
|
103
|
+
if (this.attachedTo) {
|
|
104
|
+
var itemConstructor = this.childObjectType.prototype.constructor;
|
|
105
|
+
// set the parent property
|
|
106
|
+
if (itemConstructor.neo) {
|
|
107
|
+
var parentConstructor = this.attachedTo.constructor.prototype.constructor;
|
|
108
|
+
var parentProperty = null;
|
|
109
|
+
// check default parent
|
|
110
|
+
if (itemConstructor.neo.parentProperty && Utils.sameTypes(parentConstructor, itemConstructor.neo.parentProperty.typeWithAssert)) {
|
|
111
|
+
parentProperty = itemConstructor.neo.parentProperty;
|
|
112
|
+
}
|
|
113
|
+
// check for other parents
|
|
114
|
+
var parents = itemConstructor.neo.parentProperties;
|
|
115
|
+
if (!parentProperty && parents.length > 1) {
|
|
116
|
+
for (var i = 0; i < parents.length; i++) {
|
|
117
|
+
if (Utils.sameTypes(parentConstructor, parents[i].typeWithAssert)) {
|
|
118
|
+
parentProperty = parents[i];
|
|
119
|
+
break;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
if (parentProperty) {
|
|
124
|
+
// @ts-ignore
|
|
125
|
+
item[parentProperty.propertyName] = this.attachedTo;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
/** Creates a new item of type T, adds it to the array and returns the new item. */
|
|
131
|
+
List.prototype.addNew = function () {
|
|
132
|
+
var newItem = this.createChild();
|
|
133
|
+
this.push(newItem);
|
|
134
|
+
return newItem;
|
|
135
|
+
};
|
|
136
|
+
/**
|
|
137
|
+
* Removes an item from the array, and adds it to the deleted list. Deleted items will be included when calling toJSArray
|
|
138
|
+
* @param item Item to remove
|
|
139
|
+
*/
|
|
140
|
+
List.prototype.remove = function (item) {
|
|
141
|
+
this.removeItem(item, true);
|
|
142
|
+
};
|
|
143
|
+
/**
|
|
144
|
+
* Removes an item from the array without adding it to the deleted list.
|
|
145
|
+
* @param item Item to remove
|
|
146
|
+
*/
|
|
147
|
+
List.prototype.removeWithoutTracking = function (item) {
|
|
148
|
+
this.removeItem(item, false);
|
|
149
|
+
};
|
|
150
|
+
List.prototype.removeItem = function (item, addToDeletedList) {
|
|
151
|
+
var index = this.indexOf(item);
|
|
152
|
+
if (index >= 0) {
|
|
153
|
+
if (addToDeletedList && item.entityIdentifier) {
|
|
154
|
+
if (this.deletedList.indexOf(item) == -1 && !item.isNew)
|
|
155
|
+
this.deletedList.push(item);
|
|
156
|
+
}
|
|
157
|
+
this.splice(index, 1);
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
/** Returns a static meta object containing all the properties of the lists item type. */
|
|
161
|
+
List.prototype.getMetaItem = function () {
|
|
162
|
+
if (this.length) {
|
|
163
|
+
return this[0];
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
var ctor = this.childObjectType.prototype.constructor;
|
|
167
|
+
return NeoTypeInfo.ensureInitialised(ctor).metaItem;
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
Object.defineProperty(List.prototype, "isValid", {
|
|
171
|
+
/** True if all items in the list are valid. */
|
|
172
|
+
get: function () {
|
|
173
|
+
for (var i = 0; i < this.length; i++) {
|
|
174
|
+
if (!this[i].isValid) {
|
|
175
|
+
return false;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
return true;
|
|
179
|
+
},
|
|
180
|
+
enumerable: false,
|
|
181
|
+
configurable: true
|
|
182
|
+
});
|
|
183
|
+
Object.defineProperty(List.prototype, "isDirty", {
|
|
184
|
+
/** True if any item in the list is dirty, or the list contains any deleted items. */
|
|
185
|
+
get: function () {
|
|
186
|
+
if (this.deletedList.length)
|
|
187
|
+
return true;
|
|
188
|
+
for (var i = 0; i < this.length; i++) {
|
|
189
|
+
if (this[i].isDirty) {
|
|
190
|
+
return true;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
return false;
|
|
194
|
+
},
|
|
195
|
+
enumerable: false,
|
|
196
|
+
configurable: true
|
|
197
|
+
});
|
|
198
|
+
Object.defineProperty(List.prototype, "readyToSave", {
|
|
199
|
+
/** Indicates that the model is dirty and valid and can be saved. */
|
|
200
|
+
get: function () {
|
|
201
|
+
return this.isDirty && this.isValid;
|
|
202
|
+
},
|
|
203
|
+
enumerable: false,
|
|
204
|
+
configurable: true
|
|
205
|
+
});
|
|
206
|
+
return List;
|
|
207
|
+
}(Array));
|
|
208
|
+
export default List;
|
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { IDeserialiseOptions } from '../Data/Deserialiser';
|
|
2
|
+
import { BindableBase } from './BindableBase';
|
|
3
|
+
import { IBindableBase, PartialPlainObject } from './IModelBase';
|
|
4
|
+
export interface ILookupBase extends IBindableBase {
|
|
5
|
+
}
|
|
6
|
+
export declare abstract class LookupBase extends BindableBase implements ILookupBase {
|
|
7
|
+
/**
|
|
8
|
+
* @deprecated Models that extend LookupBase are designed to be immutable.
|
|
9
|
+
* Calling set() on an instance that is already being observed will not cause the ui to update.
|
|
10
|
+
* Rather deserialise on create using `MyLookup.fromJSObject<MyLookup>(data)`.
|
|
11
|
+
* */
|
|
12
|
+
set(jsObject: PartialPlainObject<this>, options?: IDeserialiseOptions): void;
|
|
13
|
+
}
|
package/dist/Model/LookupBase.js
CHANGED
|
@@ -1,10 +1,19 @@
|
|
|
1
|
-
import { __extends } from "tslib";
|
|
2
|
-
import { BindableBase } from './BindableBase';
|
|
3
|
-
var LookupBase = /** @class */ (function (_super) {
|
|
4
|
-
__extends(LookupBase, _super);
|
|
5
|
-
function LookupBase() {
|
|
6
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
import { __extends } from "tslib";
|
|
2
|
+
import { BindableBase } from './BindableBase';
|
|
3
|
+
var LookupBase = /** @class */ (function (_super) {
|
|
4
|
+
__extends(LookupBase, _super);
|
|
5
|
+
function LookupBase() {
|
|
6
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* @deprecated Models that extend LookupBase are designed to be immutable.
|
|
10
|
+
* Calling set() on an instance that is already being observed will not cause the ui to update.
|
|
11
|
+
* Rather deserialise on create using `MyLookup.fromJSObject<MyLookup>(data)`.
|
|
12
|
+
* */
|
|
13
|
+
LookupBase.prototype.set = function (jsObject, options) {
|
|
14
|
+
console.warn("Do not use the set() method on lookup models. Rather use the static fromJSObject().");
|
|
15
|
+
_super.prototype.set.call(this, jsObject, options);
|
|
16
|
+
};
|
|
17
|
+
return LookupBase;
|
|
18
|
+
}(BindableBase));
|
|
19
|
+
export { LookupBase };
|