@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.
Files changed (296) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/ApiClient/ApiClientBase.d.ts +5 -5
  3. package/dist/ApiClient/ApiClientBase.js +13 -13
  4. package/dist/ApiClient/ReadApiClient.d.ts +16 -16
  5. package/dist/ApiClient/ReadApiClient.js +24 -24
  6. package/dist/ApiClient/UpdateableApiClient.d.ts +28 -28
  7. package/dist/ApiClient/UpdateableApiClient.js +33 -33
  8. package/dist/AppServices/AppService.d.ts +46 -46
  9. package/dist/AppServices/AppService.js +25 -25
  10. package/dist/AppServices/Config/ConfigModel.d.ts +21 -20
  11. package/dist/AppServices/Config/ConfigModel.js +28 -17
  12. package/dist/AppServices/Config/ConfigService.d.ts +15 -15
  13. package/dist/AppServices/Config/ConfigService.js +49 -53
  14. package/dist/AppServices/Module.d.ts +11 -11
  15. package/dist/AppServices/Module.js +13 -13
  16. package/dist/AppServices/NeoContainer.d.ts +22 -22
  17. package/dist/AppServices/NeoContainer.js +42 -42
  18. package/dist/AppServices/NeoModule.d.ts +3 -3
  19. package/dist/AppServices/NeoModule.js +30 -30
  20. package/dist/AppServices/NeoTypes.d.ts +61 -61
  21. package/dist/AppServices/NeoTypes.js +42 -42
  22. package/dist/AppServices/ServiceIdentifier.d.ts +23 -23
  23. package/dist/AppServices/ServiceIdentifier.js +38 -39
  24. package/dist/AppServices/index.d.ts +7 -7
  25. package/dist/AppServices/index.js +7 -7
  26. package/dist/Components/AnimationHelper.d.ts +69 -69
  27. package/dist/Components/AnimationHelper.js +182 -182
  28. package/dist/Components/BootstrapHelpers.d.ts +8 -8
  29. package/dist/Components/BootstrapHelpers.js +30 -30
  30. package/dist/Components/BootstrapTypes.d.ts +35 -35
  31. package/dist/Components/BootstrapTypes.js +1 -1
  32. package/dist/Components/ButtonOptions.d.ts +63 -61
  33. package/dist/Components/ButtonOptions.js +1 -1
  34. package/dist/Components/ContextMenu/ContextMenu.d.ts +16 -16
  35. package/dist/Components/ContextMenu/ContextMenu.js +1 -1
  36. package/dist/Components/ContextMenu/MenuUtils.d.ts +16 -16
  37. package/dist/Components/ContextMenu/MenuUtils.js +34 -34
  38. package/dist/Components/DatePicker/DatePicker.d.ts +70 -69
  39. package/dist/Components/DatePicker/DatePicker.js +502 -487
  40. package/dist/Components/DatePicker/DatePickerOptions.d.ts +43 -34
  41. package/dist/Components/DatePicker/DatePickerOptions.js +33 -33
  42. package/dist/Components/ErrorHandler.d.ts +59 -55
  43. package/dist/Components/ErrorHandler.js +210 -138
  44. package/dist/Components/FileManager/BoundFileManager.d.ts +18 -18
  45. package/dist/Components/FileManager/BoundFileManager.js +60 -60
  46. package/dist/Components/FileManager/FileManager.d.ts +80 -78
  47. package/dist/Components/FileManager/FileManager.js +277 -257
  48. package/dist/Components/FileManager/FileUploadBatch.d.ts +37 -37
  49. package/dist/Components/FileManager/FileUploadBatch.js +83 -82
  50. package/dist/Components/FileManager/IFileManagerOptions.d.ts +42 -42
  51. package/dist/Components/FileManager/IFileManagerOptions.js +1 -1
  52. package/dist/Components/FormOptions.d.ts +34 -34
  53. package/dist/Components/FormOptions.js +1 -1
  54. package/dist/Components/ICollapsableOptions.d.ts +11 -11
  55. package/dist/Components/ICollapsableOptions.js +1 -1
  56. package/dist/Components/Modal/ModalHelper.d.ts +31 -31
  57. package/dist/Components/Modal/ModalHelper.js +174 -174
  58. package/dist/Components/Modal/ModalOptions.d.ts +61 -61
  59. package/dist/Components/Modal/ModalOptions.js +1 -1
  60. package/dist/Components/Modal/ModalStore.d.ts +32 -32
  61. package/dist/Components/Modal/ModalStore.js +82 -82
  62. package/dist/Components/Modal/ModalUtils.d.ts +61 -61
  63. package/dist/Components/Modal/ModalUtils.js +109 -109
  64. package/dist/Components/Notifications/INotificationHelper.d.ts +56 -56
  65. package/dist/Components/Notifications/INotificationHelper.js +1 -1
  66. package/dist/Components/Notifications/Notification.d.ts +32 -32
  67. package/dist/Components/Notifications/Notification.js +26 -27
  68. package/dist/Components/Notifications/NotificationHelper.d.ts +63 -63
  69. package/dist/Components/Notifications/NotificationHelper.js +111 -112
  70. package/dist/Components/Notifications/NotificationStore.d.ts +34 -34
  71. package/dist/Components/Notifications/NotificationStore.js +78 -79
  72. package/dist/Components/PositionHelper.d.ts +10 -10
  73. package/dist/Components/PositionHelper.js +43 -43
  74. package/dist/Components/TaskRunner/Decorators.d.ts +6 -6
  75. package/dist/Components/TaskRunner/Decorators.js +24 -24
  76. package/dist/Components/TaskRunner/ProgressState.d.ts +22 -22
  77. package/dist/Components/TaskRunner/ProgressState.js +71 -72
  78. package/dist/Components/TaskRunner/TaskRunner.d.ts +114 -114
  79. package/dist/Components/TaskRunner/TaskRunner.js +253 -244
  80. package/dist/Components/TooltipOptions.d.ts +8 -8
  81. package/dist/Components/TooltipOptions.js +1 -1
  82. package/dist/Components/index.d.ts +22 -22
  83. package/dist/Components/index.js +13 -13
  84. package/dist/ConnectionManager.d.ts +45 -45
  85. package/dist/ConnectionManager.js +60 -61
  86. package/dist/Data/ApiDataSource.d.ts +46 -46
  87. package/dist/Data/ApiDataSource.js +140 -144
  88. package/dist/Data/AsyncDataSource.d.ts +35 -35
  89. package/dist/Data/AsyncDataSource.js +79 -80
  90. package/dist/Data/CacheService.d.ts +40 -40
  91. package/dist/Data/CacheService.js +63 -64
  92. package/dist/Data/DataCacheEntry.d.ts +42 -42
  93. package/dist/Data/DataCacheEntry.js +80 -80
  94. package/dist/Data/DataView.d.ts +43 -43
  95. package/dist/Data/DataView.js +173 -172
  96. package/dist/Data/Deserialiser.d.ts +42 -42
  97. package/dist/Data/Deserialiser.js +255 -255
  98. package/dist/Data/Paging/PageManager.d.ts +167 -167
  99. package/dist/Data/Paging/PageManager.js +323 -323
  100. package/dist/Data/Paging/PageRequest.d.ts +24 -24
  101. package/dist/Data/Paging/PageRequest.js +38 -39
  102. package/dist/Data/Paging/PageResult.d.ts +10 -10
  103. package/dist/Data/Paging/PageResult.js +14 -14
  104. package/dist/Data/Serialiser.d.ts +41 -41
  105. package/dist/Data/Serialiser.js +201 -201
  106. package/dist/Data/SortOperation.d.ts +8 -8
  107. package/dist/Data/SortOperation.js +26 -26
  108. package/dist/Data/StaticDataSource.d.ts +9 -9
  109. package/dist/Data/StaticDataSource.js +27 -27
  110. package/dist/Data/WindowedDataView.d.ts +8 -8
  111. package/dist/Data/WindowedDataView.js +49 -50
  112. package/dist/Data/index.d.ts +15 -15
  113. package/dist/Data/index.js +15 -15
  114. package/dist/Dates/DateUtils.d.ts +47 -47
  115. package/dist/Dates/DateUtils.js +226 -226
  116. package/dist/Dates/TimeSpan.d.ts +24 -24
  117. package/dist/Dates/TimeSpan.js +46 -46
  118. package/dist/DebounceHelper.d.ts +44 -38
  119. package/dist/DebounceHelper.js +122 -95
  120. package/dist/Extensions.d.ts +82 -82
  121. package/dist/Extensions.js +182 -182
  122. package/dist/FileUtils.d.ts +6 -6
  123. package/dist/FileUtils.js +37 -37
  124. package/dist/Globals.d.ts +19 -19
  125. package/dist/Globals.js +41 -41
  126. package/dist/JsonSchema/ClassMetadata.d.ts +25 -25
  127. package/dist/JsonSchema/ClassMetadata.js +53 -53
  128. package/dist/JsonSchema/JsonData.d.ts +16 -16
  129. package/dist/JsonSchema/JsonData.js +97 -97
  130. package/dist/JsonSchema/JsonSchemaTypes.d.ts +37 -37
  131. package/dist/JsonSchema/JsonSchemaTypes.js +1 -1
  132. package/dist/JsonSchema/PropertyMetadata.d.ts +8 -8
  133. package/dist/JsonSchema/PropertyMetadata.js +8 -8
  134. package/dist/JsonSchema/TypeCache.d.ts +16 -16
  135. package/dist/JsonSchema/TypeCache.js +44 -44
  136. package/dist/JsonSchema/TypeMetadata.d.ts +45 -45
  137. package/dist/JsonSchema/TypeMetadata.js +170 -170
  138. package/dist/JsonSchema/index.d.ts +7 -7
  139. package/dist/JsonSchema/index.js +6 -6
  140. package/dist/Localisation/ILocalisationService.d.ts +11 -11
  141. package/dist/Localisation/ILocalisationService.js +1 -1
  142. package/dist/Localisation/LocalisationService.d.ts +4 -4
  143. package/dist/Localisation/LocalisationService.js +17 -17
  144. package/dist/Localisation/index.d.ts +1 -1
  145. package/dist/Localisation/index.js +1 -1
  146. package/dist/Misc.d.ts +6 -6
  147. package/dist/Misc.js +6 -6
  148. package/dist/Model/BaseModels/AuditValues.d.ts +12 -12
  149. package/dist/Model/BaseModels/AuditValues.js +46 -48
  150. package/dist/Model/BaseModels/CriteriaBase.d.ts +18 -16
  151. package/dist/Model/BaseModels/CriteriaBase.js +45 -34
  152. package/dist/Model/BaseModels/FileDescriptorBase.d.ts +12 -12
  153. package/dist/Model/BaseModels/FileDescriptorBase.js +22 -22
  154. package/dist/Model/BaseModels/ReasonedUserEvent.d.ts +5 -4
  155. package/dist/Model/BaseModels/ReasonedUserEvent.js +23 -19
  156. package/dist/Model/BaseModels/UserEvent.d.ts +9 -8
  157. package/dist/Model/BaseModels/UserEvent.js +36 -32
  158. package/dist/Model/BindableBase.d.ts +46 -40
  159. package/dist/Model/BindableBase.js +79 -76
  160. package/dist/Model/Decorators.d.ts +47 -44
  161. package/dist/Model/Decorators.js +182 -177
  162. package/dist/Model/EnumHelper.d.ts +54 -54
  163. package/dist/Model/EnumHelper.js +104 -100
  164. package/dist/Model/IAutoRunner.d.ts +5 -5
  165. package/dist/Model/IAutoRunner.js +1 -1
  166. package/dist/Model/IModelBase.d.ts +92 -79
  167. package/dist/Model/IModelBase.js +1 -1
  168. package/dist/Model/IModelCreatorBase.d.ts +9 -9
  169. package/dist/Model/IModelCreatorBase.js +1 -1
  170. package/dist/Model/List.d.ts +79 -77
  171. package/dist/Model/List.js +208 -198
  172. package/dist/Model/LookupBase.d.ts +13 -6
  173. package/dist/Model/LookupBase.js +19 -10
  174. package/dist/Model/Misc.d.ts +83 -81
  175. package/dist/Model/Misc.js +59 -59
  176. package/dist/Model/ModelBase.d.ts +88 -86
  177. package/dist/Model/ModelBase.js +182 -180
  178. package/dist/Model/ModelCreatorBase.d.ts +24 -23
  179. package/dist/Model/ModelCreatorBase.js +92 -92
  180. package/dist/Model/ModelFieldInfo.d.ts +29 -12
  181. package/dist/Model/ModelFieldInfo.js +35 -26
  182. package/dist/Model/ModelGraphTraverser.d.ts +35 -35
  183. package/dist/Model/ModelGraphTraverser.js +101 -99
  184. package/dist/Model/NeoModel.d.ts +6 -6
  185. package/dist/Model/NeoModel.js +13 -13
  186. package/dist/Model/NeoTypeInfo.d.ts +52 -41
  187. package/dist/Model/NeoTypeInfo.js +300 -250
  188. package/dist/Model/ObservableProperty.d.ts +8 -8
  189. package/dist/Model/ObservableProperty.js +41 -41
  190. package/dist/Model/ObservableValue.d.ts +9 -9
  191. package/dist/Model/ObservableValue.js +25 -26
  192. package/dist/Model/PropertyInfo.d.ts +83 -81
  193. package/dist/Model/PropertyInfo.js +138 -137
  194. package/dist/Model/PropertyInstance.d.ts +84 -48
  195. package/dist/Model/PropertyInstance.js +173 -113
  196. package/dist/Model/ValueObject.d.ts +3 -3
  197. package/dist/Model/ValueObject.js +10 -10
  198. package/dist/Model/index.d.ts +15 -14
  199. package/dist/Model/index.js +13 -12
  200. package/dist/NumberUtils.d.ts +63 -49
  201. package/dist/NumberUtils.js +247 -197
  202. package/dist/Routing/IMenuItemProvider.d.ts +9 -9
  203. package/dist/Routing/IMenuItemProvider.js +1 -1
  204. package/dist/Routing/IMenuRoute.d.ts +18 -18
  205. package/dist/Routing/IMenuRoute.js +1 -1
  206. package/dist/Routing/INavigationHelper.d.ts +7 -7
  207. package/dist/Routing/INavigationHelper.js +1 -1
  208. package/dist/Routing/IPageLeaveHandler.d.ts +23 -23
  209. package/dist/Routing/IPageLeaveHandler.js +7 -7
  210. package/dist/Routing/IRoute.d.ts +27 -27
  211. package/dist/Routing/IRoute.js +1 -1
  212. package/dist/Routing/IRouteSecurityService.d.ts +14 -14
  213. package/dist/Routing/IRouteSecurityService.js +1 -1
  214. package/dist/Routing/MenuItemProvider.d.ts +17 -17
  215. package/dist/Routing/MenuItemProvider.js +53 -54
  216. package/dist/Routing/RouteSecurityService.d.ts +18 -18
  217. package/dist/Routing/RouteSecurityService.js +35 -36
  218. package/dist/Routing/index.d.ts +7 -7
  219. package/dist/Routing/index.js +3 -3
  220. package/dist/Security/IAuthenticationService.d.ts +41 -36
  221. package/dist/Security/IAuthenticationService.js +1 -1
  222. package/dist/Security/IAuthorisationService.d.ts +11 -11
  223. package/dist/Security/IAuthorisationService.js +1 -1
  224. package/dist/Security/ILoginErrorHandler.d.ts +4 -4
  225. package/dist/Security/ILoginErrorHandler.js +1 -1
  226. package/dist/Security/ISecurityService.d.ts +10 -10
  227. package/dist/Security/ISecurityService.js +1 -1
  228. package/dist/Security/IUser.d.ts +10 -10
  229. package/dist/Security/IUser.js +1 -1
  230. package/dist/Security/IUserRole.d.ts +6 -6
  231. package/dist/Security/IUserRole.js +1 -1
  232. package/dist/Security/LoginErrorHandler.d.ts +15 -15
  233. package/dist/Security/LoginErrorHandler.js +97 -98
  234. package/dist/Security/Oidc/OidcAuthService.d.ts +67 -60
  235. package/dist/Security/Oidc/OidcAuthService.js +216 -189
  236. package/dist/Security/Oidc/OidcTypes.d.ts +46 -29
  237. package/dist/Security/Oidc/OidcTypes.js +1 -1
  238. package/dist/Security/Oidc/OidcUser.d.ts +9 -9
  239. package/dist/Security/Oidc/OidcUser.js +33 -33
  240. package/dist/Security/SecurityService.d.ts +12 -12
  241. package/dist/Security/SecurityService.js +33 -34
  242. package/dist/Security/SignInResult.d.ts +13 -13
  243. package/dist/Security/SignInResult.js +8 -8
  244. package/dist/Security/User.d.ts +12 -12
  245. package/dist/Security/User.js +24 -24
  246. package/dist/Security/index.d.ts +10 -10
  247. package/dist/Security/index.js +5 -5
  248. package/dist/Settings.d.ts +71 -57
  249. package/dist/Settings.js +100 -87
  250. package/dist/SignalR/HubBase.d.ts +70 -70
  251. package/dist/SignalR/HubBase.js +164 -164
  252. package/dist/SignalR/HubReceiver.d.ts +11 -11
  253. package/dist/SignalR/HubReceiver.js +25 -25
  254. package/dist/SignalR/HubSubscription.d.ts +12 -12
  255. package/dist/SignalR/HubSubscription.js +14 -14
  256. package/dist/SignalR/index.d.ts +3 -3
  257. package/dist/SignalR/index.js +1 -1
  258. package/dist/StringUtils.d.ts +7 -7
  259. package/dist/StringUtils.js +24 -24
  260. package/dist/Utils.d.ts +81 -80
  261. package/dist/Utils.js +220 -218
  262. package/dist/Validation/Decorators.d.ts +12 -12
  263. package/dist/Validation/Decorators.js +52 -52
  264. package/dist/Validation/DisplayHelper.d.ts +20 -19
  265. package/dist/Validation/DisplayHelper.js +104 -104
  266. package/dist/Validation/Misc.d.ts +10 -10
  267. package/dist/Validation/Misc.js +11 -11
  268. package/dist/Validation/ModelProxy.d.ts +20 -20
  269. package/dist/Validation/ModelProxy.js +46 -46
  270. package/dist/Validation/RuleContext.d.ts +86 -86
  271. package/dist/Validation/RuleContext.js +130 -130
  272. package/dist/Validation/Rules.d.ts +70 -70
  273. package/dist/Validation/Rules.js +177 -177
  274. package/dist/Validation/ValidationHelpers.d.ts +12 -12
  275. package/dist/Validation/ValidationHelpers.js +57 -57
  276. package/dist/Validation/ValidationRules.d.ts +18 -18
  277. package/dist/Validation/ValidationRules.js +34 -34
  278. package/dist/Validation/ValidationState.d.ts +42 -42
  279. package/dist/Validation/ValidationState.js +74 -74
  280. package/dist/Validation/Validators/IModelValidator.d.ts +28 -24
  281. package/dist/Validation/Validators/IModelValidator.js +1 -1
  282. package/dist/Validation/Validators/IPropertyValidator.d.ts +21 -21
  283. package/dist/Validation/Validators/IPropertyValidator.js +15 -15
  284. package/dist/Validation/Validators/ModelValidator.d.ts +46 -45
  285. package/dist/Validation/Validators/ModelValidator.js +143 -137
  286. package/dist/Validation/Validators/PropertyValidator.d.ts +21 -21
  287. package/dist/Validation/Validators/PropertyValidator.js +64 -67
  288. package/dist/Validation/Validators/RuleValidator.d.ts +19 -19
  289. package/dist/Validation/Validators/RuleValidator.js +51 -55
  290. package/dist/Validation/index.d.ts +9 -9
  291. package/dist/Validation/index.js +7 -7
  292. package/dist/Views/IViewBase.d.ts +5 -5
  293. package/dist/Views/IViewBase.js +1 -1
  294. package/dist/index.d.ts +37 -36
  295. package/dist/index.js +44 -43
  296. package/package.json +11 -10
@@ -1,26 +1,35 @@
1
- import { __decorate, __extends, __metadata } from "tslib";
2
- import ValueObject from "./ValueObject";
3
- import NeoModel from './NeoModel';
4
- var ModelFieldInfo = /** @class */ (function (_super) {
5
- __extends(ModelFieldInfo, _super);
6
- function ModelFieldInfo(displayName, valueString) {
7
- var _this = _super.call(this) || this;
8
- /**
9
- * Display name for the field.
10
- */
11
- _this.displayName = "";
12
- /**
13
- * Lookup of the field value
14
- */
15
- _this.valueString = "";
16
- _this.displayName = displayName;
17
- _this.valueString = valueString;
18
- return _this;
19
- }
20
- ModelFieldInfo = __decorate([
21
- NeoModel,
22
- __metadata("design:paramtypes", [String, String])
23
- ], ModelFieldInfo);
24
- return ModelFieldInfo;
25
- }(ValueObject));
26
- export { ModelFieldInfo };
1
+ import { __decorate, __extends, __metadata } from "tslib";
2
+ import ValueObject from "./ValueObject";
3
+ import NeoModel from './NeoModel';
4
+ export var ModelFieldInfo = /** @class */ (function (_super) {
5
+ __extends(ModelFieldInfo, _super);
6
+ function ModelFieldInfo(displayName, valueString) {
7
+ var _this = _super.call(this) || this;
8
+ /**
9
+ * Display name for the field.
10
+ */
11
+ _this.displayName = "";
12
+ /**
13
+ * Lookup of the field value
14
+ */
15
+ _this.valueString = "";
16
+ _this.displayName = displayName;
17
+ _this.valueString = valueString;
18
+ return _this;
19
+ }
20
+ /**
21
+ * If the instance is a container of ModelFieldInfo, the instance is returned, otherwise null is returned.
22
+ */
23
+ ModelFieldInfo.asModelFieldInfoContainer = function (instance) {
24
+ if (instance.fieldInfo &&
25
+ instance.setModelFieldInfo) {
26
+ return instance;
27
+ }
28
+ return null;
29
+ };
30
+ ModelFieldInfo = __decorate([
31
+ NeoModel,
32
+ __metadata("design:paramtypes", [String, String])
33
+ ], ModelFieldInfo);
34
+ return ModelFieldInfo;
35
+ }(ValueObject));
@@ -1,35 +1,35 @@
1
- import { RelationType } from './Misc';
2
- import { IModelBase } from './IModelBase';
3
- import PropertyInfo from './PropertyInfo';
4
- export declare class RecursionState {
5
- stop: boolean;
6
- canRecurse: (model: IModelBase, property: PropertyInfo) => boolean;
7
- pushState(): void;
8
- popState(): void;
9
- /**
10
- * Overwrites the canRecurse callback to always return true.
11
- */
12
- includeNonTrackedProperties(): this;
13
- }
14
- export declare class BooleanRecursionState extends RecursionState {
15
- flag: boolean;
16
- constructor(flag?: boolean);
17
- }
18
- declare type itemDelegate<T> = (item: IModelBase, state: T, relationType?: RelationType) => void;
19
- declare type listDelegate<T> = (list: any[], state: T) => void;
20
- /**
21
- * Recursively traverses the model graph, and invokes the provided callback for each item in the graph.
22
- * @param model Model object, or list of objects.
23
- * @param callback Callback to be invoked for each item.
24
- * @param listCallback Callback to be invoked when a child list is found.
25
- */
26
- export declare function traverseItems(model: IModelBase | IModelBase[], callback: itemDelegate<null>, listCallback?: listDelegate<null>): void;
27
- /**
28
- * Recursively traverses the model graph, and invokes the provided callback for each item in the graph.
29
- * @param model Model object, or list of objects.
30
- * @param state State object.
31
- * @param callback Callback to be invoked for each item.
32
- * @param listCallback Callback to be invoked when a child list is found.
33
- */
34
- export declare function traverseItems<T extends RecursionState>(model: IModelBase | IModelBase[], state: T, callback: itemDelegate<T>, listCallback?: listDelegate<T>): T;
35
- export {};
1
+ import { RelationType } from './Misc';
2
+ import { IModelBase } from './IModelBase';
3
+ import PropertyInfo from './PropertyInfo';
4
+ export declare class RecursionState {
5
+ stop: boolean;
6
+ canRecurse: (model: IModelBase, property: PropertyInfo) => boolean;
7
+ pushState(): void;
8
+ popState(): void;
9
+ /**
10
+ * Overwrites the canRecurse callback to always return true.
11
+ */
12
+ includeNonTrackedProperties(): this;
13
+ }
14
+ export declare class BooleanRecursionState extends RecursionState {
15
+ flag: boolean;
16
+ constructor(flag?: boolean);
17
+ }
18
+ type itemDelegate<T> = (item: IModelBase, state: T, relationType?: RelationType) => void;
19
+ type listDelegate<T> = (list: any[], state: T) => void;
20
+ /**
21
+ * Recursively traverses the model graph, and invokes the provided callback for each item in the graph.
22
+ * @param model Model object, or list of objects.
23
+ * @param callback Callback to be invoked for each item.
24
+ * @param listCallback Callback to be invoked when a child list is found.
25
+ */
26
+ export declare function traverseItems(model: IModelBase | IModelBase[], callback: itemDelegate<null>, listCallback?: listDelegate<null>): void;
27
+ /**
28
+ * Recursively traverses the model graph, and invokes the provided callback for each item in the graph.
29
+ * @param model Model object, or list of objects.
30
+ * @param state State object.
31
+ * @param callback Callback to be invoked for each item.
32
+ * @param listCallback Callback to be invoked when a child list is found.
33
+ */
34
+ export declare function traverseItems<T extends RecursionState>(model: IModelBase | IModelBase[], state: T, callback: itemDelegate<T>, listCallback?: listDelegate<T>): T;
35
+ export {};
@@ -1,99 +1,101 @@
1
- import { __extends } from "tslib";
2
- import { RelationType } from './Misc';
3
- var RecursionState = /** @class */ (function () {
4
- function RecursionState() {
5
- this.stop = false;
6
- this.canRecurse = function (model, property) { return !property.noTrack; };
7
- }
8
- RecursionState.prototype.pushState = function () {
9
- };
10
- RecursionState.prototype.popState = function () {
11
- };
12
- /**
13
- * Overwrites the canRecurse callback to always return true.
14
- */
15
- RecursionState.prototype.includeNonTrackedProperties = function () {
16
- this.canRecurse = function (model, property) { return true; };
17
- return this;
18
- };
19
- return RecursionState;
20
- }());
21
- export { RecursionState };
22
- var BooleanRecursionState = /** @class */ (function (_super) {
23
- __extends(BooleanRecursionState, _super);
24
- function BooleanRecursionState(flag) {
25
- if (flag === void 0) { flag = false; }
26
- var _this = _super.call(this) || this;
27
- _this.flag = flag;
28
- return _this;
29
- }
30
- return BooleanRecursionState;
31
- }(RecursionState));
32
- export { BooleanRecursionState };
33
- export function traverseItems(model, stateOrCallback, callbackOrListCallback, listCallback) {
34
- var state;
35
- var callback;
36
- if (typeof stateOrCallback === "function") {
37
- state = new RecursionState();
38
- callback = stateOrCallback;
39
- listCallback = callbackOrListCallback;
40
- }
41
- else {
42
- state = stateOrCallback;
43
- callback = callbackOrListCallback;
44
- }
45
- if (model instanceof Array) {
46
- return invokeOnItemsAndChildren(model, state, callback, listCallback, undefined);
47
- }
48
- else {
49
- return invokeOnSelfAndChildren(model, state, callback, listCallback, undefined);
50
- }
51
- }
52
- function invokeOnItemsAndChildren(list, state, callback, listCallback, relationType) {
53
- for (var _i = 0, list_1 = list; _i < list_1.length; _i++) {
54
- var item = list_1[_i];
55
- invokeOnSelfAndChildren(item, state, callback, listCallback, relationType);
56
- if (state.stop)
57
- break;
58
- }
59
- return state;
60
- }
61
- function invokeOnSelfAndChildren(model, state, callback, listCallback, relationType) {
62
- callback(model, state, relationType);
63
- if (state.stop)
64
- return state;
65
- var ctor = model.constructor;
66
- if (ctor.neo.children) {
67
- for (var i = 0; i < ctor.neo.children.length; i++) {
68
- var cpi = ctor.neo.children[i];
69
- if (state.canRecurse(model, cpi)) {
70
- if (cpi.relationType == RelationType.ChildList) {
71
- var childList = model[cpi.propertyName];
72
- if (listCallback)
73
- listCallback(childList, state);
74
- if (state.stop)
75
- return state;
76
- state.pushState();
77
- invokeOnItemsAndChildren(childList, state, callback, listCallback, RelationType.ChildList);
78
- state.popState();
79
- if (state.stop)
80
- return state;
81
- }
82
- else {
83
- try {
84
- var child = model[cpi.propertyName];
85
- if (child) {
86
- state.pushState();
87
- invokeOnSelfAndChildren(child, state, callback, listCallback, cpi.relationType);
88
- state.popState();
89
- }
90
- }
91
- catch (error) {
92
- throw "Error on property '".concat(cpi.propertyName, "' on type '").concat(model.constructor.name, "': ").concat(error);
93
- }
94
- }
95
- }
96
- }
97
- }
98
- return state;
99
- }
1
+ import { __extends } from "tslib";
2
+ import { RelationType } from './Misc';
3
+ var RecursionState = /** @class */ (function () {
4
+ function RecursionState() {
5
+ this.stop = false;
6
+ this.canRecurse = function (model, property) { return !property.noTrack; };
7
+ }
8
+ RecursionState.prototype.pushState = function () {
9
+ };
10
+ RecursionState.prototype.popState = function () {
11
+ };
12
+ /**
13
+ * Overwrites the canRecurse callback to always return true.
14
+ */
15
+ RecursionState.prototype.includeNonTrackedProperties = function () {
16
+ this.canRecurse = function (model, property) { return true; };
17
+ return this;
18
+ };
19
+ return RecursionState;
20
+ }());
21
+ export { RecursionState };
22
+ var BooleanRecursionState = /** @class */ (function (_super) {
23
+ __extends(BooleanRecursionState, _super);
24
+ function BooleanRecursionState(flag) {
25
+ if (flag === void 0) { flag = false; }
26
+ var _this = _super.call(this) || this;
27
+ _this.flag = flag;
28
+ return _this;
29
+ }
30
+ return BooleanRecursionState;
31
+ }(RecursionState));
32
+ export { BooleanRecursionState };
33
+ export function traverseItems(model, stateOrCallback, callbackOrListCallback, listCallback) {
34
+ var state;
35
+ var callback;
36
+ if (typeof stateOrCallback === "function") {
37
+ state = new RecursionState();
38
+ callback = stateOrCallback;
39
+ listCallback = callbackOrListCallback;
40
+ }
41
+ else {
42
+ state = stateOrCallback;
43
+ callback = callbackOrListCallback;
44
+ }
45
+ if (model instanceof Array) {
46
+ return invokeOnItemsAndChildren(model, state, callback, listCallback, undefined);
47
+ }
48
+ else {
49
+ return invokeOnSelfAndChildren(model, state, callback, listCallback, undefined);
50
+ }
51
+ }
52
+ function invokeOnItemsAndChildren(list, state, callback, listCallback, relationType) {
53
+ for (var _i = 0, list_1 = list; _i < list_1.length; _i++) {
54
+ var item = list_1[_i];
55
+ invokeOnSelfAndChildren(item, state, callback, listCallback, relationType);
56
+ if (state.stop)
57
+ break;
58
+ }
59
+ return state;
60
+ }
61
+ function invokeOnSelfAndChildren(model, state, callback, listCallback, relationType) {
62
+ callback(model, state, relationType);
63
+ if (state.stop)
64
+ return state;
65
+ var ctor = model.constructor;
66
+ if (ctor.neo.children) {
67
+ for (var i = 0; i < ctor.neo.children.length; i++) {
68
+ var cpi = ctor.neo.children[i];
69
+ if (state.canRecurse(model, cpi)) {
70
+ if (cpi.relationType == RelationType.ChildList) {
71
+ // @ts-ignore
72
+ var childList = model[cpi.propertyName];
73
+ if (listCallback)
74
+ listCallback(childList, state);
75
+ if (state.stop)
76
+ return state;
77
+ state.pushState();
78
+ invokeOnItemsAndChildren(childList, state, callback, listCallback, RelationType.ChildList);
79
+ state.popState();
80
+ if (state.stop)
81
+ return state;
82
+ }
83
+ else {
84
+ try {
85
+ // @ts-ignore
86
+ var child = model[cpi.propertyName];
87
+ if (child) {
88
+ state.pushState();
89
+ invokeOnSelfAndChildren(child, state, callback, listCallback, cpi.relationType);
90
+ state.popState();
91
+ }
92
+ }
93
+ catch (error) {
94
+ throw "Error on property '".concat(cpi.propertyName, "' on type '").concat(model.constructor.name, "': ").concat(error);
95
+ }
96
+ }
97
+ }
98
+ }
99
+ }
100
+ return state;
101
+ }
@@ -1,6 +1,6 @@
1
- /** ModelBase decorator
2
- * Intercepts the construction of objects to call SetupModel.
3
- */
4
- export default function NeoModel<T extends {
5
- new (...args: any[]): {};
6
- }>(target: T): T;
1
+ /** ModelBase decorator
2
+ * Intercepts the construction of objects to call SetupModel.
3
+ */
4
+ export default function NeoModel<T extends {
5
+ new (...args: any[]): {};
6
+ }>(target: T): T;
@@ -1,13 +1,13 @@
1
- import { ensureTypeInfo } from './NeoTypeInfo';
2
- /** ModelBase decorator
3
- * Intercepts the construction of objects to call SetupModel.
4
- */
5
- export default function NeoModel(target) {
6
- var originalConstructor = target;
7
- // Ensure neo info is set
8
- var ctor = originalConstructor;
9
- // Call this in case no property decorators were added
10
- ensureTypeInfo(ctor);
11
- var newConstructor = ctor.neo.getOverrideConstructor();
12
- return newConstructor;
13
- }
1
+ import { ensureTypeInfo } from './NeoTypeInfo';
2
+ /** ModelBase decorator
3
+ * Intercepts the construction of objects to call SetupModel.
4
+ */
5
+ export default function NeoModel(target) {
6
+ var originalConstructor = target;
7
+ // Ensure neo info is set
8
+ var ctor = originalConstructor;
9
+ // Call this in case no property decorators were added
10
+ ensureTypeInfo(ctor);
11
+ var newConstructor = ctor.neo.getOverrideConstructor();
12
+ return newConstructor;
13
+ }
@@ -1,41 +1,52 @@
1
- import { Rule } from '../Validation/Rules';
2
- import { PropertyInstanceMap } from './PropertyInstance';
3
- import PropertyInfo, { PropertyInfoMap } from './PropertyInfo';
4
- import { NeoModelConstructor, IModelBase, IMetaItem } from './IModelBase';
5
- export declare class NeoTypeInfo {
6
- private modelCreator;
7
- private objectConstructor;
8
- private _inheritsBindableBase;
9
- private _inheritsModelBase;
10
- private _metaItem;
11
- properties: PropertyInfo[];
12
- propertyMap: PropertyInfoMap;
13
- children: PropertyInfo[];
14
- parentProperties: PropertyInfo[];
15
- parentProperty?: PropertyInfo;
16
- objectRules: Rule[];
17
- meta: PropertyInstanceMap;
18
- displayMember: PropertyInfo | null;
19
- get inheritsBindableBase(): boolean;
20
- get inheritsModelBase(): boolean;
21
- get metaItem(): IMetaItem;
22
- initialise(objectConstructor: NeoModelConstructor): void;
23
- private addPropertyInfo;
24
- getOrAddProperty(propertyName: string): PropertyInfo;
25
- addComputed(propertyName: string, descriptor: PropertyDescriptor, isComputed?: boolean): void;
26
- addAttributeRule(propertyName: string, rule: Rule): void;
27
- /**
28
- * Ensures the type has all the information it needs in order to convert instances of this type.
29
- * E.g. Making sure each property has a property info object.
30
- * */
31
- protected ensureStaticRuntimeInfo(instance?: IModelBase): void;
32
- private addRules;
33
- /** Copy the property info list from each base type into the current type. */
34
- merge(baseConstructor: NeoModelConstructor): void;
35
- ensureInitialised(): void;
36
- /** Gets the override constructor which can setup a neo model. */
37
- getOverrideConstructor(): Function;
38
- makeObservable(instance: any): {};
39
- private defineProxyProperty;
40
- }
41
- export declare function ensureTypeInfo(constructor: NeoModelConstructor): NeoModelConstructor;
1
+ import { Rule } from '../Validation/Rules';
2
+ import { PropertyInstanceMap } from './PropertyInstance';
3
+ import PropertyInfo, { PropertyInfoMap } from './PropertyInfo';
4
+ import { NeoModelConstructor, IModelBase, IMetaItem, IMakeBindableOptions } from './IModelBase';
5
+ export declare class NeoTypeInfo {
6
+ private modelCreator;
7
+ private objectConstructor;
8
+ private wrapperConstructor?;
9
+ private _inheritsBindableBase;
10
+ private _inheritsModelBase;
11
+ private _metaItem;
12
+ properties: PropertyInfo[];
13
+ propertyMap: PropertyInfoMap;
14
+ children: PropertyInfo[];
15
+ parentProperties: PropertyInfo[];
16
+ parentProperty?: PropertyInfo;
17
+ objectRules: Rule[];
18
+ meta: PropertyInstanceMap;
19
+ displayMember: PropertyInfo | null;
20
+ get inheritsBindableBase(): boolean;
21
+ get inheritsModelBase(): boolean;
22
+ get metaItem(): IMetaItem;
23
+ initialise(objectConstructor: NeoModelConstructor): void;
24
+ private addPropertyInfo;
25
+ getOrAddProperty(propertyName: string): PropertyInfo;
26
+ addComputed(propertyName: string, descriptor: PropertyDescriptor, isComputed?: boolean): void;
27
+ addAttributeRule(propertyName: string, rule: Rule): void;
28
+ /**
29
+ * Ensures the type has all the information it needs in order to convert instances of this type.
30
+ * E.g. Making sure each property has a property info object.
31
+ * */
32
+ protected ensureStaticRuntimeInfo(instance?: IModelBase): void;
33
+ private addRules;
34
+ /** Copy the property info list from each base type into the current type. */
35
+ merge(baseConstructor: NeoModelConstructor): void;
36
+ ensureInitialised(): void;
37
+ createInstance(...args: any): any;
38
+ /** Gets the override constructor which can setup a neo model. */
39
+ getOverrideConstructor(): Function;
40
+ private createWrapperConstructor;
41
+ makeObservable(instance: any, options?: IMakeBindableOptions): any;
42
+ private defineProxyProperty;
43
+ /**
44
+ * Makes a class instance observable.
45
+ * Must be called in the constructor, preferably directly after the super() call.
46
+ * This method can be used as an alternative to the @NeoModel decorator.
47
+ */
48
+ static makeObservable(instance: any, options?: IMakeBindableOptions): void;
49
+ /** Ensures the type and its metadata are initialised. */
50
+ static ensureInitialised(constructor: NeoModelConstructor): NeoTypeInfo;
51
+ }
52
+ export declare function ensureTypeInfo(constructor: NeoModelConstructor): NeoModelConstructor;