@steedos-widgets/amis-lib 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.
package/dist/index.umd.js CHANGED
@@ -360,7 +360,7 @@
360
360
  * @Author: baozhoutao@steedos.com
361
361
  * @Date: 2022-08-16 17:02:08
362
362
  * @LastEditors: baozhoutao@steedos.com
363
- * @LastEditTime: 2023-04-19 15:25:50
363
+ * @LastEditTime: 2023-06-20 13:50:15
364
364
  * @Description:
365
365
  */
366
366
 
@@ -371,14 +371,14 @@
371
371
  if(urlSearch.has('display')){
372
372
  return urlSearch.get('display')
373
373
  }
374
- // const key = `tab.${tab_id}.display`;
375
- const key = `page_display`;
374
+ const key = `tab_${tab_id}_display`;
375
+ // const key = `page_display`;
376
376
  const value = localStorage.getItem(key);
377
377
  return value ? value : 'grid'
378
378
  },
379
379
 
380
380
  setTabDisplayAs(tab_id, displayAs){
381
- const key = `tab.${tab_id}.display`;
381
+ const key = `tab_${tab_id}_display`;
382
382
  localStorage.setItem(key, displayAs);
383
383
  },
384
384
  getAppPath({formFactor, appId}){
@@ -392,15 +392,10 @@
392
392
  },
393
393
  getObjectDetailPath(props){
394
394
  const {formFactor, appId, objectName, recordId, listViewName, _templateType} = props;
395
- // var urlParams = new URLSearchParams(window.location.search);
396
- // if(objectName === 'instances'){
397
- // return `/workflow/space/\${context.tenantId}/\${listName}/${recordId}`;
398
- // }
399
- const displayAs = Router.getTabDisplayAs(objectName); //urlParams.get("display") ||
400
395
  if(_templateType === 'JavaScript'){
401
- return `/app/${appId}/${objectName}/view/${recordId}?display=${displayAs}&side_object=<%=item.objectName%>&side_listview_id=<%=item.listName%>`;
396
+ return `/app/${appId}/${objectName}/view/${recordId}?side_object=<%=item.objectName%>&side_listview_id=<%=item.listName%>`;
402
397
  }
403
- return `/app/${appId}/${objectName}/view/${recordId}?display=${displayAs}&side_object=\${objectName}&side_listview_id=\${listName}`;
398
+ return `/app/${appId}/${objectName}/view/${recordId}?side_object=\${objectName}&side_listview_id=\${listName}`;
404
399
  },
405
400
  getObjectRelatedViewPath({formFactor, appId, masterObjectName, masterRecordId, objectName, foreignKey}){
406
401
  return `/app/${appId}/${masterObjectName}/${masterRecordId}/${objectName}/grid?related_field_name=${foreignKey}`;
@@ -3150,7 +3145,10 @@
3150
3145
  const formSchema = {
3151
3146
  "type": "service",
3152
3147
  "visibleOn": "this.filterFormSearchableFields && this.filterFormSearchableFields.length",
3153
- "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",
3148
+ "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",
3149
+ "style":{
3150
+ "max-height":ctx.formFactor === 'SMALL'?"30vh":"unset"
3151
+ },
3154
3152
  "schemaApi": {
3155
3153
  method: 'post',
3156
3154
  url: `\${context.rootUrl}/graphql?reload=\${filterFormSearchableFields|join}`,
@@ -5083,14 +5081,14 @@
5083
5081
  {
5084
5082
  "type": "button",
5085
5083
  "label": i18next__default["default"].t('frontend_display_type_is_table'),
5086
- "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');",
5084
+ "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');",
5087
5085
  "rightIcon": displayAs != 'split' ? "fa fa-check" : null,
5088
5086
  "rightIconClassName": "m-l-sm"
5089
5087
  },
5090
5088
  {
5091
5089
  "type": "button",
5092
5090
  "label": i18next__default["default"].t('frontend_display_type_is_split'),
5093
- "onClick": "const url = document.location.pathname + '?display=split'; props.env.jumpTo(url);",
5091
+ "onClick": "const key = 'tab_"+objectName+"_display';localStorage.setItem(key, 'split');const url = document.location.pathname + '?display=split'; props.env.jumpTo(url);",
5094
5092
  "rightIcon": displayAs === 'split' ? "fa fa-check" : null,
5095
5093
  "rightIconClassName": "m-l-sm"
5096
5094
  }
@@ -5252,7 +5250,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
5252
5250
  },
5253
5251
  // getExportExcelToolbarButtonSchema(),
5254
5252
  getSettingListviewToolbarButtonSchema(),
5255
- getDisplayAsButton(showDisplayAs),
5253
+ getDisplayAsButton(mainObject?.name),
5256
5254
  filterVisible ? {
5257
5255
  "label": i18next__default["default"].t('frontend_button_search_tooltip'),
5258
5256
  "icon": "fa fa-search",
@@ -8083,13 +8081,13 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
8083
8081
  const masterRecord = self._master.record;
8084
8082
  const masterObjectName = self._master.objectName;
8085
8083
  let relatedValue = self._master.recordId;
8086
- if(refField.reference_to_field && refField.reference_to_field != '_id'){
8084
+ if(refField && refField.reference_to_field && refField.reference_to_field != '_id'){
8087
8085
  relatedValue = masterRecord[refField.reference_to_field]
8088
8086
  }
8089
8087
  let relatedFilters;
8090
8088
  if (
8091
- refField._reference_to ||
8092
- (refField.reference_to && !_.isString(refField.reference_to))
8089
+ refField && (refField._reference_to ||
8090
+ (refField.reference_to && !_.isString(refField.reference_to)))
8093
8091
  ) {
8094
8092
  relatedFilters = [
8095
8093
  [relatedKey + "/o", "=", masterObjectName],
@@ -8239,7 +8237,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
8239
8237
 
8240
8238
  const API_CACHE = 100;
8241
8239
 
8242
- function getReadonlyFormAdaptor(object, fields){
8240
+ function getReadonlyFormAdaptor(object, fields, options){
8243
8241
  let scriptStr = '';
8244
8242
  const selectFields = ___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))});
8245
8243
  const gridAndObjectFieldsName = ___namespace.map(___namespace.filter(fields, function(field){return field.name.indexOf('.') < 0 && (field.type === 'object' || field.type === 'grid')}), 'name');
@@ -8279,9 +8277,16 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
8279
8277
 
8280
8278
  return `
8281
8279
  if(payload.data.data.length === 0){
8282
- return {
8283
- status: 2,
8284
- msg: "无法找到记录"
8280
+ var isEditor = !!${options && options.isEditor};
8281
+ if(isEditor){
8282
+ // 设计器中始终显示表单,有记录则显示第一条记录,没记录时显示为空表单
8283
+ payload.data.data = [{}];
8284
+ }
8285
+ else{
8286
+ return {
8287
+ status: 2,
8288
+ msg: "无法找到记录"
8289
+ }
8285
8290
  }
8286
8291
  }
8287
8292
  if(payload.data.data){
@@ -8298,7 +8303,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
8298
8303
  var record = _.cloneDeep(data);
8299
8304
  try{
8300
8305
  _.each(gridAndObjectFieldsName, function(name){
8301
- data[name] = data._display[name];
8306
+ data[name] = data._display && data._display[name];
8302
8307
  })
8303
8308
  }catch(e){
8304
8309
  console.error(e)
@@ -8319,10 +8324,10 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
8319
8324
  async function getReadonlyFormInitApi(object, recordId, fields, options){
8320
8325
  return {
8321
8326
  method: "post",
8322
- url: getApi$2()+"&recordId=${recordId}",
8327
+ url: getApi$2() + '&objectName=${objectName}' + "&recordId=${recordId}",
8323
8328
  cache: API_CACHE,
8324
8329
  // requestAdaptor: "console.log('getReadonlyFormInitApi requestAdaptor', api);return api;",
8325
- adaptor: getReadonlyFormAdaptor(object, fields),
8330
+ adaptor: getReadonlyFormAdaptor(object, fields, options),
8326
8331
  data: await getFindOneQuery$1(object, recordId, fields, options),
8327
8332
  headers: {
8328
8333
  Authorization: "Bearer ${context.tenantId},${context.authToken}"
@@ -9754,8 +9759,8 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
9754
9759
  /*
9755
9760
  * @Author: baozhoutao@steedos.com
9756
9761
  * @Date: 2022-07-05 15:55:39
9757
- * @LastEditors: Please set LastEditors
9758
- * @LastEditTime: 2023-05-17 09:09:33
9762
+ * @LastEditors: liaodaxue
9763
+ * @LastEditTime: 2023-06-20 14:05:50
9759
9764
  * @Description:
9760
9765
  */
9761
9766
 
@@ -9798,10 +9803,11 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
9798
9803
  if(!_$1.isEmpty(relatedLists)){
9799
9804
  for (const relatedList of relatedLists) {
9800
9805
  const arr = relatedList.related_field_fullname.split(".");
9806
+ const foreign_key = arr[2] ? arr[1]+'.'+arr[2] : arr[1];
9801
9807
  related.push({
9802
9808
  masterObjectName: objectName,
9803
9809
  object_name: arr[0],
9804
- foreign_key: arr[1],
9810
+ foreign_key,
9805
9811
  label: relatedList.label,
9806
9812
  columns: relatedList.field_names,
9807
9813
  sort: relatedList.sort,
@@ -9814,10 +9820,11 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
9814
9820
  const details = [].concat(uiSchema.details || []);
9815
9821
  for (const detail of details) {
9816
9822
  const arr = detail.split(".");
9823
+ const foreign_key = arr[2] ? arr[1]+'.'+arr[2] : arr[1];
9817
9824
  related.push({
9818
9825
  masterObjectName: objectName,
9819
9826
  object_name: arr[0],
9820
- foreign_key: arr[1]
9827
+ foreign_key
9821
9828
  });
9822
9829
  }
9823
9830
  }
@@ -9849,14 +9856,16 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
9849
9856
  if(!_$1.isEmpty(mainRelatedLists)){
9850
9857
  for (const relatedList of mainRelatedLists) {
9851
9858
  const arr = relatedList.related_field_fullname.split(".");
9852
- mainRelated[arr[0]] = arr[1];
9859
+ const foreign_key_value = arr[2] ? arr[1]+'.'+arr[2] : arr[1];
9860
+ mainRelated[arr[0]] = foreign_key_value;
9853
9861
  }
9854
9862
  }else {
9855
9863
  const details = _$1.union(mainObjectUiSchema.details,mainObjectUiSchema.lookup_details) || [];
9856
9864
  for (const detail of details) {
9857
9865
  const arr = detail.split(".");
9866
+ const foreign_key_value = arr[2] ? arr[1]+'.'+arr[2] : arr[1];
9858
9867
  if(!_$1.has(mainRelated,arr[0])){
9859
- mainRelated[arr[0]] = arr[1];
9868
+ mainRelated[arr[0]] = foreign_key_value;
9860
9869
  }
9861
9870
  }
9862
9871
  }