@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,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 {};
@@ -1,100 +1,104 @@
1
- import { StaticDataSource } from '../Data';
2
- var EnumDecorator = /** @class */ (function () {
3
- function EnumDecorator(enumType) {
4
- this.enumType = enumType;
5
- enumType[EnumDecorator.enumDescriptorSymbol] = {};
6
- }
7
- /**
8
- * Describe the enum item.
9
- * @param enumItem Item you are describing.
10
- * @param display Display name to use, e.g. for use in drop downs.
11
- * @param description Additional description about the item.
12
- * @param order Override sort order.
13
- */
14
- EnumDecorator.prototype.describe = function (enumItem, display, description, order) {
15
- this.enumType[EnumDecorator.enumDescriptorSymbol][enumItem] = { display: display, description: description, order: order };
16
- };
17
- EnumDecorator.enumDescriptorSymbol = Symbol("Neo.EnumDescriptor");
18
- return EnumDecorator;
19
- }());
20
- var EnumHelper = /** @class */ (function () {
21
- function EnumHelper() {
22
- }
23
- /**
24
- * Decorate an enum and it's items.
25
- * @param enumType The enum.
26
- * @param callback Callback decorator. E.g: e.describe(Enum.Item1, "Display Value")
27
- */
28
- EnumHelper.decorateEnum = function (enumType, callback) {
29
- var helper = new EnumDecorator(enumType);
30
- callback(helper);
31
- };
32
- /**
33
- * Creates a static datasource from an Enum.
34
- */
35
- EnumHelper.asDatasource = function (enumType) {
36
- return StaticDataSource.fromEnum(enumType);
37
- };
38
- /**
39
- * Creates a list of IEnumItem from an enum, using the enum decorator data.
40
- */
41
- EnumHelper.asList = function (enumObject) {
42
- var descriptorMap = enumObject[EnumDecorator.enumDescriptorSymbol] || {};
43
- var keys = Object.keys(enumObject).filter(function (key) { return typeof enumObject[key] === "number"; });
44
- var items = [];
45
- if (keys.length === 0) {
46
- // String enum type.
47
- keys = Object.keys(enumObject);
48
- }
49
- var index = keys.length;
50
- for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
51
- var key = keys_1[_i];
52
- var id = enumObject[key];
53
- var name_1 = void 0, description = void 0;
54
- var itemDescriptor = descriptorMap[id];
55
- if (itemDescriptor) {
56
- name_1 = itemDescriptor.display;
57
- description = itemDescriptor.description;
58
- }
59
- else {
60
- name_1 = key.readable();
61
- }
62
- items.push({ id: id, name: name_1, description: description, order: itemDescriptor && itemDescriptor.order !== undefined ? itemDescriptor.order : index });
63
- index += 1;
64
- }
65
- return items.sortBy(function (c) { return c.order; }).map(function (item) { return ({ id: item.id, name: item.name, description: item.description }); });
66
- };
67
- /**
68
- * Gets the metadata for an enum item.
69
- * @param enumType Enum object. E.g. Status
70
- * @param enumItem Enum item. E.g. Status.Pending
71
- */
72
- EnumHelper.getItemMetadata = function (enumType, enumItem) {
73
- var descriptorMap = enumType[EnumDecorator.enumDescriptorSymbol] || {};
74
- var itemDescriptor = descriptorMap[enumItem];
75
- var name = enumType[enumItem];
76
- if (!itemDescriptor) {
77
- itemDescriptor = name ? { name: name, display: name.readable() } : { name: enumItem.toString(), display: enumItem.toString() };
78
- }
79
- else {
80
- itemDescriptor.name = name;
81
- }
82
- return itemDescriptor;
83
- };
84
- /**
85
- * Returns `true` if this item looks like an enum item.
86
- *
87
- * E.g. has an `id` and `name` property.
88
- */
89
- EnumHelper.isEnumItem = function (item) {
90
- if (typeof item === "object") {
91
- var properties = Object.getOwnPropertyNames(item);
92
- if (properties.length <= 3 && properties.some(function (c) { return c === "id"; }) && properties.some(function (c) { return c === "name"; })) {
93
- return true;
94
- }
95
- }
96
- return false;
97
- };
98
- return EnumHelper;
99
- }());
100
- export { EnumHelper };
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 declare type ObservableKeys<T> = RemoveMethods<Omit<T, keyof INonObservableModelBase>>;
10
- export declare 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
- declare type NoModelBase<T> = Pick<T, Exclude<keyof T, keyof IModelBase> & keyof RemoveMethods<T>>;
20
- declare type TransformLists<T> = {
21
- [P in keyof T]: T[P] extends List<infer I> ? I[] : T[P];
22
- };
23
- declare 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 declare type PartialOrNull<T> = {
27
- [P in keyof T]?: T[P] | null;
28
- };
29
- export declare type PlainObject<T> = TransformLists<NoModelBase<T>>;
30
- export declare type PlainTrackedObject<T> = PlainObject<T> & {
31
- trackingState?: Misc.TrackingState;
32
- entityIdentifier?: string;
33
- };
34
- export declare type PlainFlatObject<T> = Pick<T, Exclude<keyof T, keyof IModelBase> & keyof RemoveMethods<T> & keyof RemoveChildren<T>>;
35
- export declare type PartialPlainObject<T> = Partial<PlainObject<T>> & {
36
- meta?: never;
37
- };
38
- export declare type PartialPlainNonTrackedObject<T> = PartialPlainObject<T> & {
39
- trackingState?: never;
40
- };
41
- export interface NeoModelConstructor extends Function {
42
- neo: NeoTypeInfo;
43
- }
44
- export interface IDebounceOptions {
45
- delayMs?: number;
46
- }
47
- export interface IBindableBase {
48
- meta: {
49
- [index: string]: IPropertyInstance;
50
- };
51
- set(jsObject: any): void;
52
- }
53
- export interface INonObservableModelBase extends IBindableBase {
54
- isSuspended: boolean;
55
- validator: IModelValidator;
56
- markOld(recurse?: boolean): void;
57
- toJSObject(options: ISerialiseOptions): PlainObject<this>;
58
- update(jsObject: any): void;
59
- toQueryObject(): PlainFlatObject<this>;
60
- toQueryObjectAuto(callback: (queryObject: PlainFlatObject<this>) => void, options?: IDebounceOptions): Misc.IAutoRunner;
61
- onAnyPropertyChanged(callback: () => void, options?: Misc.IAutoRunnerOptions<this>): Misc.IAutoRunner;
62
- /** Icon to display next to toString() text. */
63
- getIcon(): string;
64
- }
65
- export interface IModelBaseInternal {
66
- addBusinessRules(validationRules: ValidationRules<IModelBase>): void;
67
- onDeserialiseCompleted(wasCreated: boolean): void;
68
- canSerialise(shouldSerialise: boolean): boolean;
69
- }
70
- export interface IModelBase extends INonObservableModelBase {
71
- entityIdentifier: string;
72
- isSelfDirty: boolean;
73
- isNew: boolean;
74
- readonly isSelfValid: boolean;
75
- readonly isValid: boolean;
76
- readonly isDirty: boolean;
77
- readonly readyToSave: boolean;
78
- }
79
- export {};
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 {};
@@ -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 {};