@steedos-widgets/amis-object 1.2.26 → 1.2.28
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/dist/amis/AmisRecordDetailHeader.d.ts +1 -2
- package/dist/amis-object.cjs.css +18 -4
- package/dist/amis-object.cjs.js +164 -119
- package/dist/amis-object.cjs.js.map +1 -1
- package/dist/amis-object.esm.css +18 -4
- package/dist/amis-object.esm.js +164 -119
- package/dist/amis-object.esm.js.map +1 -1
- package/dist/amis-object.umd.css +18 -4
- package/dist/amis-object.umd.js +164 -119
- package/dist/amis-object.umd.js.map +1 -1
- package/dist/assets.json +11 -11
- package/dist/meta.js +14 -12
- package/package.json +3 -3
package/dist/amis-object.umd.js
CHANGED
|
@@ -106,18 +106,6 @@
|
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
108
|
|
|
109
|
-
function __values(o) {
|
|
110
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
111
|
-
if (m) return m.call(o);
|
|
112
|
-
if (o && typeof o.length === "number") return {
|
|
113
|
-
next: function () {
|
|
114
|
-
if (o && i >= o.length) o = void 0;
|
|
115
|
-
return { value: o && o[i++], done: !o };
|
|
116
|
-
}
|
|
117
|
-
};
|
|
118
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
119
|
-
}
|
|
120
|
-
|
|
121
109
|
function __read(o, n) {
|
|
122
110
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
123
111
|
if (!m) return o;
|
|
@@ -3826,6 +3814,10 @@
|
|
|
3826
3814
|
if(___default.includes(['percent','time','filesize','date','datetime','boolean','number','currency', 'select', 'file', 'image', 'avatar', 'formula', 'summary', 'object', 'grid'], field.type)){
|
|
3827
3815
|
displayFields.push(`${field.name}`);
|
|
3828
3816
|
}
|
|
3817
|
+
}else {
|
|
3818
|
+
objectFieldName = field.name.split('.')[0];
|
|
3819
|
+
fieldsName.push(objectFieldName);
|
|
3820
|
+
displayFields.push(objectFieldName);
|
|
3829
3821
|
}
|
|
3830
3822
|
}
|
|
3831
3823
|
|
|
@@ -4906,8 +4898,8 @@
|
|
|
4906
4898
|
/*
|
|
4907
4899
|
* @Author: baozhoutao@steedos.com
|
|
4908
4900
|
* @Date: 2022-11-01 15:51:00
|
|
4909
|
-
* @LastEditors:
|
|
4910
|
-
* @LastEditTime: 2023-06-
|
|
4901
|
+
* @LastEditors: 殷亮辉 yinlianghui@hotoa.com
|
|
4902
|
+
* @LastEditTime: 2023-06-28 23:19:41
|
|
4911
4903
|
* @Description:
|
|
4912
4904
|
*/
|
|
4913
4905
|
|
|
@@ -4958,6 +4950,16 @@
|
|
|
4958
4950
|
return {
|
|
4959
4951
|
data: formSchema
|
|
4960
4952
|
};
|
|
4953
|
+
`;
|
|
4954
|
+
const onDialogCancelScript = `
|
|
4955
|
+
// 这里加setTimeout是因为amis的Bug,它会先触发cancel事件执行此脚本关闭父窗口然后再关闭子窗口
|
|
4956
|
+
// 正确的顺序应该是先关闭子窗口再关闭父窗口,顺序错了会造成第二次点击新建按钮的时候异常
|
|
4957
|
+
setTimeout(function(){
|
|
4958
|
+
doAction({
|
|
4959
|
+
"actionType": "cancel",
|
|
4960
|
+
"componentId": "object_actions_drawer_${uiSchema.name}"
|
|
4961
|
+
});
|
|
4962
|
+
}, 200);
|
|
4961
4963
|
`;
|
|
4962
4964
|
return {
|
|
4963
4965
|
"type": "service",
|
|
@@ -5019,6 +5021,17 @@
|
|
|
5019
5021
|
"closeOnEsc": false,
|
|
5020
5022
|
"closeOnOutside": false,
|
|
5021
5023
|
"size": "lg",
|
|
5024
|
+
"onEvent": {
|
|
5025
|
+
"cancel": {
|
|
5026
|
+
"actions": [
|
|
5027
|
+
{
|
|
5028
|
+
"actionType": "custom",
|
|
5029
|
+
"script": onDialogCancelScript,
|
|
5030
|
+
"expression": "${window:innerWidth < 768}",
|
|
5031
|
+
}
|
|
5032
|
+
]
|
|
5033
|
+
}
|
|
5034
|
+
},
|
|
5022
5035
|
"actions": [
|
|
5023
5036
|
{
|
|
5024
5037
|
type: 'button',
|
|
@@ -5081,7 +5094,7 @@
|
|
|
5081
5094
|
* @Author: baozhoutao@steedos.com
|
|
5082
5095
|
* @Date: 2022-11-01 15:49:58
|
|
5083
5096
|
* @LastEditors: 殷亮辉 yinlianghui@hotoa.com
|
|
5084
|
-
* @LastEditTime: 2023-
|
|
5097
|
+
* @LastEditTime: 2023-06-28 23:22:31
|
|
5085
5098
|
* @Description:
|
|
5086
5099
|
*/
|
|
5087
5100
|
|
|
@@ -5110,6 +5123,17 @@
|
|
|
5110
5123
|
? JSON.parse(page.schema)
|
|
5111
5124
|
: page.schema;
|
|
5112
5125
|
}
|
|
5126
|
+
|
|
5127
|
+
const onDialogCancelScript = `
|
|
5128
|
+
// 这里加setTimeout是因为amis的Bug,它会先触发cancel事件执行此脚本关闭父窗口然后再关闭子窗口
|
|
5129
|
+
// 正确的顺序应该是先关闭子窗口再关闭父窗口,顺序错了会造成第二次点击编辑按钮的时候异常
|
|
5130
|
+
setTimeout(function(){
|
|
5131
|
+
doAction({
|
|
5132
|
+
"actionType": "cancel",
|
|
5133
|
+
"componentId": "object_actions_drawer_${uiSchema.name}"
|
|
5134
|
+
});
|
|
5135
|
+
}, 200);
|
|
5136
|
+
`;
|
|
5113
5137
|
|
|
5114
5138
|
return {
|
|
5115
5139
|
type: "service",
|
|
@@ -5133,6 +5157,17 @@
|
|
|
5133
5157
|
closeOnOutside: false,
|
|
5134
5158
|
showCloseButton: true,
|
|
5135
5159
|
size: "lg",
|
|
5160
|
+
"onEvent": {
|
|
5161
|
+
"cancel": {
|
|
5162
|
+
"actions": [
|
|
5163
|
+
{
|
|
5164
|
+
"actionType": "custom",
|
|
5165
|
+
"script": onDialogCancelScript,
|
|
5166
|
+
"expression": "${window:innerWidth < 768}",
|
|
5167
|
+
}
|
|
5168
|
+
]
|
|
5169
|
+
}
|
|
5170
|
+
},
|
|
5136
5171
|
},
|
|
5137
5172
|
},
|
|
5138
5173
|
],
|
|
@@ -5429,6 +5464,7 @@
|
|
|
5429
5464
|
label: instance.t('frontend_import_data_file'),
|
|
5430
5465
|
required: true,
|
|
5431
5466
|
type: "input-file",
|
|
5467
|
+
accept: ".xlsx,.xls",
|
|
5432
5468
|
className: "m-1",
|
|
5433
5469
|
labelClassName: "text-left",
|
|
5434
5470
|
clearValueOnHidden: true,
|
|
@@ -6093,6 +6129,7 @@
|
|
|
6093
6129
|
"drawer": {
|
|
6094
6130
|
"type": "drawer",
|
|
6095
6131
|
"title": "操作",
|
|
6132
|
+
"id": "object_actions_drawer_" + objectSchema.name,
|
|
6096
6133
|
"body": [
|
|
6097
6134
|
{
|
|
6098
6135
|
"type": "button-group",
|
|
@@ -6115,7 +6152,6 @@
|
|
|
6115
6152
|
"size": "lg"
|
|
6116
6153
|
}
|
|
6117
6154
|
],
|
|
6118
|
-
"id": "u:9815f7366b9f",
|
|
6119
6155
|
"position": "bottom",
|
|
6120
6156
|
"closeOnOutside": true,
|
|
6121
6157
|
"resizable": false,
|
|
@@ -6126,8 +6162,7 @@
|
|
|
6126
6162
|
}
|
|
6127
6163
|
]
|
|
6128
6164
|
}
|
|
6129
|
-
}
|
|
6130
|
-
"id": "u:ee7c7929e6ae"
|
|
6165
|
+
}
|
|
6131
6166
|
}
|
|
6132
6167
|
}else {
|
|
6133
6168
|
if(moreButtons.length > 0){
|
|
@@ -6159,6 +6194,7 @@
|
|
|
6159
6194
|
"drawer": {
|
|
6160
6195
|
"type": "drawer",
|
|
6161
6196
|
"title": "操作",
|
|
6197
|
+
"id": "object_actions_drawer_" + objectSchema.name,
|
|
6162
6198
|
"body": [
|
|
6163
6199
|
{
|
|
6164
6200
|
"type": "button-group",
|
|
@@ -6182,7 +6218,6 @@
|
|
|
6182
6218
|
"size": "lg"
|
|
6183
6219
|
}
|
|
6184
6220
|
],
|
|
6185
|
-
"id": "u:9815f7366b9f",
|
|
6186
6221
|
"position": "bottom",
|
|
6187
6222
|
"closeOnOutside": true,
|
|
6188
6223
|
"resizable": false,
|
|
@@ -6193,8 +6228,7 @@
|
|
|
6193
6228
|
}
|
|
6194
6229
|
]
|
|
6195
6230
|
}
|
|
6196
|
-
}
|
|
6197
|
-
"id": "u:ee7c7929e6ae"
|
|
6231
|
+
}
|
|
6198
6232
|
}
|
|
6199
6233
|
}else {
|
|
6200
6234
|
return ___default__default["default"].map(buttons, (button) => {
|
|
@@ -6223,6 +6257,7 @@
|
|
|
6223
6257
|
"drawer": {
|
|
6224
6258
|
"type": "drawer",
|
|
6225
6259
|
"title": "操作",
|
|
6260
|
+
"id": "object_actions_drawer_" + objectSchema.name,
|
|
6226
6261
|
"body": [
|
|
6227
6262
|
{
|
|
6228
6263
|
"type": "button-group",
|
|
@@ -8799,6 +8834,8 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
8799
8834
|
const fieldsArr = [];
|
|
8800
8835
|
|
|
8801
8836
|
const listName = "all";
|
|
8837
|
+
|
|
8838
|
+
const isMobile = window.innerWidth < 768;
|
|
8802
8839
|
|
|
8803
8840
|
const listView = ___default__namespace.find(
|
|
8804
8841
|
refObjectConfig.list_views,
|
|
@@ -8875,6 +8912,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
8875
8912
|
|
|
8876
8913
|
source.data.$term = "$term";
|
|
8877
8914
|
source.data.$self = "$$";
|
|
8915
|
+
|
|
8878
8916
|
|
|
8879
8917
|
source.requestAdaptor = `
|
|
8880
8918
|
const selfData = JSON.parse(JSON.stringify(api.data.$self));
|
|
@@ -8910,6 +8948,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
8910
8948
|
}
|
|
8911
8949
|
}
|
|
8912
8950
|
|
|
8951
|
+
|
|
8913
8952
|
if(allowSearchFields){
|
|
8914
8953
|
allowSearchFields.forEach(function(key){
|
|
8915
8954
|
const keyValue = selfData[key];
|
|
@@ -9025,7 +9064,6 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
9025
9064
|
pickerSchema.affixHeader = false;
|
|
9026
9065
|
|
|
9027
9066
|
var headerToolbarItems = [];
|
|
9028
|
-
const isMobile = window.innerWidth < 768;
|
|
9029
9067
|
if(referenceTo.objectName === "space_users" && field.reference_to_field === "user" && !isMobile){
|
|
9030
9068
|
headerToolbarItems = getLookupSapceUserTreeSchema();
|
|
9031
9069
|
pickerSchema["style"] = {
|
|
@@ -9106,7 +9144,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
9106
9144
|
}
|
|
9107
9145
|
|
|
9108
9146
|
const ctx = ${JSON.stringify(ctx)};
|
|
9109
|
-
const componentId = ctx.defaults.formSchema.id
|
|
9147
|
+
const componentId = ctx.defaults.formSchema.id;
|
|
9110
9148
|
doAction({
|
|
9111
9149
|
actionType: 'setValue',
|
|
9112
9150
|
componentId: componentId,
|
|
@@ -9360,6 +9398,11 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
9360
9398
|
// ids人员点选模式
|
|
9361
9399
|
return await lookupToAmisIdsPicker(field, readonly, ctx);
|
|
9362
9400
|
}
|
|
9401
|
+
if(!field.filters || field.filters.length == 0){
|
|
9402
|
+
field.filters = [["user_accepted", "=", true]];
|
|
9403
|
+
}else {
|
|
9404
|
+
field.filters = [ ["user_accepted", "=", true], "and", field.filters ];
|
|
9405
|
+
}
|
|
9363
9406
|
// 左侧树右侧人员列表的下拉框模式,不再支持,而是执行下面的lookupToAmisPicker函数弹出选人窗口
|
|
9364
9407
|
// return await lookupToAmisSelectUser(field, readonly, ctx);
|
|
9365
9408
|
}
|
|
@@ -9500,7 +9543,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
9500
9543
|
* @Author: baozhoutao@steedos.com
|
|
9501
9544
|
* @Date: 2023-01-13 17:27:54
|
|
9502
9545
|
* @LastEditors: liaodaxue
|
|
9503
|
-
* @LastEditTime: 2023-06-
|
|
9546
|
+
* @LastEditTime: 2023-06-30 10:29:52
|
|
9504
9547
|
* @Description:
|
|
9505
9548
|
*/
|
|
9506
9549
|
|
|
@@ -9508,12 +9551,16 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
9508
9551
|
const getMarkdownFieldSchema = (field, readonly, ctx)=>{
|
|
9509
9552
|
if(readonly){
|
|
9510
9553
|
return {
|
|
9511
|
-
"type": "
|
|
9512
|
-
"
|
|
9513
|
-
"
|
|
9514
|
-
|
|
9515
|
-
|
|
9516
|
-
|
|
9554
|
+
"type": "control",
|
|
9555
|
+
"label": field.label,
|
|
9556
|
+
"body": {
|
|
9557
|
+
"type": "markdown",
|
|
9558
|
+
"name": field.name,
|
|
9559
|
+
"options": {
|
|
9560
|
+
"linkify": true,
|
|
9561
|
+
"html": true,
|
|
9562
|
+
"breaks": true
|
|
9563
|
+
}
|
|
9517
9564
|
}
|
|
9518
9565
|
}
|
|
9519
9566
|
}else {
|
|
@@ -10594,6 +10641,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
10594
10641
|
async function getTableColumns$1(fields, options){
|
|
10595
10642
|
const columns = [{name: '_index',type: 'text', width: 32, placeholder: ""}];
|
|
10596
10643
|
const allowEdit = options.permissions?.allowEdit && options.permissions?.modifyAllRecords && !options.isLookup && options.enable_inline_edit != false;
|
|
10644
|
+
const defaultWidth = "unset";//用于使table内的td标签下生成div,实现将快速编辑按钮固定在右侧的效果,并不是为了unset效果
|
|
10597
10645
|
for (const field of fields) {
|
|
10598
10646
|
//增加quickEdit属性,实现快速编辑
|
|
10599
10647
|
const quickEditSchema = allowEdit ? await getQuickEditSchema(field, options) : allowEdit;
|
|
@@ -10650,7 +10698,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
10650
10698
|
type: "switch",
|
|
10651
10699
|
name: field.name,
|
|
10652
10700
|
label: field.label,
|
|
10653
|
-
width: field.width,
|
|
10701
|
+
width: field.width || defaultWidth,
|
|
10654
10702
|
toggled: field.toggled,
|
|
10655
10703
|
quickEdit: quickEditSchema,
|
|
10656
10704
|
className:"whitespace-nowrap",
|
|
@@ -10665,7 +10713,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
10665
10713
|
label: field.label,
|
|
10666
10714
|
map: map,
|
|
10667
10715
|
sortable: field.sortable,
|
|
10668
|
-
width: field.width,
|
|
10716
|
+
width: field.width || defaultWidth,
|
|
10669
10717
|
toggled: field.toggled,
|
|
10670
10718
|
className:"whitespace-nowrap",
|
|
10671
10719
|
quickEdit: quickEditSchema
|
|
@@ -10694,7 +10742,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
10694
10742
|
label: field.label,
|
|
10695
10743
|
sortable: field.sortable,
|
|
10696
10744
|
// searchable: field.searchable,
|
|
10697
|
-
width: field.width,
|
|
10745
|
+
width: field.width || defaultWidth,
|
|
10698
10746
|
type: type,
|
|
10699
10747
|
tpl: tpl,
|
|
10700
10748
|
toggled: field.toggled,
|
|
@@ -11101,6 +11149,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
11101
11149
|
let valueField = mainObject.key_field || '_id';
|
|
11102
11150
|
const api = await getApi(mainObject, null, fields, {count: options.queryCount, alias: 'rows', limit: top, queryOptions: `filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"`});
|
|
11103
11151
|
|
|
11152
|
+
api.url += "&objectName=${objectName}";//设计器上对象表格组件需要切换对象重新请求列表数据
|
|
11104
11153
|
if(options.isRelated){
|
|
11105
11154
|
api.url += "&recordId=${_master.recordId}";
|
|
11106
11155
|
}
|
|
@@ -11430,12 +11479,18 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
11430
11479
|
// }
|
|
11431
11480
|
// })
|
|
11432
11481
|
|
|
11482
|
+
var fieldNames = ___default__namespace.map(fields, function(n){return n.name});
|
|
11433
11483
|
return `
|
|
11434
11484
|
if(payload.data.data.length === 0){
|
|
11435
11485
|
var isEditor = !!${options && options.isEditor};
|
|
11436
11486
|
if(isEditor){
|
|
11487
|
+
var fieldNames = ${JSON.stringify(fieldNames)};
|
|
11488
|
+
var emptyDoc = {};//这里如果不把每个字段值设置为空的话,表单上会显示上一次表单上的字段值
|
|
11489
|
+
fieldNames.forEach(function(n){
|
|
11490
|
+
emptyDoc[n] = null;
|
|
11491
|
+
});
|
|
11437
11492
|
// 设计器中始终显示表单,有记录则显示第一条记录,没记录时显示为空表单
|
|
11438
|
-
payload.data.data = [
|
|
11493
|
+
payload.data.data = [emptyDoc];
|
|
11439
11494
|
}
|
|
11440
11495
|
else{
|
|
11441
11496
|
return {
|
|
@@ -12239,8 +12294,8 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
12239
12294
|
/*
|
|
12240
12295
|
* @Author: baozhoutao@steedos.com
|
|
12241
12296
|
* @Date: 2022-05-26 16:02:08
|
|
12242
|
-
* @LastEditors:
|
|
12243
|
-
* @LastEditTime: 2023-06-
|
|
12297
|
+
* @LastEditors: liaodaxue
|
|
12298
|
+
* @LastEditTime: 2023-06-29 17:27:19
|
|
12244
12299
|
* @Description:
|
|
12245
12300
|
*/
|
|
12246
12301
|
|
|
@@ -12334,7 +12389,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
12334
12389
|
const section = await getSection(formFields, permissionFields, fieldSchemaArray, key, ctx);
|
|
12335
12390
|
if (section.body.length > 0) {
|
|
12336
12391
|
if (section.visibleOn) {
|
|
12337
|
-
sectionVisibleOns.push(section.visibleOn);
|
|
12392
|
+
sectionVisibleOns.push("("+section.visibleOn+")");
|
|
12338
12393
|
}
|
|
12339
12394
|
else {
|
|
12340
12395
|
sectionVisibleOns.push("true");
|
|
@@ -12672,8 +12727,12 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
12672
12727
|
if(___default__default["default"].has(formSchema, 'className')){
|
|
12673
12728
|
formSchema.className = 'steedos-amis-form';
|
|
12674
12729
|
}
|
|
12730
|
+
if(!formSchema.id){
|
|
12731
|
+
formSchema.id = 'form_' + objectSchema.name;
|
|
12732
|
+
}
|
|
12675
12733
|
const amisSchema = {
|
|
12676
12734
|
type: 'service',
|
|
12735
|
+
id: `service_${formSchema.id}`,
|
|
12677
12736
|
className: 'p-0',
|
|
12678
12737
|
name: `page_edit_${recordId}`,
|
|
12679
12738
|
api: await getEditFormInitApi(objectSchema, recordId, fields, ctx),
|
|
@@ -12744,11 +12803,6 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
12744
12803
|
}
|
|
12745
12804
|
})]
|
|
12746
12805
|
};
|
|
12747
|
-
if(formSchema.id){
|
|
12748
|
-
amisSchema.id = `service-${formSchema.id}`;
|
|
12749
|
-
}else {
|
|
12750
|
-
amisSchema.id = `new-${objectSchema.name}`;
|
|
12751
|
-
}
|
|
12752
12806
|
return amisSchema;
|
|
12753
12807
|
}
|
|
12754
12808
|
|
|
@@ -16777,85 +16831,71 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
16777
16831
|
});
|
|
16778
16832
|
|
|
16779
16833
|
var getSchema = function (field, value, ctx) { return __awaiter(void 0, void 0, void 0, function () {
|
|
16780
|
-
var refTo, leftName,
|
|
16781
|
-
|
|
16782
|
-
|
|
16783
|
-
switch (_b.label) {
|
|
16834
|
+
var refTo, leftName, refObject, rightSchema;
|
|
16835
|
+
return __generator(this, function (_a) {
|
|
16836
|
+
switch (_a.label) {
|
|
16784
16837
|
case 0:
|
|
16785
16838
|
refTo = field.reference_to;
|
|
16786
16839
|
if (refTo && ___default.isFunction(refTo)) {
|
|
16787
16840
|
refTo = refTo();
|
|
16788
16841
|
}
|
|
16789
16842
|
leftName = "".concat(field.name, "__left");
|
|
16790
|
-
options = [];
|
|
16791
|
-
|
|
16792
|
-
|
|
16793
|
-
|
|
16794
|
-
|
|
16795
|
-
|
|
16796
|
-
|
|
16797
|
-
|
|
16798
|
-
|
|
16799
|
-
return [4 /*yield*/, getUISchema(item, false)];
|
|
16800
|
-
case 3:
|
|
16801
|
-
refObject_1 = _b.sent();
|
|
16802
|
-
options.push({
|
|
16803
|
-
label: refObject_1.label,
|
|
16804
|
-
value: item,
|
|
16805
|
-
icon: refObject_1.icon
|
|
16806
|
-
});
|
|
16807
|
-
_b.label = 4;
|
|
16808
|
-
case 4:
|
|
16809
|
-
refTo_1_1 = refTo_1.next();
|
|
16810
|
-
return [3 /*break*/, 2];
|
|
16811
|
-
case 5: return [3 /*break*/, 8];
|
|
16812
|
-
case 6:
|
|
16813
|
-
e_1_1 = _b.sent();
|
|
16814
|
-
e_1 = { error: e_1_1 };
|
|
16815
|
-
return [3 /*break*/, 8];
|
|
16816
|
-
case 7:
|
|
16817
|
-
try {
|
|
16818
|
-
if (refTo_1_1 && !refTo_1_1.done && (_a = refTo_1.return)) _a.call(refTo_1);
|
|
16819
|
-
}
|
|
16820
|
-
finally { if (e_1) throw e_1.error; }
|
|
16821
|
-
return [7 /*endfinally*/];
|
|
16822
|
-
case 8:
|
|
16843
|
+
// const options = [];
|
|
16844
|
+
// for (const item of refTo) {
|
|
16845
|
+
// const refObject = await getUISchema(item, false);
|
|
16846
|
+
// options.push({
|
|
16847
|
+
// label: refObject.label,
|
|
16848
|
+
// value: item,
|
|
16849
|
+
// icon: refObject.icon
|
|
16850
|
+
// });
|
|
16851
|
+
// }
|
|
16823
16852
|
// console.log(`getSchema refTo`, refTo);
|
|
16824
16853
|
// console.log(`getSchema options`, options);
|
|
16825
16854
|
// console.log(`getSchema value=========>`, value);
|
|
16826
16855
|
if (!value || !value.o) {
|
|
16827
16856
|
value = {
|
|
16828
|
-
o:
|
|
16857
|
+
o: refTo[0],
|
|
16829
16858
|
ids: []
|
|
16830
16859
|
};
|
|
16831
16860
|
}
|
|
16832
16861
|
return [4 /*yield*/, getUISchema(value.o, false)];
|
|
16833
|
-
case
|
|
16834
|
-
refObject =
|
|
16862
|
+
case 1:
|
|
16863
|
+
refObject = _a.sent();
|
|
16835
16864
|
rightSchema = null;
|
|
16836
|
-
if (!(refObject.enable_enhanced_lookup == true)) return [3 /*break*/,
|
|
16865
|
+
if (!(refObject.enable_enhanced_lookup == true)) return [3 /*break*/, 3];
|
|
16837
16866
|
return [4 /*yield*/, lookupToAmisPicker(Object.assign({}, field, { reference_to: value.o }), false, ctx)];
|
|
16838
|
-
case
|
|
16839
|
-
rightSchema =
|
|
16840
|
-
return [3 /*break*/,
|
|
16841
|
-
case
|
|
16867
|
+
case 2:
|
|
16868
|
+
rightSchema = _a.sent();
|
|
16869
|
+
return [3 /*break*/, 5];
|
|
16870
|
+
case 3:
|
|
16842
16871
|
if (!ctx) {
|
|
16843
16872
|
ctx = {};
|
|
16844
16873
|
}
|
|
16845
16874
|
ctx.isRefToMutiple = ___default.isArray(refTo);
|
|
16846
16875
|
return [4 /*yield*/, lookupToAmisSelect(Object.assign({}, field, { reference_to: value.o }), false, ctx)];
|
|
16847
|
-
case
|
|
16848
|
-
rightSchema =
|
|
16849
|
-
|
|
16850
|
-
case
|
|
16876
|
+
case 4:
|
|
16877
|
+
rightSchema = _a.sent();
|
|
16878
|
+
_a.label = 5;
|
|
16879
|
+
case 5: return [2 /*return*/, {
|
|
16851
16880
|
"type": "input-group",
|
|
16852
16881
|
"label": false,
|
|
16853
16882
|
"body": [
|
|
16854
16883
|
{
|
|
16855
16884
|
"type": "select",
|
|
16856
|
-
"inputClassName": "
|
|
16885
|
+
"inputClassName": "lookup-left",
|
|
16857
16886
|
"name": leftName,
|
|
16858
|
-
"options": options,
|
|
16887
|
+
// "options": options,
|
|
16888
|
+
"source": {
|
|
16889
|
+
"method": "post",
|
|
16890
|
+
"url": "${context.rootUrl}/graphql",
|
|
16891
|
+
"data": {
|
|
16892
|
+
"query": "{options:objects(filters: {__filters}, top: {__top}, sort: \"{__sort}\"){_id label:label value:name icon},count:objects__count(filters:{__filters})}"
|
|
16893
|
+
},
|
|
16894
|
+
"headers": {
|
|
16895
|
+
"Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
16896
|
+
},
|
|
16897
|
+
"requestAdaptor": "\nvar filters = [\"name\",\"in\", ".concat(JSON.stringify(refTo), "]; \nvar top = ").concat(JSON.stringify(refTo), ".length;\n\nvar sort = \"\";\napi.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', top).replace('{__sort}', sort.trim());\nreturn api;"),
|
|
16898
|
+
},
|
|
16859
16899
|
"value": "".concat(value.o)
|
|
16860
16900
|
},
|
|
16861
16901
|
Object.assign({}, rightSchema, {
|
|
@@ -17186,16 +17226,16 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
17186
17226
|
};
|
|
17187
17227
|
|
|
17188
17228
|
var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0, function () {
|
|
17189
|
-
var $schema, recordId, defaultData, mode, layout, labelAlign, appId, fieldsExtend, _a, excludedFields, _b, fields, _c, className, initApiRequestAdaptor, initApiAdaptor, apiRequestAdaptor, apiAdaptor, enableTabs, tabsMode, objectApiName, schemaKeys, formSchema, defaults, options, globalData, amisSchema, uiSchema, schema, schema, formData;
|
|
17190
|
-
return __generator(this, function (
|
|
17191
|
-
switch (
|
|
17229
|
+
var $schema, recordId, defaultData, mode, layout, labelAlign, appId, fieldsExtend, _a, excludedFields, _b, fields, _c, form, _d, className, initApiRequestAdaptor, initApiAdaptor, apiRequestAdaptor, apiAdaptor, enableTabs, tabsMode, objectApiName, schemaKeys, formSchema, defaults, options, globalData, amisSchema, uiSchema, schema, schema, formData;
|
|
17230
|
+
return __generator(this, function (_e) {
|
|
17231
|
+
switch (_e.label) {
|
|
17192
17232
|
case 0:
|
|
17193
|
-
$schema = props.$schema, recordId = props.recordId, defaultData = props.defaultData, mode = props.mode, layout = props.layout, labelAlign = props.labelAlign, appId = props.appId, fieldsExtend = props.fieldsExtend, _a = props.excludedFields, excludedFields = _a === void 0 ? null : _a, _b = props.fields, fields = _b === void 0 ? null : _b, _c = props.className, className =
|
|
17233
|
+
$schema = props.$schema, recordId = props.recordId, defaultData = props.defaultData, mode = props.mode, layout = props.layout, labelAlign = props.labelAlign, appId = props.appId, fieldsExtend = props.fieldsExtend, _a = props.excludedFields, excludedFields = _a === void 0 ? null : _a, _b = props.fields, fields = _b === void 0 ? null : _b, _c = props.form, form = _c === void 0 ? {} : _c, _d = props.className, className = _d === void 0 ? "" : _d, initApiRequestAdaptor = props.initApiRequestAdaptor, initApiAdaptor = props.initApiAdaptor, apiRequestAdaptor = props.apiRequestAdaptor, apiAdaptor = props.apiAdaptor, enableTabs = props.enableTabs, tabsMode = props.tabsMode;
|
|
17194
17234
|
objectApiName = props.objectApiName || "space_users";
|
|
17195
|
-
schemaKeys = ___default.difference(___default.keys($schema), ["type", "mode", "layout", "defaultData"]);
|
|
17235
|
+
schemaKeys = ___default.difference(___default.keys($schema), ["id", "form", "type", "mode", "layout", "defaultData"]);
|
|
17196
17236
|
formSchema = ___default.pick(props, schemaKeys);
|
|
17197
17237
|
defaults = {
|
|
17198
|
-
formSchema: formSchema
|
|
17238
|
+
formSchema: Object.assign({}, formSchema, form)
|
|
17199
17239
|
};
|
|
17200
17240
|
options = {
|
|
17201
17241
|
recordId: recordId,
|
|
@@ -17225,7 +17265,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
17225
17265
|
tabsMode: tabsMode
|
|
17226
17266
|
}))];
|
|
17227
17267
|
case 1:
|
|
17228
|
-
schema =
|
|
17268
|
+
schema = _e.sent();
|
|
17229
17269
|
amisSchema = schema.amisSchema;
|
|
17230
17270
|
if (defaultData) {
|
|
17231
17271
|
// 让ObjectForm支持props中的dafaultData属性与上层组件配置的defaultData混合
|
|
@@ -17247,10 +17287,10 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
17247
17287
|
}
|
|
17248
17288
|
return [4 /*yield*/, getViewSchema(objectApiName, recordId, options)];
|
|
17249
17289
|
case 3:
|
|
17250
|
-
schema =
|
|
17290
|
+
schema = _e.sent();
|
|
17251
17291
|
amisSchema = schema.amisSchema;
|
|
17252
17292
|
uiSchema = schema.uiSchema;
|
|
17253
|
-
|
|
17293
|
+
_e.label = 4;
|
|
17254
17294
|
case 4:
|
|
17255
17295
|
formData = {};
|
|
17256
17296
|
// formData.recordId = recordId || null;
|
|
@@ -17271,12 +17311,12 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
17271
17311
|
}); };
|
|
17272
17312
|
|
|
17273
17313
|
var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, void 0, function () {
|
|
17274
|
-
var $schema, top, perPage, _a, showHeader, data, defaultData, _b, className, crudClassName,
|
|
17275
|
-
var
|
|
17276
|
-
return __generator(this, function (
|
|
17277
|
-
switch (
|
|
17314
|
+
var $schema, top, perPage, _a, showHeader, data, defaultData, _b, crud, _c, className, crudClassName, _d, showDisplayAs, sideSchema, _f, filterVisible, headerToolbarItems, rowClassNameExpr, headerSchema, ctx, listName, defaults, objectApiName, displayAs, formFactor, isMobile, uiSchema, listView, schemaKeys, listSchema, setDataToComponentId, amisSchemaData, listViewId, listViewSchemaProps, serviceData;
|
|
17315
|
+
var _g;
|
|
17316
|
+
return __generator(this, function (_h) {
|
|
17317
|
+
switch (_h.label) {
|
|
17278
17318
|
case 0:
|
|
17279
|
-
$schema = props.$schema, top = props.top, perPage = props.perPage, _a = props.showHeader, showHeader = _a === void 0 ? true : _a, data = props.data, defaultData = props.defaultData, _b = props.className, className =
|
|
17319
|
+
$schema = props.$schema, top = props.top, perPage = props.perPage, _a = props.showHeader, showHeader = _a === void 0 ? true : _a, data = props.data, defaultData = props.defaultData, _b = props.crud, crud = _b === void 0 ? {} : _b, _c = props.className, className = _c === void 0 ? "" : _c, crudClassName = props.crudClassName, _d = props.showDisplayAs, showDisplayAs = _d === void 0 ? false : _d, sideSchema = props.sideSchema, props.columnsTogglable, _f = props.filterVisible, filterVisible = _f === void 0 ? true : _f, headerToolbarItems = props.headerToolbarItems, rowClassNameExpr = props.rowClassNameExpr;
|
|
17280
17320
|
headerSchema = props.headerSchema;
|
|
17281
17321
|
ctx = props.ctx;
|
|
17282
17322
|
listName = (defaultData === null || defaultData === void 0 ? void 0 : defaultData.listName) || (data === null || data === void 0 ? void 0 : data.listName) || (props === null || props === void 0 ? void 0 : props.listName);
|
|
@@ -17305,7 +17345,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
17305
17345
|
}
|
|
17306
17346
|
return [4 /*yield*/, getUISchema(objectApiName, false)];
|
|
17307
17347
|
case 1:
|
|
17308
|
-
uiSchema =
|
|
17348
|
+
uiSchema = _h.sent();
|
|
17309
17349
|
listView = ___default.find(uiSchema.list_views, function (listView, name) {
|
|
17310
17350
|
// 传入listViewName空值则取第一个
|
|
17311
17351
|
if (!listName) {
|
|
@@ -17324,7 +17364,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
17324
17364
|
}
|
|
17325
17365
|
listName = listView.name;
|
|
17326
17366
|
if (!(ctx && ctx.defaults)) {
|
|
17327
|
-
schemaKeys = ___default.difference(___default.keys($schema), ["type", "showHeader", "id"]);
|
|
17367
|
+
schemaKeys = ___default.difference(___default.keys($schema), ["type", "showHeader", "id", "crud"]);
|
|
17328
17368
|
listSchema = ___default.pick(props, schemaKeys);
|
|
17329
17369
|
// className不传入crud组件,crud单独识别crudClassName属性
|
|
17330
17370
|
listSchema.className = crudClassName;
|
|
@@ -17347,7 +17387,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
17347
17387
|
]
|
|
17348
17388
|
};
|
|
17349
17389
|
defaults = {
|
|
17350
|
-
listSchema: listSchema
|
|
17390
|
+
listSchema: Object.assign({}, listSchema, crud)
|
|
17351
17391
|
};
|
|
17352
17392
|
}
|
|
17353
17393
|
setDataToComponentId = ctx && ctx.setDataToComponentId;
|
|
@@ -17370,7 +17410,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
17370
17410
|
if (!___default.has(data, 'uiSchema')) {
|
|
17371
17411
|
serviceData.uiSchema = uiSchema;
|
|
17372
17412
|
}
|
|
17373
|
-
serviceData.defaultListName = listName ? listName : (
|
|
17413
|
+
serviceData.defaultListName = listName ? listName : (_g = ___default.first(___default.values(uiSchema.list_views))) === null || _g === void 0 ? void 0 : _g.name;
|
|
17374
17414
|
// console.timeEnd('AmisObjectListView')
|
|
17375
17415
|
// console.log('serviceData===>', serviceData)
|
|
17376
17416
|
// console.log('headerSchema===>', headerSchema)
|
|
@@ -17400,7 +17440,8 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
17400
17440
|
{
|
|
17401
17441
|
"type": "service",
|
|
17402
17442
|
"schemaApi": {
|
|
17403
|
-
|
|
17443
|
+
// 这里url上加objectApiName属性是因为设计器中切换对象时不会变更列表视图界面,不可以用objectName=${objectName}使用作用域中objectName变量是因为设计器那边不会监听识别data变化来render组件
|
|
17444
|
+
"url": "${context.rootUrl}/graphql?objectName=" + objectApiName + "&listName=${listName}&display=${display}",
|
|
17404
17445
|
"method": "post",
|
|
17405
17446
|
"messages": {},
|
|
17406
17447
|
"headers": {
|
|
@@ -17450,13 +17491,13 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
17450
17491
|
return tableColumns;
|
|
17451
17492
|
}
|
|
17452
17493
|
var AmisObjectTable = function (props) { return __awaiter(void 0, void 0, void 0, function () {
|
|
17453
|
-
var $schema, filters, filtersFunction, amisCondition, top, headerSchema, includedFields, fieldsExtend, sort, sortField, sortOrder, extraColumns, data, defaultData, _a,
|
|
17454
|
-
return __generator(this, function (
|
|
17455
|
-
switch (
|
|
17494
|
+
var $schema, filters, filtersFunction, amisCondition, top, headerSchema, includedFields, fieldsExtend, sort, sortField, sortOrder, extraColumns, data, defaultData, _a, crud, _b, formFactor, _c, className, requestAdaptor, adaptor, _d, filterVisible, headerToolbarItems, ctx, columns, defaults, objectApiName, schemaKeys, listSchema, setDataToComponentId, amisFilters, tableFilters, amisSchemaData, appId, amisSchema;
|
|
17495
|
+
return __generator(this, function (_e) {
|
|
17496
|
+
switch (_e.label) {
|
|
17456
17497
|
case 0:
|
|
17457
17498
|
// console.time('AmisObjectTable')
|
|
17458
17499
|
console.log("AmisObjectTable props", props);
|
|
17459
|
-
$schema = props.$schema, filters = props.filters, filtersFunction = props.filtersFunction, amisCondition = props.amisCondition, top = props.top, headerSchema = props.headerSchema, includedFields = props.fields, fieldsExtend = props.fieldsExtend, sort = props.sort, sortField = props.sortField, sortOrder = props.sortOrder, extraColumns = props.extraColumns, data = props.data, defaultData = props.defaultData, _a = props.formFactor, formFactor =
|
|
17500
|
+
$schema = props.$schema, filters = props.filters, filtersFunction = props.filtersFunction, amisCondition = props.amisCondition, top = props.top, headerSchema = props.headerSchema, includedFields = props.fields, fieldsExtend = props.fieldsExtend, sort = props.sort, sortField = props.sortField, sortOrder = props.sortOrder, extraColumns = props.extraColumns, data = props.data, defaultData = props.defaultData, _a = props.crud, crud = _a === void 0 ? {} : _a, _b = props.formFactor, formFactor = _b === void 0 ? window.innerWidth < 768 ? 'SMALL' : 'LARGE' : _b, _c = props.className, className = _c === void 0 ? "" : _c, requestAdaptor = props.requestAdaptor, adaptor = props.adaptor, _d = props.filterVisible, filterVisible = _d === void 0 ? true : _d, headerToolbarItems = props.headerToolbarItems;
|
|
17460
17501
|
ctx = props.ctx;
|
|
17461
17502
|
if (!ctx) {
|
|
17462
17503
|
ctx = {};
|
|
@@ -17468,12 +17509,12 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
17468
17509
|
defaults = {};
|
|
17469
17510
|
objectApiName = props.objectApiName || "space_users";
|
|
17470
17511
|
if (!(ctx && ctx.defaults)) {
|
|
17471
|
-
schemaKeys = ___default.difference(___default.keys($schema), ["type", "objectApiName", "columns", "extraColumns", "id"]);
|
|
17512
|
+
schemaKeys = ___default.difference(___default.keys($schema), ["type", "objectApiName", "columns", "extraColumns", "id", "crud"]);
|
|
17472
17513
|
listSchema = ___default.pick(props, schemaKeys);
|
|
17473
17514
|
// className不传入crud组件,crud单独识别crudClassName属性
|
|
17474
17515
|
listSchema.className = "";
|
|
17475
17516
|
defaults = {
|
|
17476
|
-
listSchema: listSchema
|
|
17517
|
+
listSchema: Object.assign({}, listSchema, crud)
|
|
17477
17518
|
};
|
|
17478
17519
|
}
|
|
17479
17520
|
// 支持通过直接定义headerSchema属性来定制表头,而不一定要通过ctx.defaults.headerSchema传入
|
|
@@ -17492,9 +17533,13 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
17492
17533
|
ctx = ___default.pickBy(ctx, function (value) { return value !== undefined; });
|
|
17493
17534
|
return [4 /*yield*/, getTableSchema(appId, objectApiName, columns, __assign$2(__assign$2({ filters: tableFilters, filtersFunction: filtersFunction, top: top, sort: sort, sortField: sortField, sortOrder: sortOrder, extraColumns: extraColumns, defaults: defaults }, ctx), { setDataToComponentId: setDataToComponentId, requestAdaptor: requestAdaptor, adaptor: adaptor, filterVisible: filterVisible, headerToolbarItems: headerToolbarItems }))];
|
|
17494
17535
|
case 1:
|
|
17495
|
-
amisSchema = (
|
|
17536
|
+
amisSchema = (_e.sent()).amisSchema;
|
|
17496
17537
|
amisSchema.data = Object.assign({}, amisSchema.data, amisSchemaData);
|
|
17538
|
+
if (___default.has(props, 'objectApiName')) {
|
|
17539
|
+
amisSchema.data.objectName = objectApiName;
|
|
17540
|
+
}
|
|
17497
17541
|
amisSchema.className = "steedos-object-table h-full flex flex-col ".concat(className);
|
|
17542
|
+
amisSchema.objectApiName = objectApiName; //设计器中切换对象时画布中显示的列未同步变更
|
|
17498
17543
|
// console.log(`AmisObjectTable===>amisSchema`, amisSchema)
|
|
17499
17544
|
// console.timeEnd('AmisObjectTable')
|
|
17500
17545
|
return [2 /*return*/, amisSchema];
|