@steedos-widgets/amis-object 3.6.12 → 6.3.0-beta.4

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.
@@ -436,6 +436,11 @@ fieldset.antd-Collapse > legend{
436
436
  .antd-InputTable .antd-Table-table > thead > tr > th:not(:last-child) {
437
437
  border-right: none;
438
438
  }
439
+
440
+ /* amis升级到6.3.0后配置了menuTpl属性的input-tree组件,菜单项内的wrapper组件宽度计算出bug了,需要指定宽度为100% */
441
+ .antd-Tree .antd-Tree-list .antd-Tree-item .antd-Tree-itemLabel-item .antd-Tree-itemText >.antd-Wrapper{
442
+ width: 100%;
443
+ }
439
444
  .ant-dropdown{
440
445
  z-index: 1400;
441
446
  }
@@ -12077,10 +12077,6 @@ async function getObjectCRUD(objectSchema, fields, options){
12077
12077
  }
12078
12078
  }
12079
12079
  `;
12080
- let autoFillHeight = true;
12081
- if(options.isRelated || window.innerWidth < 768){
12082
- autoFillHeight = false;
12083
- }
12084
12080
 
12085
12081
  body = Object.assign({}, table, {
12086
12082
  type: 'crud',
@@ -12091,7 +12087,7 @@ async function getObjectCRUD(objectSchema, fields, options){
12091
12087
  keepItemSelectionOnPageChange: true,
12092
12088
  api: await getTableApi(objectSchema, fields, options),
12093
12089
  hiddenOn: options.tableHiddenOn,
12094
- autoFillHeight,
12090
+ // autoFillHeight,//autoFillHeight按amis规范默认为false,需要配置此属性时在各个组件层配置,比如列表视图组件那边传入此属性为true
12095
12091
  className: `flex-auto ${crudClassName || ""}`,
12096
12092
  // 这里不可以用动态className,因为它会把样式类加到.antd-Crud和.antd-Table.antd-Crud-body这两层div中,而子表列表中crudClassName中有hidden样式类会造成所有子表都不显示的bug
12097
12093
  // className: {
@@ -12357,7 +12353,7 @@ async function getObjectForm(objectSchema, ctx){
12357
12353
 
12358
12354
  async function getObjectDetail(objectSchema, recordId, ctx){
12359
12355
  const { formFactor, layout = formFactor === 'SMALL' ? 'normal' : "horizontal", labelAlign,
12360
- formDataFilter, onFormDataFilter, amisData, env } = ctx;
12356
+ formDataFilter, onFormDataFilter, amisData, env, enableInitApi } = ctx;
12361
12357
  const fields = _$1__default["default"].values(objectSchema.fields);
12362
12358
  const formFields = getFormFields$1(objectSchema, ctx);
12363
12359
  const serviceId = `service_detail_page`;
@@ -12424,6 +12420,16 @@ async function getObjectDetail(objectSchema, recordId, ctx){
12424
12420
  // }
12425
12421
  };
12426
12422
 
12423
+ if(enableInitApi){
12424
+ amisSchema.api = await getReadonlyFormInitApi(objectSchema, recordId, fields, ctx);
12425
+ // 开启初始化api请求时,如果不把recordLoaded默认设置为false,recordLoaded值会取RecordServic组件中的recordLoaded值
12426
+ // 这会造成表单内steedos field组件lookup字段中props.data取到的是RecordServic组件
12427
+ amisSchema.data = {
12428
+ ...amisSchema.data,
12429
+ recordLoaded: false
12430
+ };
12431
+ }
12432
+
12427
12433
  amisSchema.body[0].body = await getFormSchemaWithDataFilter(amisSchema.body[0].body, { formDataFilter, onFormDataFilter, amisData, env });
12428
12434
  // console.log('getObjectDetail=====>', amisSchema);
12429
12435
  return amisSchema;
@@ -12915,7 +12921,7 @@ async function getObjectRelatedListsMiniSchema(objectApiName){
12915
12921
  * @Author: baozhoutao@steedos.com
12916
12922
  * @Date: 2022-07-05 15:55:39
12917
12923
  * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
12918
- * @LastEditTime: 2024-02-23 16:37:06
12924
+ * @LastEditTime: 2024-04-25 19:01:52
12919
12925
  * @Description:
12920
12926
  */
12921
12927
 
@@ -13180,37 +13186,41 @@ async function getListSchema(
13180
13186
  * 本次存储代码段
13181
13187
  */
13182
13188
  try {
13183
- const listViewPropsStoreKey = location.pathname + "/crud";
13184
- let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);
13185
- /**
13186
- * localListViewProps规范来自crud请求api中api.data.$self参数值的。
13187
- * 比如:{"perPage":20,"page":1,"__searchable__name":"7","__searchable__between__n1__c":[null,null],"filter":[["name","contains","a"]]}
13188
- * __searchable__...:顶部放大镜搜索条件
13189
- * filter:右侧过滤器
13190
- * perPage:每页条数
13191
- * page:当前页码
13192
- * orderBy:排序字段
13193
- * orderDir:排序方向
13194
- */
13195
- if (localListViewProps) {
13196
- localListViewProps = JSON.parse(localListViewProps);
13197
- // localListViewProps.perPage = 3;
13198
- let listSchema = {};
13199
- if(localListViewProps.orderBy){
13200
- listSchema.orderBy = localListViewProps.orderBy;
13201
- }
13202
- if(localListViewProps.orderDir){
13203
- listSchema.orderDir = localListViewProps.orderDir;
13204
- }
13189
+ const listViewPropsStoreKey = location.pathname + "/crud";
13190
+ let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);
13191
+ /**
13192
+ * localListViewProps规范来自crud请求api中api.data.$self参数值的。
13193
+ * 比如:{"perPage":20,"page":1,"__searchable__name":"7","__searchable__between__n1__c":[null,null],"filter":[["name","contains","a"]]}
13194
+ * __searchable__...:顶部放大镜搜索条件
13195
+ * filter:右侧过滤器
13196
+ * perPage:每页条数
13197
+ * page:当前页码
13198
+ * orderBy:排序字段
13199
+ * orderDir:排序方向
13200
+ */
13201
+ if (localListViewProps) {
13202
+ localListViewProps = JSON.parse(localListViewProps);
13203
+ // localListViewProps.perPage = 3;
13204
+ let listSchema = {};
13205
+ if (localListViewProps.orderBy) {
13206
+ listSchema.orderBy = localListViewProps.orderBy;
13207
+ }
13208
+ if (localListViewProps.orderDir) {
13209
+ listSchema.orderDir = localListViewProps.orderDir;
13210
+ }
13205
13211
 
13206
- if(localListViewProps.perPage){
13207
- listSchema.perPage = localListViewProps.perPage;
13212
+ if (localListViewProps.perPage) {
13213
+ listSchema.perPage = localListViewProps.perPage;
13214
+ }
13215
+ if (window.innerWidth > 768) {
13216
+ // 列表视图组件PC端高度自动计算实现满屏效果,手机端不需要满屏效果,所以不用autofillheight
13217
+ listSchema.autoFillHeight = true;
13218
+ }
13219
+ defaults.listSchema = _$1.defaultsDeep({}, listSchema, defaults.listSchema || {});
13208
13220
  }
13209
- defaults.listSchema = _$1.defaultsDeep({}, listSchema, defaults.listSchema || {});
13210
- }
13211
13221
  }
13212
13222
  catch (ex) {
13213
- console.error("本地存储中crud参数解析异常:", ex);
13223
+ console.error("本地存储中crud参数解析异常:", ex);
13214
13224
  }
13215
13225
 
13216
13226
  ctx.defaults = defaults;
@@ -13517,6 +13527,10 @@ async function getRecordServiceSchema(objectName, appId, props = {}, body) {
13517
13527
  data: {
13518
13528
  "_master.objectName": "${objectName}",
13519
13529
  "_master.recordId": "${recordId}",
13530
+ // 微页面设计器中用RecordServic组件包裹一个ObjectForm只读组件时,如果这里不把recordLoaded默认设置为false
13531
+ // recordLoaded值会取父作用域中已经被设置为true的值(比如父级有RecordServic组件,在加载完数据后,父作用域中recordLoaded值为true)
13532
+ // 这会造成表单内steedos field组件lookup字段中props.data取到的是父作用域中的数据
13533
+ "recordLoaded": false,
13520
13534
  ...(props.data || {})
13521
13535
  },
13522
13536
  "style": {
@@ -21477,11 +21491,11 @@ var SteedosSkeleton = function (props) {
21477
21491
  };
21478
21492
 
21479
21493
  var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0, function () {
21480
- var $schema, recordId, defaultData, mode, _a, layout, labelAlign, appId, fieldsExtend, _b, excludedFields, _c, fields, _d, form, _e, className, initApiRequestAdaptor, initApiAdaptor, apiRequestAdaptor, apiAdaptor, enableTabs, tabsMode, submitSuccActions, data, formDataFilter, onFormDataFilter, env, objectApiName, schemaKeys, formSchema, defaults, options, globalData, amisSchema, uiSchema, allData, schema, schema, formData, fieldsArray, excludedFieldsArray, InitApiResendOn;
21494
+ 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;
21481
21495
  return __generator(this, function (_f) {
21482
21496
  switch (_f.label) {
21483
21497
  case 0:
21484
- $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, 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;
21498
+ $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;
21485
21499
  objectApiName = props.objectApiName || "space_users";
21486
21500
  schemaKeys = _$1.difference(_$1.keys($schema), ["id", "form", "type", "mode", "layout", "defaultData", "formDataFilter", "onFormDataFilter", "env"]);
21487
21501
  formSchema = _$1.pick(props, schemaKeys);
@@ -21537,6 +21551,7 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
21537
21551
  options.isEditor = true;
21538
21552
  }
21539
21553
  return [4 /*yield*/, getViewSchema(objectApiName, recordId, Object.assign({}, options, {
21554
+ enableInitApi: enableInitApi,
21540
21555
  initApiRequestAdaptor: initApiRequestAdaptor,
21541
21556
  initApiAdaptor: initApiAdaptor,
21542
21557
  enableTabs: enableTabs,
@@ -21566,16 +21581,6 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
21566
21581
  if (_$1.has(props, 'objectApiName')) {
21567
21582
  amisSchema.data.objectName = objectApiName;
21568
21583
  }
21569
- if (props.$$editor) {
21570
- fieldsArray = fields || [];
21571
- excludedFieldsArray = excludedFields || [];
21572
- InitApiResendOn = fieldsArray.concat(excludedFieldsArray).join('');
21573
- if (InitApiResendOn) {
21574
- amisSchema.data.InitApiResendOn = InitApiResendOn;
21575
- amisSchema.api.url += "&InitApiResendOn=${InitApiResendOn}";
21576
- // amisSchema.api.InitApiResendOn = "${InitApiResendOn}"; 这种写法有bug,当多选几个显示的字段/排除的字段时,表单一直loding。
21577
- }
21578
- }
21579
21584
  return [2 /*return*/, amisSchema];
21580
21585
  }
21581
21586
  });
@@ -21993,12 +21998,12 @@ var AmisRecordDetail = function (props) { return __awaiter(void 0, void 0, void
21993
21998
  /*
21994
21999
  * @Author: baozhoutao@steedos.com
21995
22000
  * @Date: 2022-12-08 10:32:17
21996
- * @LastEditors: baozhoutao@steedos.com
21997
- * @LastEditTime: 2024-02-18 16:05:56
22001
+ * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
22002
+ * @LastEditTime: 2024-04-25 19:21:15
21998
22003
  * @Description:
21999
22004
  */
22000
22005
  var AmisRecordService = function (props) { return __awaiter(void 0, void 0, void 0, function () {
22001
- var className, $schema, appId, _a, objectApiName, body, style, recordId, options, schema;
22006
+ var className, $schema, appId, _a, objectApiName, body, style, recordId, options, schema, formData;
22002
22007
  return __generator(this, function (_b) {
22003
22008
  switch (_b.label) {
22004
22009
  case 0:
@@ -22025,6 +22030,14 @@ var AmisRecordService = function (props) { return __awaiter(void 0, void 0, void
22025
22030
  }
22026
22031
  Object.assign(schema.style, style);
22027
22032
  }
22033
+ formData = {};
22034
+ if (_$1.has(props, "recordId") && $schema.recordId !== "${recordId}") {
22035
+ formData.recordId = props.recordId;
22036
+ }
22037
+ schema.data = Object.assign({}, schema.data || {}, formData);
22038
+ if (_$1.has(props, 'objectApiName')) {
22039
+ schema.data.objectName = objectApiName;
22040
+ }
22028
22041
  // console.log(`AmisRecordService====schema==>`, schema)
22029
22042
  return [2 /*return*/, schema];
22030
22043
  }