@steedos-widgets/amis-lib 1.2.32 → 1.2.34
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/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/index.cjs.js +110 -43
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +110 -43
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +110 -43
- package/dist/index.umd.js.map +1 -1
- package/dist/types/lib/converter/amis/fields/editor.d.ts +24 -15
- package/dist/types/lib/converter/amis/fields/lookup.d.ts +4 -0
- package/dist/types/lib/converter/amis/toolbars/export_excel.d.ts +0 -1
- package/dist/types/lib/converter/amis/toolbars/setting_listview.d.ts +0 -1
- package/package.json +2 -2
package/dist/index.umd.js
CHANGED
|
@@ -5136,7 +5136,8 @@
|
|
|
5136
5136
|
"type": "dropdown-button",
|
|
5137
5137
|
"trigger": "click",
|
|
5138
5138
|
"icon": "fa fa-cog",
|
|
5139
|
-
|
|
5139
|
+
//TODO: dropdown-button只支持在按钮上方配置提示,对于上方按钮的点击会有影响,为保持统一,暂时去除,等待amis优化,https://github.com/baidu/amis/issues/7330
|
|
5140
|
+
// "tooltip": i18next.t('frontend_button_listview_control_tooltip'),
|
|
5140
5141
|
"btnClassName": "antd-Button--iconOnly bg-white !p-2 rounded border-gray-300 text-gray-500",
|
|
5141
5142
|
"align": "right",
|
|
5142
5143
|
"visibleOn": "${!isLookup}",
|
|
@@ -5176,11 +5177,12 @@
|
|
|
5176
5177
|
"rightIconClassName": "m-l-sm"
|
|
5177
5178
|
}
|
|
5178
5179
|
];
|
|
5179
|
-
|
|
5180
|
+
displayAs === 'split'? i18next__default["default"].t('frontend_display_type_is_split') : i18next__default["default"].t('frontend_display_type_is_table');
|
|
5180
5181
|
return {
|
|
5181
5182
|
"type": "dropdown-button",
|
|
5182
5183
|
"icon": "fa fa-table-columns",
|
|
5183
|
-
|
|
5184
|
+
//TODO: dropdown-button只支持在按钮上方配置提示,对于上方按钮的点击会有影响,暂时去除,等待amis优化,https://github.com/baidu/amis/issues/7330
|
|
5185
|
+
// "tooltip": `${i18next.t('frontend_display_as')} ${displayAsLabel}`,
|
|
5184
5186
|
"btnClassName": "antd-Button--iconOnly bg-white !p-2 rounded border-gray-300 text-gray-500",
|
|
5185
5187
|
"align": "right",
|
|
5186
5188
|
"visibleOn": "${window:innerWidth > 768 && !!!isLookup}",
|
|
@@ -5262,7 +5264,8 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
5262
5264
|
// "type": "reload",//不可以直接使用reload,因为它不会设置页码到第一页
|
|
5263
5265
|
"type": "button",
|
|
5264
5266
|
"align": "right",
|
|
5265
|
-
|
|
5267
|
+
//TODO: dropdown-button只支持在按钮上方配置提示,对于上方按钮的点击会有影响,为保持统一,暂时去除,等待amis优化,https://github.com/baidu/amis/issues/7330
|
|
5268
|
+
// "tooltip": i18next.t('frontend_button_reload_tooltip'),
|
|
5266
5269
|
"tooltipPlacement": "top",
|
|
5267
5270
|
"className": "bg-white p-2 rounded border-gray-300 text-gray-500",
|
|
5268
5271
|
"label": "",
|
|
@@ -5284,7 +5287,8 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
5284
5287
|
"icon": "fa fa-search",
|
|
5285
5288
|
"type": "button",
|
|
5286
5289
|
"tooltipPlacement": "top",
|
|
5287
|
-
|
|
5290
|
+
//TODO: dropdown-button只支持在按钮上方配置提示,对于上方按钮的点击会有影响,为保持统一,暂时去除,等待amis优化,https://github.com/baidu/amis/issues/7330
|
|
5291
|
+
// "tooltip": i18next.t('frontend_button_search_tooltip'),
|
|
5288
5292
|
"badge": {
|
|
5289
5293
|
"offset": [
|
|
5290
5294
|
-5,
|
|
@@ -5329,7 +5333,9 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
5329
5333
|
{
|
|
5330
5334
|
"type": "reload",
|
|
5331
5335
|
"align": "right",
|
|
5332
|
-
|
|
5336
|
+
//TODO: dropdown-button只支持在按钮上方配置提示,对于上方按钮的点击会有影响,为保持统一,暂时去除,等待amis优化,https://github.com/baidu/amis/issues/7330
|
|
5337
|
+
// "tooltip": i18next.t('frontend_button_reload_tooltip'),
|
|
5338
|
+
"tooltip":"",
|
|
5333
5339
|
"tooltipPlacement": "top",
|
|
5334
5340
|
"className": "bg-white p-2 rounded border-gray-300 text-gray-500"
|
|
5335
5341
|
},
|
|
@@ -5339,8 +5345,9 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
5339
5345
|
filterVisible ? {
|
|
5340
5346
|
"label": i18next__default["default"].t('frontend_button_search_tooltip'),
|
|
5341
5347
|
"icon": "fa fa-search",
|
|
5342
|
-
|
|
5343
|
-
"
|
|
5348
|
+
//TODO: dropdown-button只支持在按钮上方配置提示,对于上方按钮的点击会有影响,为保持统一,暂时去除,等待amis优化,https://github.com/baidu/amis/issues/7330
|
|
5349
|
+
// "tooltip": i18next.t('frontend_button_search_tooltip'),
|
|
5350
|
+
// "tooltipPlacement": "top",
|
|
5344
5351
|
"type": "button",
|
|
5345
5352
|
"badge": {
|
|
5346
5353
|
"offset": [
|
|
@@ -5446,9 +5453,16 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
5446
5453
|
valueField = `${ctx.fieldNamePrefix}${valueField}`;
|
|
5447
5454
|
}
|
|
5448
5455
|
data.$value = `$${valueField}`;
|
|
5449
|
-
|
|
5456
|
+
data['$'] = `$$`;
|
|
5450
5457
|
const requestAdaptor = `
|
|
5451
5458
|
var filters = [['parent', '=', null]];
|
|
5459
|
+
const filtersFunction = ${field.filtersFunction || field._filtersFunction};
|
|
5460
|
+
if(filtersFunction){
|
|
5461
|
+
const _filters = filtersFunction(filters, api.data.$);
|
|
5462
|
+
if(_filters && _filters.length > 0){
|
|
5463
|
+
filters.push(_filters);
|
|
5464
|
+
}
|
|
5465
|
+
}
|
|
5452
5466
|
api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters));
|
|
5453
5467
|
var defaultValue = api.data.$value;
|
|
5454
5468
|
var optionsFiltersOp = "${field.multiple ? "in" : "="}";
|
|
@@ -5646,7 +5660,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
5646
5660
|
const tree = [{
|
|
5647
5661
|
"type": "input-tree",
|
|
5648
5662
|
"className": "",
|
|
5649
|
-
"inputClassName": "
|
|
5663
|
+
"inputClassName": "p-0",
|
|
5650
5664
|
"id": "u:7fd77b7915b0",
|
|
5651
5665
|
"source": {
|
|
5652
5666
|
"method": "post",
|
|
@@ -5707,7 +5721,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
5707
5721
|
"left": "-200px",
|
|
5708
5722
|
"width": "190px",
|
|
5709
5723
|
"bottom": 0,
|
|
5710
|
-
"top": "
|
|
5724
|
+
"top": "2px",
|
|
5711
5725
|
"overflow": "auto",
|
|
5712
5726
|
"min-height":"300px"
|
|
5713
5727
|
},
|
|
@@ -5973,7 +5987,9 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
5973
5987
|
"margin-left":"200px",
|
|
5974
5988
|
"min-height": "300px"
|
|
5975
5989
|
};
|
|
5990
|
+
pickerSchema.className = pickerSchema.className || "" + " steedos-select-user";
|
|
5976
5991
|
}
|
|
5992
|
+
|
|
5977
5993
|
pickerSchema.headerToolbar = getObjectHeaderToolbar(refObjectConfig, ctx.formFactor, { headerToolbarItems });
|
|
5978
5994
|
const isAllowCreate = refObjectConfig.permissions.allowCreate;
|
|
5979
5995
|
if (isAllowCreate) {
|
|
@@ -6070,6 +6086,8 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
6070
6086
|
modalTitle: i18next__default["default"].t('frontend_form_please_select') + " " + refObjectConfig.label,
|
|
6071
6087
|
labelField: referenceTo.labelField.name,
|
|
6072
6088
|
valueField: referenceTo.valueField.name,
|
|
6089
|
+
// disabledOn: this._master目的是相关表新建时禁止编辑关联字段; this.relatedKey目的是相关表编辑时禁止编辑关联字段。
|
|
6090
|
+
disabledOn: `${readonly} || ( (this._master && (this._master.relatedKey ==='${field.name}')) || (this.relatedKey ==='${field.name}') )`,
|
|
6073
6091
|
modalMode: 'dialog', //TODO 设置 dialog 或者 drawer,用来配置弹出方式
|
|
6074
6092
|
source: source,
|
|
6075
6093
|
size: "lg",
|
|
@@ -6250,6 +6268,8 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
6250
6268
|
joinValues: false,
|
|
6251
6269
|
extractValue: true,
|
|
6252
6270
|
clearable: true,
|
|
6271
|
+
// disabledOn: this._master目的是相关表新建时禁止编辑关联字段; this.relatedKey目的是相关表编辑时禁止编辑关联字段。
|
|
6272
|
+
disabledOn: `${readonly} || ( (this._master && (this._master.relatedKey ==='${field.name}')) || (this.relatedKey ==='${field.name}') )`,
|
|
6253
6273
|
// labelField: labelField,
|
|
6254
6274
|
// valueField: valueField,
|
|
6255
6275
|
source: apiInfo,
|
|
@@ -6434,6 +6454,8 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
6434
6454
|
valueField: referenceTo.valueField.name,
|
|
6435
6455
|
modalMode: 'dialog',
|
|
6436
6456
|
source: source,
|
|
6457
|
+
// disabledOn: this._master目的是相关表新建时禁止编辑关联字段; this.relatedKey目的是相关表编辑时禁止编辑关联字段。
|
|
6458
|
+
disabledOn: `${readonly} || ( (this._master && (this._master.relatedKey ==='${field.name}')) || (this.relatedKey ==='${field.name}') )`,
|
|
6437
6459
|
size: "lg",
|
|
6438
6460
|
pickerSchema: pickerSchema,
|
|
6439
6461
|
joinValues: false,
|
|
@@ -6462,7 +6484,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
6462
6484
|
* @Author: baozhoutao@steedos.com
|
|
6463
6485
|
* @Date: 2023-01-13 17:27:54
|
|
6464
6486
|
* @LastEditors: liaodaxue
|
|
6465
|
-
* @LastEditTime: 2023-
|
|
6487
|
+
* @LastEditTime: 2023-07-24 15:23:12
|
|
6466
6488
|
* @Description:
|
|
6467
6489
|
*/
|
|
6468
6490
|
|
|
@@ -6484,21 +6506,39 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
6484
6506
|
}
|
|
6485
6507
|
}else {
|
|
6486
6508
|
return {
|
|
6487
|
-
"type": "
|
|
6509
|
+
"type": "control",
|
|
6510
|
+
"label": field.label,
|
|
6488
6511
|
"body": [
|
|
6489
6512
|
{
|
|
6490
|
-
"type": "
|
|
6491
|
-
"
|
|
6492
|
-
"
|
|
6493
|
-
|
|
6494
|
-
|
|
6495
|
-
|
|
6496
|
-
|
|
6497
|
-
|
|
6498
|
-
|
|
6499
|
-
|
|
6500
|
-
|
|
6501
|
-
|
|
6513
|
+
"type": "tabs",
|
|
6514
|
+
"tabsMode": "strong",
|
|
6515
|
+
"className": "steedos-markdown",
|
|
6516
|
+
"tabs": [
|
|
6517
|
+
{
|
|
6518
|
+
"title": "Write",
|
|
6519
|
+
"tab": [
|
|
6520
|
+
{
|
|
6521
|
+
"type": "editor",
|
|
6522
|
+
"name": field.name,
|
|
6523
|
+
"language": "markdown",
|
|
6524
|
+
}
|
|
6525
|
+
]
|
|
6526
|
+
},
|
|
6527
|
+
{
|
|
6528
|
+
"title": "Preview",
|
|
6529
|
+
"tab": [
|
|
6530
|
+
{
|
|
6531
|
+
"type": "markdown",
|
|
6532
|
+
"name": field.name,
|
|
6533
|
+
"options": {
|
|
6534
|
+
"linkify": true,
|
|
6535
|
+
"html": true,
|
|
6536
|
+
"breaks": true
|
|
6537
|
+
}
|
|
6538
|
+
}
|
|
6539
|
+
]
|
|
6540
|
+
}
|
|
6541
|
+
]
|
|
6502
6542
|
}
|
|
6503
6543
|
]
|
|
6504
6544
|
}
|
|
@@ -7444,26 +7484,45 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
7444
7484
|
let labelField = quickEditSchema.body[0].labelField || "label";
|
|
7445
7485
|
let valueField = quickEditSchema.body[0].valueField || "value";
|
|
7446
7486
|
if (field.multiple) {
|
|
7487
|
+
/*
|
|
7488
|
+
多选分两种情况。
|
|
7489
|
+
第一种是减少选项时(判断新的数据是否比老的数据短),按照index删除_display中对应选项,保证回显没问题;
|
|
7490
|
+
第二种是增加选项时,按照value的值,找到对应选项,并按照_display的规则为其赋值
|
|
7491
|
+
*/
|
|
7447
7492
|
TempDisplayField = `
|
|
7493
|
+
const preData = event.data.__super.${field.name};
|
|
7494
|
+
if(preData && event.data.${field.name}.length < preData.length){
|
|
7495
|
+
let deletedIndex;
|
|
7496
|
+
preData.forEach(function(item,index){
|
|
7497
|
+
if(_.indexOf(event.data.${field.name}, item) == -1) _display["${field.name}"].splice(index, 1);
|
|
7498
|
+
})
|
|
7499
|
+
}else{
|
|
7448
7500
|
_display["${field.name}"] = [];
|
|
7449
|
-
event.data.
|
|
7501
|
+
event.data.value.forEach(function(val,index){
|
|
7502
|
+
const item = _.find(event.data.selectedItems, { ${valueField}: val });
|
|
7450
7503
|
_display["${field.name}"].push(
|
|
7451
7504
|
{
|
|
7452
7505
|
"label": item.${labelField},
|
|
7453
|
-
"value": item
|
|
7506
|
+
"value": item[event.data.uiSchema.idFieldName],
|
|
7454
7507
|
"objectName": "${field.reference_to}"
|
|
7455
7508
|
}
|
|
7456
7509
|
)
|
|
7457
7510
|
})
|
|
7458
|
-
|
|
7511
|
+
}
|
|
7512
|
+
|
|
7513
|
+
`;
|
|
7459
7514
|
} else {
|
|
7460
7515
|
TempDisplayField = `
|
|
7516
|
+
if(event.data.value){
|
|
7461
7517
|
_display["${field.name}"] = {
|
|
7462
7518
|
"label": event.data.selectedItems.${labelField},
|
|
7463
|
-
"value": event.data.selectedItems
|
|
7519
|
+
"value": event.data.selectedItems[event.data.uiSchema.idFieldName],
|
|
7464
7520
|
"objectName": "${field.reference_to}"
|
|
7465
7521
|
}
|
|
7466
|
-
|
|
7522
|
+
}else{
|
|
7523
|
+
_display["${field.name}"] = {}
|
|
7524
|
+
}
|
|
7525
|
+
`;
|
|
7467
7526
|
}
|
|
7468
7527
|
quickEditSchema.body[0].onEvent["change"] = quickEditOnEvent(TempDisplayField);
|
|
7469
7528
|
break;
|
|
@@ -7573,10 +7632,25 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
7573
7632
|
return quickEditSchema;
|
|
7574
7633
|
}
|
|
7575
7634
|
|
|
7635
|
+
function getFieldWidth(width){
|
|
7636
|
+
const defaultWidth = "unset";//用于使table内的td标签下生成div,实现将快速编辑按钮固定在右侧的效果,并不是为了unset效果
|
|
7637
|
+
if(typeof width == 'string'){
|
|
7638
|
+
if(isNaN(width)){
|
|
7639
|
+
return width;
|
|
7640
|
+
}else {
|
|
7641
|
+
return Number(width);
|
|
7642
|
+
}
|
|
7643
|
+
}else if(typeof width == 'number'){
|
|
7644
|
+
return width;
|
|
7645
|
+
}else {
|
|
7646
|
+
return defaultWidth;
|
|
7647
|
+
}
|
|
7648
|
+
}
|
|
7649
|
+
|
|
7576
7650
|
async function getTableColumns(fields, options){
|
|
7577
7651
|
const columns = [{name: '_index',type: 'text', width: 32, placeholder: ""}];
|
|
7578
7652
|
const allowEdit = options.permissions?.allowEdit && options.permissions?.modifyAllRecords && !options.isLookup && options.enable_inline_edit != false;
|
|
7579
|
-
|
|
7653
|
+
|
|
7580
7654
|
for (const field of fields) {
|
|
7581
7655
|
//增加quickEdit属性,实现快速编辑
|
|
7582
7656
|
const quickEditSchema = allowEdit ? await getQuickEditSchema(field, options) : allowEdit;
|
|
@@ -7624,7 +7698,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
7624
7698
|
type: "switch",
|
|
7625
7699
|
name: field.name,
|
|
7626
7700
|
label: field.label,
|
|
7627
|
-
width: field.width
|
|
7701
|
+
width: getFieldWidth(field.width),
|
|
7628
7702
|
toggled: field.toggled,
|
|
7629
7703
|
static: true,
|
|
7630
7704
|
className:"whitespace-nowrap",
|
|
@@ -7635,7 +7709,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
7635
7709
|
type: "switch",
|
|
7636
7710
|
name: field.name,
|
|
7637
7711
|
label: field.label,
|
|
7638
|
-
width: field.width
|
|
7712
|
+
width: getFieldWidth(field.width),
|
|
7639
7713
|
toggled: field.toggled,
|
|
7640
7714
|
quickEdit: quickEditSchema,
|
|
7641
7715
|
static: true,
|
|
@@ -7655,7 +7729,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
7655
7729
|
label: field.label,
|
|
7656
7730
|
map: map,
|
|
7657
7731
|
sortable: field.sortable,
|
|
7658
|
-
width: field.width
|
|
7732
|
+
width: getFieldWidth(field.width),
|
|
7659
7733
|
toggled: field.toggled,
|
|
7660
7734
|
className,
|
|
7661
7735
|
static: true,
|
|
@@ -7689,7 +7763,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
7689
7763
|
label: field.label,
|
|
7690
7764
|
sortable: field.sortable,
|
|
7691
7765
|
// searchable: field.searchable,
|
|
7692
|
-
width: field.width
|
|
7766
|
+
width: getFieldWidth(field.width),
|
|
7693
7767
|
type: type,
|
|
7694
7768
|
tpl: tpl,
|
|
7695
7769
|
toggled: field.toggled,
|
|
@@ -7987,14 +8061,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
|
|
|
7987
8061
|
onOpenApi: {
|
|
7988
8062
|
url: `\${context.rootUrl}/service/api/@\${objectName}/recordPermissions/\${_id}`,
|
|
7989
8063
|
method: "get",
|
|
7990
|
-
|
|
7991
|
-
$: "$$",
|
|
7992
|
-
objectName: "${objectName}",
|
|
7993
|
-
listViewId: "${listViewId}",
|
|
7994
|
-
appId: "${appId}",
|
|
7995
|
-
formFactor: "${formFactor}",
|
|
7996
|
-
context: `\${context}`
|
|
7997
|
-
},
|
|
8064
|
+
requestAdaptor: "api.data={}; return api;",
|
|
7998
8065
|
headers: {
|
|
7999
8066
|
Authorization: "Bearer ${context.tenantId},${context.authToken}"
|
|
8000
8067
|
},
|