@steedos-widgets/amis-object 1.2.0-beta.0 → 1.2.0-beta.2

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.
@@ -693,7 +693,7 @@ const getSteedosAuth = () => {
693
693
  * @Author: baozhoutao@steedos.com
694
694
  * @Date: 2022-08-16 17:02:08
695
695
  * @LastEditors: baozhoutao@steedos.com
696
- * @LastEditTime: 2023-03-03 14:52:18
696
+ * @LastEditTime: 2023-04-11 09:57:37
697
697
  * @Description:
698
698
  */
699
699
 
@@ -720,10 +720,11 @@ const Router$1 = {
720
720
  },
721
721
  getObjectDetailPath(props){
722
722
  const {formFactor, appId, objectName, recordId, listViewName, _templateType} = props;
723
+ // var urlParams = new URLSearchParams(window.location.search);
723
724
  // if(objectName === 'instances'){
724
725
  // return `/workflow/space/\${context.tenantId}/\${listName}/${recordId}`;
725
726
  // }
726
- const displayAs = Router$1.getTabDisplayAs(objectName);
727
+ const displayAs = Router$1.getTabDisplayAs(objectName); //urlParams.get("display") ||
727
728
  if(_templateType === 'JavaScript'){
728
729
  return `/app/${appId}/${objectName}/view/${recordId}?display=${displayAs}&side_object=<%=item.objectName%>&side_listview_id=<%=item.listName%>`;
729
730
  }
@@ -739,7 +740,7 @@ const Router$1 = {
739
740
  * @Author: baozhoutao@steedos.com
740
741
  * @Date: 2022-05-23 09:53:08
741
742
  * @LastEditors: baozhoutao@steedos.com
742
- * @LastEditTime: 2023-03-09 10:00:44
743
+ * @LastEditTime: 2023-04-10 11:22:54
743
744
  * @Description:
744
745
  */
745
746
 
@@ -934,6 +935,7 @@ async function getFieldTpl (field, options){
934
935
  case 'number':
935
936
  case 'currency':
936
937
  return await getNumberTpl(field);
938
+ case 'percent':
937
939
  case 'formula':
938
940
  case 'summary':
939
941
  return getUiFieldTpl(field)
@@ -966,7 +968,7 @@ async function getFieldsTemplate(fields, expand){
966
968
  if(includes(['time','date','datetime','boolean','number','currency'], field.type)){
967
969
  fieldsName.push(`${field.name}`);
968
970
  }
969
- if(includes(['time','filesize','date','datetime','boolean','number','currency', 'select', 'file', 'image', 'avatar', 'formula', 'summary', 'object', 'grid'], field.type)){
971
+ if(includes(['percent','time','filesize','date','datetime','boolean','number','currency', 'select', 'file', 'image', 'avatar', 'formula', 'summary', 'object', 'grid'], field.type)){
970
972
  displayFields.push(`${field.name}`);
971
973
  }
972
974
  }
@@ -1011,11 +1013,7 @@ function getRecordPermissionsTemplate(){
1011
1013
  }
1012
1014
 
1013
1015
  async function getFindOneQuery$1(object, recordId, fields, options){
1014
- let queryOptions = "";
1015
-
1016
- if(recordId){
1017
- queryOptions = `(filters:["${object.idFieldName}", "=", "${recordId}"])`;
1018
- }
1016
+ let queryOptions = `(filters:["${object.idFieldName}", "=", "\${recordId}"])`;
1019
1017
  let alias = "data";
1020
1018
  if(options){
1021
1019
  if(options.alias){
@@ -1724,8 +1722,8 @@ var config = {
1724
1722
  /*
1725
1723
  * @Author: baozhoutao@steedos.com
1726
1724
  * @Date: 2022-11-01 15:51:00
1727
- * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
1728
- * @LastEditTime: 2023-03-27 15:42:24
1725
+ * @LastEditors: Please set LastEditors
1726
+ * @LastEditTime: 2023-04-11 13:58:24
1729
1727
  * @Description:
1730
1728
  */
1731
1729
 
@@ -1743,6 +1741,36 @@ const getSchema$4 = async (uiSchema, ctx) => {
1743
1741
  if (payload && payload.schema) {
1744
1742
  formSchema = _.isString(payload.schema) ? JSON.parse(payload.schema) : payload.schema;
1745
1743
  }
1744
+
1745
+ const _master = api.body._master;
1746
+ if(_master && _master._isRelated){
1747
+ const relatedKey = _master.relatedKey;
1748
+ const masterObjectName = _master.objectName;
1749
+ const recordId = _master.recordId;
1750
+ let relatedKeySaveValue = recordId;
1751
+ const fields = ${JSON.stringify(uiSchema.fields)};
1752
+ const relatedField = fields[relatedKey];
1753
+ if(relatedField.reference_to_field && relatedField.reference_to_field !== '_id'){
1754
+ relatedKeySaveValue = _master.record[relatedField.reference_to_field];
1755
+ }
1756
+ let defaultData = {};
1757
+ let relatedKeyValue;
1758
+ if(!_.isString(relatedField.reference_to)){
1759
+ relatedKeyValue = { o: masterObjectName, ids: [relatedKeySaveValue] };
1760
+ }else if (relatedField.multiple) {
1761
+ relatedKeyValue = [relatedKeySaveValue];
1762
+ } else {
1763
+ relatedKeyValue = relatedKeySaveValue;
1764
+ }
1765
+ defaultData[relatedKey]=relatedKeyValue;
1766
+ if(payload.schema){
1767
+ // 表单微页面第一层要求是page
1768
+ formSchema.data.defaultData = defaultData;
1769
+ }else{
1770
+ formSchema.defaultData = defaultData;
1771
+ }
1772
+ }
1773
+
1746
1774
  return {
1747
1775
  data: formSchema
1748
1776
  };
@@ -1766,7 +1794,8 @@ const getSchema$4 = async (uiSchema, ctx) => {
1766
1794
  "data": {
1767
1795
  "$master": "$$",
1768
1796
  "_master": "${_master}",
1769
- "defaultData": "${defaultData}",
1797
+ "_master._isRelated": "${_isRelated}",
1798
+ "_master.relatedKey": "${relatedKey}",
1770
1799
  "appId": "${appId}",
1771
1800
  "objectName": "${objectName}",
1772
1801
  "context": "${context}",
@@ -1784,7 +1813,8 @@ const getSchema$4 = async (uiSchema, ctx) => {
1784
1813
  "messages": {},
1785
1814
  "schemaApi": {
1786
1815
  "data": {
1787
- "isLookup": "${isLookup}"
1816
+ "isLookup": "${isLookup}",
1817
+ "_master": "${_master}"
1788
1818
  },
1789
1819
  "url": "${context.rootUrl}/api/pageSchema/form?app=${appId}&objectApiName=${objectName}&formFactor=${formFactor}",
1790
1820
  "method": "get",
@@ -1822,7 +1852,7 @@ const getSchema$4 = async (uiSchema, ctx) => {
1822
1852
  * @Author: baozhoutao@steedos.com
1823
1853
  * @Date: 2022-07-13 15:18:03
1824
1854
  * @LastEditors: baozhoutao@steedos.com
1825
- * @LastEditTime: 2022-11-08 09:35:03
1855
+ * @LastEditTime: 2023-04-11 10:34:26
1826
1856
  * @Description:
1827
1857
  */
1828
1858
 
@@ -1830,6 +1860,13 @@ async function getPage({type, pageId = '', appId, objectName = '', recordId = ''
1830
1860
  const api = `/api/pageSchema/${type}?app=${appId}&objectApiName=${objectName}&recordId=${recordId}&pageId=${pageId}&formFactor=${formFactor}`;
1831
1861
  const page = await fetchAPI(api);
1832
1862
  if (page && page.schema) {
1863
+ page.schema = JSON.parse(page.schema);
1864
+ if(page.schema.data){
1865
+ delete page.schema.data.recordId;
1866
+ delete page.schema.data.objectName;
1867
+ delete page.schema.data.context;
1868
+ delete page.schema.data.global;
1869
+ }
1833
1870
  return page;
1834
1871
  }
1835
1872
  }
@@ -1907,8 +1944,8 @@ const getSchema$3 = async (uiSchema, ctx) => {
1907
1944
  /*
1908
1945
  * @Author: 殷亮辉 yinlianghui@hotoa.com
1909
1946
  * @Date: 2023-03-22 09:31:21
1910
- * @LastEditors: Please set LastEditors
1911
- * @LastEditTime: 2023-03-28 14:06:47
1947
+ * @LastEditors: baozhoutao@steedos.com
1948
+ * @LastEditTime: 2023-04-06 16:04:20
1912
1949
  */
1913
1950
  const getSchema$2 = (uiSchema)=>{
1914
1951
  return {
@@ -1938,15 +1975,11 @@ const getSchema$2 = (uiSchema)=>{
1938
1975
  },
1939
1976
  "adaptor": `
1940
1977
  if(payload.errors){
1941
- payload.status = 2;
1942
- payload.msg = payload.errors[0].message;
1978
+ payload.status = 2;
1979
+ payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;
1943
1980
  }
1944
1981
  return payload;
1945
1982
  `,
1946
- },
1947
- "messages": {
1948
- "success": "删除成功",
1949
- "failed": "删除失败"
1950
1983
  }
1951
1984
  },
1952
1985
  "actionType": "ajax"
@@ -2309,7 +2342,7 @@ const StandardButtons = {
2309
2342
  getStandardNew: async (uiSchema, ctx)=>{
2310
2343
  return {
2311
2344
  type: 'amis_button',
2312
- amis_schema: await getSchema$4()
2345
+ amis_schema: await getSchema$4(uiSchema)
2313
2346
  }
2314
2347
  },
2315
2348
  getStandardEdit: async (uiSchema, ctx)=>{
@@ -2393,7 +2426,7 @@ function getButtonVisibleOn$1(button){
2393
2426
  if(visible.trim().startsWith('function')){
2394
2427
  return `${visible}.apply({
2395
2428
  object: uiSchema
2396
- }, [objectName, _id, typeof record === 'undefined' ? (typeof recordPermissions === 'undefined' ? {} : recordPermissions) : record.recordPermissions, data])`
2429
+ }, [objectName, typeof _id === 'undefined' ? null: _id, typeof record === 'undefined' ? (typeof recordPermissions === 'undefined' ? {} : recordPermissions) : record.recordPermissions, data])`
2397
2430
  }
2398
2431
  return visible;
2399
2432
  }
@@ -3523,9 +3556,8 @@ async function getObjectRecordDetailHeader(objectSchema, recordId, options) {
3523
3556
 
3524
3557
  let body = [
3525
3558
  {
3526
- "type": "service",
3527
- "id": `page_readonly_${name}_header`,
3528
- data: { "&":"$$", objectName: name, _id: recordId, recordPermissions: "${record.recordPermissions}", uiSchema: objectSchema},
3559
+ "type": "wrapper",
3560
+ "className": "p-0",
3529
3561
  "body": [
3530
3562
  {
3531
3563
  "type": "grid",
@@ -3533,14 +3565,14 @@ async function getObjectRecordDetailHeader(objectSchema, recordId, options) {
3533
3565
  "className": "flex justify-between"
3534
3566
  }
3535
3567
  ],
3536
- "messages": {},
3537
3568
  "hiddenOn": "${recordLoaded != true}"
3538
3569
  }
3539
3570
  ];
3540
3571
 
3541
3572
  if(showRecordTitle){
3542
3573
  body.push({
3543
- "type": "service",
3574
+ "type": "wrapper",
3575
+ "className": "p-0",
3544
3576
  "body": [
3545
3577
  {
3546
3578
  "type": "grid",
@@ -3548,16 +3580,15 @@ async function getObjectRecordDetailHeader(objectSchema, recordId, options) {
3548
3580
  "className": "flex justify-between"
3549
3581
  }
3550
3582
  ],
3551
- "messages": {},
3552
3583
  "hiddenOn": "${recordLoaded == true}"
3553
3584
  });
3554
3585
  }
3555
3586
 
3556
3587
  return {
3557
3588
  type: 'service',
3558
- bodyClassName: '',
3589
+ id: `page_readonly_${name}_header`,
3559
3590
  name: `page`,
3560
- data: { "&":"$$", objectName: name, _id: recordId, recordPermissions: objectSchema.permissions, uiSchema: objectSchema, record: "${record}"},
3591
+ data: { objectName: name, _id: recordId, recordPermissions: objectSchema.permissions, uiSchema: objectSchema, record: "${record}" },
3561
3592
  body: body,
3562
3593
  className: ''
3563
3594
  }
@@ -3612,7 +3643,7 @@ async function getObjectRecordDetailRelatedListHeader(relatedObjectSchema, relat
3612
3643
  "body": [
3613
3644
  {
3614
3645
  "type": "tpl",
3615
- "tpl": `<a class="text-black text-base font-bold" href="/app/\${appId}/\${masterObjectName}/\${masterRecordId}/\${objectName}/grid?related_field_name=\${relatedKey}">${relatedLabel}(\${$count})</a>`,
3646
+ "tpl": `<a class="text-black text-base font-bold" href="/app/\${appId}/\${_master.objectName}/\${_master.recordId}/\${objectName}/grid?related_field_name=\${relatedKey}">${relatedLabel}(\${$count})</a>`,
3616
3647
  "inline": false,
3617
3648
  "wrapperComponent": "",
3618
3649
  "className": "",
@@ -3653,17 +3684,22 @@ async function getObjectRecordDetailRelatedListHeader(relatedObjectSchema, relat
3653
3684
  async function getObjectRelatedListHeader(objectSchema, recordId, relatedObjectName) {
3654
3685
  }
3655
3686
 
3656
- const getDisplayAsButton = function(showDisplayAs){
3687
+ const getDisplayAsButton = function(objectName, showDisplayAs){
3688
+ let displayAs = Router$1.getTabDisplayAs(objectName);
3657
3689
  let buttons = [
3658
3690
  {
3659
3691
  "type": "button",
3660
3692
  "label": "表格",
3661
- "onClick": "const url = document.location.pathname + '?display=grid'; props.env.jumpTo(url);"
3693
+ "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');",
3694
+ "rightIcon": displayAs != 'split' ? "fa fa-check" : null,
3695
+ "rightIconClassName": "m-l-sm"
3662
3696
  },
3663
3697
  {
3664
3698
  "type": "button",
3665
3699
  "label": "分栏视图",
3666
- "onClick": "const url = document.location.pathname + '?display=split'; props.env.jumpTo(url);"
3700
+ "onClick": "const url = document.location.pathname + '?display=split'; props.env.jumpTo(url);",
3701
+ "rightIcon": displayAs === 'split' ? "fa fa-check" : null,
3702
+ "rightIconClassName": "m-l-sm"
3667
3703
  }
3668
3704
  ];
3669
3705
  return {
@@ -3805,7 +3841,7 @@ function getObjectHeaderToolbar(mainObject, formFactor, {showDisplayAs = false,
3805
3841
  }
3806
3842
  }
3807
3843
  },
3808
- showDisplayAs? getDisplayAsButton() : {}
3844
+ showDisplayAs? getDisplayAsButton(mainObject?.name) : {}
3809
3845
  ]
3810
3846
  }else {
3811
3847
  return [
@@ -3886,7 +3922,7 @@ function getObjectHeaderToolbar(mainObject, formFactor, {showDisplayAs = false,
3886
3922
  }
3887
3923
  }
3888
3924
  },
3889
- showDisplayAs? getDisplayAsButton() : {}
3925
+ showDisplayAs? getDisplayAsButton(showDisplayAs) : {}
3890
3926
  // {
3891
3927
  // "type": "search-box",
3892
3928
  // "align": "right",
@@ -4176,13 +4212,14 @@ function getLookupSapceUserTreeSchema(){
4176
4212
  "headers": {
4177
4213
  "Authorization": "Bearer ${context.tenantId},${context.authToken}"
4178
4214
  },
4179
- "adaptor": " const records = payload.data.options;\n const treeRecords = [];\n const getChildren = (records, childrenIds) => {\n if (!childrenIds) {\n return;\n }\n const children = _.filter(records, (record) => {\n return _.includes(childrenIds, record.value)\n });\n _.each(children, (item) => {\n if (item.children) {\n item.children = getChildren(records, item.children)\n }\n })\n return children;\n }\n\n const getRoot = (records) => {\n for (var i = 0; i < records.length; i++){\n records[i].noParent = 0;\n if (!!records[i].parent) {\n biaozhi = 1\n for (var j = 0; j < records.length; j++){\n if (records[i].parent == records[j].value)\n biaozhi = 0;\n }\n if (biaozhi == 1) records[i].noParent = 1;\n } else records[i].noParent = 1;\n }\n }\n getRoot(records);\n console.log(records)\n\n _.each(records, (record) => {\n if (record.noParent ==1) {\n treeRecords.push(Object.assign({}, record, { children: getChildren(records, record.children) }));\n }\n });\n console.log(treeRecords)\n\n payload.data.options = treeRecords;\n return payload;\n ",
4215
+ "adaptor": "if (payload.data.treeCache == true) {\n return payload;\n }\n const records = payload.data.options;\n const treeRecords = [];\n const getChildren = (records, childrenIds) => {\n if (!childrenIds) {\n return;\n }\n const children = _.filter(records, (record) => {\n return _.includes(childrenIds, record.value)\n });\n _.each(children, (item) => {\n if (item.children) {\n item.children = getChildren(records, item.children)\n }\n })\n return children;\n }\n\n const getRoot = (records) => {\n for (var i = 0; i < records.length; i++){\n records[i].noParent = 0;\n if (!!records[i].parent) {\n biaozhi = 1\n for (var j = 0; j < records.length; j++){\n if (records[i].parent == records[j].value)\n biaozhi = 0;\n }\n if (biaozhi == 1) records[i].noParent = 1;\n } else records[i].noParent = 1;\n }\n }\n getRoot(records);\n console.log(records)\n\n _.each(records, (record) => {\n if (record.noParent ==1) {\n treeRecords.push(Object.assign({}, record, { children: getChildren(records, record.children) }));\n }\n });\n console.log(treeRecords)\n\n payload.data.options = treeRecords;\n payload.data.treeCache = true;\n return payload;\n ",
4180
4216
  "requestAdaptor": "\n ",
4181
4217
  "data": {
4182
4218
  "query": "{options:organizations(filters:[\"hidden\", \"!=\", true],sort:\"sort_no desc\"){value:_id label:name,parent,children}}"
4183
4219
  },
4184
4220
  "messages": {
4185
- }
4221
+ },
4222
+ "cache": 300000
4186
4223
  },
4187
4224
  "onEvent": {
4188
4225
  "change": {
@@ -4573,20 +4610,20 @@ async function lookupToAmisSelect(field, readonly, ctx){
4573
4610
 
4574
4611
  if(referenceTo){
4575
4612
  // 字段值单独走一个请求合并到source的同一个GraphQL接口中
4576
- const defaultValueOptionsQueryData = await getFindQuery({ name: referenceTo.objectName }, null, {
4577
- [referenceTo.labelField.name]: Object.assign({}, referenceTo.labelField, {alias: 'label'}),
4578
- [referenceTo.valueField.name]: Object.assign({}, referenceTo.valueField, {alias: 'value'})
4579
- }, {
4613
+ const defaultValueOptionsQueryData = await getFindQuery({ name: referenceTo.objectName }, null, [
4614
+ Object.assign({}, referenceTo.labelField, {alias: 'label'}),
4615
+ Object.assign({}, referenceTo.valueField, {alias: 'value'})
4616
+ ], {
4580
4617
  alias: "defaultValueOptions",
4581
4618
  filters: "{__options_filters}",
4582
4619
  count: false
4583
4620
  });
4584
4621
  apiInfo = await getApi$1({
4585
4622
  name: referenceTo.objectName
4586
- }, null, {
4587
- [referenceTo.labelField.name]: Object.assign({}, referenceTo.labelField, {alias: 'label'}),
4588
- [referenceTo.valueField.name]: Object.assign({}, referenceTo.valueField, {alias: 'value'})
4589
- }, {expand: false, alias: 'options', queryOptions: `filters: {__filters}, top: {__top}, sort: "{__sort}"`, moreQueries: [defaultValueOptionsQueryData.query]});
4623
+ }, null, [
4624
+ Object.assign({}, referenceTo.labelField, {alias: 'label'}),
4625
+ Object.assign({}, referenceTo.valueField, {alias: 'value'})
4626
+ ], {expand: false, alias: 'options', queryOptions: `filters: {__filters}, top: {__top}, sort: "{__sort}"`, moreQueries: [defaultValueOptionsQueryData.query]});
4590
4627
 
4591
4628
  apiInfo.adaptor = `
4592
4629
  const data = payload.data;
@@ -5747,8 +5784,9 @@ function getReadonlyFormAdaptor(fields){
5747
5784
  async function getReadonlyFormInitApi(object, recordId, fields, options){
5748
5785
  return {
5749
5786
  method: "post",
5750
- url: getApi$2()+"?rf="+ (new Date()).getTime(),
5787
+ url: getApi$2()+"&recordId=${recordId}",
5751
5788
  cache: API_CACHE,
5789
+ // requestAdaptor: "console.log('getReadonlyFormInitApi requestAdaptor', api);return api;",
5752
5790
  adaptor: getReadonlyFormAdaptor(fields),
5753
5791
  data: await getFindOneQuery$1(object, recordId, fields, options),
5754
5792
  headers: {
@@ -5855,6 +5893,7 @@ async function getEditFormInitApi(object, recordId, fields, options){
5855
5893
  data.global = "${global}";
5856
5894
  data.context = "${context}";
5857
5895
  data.defaultData = "${defaultData}";
5896
+
5858
5897
  return {
5859
5898
  method: "post",
5860
5899
  url: getApi$2(),
@@ -6223,7 +6262,7 @@ async function getObjectCRUD(objectSchema, fields, options){
6223
6262
  keepItemSelectionOnPageChange: true,
6224
6263
  api: await getTableApi(objectSchema, fields, options),
6225
6264
  hiddenOn: options.tableHiddenOn,
6226
- autoFillHeight: true,
6265
+ autoFillHeight: options.isRelated ? false : true,
6227
6266
  className: `flex-auto ${crudClassName || ""}`,
6228
6267
  crudClassName: crudClassName,
6229
6268
  },
@@ -6266,11 +6305,11 @@ async function getObjectCRUD(objectSchema, fields, options){
6266
6305
  id: `service_${id}`,
6267
6306
  name: `page`,
6268
6307
  data: {
6269
- objectName: objectSchema.name,
6270
- _id: null,
6308
+ // objectName: objectSchema.name,
6309
+ // _id: null,
6271
6310
  recordPermissions: objectSchema.permissions,
6272
6311
  uiSchema: objectSchema,
6273
- loaded: false //crud接收适配器中设置为true,否则就是刷新浏览器第一次加载
6312
+ // loaded: false //crud接收适配器中设置为true,否则就是刷新浏览器第一次加载
6274
6313
  },
6275
6314
  body: body
6276
6315
  }
@@ -6383,6 +6422,10 @@ async function getObjectForm(objectSchema, ctx){
6383
6422
  "objectName": "${_master.objectName}"
6384
6423
  },
6385
6424
  "expression": `\${_master.objectName != '${objectSchema.name}' && _master.objectName}`
6425
+ },
6426
+ {
6427
+ "args": {},
6428
+ "actionType": "closeDialog"
6386
6429
  }
6387
6430
  ]
6388
6431
  }
@@ -6729,7 +6772,7 @@ function getButtonVisibleOn(button){
6729
6772
  // return 'false';
6730
6773
  // }
6731
6774
  if(visible.trim().startsWith('function')){
6732
- return `${visible}(objectName, _id, typeof record === 'undefined' ? (typeof recordPermissions === 'undefined' ? {} : recordPermissions) : record.recordPermissions, data)`
6775
+ return `${visible}(objectName, typeof _id === 'undefined' ? null: _id, typeof record === 'undefined' ? (typeof recordPermissions === 'undefined' ? {} : recordPermissions) : record.recordPermissions, data)`
6733
6776
  }
6734
6777
  return visible;
6735
6778
  }
@@ -6894,6 +6937,11 @@ async function getTableApi(mainObject, fields, options){
6894
6937
 
6895
6938
  let valueField = mainObject.key_field || '_id';
6896
6939
  const api = await getApi(mainObject, null, fields, {count: options.queryCount, alias: 'rows', limit: top, queryOptions: `filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"`});
6940
+
6941
+ if(options.isRelated){
6942
+ api.url += "&recordId=${recordId}";
6943
+ }
6944
+
6897
6945
  api.data.$term = "$term";
6898
6946
  api.data.$self = "$$";
6899
6947
  api.data.filter = "$filter";
@@ -7013,11 +7061,36 @@ async function getTableApi(mainObject, fields, options){
7013
7061
  if(!_.isEmpty(systemFilters)){
7014
7062
  filters = systemFilters;
7015
7063
  };
7016
-
7017
7064
  if(api.data.$self.additionalFilters){
7018
7065
  userFilters.push(api.data.$self.additionalFilters)
7019
7066
  }
7020
7067
 
7068
+ if(api.data.$self._isRelated){
7069
+ const self = api.data.$self;
7070
+ const relatedKey = self.relatedKey;
7071
+ const recordId = self.recordId;
7072
+ const refField = self.uiSchema.fields[relatedKey];
7073
+ const masterRecord = self._master.record;
7074
+ const masterObjectName = self._master.objectName;
7075
+ let relatedValue = recordId;
7076
+ if(refField.reference_to_field && refField.reference_to_field != '_id'){
7077
+ relatedValue = masterRecord[refField.reference_to_field]
7078
+ }
7079
+ let relatedFilters;
7080
+ if (
7081
+ refField._reference_to ||
7082
+ (refField.reference_to && !_.isString(refField.reference_to))
7083
+ ) {
7084
+ relatedFilters = [
7085
+ [relatedKey + "/o", "=", masterObjectName],
7086
+ [relatedKey + "/ids", "=", relatedValue],
7087
+ ];
7088
+ } else {
7089
+ relatedFilters = [relatedKey, "=", relatedValue];
7090
+ }
7091
+ userFilters.push(relatedFilters)
7092
+ }
7093
+
7021
7094
  if(!_.isEmpty(userFilters)){
7022
7095
  if(_.isEmpty(filters)){
7023
7096
  filters = userFilters;
@@ -7140,7 +7213,7 @@ async function getApi(object, recordId, fields, options){
7140
7213
  const data = await getFindQuery(object, recordId, fields, options);
7141
7214
  return {
7142
7215
  method: "post",
7143
- url: getApi$2(),
7216
+ url: getApi$2(), // + "&recordId=${recordId}"
7144
7217
  data: data,
7145
7218
  headers: {
7146
7219
  Authorization: "Bearer ${context.tenantId},${context.authToken}"
@@ -7775,7 +7848,7 @@ const getRecordPermissions = async (objectName, recordId)=>{
7775
7848
  * @Author: baozhoutao@steedos.com
7776
7849
  * @Date: 2022-07-05 15:55:39
7777
7850
  * @LastEditors: Please set LastEditors
7778
- * @LastEditTime: 2023-03-30 17:44:53
7851
+ * @LastEditTime: 2023-04-11 13:13:00
7779
7852
  * @Description:
7780
7853
  */
7781
7854
 
@@ -7847,7 +7920,7 @@ async function getObjectRelatedList(
7847
7920
 
7848
7921
  // 获取单个相关表
7849
7922
  async function getRecordDetailRelatedListSchema(objectName, recordId, relatedObjectName, relatedKey, ctx){
7850
- let { top, perPage, hiddenEmptyTable, appId, relatedLabel, className, columns, sort, filters, visible_on } = ctx;
7923
+ let { top, perPage, appId, relatedLabel, className, columns, sort, filters, visible_on } = ctx;
7851
7924
  // console.log('getRecordDetailRelatedListSchema==>',objectName,recordId,relatedObjectName)
7852
7925
  const relatedObjectUiSchema = await getUISchema(relatedObjectName);
7853
7926
  if(!relatedObjectUiSchema){
@@ -7882,6 +7955,7 @@ async function getRecordDetailRelatedListSchema(objectName, recordId, relatedObj
7882
7955
  relatedKey = mainRelated[relatedObjectName];
7883
7956
  }
7884
7957
  let globalFilter = null;
7958
+ // TODO: refField变量去掉,写到amis运行时脚本中,uiSchema.fields[relatedKey];可以取到
7885
7959
  const refField = await getField(relatedObjectName, relatedKey);
7886
7960
 
7887
7961
  if(!refField){
@@ -7896,24 +7970,22 @@ async function getRecordDetailRelatedListSchema(objectName, recordId, relatedObj
7896
7970
  }
7897
7971
  }
7898
7972
  }
7899
-
7900
- let relatedValue = recordId;
7901
- if(refField.reference_to_field && refField.reference_to_field != '_id'){
7902
- const masterRecord = await getRecord(objectName, recordId, [refField.reference_to_field]);
7903
- relatedValue = masterRecord[refField.reference_to_field];
7904
- }
7973
+ // if(refField.reference_to_field && refField.reference_to_field != '_id'){
7974
+ // const masterRecord = await getRecord(objectName, recordId, [refField.reference_to_field]);
7975
+ // relatedValue = masterRecord[refField.reference_to_field]
7976
+ // }
7905
7977
 
7906
- if (
7907
- refField._reference_to ||
7908
- (refField.reference_to && !isString(refField.reference_to))
7909
- ) {
7910
- globalFilter = [
7911
- [`${relatedKey}/o`, "=", objectName],
7912
- [`${relatedKey}/ids`, "=", relatedValue],
7913
- ];
7914
- } else {
7915
- globalFilter = [`${relatedKey}`, "=", relatedValue];
7916
- }
7978
+ // if (
7979
+ // refField._reference_to ||
7980
+ // (refField.reference_to && !isString(refField.reference_to))
7981
+ // ) {
7982
+ // globalFilter = [
7983
+ // [`${relatedKey}/o`, "=", objectName],
7984
+ // [`${relatedKey}/ids`, "=", relatedValue],
7985
+ // ];
7986
+ // } else {
7987
+ // globalFilter = [`${relatedKey}`, "=", relatedValue];
7988
+ // }
7917
7989
  const recordRelatedListHeader = await getObjectRecordDetailRelatedListHeader(relatedObjectUiSchema, relatedLabel);
7918
7990
  const componentId = `steedos-record-related-list-${relatedObjectName}`;
7919
7991
  const options = {
@@ -7938,9 +8010,9 @@ async function getRecordDetailRelatedListSchema(objectName, recordId, relatedObj
7938
8010
  top: top,
7939
8011
  perPage: perPage,
7940
8012
  setDataToComponentId: componentId,
7941
- tableHiddenOn: hiddenEmptyTable ? "this.$count === 0" : null,
8013
+ // tableHiddenOn: hiddenEmptyTable ? "this.$count === 0" : null,
7942
8014
  appId: appId,
7943
- crudClassName: 'border-t border-slate-300',
8015
+ crudClassName: 'border-t border-slate-300 hidden',
7944
8016
  ...ctx
7945
8017
  };
7946
8018
  const amisSchema= (await getRelatedListSchema(relatedObjectName, 'all', options)).amisSchema;
@@ -7952,33 +8024,14 @@ async function getRecordDetailRelatedListSchema(objectName, recordId, relatedObj
7952
8024
  amisSchema: {
7953
8025
  type: "service",
7954
8026
  id: componentId,
7955
- className: `steedos-record-related-list rounded border border-slate-300 bg-gray-100 mb-4 ${className}`,
8027
+ className: `steedos-record-related-list ${componentId} rounded border border-slate-300 bg-gray-100 mb-4 ${className}`,
7956
8028
  data: {
7957
- "&": "$$",
7958
- appId: "${appId}",
7959
- app_id: "${appId}",
7960
- masterObjectName: objectName,
7961
- masterRecordId: "${recordId}",
7962
8029
  relatedKey: relatedKey,
7963
- objectName: relatedObjectName,
7964
8030
  listViewId: `amis-\${appId}-${relatedObjectName}-listview`,
7965
8031
  _isRelated: true
7966
8032
  },
7967
8033
  body:[
7968
- {
7969
- ...amisSchema,
7970
- data: {
7971
- "&": "$$",
7972
- appId: "${appId}",
7973
- app_id: "${appId}",
7974
- relatedKey: relatedKey,
7975
- objectName: "${objectName}",
7976
- recordId: "${masterRecordId}",
7977
- defaultData: {
7978
- ...{[relatedKey]: getRelatedFieldValue(objectName, relatedValue, relatedObjectUiSchema, relatedKey)}
7979
- }
7980
- }
7981
- }
8034
+ amisSchema
7982
8035
  ]
7983
8036
  }
7984
8037
  };
@@ -8017,13 +8070,13 @@ function getDefaultRelatedListProps(uiSchema, listName, ctx) {
8017
8070
  columns = getListViewColumns(listView, ctx.formFactor);
8018
8071
  sort = getListViewSort(listView);
8019
8072
  filter = getListViewFilter(listView);
8020
- if(isArray(ctx.globalFilter) && ctx.globalFilter.length && isArray(filter) && filter.length){
8021
- // 都有值
8022
- filter = [ctx.globalFilter, 'and', filter];
8023
- }else if(ctx.globalFilter && (!filter || !filter.length)){
8024
- // globalFilter有值,filter无值
8025
- filter = ctx.globalFilter;
8026
- }
8073
+ // if(isArray(ctx.globalFilter) && ctx.globalFilter.length && isArray(filter) && filter.length){
8074
+ // // 都有值
8075
+ // filter = [ctx.globalFilter, 'and', filter]
8076
+ // }else if(ctx.globalFilter && (!filter || !filter.length)){
8077
+ // // globalFilter有值,filter无值
8078
+ // filter = ctx.globalFilter;
8079
+ // }
8027
8080
  filtersFunction = listView && listView._filters;
8028
8081
  }else {
8029
8082
  const isNameField = find(
@@ -8033,9 +8086,9 @@ function getDefaultRelatedListProps(uiSchema, listName, ctx) {
8033
8086
  }
8034
8087
  );
8035
8088
  columns = isNameField ? [isNameField.name] : ['name'];
8036
- if(ctx.globalFilter){
8037
- filter = ctx.globalFilter;
8038
- }
8089
+ // if(ctx.globalFilter){
8090
+ // filter = ctx.globalFilter;
8091
+ // }
8039
8092
  }
8040
8093
 
8041
8094
  return {
@@ -8059,7 +8112,7 @@ function getRelatedListProps(uiSchema, listViewName, ctx) {
8059
8112
  return {
8060
8113
  columns: ctx.columns,
8061
8114
  sort,
8062
- filter: ctx.globalFilter,
8115
+ // filter: ctx.globalFilter,
8063
8116
  filtersFunction: filtersFunction
8064
8117
  }
8065
8118
  } else {
@@ -8098,6 +8151,16 @@ async function getRelatedListSchema(
8098
8151
  delete ctx.filters;
8099
8152
 
8100
8153
  delete ctx.globalFilter;
8154
+
8155
+ const adaptor = `
8156
+ if(setDataToComponentId){
8157
+ if(payload.data.count){
8158
+ setTimeout(function(){
8159
+ window.$("." + setDataToComponentId + " .antd-Crud").removeClass("hidden");
8160
+ }, 10);
8161
+ }
8162
+ };
8163
+ `;
8101
8164
  const amisSchema = {
8102
8165
  "type": "steedos-object-table",
8103
8166
  "objectApiName": objectName,
@@ -8106,6 +8169,8 @@ async function getRelatedListSchema(
8106
8169
  "filters": listviewFilter,
8107
8170
  "filtersFunction": filtersFunction,
8108
8171
  "sort": listViewSort,
8172
+ "filterVisible": false,
8173
+ adaptor,
8109
8174
  "ctx": ctx
8110
8175
  };
8111
8176
  // console.log(`getRelatedListSchema amisSchema`, amisSchema);
@@ -8118,8 +8183,8 @@ async function getRelatedListSchema(
8118
8183
  /*
8119
8184
  * @Author: baozhoutao@steedos.com
8120
8185
  * @Date: 2022-07-05 15:55:39
8121
- * @LastEditors: baozhoutao@steedos.com
8122
- * @LastEditTime: 2023-03-11 17:02:30
8186
+ * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
8187
+ * @LastEditTime: 2023-04-11 11:28:11
8123
8188
  * @Description:
8124
8189
  */
8125
8190
 
@@ -8291,14 +8356,14 @@ async function getField(objectName, fieldName) {
8291
8356
  async function getFormSchema(objectName, ctx) {
8292
8357
  const uiSchema = await getUISchema(objectName);
8293
8358
  const amisSchema = await getObjectForm(uiSchema, ctx);
8294
- // console.log(`getFormSchema====>`, amisSchema)
8359
+ console.log(`getFormSchema====>`, amisSchema);
8295
8360
  return {
8296
8361
  uiSchema,
8297
8362
  amisSchema,
8298
8363
  };
8299
8364
  }
8300
8365
 
8301
- // 获取只读页面
8366
+ // 获取只读页面 recordId 已废弃, 函数签名保持不变, 但recordId变量不可再使用, 请使用运行时的${recordId}
8302
8367
  async function getViewSchema(objectName, recordId, ctx) {
8303
8368
  const uiSchema = await getUISchema(objectName);
8304
8369
  const amisSchema = await getObjectDetail(uiSchema, recordId, ctx);
@@ -8483,6 +8548,7 @@ async function getTableSchema(
8483
8548
  headerToolbarItems: ctx.headerToolbarItems,
8484
8549
  buttons: await getListViewItemButtons(uiSchema, ctx)
8485
8550
  });
8551
+ // console.log('getTableSchema====>amisSchema', amisSchema)
8486
8552
  return {
8487
8553
  uiSchema,
8488
8554
  amisSchema,
@@ -8567,37 +8633,14 @@ async function getRecordDetailSchema(objectName, appId, props = {}){
8567
8633
  amisSchema: {
8568
8634
  "type": "service",
8569
8635
  "body": [
8570
- {
8571
- "type": "steedos-record-detail-header",
8572
- "label": "标题面板",
8573
- "objectApiName": "${objectName}",
8574
- "recordId": "${recordId}",
8575
- "id": "u:48d2c28eb755",
8576
- onEvent: {
8577
- "recordLoaded": {
8578
- "actions": [
8579
- {
8580
- "actionType": "reload",
8581
- "data": {
8582
- "name": `\${event.data.record.${uiSchema?.NAME_FIELD_KEY || 'name'}}`,
8583
- "record": `\${event.data.record}`,
8584
- "recordLoaded": true,
8585
- }
8586
- },
8587
- {
8588
- "actionType": "reload",
8589
- "componentId": `page_readonly_${objectName}_header`, //刷新标题, 详细页面header service 嵌套太多, 导致仅刷新第一层service无法更新recordName
8590
- "data": {
8591
- "name": `\${event.data.record.${uiSchema?.NAME_FIELD_KEY || 'name'}}`,
8592
- "record": `\${event.data.record}`,
8593
- "recordLoaded": true,
8594
- }
8595
- }
8596
- ]
8597
- }
8636
+ {
8637
+ "type": "steedos-record-detail-header",
8638
+ "label": "标题面板",
8639
+ "objectApiName": "${objectName}",
8640
+ "recordId": "${recordId}",
8641
+ "id": "u:48d2c28eb755"
8598
8642
  },
8599
- },
8600
- content
8643
+ content
8601
8644
  ],
8602
8645
  data: {
8603
8646
  "_master.objectName": "${objectName}",
@@ -8624,51 +8667,6 @@ async function getRecordDetailSchema(objectName, appId, props = {}){
8624
8667
  }
8625
8668
  }
8626
8669
 
8627
- // export async function getRecordDetailRelatedListSchema(objectName,recordId,relatedObjectName){
8628
- // // console.log('b==>',objectName,recordId,relatedObjectName)
8629
- // const relatedObjectUiSchema = await getUISchema(relatedObjectName);
8630
- // const { list_views, label , icon, fields } = relatedObjectUiSchema;
8631
- // const firstListViewName = keys(list_views)[0];
8632
- // const relatedKey = findKey(fields, function(field) {
8633
- // return ["lookup","master_detail"].indexOf(field.type) > -1 && field.reference_to === objectName;
8634
- // });
8635
- // const globalFilter = [relatedKey,'=',recordId];
8636
- // const recordRelatedListHeader = await getObjectRecordDetailRelatedListHeader(relatedObjectUiSchema);
8637
- // const options = {
8638
- // globalFilter,
8639
- // defaults: {
8640
- // listSchema: { headerToolbar:[],columnsTogglable:false },
8641
- // headerSchema: recordRelatedListHeader
8642
- // },
8643
- // showHeader: true
8644
- // }
8645
- // const amisSchema= (await getListSchema(null, relatedObjectName, firstListViewName, options)).amisSchema;
8646
- // return {
8647
- // uiSchema: relatedObjectUiSchema,
8648
- // amisSchema: {
8649
- // type: "service",
8650
- // data: {
8651
- // masterObjectName: objectName,
8652
- // masterRecordId: "${recordId}",
8653
- // relatedKey: relatedKey,
8654
- // objectName: relatedObjectName,
8655
- // listViewId: `amis-\${appId}-${relatedObjectName}-listview`,
8656
- // },
8657
- // body:[
8658
- // {
8659
- // ...amisSchema,
8660
- // data: {
8661
- // filter: ["${relatedKey}", "=", "${masterRecordId}"],
8662
- // objectName: "${objectName}",
8663
- // recordId: "${masterRecordId}",
8664
- // ...{[relatedKey]: getRelatedFieldValue(objectName, "${recordId}", relatedSchema.uiSchema, relatedKey)}
8665
- // }
8666
- // }
8667
- // ]
8668
- // }
8669
- // };
8670
- // }
8671
-
8672
8670
 
8673
8671
  // 获取单个相关表
8674
8672
  async function getObjectRelated(
@@ -11830,7 +11828,13 @@ var AmisObjectButton = function (props) {
11830
11828
  // if(className){
11831
11829
  // schema.className = schema.className + ' ' + className;
11832
11830
  // }
11833
- var renderData = Object.assign(data, { recordId: data._id, objectName: objectName, listViewId: data.listViewId, app_id: appId, className: className });
11831
+ var renderData = Object.assign(data, { objectName: objectName, app_id: appId, className: className });
11832
+ if (data._id) {
11833
+ renderData.recordId = data._id;
11834
+ }
11835
+ if (data.listViewId) {
11836
+ renderData.listViewId = data.listViewId;
11837
+ }
11834
11838
  if (schema) {
11835
11839
  schema.data = defaultsDeep$1({}, renderData, getDefaultRenderData(), schema.data);
11836
11840
  }
@@ -11999,13 +12003,13 @@ var SteedosLoading = function (props) {
11999
12003
  };
12000
12004
 
12001
12005
  var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0, function () {
12002
- var $schema, recordId, mode, layout, labelAlign, appId, fieldsExtend, _a, excludedFields, _b, fields, _c, className, initApiRequestAdaptor, initApiAdaptor, apiRequestAdaptor, apiAdaptor, objectApiName, schemaKeys, formSchema, defaults, options, globalData, amisSchema, uiSchema, schema, schema, formData;
12006
+ var $schema, recordId, defaultData, mode, layout, labelAlign, appId, fieldsExtend, _a, excludedFields, _b, fields, _c, className, initApiRequestAdaptor, initApiAdaptor, apiRequestAdaptor, apiAdaptor, objectApiName, schemaKeys, formSchema, defaults, options, globalData, amisSchema, uiSchema, schema, schema, formData;
12003
12007
  return __generator(this, function (_d) {
12004
12008
  switch (_d.label) {
12005
12009
  case 0:
12006
- $schema = props.$schema, recordId = props.recordId, mode = props.mode, layout = props.layout, labelAlign = props.labelAlign, appId = props.appId, fieldsExtend = props.fieldsExtend, _a = props.excludedFields, excludedFields = _a === void 0 ? null : _a, _b = props.fields, fields = _b === void 0 ? null : _b, _c = props.className, className = _c === void 0 ? "" : _c, initApiRequestAdaptor = props.initApiRequestAdaptor, initApiAdaptor = props.initApiAdaptor, apiRequestAdaptor = props.apiRequestAdaptor, apiAdaptor = props.apiAdaptor;
12010
+ $schema = props.$schema, recordId = props.recordId, defaultData = props.defaultData, mode = props.mode, layout = props.layout, labelAlign = props.labelAlign, appId = props.appId, fieldsExtend = props.fieldsExtend, _a = props.excludedFields, excludedFields = _a === void 0 ? null : _a, _b = props.fields, fields = _b === void 0 ? null : _b, _c = props.className, className = _c === void 0 ? "" : _c, initApiRequestAdaptor = props.initApiRequestAdaptor, initApiAdaptor = props.initApiAdaptor, apiRequestAdaptor = props.apiRequestAdaptor, apiAdaptor = props.apiAdaptor;
12007
12011
  objectApiName = props.objectApiName || "space_users";
12008
- schemaKeys = difference(keys($schema), ["type", "mode", "layout"]);
12012
+ schemaKeys = difference(keys($schema), ["type", "mode", "layout", "defaultData"]);
12009
12013
  formSchema = pick(props, schemaKeys);
12010
12014
  defaults = {
12011
12015
  formSchema: formSchema
@@ -12038,17 +12042,12 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
12038
12042
  case 1:
12039
12043
  schema = _d.sent();
12040
12044
  amisSchema = schema.amisSchema;
12045
+ if (defaultData) {
12046
+ amisSchema.data.defaultData = __assign$2({ "&": "${defaultData}" }, defaultData);
12047
+ }
12041
12048
  uiSchema = schema.uiSchema;
12042
12049
  return [3 /*break*/, 4];
12043
- case 2:
12044
- // formInitProps
12045
- if (!recordId) {
12046
- // 只读界面只返回一条记录
12047
- options.formInitProps = {
12048
- queryOptions: "top: 1"
12049
- };
12050
- }
12051
- return [4 /*yield*/, getViewSchema(objectApiName, recordId, options)];
12050
+ case 2: return [4 /*yield*/, getViewSchema(objectApiName, recordId, options)];
12052
12051
  case 3:
12053
12052
  schema = _d.sent();
12054
12053
  amisSchema = schema.amisSchema;
@@ -12056,13 +12055,13 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
12056
12055
  _d.label = 4;
12057
12056
  case 4:
12058
12057
  formData = {};
12059
- formData.recordId = recordId || null;
12060
- if (objectApiName) {
12061
- formData.objectName = objectApiName;
12062
- }
12058
+ // formData.recordId = recordId || null;
12059
+ // if(objectApiName){
12060
+ // formData.objectName = objectApiName;
12061
+ // }
12063
12062
  amisSchema.className = "steedos-object-form ".concat(className);
12064
- amisSchema.data = Object.assign({ "&": "$$" }, amisSchema.data, formData, { global: globalData, uiSchema: uiSchema });
12065
- // console.log(`amisSchema`, amisSchema)
12063
+ amisSchema.data = Object.assign(amisSchema.data, formData, { global: globalData, uiSchema: uiSchema });
12064
+ // console.log(`===AmisObjectForm=amisSchema==`, amisSchema)
12066
12065
  return [2 /*return*/, amisSchema];
12067
12066
  }
12068
12067
  });
@@ -12189,7 +12188,7 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
12189
12188
  ]
12190
12189
  }];
12191
12190
  }
12192
- serviceData = Object.assign({}, amisSchema.data, amisSchemaData, { listName: listName, uiSchema: uiSchema, showDisplayAs: showDisplayAs, displayAs: displayAs, recordPermissions: uiSchema.permissions, _id: null, $listviewId: listName });
12191
+ serviceData = Object.assign({}, { listName: listName, uiSchema: uiSchema, showDisplayAs: showDisplayAs, displayAs: displayAs, recordPermissions: uiSchema.permissions, _id: null, $listviewId: listName });
12193
12192
  return [2 /*return*/, {
12194
12193
  "type": "service",
12195
12194
  "body": body,
@@ -12227,11 +12226,11 @@ function getTableColumns(columns, includedFields, fieldsExtend) {
12227
12226
  return tableColumns;
12228
12227
  }
12229
12228
  var AmisObjectTable = function (props) { return __awaiter(void 0, void 0, void 0, function () {
12230
- var $schema, filters, filtersFunction, amisCondition, top, headerSchema, includedFields, fieldsExtend, sort, sortField, sortOrder, extraColumns, data, defaultData, _a, formFactor, _b, className, requestAdaptor, adaptor, headerToolbarItems, ctx, columns, defaults, objectApiName, schemaKeys, listSchema, setDataToComponentId, amisFilters, tableFilters, amisSchemaData, appId, amisSchema;
12231
- return __generator(this, function (_c) {
12232
- switch (_c.label) {
12229
+ var $schema, filters, filtersFunction, amisCondition, top, headerSchema, includedFields, fieldsExtend, sort, sortField, sortOrder, extraColumns, data, defaultData, _a, formFactor, _b, className, requestAdaptor, adaptor, _c, filterVisible, headerToolbarItems, ctx, columns, defaults, objectApiName, schemaKeys, listSchema, setDataToComponentId, amisFilters, tableFilters, amisSchemaData, appId, amisSchema;
12230
+ return __generator(this, function (_d) {
12231
+ switch (_d.label) {
12233
12232
  case 0:
12234
- $schema = props.$schema, filters = props.filters, filtersFunction = props.filtersFunction, amisCondition = props.amisCondition, top = props.top, headerSchema = props.headerSchema, includedFields = props.fields, fieldsExtend = props.fieldsExtend, sort = props.sort, sortField = props.sortField, sortOrder = props.sortOrder, extraColumns = props.extraColumns, data = props.data, defaultData = props.defaultData, _a = props.formFactor, formFactor = _a === void 0 ? window.innerWidth < 768 ? 'SMALL' : 'LARGE' : _a, _b = props.className, className = _b === void 0 ? "" : _b, requestAdaptor = props.requestAdaptor, adaptor = props.adaptor, headerToolbarItems = props.headerToolbarItems;
12233
+ $schema = props.$schema, filters = props.filters, filtersFunction = props.filtersFunction, amisCondition = props.amisCondition, top = props.top, headerSchema = props.headerSchema, includedFields = props.fields, fieldsExtend = props.fieldsExtend, sort = props.sort, sortField = props.sortField, sortOrder = props.sortOrder, extraColumns = props.extraColumns, data = props.data, defaultData = props.defaultData, _a = props.formFactor, formFactor = _a === void 0 ? window.innerWidth < 768 ? 'SMALL' : 'LARGE' : _a, _b = props.className, className = _b === void 0 ? "" : _b, requestAdaptor = props.requestAdaptor, adaptor = props.adaptor, _c = props.filterVisible, filterVisible = _c === void 0 ? true : _c, headerToolbarItems = props.headerToolbarItems;
12235
12234
  ctx = props.ctx;
12236
12235
  if (!ctx) {
12237
12236
  ctx = {};
@@ -12265,11 +12264,12 @@ var AmisObjectTable = function (props) { return __awaiter(void 0, void 0, void 0
12265
12264
  appId = (data === null || data === void 0 ? void 0 : data.appId) || (defaultData === null || defaultData === void 0 ? void 0 : defaultData.appId);
12266
12265
  // ctx中值为undefined的属性不能保留,否则会导致 filters等被覆盖。
12267
12266
  ctx = pickBy(ctx, function (value) { return value !== undefined; });
12268
- return [4 /*yield*/, getTableSchema(appId, objectApiName, columns, __assign$2(__assign$2({ filters: tableFilters, filtersFunction: filtersFunction, top: top, sort: sort, sortField: sortField, sortOrder: sortOrder, extraColumns: extraColumns, defaults: defaults }, ctx), { setDataToComponentId: setDataToComponentId, requestAdaptor: requestAdaptor, adaptor: adaptor, headerToolbarItems: headerToolbarItems }))];
12267
+ return [4 /*yield*/, getTableSchema(appId, objectApiName, columns, __assign$2(__assign$2({ filters: tableFilters, filtersFunction: filtersFunction, top: top, sort: sort, sortField: sortField, sortOrder: sortOrder, extraColumns: extraColumns, defaults: defaults }, ctx), { setDataToComponentId: setDataToComponentId, requestAdaptor: requestAdaptor, adaptor: adaptor, filterVisible: filterVisible, headerToolbarItems: headerToolbarItems }))];
12269
12268
  case 1:
12270
- amisSchema = (_c.sent()).amisSchema;
12269
+ amisSchema = (_d.sent()).amisSchema;
12271
12270
  amisSchema.data = Object.assign({}, amisSchema.data, amisSchemaData);
12272
12271
  amisSchema.className = "steedos-object-table h-full flex flex-col ".concat(className);
12272
+ // console.log(`AmisObjectTable===>amisSchema`, amisSchema)
12273
12273
  return [2 /*return*/, amisSchema];
12274
12274
  }
12275
12275
  });
@@ -12312,7 +12312,7 @@ var AmisRecordDetailHeader = function (props) { return __awaiter(void 0, void 0,
12312
12312
  return __generator(this, function (_d) {
12313
12313
  switch (_d.label) {
12314
12314
  case 0:
12315
- _a = props.className, className = _a === void 0 ? 'sticky top-0 z-50 bg-gray-100 border-b sm:shadow sm:rounded sm:border border-slate-300 p-4' : _a;
12315
+ _a = props.className, className = _a === void 0 ? 'sticky top-0 z-10 bg-gray-100 border-b sm:shadow sm:rounded sm:border border-slate-300 p-4' : _a;
12316
12316
  return [4 /*yield*/, getUISchema(props.objectApiName || "space_users", false)];
12317
12317
  case 1:
12318
12318
  objectUiSchema = _d.sent();
@@ -12322,17 +12322,11 @@ var AmisRecordDetailHeader = function (props) { return __awaiter(void 0, void 0,
12322
12322
  {
12323
12323
  "actionType": "reload",
12324
12324
  "data": {
12325
- "name": "${record.".concat((objectUiSchema === null || objectUiSchema === void 0 ? void 0 : objectUiSchema.NAME_FIELD_KEY) || 'name', "}"),
12326
- "record": "${record}",
12327
- "recordLoaded": true
12328
- }
12329
- },
12330
- {
12331
- "actionType": "setValue",
12332
- "args": {
12333
- "value": {
12334
- "recordLoaded": true,
12335
- }
12325
+ "name": "${event.data.record.".concat((objectUiSchema === null || objectUiSchema === void 0 ? void 0 : objectUiSchema.NAME_FIELD_KEY) || 'name', "}"),
12326
+ "record": "${event.data.record}",
12327
+ "_id": "\${event.data.record._id}",
12328
+ "recordId": "\${event.data.record._id}",
12329
+ "recordLoaded": true,
12336
12330
  }
12337
12331
  }
12338
12332
  ]
@@ -12353,17 +12347,17 @@ var AmisRecordDetailHeader = function (props) { return __awaiter(void 0, void 0,
12353
12347
  /*
12354
12348
  * @Author: baozhoutao@steedos.com
12355
12349
  * @Date: 2022-12-08 10:32:17
12356
- * @LastEditors: baozhoutao@steedos.com
12357
- * @LastEditTime: 2023-03-22 15:41:38
12350
+ * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
12351
+ * @LastEditTime: 2023-04-11 11:28:41
12358
12352
  * @Description:
12359
12353
  */
12360
12354
  var AmisRecordDetail = function (props) { return __awaiter(void 0, void 0, void 0, function () {
12361
- var className, appId, _a, objectApiName, recordId, onEvent, schema, recordDetailData;
12355
+ var className, appId, _a, objectApiName, recordId, body, schema, recordDetailData;
12362
12356
  return __generator(this, function (_b) {
12363
12357
  switch (_b.label) {
12364
12358
  case 0:
12365
- className = props.className, props.$schema, appId = props.appId, _a = props.objectApiName, objectApiName = _a === void 0 ? "space_users" : _a, recordId = props.recordId, onEvent = props.onEvent, props.defaultData;
12366
- return [4 /*yield*/, getRecordDetailSchema(objectApiName, appId, { onEvent: onEvent })];
12359
+ className = props.className, props.$schema, appId = props.appId, _a = props.objectApiName, objectApiName = _a === void 0 ? "space_users" : _a, recordId = props.recordId, props.onEvent, props.defaultData, body = props.body;
12360
+ return [4 /*yield*/, getRecordDetailSchema(objectApiName, appId)];
12367
12361
  case 1:
12368
12362
  schema = (_b.sent()).amisSchema;
12369
12363
  recordDetailData = {};
@@ -12372,22 +12366,26 @@ var AmisRecordDetail = function (props) { return __awaiter(void 0, void 0, void
12372
12366
  }
12373
12367
  schema.data = Object.assign({}, schema.data, recordDetailData);
12374
12368
  schema.className = className;
12369
+ if (body) {
12370
+ schema.body = body;
12371
+ }
12375
12372
  return [2 /*return*/, schema];
12376
12373
  }
12377
12374
  });
12378
12375
  }); };
12379
12376
 
12380
12377
  var AmisRecordDetailRelatedList = function (props) { return __awaiter(void 0, void 0, void 0, function () {
12381
- var objectApiName, recordId, relatedObjectApiName, relatedKey, top, perPage, hiddenEmptyTable, appId, relatedLabel, _a, className, columns, sort, filters, visible_on, formFactor, schema;
12378
+ var objectApiName, recordId, relatedObjectApiName, relatedKey, top, perPage, appId, relatedLabel, _a, className, columns, sort, filters, visible_on, formFactor, schema;
12382
12379
  return __generator(this, function (_b) {
12383
12380
  switch (_b.label) {
12384
12381
  case 0:
12385
- objectApiName = props.objectApiName, recordId = props.recordId, relatedObjectApiName = props.relatedObjectApiName, props.data, relatedKey = props.relatedKey, top = props.top, perPage = props.perPage, hiddenEmptyTable = props.hiddenEmptyTable, appId = props.appId, relatedLabel = props.relatedLabel, _a = props.className, className = _a === void 0 ? '' : _a, columns = props.columns, sort = props.sort, filters = props.filters, visible_on = props.visible_on;
12382
+ objectApiName = props.objectApiName, recordId = props.recordId, relatedObjectApiName = props.relatedObjectApiName, props.data, relatedKey = props.relatedKey, top = props.top, perPage = props.perPage, appId = props.appId, relatedLabel = props.relatedLabel, _a = props.className, className = _a === void 0 ? '' : _a, columns = props.columns, sort = props.sort, filters = props.filters, visible_on = props.visible_on;
12386
12383
  formFactor = props.formFactor;
12387
12384
  if (!formFactor) {
12388
12385
  formFactor = window.innerWidth < 768 ? 'SMALL' : 'LARGE';
12389
12386
  }
12390
- if (!objectApiName || !relatedObjectApiName || !recordId) {
12387
+ if (!objectApiName || !relatedObjectApiName) {
12388
+ // if(!objectApiName || !relatedObjectApiName || !recordId){
12391
12389
  return [2 /*return*/, {
12392
12390
  "type": "alert",
12393
12391
  "body": "缺少父级对象、父级记录或相关列表对象属性",
@@ -12396,7 +12394,7 @@ var AmisRecordDetailRelatedList = function (props) { return __awaiter(void 0, vo
12396
12394
  "className": "mb-3"
12397
12395
  }];
12398
12396
  }
12399
- return [4 /*yield*/, getRecordDetailRelatedListSchema(objectApiName, recordId, relatedObjectApiName, relatedKey, { top: top, perPage: perPage, hiddenEmptyTable: hiddenEmptyTable, appId: appId, relatedLabel: relatedLabel, className: className, formFactor: formFactor, columns: columns, sort: sort, filters: filters, visible_on: visible_on, isRelated: true })];
12397
+ return [4 /*yield*/, getRecordDetailRelatedListSchema(objectApiName, recordId, relatedObjectApiName, relatedKey, { top: top, perPage: perPage, appId: appId, relatedLabel: relatedLabel, className: className, formFactor: formFactor, columns: columns, sort: sort, filters: filters, visible_on: visible_on, isRelated: true })];
12400
12398
  case 1:
12401
12399
  schema = (_b.sent()).amisSchema;
12402
12400
  return [2 /*return*/, schema];
@@ -12405,12 +12403,13 @@ var AmisRecordDetailRelatedList = function (props) { return __awaiter(void 0, vo
12405
12403
  }); };
12406
12404
 
12407
12405
  var AmisRecordDetailRelatedLists = function (props) { return __awaiter(void 0, void 0, void 0, function () {
12408
- var objectApiName, recordId, _a, perPage, relatedLists;
12406
+ var objectApiName, _a, perPage, relatedLists;
12409
12407
  return __generator(this, function (_b) {
12410
12408
  switch (_b.label) {
12411
12409
  case 0:
12412
- objectApiName = props.objectApiName, recordId = props.recordId, props.data, _a = props.perPage, perPage = _a === void 0 ? 5 : _a;
12413
- if (!objectApiName || !recordId) {
12410
+ objectApiName = props.objectApiName, props.recordId, props.data, _a = props.perPage, perPage = _a === void 0 ? 5 : _a;
12411
+ if (!objectApiName) {
12412
+ // if(!objectApiName || !recordId){
12414
12413
  return [2 /*return*/, {
12415
12414
  "type": "alert",
12416
12415
  "body": "缺少父级对象或父级记录属性",
@@ -12439,7 +12438,7 @@ var AmisRecordDetailRelatedLists = function (props) { return __awaiter(void 0, v
12439
12438
  return {
12440
12439
  type: 'steedos-object-related-listview',
12441
12440
  objectApiName: objectApiName,
12442
- recordId: recordId,
12441
+ // recordId: recordId,
12443
12442
  relatedObjectApiName: item.object_name,
12444
12443
  foreign_key: item.foreign_key,
12445
12444
  relatedKey: item.foreign_key,
@@ -12620,8 +12619,6 @@ var AmisAppLauncher = function (props) { return __awaiter(void 0, void 0, void 0
12620
12619
  "items": {
12621
12620
  "type": "button",
12622
12621
  "level": "link",
12623
- "actionType": "link",
12624
- "link": "${path}",
12625
12622
  "body": [{
12626
12623
  "type": "tpl",
12627
12624
  "tpl": "<div class='slds-app-launcher__tile slds-text-link_reset'><div class='slds-app-launcher__tile-figure'><svg class='w-12 h-12 slds-icon slds-icon_container slds-icon-standard-${REPLACE(icon, '_', '-')}' aria-hidden='true'><use xlink:href='/assets/icons/standard-sprite/svg/symbols.svg#${icon}'></use></svg><span class='slds-assistive-text'>${name}</span></div><div class='slds-app-launcher__tile-body'><span class='slds-link text-blue-600 text-lg'><span title='${name}'>${name}</span></span><div style='display: -webkit-box; -webkit-line-clamp: 1;-webkit-box-orient: vertical;overflow: hidden;'><span title='${description}'>${description}</span></div></div></div>",
@@ -12648,6 +12645,21 @@ var AmisAppLauncher = function (props) { return __awaiter(void 0, void 0, void 0
12648
12645
  "actions": [
12649
12646
  {
12650
12647
  "actionType": "closeDialog"
12648
+ },
12649
+ {
12650
+ "actionType": "link",
12651
+ "args": {
12652
+ "link": "${path}"
12653
+ },
12654
+ "expression": "${!blank}"
12655
+ },
12656
+ {
12657
+ "actionType": "url",
12658
+ "args": {
12659
+ "url": "${path}",
12660
+ "blank": true
12661
+ },
12662
+ "expression": "${blank}"
12651
12663
  }
12652
12664
  ]
12653
12665
  }
@@ -13244,35 +13256,39 @@ var AmisSteedosField = function (props) { return __awaiter(void 0, void 0, void
13244
13256
  * @Author: baozhoutao@steedos.com
13245
13257
  * @Date: 2023-01-14 16:41:24
13246
13258
  * @LastEditors: baozhoutao@steedos.com
13247
- * @LastEditTime: 2023-03-23 11:37:25
13259
+ * @LastEditTime: 2023-03-23 18:00:25
13248
13260
  * @Description:
13249
13261
  */
13250
13262
  var getSelectFlowSchema = function (id, props) {
13251
13263
  var label = props.label, data = props.data, name = props.name, required = props.required, _a = props.action, action = _a === void 0 ? 'query' : _a, _b = props.distributeInstanceId, distributeInstanceId = _b === void 0 ? "" : _b, _c = props.distributeStepId, distributeStepId = _c === void 0 ? "" : _c, _d = props.mode, mode = _d === void 0 ? 'input-tree' : _d, className = props.className, onEvent = props.onEvent, _e = props.multiple, multiple = _e === void 0 ? false : _e, delimiter = props.delimiter, joinValues = props.joinValues, extractValue = props.extractValue, searchable = props.searchable, _f = props.showIcon, showIcon = _f === void 0 ? true : _f, _g = props.showRadio, showRadio = _g === void 0 ? false : _g, showOutline = props.showOutline, initiallyOpen = props.initiallyOpen, unfoldedLevel = props.unfoldedLevel, treeContainerClassName = props.treeContainerClassName, _h = props.amis, amis = _h === void 0 ? {} : _h;
13252
- return __assign$2({ "type": mode, "id": id, "label": label, "name": name, "options": [], "multiple": multiple, "delimiter": delimiter, "joinValues": joinValues, "extractValue": extractValue, "searchable": searchable, "showOutline": showOutline, "initiallyOpen": initiallyOpen, "unfoldedLevel": unfoldedLevel, "className": className, "required": required, "treeContainerClassName": treeContainerClassName,
13253
- // "menuTpl": {
13254
- // type: "tpl",
13255
- // tpl: "<div class='flex justify-between'><span>${label}</span><span class='rounded p-1 text-xs text-center w-14 ${children != null ? \'hidden\' : \'\'}'><button onClick='console.log(11111)'><i class='fa-regular fa-star'></i></button></span></div>",
13256
- // "onEvent": {
13257
- // "click": {
13258
- // "weight": 0,
13259
- // "actions": [
13260
- // {
13261
- // "args": {
13262
- // "api": {
13263
- // "url": "/aaa",
13264
- // "method": "get",
13265
- // "messages": {
13266
- // }
13267
- // }
13268
- // },
13269
- // "actionType": "download"
13270
- // }
13271
- // ]
13272
- // }
13273
- // }
13274
- // },
13275
- "source": {
13264
+ console.log("=====onEvent", onEvent);
13265
+ return __assign$2({ "type": mode, "id": id, "label": label, "name": name, "options": [], "multiple": multiple, "delimiter": delimiter, "joinValues": joinValues, "extractValue": extractValue, "searchable": searchable, "showOutline": showOutline, "initiallyOpen": initiallyOpen, "unfoldedLevel": unfoldedLevel, "className": className, "required": required, "treeContainerClassName": treeContainerClassName, "menuTpl": {
13266
+ // type: "button",
13267
+ type: "tpl",
13268
+ tpl: "<div class='flex justify-between'><span>${label}</span><span class='rounded p-1 text-xs text-center w-14 ${children != null ? \'hidden\' : \'\'}'><button><i class='fa-regular fa-star'></i></button></span></div>",
13269
+ "onEvent": {
13270
+ "click": {
13271
+ "weight": 0,
13272
+ "actions": [
13273
+ {
13274
+ actionType: 'custom',
13275
+ script: "console.log('====event', event), event.preventDefault(); event.stopPropagation()"
13276
+ },
13277
+ {
13278
+ "args": {
13279
+ "api": {
13280
+ "url": "/aaa",
13281
+ "method": "get",
13282
+ "messages": {}
13283
+ }
13284
+ },
13285
+ "actionType": "download",
13286
+ "stopPropagation": true
13287
+ }
13288
+ ]
13289
+ }
13290
+ }
13291
+ }, "source": {
13276
13292
  "method": "post",
13277
13293
  "url": "${context.rootUrl}/graphql?keywords=${keywords}",
13278
13294
  "requestAdaptor": "\n const keywords = api.body.keywords || '';\n const appId = '".concat(data.app_id || '', "';\n api.data = {\n query: `\n {\n options: flows__getList(action: \"").concat(action, "\", keywords: \"${keywords}\", appId: \"${appId}\", distributeInstanceId: \"").concat(distributeInstanceId, "\", distributeStepId: \"").concat(distributeStepId, "\"){\n value:_id\n label:name\n children: flows{\n value: _id,\n label: name\n }\n }\n }\n `\n }\n "),
@@ -13375,21 +13391,26 @@ var PageListView = function (props) { return __awaiter(void 0, void 0, void 0, f
13375
13391
  appId: appId,
13376
13392
  name: objectApiName,
13377
13393
  });
13378
- listSchema = page ? JSON.parse(page.schema) : {
13394
+ listSchema = page ? page.schema : {
13379
13395
  "type": "steedos-object-listview",
13380
13396
  "objectApiName": objectApiName,
13381
13397
  "columnsTogglable": false,
13382
13398
  "showHeader": true,
13383
13399
  "showDisplayAs": (defaultFormFactor !== 'SMALL'),
13384
13400
  "formFactor": formFactor,
13385
- "className": (displayAs === 'split') ? 'w-full' : 'p-0 flex-1 sm:m-3 sm:border sm:shadow sm:rounded border-slate-300 border-solid bg-gray-100'
13401
+ "className": (displayAs === 'split') ? 'w-full' : 'p-0 flex-1 m-0 sm:border sm:shadow sm:rounded border-slate-300 border-solid bg-gray-100'
13386
13402
  };
13387
- defData = __assign$2(__assign$2({}, $schema.data), { objectName: objectApiName, listViewId: listViewId, listName: listName || listviewId, appId: appId, formFactor: formFactor, displayAs: displayAs });
13403
+ defData = __assign$2(__assign$2({}, $schema.data), { objectName: objectApiName, listViewId: listViewId,
13404
+ // listName: listName || listviewId,
13405
+ appId: appId, formFactor: formFactor, displayAs: displayAs });
13406
+ if (listName) {
13407
+ defData.listName = listName || listviewId;
13408
+ }
13388
13409
  // console.log("defData====>", defData)
13389
13410
  return [2 /*return*/, {
13390
13411
  type: 'service',
13391
13412
  data: defData,
13392
- "className": (displayAs === 'grid') ? 'h-full' : 'p-0 flex flex-1 overflow-hidden h-full',
13413
+ "className": (displayAs === 'grid') ? 'h-full sm:p-3' : 'p-0 flex flex-1 overflow-hidden h-full',
13393
13414
  body: (displayAs === 'grid') ? defaultsDeep$1({ data: defData }, listSchema) : [
13394
13415
  {
13395
13416
  "type": "wrapper",
@@ -13408,11 +13429,11 @@ var PageListView = function (props) { return __awaiter(void 0, void 0, void 0, f
13408
13429
  }); };
13409
13430
 
13410
13431
  var PageRecordDetail = function (props) { return __awaiter(void 0, void 0, void 0, function () {
13411
- var defaultFormFactor, appId, objectApiName, recordId, display, sideObject, sideListviewId, $schema, data, displayAs, formFactor, listPage, recordSchema, recordPage, listSchema, defData;
13432
+ var defaultFormFactor, appId, objectApiName, display, sideObject, sideListviewId, $schema, displayAs, formFactor, listPage, recordSchema, recordPage, listSchema, defData;
13412
13433
  return __generator(this, function (_a) {
13413
13434
  switch (_a.label) {
13414
13435
  case 0:
13415
- defaultFormFactor = props.formFactor, appId = props.appId, objectApiName = props.objectApiName, recordId = props.recordId, display = props.display, sideObject = props.sideObject, sideListviewId = props.sideListviewId, $schema = props.$schema, data = props.data;
13436
+ defaultFormFactor = props.formFactor, appId = props.appId, objectApiName = props.objectApiName, props.recordId, display = props.display, sideObject = props.sideObject, sideListviewId = props.sideListviewId, $schema = props.$schema, props.data;
13416
13437
  if (display)
13417
13438
  Router$1.setTabDisplayAs(objectApiName, display);
13418
13439
  displayAs = (defaultFormFactor === 'SMALL') ? 'grid' : display ? display : sideObject ? 'split' : Router$1.getTabDisplayAs(objectApiName);
@@ -13421,18 +13442,17 @@ var PageRecordDetail = function (props) { return __awaiter(void 0, void 0, void
13421
13442
  case 1:
13422
13443
  listPage = _a.sent();
13423
13444
  recordSchema = {};
13424
- if (!recordId) return [3 /*break*/, 3];
13425
13445
  return [4 /*yield*/, getPage({ type: 'record', appId: appId, objectName: objectApiName, formFactor: defaultFormFactor })];
13426
13446
  case 2:
13427
13447
  recordPage = _a.sent();
13428
- recordSchema = recordPage ? JSON.parse(recordPage.schema) : {
13448
+ recordSchema = recordPage ? recordPage.schema : {
13429
13449
  "type": "wrapper",
13430
13450
  "className": "overflow-y-auto p-0 m-0 flex-1 h-full",
13431
13451
  "name": "amis-".concat(appId, "-").concat(objectApiName, "-detail"),
13432
13452
  "body": [
13433
13453
  {
13434
13454
  "type": "steedos-record-detail",
13435
- "recordId": "${recordId}",
13455
+ // "recordId": "${recordId}",
13436
13456
  "objectApiName": "${objectName}",
13437
13457
  className: "sm:m-3",
13438
13458
  appId: appId,
@@ -13441,7 +13461,7 @@ var PageRecordDetail = function (props) { return __awaiter(void 0, void 0, void
13441
13461
  };
13442
13462
  _a.label = 3;
13443
13463
  case 3:
13444
- listSchema = listPage ? JSON.parse(listPage.schema) : {
13464
+ listSchema = listPage ? listPage.schema : {
13445
13465
  "type": "steedos-object-listview",
13446
13466
  "objectApiName": sideObject,
13447
13467
  "columnsTogglable": false,
@@ -13449,7 +13469,10 @@ var PageRecordDetail = function (props) { return __awaiter(void 0, void 0, void
13449
13469
  "showDisplayAs": true,
13450
13470
  "formFactor": 'SMALL',
13451
13471
  };
13452
- defData = __assign$2(__assign$2({}, $schema.data), { objectName: objectApiName, listViewId: sideListviewId, listName: sideListviewId, recordId: data.recordId || recordId, appId: appId, formFactor: formFactor, displayAs: displayAs });
13472
+ defData = __assign$2(__assign$2({}, $schema.data), { objectName: objectApiName, listViewId: sideListviewId, listName: sideListviewId,
13473
+ // recordId: "${recordId}",
13474
+ // appId: appId,
13475
+ formFactor: formFactor, displayAs: displayAs });
13453
13476
  // console.log('defData====>', defData)
13454
13477
  return [2 /*return*/, {
13455
13478
  type: 'service',
@@ -13463,7 +13486,7 @@ var PageRecordDetail = function (props) { return __awaiter(void 0, void 0, void
13463
13486
  },
13464
13487
  {
13465
13488
  "type": "wrapper",
13466
- "className": 'p-0 flex-1 focus:outline-none lg:order-last h-full',
13489
+ "className": 'overflow-y-auto p-0 flex-1 focus:outline-none lg:order-last h-full',
13467
13490
  "body": defaultsDeep$1({ data: defData }, recordSchema)
13468
13491
  }
13469
13492
  ]
@@ -13472,7 +13495,7 @@ var PageRecordDetail = function (props) { return __awaiter(void 0, void 0, void
13472
13495
  });
13473
13496
  }); };
13474
13497
 
13475
- var __assign=function(){return (__assign=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},StandardObjects={Base:{Actions:{standard_query:{visible:function(e,t,r){return !1}},standard_new:{visible:function(e,t,r){return "cms_files"!==e&&"instances"!==e&&(r?r.allowCreate:void 0)}},standard_edit:{visible:function(e,t,r){if(r)return r.allowEdit}},standard_delete:{visible:function(e,t,r){if(r)return r.allowDelete}},standard_import_data:{visible:function(e,t,r){var n=this.object;if(r)return r.allowCreate&&n.hasImportTemplates}},standard_approve:{visible:function(e,t,r){return !1}},standard_view_instance:{visible:function(e,t,r){return !1}},standard_submit_for_approval:{visible:function(e,t,r){return window.Steedos.ProcessManager.allowSubmit.apply(this,[e,t])},todo:function(e,t){return window.Steedos.ProcessManager.submit.apply(this,[e,t])}},standard_follow:{visible:function(e,t,r){return !1}},standard_delete_many:{visible:function(e,t,r){return !RegExp("\\w+/view/\\w+").test(location.pathname)&&(r?r.allowDelete:void 0)}}}}},authRequest=function(e,t){var a=null;e=Steedos.absoluteUrl(e);try{var r=[{name:"Content-Type",value:"application/json"},{name:"Authorization",value:Steedos.getAuthorization()}],n={type:"get",url:e,dataType:"json",contentType:"application/json",beforeSend:function(t){if(r&&r.length)return r.forEach(function(e){return t.setRequestHeader(e.name,e.value)})},success:function(e){a=e;},error:function(e,t,r){var n,o;e.responseJSON&&e.responseJSON.error?(n=e.responseJSON.error,o=void(a={error:n}),o=n.reason||n.message||n,console.error(o)):console.error(e.responseJSON);}};return $.ajax(Object.assign({},n,t)),a}catch(e){console.error(e);}};function _extends(){return (_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r,n=arguments[t];for(r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);}return e}).apply(this,arguments)}const newFunctionComponent=o=>e=>{const[t,r]=useState(!0);var n=()=>{r(!1);};return has(e,"ref")||(window.SteedosUI.refs[e.name]={show:()=>{r(!0);},close:n}),React.createElement(o,_extends({visible:t,onCancel:n,onClose:n},{width:"70%",style:{width:"70%",maxWidth:"950px",minWidth:"480px"}},e))},newComponentRender=(r,n)=>(e,t)=>{e.name||(e.name=r+"-"+(e.name||"default")),(t=t||document.getElementById(`steedos-${r}-root-`+e.name))||((t=document.createElement("div")).setAttribute("id",`steedos-${r}-root-`+e.name),document.body.appendChild(t));e=React.createElement(newFunctionComponent(n),e);createRoot(t).render(e);},Modal=assign(newComponentRender("modal",Modal$1),{info:Modal$1.info,success:Modal$1.success,error:Modal$1.error,warning:Modal$1.warning,confirm:Modal$1.confirm}),Drawer=newComponentRender("drawer",Drawer$1),getGraphqlFieldsQuery=e=>{const t=["_id"];return e.push("record_permissions"),each(e,e=>{-1<e.indexOf(".")&&(e=e.split(".")[0]),t.push(""+e);}),""+t.join(" ")},getFindOneQuery=(e,t,r)=>{e=e.replace(/\./g,"_");r=getGraphqlFieldsQuery(r);let n="";t=[`id: "${t}"`];return `{record:${e}__findOne${n=0<t.length?`(${t.join(",")})`:n}{${r}}}`},SObject={getRecord:async(e,t,r)=>{return (await fetchAPI("/graphql",{method:"post",body:JSON.stringify({query:getFindOneQuery(e,t,r)})})).data.record},getUISchema:async(e,t)=>getUISchema(e,t)},canSaveFilter=e=>!(!e._id||e.owner!==getSteedosAuth()?.userId),ListView={showFilter:(e,{listView:t,data:r})=>{canSaveFilter(t);r.filters&&(r.filters=filtersToConditions(r.filters));},getVisibleFilter:(e,t)=>{return t||(canSaveFilter(e)?e.filters:void 0)},getQueryFilter:(e,t)=>{return canSaveFilter(e)?ListView.getVisibleFilter(e,t):isEmpty(t)?e.filters:[e.filters,"and",t]},getFirstListView:async e=>{e=await window.getUISchema(e);return _.first(_.sortBy(_.values(e.list_views),"sort_no"))}},Router={getAppPath({appId:e}){return "/app/"+e},getPagePath(){},getObjectListViewPath({appId:e,objectName:t,listViewName:r}){return `/app/${e}/${t}/grid/`+r},getObjectDetailPath({appId:e,objectName:t,recordId:r}){return `/app/${e}/${t}/view/`+r},getObjectRelatedViewPath({appId:e,masterObjectName:t,masterRecordId:r,objectName:n,foreignKey:o}){return `/app/${e}/${t}/${r}/${n}/grid?related_field_name=`+o}};var withModalWrap=function(t,e){return function(e){return createElement(t,e)}},render=function(e,t,r,n){e=withModalWrap(e),e=createElement(e,__assign({},t));return ReactDOM.render(e,r)};const safeRunFunction=(t,r,n,o)=>{try{var a=window.Creator;if(!!(!a||!a.getObjectUrl)&&/\bSteedos\b|\bCreator\b|\bMeteor\b|\bSession\b/.test(t))return console.info("调用了Creator|Steedos|Meteor|Session变量的脚本不执行,直接按空值处理。"),"";let e=[];return isNil(r)||(e=isArray(r)?r:[r]),t.bind(o||{})(...e)}catch(e){return console.log(e),n}};function safeEval(js){try{return eval(js)}catch(e){console.error(e,js);}}const isExpression=function(e){var t,r;return "string"==typeof e&&(t=/^{{(function.+)}}$/,r=/^{{(.+=>.+)}}$/,!("string"!=typeof e||!e.match(/^{{(.+)}}$/)||e.match(t)||e.match(r)))},parseSingleExpression=function(t,e,r,n){var o,a=function(e,t){return "#"!==t&&t?"string"==typeof t?_.get(e,t):void console.error("path has to be a string"):e||{}}(e=void 0===e?{}:e,function(e){return "string"!=typeof e||1===(e=e.split(".")).length?"#":(e.pop(),e.join("."))}(r))||{};if("string"!=typeof t)return t;o="__G_L_O_B_A_L__",e="\n return "+t.substring(2,t.length-2).replace(/\bformData\b/g,JSON.stringify(e).replace(/\bglobal\b/g,o)).replace(/\bglobal\b/g,JSON.stringify(n)).replace(new RegExp("\\b"+o+"\\b","g"),"global").replace(/rootValue/g,JSON.stringify(a));try{return Function(e)()}catch(e){return console.log(e,t,r),t}};var Expression=Object.freeze({__proto__:null,isExpression:isExpression,parseSingleExpression:parseSingleExpression});const getCompatibleDefaultValueExpression=(e,t)=>{let r=e;return /^\{\w+(\.*\w+)*\}$/.test(e)&&(r=-1<e.indexOf("userId")||-1<e.indexOf("spaceId")||-1<e.indexOf("user.")||-1<e.indexOf("now")?`{${e}}`.replace("{{","{{global."):`{${e}}`.replace("{{","{{formData."),t&&(r=r.replace(/\{\{(.+)\}\}/,"{{[$1]}}"))),r},getFieldDefaultValue=(e,t)=>{if(!e)return null;let r=e.defaultValue;e._defaultValue&&(r=safeEval(`(${e._defaultValue})`)),isFunction(r)&&(r=safeRunFunction(r,[],null,{name:e.name})),isString(r)&&(r=getCompatibleDefaultValueExpression(r,e.multiple));var n=isExpression(r);return n&&(r=parseSingleExpression(r,{},"#",t)),"select"===e.type&&(t=e.data_type||"text",!r||n||e.multiple||("text"!==t||isString(r)?"number"!==t||isNumber(r)?"boolean"!==t||isBoolean(r)||(r="true"===r):r=Number(r):r=String(r))),r};function getTreeOptions(t,e){const r=e?.unfoldedNum||1,n=[],o=(t,r,n)=>{var e;if(r)return e=_.filter(t,e=>_.includes(r,e.value)),_.each(e,e=>{1<=n?(e.unfolded=!0,e.children&&(e.children=o(t,e.children,n-1))):e.children&&(e.children=o(t,e.children,n));}),e};for(var a=t,i=0;i<a.length;i++)if(a[i].noParent=0,a[i].unfolded=!1,a[i].parent){biaozhi=1;for(var s=0;s<a.length;s++)a[i].parent==a[s].value&&(biaozhi=0);1==biaozhi&&(a[i].noParent=1);}else a[i].noParent=1;return _.each(t,e=>{1==e.noParent&&(1<=r?(e.unfolded=!0,n.push(Object.assign({},e,{children:o(t,e.children,r-1)}))):n.push(Object.assign({},e,{children:o(t,e.children,r)})));}),n}const SteedosUI$1=Object.assign({},{render:render,Router:Router,ListView:ListView,Object:SObject,Modal:Modal,Drawer:Drawer,refs:{},getRef(e){return SteedosUI$1.refs[e]},router:{go:(e,t)=>{var r=window.FlowRouter;if(t)return r?r.go(t):window.open(t);r?r.reload():console.warn("暂不支持自动跳转",e);},reload:()=>{console.log("reload");}},message:message,notification:notification,components:{Button:Button,Space:Space},getRefId:({type:e,appId:t,name:r})=>{switch(e){case"listview":return `amis-${t}-${r}-listview`;case"form":return `amis-${t}-${r}-form`;case"detail":return `amis-${t}-${r}-detail`;default:return `amis-${t}-${r}-`+e}},reloadRecord:()=>{if(window.FlowRouter)return window.FlowRouter.reload()},getFieldDefaultValue:getFieldDefaultValue,getTreeOptions:getTreeOptions});var getBuilderContext=function(){return "undefined"==typeof window?{}:Builder.settings.context||Builder.settings},Steedos$1=__assign({getRootUrl:function(e){var t=getBuilderContext();return t.rootUrl||("undefined"!=typeof window?window.localStorage.getItem("steedos:rootUrl"):"")||e},absoluteUrl:function(e){return void 0===e&&(e=""),"".concat(Steedos$1.getRootUrl()).concat(e)},getTenantId:function(){try{var e=getBuilderContext().tenantId;return (e=window.location.search&&!e?new URLSearchParams(window.location.search).get("X-Space-Id"):e)?e:null}catch(e){console.error(e);}},getAuthorization:function(){try{var e=getBuilderContext(),t=e.tenantId,r=e.authToken;return t&&r?"Bearer ".concat(t,",").concat(r):null}catch(e){console.error(e);}},authRequest:authRequest,StandardObjects:StandardObjects},Expression);"undefined"==typeof window||window.Steedos||(window.Steedos=Steedos$1),"undefined"==typeof window||window.SteedosUI||(window.SteedosUI=SteedosUI$1);
13498
+ var __assign=function(){return (__assign=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},StandardObjects={Base:{Actions:{standard_query:{visible:function(e,t,r){return !1}},standard_new:{visible:function(e,t,r){return "cms_files"!==e&&"instances"!==e&&(r?r.allowCreate:void 0)}},standard_edit:{visible:function(e,t,r){if(r)return r.allowEdit}},standard_delete:{visible:function(e,t,r){if(r)return r.allowDelete}},standard_import_data:{visible:function(e,t,r){var n=this.object;if(r)return r.allowCreate&&n.hasImportTemplates}},standard_approve:{visible:function(e,t,r){return !1}},standard_view_instance:{visible:function(e,t,r){return !1}},standard_submit_for_approval:{visible:function(e,t,r){return window.Steedos.ProcessManager.allowSubmit.apply(this,[e,t])},todo:function(e,t){return window.Steedos.ProcessManager.submit.apply(this,[e,t])}},standard_follow:{visible:function(e,t,r){return !1}},standard_delete_many:{visible:function(e,t,r){return !RegExp("\\w+/view/\\w+").test(location.pathname)&&(r?r.allowDelete:void 0)}}}}},authRequest=function(e,t){var a=null;e=Steedos.absoluteUrl(e);try{var r=[{name:"Content-Type",value:"application/json"},{name:"Authorization",value:Steedos.getAuthorization()}],n={type:"get",url:e,dataType:"json",contentType:"application/json",beforeSend:function(t){if(r&&r.length)return r.forEach(function(e){return t.setRequestHeader(e.name,e.value)})},success:function(e){a=e;},error:function(e,t,r){var n,o;e.responseJSON&&e.responseJSON.error?(n=e.responseJSON.error,o=void(a={error:n}),o=n.reason||n.message||n,console.error(o)):console.error(e.responseJSON);}};return $.ajax(Object.assign({},n,t)),a}catch(e){console.error(e);}};function _extends(){return (_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r,n=arguments[t];for(r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);}return e}).apply(this,arguments)}const newFunctionComponent=o=>e=>{const[t,r]=useState(!0);var n=()=>{r(!1);};return has(e,"ref")||(window.SteedosUI.refs[e.name]={show:()=>{r(!0);},close:n}),React.createElement(o,_extends({visible:t,onCancel:n,onClose:n},{width:"70%",style:{width:"70%",maxWidth:"950px",minWidth:"480px"}},e))},newComponentRender=(r,n)=>(e,t)=>{e.name||(e.name=r+"-"+(e.name||"default")),(t=t||document.getElementById(`steedos-${r}-root-`+e.name))||((t=document.createElement("div")).setAttribute("id",`steedos-${r}-root-`+e.name),document.body.appendChild(t));e=React.createElement(newFunctionComponent(n),e);createRoot(t).render(e);},Modal=assign(newComponentRender("modal",Modal$1),{info:Modal$1.info,success:Modal$1.success,error:Modal$1.error,warning:Modal$1.warning,confirm:Modal$1.confirm}),Drawer=newComponentRender("drawer",Drawer$1),getGraphqlFieldsQuery=e=>{const t=["_id"];return e.push("record_permissions"),each(e,e=>{-1<e.indexOf(".")&&(e=e.split(".")[0]),t.push(""+e);}),""+t.join(" ")},getFindOneQuery=(e,t,r)=>{e=e.replace(/\./g,"_");r=getGraphqlFieldsQuery(r);let n="";t=[`id: "${t}"`];return `{record:${e}__findOne${n=0<t.length?`(${t.join(",")})`:n}{${r}}}`},SObject={getRecord:async(e,t,r)=>{return (await fetchAPI("/graphql",{method:"post",body:JSON.stringify({query:getFindOneQuery(e,t,r)})})).data.record},getUISchema:async(e,t)=>getUISchema(e,t)},canSaveFilter=e=>!(!e._id||e.owner!==getSteedosAuth()?.userId),ListView={showFilter:(e,{listView:t,data:r})=>{canSaveFilter(t);r.filters&&(r.filters=filtersToConditions(r.filters));},getVisibleFilter:(e,t)=>{return t||(canSaveFilter(e)?e.filters:void 0)},getQueryFilter:(e,t)=>{return canSaveFilter(e)?ListView.getVisibleFilter(e,t):isEmpty(t)?e.filters:[e.filters,"and",t]},getFirstListView:async e=>{e=await window.getUISchema(e);return _.first(_.sortBy(_.values(e.list_views),"sort_no"))}},Router={getAppPath({appId:e}){return "/app/"+e},getPagePath(){},getObjectListViewPath({appId:e,objectName:t,listViewName:r}){return `/app/${e}/${t}/grid/`+r},getObjectDetailPath({appId:e,objectName:t,recordId:r}){return `/app/${e}/${t}/view/`+r},getObjectRelatedViewPath({appId:e,masterObjectName:t,masterRecordId:r,objectName:n,foreignKey:o}){return `/app/${e}/${t}/${r}/${n}/grid?related_field_name=`+o}};var withModalWrap=function(t,e){return function(e){return createElement(t,e)}},render=function(e,t,r,n){e=withModalWrap(e),e=createElement(e,__assign({},t));return ReactDOM.render(e,r)};const safeRunFunction=(t,r,n,o)=>{try{var a=window.Creator;if(!!(!a||!a.getObjectUrl)&&/\bSteedos\b|\bCreator\b|\bMeteor\b|\bSession\b/.test(t))return console.info("调用了Creator|Steedos|Meteor|Session变量的脚本不执行,直接按空值处理。"),"";let e=[];return isNil(r)||(e=isArray(r)?r:[r]),t.bind(o||{})(...e)}catch(e){return console.log(e),n}};function safeEval(js){try{return eval(js)}catch(e){console.error(e,js);}}const isExpression=function(e){var t,r;return "string"==typeof e&&(t=/^{{(function.+)}}$/,r=/^{{(.+=>.+)}}$/,!("string"!=typeof e||!e.match(/^{{(.+)}}$/)||e.match(t)||e.match(r)))},parseSingleExpression=function(t,e,r,n){var o,a=function(e,t){return "#"!==t&&t?"string"==typeof t?_.get(e,t):void console.error("path has to be a string"):e||{}}(e=void 0===e?{}:e,function(e){return "string"!=typeof e||1===(e=e.split(".")).length?"#":(e.pop(),e.join("."))}(r))||{};if("string"!=typeof t)return t;o="__G_L_O_B_A_L__",e="\n return "+t.substring(2,t.length-2).replace(/\bformData\b/g,JSON.stringify(e).replace(/\bglobal\b/g,o)).replace(/\bglobal\b/g,JSON.stringify(n)).replace(new RegExp("\\b"+o+"\\b","g"),"global").replace(/rootValue/g,JSON.stringify(a));try{return Function(e)()}catch(e){return console.log(e,t,r),t}};var Expression=Object.freeze({__proto__:null,isExpression:isExpression,parseSingleExpression:parseSingleExpression});const getCompatibleDefaultValueExpression=(e,t)=>{let r=e;return /^\{\w+(\.*\w+)*\}$/.test(e)&&(r=-1<e.indexOf("userId")||-1<e.indexOf("spaceId")||-1<e.indexOf("user.")||-1<e.indexOf("now")?`{${e}}`.replace("{{","{{global."):`{${e}}`.replace("{{","{{formData."),t&&(r=r.replace(/\{\{(.+)\}\}/,"{{[$1]}}"))),r},getFieldDefaultValue=(e,t)=>{if(!e)return null;let r=e.defaultValue;e._defaultValue&&(r=safeEval(`(${e._defaultValue})`)),isFunction(r)&&(r=safeRunFunction(r,[],null,{name:e.name})),isString(r)&&(r=getCompatibleDefaultValueExpression(r,e.multiple));var n=isExpression(r);return n&&(r=parseSingleExpression(r,{},"#",t)),"select"===e.type&&(t=e.data_type||"text",!r||n||e.multiple||("text"!==t||isString(r)?"number"!==t||isNumber(r)?"boolean"!==t||isBoolean(r)||(r="true"===r):r=Number(r):r=String(r))),r};function getTreeOptions(t,e){const r=e?.unfoldedNum||1,n=[],o=(t,r,n)=>{var e;if(r)return e=_.filter(t,e=>_.includes(r,e.value)),_.each(e,e=>{1<=n?(e.unfolded=!0,e.children&&(e.children=o(t,e.children,n-1))):e.children&&(e.children=o(t,e.children,n));}),e};for(var a=t,i=0;i<a.length;i++)if(a[i].noParent=0,a[i].unfolded=!1,a[i].parent){let e=1;for(var s=0;s<a.length;s++)a[i].parent==a[s].value&&(e=0);1==e&&(a[i].noParent=1);}else a[i].noParent=1;return _.each(t,e=>{1==e.noParent&&(1<=r?(e.unfolded=!0,n.push(Object.assign({},e,{children:o(t,e.children,r-1)}))):n.push(Object.assign({},e,{children:o(t,e.children,r)})));}),n}const SteedosUI$1=Object.assign({},{render:render,Router:Router,ListView:ListView,Object:SObject,Modal:Modal,Drawer:Drawer,refs:{},getRef(e){return SteedosUI$1.refs[e]},router:{go:(e,t)=>{var r=window.FlowRouter;if(t)return r?r.go(t):window.open(t);r?r.reload():console.warn("暂不支持自动跳转",e);},reload:()=>{console.log("reload");}},message:message,notification:notification,components:{Button:Button,Space:Space},getRefId:({type:e,appId:t,name:r})=>{switch(e){case"listview":return `amis-${t}-${r}-listview`;case"form":return `amis-${t}-${r}-form`;case"detail":return `amis-${t}-${r}-detail`;default:return `amis-${t}-${r}-`+e}},reloadRecord:()=>{if(window.FlowRouter)return window.FlowRouter.reload()},getFieldDefaultValue:getFieldDefaultValue,getTreeOptions:getTreeOptions});var getBuilderContext=function(){return "undefined"==typeof window?{}:Builder.settings.context||Builder.settings},Steedos$1=__assign({getRootUrl:function(e){var t=getBuilderContext();return t.rootUrl||("undefined"!=typeof window?window.localStorage.getItem("steedos:rootUrl"):"")||e},absoluteUrl:function(e){return void 0===e&&(e=""),"".concat(Steedos$1.getRootUrl()).concat(e)},getTenantId:function(){try{var e=getBuilderContext().tenantId;return (e=window.location.search&&!e?new URLSearchParams(window.location.search).get("X-Space-Id"):e)?e:null}catch(e){console.error(e);}},getAuthorization:function(){try{var e=getBuilderContext(),t=e.tenantId,r=e.authToken;return t&&r?"Bearer ".concat(t,",").concat(r):null}catch(e){console.error(e);}},authRequest:authRequest,StandardObjects:StandardObjects},Expression);"undefined"==typeof window||window.Steedos||(window.Steedos=Steedos$1),"undefined"==typeof window||window.SteedosUI||(window.SteedosUI=SteedosUI$1);
13476
13499
 
13477
13500
  var index_esm = /*#__PURE__*/Object.freeze({
13478
13501
  __proto__: null,