@steedos-widgets/amis-object 1.2.25 → 1.2.26

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.
@@ -637,6 +637,9 @@ body {
637
637
  .overflow-y-auto {
638
638
  overflow-y: auto
639
639
  }
640
+ .overflow-x-hidden {
641
+ overflow-x: hidden
642
+ }
640
643
  .truncate {
641
644
  overflow: hidden;
642
645
  text-overflow: ellipsis;
@@ -1210,6 +1213,10 @@ body {
1210
1213
  height: 50px;
1211
1214
  }
1212
1215
 
1216
+ .select_left .antd-Select-popover {
1217
+ width: auto !important;
1218
+ }
1219
+
1213
1220
  @media (min-width: 767px) {
1214
1221
  .steedos-amis-form .antd-Collapse .antd-Form--normal,
1215
1222
  .steedos-amis-form .antd-Form--normal .antd-Tabs .antd-Tabs-content .antd-Tabs-pane .form-content {
@@ -1342,13 +1349,25 @@ body {
1342
1349
  .h-fill {
1343
1350
  height: -webkit-fill-available !important;
1344
1351
  }
1352
+ .steedos-global-header-root .sidebar-wrapper .antd-Nav .antd-Nav-Menu-item-label {
1353
+ white-space: normal;
1354
+ line-height: 1.5;
1355
+ padding-top: 6px;
1356
+ padding-bottom: 6px;
1357
+ }
1358
+ .steedos-global-header-root .sidebar-wrapper .antd-Nav .antd-Nav-Menu-item-link {
1359
+ min-height: var(--Nav-Item-height);
1360
+ height: unset;
1361
+ }
1345
1362
 
1346
1363
  .steedos-global-footer {
1347
1364
  border-top: 1px solid rgb(203 213 225);
1348
1365
  }
1349
- .steedos-global-footer .antd-Nav-Menu-item,
1350
- .steedos-global-footer .antd-Nav-Menu-submenu-title {
1351
- padding-bottom: 5px !important;
1366
+ .steedos-global-footer.antd-Nav-Menu-horizontal > .antd-Nav-Menu-item-tooltip-wrap > .antd-Nav-Menu-item,
1367
+ .steedos-global-footer.antd-Nav-Menu-horizontal > .antd-Nav-Menu-overflow-item > .antd-Nav-Menu-submenu-title {
1368
+ padding-bottom: 5px;
1369
+ padding-left: 0;
1370
+ padding-right: 0;
1352
1371
  }
1353
1372
  .steedos-global-footer .antd-Nav-Menu-item,
1354
1373
  .steedos-global-footer .antd-Nav-Menu-submenu-title,
@@ -3489,7 +3489,7 @@ const getSteedosAuth = () => {
3489
3489
  * @Author: baozhoutao@steedos.com
3490
3490
  * @Date: 2022-08-16 17:02:08
3491
3491
  * @LastEditors: baozhoutao@steedos.com
3492
- * @LastEditTime: 2023-04-19 15:25:50
3492
+ * @LastEditTime: 2023-06-20 13:50:15
3493
3493
  * @Description:
3494
3494
  */
3495
3495
 
@@ -3500,14 +3500,14 @@ const Router$1 = {
3500
3500
  if(urlSearch.has('display')){
3501
3501
  return urlSearch.get('display')
3502
3502
  }
3503
- // const key = `tab.${tab_id}.display`;
3504
- const key = `page_display`;
3503
+ const key = `tab_${tab_id}_display`;
3504
+ // const key = `page_display`;
3505
3505
  const value = localStorage.getItem(key);
3506
3506
  return value ? value : 'grid'
3507
3507
  },
3508
3508
 
3509
3509
  setTabDisplayAs(tab_id, displayAs){
3510
- const key = `tab.${tab_id}.display`;
3510
+ const key = `tab_${tab_id}_display`;
3511
3511
  localStorage.setItem(key, displayAs);
3512
3512
  },
3513
3513
  getAppPath({formFactor, appId}){
@@ -3521,15 +3521,10 @@ const Router$1 = {
3521
3521
  },
3522
3522
  getObjectDetailPath(props){
3523
3523
  const {formFactor, appId, objectName, recordId, listViewName, _templateType} = props;
3524
- // var urlParams = new URLSearchParams(window.location.search);
3525
- // if(objectName === 'instances'){
3526
- // return `/workflow/space/\${context.tenantId}/\${listName}/${recordId}`;
3527
- // }
3528
- const displayAs = Router$1.getTabDisplayAs(objectName); //urlParams.get("display") ||
3529
3524
  if(_templateType === 'JavaScript'){
3530
- return `/app/${appId}/${objectName}/view/${recordId}?display=${displayAs}&side_object=<%=item.objectName%>&side_listview_id=<%=item.listName%>`;
3525
+ return `/app/${appId}/${objectName}/view/${recordId}?side_object=<%=item.objectName%>&side_listview_id=<%=item.listName%>`;
3531
3526
  }
3532
- return `/app/${appId}/${objectName}/view/${recordId}?display=${displayAs}&side_object=\${objectName}&side_listview_id=\${listName}`;
3527
+ return `/app/${appId}/${objectName}/view/${recordId}?side_object=\${objectName}&side_listview_id=\${listName}`;
3533
3528
  },
3534
3529
  getObjectRelatedViewPath({formFactor, appId, masterObjectName, masterRecordId, objectName, foreignKey}){
3535
3530
  return `/app/${appId}/${masterObjectName}/${masterRecordId}/${objectName}/grid?related_field_name=${foreignKey}`;
@@ -6279,7 +6274,10 @@ async function getObjectFieldsFilterFormSchema(ctx) {
6279
6274
  const formSchema = {
6280
6275
  "type": "service",
6281
6276
  "visibleOn": "this.filterFormSearchableFields && this.filterFormSearchableFields.length",
6282
- "className": ctx.formFactor === 'SMALL' ? "slds-filters__body p-0 mb-2" : "slds-filters__body p-0 sm:grid sm:gap-2 sm:grid-cols-4 mb-2",
6277
+ "className": ctx.formFactor === 'SMALL' ? "slds-filters__body p-0 mb-2 overflow-y-auto overflow-x-hidden" : "slds-filters__body p-0 sm:grid sm:gap-2 sm:grid-cols-4 mb-2",
6278
+ "style":{
6279
+ "max-height":ctx.formFactor === 'SMALL'?"30vh":"unset"
6280
+ },
6283
6281
  "schemaApi": {
6284
6282
  method: 'post',
6285
6283
  url: `\${context.rootUrl}/graphql?reload=\${filterFormSearchableFields|join}`,
@@ -8212,14 +8210,14 @@ const getDisplayAsButton = function(objectName, showDisplayAs){
8212
8210
  {
8213
8211
  "type": "button",
8214
8212
  "label": instance.t('frontend_display_type_is_table'),
8215
- "onClick": "let url = document.location.pathname; var urlSearch = new URLSearchParams(document.location.search); if(urlSearch.get(\"side_object\") && urlSearch.get(\"side_listview_id\")){url=`/app/${props.data.appId}/${urlSearch.get(\"side_object\")}/grid/${urlSearch.get(\"side_listview_id\")}`;}; props.env.jumpTo(url + '?display=grid');",
8213
+ "onClick": "const key = 'tab_"+objectName+"_display';localStorage.setItem(key, 'grid');let url = document.location.pathname; var urlSearch = new URLSearchParams(document.location.search); if(urlSearch.get(\"side_object\") && urlSearch.get(\"side_listview_id\")){url=`/app/${props.data.appId}/${urlSearch.get(\"side_object\")}/grid/${urlSearch.get(\"side_listview_id\")}`;}; props.env.jumpTo(url + '?display=grid');",
8216
8214
  "rightIcon": displayAs != 'split' ? "fa fa-check" : null,
8217
8215
  "rightIconClassName": "m-l-sm"
8218
8216
  },
8219
8217
  {
8220
8218
  "type": "button",
8221
8219
  "label": instance.t('frontend_display_type_is_split'),
8222
- "onClick": "const url = document.location.pathname + '?display=split'; props.env.jumpTo(url);",
8220
+ "onClick": "const key = 'tab_"+objectName+"_display';localStorage.setItem(key, 'split');const url = document.location.pathname + '?display=split'; props.env.jumpTo(url);",
8223
8221
  "rightIcon": displayAs === 'split' ? "fa fa-check" : null,
8224
8222
  "rightIconClassName": "m-l-sm"
8225
8223
  }
@@ -8381,7 +8379,7 @@ function getObjectHeaderToolbar(mainObject, formFactor, {showDisplayAs = false,
8381
8379
  },
8382
8380
  // getExportExcelToolbarButtonSchema(),
8383
8381
  getSettingListviewToolbarButtonSchema(),
8384
- getDisplayAsButton(showDisplayAs),
8382
+ getDisplayAsButton(mainObject?.name),
8385
8383
  filterVisible ? {
8386
8384
  "label": instance.t('frontend_button_search_tooltip'),
8387
8385
  "icon": "fa fa-search",
@@ -11212,13 +11210,13 @@ async function getTableApi(mainObject, fields, options){
11212
11210
  const masterRecord = self._master.record;
11213
11211
  const masterObjectName = self._master.objectName;
11214
11212
  let relatedValue = self._master.recordId;
11215
- if(refField.reference_to_field && refField.reference_to_field != '_id'){
11213
+ if(refField && refField.reference_to_field && refField.reference_to_field != '_id'){
11216
11214
  relatedValue = masterRecord[refField.reference_to_field]
11217
11215
  }
11218
11216
  let relatedFilters;
11219
11217
  if (
11220
- refField._reference_to ||
11221
- (refField.reference_to && !_.isString(refField.reference_to))
11218
+ refField && (refField._reference_to ||
11219
+ (refField.reference_to && !_.isString(refField.reference_to)))
11222
11220
  ) {
11223
11221
  relatedFilters = [
11224
11222
  [relatedKey + "/o", "=", masterObjectName],
@@ -11368,7 +11366,7 @@ function getRecordPermissionsApi(object, recordId, options){
11368
11366
 
11369
11367
  const API_CACHE = 100;
11370
11368
 
11371
- function getReadonlyFormAdaptor(object, fields){
11369
+ function getReadonlyFormAdaptor(object, fields, options){
11372
11370
  let scriptStr = '';
11373
11371
  const selectFields = ___default.filter(fields, function(field){return field.name.indexOf('.') < 0 && ((field.type == 'select' && field.options) || ((field.type == 'lookup' || field.type == 'master_detail') && !field.reference_to))});
11374
11372
  const gridAndObjectFieldsName = ___default.map(___default.filter(fields, function(field){return field.name.indexOf('.') < 0 && (field.type === 'object' || field.type === 'grid')}), 'name');
@@ -11408,9 +11406,16 @@ function getReadonlyFormAdaptor(object, fields){
11408
11406
 
11409
11407
  return `
11410
11408
  if(payload.data.data.length === 0){
11411
- return {
11412
- status: 2,
11413
- msg: "无法找到记录"
11409
+ var isEditor = !!${options && options.isEditor};
11410
+ if(isEditor){
11411
+ // 设计器中始终显示表单,有记录则显示第一条记录,没记录时显示为空表单
11412
+ payload.data.data = [{}];
11413
+ }
11414
+ else{
11415
+ return {
11416
+ status: 2,
11417
+ msg: "无法找到记录"
11418
+ }
11414
11419
  }
11415
11420
  }
11416
11421
  if(payload.data.data){
@@ -11427,7 +11432,7 @@ function getReadonlyFormAdaptor(object, fields){
11427
11432
  var record = _.cloneDeep(data);
11428
11433
  try{
11429
11434
  _.each(gridAndObjectFieldsName, function(name){
11430
- data[name] = data._display[name];
11435
+ data[name] = data._display && data._display[name];
11431
11436
  })
11432
11437
  }catch(e){
11433
11438
  console.error(e)
@@ -11448,10 +11453,10 @@ function getReadonlyFormAdaptor(object, fields){
11448
11453
  async function getReadonlyFormInitApi(object, recordId, fields, options){
11449
11454
  return {
11450
11455
  method: "post",
11451
- url: getApi$2()+"&recordId=${recordId}",
11456
+ url: getApi$2() + '&objectName=${objectName}' + "&recordId=${recordId}",
11452
11457
  cache: API_CACHE,
11453
11458
  // requestAdaptor: "console.log('getReadonlyFormInitApi requestAdaptor', api);return api;",
11454
- adaptor: getReadonlyFormAdaptor(object, fields),
11459
+ adaptor: getReadonlyFormAdaptor(object, fields, options),
11455
11460
  data: await getFindOneQuery$1(object, recordId, fields, options),
11456
11461
  headers: {
11457
11462
  Authorization: "Bearer ${context.tenantId},${context.authToken}"
@@ -12883,8 +12888,8 @@ const getRecordPermissions = async (objectName, recordId)=>{
12883
12888
  /*
12884
12889
  * @Author: baozhoutao@steedos.com
12885
12890
  * @Date: 2022-07-05 15:55:39
12886
- * @LastEditors: Please set LastEditors
12887
- * @LastEditTime: 2023-05-17 09:09:33
12891
+ * @LastEditors: liaodaxue
12892
+ * @LastEditTime: 2023-06-20 14:05:50
12888
12893
  * @Description:
12889
12894
  */
12890
12895
 
@@ -12927,10 +12932,11 @@ async function getObjectRelatedList(
12927
12932
  if(!isEmpty(relatedLists)){
12928
12933
  for (const relatedList of relatedLists) {
12929
12934
  const arr = relatedList.related_field_fullname.split(".");
12935
+ const foreign_key = arr[2] ? arr[1]+'.'+arr[2] : arr[1];
12930
12936
  related.push({
12931
12937
  masterObjectName: objectName,
12932
12938
  object_name: arr[0],
12933
- foreign_key: arr[1],
12939
+ foreign_key,
12934
12940
  label: relatedList.label,
12935
12941
  columns: relatedList.field_names,
12936
12942
  sort: relatedList.sort,
@@ -12943,10 +12949,11 @@ async function getObjectRelatedList(
12943
12949
  const details = [].concat(uiSchema.details || []);
12944
12950
  for (const detail of details) {
12945
12951
  const arr = detail.split(".");
12952
+ const foreign_key = arr[2] ? arr[1]+'.'+arr[2] : arr[1];
12946
12953
  related.push({
12947
12954
  masterObjectName: objectName,
12948
12955
  object_name: arr[0],
12949
- foreign_key: arr[1]
12956
+ foreign_key
12950
12957
  });
12951
12958
  }
12952
12959
  }
@@ -12978,14 +12985,16 @@ async function getRecordDetailRelatedListSchema(objectName, recordId, relatedObj
12978
12985
  if(!isEmpty(mainRelatedLists)){
12979
12986
  for (const relatedList of mainRelatedLists) {
12980
12987
  const arr = relatedList.related_field_fullname.split(".");
12981
- mainRelated[arr[0]] = arr[1];
12988
+ const foreign_key_value = arr[2] ? arr[1]+'.'+arr[2] : arr[1];
12989
+ mainRelated[arr[0]] = foreign_key_value;
12982
12990
  }
12983
12991
  }else {
12984
12992
  const details = union(mainObjectUiSchema.details,mainObjectUiSchema.lookup_details) || [];
12985
12993
  for (const detail of details) {
12986
12994
  const arr = detail.split(".");
12995
+ const foreign_key_value = arr[2] ? arr[1]+'.'+arr[2] : arr[1];
12987
12996
  if(!has(mainRelated,arr[0])){
12988
- mainRelated[arr[0]] = arr[1];
12997
+ mainRelated[arr[0]] = foreign_key_value;
12989
12998
  }
12990
12999
  }
12991
13000
  }
@@ -16818,6 +16827,7 @@ var getSchema = function (field, value, ctx) { return __awaiter(void 0, void 0,
16818
16827
  "body": [
16819
16828
  {
16820
16829
  "type": "select",
16830
+ "inputClassName": "select_left",
16821
16831
  "name": leftName,
16822
16832
  "options": options,
16823
16833
  "value": "".concat(value.o)
@@ -17194,11 +17204,22 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
17194
17204
  if (defaultData) {
17195
17205
  // 让ObjectForm支持props中的dafaultData属性与上层组件配置的defaultData混合
17196
17206
  // 为了解决相关表新建时如果是表单类型微页面,因为找不到ObjectForm在哪层而造成无法设置ObjectForm的defaultData的问题
17197
- amisSchema.data.defaultData = __assign$2({ "&": "${defaultData}" }, defaultData);
17207
+ amisSchema.data.defaultData = __assign$2({ "&": "${defaultData}" }, defaultData //这里的defaultData是form组件的defaultData属性值
17208
+ );
17198
17209
  }
17199
17210
  uiSchema = schema.uiSchema;
17200
17211
  return [3 /*break*/, 4];
17201
- case 2: return [4 /*yield*/, getViewSchema(objectApiName, recordId, options)];
17212
+ case 2:
17213
+ // formInitProps
17214
+ if (!recordId && props.$$editor) {
17215
+ // 设计器中只读表单返回第一条记录
17216
+ options.formInitProps = {
17217
+ filters: [],
17218
+ queryOptions: "top: 1",
17219
+ isEditor: true
17220
+ };
17221
+ }
17222
+ return [4 /*yield*/, getViewSchema(objectApiName, recordId, options)];
17202
17223
  case 3:
17203
17224
  schema = _d.sent();
17204
17225
  amisSchema = schema.amisSchema;
@@ -17229,13 +17250,10 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
17229
17250
  return __generator(this, function (_g) {
17230
17251
  switch (_g.label) {
17231
17252
  case 0:
17232
- // console.time('AmisObjectListView')
17233
- console.log("AmisObjectListView props", props);
17234
17253
  $schema = props.$schema, top = props.top, perPage = props.perPage, _a = props.showHeader, showHeader = _a === void 0 ? true : _a, data = props.data, defaultData = props.defaultData, _b = props.className, className = _b === void 0 ? "" : _b, crudClassName = props.crudClassName, _c = props.showDisplayAs, showDisplayAs = _c === void 0 ? false : _c, sideSchema = props.sideSchema, props.columnsTogglable, _e = props.filterVisible, filterVisible = _e === void 0 ? true : _e, headerToolbarItems = props.headerToolbarItems, rowClassNameExpr = props.rowClassNameExpr;
17235
17254
  headerSchema = props.headerSchema;
17236
17255
  ctx = props.ctx;
17237
17256
  listName = (defaultData === null || defaultData === void 0 ? void 0 : defaultData.listName) || (data === null || data === void 0 ? void 0 : data.listName) || (props === null || props === void 0 ? void 0 : props.listName);
17238
- console.log('AmisObjectListView ==listName=>', listName);
17239
17257
  defaults = {};
17240
17258
  objectApiName = props.objectApiName || "space_users";
17241
17259
  if (!ctx) {
@@ -17290,7 +17308,7 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
17290
17308
  "actions": [
17291
17309
  {
17292
17310
  "args": {
17293
- "url": "/app/${appId}/${objectName}/view/${event.data.result.data.recordId}?display=${ls:page_display || 'grid'}&side_object=${objectName}&side_listview_id=${listName}",
17311
+ "url": "/app/${appId}/${objectName}/view/${event.data.result.data.recordId}?side_object=${objectName}&side_listview_id=${listName}",
17294
17312
  "blank": false
17295
17313
  },
17296
17314
  "actionType": "link",
@@ -17362,8 +17380,8 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
17362
17380
  "headers": {
17363
17381
  "Authorization": "Bearer ${context.tenantId},${context.authToken}"
17364
17382
  },
17365
- "requestAdaptor": "console.log('service listview schemaApi requestAdaptor======>');api.data={query: '{spaces__findOne(id: \"none\"){_id,name}}'};return api;",
17366
- "adaptor": "\n // console.log('service listview schemaApi adaptor....', api.body); \n let { appId, objectName, defaultListName: listName, display, formFactor: defaultFormFactor} = api.body;\n if(api.body.listName){\n listName = api.body.listName;\n }\n return new Promise((resolve)=>{\n const listViewSchemaProps = ".concat(JSON.stringify(listViewSchemaProps), ";\n const formFactor = ([\"split\"].indexOf(display) > -1) ? 'SMALL': defaultFormFactor;\n listViewSchemaProps.formFactor = formFactor;\n // console.log(\"====listViewSchemaProps===>\", listName, listViewSchemaProps)\n window.getListSchema(appId, objectName, listName, listViewSchemaProps).then((schema)=>{\n payload.data = schema.amisSchema;\n // console.log(\"payload================>\", payload)\n resolve(payload)\n });\n });\n ")
17383
+ "requestAdaptor": "api.data={query: '{spaces__findOne(id: \"none\"){_id,name}}'};return api;",
17384
+ "adaptor": "\n // console.log('service listview schemaApi adaptor....', api.body); \n let { appId, objectName, defaultListName: listName, display, formFactor: defaultFormFactor} = api.body;\n if(api.body.listName){\n listName = api.body.listName;\n }\n return new Promise((resolve)=>{\n const listViewSchemaProps = ".concat(JSON.stringify(listViewSchemaProps), ";\n const formFactor = ([\"split\"].indexOf(display) > -1) ? 'SMALL': defaultFormFactor;\n listViewSchemaProps.formFactor = formFactor;\n listViewSchemaProps.displayAs = display;\n // console.log(\"====listViewSchemaProps===>\", listName, display, listViewSchemaProps)\n window.getListSchema(appId, objectName, listName, listViewSchemaProps).then((schema)=>{\n payload.data = schema.amisSchema;\n // console.log(\"payload================>\", payload)\n resolve(payload)\n });\n });\n ")
17367
17385
  },
17368
17386
  // "body": body,
17369
17387
  // "data": serviceData
@@ -18163,7 +18181,7 @@ var AmisGlobalFooter = function (props) { return __awaiter(void 0, void 0, void
18163
18181
  schemaApi: {
18164
18182
  "method": "get",
18165
18183
  "url": "${context.rootUrl}/service/api/apps/".concat(appId, "/menus?mobile=true"),
18166
- "adaptor": "\n try {\n\n if(payload.children.length == 0){\n payload.data = {};\n return payload\n }\n const data = { nav: [] };\n const stacked = ".concat(stacked, ";\n const showIcon = ").concat(showIcon, ";\n const selectedId = '").concat(selectedId, "';\n let sum = 0;\n _.each(payload.children, (tab)=>{\n sum++;\n const classIcon = tab.icon.replace(/_/g,\"-\");\n if(sum >= 5){\n data.nav.push({\n \"label\": {\n type: 'tpl',\n tpl: `<span class='fill-slate-500 text-slate-700 block -ml-px no-underline group flex items-center text-[12px] font-medium rounded-md flex-col leading-3 nav-label'><svg class=\"slds-icon slds-icon_container slds-icon-standard-`+classIcon+` flex-shrink-0 h-10 w-10\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg><span>${tab.name}</span><i class=\"fa fa-angle-right\" aria-hidden=\"true\" style=\"position: absolute;right: 20px;color: #bababa;\"></i></span>`,\n className:'h-full flex items-center'\n },\n \"to\": tab.path,\n \"target\":tab.target\n });\n }else{\n data.nav.push({\n \"label\": {\n type: 'tpl',\n tpl: `<span class='fill-slate-500 text-slate-700 block -ml-px no-underline group flex items-center text-[12px] font-medium rounded-md flex-col leading-3 nav-label'><svg class=\"slds-icon slds-icon_container slds-icon-standard-`+classIcon+` flex-shrink-0 h-10 w-10\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg>${tab.name}</span>`,\n className:'h-full flex items-center'\n },\n \"to\": tab.path,\n \"target\":tab.target\n });\n }\n \n })\n\n payload.data = {\n \"type\": \"nav\",\n className: payload.children.length ==1 ? '").concat(className1, "' : '").concat(className, "',\n \"stacked\": ").concat(stacked, ",\n \"overflow\": {\n \"enable\": true,\n \"maxVisibleCount\": 4,\n \"overflowPopoverClassName\": \"steedos-global-footer-popup\",\n \"overflowLabel\":{\n \"type\": 'tpl',\n \"tpl\": `<span class='fill-slate-500 text-slate-700 block -ml-px no-underline group flex items-center text-[12px] font-medium rounded-md flex-col leading-3 nav-label'><svg class=\" flex-shrink-0 h-10 w-10\" style=\"padding:7px\"><use xlink:href=\"/assets/icons/utility-sprite/svg/symbols.svg#rows\"></use></svg>").concat(instance.t('Menu'), "</span>`,\n \"className\":'h-full flex items-center'\n },\n \"overflowIndicator\":\"\"\n },\n \"indentSize\": ").concat(indentSize, ",\n \"links\": data.nav,\n };\n } catch (error) {\n console.log(`error`, error)\n }\n return payload;\n "),
18184
+ "adaptor": "\n try {\n\n if(payload.children.length == 0){\n payload.data = {};\n return payload\n }\n const data = { nav: [] };\n const stacked = ".concat(stacked, ";\n const showIcon = ").concat(showIcon, ";\n const selectedId = '").concat(selectedId, "';\n let sum = 0;\n _.each(payload.children, (tab)=>{\n sum++;\n const classIcon = tab.icon.replace(/_/g,\"-\");\n if(sum >= 5){\n data.nav.push({\n \"label\": {\n type: 'tpl',\n tpl: `<span class='fill-slate-500 text-slate-700 block -ml-px no-underline group flex items-center text-[12px] font-medium rounded-md flex-col leading-3 nav-label'><svg class=\"slds-icon slds-icon_container slds-icon-standard-`+classIcon+` flex-shrink-0 h-10 w-10\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg><span>${tab.name}</span><i class=\"fa fa-angle-right\" aria-hidden=\"true\" style=\"position: absolute;right: 20px;color: #bababa;\"></i></span>`,\n className:'h-full flex items-center'\n },\n \"to\": tab.path,\n \"target\":tab.target\n });\n }else{\n data.nav.push({\n \"label\": {\n type: 'tpl',\n tpl: `<span class='fill-slate-500 truncate text-slate-700 block -ml-px no-underline group flex items-center text-[12px] font-medium rounded-md flex-col leading-3 nav-label'><svg class=\"slds-icon slds-icon_container slds-icon-standard-`+classIcon+` flex-shrink-0 h-10 w-10\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg><span class=\"truncate\" style=\"max-width: 20vw\">${tab.name}</span></span>`,\n className:'h-full flex items-center'\n },\n \"to\": tab.path,\n \"target\":tab.target\n });\n }\n \n })\n\n payload.data = {\n \"type\": \"nav\",\n className: payload.children.length ==1 ? '").concat(className1, "' : '").concat(className, "',\n \"stacked\": ").concat(stacked, ",\n \"overflow\": {\n \"enable\": true,\n \"maxVisibleCount\": 4,\n \"overflowPopoverClassName\": \"steedos-global-footer-popup\",\n \"overflowLabel\":{\n \"type\": 'tpl',\n \"tpl\": `<span class='fill-slate-500 truncate text-slate-700 block -ml-px no-underline group flex items-center text-[12px] font-medium rounded-md flex-col leading-3 nav-label'><svg class=\" flex-shrink-0 h-10 w-10\" style=\"padding:7px\"><use xlink:href=\"/assets/icons/utility-sprite/svg/symbols.svg#rows\"></use></svg><span class=\"truncate\" style=\"max-width: 20vw\">").concat(instance.t('frontend_menu'), "</span></span>`,\n \"className\":'h-full flex items-center'\n },\n \"overflowIndicator\":\"\"\n },\n \"indentSize\": ").concat(indentSize, ",\n \"links\": data.nav,\n };\n } catch (error) {\n console.log(`error`, error)\n }\n return payload;\n "),
18167
18185
  "headers": {
18168
18186
  "Authorization": "Bearer ${context.tenantId},${context.authToken}"
18169
18187
  }
@@ -19005,8 +19023,9 @@ var PageRecordDetail = function (props) { return __awaiter(void 0, void 0, void
19005
19023
  switch (_a.label) {
19006
19024
  case 0:
19007
19025
  defaultFormFactor = props.formFactor, appId = props.appId, objectApiName = props.objectApiName, props.recordId, display = props.display;
19008
- //TODO 此代码应该在object page template中处理
19009
- Router$1.setTabDisplayAs(objectApiName, display);
19026
+ if (display) {
19027
+ Router$1.setTabDisplayAs(objectApiName, display);
19028
+ }
19010
19029
  recordSchema = {};
19011
19030
  return [4 /*yield*/, getPage({ type: 'record', appId: appId, objectName: objectApiName, formFactor: defaultFormFactor })];
19012
19031
  case 1: