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.
- package/esm/graphql.js +27 -27
- package/esm/postgres/schema-builder.js +4 -4
- package/esm/remult-knex/index.js +2 -2
- package/esm/src/backend-tests/backend-database-test-setup.backend-spec.js +10 -0
- package/esm/src/id-entity.d.ts +4 -0
- package/esm/src/id-entity.js +8 -0
- package/esm/src/remult3/RepositoryImplementation.js +7 -5
- package/esm/src/shared-tests/db-tests.db-tests.js +35 -0
- package/package.json +1 -1
- package/postgres/postgresColumnSyntax.d.ts +2 -0
- package/postgres/postgresColumnSyntax.js +34 -0
- package/remult-knex/index.js +2 -2
- package/remult-middleware.d.ts +2 -0
- package/remult-middleware.js +70 -0
- package/server/register-actions-on-server.d.ts +3 -0
- package/server/register-actions-on-server.js +50 -0
- package/server/register-entities-on-server.d.ts +3 -0
- package/server/register-entities-on-server.js +19 -0
- package/src/backend-tests/backend-database-test-setup.backend-spec.js +10 -0
- package/{esm/core/src → src}/backend-tests/my-test.backend-spec.d.ts +1 -1
- package/src/backend-tests/my-test.backend-spec.js +217 -0
- package/src/backend-tests/test-http-server.backend-spec.d.ts +6 -0
- package/src/backend-tests/test-http-server.backend-spec.js +342 -0
- package/src/id-entity.d.ts +4 -0
- package/src/id-entity.js +17 -0
- package/src/remult3/RepositoryImplementation.js +15 -13
- package/src/shared-tests/db-tests.db-tests.js +64 -0
- package/{esm/core/src/valueConverters.d.ts → valueConverters.d.ts} +12 -13
- package/valueConverters.js +168 -0
- package/esm/angular/interfaces/index.d.ts +0 -1
- package/esm/angular/interfaces/index.js +0 -1
- package/esm/angular/interfaces/src/column-collection.d.ts +0 -70
- package/esm/angular/interfaces/src/column-collection.js +0 -341
- package/esm/angular/interfaces/src/data-area-settings.d.ts +0 -15
- package/esm/angular/interfaces/src/data-area-settings.js +0 -35
- package/esm/angular/interfaces/src/data-control-interfaces.d.ts +0 -36
- package/esm/angular/interfaces/src/data-control-interfaces.js +0 -57
- package/esm/angular/interfaces/src/dataList.d.ts +0 -13
- package/esm/angular/interfaces/src/dataList.js +0 -42
- package/esm/angular/interfaces/src/filter-helper.d.ts +0 -13
- package/esm/angular/interfaces/src/filter-helper.js +0 -59
- package/esm/angular/interfaces/src/grid-settings.d.ts +0 -145
- package/esm/angular/interfaces/src/grid-settings.js +0 -387
- package/esm/angular/interfaces/src/public_api.d.ts +0 -4
- package/esm/angular/interfaces/src/public_api.js +0 -4
- package/esm/angular/src/angular/RemultAngularPluginsService.d.ts +0 -4
- package/esm/angular/src/angular/RemultAngularPluginsService.js +0 -3
- package/esm/angular/src/angular/data-control/data-control2.component.d.ts +0 -49
- package/esm/angular/src/angular/data-control/data-control2.component.js +0 -138
- package/esm/core/SseSubscriptionServer.d.ts +0 -33
- package/esm/core/SseSubscriptionServer.js +0 -107
- package/esm/core/assign.d.ts +0 -1
- package/esm/core/assign.js +0 -5
- package/esm/core/classType.d.ts +0 -3
- package/esm/core/classType.js +0 -1
- package/esm/core/index.d.ts +0 -27
- package/esm/core/index.js +0 -25
- package/esm/core/inputTypes.d.ts +0 -9
- package/esm/core/inputTypes.js +0 -9
- package/esm/core/live-query/data-provider-live-query-storage.d.ts +0 -22
- package/esm/core/live-query/data-provider-live-query-storage.js +0 -71
- package/esm/core/postgres/index.d.ts +0 -2
- package/esm/core/postgres/index.js +0 -2
- package/esm/core/postgres/postgres-data-provider.d.ts +0 -36
- package/esm/core/postgres/postgres-data-provider.js +0 -120
- package/esm/core/postgres/schema-builder.d.ts +0 -17
- package/esm/core/postgres/schema-builder.js +0 -153
- package/esm/core/remult-fresh.d.ts +0 -17
- package/esm/core/remult-fresh.js +0 -29
- package/esm/core/remult-knex/index.d.ts +0 -30
- package/esm/core/remult-knex/index.js +0 -446
- package/esm/core/remult-mongo.d.ts +0 -24
- package/esm/core/remult-mongo.js +0 -254
- package/esm/core/server/JsonEntityFileStorage.d.ts +0 -10
- package/esm/core/server/JsonEntityFileStorage.js +0 -25
- package/esm/core/server/core.d.ts +0 -4
- package/esm/core/server/core.js +0 -4
- package/esm/core/server/expressBridge.d.ts +0 -182
- package/esm/core/server/expressBridge.js +0 -938
- package/esm/core/server/index.d.ts +0 -6
- package/esm/core/server/index.js +0 -9
- package/esm/core/server/initAsyncHooks.d.ts +0 -1
- package/esm/core/server/initAsyncHooks.js +0 -9
- package/esm/core/server/initDataProvider.d.ts +0 -2
- package/esm/core/server/initDataProvider.js +0 -14
- package/esm/core/src/__EntityValueProvider.d.ts +0 -11
- package/esm/core/src/__EntityValueProvider.js +0 -1
- package/esm/core/src/__RowsOfDataForTesting.d.ts +0 -3
- package/esm/core/src/__RowsOfDataForTesting.js +0 -1
- package/esm/core/src/backend-tests/backend-database-test-setup.backend-spec.d.ts +0 -6
- package/esm/core/src/backend-tests/backend-database-test-setup.backend-spec.js +0 -147
- package/esm/core/src/backend-tests/my-test.backend-spec.js +0 -197
- package/esm/core/src/backend-tests/test-http-server.backend-spec.d.ts +0 -1
- package/esm/core/src/backend-tests/test-http-server.backend-spec.js +0 -167
- package/esm/core/src/buildRestDataProvider.d.ts +0 -31
- package/esm/core/src/buildRestDataProvider.js +0 -113
- package/esm/core/src/column-interfaces.d.ts +0 -154
- package/esm/core/src/column-interfaces.js +0 -7
- package/esm/core/src/column.d.ts +0 -58
- package/esm/core/src/column.js +0 -174
- package/esm/core/src/context.d.ts +0 -134
- package/esm/core/src/context.js +0 -286
- package/esm/core/src/data-api.d.ts +0 -39
- package/esm/core/src/data-api.js +0 -279
- package/esm/core/src/data-interfaces.d.ts +0 -41
- package/esm/core/src/data-interfaces.js +0 -12
- package/esm/core/src/data-providers/array-entity-data-provider.d.ts +0 -22
- package/esm/core/src/data-providers/array-entity-data-provider.js +0 -252
- package/esm/core/src/data-providers/in-memory-database.d.ts +0 -9
- package/esm/core/src/data-providers/in-memory-database.js +0 -14
- package/esm/core/src/data-providers/json-data-provider.d.ts +0 -12
- package/esm/core/src/data-providers/json-data-provider.js +0 -55
- package/esm/core/src/data-providers/rest-data-provider.d.ts +0 -49
- package/esm/core/src/data-providers/rest-data-provider.js +0 -256
- package/esm/core/src/data-providers/sql-database.d.ts +0 -33
- package/esm/core/src/data-providers/sql-database.js +0 -384
- package/esm/core/src/data-providers/web-sql-data-provider.d.ts +0 -24
- package/esm/core/src/data-providers/web-sql-data-provider.js +0 -143
- package/esm/core/src/entity.d.ts +0 -91
- package/esm/core/src/entity.js +0 -1
- package/esm/core/src/filter/filter-consumer-bridge-to-sql-request.d.ts +0 -50
- package/esm/core/src/filter/filter-consumer-bridge-to-sql-request.js +0 -150
- package/esm/core/src/filter/filter-consumer-bridge-to-url-builder.d.ts +0 -1
- package/esm/core/src/filter/filter-consumer-bridge-to-url-builder.js +0 -1
- package/esm/core/src/filter/filter-interfaces.d.ts +0 -85
- package/esm/core/src/filter/filter-interfaces.js +0 -477
- package/esm/core/src/live-query/LiveQueryClient.d.ts +0 -20
- package/esm/core/src/live-query/LiveQueryClient.js +0 -188
- package/esm/core/src/live-query/SseSubscriptionClient.d.ts +0 -5
- package/esm/core/src/live-query/SseSubscriptionClient.js +0 -86
- package/esm/core/src/live-query/SubscriptionChannel.d.ts +0 -72
- package/esm/core/src/live-query/SubscriptionChannel.js +0 -123
- package/esm/core/src/live-query/SubscriptionServer.d.ts +0 -53
- package/esm/core/src/live-query/SubscriptionServer.js +0 -111
- package/esm/core/src/live-query/live-query-tests.spec.d.ts +0 -6
- package/esm/core/src/live-query/live-query-tests.spec.js +0 -952
- package/esm/core/src/remult-proxy.d.ts +0 -35
- package/esm/core/src/remult-proxy.js +0 -113
- package/esm/core/src/remult3/DecoratorReplacer.d.ts +0 -10
- package/esm/core/src/remult3/DecoratorReplacer.js +0 -20
- package/esm/core/src/remult3/RepositoryImplementation.d.ts +0 -355
- package/esm/core/src/remult3/RepositoryImplementation.js +0 -2109
- package/esm/core/src/remult3/index.d.ts +0 -2
- package/esm/core/src/remult3/index.js +0 -2
- package/esm/core/src/remult3/remult3.d.ts +0 -395
- package/esm/core/src/remult3/remult3.js +0 -2
- package/esm/core/src/server-action.d.ts +0 -81
- package/esm/core/src/server-action.js +0 -394
- package/esm/core/src/shared-tests/db-tests-setup.d.ts +0 -32
- package/esm/core/src/shared-tests/db-tests-setup.js +0 -78
- package/esm/core/src/shared-tests/db-tests.db-tests.d.ts +0 -25
- package/esm/core/src/shared-tests/db-tests.db-tests.js +0 -810
- package/esm/core/src/shared-tests/deleteAll.d.ts +0 -2
- package/esm/core/src/shared-tests/deleteAll.js +0 -4
- package/esm/core/src/shared-tests/entityWithValidations.d.ts +0 -14
- package/esm/core/src/shared-tests/entityWithValidations.js +0 -43
- package/esm/core/src/shared-tests/index.d.ts +0 -4
- package/esm/core/src/shared-tests/index.js +0 -4
- package/esm/core/src/shared-tests/test-custom-id-column.spec.d.ts +0 -1
- package/esm/core/src/shared-tests/test-custom-id-column.spec.js +0 -67
- package/esm/core/src/shared-tests/test-special-value.spec.d.ts +0 -10
- package/esm/core/src/shared-tests/test-special-value.spec.js +0 -73
- package/esm/core/src/shared-tests/test-update-with-null.spec.d.ts +0 -1
- package/esm/core/src/shared-tests/test-update-with-null.spec.js +0 -31
- package/esm/core/src/sort.d.ts +0 -16
- package/esm/core/src/sort.js +0 -103
- package/esm/core/src/sql-command.d.ts +0 -19
- package/esm/core/src/sql-command.js +0 -1
- package/esm/core/src/test.d.ts +0 -3
- package/esm/core/src/test.js +0 -12
- package/esm/core/src/tests/Done.d.ts +0 -5
- package/esm/core/src/tests/Done.js +0 -9
- package/esm/core/src/tests/RowProvider.spec.d.ts +0 -16
- package/esm/core/src/tests/RowProvider.spec.js +0 -631
- package/esm/core/src/tests/TestDataApiResponse.d.ts +0 -10
- package/esm/core/src/tests/TestDataApiResponse.js +0 -22
- package/esm/core/src/tests/basicRowFunctionality.spec.d.ts +0 -8
- package/esm/core/src/tests/basicRowFunctionality.spec.js +0 -2103
- package/esm/core/src/tests/c.d.ts +0 -8
- package/esm/core/src/tests/c.js +0 -13
- package/esm/core/src/tests/createData.d.ts +0 -7
- package/esm/core/src/tests/createData.js +0 -22
- package/esm/core/src/tests/d.d.ts +0 -6
- package/esm/core/src/tests/d.js +0 -11
- package/esm/core/src/tests/dWithPrefilter.d.ts +0 -7
- package/esm/core/src/tests/dWithPrefilter.js +0 -18
- package/esm/core/src/tests/entityForCustomFilter.d.ts +0 -16
- package/esm/core/src/tests/entityForCustomFilter.js +0 -33
- package/esm/core/src/tests/entityWithValidationsOnColumn.d.ts +0 -5
- package/esm/core/src/tests/entityWithValidationsOnColumn.js +0 -13
- package/esm/core/src/tests/frontend-database-tests-setup.spec.d.ts +0 -4
- package/esm/core/src/tests/frontend-database-tests-setup.spec.js +0 -37
- package/esm/core/src/tests/h.d.ts +0 -6
- package/esm/core/src/tests/h.js +0 -24
- package/esm/core/src/tests/remult-3-basic-tests.spec.d.ts +0 -1
- package/esm/core/src/tests/remult-3-basic-tests.spec.js +0 -236
- package/esm/core/src/tests/remult-3-entities.d.ts +0 -23
- package/esm/core/src/tests/remult-3-entities.js +0 -39
- package/esm/core/src/tests/tasks.d.ts +0 -6
- package/esm/core/src/tests/tasks.js +0 -10
- package/esm/core/src/tests/test-context-as-storage.spec.d.ts +0 -0
- package/esm/core/src/tests/test-context-as-storage.spec.js +0 -1
- package/esm/core/src/tests/test-data-api/predefined-filter.spec.d.ts +0 -1
- package/esm/core/src/tests/test-data-api/predefined-filter.spec.js +0 -389
- package/esm/core/src/tests/test-data-api/test-put-with-validation.spec.d.ts +0 -5
- package/esm/core/src/tests/test-data-api/test-put-with-validation.spec.js +0 -152
- package/esm/core/src/tests/test-decorator-precedence.spec.d.ts +0 -1
- package/esm/core/src/tests/test-decorator-precedence.spec.js +0 -38
- package/esm/core/src/tests/test-default-value.spec.d.ts +0 -1
- package/esm/core/src/tests/test-default-value.spec.js +0 -33
- package/esm/core/src/tests/test-entity-inheritance.spec.d.ts +0 -14
- package/esm/core/src/tests/test-entity-inheritance.spec.js +0 -82
- package/esm/core/src/tests/test-exceptions.spec.d.ts +0 -1
- package/esm/core/src/tests/test-exceptions.spec.js +0 -375
- package/esm/core/src/tests/test-json.spec.d.ts +0 -1
- package/esm/core/src/tests/test-json.spec.js +0 -115
- package/esm/core/src/tests/test-many-to-one-relation-in-entity.spec.d.ts +0 -9
- package/esm/core/src/tests/test-many-to-one-relation-in-entity.spec.js +0 -809
- package/esm/core/src/tests/test-non-active-record.spec.d.ts +0 -1
- package/esm/core/src/tests/test-non-active-record.spec.js +0 -66
- package/esm/core/src/tests/test-object-column.spec.d.ts +0 -1
- package/esm/core/src/tests/test-object-column.spec.js +0 -189
- package/esm/core/src/tests/test-paged-foreach.spec.d.ts +0 -1
- package/esm/core/src/tests/test-paged-foreach.spec.js +0 -328
- package/esm/core/src/tests/test-remult-angular.spec.d.ts +0 -1
- package/esm/core/src/tests/test-remult-angular.spec.js +0 -23
- package/esm/core/src/tests/test-server-controller.spec.d.ts +0 -7
- package/esm/core/src/tests/test-server-controller.spec.js +0 -489
- package/esm/core/src/tests/test-server-expressions.spec.d.ts +0 -1
- package/esm/core/src/tests/test-server-expressions.spec.js +0 -178
- package/esm/core/src/tests/test-server-method-on-entity.spec.d.ts +0 -1
- package/esm/core/src/tests/test-server-method-on-entity.spec.js +0 -306
- package/esm/core/src/tests/test-sql-expression.spec.d.ts +0 -5
- package/esm/core/src/tests/test-sql-expression.spec.js +0 -205
- package/esm/core/src/tests/test-sql.spec.d.ts +0 -1
- package/esm/core/src/tests/test-sql.spec.js +0 -170
- package/esm/core/src/tests/test-subscribe.spec.d.ts +0 -1
- package/esm/core/src/tests/test-subscribe.spec.js +0 -135
- package/esm/core/src/tests/test-type-recovery.spec.d.ts +0 -1
- package/esm/core/src/tests/test-type-recovery.spec.js +0 -49
- package/esm/core/src/tests/test-where-api.spec.d.ts +0 -1
- package/esm/core/src/tests/test-where-api.spec.js +0 -434
- package/esm/core/src/tests/testHelper.spec.d.ts +0 -36
- package/esm/core/src/tests/testHelper.spec.js +0 -226
- package/esm/core/src/tests/testModel/models.d.ts +0 -16
- package/esm/core/src/tests/testModel/models.js +0 -25
- package/esm/core/src/validators.d.ts +0 -14
- package/esm/core/src/validators.js +0 -33
- package/esm/core/src/valueConverters.js +0 -197
- package/esm/core/urlBuilder.d.ts +0 -6
- package/esm/core/urlBuilder.js +0 -20
- package/esm/test-servers/shared/Task.d.ts +0 -9
- package/esm/test-servers/shared/Task.js +0 -32
- package/esm/test.d.ts +0 -5
- 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
|
-
}
|