@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.
@@ -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
@@ -693,7 +693,7 @@ const getSteedosAuth = () => {
693
693
  * @Author: baozhoutao@steedos.com
694
694
  * @Date: 2022-08-16 17:02:08
695
695
  * @LastEditors: baozhoutao@steedos.com
696
- * @LastEditTime: 2023-03-03 14:52:18
696
+ * @LastEditTime: 2023-04-11 09:57:37
697
697
  * @Description:
698
698
  */
699
699
 
@@ -720,10 +720,11 @@ const Router$1 = {
720
720
  },
721
721
  getObjectDetailPath(props){
722
722
  const {formFactor, appId, objectName, recordId, listViewName, _templateType} = props;
723
+ // var urlParams = new URLSearchParams(window.location.search);
723
724
  // if(objectName === 'instances'){
724
725
  // return `/workflow/space/\${context.tenantId}/\${listName}/${recordId}`;
725
726
  // }
726
- const displayAs = Router$1.getTabDisplayAs(objectName);
727
+ const displayAs = Router$1.getTabDisplayAs(objectName); //urlParams.get("display") ||
727
728
  if(_templateType === 'JavaScript'){
728
729
  return `/app/${appId}/${objectName}/view/${recordId}?display=${displayAs}&side_object=<%=item.objectName%>&side_listview_id=<%=item.listName%>`;
729
730
  }
@@ -739,7 +740,7 @@ const Router$1 = {
739
740
  * @Author: baozhoutao@steedos.com
740
741
  * @Date: 2022-05-23 09:53:08
741
742
  * @LastEditors: baozhoutao@steedos.com
742
- * @LastEditTime: 2023-03-09 10:00:44
743
+ * @LastEditTime: 2023-04-10 11:22:54
743
744
  * @Description:
744
745
  */
745
746
 
@@ -934,6 +935,7 @@ async function getFieldTpl (field, options){
934
935
  case 'number':
935
936
  case 'currency':
936
937
  return await getNumberTpl(field);
938
+ case 'percent':
937
939
  case 'formula':
938
940
  case 'summary':
939
941
  return getUiFieldTpl(field)
@@ -966,7 +968,7 @@ async function getFieldsTemplate(fields, expand){
966
968
  if(includes(['time','date','datetime','boolean','number','currency'], field.type)){
967
969
  fieldsName.push(`${field.name}`);
968
970
  }
969
- if(includes(['time','filesize','date','datetime','boolean','number','currency', 'select', 'file', 'image', 'avatar', 'formula', 'summary', 'object', 'grid'], field.type)){
971
+ if(includes(['percent','time','filesize','date','datetime','boolean','number','currency', 'select', 'file', 'image', 'avatar', 'formula', 'summary', 'object', 'grid'], field.type)){
970
972
  displayFields.push(`${field.name}`);
971
973
  }
972
974
  }
@@ -1721,7 +1723,7 @@ var config = {
1721
1723
  * @Author: baozhoutao@steedos.com
1722
1724
  * @Date: 2022-11-01 15:51:00
1723
1725
  * @LastEditors: Please set LastEditors
1724
- * @LastEditTime: 2023-04-08 12:05:19
1726
+ * @LastEditTime: 2023-04-11 13:58:24
1725
1727
  * @Description:
1726
1728
  */
1727
1729
 
@@ -1745,16 +1747,20 @@ const getSchema$4 = async (uiSchema, ctx) => {
1745
1747
  const relatedKey = _master.relatedKey;
1746
1748
  const masterObjectName = _master.objectName;
1747
1749
  const recordId = _master.recordId;
1750
+ let relatedKeySaveValue = recordId;
1748
1751
  const fields = ${JSON.stringify(uiSchema.fields)};
1749
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
+ }
1750
1756
  let defaultData = {};
1751
1757
  let relatedKeyValue;
1752
1758
  if(!_.isString(relatedField.reference_to)){
1753
- relatedKeyValue = { o: masterObjectName, ids: [recordId] };
1759
+ relatedKeyValue = { o: masterObjectName, ids: [relatedKeySaveValue] };
1754
1760
  }else if (relatedField.multiple) {
1755
- relatedKeyValue = [recordId];
1761
+ relatedKeyValue = [relatedKeySaveValue];
1756
1762
  } else {
1757
- relatedKeyValue = recordId;
1763
+ relatedKeyValue = relatedKeySaveValue;
1758
1764
  }
1759
1765
  defaultData[relatedKey]=relatedKeyValue;
1760
1766
  if(payload.schema){
@@ -1790,7 +1796,6 @@ const getSchema$4 = async (uiSchema, ctx) => {
1790
1796
  "_master": "${_master}",
1791
1797
  "_master._isRelated": "${_isRelated}",
1792
1798
  "_master.relatedKey": "${relatedKey}",
1793
- "defaultData": "${defaultData}",
1794
1799
  "appId": "${appId}",
1795
1800
  "objectName": "${objectName}",
1796
1801
  "context": "${context}",
@@ -1847,7 +1852,7 @@ const getSchema$4 = async (uiSchema, ctx) => {
1847
1852
  * @Author: baozhoutao@steedos.com
1848
1853
  * @Date: 2022-07-13 15:18:03
1849
1854
  * @LastEditors: baozhoutao@steedos.com
1850
- * @LastEditTime: 2022-11-08 09:35:03
1855
+ * @LastEditTime: 2023-04-11 10:34:26
1851
1856
  * @Description:
1852
1857
  */
1853
1858
 
@@ -1855,6 +1860,13 @@ async function getPage({type, pageId = '', appId, objectName = '', recordId = ''
1855
1860
  const api = `/api/pageSchema/${type}?app=${appId}&objectApiName=${objectName}&recordId=${recordId}&pageId=${pageId}&formFactor=${formFactor}`;
1856
1861
  const page = await fetchAPI(api);
1857
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
+ }
1858
1870
  return page;
1859
1871
  }
1860
1872
  }
@@ -7835,8 +7847,8 @@ const getRecordPermissions = async (objectName, recordId)=>{
7835
7847
  /*
7836
7848
  * @Author: baozhoutao@steedos.com
7837
7849
  * @Date: 2022-07-05 15:55:39
7838
- * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
7839
- * @LastEditTime: 2023-04-08 18:14:55
7850
+ * @LastEditors: Please set LastEditors
7851
+ * @LastEditTime: 2023-04-11 13:13:00
7840
7852
  * @Description:
7841
7853
  */
7842
7854
 
@@ -7958,8 +7970,6 @@ async function getRecordDetailRelatedListSchema(objectName, recordId, relatedObj
7958
7970
  }
7959
7971
  }
7960
7972
  }
7961
-
7962
- let relatedValue = "${recordId}";
7963
7973
  // if(refField.reference_to_field && refField.reference_to_field != '_id'){
7964
7974
  // const masterRecord = await getRecord(objectName, recordId, [refField.reference_to_field]);
7965
7975
  // relatedValue = masterRecord[refField.reference_to_field]
@@ -8021,14 +8031,7 @@ async function getRecordDetailRelatedListSchema(objectName, recordId, relatedObj
8021
8031
  _isRelated: true
8022
8032
  },
8023
8033
  body:[
8024
- {
8025
- ...amisSchema,
8026
- data: {
8027
- defaultData: {
8028
- ...{[relatedKey]: getRelatedFieldValue(objectName, relatedValue, relatedObjectUiSchema, relatedKey)}
8029
- }
8030
- }
8031
- }
8034
+ amisSchema
8032
8035
  ]
8033
8036
  }
8034
8037
  };
@@ -8181,7 +8184,7 @@ async function getRelatedListSchema(
8181
8184
  * @Author: baozhoutao@steedos.com
8182
8185
  * @Date: 2022-07-05 15:55:39
8183
8186
  * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
8184
- * @LastEditTime: 2023-04-08 17:31:57
8187
+ * @LastEditTime: 2023-04-11 11:28:11
8185
8188
  * @Description:
8186
8189
  */
8187
8190
 
@@ -8630,35 +8633,19 @@ async function getRecordDetailSchema(objectName, appId, props = {}){
8630
8633
  amisSchema: {
8631
8634
  "type": "service",
8632
8635
  "body": [
8633
- {
8634
- "type": "steedos-record-detail-header",
8635
- "label": "标题面板",
8636
- "objectApiName": "${objectName}",
8637
- "recordId": "${recordId}",
8638
- "id": "u:48d2c28eb755",
8639
- onEvent: {
8640
- "recordLoaded": {
8641
- "actions": [
8642
- {
8643
- "actionType": "reload",
8644
- "data": {
8645
- "name": `\${event.data.record.${uiSchema?.NAME_FIELD_KEY || 'name'}}`,
8646
- "record": `\${event.data.record}`,
8647
- "_id": "\${event.data.record._id}",
8648
- "recordId": "\${event.data.record._id}",
8649
- "recordLoaded": true,
8650
- }
8651
- }
8652
- ]
8653
- }
8636
+ {
8637
+ "type": "steedos-record-detail-header",
8638
+ "label": "标题面板",
8639
+ "objectApiName": "${objectName}",
8640
+ "recordId": "${recordId}",
8641
+ "id": "u:48d2c28eb755"
8654
8642
  },
8655
- },
8656
- content
8643
+ content
8657
8644
  ],
8658
- // data: {
8659
- // "_master.objectName": "${objectName}",
8660
- // "_master.recordId": "${recordId}"
8661
- // },
8645
+ data: {
8646
+ "_master.objectName": "${objectName}",
8647
+ "_master.recordId": "${recordId}"
8648
+ },
8662
8649
  onEvent: {
8663
8650
  "recordLoaded": {
8664
8651
  "actions": [
@@ -8666,10 +8653,10 @@ async function getRecordDetailSchema(objectName, appId, props = {}){
8666
8653
  "actionType": "reload",
8667
8654
  "data": {
8668
8655
  "name": `\${record.${uiSchema.NAME_FIELD_KEY || 'name'}}`,
8669
- // "_master.record": `\${record}`,
8670
- // // 不清楚reload 如何给对象下的某个key复制, 所以此处重复设置_master的objectName、recordId
8671
- // "_master.objectName": "${objectName}",
8672
- // "_master.recordId": "${recordId}"
8656
+ "_master.record": `\${record}`,
8657
+ // 不清楚reload 如何给对象下的某个key复制, 所以此处重复设置_master的objectName、recordId
8658
+ "_master.objectName": "${objectName}",
8659
+ "_master.recordId": "${recordId}"
8673
8660
  }
8674
8661
  }
8675
8662
  ]
@@ -12325,7 +12312,7 @@ var AmisRecordDetailHeader = function (props) { return __awaiter(void 0, void 0,
12325
12312
  return __generator(this, function (_d) {
12326
12313
  switch (_d.label) {
12327
12314
  case 0:
12328
- _a = props.className, className = _a === void 0 ? 'sticky top-0 z-50 bg-gray-100 border-b sm:shadow sm:rounded sm:border border-slate-300 p-4' : _a;
12315
+ _a = props.className, className = _a === void 0 ? 'sticky top-0 z-10 bg-gray-100 border-b sm:shadow sm:rounded sm:border border-slate-300 p-4' : _a;
12329
12316
  return [4 /*yield*/, getUISchema(props.objectApiName || "space_users", false)];
12330
12317
  case 1:
12331
12318
  objectUiSchema = _d.sent();
@@ -12335,17 +12322,11 @@ var AmisRecordDetailHeader = function (props) { return __awaiter(void 0, void 0,
12335
12322
  {
12336
12323
  "actionType": "reload",
12337
12324
  "data": {
12338
- "name": "${record.".concat((objectUiSchema === null || objectUiSchema === void 0 ? void 0 : objectUiSchema.NAME_FIELD_KEY) || 'name', "}"),
12339
- "record": "${record}",
12340
- "recordLoaded": true
12341
- }
12342
- },
12343
- {
12344
- "actionType": "setValue",
12345
- "args": {
12346
- "value": {
12347
- "recordLoaded": true,
12348
- }
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,
12349
12330
  }
12350
12331
  }
12351
12332
  ]
@@ -12366,17 +12347,17 @@ var AmisRecordDetailHeader = function (props) { return __awaiter(void 0, void 0,
12366
12347
  /*
12367
12348
  * @Author: baozhoutao@steedos.com
12368
12349
  * @Date: 2022-12-08 10:32:17
12369
- * @LastEditors: baozhoutao@steedos.com
12370
- * @LastEditTime: 2023-03-22 15:41:38
12350
+ * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
12351
+ * @LastEditTime: 2023-04-11 11:28:41
12371
12352
  * @Description:
12372
12353
  */
12373
12354
  var AmisRecordDetail = function (props) { return __awaiter(void 0, void 0, void 0, function () {
12374
- var className, appId, _a, objectApiName, recordId, onEvent, schema, recordDetailData;
12355
+ var className, appId, _a, objectApiName, recordId, body, schema, recordDetailData;
12375
12356
  return __generator(this, function (_b) {
12376
12357
  switch (_b.label) {
12377
12358
  case 0:
12378
- 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;
12379
- return [4 /*yield*/, getRecordDetailSchema(objectApiName, appId, { onEvent: onEvent })];
12359
+ className = props.className, props.$schema, appId = props.appId, _a = props.objectApiName, objectApiName = _a === void 0 ? "space_users" : _a, recordId = props.recordId, props.onEvent, props.defaultData, body = props.body;
12360
+ return [4 /*yield*/, getRecordDetailSchema(objectApiName, appId)];
12380
12361
  case 1:
12381
12362
  schema = (_b.sent()).amisSchema;
12382
12363
  recordDetailData = {};
@@ -12385,6 +12366,9 @@ var AmisRecordDetail = function (props) { return __awaiter(void 0, void 0, void
12385
12366
  }
12386
12367
  schema.data = Object.assign({}, schema.data, recordDetailData);
12387
12368
  schema.className = className;
12369
+ if (body) {
12370
+ schema.body = body;
12371
+ }
12388
12372
  return [2 /*return*/, schema];
12389
12373
  }
12390
12374
  });
@@ -12635,8 +12619,6 @@ var AmisAppLauncher = function (props) { return __awaiter(void 0, void 0, void 0
12635
12619
  "items": {
12636
12620
  "type": "button",
12637
12621
  "level": "link",
12638
- "actionType": "link",
12639
- "link": "${path}",
12640
12622
  "body": [{
12641
12623
  "type": "tpl",
12642
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>",
@@ -12663,6 +12645,21 @@ var AmisAppLauncher = function (props) { return __awaiter(void 0, void 0, void 0
12663
12645
  "actions": [
12664
12646
  {
12665
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}"
12666
12663
  }
12667
12664
  ]
12668
12665
  }
@@ -13394,7 +13391,7 @@ var PageListView = function (props) { return __awaiter(void 0, void 0, void 0, f
13394
13391
  appId: appId,
13395
13392
  name: objectApiName,
13396
13393
  });
13397
- listSchema = page ? JSON.parse(page.schema) : {
13394
+ listSchema = page ? page.schema : {
13398
13395
  "type": "steedos-object-listview",
13399
13396
  "objectApiName": objectApiName,
13400
13397
  "columnsTogglable": false,
@@ -13448,7 +13445,7 @@ var PageRecordDetail = function (props) { return __awaiter(void 0, void 0, void
13448
13445
  return [4 /*yield*/, getPage({ type: 'record', appId: appId, objectName: objectApiName, formFactor: defaultFormFactor })];
13449
13446
  case 2:
13450
13447
  recordPage = _a.sent();
13451
- recordSchema = recordPage ? JSON.parse(recordPage.schema) : {
13448
+ recordSchema = recordPage ? recordPage.schema : {
13452
13449
  "type": "wrapper",
13453
13450
  "className": "overflow-y-auto p-0 m-0 flex-1 h-full",
13454
13451
  "name": "amis-".concat(appId, "-").concat(objectApiName, "-detail"),
@@ -13462,32 +13459,9 @@ var PageRecordDetail = function (props) { return __awaiter(void 0, void 0, void
13462
13459
  }
13463
13460
  ],
13464
13461
  };
13465
- recordSchema = {
13466
- "type": "service",
13467
- "body": [recordSchema],
13468
- data: {
13469
- "_master.objectName": "${objectName}",
13470
- "_master.recordId": "${recordId}"
13471
- },
13472
- onEvent: {
13473
- "recordLoaded": {
13474
- "actions": [
13475
- {
13476
- "actionType": "reload",
13477
- "data": {
13478
- "_master.record": "${record}",
13479
- // 不清楚reload 如何给对象下的某个key复制, 所以此处重复设置_master的objectName、recordId
13480
- "_master.objectName": "${objectName}",
13481
- "_master.recordId": "${recordId}"
13482
- }
13483
- }
13484
- ]
13485
- }
13486
- }
13487
- };
13488
13462
  _a.label = 3;
13489
13463
  case 3:
13490
- listSchema = listPage ? JSON.parse(listPage.schema) : {
13464
+ listSchema = listPage ? listPage.schema : {
13491
13465
  "type": "steedos-object-listview",
13492
13466
  "objectApiName": sideObject,
13493
13467
  "columnsTogglable": false,
@@ -13512,7 +13486,7 @@ var PageRecordDetail = function (props) { return __awaiter(void 0, void 0, void
13512
13486
  },
13513
13487
  {
13514
13488
  "type": "wrapper",
13515
- "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',
13516
13490
  "body": defaultsDeep$1({ data: defData }, recordSchema)
13517
13491
  }
13518
13492
  ]