@steedos-widgets/amis-object 1.2.26 → 1.2.28

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.
@@ -106,18 +106,6 @@
106
106
  }
107
107
  }
108
108
 
109
- function __values(o) {
110
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
111
- if (m) return m.call(o);
112
- if (o && typeof o.length === "number") return {
113
- next: function () {
114
- if (o && i >= o.length) o = void 0;
115
- return { value: o && o[i++], done: !o };
116
- }
117
- };
118
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
119
- }
120
-
121
109
  function __read(o, n) {
122
110
  var m = typeof Symbol === "function" && o[Symbol.iterator];
123
111
  if (!m) return o;
@@ -3826,6 +3814,10 @@
3826
3814
  if(___default.includes(['percent','time','filesize','date','datetime','boolean','number','currency', 'select', 'file', 'image', 'avatar', 'formula', 'summary', 'object', 'grid'], field.type)){
3827
3815
  displayFields.push(`${field.name}`);
3828
3816
  }
3817
+ }else {
3818
+ objectFieldName = field.name.split('.')[0];
3819
+ fieldsName.push(objectFieldName);
3820
+ displayFields.push(objectFieldName);
3829
3821
  }
3830
3822
  }
3831
3823
 
@@ -4906,8 +4898,8 @@
4906
4898
  /*
4907
4899
  * @Author: baozhoutao@steedos.com
4908
4900
  * @Date: 2022-11-01 15:51:00
4909
- * @LastEditors: liaodaxue
4910
- * @LastEditTime: 2023-06-06 11:12:33
4901
+ * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
4902
+ * @LastEditTime: 2023-06-28 23:19:41
4911
4903
  * @Description:
4912
4904
  */
4913
4905
 
@@ -4958,6 +4950,16 @@
4958
4950
  return {
4959
4951
  data: formSchema
4960
4952
  };
4953
+ `;
4954
+ const onDialogCancelScript = `
4955
+ // 这里加setTimeout是因为amis的Bug,它会先触发cancel事件执行此脚本关闭父窗口然后再关闭子窗口
4956
+ // 正确的顺序应该是先关闭子窗口再关闭父窗口,顺序错了会造成第二次点击新建按钮的时候异常
4957
+ setTimeout(function(){
4958
+ doAction({
4959
+ "actionType": "cancel",
4960
+ "componentId": "object_actions_drawer_${uiSchema.name}"
4961
+ });
4962
+ }, 200);
4961
4963
  `;
4962
4964
  return {
4963
4965
  "type": "service",
@@ -5019,6 +5021,17 @@
5019
5021
  "closeOnEsc": false,
5020
5022
  "closeOnOutside": false,
5021
5023
  "size": "lg",
5024
+ "onEvent": {
5025
+ "cancel": {
5026
+ "actions": [
5027
+ {
5028
+ "actionType": "custom",
5029
+ "script": onDialogCancelScript,
5030
+ "expression": "${window:innerWidth < 768}",
5031
+ }
5032
+ ]
5033
+ }
5034
+ },
5022
5035
  "actions": [
5023
5036
  {
5024
5037
  type: 'button',
@@ -5081,7 +5094,7 @@
5081
5094
  * @Author: baozhoutao@steedos.com
5082
5095
  * @Date: 2022-11-01 15:49:58
5083
5096
  * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
5084
- * @LastEditTime: 2023-03-27 11:36:49
5097
+ * @LastEditTime: 2023-06-28 23:22:31
5085
5098
  * @Description:
5086
5099
  */
5087
5100
 
@@ -5110,6 +5123,17 @@
5110
5123
  ? JSON.parse(page.schema)
5111
5124
  : page.schema;
5112
5125
  }
5126
+
5127
+ const onDialogCancelScript = `
5128
+ // 这里加setTimeout是因为amis的Bug,它会先触发cancel事件执行此脚本关闭父窗口然后再关闭子窗口
5129
+ // 正确的顺序应该是先关闭子窗口再关闭父窗口,顺序错了会造成第二次点击编辑按钮的时候异常
5130
+ setTimeout(function(){
5131
+ doAction({
5132
+ "actionType": "cancel",
5133
+ "componentId": "object_actions_drawer_${uiSchema.name}"
5134
+ });
5135
+ }, 200);
5136
+ `;
5113
5137
 
5114
5138
  return {
5115
5139
  type: "service",
@@ -5133,6 +5157,17 @@
5133
5157
  closeOnOutside: false,
5134
5158
  showCloseButton: true,
5135
5159
  size: "lg",
5160
+ "onEvent": {
5161
+ "cancel": {
5162
+ "actions": [
5163
+ {
5164
+ "actionType": "custom",
5165
+ "script": onDialogCancelScript,
5166
+ "expression": "${window:innerWidth < 768}",
5167
+ }
5168
+ ]
5169
+ }
5170
+ },
5136
5171
  },
5137
5172
  },
5138
5173
  ],
@@ -5429,6 +5464,7 @@
5429
5464
  label: instance.t('frontend_import_data_file'),
5430
5465
  required: true,
5431
5466
  type: "input-file",
5467
+ accept: ".xlsx,.xls",
5432
5468
  className: "m-1",
5433
5469
  labelClassName: "text-left",
5434
5470
  clearValueOnHidden: true,
@@ -6093,6 +6129,7 @@
6093
6129
  "drawer": {
6094
6130
  "type": "drawer",
6095
6131
  "title": "操作",
6132
+ "id": "object_actions_drawer_" + objectSchema.name,
6096
6133
  "body": [
6097
6134
  {
6098
6135
  "type": "button-group",
@@ -6115,7 +6152,6 @@
6115
6152
  "size": "lg"
6116
6153
  }
6117
6154
  ],
6118
- "id": "u:9815f7366b9f",
6119
6155
  "position": "bottom",
6120
6156
  "closeOnOutside": true,
6121
6157
  "resizable": false,
@@ -6126,8 +6162,7 @@
6126
6162
  }
6127
6163
  ]
6128
6164
  }
6129
- },
6130
- "id": "u:ee7c7929e6ae"
6165
+ }
6131
6166
  }
6132
6167
  }else {
6133
6168
  if(moreButtons.length > 0){
@@ -6159,6 +6194,7 @@
6159
6194
  "drawer": {
6160
6195
  "type": "drawer",
6161
6196
  "title": "操作",
6197
+ "id": "object_actions_drawer_" + objectSchema.name,
6162
6198
  "body": [
6163
6199
  {
6164
6200
  "type": "button-group",
@@ -6182,7 +6218,6 @@
6182
6218
  "size": "lg"
6183
6219
  }
6184
6220
  ],
6185
- "id": "u:9815f7366b9f",
6186
6221
  "position": "bottom",
6187
6222
  "closeOnOutside": true,
6188
6223
  "resizable": false,
@@ -6193,8 +6228,7 @@
6193
6228
  }
6194
6229
  ]
6195
6230
  }
6196
- },
6197
- "id": "u:ee7c7929e6ae"
6231
+ }
6198
6232
  }
6199
6233
  }else {
6200
6234
  return ___default__default["default"].map(buttons, (button) => {
@@ -6223,6 +6257,7 @@
6223
6257
  "drawer": {
6224
6258
  "type": "drawer",
6225
6259
  "title": "操作",
6260
+ "id": "object_actions_drawer_" + objectSchema.name,
6226
6261
  "body": [
6227
6262
  {
6228
6263
  "type": "button-group",
@@ -8799,6 +8834,8 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
8799
8834
  const fieldsArr = [];
8800
8835
 
8801
8836
  const listName = "all";
8837
+
8838
+ const isMobile = window.innerWidth < 768;
8802
8839
 
8803
8840
  const listView = ___default__namespace.find(
8804
8841
  refObjectConfig.list_views,
@@ -8875,6 +8912,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
8875
8912
 
8876
8913
  source.data.$term = "$term";
8877
8914
  source.data.$self = "$$";
8915
+
8878
8916
 
8879
8917
  source.requestAdaptor = `
8880
8918
  const selfData = JSON.parse(JSON.stringify(api.data.$self));
@@ -8910,6 +8948,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
8910
8948
  }
8911
8949
  }
8912
8950
 
8951
+
8913
8952
  if(allowSearchFields){
8914
8953
  allowSearchFields.forEach(function(key){
8915
8954
  const keyValue = selfData[key];
@@ -9025,7 +9064,6 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
9025
9064
  pickerSchema.affixHeader = false;
9026
9065
 
9027
9066
  var headerToolbarItems = [];
9028
- const isMobile = window.innerWidth < 768;
9029
9067
  if(referenceTo.objectName === "space_users" && field.reference_to_field === "user" && !isMobile){
9030
9068
  headerToolbarItems = getLookupSapceUserTreeSchema();
9031
9069
  pickerSchema["style"] = {
@@ -9106,7 +9144,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
9106
9144
  }
9107
9145
 
9108
9146
  const ctx = ${JSON.stringify(ctx)};
9109
- const componentId = ctx.defaults.formSchema.id ? 'service-'+ctx.defaults.formSchema.id : 'new-'+ctx.defaults.formSchema.objectApiName;
9147
+ const componentId = ctx.defaults.formSchema.id;
9110
9148
  doAction({
9111
9149
  actionType: 'setValue',
9112
9150
  componentId: componentId,
@@ -9360,6 +9398,11 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
9360
9398
  // ids人员点选模式
9361
9399
  return await lookupToAmisIdsPicker(field, readonly, ctx);
9362
9400
  }
9401
+ if(!field.filters || field.filters.length == 0){
9402
+ field.filters = [["user_accepted", "=", true]];
9403
+ }else {
9404
+ field.filters = [ ["user_accepted", "=", true], "and", field.filters ];
9405
+ }
9363
9406
  // 左侧树右侧人员列表的下拉框模式,不再支持,而是执行下面的lookupToAmisPicker函数弹出选人窗口
9364
9407
  // return await lookupToAmisSelectUser(field, readonly, ctx);
9365
9408
  }
@@ -9500,7 +9543,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
9500
9543
  * @Author: baozhoutao@steedos.com
9501
9544
  * @Date: 2023-01-13 17:27:54
9502
9545
  * @LastEditors: liaodaxue
9503
- * @LastEditTime: 2023-06-16 15:58:21
9546
+ * @LastEditTime: 2023-06-30 10:29:52
9504
9547
  * @Description:
9505
9548
  */
9506
9549
 
@@ -9508,12 +9551,16 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
9508
9551
  const getMarkdownFieldSchema = (field, readonly, ctx)=>{
9509
9552
  if(readonly){
9510
9553
  return {
9511
- "type": "markdown",
9512
- "name": field.name,
9513
- "options": {
9514
- "linkify": true,
9515
- "html": true,
9516
- "breaks": true
9554
+ "type": "control",
9555
+ "label": field.label,
9556
+ "body": {
9557
+ "type": "markdown",
9558
+ "name": field.name,
9559
+ "options": {
9560
+ "linkify": true,
9561
+ "html": true,
9562
+ "breaks": true
9563
+ }
9517
9564
  }
9518
9565
  }
9519
9566
  }else {
@@ -10594,6 +10641,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
10594
10641
  async function getTableColumns$1(fields, options){
10595
10642
  const columns = [{name: '_index',type: 'text', width: 32, placeholder: ""}];
10596
10643
  const allowEdit = options.permissions?.allowEdit && options.permissions?.modifyAllRecords && !options.isLookup && options.enable_inline_edit != false;
10644
+ const defaultWidth = "unset";//用于使table内的td标签下生成div,实现将快速编辑按钮固定在右侧的效果,并不是为了unset效果
10597
10645
  for (const field of fields) {
10598
10646
  //增加quickEdit属性,实现快速编辑
10599
10647
  const quickEditSchema = allowEdit ? await getQuickEditSchema(field, options) : allowEdit;
@@ -10650,7 +10698,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
10650
10698
  type: "switch",
10651
10699
  name: field.name,
10652
10700
  label: field.label,
10653
- width: field.width,
10701
+ width: field.width || defaultWidth,
10654
10702
  toggled: field.toggled,
10655
10703
  quickEdit: quickEditSchema,
10656
10704
  className:"whitespace-nowrap",
@@ -10665,7 +10713,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
10665
10713
  label: field.label,
10666
10714
  map: map,
10667
10715
  sortable: field.sortable,
10668
- width: field.width,
10716
+ width: field.width || defaultWidth,
10669
10717
  toggled: field.toggled,
10670
10718
  className:"whitespace-nowrap",
10671
10719
  quickEdit: quickEditSchema
@@ -10694,7 +10742,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
10694
10742
  label: field.label,
10695
10743
  sortable: field.sortable,
10696
10744
  // searchable: field.searchable,
10697
- width: field.width,
10745
+ width: field.width || defaultWidth,
10698
10746
  type: type,
10699
10747
  tpl: tpl,
10700
10748
  toggled: field.toggled,
@@ -11101,6 +11149,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
11101
11149
  let valueField = mainObject.key_field || '_id';
11102
11150
  const api = await getApi(mainObject, null, fields, {count: options.queryCount, alias: 'rows', limit: top, queryOptions: `filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"`});
11103
11151
 
11152
+ api.url += "&objectName=${objectName}";//设计器上对象表格组件需要切换对象重新请求列表数据
11104
11153
  if(options.isRelated){
11105
11154
  api.url += "&recordId=${_master.recordId}";
11106
11155
  }
@@ -11430,12 +11479,18 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
11430
11479
  // }
11431
11480
  // })
11432
11481
 
11482
+ var fieldNames = ___default__namespace.map(fields, function(n){return n.name});
11433
11483
  return `
11434
11484
  if(payload.data.data.length === 0){
11435
11485
  var isEditor = !!${options && options.isEditor};
11436
11486
  if(isEditor){
11487
+ var fieldNames = ${JSON.stringify(fieldNames)};
11488
+ var emptyDoc = {};//这里如果不把每个字段值设置为空的话,表单上会显示上一次表单上的字段值
11489
+ fieldNames.forEach(function(n){
11490
+ emptyDoc[n] = null;
11491
+ });
11437
11492
  // 设计器中始终显示表单,有记录则显示第一条记录,没记录时显示为空表单
11438
- payload.data.data = [{}];
11493
+ payload.data.data = [emptyDoc];
11439
11494
  }
11440
11495
  else{
11441
11496
  return {
@@ -12239,8 +12294,8 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
12239
12294
  /*
12240
12295
  * @Author: baozhoutao@steedos.com
12241
12296
  * @Date: 2022-05-26 16:02:08
12242
- * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
12243
- * @LastEditTime: 2023-06-04 15:49:23
12297
+ * @LastEditors: liaodaxue
12298
+ * @LastEditTime: 2023-06-29 17:27:19
12244
12299
  * @Description:
12245
12300
  */
12246
12301
 
@@ -12334,7 +12389,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
12334
12389
  const section = await getSection(formFields, permissionFields, fieldSchemaArray, key, ctx);
12335
12390
  if (section.body.length > 0) {
12336
12391
  if (section.visibleOn) {
12337
- sectionVisibleOns.push(section.visibleOn);
12392
+ sectionVisibleOns.push("("+section.visibleOn+")");
12338
12393
  }
12339
12394
  else {
12340
12395
  sectionVisibleOns.push("true");
@@ -12672,8 +12727,12 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
12672
12727
  if(___default__default["default"].has(formSchema, 'className')){
12673
12728
  formSchema.className = 'steedos-amis-form';
12674
12729
  }
12730
+ if(!formSchema.id){
12731
+ formSchema.id = 'form_' + objectSchema.name;
12732
+ }
12675
12733
  const amisSchema = {
12676
12734
  type: 'service',
12735
+ id: `service_${formSchema.id}`,
12677
12736
  className: 'p-0',
12678
12737
  name: `page_edit_${recordId}`,
12679
12738
  api: await getEditFormInitApi(objectSchema, recordId, fields, ctx),
@@ -12744,11 +12803,6 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
12744
12803
  }
12745
12804
  })]
12746
12805
  };
12747
- if(formSchema.id){
12748
- amisSchema.id = `service-${formSchema.id}`;
12749
- }else {
12750
- amisSchema.id = `new-${objectSchema.name}`;
12751
- }
12752
12806
  return amisSchema;
12753
12807
  }
12754
12808
 
@@ -16777,85 +16831,71 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
16777
16831
  });
16778
16832
 
16779
16833
  var getSchema = function (field, value, ctx) { return __awaiter(void 0, void 0, void 0, function () {
16780
- var refTo, leftName, options, refTo_1, refTo_1_1, item, refObject_1, e_1_1, refObject, rightSchema;
16781
- var e_1, _a;
16782
- return __generator(this, function (_b) {
16783
- switch (_b.label) {
16834
+ var refTo, leftName, refObject, rightSchema;
16835
+ return __generator(this, function (_a) {
16836
+ switch (_a.label) {
16784
16837
  case 0:
16785
16838
  refTo = field.reference_to;
16786
16839
  if (refTo && ___default.isFunction(refTo)) {
16787
16840
  refTo = refTo();
16788
16841
  }
16789
16842
  leftName = "".concat(field.name, "__left");
16790
- options = [];
16791
- _b.label = 1;
16792
- case 1:
16793
- _b.trys.push([1, 6, 7, 8]);
16794
- refTo_1 = __values(refTo), refTo_1_1 = refTo_1.next();
16795
- _b.label = 2;
16796
- case 2:
16797
- if (!!refTo_1_1.done) return [3 /*break*/, 5];
16798
- item = refTo_1_1.value;
16799
- return [4 /*yield*/, getUISchema(item, false)];
16800
- case 3:
16801
- refObject_1 = _b.sent();
16802
- options.push({
16803
- label: refObject_1.label,
16804
- value: item,
16805
- icon: refObject_1.icon
16806
- });
16807
- _b.label = 4;
16808
- case 4:
16809
- refTo_1_1 = refTo_1.next();
16810
- return [3 /*break*/, 2];
16811
- case 5: return [3 /*break*/, 8];
16812
- case 6:
16813
- e_1_1 = _b.sent();
16814
- e_1 = { error: e_1_1 };
16815
- return [3 /*break*/, 8];
16816
- case 7:
16817
- try {
16818
- if (refTo_1_1 && !refTo_1_1.done && (_a = refTo_1.return)) _a.call(refTo_1);
16819
- }
16820
- finally { if (e_1) throw e_1.error; }
16821
- return [7 /*endfinally*/];
16822
- case 8:
16843
+ // const options = [];
16844
+ // for (const item of refTo) {
16845
+ // const refObject = await getUISchema(item, false);
16846
+ // options.push({
16847
+ // label: refObject.label,
16848
+ // value: item,
16849
+ // icon: refObject.icon
16850
+ // });
16851
+ // }
16823
16852
  // console.log(`getSchema refTo`, refTo);
16824
16853
  // console.log(`getSchema options`, options);
16825
16854
  // console.log(`getSchema value=========>`, value);
16826
16855
  if (!value || !value.o) {
16827
16856
  value = {
16828
- o: options[0].value,
16857
+ o: refTo[0],
16829
16858
  ids: []
16830
16859
  };
16831
16860
  }
16832
16861
  return [4 /*yield*/, getUISchema(value.o, false)];
16833
- case 9:
16834
- refObject = _b.sent();
16862
+ case 1:
16863
+ refObject = _a.sent();
16835
16864
  rightSchema = null;
16836
- if (!(refObject.enable_enhanced_lookup == true)) return [3 /*break*/, 11];
16865
+ if (!(refObject.enable_enhanced_lookup == true)) return [3 /*break*/, 3];
16837
16866
  return [4 /*yield*/, lookupToAmisPicker(Object.assign({}, field, { reference_to: value.o }), false, ctx)];
16838
- case 10:
16839
- rightSchema = _b.sent();
16840
- return [3 /*break*/, 13];
16841
- case 11:
16867
+ case 2:
16868
+ rightSchema = _a.sent();
16869
+ return [3 /*break*/, 5];
16870
+ case 3:
16842
16871
  if (!ctx) {
16843
16872
  ctx = {};
16844
16873
  }
16845
16874
  ctx.isRefToMutiple = ___default.isArray(refTo);
16846
16875
  return [4 /*yield*/, lookupToAmisSelect(Object.assign({}, field, { reference_to: value.o }), false, ctx)];
16847
- case 12:
16848
- rightSchema = _b.sent();
16849
- _b.label = 13;
16850
- case 13: return [2 /*return*/, {
16876
+ case 4:
16877
+ rightSchema = _a.sent();
16878
+ _a.label = 5;
16879
+ case 5: return [2 /*return*/, {
16851
16880
  "type": "input-group",
16852
16881
  "label": false,
16853
16882
  "body": [
16854
16883
  {
16855
16884
  "type": "select",
16856
- "inputClassName": "select_left",
16885
+ "inputClassName": "lookup-left",
16857
16886
  "name": leftName,
16858
- "options": options,
16887
+ // "options": options,
16888
+ "source": {
16889
+ "method": "post",
16890
+ "url": "${context.rootUrl}/graphql",
16891
+ "data": {
16892
+ "query": "{options:objects(filters: {__filters}, top: {__top}, sort: \"{__sort}\"){_id label:label value:name icon},count:objects__count(filters:{__filters})}"
16893
+ },
16894
+ "headers": {
16895
+ "Authorization": "Bearer ${context.tenantId},${context.authToken}"
16896
+ },
16897
+ "requestAdaptor": "\nvar filters = [\"name\",\"in\", ".concat(JSON.stringify(refTo), "]; \nvar top = ").concat(JSON.stringify(refTo), ".length;\n\nvar sort = \"\";\napi.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', top).replace('{__sort}', sort.trim());\nreturn api;"),
16898
+ },
16859
16899
  "value": "".concat(value.o)
16860
16900
  },
16861
16901
  Object.assign({}, rightSchema, {
@@ -17186,16 +17226,16 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
17186
17226
  };
17187
17227
 
17188
17228
  var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0, function () {
17189
- var $schema, recordId, defaultData, mode, layout, labelAlign, appId, fieldsExtend, _a, excludedFields, _b, fields, _c, className, initApiRequestAdaptor, initApiAdaptor, apiRequestAdaptor, apiAdaptor, enableTabs, tabsMode, objectApiName, schemaKeys, formSchema, defaults, options, globalData, amisSchema, uiSchema, schema, schema, formData;
17190
- return __generator(this, function (_d) {
17191
- switch (_d.label) {
17229
+ var $schema, recordId, defaultData, mode, layout, labelAlign, appId, fieldsExtend, _a, excludedFields, _b, fields, _c, form, _d, className, initApiRequestAdaptor, initApiAdaptor, apiRequestAdaptor, apiAdaptor, enableTabs, tabsMode, objectApiName, schemaKeys, formSchema, defaults, options, globalData, amisSchema, uiSchema, schema, schema, formData;
17230
+ return __generator(this, function (_e) {
17231
+ switch (_e.label) {
17192
17232
  case 0:
17193
- $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, enableTabs = props.enableTabs, tabsMode = props.tabsMode;
17233
+ $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.form, form = _c === void 0 ? {} : _c, _d = props.className, className = _d === void 0 ? "" : _d, initApiRequestAdaptor = props.initApiRequestAdaptor, initApiAdaptor = props.initApiAdaptor, apiRequestAdaptor = props.apiRequestAdaptor, apiAdaptor = props.apiAdaptor, enableTabs = props.enableTabs, tabsMode = props.tabsMode;
17194
17234
  objectApiName = props.objectApiName || "space_users";
17195
- schemaKeys = ___default.difference(___default.keys($schema), ["type", "mode", "layout", "defaultData"]);
17235
+ schemaKeys = ___default.difference(___default.keys($schema), ["id", "form", "type", "mode", "layout", "defaultData"]);
17196
17236
  formSchema = ___default.pick(props, schemaKeys);
17197
17237
  defaults = {
17198
- formSchema: formSchema
17238
+ formSchema: Object.assign({}, formSchema, form)
17199
17239
  };
17200
17240
  options = {
17201
17241
  recordId: recordId,
@@ -17225,7 +17265,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
17225
17265
  tabsMode: tabsMode
17226
17266
  }))];
17227
17267
  case 1:
17228
- schema = _d.sent();
17268
+ schema = _e.sent();
17229
17269
  amisSchema = schema.amisSchema;
17230
17270
  if (defaultData) {
17231
17271
  // 让ObjectForm支持props中的dafaultData属性与上层组件配置的defaultData混合
@@ -17247,10 +17287,10 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
17247
17287
  }
17248
17288
  return [4 /*yield*/, getViewSchema(objectApiName, recordId, options)];
17249
17289
  case 3:
17250
- schema = _d.sent();
17290
+ schema = _e.sent();
17251
17291
  amisSchema = schema.amisSchema;
17252
17292
  uiSchema = schema.uiSchema;
17253
- _d.label = 4;
17293
+ _e.label = 4;
17254
17294
  case 4:
17255
17295
  formData = {};
17256
17296
  // formData.recordId = recordId || null;
@@ -17271,12 +17311,12 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
17271
17311
  }); };
17272
17312
 
17273
17313
  var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, void 0, function () {
17274
- var $schema, top, perPage, _a, showHeader, data, defaultData, _b, className, crudClassName, _c, showDisplayAs, sideSchema, _e, filterVisible, headerToolbarItems, rowClassNameExpr, headerSchema, ctx, listName, defaults, objectApiName, displayAs, formFactor, isMobile, uiSchema, listView, schemaKeys, listSchema, setDataToComponentId, amisSchemaData, listViewId, listViewSchemaProps, serviceData;
17275
- var _f;
17276
- return __generator(this, function (_g) {
17277
- switch (_g.label) {
17314
+ var $schema, top, perPage, _a, showHeader, data, defaultData, _b, crud, _c, className, crudClassName, _d, showDisplayAs, sideSchema, _f, filterVisible, headerToolbarItems, rowClassNameExpr, headerSchema, ctx, listName, defaults, objectApiName, displayAs, formFactor, isMobile, uiSchema, listView, schemaKeys, listSchema, setDataToComponentId, amisSchemaData, listViewId, listViewSchemaProps, serviceData;
17315
+ var _g;
17316
+ return __generator(this, function (_h) {
17317
+ switch (_h.label) {
17278
17318
  case 0:
17279
- $schema = props.$schema, top = props.top, perPage = props.perPage, _a = props.showHeader, showHeader = _a === void 0 ? true : _a, data = props.data, defaultData = props.defaultData, _b = props.className, className = _b === void 0 ? "" : _b, crudClassName = props.crudClassName, _c = props.showDisplayAs, showDisplayAs = _c === void 0 ? false : _c, sideSchema = props.sideSchema, props.columnsTogglable, _e = props.filterVisible, filterVisible = _e === void 0 ? true : _e, headerToolbarItems = props.headerToolbarItems, rowClassNameExpr = props.rowClassNameExpr;
17319
+ $schema = props.$schema, top = props.top, perPage = props.perPage, _a = props.showHeader, showHeader = _a === void 0 ? true : _a, data = props.data, defaultData = props.defaultData, _b = props.crud, crud = _b === void 0 ? {} : _b, _c = props.className, className = _c === void 0 ? "" : _c, crudClassName = props.crudClassName, _d = props.showDisplayAs, showDisplayAs = _d === void 0 ? false : _d, sideSchema = props.sideSchema, props.columnsTogglable, _f = props.filterVisible, filterVisible = _f === void 0 ? true : _f, headerToolbarItems = props.headerToolbarItems, rowClassNameExpr = props.rowClassNameExpr;
17280
17320
  headerSchema = props.headerSchema;
17281
17321
  ctx = props.ctx;
17282
17322
  listName = (defaultData === null || defaultData === void 0 ? void 0 : defaultData.listName) || (data === null || data === void 0 ? void 0 : data.listName) || (props === null || props === void 0 ? void 0 : props.listName);
@@ -17305,7 +17345,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
17305
17345
  }
17306
17346
  return [4 /*yield*/, getUISchema(objectApiName, false)];
17307
17347
  case 1:
17308
- uiSchema = _g.sent();
17348
+ uiSchema = _h.sent();
17309
17349
  listView = ___default.find(uiSchema.list_views, function (listView, name) {
17310
17350
  // 传入listViewName空值则取第一个
17311
17351
  if (!listName) {
@@ -17324,7 +17364,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
17324
17364
  }
17325
17365
  listName = listView.name;
17326
17366
  if (!(ctx && ctx.defaults)) {
17327
- schemaKeys = ___default.difference(___default.keys($schema), ["type", "showHeader", "id"]);
17367
+ schemaKeys = ___default.difference(___default.keys($schema), ["type", "showHeader", "id", "crud"]);
17328
17368
  listSchema = ___default.pick(props, schemaKeys);
17329
17369
  // className不传入crud组件,crud单独识别crudClassName属性
17330
17370
  listSchema.className = crudClassName;
@@ -17347,7 +17387,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
17347
17387
  ]
17348
17388
  };
17349
17389
  defaults = {
17350
- listSchema: listSchema
17390
+ listSchema: Object.assign({}, listSchema, crud)
17351
17391
  };
17352
17392
  }
17353
17393
  setDataToComponentId = ctx && ctx.setDataToComponentId;
@@ -17370,7 +17410,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
17370
17410
  if (!___default.has(data, 'uiSchema')) {
17371
17411
  serviceData.uiSchema = uiSchema;
17372
17412
  }
17373
- serviceData.defaultListName = listName ? listName : (_f = ___default.first(___default.values(uiSchema.list_views))) === null || _f === void 0 ? void 0 : _f.name;
17413
+ serviceData.defaultListName = listName ? listName : (_g = ___default.first(___default.values(uiSchema.list_views))) === null || _g === void 0 ? void 0 : _g.name;
17374
17414
  // console.timeEnd('AmisObjectListView')
17375
17415
  // console.log('serviceData===>', serviceData)
17376
17416
  // console.log('headerSchema===>', headerSchema)
@@ -17400,7 +17440,8 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
17400
17440
  {
17401
17441
  "type": "service",
17402
17442
  "schemaApi": {
17403
- "url": "${context.rootUrl}/graphql?listName=${listName}&display=${display}",
17443
+ // 这里url上加objectApiName属性是因为设计器中切换对象时不会变更列表视图界面,不可以用objectName=${objectName}使用作用域中objectName变量是因为设计器那边不会监听识别data变化来render组件
17444
+ "url": "${context.rootUrl}/graphql?objectName=" + objectApiName + "&listName=${listName}&display=${display}",
17404
17445
  "method": "post",
17405
17446
  "messages": {},
17406
17447
  "headers": {
@@ -17450,13 +17491,13 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
17450
17491
  return tableColumns;
17451
17492
  }
17452
17493
  var AmisObjectTable = function (props) { return __awaiter(void 0, void 0, void 0, function () {
17453
- 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;
17454
- return __generator(this, function (_d) {
17455
- switch (_d.label) {
17494
+ var $schema, filters, filtersFunction, amisCondition, top, headerSchema, includedFields, fieldsExtend, sort, sortField, sortOrder, extraColumns, data, defaultData, _a, crud, _b, formFactor, _c, className, requestAdaptor, adaptor, _d, filterVisible, headerToolbarItems, ctx, columns, defaults, objectApiName, schemaKeys, listSchema, setDataToComponentId, amisFilters, tableFilters, amisSchemaData, appId, amisSchema;
17495
+ return __generator(this, function (_e) {
17496
+ switch (_e.label) {
17456
17497
  case 0:
17457
17498
  // console.time('AmisObjectTable')
17458
17499
  console.log("AmisObjectTable props", props);
17459
- $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;
17500
+ $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.crud, crud = _a === void 0 ? {} : _a, _b = props.formFactor, formFactor = _b === void 0 ? window.innerWidth < 768 ? 'SMALL' : 'LARGE' : _b, _c = props.className, className = _c === void 0 ? "" : _c, requestAdaptor = props.requestAdaptor, adaptor = props.adaptor, _d = props.filterVisible, filterVisible = _d === void 0 ? true : _d, headerToolbarItems = props.headerToolbarItems;
17460
17501
  ctx = props.ctx;
17461
17502
  if (!ctx) {
17462
17503
  ctx = {};
@@ -17468,12 +17509,12 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
17468
17509
  defaults = {};
17469
17510
  objectApiName = props.objectApiName || "space_users";
17470
17511
  if (!(ctx && ctx.defaults)) {
17471
- schemaKeys = ___default.difference(___default.keys($schema), ["type", "objectApiName", "columns", "extraColumns", "id"]);
17512
+ schemaKeys = ___default.difference(___default.keys($schema), ["type", "objectApiName", "columns", "extraColumns", "id", "crud"]);
17472
17513
  listSchema = ___default.pick(props, schemaKeys);
17473
17514
  // className不传入crud组件,crud单独识别crudClassName属性
17474
17515
  listSchema.className = "";
17475
17516
  defaults = {
17476
- listSchema: listSchema
17517
+ listSchema: Object.assign({}, listSchema, crud)
17477
17518
  };
17478
17519
  }
17479
17520
  // 支持通过直接定义headerSchema属性来定制表头,而不一定要通过ctx.defaults.headerSchema传入
@@ -17492,9 +17533,13 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
17492
17533
  ctx = ___default.pickBy(ctx, function (value) { return value !== undefined; });
17493
17534
  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 }))];
17494
17535
  case 1:
17495
- amisSchema = (_d.sent()).amisSchema;
17536
+ amisSchema = (_e.sent()).amisSchema;
17496
17537
  amisSchema.data = Object.assign({}, amisSchema.data, amisSchemaData);
17538
+ if (___default.has(props, 'objectApiName')) {
17539
+ amisSchema.data.objectName = objectApiName;
17540
+ }
17497
17541
  amisSchema.className = "steedos-object-table h-full flex flex-col ".concat(className);
17542
+ amisSchema.objectApiName = objectApiName; //设计器中切换对象时画布中显示的列未同步变更
17498
17543
  // console.log(`AmisObjectTable===>amisSchema`, amisSchema)
17499
17544
  // console.timeEnd('AmisObjectTable')
17500
17545
  return [2 /*return*/, amisSchema];