@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.esm.js
CHANGED
|
@@ -555,9 +555,9 @@ function getSelectMap(selectOptions){
|
|
|
555
555
|
}
|
|
556
556
|
|
|
557
557
|
function getNameTplUrl(field, ctx){
|
|
558
|
-
if(ctx.objectName === 'cms_files'){
|
|
559
|
-
|
|
560
|
-
}
|
|
558
|
+
// if(ctx.objectName === 'cms_files'){
|
|
559
|
+
// return "${(versions[0] && versions[0].url) ? versions[0].url+'?download=true' : context.rootUrl+'/api/files/files/'+versions[0]+'?download=true'}"
|
|
560
|
+
// }
|
|
561
561
|
const href = Router.getObjectDetailPath({
|
|
562
562
|
...ctx, formFactor: ctx.formFactor, appId: "${appId}", objectName: ctx.objectName || "${objectName}", recordId: `\${${ctx.idFieldName}}`
|
|
563
563
|
});
|
|
@@ -747,12 +747,15 @@ async function getFieldTpl (field, options){
|
|
|
747
747
|
}
|
|
748
748
|
}
|
|
749
749
|
|
|
750
|
-
async function getFieldsTemplate(fields, display){
|
|
750
|
+
async function getFieldsTemplate(object, fields, display){
|
|
751
751
|
let expandFields = [];
|
|
752
752
|
if(display != false){
|
|
753
753
|
display = true;
|
|
754
754
|
}
|
|
755
755
|
let fieldsName = ['_id'];
|
|
756
|
+
if(!object.datasource || object.datasource === 'default' || object.datasource === 'meteor'){
|
|
757
|
+
fieldsName.push('space');
|
|
758
|
+
}
|
|
756
759
|
let displayFields = [];
|
|
757
760
|
let fieldsArr = [];
|
|
758
761
|
if(_$1.isArray(fields)){
|
|
@@ -848,7 +851,7 @@ async function getFindOneQuery$1(object, recordId, fields, options){
|
|
|
848
851
|
}
|
|
849
852
|
}
|
|
850
853
|
return {
|
|
851
|
-
query: `{${alias}:${object.name}${queryOptions}{${await getFieldsTemplate(fields)}, ${getRecordPermissionsTemplate()}}}`
|
|
854
|
+
query: `{${alias}:${object.name}${queryOptions}{${await getFieldsTemplate(object, fields)}, ${getRecordPermissionsTemplate()}}}`
|
|
852
855
|
}
|
|
853
856
|
}
|
|
854
857
|
|
|
@@ -1037,7 +1040,7 @@ async function getFindQuery(object, recordId, fields, options){
|
|
|
1037
1040
|
// return item.replace(/^{/,"").replace(/}$/,"");
|
|
1038
1041
|
// }).join(",")) : "";
|
|
1039
1042
|
|
|
1040
|
-
const fieldsTemplate = `${await getFieldsTemplate(fields, options.expand)}${treeFields}${cfsFields}`;
|
|
1043
|
+
const fieldsTemplate = `${await getFieldsTemplate(object, fields, options.expand)}${treeFields}${cfsFields}`;
|
|
1041
1044
|
|
|
1042
1045
|
return {
|
|
1043
1046
|
orderBy: "${orderBy}",
|
|
@@ -1299,6 +1302,7 @@ var frontend_form_confirm$1 = "Confirm";
|
|
|
1299
1302
|
var frontend_form_delete$1 = "Delete";
|
|
1300
1303
|
var frontend_form_view$1 = "view";
|
|
1301
1304
|
var frontend_form_details$1 = "details";
|
|
1305
|
+
var frontend_form_validation_failed_url$1 = "The URL format is incorrect";
|
|
1302
1306
|
var frontend_delete_confirm_text$1 = "Are you sure you want to delete this item?";
|
|
1303
1307
|
var frontend_delete_many_selected_required$1 = "Please select the item to be deleted";
|
|
1304
1308
|
var frontend_delete_many_confirm_text$1 = "Are you sure you want to delete?";
|
|
@@ -1387,6 +1391,7 @@ var en_us = {
|
|
|
1387
1391
|
frontend_form_delete: frontend_form_delete$1,
|
|
1388
1392
|
frontend_form_view: frontend_form_view$1,
|
|
1389
1393
|
frontend_form_details: frontend_form_details$1,
|
|
1394
|
+
frontend_form_validation_failed_url: frontend_form_validation_failed_url$1,
|
|
1390
1395
|
frontend_delete_confirm_text: frontend_delete_confirm_text$1,
|
|
1391
1396
|
frontend_delete_many_selected_required: frontend_delete_many_selected_required$1,
|
|
1392
1397
|
frontend_delete_many_confirm_text: frontend_delete_many_confirm_text$1,
|
|
@@ -1476,6 +1481,7 @@ var frontend_form_confirm = "确认";
|
|
|
1476
1481
|
var frontend_form_delete = "删除";
|
|
1477
1482
|
var frontend_form_view = "查看";
|
|
1478
1483
|
var frontend_form_details = "详情";
|
|
1484
|
+
var frontend_form_validation_failed_url = "URL 格式不正确";
|
|
1479
1485
|
var frontend_delete_confirm_text = "确定要删除此项目?";
|
|
1480
1486
|
var frontend_delete_many_selected_required = "请选择要删除的项";
|
|
1481
1487
|
var frontend_delete_many_confirm_text = "确定要删除吗?";
|
|
@@ -1565,6 +1571,7 @@ var zh_cn = {
|
|
|
1565
1571
|
frontend_form_delete: frontend_form_delete,
|
|
1566
1572
|
frontend_form_view: frontend_form_view,
|
|
1567
1573
|
frontend_form_details: frontend_form_details,
|
|
1574
|
+
frontend_form_validation_failed_url: frontend_form_validation_failed_url,
|
|
1568
1575
|
frontend_delete_confirm_text: frontend_delete_confirm_text,
|
|
1569
1576
|
frontend_delete_many_selected_required: frontend_delete_many_selected_required,
|
|
1570
1577
|
frontend_delete_many_confirm_text: frontend_delete_many_confirm_text,
|
|
@@ -1669,6 +1676,29 @@ i18next
|
|
|
1669
1676
|
}
|
|
1670
1677
|
});
|
|
1671
1678
|
|
|
1679
|
+
/*
|
|
1680
|
+
* @Author: baozhoutao@steedos.com
|
|
1681
|
+
* @Date: 2022-07-13 15:18:03
|
|
1682
|
+
* @LastEditors: baozhoutao@steedos.com
|
|
1683
|
+
* @LastEditTime: 2023-04-11 10:34:26
|
|
1684
|
+
* @Description:
|
|
1685
|
+
*/
|
|
1686
|
+
|
|
1687
|
+
async function getPage({type, pageId = '', appId, objectName = '', recordId = '', formFactor = 'LARGE'}){
|
|
1688
|
+
const api = `/api/pageSchema/${type}?app=${appId}&objectApiName=${objectName}&recordId=${recordId}&pageId=${pageId}&formFactor=${formFactor}`;
|
|
1689
|
+
const page = await fetchAPI(api);
|
|
1690
|
+
if (page && page.schema) {
|
|
1691
|
+
page.schema = JSON.parse(page.schema);
|
|
1692
|
+
if(page.schema.data){
|
|
1693
|
+
delete page.schema.data.recordId;
|
|
1694
|
+
delete page.schema.data.objectName;
|
|
1695
|
+
delete page.schema.data.context;
|
|
1696
|
+
delete page.schema.data.global;
|
|
1697
|
+
}
|
|
1698
|
+
return page;
|
|
1699
|
+
}
|
|
1700
|
+
}
|
|
1701
|
+
|
|
1672
1702
|
async function getQuickEditSchema(object, columnField, options){
|
|
1673
1703
|
let field = object.fields[columnField.name];
|
|
1674
1704
|
//判断在amis3.2以上环境下,放开批量编辑与lookup的单元格编辑
|
|
@@ -2138,6 +2168,59 @@ function getFieldWidth(width){
|
|
|
2138
2168
|
}
|
|
2139
2169
|
}
|
|
2140
2170
|
|
|
2171
|
+
async function getColumnItemOnClick(field, options){
|
|
2172
|
+
const recordPage = await getPage({ type: 'record', appId: options.appId, objectName: options.objectName, formFactor: options.formFactor });
|
|
2173
|
+
const drawerRecordDetailSchema = recordPage ? Object.assign({}, recordPage.schema, {
|
|
2174
|
+
"recordId": `\${${options.idFieldName}}`,
|
|
2175
|
+
"data": {
|
|
2176
|
+
...recordPage.schema.data,
|
|
2177
|
+
"_inDrawer": true, // 用于判断是否在抽屉中
|
|
2178
|
+
"recordLoaded": false, // 重置数据加载状态
|
|
2179
|
+
}
|
|
2180
|
+
}) : {
|
|
2181
|
+
"type": "steedos-record-detail",
|
|
2182
|
+
"objectApiName": "${objectName}",
|
|
2183
|
+
"recordId": `\${${options.idFieldName}}`,
|
|
2184
|
+
"showBackButton": false,
|
|
2185
|
+
"showButtons": true,
|
|
2186
|
+
"data": {
|
|
2187
|
+
"_inDrawer": true, // 用于判断是否在抽屉中
|
|
2188
|
+
"recordLoaded": false, // 重置数据加载状态
|
|
2189
|
+
}
|
|
2190
|
+
};
|
|
2191
|
+
|
|
2192
|
+
if(!(field.is_name || field.name === options.labelFieldName)){
|
|
2193
|
+
drawerRecordDetailSchema.objectApiName = field.reference_to;
|
|
2194
|
+
drawerRecordDetailSchema.recordId = `\${_display.${field.name}.value}`;
|
|
2195
|
+
}
|
|
2196
|
+
return {
|
|
2197
|
+
"click": {
|
|
2198
|
+
"actions": [
|
|
2199
|
+
{
|
|
2200
|
+
"actionType": "drawer",
|
|
2201
|
+
"drawer": {
|
|
2202
|
+
"type": "drawer",
|
|
2203
|
+
"title": " ",
|
|
2204
|
+
"headerClassName": "hidden",
|
|
2205
|
+
"size": "lg",
|
|
2206
|
+
"bodyClassName": "p-0 m-0 bg-gray-100",
|
|
2207
|
+
"closeOnEsc": true,
|
|
2208
|
+
"closeOnOutside": true,
|
|
2209
|
+
"resizable": true,
|
|
2210
|
+
"actions": [],
|
|
2211
|
+
"body": [
|
|
2212
|
+
drawerRecordDetailSchema
|
|
2213
|
+
],
|
|
2214
|
+
"className": "steedos-record-detail-drawer app-popover",
|
|
2215
|
+
"id": "u:fc5f055afa8c"
|
|
2216
|
+
},
|
|
2217
|
+
"preventDefault": true
|
|
2218
|
+
}
|
|
2219
|
+
]
|
|
2220
|
+
}
|
|
2221
|
+
};
|
|
2222
|
+
}
|
|
2223
|
+
|
|
2141
2224
|
async function getTableColumns(object, fields, options){
|
|
2142
2225
|
const columns = [];
|
|
2143
2226
|
if(!options.isLookup && !options.isInputTable){
|
|
@@ -2177,7 +2260,10 @@ async function getTableColumns(object, fields, options){
|
|
|
2177
2260
|
delete fieldAmis?.className;
|
|
2178
2261
|
|
|
2179
2262
|
let columnItem;
|
|
2180
|
-
|
|
2263
|
+
|
|
2264
|
+
// PC客户端点击名称字段直接预览
|
|
2265
|
+
let isNode = !!(window && window.nw && window.nw.require);
|
|
2266
|
+
if((field.is_name || field.name === options.labelFieldName) && options.objectName === 'cms_files' && isNode){
|
|
2181
2267
|
const previewFileScript = `
|
|
2182
2268
|
var data = event.data;
|
|
2183
2269
|
var file_name = data.versions ? data.name : "${field.label}";
|
|
@@ -2192,20 +2278,20 @@ async function getTableColumns(object, fields, options){
|
|
|
2192
2278
|
"onEvent": {
|
|
2193
2279
|
"click": {
|
|
2194
2280
|
"actions": [
|
|
2195
|
-
{
|
|
2196
|
-
|
|
2197
|
-
|
|
2198
|
-
|
|
2199
|
-
|
|
2200
|
-
|
|
2201
|
-
|
|
2202
|
-
|
|
2203
|
-
|
|
2204
|
-
|
|
2205
|
-
|
|
2206
|
-
|
|
2207
|
-
|
|
2208
|
-
},
|
|
2281
|
+
// {
|
|
2282
|
+
// "args": {
|
|
2283
|
+
// "api": {
|
|
2284
|
+
// "url": "${(versions[0] && versions[0].url) ? versions[0].url+'?download=true' : context.rootUrl+'/api/files/files/'+versions[0]+'?download=true'}",
|
|
2285
|
+
// "method": "get",
|
|
2286
|
+
// "headers": {
|
|
2287
|
+
// "Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
2288
|
+
// }
|
|
2289
|
+
// }
|
|
2290
|
+
// },
|
|
2291
|
+
// "actionType": "download",
|
|
2292
|
+
// // "expression": "!!!window?.nw?.require"//浏览器上直接下载
|
|
2293
|
+
// "expression": "!!!(window && window.nw && window.nw.require)"//浏览器上直接下载
|
|
2294
|
+
// },
|
|
2209
2295
|
{
|
|
2210
2296
|
"args": {},
|
|
2211
2297
|
"actionType": "custom",
|
|
@@ -2303,51 +2389,7 @@ async function getTableColumns(object, fields, options){
|
|
|
2303
2389
|
}
|
|
2304
2390
|
|
|
2305
2391
|
if(window.innerWidth >= 768 && ((field.is_name || field.name === options.labelFieldName) || ((field.type == 'lookup' || field.type == 'master_detail') && _$1.isString(field.reference_to) && field.multiple != true)) && options.isRelated){
|
|
2306
|
-
|
|
2307
|
-
const drawerRecordDetailSchema = {
|
|
2308
|
-
"type": "steedos-record-detail",
|
|
2309
|
-
"objectApiName": "${objectName}",
|
|
2310
|
-
"recordId": `\${${options.idFieldName}}`,
|
|
2311
|
-
"showBackButton": false,
|
|
2312
|
-
"showButtons": true,
|
|
2313
|
-
"data": {
|
|
2314
|
-
"_inDrawer": true, // 用于判断是否在抽屉中
|
|
2315
|
-
"recordLoaded": false, // 重置数据加载状态
|
|
2316
|
-
}
|
|
2317
|
-
};
|
|
2318
|
-
|
|
2319
|
-
|
|
2320
|
-
if(!(field.is_name || field.name === options.labelFieldName)){
|
|
2321
|
-
drawerRecordDetailSchema.objectApiName = field.reference_to;
|
|
2322
|
-
drawerRecordDetailSchema.recordId = `\${_display.${field.name}.value}`;
|
|
2323
|
-
}
|
|
2324
|
-
|
|
2325
|
-
columnItem.onEvent = {
|
|
2326
|
-
"click": {
|
|
2327
|
-
"actions": [
|
|
2328
|
-
{
|
|
2329
|
-
"actionType": "drawer",
|
|
2330
|
-
"drawer": {
|
|
2331
|
-
"type": "drawer",
|
|
2332
|
-
"title": " ",
|
|
2333
|
-
"headerClassName": "hidden",
|
|
2334
|
-
"size": "lg",
|
|
2335
|
-
"bodyClassName": "p-0 m-0 bg-gray-100",
|
|
2336
|
-
"closeOnEsc": true,
|
|
2337
|
-
"closeOnOutside": true,
|
|
2338
|
-
"resizable": true,
|
|
2339
|
-
"actions": [],
|
|
2340
|
-
"body": [
|
|
2341
|
-
drawerRecordDetailSchema
|
|
2342
|
-
],
|
|
2343
|
-
"className": "steedos-record-detail-drawer app-popover",
|
|
2344
|
-
"id": "u:fc5f055afa8c"
|
|
2345
|
-
},
|
|
2346
|
-
"preventDefault": true
|
|
2347
|
-
}
|
|
2348
|
-
]
|
|
2349
|
-
}
|
|
2350
|
-
};
|
|
2392
|
+
columnItem.onEvent = await getColumnItemOnClick(field, options);
|
|
2351
2393
|
}
|
|
2352
2394
|
|
|
2353
2395
|
}
|
|
@@ -2560,17 +2602,23 @@ async function getMobileTableColumns(fields, options){
|
|
|
2560
2602
|
onEvent: {
|
|
2561
2603
|
"click": {
|
|
2562
2604
|
"actions": [
|
|
2605
|
+
// {
|
|
2606
|
+
// "args": {
|
|
2607
|
+
// "api": {
|
|
2608
|
+
// "url": url,
|
|
2609
|
+
// "method": "get",
|
|
2610
|
+
// "headers": {
|
|
2611
|
+
// "Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
2612
|
+
// }
|
|
2613
|
+
// }
|
|
2614
|
+
// },
|
|
2615
|
+
// "actionType": "download"
|
|
2616
|
+
// }
|
|
2563
2617
|
{
|
|
2618
|
+
"actionType": "link",
|
|
2564
2619
|
"args": {
|
|
2565
|
-
"
|
|
2566
|
-
|
|
2567
|
-
"method": "get",
|
|
2568
|
-
"headers": {
|
|
2569
|
-
"Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
2570
|
-
}
|
|
2571
|
-
}
|
|
2572
|
-
},
|
|
2573
|
-
"actionType": "download"
|
|
2620
|
+
"link": url
|
|
2621
|
+
}
|
|
2574
2622
|
}
|
|
2575
2623
|
],
|
|
2576
2624
|
"weight": 0
|
|
@@ -3279,7 +3327,7 @@ function getReadonlyFormAdaptor(object, fields, options){
|
|
|
3279
3327
|
nameLabel = `record._display.${nameField.name}.label`;
|
|
3280
3328
|
}
|
|
3281
3329
|
} else if (nameField){
|
|
3282
|
-
nameLabel = `record._display.${nameField.name}
|
|
3330
|
+
nameLabel = `(record._display ? record._display.${nameField.name} : record.${nameField.name})`;
|
|
3283
3331
|
}
|
|
3284
3332
|
return `
|
|
3285
3333
|
if(payload.data.data.length === 0){
|
|
@@ -4808,34 +4856,11 @@ const getSchema$5 = async (uiSchema, ctx) => {
|
|
|
4808
4856
|
}
|
|
4809
4857
|
};
|
|
4810
4858
|
|
|
4811
|
-
/*
|
|
4812
|
-
* @Author: baozhoutao@steedos.com
|
|
4813
|
-
* @Date: 2022-07-13 15:18:03
|
|
4814
|
-
* @LastEditors: baozhoutao@steedos.com
|
|
4815
|
-
* @LastEditTime: 2023-04-11 10:34:26
|
|
4816
|
-
* @Description:
|
|
4817
|
-
*/
|
|
4818
|
-
|
|
4819
|
-
async function getPage({type, pageId = '', appId, objectName = '', recordId = '', formFactor = 'LARGE'}){
|
|
4820
|
-
const api = `/api/pageSchema/${type}?app=${appId}&objectApiName=${objectName}&recordId=${recordId}&pageId=${pageId}&formFactor=${formFactor}`;
|
|
4821
|
-
const page = await fetchAPI(api);
|
|
4822
|
-
if (page && page.schema) {
|
|
4823
|
-
page.schema = JSON.parse(page.schema);
|
|
4824
|
-
if(page.schema.data){
|
|
4825
|
-
delete page.schema.data.recordId;
|
|
4826
|
-
delete page.schema.data.objectName;
|
|
4827
|
-
delete page.schema.data.context;
|
|
4828
|
-
delete page.schema.data.global;
|
|
4829
|
-
}
|
|
4830
|
-
return page;
|
|
4831
|
-
}
|
|
4832
|
-
}
|
|
4833
|
-
|
|
4834
4859
|
/*
|
|
4835
4860
|
* @Author: baozhoutao@steedos.com
|
|
4836
4861
|
* @Date: 2022-11-01 15:49:58
|
|
4837
|
-
* @LastEditors:
|
|
4838
|
-
* @LastEditTime:
|
|
4862
|
+
* @LastEditors: yinlianghui@hotoa.com yinlianghui@hotoa.com
|
|
4863
|
+
* @LastEditTime: 2024-05-19 10:01:07
|
|
4839
4864
|
* @Description:
|
|
4840
4865
|
*/
|
|
4841
4866
|
|
|
@@ -4897,6 +4922,12 @@ const getSchema$4 = async (uiSchema, ctx) => {
|
|
|
4897
4922
|
closeOnEsc: false,
|
|
4898
4923
|
closeOnOutside: false,
|
|
4899
4924
|
showCloseButton: true,
|
|
4925
|
+
"data": {
|
|
4926
|
+
"&": "$$",
|
|
4927
|
+
"_master": "${_master}",
|
|
4928
|
+
"_master._isRelated": "${_isRelated}",
|
|
4929
|
+
"_master.relatedKey": "${relatedKey}"
|
|
4930
|
+
},
|
|
4900
4931
|
size: "lg",
|
|
4901
4932
|
"onEvent": {
|
|
4902
4933
|
"cancel": {
|
|
@@ -6778,6 +6809,7 @@ function getObjectListHeader$1(objectSchema, listViewName, ctx) {
|
|
|
6778
6809
|
function getBackButtonSchema(){
|
|
6779
6810
|
return {
|
|
6780
6811
|
"type": "service",
|
|
6812
|
+
"className": "steedos-object-record-detail-header-back-button",
|
|
6781
6813
|
"onEvent": {
|
|
6782
6814
|
"@history_paths.changed": {
|
|
6783
6815
|
"actions": [
|
|
@@ -7064,7 +7096,7 @@ async function getObjectRecordDetailHeader(objectSchema, recordId, options) {
|
|
|
7064
7096
|
id: `page_readonly_${name}_header`,
|
|
7065
7097
|
name: `page`,
|
|
7066
7098
|
body: body,
|
|
7067
|
-
className:
|
|
7099
|
+
className: "steedos-object-record-detail-header"
|
|
7068
7100
|
}
|
|
7069
7101
|
|
|
7070
7102
|
}
|
|
@@ -11440,7 +11472,11 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
11440
11472
|
// 如果当前元素不是数组,则处理该元素
|
|
11441
11473
|
// 下面正则用于匹配amis公式\${}
|
|
11442
11474
|
if(/\\\$\\\{([^}]*)\\\}/.test(arr[i])) {
|
|
11443
|
-
|
|
11475
|
+
try{
|
|
11476
|
+
arr[i] = currentAmis.evaluate(arr[i], api.context);
|
|
11477
|
+
}catch(ex){
|
|
11478
|
+
console.error("运行lookup过滤公式时出现错误:",ex);
|
|
11479
|
+
}
|
|
11444
11480
|
}
|
|
11445
11481
|
}
|
|
11446
11482
|
}
|
|
@@ -11857,7 +11893,11 @@ async function lookupToAmisSelect(field, readonly, ctx){
|
|
|
11857
11893
|
// 如果当前元素不是数组,则处理该元素
|
|
11858
11894
|
// 下面正则用于匹配amis公式\${}
|
|
11859
11895
|
if(/\\\$\\\{([^}]*)\\\}/.test(arr[i])) {
|
|
11860
|
-
|
|
11896
|
+
try{
|
|
11897
|
+
arr[i] = currentAmis.evaluate(arr[i], api.context);
|
|
11898
|
+
}catch(ex){
|
|
11899
|
+
console.error("运行lookup过滤公式时出现错误:",ex);
|
|
11900
|
+
}
|
|
11861
11901
|
}
|
|
11862
11902
|
}
|
|
11863
11903
|
}
|
|
@@ -12963,6 +13003,21 @@ async function convertSFieldToAmisField(field, readonly, ctx) {
|
|
|
12963
13003
|
type: getAmisStaticFieldType('url', readonly, field),
|
|
12964
13004
|
static: readonly ? true : false
|
|
12965
13005
|
};
|
|
13006
|
+
if(!readonly){
|
|
13007
|
+
// amis input-url控件不支持相对路径,这里支持下
|
|
13008
|
+
// 如果要使用amis原生input-url控件的默认的isUrl验证效果或自定义字段validations效果,配置字段的amis.validations属性即可,配置为null或空字符串则使用amis默认的isUrl效果
|
|
13009
|
+
let fieldAmisValidations = field.amis?.validations;
|
|
13010
|
+
if(typeof fieldAmisValidations === "undefined"){
|
|
13011
|
+
Object.assign(convertData, {
|
|
13012
|
+
"validations": {
|
|
13013
|
+
"matchRegexp": "^((http:\\/\\/|https:\\/\\/|ftp:\\/\\/|sftp:\\/\\/)+([^\\s\\/\\.]+(\\.[^\\s\\/\\.]+)+))*(\\/[^\\s\\.\\/]+)*$"
|
|
13014
|
+
},
|
|
13015
|
+
"validationErrors": {
|
|
13016
|
+
"matchRegexp": i18next.t('frontend_form_validation_failed_url')//"URL 格式不正确"
|
|
13017
|
+
}
|
|
13018
|
+
});
|
|
13019
|
+
}
|
|
13020
|
+
}
|
|
12966
13021
|
if(readonly && field.show_as_qr){
|
|
12967
13022
|
convertData = {
|
|
12968
13023
|
type: "control",
|