@steedos-widgets/amis-lib 6.3.0-beta.10 → 6.3.0-beta.12
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 +159 -104
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +159 -104
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +242 -209
- package/dist/index.umd.js.map +1 -1
- package/dist/types/lib/converter/amis/graphql.d.ts +1 -1
- package/dist/types/lib/converter/amis/header.d.ts +8 -1
- package/dist/types/lib/objects.d.ts +1 -0
- package/dist/types/schema/standard_edit.amis.d.ts +6 -0
- package/dist/types/standard/button.d.ts +6 -0
- package/package.json +2 -2
package/dist/index.cjs.js
CHANGED
|
@@ -582,9 +582,9 @@ function getSelectMap(selectOptions){
|
|
|
582
582
|
}
|
|
583
583
|
|
|
584
584
|
function getNameTplUrl(field, ctx){
|
|
585
|
-
if(ctx.objectName === 'cms_files'){
|
|
586
|
-
|
|
587
|
-
}
|
|
585
|
+
// if(ctx.objectName === 'cms_files'){
|
|
586
|
+
// return "${(versions[0] && versions[0].url) ? versions[0].url+'?download=true' : context.rootUrl+'/api/files/files/'+versions[0]+'?download=true'}"
|
|
587
|
+
// }
|
|
588
588
|
const href = Router.getObjectDetailPath({
|
|
589
589
|
...ctx, formFactor: ctx.formFactor, appId: "${appId}", objectName: ctx.objectName || "${objectName}", recordId: `\${${ctx.idFieldName}}`
|
|
590
590
|
});
|
|
@@ -774,12 +774,15 @@ async function getFieldTpl (field, options){
|
|
|
774
774
|
}
|
|
775
775
|
}
|
|
776
776
|
|
|
777
|
-
async function getFieldsTemplate(fields, display){
|
|
777
|
+
async function getFieldsTemplate(object, fields, display){
|
|
778
778
|
let expandFields = [];
|
|
779
779
|
if(display != false){
|
|
780
780
|
display = true;
|
|
781
781
|
}
|
|
782
782
|
let fieldsName = ['_id'];
|
|
783
|
+
if(!object.datasource || object.datasource === 'default' || object.datasource === 'meteor'){
|
|
784
|
+
fieldsName.push('space');
|
|
785
|
+
}
|
|
783
786
|
let displayFields = [];
|
|
784
787
|
let fieldsArr = [];
|
|
785
788
|
if(___namespace.isArray(fields)){
|
|
@@ -875,7 +878,7 @@ async function getFindOneQuery$1(object, recordId, fields, options){
|
|
|
875
878
|
}
|
|
876
879
|
}
|
|
877
880
|
return {
|
|
878
|
-
query: `{${alias}:${object.name}${queryOptions}{${await getFieldsTemplate(fields)}, ${getRecordPermissionsTemplate()}}}`
|
|
881
|
+
query: `{${alias}:${object.name}${queryOptions}{${await getFieldsTemplate(object, fields)}, ${getRecordPermissionsTemplate()}}}`
|
|
879
882
|
}
|
|
880
883
|
}
|
|
881
884
|
|
|
@@ -1064,7 +1067,7 @@ async function getFindQuery(object, recordId, fields, options){
|
|
|
1064
1067
|
// return item.replace(/^{/,"").replace(/}$/,"");
|
|
1065
1068
|
// }).join(",")) : "";
|
|
1066
1069
|
|
|
1067
|
-
const fieldsTemplate = `${await getFieldsTemplate(fields, options.expand)}${treeFields}${cfsFields}`;
|
|
1070
|
+
const fieldsTemplate = `${await getFieldsTemplate(object, fields, options.expand)}${treeFields}${cfsFields}`;
|
|
1068
1071
|
|
|
1069
1072
|
return {
|
|
1070
1073
|
orderBy: "${orderBy}",
|
|
@@ -1326,6 +1329,7 @@ var frontend_form_confirm$1 = "Confirm";
|
|
|
1326
1329
|
var frontend_form_delete$1 = "Delete";
|
|
1327
1330
|
var frontend_form_view$1 = "view";
|
|
1328
1331
|
var frontend_form_details$1 = "details";
|
|
1332
|
+
var frontend_form_validation_failed_url$1 = "The URL format is incorrect";
|
|
1329
1333
|
var frontend_delete_confirm_text$1 = "Are you sure you want to delete this item?";
|
|
1330
1334
|
var frontend_delete_many_selected_required$1 = "Please select the item to be deleted";
|
|
1331
1335
|
var frontend_delete_many_confirm_text$1 = "Are you sure you want to delete?";
|
|
@@ -1414,6 +1418,7 @@ var en_us = {
|
|
|
1414
1418
|
frontend_form_delete: frontend_form_delete$1,
|
|
1415
1419
|
frontend_form_view: frontend_form_view$1,
|
|
1416
1420
|
frontend_form_details: frontend_form_details$1,
|
|
1421
|
+
frontend_form_validation_failed_url: frontend_form_validation_failed_url$1,
|
|
1417
1422
|
frontend_delete_confirm_text: frontend_delete_confirm_text$1,
|
|
1418
1423
|
frontend_delete_many_selected_required: frontend_delete_many_selected_required$1,
|
|
1419
1424
|
frontend_delete_many_confirm_text: frontend_delete_many_confirm_text$1,
|
|
@@ -1503,6 +1508,7 @@ var frontend_form_confirm = "确认";
|
|
|
1503
1508
|
var frontend_form_delete = "删除";
|
|
1504
1509
|
var frontend_form_view = "查看";
|
|
1505
1510
|
var frontend_form_details = "详情";
|
|
1511
|
+
var frontend_form_validation_failed_url = "URL 格式不正确";
|
|
1506
1512
|
var frontend_delete_confirm_text = "确定要删除此项目?";
|
|
1507
1513
|
var frontend_delete_many_selected_required = "请选择要删除的项";
|
|
1508
1514
|
var frontend_delete_many_confirm_text = "确定要删除吗?";
|
|
@@ -1592,6 +1598,7 @@ var zh_cn = {
|
|
|
1592
1598
|
frontend_form_delete: frontend_form_delete,
|
|
1593
1599
|
frontend_form_view: frontend_form_view,
|
|
1594
1600
|
frontend_form_details: frontend_form_details,
|
|
1601
|
+
frontend_form_validation_failed_url: frontend_form_validation_failed_url,
|
|
1595
1602
|
frontend_delete_confirm_text: frontend_delete_confirm_text,
|
|
1596
1603
|
frontend_delete_many_selected_required: frontend_delete_many_selected_required,
|
|
1597
1604
|
frontend_delete_many_confirm_text: frontend_delete_many_confirm_text,
|
|
@@ -1696,6 +1703,29 @@ i18next__default["default"]
|
|
|
1696
1703
|
}
|
|
1697
1704
|
});
|
|
1698
1705
|
|
|
1706
|
+
/*
|
|
1707
|
+
* @Author: baozhoutao@steedos.com
|
|
1708
|
+
* @Date: 2022-07-13 15:18:03
|
|
1709
|
+
* @LastEditors: baozhoutao@steedos.com
|
|
1710
|
+
* @LastEditTime: 2023-04-11 10:34:26
|
|
1711
|
+
* @Description:
|
|
1712
|
+
*/
|
|
1713
|
+
|
|
1714
|
+
async function getPage({type, pageId = '', appId, objectName = '', recordId = '', formFactor = 'LARGE'}){
|
|
1715
|
+
const api = `/api/pageSchema/${type}?app=${appId}&objectApiName=${objectName}&recordId=${recordId}&pageId=${pageId}&formFactor=${formFactor}`;
|
|
1716
|
+
const page = await fetchAPI(api);
|
|
1717
|
+
if (page && page.schema) {
|
|
1718
|
+
page.schema = JSON.parse(page.schema);
|
|
1719
|
+
if(page.schema.data){
|
|
1720
|
+
delete page.schema.data.recordId;
|
|
1721
|
+
delete page.schema.data.objectName;
|
|
1722
|
+
delete page.schema.data.context;
|
|
1723
|
+
delete page.schema.data.global;
|
|
1724
|
+
}
|
|
1725
|
+
return page;
|
|
1726
|
+
}
|
|
1727
|
+
}
|
|
1728
|
+
|
|
1699
1729
|
async function getQuickEditSchema(object, columnField, options){
|
|
1700
1730
|
let field = object.fields[columnField.name];
|
|
1701
1731
|
//判断在amis3.2以上环境下,放开批量编辑与lookup的单元格编辑
|
|
@@ -2165,6 +2195,59 @@ function getFieldWidth(width){
|
|
|
2165
2195
|
}
|
|
2166
2196
|
}
|
|
2167
2197
|
|
|
2198
|
+
async function getColumnItemOnClick(field, options){
|
|
2199
|
+
const recordPage = await getPage({ type: 'record', appId: options.appId, objectName: options.objectName, formFactor: options.formFactor });
|
|
2200
|
+
const drawerRecordDetailSchema = recordPage ? Object.assign({}, recordPage.schema, {
|
|
2201
|
+
"recordId": `\${${options.idFieldName}}`,
|
|
2202
|
+
"data": {
|
|
2203
|
+
...recordPage.schema.data,
|
|
2204
|
+
"_inDrawer": true, // 用于判断是否在抽屉中
|
|
2205
|
+
"recordLoaded": false, // 重置数据加载状态
|
|
2206
|
+
}
|
|
2207
|
+
}) : {
|
|
2208
|
+
"type": "steedos-record-detail",
|
|
2209
|
+
"objectApiName": "${objectName}",
|
|
2210
|
+
"recordId": `\${${options.idFieldName}}`,
|
|
2211
|
+
"showBackButton": false,
|
|
2212
|
+
"showButtons": true,
|
|
2213
|
+
"data": {
|
|
2214
|
+
"_inDrawer": true, // 用于判断是否在抽屉中
|
|
2215
|
+
"recordLoaded": false, // 重置数据加载状态
|
|
2216
|
+
}
|
|
2217
|
+
};
|
|
2218
|
+
|
|
2219
|
+
if(!(field.is_name || field.name === options.labelFieldName)){
|
|
2220
|
+
drawerRecordDetailSchema.objectApiName = field.reference_to;
|
|
2221
|
+
drawerRecordDetailSchema.recordId = `\${_display.${field.name}.value}`;
|
|
2222
|
+
}
|
|
2223
|
+
return {
|
|
2224
|
+
"click": {
|
|
2225
|
+
"actions": [
|
|
2226
|
+
{
|
|
2227
|
+
"actionType": "drawer",
|
|
2228
|
+
"drawer": {
|
|
2229
|
+
"type": "drawer",
|
|
2230
|
+
"title": " ",
|
|
2231
|
+
"headerClassName": "hidden",
|
|
2232
|
+
"size": "lg",
|
|
2233
|
+
"bodyClassName": "p-0 m-0 bg-gray-100",
|
|
2234
|
+
"closeOnEsc": true,
|
|
2235
|
+
"closeOnOutside": true,
|
|
2236
|
+
"resizable": true,
|
|
2237
|
+
"actions": [],
|
|
2238
|
+
"body": [
|
|
2239
|
+
drawerRecordDetailSchema
|
|
2240
|
+
],
|
|
2241
|
+
"className": "steedos-record-detail-drawer app-popover",
|
|
2242
|
+
"id": "u:fc5f055afa8c"
|
|
2243
|
+
},
|
|
2244
|
+
"preventDefault": true
|
|
2245
|
+
}
|
|
2246
|
+
]
|
|
2247
|
+
}
|
|
2248
|
+
};
|
|
2249
|
+
}
|
|
2250
|
+
|
|
2168
2251
|
async function getTableColumns(object, fields, options){
|
|
2169
2252
|
const columns = [];
|
|
2170
2253
|
if(!options.isLookup && !options.isInputTable){
|
|
@@ -2204,7 +2287,10 @@ async function getTableColumns(object, fields, options){
|
|
|
2204
2287
|
delete fieldAmis?.className;
|
|
2205
2288
|
|
|
2206
2289
|
let columnItem;
|
|
2207
|
-
|
|
2290
|
+
|
|
2291
|
+
// PC客户端点击名称字段直接预览
|
|
2292
|
+
let isNode = !!(window && window.nw && window.nw.require);
|
|
2293
|
+
if((field.is_name || field.name === options.labelFieldName) && options.objectName === 'cms_files' && isNode){
|
|
2208
2294
|
const previewFileScript = `
|
|
2209
2295
|
var data = event.data;
|
|
2210
2296
|
var file_name = data.versions ? data.name : "${field.label}";
|
|
@@ -2219,20 +2305,20 @@ async function getTableColumns(object, fields, options){
|
|
|
2219
2305
|
"onEvent": {
|
|
2220
2306
|
"click": {
|
|
2221
2307
|
"actions": [
|
|
2222
|
-
{
|
|
2223
|
-
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
-
},
|
|
2308
|
+
// {
|
|
2309
|
+
// "args": {
|
|
2310
|
+
// "api": {
|
|
2311
|
+
// "url": "${(versions[0] && versions[0].url) ? versions[0].url+'?download=true' : context.rootUrl+'/api/files/files/'+versions[0]+'?download=true'}",
|
|
2312
|
+
// "method": "get",
|
|
2313
|
+
// "headers": {
|
|
2314
|
+
// "Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
2315
|
+
// }
|
|
2316
|
+
// }
|
|
2317
|
+
// },
|
|
2318
|
+
// "actionType": "download",
|
|
2319
|
+
// // "expression": "!!!window?.nw?.require"//浏览器上直接下载
|
|
2320
|
+
// "expression": "!!!(window && window.nw && window.nw.require)"//浏览器上直接下载
|
|
2321
|
+
// },
|
|
2236
2322
|
{
|
|
2237
2323
|
"args": {},
|
|
2238
2324
|
"actionType": "custom",
|
|
@@ -2330,51 +2416,7 @@ async function getTableColumns(object, fields, options){
|
|
|
2330
2416
|
}
|
|
2331
2417
|
|
|
2332
2418
|
if(window.innerWidth >= 768 && ((field.is_name || field.name === options.labelFieldName) || ((field.type == 'lookup' || field.type == 'master_detail') && ___namespace.isString(field.reference_to) && field.multiple != true)) && options.isRelated){
|
|
2333
|
-
|
|
2334
|
-
const drawerRecordDetailSchema = {
|
|
2335
|
-
"type": "steedos-record-detail",
|
|
2336
|
-
"objectApiName": "${objectName}",
|
|
2337
|
-
"recordId": `\${${options.idFieldName}}`,
|
|
2338
|
-
"showBackButton": false,
|
|
2339
|
-
"showButtons": true,
|
|
2340
|
-
"data": {
|
|
2341
|
-
"_inDrawer": true, // 用于判断是否在抽屉中
|
|
2342
|
-
"recordLoaded": false, // 重置数据加载状态
|
|
2343
|
-
}
|
|
2344
|
-
};
|
|
2345
|
-
|
|
2346
|
-
|
|
2347
|
-
if(!(field.is_name || field.name === options.labelFieldName)){
|
|
2348
|
-
drawerRecordDetailSchema.objectApiName = field.reference_to;
|
|
2349
|
-
drawerRecordDetailSchema.recordId = `\${_display.${field.name}.value}`;
|
|
2350
|
-
}
|
|
2351
|
-
|
|
2352
|
-
columnItem.onEvent = {
|
|
2353
|
-
"click": {
|
|
2354
|
-
"actions": [
|
|
2355
|
-
{
|
|
2356
|
-
"actionType": "drawer",
|
|
2357
|
-
"drawer": {
|
|
2358
|
-
"type": "drawer",
|
|
2359
|
-
"title": " ",
|
|
2360
|
-
"headerClassName": "hidden",
|
|
2361
|
-
"size": "lg",
|
|
2362
|
-
"bodyClassName": "p-0 m-0 bg-gray-100",
|
|
2363
|
-
"closeOnEsc": true,
|
|
2364
|
-
"closeOnOutside": true,
|
|
2365
|
-
"resizable": true,
|
|
2366
|
-
"actions": [],
|
|
2367
|
-
"body": [
|
|
2368
|
-
drawerRecordDetailSchema
|
|
2369
|
-
],
|
|
2370
|
-
"className": "steedos-record-detail-drawer app-popover",
|
|
2371
|
-
"id": "u:fc5f055afa8c"
|
|
2372
|
-
},
|
|
2373
|
-
"preventDefault": true
|
|
2374
|
-
}
|
|
2375
|
-
]
|
|
2376
|
-
}
|
|
2377
|
-
};
|
|
2419
|
+
columnItem.onEvent = await getColumnItemOnClick(field, options);
|
|
2378
2420
|
}
|
|
2379
2421
|
|
|
2380
2422
|
}
|
|
@@ -2587,17 +2629,23 @@ async function getMobileTableColumns(fields, options){
|
|
|
2587
2629
|
onEvent: {
|
|
2588
2630
|
"click": {
|
|
2589
2631
|
"actions": [
|
|
2632
|
+
// {
|
|
2633
|
+
// "args": {
|
|
2634
|
+
// "api": {
|
|
2635
|
+
// "url": url,
|
|
2636
|
+
// "method": "get",
|
|
2637
|
+
// "headers": {
|
|
2638
|
+
// "Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
2639
|
+
// }
|
|
2640
|
+
// }
|
|
2641
|
+
// },
|
|
2642
|
+
// "actionType": "download"
|
|
2643
|
+
// }
|
|
2590
2644
|
{
|
|
2645
|
+
"actionType": "link",
|
|
2591
2646
|
"args": {
|
|
2592
|
-
"
|
|
2593
|
-
|
|
2594
|
-
"method": "get",
|
|
2595
|
-
"headers": {
|
|
2596
|
-
"Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
2597
|
-
}
|
|
2598
|
-
}
|
|
2599
|
-
},
|
|
2600
|
-
"actionType": "download"
|
|
2647
|
+
"link": url
|
|
2648
|
+
}
|
|
2601
2649
|
}
|
|
2602
2650
|
],
|
|
2603
2651
|
"weight": 0
|
|
@@ -3306,7 +3354,7 @@ function getReadonlyFormAdaptor(object, fields, options){
|
|
|
3306
3354
|
nameLabel = `record._display.${nameField.name}.label`;
|
|
3307
3355
|
}
|
|
3308
3356
|
} else if (nameField){
|
|
3309
|
-
nameLabel = `record._display.${nameField.name}
|
|
3357
|
+
nameLabel = `(record._display ? record._display.${nameField.name} : record.${nameField.name})`;
|
|
3310
3358
|
}
|
|
3311
3359
|
return `
|
|
3312
3360
|
if(payload.data.data.length === 0){
|
|
@@ -4835,34 +4883,11 @@ const getSchema$5 = async (uiSchema, ctx) => {
|
|
|
4835
4883
|
}
|
|
4836
4884
|
};
|
|
4837
4885
|
|
|
4838
|
-
/*
|
|
4839
|
-
* @Author: baozhoutao@steedos.com
|
|
4840
|
-
* @Date: 2022-07-13 15:18:03
|
|
4841
|
-
* @LastEditors: baozhoutao@steedos.com
|
|
4842
|
-
* @LastEditTime: 2023-04-11 10:34:26
|
|
4843
|
-
* @Description:
|
|
4844
|
-
*/
|
|
4845
|
-
|
|
4846
|
-
async function getPage({type, pageId = '', appId, objectName = '', recordId = '', formFactor = 'LARGE'}){
|
|
4847
|
-
const api = `/api/pageSchema/${type}?app=${appId}&objectApiName=${objectName}&recordId=${recordId}&pageId=${pageId}&formFactor=${formFactor}`;
|
|
4848
|
-
const page = await fetchAPI(api);
|
|
4849
|
-
if (page && page.schema) {
|
|
4850
|
-
page.schema = JSON.parse(page.schema);
|
|
4851
|
-
if(page.schema.data){
|
|
4852
|
-
delete page.schema.data.recordId;
|
|
4853
|
-
delete page.schema.data.objectName;
|
|
4854
|
-
delete page.schema.data.context;
|
|
4855
|
-
delete page.schema.data.global;
|
|
4856
|
-
}
|
|
4857
|
-
return page;
|
|
4858
|
-
}
|
|
4859
|
-
}
|
|
4860
|
-
|
|
4861
4886
|
/*
|
|
4862
4887
|
* @Author: baozhoutao@steedos.com
|
|
4863
4888
|
* @Date: 2022-11-01 15:49:58
|
|
4864
|
-
* @LastEditors:
|
|
4865
|
-
* @LastEditTime:
|
|
4889
|
+
* @LastEditors: yinlianghui@hotoa.com yinlianghui@hotoa.com
|
|
4890
|
+
* @LastEditTime: 2024-05-19 10:01:07
|
|
4866
4891
|
* @Description:
|
|
4867
4892
|
*/
|
|
4868
4893
|
|
|
@@ -4924,6 +4949,12 @@ const getSchema$4 = async (uiSchema, ctx) => {
|
|
|
4924
4949
|
closeOnEsc: false,
|
|
4925
4950
|
closeOnOutside: false,
|
|
4926
4951
|
showCloseButton: true,
|
|
4952
|
+
"data": {
|
|
4953
|
+
"&": "$$",
|
|
4954
|
+
"_master": "${_master}",
|
|
4955
|
+
"_master._isRelated": "${_isRelated}",
|
|
4956
|
+
"_master.relatedKey": "${relatedKey}"
|
|
4957
|
+
},
|
|
4927
4958
|
size: "lg",
|
|
4928
4959
|
"onEvent": {
|
|
4929
4960
|
"cancel": {
|
|
@@ -6805,6 +6836,7 @@ function getObjectListHeader$1(objectSchema, listViewName, ctx) {
|
|
|
6805
6836
|
function getBackButtonSchema(){
|
|
6806
6837
|
return {
|
|
6807
6838
|
"type": "service",
|
|
6839
|
+
"className": "steedos-object-record-detail-header-back-button",
|
|
6808
6840
|
"onEvent": {
|
|
6809
6841
|
"@history_paths.changed": {
|
|
6810
6842
|
"actions": [
|
|
@@ -7091,7 +7123,7 @@ async function getObjectRecordDetailHeader(objectSchema, recordId, options) {
|
|
|
7091
7123
|
id: `page_readonly_${name}_header`,
|
|
7092
7124
|
name: `page`,
|
|
7093
7125
|
body: body,
|
|
7094
|
-
className:
|
|
7126
|
+
className: "steedos-object-record-detail-header"
|
|
7095
7127
|
}
|
|
7096
7128
|
|
|
7097
7129
|
}
|
|
@@ -11467,7 +11499,11 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
11467
11499
|
// 如果当前元素不是数组,则处理该元素
|
|
11468
11500
|
// 下面正则用于匹配amis公式\${}
|
|
11469
11501
|
if(/\\\$\\\{([^}]*)\\\}/.test(arr[i])) {
|
|
11470
|
-
|
|
11502
|
+
try{
|
|
11503
|
+
arr[i] = currentAmis.evaluate(arr[i], api.context);
|
|
11504
|
+
}catch(ex){
|
|
11505
|
+
console.error("运行lookup过滤公式时出现错误:",ex);
|
|
11506
|
+
}
|
|
11471
11507
|
}
|
|
11472
11508
|
}
|
|
11473
11509
|
}
|
|
@@ -11884,7 +11920,11 @@ async function lookupToAmisSelect(field, readonly, ctx){
|
|
|
11884
11920
|
// 如果当前元素不是数组,则处理该元素
|
|
11885
11921
|
// 下面正则用于匹配amis公式\${}
|
|
11886
11922
|
if(/\\\$\\\{([^}]*)\\\}/.test(arr[i])) {
|
|
11887
|
-
|
|
11923
|
+
try{
|
|
11924
|
+
arr[i] = currentAmis.evaluate(arr[i], api.context);
|
|
11925
|
+
}catch(ex){
|
|
11926
|
+
console.error("运行lookup过滤公式时出现错误:",ex);
|
|
11927
|
+
}
|
|
11888
11928
|
}
|
|
11889
11929
|
}
|
|
11890
11930
|
}
|
|
@@ -12990,6 +13030,21 @@ async function convertSFieldToAmisField(field, readonly, ctx) {
|
|
|
12990
13030
|
type: getAmisStaticFieldType('url', readonly, field),
|
|
12991
13031
|
static: readonly ? true : false
|
|
12992
13032
|
};
|
|
13033
|
+
if(!readonly){
|
|
13034
|
+
// amis input-url控件不支持相对路径,这里支持下
|
|
13035
|
+
// 如果要使用amis原生input-url控件的默认的isUrl验证效果或自定义字段validations效果,配置字段的amis.validations属性即可,配置为null或空字符串则使用amis默认的isUrl效果
|
|
13036
|
+
let fieldAmisValidations = field.amis?.validations;
|
|
13037
|
+
if(typeof fieldAmisValidations === "undefined"){
|
|
13038
|
+
Object.assign(convertData, {
|
|
13039
|
+
"validations": {
|
|
13040
|
+
"matchRegexp": "^((http:\\/\\/|https:\\/\\/|ftp:\\/\\/|sftp:\\/\\/)+([^\\s\\/\\.]+(\\.[^\\s\\/\\.]+)+))*(\\/[^\\s\\.\\/]+)*$"
|
|
13041
|
+
},
|
|
13042
|
+
"validationErrors": {
|
|
13043
|
+
"matchRegexp": i18next__default["default"].t('frontend_form_validation_failed_url')//"URL 格式不正确"
|
|
13044
|
+
}
|
|
13045
|
+
});
|
|
13046
|
+
}
|
|
13047
|
+
}
|
|
12993
13048
|
if(readonly && field.show_as_qr){
|
|
12994
13049
|
convertData = {
|
|
12995
13050
|
type: "control",
|