@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.
@@ -80,18 +80,6 @@ function __generator(thisArg, body) {
80
80
  }
81
81
  }
82
82
 
83
- function __values(o) {
84
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
85
- if (m) return m.call(o);
86
- if (o && typeof o.length === "number") return {
87
- next: function () {
88
- if (o && i >= o.length) o = void 0;
89
- return { value: o && o[i++], done: !o };
90
- }
91
- };
92
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
93
- }
94
-
95
83
  function __read(o, n) {
96
84
  var m = typeof Symbol === "function" && o[Symbol.iterator];
97
85
  if (!m) return o;
@@ -3800,6 +3788,10 @@ async function getFieldsTemplate(fields, expand){
3800
3788
  if(includes(['percent','time','filesize','date','datetime','boolean','number','currency', 'select', 'file', 'image', 'avatar', 'formula', 'summary', 'object', 'grid'], field.type)){
3801
3789
  displayFields.push(`${field.name}`);
3802
3790
  }
3791
+ }else {
3792
+ objectFieldName = field.name.split('.')[0];
3793
+ fieldsName.push(objectFieldName);
3794
+ displayFields.push(objectFieldName);
3803
3795
  }
3804
3796
  }
3805
3797
 
@@ -4880,8 +4872,8 @@ instance
4880
4872
  /*
4881
4873
  * @Author: baozhoutao@steedos.com
4882
4874
  * @Date: 2022-11-01 15:51:00
4883
- * @LastEditors: liaodaxue
4884
- * @LastEditTime: 2023-06-06 11:12:33
4875
+ * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
4876
+ * @LastEditTime: 2023-06-28 23:19:41
4885
4877
  * @Description:
4886
4878
  */
4887
4879
 
@@ -4933,6 +4925,16 @@ const getSchema$5 = async (uiSchema, ctx) => {
4933
4925
  data: formSchema
4934
4926
  };
4935
4927
  `;
4928
+ const onDialogCancelScript = `
4929
+ // 这里加setTimeout是因为amis的Bug,它会先触发cancel事件执行此脚本关闭父窗口然后再关闭子窗口
4930
+ // 正确的顺序应该是先关闭子窗口再关闭父窗口,顺序错了会造成第二次点击新建按钮的时候异常
4931
+ setTimeout(function(){
4932
+ doAction({
4933
+ "actionType": "cancel",
4934
+ "componentId": "object_actions_drawer_${uiSchema.name}"
4935
+ });
4936
+ }, 200);
4937
+ `;
4936
4938
  return {
4937
4939
  "type": "service",
4938
4940
  "body": [
@@ -4993,6 +4995,17 @@ const getSchema$5 = async (uiSchema, ctx) => {
4993
4995
  "closeOnEsc": false,
4994
4996
  "closeOnOutside": false,
4995
4997
  "size": "lg",
4998
+ "onEvent": {
4999
+ "cancel": {
5000
+ "actions": [
5001
+ {
5002
+ "actionType": "custom",
5003
+ "script": onDialogCancelScript,
5004
+ "expression": "${window:innerWidth < 768}",
5005
+ }
5006
+ ]
5007
+ }
5008
+ },
4996
5009
  "actions": [
4997
5010
  {
4998
5011
  type: 'button',
@@ -5055,7 +5068,7 @@ async function getPage({type, pageId = '', appId, objectName = '', recordId = ''
5055
5068
  * @Author: baozhoutao@steedos.com
5056
5069
  * @Date: 2022-11-01 15:49:58
5057
5070
  * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
5058
- * @LastEditTime: 2023-03-27 11:36:49
5071
+ * @LastEditTime: 2023-06-28 23:22:31
5059
5072
  * @Description:
5060
5073
  */
5061
5074
 
@@ -5084,6 +5097,17 @@ const getSchema$4 = async (uiSchema, ctx) => {
5084
5097
  ? JSON.parse(page.schema)
5085
5098
  : page.schema;
5086
5099
  }
5100
+
5101
+ const onDialogCancelScript = `
5102
+ // 这里加setTimeout是因为amis的Bug,它会先触发cancel事件执行此脚本关闭父窗口然后再关闭子窗口
5103
+ // 正确的顺序应该是先关闭子窗口再关闭父窗口,顺序错了会造成第二次点击编辑按钮的时候异常
5104
+ setTimeout(function(){
5105
+ doAction({
5106
+ "actionType": "cancel",
5107
+ "componentId": "object_actions_drawer_${uiSchema.name}"
5108
+ });
5109
+ }, 200);
5110
+ `;
5087
5111
 
5088
5112
  return {
5089
5113
  type: "service",
@@ -5107,6 +5131,17 @@ const getSchema$4 = async (uiSchema, ctx) => {
5107
5131
  closeOnOutside: false,
5108
5132
  showCloseButton: true,
5109
5133
  size: "lg",
5134
+ "onEvent": {
5135
+ "cancel": {
5136
+ "actions": [
5137
+ {
5138
+ "actionType": "custom",
5139
+ "script": onDialogCancelScript,
5140
+ "expression": "${window:innerWidth < 768}",
5141
+ }
5142
+ ]
5143
+ }
5144
+ },
5110
5145
  },
5111
5146
  },
5112
5147
  ],
@@ -5403,6 +5438,7 @@ const getSchema$2 = (uiSchema) => {
5403
5438
  label: instance.t('frontend_import_data_file'),
5404
5439
  required: true,
5405
5440
  type: "input-file",
5441
+ accept: ".xlsx,.xls",
5406
5442
  className: "m-1",
5407
5443
  labelClassName: "text-left",
5408
5444
  clearValueOnHidden: true,
@@ -6067,6 +6103,7 @@ const getObjectDetailButtonsSchemas = (objectSchema, recordId, ctx)=>{
6067
6103
  "drawer": {
6068
6104
  "type": "drawer",
6069
6105
  "title": "操作",
6106
+ "id": "object_actions_drawer_" + objectSchema.name,
6070
6107
  "body": [
6071
6108
  {
6072
6109
  "type": "button-group",
@@ -6089,7 +6126,6 @@ const getObjectDetailButtonsSchemas = (objectSchema, recordId, ctx)=>{
6089
6126
  "size": "lg"
6090
6127
  }
6091
6128
  ],
6092
- "id": "u:9815f7366b9f",
6093
6129
  "position": "bottom",
6094
6130
  "closeOnOutside": true,
6095
6131
  "resizable": false,
@@ -6100,8 +6136,7 @@ const getObjectDetailButtonsSchemas = (objectSchema, recordId, ctx)=>{
6100
6136
  }
6101
6137
  ]
6102
6138
  }
6103
- },
6104
- "id": "u:ee7c7929e6ae"
6139
+ }
6105
6140
  }
6106
6141
  }else {
6107
6142
  if(moreButtons.length > 0){
@@ -6133,6 +6168,7 @@ const getObjectListViewButtonsSchemas = (objectSchema, ctx)=>{
6133
6168
  "drawer": {
6134
6169
  "type": "drawer",
6135
6170
  "title": "操作",
6171
+ "id": "object_actions_drawer_" + objectSchema.name,
6136
6172
  "body": [
6137
6173
  {
6138
6174
  "type": "button-group",
@@ -6156,7 +6192,6 @@ const getObjectListViewButtonsSchemas = (objectSchema, ctx)=>{
6156
6192
  "size": "lg"
6157
6193
  }
6158
6194
  ],
6159
- "id": "u:9815f7366b9f",
6160
6195
  "position": "bottom",
6161
6196
  "closeOnOutside": true,
6162
6197
  "resizable": false,
@@ -6167,8 +6202,7 @@ const getObjectListViewButtonsSchemas = (objectSchema, ctx)=>{
6167
6202
  }
6168
6203
  ]
6169
6204
  }
6170
- },
6171
- "id": "u:ee7c7929e6ae"
6205
+ }
6172
6206
  }
6173
6207
  }else {
6174
6208
  return ___default__default.map(buttons, (button) => {
@@ -6197,6 +6231,7 @@ const getObjectRecordDetailRelatedListButtonsSchemas = (objectSchema, ctx)=>{
6197
6231
  "drawer": {
6198
6232
  "type": "drawer",
6199
6233
  "title": "操作",
6234
+ "id": "object_actions_drawer_" + objectSchema.name,
6200
6235
  "body": [
6201
6236
  {
6202
6237
  "type": "button-group",
@@ -8773,6 +8808,8 @@ async function lookupToAmisPicker(field, readonly, ctx){
8773
8808
  const fieldsArr = [];
8774
8809
 
8775
8810
  const listName = "all";
8811
+
8812
+ const isMobile = window.innerWidth < 768;
8776
8813
 
8777
8814
  const listView = ___default.find(
8778
8815
  refObjectConfig.list_views,
@@ -8849,6 +8886,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
8849
8886
 
8850
8887
  source.data.$term = "$term";
8851
8888
  source.data.$self = "$$";
8889
+
8852
8890
 
8853
8891
  source.requestAdaptor = `
8854
8892
  const selfData = JSON.parse(JSON.stringify(api.data.$self));
@@ -8884,6 +8922,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
8884
8922
  }
8885
8923
  }
8886
8924
 
8925
+
8887
8926
  if(allowSearchFields){
8888
8927
  allowSearchFields.forEach(function(key){
8889
8928
  const keyValue = selfData[key];
@@ -8999,7 +9038,6 @@ async function lookupToAmisPicker(field, readonly, ctx){
8999
9038
  pickerSchema.affixHeader = false;
9000
9039
 
9001
9040
  var headerToolbarItems = [];
9002
- const isMobile = window.innerWidth < 768;
9003
9041
  if(referenceTo.objectName === "space_users" && field.reference_to_field === "user" && !isMobile){
9004
9042
  headerToolbarItems = getLookupSapceUserTreeSchema();
9005
9043
  pickerSchema["style"] = {
@@ -9080,7 +9118,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
9080
9118
  }
9081
9119
 
9082
9120
  const ctx = ${JSON.stringify(ctx)};
9083
- const componentId = ctx.defaults.formSchema.id ? 'service-'+ctx.defaults.formSchema.id : 'new-'+ctx.defaults.formSchema.objectApiName;
9121
+ const componentId = ctx.defaults.formSchema.id;
9084
9122
  doAction({
9085
9123
  actionType: 'setValue',
9086
9124
  componentId: componentId,
@@ -9334,6 +9372,11 @@ async function lookupToAmis(field, readonly, ctx){
9334
9372
  // ids人员点选模式
9335
9373
  return await lookupToAmisIdsPicker(field, readonly, ctx);
9336
9374
  }
9375
+ if(!field.filters || field.filters.length == 0){
9376
+ field.filters = [["user_accepted", "=", true]];
9377
+ }else {
9378
+ field.filters = [ ["user_accepted", "=", true], "and", field.filters ];
9379
+ }
9337
9380
  // 左侧树右侧人员列表的下拉框模式,不再支持,而是执行下面的lookupToAmisPicker函数弹出选人窗口
9338
9381
  // return await lookupToAmisSelectUser(field, readonly, ctx);
9339
9382
  }
@@ -9474,7 +9517,7 @@ async function getIdsPickerSchema(field, readonly, ctx){
9474
9517
  * @Author: baozhoutao@steedos.com
9475
9518
  * @Date: 2023-01-13 17:27:54
9476
9519
  * @LastEditors: liaodaxue
9477
- * @LastEditTime: 2023-06-16 15:58:21
9520
+ * @LastEditTime: 2023-06-30 10:29:52
9478
9521
  * @Description:
9479
9522
  */
9480
9523
 
@@ -9482,12 +9525,16 @@ async function getIdsPickerSchema(field, readonly, ctx){
9482
9525
  const getMarkdownFieldSchema = (field, readonly, ctx)=>{
9483
9526
  if(readonly){
9484
9527
  return {
9485
- "type": "markdown",
9486
- "name": field.name,
9487
- "options": {
9488
- "linkify": true,
9489
- "html": true,
9490
- "breaks": true
9528
+ "type": "control",
9529
+ "label": field.label,
9530
+ "body": {
9531
+ "type": "markdown",
9532
+ "name": field.name,
9533
+ "options": {
9534
+ "linkify": true,
9535
+ "html": true,
9536
+ "breaks": true
9537
+ }
9491
9538
  }
9492
9539
  }
9493
9540
  }else {
@@ -10568,6 +10615,7 @@ async function getQuickEditSchema(field, options){
10568
10615
  async function getTableColumns$1(fields, options){
10569
10616
  const columns = [{name: '_index',type: 'text', width: 32, placeholder: ""}];
10570
10617
  const allowEdit = options.permissions?.allowEdit && options.permissions?.modifyAllRecords && !options.isLookup && options.enable_inline_edit != false;
10618
+ const defaultWidth = "unset";//用于使table内的td标签下生成div,实现将快速编辑按钮固定在右侧的效果,并不是为了unset效果
10571
10619
  for (const field of fields) {
10572
10620
  //增加quickEdit属性,实现快速编辑
10573
10621
  const quickEditSchema = allowEdit ? await getQuickEditSchema(field, options) : allowEdit;
@@ -10624,7 +10672,7 @@ async function getTableColumns$1(fields, options){
10624
10672
  type: "switch",
10625
10673
  name: field.name,
10626
10674
  label: field.label,
10627
- width: field.width,
10675
+ width: field.width || defaultWidth,
10628
10676
  toggled: field.toggled,
10629
10677
  quickEdit: quickEditSchema,
10630
10678
  className:"whitespace-nowrap",
@@ -10639,7 +10687,7 @@ async function getTableColumns$1(fields, options){
10639
10687
  label: field.label,
10640
10688
  map: map,
10641
10689
  sortable: field.sortable,
10642
- width: field.width,
10690
+ width: field.width || defaultWidth,
10643
10691
  toggled: field.toggled,
10644
10692
  className:"whitespace-nowrap",
10645
10693
  quickEdit: quickEditSchema
@@ -10668,7 +10716,7 @@ async function getTableColumns$1(fields, options){
10668
10716
  label: field.label,
10669
10717
  sortable: field.sortable,
10670
10718
  // searchable: field.searchable,
10671
- width: field.width,
10719
+ width: field.width || defaultWidth,
10672
10720
  type: type,
10673
10721
  tpl: tpl,
10674
10722
  toggled: field.toggled,
@@ -11075,6 +11123,7 @@ async function getTableApi(mainObject, fields, options){
11075
11123
  let valueField = mainObject.key_field || '_id';
11076
11124
  const api = await getApi(mainObject, null, fields, {count: options.queryCount, alias: 'rows', limit: top, queryOptions: `filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"`});
11077
11125
 
11126
+ api.url += "&objectName=${objectName}";//设计器上对象表格组件需要切换对象重新请求列表数据
11078
11127
  if(options.isRelated){
11079
11128
  api.url += "&recordId=${_master.recordId}";
11080
11129
  }
@@ -11404,12 +11453,18 @@ function getReadonlyFormAdaptor(object, fields, options){
11404
11453
  // }
11405
11454
  // })
11406
11455
 
11456
+ var fieldNames = ___default.map(fields, function(n){return n.name});
11407
11457
  return `
11408
11458
  if(payload.data.data.length === 0){
11409
11459
  var isEditor = !!${options && options.isEditor};
11410
11460
  if(isEditor){
11461
+ var fieldNames = ${JSON.stringify(fieldNames)};
11462
+ var emptyDoc = {};//这里如果不把每个字段值设置为空的话,表单上会显示上一次表单上的字段值
11463
+ fieldNames.forEach(function(n){
11464
+ emptyDoc[n] = null;
11465
+ });
11411
11466
  // 设计器中始终显示表单,有记录则显示第一条记录,没记录时显示为空表单
11412
- payload.data.data = [{}];
11467
+ payload.data.data = [emptyDoc];
11413
11468
  }
11414
11469
  else{
11415
11470
  return {
@@ -12213,8 +12268,8 @@ async function getObjectCalendar(objectSchema, calendarOptions, options) {
12213
12268
  /*
12214
12269
  * @Author: baozhoutao@steedos.com
12215
12270
  * @Date: 2022-05-26 16:02:08
12216
- * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
12217
- * @LastEditTime: 2023-06-04 15:49:23
12271
+ * @LastEditors: liaodaxue
12272
+ * @LastEditTime: 2023-06-29 17:27:19
12218
12273
  * @Description:
12219
12274
  */
12220
12275
 
@@ -12308,7 +12363,7 @@ const getSections = async (permissionFields, formFields, ctx) => {
12308
12363
  const section = await getSection(formFields, permissionFields, fieldSchemaArray, key, ctx);
12309
12364
  if (section.body.length > 0) {
12310
12365
  if (section.visibleOn) {
12311
- sectionVisibleOns.push(section.visibleOn);
12366
+ sectionVisibleOns.push("("+section.visibleOn+")");
12312
12367
  }
12313
12368
  else {
12314
12369
  sectionVisibleOns.push("true");
@@ -12646,8 +12701,12 @@ async function getObjectForm(objectSchema, ctx){
12646
12701
  if(___default__default.has(formSchema, 'className')){
12647
12702
  formSchema.className = 'steedos-amis-form';
12648
12703
  }
12704
+ if(!formSchema.id){
12705
+ formSchema.id = 'form_' + objectSchema.name;
12706
+ }
12649
12707
  const amisSchema = {
12650
12708
  type: 'service',
12709
+ id: `service_${formSchema.id}`,
12651
12710
  className: 'p-0',
12652
12711
  name: `page_edit_${recordId}`,
12653
12712
  api: await getEditFormInitApi(objectSchema, recordId, fields, ctx),
@@ -12718,11 +12777,6 @@ async function getObjectForm(objectSchema, ctx){
12718
12777
  }
12719
12778
  })]
12720
12779
  };
12721
- if(formSchema.id){
12722
- amisSchema.id = `service-${formSchema.id}`;
12723
- }else {
12724
- amisSchema.id = `new-${objectSchema.name}`;
12725
- }
12726
12780
  return amisSchema;
12727
12781
  }
12728
12782
 
@@ -16751,85 +16805,71 @@ var index_esm$1 = /*#__PURE__*/Object.freeze({
16751
16805
  });
16752
16806
 
16753
16807
  var getSchema = function (field, value, ctx) { return __awaiter(void 0, void 0, void 0, function () {
16754
- var refTo, leftName, options, refTo_1, refTo_1_1, item, refObject_1, e_1_1, refObject, rightSchema;
16755
- var e_1, _a;
16756
- return __generator(this, function (_b) {
16757
- switch (_b.label) {
16808
+ var refTo, leftName, refObject, rightSchema;
16809
+ return __generator(this, function (_a) {
16810
+ switch (_a.label) {
16758
16811
  case 0:
16759
16812
  refTo = field.reference_to;
16760
16813
  if (refTo && isFunction(refTo)) {
16761
16814
  refTo = refTo();
16762
16815
  }
16763
16816
  leftName = "".concat(field.name, "__left");
16764
- options = [];
16765
- _b.label = 1;
16766
- case 1:
16767
- _b.trys.push([1, 6, 7, 8]);
16768
- refTo_1 = __values(refTo), refTo_1_1 = refTo_1.next();
16769
- _b.label = 2;
16770
- case 2:
16771
- if (!!refTo_1_1.done) return [3 /*break*/, 5];
16772
- item = refTo_1_1.value;
16773
- return [4 /*yield*/, getUISchema(item, false)];
16774
- case 3:
16775
- refObject_1 = _b.sent();
16776
- options.push({
16777
- label: refObject_1.label,
16778
- value: item,
16779
- icon: refObject_1.icon
16780
- });
16781
- _b.label = 4;
16782
- case 4:
16783
- refTo_1_1 = refTo_1.next();
16784
- return [3 /*break*/, 2];
16785
- case 5: return [3 /*break*/, 8];
16786
- case 6:
16787
- e_1_1 = _b.sent();
16788
- e_1 = { error: e_1_1 };
16789
- return [3 /*break*/, 8];
16790
- case 7:
16791
- try {
16792
- if (refTo_1_1 && !refTo_1_1.done && (_a = refTo_1.return)) _a.call(refTo_1);
16793
- }
16794
- finally { if (e_1) throw e_1.error; }
16795
- return [7 /*endfinally*/];
16796
- case 8:
16817
+ // const options = [];
16818
+ // for (const item of refTo) {
16819
+ // const refObject = await getUISchema(item, false);
16820
+ // options.push({
16821
+ // label: refObject.label,
16822
+ // value: item,
16823
+ // icon: refObject.icon
16824
+ // });
16825
+ // }
16797
16826
  // console.log(`getSchema refTo`, refTo);
16798
16827
  // console.log(`getSchema options`, options);
16799
16828
  // console.log(`getSchema value=========>`, value);
16800
16829
  if (!value || !value.o) {
16801
16830
  value = {
16802
- o: options[0].value,
16831
+ o: refTo[0],
16803
16832
  ids: []
16804
16833
  };
16805
16834
  }
16806
16835
  return [4 /*yield*/, getUISchema(value.o, false)];
16807
- case 9:
16808
- refObject = _b.sent();
16836
+ case 1:
16837
+ refObject = _a.sent();
16809
16838
  rightSchema = null;
16810
- if (!(refObject.enable_enhanced_lookup == true)) return [3 /*break*/, 11];
16839
+ if (!(refObject.enable_enhanced_lookup == true)) return [3 /*break*/, 3];
16811
16840
  return [4 /*yield*/, lookupToAmisPicker(Object.assign({}, field, { reference_to: value.o }), false, ctx)];
16812
- case 10:
16813
- rightSchema = _b.sent();
16814
- return [3 /*break*/, 13];
16815
- case 11:
16841
+ case 2:
16842
+ rightSchema = _a.sent();
16843
+ return [3 /*break*/, 5];
16844
+ case 3:
16816
16845
  if (!ctx) {
16817
16846
  ctx = {};
16818
16847
  }
16819
16848
  ctx.isRefToMutiple = isArray(refTo);
16820
16849
  return [4 /*yield*/, lookupToAmisSelect(Object.assign({}, field, { reference_to: value.o }), false, ctx)];
16821
- case 12:
16822
- rightSchema = _b.sent();
16823
- _b.label = 13;
16824
- case 13: return [2 /*return*/, {
16850
+ case 4:
16851
+ rightSchema = _a.sent();
16852
+ _a.label = 5;
16853
+ case 5: return [2 /*return*/, {
16825
16854
  "type": "input-group",
16826
16855
  "label": false,
16827
16856
  "body": [
16828
16857
  {
16829
16858
  "type": "select",
16830
- "inputClassName": "select_left",
16859
+ "inputClassName": "lookup-left",
16831
16860
  "name": leftName,
16832
- "options": options,
16861
+ // "options": options,
16862
+ "source": {
16863
+ "method": "post",
16864
+ "url": "${context.rootUrl}/graphql",
16865
+ "data": {
16866
+ "query": "{options:objects(filters: {__filters}, top: {__top}, sort: \"{__sort}\"){_id label:label value:name icon},count:objects__count(filters:{__filters})}"
16867
+ },
16868
+ "headers": {
16869
+ "Authorization": "Bearer ${context.tenantId},${context.authToken}"
16870
+ },
16871
+ "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;"),
16872
+ },
16833
16873
  "value": "".concat(value.o)
16834
16874
  },
16835
16875
  Object.assign({}, rightSchema, {
@@ -17160,16 +17200,16 @@ var SteedosSkeleton = function (props) {
17160
17200
  };
17161
17201
 
17162
17202
  var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0, function () {
17163
- 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;
17164
- return __generator(this, function (_d) {
17165
- switch (_d.label) {
17203
+ 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;
17204
+ return __generator(this, function (_e) {
17205
+ switch (_e.label) {
17166
17206
  case 0:
17167
- $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;
17207
+ $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;
17168
17208
  objectApiName = props.objectApiName || "space_users";
17169
- schemaKeys = difference(keys($schema), ["type", "mode", "layout", "defaultData"]);
17209
+ schemaKeys = difference(keys($schema), ["id", "form", "type", "mode", "layout", "defaultData"]);
17170
17210
  formSchema = pick(props, schemaKeys);
17171
17211
  defaults = {
17172
- formSchema: formSchema
17212
+ formSchema: Object.assign({}, formSchema, form)
17173
17213
  };
17174
17214
  options = {
17175
17215
  recordId: recordId,
@@ -17199,7 +17239,7 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
17199
17239
  tabsMode: tabsMode
17200
17240
  }))];
17201
17241
  case 1:
17202
- schema = _d.sent();
17242
+ schema = _e.sent();
17203
17243
  amisSchema = schema.amisSchema;
17204
17244
  if (defaultData) {
17205
17245
  // 让ObjectForm支持props中的dafaultData属性与上层组件配置的defaultData混合
@@ -17221,10 +17261,10 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
17221
17261
  }
17222
17262
  return [4 /*yield*/, getViewSchema(objectApiName, recordId, options)];
17223
17263
  case 3:
17224
- schema = _d.sent();
17264
+ schema = _e.sent();
17225
17265
  amisSchema = schema.amisSchema;
17226
17266
  uiSchema = schema.uiSchema;
17227
- _d.label = 4;
17267
+ _e.label = 4;
17228
17268
  case 4:
17229
17269
  formData = {};
17230
17270
  // formData.recordId = recordId || null;
@@ -17245,12 +17285,12 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
17245
17285
  }); };
17246
17286
 
17247
17287
  var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, void 0, function () {
17248
- 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;
17249
- var _f;
17250
- return __generator(this, function (_g) {
17251
- switch (_g.label) {
17288
+ 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;
17289
+ var _g;
17290
+ return __generator(this, function (_h) {
17291
+ switch (_h.label) {
17252
17292
  case 0:
17253
- $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;
17293
+ $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;
17254
17294
  headerSchema = props.headerSchema;
17255
17295
  ctx = props.ctx;
17256
17296
  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);
@@ -17279,7 +17319,7 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
17279
17319
  }
17280
17320
  return [4 /*yield*/, getUISchema(objectApiName, false)];
17281
17321
  case 1:
17282
- uiSchema = _g.sent();
17322
+ uiSchema = _h.sent();
17283
17323
  listView = find(uiSchema.list_views, function (listView, name) {
17284
17324
  // 传入listViewName空值则取第一个
17285
17325
  if (!listName) {
@@ -17298,7 +17338,7 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
17298
17338
  }
17299
17339
  listName = listView.name;
17300
17340
  if (!(ctx && ctx.defaults)) {
17301
- schemaKeys = difference(keys($schema), ["type", "showHeader", "id"]);
17341
+ schemaKeys = difference(keys($schema), ["type", "showHeader", "id", "crud"]);
17302
17342
  listSchema = pick(props, schemaKeys);
17303
17343
  // className不传入crud组件,crud单独识别crudClassName属性
17304
17344
  listSchema.className = crudClassName;
@@ -17321,7 +17361,7 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
17321
17361
  ]
17322
17362
  };
17323
17363
  defaults = {
17324
- listSchema: listSchema
17364
+ listSchema: Object.assign({}, listSchema, crud)
17325
17365
  };
17326
17366
  }
17327
17367
  setDataToComponentId = ctx && ctx.setDataToComponentId;
@@ -17344,7 +17384,7 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
17344
17384
  if (!has(data, 'uiSchema')) {
17345
17385
  serviceData.uiSchema = uiSchema;
17346
17386
  }
17347
- serviceData.defaultListName = listName ? listName : (_f = first(values(uiSchema.list_views))) === null || _f === void 0 ? void 0 : _f.name;
17387
+ serviceData.defaultListName = listName ? listName : (_g = first(values(uiSchema.list_views))) === null || _g === void 0 ? void 0 : _g.name;
17348
17388
  // console.timeEnd('AmisObjectListView')
17349
17389
  // console.log('serviceData===>', serviceData)
17350
17390
  // console.log('headerSchema===>', headerSchema)
@@ -17374,7 +17414,8 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
17374
17414
  {
17375
17415
  "type": "service",
17376
17416
  "schemaApi": {
17377
- "url": "${context.rootUrl}/graphql?listName=${listName}&display=${display}",
17417
+ // 这里url上加objectApiName属性是因为设计器中切换对象时不会变更列表视图界面,不可以用objectName=${objectName}使用作用域中objectName变量是因为设计器那边不会监听识别data变化来render组件
17418
+ "url": "${context.rootUrl}/graphql?objectName=" + objectApiName + "&listName=${listName}&display=${display}",
17378
17419
  "method": "post",
17379
17420
  "messages": {},
17380
17421
  "headers": {
@@ -17424,13 +17465,13 @@ function getTableColumns(columns, includedFields, fieldsExtend) {
17424
17465
  return tableColumns;
17425
17466
  }
17426
17467
  var AmisObjectTable = function (props) { return __awaiter(void 0, void 0, void 0, function () {
17427
- 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;
17428
- return __generator(this, function (_d) {
17429
- switch (_d.label) {
17468
+ 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;
17469
+ return __generator(this, function (_e) {
17470
+ switch (_e.label) {
17430
17471
  case 0:
17431
17472
  // console.time('AmisObjectTable')
17432
17473
  console.log("AmisObjectTable props", props);
17433
- $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;
17474
+ $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;
17434
17475
  ctx = props.ctx;
17435
17476
  if (!ctx) {
17436
17477
  ctx = {};
@@ -17442,12 +17483,12 @@ var AmisObjectTable = function (props) { return __awaiter(void 0, void 0, void 0
17442
17483
  defaults = {};
17443
17484
  objectApiName = props.objectApiName || "space_users";
17444
17485
  if (!(ctx && ctx.defaults)) {
17445
- schemaKeys = difference(keys($schema), ["type", "objectApiName", "columns", "extraColumns", "id"]);
17486
+ schemaKeys = difference(keys($schema), ["type", "objectApiName", "columns", "extraColumns", "id", "crud"]);
17446
17487
  listSchema = pick(props, schemaKeys);
17447
17488
  // className不传入crud组件,crud单独识别crudClassName属性
17448
17489
  listSchema.className = "";
17449
17490
  defaults = {
17450
- listSchema: listSchema
17491
+ listSchema: Object.assign({}, listSchema, crud)
17451
17492
  };
17452
17493
  }
17453
17494
  // 支持通过直接定义headerSchema属性来定制表头,而不一定要通过ctx.defaults.headerSchema传入
@@ -17466,9 +17507,13 @@ var AmisObjectTable = function (props) { return __awaiter(void 0, void 0, void 0
17466
17507
  ctx = pickBy(ctx, function (value) { return value !== undefined; });
17467
17508
  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 }))];
17468
17509
  case 1:
17469
- amisSchema = (_d.sent()).amisSchema;
17510
+ amisSchema = (_e.sent()).amisSchema;
17470
17511
  amisSchema.data = Object.assign({}, amisSchema.data, amisSchemaData);
17512
+ if (has(props, 'objectApiName')) {
17513
+ amisSchema.data.objectName = objectApiName;
17514
+ }
17471
17515
  amisSchema.className = "steedos-object-table h-full flex flex-col ".concat(className);
17516
+ amisSchema.objectApiName = objectApiName; //设计器中切换对象时画布中显示的列未同步变更
17472
17517
  // console.log(`AmisObjectTable===>amisSchema`, amisSchema)
17473
17518
  // console.timeEnd('AmisObjectTable')
17474
17519
  return [2 /*return*/, amisSchema];