@journeyapps-labs/reactor-mod-data-browser 2.1.0 → 2.3.0
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/CHANGELOG.md +19 -0
- package/dist/@types/core/AbstractConnection.d.ts +2 -0
- package/dist/@types/core/SchemaModelDefinition.d.ts +8 -2
- package/dist/@types/core/SchemaModelObject.d.ts +15 -8
- package/dist/@types/core/query/AbstractQuery.d.ts +5 -10
- package/dist/@types/core/query/AbstractSerializableQuery.d.ts +11 -0
- package/dist/@types/core/query/Page.d.ts +2 -5
- package/dist/@types/core/query/filters.d.ts +17 -0
- package/dist/@types/core/query/query-changed/ChangedModelQuery.d.ts +15 -0
- package/dist/@types/core/query/query-simple/SimplePage.d.ts +12 -0
- package/dist/@types/core/query/{SimpleQuery.d.ts → query-simple/SimpleQuery.d.ts} +10 -8
- package/dist/@types/core/query/widgets/BelongsToDisplayWidget.d.ts +5 -2
- package/dist/@types/core/query/widgets/CellDisplayWidget.d.ts +1 -2
- package/dist/@types/core/query/widgets/ColumnDisplayWidget.d.ts +6 -0
- package/dist/@types/core/query/widgets/SmartBelongsToDisplayWidget.d.ts +10 -0
- package/dist/@types/core/query/widgets/SmartCellDisplayWidget.d.ts +7 -0
- package/dist/@types/core/query/widgets/SmartColumnWidget.d.ts +10 -0
- package/dist/@types/core/query/widgets/SmartFilterWidget.d.ts +9 -0
- package/dist/@types/entities/QueryEntityDefinition.d.ts +3 -3
- package/dist/@types/forms/SchemaModelForm.d.ts +32 -1
- package/dist/@types/forms/TypeEngine.d.ts +20 -0
- package/dist/@types/forms/inputs/DirtyWrapperInput.d.ts +15 -0
- package/dist/@types/index.d.ts +1 -1
- package/dist/@types/panels/model/ModelPanelFactory.d.ts +2 -2
- package/dist/@types/panels/query/QueryPanelFactory.d.ts +2 -1
- package/dist/DataBrowserModule.js +3 -1
- package/dist/DataBrowserModule.js.map +1 -1
- package/dist/actions/schema-definitions/CreateModelAction.js +2 -1
- package/dist/actions/schema-definitions/CreateModelAction.js.map +1 -1
- package/dist/actions/schema-definitions/QuerySchemaModelAction.js +1 -1
- package/dist/actions/schema-definitions/QuerySchemaModelAction.js.map +1 -1
- package/dist/core/AbstractConnection.js +15 -0
- package/dist/core/AbstractConnection.js.map +1 -1
- package/dist/core/SchemaModelDefinition.js +67 -13
- package/dist/core/SchemaModelDefinition.js.map +1 -1
- package/dist/core/SchemaModelObject.js +90 -50
- package/dist/core/SchemaModelObject.js.map +1 -1
- package/dist/core/query/AbstractQuery.js +2 -8
- package/dist/core/query/AbstractQuery.js.map +1 -1
- package/dist/core/query/AbstractSerializableQuery.js +13 -0
- package/dist/core/query/AbstractSerializableQuery.js.map +1 -0
- package/dist/core/query/Page.js +6 -11
- package/dist/core/query/Page.js.map +1 -1
- package/dist/core/query/filters.js +17 -0
- package/dist/core/query/filters.js.map +1 -0
- package/dist/core/query/query-changed/ChangedModelQuery.js +31 -0
- package/dist/core/query/query-changed/ChangedModelQuery.js.map +1 -0
- package/dist/core/query/query-simple/SimplePage.js +18 -0
- package/dist/core/query/query-simple/SimplePage.js.map +1 -0
- package/dist/core/query/{SimpleQuery.js → query-simple/SimpleQuery.js} +51 -23
- package/dist/core/query/query-simple/SimpleQuery.js.map +1 -0
- package/dist/core/query/widgets/BelongsToDisplayWidget.js +39 -13
- package/dist/core/query/widgets/BelongsToDisplayWidget.js.map +1 -1
- package/dist/core/query/widgets/CellDisplayWidget.js +19 -5
- package/dist/core/query/widgets/CellDisplayWidget.js.map +1 -1
- package/dist/core/query/widgets/ColumnDisplayWidget.js +22 -0
- package/dist/core/query/widgets/ColumnDisplayWidget.js.map +1 -0
- package/dist/core/query/widgets/SmartBelongsToDisplayWidget.js +29 -0
- package/dist/core/query/widgets/SmartBelongsToDisplayWidget.js.map +1 -0
- package/dist/core/query/widgets/SmartCellDisplayWidget.js +20 -0
- package/dist/core/query/widgets/SmartCellDisplayWidget.js.map +1 -0
- package/dist/core/query/widgets/SmartColumnWidget.js +29 -0
- package/dist/core/query/widgets/SmartColumnWidget.js.map +1 -0
- package/dist/core/query/widgets/SmartFilterWidget.js +56 -0
- package/dist/core/query/widgets/SmartFilterWidget.js.map +1 -0
- package/dist/entities/QueryEntityDefinition.js +3 -3
- package/dist/entities/QueryEntityDefinition.js.map +1 -1
- package/dist/entities/SchemaModelObjectEntityDefinition.js +28 -8
- package/dist/entities/SchemaModelObjectEntityDefinition.js.map +1 -1
- package/dist/forms/SchemaModelForm.js +153 -74
- package/dist/forms/SchemaModelForm.js.map +1 -1
- package/dist/forms/TypeEngine.js +135 -0
- package/dist/forms/TypeEngine.js.map +1 -0
- package/dist/forms/inputs/DirtyWrapperInput.js +72 -0
- package/dist/forms/inputs/DirtyWrapperInput.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/panels/model/ModelPanelFactory.js +11 -7
- package/dist/panels/model/ModelPanelFactory.js.map +1 -1
- package/dist/panels/model/ModelPanelWidget.js +21 -4
- package/dist/panels/model/ModelPanelWidget.js.map +1 -1
- package/dist/panels/query/QueryPanelFactory.js +4 -0
- package/dist/panels/query/QueryPanelFactory.js.map +1 -1
- package/dist/panels/query/QueryPanelWidget.js +6 -3
- package/dist/panels/query/QueryPanelWidget.js.map +1 -1
- package/dist/panels/query/TableControlsWidget.js +42 -9
- package/dist/panels/query/TableControlsWidget.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist-module/bundle.js +83 -27
- package/dist-module/bundle.js.map +1 -1
- package/package.json +8 -6
- package/src/DataBrowserModule.ts +3 -1
- package/src/actions/schema-definitions/CreateModelAction.ts +2 -1
- package/src/actions/schema-definitions/QuerySchemaModelAction.ts +1 -1
- package/src/core/AbstractConnection.ts +18 -1
- package/src/core/SchemaModelDefinition.ts +71 -14
- package/src/core/SchemaModelObject.ts +62 -46
- package/src/core/query/AbstractQuery.ts +10 -21
- package/src/core/query/AbstractSerializableQuery.ts +23 -0
- package/src/core/query/Page.ts +7 -14
- package/src/core/query/filters.ts +30 -0
- package/src/core/query/query-changed/ChangedModelQuery.ts +35 -0
- package/src/core/query/query-simple/SimplePage.ts +29 -0
- package/src/core/query/query-simple/SimpleQuery.tsx +163 -0
- package/src/core/query/widgets/BelongsToDisplayWidget.tsx +64 -18
- package/src/core/query/widgets/CellDisplayWidget.tsx +33 -14
- package/src/core/query/widgets/ColumnDisplayWidget.tsx +36 -0
- package/src/core/query/widgets/SmartBelongsToDisplayWidget.tsx +46 -0
- package/src/core/query/widgets/SmartCellDisplayWidget.tsx +29 -0
- package/src/core/query/widgets/SmartColumnWidget.tsx +46 -0
- package/src/core/query/widgets/SmartFilterWidget.tsx +80 -0
- package/src/entities/QueryEntityDefinition.ts +6 -6
- package/src/entities/SchemaModelObjectEntityDefinition.ts +34 -8
- package/src/forms/SchemaModelForm.tsx +145 -96
- package/src/forms/TypeEngine.ts +160 -0
- package/src/forms/inputs/DirtyWrapperInput.tsx +75 -0
- package/src/index.ts +1 -1
- package/src/panels/model/ModelPanelFactory.tsx +11 -9
- package/src/panels/model/ModelPanelWidget.tsx +45 -9
- package/src/panels/query/QueryPanelFactory.tsx +5 -0
- package/src/panels/query/QueryPanelWidget.tsx +6 -3
- package/src/panels/query/TableControlsWidget.tsx +85 -17
- package/dist/core/query/SimpleQuery.js.map +0 -1
- package/src/core/query/SimpleQuery.tsx +0 -120
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { JourneyAPIAdapter } from '@journeyapps/db';
|
|
1
2
|
import { SchemaModelObject } from './SchemaModelObject';
|
|
2
3
|
import { BaseObserver } from '@journeyapps-labs/common-utils';
|
|
3
4
|
import { queue } from 'async';
|
|
@@ -9,22 +10,45 @@ export class SchemaModelDefinition extends BaseObserver {
|
|
|
9
10
|
this.enqueued = new Set();
|
|
10
11
|
this.queue = queue(async (id) => {
|
|
11
12
|
let collection = await this.getCollection();
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
try {
|
|
14
|
+
let models = await this.executeQuery(collection.where(`id = ?`, id));
|
|
15
|
+
if (models[0]) {
|
|
16
|
+
this.cache.set(id, models[0]);
|
|
17
|
+
this.enqueued.delete(id);
|
|
18
|
+
this.iterateListeners((cb) => { var _a; return (_a = cb.resolved) === null || _a === void 0 ? void 0 : _a.call(cb, { object: models[0] }); });
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
this.enqueued.delete(id);
|
|
22
|
+
this.iterateListeners((cb) => { var _a; return (_a = cb.failed) === null || _a === void 0 ? void 0 : _a.call(cb, { object_id: id }); });
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
catch (ex) {
|
|
19
26
|
this.enqueued.delete(id);
|
|
20
|
-
this.iterateListeners((cb) => { var _a; return (_a = cb.
|
|
27
|
+
this.iterateListeners((cb) => { var _a; return (_a = cb.failed) === null || _a === void 0 ? void 0 : _a.call(cb, { object_id: id }); });
|
|
28
|
+
throw ex;
|
|
21
29
|
}
|
|
22
30
|
}, 6);
|
|
23
31
|
}
|
|
24
|
-
async
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
32
|
+
async search(text) {
|
|
33
|
+
let collection = await this.getCollection();
|
|
34
|
+
let adapter = collection.adapter;
|
|
35
|
+
// @ts-ignore
|
|
36
|
+
let res = await adapter.apiPost(`${adapter.credentials.api4Url()}objects/${this.definition.name}/search.json`, {
|
|
37
|
+
query: text
|
|
38
|
+
});
|
|
39
|
+
return res.objects
|
|
40
|
+
.map((o) => {
|
|
41
|
+
return JourneyAPIAdapter.apiToInternalFormat(this.definition, o);
|
|
42
|
+
})
|
|
43
|
+
.map((o) => {
|
|
44
|
+
return new SchemaModelObject({
|
|
45
|
+
definition: this,
|
|
46
|
+
model: o,
|
|
47
|
+
adapter: collection.adapter
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
async load(id) {
|
|
28
52
|
if (!this.enqueued.has(id)) {
|
|
29
53
|
this.enqueued.add(id);
|
|
30
54
|
this.queue.push(id);
|
|
@@ -36,10 +60,22 @@ export class SchemaModelDefinition extends BaseObserver {
|
|
|
36
60
|
l1();
|
|
37
61
|
resolve(object);
|
|
38
62
|
}
|
|
63
|
+
},
|
|
64
|
+
failed: ({ object_id }) => {
|
|
65
|
+
if (object_id === id) {
|
|
66
|
+
l1();
|
|
67
|
+
resolve(null);
|
|
68
|
+
}
|
|
39
69
|
}
|
|
40
70
|
});
|
|
41
71
|
});
|
|
42
72
|
}
|
|
73
|
+
async resolve(id) {
|
|
74
|
+
if (this.cache.has(id)) {
|
|
75
|
+
return this.cache.get(id);
|
|
76
|
+
}
|
|
77
|
+
return this.load(id);
|
|
78
|
+
}
|
|
43
79
|
get key() {
|
|
44
80
|
return this.definition.name;
|
|
45
81
|
}
|
|
@@ -55,6 +91,24 @@ export class SchemaModelDefinition extends BaseObserver {
|
|
|
55
91
|
get definition() {
|
|
56
92
|
return this.options.definition;
|
|
57
93
|
}
|
|
94
|
+
async executeQuery(query) {
|
|
95
|
+
let collection = await this.getCollection();
|
|
96
|
+
let results = await collection.adapter.executeQuery(query);
|
|
97
|
+
return results.map((m) => {
|
|
98
|
+
if (!this.cache.has(m.id)) {
|
|
99
|
+
const model = new SchemaModelObject({
|
|
100
|
+
definition: this,
|
|
101
|
+
model: m,
|
|
102
|
+
adapter: collection.adapter
|
|
103
|
+
});
|
|
104
|
+
this.cache.set(m.id, model);
|
|
105
|
+
return model;
|
|
106
|
+
}
|
|
107
|
+
let model = this.cache.get(m.id);
|
|
108
|
+
model.setData(m);
|
|
109
|
+
return model;
|
|
110
|
+
});
|
|
111
|
+
}
|
|
58
112
|
async getCollection() {
|
|
59
113
|
const conn = await this.connection.getConnection();
|
|
60
114
|
return conn[this.definition.name];
|
|
@@ -63,7 +117,7 @@ export class SchemaModelDefinition extends BaseObserver {
|
|
|
63
117
|
const collection = await this.getCollection();
|
|
64
118
|
return new SchemaModelObject({
|
|
65
119
|
definition: this,
|
|
66
|
-
|
|
120
|
+
adapter: collection.adapter
|
|
67
121
|
});
|
|
68
122
|
}
|
|
69
123
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaModelDefinition.js","sourceRoot":"","sources":["../../src/core/SchemaModelDefinition.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SchemaModelDefinition.js","sourceRoot":"","sources":["../../src/core/SchemaModelDefinition.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,70 +1,110 @@
|
|
|
1
1
|
import { __classPrivateFieldGet, __classPrivateFieldSet, __esDecorate, __runInitializers } from "tslib";
|
|
2
|
-
import {
|
|
2
|
+
import { DatabaseObject } from '@journeyapps/db';
|
|
3
|
+
import { action, observable } from 'mobx';
|
|
3
4
|
let SchemaModelObject = (() => {
|
|
4
|
-
var _a,
|
|
5
|
-
let
|
|
6
|
-
let
|
|
7
|
-
let
|
|
5
|
+
var _a, _SchemaModelObject_data_accessor_storage, _SchemaModelObject_model_accessor_storage, _SchemaModelObject_updated_at_accessor_storage, _SchemaModelObject_patch_accessor_storage;
|
|
6
|
+
let _instanceExtraInitializers = [];
|
|
7
|
+
let _data_decorators;
|
|
8
|
+
let _data_initializers = [];
|
|
9
|
+
let _data_extraInitializers = [];
|
|
10
|
+
let _model_decorators;
|
|
11
|
+
let _model_initializers = [];
|
|
12
|
+
let _model_extraInitializers = [];
|
|
13
|
+
let _updated_at_decorators;
|
|
14
|
+
let _updated_at_initializers = [];
|
|
15
|
+
let _updated_at_extraInitializers = [];
|
|
16
|
+
let _patch_decorators;
|
|
17
|
+
let _patch_initializers = [];
|
|
18
|
+
let _patch_extraInitializers = [];
|
|
19
|
+
let _setData_decorators;
|
|
8
20
|
return _a = class SchemaModelObject {
|
|
9
|
-
get
|
|
10
|
-
set
|
|
21
|
+
get data() { return __classPrivateFieldGet(this, _SchemaModelObject_data_accessor_storage, "f"); }
|
|
22
|
+
set data(value) { __classPrivateFieldSet(this, _SchemaModelObject_data_accessor_storage, value, "f"); }
|
|
23
|
+
get model() { return __classPrivateFieldGet(this, _SchemaModelObject_model_accessor_storage, "f"); }
|
|
24
|
+
set model(value) { __classPrivateFieldSet(this, _SchemaModelObject_model_accessor_storage, value, "f"); }
|
|
25
|
+
get updated_at() { return __classPrivateFieldGet(this, _SchemaModelObject_updated_at_accessor_storage, "f"); }
|
|
26
|
+
set updated_at(value) { __classPrivateFieldSet(this, _SchemaModelObject_updated_at_accessor_storage, value, "f"); }
|
|
27
|
+
get patch() { return __classPrivateFieldGet(this, _SchemaModelObject_patch_accessor_storage, "f"); }
|
|
28
|
+
set patch(value) { __classPrivateFieldSet(this, _SchemaModelObject_patch_accessor_storage, value, "f"); }
|
|
11
29
|
constructor(options) {
|
|
30
|
+
this.options = (__runInitializers(this, _instanceExtraInitializers), options);
|
|
31
|
+
_SchemaModelObject_data_accessor_storage.set(this, __runInitializers(this, _data_initializers, void 0));
|
|
32
|
+
_SchemaModelObject_model_accessor_storage.set(this, (__runInitializers(this, _data_extraInitializers), __runInitializers(this, _model_initializers, void 0)));
|
|
33
|
+
_SchemaModelObject_updated_at_accessor_storage.set(this, (__runInitializers(this, _model_extraInitializers), __runInitializers(this, _updated_at_initializers, void 0)));
|
|
34
|
+
_SchemaModelObject_patch_accessor_storage.set(this, (__runInitializers(this, _updated_at_extraInitializers), __runInitializers(this, _patch_initializers, void 0)));
|
|
35
|
+
__runInitializers(this, _patch_extraInitializers);
|
|
12
36
|
this.options = options;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
get definition() {
|
|
18
|
-
return this.options.definition;
|
|
19
|
-
}
|
|
20
|
-
get model() {
|
|
21
|
-
return this.options.model;
|
|
37
|
+
if (options.model) {
|
|
38
|
+
this.setData(options.model);
|
|
39
|
+
}
|
|
40
|
+
this.patch = new Map();
|
|
22
41
|
}
|
|
23
|
-
async
|
|
42
|
+
async applyPatches() {
|
|
24
43
|
if (!this.model) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
let val = this.model.toString();
|
|
28
|
-
if (val) {
|
|
29
|
-
return val;
|
|
44
|
+
const collection = await this.definition.getCollection();
|
|
45
|
+
this.model = collection.create();
|
|
30
46
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
await new Promise((resolve) => setTimeout(resolve, 40));
|
|
38
|
-
let val = this.model.toString();
|
|
39
|
-
if (val) {
|
|
40
|
-
return val;
|
|
47
|
+
for (let entry of this.patch.entries()) {
|
|
48
|
+
if (this.definition.definition.belongsTo[entry[0]]) {
|
|
49
|
+
this.model[entry[0]](entry[1].model);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
this.model[entry[0]] = entry[1];
|
|
41
53
|
}
|
|
42
54
|
}
|
|
43
|
-
|
|
55
|
+
this.patch.clear();
|
|
56
|
+
}
|
|
57
|
+
async save() {
|
|
58
|
+
await this.definition.connection.batchSave([this]);
|
|
44
59
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
60
|
+
clearEdits() {
|
|
61
|
+
this.patch.clear();
|
|
62
|
+
}
|
|
63
|
+
revert(field) {
|
|
64
|
+
this.patch.delete(field);
|
|
65
|
+
}
|
|
66
|
+
set(field, value) {
|
|
67
|
+
var _b;
|
|
68
|
+
if (((_b = this.model) === null || _b === void 0 ? void 0 : _b[field]) === value) {
|
|
69
|
+
this.patch.delete(field);
|
|
48
70
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
return null;
|
|
71
|
+
else {
|
|
72
|
+
this.patch.set(field, value);
|
|
52
73
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
this.
|
|
60
|
-
|
|
74
|
+
}
|
|
75
|
+
setData(data) {
|
|
76
|
+
this.data = data;
|
|
77
|
+
this.model = new DatabaseObject(this.options.adapter, this.definition.definition, data.id);
|
|
78
|
+
// @ts-ignore
|
|
79
|
+
this.model.resolve(data);
|
|
80
|
+
this.updated_at = new Date(data._updated_at);
|
|
81
|
+
}
|
|
82
|
+
async reload() {
|
|
83
|
+
await this.definition.load(this.id);
|
|
84
|
+
}
|
|
85
|
+
get definition() {
|
|
86
|
+
return this.options.definition;
|
|
87
|
+
}
|
|
88
|
+
get id() {
|
|
89
|
+
return this.data.id;
|
|
61
90
|
}
|
|
62
91
|
},
|
|
63
|
-
|
|
92
|
+
_SchemaModelObject_data_accessor_storage = new WeakMap(),
|
|
93
|
+
_SchemaModelObject_model_accessor_storage = new WeakMap(),
|
|
94
|
+
_SchemaModelObject_updated_at_accessor_storage = new WeakMap(),
|
|
95
|
+
_SchemaModelObject_patch_accessor_storage = new WeakMap(),
|
|
64
96
|
(() => {
|
|
65
97
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
66
|
-
|
|
67
|
-
|
|
98
|
+
_data_decorators = [observable];
|
|
99
|
+
_model_decorators = [observable];
|
|
100
|
+
_updated_at_decorators = [observable];
|
|
101
|
+
_patch_decorators = [observable];
|
|
102
|
+
_setData_decorators = [action];
|
|
103
|
+
__esDecorate(_a, null, _data_decorators, { kind: "accessor", name: "data", static: false, private: false, access: { has: obj => "data" in obj, get: obj => obj.data, set: (obj, value) => { obj.data = value; } }, metadata: _metadata }, _data_initializers, _data_extraInitializers);
|
|
104
|
+
__esDecorate(_a, null, _model_decorators, { kind: "accessor", name: "model", static: false, private: false, access: { has: obj => "model" in obj, get: obj => obj.model, set: (obj, value) => { obj.model = value; } }, metadata: _metadata }, _model_initializers, _model_extraInitializers);
|
|
105
|
+
__esDecorate(_a, null, _updated_at_decorators, { kind: "accessor", name: "updated_at", static: false, private: false, access: { has: obj => "updated_at" in obj, get: obj => obj.updated_at, set: (obj, value) => { obj.updated_at = value; } }, metadata: _metadata }, _updated_at_initializers, _updated_at_extraInitializers);
|
|
106
|
+
__esDecorate(_a, null, _patch_decorators, { kind: "accessor", name: "patch", static: false, private: false, access: { has: obj => "patch" in obj, get: obj => obj.patch, set: (obj, value) => { obj.patch = value; } }, metadata: _metadata }, _patch_initializers, _patch_extraInitializers);
|
|
107
|
+
__esDecorate(_a, null, _setData_decorators, { kind: "method", name: "setData", static: false, private: false, access: { has: obj => "setData" in obj, get: obj => obj.setData }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
68
108
|
if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
69
109
|
})(),
|
|
70
110
|
_a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaModelObject.js","sourceRoot":"","sources":["../../src/core/SchemaModelObject.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"SchemaModelObject.js","sourceRoot":"","sources":["../../src/core/SchemaModelObject.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,14 +5,8 @@ export class AbstractQuery {
|
|
|
5
5
|
this.connection = connection;
|
|
6
6
|
this.id = v4();
|
|
7
7
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
type: this.type,
|
|
11
|
-
connection_id: this.connection.id
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
async deserialize(connectionStore, data) {
|
|
15
|
-
this.connection = await connectionStore.waitForReadyForConnection(data.connection_id);
|
|
8
|
+
async batchSave() {
|
|
9
|
+
await this.connection.batchSave(this.getDirtyObjects());
|
|
16
10
|
}
|
|
17
11
|
}
|
|
18
12
|
//# sourceMappingURL=AbstractQuery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractQuery.js","sourceRoot":"","sources":["../../../src/core/query/AbstractQuery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AbstractQuery.js","sourceRoot":"","sources":["../../../src/core/query/AbstractQuery.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAI1B,MAAM,OAAgB,aAAa;IAGjC,YACS,IAAY,EACZ,UAA8B;QAD9B,SAAI,GAAJ,IAAI,CAAQ;QACZ,eAAU,GAAV,UAAU,CAAoB;QAErC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IAC1D,CAAC;CAaF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AbstractQuery } from './AbstractQuery';
|
|
2
|
+
export class AbstractSerializableQuery extends AbstractQuery {
|
|
3
|
+
serialize() {
|
|
4
|
+
return {
|
|
5
|
+
type: this.type,
|
|
6
|
+
connection_id: this.connection.id
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
async deserialize(connectionStore, data) {
|
|
10
|
+
this.connection = await connectionStore.waitForReadyForConnection(data.connection_id);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=AbstractSerializableQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AbstractSerializableQuery.js","sourceRoot":"","sources":["../../../src/core/query/AbstractSerializableQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAQhD,MAAM,OAAgB,yBAEpB,SAAQ,aAAa;IACrB,SAAS;QACP,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE;SAC7B,CAAC;IACT,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,eAAgC,EAAE,IAAO;QACzD,IAAI,CAAC,UAAU,GAAG,MAAM,eAAe,CAAC,yBAAyB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACxF,CAAC;CACF"}
|
package/dist/core/query/Page.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { __classPrivateFieldGet, __classPrivateFieldSet, __esDecorate, __runInitializers } from "tslib";
|
|
2
|
-
import { SchemaModelObject } from '../SchemaModelObject';
|
|
3
2
|
import { observable } from 'mobx';
|
|
4
3
|
let Page = (() => {
|
|
5
4
|
var _a, _Page_models_accessor_storage, _Page_loading_accessor_storage;
|
|
@@ -26,17 +25,13 @@ let Page = (() => {
|
|
|
26
25
|
get index() {
|
|
27
26
|
return this.options.index;
|
|
28
27
|
}
|
|
29
|
-
|
|
30
|
-
this.
|
|
31
|
-
|
|
32
|
-
let models = await collection.all().limit(this.options.limit).skip(this.options.offset).toArray();
|
|
33
|
-
this.models = models.map((m) => {
|
|
34
|
-
return new SchemaModelObject({
|
|
35
|
-
definition: this.options.definition,
|
|
36
|
-
model: m
|
|
37
|
-
});
|
|
28
|
+
reset() {
|
|
29
|
+
this.models.forEach((m) => {
|
|
30
|
+
m.patch.clear();
|
|
38
31
|
});
|
|
39
|
-
|
|
32
|
+
}
|
|
33
|
+
getDirtyObjects() {
|
|
34
|
+
return this.models.filter((m) => m.patch.size > 0);
|
|
40
35
|
}
|
|
41
36
|
asRows() {
|
|
42
37
|
return this.models.map((m) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Page.js","sourceRoot":"","sources":["../../../src/core/query/Page.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"Page.js","sourceRoot":"","sources":["../../../src/core/query/Page.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;IAarB,IAAI;;;;;;;;sBAAJ,IAAI;YAEf,IAAS,MAAM,+EAAsB;YAArC,IAAS,MAAM,oFAAsB;YAGrC,IAAS,OAAO,gFAAU;YAA1B,IAAS,OAAO,qFAAU;YAE1B,YAAsB,OAAoB;gBAApB,YAAO,GAAP,OAAO,CAAa;gBALjC,+FAA4B;gBAG5B,uJAAiB;;gBAEJ,YAAO,GAAP,OAAO,CAAa;gBACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;aAClB;YAED,IAAI,KAAK;gBACP,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAC5B,CAAC;YAED,KAAK;gBACH,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBACxB,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBAClB,CAAC,CAAC,CAAC;YACL,CAAC;YAED,eAAe;gBACb,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YACrD,CAAC;YAED,MAAM;gBACJ,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC3B,OAAO;wBACL,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE;wBACf,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;wBACnC,KAAK,EAAE,CAAC;qBACT,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC;;;;;;kCAlCA,UAAU;mCAGV,UAAU;YAFX,qKAAS,MAAM,6BAAN,MAAM,uFAAsB;YAGrC,wKAAS,OAAO,6BAAP,OAAO,yFAAU;;;;;SALf,IAAI"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export class AbstractFilter {
|
|
2
|
+
}
|
|
3
|
+
export var Condition;
|
|
4
|
+
(function (Condition) {
|
|
5
|
+
Condition["EQUALS"] = "=";
|
|
6
|
+
})(Condition || (Condition = {}));
|
|
7
|
+
export class SimpleFilter extends AbstractFilter {
|
|
8
|
+
constructor(variable, statements) {
|
|
9
|
+
super();
|
|
10
|
+
this.variable = variable;
|
|
11
|
+
this.statements = statements;
|
|
12
|
+
}
|
|
13
|
+
augment(query) {
|
|
14
|
+
return query.where(this.statements.map((s) => `${this.variable.name} ${s.condition} ?`).join(' or '), ...this.statements.map((s) => s.arg));
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=filters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../src/core/query/filters.ts"],"names":[],"mappings":"AAEA,MAAM,OAAgB,cAAc;CAEnC;AAED,MAAM,CAAN,IAAY,SAEX;AAFD,WAAY,SAAS;IACnB,yBAAY,CAAA;AACd,CAAC,EAFW,SAAS,KAAT,SAAS,QAEpB;AAOD,MAAM,OAAO,YAAa,SAAQ,cAAc;IAC9C,YACS,QAAkB,EAClB,UAAuB;QAE9B,KAAK,EAAE,CAAC;QAHD,aAAQ,GAAR,QAAQ,CAAU;QAClB,eAAU,GAAV,UAAU,CAAa;IAGhC,CAAC;IAED,OAAO,CAAC,KAAY;QAClB,OAAO,KAAK,CAAC,KAAK,CAChB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EACjF,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CACrC,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { AbstractQuery } from '../AbstractQuery';
|
|
2
|
+
import { Page } from '../Page';
|
|
3
|
+
export class ChangedModelQuery extends AbstractQuery {
|
|
4
|
+
constructor(query) {
|
|
5
|
+
super(query.type, query.connection);
|
|
6
|
+
this.query = query;
|
|
7
|
+
}
|
|
8
|
+
getDirtyObjects() {
|
|
9
|
+
return this.query.getDirtyObjects();
|
|
10
|
+
}
|
|
11
|
+
getSimpleName() {
|
|
12
|
+
return `Changed models`;
|
|
13
|
+
}
|
|
14
|
+
async load() { }
|
|
15
|
+
getColumns() {
|
|
16
|
+
return this.query.getColumns();
|
|
17
|
+
}
|
|
18
|
+
get totalPages() {
|
|
19
|
+
return 1;
|
|
20
|
+
}
|
|
21
|
+
getPage(number) {
|
|
22
|
+
let page = new Page({
|
|
23
|
+
definition: this.query.options.definition,
|
|
24
|
+
index: 0
|
|
25
|
+
});
|
|
26
|
+
page.loading = false;
|
|
27
|
+
page.models = this.query.getDirtyObjects();
|
|
28
|
+
return page;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=ChangedModelQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChangedModelQuery.js","sourceRoot":"","sources":["../../../../src/core/query/query-changed/ChangedModelQuery.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAG/B,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IAClD,YAAsB,KAAkB;QACtC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QADhB,UAAK,GAAL,KAAK,CAAa;IAExC,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC;IACD,aAAa;QACX,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,KAAK,CAAC,IAAI,KAAkB,CAAC;IAE7B,UAAU;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;IACjC,CAAC;IACD,IAAI,UAAU;QACZ,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,CAAC,MAAc;QACpB,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC;YAClB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU;YACzC,KAAK,EAAE,CAAC;SACT,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Page } from '../Page';
|
|
2
|
+
export class SimplePage extends Page {
|
|
3
|
+
constructor(options2) {
|
|
4
|
+
super(options2);
|
|
5
|
+
this.options2 = options2;
|
|
6
|
+
}
|
|
7
|
+
async load() {
|
|
8
|
+
this.loading = true;
|
|
9
|
+
let collection = await this.options.definition.getCollection();
|
|
10
|
+
let query = collection.all();
|
|
11
|
+
this.options2.filters.forEach((f) => {
|
|
12
|
+
query = f.augment(query);
|
|
13
|
+
});
|
|
14
|
+
this.models = await this.options.definition.executeQuery(query.limit(this.options2.limit).skip(this.options2.offset));
|
|
15
|
+
this.loading = false;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=SimplePage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SimplePage.js","sourceRoot":"","sources":["../../../../src/core/query/query-simple/SimplePage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAe,MAAM,SAAS,CAAC;AAS5C,MAAM,OAAO,UAAW,SAAQ,IAAI;IAClC,YAAsB,QAA2B;QAC/C,KAAK,CAAC,QAAQ,CAAC,CAAC;QADI,aAAQ,GAAR,QAAQ,CAAmB;IAEjD,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;QAC/D,IAAI,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAClC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CACtD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC5D,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;CACF"}
|