@steedos-widgets/amis-object 6.3.13-beta.3 → 6.3.13-beta.7

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.
@@ -1419,9 +1419,6 @@ fieldset.antd-Collapse > legend{
1419
1419
  .md\:grid-cols-3 {
1420
1420
  grid-template-columns: repeat(3, minmax(0, 1fr))
1421
1421
  }
1422
- .md\:overflow-auto {
1423
- overflow: auto
1424
- }
1425
1422
  .md\:border-b {
1426
1423
  border-bottom-width: 1px
1427
1424
  }
@@ -5735,6 +5735,7 @@ async function getTableColumns$1(object, fields, options){
5735
5735
  type: "lookup",
5736
5736
  reference_to: field.reference_to,
5737
5737
  name: field.name,
5738
+ is_name: field.is_name,
5738
5739
  label: null,
5739
5740
  multiple: field.multiple,
5740
5741
  amis: Object.assign({}, fieldAmis, { label: null })
@@ -6748,7 +6749,7 @@ function getReadonlyFormAdaptor(object, fields, options){
6748
6749
  nameLabel = `(record._display && record._display.${nameField.name}) || record.${nameField.name}`;
6749
6750
  }
6750
6751
  return `
6751
- if(payload.data.data.length === 0){
6752
+ if(!payload.data.data || payload.data.data.length === 0){
6752
6753
  var isEditor = !!${options && options.isEditor};
6753
6754
  if(isEditor){
6754
6755
  var fieldNames = ${JSON.stringify(fieldNames)};
@@ -13769,7 +13770,7 @@ async function getObjectRelatedListsMiniSchema(objectApiName){
13769
13770
  * @Author: baozhoutao@steedos.com
13770
13771
  * @Date: 2022-07-05 15:55:39
13771
13772
  * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
13772
- * @LastEditTime: 2024-04-26 16:46:44
13773
+ * @LastEditTime: 2025-05-20 16:56:55
13773
13774
  * @Description:
13774
13775
  */
13775
13776
 
@@ -14068,7 +14069,7 @@ async function getListSchema(
14068
14069
  }
14069
14070
 
14070
14071
  if (window.innerWidth > 768) {
14071
- // 列表视图组件PC端高度自动计算实现满屏效果,手机端不需要满屏效果,所以不用autofillheight,且允许重写微页面中重新组件autoFillHeight属性
14072
+ // 列表视图组件PC端高度自动计算实现满屏效果,手机端不需要满屏效果,所以不用autofillheight,且允许微页面中重写组件autoFillHeight属性
14072
14073
  defaults.listSchema = _$1.defaultsDeep({}, defaults.listSchema || {}, {
14073
14074
  autoFillHeight: true
14074
14075
  });
@@ -25032,11 +25033,12 @@ var SteedosObject = /** @class */ (function (_super) {
25032
25033
 
25033
25034
  // md:border-b
25034
25035
  var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0, function () {
25035
- var $schema, recordId, defaultData, mode, _a, layout, labelAlign, appId, fieldsExtend, _b, excludedFields, _c, fields, _d, form, _e, className, enableInitApi, initApiRequestAdaptor, initApiAdaptor, apiRequestAdaptor, apiAdaptor, enableTabs, tabsMode, submitSuccActions, data, formDataFilter, onFormDataFilter, env, objectApiName, schemaKeys, formSchema, defaults, options, globalData, amisSchema, uiSchema, allData, schema, schema, formData;
25036
+ var $schema, recordId, mode, _a, layout, labelAlign, appId, fieldsExtend, _b, excludedFields, _c, fields, _d, form, _e, className, enableInitApi, initApiRequestAdaptor, initApiAdaptor, apiRequestAdaptor, apiAdaptor, enableTabs, tabsMode, submitSuccActions, data, formDataFilter, onFormDataFilter, env, defaultData, objectApiName, schemaKeys, formSchema, defaults, options, globalData, amisSchema, uiSchema, allData, schema, schema, formData;
25036
25037
  return __generator(this, function (_f) {
25037
25038
  switch (_f.label) {
25038
25039
  case 0:
25039
- $schema = props.$schema, recordId = props.recordId, defaultData = props.defaultData, mode = props.mode, _a = props.layout, layout = _a === void 0 ? "horizontal" : _a, labelAlign = props.labelAlign, appId = props.appId, fieldsExtend = props.fieldsExtend, _b = props.excludedFields, excludedFields = _b === void 0 ? null : _b, _c = props.fields, fields = _c === void 0 ? null : _c, _d = props.form, form = _d === void 0 ? {} : _d, _e = props.className, className = _e === void 0 ? "" : _e, enableInitApi = props.enableInitApi, initApiRequestAdaptor = props.initApiRequestAdaptor, initApiAdaptor = props.initApiAdaptor, apiRequestAdaptor = props.apiRequestAdaptor, apiAdaptor = props.apiAdaptor, enableTabs = props.enableTabs, tabsMode = props.tabsMode, submitSuccActions = props.submitSuccActions, data = props.data, formDataFilter = props.formDataFilter, onFormDataFilter = props.onFormDataFilter, env = props.env;
25040
+ $schema = props.$schema, recordId = props.recordId, mode = props.mode, _a = props.layout, layout = _a === void 0 ? "horizontal" : _a, labelAlign = props.labelAlign, appId = props.appId, fieldsExtend = props.fieldsExtend, _b = props.excludedFields, excludedFields = _b === void 0 ? null : _b, _c = props.fields, fields = _c === void 0 ? null : _c, _d = props.form, form = _d === void 0 ? {} : _d, _e = props.className, className = _e === void 0 ? "" : _e, enableInitApi = props.enableInitApi, initApiRequestAdaptor = props.initApiRequestAdaptor, initApiAdaptor = props.initApiAdaptor, apiRequestAdaptor = props.apiRequestAdaptor, apiAdaptor = props.apiAdaptor, enableTabs = props.enableTabs, tabsMode = props.tabsMode, submitSuccActions = props.submitSuccActions, data = props.data, formDataFilter = props.formDataFilter, onFormDataFilter = props.onFormDataFilter, env = props.env;
25041
+ defaultData = props.defaultData;
25040
25042
  objectApiName = props.objectApiName || "space_users";
25041
25043
  schemaKeys = _$1.difference(_$1.keys($schema), ["id", "form", "type", "mode", "layout", "defaultData", "formDataFilter", "onFormDataFilter", "env"]);
25042
25044
  formSchema = _$1.pick(props, schemaKeys);
@@ -25064,6 +25066,13 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
25064
25066
  allData = createObject(data, {});
25065
25067
  if (!(mode === 'edit')) return [3 /*break*/, 2];
25066
25068
  if (defaultData) {
25069
+ try {
25070
+ defaultData = _$1.isString(defaultData) ? JSON.parse(defaultData) : defaultData;
25071
+ }
25072
+ catch (error) {
25073
+ console.warn(error);
25074
+ defaultData = {};
25075
+ }
25067
25076
  // 让ObjectForm支持props中的dafaultData属性与上层组件配置的defaultData混合
25068
25077
  // 为了解决相关表新建时如果是表单类型微页面,因为找不到ObjectForm在哪层而造成无法设置ObjectForm的defaultData的问题
25069
25078
  allData.defaultData = __assign$2({ "&": "${defaultData}" }, defaultData //这里的defaultData是form组件的defaultData属性值
@@ -25287,7 +25296,7 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
25287
25296
  {
25288
25297
  "type": "service",
25289
25298
  "id": "service_schema_api_" + objectApiName,
25290
- "className": " steedos-object-listview-content md:overflow-auto grow",
25299
+ "className": " steedos-object-listview-content grow",
25291
25300
  "schemaApi": {
25292
25301
  // 这里url上加objectApiName属性是因为设计器中切换对象时不会变更列表视图界面,不可以用objectName=${objectName}使用作用域中objectName变量是因为设计器那边不会监听识别data变化来render组件
25293
25302
  "url": "${context.rootUrl}/graphql?objectName=" + objectApiName + "&listName=${listName}&display=${display}&rebuildOn=" + rebuildOn,
@@ -27196,19 +27205,28 @@ function getAmisStaticFieldType(type, data_type, options) {
27196
27205
  }
27197
27206
  function getLookupLinkOnClick(field, options) {
27198
27207
  return __awaiter(this, void 0, void 0, function () {
27199
- var recordPage, drawerRecordDetailSchema;
27208
+ var recordPage, objectName, recordId, drawerRecordDetailSchema;
27200
27209
  return __generator(this, function (_a) {
27201
27210
  switch (_a.label) {
27202
27211
  case 0: return [4 /*yield*/, getPage({ type: 'record', appId: options.appId, objectName: options.objectName, formFactor: options.formFactor })];
27203
27212
  case 1:
27204
27213
  recordPage = _a.sent();
27214
+ objectName = "${objectName}";
27215
+ recordId = "${value}";
27216
+ if (options.tableObjectName && field.is_name) {
27217
+ // 如果Lookup字段上配置了is_name,且是在表格(即tableObjectName有值,包括列表视图和子表)中
27218
+ // 则点击弹出的详细页面是表格行记录指向的记录详细页面,此时打开的详细页面对象是表格所属对象,_id是表格行记录的_id值
27219
+ // tableObjectName 没有值时说明lookup字段可能是在记录详细页面表单等地方,此时打开的详细页面lookup字段值指向的记录
27220
+ objectName = options.tableObjectName;
27221
+ recordId = "${_id}";
27222
+ }
27205
27223
  drawerRecordDetailSchema = recordPage ? Object.assign({}, recordPage.schema, {
27206
- "recordId": "${value}",
27224
+ "recordId": recordId,
27207
27225
  "data": __assign$2(__assign$2({}, recordPage.schema.data), { "_inDrawer": true, "recordLoaded": false, "_tableObjectName": options.tableObjectName })
27208
27226
  }) : {
27209
27227
  "type": "steedos-record-detail",
27210
- "objectApiName": "${objectName}",
27211
- "recordId": "${value}",
27228
+ "objectApiName": objectName,
27229
+ "recordId": recordId,
27212
27230
  "showBackButton": false,
27213
27231
  "showButtons": true,
27214
27232
  "data": {