@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,48 +1,84 @@
1
- import { IModelBase } from './IModelBase';
2
- import { IPropertyValidator } from '../Validation/Validators/IPropertyValidator';
3
- import PropertyInfo from './PropertyInfo';
4
- import { IObservableValue } from './ObservableValue';
5
- export declare type PropertyInstanceMap = {
6
- [index: string]: IPropertyInstance;
7
- };
8
- export interface IPropertyInstance<T = any> extends IObservableValue<T> {
9
- attachedTo: IModelBase;
10
- propertyInfo: PropertyInfo;
11
- validator: IPropertyValidator;
12
- sortValue: any;
13
- uniqueID: string;
14
- }
15
- export default class PropertyInstance implements IPropertyInstance {
16
- propertyInfo: PropertyInfo;
17
- private isObservable;
18
- constructor(attachedTo: IModelBase | null, propertyInfo: PropertyInfo, isObservable?: boolean);
19
- attachedTo: IModelBase;
20
- propertyName: string;
21
- /** Previous value for use in onChanged. This will only be set on the first property change. */
22
- previousValue: any;
23
- get value(): any;
24
- set value(newVal: any);
25
- /** Sort value if different to the property's actual value. E.g. dates / drop down */
26
- sortValue: any;
27
- get uniqueID(): string;
28
- /** Gets the value of the property without registering a dependency */
29
- get peek(): any;
30
- private _validator;
31
- get validator(): IPropertyValidator;
32
- }
33
- /**
34
- * Allows a property declared on a non model base class to be wrapped, and passed as a bind property.
35
- */
36
- export declare class PropertyAccessor implements IPropertyInstance {
37
- attachedTo: any;
38
- propertyInfo: PropertyInfo;
39
- private propertyName;
40
- private constructor();
41
- sortValue: any;
42
- get uniqueID(): string;
43
- get validator(): IPropertyValidator;
44
- get value(): any;
45
- set value(newVal: any);
46
- get peek(): any;
47
- static create<T>(model: T, property: keyof T): PropertyAccessor;
48
- }
1
+ import { IModelBase } from './IModelBase';
2
+ import { IPropertyValidator } from '../Validation/Validators/IPropertyValidator';
3
+ import PropertyInfo from './PropertyInfo';
4
+ import { IObservableValue } from './ObservableValue';
5
+ export type PropertyInstanceMap = {
6
+ [index: string]: IPropertyInstance;
7
+ };
8
+ export interface IPropertyInstance<T = any> extends IObservableValue<T> {
9
+ attachedTo: IModelBase;
10
+ propertyInfo: PropertyInfo;
11
+ validator: IPropertyValidator;
12
+ sortValue: any;
13
+ uniqueID: string;
14
+ }
15
+ export default class PropertyInstance implements IPropertyInstance {
16
+ propertyInfo: PropertyInfo;
17
+ private isObservable;
18
+ constructor(attachedTo: IModelBase | null, propertyInfo: PropertyInfo, isObservable?: boolean);
19
+ attachedTo: IModelBase & {
20
+ [key: string]: any;
21
+ };
22
+ propertyName: string;
23
+ /** Previous value for use in onChanged. This will only be set on the first property change. */
24
+ previousValue: any;
25
+ get value(): any;
26
+ set value(newVal: any);
27
+ /** Sort value if different to the property's actual value. E.g. dates / drop down */
28
+ sortValue: any;
29
+ get uniqueID(): string;
30
+ /** Gets the value of the property without registering a dependency */
31
+ get peek(): any;
32
+ private _validator;
33
+ get validator(): IPropertyValidator;
34
+ }
35
+ /**
36
+ * Allows a property declared on a non model base class to be wrapped, and passed as a bind property.
37
+ */
38
+ export declare class PropertyAccessor implements IPropertyInstance {
39
+ attachedTo: any;
40
+ propertyInfo: PropertyInfo;
41
+ private propertyName;
42
+ protected constructor(attachedTo: any, propertyInfo: PropertyInfo);
43
+ sortValue: any;
44
+ get uniqueID(): string;
45
+ get validator(): IPropertyValidator;
46
+ get value(): any;
47
+ set value(newVal: any);
48
+ get peek(): any;
49
+ static create<T>(model: T, property: keyof T): PropertyAccessor;
50
+ }
51
+ interface ITemporaryPropertyOptions<TValue> {
52
+ /** Name of the property. Should be a valid js property name. */
53
+ name?: string;
54
+ /** Label to show in editors using this property. */
55
+ label?: string;
56
+ /** On changed function if you want the property to be writable. */
57
+ onChanged?: (value: TValue) => void;
58
+ }
59
+ export declare class TemporaryProperty<TValue = any> extends PropertyAccessor {
60
+ private valueAccessor;
61
+ private onChanged?;
62
+ constructor(attachedTo: any, valueAccessor: () => TValue, options?: ITemporaryPropertyOptions<TValue>);
63
+ get value(): TValue;
64
+ set value(value: TValue);
65
+ get peek(): TValue;
66
+ }
67
+ /**
68
+ * Creates a temporary property if you need a neo editor to show a computed value, and cannot use the meta object on a neo model.
69
+ * The property should be attached to a component class instance, and the property should be passed as the editors `bind` prop.
70
+ *
71
+ * E.g.
72
+ * In component class:
73
+ * ```typescript
74
+ * this.myProperty = createProperty(this, ...);
75
+ * ```
76
+ * In render method:
77
+ * ```jsx
78
+ * <Neo.FormGroup bind={this.myProperty} />
79
+ * ```
80
+ * @param host The instance this property is stored on, usually `this`.
81
+ * @param valueAccessor Function that returns the property value.
82
+ */
83
+ export declare function createProperty<TValue>(host: any, valueAccessor: () => TValue, options?: ITemporaryPropertyOptions<TValue>): TemporaryProperty<TValue>;
84
+ export {};
@@ -1,113 +1,173 @@
1
- import { EmptyValidator } from '../Validation/Validators/IPropertyValidator';
2
- import PropertyInfo from './PropertyInfo';
3
- import { Utils } from '../Utils';
4
- var PropertyInstance = /** @class */ (function () {
5
- function PropertyInstance(attachedTo, propertyInfo, isObservable) {
6
- if (isObservable === void 0) { isObservable = true; }
7
- this.propertyInfo = propertyInfo;
8
- this.isObservable = isObservable;
9
- if (attachedTo)
10
- this.attachedTo = attachedTo;
11
- this.propertyName = propertyInfo.propertyName;
12
- if (!isObservable) {
13
- this._validator = EmptyValidator;
14
- }
15
- }
16
- Object.defineProperty(PropertyInstance.prototype, "value", {
17
- get: function () {
18
- return this.attachedTo[this.propertyName];
19
- },
20
- set: function (newVal) {
21
- this.attachedTo[this.propertyName] = newVal;
22
- },
23
- enumerable: false,
24
- configurable: true
25
- });
26
- Object.defineProperty(PropertyInstance.prototype, "uniqueID", {
27
- get: function () {
28
- return (this.attachedTo ? (this.attachedTo.entityIdentifier + "!") : "") + this.propertyName;
29
- },
30
- enumerable: false,
31
- configurable: true
32
- });
33
- Object.defineProperty(PropertyInstance.prototype, "peek", {
34
- /** Gets the value of the property without registering a dependency */
35
- get: function () {
36
- if (this.isObservable) {
37
- return Utils.peek(this.attachedTo, this.propertyName);
38
- }
39
- else {
40
- return this.value;
41
- }
42
- },
43
- enumerable: false,
44
- configurable: true
45
- });
46
- Object.defineProperty(PropertyInstance.prototype, "validator", {
47
- get: function () {
48
- if (!this._validator) {
49
- if (this.propertyInfo.rules.length) {
50
- this._validator = this.attachedTo.validator.createPropertyValidator(this);
51
- }
52
- else {
53
- this._validator = EmptyValidator;
54
- }
55
- }
56
- return this._validator;
57
- },
58
- enumerable: false,
59
- configurable: true
60
- });
61
- return PropertyInstance;
62
- }());
63
- export default PropertyInstance;
64
- var uniqueIdSymbol = Symbol("uniqueId");
65
- /**
66
- * Allows a property declared on a non model base class to be wrapped, and passed as a bind property.
67
- */
68
- var PropertyAccessor = /** @class */ (function () {
69
- function PropertyAccessor(attachedTo, propertyInfo) {
70
- this.attachedTo = attachedTo;
71
- this.propertyInfo = propertyInfo;
72
- this.propertyName = propertyInfo.propertyName;
73
- }
74
- Object.defineProperty(PropertyAccessor.prototype, "uniqueID", {
75
- get: function () {
76
- return this.attachedTo[uniqueIdSymbol] + "!" + this.propertyName;
77
- },
78
- enumerable: false,
79
- configurable: true
80
- });
81
- Object.defineProperty(PropertyAccessor.prototype, "validator", {
82
- get: function () {
83
- return EmptyValidator;
84
- },
85
- enumerable: false,
86
- configurable: true
87
- });
88
- Object.defineProperty(PropertyAccessor.prototype, "value", {
89
- get: function () {
90
- return this.attachedTo[this.propertyName];
91
- },
92
- set: function (newVal) {
93
- this.attachedTo[this.propertyName] = newVal;
94
- },
95
- enumerable: false,
96
- configurable: true
97
- });
98
- Object.defineProperty(PropertyAccessor.prototype, "peek", {
99
- get: function () {
100
- return this.attachedTo[this.propertyName];
101
- },
102
- enumerable: false,
103
- configurable: true
104
- });
105
- PropertyAccessor.create = function (model, property) {
106
- if (!model[uniqueIdSymbol]) {
107
- model[uniqueIdSymbol] = Utils.uuidv4();
108
- }
109
- return new PropertyAccessor(model, new PropertyInfo(property));
110
- };
111
- return PropertyAccessor;
112
- }());
113
- export { PropertyAccessor };
1
+ import { __extends } from "tslib";
2
+ import { EmptyValidator } from '../Validation/Validators/IPropertyValidator';
3
+ import PropertyInfo from './PropertyInfo';
4
+ import { Utils } from '../Utils';
5
+ var PropertyInstance = /** @class */ (function () {
6
+ function PropertyInstance(attachedTo, propertyInfo, isObservable) {
7
+ if (isObservable === void 0) { isObservable = true; }
8
+ this.propertyInfo = propertyInfo;
9
+ this.isObservable = isObservable;
10
+ if (attachedTo)
11
+ this.attachedTo = attachedTo;
12
+ this.propertyName = propertyInfo.propertyName;
13
+ if (!isObservable) {
14
+ this._validator = EmptyValidator;
15
+ }
16
+ }
17
+ Object.defineProperty(PropertyInstance.prototype, "value", {
18
+ get: function () {
19
+ return this.attachedTo[this.propertyName];
20
+ },
21
+ set: function (newVal) {
22
+ this.attachedTo[this.propertyName] = newVal;
23
+ },
24
+ enumerable: false,
25
+ configurable: true
26
+ });
27
+ Object.defineProperty(PropertyInstance.prototype, "uniqueID", {
28
+ get: function () {
29
+ return (this.attachedTo ? (this.attachedTo.entityIdentifier + "!") : "") + this.propertyName;
30
+ },
31
+ enumerable: false,
32
+ configurable: true
33
+ });
34
+ Object.defineProperty(PropertyInstance.prototype, "peek", {
35
+ /** Gets the value of the property without registering a dependency */
36
+ get: function () {
37
+ if (this.isObservable) {
38
+ return Utils.peek(this.attachedTo, this.propertyName);
39
+ }
40
+ else {
41
+ return this.value;
42
+ }
43
+ },
44
+ enumerable: false,
45
+ configurable: true
46
+ });
47
+ Object.defineProperty(PropertyInstance.prototype, "validator", {
48
+ get: function () {
49
+ if (!this._validator) {
50
+ if (this.propertyInfo.rules.length) {
51
+ this._validator = this.attachedTo.validator.createPropertyValidator(this);
52
+ }
53
+ else {
54
+ this._validator = EmptyValidator;
55
+ }
56
+ }
57
+ return this._validator;
58
+ },
59
+ enumerable: false,
60
+ configurable: true
61
+ });
62
+ return PropertyInstance;
63
+ }());
64
+ export default PropertyInstance;
65
+ var uniqueIdSymbol = Symbol("uniqueId");
66
+ /**
67
+ * Allows a property declared on a non model base class to be wrapped, and passed as a bind property.
68
+ */
69
+ var PropertyAccessor = /** @class */ (function () {
70
+ function PropertyAccessor(attachedTo, propertyInfo) {
71
+ this.attachedTo = attachedTo;
72
+ this.propertyInfo = propertyInfo;
73
+ this.propertyName = propertyInfo.propertyName;
74
+ }
75
+ Object.defineProperty(PropertyAccessor.prototype, "uniqueID", {
76
+ get: function () {
77
+ return this.attachedTo[uniqueIdSymbol] + "!" + this.propertyName;
78
+ },
79
+ enumerable: false,
80
+ configurable: true
81
+ });
82
+ Object.defineProperty(PropertyAccessor.prototype, "validator", {
83
+ get: function () {
84
+ return EmptyValidator;
85
+ },
86
+ enumerable: false,
87
+ configurable: true
88
+ });
89
+ Object.defineProperty(PropertyAccessor.prototype, "value", {
90
+ get: function () {
91
+ return this.attachedTo[this.propertyName];
92
+ },
93
+ set: function (newVal) {
94
+ this.attachedTo[this.propertyName] = newVal;
95
+ },
96
+ enumerable: false,
97
+ configurable: true
98
+ });
99
+ Object.defineProperty(PropertyAccessor.prototype, "peek", {
100
+ get: function () {
101
+ return this.attachedTo[this.propertyName];
102
+ },
103
+ enumerable: false,
104
+ configurable: true
105
+ });
106
+ PropertyAccessor.create = function (model, property) {
107
+ // @ts-ignore
108
+ if (!model[uniqueIdSymbol]) {
109
+ // @ts-ignore
110
+ model[uniqueIdSymbol] = Utils.uuidv4();
111
+ }
112
+ return new PropertyAccessor(model, new PropertyInfo(property));
113
+ };
114
+ return PropertyAccessor;
115
+ }());
116
+ export { PropertyAccessor };
117
+ var TemporaryProperty = /** @class */ (function (_super) {
118
+ __extends(TemporaryProperty, _super);
119
+ function TemporaryProperty(attachedTo, valueAccessor, options) {
120
+ var _this = this;
121
+ var _a, _b;
122
+ var propertyInfo = new PropertyInfo((_a = options === null || options === void 0 ? void 0 : options.name) !== null && _a !== void 0 ? _a : Utils.uuidv4());
123
+ propertyInfo.displayName = (_b = options === null || options === void 0 ? void 0 : options.label) !== null && _b !== void 0 ? _b : "";
124
+ propertyInfo.isReadOnly = (options === null || options === void 0 ? void 0 : options.onChanged) === undefined;
125
+ _this = _super.call(this, attachedTo, propertyInfo) || this;
126
+ _this.valueAccessor = valueAccessor;
127
+ _this.onChanged = options === null || options === void 0 ? void 0 : options.onChanged;
128
+ return _this;
129
+ }
130
+ Object.defineProperty(TemporaryProperty.prototype, "value", {
131
+ get: function () {
132
+ return this.valueAccessor();
133
+ },
134
+ set: function (value) {
135
+ if (this.onChanged) {
136
+ this.onChanged(value);
137
+ }
138
+ else {
139
+ throw Error("Cannot set value of temporary property ".concat(this.propertyInfo.propertyName));
140
+ }
141
+ },
142
+ enumerable: false,
143
+ configurable: true
144
+ });
145
+ Object.defineProperty(TemporaryProperty.prototype, "peek", {
146
+ get: function () {
147
+ return this.value;
148
+ },
149
+ enumerable: false,
150
+ configurable: true
151
+ });
152
+ return TemporaryProperty;
153
+ }(PropertyAccessor));
154
+ export { TemporaryProperty };
155
+ /**
156
+ * Creates a temporary property if you need a neo editor to show a computed value, and cannot use the meta object on a neo model.
157
+ * The property should be attached to a component class instance, and the property should be passed as the editors `bind` prop.
158
+ *
159
+ * E.g.
160
+ * In component class:
161
+ * ```typescript
162
+ * this.myProperty = createProperty(this, ...);
163
+ * ```
164
+ * In render method:
165
+ * ```jsx
166
+ * <Neo.FormGroup bind={this.myProperty} />
167
+ * ```
168
+ * @param host The instance this property is stored on, usually `this`.
169
+ * @param valueAccessor Function that returns the property value.
170
+ */
171
+ export function createProperty(host, valueAccessor, options) {
172
+ return new TemporaryProperty(host, valueAccessor, options);
173
+ }
@@ -1,3 +1,3 @@
1
- import ModelBase from './ModelBase';
2
- export default class ValueObject extends ModelBase {
3
- }
1
+ import ModelBase from './ModelBase';
2
+ export default class ValueObject extends ModelBase {
3
+ }
@@ -1,10 +1,10 @@
1
- import { __extends } from "tslib";
2
- import ModelBase from './ModelBase';
3
- var ValueObject = /** @class */ (function (_super) {
4
- __extends(ValueObject, _super);
5
- function ValueObject() {
6
- return _super !== null && _super.apply(this, arguments) || this;
7
- }
8
- return ValueObject;
9
- }(ModelBase));
10
- export default ValueObject;
1
+ import { __extends } from "tslib";
2
+ import ModelBase from './ModelBase';
3
+ var ValueObject = /** @class */ (function (_super) {
4
+ __extends(ValueObject, _super);
5
+ function ValueObject() {
6
+ return _super !== null && _super.apply(this, arguments) || this;
7
+ }
8
+ return ValueObject;
9
+ }(ModelBase));
10
+ export default ValueObject;
@@ -1,14 +1,15 @@
1
- export { IBindableBase, IModelBase, NeoModelConstructor, PlainObject, PlainTrackedObject, PartialPlainObject, PartialPlainNonTrackedObject, TransformMetaType } from './IModelBase';
2
- export { ILookupBase } from './LookupBase';
3
- export { IPropertyInstance, PropertyAccessor } from './PropertyInstance';
4
- export { IObservableValue, ObservableValue } from './ObservableValue';
5
- export { ObservableProperty } from './ObservableProperty';
6
- export { ISelectedItem } from './Misc';
7
- export { ModelFieldInfo } from './ModelFieldInfo';
8
- import * as GraphTraverser from './ModelGraphTraverser';
9
- export { GraphTraverser };
10
- export { AuditValues, AuditValuesBase } from './BaseModels/AuditValues';
11
- export { FileDescriptorBase } from './BaseModels/FileDescriptorBase';
12
- export { ReasonedUserEvent } from './BaseModels/ReasonedUserEvent';
13
- export { UserEventBase, UserEvent } from './BaseModels/UserEvent';
14
- export { CriteriaBase } from './BaseModels/CriteriaBase';
1
+ export { IBindableBase, IModelBase, NeoModelConstructor, PlainObject, PlainTrackedObject, PartialPlainObject, PartialPlainNonTrackedObject, TransformMetaType, IMakeBindableOptions } from './IModelBase';
2
+ export { ILookupBase } from './LookupBase';
3
+ export { IPropertyInstance, PropertyAccessor } from './PropertyInstance';
4
+ import PropertyInfo from './PropertyInfo';
5
+ export { IObservableValue, ObservableValue } from './ObservableValue';
6
+ export { ObservableProperty } from './ObservableProperty';
7
+ export { ISelectedItem } from './Misc';
8
+ export { ModelFieldInfo, IModelFieldInfoContainer } from './ModelFieldInfo';
9
+ import * as GraphTraverser from './ModelGraphTraverser';
10
+ export { GraphTraverser, PropertyInfo };
11
+ export { AuditValues, AuditValuesBase } from './BaseModels/AuditValues';
12
+ export { FileDescriptorBase } from './BaseModels/FileDescriptorBase';
13
+ export { ReasonedUserEvent } from './BaseModels/ReasonedUserEvent';
14
+ export { UserEventBase, UserEvent } from './BaseModels/UserEvent';
15
+ export { CriteriaBase } from './BaseModels/CriteriaBase';
@@ -1,12 +1,13 @@
1
- export { PropertyAccessor } from './PropertyInstance';
2
- export { ObservableValue } from './ObservableValue';
3
- export { ObservableProperty } from './ObservableProperty';
4
- export { ModelFieldInfo } from './ModelFieldInfo';
5
- import * as GraphTraverser from './ModelGraphTraverser';
6
- export { GraphTraverser };
7
- // Base Models
8
- export { AuditValues, AuditValuesBase } from './BaseModels/AuditValues';
9
- export { FileDescriptorBase } from './BaseModels/FileDescriptorBase';
10
- export { ReasonedUserEvent } from './BaseModels/ReasonedUserEvent';
11
- export { UserEventBase, UserEvent } from './BaseModels/UserEvent';
12
- export { CriteriaBase } from './BaseModels/CriteriaBase';
1
+ export { PropertyAccessor } from './PropertyInstance';
2
+ import PropertyInfo from './PropertyInfo';
3
+ export { ObservableValue } from './ObservableValue';
4
+ export { ObservableProperty } from './ObservableProperty';
5
+ export { ModelFieldInfo } from './ModelFieldInfo';
6
+ import * as GraphTraverser from './ModelGraphTraverser';
7
+ export { GraphTraverser, PropertyInfo };
8
+ // Base Models
9
+ export { AuditValues, AuditValuesBase } from './BaseModels/AuditValues';
10
+ export { FileDescriptorBase } from './BaseModels/FileDescriptorBase';
11
+ export { ReasonedUserEvent } from './BaseModels/ReasonedUserEvent';
12
+ export { UserEventBase, UserEvent } from './BaseModels/UserEvent';
13
+ export { CriteriaBase } from './BaseModels/CriteriaBase';
@@ -1,49 +1,63 @@
1
- import Decimal from "decimal.js-light";
2
- import { IPropertyInstance } from "./Model";
3
- export declare enum NumberFormat {
4
- None = 0,
5
- NoDecimals = 4096,
6
- Decimals = 4352,
7
- PercentNoDecimals = 4112,
8
- PercentDecimals = 4368,
9
- CurrencyNoDecimals = 4097,
10
- CurrencyDecimals = 4353
11
- }
12
- export default class NumberUtils {
13
- static thousandsSeparator: string;
14
- static defaultCurrencySymbol: string;
15
- static numberFormats: {};
16
- /** If values typed into numeric editors should be divided by 100 when stored. */
17
- static transformPercent: boolean;
18
- static initialise(): void;
19
- /** Gets a format string for the pre-defined number format. */
20
- static getFormatString(format: NumberFormat, currencySymbol?: string): string;
21
- /**
22
- * Formats a number into a string that can be parsed back to a number. E.g. without currency symbol or group separators
23
- * @param number js number
24
- * @param format Format string including group separators / currency symbol. This is used to get the number of decimal to display.
25
- * @param hasExternalPercentSymbol True if this is a percent, but the format string doesn't contain a % symbol.
26
- */
27
- static formatRaw(number: number, format: string, hasExternalPercentSymbol?: boolean): string;
28
- /**
29
- * Rounds a number, getting the precision from the format string
30
- * @param hasExternalPercentSymbol True if this is a percent, but the format string doesn't contain a % symbol.
31
- */
32
- static roundUsingFormat<T extends number | Decimal>(number: T, formatString: string, hasExternalPercentSymbol?: boolean): T;
33
- private static getDecimals;
34
- /**
35
- * Converts a number to a string using the specified format.
36
- * E.g. #,##0.00;(#,##0.00)
37
- */
38
- static format(number: number | Decimal, formatString: string): string;
39
- /**
40
- * Converts a number to a string using the specified format.
41
- */
42
- static format(number: number | Decimal, format: NumberFormat, currencySymbol?: string): string;
43
- /**
44
- * Converts the properties value to a string based on the float / integer decorator.
45
- */
46
- static format(property: IPropertyInstance<number | Decimal>): string;
47
- private static formatUsingEnum;
48
- private static formatInternal;
49
- }
1
+ import Decimal from "decimal.js-light";
2
+ import { IPropertyInstance } from "./Model";
3
+ export declare enum NumberFormat {
4
+ None = 0,
5
+ NoDecimals = 4096,
6
+ Decimals = 4352,
7
+ PercentNoDecimals = 4112,
8
+ PercentDecimals = 4368,
9
+ CurrencyNoDecimals = 4097,
10
+ CurrencyDecimals = 4353
11
+ }
12
+ export default class NumberUtils {
13
+ static thousandsSeparator: string;
14
+ static defaultCurrencySymbol: string;
15
+ static numberFormats: {
16
+ [key in NumberFormat]: string;
17
+ };
18
+ /** If values typed into numeric editors should be divided by 100 when stored. */
19
+ static transformPercent: boolean;
20
+ /** Gets a format string for the pre-defined number format.
21
+ * @param displayDecimals No of decimals to display if using a decimals format.
22
+ */
23
+ static getFormatString(format: NumberFormat, currencySymbol?: string, displayDecimals?: number): string;
24
+ /**
25
+ * Formats a number into a string that can be parsed back to a number. E.g. without currency symbol or group separators
26
+ * @param number js number
27
+ * @param format Format string including group separators / currency symbol. This is used to get the number of decimal to display.
28
+ * @param hasExternalPercentSymbol True if this is a percent, but the format string doesn't contain a % symbol.
29
+ * @param maxDecimals Max no of decimals supported by the value. For percentages this should be 2 more than the no of displayed decimals.
30
+ */
31
+ static formatRaw(number: number, format: string, hasExternalPercentSymbol?: boolean, maxDecimals?: number): string;
32
+ /**
33
+ * Rounds a number, getting the precision from the format string
34
+ * @param hasExternalPercentSymbol True if this is a percent, but the format string doesn't contain a % symbol.
35
+ */
36
+ static roundUsingFormat(number: number, formatString: string, hasExternalPercentSymbol?: boolean): number;
37
+ /**
38
+ * Rounds a number to the nearest no of decimals.
39
+ */
40
+ static round<T extends number | Decimal>(number: T, decimals: number): T;
41
+ /**
42
+ * Returns the number of decimal places in a format string.
43
+ * @param formatString Format string.
44
+ * @param value Value if the negative format string is different to positive.
45
+ */
46
+ static getDecimalPlaces(formatString: string, value?: number): number;
47
+ private static getDecimalsFormatPart;
48
+ /**
49
+ * Converts a number to a string using the specified format.
50
+ * E.g. #,##0.00;(#,##0.00)
51
+ */
52
+ static format(number: number | Decimal, formatString: string): string;
53
+ /**
54
+ * Converts a number to a string using the specified format.
55
+ */
56
+ static format(number: number | Decimal, format: NumberFormat, currencySymbol?: string): string;
57
+ /**
58
+ * Converts the properties value to a string based on the float / integer decorator.
59
+ */
60
+ static format(property: IPropertyInstance<number | Decimal>): string;
61
+ private static formatUsingEnum;
62
+ private static formatInternal;
63
+ }