@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.
@@ -54323,7 +54323,7 @@ async function getFieldsTemplate(fields, display){
54323
54323
  if(display != false){
54324
54324
  display = true;
54325
54325
  }
54326
- let fieldsName = ['_id'];
54326
+ let fieldsName = ['_id', 'space'];
54327
54327
  let displayFields = [];
54328
54328
  let fieldsArr = [];
54329
54329
  if(lodash.exports.isArray(fields)){
@@ -54638,6 +54638,7 @@ var frontend_form_confirm$1 = "Confirm";
54638
54638
  var frontend_form_delete$1 = "Delete";
54639
54639
  var frontend_form_view$1 = "view";
54640
54640
  var frontend_form_details$1 = "details";
54641
+ var frontend_form_validation_failed_url$1 = "The URL format is incorrect";
54641
54642
  var frontend_delete_confirm_text$1 = "Are you sure you want to delete this item?";
54642
54643
  var frontend_delete_many_selected_required$1 = "Please select the item to be deleted";
54643
54644
  var frontend_delete_many_confirm_text$1 = "Are you sure you want to delete?";
@@ -54726,6 +54727,7 @@ var en_us = {
54726
54727
  frontend_form_delete: frontend_form_delete$1,
54727
54728
  frontend_form_view: frontend_form_view$1,
54728
54729
  frontend_form_details: frontend_form_details$1,
54730
+ frontend_form_validation_failed_url: frontend_form_validation_failed_url$1,
54729
54731
  frontend_delete_confirm_text: frontend_delete_confirm_text$1,
54730
54732
  frontend_delete_many_selected_required: frontend_delete_many_selected_required$1,
54731
54733
  frontend_delete_many_confirm_text: frontend_delete_many_confirm_text$1,
@@ -54815,6 +54817,7 @@ var frontend_form_confirm = "确认";
54815
54817
  var frontend_form_delete = "删除";
54816
54818
  var frontend_form_view = "查看";
54817
54819
  var frontend_form_details = "详情";
54820
+ var frontend_form_validation_failed_url = "URL 格式不正确";
54818
54821
  var frontend_delete_confirm_text = "确定要删除此项目?";
54819
54822
  var frontend_delete_many_selected_required = "请选择要删除的项";
54820
54823
  var frontend_delete_many_confirm_text = "确定要删除吗?";
@@ -54904,6 +54907,7 @@ var zh_cn = {
54904
54907
  frontend_form_delete: frontend_form_delete,
54905
54908
  frontend_form_view: frontend_form_view,
54906
54909
  frontend_form_details: frontend_form_details,
54910
+ frontend_form_validation_failed_url: frontend_form_validation_failed_url,
54907
54911
  frontend_delete_confirm_text: frontend_delete_confirm_text,
54908
54912
  frontend_delete_many_selected_required: frontend_delete_many_selected_required,
54909
54913
  frontend_delete_many_confirm_text: frontend_delete_many_confirm_text,
@@ -55008,6 +55012,29 @@ instance
55008
55012
  }
55009
55013
  });
55010
55014
 
55015
+ /*
55016
+ * @Author: baozhoutao@steedos.com
55017
+ * @Date: 2022-07-13 15:18:03
55018
+ * @LastEditors: baozhoutao@steedos.com
55019
+ * @LastEditTime: 2023-04-11 10:34:26
55020
+ * @Description:
55021
+ */
55022
+
55023
+ async function getPage({type, pageId = '', appId, objectName = '', recordId = '', formFactor = 'LARGE'}){
55024
+ const api = `/api/pageSchema/${type}?app=${appId}&objectApiName=${objectName}&recordId=${recordId}&pageId=${pageId}&formFactor=${formFactor}`;
55025
+ const page = await fetchAPI(api);
55026
+ if (page && page.schema) {
55027
+ page.schema = JSON.parse(page.schema);
55028
+ if(page.schema.data){
55029
+ delete page.schema.data.recordId;
55030
+ delete page.schema.data.objectName;
55031
+ delete page.schema.data.context;
55032
+ delete page.schema.data.global;
55033
+ }
55034
+ return page;
55035
+ }
55036
+ }
55037
+
55011
55038
  async function getQuickEditSchema(object, columnField, options){
55012
55039
  let field = object.fields[columnField.name];
55013
55040
  //判断在amis3.2以上环境下,放开批量编辑与lookup的单元格编辑
@@ -55642,20 +55669,26 @@ async function getTableColumns(object, fields, options){
55642
55669
  }
55643
55670
 
55644
55671
  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){
55645
-
55646
- const drawerRecordDetailSchema = {
55672
+ const recordPage = await getPage({ type: 'record', appId: options.appId, objectName: options.objectName, formFactor: options.formFactor });
55673
+ const drawerRecordDetailSchema = recordPage ? Object.assign({}, recordPage.schema, {
55674
+ "recordId": `\${${options.idFieldName}}`,
55675
+ "data": {
55676
+ ...recordPage.schema.data,
55677
+ "_inDrawer": true, // 用于判断是否在抽屉中
55678
+ "recordLoaded": false, // 重置数据加载状态
55679
+ }
55680
+ }) : {
55647
55681
  "type": "steedos-record-detail",
55648
55682
  "objectApiName": "${objectName}",
55649
55683
  "recordId": `\${${options.idFieldName}}`,
55650
55684
  "showBackButton": false,
55651
55685
  "showButtons": true,
55652
55686
  "data": {
55653
- "_inDrawer": true, // 用于判断是否在抽屉中
55654
- "recordLoaded": false, // 重置数据加载状态
55687
+ "_inDrawer": true, // 用于判断是否在抽屉中
55688
+ "recordLoaded": false, // 重置数据加载状态
55655
55689
  }
55656
55690
  };
55657
55691
 
55658
-
55659
55692
  if(!(field.is_name || field.name === options.labelFieldName)){
55660
55693
  drawerRecordDetailSchema.objectApiName = field.reference_to;
55661
55694
  drawerRecordDetailSchema.recordId = `\${_display.${field.name}.value}`;
@@ -59733,7 +59766,11 @@ async function lookupToAmisPicker(field, readonly, ctx){
59733
59766
  // 如果当前元素不是数组,则处理该元素
59734
59767
  // 下面正则用于匹配amis公式\${}
59735
59768
  if(/\\\$\\\{([^}]*)\\\}/.test(arr[i])) {
59736
- arr[i] = currentAmis.evaluate(arr[i], api.data.$self);
59769
+ try{
59770
+ arr[i] = currentAmis.evaluate(arr[i], api.context);
59771
+ }catch(ex){
59772
+ console.error("运行lookup过滤公式时出现错误:",ex);
59773
+ }
59737
59774
  }
59738
59775
  }
59739
59776
  }
@@ -60141,6 +60178,7 @@ async function lookupToAmisSelect(field, readonly, ctx){
60141
60178
  var fieldFilters = ${JSON.stringify(field.filters)};
60142
60179
  var currentAmis = amisRequire('amis');
60143
60180
  //递归fieldFilters数组,检查每一个元素,判断若是公式,就仅把它解析
60181
+ debugger;
60144
60182
  function traverseNestedArray(arr) {
60145
60183
  for (let i = 0; i < arr.length; i++) {
60146
60184
  if (Array.isArray(arr[i])) {
@@ -60150,7 +60188,11 @@ async function lookupToAmisSelect(field, readonly, ctx){
60150
60188
  // 如果当前元素不是数组,则处理该元素
60151
60189
  // 下面正则用于匹配amis公式\${}
60152
60190
  if(/\\\$\\\{([^}]*)\\\}/.test(arr[i])) {
60153
- arr[i] = currentAmis.evaluate(arr[i], api.data.$self);
60191
+ try{
60192
+ arr[i] = currentAmis.evaluate(arr[i], api.context);
60193
+ }catch(ex){
60194
+ console.error("运行lookup过滤公式时出现错误:",ex);
60195
+ }
60154
60196
  }
60155
60197
  }
60156
60198
  }
@@ -61145,6 +61187,21 @@ async function convertSFieldToAmisField(field, readonly, ctx) {
61145
61187
  type: getAmisStaticFieldType('url', readonly, field),
61146
61188
  static: readonly ? true : false
61147
61189
  };
61190
+ if(!readonly){
61191
+ // amis input-url控件不支持相对路径,这里支持下
61192
+ // 如果要使用amis原生input-url控件的默认的isUrl验证效果或自定义字段validations效果,配置字段的amis.validations属性即可,配置为null或空字符串则使用amis默认的isUrl效果
61193
+ let fieldAmisValidations = field.amis?.validations;
61194
+ if(typeof fieldAmisValidations === "undefined"){
61195
+ Object.assign(convertData, {
61196
+ "validations": {
61197
+ "matchRegexp": "^((http:\\/\\/|https:\\/\\/|ftp:\\/\\/|sftp:\\/\\/)+([^\\s\\/\\.]+(\\.[^\\s\\/\\.]+)+))*(\\/[^\\s\\.\\/]+)*$"
61198
+ },
61199
+ "validationErrors": {
61200
+ "matchRegexp": instance.t('frontend_form_validation_failed_url')//"URL 格式不正确"
61201
+ }
61202
+ });
61203
+ }
61204
+ }
61148
61205
  if(readonly && field.show_as_qr){
61149
61206
  convertData = {
61150
61207
  type: "control",