@steedos-widgets/amis-object 1.2.6-beta.18 → 1.2.6-beta.19

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.
@@ -43,11 +43,6 @@ export declare const AmisAppLauncher: (props: any) => Promise<{
43
43
  "@data.changed.steedos_keyvalues": {
44
44
  actions: {
45
45
  actionType: string;
46
- args: {
47
- value: {
48
- keyvalue: string;
49
- };
50
- };
51
46
  }[];
52
47
  };
53
48
  };
@@ -7,20 +7,7 @@ export declare const AmisRecordDetailRelatedLists: (props: any) => Promise<{
7
7
  } | {
8
8
  type: string;
9
9
  className: string;
10
- body: {
11
- type: string;
12
- objectApiName: any;
13
- relatedObjectApiName: any;
14
- foreign_key: any;
15
- relatedKey: any;
16
- columns: any;
17
- sort: any;
18
- filters: any;
19
- visible_on: any;
20
- perPage: any;
21
- hiddenEmptyTable: boolean;
22
- relatedLabel: any;
23
- }[];
10
+ body: any[];
24
11
  level?: undefined;
25
12
  showIcon?: undefined;
26
13
  }>;
@@ -5363,11 +5363,12 @@ async function lookupToAmisSelect(field, readonly, ctx){
5363
5363
  autoComplete: apiInfo,
5364
5364
  searchable: true,
5365
5365
  };
5366
+ //删除xlink:href中的rootUrl前缀,解决客户端svg为空的问题
5366
5367
  const select_menuTpl = `<span class='flex items-center mt-0.5'>
5367
5368
  <span role='img' aria-label='smile' class='anticon anticon-smile'>
5368
5369
  <span class='slds-icon_container slds-icon-standard-\${REPLACE(icon,'_','-')}'>
5369
5370
  <svg class='slds-icon slds-icon_x-small' aria-hidden='true'>
5370
- <use xlink:href='\${context.rootUrl}/assets/icons/standard-sprite/svg/symbols.svg#\${icon}'></use>
5371
+ <use xlink:href='/assets/icons/standard-sprite/svg/symbols.svg#\${icon}'></use>
5371
5372
  </svg>
5372
5373
  </span>
5373
5374
  </span>
@@ -7412,8 +7413,9 @@ async function getMobileTableColumns(fields, options){
7412
7413
  const url = getNameTplUrl(nameField, options);
7413
7414
 
7414
7415
  const columnLines = getMobileLines(tpls);
7415
-
7416
- columns.push({
7416
+
7417
+
7418
+ let column = {
7417
7419
  name: nameField.name,
7418
7420
  label: nameField.label,
7419
7421
  sortable: nameField.sortable,
@@ -7422,13 +7424,66 @@ async function getMobileTableColumns(fields, options){
7422
7424
  actionType: "link",
7423
7425
  link: url,
7424
7426
  innerClassName: "steedos-listview-item block text-gray-500",
7425
- body:{
7427
+ body: {
7426
7428
  "type": "wrapper",
7427
7429
  "body": columnLines,
7428
7430
  "size": "none",
7429
7431
  "className": "p-1"
7430
7432
  }
7431
- });
7433
+ };
7434
+
7435
+ if(options.objectName === 'cms_files'){
7436
+ if(window.Meteor?.isCordova){
7437
+ column = {
7438
+ ...column,
7439
+ actionType: "",
7440
+ link: "",
7441
+ onEvent: {
7442
+ "click": {
7443
+ "actions": [
7444
+ {
7445
+ "script": `
7446
+ let cms_url = "/api/files/files/"+event.data.versions[0]+"?download=true"
7447
+ Steedos.cordovaDownload(encodeURI(Steedos.absoluteUrl(cms_url)), event.data.name);
7448
+ `,
7449
+ "actionType": "custom"
7450
+ }
7451
+ ],
7452
+ "weight": 0
7453
+ }
7454
+ }
7455
+ };
7456
+ }else {
7457
+ column = {
7458
+ ...column,
7459
+ actionType: "",
7460
+ link: "",
7461
+ onEvent: {
7462
+ "click": {
7463
+ "actions": [
7464
+ {
7465
+ "args": {
7466
+ "api": {
7467
+ "url": url,
7468
+ "method": "get",
7469
+ "headers": {
7470
+ "Authorization": "Bearer ${context.tenantId},${context.authToken}"
7471
+ }
7472
+ }
7473
+ },
7474
+ "actionType": "download"
7475
+ }
7476
+ ],
7477
+ "weight": 0
7478
+ }
7479
+ }
7480
+ };
7481
+ }
7482
+
7483
+ }
7484
+
7485
+ columns.push(column);
7486
+
7432
7487
 
7433
7488
  return columns;
7434
7489
  }
@@ -8519,7 +8574,7 @@ const getRecordPermissions = async (objectName, recordId)=>{
8519
8574
  * @Author: baozhoutao@steedos.com
8520
8575
  * @Date: 2022-07-05 15:55:39
8521
8576
  * @LastEditors: Please set LastEditors
8522
- * @LastEditTime: 2023-04-20 11:43:14
8577
+ * @LastEditTime: 2023-05-08 16:34:25
8523
8578
  * @Description:
8524
8579
  */
8525
8580
 
@@ -8773,7 +8828,7 @@ function getDefaultRelatedListProps(uiSchema, listName, ctx) {
8773
8828
  }
8774
8829
  function getRelatedListProps(uiSchema, listViewName, ctx) {
8775
8830
  if (ctx.columns) {
8776
- const sort = getListViewSort(ctx.sort);
8831
+ const sort = getListViewSort({sort: ctx.sort});
8777
8832
  let { filters , filtersFunction} = ctx;
8778
8833
  if(!filtersFunction && filters){
8779
8834
  filtersFunction = str2function(
@@ -12561,7 +12616,7 @@ var AmisObjectButton = function (props) {
12561
12616
  if (schema && schema.body.length > 0) {
12562
12617
  delete schema.body[0]['visibleOn'];
12563
12618
  }
12564
- if (className) {
12619
+ if (schema && className) {
12565
12620
  schema.className = schema.className + ' ' + className;
12566
12621
  }
12567
12622
  var renderData = Object.assign(data, { objectName: objectName, app_id: appId, className: className });
@@ -13205,11 +13260,11 @@ var AmisRecordService = function (props) { return __awaiter(void 0, void 0, void
13205
13260
  }); };
13206
13261
 
13207
13262
  var AmisRecordDetailRelatedList = function (props) { return __awaiter(void 0, void 0, void 0, function () {
13208
- var objectApiName, recordId, relatedObjectApiName, relatedKey, top, perPage, hiddenEmptyTable, appId, relatedLabel, _a, className, columns, sort, filters, visible_on, requestAdaptor, adaptor, formFactor, schema;
13263
+ var $schema, objectApiName, recordId, relatedObjectApiName, relatedKey, top, perPage, hiddenEmptyTable, appId, relatedLabel, _a, className, columns, sort, filters, visible_on, requestAdaptor, adaptor, formFactor, formData, schema;
13209
13264
  return __generator(this, function (_b) {
13210
13265
  switch (_b.label) {
13211
13266
  case 0:
13212
- objectApiName = props.objectApiName, recordId = props.recordId, relatedObjectApiName = props.relatedObjectApiName, props.data, relatedKey = props.relatedKey, top = props.top, perPage = props.perPage, hiddenEmptyTable = props.hiddenEmptyTable, appId = props.appId, relatedLabel = props.relatedLabel, _a = props.className, className = _a === void 0 ? '' : _a, columns = props.columns, sort = props.sort, filters = props.filters, visible_on = props.visible_on, requestAdaptor = props.requestAdaptor, adaptor = props.adaptor;
13267
+ $schema = props.$schema, objectApiName = props.objectApiName, recordId = props.recordId, relatedObjectApiName = props.relatedObjectApiName, props.data, relatedKey = props.relatedKey, top = props.top, perPage = props.perPage, hiddenEmptyTable = props.hiddenEmptyTable, appId = props.appId, relatedLabel = props.relatedLabel, _a = props.className, className = _a === void 0 ? '' : _a, columns = props.columns, sort = props.sort, filters = props.filters, visible_on = props.visible_on, requestAdaptor = props.requestAdaptor, adaptor = props.adaptor;
13213
13268
  formFactor = props.formFactor;
13214
13269
  if (!formFactor) {
13215
13270
  formFactor = window.innerWidth < 768 ? 'SMALL' : 'LARGE';
@@ -13224,20 +13279,25 @@ var AmisRecordDetailRelatedList = function (props) { return __awaiter(void 0, vo
13224
13279
  "className": "mb-3"
13225
13280
  }];
13226
13281
  }
13282
+ formData = {};
13283
+ if (___default.has(props, "recordId") && $schema.recordId !== "${recordId}") {
13284
+ formData.recordId = recordId;
13285
+ }
13227
13286
  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, hiddenEmptyTable: hiddenEmptyTable, requestAdaptor: requestAdaptor, adaptor: adaptor })];
13228
13287
  case 1:
13229
13288
  schema = (_b.sent()).amisSchema;
13289
+ schema.data = Object.assign(schema.data, formData);
13230
13290
  return [2 /*return*/, schema];
13231
13291
  }
13232
13292
  });
13233
13293
  }); };
13234
13294
 
13235
13295
  var AmisRecordDetailRelatedLists = function (props) { return __awaiter(void 0, void 0, void 0, function () {
13236
- var objectApiName, _a, perPage, relatedLists;
13296
+ var $schema, objectApiName, recordId, _a, perPage, relatedLists, staticRecordId;
13237
13297
  return __generator(this, function (_b) {
13238
13298
  switch (_b.label) {
13239
13299
  case 0:
13240
- objectApiName = props.objectApiName, props.recordId, props.data, _a = props.perPage, perPage = _a === void 0 ? 5 : _a;
13300
+ $schema = props.$schema, objectApiName = props.objectApiName, recordId = props.recordId, props.data, _a = props.perPage, perPage = _a === void 0 ? 5 : _a;
13241
13301
  if (!objectApiName) {
13242
13302
  // if(!objectApiName || !recordId){
13243
13303
  return [2 /*return*/, {
@@ -13261,11 +13321,15 @@ var AmisRecordDetailRelatedLists = function (props) { return __awaiter(void 0, v
13261
13321
  "className": "mb-3"
13262
13322
  }];
13263
13323
  }
13324
+ staticRecordId = '';
13325
+ if (___default.has(props, "recordId") && $schema.recordId !== "${recordId}") {
13326
+ staticRecordId = recordId;
13327
+ }
13264
13328
  return [2 /*return*/, {
13265
13329
  type: 'service',
13266
13330
  className: "steedos-record-detail-related-lists",
13267
13331
  body: ___default.map(relatedLists, function (item) {
13268
- return {
13332
+ var relatedList = {
13269
13333
  type: 'steedos-object-related-listview',
13270
13334
  objectApiName: objectApiName,
13271
13335
  // recordId: recordId,
@@ -13280,6 +13344,10 @@ var AmisRecordDetailRelatedLists = function (props) { return __awaiter(void 0, v
13280
13344
  hiddenEmptyTable: true,
13281
13345
  relatedLabel: item.label
13282
13346
  };
13347
+ if (staticRecordId) {
13348
+ relatedList.recordId = staticRecordId;
13349
+ }
13350
+ return relatedList;
13283
13351
  })
13284
13352
  }];
13285
13353
  }
@@ -13330,12 +13398,12 @@ var AmisProvider = function (props) { return __awaiter(void 0, void 0, void 0, f
13330
13398
  /*
13331
13399
  * @Author: baozhoutao@steedos.com
13332
13400
  * @Date: 2022-09-01 14:44:57
13333
- * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
13334
- * @LastEditTime: 2023-03-13 16:19:22
13401
+ * @LastEditors: baozhoutao@steedos.com
13402
+ * @LastEditTime: 2023-05-08 15:05:32
13335
13403
  * @Description:
13336
13404
  */
13337
13405
  var AmisAppLauncher = function (props) { return __awaiter(void 0, void 0, void 0, function () {
13338
- var app, data, className, _a, showAppName, _b, appNameClassName, formFactor, isMobile, dialogSchema;
13406
+ var app, data, className, _a, showAppName, _b, appNameClassName, formFactor, isMobile, on_click_script, dialogSchema;
13339
13407
  return __generator(this, function (_c) {
13340
13408
  app = props.app, data = props.data, className = props.className, _a = props.showAppName, showAppName = _a === void 0 ? true : _a, _b = props.appNameClassName, appNameClassName = _b === void 0 ? '' : _b;
13341
13409
  if (!app) {
@@ -13343,6 +13411,7 @@ var AmisAppLauncher = function (props) { return __awaiter(void 0, void 0, void 0
13343
13411
  }
13344
13412
  formFactor = window.innerWidth < 768 ? 'SMALL' : 'LARGE';
13345
13413
  isMobile = formFactor === "SMALL" ? true : false;
13414
+ on_click_script = "\n var evalFunString = \"(function(){\" + event.data.on_click + \"})()\";\n eval(evalFunString);\n ";
13346
13415
  dialogSchema = {};
13347
13416
  if (isMobile) {
13348
13417
  dialogSchema = {
@@ -13355,8 +13424,6 @@ var AmisAppLauncher = function (props) { return __awaiter(void 0, void 0, void 0
13355
13424
  "items": {
13356
13425
  "type": "button",
13357
13426
  "level": "link",
13358
- "actionType": "link",
13359
- "link": "${path}",
13360
13427
  "body": [
13361
13428
  {
13362
13429
  "type": "tpl",
@@ -13382,6 +13449,26 @@ var AmisAppLauncher = function (props) { return __awaiter(void 0, void 0, void 0
13382
13449
  "actions": [
13383
13450
  {
13384
13451
  "actionType": "closeDialog"
13452
+ },
13453
+ {
13454
+ "actionType": "link",
13455
+ "args": {
13456
+ "link": "${path}"
13457
+ },
13458
+ "expression": "${AND(!blank , !on_click)}"
13459
+ },
13460
+ {
13461
+ "actionType": "url",
13462
+ "args": {
13463
+ "url": "${path}",
13464
+ "blank": true
13465
+ },
13466
+ "expression": "${AND(blank , !on_click)}"
13467
+ },
13468
+ {
13469
+ "actionType": "custom",
13470
+ "script": on_click_script,
13471
+ "expression": "${on_click}"
13385
13472
  }
13386
13473
  ]
13387
13474
  }
@@ -13405,18 +13492,26 @@ var AmisAppLauncher = function (props) { return __awaiter(void 0, void 0, void 0
13405
13492
  "headers": {
13406
13493
  "Authorization": "Bearer ${context.tenantId},${context.authToken}"
13407
13494
  },
13408
- "adaptor": "\nlet app_items = payload;\npayload.data = {\n app_items\n}\nreturn payload;",
13495
+ "adaptor": "\nlet app_items = payload;\npayload = {\n app_items\n}\nreturn payload;",
13409
13496
  "messages": {}
13410
13497
  },
13411
13498
  "onEvent": {
13412
13499
  "@data.changed.steedos_keyvalues": {
13413
13500
  "actions": [
13414
13501
  {
13415
- "actionType": "setValue",
13502
+ "actionType": "reload"
13503
+ }
13504
+ ]
13505
+ },
13506
+ "fetchInited": {
13507
+ "actions": [
13508
+ {
13509
+ "actionType": "broadcast",
13416
13510
  "args": {
13417
- "value": {
13418
- "keyvalue": "${event.data.keyvalue.value}"
13419
- }
13511
+ "eventName": "@appsLoaded"
13512
+ },
13513
+ "data": {
13514
+ "apps": "${event.data.app_items}"
13420
13515
  }
13421
13516
  }
13422
13517
  ]
@@ -13481,7 +13576,7 @@ var AmisAppLauncher = function (props) { return __awaiter(void 0, void 0, void 0
13481
13576
  "args": {
13482
13577
  "link": "${path}"
13483
13578
  },
13484
- "expression": "${!blank}"
13579
+ "expression": "${AND(!blank , !on_click)}"
13485
13580
  },
13486
13581
  {
13487
13582
  "actionType": "url",
@@ -13489,7 +13584,12 @@ var AmisAppLauncher = function (props) { return __awaiter(void 0, void 0, void 0
13489
13584
  "url": "${path}",
13490
13585
  "blank": true
13491
13586
  },
13492
- "expression": "${blank}"
13587
+ "expression": "${AND(blank , !on_click)}"
13588
+ },
13589
+ {
13590
+ "actionType": "custom",
13591
+ "script": on_click_script,
13592
+ "expression": "${!!on_click}"
13493
13593
  }
13494
13594
  ]
13495
13595
  }
@@ -13551,11 +13651,19 @@ var AmisAppLauncher = function (props) { return __awaiter(void 0, void 0, void 0
13551
13651
  "@data.changed.steedos_keyvalues": {
13552
13652
  "actions": [
13553
13653
  {
13554
- "actionType": "setValue",
13654
+ "actionType": "reload"
13655
+ }
13656
+ ]
13657
+ },
13658
+ "fetchInited": {
13659
+ "actions": [
13660
+ {
13661
+ "actionType": "broadcast",
13555
13662
  "args": {
13556
- "value": {
13557
- "keyvalue": "${event.data.keyvalue.value}"
13558
- }
13663
+ "eventName": "@appsLoaded"
13664
+ },
13665
+ "data": {
13666
+ "apps": "${event.data.app_items}"
13559
13667
  }
13560
13668
  }
13561
13669
  ]
@@ -13568,7 +13676,7 @@ var AmisAppLauncher = function (props) { return __awaiter(void 0, void 0, void 0
13568
13676
  "headers": {
13569
13677
  "Authorization": "Bearer ${context.tenantId},${context.authToken}"
13570
13678
  },
13571
- "adaptor": "\nlet app_items = payload;\nlet object_items = [];\nlet objects = [];\napp_items.forEach((item) => {\n item.children.forEach((i) => {\n if (objects.indexOf(i.id) < 0) {\n objects.push(i.id);\n object_items.push(i)\n }\n })\n})\npayload.data = {\n app_items,\n object_items\n}\nreturn payload;"
13679
+ "adaptor": "\nlet app_items = payload;\nlet object_items = [];\nlet objects = [];\napp_items.forEach((item) => {\n item.children.forEach((i) => {\n if (objects.indexOf(i.id) < 0) {\n objects.push(i.id);\n object_items.push(i)\n }\n })\n})\npayload = {\n app_items,\n object_items\n}\nreturn payload;"
13572
13680
  }
13573
13681
  };
13574
13682
  }
@@ -13622,12 +13730,7 @@ var AmisAppLauncher = function (props) { return __awaiter(void 0, void 0, void 0
13622
13730
  "@data.changed.steedos_keyvalues": {
13623
13731
  "actions": [
13624
13732
  {
13625
- "actionType": "setValue",
13626
- "args": {
13627
- "value": {
13628
- "keyvalue": "${event.data.keyvalue.value}"
13629
- }
13630
- }
13733
+ "actionType": "reload"
13631
13734
  }
13632
13735
  ]
13633
13736
  }