remult 0.22.2 → 0.22.3

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 (255) hide show
  1. package/esm/graphql.js +27 -27
  2. package/esm/postgres/schema-builder.js +4 -4
  3. package/esm/remult-knex/index.js +2 -2
  4. package/esm/src/backend-tests/backend-database-test-setup.backend-spec.js +10 -0
  5. package/esm/src/id-entity.d.ts +4 -0
  6. package/esm/src/id-entity.js +8 -0
  7. package/esm/src/remult3/RepositoryImplementation.js +7 -5
  8. package/esm/src/shared-tests/db-tests.db-tests.js +35 -0
  9. package/package.json +1 -1
  10. package/postgres/postgresColumnSyntax.d.ts +2 -0
  11. package/postgres/postgresColumnSyntax.js +34 -0
  12. package/remult-knex/index.js +2 -2
  13. package/remult-middleware.d.ts +2 -0
  14. package/remult-middleware.js +70 -0
  15. package/server/register-actions-on-server.d.ts +3 -0
  16. package/server/register-actions-on-server.js +50 -0
  17. package/server/register-entities-on-server.d.ts +3 -0
  18. package/server/register-entities-on-server.js +19 -0
  19. package/src/backend-tests/backend-database-test-setup.backend-spec.js +10 -0
  20. package/{esm/core/src → src}/backend-tests/my-test.backend-spec.d.ts +1 -1
  21. package/src/backend-tests/my-test.backend-spec.js +217 -0
  22. package/src/backend-tests/test-http-server.backend-spec.d.ts +6 -0
  23. package/src/backend-tests/test-http-server.backend-spec.js +342 -0
  24. package/src/id-entity.d.ts +4 -0
  25. package/src/id-entity.js +17 -0
  26. package/src/remult3/RepositoryImplementation.js +15 -13
  27. package/src/shared-tests/db-tests.db-tests.js +64 -0
  28. package/{esm/core/src/valueConverters.d.ts → valueConverters.d.ts} +12 -13
  29. package/valueConverters.js +168 -0
  30. package/esm/angular/interfaces/index.d.ts +0 -1
  31. package/esm/angular/interfaces/index.js +0 -1
  32. package/esm/angular/interfaces/src/column-collection.d.ts +0 -70
  33. package/esm/angular/interfaces/src/column-collection.js +0 -341
  34. package/esm/angular/interfaces/src/data-area-settings.d.ts +0 -15
  35. package/esm/angular/interfaces/src/data-area-settings.js +0 -35
  36. package/esm/angular/interfaces/src/data-control-interfaces.d.ts +0 -36
  37. package/esm/angular/interfaces/src/data-control-interfaces.js +0 -57
  38. package/esm/angular/interfaces/src/dataList.d.ts +0 -13
  39. package/esm/angular/interfaces/src/dataList.js +0 -42
  40. package/esm/angular/interfaces/src/filter-helper.d.ts +0 -13
  41. package/esm/angular/interfaces/src/filter-helper.js +0 -59
  42. package/esm/angular/interfaces/src/grid-settings.d.ts +0 -145
  43. package/esm/angular/interfaces/src/grid-settings.js +0 -387
  44. package/esm/angular/interfaces/src/public_api.d.ts +0 -4
  45. package/esm/angular/interfaces/src/public_api.js +0 -4
  46. package/esm/angular/src/angular/RemultAngularPluginsService.d.ts +0 -4
  47. package/esm/angular/src/angular/RemultAngularPluginsService.js +0 -3
  48. package/esm/angular/src/angular/data-control/data-control2.component.d.ts +0 -49
  49. package/esm/angular/src/angular/data-control/data-control2.component.js +0 -138
  50. package/esm/core/SseSubscriptionServer.d.ts +0 -33
  51. package/esm/core/SseSubscriptionServer.js +0 -107
  52. package/esm/core/assign.d.ts +0 -1
  53. package/esm/core/assign.js +0 -5
  54. package/esm/core/classType.d.ts +0 -3
  55. package/esm/core/classType.js +0 -1
  56. package/esm/core/index.d.ts +0 -27
  57. package/esm/core/index.js +0 -25
  58. package/esm/core/inputTypes.d.ts +0 -9
  59. package/esm/core/inputTypes.js +0 -9
  60. package/esm/core/live-query/data-provider-live-query-storage.d.ts +0 -22
  61. package/esm/core/live-query/data-provider-live-query-storage.js +0 -71
  62. package/esm/core/postgres/index.d.ts +0 -2
  63. package/esm/core/postgres/index.js +0 -2
  64. package/esm/core/postgres/postgres-data-provider.d.ts +0 -36
  65. package/esm/core/postgres/postgres-data-provider.js +0 -120
  66. package/esm/core/postgres/schema-builder.d.ts +0 -17
  67. package/esm/core/postgres/schema-builder.js +0 -153
  68. package/esm/core/remult-fresh.d.ts +0 -17
  69. package/esm/core/remult-fresh.js +0 -29
  70. package/esm/core/remult-knex/index.d.ts +0 -30
  71. package/esm/core/remult-knex/index.js +0 -446
  72. package/esm/core/remult-mongo.d.ts +0 -24
  73. package/esm/core/remult-mongo.js +0 -254
  74. package/esm/core/server/JsonEntityFileStorage.d.ts +0 -10
  75. package/esm/core/server/JsonEntityFileStorage.js +0 -25
  76. package/esm/core/server/core.d.ts +0 -4
  77. package/esm/core/server/core.js +0 -4
  78. package/esm/core/server/expressBridge.d.ts +0 -182
  79. package/esm/core/server/expressBridge.js +0 -938
  80. package/esm/core/server/index.d.ts +0 -6
  81. package/esm/core/server/index.js +0 -9
  82. package/esm/core/server/initAsyncHooks.d.ts +0 -1
  83. package/esm/core/server/initAsyncHooks.js +0 -9
  84. package/esm/core/server/initDataProvider.d.ts +0 -2
  85. package/esm/core/server/initDataProvider.js +0 -14
  86. package/esm/core/src/__EntityValueProvider.d.ts +0 -11
  87. package/esm/core/src/__EntityValueProvider.js +0 -1
  88. package/esm/core/src/__RowsOfDataForTesting.d.ts +0 -3
  89. package/esm/core/src/__RowsOfDataForTesting.js +0 -1
  90. package/esm/core/src/backend-tests/backend-database-test-setup.backend-spec.d.ts +0 -6
  91. package/esm/core/src/backend-tests/backend-database-test-setup.backend-spec.js +0 -147
  92. package/esm/core/src/backend-tests/my-test.backend-spec.js +0 -197
  93. package/esm/core/src/backend-tests/test-http-server.backend-spec.d.ts +0 -1
  94. package/esm/core/src/backend-tests/test-http-server.backend-spec.js +0 -167
  95. package/esm/core/src/buildRestDataProvider.d.ts +0 -31
  96. package/esm/core/src/buildRestDataProvider.js +0 -113
  97. package/esm/core/src/column-interfaces.d.ts +0 -154
  98. package/esm/core/src/column-interfaces.js +0 -7
  99. package/esm/core/src/column.d.ts +0 -58
  100. package/esm/core/src/column.js +0 -174
  101. package/esm/core/src/context.d.ts +0 -134
  102. package/esm/core/src/context.js +0 -286
  103. package/esm/core/src/data-api.d.ts +0 -39
  104. package/esm/core/src/data-api.js +0 -279
  105. package/esm/core/src/data-interfaces.d.ts +0 -41
  106. package/esm/core/src/data-interfaces.js +0 -12
  107. package/esm/core/src/data-providers/array-entity-data-provider.d.ts +0 -22
  108. package/esm/core/src/data-providers/array-entity-data-provider.js +0 -252
  109. package/esm/core/src/data-providers/in-memory-database.d.ts +0 -9
  110. package/esm/core/src/data-providers/in-memory-database.js +0 -14
  111. package/esm/core/src/data-providers/json-data-provider.d.ts +0 -12
  112. package/esm/core/src/data-providers/json-data-provider.js +0 -55
  113. package/esm/core/src/data-providers/rest-data-provider.d.ts +0 -49
  114. package/esm/core/src/data-providers/rest-data-provider.js +0 -256
  115. package/esm/core/src/data-providers/sql-database.d.ts +0 -33
  116. package/esm/core/src/data-providers/sql-database.js +0 -384
  117. package/esm/core/src/data-providers/web-sql-data-provider.d.ts +0 -24
  118. package/esm/core/src/data-providers/web-sql-data-provider.js +0 -143
  119. package/esm/core/src/entity.d.ts +0 -91
  120. package/esm/core/src/entity.js +0 -1
  121. package/esm/core/src/filter/filter-consumer-bridge-to-sql-request.d.ts +0 -50
  122. package/esm/core/src/filter/filter-consumer-bridge-to-sql-request.js +0 -150
  123. package/esm/core/src/filter/filter-consumer-bridge-to-url-builder.d.ts +0 -1
  124. package/esm/core/src/filter/filter-consumer-bridge-to-url-builder.js +0 -1
  125. package/esm/core/src/filter/filter-interfaces.d.ts +0 -85
  126. package/esm/core/src/filter/filter-interfaces.js +0 -477
  127. package/esm/core/src/live-query/LiveQueryClient.d.ts +0 -20
  128. package/esm/core/src/live-query/LiveQueryClient.js +0 -188
  129. package/esm/core/src/live-query/SseSubscriptionClient.d.ts +0 -5
  130. package/esm/core/src/live-query/SseSubscriptionClient.js +0 -86
  131. package/esm/core/src/live-query/SubscriptionChannel.d.ts +0 -72
  132. package/esm/core/src/live-query/SubscriptionChannel.js +0 -123
  133. package/esm/core/src/live-query/SubscriptionServer.d.ts +0 -53
  134. package/esm/core/src/live-query/SubscriptionServer.js +0 -111
  135. package/esm/core/src/live-query/live-query-tests.spec.d.ts +0 -6
  136. package/esm/core/src/live-query/live-query-tests.spec.js +0 -952
  137. package/esm/core/src/remult-proxy.d.ts +0 -35
  138. package/esm/core/src/remult-proxy.js +0 -113
  139. package/esm/core/src/remult3/DecoratorReplacer.d.ts +0 -10
  140. package/esm/core/src/remult3/DecoratorReplacer.js +0 -20
  141. package/esm/core/src/remult3/RepositoryImplementation.d.ts +0 -355
  142. package/esm/core/src/remult3/RepositoryImplementation.js +0 -2109
  143. package/esm/core/src/remult3/index.d.ts +0 -2
  144. package/esm/core/src/remult3/index.js +0 -2
  145. package/esm/core/src/remult3/remult3.d.ts +0 -395
  146. package/esm/core/src/remult3/remult3.js +0 -2
  147. package/esm/core/src/server-action.d.ts +0 -81
  148. package/esm/core/src/server-action.js +0 -394
  149. package/esm/core/src/shared-tests/db-tests-setup.d.ts +0 -32
  150. package/esm/core/src/shared-tests/db-tests-setup.js +0 -78
  151. package/esm/core/src/shared-tests/db-tests.db-tests.d.ts +0 -25
  152. package/esm/core/src/shared-tests/db-tests.db-tests.js +0 -810
  153. package/esm/core/src/shared-tests/deleteAll.d.ts +0 -2
  154. package/esm/core/src/shared-tests/deleteAll.js +0 -4
  155. package/esm/core/src/shared-tests/entityWithValidations.d.ts +0 -14
  156. package/esm/core/src/shared-tests/entityWithValidations.js +0 -43
  157. package/esm/core/src/shared-tests/index.d.ts +0 -4
  158. package/esm/core/src/shared-tests/index.js +0 -4
  159. package/esm/core/src/shared-tests/test-custom-id-column.spec.d.ts +0 -1
  160. package/esm/core/src/shared-tests/test-custom-id-column.spec.js +0 -67
  161. package/esm/core/src/shared-tests/test-special-value.spec.d.ts +0 -10
  162. package/esm/core/src/shared-tests/test-special-value.spec.js +0 -73
  163. package/esm/core/src/shared-tests/test-update-with-null.spec.d.ts +0 -1
  164. package/esm/core/src/shared-tests/test-update-with-null.spec.js +0 -31
  165. package/esm/core/src/sort.d.ts +0 -16
  166. package/esm/core/src/sort.js +0 -103
  167. package/esm/core/src/sql-command.d.ts +0 -19
  168. package/esm/core/src/sql-command.js +0 -1
  169. package/esm/core/src/test.d.ts +0 -3
  170. package/esm/core/src/test.js +0 -12
  171. package/esm/core/src/tests/Done.d.ts +0 -5
  172. package/esm/core/src/tests/Done.js +0 -9
  173. package/esm/core/src/tests/RowProvider.spec.d.ts +0 -16
  174. package/esm/core/src/tests/RowProvider.spec.js +0 -631
  175. package/esm/core/src/tests/TestDataApiResponse.d.ts +0 -10
  176. package/esm/core/src/tests/TestDataApiResponse.js +0 -22
  177. package/esm/core/src/tests/basicRowFunctionality.spec.d.ts +0 -8
  178. package/esm/core/src/tests/basicRowFunctionality.spec.js +0 -2103
  179. package/esm/core/src/tests/c.d.ts +0 -8
  180. package/esm/core/src/tests/c.js +0 -13
  181. package/esm/core/src/tests/createData.d.ts +0 -7
  182. package/esm/core/src/tests/createData.js +0 -22
  183. package/esm/core/src/tests/d.d.ts +0 -6
  184. package/esm/core/src/tests/d.js +0 -11
  185. package/esm/core/src/tests/dWithPrefilter.d.ts +0 -7
  186. package/esm/core/src/tests/dWithPrefilter.js +0 -18
  187. package/esm/core/src/tests/entityForCustomFilter.d.ts +0 -16
  188. package/esm/core/src/tests/entityForCustomFilter.js +0 -33
  189. package/esm/core/src/tests/entityWithValidationsOnColumn.d.ts +0 -5
  190. package/esm/core/src/tests/entityWithValidationsOnColumn.js +0 -13
  191. package/esm/core/src/tests/frontend-database-tests-setup.spec.d.ts +0 -4
  192. package/esm/core/src/tests/frontend-database-tests-setup.spec.js +0 -37
  193. package/esm/core/src/tests/h.d.ts +0 -6
  194. package/esm/core/src/tests/h.js +0 -24
  195. package/esm/core/src/tests/remult-3-basic-tests.spec.d.ts +0 -1
  196. package/esm/core/src/tests/remult-3-basic-tests.spec.js +0 -236
  197. package/esm/core/src/tests/remult-3-entities.d.ts +0 -23
  198. package/esm/core/src/tests/remult-3-entities.js +0 -39
  199. package/esm/core/src/tests/tasks.d.ts +0 -6
  200. package/esm/core/src/tests/tasks.js +0 -10
  201. package/esm/core/src/tests/test-context-as-storage.spec.d.ts +0 -0
  202. package/esm/core/src/tests/test-context-as-storage.spec.js +0 -1
  203. package/esm/core/src/tests/test-data-api/predefined-filter.spec.d.ts +0 -1
  204. package/esm/core/src/tests/test-data-api/predefined-filter.spec.js +0 -389
  205. package/esm/core/src/tests/test-data-api/test-put-with-validation.spec.d.ts +0 -5
  206. package/esm/core/src/tests/test-data-api/test-put-with-validation.spec.js +0 -152
  207. package/esm/core/src/tests/test-decorator-precedence.spec.d.ts +0 -1
  208. package/esm/core/src/tests/test-decorator-precedence.spec.js +0 -38
  209. package/esm/core/src/tests/test-default-value.spec.d.ts +0 -1
  210. package/esm/core/src/tests/test-default-value.spec.js +0 -33
  211. package/esm/core/src/tests/test-entity-inheritance.spec.d.ts +0 -14
  212. package/esm/core/src/tests/test-entity-inheritance.spec.js +0 -82
  213. package/esm/core/src/tests/test-exceptions.spec.d.ts +0 -1
  214. package/esm/core/src/tests/test-exceptions.spec.js +0 -375
  215. package/esm/core/src/tests/test-json.spec.d.ts +0 -1
  216. package/esm/core/src/tests/test-json.spec.js +0 -115
  217. package/esm/core/src/tests/test-many-to-one-relation-in-entity.spec.d.ts +0 -9
  218. package/esm/core/src/tests/test-many-to-one-relation-in-entity.spec.js +0 -809
  219. package/esm/core/src/tests/test-non-active-record.spec.d.ts +0 -1
  220. package/esm/core/src/tests/test-non-active-record.spec.js +0 -66
  221. package/esm/core/src/tests/test-object-column.spec.d.ts +0 -1
  222. package/esm/core/src/tests/test-object-column.spec.js +0 -189
  223. package/esm/core/src/tests/test-paged-foreach.spec.d.ts +0 -1
  224. package/esm/core/src/tests/test-paged-foreach.spec.js +0 -328
  225. package/esm/core/src/tests/test-remult-angular.spec.d.ts +0 -1
  226. package/esm/core/src/tests/test-remult-angular.spec.js +0 -23
  227. package/esm/core/src/tests/test-server-controller.spec.d.ts +0 -7
  228. package/esm/core/src/tests/test-server-controller.spec.js +0 -489
  229. package/esm/core/src/tests/test-server-expressions.spec.d.ts +0 -1
  230. package/esm/core/src/tests/test-server-expressions.spec.js +0 -178
  231. package/esm/core/src/tests/test-server-method-on-entity.spec.d.ts +0 -1
  232. package/esm/core/src/tests/test-server-method-on-entity.spec.js +0 -306
  233. package/esm/core/src/tests/test-sql-expression.spec.d.ts +0 -5
  234. package/esm/core/src/tests/test-sql-expression.spec.js +0 -205
  235. package/esm/core/src/tests/test-sql.spec.d.ts +0 -1
  236. package/esm/core/src/tests/test-sql.spec.js +0 -170
  237. package/esm/core/src/tests/test-subscribe.spec.d.ts +0 -1
  238. package/esm/core/src/tests/test-subscribe.spec.js +0 -135
  239. package/esm/core/src/tests/test-type-recovery.spec.d.ts +0 -1
  240. package/esm/core/src/tests/test-type-recovery.spec.js +0 -49
  241. package/esm/core/src/tests/test-where-api.spec.d.ts +0 -1
  242. package/esm/core/src/tests/test-where-api.spec.js +0 -434
  243. package/esm/core/src/tests/testHelper.spec.d.ts +0 -36
  244. package/esm/core/src/tests/testHelper.spec.js +0 -226
  245. package/esm/core/src/tests/testModel/models.d.ts +0 -16
  246. package/esm/core/src/tests/testModel/models.js +0 -25
  247. package/esm/core/src/validators.d.ts +0 -14
  248. package/esm/core/src/validators.js +0 -33
  249. package/esm/core/src/valueConverters.js +0 -197
  250. package/esm/core/urlBuilder.d.ts +0 -6
  251. package/esm/core/urlBuilder.js +0 -20
  252. package/esm/test-servers/shared/Task.d.ts +0 -9
  253. package/esm/test-servers/shared/Task.js +0 -32
  254. package/esm/test.d.ts +0 -5
  255. package/esm/test.js +0 -6
@@ -1,15 +0,0 @@
1
- import { FieldsMetadata } from "remult";
2
- import { FieldCollection } from "./column-collection";
3
- import { DataControlInfo, DataControlSettings } from "./data-control-interfaces";
4
- export interface IDataAreaSettings<rowType = any> {
5
- fields?: (rowType: FieldsMetadata<rowType>) => DataAreaFieldsSetting<rowType>[];
6
- numberOfColumnAreas?: number;
7
- labelWidth?: number;
8
- }
9
- export declare class DataAreaSettings<rowType = any> {
10
- settings?: IDataAreaSettings<rowType> | undefined;
11
- fields?: FieldCollection<rowType> | undefined;
12
- lines: DataControlSettings[][];
13
- constructor(settings?: IDataAreaSettings<rowType> | undefined, fields?: FieldCollection<rowType> | undefined, entity?: FieldsMetadata<rowType>);
14
- }
15
- export type DataAreaFieldsSetting<rowType = any> = DataControlInfo<rowType> | DataControlInfo<rowType>[];
@@ -1,35 +0,0 @@
1
- import { FieldCollection } from "./column-collection";
2
- export class DataAreaSettings {
3
- settings;
4
- fields;
5
- lines = [];
6
- constructor(settings, fields, entity) {
7
- this.settings = settings;
8
- this.fields = fields;
9
- if (fields == undefined) {
10
- fields = new FieldCollection(() => undefined, () => true, undefined, () => true, () => undefined);
11
- fields.numOfColumnsInGrid = 0;
12
- this.fields = fields;
13
- }
14
- if (settings && settings.fields) {
15
- for (const colSettings of settings.fields(entity)) {
16
- if (Array.isArray(colSettings)) {
17
- let x = fields.items.length;
18
- //@ts-ignore
19
- fields.add(...colSettings);
20
- let line = [];
21
- for (let index = x; index < fields.items.length; index++) {
22
- line.push(fields.items[index]);
23
- }
24
- this.lines.push(line);
25
- }
26
- else {
27
- fields.add(colSettings);
28
- let x = fields.items[fields.items.length - 1];
29
- x.width = '';
30
- this.lines.push([x]);
31
- }
32
- }
33
- }
34
- }
35
- }
@@ -1,36 +0,0 @@
1
- import { FieldRef, FieldMetadata, ValueListItem, Remult } from "remult";
2
- export type DataControlInfo<rowType> = DataControlSettings<rowType> | FieldRef<any, any>;
3
- export interface DataControlSettings<entityType = any, valueType = any> {
4
- field?: FieldMetadata | FieldRef<any, any>;
5
- getValue?: (row: entityType, val: FieldRef<entityType, valueType>) => any;
6
- readonly?: ValueOrEntityExpression<boolean, entityType>;
7
- cssClass?: (string | ((row: entityType) => string));
8
- caption?: string;
9
- visible?: (row: entityType, val: FieldRef<entityType, valueType>) => boolean;
10
- click?: (row: entityType, val: FieldRef<entityType, valueType>) => void;
11
- valueChange?: (row: entityType, val: FieldRef<entityType, valueType>) => void;
12
- allowClick?: (row: entityType, val: FieldRef<entityType, valueType>) => boolean;
13
- clickIcon?: string;
14
- valueList?: ValueListItem[] | string[] | any[] | Promise<ValueListItem[]> | ((remult: Remult) => Promise<ValueListItem[]>) | ((remult: any) => ValueListItem[]);
15
- inputType?: string;
16
- hideDataOnInput?: boolean;
17
- useContainsFilter?: boolean;
18
- width?: string;
19
- customComponent?: {
20
- component: any;
21
- args?: any;
22
- };
23
- }
24
- export interface CustomDataComponent<argsType = any> {
25
- args: CustomComponentArgs<argsType>;
26
- }
27
- export declare type CustomComponentArgs<argsType = any> = {
28
- fieldRef: FieldRef;
29
- settings: DataControlSettings;
30
- args?: argsType;
31
- };
32
- export declare const configDataControlField: unique symbol;
33
- export declare function getFieldDefinition(col: FieldMetadata | FieldRef<any, any>): any;
34
- export declare function decorateDataSettings(colInput: FieldMetadata | FieldRef<any, any>, x: DataControlSettings): void;
35
- export declare type ValueOrEntityExpression<valueType, entityType> = valueType | ((e: entityType) => valueType);
36
- export declare function DataControl<entityType = any, colType = any>(settings: DataControlSettings<entityType, colType>): (target: any, key?: any) => any;
@@ -1,57 +0,0 @@
1
- import { ValueListInfo } from "remult";
2
- export const configDataControlField = Symbol('configDataControlField');
3
- export function getFieldDefinition(col) {
4
- if (!col)
5
- return undefined;
6
- let r = col;
7
- let c = col;
8
- if (c.metadata)
9
- r = c.metadata;
10
- return r;
11
- }
12
- export function decorateDataSettings(colInput, x) {
13
- let col = getFieldDefinition(colInput);
14
- if (col.target) {
15
- let settingsOnColumnLevel = Reflect.getMetadata(configDataControlField, col.target, col.key);
16
- if (settingsOnColumnLevel) {
17
- for (const key in settingsOnColumnLevel) {
18
- if (Object.prototype.hasOwnProperty.call(settingsOnColumnLevel, key)) {
19
- const element = settingsOnColumnLevel[key];
20
- if (x[key] === undefined)
21
- x[key] = element;
22
- }
23
- }
24
- }
25
- }
26
- if (col.valueType) {
27
- let settingsOnColumnLevel = Reflect.getMetadata(configDataControlField, col.valueType);
28
- if (settingsOnColumnLevel) {
29
- for (const key in settingsOnColumnLevel) {
30
- if (Object.prototype.hasOwnProperty.call(settingsOnColumnLevel, key)) {
31
- const element = settingsOnColumnLevel[key];
32
- if (x[key] === undefined)
33
- x[key] = element;
34
- }
35
- }
36
- }
37
- }
38
- if (x.valueList === undefined && col && col.valueConverter instanceof ValueListInfo)
39
- x.valueList = col.valueConverter.getValues();
40
- if (!x.caption && col.caption)
41
- x.caption = col.caption;
42
- if (!x.inputType && col.inputType)
43
- x.inputType = col.inputType;
44
- if (x.readonly == undefined) {
45
- if (col.dbReadOnly)
46
- x.readonly = true;
47
- if (typeof col.options?.allowApiUpdate === 'boolean')
48
- x.readonly = !col.options.allowApiUpdate;
49
- }
50
- }
51
- export function DataControl(settings) {
52
- return (target, key) => {
53
- Reflect.defineMetadata(configDataControlField, settings, target, key);
54
- if (key === undefined)
55
- return target;
56
- };
57
- }
@@ -1,13 +0,0 @@
1
- import { EntityFilter, FindOptions, Repository } from "remult/src/remult3";
2
- export declare class DataList<T> implements Iterable<T> {
3
- private repository;
4
- [Symbol.iterator](): Iterator<T>;
5
- items: T[];
6
- constructor(repository: Repository<T>);
7
- removeItem(item: T): void;
8
- private map;
9
- lastGetId: number;
10
- count(where?: EntityFilter<T>): any;
11
- get(options?: FindOptions<T>): any;
12
- add(): T;
13
- }
@@ -1,42 +0,0 @@
1
- export class DataList {
2
- repository;
3
- [Symbol.iterator]() {
4
- return this.items[Symbol.iterator]();
5
- }
6
- items = [];
7
- constructor(repository) {
8
- this.repository = repository;
9
- repository.addEventListener({
10
- deleted: entity => {
11
- this.removeItem(entity);
12
- }
13
- });
14
- }
15
- removeItem(item) {
16
- let i = this.items.indexOf(item);
17
- if (i >= 0)
18
- this.items.splice(i, 1);
19
- }
20
- map(item) {
21
- return item;
22
- }
23
- lastGetId = 0;
24
- count(where) {
25
- return this.repository.count(where);
26
- }
27
- get(options) {
28
- let getId = ++this.lastGetId;
29
- return this.repository.find(options).then(r => {
30
- let x = r;
31
- let result = r.map((x) => this.map(x));
32
- if (getId == this.lastGetId)
33
- this.items = result;
34
- return result;
35
- });
36
- }
37
- add() {
38
- let x = this.map(this.repository.create());
39
- this.items.push(x);
40
- return x;
41
- }
42
- }
@@ -1,13 +0,0 @@
1
- import { FieldRef, FindOptions, Repository } from "remult";
2
- import { FieldMetadata } from "remult";
3
- export declare class FilterHelper<rowType> {
4
- private reloadData;
5
- private repository;
6
- filterRow: rowType;
7
- filterColumns: FieldMetadata[];
8
- forceEqual: FieldMetadata[];
9
- constructor(reloadData: () => void, repository: Repository<rowType>);
10
- isFiltered(columnInput: FieldMetadata | FieldRef<any, any>): boolean;
11
- filterColumn(columnInput: FieldMetadata | FieldRef<any, any>, clearFilter: boolean, useContainsFilter: boolean): void;
12
- addToFindOptions(opt: FindOptions<rowType>): void;
13
- }
@@ -1,59 +0,0 @@
1
- import { getEntityRef } from "remult";
2
- import { getEntitySettings } from 'remult/src/remult3';
3
- import { getFieldDefinition } from "./data-control-interfaces";
4
- export class FilterHelper {
5
- reloadData;
6
- repository;
7
- filterRow;
8
- filterColumns = [];
9
- forceEqual = [];
10
- constructor(reloadData, repository) {
11
- this.reloadData = reloadData;
12
- this.repository = repository;
13
- }
14
- isFiltered(columnInput) {
15
- return this.filterColumns.indexOf(getFieldDefinition(columnInput)) >= 0;
16
- }
17
- filterColumn(columnInput, clearFilter, useContainsFilter) {
18
- let column = getFieldDefinition(columnInput);
19
- if (!column)
20
- return;
21
- if (clearFilter) {
22
- this.filterColumns.splice(this.filterColumns.indexOf(column, 1), 1);
23
- this.forceEqual.splice(this.forceEqual.indexOf(column, 1), 1);
24
- }
25
- else if (this.filterColumns.indexOf(column) < 0) {
26
- this.filterColumns.push(column);
27
- if (useContainsFilter === false)
28
- this.forceEqual.push(column);
29
- }
30
- this.reloadData();
31
- }
32
- addToFindOptions(opt) {
33
- this.filterColumns.forEach(c => {
34
- //@ts-ignore
35
- let val = this.filterRow[c.key];
36
- let f = val;
37
- if (c.valueType != Number &&
38
- c.valueType != Date &&
39
- c.valueType != Boolean &&
40
- getEntitySettings(c.valueType, false) == undefined &&
41
- !this.forceEqual.find(x => c.key == x.key))
42
- f = { $contains: getEntityRef(this.filterRow).fields[c.key].inputValue };
43
- else if (c.valueType == Date) {
44
- if (val) {
45
- let v = val;
46
- v = new Date(v.getFullYear(), v.getMonth(), v.getDate());
47
- f = { $gte: v, $lt: (new Date(v.getFullYear(), v.getMonth(), v.getDate() + 1)) };
48
- }
49
- }
50
- let w = { [c.key]: f };
51
- if (opt.where) {
52
- let x = opt.where;
53
- opt.where = { $and: [x, w] };
54
- }
55
- else
56
- opt.where = w;
57
- });
58
- }
59
- }
@@ -1,145 +0,0 @@
1
- import { FieldMetadata, Sort, FieldsMetadata, EntityOrderBy, EntityFilter, FindOptions, Repository } from "remult";
2
- import { FieldCollection } from "./column-collection";
3
- import { DataAreaSettings, IDataAreaSettings } from "./data-area-settings";
4
- import { DataControlInfo, DataControlSettings } from "./data-control-interfaces";
5
- import { FilterHelper } from "./filter-helper";
6
- export declare class GridSettings<rowType> {
7
- private repository;
8
- settings?: IDataSettings<rowType> | undefined;
9
- undoChanges(r: rowType): void;
10
- constructor(repository: Repository<rowType>, settings?: IDataSettings<rowType> | undefined);
11
- currList: DataControlSettings[];
12
- origList: DataControlSettings[];
13
- origNumOfColumns: number;
14
- showSelectColumn: boolean;
15
- initOrigList(): void;
16
- userChooseColumns(): void;
17
- resetColumns(): void;
18
- deleteCol(c: DataControlSettings): void;
19
- addNewRow(): void;
20
- noam: string;
21
- addArea(settings: IDataAreaSettings<rowType>): DataAreaSettings<rowType>;
22
- currentRow: rowType;
23
- setCurrentRow(row: rowType): void;
24
- nextRow(): void;
25
- previousRowAllowed(): boolean;
26
- previousRow(): void;
27
- deleteCurentRow(): void;
28
- currentRowAsRestListItemRow(): undefined;
29
- getRowHelper(item: rowType): any;
30
- cancelCurrentRowChanges(): void;
31
- deleteCurrentRowAllowed(): undefined;
32
- currentRowChanged(): undefined;
33
- saveCurrentRow(): void;
34
- allowUpdate: boolean;
35
- allowInsert: boolean;
36
- allowDelete: boolean;
37
- showDataArea: boolean;
38
- _buttons: RowButton<any>[];
39
- rowClass?: (row: any) => string;
40
- onSavingRow?: (row: any) => Promise<any> | any;
41
- onValidate?: (row: rowType) => Promise<any> | any;
42
- onEnterRow: (row: rowType) => void;
43
- onNewRow: (row: rowType) => void;
44
- _doSavingRow(s: rowType): any;
45
- caption: string;
46
- filterHelper: FilterHelper<rowType>;
47
- columns: FieldCollection<rowType>;
48
- page: number;
49
- nextPage(): Promise<any>;
50
- previousPage(): Promise<any> | undefined;
51
- firstPage(): Promise<any>;
52
- selectedRows: rowType[];
53
- selectedChanged(row: rowType): void;
54
- lastSelectedRowWithShift: rowType;
55
- clickOnselectCheckboxFor(row: rowType, shift: boolean): void;
56
- isSelected(row: rowType): boolean;
57
- selectAllIntermitent(): boolean;
58
- selectAllChecked(): boolean;
59
- private _selectedAll;
60
- selectAllChanged(e: {
61
- checked: boolean;
62
- }): void;
63
- rowsPerPage: number;
64
- rowsPerPageOptions: number[];
65
- get(options: FindOptions<rowType>): Promise<any>;
66
- _currentOrderBy: Sort;
67
- sort(column: FieldMetadata): void;
68
- sortedAscending(column: FieldMetadata): boolean;
69
- sortedDescending(column: FieldMetadata): boolean;
70
- totalRows: number;
71
- reloadData(): Promise<any>;
72
- private restList;
73
- _internalBuildFindOptions(): Promise<FindOptions<rowType>>;
74
- getFilterWithSelectedRows(): Promise<FindOptions<rowType>>;
75
- get items(): rowType[];
76
- }
77
- export interface IDataSettings<rowType> {
78
- rowsLoaded?: (items: rowType[]) => void;
79
- allowUpdate?: boolean;
80
- allowInsert?: boolean;
81
- allowDelete?: boolean;
82
- allowCrud?: boolean;
83
- showDataArea?: boolean;
84
- showPagination?: boolean;
85
- allowSelection?: boolean;
86
- confirmDelete?: (r: rowType) => Promise<boolean>;
87
- columnSettings?: (row: FieldsMetadata<rowType>) => DataControlInfo<rowType>[];
88
- areas?: {
89
- [areaKey: string]: DataControlInfo<rowType>[];
90
- };
91
- rowCssClass?: (row: rowType) => string;
92
- rowButtons?: RowButton<rowType>[];
93
- gridButtons?: GridButton[];
94
- /** filters the data
95
- * @example
96
- * await taskRepo.find({where: { completed:false }})
97
- * @see For more usage examples see [EntityFilter](https://remult.dev/docs/entityFilter.html)
98
- */
99
- where?: EntityFilter<rowType> | (() => EntityFilter<rowType> | Promise<EntityFilter<rowType>>);
100
- /** Determines the order in which the result will be sorted in
101
- * @see See [EntityOrderBy](https://remult-ts.github.io/guide/ref__entityorderby) for more examples on how to sort
102
- */
103
- orderBy?: EntityOrderBy<rowType>;
104
- /** Determines the number of rows returned by the request, on the browser the default is 25 rows
105
- * @example
106
- * this.products = await this.remult.repo(Products).gridSettings({
107
- * rowsInPage:10,
108
- * page:2
109
- * })
110
- */
111
- rowsInPage?: number;
112
- /** Determines the page number that will be used to extract the data
113
- * @example
114
- * this.products = await this.remult.repo(Products).gridSettings({
115
- * rowsInPage:10,
116
- * page:2
117
- * })
118
- */
119
- page?: number;
120
- __customFindData?: any;
121
- knowTotalRows?: boolean;
122
- saving?: (r: rowType) => void;
123
- validation?: (r: rowType) => void;
124
- enterRow?: (r: rowType) => void;
125
- newRow?: (r: rowType) => void;
126
- numOfColumnsInGrid?: number;
127
- caption?: string;
128
- }
129
- export interface RowButton<rowType> {
130
- name?: string;
131
- visible?: (r: rowType) => boolean;
132
- click?: (r: rowType) => void;
133
- showInLine?: boolean;
134
- textInMenu?: (string | ((row: rowType) => string));
135
- icon?: string;
136
- cssClass?: (string | ((row: rowType) => string));
137
- }
138
- export interface GridButton {
139
- name?: string;
140
- visible?: () => boolean;
141
- click?: () => void;
142
- textInMenu?: () => string;
143
- icon?: string;
144
- cssClass?: (string | (() => string));
145
- }