@steedos-widgets/amis-lib 1.3.4-beta.16 → 1.3.4-beta.18
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 +99 -19
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +99 -19
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +78 -72
- package/dist/index.umd.js.map +1 -1
- package/dist/types/lib/converter/amis/fields/file.d.ts +4 -8
- package/dist/types/lib/converter/amis/fields/lookup.d.ts +4 -0
- package/dist/types/lib/converter/amis/fields/table.d.ts +2 -0
- package/dist/types/lib/converter/amis/index.d.ts +1 -3
- package/dist/types/lib/converter/amis/toolbars/setting_listview/copy.d.ts +1 -0
- package/dist/types/lib/converter/amis/toolbars/setting_listview.d.ts +1 -0
- package/dist/types/lib/objects.d.ts +1 -3
- package/dist/types/lib/objectsRelated.d.ts +3 -0
- package/dist/types/lib/page_init.d.ts +1 -3
- package/package.json +2 -2
package/dist/index.esm.js
CHANGED
|
@@ -1764,6 +1764,13 @@ async function getSelectUserSchema(field, readonly, ctx) {
|
|
|
1764
1764
|
return amisSchema;
|
|
1765
1765
|
}
|
|
1766
1766
|
|
|
1767
|
+
/*
|
|
1768
|
+
* @Author: 殷亮辉 yinlianghui@hotoa.com
|
|
1769
|
+
* @Date: 2023-03-22 09:31:21
|
|
1770
|
+
* @LastEditors: 殷亮辉 yinlianghui@hotoa.com
|
|
1771
|
+
* @LastEditTime: 2023-10-25 17:40:14
|
|
1772
|
+
*/
|
|
1773
|
+
|
|
1767
1774
|
const globalTag = '__G_L_O_B_A_L__';
|
|
1768
1775
|
|
|
1769
1776
|
const getParentPath = function (path) {
|
|
@@ -1803,7 +1810,29 @@ const isExpression = function (func) {
|
|
|
1803
1810
|
return false;
|
|
1804
1811
|
};
|
|
1805
1812
|
|
|
1813
|
+
const getMoment$1 = () => {
|
|
1814
|
+
if (window.amisRequire) {
|
|
1815
|
+
return window.amisRequire("moment");
|
|
1816
|
+
} else if (window.moment) {
|
|
1817
|
+
return window.moment;
|
|
1818
|
+
}
|
|
1819
|
+
};
|
|
1820
|
+
|
|
1806
1821
|
const parseSingleExpression = function (func, formData, dataPath, global, userSession = {}) {
|
|
1822
|
+
if (global) {
|
|
1823
|
+
let now = new Date();
|
|
1824
|
+
let moment = getMoment$1();
|
|
1825
|
+
let today = moment().utc();
|
|
1826
|
+
today.set("hours", 0);
|
|
1827
|
+
today.set("minutes", 0);
|
|
1828
|
+
today.set("seconds", 0);
|
|
1829
|
+
today = today.toDate();
|
|
1830
|
+
Object.assign(global, {
|
|
1831
|
+
now,
|
|
1832
|
+
today
|
|
1833
|
+
});
|
|
1834
|
+
}
|
|
1835
|
+
|
|
1807
1836
|
var error, funcBody, parent, parentPath, str;
|
|
1808
1837
|
|
|
1809
1838
|
if (formData === void 0) {
|
|
@@ -4363,7 +4392,8 @@ const getCopyListviewButtonSchema = ()=>{
|
|
|
4363
4392
|
"&": "${list_view}",
|
|
4364
4393
|
"name":"",
|
|
4365
4394
|
"label": i18next.t('frontend_listview_control_clone_defaultData_label_start') + " ${list_view.label} " + i18next.t('frontend_listview_control_clone_defaultData_label_end'),
|
|
4366
|
-
"shared":false
|
|
4395
|
+
"shared":false,
|
|
4396
|
+
"object_name": "${targetObjectName}",
|
|
4367
4397
|
},
|
|
4368
4398
|
"fieldsExtend": fieldsExtend$3(),
|
|
4369
4399
|
"fields": fields(),
|
|
@@ -6071,7 +6101,9 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
6071
6101
|
pickerSchema.headerToolbar = getObjectHeaderToolbar(refObjectConfig, fieldsArr, ctx.formFactor, { headerToolbarItems, isLookup: true, keywordsSearchBoxName });
|
|
6072
6102
|
const isAllowCreate = refObjectConfig.permissions.allowCreate;
|
|
6073
6103
|
const isCreate = _$1.isBoolean(field.create) ? field.create : true;
|
|
6074
|
-
|
|
6104
|
+
// lookup字段配置过滤条件就强制不显示新建按钮
|
|
6105
|
+
let isHasFilters = (field.filters || field._filtersFunction) ? true : false;
|
|
6106
|
+
if (isAllowCreate && isCreate && !isHasFilters) {
|
|
6075
6107
|
const new_button = await getSchema$5(refObjectConfig, { appId: ctx.appId, objectName: refObjectConfig.name, formFactor: ctx.formFactor });
|
|
6076
6108
|
new_button.align = "right";
|
|
6077
6109
|
// 保持快速搜索放在最左侧,新建按钮往里插,而不是push到最后
|
|
@@ -6448,7 +6480,7 @@ async function lookupToAmis(field, readonly, ctx){
|
|
|
6448
6480
|
// 此处不参考 steedos 的 enable_enhanced_lookup 规则. 如果默认是开启弹出选择,用户选择过程操作太繁琐, 所以默认是关闭弹出选择.
|
|
6449
6481
|
// 由于amis picker 目前不支持联动, 配置了depend_on时, 使用使用select ,以支持联动
|
|
6450
6482
|
// TODO: 确认 amis picker 支持联动时, 清理field.depend_on判断
|
|
6451
|
-
if(refObject.enable_enhanced_lookup == true
|
|
6483
|
+
if(refObject.enable_enhanced_lookup == true){
|
|
6452
6484
|
return await lookupToAmisPicker(field, readonly, ctx);
|
|
6453
6485
|
}else if(refObject.enable_tree) {
|
|
6454
6486
|
return await lookupToAmisTreeSelect(field, readonly, Object.assign({}, ctx, {
|
|
@@ -6765,8 +6797,8 @@ function getAmisStaticFieldType(type, readonly, options){
|
|
|
6765
6797
|
/*
|
|
6766
6798
|
* @Author: baozhoutao@steedos.com
|
|
6767
6799
|
* @Date: 2022-10-28 14:15:09
|
|
6768
|
-
* @LastEditors:
|
|
6769
|
-
* @LastEditTime:
|
|
6800
|
+
* @LastEditors: liaodaxue
|
|
6801
|
+
* @LastEditTime: 2023-10-30 17:51:54
|
|
6770
6802
|
* @Description:
|
|
6771
6803
|
*/
|
|
6772
6804
|
|
|
@@ -6817,11 +6849,26 @@ const getAmisFileEditSchema = (steedosField)=>{
|
|
|
6817
6849
|
useChunk: false, // 关闭分块上传
|
|
6818
6850
|
receiver: {
|
|
6819
6851
|
method: "post",
|
|
6852
|
+
dataType: "form-data",
|
|
6820
6853
|
url: `\${context.rootUrl}/s3/${tableName}`,
|
|
6821
|
-
|
|
6822
|
-
|
|
6823
|
-
|
|
6824
|
-
|
|
6854
|
+
requestAdaptor: `
|
|
6855
|
+
const { _master, global,context } = api.body;
|
|
6856
|
+
// const { recordId, objectName } = _master;
|
|
6857
|
+
const { spaceId, userId, user } = global;
|
|
6858
|
+
/*
|
|
6859
|
+
record_id: recordId,
|
|
6860
|
+
parent: recordId,
|
|
6861
|
+
object_name: objectName,
|
|
6862
|
+
owner_name: user.name,
|
|
6863
|
+
space: spaceId,
|
|
6864
|
+
owner: userId
|
|
6865
|
+
*/
|
|
6866
|
+
// 参考platform 2.2版本,附件字段保存时cfs.files.filerecord、cfs.images.filerecord表中的metadata下只保存space、owner两个属性值。
|
|
6867
|
+
api.data.append('space', spaceId);
|
|
6868
|
+
api.data.append('owner', userId);
|
|
6869
|
+
|
|
6870
|
+
return api;
|
|
6871
|
+
`,
|
|
6825
6872
|
adaptor: `
|
|
6826
6873
|
const { context } = api.body;
|
|
6827
6874
|
var rootUrl = context.rootUrl + "/api/files/${tableName}/";
|
|
@@ -7985,7 +8032,7 @@ async function getTableColumns(fields, options){
|
|
|
7985
8032
|
{
|
|
7986
8033
|
"args": {
|
|
7987
8034
|
"api": {
|
|
7988
|
-
"url": "${context.rootUrl
|
|
8035
|
+
"url": "${(versions[0] && versions[0].url) ? versions[0].url+'?download=true' : context.rootUrl+'/api/files/files/'+versions[0]+'?download=true'}",
|
|
7989
8036
|
"method": "get",
|
|
7990
8037
|
"headers": {
|
|
7991
8038
|
"Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
@@ -8465,6 +8512,7 @@ async function getTableSchema$1(fields, options){
|
|
|
8465
8512
|
}
|
|
8466
8513
|
return {
|
|
8467
8514
|
mode: "cards",
|
|
8515
|
+
perPageAvailable: [5, 10, 20, 50, 100, 500],
|
|
8468
8516
|
name: "thelist",
|
|
8469
8517
|
headerToolbarClassName: "py-2 px-2 border-gray-300 border-solid border-b",
|
|
8470
8518
|
className: "",
|
|
@@ -8487,6 +8535,7 @@ async function getTableSchema$1(fields, options){
|
|
|
8487
8535
|
|
|
8488
8536
|
return {
|
|
8489
8537
|
mode: "table",
|
|
8538
|
+
perPageAvailable: [5, 10, 20, 50, 100, 500],
|
|
8490
8539
|
name: "thelist",
|
|
8491
8540
|
headerToolbarClassName: "py-2 px-2 border-gray-300 border-solid border-b",
|
|
8492
8541
|
className: "",
|
|
@@ -9121,7 +9170,7 @@ async function getEditFormInitApi(object, recordId, fields, options){
|
|
|
9121
9170
|
${getScriptForRewriteValueForFileFields(fields)}
|
|
9122
9171
|
|
|
9123
9172
|
_.each(dataKeys, function(key){
|
|
9124
|
-
if(fieldKeys.indexOf(key)<0){
|
|
9173
|
+
if(fieldKeys.indexOf(key)<0 && key !== "_display"){
|
|
9125
9174
|
delete data[key];
|
|
9126
9175
|
}
|
|
9127
9176
|
})
|
|
@@ -10461,8 +10510,29 @@ const getFormFields = (objectSchema, formProps)=>{
|
|
|
10461
10510
|
return lodash.sortBy(___default.values(fields), "sort_no");
|
|
10462
10511
|
};
|
|
10463
10512
|
|
|
10513
|
+
async function getFormSchemaWithDataFilter(form, options = {}){
|
|
10514
|
+
const { formDataFilter, amisData, env } = options;
|
|
10515
|
+
let onFormDataFilter = options.onFormDataFilter;
|
|
10516
|
+
if (!onFormDataFilter && typeof formDataFilter === 'string') {
|
|
10517
|
+
onFormDataFilter = new Function(
|
|
10518
|
+
'form',
|
|
10519
|
+
'env',
|
|
10520
|
+
'data',
|
|
10521
|
+
formDataFilter
|
|
10522
|
+
);
|
|
10523
|
+
}
|
|
10524
|
+
|
|
10525
|
+
try {
|
|
10526
|
+
onFormDataFilter && (form = await onFormDataFilter(form, env, amisData) || form);
|
|
10527
|
+
} catch (e) {
|
|
10528
|
+
console.warn(e);
|
|
10529
|
+
}
|
|
10530
|
+
return form;
|
|
10531
|
+
}
|
|
10532
|
+
|
|
10464
10533
|
async function getObjectForm(objectSchema, ctx){
|
|
10465
|
-
const { recordId, formFactor, layout = formFactor === 'SMALL' ? 'normal' : "normal", labelAlign, tabId, appId, defaults, submitSuccActions = []
|
|
10534
|
+
const { recordId, formFactor, layout = formFactor === 'SMALL' ? 'normal' : "normal", labelAlign, tabId, appId, defaults, submitSuccActions = [],
|
|
10535
|
+
formDataFilter, onFormDataFilter, amisData, env } = ctx;
|
|
10466
10536
|
const fields = ___default.values(objectSchema.fields);
|
|
10467
10537
|
const formFields = getFormFields(objectSchema, ctx);
|
|
10468
10538
|
const formSchema = defaults && defaults.formSchema || {};
|
|
@@ -10479,7 +10549,8 @@ async function getObjectForm(objectSchema, ctx){
|
|
|
10479
10549
|
name: `page_edit_${recordId}`,
|
|
10480
10550
|
api: await getEditFormInitApi(objectSchema, recordId, fields, ctx),
|
|
10481
10551
|
data:{
|
|
10482
|
-
editFormInited: false
|
|
10552
|
+
editFormInited: false,
|
|
10553
|
+
...amisData
|
|
10483
10554
|
},
|
|
10484
10555
|
// data: {global: getGlobalData('edit'), recordId: recordId, objectName: objectSchema.name, context: {rootUrl: getRootUrl(), tenantId: getTenantId(), authToken: getAuthToken()}},
|
|
10485
10556
|
initApi: null,
|
|
@@ -10546,15 +10617,17 @@ async function getObjectForm(objectSchema, ctx){
|
|
|
10546
10617
|
}
|
|
10547
10618
|
})]
|
|
10548
10619
|
};
|
|
10620
|
+
amisSchema.body[0] = await getFormSchemaWithDataFilter(amisSchema.body[0], { formDataFilter, onFormDataFilter, amisData, env });
|
|
10549
10621
|
return amisSchema;
|
|
10550
10622
|
}
|
|
10551
10623
|
|
|
10552
10624
|
async function getObjectDetail(objectSchema, recordId, ctx){
|
|
10553
|
-
const { formFactor, layout = formFactor === 'SMALL' ? 'normal' : "normal", labelAlign
|
|
10625
|
+
const { formFactor, layout = formFactor === 'SMALL' ? 'normal' : "normal", labelAlign,
|
|
10626
|
+
formDataFilter, onFormDataFilter, amisData, env } = ctx;
|
|
10554
10627
|
const fields = ___default.values(objectSchema.fields);
|
|
10555
10628
|
const formFields = getFormFields(objectSchema, ctx);
|
|
10556
10629
|
const serviceId = `service_detail_page`;
|
|
10557
|
-
|
|
10630
|
+
const amisSchema = {
|
|
10558
10631
|
type: 'service',
|
|
10559
10632
|
name: `page_readonly_${recordId}`,
|
|
10560
10633
|
id: serviceId,
|
|
@@ -10636,7 +10709,10 @@ async function getObjectDetail(objectSchema, recordId, ctx){
|
|
|
10636
10709
|
]
|
|
10637
10710
|
}
|
|
10638
10711
|
}
|
|
10639
|
-
}
|
|
10712
|
+
};
|
|
10713
|
+
|
|
10714
|
+
amisSchema.body[0].body = await getFormSchemaWithDataFilter(amisSchema.body[0].body, { formDataFilter, onFormDataFilter, amisData, env });
|
|
10715
|
+
return amisSchema;
|
|
10640
10716
|
}
|
|
10641
10717
|
|
|
10642
10718
|
/*
|
|
@@ -10716,7 +10792,7 @@ const getRecordPermissions = async (objectName, recordId)=>{
|
|
|
10716
10792
|
* @Author: baozhoutao@steedos.com
|
|
10717
10793
|
* @Date: 2022-07-05 15:55:39
|
|
10718
10794
|
* @LastEditors: liaodaxue
|
|
10719
|
-
* @LastEditTime: 2023-
|
|
10795
|
+
* @LastEditTime: 2023-10-23 15:55:46
|
|
10720
10796
|
* @Description:
|
|
10721
10797
|
*/
|
|
10722
10798
|
|
|
@@ -11007,11 +11083,15 @@ async function getRelatedListSchema(
|
|
|
11007
11083
|
ctx
|
|
11008
11084
|
) {
|
|
11009
11085
|
const uiSchema = await getUISchema(objectName);
|
|
11086
|
+
if(!uiSchema){
|
|
11087
|
+
return {}
|
|
11088
|
+
}
|
|
11089
|
+
const listViewNames = map(uiSchema.list_views, 'name');
|
|
11010
11090
|
const listView = find(
|
|
11011
11091
|
uiSchema.list_views,
|
|
11012
11092
|
(listView, name) => {
|
|
11013
|
-
// 传入listViewName
|
|
11014
|
-
if(!listViewName){
|
|
11093
|
+
// 传入listViewName空值 或者 不存在 则取第一个
|
|
11094
|
+
if(!listViewName || listViewNames.indexOf(listViewName)<0){
|
|
11015
11095
|
listViewName = name;
|
|
11016
11096
|
}
|
|
11017
11097
|
return name === listViewName || listView._id === listViewName;
|