@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.
@@ -719,7 +719,7 @@
719
719
  * @Author: baozhoutao@steedos.com
720
720
  * @Date: 2022-08-16 17:02:08
721
721
  * @LastEditors: baozhoutao@steedos.com
722
- * @LastEditTime: 2023-03-03 14:52:18
722
+ * @LastEditTime: 2023-04-11 09:57:37
723
723
  * @Description:
724
724
  */
725
725
 
@@ -746,10 +746,11 @@
746
746
  },
747
747
  getObjectDetailPath(props){
748
748
  const {formFactor, appId, objectName, recordId, listViewName, _templateType} = props;
749
+ // var urlParams = new URLSearchParams(window.location.search);
749
750
  // if(objectName === 'instances'){
750
751
  // return `/workflow/space/\${context.tenantId}/\${listName}/${recordId}`;
751
752
  // }
752
- const displayAs = Router$1.getTabDisplayAs(objectName);
753
+ const displayAs = Router$1.getTabDisplayAs(objectName); //urlParams.get("display") ||
753
754
  if(_templateType === 'JavaScript'){
754
755
  return `/app/${appId}/${objectName}/view/${recordId}?display=${displayAs}&side_object=<%=item.objectName%>&side_listview_id=<%=item.listName%>`;
755
756
  }
@@ -765,7 +766,7 @@
765
766
  * @Author: baozhoutao@steedos.com
766
767
  * @Date: 2022-05-23 09:53:08
767
768
  * @LastEditors: baozhoutao@steedos.com
768
- * @LastEditTime: 2023-03-09 10:00:44
769
+ * @LastEditTime: 2023-04-10 11:22:54
769
770
  * @Description:
770
771
  */
771
772
 
@@ -960,6 +961,7 @@
960
961
  case 'number':
961
962
  case 'currency':
962
963
  return await getNumberTpl(field);
964
+ case 'percent':
963
965
  case 'formula':
964
966
  case 'summary':
965
967
  return getUiFieldTpl(field)
@@ -992,7 +994,7 @@
992
994
  if(___default.includes(['time','date','datetime','boolean','number','currency'], field.type)){
993
995
  fieldsName.push(`${field.name}`);
994
996
  }
995
- if(___default.includes(['time','filesize','date','datetime','boolean','number','currency', 'select', 'file', 'image', 'avatar', 'formula', 'summary', 'object', 'grid'], field.type)){
997
+ if(___default.includes(['percent','time','filesize','date','datetime','boolean','number','currency', 'select', 'file', 'image', 'avatar', 'formula', 'summary', 'object', 'grid'], field.type)){
996
998
  displayFields.push(`${field.name}`);
997
999
  }
998
1000
  }
@@ -1037,11 +1039,7 @@
1037
1039
  }
1038
1040
 
1039
1041
  async function getFindOneQuery$1(object, recordId, fields, options){
1040
- let queryOptions = "";
1041
-
1042
- if(recordId){
1043
- queryOptions = `(filters:["${object.idFieldName}", "=", "${recordId}"])`;
1044
- }
1042
+ let queryOptions = `(filters:["${object.idFieldName}", "=", "\${recordId}"])`;
1045
1043
  let alias = "data";
1046
1044
  if(options){
1047
1045
  if(options.alias){
@@ -1750,8 +1748,8 @@
1750
1748
  /*
1751
1749
  * @Author: baozhoutao@steedos.com
1752
1750
  * @Date: 2022-11-01 15:51:00
1753
- * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
1754
- * @LastEditTime: 2023-03-27 15:42:24
1751
+ * @LastEditors: Please set LastEditors
1752
+ * @LastEditTime: 2023-04-11 13:58:24
1755
1753
  * @Description:
1756
1754
  */
1757
1755
 
@@ -1769,6 +1767,36 @@
1769
1767
  if (payload && payload.schema) {
1770
1768
  formSchema = _.isString(payload.schema) ? JSON.parse(payload.schema) : payload.schema;
1771
1769
  }
1770
+
1771
+ const _master = api.body._master;
1772
+ if(_master && _master._isRelated){
1773
+ const relatedKey = _master.relatedKey;
1774
+ const masterObjectName = _master.objectName;
1775
+ const recordId = _master.recordId;
1776
+ let relatedKeySaveValue = recordId;
1777
+ const fields = ${JSON.stringify(uiSchema.fields)};
1778
+ const relatedField = fields[relatedKey];
1779
+ if(relatedField.reference_to_field && relatedField.reference_to_field !== '_id'){
1780
+ relatedKeySaveValue = _master.record[relatedField.reference_to_field];
1781
+ }
1782
+ let defaultData = {};
1783
+ let relatedKeyValue;
1784
+ if(!_.isString(relatedField.reference_to)){
1785
+ relatedKeyValue = { o: masterObjectName, ids: [relatedKeySaveValue] };
1786
+ }else if (relatedField.multiple) {
1787
+ relatedKeyValue = [relatedKeySaveValue];
1788
+ } else {
1789
+ relatedKeyValue = relatedKeySaveValue;
1790
+ }
1791
+ defaultData[relatedKey]=relatedKeyValue;
1792
+ if(payload.schema){
1793
+ // 表单微页面第一层要求是page
1794
+ formSchema.data.defaultData = defaultData;
1795
+ }else{
1796
+ formSchema.defaultData = defaultData;
1797
+ }
1798
+ }
1799
+
1772
1800
  return {
1773
1801
  data: formSchema
1774
1802
  };
@@ -1792,7 +1820,8 @@
1792
1820
  "data": {
1793
1821
  "$master": "$$",
1794
1822
  "_master": "${_master}",
1795
- "defaultData": "${defaultData}",
1823
+ "_master._isRelated": "${_isRelated}",
1824
+ "_master.relatedKey": "${relatedKey}",
1796
1825
  "appId": "${appId}",
1797
1826
  "objectName": "${objectName}",
1798
1827
  "context": "${context}",
@@ -1810,7 +1839,8 @@
1810
1839
  "messages": {},
1811
1840
  "schemaApi": {
1812
1841
  "data": {
1813
- "isLookup": "${isLookup}"
1842
+ "isLookup": "${isLookup}",
1843
+ "_master": "${_master}"
1814
1844
  },
1815
1845
  "url": "${context.rootUrl}/api/pageSchema/form?app=${appId}&objectApiName=${objectName}&formFactor=${formFactor}",
1816
1846
  "method": "get",
@@ -1848,7 +1878,7 @@
1848
1878
  * @Author: baozhoutao@steedos.com
1849
1879
  * @Date: 2022-07-13 15:18:03
1850
1880
  * @LastEditors: baozhoutao@steedos.com
1851
- * @LastEditTime: 2022-11-08 09:35:03
1881
+ * @LastEditTime: 2023-04-11 10:34:26
1852
1882
  * @Description:
1853
1883
  */
1854
1884
 
@@ -1856,6 +1886,13 @@
1856
1886
  const api = `/api/pageSchema/${type}?app=${appId}&objectApiName=${objectName}&recordId=${recordId}&pageId=${pageId}&formFactor=${formFactor}`;
1857
1887
  const page = await fetchAPI(api);
1858
1888
  if (page && page.schema) {
1889
+ page.schema = JSON.parse(page.schema);
1890
+ if(page.schema.data){
1891
+ delete page.schema.data.recordId;
1892
+ delete page.schema.data.objectName;
1893
+ delete page.schema.data.context;
1894
+ delete page.schema.data.global;
1895
+ }
1859
1896
  return page;
1860
1897
  }
1861
1898
  }
@@ -1933,8 +1970,8 @@
1933
1970
  /*
1934
1971
  * @Author: 殷亮辉 yinlianghui@hotoa.com
1935
1972
  * @Date: 2023-03-22 09:31:21
1936
- * @LastEditors: Please set LastEditors
1937
- * @LastEditTime: 2023-03-28 14:06:47
1973
+ * @LastEditors: baozhoutao@steedos.com
1974
+ * @LastEditTime: 2023-04-06 16:04:20
1938
1975
  */
1939
1976
  const getSchema$2 = (uiSchema)=>{
1940
1977
  return {
@@ -1964,15 +2001,11 @@
1964
2001
  },
1965
2002
  "adaptor": `
1966
2003
  if(payload.errors){
1967
- payload.status = 2;
1968
- payload.msg = payload.errors[0].message;
2004
+ payload.status = 2;
2005
+ payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;
1969
2006
  }
1970
2007
  return payload;
1971
2008
  `,
1972
- },
1973
- "messages": {
1974
- "success": "删除成功",
1975
- "failed": "删除失败"
1976
2009
  }
1977
2010
  },
1978
2011
  "actionType": "ajax"
@@ -2335,7 +2368,7 @@
2335
2368
  getStandardNew: async (uiSchema, ctx)=>{
2336
2369
  return {
2337
2370
  type: 'amis_button',
2338
- amis_schema: await getSchema$4()
2371
+ amis_schema: await getSchema$4(uiSchema)
2339
2372
  }
2340
2373
  },
2341
2374
  getStandardEdit: async (uiSchema, ctx)=>{
@@ -2419,7 +2452,7 @@
2419
2452
  if(visible.trim().startsWith('function')){
2420
2453
  return `${visible}.apply({
2421
2454
  object: uiSchema
2422
- }, [objectName, _id, typeof record === 'undefined' ? (typeof recordPermissions === 'undefined' ? {} : recordPermissions) : record.recordPermissions, data])`
2455
+ }, [objectName, typeof _id === 'undefined' ? null: _id, typeof record === 'undefined' ? (typeof recordPermissions === 'undefined' ? {} : recordPermissions) : record.recordPermissions, data])`
2423
2456
  }
2424
2457
  return visible;
2425
2458
  }
@@ -3549,9 +3582,8 @@
3549
3582
 
3550
3583
  let body = [
3551
3584
  {
3552
- "type": "service",
3553
- "id": `page_readonly_${name}_header`,
3554
- data: { "&":"$$", objectName: name, _id: recordId, recordPermissions: "${record.recordPermissions}", uiSchema: objectSchema},
3585
+ "type": "wrapper",
3586
+ "className": "p-0",
3555
3587
  "body": [
3556
3588
  {
3557
3589
  "type": "grid",
@@ -3559,14 +3591,14 @@
3559
3591
  "className": "flex justify-between"
3560
3592
  }
3561
3593
  ],
3562
- "messages": {},
3563
3594
  "hiddenOn": "${recordLoaded != true}"
3564
3595
  }
3565
3596
  ];
3566
3597
 
3567
3598
  if(showRecordTitle){
3568
3599
  body.push({
3569
- "type": "service",
3600
+ "type": "wrapper",
3601
+ "className": "p-0",
3570
3602
  "body": [
3571
3603
  {
3572
3604
  "type": "grid",
@@ -3574,16 +3606,15 @@
3574
3606
  "className": "flex justify-between"
3575
3607
  }
3576
3608
  ],
3577
- "messages": {},
3578
3609
  "hiddenOn": "${recordLoaded == true}"
3579
3610
  });
3580
3611
  }
3581
3612
 
3582
3613
  return {
3583
3614
  type: 'service',
3584
- bodyClassName: '',
3615
+ id: `page_readonly_${name}_header`,
3585
3616
  name: `page`,
3586
- data: { "&":"$$", objectName: name, _id: recordId, recordPermissions: objectSchema.permissions, uiSchema: objectSchema, record: "${record}"},
3617
+ data: { objectName: name, _id: recordId, recordPermissions: objectSchema.permissions, uiSchema: objectSchema, record: "${record}" },
3587
3618
  body: body,
3588
3619
  className: ''
3589
3620
  }
@@ -3638,7 +3669,7 @@
3638
3669
  "body": [
3639
3670
  {
3640
3671
  "type": "tpl",
3641
- "tpl": `<a class="text-black text-base font-bold" href="/app/\${appId}/\${masterObjectName}/\${masterRecordId}/\${objectName}/grid?related_field_name=\${relatedKey}">${relatedLabel}(\${$count})</a>`,
3672
+ "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>`,
3642
3673
  "inline": false,
3643
3674
  "wrapperComponent": "",
3644
3675
  "className": "",
@@ -3679,17 +3710,22 @@
3679
3710
  async function getObjectRelatedListHeader(objectSchema, recordId, relatedObjectName) {
3680
3711
  }
3681
3712
 
3682
- const getDisplayAsButton = function(showDisplayAs){
3713
+ const getDisplayAsButton = function(objectName, showDisplayAs){
3714
+ let displayAs = Router$1.getTabDisplayAs(objectName);
3683
3715
  let buttons = [
3684
3716
  {
3685
3717
  "type": "button",
3686
3718
  "label": "表格",
3687
- "onClick": "const url = document.location.pathname + '?display=grid'; props.env.jumpTo(url);"
3719
+ "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');",
3720
+ "rightIcon": displayAs != 'split' ? "fa fa-check" : null,
3721
+ "rightIconClassName": "m-l-sm"
3688
3722
  },
3689
3723
  {
3690
3724
  "type": "button",
3691
3725
  "label": "分栏视图",
3692
- "onClick": "const url = document.location.pathname + '?display=split'; props.env.jumpTo(url);"
3726
+ "onClick": "const url = document.location.pathname + '?display=split'; props.env.jumpTo(url);",
3727
+ "rightIcon": displayAs === 'split' ? "fa fa-check" : null,
3728
+ "rightIconClassName": "m-l-sm"
3693
3729
  }
3694
3730
  ];
3695
3731
  return {
@@ -3831,7 +3867,7 @@ setTimeout(()=>{
3831
3867
  }
3832
3868
  }
3833
3869
  },
3834
- showDisplayAs? getDisplayAsButton() : {}
3870
+ showDisplayAs? getDisplayAsButton(mainObject?.name) : {}
3835
3871
  ]
3836
3872
  }else {
3837
3873
  return [
@@ -3912,7 +3948,7 @@ setTimeout(()=>{
3912
3948
  }
3913
3949
  }
3914
3950
  },
3915
- showDisplayAs? getDisplayAsButton() : {}
3951
+ showDisplayAs? getDisplayAsButton(showDisplayAs) : {}
3916
3952
  // {
3917
3953
  // "type": "search-box",
3918
3954
  // "align": "right",
@@ -4202,13 +4238,14 @@ setTimeout(()=>{
4202
4238
  "headers": {
4203
4239
  "Authorization": "Bearer ${context.tenantId},${context.authToken}"
4204
4240
  },
4205
- "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 ",
4241
+ "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 ",
4206
4242
  "requestAdaptor": "\n ",
4207
4243
  "data": {
4208
4244
  "query": "{options:organizations(filters:[\"hidden\", \"!=\", true],sort:\"sort_no desc\"){value:_id label:name,parent,children}}"
4209
4245
  },
4210
4246
  "messages": {
4211
- }
4247
+ },
4248
+ "cache": 300000
4212
4249
  },
4213
4250
  "onEvent": {
4214
4251
  "change": {
@@ -4599,20 +4636,20 @@ setTimeout(()=>{
4599
4636
 
4600
4637
  if(referenceTo){
4601
4638
  // 字段值单独走一个请求合并到source的同一个GraphQL接口中
4602
- const defaultValueOptionsQueryData = await getFindQuery({ name: referenceTo.objectName }, null, {
4603
- [referenceTo.labelField.name]: Object.assign({}, referenceTo.labelField, {alias: 'label'}),
4604
- [referenceTo.valueField.name]: Object.assign({}, referenceTo.valueField, {alias: 'value'})
4605
- }, {
4639
+ const defaultValueOptionsQueryData = await getFindQuery({ name: referenceTo.objectName }, null, [
4640
+ Object.assign({}, referenceTo.labelField, {alias: 'label'}),
4641
+ Object.assign({}, referenceTo.valueField, {alias: 'value'})
4642
+ ], {
4606
4643
  alias: "defaultValueOptions",
4607
4644
  filters: "{__options_filters}",
4608
4645
  count: false
4609
4646
  });
4610
4647
  apiInfo = await getApi$1({
4611
4648
  name: referenceTo.objectName
4612
- }, null, {
4613
- [referenceTo.labelField.name]: Object.assign({}, referenceTo.labelField, {alias: 'label'}),
4614
- [referenceTo.valueField.name]: Object.assign({}, referenceTo.valueField, {alias: 'value'})
4615
- }, {expand: false, alias: 'options', queryOptions: `filters: {__filters}, top: {__top}, sort: "{__sort}"`, moreQueries: [defaultValueOptionsQueryData.query]});
4649
+ }, null, [
4650
+ Object.assign({}, referenceTo.labelField, {alias: 'label'}),
4651
+ Object.assign({}, referenceTo.valueField, {alias: 'value'})
4652
+ ], {expand: false, alias: 'options', queryOptions: `filters: {__filters}, top: {__top}, sort: "{__sort}"`, moreQueries: [defaultValueOptionsQueryData.query]});
4616
4653
 
4617
4654
  apiInfo.adaptor = `
4618
4655
  const data = payload.data;
@@ -5773,8 +5810,9 @@ setTimeout(()=>{
5773
5810
  async function getReadonlyFormInitApi(object, recordId, fields, options){
5774
5811
  return {
5775
5812
  method: "post",
5776
- url: getApi$2()+"?rf="+ (new Date()).getTime(),
5813
+ url: getApi$2()+"&recordId=${recordId}",
5777
5814
  cache: API_CACHE,
5815
+ // requestAdaptor: "console.log('getReadonlyFormInitApi requestAdaptor', api);return api;",
5778
5816
  adaptor: getReadonlyFormAdaptor(fields),
5779
5817
  data: await getFindOneQuery$1(object, recordId, fields, options),
5780
5818
  headers: {
@@ -5881,6 +5919,7 @@ setTimeout(()=>{
5881
5919
  data.global = "${global}";
5882
5920
  data.context = "${context}";
5883
5921
  data.defaultData = "${defaultData}";
5922
+
5884
5923
  return {
5885
5924
  method: "post",
5886
5925
  url: getApi$2(),
@@ -6249,7 +6288,7 @@ setTimeout(()=>{
6249
6288
  keepItemSelectionOnPageChange: true,
6250
6289
  api: await getTableApi(objectSchema, fields, options),
6251
6290
  hiddenOn: options.tableHiddenOn,
6252
- autoFillHeight: true,
6291
+ autoFillHeight: options.isRelated ? false : true,
6253
6292
  className: `flex-auto ${crudClassName || ""}`,
6254
6293
  crudClassName: crudClassName,
6255
6294
  },
@@ -6292,11 +6331,11 @@ setTimeout(()=>{
6292
6331
  id: `service_${id}`,
6293
6332
  name: `page`,
6294
6333
  data: {
6295
- objectName: objectSchema.name,
6296
- _id: null,
6334
+ // objectName: objectSchema.name,
6335
+ // _id: null,
6297
6336
  recordPermissions: objectSchema.permissions,
6298
6337
  uiSchema: objectSchema,
6299
- loaded: false //crud接收适配器中设置为true,否则就是刷新浏览器第一次加载
6338
+ // loaded: false //crud接收适配器中设置为true,否则就是刷新浏览器第一次加载
6300
6339
  },
6301
6340
  body: body
6302
6341
  }
@@ -6409,6 +6448,10 @@ setTimeout(()=>{
6409
6448
  "objectName": "${_master.objectName}"
6410
6449
  },
6411
6450
  "expression": `\${_master.objectName != '${objectSchema.name}' && _master.objectName}`
6451
+ },
6452
+ {
6453
+ "args": {},
6454
+ "actionType": "closeDialog"
6412
6455
  }
6413
6456
  ]
6414
6457
  }
@@ -6755,7 +6798,7 @@ setTimeout(()=>{
6755
6798
  // return 'false';
6756
6799
  // }
6757
6800
  if(visible.trim().startsWith('function')){
6758
- return `${visible}(objectName, _id, typeof record === 'undefined' ? (typeof recordPermissions === 'undefined' ? {} : recordPermissions) : record.recordPermissions, data)`
6801
+ return `${visible}(objectName, typeof _id === 'undefined' ? null: _id, typeof record === 'undefined' ? (typeof recordPermissions === 'undefined' ? {} : recordPermissions) : record.recordPermissions, data)`
6759
6802
  }
6760
6803
  return visible;
6761
6804
  }
@@ -6920,6 +6963,11 @@ setTimeout(()=>{
6920
6963
 
6921
6964
  let valueField = mainObject.key_field || '_id';
6922
6965
  const api = await getApi(mainObject, null, fields, {count: options.queryCount, alias: 'rows', limit: top, queryOptions: `filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"`});
6966
+
6967
+ if(options.isRelated){
6968
+ api.url += "&recordId=${recordId}";
6969
+ }
6970
+
6923
6971
  api.data.$term = "$term";
6924
6972
  api.data.$self = "$$";
6925
6973
  api.data.filter = "$filter";
@@ -7039,11 +7087,36 @@ setTimeout(()=>{
7039
7087
  if(!_.isEmpty(systemFilters)){
7040
7088
  filters = systemFilters;
7041
7089
  };
7042
-
7043
7090
  if(api.data.$self.additionalFilters){
7044
7091
  userFilters.push(api.data.$self.additionalFilters)
7045
7092
  }
7046
7093
 
7094
+ if(api.data.$self._isRelated){
7095
+ const self = api.data.$self;
7096
+ const relatedKey = self.relatedKey;
7097
+ const recordId = self.recordId;
7098
+ const refField = self.uiSchema.fields[relatedKey];
7099
+ const masterRecord = self._master.record;
7100
+ const masterObjectName = self._master.objectName;
7101
+ let relatedValue = recordId;
7102
+ if(refField.reference_to_field && refField.reference_to_field != '_id'){
7103
+ relatedValue = masterRecord[refField.reference_to_field]
7104
+ }
7105
+ let relatedFilters;
7106
+ if (
7107
+ refField._reference_to ||
7108
+ (refField.reference_to && !_.isString(refField.reference_to))
7109
+ ) {
7110
+ relatedFilters = [
7111
+ [relatedKey + "/o", "=", masterObjectName],
7112
+ [relatedKey + "/ids", "=", relatedValue],
7113
+ ];
7114
+ } else {
7115
+ relatedFilters = [relatedKey, "=", relatedValue];
7116
+ }
7117
+ userFilters.push(relatedFilters)
7118
+ }
7119
+
7047
7120
  if(!_.isEmpty(userFilters)){
7048
7121
  if(_.isEmpty(filters)){
7049
7122
  filters = userFilters;
@@ -7166,7 +7239,7 @@ setTimeout(()=>{
7166
7239
  const data = await getFindQuery(object, recordId, fields, options);
7167
7240
  return {
7168
7241
  method: "post",
7169
- url: getApi$2(),
7242
+ url: getApi$2(), // + "&recordId=${recordId}"
7170
7243
  data: data,
7171
7244
  headers: {
7172
7245
  Authorization: "Bearer ${context.tenantId},${context.authToken}"
@@ -7801,7 +7874,7 @@ setTimeout(()=>{
7801
7874
  * @Author: baozhoutao@steedos.com
7802
7875
  * @Date: 2022-07-05 15:55:39
7803
7876
  * @LastEditors: Please set LastEditors
7804
- * @LastEditTime: 2023-03-30 17:44:53
7877
+ * @LastEditTime: 2023-04-11 13:13:00
7805
7878
  * @Description:
7806
7879
  */
7807
7880
 
@@ -7873,7 +7946,7 @@ setTimeout(()=>{
7873
7946
 
7874
7947
  // 获取单个相关表
7875
7948
  async function getRecordDetailRelatedListSchema(objectName, recordId, relatedObjectName, relatedKey, ctx){
7876
- let { top, perPage, hiddenEmptyTable, appId, relatedLabel, className, columns, sort, filters, visible_on } = ctx;
7949
+ let { top, perPage, appId, relatedLabel, className, columns, sort, filters, visible_on } = ctx;
7877
7950
  // console.log('getRecordDetailRelatedListSchema==>',objectName,recordId,relatedObjectName)
7878
7951
  const relatedObjectUiSchema = await getUISchema(relatedObjectName);
7879
7952
  if(!relatedObjectUiSchema){
@@ -7908,6 +7981,7 @@ setTimeout(()=>{
7908
7981
  relatedKey = mainRelated[relatedObjectName];
7909
7982
  }
7910
7983
  let globalFilter = null;
7984
+ // TODO: refField变量去掉,写到amis运行时脚本中,uiSchema.fields[relatedKey];可以取到
7911
7985
  const refField = await getField(relatedObjectName, relatedKey);
7912
7986
 
7913
7987
  if(!refField){
@@ -7922,24 +7996,22 @@ setTimeout(()=>{
7922
7996
  }
7923
7997
  }
7924
7998
  }
7925
-
7926
- let relatedValue = recordId;
7927
- if(refField.reference_to_field && refField.reference_to_field != '_id'){
7928
- const masterRecord = await getRecord(objectName, recordId, [refField.reference_to_field]);
7929
- relatedValue = masterRecord[refField.reference_to_field];
7930
- }
7999
+ // if(refField.reference_to_field && refField.reference_to_field != '_id'){
8000
+ // const masterRecord = await getRecord(objectName, recordId, [refField.reference_to_field]);
8001
+ // relatedValue = masterRecord[refField.reference_to_field]
8002
+ // }
7931
8003
 
7932
- if (
7933
- refField._reference_to ||
7934
- (refField.reference_to && !___default.isString(refField.reference_to))
7935
- ) {
7936
- globalFilter = [
7937
- [`${relatedKey}/o`, "=", objectName],
7938
- [`${relatedKey}/ids`, "=", relatedValue],
7939
- ];
7940
- } else {
7941
- globalFilter = [`${relatedKey}`, "=", relatedValue];
7942
- }
8004
+ // if (
8005
+ // refField._reference_to ||
8006
+ // (refField.reference_to && !isString(refField.reference_to))
8007
+ // ) {
8008
+ // globalFilter = [
8009
+ // [`${relatedKey}/o`, "=", objectName],
8010
+ // [`${relatedKey}/ids`, "=", relatedValue],
8011
+ // ];
8012
+ // } else {
8013
+ // globalFilter = [`${relatedKey}`, "=", relatedValue];
8014
+ // }
7943
8015
  const recordRelatedListHeader = await getObjectRecordDetailRelatedListHeader(relatedObjectUiSchema, relatedLabel);
7944
8016
  const componentId = `steedos-record-related-list-${relatedObjectName}`;
7945
8017
  const options = {
@@ -7964,9 +8036,9 @@ setTimeout(()=>{
7964
8036
  top: top,
7965
8037
  perPage: perPage,
7966
8038
  setDataToComponentId: componentId,
7967
- tableHiddenOn: hiddenEmptyTable ? "this.$count === 0" : null,
8039
+ // tableHiddenOn: hiddenEmptyTable ? "this.$count === 0" : null,
7968
8040
  appId: appId,
7969
- crudClassName: 'border-t border-slate-300',
8041
+ crudClassName: 'border-t border-slate-300 hidden',
7970
8042
  ...ctx
7971
8043
  };
7972
8044
  const amisSchema= (await getRelatedListSchema(relatedObjectName, 'all', options)).amisSchema;
@@ -7978,33 +8050,14 @@ setTimeout(()=>{
7978
8050
  amisSchema: {
7979
8051
  type: "service",
7980
8052
  id: componentId,
7981
- className: `steedos-record-related-list rounded border border-slate-300 bg-gray-100 mb-4 ${className}`,
8053
+ className: `steedos-record-related-list ${componentId} rounded border border-slate-300 bg-gray-100 mb-4 ${className}`,
7982
8054
  data: {
7983
- "&": "$$",
7984
- appId: "${appId}",
7985
- app_id: "${appId}",
7986
- masterObjectName: objectName,
7987
- masterRecordId: "${recordId}",
7988
8055
  relatedKey: relatedKey,
7989
- objectName: relatedObjectName,
7990
8056
  listViewId: `amis-\${appId}-${relatedObjectName}-listview`,
7991
8057
  _isRelated: true
7992
8058
  },
7993
8059
  body:[
7994
- {
7995
- ...amisSchema,
7996
- data: {
7997
- "&": "$$",
7998
- appId: "${appId}",
7999
- app_id: "${appId}",
8000
- relatedKey: relatedKey,
8001
- objectName: "${objectName}",
8002
- recordId: "${masterRecordId}",
8003
- defaultData: {
8004
- ...{[relatedKey]: getRelatedFieldValue(objectName, relatedValue, relatedObjectUiSchema, relatedKey)}
8005
- }
8006
- }
8007
- }
8060
+ amisSchema
8008
8061
  ]
8009
8062
  }
8010
8063
  };
@@ -8043,13 +8096,13 @@ setTimeout(()=>{
8043
8096
  columns = getListViewColumns(listView, ctx.formFactor);
8044
8097
  sort = getListViewSort(listView);
8045
8098
  filter = getListViewFilter(listView);
8046
- if(___default.isArray(ctx.globalFilter) && ctx.globalFilter.length && ___default.isArray(filter) && filter.length){
8047
- // 都有值
8048
- filter = [ctx.globalFilter, 'and', filter];
8049
- }else if(ctx.globalFilter && (!filter || !filter.length)){
8050
- // globalFilter有值,filter无值
8051
- filter = ctx.globalFilter;
8052
- }
8099
+ // if(isArray(ctx.globalFilter) && ctx.globalFilter.length && isArray(filter) && filter.length){
8100
+ // // 都有值
8101
+ // filter = [ctx.globalFilter, 'and', filter]
8102
+ // }else if(ctx.globalFilter && (!filter || !filter.length)){
8103
+ // // globalFilter有值,filter无值
8104
+ // filter = ctx.globalFilter;
8105
+ // }
8053
8106
  filtersFunction = listView && listView._filters;
8054
8107
  }else {
8055
8108
  const isNameField = ___default.find(
@@ -8059,9 +8112,9 @@ setTimeout(()=>{
8059
8112
  }
8060
8113
  );
8061
8114
  columns = isNameField ? [isNameField.name] : ['name'];
8062
- if(ctx.globalFilter){
8063
- filter = ctx.globalFilter;
8064
- }
8115
+ // if(ctx.globalFilter){
8116
+ // filter = ctx.globalFilter;
8117
+ // }
8065
8118
  }
8066
8119
 
8067
8120
  return {
@@ -8085,7 +8138,7 @@ setTimeout(()=>{
8085
8138
  return {
8086
8139
  columns: ctx.columns,
8087
8140
  sort,
8088
- filter: ctx.globalFilter,
8141
+ // filter: ctx.globalFilter,
8089
8142
  filtersFunction: filtersFunction
8090
8143
  }
8091
8144
  } else {
@@ -8124,6 +8177,16 @@ setTimeout(()=>{
8124
8177
  delete ctx.filters;
8125
8178
 
8126
8179
  delete ctx.globalFilter;
8180
+
8181
+ const adaptor = `
8182
+ if(setDataToComponentId){
8183
+ if(payload.data.count){
8184
+ setTimeout(function(){
8185
+ window.$("." + setDataToComponentId + " .antd-Crud").removeClass("hidden");
8186
+ }, 10);
8187
+ }
8188
+ };
8189
+ `;
8127
8190
  const amisSchema = {
8128
8191
  "type": "steedos-object-table",
8129
8192
  "objectApiName": objectName,
@@ -8132,6 +8195,8 @@ setTimeout(()=>{
8132
8195
  "filters": listviewFilter,
8133
8196
  "filtersFunction": filtersFunction,
8134
8197
  "sort": listViewSort,
8198
+ "filterVisible": false,
8199
+ adaptor,
8135
8200
  "ctx": ctx
8136
8201
  };
8137
8202
  // console.log(`getRelatedListSchema amisSchema`, amisSchema);
@@ -8144,8 +8209,8 @@ setTimeout(()=>{
8144
8209
  /*
8145
8210
  * @Author: baozhoutao@steedos.com
8146
8211
  * @Date: 2022-07-05 15:55:39
8147
- * @LastEditors: baozhoutao@steedos.com
8148
- * @LastEditTime: 2023-03-11 17:02:30
8212
+ * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
8213
+ * @LastEditTime: 2023-04-11 11:28:11
8149
8214
  * @Description:
8150
8215
  */
8151
8216
 
@@ -8317,14 +8382,14 @@ setTimeout(()=>{
8317
8382
  async function getFormSchema(objectName, ctx) {
8318
8383
  const uiSchema = await getUISchema(objectName);
8319
8384
  const amisSchema = await getObjectForm(uiSchema, ctx);
8320
- // console.log(`getFormSchema====>`, amisSchema)
8385
+ console.log(`getFormSchema====>`, amisSchema);
8321
8386
  return {
8322
8387
  uiSchema,
8323
8388
  amisSchema,
8324
8389
  };
8325
8390
  }
8326
8391
 
8327
- // 获取只读页面
8392
+ // 获取只读页面 recordId 已废弃, 函数签名保持不变, 但recordId变量不可再使用, 请使用运行时的${recordId}
8328
8393
  async function getViewSchema(objectName, recordId, ctx) {
8329
8394
  const uiSchema = await getUISchema(objectName);
8330
8395
  const amisSchema = await getObjectDetail(uiSchema, recordId, ctx);
@@ -8509,6 +8574,7 @@ setTimeout(()=>{
8509
8574
  headerToolbarItems: ctx.headerToolbarItems,
8510
8575
  buttons: await getListViewItemButtons(uiSchema, ctx)
8511
8576
  });
8577
+ // console.log('getTableSchema====>amisSchema', amisSchema)
8512
8578
  return {
8513
8579
  uiSchema,
8514
8580
  amisSchema,
@@ -8593,37 +8659,14 @@ setTimeout(()=>{
8593
8659
  amisSchema: {
8594
8660
  "type": "service",
8595
8661
  "body": [
8596
- {
8597
- "type": "steedos-record-detail-header",
8598
- "label": "标题面板",
8599
- "objectApiName": "${objectName}",
8600
- "recordId": "${recordId}",
8601
- "id": "u:48d2c28eb755",
8602
- onEvent: {
8603
- "recordLoaded": {
8604
- "actions": [
8605
- {
8606
- "actionType": "reload",
8607
- "data": {
8608
- "name": `\${event.data.record.${uiSchema?.NAME_FIELD_KEY || 'name'}}`,
8609
- "record": `\${event.data.record}`,
8610
- "recordLoaded": true,
8611
- }
8612
- },
8613
- {
8614
- "actionType": "reload",
8615
- "componentId": `page_readonly_${objectName}_header`, //刷新标题, 详细页面header service 嵌套太多, 导致仅刷新第一层service无法更新recordName
8616
- "data": {
8617
- "name": `\${event.data.record.${uiSchema?.NAME_FIELD_KEY || 'name'}}`,
8618
- "record": `\${event.data.record}`,
8619
- "recordLoaded": true,
8620
- }
8621
- }
8622
- ]
8623
- }
8662
+ {
8663
+ "type": "steedos-record-detail-header",
8664
+ "label": "标题面板",
8665
+ "objectApiName": "${objectName}",
8666
+ "recordId": "${recordId}",
8667
+ "id": "u:48d2c28eb755"
8624
8668
  },
8625
- },
8626
- content
8669
+ content
8627
8670
  ],
8628
8671
  data: {
8629
8672
  "_master.objectName": "${objectName}",
@@ -8650,51 +8693,6 @@ setTimeout(()=>{
8650
8693
  }
8651
8694
  }
8652
8695
 
8653
- // export async function getRecordDetailRelatedListSchema(objectName,recordId,relatedObjectName){
8654
- // // console.log('b==>',objectName,recordId,relatedObjectName)
8655
- // const relatedObjectUiSchema = await getUISchema(relatedObjectName);
8656
- // const { list_views, label , icon, fields } = relatedObjectUiSchema;
8657
- // const firstListViewName = keys(list_views)[0];
8658
- // const relatedKey = findKey(fields, function(field) {
8659
- // return ["lookup","master_detail"].indexOf(field.type) > -1 && field.reference_to === objectName;
8660
- // });
8661
- // const globalFilter = [relatedKey,'=',recordId];
8662
- // const recordRelatedListHeader = await getObjectRecordDetailRelatedListHeader(relatedObjectUiSchema);
8663
- // const options = {
8664
- // globalFilter,
8665
- // defaults: {
8666
- // listSchema: { headerToolbar:[],columnsTogglable:false },
8667
- // headerSchema: recordRelatedListHeader
8668
- // },
8669
- // showHeader: true
8670
- // }
8671
- // const amisSchema= (await getListSchema(null, relatedObjectName, firstListViewName, options)).amisSchema;
8672
- // return {
8673
- // uiSchema: relatedObjectUiSchema,
8674
- // amisSchema: {
8675
- // type: "service",
8676
- // data: {
8677
- // masterObjectName: objectName,
8678
- // masterRecordId: "${recordId}",
8679
- // relatedKey: relatedKey,
8680
- // objectName: relatedObjectName,
8681
- // listViewId: `amis-\${appId}-${relatedObjectName}-listview`,
8682
- // },
8683
- // body:[
8684
- // {
8685
- // ...amisSchema,
8686
- // data: {
8687
- // filter: ["${relatedKey}", "=", "${masterRecordId}"],
8688
- // objectName: "${objectName}",
8689
- // recordId: "${masterRecordId}",
8690
- // ...{[relatedKey]: getRelatedFieldValue(objectName, "${recordId}", relatedSchema.uiSchema, relatedKey)}
8691
- // }
8692
- // }
8693
- // ]
8694
- // }
8695
- // };
8696
- // }
8697
-
8698
8696
 
8699
8697
  // 获取单个相关表
8700
8698
  async function getObjectRelated(
@@ -11856,7 +11854,13 @@ setTimeout(()=>{
11856
11854
  // if(className){
11857
11855
  // schema.className = schema.className + ' ' + className;
11858
11856
  // }
11859
- var renderData = Object.assign(data, { recordId: data._id, objectName: objectName, listViewId: data.listViewId, app_id: appId, className: className });
11857
+ var renderData = Object.assign(data, { objectName: objectName, app_id: appId, className: className });
11858
+ if (data._id) {
11859
+ renderData.recordId = data._id;
11860
+ }
11861
+ if (data.listViewId) {
11862
+ renderData.listViewId = data.listViewId;
11863
+ }
11860
11864
  if (schema) {
11861
11865
  schema.data = ___default.defaultsDeep({}, renderData, getDefaultRenderData(), schema.data);
11862
11866
  }
@@ -12025,13 +12029,13 @@ setTimeout(()=>{
12025
12029
  };
12026
12030
 
12027
12031
  var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0, function () {
12028
- 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;
12032
+ 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;
12029
12033
  return __generator(this, function (_d) {
12030
12034
  switch (_d.label) {
12031
12035
  case 0:
12032
- $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;
12036
+ $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;
12033
12037
  objectApiName = props.objectApiName || "space_users";
12034
- schemaKeys = ___default.difference(___default.keys($schema), ["type", "mode", "layout"]);
12038
+ schemaKeys = ___default.difference(___default.keys($schema), ["type", "mode", "layout", "defaultData"]);
12035
12039
  formSchema = ___default.pick(props, schemaKeys);
12036
12040
  defaults = {
12037
12041
  formSchema: formSchema
@@ -12064,17 +12068,12 @@ setTimeout(()=>{
12064
12068
  case 1:
12065
12069
  schema = _d.sent();
12066
12070
  amisSchema = schema.amisSchema;
12071
+ if (defaultData) {
12072
+ amisSchema.data.defaultData = __assign$2({ "&": "${defaultData}" }, defaultData);
12073
+ }
12067
12074
  uiSchema = schema.uiSchema;
12068
12075
  return [3 /*break*/, 4];
12069
- case 2:
12070
- // formInitProps
12071
- if (!recordId) {
12072
- // 只读界面只返回一条记录
12073
- options.formInitProps = {
12074
- queryOptions: "top: 1"
12075
- };
12076
- }
12077
- return [4 /*yield*/, getViewSchema(objectApiName, recordId, options)];
12076
+ case 2: return [4 /*yield*/, getViewSchema(objectApiName, recordId, options)];
12078
12077
  case 3:
12079
12078
  schema = _d.sent();
12080
12079
  amisSchema = schema.amisSchema;
@@ -12082,13 +12081,13 @@ setTimeout(()=>{
12082
12081
  _d.label = 4;
12083
12082
  case 4:
12084
12083
  formData = {};
12085
- formData.recordId = recordId || null;
12086
- if (objectApiName) {
12087
- formData.objectName = objectApiName;
12088
- }
12084
+ // formData.recordId = recordId || null;
12085
+ // if(objectApiName){
12086
+ // formData.objectName = objectApiName;
12087
+ // }
12089
12088
  amisSchema.className = "steedos-object-form ".concat(className);
12090
- amisSchema.data = Object.assign({ "&": "$$" }, amisSchema.data, formData, { global: globalData, uiSchema: uiSchema });
12091
- // console.log(`amisSchema`, amisSchema)
12089
+ amisSchema.data = Object.assign(amisSchema.data, formData, { global: globalData, uiSchema: uiSchema });
12090
+ // console.log(`===AmisObjectForm=amisSchema==`, amisSchema)
12092
12091
  return [2 /*return*/, amisSchema];
12093
12092
  }
12094
12093
  });
@@ -12215,7 +12214,7 @@ setTimeout(()=>{
12215
12214
  ]
12216
12215
  }];
12217
12216
  }
12218
- serviceData = Object.assign({}, amisSchema.data, amisSchemaData, { listName: listName, uiSchema: uiSchema, showDisplayAs: showDisplayAs, displayAs: displayAs, recordPermissions: uiSchema.permissions, _id: null, $listviewId: listName });
12217
+ serviceData = Object.assign({}, { listName: listName, uiSchema: uiSchema, showDisplayAs: showDisplayAs, displayAs: displayAs, recordPermissions: uiSchema.permissions, _id: null, $listviewId: listName });
12219
12218
  return [2 /*return*/, {
12220
12219
  "type": "service",
12221
12220
  "body": body,
@@ -12253,11 +12252,11 @@ setTimeout(()=>{
12253
12252
  return tableColumns;
12254
12253
  }
12255
12254
  var AmisObjectTable = function (props) { return __awaiter(void 0, void 0, void 0, function () {
12256
- 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;
12257
- return __generator(this, function (_c) {
12258
- switch (_c.label) {
12255
+ 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;
12256
+ return __generator(this, function (_d) {
12257
+ switch (_d.label) {
12259
12258
  case 0:
12260
- $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;
12259
+ $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;
12261
12260
  ctx = props.ctx;
12262
12261
  if (!ctx) {
12263
12262
  ctx = {};
@@ -12291,11 +12290,12 @@ setTimeout(()=>{
12291
12290
  appId = (data === null || data === void 0 ? void 0 : data.appId) || (defaultData === null || defaultData === void 0 ? void 0 : defaultData.appId);
12292
12291
  // ctx中值为undefined的属性不能保留,否则会导致 filters等被覆盖。
12293
12292
  ctx = ___default.pickBy(ctx, function (value) { return value !== undefined; });
12294
- 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 }))];
12293
+ 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 }))];
12295
12294
  case 1:
12296
- amisSchema = (_c.sent()).amisSchema;
12295
+ amisSchema = (_d.sent()).amisSchema;
12297
12296
  amisSchema.data = Object.assign({}, amisSchema.data, amisSchemaData);
12298
12297
  amisSchema.className = "steedos-object-table h-full flex flex-col ".concat(className);
12298
+ // console.log(`AmisObjectTable===>amisSchema`, amisSchema)
12299
12299
  return [2 /*return*/, amisSchema];
12300
12300
  }
12301
12301
  });
@@ -12338,7 +12338,7 @@ setTimeout(()=>{
12338
12338
  return __generator(this, function (_d) {
12339
12339
  switch (_d.label) {
12340
12340
  case 0:
12341
- _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;
12341
+ _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;
12342
12342
  return [4 /*yield*/, getUISchema(props.objectApiName || "space_users", false)];
12343
12343
  case 1:
12344
12344
  objectUiSchema = _d.sent();
@@ -12348,17 +12348,11 @@ setTimeout(()=>{
12348
12348
  {
12349
12349
  "actionType": "reload",
12350
12350
  "data": {
12351
- "name": "${record.".concat((objectUiSchema === null || objectUiSchema === void 0 ? void 0 : objectUiSchema.NAME_FIELD_KEY) || 'name', "}"),
12352
- "record": "${record}",
12353
- "recordLoaded": true
12354
- }
12355
- },
12356
- {
12357
- "actionType": "setValue",
12358
- "args": {
12359
- "value": {
12360
- "recordLoaded": true,
12361
- }
12351
+ "name": "${event.data.record.".concat((objectUiSchema === null || objectUiSchema === void 0 ? void 0 : objectUiSchema.NAME_FIELD_KEY) || 'name', "}"),
12352
+ "record": "${event.data.record}",
12353
+ "_id": "\${event.data.record._id}",
12354
+ "recordId": "\${event.data.record._id}",
12355
+ "recordLoaded": true,
12362
12356
  }
12363
12357
  }
12364
12358
  ]
@@ -12379,17 +12373,17 @@ setTimeout(()=>{
12379
12373
  /*
12380
12374
  * @Author: baozhoutao@steedos.com
12381
12375
  * @Date: 2022-12-08 10:32:17
12382
- * @LastEditors: baozhoutao@steedos.com
12383
- * @LastEditTime: 2023-03-22 15:41:38
12376
+ * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
12377
+ * @LastEditTime: 2023-04-11 11:28:41
12384
12378
  * @Description:
12385
12379
  */
12386
12380
  var AmisRecordDetail = function (props) { return __awaiter(void 0, void 0, void 0, function () {
12387
- var className, appId, _a, objectApiName, recordId, onEvent, schema, recordDetailData;
12381
+ var className, appId, _a, objectApiName, recordId, body, schema, recordDetailData;
12388
12382
  return __generator(this, function (_b) {
12389
12383
  switch (_b.label) {
12390
12384
  case 0:
12391
- 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;
12392
- return [4 /*yield*/, getRecordDetailSchema(objectApiName, appId, { onEvent: onEvent })];
12385
+ 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;
12386
+ return [4 /*yield*/, getRecordDetailSchema(objectApiName, appId)];
12393
12387
  case 1:
12394
12388
  schema = (_b.sent()).amisSchema;
12395
12389
  recordDetailData = {};
@@ -12398,22 +12392,26 @@ setTimeout(()=>{
12398
12392
  }
12399
12393
  schema.data = Object.assign({}, schema.data, recordDetailData);
12400
12394
  schema.className = className;
12395
+ if (body) {
12396
+ schema.body = body;
12397
+ }
12401
12398
  return [2 /*return*/, schema];
12402
12399
  }
12403
12400
  });
12404
12401
  }); };
12405
12402
 
12406
12403
  var AmisRecordDetailRelatedList = function (props) { return __awaiter(void 0, void 0, void 0, function () {
12407
- var objectApiName, recordId, relatedObjectApiName, relatedKey, top, perPage, hiddenEmptyTable, appId, relatedLabel, _a, className, columns, sort, filters, visible_on, formFactor, schema;
12404
+ var objectApiName, recordId, relatedObjectApiName, relatedKey, top, perPage, appId, relatedLabel, _a, className, columns, sort, filters, visible_on, formFactor, schema;
12408
12405
  return __generator(this, function (_b) {
12409
12406
  switch (_b.label) {
12410
12407
  case 0:
12411
- 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;
12408
+ 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;
12412
12409
  formFactor = props.formFactor;
12413
12410
  if (!formFactor) {
12414
12411
  formFactor = window.innerWidth < 768 ? 'SMALL' : 'LARGE';
12415
12412
  }
12416
- if (!objectApiName || !relatedObjectApiName || !recordId) {
12413
+ if (!objectApiName || !relatedObjectApiName) {
12414
+ // if(!objectApiName || !relatedObjectApiName || !recordId){
12417
12415
  return [2 /*return*/, {
12418
12416
  "type": "alert",
12419
12417
  "body": "缺少父级对象、父级记录或相关列表对象属性",
@@ -12422,7 +12420,7 @@ setTimeout(()=>{
12422
12420
  "className": "mb-3"
12423
12421
  }];
12424
12422
  }
12425
- 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 })];
12423
+ 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 })];
12426
12424
  case 1:
12427
12425
  schema = (_b.sent()).amisSchema;
12428
12426
  return [2 /*return*/, schema];
@@ -12431,12 +12429,13 @@ setTimeout(()=>{
12431
12429
  }); };
12432
12430
 
12433
12431
  var AmisRecordDetailRelatedLists = function (props) { return __awaiter(void 0, void 0, void 0, function () {
12434
- var objectApiName, recordId, _a, perPage, relatedLists;
12432
+ var objectApiName, _a, perPage, relatedLists;
12435
12433
  return __generator(this, function (_b) {
12436
12434
  switch (_b.label) {
12437
12435
  case 0:
12438
- objectApiName = props.objectApiName, recordId = props.recordId, props.data, _a = props.perPage, perPage = _a === void 0 ? 5 : _a;
12439
- if (!objectApiName || !recordId) {
12436
+ objectApiName = props.objectApiName, props.recordId, props.data, _a = props.perPage, perPage = _a === void 0 ? 5 : _a;
12437
+ if (!objectApiName) {
12438
+ // if(!objectApiName || !recordId){
12440
12439
  return [2 /*return*/, {
12441
12440
  "type": "alert",
12442
12441
  "body": "缺少父级对象或父级记录属性",
@@ -12465,7 +12464,7 @@ setTimeout(()=>{
12465
12464
  return {
12466
12465
  type: 'steedos-object-related-listview',
12467
12466
  objectApiName: objectApiName,
12468
- recordId: recordId,
12467
+ // recordId: recordId,
12469
12468
  relatedObjectApiName: item.object_name,
12470
12469
  foreign_key: item.foreign_key,
12471
12470
  relatedKey: item.foreign_key,
@@ -12646,8 +12645,6 @@ setTimeout(()=>{
12646
12645
  "items": {
12647
12646
  "type": "button",
12648
12647
  "level": "link",
12649
- "actionType": "link",
12650
- "link": "${path}",
12651
12648
  "body": [{
12652
12649
  "type": "tpl",
12653
12650
  "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>",
@@ -12674,6 +12671,21 @@ setTimeout(()=>{
12674
12671
  "actions": [
12675
12672
  {
12676
12673
  "actionType": "closeDialog"
12674
+ },
12675
+ {
12676
+ "actionType": "link",
12677
+ "args": {
12678
+ "link": "${path}"
12679
+ },
12680
+ "expression": "${!blank}"
12681
+ },
12682
+ {
12683
+ "actionType": "url",
12684
+ "args": {
12685
+ "url": "${path}",
12686
+ "blank": true
12687
+ },
12688
+ "expression": "${blank}"
12677
12689
  }
12678
12690
  ]
12679
12691
  }
@@ -13270,35 +13282,39 @@ setTimeout(()=>{
13270
13282
  * @Author: baozhoutao@steedos.com
13271
13283
  * @Date: 2023-01-14 16:41:24
13272
13284
  * @LastEditors: baozhoutao@steedos.com
13273
- * @LastEditTime: 2023-03-23 11:37:25
13285
+ * @LastEditTime: 2023-03-23 18:00:25
13274
13286
  * @Description:
13275
13287
  */
13276
13288
  var getSelectFlowSchema = function (id, props) {
13277
13289
  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;
13278
- 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,
13279
- // "menuTpl": {
13280
- // type: "tpl",
13281
- // 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>",
13282
- // "onEvent": {
13283
- // "click": {
13284
- // "weight": 0,
13285
- // "actions": [
13286
- // {
13287
- // "args": {
13288
- // "api": {
13289
- // "url": "/aaa",
13290
- // "method": "get",
13291
- // "messages": {
13292
- // }
13293
- // }
13294
- // },
13295
- // "actionType": "download"
13296
- // }
13297
- // ]
13298
- // }
13299
- // }
13300
- // },
13301
- "source": {
13290
+ console.log("=====onEvent", onEvent);
13291
+ 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": {
13292
+ // type: "button",
13293
+ type: "tpl",
13294
+ 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>",
13295
+ "onEvent": {
13296
+ "click": {
13297
+ "weight": 0,
13298
+ "actions": [
13299
+ {
13300
+ actionType: 'custom',
13301
+ script: "console.log('====event', event), event.preventDefault(); event.stopPropagation()"
13302
+ },
13303
+ {
13304
+ "args": {
13305
+ "api": {
13306
+ "url": "/aaa",
13307
+ "method": "get",
13308
+ "messages": {}
13309
+ }
13310
+ },
13311
+ "actionType": "download",
13312
+ "stopPropagation": true
13313
+ }
13314
+ ]
13315
+ }
13316
+ }
13317
+ }, "source": {
13302
13318
  "method": "post",
13303
13319
  "url": "${context.rootUrl}/graphql?keywords=${keywords}",
13304
13320
  "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 "),
@@ -13401,21 +13417,26 @@ setTimeout(()=>{
13401
13417
  appId: appId,
13402
13418
  name: objectApiName,
13403
13419
  });
13404
- listSchema = page ? JSON.parse(page.schema) : {
13420
+ listSchema = page ? page.schema : {
13405
13421
  "type": "steedos-object-listview",
13406
13422
  "objectApiName": objectApiName,
13407
13423
  "columnsTogglable": false,
13408
13424
  "showHeader": true,
13409
13425
  "showDisplayAs": (defaultFormFactor !== 'SMALL'),
13410
13426
  "formFactor": formFactor,
13411
- "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'
13427
+ "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'
13412
13428
  };
13413
- defData = __assign$2(__assign$2({}, $schema.data), { objectName: objectApiName, listViewId: listViewId, listName: listName || listviewId, appId: appId, formFactor: formFactor, displayAs: displayAs });
13429
+ defData = __assign$2(__assign$2({}, $schema.data), { objectName: objectApiName, listViewId: listViewId,
13430
+ // listName: listName || listviewId,
13431
+ appId: appId, formFactor: formFactor, displayAs: displayAs });
13432
+ if (listName) {
13433
+ defData.listName = listName || listviewId;
13434
+ }
13414
13435
  // console.log("defData====>", defData)
13415
13436
  return [2 /*return*/, {
13416
13437
  type: 'service',
13417
13438
  data: defData,
13418
- "className": (displayAs === 'grid') ? 'h-full' : 'p-0 flex flex-1 overflow-hidden h-full',
13439
+ "className": (displayAs === 'grid') ? 'h-full sm:p-3' : 'p-0 flex flex-1 overflow-hidden h-full',
13419
13440
  body: (displayAs === 'grid') ? ___default.defaultsDeep({ data: defData }, listSchema) : [
13420
13441
  {
13421
13442
  "type": "wrapper",
@@ -13434,11 +13455,11 @@ setTimeout(()=>{
13434
13455
  }); };
13435
13456
 
13436
13457
  var PageRecordDetail = function (props) { return __awaiter(void 0, void 0, void 0, function () {
13437
- var defaultFormFactor, appId, objectApiName, recordId, display, sideObject, sideListviewId, $schema, data, displayAs, formFactor, listPage, recordSchema, recordPage, listSchema, defData;
13458
+ var defaultFormFactor, appId, objectApiName, display, sideObject, sideListviewId, $schema, displayAs, formFactor, listPage, recordSchema, recordPage, listSchema, defData;
13438
13459
  return __generator(this, function (_a) {
13439
13460
  switch (_a.label) {
13440
13461
  case 0:
13441
- 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;
13462
+ 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;
13442
13463
  if (display)
13443
13464
  Router$1.setTabDisplayAs(objectApiName, display);
13444
13465
  displayAs = (defaultFormFactor === 'SMALL') ? 'grid' : display ? display : sideObject ? 'split' : Router$1.getTabDisplayAs(objectApiName);
@@ -13447,18 +13468,17 @@ setTimeout(()=>{
13447
13468
  case 1:
13448
13469
  listPage = _a.sent();
13449
13470
  recordSchema = {};
13450
- if (!recordId) return [3 /*break*/, 3];
13451
13471
  return [4 /*yield*/, getPage({ type: 'record', appId: appId, objectName: objectApiName, formFactor: defaultFormFactor })];
13452
13472
  case 2:
13453
13473
  recordPage = _a.sent();
13454
- recordSchema = recordPage ? JSON.parse(recordPage.schema) : {
13474
+ recordSchema = recordPage ? recordPage.schema : {
13455
13475
  "type": "wrapper",
13456
13476
  "className": "overflow-y-auto p-0 m-0 flex-1 h-full",
13457
13477
  "name": "amis-".concat(appId, "-").concat(objectApiName, "-detail"),
13458
13478
  "body": [
13459
13479
  {
13460
13480
  "type": "steedos-record-detail",
13461
- "recordId": "${recordId}",
13481
+ // "recordId": "${recordId}",
13462
13482
  "objectApiName": "${objectName}",
13463
13483
  className: "sm:m-3",
13464
13484
  appId: appId,
@@ -13467,7 +13487,7 @@ setTimeout(()=>{
13467
13487
  };
13468
13488
  _a.label = 3;
13469
13489
  case 3:
13470
- listSchema = listPage ? JSON.parse(listPage.schema) : {
13490
+ listSchema = listPage ? listPage.schema : {
13471
13491
  "type": "steedos-object-listview",
13472
13492
  "objectApiName": sideObject,
13473
13493
  "columnsTogglable": false,
@@ -13475,7 +13495,10 @@ setTimeout(()=>{
13475
13495
  "showDisplayAs": true,
13476
13496
  "formFactor": 'SMALL',
13477
13497
  };
13478
- defData = __assign$2(__assign$2({}, $schema.data), { objectName: objectApiName, listViewId: sideListviewId, listName: sideListviewId, recordId: data.recordId || recordId, appId: appId, formFactor: formFactor, displayAs: displayAs });
13498
+ defData = __assign$2(__assign$2({}, $schema.data), { objectName: objectApiName, listViewId: sideListviewId, listName: sideListviewId,
13499
+ // recordId: "${recordId}",
13500
+ // appId: appId,
13501
+ formFactor: formFactor, displayAs: displayAs });
13479
13502
  // console.log('defData====>', defData)
13480
13503
  return [2 /*return*/, {
13481
13504
  type: 'service',
@@ -13489,7 +13512,7 @@ setTimeout(()=>{
13489
13512
  },
13490
13513
  {
13491
13514
  "type": "wrapper",
13492
- "className": 'p-0 flex-1 focus:outline-none lg:order-last h-full',
13515
+ "className": 'overflow-y-auto p-0 flex-1 focus:outline-none lg:order-last h-full',
13493
13516
  "body": ___default.defaultsDeep({ data: defData }, recordSchema)
13494
13517
  }
13495
13518
  ]
@@ -13498,7 +13521,7 @@ setTimeout(()=>{
13498
13521
  });
13499
13522
  }); };
13500
13523
 
13501
- 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]=React.useState(!0);var n=()=>{r(!1);};return ___default.has(e,"ref")||(window.SteedosUI.refs[e.name]={show:()=>{r(!0);},close:n}),React__default["default"].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__default["default"].createElement(newFunctionComponent(n),e);ReactDOM.createRoot(t).render(e);},Modal=___default.assign(newComponentRender("modal",antd.Modal),{info:antd.Modal.info,success:antd.Modal.success,error:antd.Modal.error,warning:antd.Modal.warning,confirm:antd.Modal.confirm}),Drawer=newComponentRender("drawer",antd.Drawer),getGraphqlFieldsQuery=e=>{const t=["_id"];return e.push("record_permissions"),___default.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):___default.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 React.createElement(t,e)}},render=function(e,t,r,n){e=withModalWrap(e),e=React.createElement(e,__assign({},t));return ReactDOM__default["default"].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 ___default.isNil(r)||(e=___default.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})`)),___default.isFunction(r)&&(r=safeRunFunction(r,[],null,{name:e.name})),___default.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||___default.isString(r)?"number"!==t||___default.isNumber(r)?"boolean"!==t||___default.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:antd.message,notification:antd.notification,components:{Button:antd.Button,Space:antd.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);
13524
+ 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]=React.useState(!0);var n=()=>{r(!1);};return ___default.has(e,"ref")||(window.SteedosUI.refs[e.name]={show:()=>{r(!0);},close:n}),React__default["default"].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__default["default"].createElement(newFunctionComponent(n),e);ReactDOM.createRoot(t).render(e);},Modal=___default.assign(newComponentRender("modal",antd.Modal),{info:antd.Modal.info,success:antd.Modal.success,error:antd.Modal.error,warning:antd.Modal.warning,confirm:antd.Modal.confirm}),Drawer=newComponentRender("drawer",antd.Drawer),getGraphqlFieldsQuery=e=>{const t=["_id"];return e.push("record_permissions"),___default.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):___default.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 React.createElement(t,e)}},render=function(e,t,r,n){e=withModalWrap(e),e=React.createElement(e,__assign({},t));return ReactDOM__default["default"].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 ___default.isNil(r)||(e=___default.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})`)),___default.isFunction(r)&&(r=safeRunFunction(r,[],null,{name:e.name})),___default.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||___default.isString(r)?"number"!==t||___default.isNumber(r)?"boolean"!==t||___default.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:antd.message,notification:antd.notification,components:{Button:antd.Button,Space:antd.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);
13502
13525
 
13503
13526
  var index_esm = /*#__PURE__*/Object.freeze({
13504
13527
  __proto__: null,