@steedos-widgets/sortable 6.3.0-beta.10 → 6.3.0-beta.11

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.
@@ -20628,7 +20628,7 @@
20628
20628
  if(display != false){
20629
20629
  display = true;
20630
20630
  }
20631
- let fieldsName = ['_id'];
20631
+ let fieldsName = ['_id', 'space'];
20632
20632
  let displayFields = [];
20633
20633
  let fieldsArr = [];
20634
20634
  if(lodash.exports.isArray(fields)){
@@ -20943,6 +20943,7 @@
20943
20943
  var frontend_form_delete$1 = "Delete";
20944
20944
  var frontend_form_view$1 = "view";
20945
20945
  var frontend_form_details$1 = "details";
20946
+ var frontend_form_validation_failed_url$1 = "The URL format is incorrect";
20946
20947
  var frontend_delete_confirm_text$1 = "Are you sure you want to delete this item?";
20947
20948
  var frontend_delete_many_selected_required$1 = "Please select the item to be deleted";
20948
20949
  var frontend_delete_many_confirm_text$1 = "Are you sure you want to delete?";
@@ -21031,6 +21032,7 @@
21031
21032
  frontend_form_delete: frontend_form_delete$1,
21032
21033
  frontend_form_view: frontend_form_view$1,
21033
21034
  frontend_form_details: frontend_form_details$1,
21035
+ frontend_form_validation_failed_url: frontend_form_validation_failed_url$1,
21034
21036
  frontend_delete_confirm_text: frontend_delete_confirm_text$1,
21035
21037
  frontend_delete_many_selected_required: frontend_delete_many_selected_required$1,
21036
21038
  frontend_delete_many_confirm_text: frontend_delete_many_confirm_text$1,
@@ -21120,6 +21122,7 @@
21120
21122
  var frontend_form_delete = "删除";
21121
21123
  var frontend_form_view = "查看";
21122
21124
  var frontend_form_details = "详情";
21125
+ var frontend_form_validation_failed_url = "URL 格式不正确";
21123
21126
  var frontend_delete_confirm_text = "确定要删除此项目?";
21124
21127
  var frontend_delete_many_selected_required = "请选择要删除的项";
21125
21128
  var frontend_delete_many_confirm_text = "确定要删除吗?";
@@ -21209,6 +21212,7 @@
21209
21212
  frontend_form_delete: frontend_form_delete,
21210
21213
  frontend_form_view: frontend_form_view,
21211
21214
  frontend_form_details: frontend_form_details,
21215
+ frontend_form_validation_failed_url: frontend_form_validation_failed_url,
21212
21216
  frontend_delete_confirm_text: frontend_delete_confirm_text,
21213
21217
  frontend_delete_many_selected_required: frontend_delete_many_selected_required,
21214
21218
  frontend_delete_many_confirm_text: frontend_delete_many_confirm_text,
@@ -21313,6 +21317,29 @@
21313
21317
  }
21314
21318
  });
21315
21319
 
21320
+ /*
21321
+ * @Author: baozhoutao@steedos.com
21322
+ * @Date: 2022-07-13 15:18:03
21323
+ * @LastEditors: baozhoutao@steedos.com
21324
+ * @LastEditTime: 2023-04-11 10:34:26
21325
+ * @Description:
21326
+ */
21327
+
21328
+ async function getPage({type, pageId = '', appId, objectName = '', recordId = '', formFactor = 'LARGE'}){
21329
+ const api = `/api/pageSchema/${type}?app=${appId}&objectApiName=${objectName}&recordId=${recordId}&pageId=${pageId}&formFactor=${formFactor}`;
21330
+ const page = await fetchAPI(api);
21331
+ if (page && page.schema) {
21332
+ page.schema = JSON.parse(page.schema);
21333
+ if(page.schema.data){
21334
+ delete page.schema.data.recordId;
21335
+ delete page.schema.data.objectName;
21336
+ delete page.schema.data.context;
21337
+ delete page.schema.data.global;
21338
+ }
21339
+ return page;
21340
+ }
21341
+ }
21342
+
21316
21343
  async function getQuickEditSchema(object, columnField, options){
21317
21344
  let field = object.fields[columnField.name];
21318
21345
  //判断在amis3.2以上环境下,放开批量编辑与lookup的单元格编辑
@@ -21947,20 +21974,26 @@
21947
21974
  }
21948
21975
 
21949
21976
  if(window.innerWidth >= 768 && ((field.is_name || field.name === options.labelFieldName) || ((field.type == 'lookup' || field.type == 'master_detail') && lodash.exports.isString(field.reference_to) && field.multiple != true)) && options.isRelated){
21950
-
21951
- const drawerRecordDetailSchema = {
21977
+ const recordPage = await getPage({ type: 'record', appId: options.appId, objectName: options.objectName, formFactor: options.formFactor });
21978
+ const drawerRecordDetailSchema = recordPage ? Object.assign({}, recordPage.schema, {
21979
+ "recordId": `\${${options.idFieldName}}`,
21980
+ "data": {
21981
+ ...recordPage.schema.data,
21982
+ "_inDrawer": true, // 用于判断是否在抽屉中
21983
+ "recordLoaded": false, // 重置数据加载状态
21984
+ }
21985
+ }) : {
21952
21986
  "type": "steedos-record-detail",
21953
21987
  "objectApiName": "${objectName}",
21954
21988
  "recordId": `\${${options.idFieldName}}`,
21955
21989
  "showBackButton": false,
21956
21990
  "showButtons": true,
21957
21991
  "data": {
21958
- "_inDrawer": true, // 用于判断是否在抽屉中
21959
- "recordLoaded": false, // 重置数据加载状态
21992
+ "_inDrawer": true, // 用于判断是否在抽屉中
21993
+ "recordLoaded": false, // 重置数据加载状态
21960
21994
  }
21961
21995
  };
21962
21996
 
21963
-
21964
21997
  if(!(field.is_name || field.name === options.labelFieldName)){
21965
21998
  drawerRecordDetailSchema.objectApiName = field.reference_to;
21966
21999
  drawerRecordDetailSchema.recordId = `\${_display.${field.name}.value}`;
@@ -26038,7 +26071,11 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
26038
26071
  // 如果当前元素不是数组,则处理该元素
26039
26072
  // 下面正则用于匹配amis公式\${}
26040
26073
  if(/\\\$\\\{([^}]*)\\\}/.test(arr[i])) {
26041
- arr[i] = currentAmis.evaluate(arr[i], api.data.$self);
26074
+ try{
26075
+ arr[i] = currentAmis.evaluate(arr[i], api.context);
26076
+ }catch(ex){
26077
+ console.error("运行lookup过滤公式时出现错误:",ex);
26078
+ }
26042
26079
  }
26043
26080
  }
26044
26081
  }
@@ -26446,6 +26483,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
26446
26483
  var fieldFilters = ${JSON.stringify(field.filters)};
26447
26484
  var currentAmis = amisRequire('amis');
26448
26485
  //递归fieldFilters数组,检查每一个元素,判断若是公式,就仅把它解析
26486
+ debugger;
26449
26487
  function traverseNestedArray(arr) {
26450
26488
  for (let i = 0; i < arr.length; i++) {
26451
26489
  if (Array.isArray(arr[i])) {
@@ -26455,7 +26493,11 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
26455
26493
  // 如果当前元素不是数组,则处理该元素
26456
26494
  // 下面正则用于匹配amis公式\${}
26457
26495
  if(/\\\$\\\{([^}]*)\\\}/.test(arr[i])) {
26458
- arr[i] = currentAmis.evaluate(arr[i], api.data.$self);
26496
+ try{
26497
+ arr[i] = currentAmis.evaluate(arr[i], api.context);
26498
+ }catch(ex){
26499
+ console.error("运行lookup过滤公式时出现错误:",ex);
26500
+ }
26459
26501
  }
26460
26502
  }
26461
26503
  }
@@ -27450,6 +27492,21 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
27450
27492
  type: getAmisStaticFieldType('url', readonly, field),
27451
27493
  static: readonly ? true : false
27452
27494
  };
27495
+ if(!readonly){
27496
+ // amis input-url控件不支持相对路径,这里支持下
27497
+ // 如果要使用amis原生input-url控件的默认的isUrl验证效果或自定义字段validations效果,配置字段的amis.validations属性即可,配置为null或空字符串则使用amis默认的isUrl效果
27498
+ let fieldAmisValidations = field.amis?.validations;
27499
+ if(typeof fieldAmisValidations === "undefined"){
27500
+ Object.assign(convertData, {
27501
+ "validations": {
27502
+ "matchRegexp": "^((http:\\/\\/|https:\\/\\/|ftp:\\/\\/|sftp:\\/\\/)+([^\\s\\/\\.]+(\\.[^\\s\\/\\.]+)+))*(\\/[^\\s\\.\\/]+)*$"
27503
+ },
27504
+ "validationErrors": {
27505
+ "matchRegexp": instance.t('frontend_form_validation_failed_url')//"URL 格式不正确"
27506
+ }
27507
+ });
27508
+ }
27509
+ }
27453
27510
  if(readonly && field.show_as_qr){
27454
27511
  convertData = {
27455
27512
  type: "control",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steedos-widgets/sortable",
3
- "version": "6.3.0-beta.10",
3
+ "version": "6.3.0-beta.11",
4
4
  "main": "dist/sortable.cjs.js",
5
5
  "module": "dist/sortable.esm.js",
6
6
  "unpkg": "dist/sortable.umd.js",
@@ -45,7 +45,7 @@
45
45
  "dependencies": {
46
46
  "@dnd-kit/core": "^6.0.5",
47
47
  "@dnd-kit/sortable": "^7.0.1",
48
- "@steedos-widgets/amis-lib": "6.3.0-beta.10"
48
+ "@steedos-widgets/amis-lib": "6.3.0-beta.11"
49
49
  },
50
- "gitHead": "9bde0fd0766dc725e40940998b53e4f8fbeaea05"
50
+ "gitHead": "0c2502e4d2a3f8c8c180613fed6b5618be19abfa"
51
51
  }