@steedos-widgets/amis-object 1.2.0-beta.1 → 1.2.0

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.
@@ -23,20 +23,10 @@ export declare const AmisRecordDetail: (props: any) => Promise<{
23
23
  objectApiName: string;
24
24
  recordId: string;
25
25
  id: string;
26
- onEvent: {
27
- recordLoaded: {
28
- actions: {
29
- actionType: string;
30
- data: {
31
- name: string;
32
- record: string;
33
- _id: string;
34
- recordId: string;
35
- recordLoaded: boolean;
36
- };
37
- }[];
38
- };
39
- };
40
26
  })[];
27
+ data: {
28
+ "_master.objectName": string;
29
+ "_master.recordId": string;
30
+ };
41
31
  onEvent: any;
42
32
  }>;
@@ -304,8 +304,8 @@ body {
304
304
  .top-0 {
305
305
  top: 0px
306
306
  }
307
- .z-50 {
308
- z-index: 50
307
+ .z-10 {
308
+ z-index: 10
309
309
  }
310
310
  .col-span-2 {
311
311
  grid-column: span 2 / span 2
@@ -721,7 +721,7 @@ const getSteedosAuth = () => {
721
721
  * @Author: baozhoutao@steedos.com
722
722
  * @Date: 2022-08-16 17:02:08
723
723
  * @LastEditors: baozhoutao@steedos.com
724
- * @LastEditTime: 2023-03-03 14:52:18
724
+ * @LastEditTime: 2023-04-11 09:57:37
725
725
  * @Description:
726
726
  */
727
727
 
@@ -748,10 +748,11 @@ const Router$1 = {
748
748
  },
749
749
  getObjectDetailPath(props){
750
750
  const {formFactor, appId, objectName, recordId, listViewName, _templateType} = props;
751
+ // var urlParams = new URLSearchParams(window.location.search);
751
752
  // if(objectName === 'instances'){
752
753
  // return `/workflow/space/\${context.tenantId}/\${listName}/${recordId}`;
753
754
  // }
754
- const displayAs = Router$1.getTabDisplayAs(objectName);
755
+ const displayAs = Router$1.getTabDisplayAs(objectName); //urlParams.get("display") ||
755
756
  if(_templateType === 'JavaScript'){
756
757
  return `/app/${appId}/${objectName}/view/${recordId}?display=${displayAs}&side_object=<%=item.objectName%>&side_listview_id=<%=item.listName%>`;
757
758
  }
@@ -767,7 +768,7 @@ const Router$1 = {
767
768
  * @Author: baozhoutao@steedos.com
768
769
  * @Date: 2022-05-23 09:53:08
769
770
  * @LastEditors: baozhoutao@steedos.com
770
- * @LastEditTime: 2023-03-09 10:00:44
771
+ * @LastEditTime: 2023-04-10 11:22:54
771
772
  * @Description:
772
773
  */
773
774
 
@@ -962,6 +963,7 @@ async function getFieldTpl (field, options){
962
963
  case 'number':
963
964
  case 'currency':
964
965
  return await getNumberTpl(field);
966
+ case 'percent':
965
967
  case 'formula':
966
968
  case 'summary':
967
969
  return getUiFieldTpl(field)
@@ -994,7 +996,7 @@ async function getFieldsTemplate(fields, expand){
994
996
  if(___default.includes(['time','date','datetime','boolean','number','currency'], field.type)){
995
997
  fieldsName.push(`${field.name}`);
996
998
  }
997
- if(___default.includes(['time','filesize','date','datetime','boolean','number','currency', 'select', 'file', 'image', 'avatar', 'formula', 'summary', 'object', 'grid'], field.type)){
999
+ if(___default.includes(['percent','time','filesize','date','datetime','boolean','number','currency', 'select', 'file', 'image', 'avatar', 'formula', 'summary', 'object', 'grid'], field.type)){
998
1000
  displayFields.push(`${field.name}`);
999
1001
  }
1000
1002
  }
@@ -1749,7 +1751,7 @@ var config = {
1749
1751
  * @Author: baozhoutao@steedos.com
1750
1752
  * @Date: 2022-11-01 15:51:00
1751
1753
  * @LastEditors: Please set LastEditors
1752
- * @LastEditTime: 2023-04-08 12:05:19
1754
+ * @LastEditTime: 2023-04-11 13:58:24
1753
1755
  * @Description:
1754
1756
  */
1755
1757
 
@@ -1773,16 +1775,20 @@ const getSchema$4 = async (uiSchema, ctx) => {
1773
1775
  const relatedKey = _master.relatedKey;
1774
1776
  const masterObjectName = _master.objectName;
1775
1777
  const recordId = _master.recordId;
1778
+ let relatedKeySaveValue = recordId;
1776
1779
  const fields = ${JSON.stringify(uiSchema.fields)};
1777
1780
  const relatedField = fields[relatedKey];
1781
+ if(relatedField.reference_to_field && relatedField.reference_to_field !== '_id'){
1782
+ relatedKeySaveValue = _master.record[relatedField.reference_to_field];
1783
+ }
1778
1784
  let defaultData = {};
1779
1785
  let relatedKeyValue;
1780
1786
  if(!_.isString(relatedField.reference_to)){
1781
- relatedKeyValue = { o: masterObjectName, ids: [recordId] };
1787
+ relatedKeyValue = { o: masterObjectName, ids: [relatedKeySaveValue] };
1782
1788
  }else if (relatedField.multiple) {
1783
- relatedKeyValue = [recordId];
1789
+ relatedKeyValue = [relatedKeySaveValue];
1784
1790
  } else {
1785
- relatedKeyValue = recordId;
1791
+ relatedKeyValue = relatedKeySaveValue;
1786
1792
  }
1787
1793
  defaultData[relatedKey]=relatedKeyValue;
1788
1794
  if(payload.schema){
@@ -1818,7 +1824,6 @@ const getSchema$4 = async (uiSchema, ctx) => {
1818
1824
  "_master": "${_master}",
1819
1825
  "_master._isRelated": "${_isRelated}",
1820
1826
  "_master.relatedKey": "${relatedKey}",
1821
- "defaultData": "${defaultData}",
1822
1827
  "appId": "${appId}",
1823
1828
  "objectName": "${objectName}",
1824
1829
  "context": "${context}",
@@ -1875,7 +1880,7 @@ const getSchema$4 = async (uiSchema, ctx) => {
1875
1880
  * @Author: baozhoutao@steedos.com
1876
1881
  * @Date: 2022-07-13 15:18:03
1877
1882
  * @LastEditors: baozhoutao@steedos.com
1878
- * @LastEditTime: 2022-11-08 09:35:03
1883
+ * @LastEditTime: 2023-04-11 10:34:26
1879
1884
  * @Description:
1880
1885
  */
1881
1886
 
@@ -1883,6 +1888,13 @@ async function getPage({type, pageId = '', appId, objectName = '', recordId = ''
1883
1888
  const api = `/api/pageSchema/${type}?app=${appId}&objectApiName=${objectName}&recordId=${recordId}&pageId=${pageId}&formFactor=${formFactor}`;
1884
1889
  const page = await fetchAPI(api);
1885
1890
  if (page && page.schema) {
1891
+ page.schema = JSON.parse(page.schema);
1892
+ if(page.schema.data){
1893
+ delete page.schema.data.recordId;
1894
+ delete page.schema.data.objectName;
1895
+ delete page.schema.data.context;
1896
+ delete page.schema.data.global;
1897
+ }
1886
1898
  return page;
1887
1899
  }
1888
1900
  }
@@ -7863,8 +7875,8 @@ const getRecordPermissions = async (objectName, recordId)=>{
7863
7875
  /*
7864
7876
  * @Author: baozhoutao@steedos.com
7865
7877
  * @Date: 2022-07-05 15:55:39
7866
- * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
7867
- * @LastEditTime: 2023-04-08 18:14:55
7878
+ * @LastEditors: Please set LastEditors
7879
+ * @LastEditTime: 2023-04-11 13:13:00
7868
7880
  * @Description:
7869
7881
  */
7870
7882
 
@@ -7986,8 +7998,6 @@ async function getRecordDetailRelatedListSchema(objectName, recordId, relatedObj
7986
7998
  }
7987
7999
  }
7988
8000
  }
7989
-
7990
- let relatedValue = "${recordId}";
7991
8001
  // if(refField.reference_to_field && refField.reference_to_field != '_id'){
7992
8002
  // const masterRecord = await getRecord(objectName, recordId, [refField.reference_to_field]);
7993
8003
  // relatedValue = masterRecord[refField.reference_to_field]
@@ -8049,14 +8059,7 @@ async function getRecordDetailRelatedListSchema(objectName, recordId, relatedObj
8049
8059
  _isRelated: true
8050
8060
  },
8051
8061
  body:[
8052
- {
8053
- ...amisSchema,
8054
- data: {
8055
- defaultData: {
8056
- ...{[relatedKey]: getRelatedFieldValue(objectName, relatedValue, relatedObjectUiSchema, relatedKey)}
8057
- }
8058
- }
8059
- }
8062
+ amisSchema
8060
8063
  ]
8061
8064
  }
8062
8065
  };
@@ -8209,7 +8212,7 @@ async function getRelatedListSchema(
8209
8212
  * @Author: baozhoutao@steedos.com
8210
8213
  * @Date: 2022-07-05 15:55:39
8211
8214
  * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
8212
- * @LastEditTime: 2023-04-08 17:31:57
8215
+ * @LastEditTime: 2023-04-11 11:28:11
8213
8216
  * @Description:
8214
8217
  */
8215
8218
 
@@ -8658,35 +8661,19 @@ async function getRecordDetailSchema(objectName, appId, props = {}){
8658
8661
  amisSchema: {
8659
8662
  "type": "service",
8660
8663
  "body": [
8661
- {
8662
- "type": "steedos-record-detail-header",
8663
- "label": "标题面板",
8664
- "objectApiName": "${objectName}",
8665
- "recordId": "${recordId}",
8666
- "id": "u:48d2c28eb755",
8667
- onEvent: {
8668
- "recordLoaded": {
8669
- "actions": [
8670
- {
8671
- "actionType": "reload",
8672
- "data": {
8673
- "name": `\${event.data.record.${uiSchema?.NAME_FIELD_KEY || 'name'}}`,
8674
- "record": `\${event.data.record}`,
8675
- "_id": "\${event.data.record._id}",
8676
- "recordId": "\${event.data.record._id}",
8677
- "recordLoaded": true,
8678
- }
8679
- }
8680
- ]
8681
- }
8664
+ {
8665
+ "type": "steedos-record-detail-header",
8666
+ "label": "标题面板",
8667
+ "objectApiName": "${objectName}",
8668
+ "recordId": "${recordId}",
8669
+ "id": "u:48d2c28eb755"
8682
8670
  },
8683
- },
8684
- content
8671
+ content
8685
8672
  ],
8686
- // data: {
8687
- // "_master.objectName": "${objectName}",
8688
- // "_master.recordId": "${recordId}"
8689
- // },
8673
+ data: {
8674
+ "_master.objectName": "${objectName}",
8675
+ "_master.recordId": "${recordId}"
8676
+ },
8690
8677
  onEvent: {
8691
8678
  "recordLoaded": {
8692
8679
  "actions": [
@@ -8694,10 +8681,10 @@ async function getRecordDetailSchema(objectName, appId, props = {}){
8694
8681
  "actionType": "reload",
8695
8682
  "data": {
8696
8683
  "name": `\${record.${uiSchema.NAME_FIELD_KEY || 'name'}}`,
8697
- // "_master.record": `\${record}`,
8698
- // // 不清楚reload 如何给对象下的某个key复制, 所以此处重复设置_master的objectName、recordId
8699
- // "_master.objectName": "${objectName}",
8700
- // "_master.recordId": "${recordId}"
8684
+ "_master.record": `\${record}`,
8685
+ // 不清楚reload 如何给对象下的某个key复制, 所以此处重复设置_master的objectName、recordId
8686
+ "_master.objectName": "${objectName}",
8687
+ "_master.recordId": "${recordId}"
8701
8688
  }
8702
8689
  }
8703
8690
  ]
@@ -12353,7 +12340,7 @@ var AmisRecordDetailHeader = function (props) { return __awaiter(void 0, void 0,
12353
12340
  return __generator(this, function (_d) {
12354
12341
  switch (_d.label) {
12355
12342
  case 0:
12356
- _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;
12343
+ _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;
12357
12344
  return [4 /*yield*/, getUISchema(props.objectApiName || "space_users", false)];
12358
12345
  case 1:
12359
12346
  objectUiSchema = _d.sent();
@@ -12363,17 +12350,11 @@ var AmisRecordDetailHeader = function (props) { return __awaiter(void 0, void 0,
12363
12350
  {
12364
12351
  "actionType": "reload",
12365
12352
  "data": {
12366
- "name": "${record.".concat((objectUiSchema === null || objectUiSchema === void 0 ? void 0 : objectUiSchema.NAME_FIELD_KEY) || 'name', "}"),
12367
- "record": "${record}",
12368
- "recordLoaded": true
12369
- }
12370
- },
12371
- {
12372
- "actionType": "setValue",
12373
- "args": {
12374
- "value": {
12375
- "recordLoaded": true,
12376
- }
12353
+ "name": "${event.data.record.".concat((objectUiSchema === null || objectUiSchema === void 0 ? void 0 : objectUiSchema.NAME_FIELD_KEY) || 'name', "}"),
12354
+ "record": "${event.data.record}",
12355
+ "_id": "\${event.data.record._id}",
12356
+ "recordId": "\${event.data.record._id}",
12357
+ "recordLoaded": true,
12377
12358
  }
12378
12359
  }
12379
12360
  ]
@@ -12394,17 +12375,17 @@ var AmisRecordDetailHeader = function (props) { return __awaiter(void 0, void 0,
12394
12375
  /*
12395
12376
  * @Author: baozhoutao@steedos.com
12396
12377
  * @Date: 2022-12-08 10:32:17
12397
- * @LastEditors: baozhoutao@steedos.com
12398
- * @LastEditTime: 2023-03-22 15:41:38
12378
+ * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
12379
+ * @LastEditTime: 2023-04-11 11:28:41
12399
12380
  * @Description:
12400
12381
  */
12401
12382
  var AmisRecordDetail = function (props) { return __awaiter(void 0, void 0, void 0, function () {
12402
- var className, appId, _a, objectApiName, recordId, onEvent, schema, recordDetailData;
12383
+ var className, appId, _a, objectApiName, recordId, body, schema, recordDetailData;
12403
12384
  return __generator(this, function (_b) {
12404
12385
  switch (_b.label) {
12405
12386
  case 0:
12406
- 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;
12407
- return [4 /*yield*/, getRecordDetailSchema(objectApiName, appId, { onEvent: onEvent })];
12387
+ 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;
12388
+ return [4 /*yield*/, getRecordDetailSchema(objectApiName, appId)];
12408
12389
  case 1:
12409
12390
  schema = (_b.sent()).amisSchema;
12410
12391
  recordDetailData = {};
@@ -12413,6 +12394,9 @@ var AmisRecordDetail = function (props) { return __awaiter(void 0, void 0, void
12413
12394
  }
12414
12395
  schema.data = Object.assign({}, schema.data, recordDetailData);
12415
12396
  schema.className = className;
12397
+ if (body) {
12398
+ schema.body = body;
12399
+ }
12416
12400
  return [2 /*return*/, schema];
12417
12401
  }
12418
12402
  });
@@ -12663,8 +12647,6 @@ var AmisAppLauncher = function (props) { return __awaiter(void 0, void 0, void 0
12663
12647
  "items": {
12664
12648
  "type": "button",
12665
12649
  "level": "link",
12666
- "actionType": "link",
12667
- "link": "${path}",
12668
12650
  "body": [{
12669
12651
  "type": "tpl",
12670
12652
  "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>",
@@ -12691,6 +12673,21 @@ var AmisAppLauncher = function (props) { return __awaiter(void 0, void 0, void 0
12691
12673
  "actions": [
12692
12674
  {
12693
12675
  "actionType": "closeDialog"
12676
+ },
12677
+ {
12678
+ "actionType": "link",
12679
+ "args": {
12680
+ "link": "${path}"
12681
+ },
12682
+ "expression": "${!blank}"
12683
+ },
12684
+ {
12685
+ "actionType": "url",
12686
+ "args": {
12687
+ "url": "${path}",
12688
+ "blank": true
12689
+ },
12690
+ "expression": "${blank}"
12694
12691
  }
12695
12692
  ]
12696
12693
  }
@@ -13422,7 +13419,7 @@ var PageListView = function (props) { return __awaiter(void 0, void 0, void 0, f
13422
13419
  appId: appId,
13423
13420
  name: objectApiName,
13424
13421
  });
13425
- listSchema = page ? JSON.parse(page.schema) : {
13422
+ listSchema = page ? page.schema : {
13426
13423
  "type": "steedos-object-listview",
13427
13424
  "objectApiName": objectApiName,
13428
13425
  "columnsTogglable": false,
@@ -13476,7 +13473,7 @@ var PageRecordDetail = function (props) { return __awaiter(void 0, void 0, void
13476
13473
  return [4 /*yield*/, getPage({ type: 'record', appId: appId, objectName: objectApiName, formFactor: defaultFormFactor })];
13477
13474
  case 2:
13478
13475
  recordPage = _a.sent();
13479
- recordSchema = recordPage ? JSON.parse(recordPage.schema) : {
13476
+ recordSchema = recordPage ? recordPage.schema : {
13480
13477
  "type": "wrapper",
13481
13478
  "className": "overflow-y-auto p-0 m-0 flex-1 h-full",
13482
13479
  "name": "amis-".concat(appId, "-").concat(objectApiName, "-detail"),
@@ -13490,32 +13487,9 @@ var PageRecordDetail = function (props) { return __awaiter(void 0, void 0, void
13490
13487
  }
13491
13488
  ],
13492
13489
  };
13493
- recordSchema = {
13494
- "type": "service",
13495
- "body": [recordSchema],
13496
- data: {
13497
- "_master.objectName": "${objectName}",
13498
- "_master.recordId": "${recordId}"
13499
- },
13500
- onEvent: {
13501
- "recordLoaded": {
13502
- "actions": [
13503
- {
13504
- "actionType": "reload",
13505
- "data": {
13506
- "_master.record": "${record}",
13507
- // 不清楚reload 如何给对象下的某个key复制, 所以此处重复设置_master的objectName、recordId
13508
- "_master.objectName": "${objectName}",
13509
- "_master.recordId": "${recordId}"
13510
- }
13511
- }
13512
- ]
13513
- }
13514
- }
13515
- };
13516
13490
  _a.label = 3;
13517
13491
  case 3:
13518
- listSchema = listPage ? JSON.parse(listPage.schema) : {
13492
+ listSchema = listPage ? listPage.schema : {
13519
13493
  "type": "steedos-object-listview",
13520
13494
  "objectApiName": sideObject,
13521
13495
  "columnsTogglable": false,
@@ -13540,7 +13514,7 @@ var PageRecordDetail = function (props) { return __awaiter(void 0, void 0, void
13540
13514
  },
13541
13515
  {
13542
13516
  "type": "wrapper",
13543
- "className": 'p-0 flex-1 focus:outline-none lg:order-last h-full',
13517
+ "className": 'overflow-y-auto p-0 flex-1 focus:outline-none lg:order-last h-full',
13544
13518
  "body": ___default.defaultsDeep({ data: defData }, recordSchema)
13545
13519
  }
13546
13520
  ]