@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,
@@ -3517,7 +3517,7 @@ const getSteedosAuth = () => {
3517
3517
  * @Author: baozhoutao@steedos.com
3518
3518
  * @Date: 2022-08-16 17:02:08
3519
3519
  * @LastEditors: baozhoutao@steedos.com
3520
- * @LastEditTime: 2023-04-19 15:25:50
3520
+ * @LastEditTime: 2023-06-20 13:50:15
3521
3521
  * @Description:
3522
3522
  */
3523
3523
 
@@ -3528,14 +3528,14 @@ const Router$1 = {
3528
3528
  if(urlSearch.has('display')){
3529
3529
  return urlSearch.get('display')
3530
3530
  }
3531
- // const key = `tab.${tab_id}.display`;
3532
- const key = `page_display`;
3531
+ const key = `tab_${tab_id}_display`;
3532
+ // const key = `page_display`;
3533
3533
  const value = localStorage.getItem(key);
3534
3534
  return value ? value : 'grid'
3535
3535
  },
3536
3536
 
3537
3537
  setTabDisplayAs(tab_id, displayAs){
3538
- const key = `tab.${tab_id}.display`;
3538
+ const key = `tab_${tab_id}_display`;
3539
3539
  localStorage.setItem(key, displayAs);
3540
3540
  },
3541
3541
  getAppPath({formFactor, appId}){
@@ -3549,15 +3549,10 @@ const Router$1 = {
3549
3549
  },
3550
3550
  getObjectDetailPath(props){
3551
3551
  const {formFactor, appId, objectName, recordId, listViewName, _templateType} = props;
3552
- // var urlParams = new URLSearchParams(window.location.search);
3553
- // if(objectName === 'instances'){
3554
- // return `/workflow/space/\${context.tenantId}/\${listName}/${recordId}`;
3555
- // }
3556
- const displayAs = Router$1.getTabDisplayAs(objectName); //urlParams.get("display") ||
3557
3552
  if(_templateType === 'JavaScript'){
3558
- return `/app/${appId}/${objectName}/view/${recordId}?display=${displayAs}&side_object=<%=item.objectName%>&side_listview_id=<%=item.listName%>`;
3553
+ return `/app/${appId}/${objectName}/view/${recordId}?side_object=<%=item.objectName%>&side_listview_id=<%=item.listName%>`;
3559
3554
  }
3560
- return `/app/${appId}/${objectName}/view/${recordId}?display=${displayAs}&side_object=\${objectName}&side_listview_id=\${listName}`;
3555
+ return `/app/${appId}/${objectName}/view/${recordId}?side_object=\${objectName}&side_listview_id=\${listName}`;
3561
3556
  },
3562
3557
  getObjectRelatedViewPath({formFactor, appId, masterObjectName, masterRecordId, objectName, foreignKey}){
3563
3558
  return `/app/${appId}/${masterObjectName}/${masterRecordId}/${objectName}/grid?related_field_name=${foreignKey}`;
@@ -6307,7 +6302,10 @@ async function getObjectFieldsFilterFormSchema(ctx) {
6307
6302
  const formSchema = {
6308
6303
  "type": "service",
6309
6304
  "visibleOn": "this.filterFormSearchableFields && this.filterFormSearchableFields.length",
6310
- "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",
6305
+ "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",
6306
+ "style":{
6307
+ "max-height":ctx.formFactor === 'SMALL'?"30vh":"unset"
6308
+ },
6311
6309
  "schemaApi": {
6312
6310
  method: 'post',
6313
6311
  url: `\${context.rootUrl}/graphql?reload=\${filterFormSearchableFields|join}`,
@@ -8240,14 +8238,14 @@ const getDisplayAsButton = function(objectName, showDisplayAs){
8240
8238
  {
8241
8239
  "type": "button",
8242
8240
  "label": instance.t('frontend_display_type_is_table'),
8243
- "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');",
8241
+ "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');",
8244
8242
  "rightIcon": displayAs != 'split' ? "fa fa-check" : null,
8245
8243
  "rightIconClassName": "m-l-sm"
8246
8244
  },
8247
8245
  {
8248
8246
  "type": "button",
8249
8247
  "label": instance.t('frontend_display_type_is_split'),
8250
- "onClick": "const url = document.location.pathname + '?display=split'; props.env.jumpTo(url);",
8248
+ "onClick": "const key = 'tab_"+objectName+"_display';localStorage.setItem(key, 'split');const url = document.location.pathname + '?display=split'; props.env.jumpTo(url);",
8251
8249
  "rightIcon": displayAs === 'split' ? "fa fa-check" : null,
8252
8250
  "rightIconClassName": "m-l-sm"
8253
8251
  }
@@ -8409,7 +8407,7 @@ function getObjectHeaderToolbar(mainObject, formFactor, {showDisplayAs = false,
8409
8407
  },
8410
8408
  // getExportExcelToolbarButtonSchema(),
8411
8409
  getSettingListviewToolbarButtonSchema(),
8412
- getDisplayAsButton(showDisplayAs),
8410
+ getDisplayAsButton(mainObject?.name),
8413
8411
  filterVisible ? {
8414
8412
  "label": instance.t('frontend_button_search_tooltip'),
8415
8413
  "icon": "fa fa-search",
@@ -11240,13 +11238,13 @@ async function getTableApi(mainObject, fields, options){
11240
11238
  const masterRecord = self._master.record;
11241
11239
  const masterObjectName = self._master.objectName;
11242
11240
  let relatedValue = self._master.recordId;
11243
- if(refField.reference_to_field && refField.reference_to_field != '_id'){
11241
+ if(refField && refField.reference_to_field && refField.reference_to_field != '_id'){
11244
11242
  relatedValue = masterRecord[refField.reference_to_field]
11245
11243
  }
11246
11244
  let relatedFilters;
11247
11245
  if (
11248
- refField._reference_to ||
11249
- (refField.reference_to && !_.isString(refField.reference_to))
11246
+ refField && (refField._reference_to ||
11247
+ (refField.reference_to && !_.isString(refField.reference_to)))
11250
11248
  ) {
11251
11249
  relatedFilters = [
11252
11250
  [relatedKey + "/o", "=", masterObjectName],
@@ -11396,7 +11394,7 @@ function getRecordPermissionsApi(object, recordId, options){
11396
11394
 
11397
11395
  const API_CACHE = 100;
11398
11396
 
11399
- function getReadonlyFormAdaptor(object, fields){
11397
+ function getReadonlyFormAdaptor(object, fields, options){
11400
11398
  let scriptStr = '';
11401
11399
  const selectFields = ___default__namespace.filter(fields, function(field){return field.name.indexOf('.') < 0 && ((field.type == 'select' && field.options) || ((field.type == 'lookup' || field.type == 'master_detail') && !field.reference_to))});
11402
11400
  const gridAndObjectFieldsName = ___default__namespace.map(___default__namespace.filter(fields, function(field){return field.name.indexOf('.') < 0 && (field.type === 'object' || field.type === 'grid')}), 'name');
@@ -11436,9 +11434,16 @@ function getReadonlyFormAdaptor(object, fields){
11436
11434
 
11437
11435
  return `
11438
11436
  if(payload.data.data.length === 0){
11439
- return {
11440
- status: 2,
11441
- msg: "无法找到记录"
11437
+ var isEditor = !!${options && options.isEditor};
11438
+ if(isEditor){
11439
+ // 设计器中始终显示表单,有记录则显示第一条记录,没记录时显示为空表单
11440
+ payload.data.data = [{}];
11441
+ }
11442
+ else{
11443
+ return {
11444
+ status: 2,
11445
+ msg: "无法找到记录"
11446
+ }
11442
11447
  }
11443
11448
  }
11444
11449
  if(payload.data.data){
@@ -11455,7 +11460,7 @@ function getReadonlyFormAdaptor(object, fields){
11455
11460
  var record = _.cloneDeep(data);
11456
11461
  try{
11457
11462
  _.each(gridAndObjectFieldsName, function(name){
11458
- data[name] = data._display[name];
11463
+ data[name] = data._display && data._display[name];
11459
11464
  })
11460
11465
  }catch(e){
11461
11466
  console.error(e)
@@ -11476,10 +11481,10 @@ function getReadonlyFormAdaptor(object, fields){
11476
11481
  async function getReadonlyFormInitApi(object, recordId, fields, options){
11477
11482
  return {
11478
11483
  method: "post",
11479
- url: getApi$2()+"&recordId=${recordId}",
11484
+ url: getApi$2() + '&objectName=${objectName}' + "&recordId=${recordId}",
11480
11485
  cache: API_CACHE,
11481
11486
  // requestAdaptor: "console.log('getReadonlyFormInitApi requestAdaptor', api);return api;",
11482
- adaptor: getReadonlyFormAdaptor(object, fields),
11487
+ adaptor: getReadonlyFormAdaptor(object, fields, options),
11483
11488
  data: await getFindOneQuery$1(object, recordId, fields, options),
11484
11489
  headers: {
11485
11490
  Authorization: "Bearer ${context.tenantId},${context.authToken}"
@@ -12911,8 +12916,8 @@ const getRecordPermissions = async (objectName, recordId)=>{
12911
12916
  /*
12912
12917
  * @Author: baozhoutao@steedos.com
12913
12918
  * @Date: 2022-07-05 15:55:39
12914
- * @LastEditors: Please set LastEditors
12915
- * @LastEditTime: 2023-05-17 09:09:33
12919
+ * @LastEditors: liaodaxue
12920
+ * @LastEditTime: 2023-06-20 14:05:50
12916
12921
  * @Description:
12917
12922
  */
12918
12923
 
@@ -12955,10 +12960,11 @@ async function getObjectRelatedList(
12955
12960
  if(!___default.isEmpty(relatedLists)){
12956
12961
  for (const relatedList of relatedLists) {
12957
12962
  const arr = relatedList.related_field_fullname.split(".");
12963
+ const foreign_key = arr[2] ? arr[1]+'.'+arr[2] : arr[1];
12958
12964
  related.push({
12959
12965
  masterObjectName: objectName,
12960
12966
  object_name: arr[0],
12961
- foreign_key: arr[1],
12967
+ foreign_key,
12962
12968
  label: relatedList.label,
12963
12969
  columns: relatedList.field_names,
12964
12970
  sort: relatedList.sort,
@@ -12971,10 +12977,11 @@ async function getObjectRelatedList(
12971
12977
  const details = [].concat(uiSchema.details || []);
12972
12978
  for (const detail of details) {
12973
12979
  const arr = detail.split(".");
12980
+ const foreign_key = arr[2] ? arr[1]+'.'+arr[2] : arr[1];
12974
12981
  related.push({
12975
12982
  masterObjectName: objectName,
12976
12983
  object_name: arr[0],
12977
- foreign_key: arr[1]
12984
+ foreign_key
12978
12985
  });
12979
12986
  }
12980
12987
  }
@@ -13006,14 +13013,16 @@ async function getRecordDetailRelatedListSchema(objectName, recordId, relatedObj
13006
13013
  if(!___default.isEmpty(mainRelatedLists)){
13007
13014
  for (const relatedList of mainRelatedLists) {
13008
13015
  const arr = relatedList.related_field_fullname.split(".");
13009
- mainRelated[arr[0]] = arr[1];
13016
+ const foreign_key_value = arr[2] ? arr[1]+'.'+arr[2] : arr[1];
13017
+ mainRelated[arr[0]] = foreign_key_value;
13010
13018
  }
13011
13019
  }else {
13012
13020
  const details = ___default.union(mainObjectUiSchema.details,mainObjectUiSchema.lookup_details) || [];
13013
13021
  for (const detail of details) {
13014
13022
  const arr = detail.split(".");
13023
+ const foreign_key_value = arr[2] ? arr[1]+'.'+arr[2] : arr[1];
13015
13024
  if(!___default.has(mainRelated,arr[0])){
13016
- mainRelated[arr[0]] = arr[1];
13025
+ mainRelated[arr[0]] = foreign_key_value;
13017
13026
  }
13018
13027
  }
13019
13028
  }
@@ -16846,6 +16855,7 @@ var getSchema = function (field, value, ctx) { return __awaiter(void 0, void 0,
16846
16855
  "body": [
16847
16856
  {
16848
16857
  "type": "select",
16858
+ "inputClassName": "select_left",
16849
16859
  "name": leftName,
16850
16860
  "options": options,
16851
16861
  "value": "".concat(value.o)
@@ -17222,11 +17232,22 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
17222
17232
  if (defaultData) {
17223
17233
  // 让ObjectForm支持props中的dafaultData属性与上层组件配置的defaultData混合
17224
17234
  // 为了解决相关表新建时如果是表单类型微页面,因为找不到ObjectForm在哪层而造成无法设置ObjectForm的defaultData的问题
17225
- amisSchema.data.defaultData = __assign$2({ "&": "${defaultData}" }, defaultData);
17235
+ amisSchema.data.defaultData = __assign$2({ "&": "${defaultData}" }, defaultData //这里的defaultData是form组件的defaultData属性值
17236
+ );
17226
17237
  }
17227
17238
  uiSchema = schema.uiSchema;
17228
17239
  return [3 /*break*/, 4];
17229
- case 2: return [4 /*yield*/, getViewSchema(objectApiName, recordId, options)];
17240
+ case 2:
17241
+ // formInitProps
17242
+ if (!recordId && props.$$editor) {
17243
+ // 设计器中只读表单返回第一条记录
17244
+ options.formInitProps = {
17245
+ filters: [],
17246
+ queryOptions: "top: 1",
17247
+ isEditor: true
17248
+ };
17249
+ }
17250
+ return [4 /*yield*/, getViewSchema(objectApiName, recordId, options)];
17230
17251
  case 3:
17231
17252
  schema = _d.sent();
17232
17253
  amisSchema = schema.amisSchema;
@@ -17257,13 +17278,10 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
17257
17278
  return __generator(this, function (_g) {
17258
17279
  switch (_g.label) {
17259
17280
  case 0:
17260
- // console.time('AmisObjectListView')
17261
- console.log("AmisObjectListView props", props);
17262
17281
  $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;
17263
17282
  headerSchema = props.headerSchema;
17264
17283
  ctx = props.ctx;
17265
17284
  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);
17266
- console.log('AmisObjectListView ==listName=>', listName);
17267
17285
  defaults = {};
17268
17286
  objectApiName = props.objectApiName || "space_users";
17269
17287
  if (!ctx) {
@@ -17318,7 +17336,7 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
17318
17336
  "actions": [
17319
17337
  {
17320
17338
  "args": {
17321
- "url": "/app/${appId}/${objectName}/view/${event.data.result.data.recordId}?display=${ls:page_display || 'grid'}&side_object=${objectName}&side_listview_id=${listName}",
17339
+ "url": "/app/${appId}/${objectName}/view/${event.data.result.data.recordId}?side_object=${objectName}&side_listview_id=${listName}",
17322
17340
  "blank": false
17323
17341
  },
17324
17342
  "actionType": "link",
@@ -17390,8 +17408,8 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
17390
17408
  "headers": {
17391
17409
  "Authorization": "Bearer ${context.tenantId},${context.authToken}"
17392
17410
  },
17393
- "requestAdaptor": "console.log('service listview schemaApi requestAdaptor======>');api.data={query: '{spaces__findOne(id: \"none\"){_id,name}}'};return api;",
17394
- "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 ")
17411
+ "requestAdaptor": "api.data={query: '{spaces__findOne(id: \"none\"){_id,name}}'};return api;",
17412
+ "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 ")
17395
17413
  },
17396
17414
  // "body": body,
17397
17415
  // "data": serviceData
@@ -18191,7 +18209,7 @@ var AmisGlobalFooter = function (props) { return __awaiter(void 0, void 0, void
18191
18209
  schemaApi: {
18192
18210
  "method": "get",
18193
18211
  "url": "${context.rootUrl}/service/api/apps/".concat(appId, "/menus?mobile=true"),
18194
- "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 "),
18212
+ "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 "),
18195
18213
  "headers": {
18196
18214
  "Authorization": "Bearer ${context.tenantId},${context.authToken}"
18197
18215
  }
@@ -19033,8 +19051,9 @@ var PageRecordDetail = function (props) { return __awaiter(void 0, void 0, void
19033
19051
  switch (_a.label) {
19034
19052
  case 0:
19035
19053
  defaultFormFactor = props.formFactor, appId = props.appId, objectApiName = props.objectApiName, props.recordId, display = props.display;
19036
- //TODO 此代码应该在object page template中处理
19037
- Router$1.setTabDisplayAs(objectApiName, display);
19054
+ if (display) {
19055
+ Router$1.setTabDisplayAs(objectApiName, display);
19056
+ }
19038
19057
  recordSchema = {};
19039
19058
  return [4 /*yield*/, getPage({ type: 'record', appId: appId, objectName: objectApiName, formFactor: defaultFormFactor })];
19040
19059
  case 1: