@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.
- package/dist/amis/AmisObjectListview.d.ts +9 -1
- package/dist/amis/AmisObjectTable.d.ts +0 -3
- package/dist/amis/AmisRecordDetail.d.ts +0 -21
- package/dist/amis/AmisRecordDetailHeader.d.ts +2 -11
- package/dist/amis/AmisRecordDetailRelatedList.d.ts +1 -53
- package/dist/amis/AmisRecordDetailRelatedLists.d.ts +0 -1
- package/dist/amis-object.cjs.css +5 -2
- package/dist/amis-object.cjs.js +302 -279
- package/dist/amis-object.cjs.js.map +1 -1
- package/dist/amis-object.esm.css +5 -2
- package/dist/amis-object.esm.js +302 -279
- package/dist/amis-object.esm.js.map +1 -1
- package/dist/amis-object.umd.css +5 -2
- package/dist/amis-object.umd.js +302 -279
- package/dist/amis-object.umd.js.map +1 -1
- package/dist/assets.json +13 -13
- package/dist/meta.js +11 -4
- package/package.json +3 -3
package/dist/amis-object.esm.js
CHANGED
|
@@ -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-
|
|
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 =
|
|
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-
|
|
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:
|
|
1728
|
-
* @LastEditTime: 2023-
|
|
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
|
-
"
|
|
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:
|
|
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:
|
|
1911
|
-
* @LastEditTime: 2023-
|
|
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
|
-
|
|
1942
|
-
|
|
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": "
|
|
3527
|
-
"
|
|
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": "
|
|
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
|
-
|
|
3589
|
+
id: `page_readonly_${name}_header`,
|
|
3559
3590
|
name: `page`,
|
|
3560
|
-
data: {
|
|
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}/\${
|
|
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": "
|
|
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
|
|
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
|
-
|
|
4578
|
-
|
|
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
|
-
|
|
4588
|
-
|
|
4589
|
-
|
|
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()+"
|
|
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-
|
|
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,
|
|
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
|
-
|
|
7901
|
-
|
|
7902
|
-
|
|
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
|
-
|
|
7908
|
-
|
|
7909
|
-
) {
|
|
7910
|
-
|
|
7911
|
-
|
|
7912
|
-
|
|
7913
|
-
|
|
7914
|
-
} else {
|
|
7915
|
-
|
|
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
|
-
|
|
8023
|
-
}else if(ctx.globalFilter && (!filter || !filter.length)){
|
|
8024
|
-
|
|
8025
|
-
|
|
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
|
-
|
|
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:
|
|
8122
|
-
* @LastEditTime: 2023-
|
|
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
|
-
|
|
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
|
-
|
|
8572
|
-
|
|
8573
|
-
|
|
8574
|
-
|
|
8575
|
-
|
|
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, {
|
|
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
|
|
12061
|
-
|
|
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(
|
|
12065
|
-
// console.log(
|
|
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({},
|
|
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 (
|
|
12232
|
-
switch (
|
|
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 = (
|
|
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-
|
|
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
|
-
"
|
|
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:
|
|
12357
|
-
* @LastEditTime: 2023-
|
|
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,
|
|
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
|
|
12366
|
-
return [4 /*yield*/, getRecordDetailSchema(objectApiName, appId
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
12413
|
-
if (!objectApiName
|
|
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
|
|
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
|
-
|
|
13253
|
-
|
|
13254
|
-
|
|
13255
|
-
|
|
13256
|
-
|
|
13257
|
-
|
|
13258
|
-
|
|
13259
|
-
|
|
13260
|
-
|
|
13261
|
-
|
|
13262
|
-
|
|
13263
|
-
|
|
13264
|
-
|
|
13265
|
-
|
|
13266
|
-
|
|
13267
|
-
|
|
13268
|
-
|
|
13269
|
-
|
|
13270
|
-
|
|
13271
|
-
|
|
13272
|
-
|
|
13273
|
-
|
|
13274
|
-
|
|
13275
|
-
|
|
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 ?
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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 ?
|
|
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 ?
|
|
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,
|
|
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){
|
|
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,
|