@steedos-widgets/amis-object 3.6.2-beta.7 → 3.6.2-beta.8

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.
@@ -3640,7 +3640,7 @@ function getComparableAmisVersion() {
3640
3640
  * @Author: baozhoutao@steedos.com
3641
3641
  * @Date: 2022-05-23 09:53:08
3642
3642
  * @LastEditors: liaodaxue
3643
- * @LastEditTime: 2023-10-11 17:32:17
3643
+ * @LastEditTime: 2024-01-17 16:00:27
3644
3644
  * @Description:
3645
3645
  */
3646
3646
 
@@ -3712,7 +3712,7 @@ function getSelectMap(selectOptions){
3712
3712
 
3713
3713
  function getNameTplUrl(field, ctx){
3714
3714
  if(ctx.objectName === 'cms_files'){
3715
- return `\${context.rootUrl}/api/files/files/\${versions[0]}?download=true`
3715
+ return "${(versions[0] && versions[0].url) ? versions[0].url+'?download=true' : context.rootUrl+'/api/files/files/'+versions[0]+'?download=true'}"
3716
3716
  }
3717
3717
  const href = Router$1.getObjectDetailPath({
3718
3718
  ...ctx, formFactor: ctx.formFactor, appId: "${appId}", objectName: ctx.objectName || "${objectName}", recordId: `\${${ctx.idFieldName}}`
@@ -5440,7 +5440,7 @@ function getMobileLines(tpls){
5440
5440
  }
5441
5441
  if(isLeft){
5442
5442
  // 左侧半行
5443
- lineChildrenClassName = "steedos-listview-item-left truncate";
5443
+ lineChildrenClassName = "steedos-listview-item-left truncate h-5";
5444
5444
  if(item.field.is_wide){
5445
5445
  // 左侧全行样式可以单独写,如果需要配置两行省略号效果,可以加样式类 two-lines-truncate
5446
5446
  lineChildrenClassName = "steedos-listview-item-wide";
@@ -5452,7 +5452,7 @@ function getMobileLines(tpls){
5452
5452
  }
5453
5453
  else {
5454
5454
  // 右侧半行,这里加样式类 flex flex-shrink-0,是为了省略号只显示在左半行,右半行文字一般比较短,如果也加省略号效果的话,左侧文字多的话,右侧没几个字就显示省略号了
5455
- lineChildrenClassName = "steedos-listview-item-right truncate ml-2 flex flex-shrink-0";
5455
+ lineChildrenClassName = "steedos-listview-item-right truncate ml-2 flex flex-shrink-0 h-5";
5456
5456
  }
5457
5457
  //支持字段amis属性配置classname,识别classname的类型,与原样式合并
5458
5458
  var className;
@@ -5563,7 +5563,15 @@ async function getMobileTableColumns(fields, options){
5563
5563
  "actions": [
5564
5564
  {
5565
5565
  "script": `
5566
- let cms_url = "/api/files/files/"+event.data.versions[0]+"?download=true"
5566
+ let cms_url = '';
5567
+ let value = event.data.versions[0];
5568
+ if(value){
5569
+ if(value.url){
5570
+ cms_url = value.url;
5571
+ }else{
5572
+ cms_url = "/api/files/files/"+value+"?download=true"
5573
+ }
5574
+ }
5567
5575
  Steedos.cordovaDownload(encodeURI(Steedos.absoluteUrl(cms_url)), event.data.name);
5568
5576
  `,
5569
5577
  "actionType": "custom"
@@ -6195,12 +6203,15 @@ async function getTableApi(mainObject, fields, options){
6195
6203
  }
6196
6204
  // SteedosUI.getRef(api.body.$self.$scopeId)?.parent?.getComponentById(setDataToComponentId)?.setData({$count: payload.data.count})
6197
6205
  };
6198
- const listviewComponent = $(".steedos-object-listview .antd-Table-table");
6199
- const firstListviewComponent = listviewComponent && listviewComponent[0];
6200
- if(firstListviewComponent){
6201
- setTimeout(()=>{
6202
- firstListviewComponent.scrollIntoView();
6203
- }, 600);
6206
+ let formFactor = "${options.formFactor}";
6207
+ if(formFactor !== "SMALL"){
6208
+ const listviewComponent = $(".steedos-object-listview .antd-Table-table");
6209
+ const firstListviewComponent = listviewComponent && listviewComponent[0];
6210
+ if(firstListviewComponent){
6211
+ setTimeout(()=>{
6212
+ firstListviewComponent.scrollIntoView();
6213
+ }, 600);
6214
+ }
6204
6215
  }
6205
6216
  ${options.adaptor || ''}
6206
6217
  return payload;
@@ -6545,17 +6556,16 @@ async function getEditFormInitApi(object, recordId, fields, options){
6545
6556
  }
6546
6557
  // data下的变量需要在保存接口(getSaveApi)中被删除。
6547
6558
  payload.data = {
6548
- ...initialValues,
6549
- editFormInited: true
6559
+ ...initialValues
6550
6560
  }
6551
6561
  ${options.initApiAdaptor || ''}
6552
6562
  // console.log('getEditFormInitApi======>', payload);
6553
6563
  return payload;
6554
6564
  `,
6555
- // responseData: {
6556
- // initialValues: "$$",
6557
- // editFormInited: true
6558
- // },
6565
+ responseData: {
6566
+ "&": "$$",
6567
+ editFormInited: true
6568
+ },
6559
6569
  data: data,
6560
6570
  headers: {
6561
6571
  Authorization: "Bearer ${context.tenantId},${context.authToken}"
@@ -7398,7 +7408,7 @@ async function getListBody(fields, options){
7398
7408
 
7399
7409
  function getDefaultParams(options){
7400
7410
  return {
7401
- perPage: options.top || options.perPage || 10
7411
+ perPage: options.top || options.perPage || 20
7402
7412
  }
7403
7413
  }
7404
7414
 
@@ -7601,7 +7611,6 @@ const getSchema$5 = async (uiSchema, ctx) => {
7601
7611
  "objectApiName": "\${objectName}",
7602
7612
  "recordId": "",
7603
7613
  "mode": "edit",
7604
- "layout": "normal"
7605
7614
  };
7606
7615
 
7607
7616
  if (payload && payload.schema) {
@@ -9873,7 +9882,7 @@ async function getObjectRecordDetailHeader(objectSchema, recordId, options) {
9873
9882
  let body = [
9874
9883
  {
9875
9884
  "type": "wrapper",
9876
- "className": "p-4 bg-gray-100 border-b sm:sticky top-0 z-10",
9885
+ "className": "p-4 bg-gray-100 border-b",
9877
9886
  "body": [
9878
9887
  {
9879
9888
  "type": "grid",
@@ -9919,12 +9928,16 @@ async function getObjectRecordDetailHeader(objectSchema, recordId, options) {
9919
9928
  });
9920
9929
 
9921
9930
  body.push({
9922
- "type": "form",
9923
- "className": "p-4 bg-white compact-layouts",
9924
- "wrapWithPanel": false,
9925
- "actions": [],
9926
- "body": details,
9927
- "hiddenOn": "${recordLoaded != true}"
9931
+ "type": "wrapper",
9932
+ "body": {
9933
+ "type": "form",
9934
+ "className": "gap-2 grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-5 2xl:grid-cols-5 3xl:grid-cols-8 4xl:grid-cols-8 5xl:grid-cols-10", //max-h-12 overflow-hidden
9935
+ "wrapWithPanel": false,
9936
+ "actions": [],
9937
+ "body": details,
9938
+ "hiddenOn": "${recordLoaded != true}"
9939
+ },
9940
+ "className": "steedos-record-compact-layouts p-4 bg-white compact-layouts border-b"
9928
9941
  });
9929
9942
  }
9930
9943
 
@@ -10003,7 +10016,7 @@ async function getObjectRecordDetailRelatedListHeader(relatedObjectSchema, relat
10003
10016
  "className": "flex justify-between"
10004
10017
  }
10005
10018
  ],
10006
- "className": "pt-0 pb-2 px-0"
10019
+ "className": "steedos-record-related-header py-2 px-0"
10007
10020
  };
10008
10021
  return recordRelatedListHeader;
10009
10022
  }
@@ -11719,7 +11732,7 @@ async function getObjectCRUD(objectSchema, fields, options){
11719
11732
  // "is-steedos-crud-data-empty": "${!items || COUNT(items) == 0}"
11720
11733
  // },
11721
11734
  bodyClassName: {
11722
- "bg-white": "true",
11735
+ "mb-0": true,
11723
11736
  "is-steedos-crud-data-empty": "${!items || COUNT(items) == 0}"
11724
11737
  },
11725
11738
  crudClassName: crudClassName,
@@ -11875,7 +11888,7 @@ async function getFormSchemaWithDataFilter(form, options = {}){
11875
11888
  }
11876
11889
 
11877
11890
  async function getObjectForm(objectSchema, ctx){
11878
- const { recordId, formFactor, layout = formFactor === 'SMALL' ? 'normal' : "normal", labelAlign, tabId, appId, defaults, submitSuccActions = [],
11891
+ const { recordId, formFactor, layout = formFactor === 'SMALL' ? 'normal' : "horizontal", labelAlign, tabId, appId, defaults, submitSuccActions = [],
11879
11892
  formDataFilter, onFormDataFilter, amisData, env } = ctx;
11880
11893
  const fields = _$1__default["default"].values(objectSchema.fields);
11881
11894
  const formFields = getFormFields$1(objectSchema, ctx);
@@ -11969,7 +11982,7 @@ async function getObjectForm(objectSchema, ctx){
11969
11982
  }
11970
11983
 
11971
11984
  async function getObjectDetail(objectSchema, recordId, ctx){
11972
- const { formFactor, layout = formFactor === 'SMALL' ? 'normal' : "normal", labelAlign,
11985
+ const { formFactor, layout = formFactor === 'SMALL' ? 'normal' : "horizontal", labelAlign,
11973
11986
  formDataFilter, onFormDataFilter, amisData, env } = ctx;
11974
11987
  const fields = _$1__default["default"].values(objectSchema.fields);
11975
11988
  const formFields = getFormFields$1(objectSchema, ctx);
@@ -12294,7 +12307,7 @@ async function getRecordDetailRelatedListSchema(objectName, recordId, relatedObj
12294
12307
  setDataToComponentId: componentId,
12295
12308
  // tableHiddenOn: hiddenEmptyTable ? "this.$count === 0" : null,
12296
12309
  appId: appId,
12297
- crudClassName: 'border-t border-gray-300 hidden',
12310
+ crudClassName: 'steedos-record-related-crud hidden',
12298
12311
  refField,
12299
12312
  ...ctx
12300
12313
  };
@@ -12307,7 +12320,7 @@ async function getRecordDetailRelatedListSchema(objectName, recordId, relatedObj
12307
12320
  amisSchema: {
12308
12321
  type: "service",
12309
12322
  id: componentId,
12310
- className: `steedos-record-related-list pt-4 pb-2 border-b first:pt-0 last:border-0 ${componentId} ${className}`,
12323
+ className: `steedos-record-related-list py-2 first:pt-0 border-b last:border-b-0 ${componentId} ${className}`,
12311
12324
  data: {
12312
12325
  relatedKey: relatedKey,
12313
12326
  listViewId: `amis-\${appId}-${relatedObjectName}-listview`,
@@ -13053,7 +13066,8 @@ async function getRecordDetailSchema(objectName, appId, props = {}){
13053
13066
  };
13054
13067
  const content = {
13055
13068
  "type": "tabs",
13056
- "className": "steedos-record-tabs p-4 m-0",
13069
+ "className": "steedos-record-tabs bg-white p-4 m-0 mt-2 border-y",
13070
+ "contentClassName": "bg-none",
13057
13071
  "tabs": [
13058
13072
  detailed
13059
13073
  ],
@@ -13061,7 +13075,7 @@ async function getRecordDetailSchema(objectName, appId, props = {}){
13061
13075
  if(relatedLists.length){
13062
13076
  content.tabs.push(related);
13063
13077
  }
13064
- content.tabs = _$1.reverse(content.tabs);
13078
+ // content.tabs = reverse(content.tabs)
13065
13079
  return {
13066
13080
  uiSchema,
13067
13081
  amisSchema: {
@@ -14341,8 +14355,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
14341
14355
  labelField: referenceTo.labelField.name,
14342
14356
  valueField: referenceTo.valueField.name,
14343
14357
  // disabledOn: this._master目的是相关表新建时禁止编辑关联字段; this.relatedKey目的是相关表编辑时禁止编辑关联字段,多选字段可以编辑。
14344
- disabledOn: `${readonly}`,
14345
- hiddenOn: `( (this._master && (this._master.relatedKey ==='${field.name}')) || ((this.relatedKey ==='${field.name}') && (${field.multiple} != true)) )`,
14358
+ disabledOn: `${readonly} || ( (this._master && (this._master.relatedKey ==='${field.name}')) || ((this.relatedKey ==='${field.name}') && (${field.multiple} != true)) )`,
14346
14359
  modalMode: 'dialog', //TODO 设置 dialog 或者 drawer,用来配置弹出方式
14347
14360
  source: source,
14348
14361
  size: "lg",
@@ -14585,16 +14598,18 @@ async function lookupToAmis(field, readonly, ctx){
14585
14598
  }
14586
14599
  // console.log(`lookupToAmis====`, field, readonly, ctx)
14587
14600
  if(readonly){
14588
- return {
14589
- type: 'steedos-field',
14590
- config: field,
14591
- static: true
14601
+ if(field.reference_to){
14602
+ return {
14603
+ type: 'steedos-field',
14604
+ config: field,
14605
+ static: true
14606
+ }
14607
+ }else {
14608
+ return {
14609
+ type: getAmisStaticFieldType$1('picker', readonly),
14610
+ tpl: getRelatedFieldTpl(field, ctx)
14611
+ }
14592
14612
  }
14593
-
14594
- // return {
14595
- // type: Field.getAmisStaticFieldType('picker', readonly),
14596
- // tpl: Tpl.getRelatedFieldTpl(field, ctx)
14597
- // }
14598
14613
  }
14599
14614
  if(field.reference_to && !_$1__namespace.isString(field.reference_to) && !readonly){
14600
14615
  return {
@@ -15641,7 +15656,7 @@ async function convertSFieldToAmisField(field, readonly, ctx) {
15641
15656
  if(field.is_wide || convertData.type === 'group'){
15642
15657
  convertData.className = 'col-span-2 m-0';
15643
15658
  }else {
15644
- convertData.className = 'm-1';
15659
+ convertData.className = 'm-0';
15645
15660
  }
15646
15661
  if(readonly){
15647
15662
  convertData.className = `${convertData.className} border-b`;
@@ -15666,6 +15681,10 @@ async function convertSFieldToAmisField(field, readonly, ctx) {
15666
15681
  }
15667
15682
  }
15668
15683
 
15684
+ if(ctx.amisData && ctx.amisData._master && ctx.amisData._master.relatedKey === field.name){
15685
+ convertData.className = `${convertData.className || ''} hidden`;
15686
+ }
15687
+
15669
15688
  if(_$1__namespace.isString(baseData.required)){
15670
15689
  if(baseData.required.startsWith("{{")){
15671
15690
  baseData.requiredOn = `${baseData.required.substring(2, baseData.required.length -2).replace(/formData./g, 'data.')}`;
@@ -16047,8 +16066,40 @@ async function getFormBody(permissionFields, formFields, ctx){
16047
16066
  * @Author: 殷亮辉 yinlianghui@hotoa.com
16048
16067
  * @Date: 2023-11-15 09:50:22
16049
16068
  * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
16050
- * @LastEditTime: 2024-01-16 14:58:51
16069
+ * @LastEditTime: 2024-01-17 17:15:57
16070
+ */
16071
+
16072
+ /**
16073
+ * 子表组件字段值中每行数据的键值key移除指定前缀
16074
+ * @param {*} value 子表组件字段值,数组
16075
+ * @param {*} fieldPrefix 字段前缀
16076
+ * @returns 转换后的子表组件字段值
16077
+ */
16078
+ function getTableValueWithoutFieldPrefix(value, fieldPrefix){
16079
+ let convertedValue = [];
16080
+ (value || []).forEach((itemValue)=>{
16081
+ var newItemValue = {};
16082
+ for(let n in itemValue){
16083
+ newItemValue[n.replace(new RegExp(`^${fieldPrefix}`), "")] = itemValue[n];
16084
+ }
16085
+ convertedValue.push(newItemValue);
16086
+ });
16087
+ return convertedValue;
16088
+ }
16089
+
16090
+ /**
16091
+ * 子表组件字段集合属性中每个字段name移除指定前缀
16092
+ * @param {*} fields 子表组件字段集合,数组
16093
+ * @param {*} fieldPrefix 字段前缀
16094
+ * @returns 转换后的子表组件字段值
16051
16095
  */
16096
+ function getTableFieldsWithoutFieldPrefix(fields, fieldPrefix){
16097
+ return (fields || []).map((item) => {
16098
+ const newItem = _$1.clone(item);//这里不clone的话,会造成子表组件重新render,从而审批王那边点开子表行编辑窗口时报错
16099
+ newItem.name = newItem.name.replace(new RegExp(`^${fieldPrefix}`), "");
16100
+ return newItem;
16101
+ });
16102
+ }
16052
16103
 
16053
16104
  /**
16054
16105
  * @param {*} props
@@ -16326,7 +16377,7 @@ function getFormPaginationWrapper(props, form, mode) {
16326
16377
  {
16327
16378
  "type": "wrapper",
16328
16379
  "size": "none",
16329
- "className": "flex justify-end sticky top-0 right-0 left-0 z-20 bg-white -mt-2",
16380
+ "className": "flex justify-end sticky top-0 right-0 left-0 z-20 bg-white",
16330
16381
  "body": [
16331
16382
  getFormPagination(props, mode)
16332
16383
  ]
@@ -16342,16 +16393,8 @@ function getFormPaginationWrapper(props, form, mode) {
16342
16393
  }
16343
16394
  ];
16344
16395
  let onServiceInitedScript = `
16345
- var parent = event.data.parent;
16346
- var fieldValue = event.data.__tableItems;
16347
- if(parent){
16348
- // 如果是子行,即在节点嵌套情况下,当前节点如果是children属性下的子节点时,则算出其所属父行的索引值
16349
- var primaryKey = "${props.primaryKey}";
16350
- event.data.__parentIndex = _.findIndex(fieldValue, function(item){
16351
- return item[primaryKey] == parent[primaryKey];
16352
- });
16353
- }
16354
- // 以下脚本是为了解决有时弹出编辑表单时,表单中的值比最后一次编辑保存的值会延迟一拍。
16396
+
16397
+ // 以下脚本解决了有时弹出编辑表单时,表单中的值比最后一次编辑保存的值会延迟一拍。
16355
16398
  // 比如:inlineEditMode模式时,用户在表格单元格中直接修改数据,然后弹出的表单form中并没有包含单元格中修改的内容
16356
16399
  // 另外有的地方在非inlineEditMode模式时也会有这种延迟一拍问题,比如对象字段中下拉框类型字段的”选择项“属性
16357
16400
  // 再比如工作流规则详细页面修改了子表字段”时间触发器“值后,在只读界面点击查看按钮弹出的表单中__tableItems值是修改前的值
@@ -16364,6 +16407,11 @@ function getFormPaginationWrapper(props, form, mode) {
16364
16407
  // 这里不可以用event.data["${props.name}"]因为amis input talbe有一层单独的作用域,其值会延迟一拍
16365
16408
  // 这里如果不.clone的话,在弹出窗口中显示的子表组件,添加行后点窗口的取消按钮关闭窗口后无法把之前的操作还原,即把之前添加的行自动移除
16366
16409
  let lastestFieldValue = _.clone(wrapperServiceData["${props.name}"] || []);
16410
+ let fieldPrefix = "${props.fieldPrefix}";
16411
+ if(fieldPrefix){
16412
+ let getTableValueWithoutFieldPrefix = new Function('v', 'f', "return (" + ${getTableValueWithoutFieldPrefix.toString()} + ")(v, f)");
16413
+ lastestFieldValue = getTableValueWithoutFieldPrefix(lastestFieldValue, fieldPrefix);
16414
+ }
16367
16415
  //不可以直接像event.data.__tableItems = lastestFieldValue; 这样整个赋值,否则作用域会断
16368
16416
  let mode = "${mode}";
16369
16417
  if(mode === "new"){
@@ -16386,6 +16434,16 @@ function getFormPaginationWrapper(props, form, mode) {
16386
16434
  event.data.__tableItems.forEach(function(n,i){
16387
16435
  event.data.__tableItems[i] = lastestFieldValue[i];
16388
16436
  });
16437
+
16438
+ var parent = event.data.parent;
16439
+ var fieldValue = event.data.__tableItems;
16440
+ if(parent){
16441
+ // 如果是子行,即在节点嵌套情况下,当前节点如果是children属性下的子节点时,则算出其所属父行的索引值
16442
+ var primaryKey = "${props.primaryKey}";
16443
+ event.data.__parentIndex = _.findIndex(fieldValue, function(item){
16444
+ return item[primaryKey] == parent[primaryKey];
16445
+ });
16446
+ }
16389
16447
  `;
16390
16448
  let schema = {
16391
16449
  "type": "service",
@@ -16988,6 +17046,11 @@ const getAmisInputTableSchema = async (props) => {
16988
17046
  if(showOperation !== false){
16989
17047
  showOperation = true;
16990
17048
  }
17049
+ // props.fieldPrefix = "project_milestone_";
17050
+ if (props.fieldPrefix) {
17051
+ props.fields = getTableFieldsWithoutFieldPrefix(props.fields, props.fieldPrefix);
17052
+ }
17053
+ console.log("=getAmisInputTableSchema==props.fields, props.fieldPrefix===", props.fields, props.fieldPrefix);
16991
17054
  let serviceId = getComponentId("table_service", props.id);
16992
17055
  let buttonsForColumnOperations = [];
16993
17056
  let inlineEditMode = props.inlineEditMode;
@@ -17048,6 +17111,11 @@ const getAmisInputTableSchema = async (props) => {
17048
17111
  });
17049
17112
  }
17050
17113
  };
17114
+ if(props.fieldPrefix){
17115
+ inputTableSchema.pipeIn = (value, data) => {
17116
+ return getTableValueWithoutFieldPrefix(value, props.fieldPrefix);
17117
+ };
17118
+ }
17051
17119
  if (buttonsForColumnOperations.length) {
17052
17120
  inputTableSchema.columns.push({
17053
17121
  "name": "__op__",
@@ -20059,7 +20127,7 @@ var AmisObjectButton = function (props) {
20059
20127
  if (schema && className) {
20060
20128
  schema.className = schema.className + ' steedos-object-button ' + className;
20061
20129
  }
20062
- var renderData = Object.assign({}, { objectName: objectName, app_id: appId, className: className });
20130
+ var renderData = Object.assign(data, { objectName: objectName, app_id: appId, className: className });
20063
20131
  if (data._id) {
20064
20132
  renderData.recordId = data._id;
20065
20133
  }
@@ -20278,11 +20346,11 @@ var SteedosSkeleton = function (props) {
20278
20346
  };
20279
20347
 
20280
20348
  var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0, function () {
20281
- var $schema, recordId, defaultData, mode, layout, labelAlign, appId, fieldsExtend, _a, excludedFields, _b, fields, _c, form, _d, 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;
20282
- return __generator(this, function (_e) {
20283
- switch (_e.label) {
20349
+ 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;
20350
+ return __generator(this, function (_f) {
20351
+ switch (_f.label) {
20284
20352
  case 0:
20285
- $schema = props.$schema, recordId = props.recordId, defaultData = props.defaultData, mode = props.mode, layout = props.layout, labelAlign = props.labelAlign, appId = props.appId, fieldsExtend = props.fieldsExtend, _a = props.excludedFields, excludedFields = _a === void 0 ? null : _a, _b = props.fields, fields = _b === void 0 ? null : _b, _c = props.form, form = _c === void 0 ? {} : _c, _d = props.className, className = _d === void 0 ? "" : _d, 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;
20353
+ $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;
20286
20354
  objectApiName = props.objectApiName || "space_users";
20287
20355
  schemaKeys = _$1.difference(_$1.keys($schema), ["id", "form", "type", "mode", "layout", "defaultData", "formDataFilter", "onFormDataFilter", "env"]);
20288
20356
  formSchema = _$1.pick(props, schemaKeys);
@@ -20329,7 +20397,7 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
20329
20397
  env: env
20330
20398
  }))];
20331
20399
  case 1:
20332
- schema = _e.sent();
20400
+ schema = _f.sent();
20333
20401
  amisSchema = schema.amisSchema;
20334
20402
  uiSchema = schema.uiSchema;
20335
20403
  return [3 /*break*/, 4];
@@ -20348,10 +20416,10 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
20348
20416
  env: env
20349
20417
  }))];
20350
20418
  case 3:
20351
- schema = _e.sent();
20419
+ schema = _f.sent();
20352
20420
  amisSchema = schema.amisSchema;
20353
20421
  uiSchema = schema.uiSchema;
20354
- _e.label = 4;
20422
+ _f.label = 4;
20355
20423
  case 4:
20356
20424
  formData = {};
20357
20425
  // formData.recordId = recordId || null;
@@ -20714,7 +20782,7 @@ var AmisRecordDetailHeader = function (props) { return __awaiter(void 0, void 0,
20714
20782
  return __generator(this, function (_d) {
20715
20783
  switch (_d.label) {
20716
20784
  case 0:
20717
- _a = props.className, className = _a === void 0 ? 'z-10 p-0 bg-gray-100' : _a, schemaFilter = props.schemaFilter, showButtons = props.showButtons, showBackButton = props.showBackButton;
20785
+ _a = props.className, className = _a === void 0 ? 'sm:sticky top-0 z-10 p-0 bg-gray-100' : _a, schemaFilter = props.schemaFilter, showButtons = props.showButtons, showBackButton = props.showBackButton;
20718
20786
  return [4 /*yield*/, getUISchema(props.objectApiName || "space_users", false)];
20719
20787
  case 1:
20720
20788
  _d.sent();
@@ -21831,14 +21899,14 @@ var AmisGlobalHeaderToolbar = function (props) { return __awaiter(void 0, void 0
21831
21899
  /*
21832
21900
  * @Author: baozhoutao@steedos.com
21833
21901
  * @Date: 2022-09-01 14:44:57
21834
- * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
21835
- * @LastEditTime: 2024-01-04 09:24:11
21902
+ * @LastEditors: baozhoutao@steedos.com
21903
+ * @LastEditTime: 2024-01-16 13:45:42
21836
21904
  * @Description:
21837
21905
  */
21838
21906
  var AmisGlobalHeader = function (props) { return __awaiter(void 0, void 0, void 0, function () {
21839
- var logoSrc, isMobile, schema;
21907
+ var logoSrc, customButtons, isMobile, schema;
21840
21908
  return __generator(this, function (_a) {
21841
- logoSrc = props.logoSrc;
21909
+ logoSrc = props.logoSrc, customButtons = props.customButtons;
21842
21910
  isMobile = window.innerWidth <= 768;
21843
21911
  schema = {
21844
21912
  "type": "wrapper",
@@ -21929,39 +21997,7 @@ var AmisGlobalHeader = function (props) { return __awaiter(void 0, void 0, void
21929
21997
  "label": "Global Header",
21930
21998
  className: 'flex flex-nowrap gap-x-3 items-center',
21931
21999
  logoutScript: "window.signOut();",
21932
- customButtons: [
21933
- {
21934
- "type": "button",
21935
- "className": "toggle-sidebar",
21936
- "visibleOn": "${AND(app.showSidebar,!" + isMobile + ")}",
21937
- "onEvent": {
21938
- "click": {
21939
- "actions": [
21940
- {
21941
- "actionType": "custom",
21942
- "script": "document.body.classList.toggle('sidebar-open')",
21943
- }
21944
- ]
21945
- }
21946
- },
21947
- "body": [
21948
- {
21949
- "type": "steedos-icon",
21950
- "category": "utility",
21951
- "name": "rows",
21952
- "colorVariant": "default",
21953
- "id": "u:afc3a08e8cf3",
21954
- "className": "slds-button_icon slds-global-header__icon"
21955
- }
21956
- ],
21957
- },
21958
- {
21959
- "type": "steedos-app-launcher",
21960
- "showAppName": false,
21961
- "appId": "${app.id}",
21962
- "visibleOn": "${isMobile}"
21963
- }
21964
- ]
22000
+ customButtons: customButtons
21965
22001
  }
21966
22002
  ],
21967
22003
  },
@@ -22172,6 +22208,7 @@ var AmisSteedosField = function (props) { return __awaiter(void 0, void 0, void
22172
22208
  return [3 /*break*/, 6];
22173
22209
  case 2:
22174
22210
  referenceTo_1 = steedosField.reference_to;
22211
+ if (!referenceTo_1) return [3 /*break*/, 6];
22175
22212
  steedosField.reference_to_field;
22176
22213
  if (referenceTo_1 === 'users') {
22177
22214
  referenceTo_1 = 'space_users';
@@ -22200,6 +22237,8 @@ var AmisSteedosField = function (props) { return __awaiter(void 0, void 0, void
22200
22237
  source: "${_display.".concat(steedosField.name, "|asArray}"),
22201
22238
  items: {
22202
22239
  type: 'static',
22240
+ labelClassName: "hidden",
22241
+ label: false,
22203
22242
  className: 'm-0',
22204
22243
  tpl: "<a href=\"/app/-/${objectName}/view/${value}\" target=\"_blank\">${label}</a>",
22205
22244
  popOver: fieldRefObject.compactLayouts ? {
@@ -22793,7 +22832,7 @@ var AmisInputTable = function (props) { return __awaiter(void 0, void 0, void 0,
22793
22832
  return __generator(this, function (_a) {
22794
22833
  switch (_a.label) {
22795
22834
  case 0:
22796
- props.$schema, props.fields, props.name, props.id, props.data, props.columns, props.amis, props.className, props.tableClassName, props.headerToolbar, props.footerToolbar, props.inlineEditMode, props.strictMode, props.dialog, props.primaryKey, props.showOperation;
22835
+ props.$schema, props.fields, props.name, props.id, props.data, props.columns, props.amis, props.className, props.tableClassName, props.headerToolbar, props.footerToolbar, props.inlineEditMode, props.strictMode, props.dialog, props.primaryKey, props.showOperation, props.fieldPrefix;
22797
22836
  return [4 /*yield*/, getAmisInputTableSchema(props)];
22798
22837
  case 1:
22799
22838
  amisSchema = _a.sent();
@@ -22916,7 +22955,7 @@ var PageRecordDetail = function (props) { return __awaiter(void 0, void 0, void
22916
22955
  recordPage = _a.sent();
22917
22956
  recordSchema = recordPage ? recordPage.schema : {
22918
22957
  "type": "wrapper",
22919
- "className": "steedos-record-content bg-white overflow-y-auto p-0 m-0 flex-1 h-full",
22958
+ "className": "steedos-record-content overflow-y-auto p-0 m-0 flex-1 h-full",
22920
22959
  "name": "amis-".concat(appId, "-").concat(objectApiName, "-detail"),
22921
22960
  "body": [
22922
22961
  {