@ctzy-web-client/data-model 1.0.6 → 1.0.20
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/es/SimpleOrm.mjs +85 -0
- package/es/_virtual/_rollupPluginBabelHelpers.mjs +2830 -0
- package/es/abstract/DataColumn.mjs +65 -0
- package/es/abstract/DataForm.mjs +178 -0
- package/es/abstract/DataModel.mjs +223 -0
- package/es/abstract/DataModelAdapter.mjs +86 -0
- package/es/abstract/DataTable.mjs +339 -0
- package/es/abstract/FilterColumn.mjs +44 -0
- package/es/abstract/FilterPanel.mjs +392 -0
- package/es/abstract/FormColumn.mjs +27 -0
- package/es/abstract/TableColumn.mjs +34 -0
- package/es/abstract/dataForm2.mjs +178 -0
- package/es/abstract/where/CombineCondition.mjs +63 -0
- package/es/abstract/where/Condition.mjs +4 -0
- package/es/abstract/where/SingleCondition.mjs +22 -0
- package/es/abstract/where/Where.mjs +21 -0
- package/es/decorator/constant.mjs +11 -0
- package/es/decorator/dataForm.mjs +18 -0
- package/es/decorator/dataTable.mjs +18 -0
- package/es/decorator/filterColumn.mjs +21 -0
- package/es/decorator/formColumn.mjs +19 -0
- package/es/decorator/tableColumn.mjs +20 -0
- package/es/factory.mjs +14 -0
- package/es/index.mjs +14 -0
- package/es/utils/index.mjs +15 -0
- package/lib/SimpleOrm.js +89 -0
- package/lib/_virtual/_rollupPluginBabelHelpers.js +2948 -0
- package/lib/abstract/DataColumn.js +69 -0
- package/lib/abstract/DataForm.js +186 -0
- package/lib/abstract/DataModel.js +231 -0
- package/lib/abstract/DataModelAdapter.js +90 -0
- package/lib/abstract/DataTable.js +343 -0
- package/lib/abstract/FilterColumn.js +48 -0
- package/lib/abstract/FilterPanel.js +396 -0
- package/lib/abstract/FormColumn.js +31 -0
- package/lib/abstract/TableColumn.js +38 -0
- package/lib/abstract/dataForm2.js +186 -0
- package/lib/abstract/where/CombineCondition.js +67 -0
- package/lib/abstract/where/Condition.js +8 -0
- package/lib/abstract/where/SingleCondition.js +26 -0
- package/lib/abstract/where/Where.js +25 -0
- package/lib/decorator/constant.js +20 -0
- package/lib/decorator/dataForm.js +22 -0
- package/lib/decorator/dataTable.js +22 -0
- package/lib/decorator/filterColumn.js +25 -0
- package/lib/decorator/formColumn.js +23 -0
- package/lib/decorator/tableColumn.js +24 -0
- package/lib/factory.js +19 -0
- package/lib/index.js +36 -0
- package/lib/utils/index.js +19 -0
- package/package.json +4 -4
package/es/SimpleOrm.mjs
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { initializerDefineProperty as _initializerDefineProperty, applyDecoratedDescriptor as _applyDecoratedDescriptor } from './_virtual/_rollupPluginBabelHelpers.mjs';
|
|
2
|
+
import { inject } from '@ctzy-web-client/ioc-annotations';
|
|
3
|
+
import { InstantiationService } from '@ctzy-web-client/ioc';
|
|
4
|
+
import DataModelAdapter from './abstract/DataModelAdapter.mjs';
|
|
5
|
+
import DataTable from './abstract/DataTable.mjs';
|
|
6
|
+
import DataForm from './abstract/dataForm2.mjs';
|
|
7
|
+
|
|
8
|
+
var _dec, _dec2, _class, _descriptor, _descriptor2;
|
|
9
|
+
let SimpleOrm = (_dec = inject(DataModelAdapter), _dec2 = inject(InstantiationService), _class = class SimpleOrm2 {
|
|
10
|
+
constructor() {
|
|
11
|
+
_initializerDefineProperty(this, "adapter", _descriptor, this);
|
|
12
|
+
_initializerDefineProperty(this, "instantiationService", _descriptor2, this);
|
|
13
|
+
}
|
|
14
|
+
createDataTable(model, options = {}) {
|
|
15
|
+
return this.instantiationService.createInstance(DataTable, {
|
|
16
|
+
args: [{
|
|
17
|
+
model
|
|
18
|
+
}]
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
createDataForm(model, options = {}) {
|
|
22
|
+
return this.instantiationService.createInstance(DataForm, {
|
|
23
|
+
args: [{
|
|
24
|
+
model
|
|
25
|
+
}]
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
async fill(classType, params2, maxRecCount = 1e4) {
|
|
29
|
+
const dataTable = this.createDataForm(classType);
|
|
30
|
+
return dataTable.adapter.loadDataListHandle(dataTable, Object.assign({
|
|
31
|
+
[dataTable.adapter.pagerNumParamName]: 1,
|
|
32
|
+
[dataTable.adapter.recCountParamName]: maxRecCount
|
|
33
|
+
}, params2)).then((res) => {
|
|
34
|
+
return res.data.map((dataItem) => {
|
|
35
|
+
let modelInstance = new classType();
|
|
36
|
+
dataTable.getColumns().forEach((column) => {
|
|
37
|
+
modelInstance[column.attrName] = dataItem[column.name];
|
|
38
|
+
});
|
|
39
|
+
return modelInstance;
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
async first(classType, params2) {
|
|
44
|
+
return this.fill(classType, params2, 1).then((data) => {
|
|
45
|
+
return data[0] || null;
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
async firstByRecId(classType, recId) {
|
|
49
|
+
const dataTable = this.createDataTable(classType);
|
|
50
|
+
return this.adapter.loadDataByRecIdHandle(dataTable, Object.assign({
|
|
51
|
+
[this.primaryKey]: recId
|
|
52
|
+
}, params)).then((data) => {
|
|
53
|
+
const result = Array.isArray(data.data) ? data.data[0] : data.data;
|
|
54
|
+
if (result) {
|
|
55
|
+
let modelInstance = new classType();
|
|
56
|
+
dataTable.getColumns().forEach((column) => {
|
|
57
|
+
modelInstance[column.attrName] = result[column.name];
|
|
58
|
+
});
|
|
59
|
+
return modelInstance;
|
|
60
|
+
}
|
|
61
|
+
return result;
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
submit(classType, data) {
|
|
65
|
+
const dataForm = this.createDataForm(classType);
|
|
66
|
+
dataForm.adapter = this.adapter;
|
|
67
|
+
return dataForm.submit(data);
|
|
68
|
+
}
|
|
69
|
+
}, _descriptor = _applyDecoratedDescriptor(_class.prototype, "adapter", [_dec], {
|
|
70
|
+
configurable: true,
|
|
71
|
+
enumerable: true,
|
|
72
|
+
writable: true,
|
|
73
|
+
initializer: function() {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, "instantiationService", [_dec2], {
|
|
77
|
+
configurable: true,
|
|
78
|
+
enumerable: true,
|
|
79
|
+
writable: true,
|
|
80
|
+
initializer: function() {
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
}), _class);
|
|
84
|
+
|
|
85
|
+
export { SimpleOrm as default };
|