@steedos-widgets/amis-object 1.2.25 → 1.2.27

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,13 @@ body {
1210
1213
  height: 50px;
1211
1214
  }
1212
1215
 
1216
+ .lookup-left {
1217
+ max-width: 50% !important;
1218
+ }
1219
+ .lookup-left .antd-Select-popover {
1220
+ width: auto !important;
1221
+ }
1222
+
1213
1223
  @media (min-width: 767px) {
1214
1224
  .steedos-amis-form .antd-Collapse .antd-Form--normal,
1215
1225
  .steedos-amis-form .antd-Form--normal .antd-Tabs .antd-Tabs-content .antd-Tabs-pane .form-content {
@@ -1342,13 +1352,25 @@ body {
1342
1352
  .h-fill {
1343
1353
  height: -webkit-fill-available !important;
1344
1354
  }
1355
+ .steedos-global-header-root .sidebar-wrapper .antd-Nav .antd-Nav-Menu-item-label {
1356
+ white-space: normal;
1357
+ line-height: 1.5;
1358
+ padding-top: 6px;
1359
+ padding-bottom: 6px;
1360
+ }
1361
+ .steedos-global-header-root .sidebar-wrapper .antd-Nav .antd-Nav-Menu-item-link {
1362
+ min-height: var(--Nav-Item-height);
1363
+ height: unset;
1364
+ }
1345
1365
 
1346
1366
  .steedos-global-footer {
1347
1367
  border-top: 1px solid rgb(203 213 225);
1348
1368
  }
1349
- .steedos-global-footer .antd-Nav-Menu-item,
1350
- .steedos-global-footer .antd-Nav-Menu-submenu-title {
1351
- padding-bottom: 5px !important;
1369
+ .steedos-global-footer.antd-Nav-Menu-horizontal > .antd-Nav-Menu-item-tooltip-wrap > .antd-Nav-Menu-item,
1370
+ .steedos-global-footer.antd-Nav-Menu-horizontal > .antd-Nav-Menu-overflow-item > .antd-Nav-Menu-submenu-title {
1371
+ padding-bottom: 5px;
1372
+ padding-left: 0;
1373
+ padding-right: 0;
1352
1374
  }
1353
1375
  .steedos-global-footer .antd-Nav-Menu-item,
1354
1376
  .steedos-global-footer .antd-Nav-Menu-submenu-title,
@@ -108,18 +108,6 @@ function __generator(thisArg, body) {
108
108
  }
109
109
  }
110
110
 
111
- function __values(o) {
112
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
113
- if (m) return m.call(o);
114
- if (o && typeof o.length === "number") return {
115
- next: function () {
116
- if (o && i >= o.length) o = void 0;
117
- return { value: o && o[i++], done: !o };
118
- }
119
- };
120
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
121
- }
122
-
123
111
  function __read(o, n) {
124
112
  var m = typeof Symbol === "function" && o[Symbol.iterator];
125
113
  if (!m) return o;
@@ -3517,7 +3505,7 @@ const getSteedosAuth = () => {
3517
3505
  * @Author: baozhoutao@steedos.com
3518
3506
  * @Date: 2022-08-16 17:02:08
3519
3507
  * @LastEditors: baozhoutao@steedos.com
3520
- * @LastEditTime: 2023-04-19 15:25:50
3508
+ * @LastEditTime: 2023-06-20 13:50:15
3521
3509
  * @Description:
3522
3510
  */
3523
3511
 
@@ -3528,14 +3516,14 @@ const Router$1 = {
3528
3516
  if(urlSearch.has('display')){
3529
3517
  return urlSearch.get('display')
3530
3518
  }
3531
- // const key = `tab.${tab_id}.display`;
3532
- const key = `page_display`;
3519
+ const key = `tab_${tab_id}_display`;
3520
+ // const key = `page_display`;
3533
3521
  const value = localStorage.getItem(key);
3534
3522
  return value ? value : 'grid'
3535
3523
  },
3536
3524
 
3537
3525
  setTabDisplayAs(tab_id, displayAs){
3538
- const key = `tab.${tab_id}.display`;
3526
+ const key = `tab_${tab_id}_display`;
3539
3527
  localStorage.setItem(key, displayAs);
3540
3528
  },
3541
3529
  getAppPath({formFactor, appId}){
@@ -3549,15 +3537,10 @@ const Router$1 = {
3549
3537
  },
3550
3538
  getObjectDetailPath(props){
3551
3539
  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
3540
  if(_templateType === 'JavaScript'){
3558
- return `/app/${appId}/${objectName}/view/${recordId}?display=${displayAs}&side_object=<%=item.objectName%>&side_listview_id=<%=item.listName%>`;
3541
+ return `/app/${appId}/${objectName}/view/${recordId}?side_object=<%=item.objectName%>&side_listview_id=<%=item.listName%>`;
3559
3542
  }
3560
- return `/app/${appId}/${objectName}/view/${recordId}?display=${displayAs}&side_object=\${objectName}&side_listview_id=\${listName}`;
3543
+ return `/app/${appId}/${objectName}/view/${recordId}?side_object=\${objectName}&side_listview_id=\${listName}`;
3561
3544
  },
3562
3545
  getObjectRelatedViewPath({formFactor, appId, masterObjectName, masterRecordId, objectName, foreignKey}){
3563
3546
  return `/app/${appId}/${masterObjectName}/${masterRecordId}/${objectName}/grid?related_field_name=${foreignKey}`;
@@ -3833,6 +3816,10 @@ async function getFieldsTemplate(fields, expand){
3833
3816
  if(___default.includes(['percent','time','filesize','date','datetime','boolean','number','currency', 'select', 'file', 'image', 'avatar', 'formula', 'summary', 'object', 'grid'], field.type)){
3834
3817
  displayFields.push(`${field.name}`);
3835
3818
  }
3819
+ }else {
3820
+ objectFieldName = field.name.split('.')[0];
3821
+ fieldsName.push(objectFieldName);
3822
+ displayFields.push(objectFieldName);
3836
3823
  }
3837
3824
  }
3838
3825
 
@@ -6307,7 +6294,10 @@ async function getObjectFieldsFilterFormSchema(ctx) {
6307
6294
  const formSchema = {
6308
6295
  "type": "service",
6309
6296
  "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",
6297
+ "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",
6298
+ "style":{
6299
+ "max-height":ctx.formFactor === 'SMALL'?"30vh":"unset"
6300
+ },
6311
6301
  "schemaApi": {
6312
6302
  method: 'post',
6313
6303
  url: `\${context.rootUrl}/graphql?reload=\${filterFormSearchableFields|join}`,
@@ -8240,14 +8230,14 @@ const getDisplayAsButton = function(objectName, showDisplayAs){
8240
8230
  {
8241
8231
  "type": "button",
8242
8232
  "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');",
8233
+ "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
8234
  "rightIcon": displayAs != 'split' ? "fa fa-check" : null,
8245
8235
  "rightIconClassName": "m-l-sm"
8246
8236
  },
8247
8237
  {
8248
8238
  "type": "button",
8249
8239
  "label": instance.t('frontend_display_type_is_split'),
8250
- "onClick": "const url = document.location.pathname + '?display=split'; props.env.jumpTo(url);",
8240
+ "onClick": "const key = 'tab_"+objectName+"_display';localStorage.setItem(key, 'split');const url = document.location.pathname + '?display=split'; props.env.jumpTo(url);",
8251
8241
  "rightIcon": displayAs === 'split' ? "fa fa-check" : null,
8252
8242
  "rightIconClassName": "m-l-sm"
8253
8243
  }
@@ -8409,7 +8399,7 @@ function getObjectHeaderToolbar(mainObject, formFactor, {showDisplayAs = false,
8409
8399
  },
8410
8400
  // getExportExcelToolbarButtonSchema(),
8411
8401
  getSettingListviewToolbarButtonSchema(),
8412
- getDisplayAsButton(showDisplayAs),
8402
+ getDisplayAsButton(mainObject?.name),
8413
8403
  filterVisible ? {
8414
8404
  "label": instance.t('frontend_button_search_tooltip'),
8415
8405
  "icon": "fa fa-search",
@@ -11105,6 +11095,7 @@ async function getTableApi(mainObject, fields, options){
11105
11095
  let valueField = mainObject.key_field || '_id';
11106
11096
  const api = await getApi(mainObject, null, fields, {count: options.queryCount, alias: 'rows', limit: top, queryOptions: `filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"`});
11107
11097
 
11098
+ api.url += "&objectName=${objectName}";//设计器上对象表格组件需要切换对象重新请求列表数据
11108
11099
  if(options.isRelated){
11109
11100
  api.url += "&recordId=${_master.recordId}";
11110
11101
  }
@@ -11240,13 +11231,13 @@ async function getTableApi(mainObject, fields, options){
11240
11231
  const masterRecord = self._master.record;
11241
11232
  const masterObjectName = self._master.objectName;
11242
11233
  let relatedValue = self._master.recordId;
11243
- if(refField.reference_to_field && refField.reference_to_field != '_id'){
11234
+ if(refField && refField.reference_to_field && refField.reference_to_field != '_id'){
11244
11235
  relatedValue = masterRecord[refField.reference_to_field]
11245
11236
  }
11246
11237
  let relatedFilters;
11247
11238
  if (
11248
- refField._reference_to ||
11249
- (refField.reference_to && !_.isString(refField.reference_to))
11239
+ refField && (refField._reference_to ||
11240
+ (refField.reference_to && !_.isString(refField.reference_to)))
11250
11241
  ) {
11251
11242
  relatedFilters = [
11252
11243
  [relatedKey + "/o", "=", masterObjectName],
@@ -11396,7 +11387,7 @@ function getRecordPermissionsApi(object, recordId, options){
11396
11387
 
11397
11388
  const API_CACHE = 100;
11398
11389
 
11399
- function getReadonlyFormAdaptor(object, fields){
11390
+ function getReadonlyFormAdaptor(object, fields, options){
11400
11391
  let scriptStr = '';
11401
11392
  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
11393
  const gridAndObjectFieldsName = ___default__namespace.map(___default__namespace.filter(fields, function(field){return field.name.indexOf('.') < 0 && (field.type === 'object' || field.type === 'grid')}), 'name');
@@ -11434,11 +11425,24 @@ function getReadonlyFormAdaptor(object, fields){
11434
11425
  // }
11435
11426
  // })
11436
11427
 
11428
+ var fieldNames = ___default__namespace.map(fields, function(n){return n.name});
11437
11429
  return `
11438
11430
  if(payload.data.data.length === 0){
11439
- return {
11440
- status: 2,
11441
- msg: "无法找到记录"
11431
+ var isEditor = !!${options && options.isEditor};
11432
+ if(isEditor){
11433
+ var fieldNames = ${JSON.stringify(fieldNames)};
11434
+ var emptyDoc = {};//这里如果不把每个字段值设置为空的话,表单上会显示上一次表单上的字段值
11435
+ fieldNames.forEach(function(n){
11436
+ emptyDoc[n] = null;
11437
+ });
11438
+ // 设计器中始终显示表单,有记录则显示第一条记录,没记录时显示为空表单
11439
+ payload.data.data = [emptyDoc];
11440
+ }
11441
+ else{
11442
+ return {
11443
+ status: 2,
11444
+ msg: "无法找到记录"
11445
+ }
11442
11446
  }
11443
11447
  }
11444
11448
  if(payload.data.data){
@@ -11455,7 +11459,7 @@ function getReadonlyFormAdaptor(object, fields){
11455
11459
  var record = _.cloneDeep(data);
11456
11460
  try{
11457
11461
  _.each(gridAndObjectFieldsName, function(name){
11458
- data[name] = data._display[name];
11462
+ data[name] = data._display && data._display[name];
11459
11463
  })
11460
11464
  }catch(e){
11461
11465
  console.error(e)
@@ -11476,10 +11480,10 @@ function getReadonlyFormAdaptor(object, fields){
11476
11480
  async function getReadonlyFormInitApi(object, recordId, fields, options){
11477
11481
  return {
11478
11482
  method: "post",
11479
- url: getApi$2()+"&recordId=${recordId}",
11483
+ url: getApi$2() + '&objectName=${objectName}' + "&recordId=${recordId}",
11480
11484
  cache: API_CACHE,
11481
11485
  // requestAdaptor: "console.log('getReadonlyFormInitApi requestAdaptor', api);return api;",
11482
- adaptor: getReadonlyFormAdaptor(object, fields),
11486
+ adaptor: getReadonlyFormAdaptor(object, fields, options),
11483
11487
  data: await getFindOneQuery$1(object, recordId, fields, options),
11484
11488
  headers: {
11485
11489
  Authorization: "Bearer ${context.tenantId},${context.authToken}"
@@ -12911,8 +12915,8 @@ const getRecordPermissions = async (objectName, recordId)=>{
12911
12915
  /*
12912
12916
  * @Author: baozhoutao@steedos.com
12913
12917
  * @Date: 2022-07-05 15:55:39
12914
- * @LastEditors: Please set LastEditors
12915
- * @LastEditTime: 2023-05-17 09:09:33
12918
+ * @LastEditors: liaodaxue
12919
+ * @LastEditTime: 2023-06-20 14:05:50
12916
12920
  * @Description:
12917
12921
  */
12918
12922
 
@@ -12955,10 +12959,11 @@ async function getObjectRelatedList(
12955
12959
  if(!___default.isEmpty(relatedLists)){
12956
12960
  for (const relatedList of relatedLists) {
12957
12961
  const arr = relatedList.related_field_fullname.split(".");
12962
+ const foreign_key = arr[2] ? arr[1]+'.'+arr[2] : arr[1];
12958
12963
  related.push({
12959
12964
  masterObjectName: objectName,
12960
12965
  object_name: arr[0],
12961
- foreign_key: arr[1],
12966
+ foreign_key,
12962
12967
  label: relatedList.label,
12963
12968
  columns: relatedList.field_names,
12964
12969
  sort: relatedList.sort,
@@ -12971,10 +12976,11 @@ async function getObjectRelatedList(
12971
12976
  const details = [].concat(uiSchema.details || []);
12972
12977
  for (const detail of details) {
12973
12978
  const arr = detail.split(".");
12979
+ const foreign_key = arr[2] ? arr[1]+'.'+arr[2] : arr[1];
12974
12980
  related.push({
12975
12981
  masterObjectName: objectName,
12976
12982
  object_name: arr[0],
12977
- foreign_key: arr[1]
12983
+ foreign_key
12978
12984
  });
12979
12985
  }
12980
12986
  }
@@ -13006,14 +13012,16 @@ async function getRecordDetailRelatedListSchema(objectName, recordId, relatedObj
13006
13012
  if(!___default.isEmpty(mainRelatedLists)){
13007
13013
  for (const relatedList of mainRelatedLists) {
13008
13014
  const arr = relatedList.related_field_fullname.split(".");
13009
- mainRelated[arr[0]] = arr[1];
13015
+ const foreign_key_value = arr[2] ? arr[1]+'.'+arr[2] : arr[1];
13016
+ mainRelated[arr[0]] = foreign_key_value;
13010
13017
  }
13011
13018
  }else {
13012
13019
  const details = ___default.union(mainObjectUiSchema.details,mainObjectUiSchema.lookup_details) || [];
13013
13020
  for (const detail of details) {
13014
13021
  const arr = detail.split(".");
13022
+ const foreign_key_value = arr[2] ? arr[1]+'.'+arr[2] : arr[1];
13015
13023
  if(!___default.has(mainRelated,arr[0])){
13016
- mainRelated[arr[0]] = arr[1];
13024
+ mainRelated[arr[0]] = foreign_key_value;
13017
13025
  }
13018
13026
  }
13019
13027
  }
@@ -16770,84 +16778,71 @@ var index_esm$1 = /*#__PURE__*/Object.freeze({
16770
16778
  });
16771
16779
 
16772
16780
  var getSchema = function (field, value, ctx) { return __awaiter(void 0, void 0, void 0, function () {
16773
- var refTo, leftName, options, refTo_1, refTo_1_1, item, refObject_1, e_1_1, refObject, rightSchema;
16774
- var e_1, _a;
16775
- return __generator(this, function (_b) {
16776
- switch (_b.label) {
16781
+ var refTo, leftName, refObject, rightSchema;
16782
+ return __generator(this, function (_a) {
16783
+ switch (_a.label) {
16777
16784
  case 0:
16778
16785
  refTo = field.reference_to;
16779
16786
  if (refTo && ___default.isFunction(refTo)) {
16780
16787
  refTo = refTo();
16781
16788
  }
16782
16789
  leftName = "".concat(field.name, "__left");
16783
- options = [];
16784
- _b.label = 1;
16785
- case 1:
16786
- _b.trys.push([1, 6, 7, 8]);
16787
- refTo_1 = __values(refTo), refTo_1_1 = refTo_1.next();
16788
- _b.label = 2;
16789
- case 2:
16790
- if (!!refTo_1_1.done) return [3 /*break*/, 5];
16791
- item = refTo_1_1.value;
16792
- return [4 /*yield*/, getUISchema(item, false)];
16793
- case 3:
16794
- refObject_1 = _b.sent();
16795
- options.push({
16796
- label: refObject_1.label,
16797
- value: item,
16798
- icon: refObject_1.icon
16799
- });
16800
- _b.label = 4;
16801
- case 4:
16802
- refTo_1_1 = refTo_1.next();
16803
- return [3 /*break*/, 2];
16804
- case 5: return [3 /*break*/, 8];
16805
- case 6:
16806
- e_1_1 = _b.sent();
16807
- e_1 = { error: e_1_1 };
16808
- return [3 /*break*/, 8];
16809
- case 7:
16810
- try {
16811
- if (refTo_1_1 && !refTo_1_1.done && (_a = refTo_1.return)) _a.call(refTo_1);
16812
- }
16813
- finally { if (e_1) throw e_1.error; }
16814
- return [7 /*endfinally*/];
16815
- case 8:
16790
+ // const options = [];
16791
+ // for (const item of refTo) {
16792
+ // const refObject = await getUISchema(item, false);
16793
+ // options.push({
16794
+ // label: refObject.label,
16795
+ // value: item,
16796
+ // icon: refObject.icon
16797
+ // });
16798
+ // }
16816
16799
  // console.log(`getSchema refTo`, refTo);
16817
16800
  // console.log(`getSchema options`, options);
16818
16801
  // console.log(`getSchema value=========>`, value);
16819
16802
  if (!value || !value.o) {
16820
16803
  value = {
16821
- o: options[0].value,
16804
+ o: refTo[0],
16822
16805
  ids: []
16823
16806
  };
16824
16807
  }
16825
16808
  return [4 /*yield*/, getUISchema(value.o, false)];
16826
- case 9:
16827
- refObject = _b.sent();
16809
+ case 1:
16810
+ refObject = _a.sent();
16828
16811
  rightSchema = null;
16829
- if (!(refObject.enable_enhanced_lookup == true)) return [3 /*break*/, 11];
16812
+ if (!(refObject.enable_enhanced_lookup == true)) return [3 /*break*/, 3];
16830
16813
  return [4 /*yield*/, lookupToAmisPicker(Object.assign({}, field, { reference_to: value.o }), false, ctx)];
16831
- case 10:
16832
- rightSchema = _b.sent();
16833
- return [3 /*break*/, 13];
16834
- case 11:
16814
+ case 2:
16815
+ rightSchema = _a.sent();
16816
+ return [3 /*break*/, 5];
16817
+ case 3:
16835
16818
  if (!ctx) {
16836
16819
  ctx = {};
16837
16820
  }
16838
16821
  ctx.isRefToMutiple = ___default.isArray(refTo);
16839
16822
  return [4 /*yield*/, lookupToAmisSelect(Object.assign({}, field, { reference_to: value.o }), false, ctx)];
16840
- case 12:
16841
- rightSchema = _b.sent();
16842
- _b.label = 13;
16843
- case 13: return [2 /*return*/, {
16823
+ case 4:
16824
+ rightSchema = _a.sent();
16825
+ _a.label = 5;
16826
+ case 5: return [2 /*return*/, {
16844
16827
  "type": "input-group",
16845
16828
  "label": false,
16846
16829
  "body": [
16847
16830
  {
16848
16831
  "type": "select",
16832
+ "inputClassName": "lookup-left",
16849
16833
  "name": leftName,
16850
- "options": options,
16834
+ // "options": options,
16835
+ "source": {
16836
+ "method": "post",
16837
+ "url": "${context.rootUrl}/graphql",
16838
+ "data": {
16839
+ "query": "{options:objects(filters: {__filters}, top: {__top}, sort: \"{__sort}\"){_id label:label value:name icon},count:objects__count(filters:{__filters})}"
16840
+ },
16841
+ "headers": {
16842
+ "Authorization": "Bearer ${context.tenantId},${context.authToken}"
16843
+ },
16844
+ "requestAdaptor": "\nvar filters = [\"name\",\"in\", ".concat(JSON.stringify(refTo), "]; \nvar top = ").concat(JSON.stringify(refTo), ".length;\n\nvar sort = \"\";\napi.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', top).replace('{__sort}', sort.trim());\nreturn api;"),
16845
+ },
16851
16846
  "value": "".concat(value.o)
16852
16847
  },
16853
16848
  Object.assign({}, rightSchema, {
@@ -17222,11 +17217,22 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
17222
17217
  if (defaultData) {
17223
17218
  // 让ObjectForm支持props中的dafaultData属性与上层组件配置的defaultData混合
17224
17219
  // 为了解决相关表新建时如果是表单类型微页面,因为找不到ObjectForm在哪层而造成无法设置ObjectForm的defaultData的问题
17225
- amisSchema.data.defaultData = __assign$2({ "&": "${defaultData}" }, defaultData);
17220
+ amisSchema.data.defaultData = __assign$2({ "&": "${defaultData}" }, defaultData //这里的defaultData是form组件的defaultData属性值
17221
+ );
17226
17222
  }
17227
17223
  uiSchema = schema.uiSchema;
17228
17224
  return [3 /*break*/, 4];
17229
- case 2: return [4 /*yield*/, getViewSchema(objectApiName, recordId, options)];
17225
+ case 2:
17226
+ // formInitProps
17227
+ if (!recordId && props.$$editor) {
17228
+ // 设计器中只读表单返回第一条记录
17229
+ options.formInitProps = {
17230
+ filters: [],
17231
+ queryOptions: "top: 1",
17232
+ isEditor: true
17233
+ };
17234
+ }
17235
+ return [4 /*yield*/, getViewSchema(objectApiName, recordId, options)];
17230
17236
  case 3:
17231
17237
  schema = _d.sent();
17232
17238
  amisSchema = schema.amisSchema;
@@ -17257,13 +17263,10 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
17257
17263
  return __generator(this, function (_g) {
17258
17264
  switch (_g.label) {
17259
17265
  case 0:
17260
- // console.time('AmisObjectListView')
17261
- console.log("AmisObjectListView props", props);
17262
17266
  $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
17267
  headerSchema = props.headerSchema;
17264
17268
  ctx = props.ctx;
17265
17269
  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
17270
  defaults = {};
17268
17271
  objectApiName = props.objectApiName || "space_users";
17269
17272
  if (!ctx) {
@@ -17318,7 +17321,7 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
17318
17321
  "actions": [
17319
17322
  {
17320
17323
  "args": {
17321
- "url": "/app/${appId}/${objectName}/view/${event.data.result.data.recordId}?display=${ls:page_display || 'grid'}&side_object=${objectName}&side_listview_id=${listName}",
17324
+ "url": "/app/${appId}/${objectName}/view/${event.data.result.data.recordId}?side_object=${objectName}&side_listview_id=${listName}",
17322
17325
  "blank": false
17323
17326
  },
17324
17327
  "actionType": "link",
@@ -17384,14 +17387,15 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
17384
17387
  {
17385
17388
  "type": "service",
17386
17389
  "schemaApi": {
17387
- "url": "${context.rootUrl}/graphql?listName=${listName}&display=${display}",
17390
+ // 这里url上加objectApiName属性是因为设计器中切换对象时不会变更列表视图界面,不可以用objectName=${objectName}使用作用域中objectName变量是因为设计器那边不会监听识别data变化来render组件
17391
+ "url": "${context.rootUrl}/graphql?objectName=" + objectApiName + "&listName=${listName}&display=${display}",
17388
17392
  "method": "post",
17389
17393
  "messages": {},
17390
17394
  "headers": {
17391
17395
  "Authorization": "Bearer ${context.tenantId},${context.authToken}"
17392
17396
  },
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 ")
17397
+ "requestAdaptor": "api.data={query: '{spaces__findOne(id: \"none\"){_id,name}}'};return api;",
17398
+ "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
17399
  },
17396
17400
  // "body": body,
17397
17401
  // "data": serviceData
@@ -17478,7 +17482,11 @@ var AmisObjectTable = function (props) { return __awaiter(void 0, void 0, void 0
17478
17482
  case 1:
17479
17483
  amisSchema = (_d.sent()).amisSchema;
17480
17484
  amisSchema.data = Object.assign({}, amisSchema.data, amisSchemaData);
17485
+ if (___default.has(props, 'objectApiName')) {
17486
+ amisSchema.data.objectName = objectApiName;
17487
+ }
17481
17488
  amisSchema.className = "steedos-object-table h-full flex flex-col ".concat(className);
17489
+ amisSchema.objectApiName = objectApiName; //设计器中切换对象时画布中显示的列未同步变更
17482
17490
  // console.log(`AmisObjectTable===>amisSchema`, amisSchema)
17483
17491
  // console.timeEnd('AmisObjectTable')
17484
17492
  return [2 /*return*/, amisSchema];
@@ -18191,7 +18199,7 @@ var AmisGlobalFooter = function (props) { return __awaiter(void 0, void 0, void
18191
18199
  schemaApi: {
18192
18200
  "method": "get",
18193
18201
  "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 "),
18202
+ "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
18203
  "headers": {
18196
18204
  "Authorization": "Bearer ${context.tenantId},${context.authToken}"
18197
18205
  }
@@ -19033,8 +19041,9 @@ var PageRecordDetail = function (props) { return __awaiter(void 0, void 0, void
19033
19041
  switch (_a.label) {
19034
19042
  case 0:
19035
19043
  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);
19044
+ if (display) {
19045
+ Router$1.setTabDisplayAs(objectApiName, display);
19046
+ }
19038
19047
  recordSchema = {};
19039
19048
  return [4 /*yield*/, getPage({ type: 'record', appId: appId, objectName: objectApiName, formFactor: defaultFormFactor })];
19040
19049
  case 1: