@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.
@@ -108,18 +108,6 @@ function __generator(thisArg, body) {
108
108
  }
109
109
  }
110
110
 
111
- function __values(o) {
112
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
113
- if (m) return m.call(o);
114
- if (o && typeof o.length === "number") return {
115
- next: function () {
116
- if (o && i >= o.length) o = void 0;
117
- return { value: o && o[i++], done: !o };
118
- }
119
- };
120
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
121
- }
122
-
123
111
  function __read(o, n) {
124
112
  var m = typeof Symbol === "function" && o[Symbol.iterator];
125
113
  if (!m) return o;
@@ -3828,6 +3816,10 @@ async function getFieldsTemplate(fields, expand){
3828
3816
  if(___default.includes(['percent','time','filesize','date','datetime','boolean','number','currency', 'select', 'file', 'image', 'avatar', 'formula', 'summary', 'object', 'grid'], field.type)){
3829
3817
  displayFields.push(`${field.name}`);
3830
3818
  }
3819
+ }else {
3820
+ objectFieldName = field.name.split('.')[0];
3821
+ fieldsName.push(objectFieldName);
3822
+ displayFields.push(objectFieldName);
3831
3823
  }
3832
3824
  }
3833
3825
 
@@ -4908,8 +4900,8 @@ instance
4908
4900
  /*
4909
4901
  * @Author: baozhoutao@steedos.com
4910
4902
  * @Date: 2022-11-01 15:51:00
4911
- * @LastEditors: liaodaxue
4912
- * @LastEditTime: 2023-06-06 11:12:33
4903
+ * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
4904
+ * @LastEditTime: 2023-06-28 23:19:41
4913
4905
  * @Description:
4914
4906
  */
4915
4907
 
@@ -4961,6 +4953,16 @@ const getSchema$5 = async (uiSchema, ctx) => {
4961
4953
  data: formSchema
4962
4954
  };
4963
4955
  `;
4956
+ const onDialogCancelScript = `
4957
+ // 这里加setTimeout是因为amis的Bug,它会先触发cancel事件执行此脚本关闭父窗口然后再关闭子窗口
4958
+ // 正确的顺序应该是先关闭子窗口再关闭父窗口,顺序错了会造成第二次点击新建按钮的时候异常
4959
+ setTimeout(function(){
4960
+ doAction({
4961
+ "actionType": "cancel",
4962
+ "componentId": "object_actions_drawer_${uiSchema.name}"
4963
+ });
4964
+ }, 200);
4965
+ `;
4964
4966
  return {
4965
4967
  "type": "service",
4966
4968
  "body": [
@@ -5021,6 +5023,17 @@ const getSchema$5 = async (uiSchema, ctx) => {
5021
5023
  "closeOnEsc": false,
5022
5024
  "closeOnOutside": false,
5023
5025
  "size": "lg",
5026
+ "onEvent": {
5027
+ "cancel": {
5028
+ "actions": [
5029
+ {
5030
+ "actionType": "custom",
5031
+ "script": onDialogCancelScript,
5032
+ "expression": "${window:innerWidth < 768}",
5033
+ }
5034
+ ]
5035
+ }
5036
+ },
5024
5037
  "actions": [
5025
5038
  {
5026
5039
  type: 'button',
@@ -5083,7 +5096,7 @@ async function getPage({type, pageId = '', appId, objectName = '', recordId = ''
5083
5096
  * @Author: baozhoutao@steedos.com
5084
5097
  * @Date: 2022-11-01 15:49:58
5085
5098
  * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
5086
- * @LastEditTime: 2023-03-27 11:36:49
5099
+ * @LastEditTime: 2023-06-28 23:22:31
5087
5100
  * @Description:
5088
5101
  */
5089
5102
 
@@ -5112,6 +5125,17 @@ const getSchema$4 = async (uiSchema, ctx) => {
5112
5125
  ? JSON.parse(page.schema)
5113
5126
  : page.schema;
5114
5127
  }
5128
+
5129
+ const onDialogCancelScript = `
5130
+ // 这里加setTimeout是因为amis的Bug,它会先触发cancel事件执行此脚本关闭父窗口然后再关闭子窗口
5131
+ // 正确的顺序应该是先关闭子窗口再关闭父窗口,顺序错了会造成第二次点击编辑按钮的时候异常
5132
+ setTimeout(function(){
5133
+ doAction({
5134
+ "actionType": "cancel",
5135
+ "componentId": "object_actions_drawer_${uiSchema.name}"
5136
+ });
5137
+ }, 200);
5138
+ `;
5115
5139
 
5116
5140
  return {
5117
5141
  type: "service",
@@ -5135,6 +5159,17 @@ const getSchema$4 = async (uiSchema, ctx) => {
5135
5159
  closeOnOutside: false,
5136
5160
  showCloseButton: true,
5137
5161
  size: "lg",
5162
+ "onEvent": {
5163
+ "cancel": {
5164
+ "actions": [
5165
+ {
5166
+ "actionType": "custom",
5167
+ "script": onDialogCancelScript,
5168
+ "expression": "${window:innerWidth < 768}",
5169
+ }
5170
+ ]
5171
+ }
5172
+ },
5138
5173
  },
5139
5174
  },
5140
5175
  ],
@@ -5431,6 +5466,7 @@ const getSchema$2 = (uiSchema) => {
5431
5466
  label: instance.t('frontend_import_data_file'),
5432
5467
  required: true,
5433
5468
  type: "input-file",
5469
+ accept: ".xlsx,.xls",
5434
5470
  className: "m-1",
5435
5471
  labelClassName: "text-left",
5436
5472
  clearValueOnHidden: true,
@@ -6095,6 +6131,7 @@ const getObjectDetailButtonsSchemas = (objectSchema, recordId, ctx)=>{
6095
6131
  "drawer": {
6096
6132
  "type": "drawer",
6097
6133
  "title": "操作",
6134
+ "id": "object_actions_drawer_" + objectSchema.name,
6098
6135
  "body": [
6099
6136
  {
6100
6137
  "type": "button-group",
@@ -6117,7 +6154,6 @@ const getObjectDetailButtonsSchemas = (objectSchema, recordId, ctx)=>{
6117
6154
  "size": "lg"
6118
6155
  }
6119
6156
  ],
6120
- "id": "u:9815f7366b9f",
6121
6157
  "position": "bottom",
6122
6158
  "closeOnOutside": true,
6123
6159
  "resizable": false,
@@ -6128,8 +6164,7 @@ const getObjectDetailButtonsSchemas = (objectSchema, recordId, ctx)=>{
6128
6164
  }
6129
6165
  ]
6130
6166
  }
6131
- },
6132
- "id": "u:ee7c7929e6ae"
6167
+ }
6133
6168
  }
6134
6169
  }else {
6135
6170
  if(moreButtons.length > 0){
@@ -6161,6 +6196,7 @@ const getObjectListViewButtonsSchemas = (objectSchema, ctx)=>{
6161
6196
  "drawer": {
6162
6197
  "type": "drawer",
6163
6198
  "title": "操作",
6199
+ "id": "object_actions_drawer_" + objectSchema.name,
6164
6200
  "body": [
6165
6201
  {
6166
6202
  "type": "button-group",
@@ -6184,7 +6220,6 @@ const getObjectListViewButtonsSchemas = (objectSchema, ctx)=>{
6184
6220
  "size": "lg"
6185
6221
  }
6186
6222
  ],
6187
- "id": "u:9815f7366b9f",
6188
6223
  "position": "bottom",
6189
6224
  "closeOnOutside": true,
6190
6225
  "resizable": false,
@@ -6195,8 +6230,7 @@ const getObjectListViewButtonsSchemas = (objectSchema, ctx)=>{
6195
6230
  }
6196
6231
  ]
6197
6232
  }
6198
- },
6199
- "id": "u:ee7c7929e6ae"
6233
+ }
6200
6234
  }
6201
6235
  }else {
6202
6236
  return ___default__default["default"].map(buttons, (button) => {
@@ -6225,6 +6259,7 @@ const getObjectRecordDetailRelatedListButtonsSchemas = (objectSchema, ctx)=>{
6225
6259
  "drawer": {
6226
6260
  "type": "drawer",
6227
6261
  "title": "操作",
6262
+ "id": "object_actions_drawer_" + objectSchema.name,
6228
6263
  "body": [
6229
6264
  {
6230
6265
  "type": "button-group",
@@ -8801,6 +8836,8 @@ async function lookupToAmisPicker(field, readonly, ctx){
8801
8836
  const fieldsArr = [];
8802
8837
 
8803
8838
  const listName = "all";
8839
+
8840
+ const isMobile = window.innerWidth < 768;
8804
8841
 
8805
8842
  const listView = ___default__namespace.find(
8806
8843
  refObjectConfig.list_views,
@@ -8877,6 +8914,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
8877
8914
 
8878
8915
  source.data.$term = "$term";
8879
8916
  source.data.$self = "$$";
8917
+
8880
8918
 
8881
8919
  source.requestAdaptor = `
8882
8920
  const selfData = JSON.parse(JSON.stringify(api.data.$self));
@@ -8912,6 +8950,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
8912
8950
  }
8913
8951
  }
8914
8952
 
8953
+
8915
8954
  if(allowSearchFields){
8916
8955
  allowSearchFields.forEach(function(key){
8917
8956
  const keyValue = selfData[key];
@@ -9027,7 +9066,6 @@ async function lookupToAmisPicker(field, readonly, ctx){
9027
9066
  pickerSchema.affixHeader = false;
9028
9067
 
9029
9068
  var headerToolbarItems = [];
9030
- const isMobile = window.innerWidth < 768;
9031
9069
  if(referenceTo.objectName === "space_users" && field.reference_to_field === "user" && !isMobile){
9032
9070
  headerToolbarItems = getLookupSapceUserTreeSchema();
9033
9071
  pickerSchema["style"] = {
@@ -9108,7 +9146,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
9108
9146
  }
9109
9147
 
9110
9148
  const ctx = ${JSON.stringify(ctx)};
9111
- const componentId = ctx.defaults.formSchema.id ? 'service-'+ctx.defaults.formSchema.id : 'new-'+ctx.defaults.formSchema.objectApiName;
9149
+ const componentId = ctx.defaults.formSchema.id;
9112
9150
  doAction({
9113
9151
  actionType: 'setValue',
9114
9152
  componentId: componentId,
@@ -9362,6 +9400,11 @@ async function lookupToAmis(field, readonly, ctx){
9362
9400
  // ids人员点选模式
9363
9401
  return await lookupToAmisIdsPicker(field, readonly, ctx);
9364
9402
  }
9403
+ if(!field.filters || field.filters.length == 0){
9404
+ field.filters = [["user_accepted", "=", true]];
9405
+ }else {
9406
+ field.filters = [ ["user_accepted", "=", true], "and", field.filters ];
9407
+ }
9365
9408
  // 左侧树右侧人员列表的下拉框模式,不再支持,而是执行下面的lookupToAmisPicker函数弹出选人窗口
9366
9409
  // return await lookupToAmisSelectUser(field, readonly, ctx);
9367
9410
  }
@@ -9502,7 +9545,7 @@ async function getIdsPickerSchema(field, readonly, ctx){
9502
9545
  * @Author: baozhoutao@steedos.com
9503
9546
  * @Date: 2023-01-13 17:27:54
9504
9547
  * @LastEditors: liaodaxue
9505
- * @LastEditTime: 2023-06-16 15:58:21
9548
+ * @LastEditTime: 2023-06-30 10:29:52
9506
9549
  * @Description:
9507
9550
  */
9508
9551
 
@@ -9510,12 +9553,16 @@ async function getIdsPickerSchema(field, readonly, ctx){
9510
9553
  const getMarkdownFieldSchema = (field, readonly, ctx)=>{
9511
9554
  if(readonly){
9512
9555
  return {
9513
- "type": "markdown",
9514
- "name": field.name,
9515
- "options": {
9516
- "linkify": true,
9517
- "html": true,
9518
- "breaks": true
9556
+ "type": "control",
9557
+ "label": field.label,
9558
+ "body": {
9559
+ "type": "markdown",
9560
+ "name": field.name,
9561
+ "options": {
9562
+ "linkify": true,
9563
+ "html": true,
9564
+ "breaks": true
9565
+ }
9519
9566
  }
9520
9567
  }
9521
9568
  }else {
@@ -10596,6 +10643,7 @@ async function getQuickEditSchema(field, options){
10596
10643
  async function getTableColumns$1(fields, options){
10597
10644
  const columns = [{name: '_index',type: 'text', width: 32, placeholder: ""}];
10598
10645
  const allowEdit = options.permissions?.allowEdit && options.permissions?.modifyAllRecords && !options.isLookup && options.enable_inline_edit != false;
10646
+ const defaultWidth = "unset";//用于使table内的td标签下生成div,实现将快速编辑按钮固定在右侧的效果,并不是为了unset效果
10599
10647
  for (const field of fields) {
10600
10648
  //增加quickEdit属性,实现快速编辑
10601
10649
  const quickEditSchema = allowEdit ? await getQuickEditSchema(field, options) : allowEdit;
@@ -10652,7 +10700,7 @@ async function getTableColumns$1(fields, options){
10652
10700
  type: "switch",
10653
10701
  name: field.name,
10654
10702
  label: field.label,
10655
- width: field.width,
10703
+ width: field.width || defaultWidth,
10656
10704
  toggled: field.toggled,
10657
10705
  quickEdit: quickEditSchema,
10658
10706
  className:"whitespace-nowrap",
@@ -10667,7 +10715,7 @@ async function getTableColumns$1(fields, options){
10667
10715
  label: field.label,
10668
10716
  map: map,
10669
10717
  sortable: field.sortable,
10670
- width: field.width,
10718
+ width: field.width || defaultWidth,
10671
10719
  toggled: field.toggled,
10672
10720
  className:"whitespace-nowrap",
10673
10721
  quickEdit: quickEditSchema
@@ -10696,7 +10744,7 @@ async function getTableColumns$1(fields, options){
10696
10744
  label: field.label,
10697
10745
  sortable: field.sortable,
10698
10746
  // searchable: field.searchable,
10699
- width: field.width,
10747
+ width: field.width || defaultWidth,
10700
10748
  type: type,
10701
10749
  tpl: tpl,
10702
10750
  toggled: field.toggled,
@@ -11103,6 +11151,7 @@ async function getTableApi(mainObject, fields, options){
11103
11151
  let valueField = mainObject.key_field || '_id';
11104
11152
  const api = await getApi(mainObject, null, fields, {count: options.queryCount, alias: 'rows', limit: top, queryOptions: `filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"`});
11105
11153
 
11154
+ api.url += "&objectName=${objectName}";//设计器上对象表格组件需要切换对象重新请求列表数据
11106
11155
  if(options.isRelated){
11107
11156
  api.url += "&recordId=${_master.recordId}";
11108
11157
  }
@@ -11432,12 +11481,18 @@ function getReadonlyFormAdaptor(object, fields, options){
11432
11481
  // }
11433
11482
  // })
11434
11483
 
11484
+ var fieldNames = ___default__namespace.map(fields, function(n){return n.name});
11435
11485
  return `
11436
11486
  if(payload.data.data.length === 0){
11437
11487
  var isEditor = !!${options && options.isEditor};
11438
11488
  if(isEditor){
11489
+ var fieldNames = ${JSON.stringify(fieldNames)};
11490
+ var emptyDoc = {};//这里如果不把每个字段值设置为空的话,表单上会显示上一次表单上的字段值
11491
+ fieldNames.forEach(function(n){
11492
+ emptyDoc[n] = null;
11493
+ });
11439
11494
  // 设计器中始终显示表单,有记录则显示第一条记录,没记录时显示为空表单
11440
- payload.data.data = [{}];
11495
+ payload.data.data = [emptyDoc];
11441
11496
  }
11442
11497
  else{
11443
11498
  return {
@@ -12241,8 +12296,8 @@ async function getObjectCalendar(objectSchema, calendarOptions, options) {
12241
12296
  /*
12242
12297
  * @Author: baozhoutao@steedos.com
12243
12298
  * @Date: 2022-05-26 16:02:08
12244
- * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
12245
- * @LastEditTime: 2023-06-04 15:49:23
12299
+ * @LastEditors: liaodaxue
12300
+ * @LastEditTime: 2023-06-29 17:27:19
12246
12301
  * @Description:
12247
12302
  */
12248
12303
 
@@ -12336,7 +12391,7 @@ const getSections = async (permissionFields, formFields, ctx) => {
12336
12391
  const section = await getSection(formFields, permissionFields, fieldSchemaArray, key, ctx);
12337
12392
  if (section.body.length > 0) {
12338
12393
  if (section.visibleOn) {
12339
- sectionVisibleOns.push(section.visibleOn);
12394
+ sectionVisibleOns.push("("+section.visibleOn+")");
12340
12395
  }
12341
12396
  else {
12342
12397
  sectionVisibleOns.push("true");
@@ -12674,8 +12729,12 @@ async function getObjectForm(objectSchema, ctx){
12674
12729
  if(___default__default["default"].has(formSchema, 'className')){
12675
12730
  formSchema.className = 'steedos-amis-form';
12676
12731
  }
12732
+ if(!formSchema.id){
12733
+ formSchema.id = 'form_' + objectSchema.name;
12734
+ }
12677
12735
  const amisSchema = {
12678
12736
  type: 'service',
12737
+ id: `service_${formSchema.id}`,
12679
12738
  className: 'p-0',
12680
12739
  name: `page_edit_${recordId}`,
12681
12740
  api: await getEditFormInitApi(objectSchema, recordId, fields, ctx),
@@ -12746,11 +12805,6 @@ async function getObjectForm(objectSchema, ctx){
12746
12805
  }
12747
12806
  })]
12748
12807
  };
12749
- if(formSchema.id){
12750
- amisSchema.id = `service-${formSchema.id}`;
12751
- }else {
12752
- amisSchema.id = `new-${objectSchema.name}`;
12753
- }
12754
12808
  return amisSchema;
12755
12809
  }
12756
12810
 
@@ -16779,85 +16833,71 @@ var index_esm$1 = /*#__PURE__*/Object.freeze({
16779
16833
  });
16780
16834
 
16781
16835
  var getSchema = function (field, value, ctx) { return __awaiter(void 0, void 0, void 0, function () {
16782
- var refTo, leftName, options, refTo_1, refTo_1_1, item, refObject_1, e_1_1, refObject, rightSchema;
16783
- var e_1, _a;
16784
- return __generator(this, function (_b) {
16785
- switch (_b.label) {
16836
+ var refTo, leftName, refObject, rightSchema;
16837
+ return __generator(this, function (_a) {
16838
+ switch (_a.label) {
16786
16839
  case 0:
16787
16840
  refTo = field.reference_to;
16788
16841
  if (refTo && ___default.isFunction(refTo)) {
16789
16842
  refTo = refTo();
16790
16843
  }
16791
16844
  leftName = "".concat(field.name, "__left");
16792
- options = [];
16793
- _b.label = 1;
16794
- case 1:
16795
- _b.trys.push([1, 6, 7, 8]);
16796
- refTo_1 = __values(refTo), refTo_1_1 = refTo_1.next();
16797
- _b.label = 2;
16798
- case 2:
16799
- if (!!refTo_1_1.done) return [3 /*break*/, 5];
16800
- item = refTo_1_1.value;
16801
- return [4 /*yield*/, getUISchema(item, false)];
16802
- case 3:
16803
- refObject_1 = _b.sent();
16804
- options.push({
16805
- label: refObject_1.label,
16806
- value: item,
16807
- icon: refObject_1.icon
16808
- });
16809
- _b.label = 4;
16810
- case 4:
16811
- refTo_1_1 = refTo_1.next();
16812
- return [3 /*break*/, 2];
16813
- case 5: return [3 /*break*/, 8];
16814
- case 6:
16815
- e_1_1 = _b.sent();
16816
- e_1 = { error: e_1_1 };
16817
- return [3 /*break*/, 8];
16818
- case 7:
16819
- try {
16820
- if (refTo_1_1 && !refTo_1_1.done && (_a = refTo_1.return)) _a.call(refTo_1);
16821
- }
16822
- finally { if (e_1) throw e_1.error; }
16823
- return [7 /*endfinally*/];
16824
- case 8:
16845
+ // const options = [];
16846
+ // for (const item of refTo) {
16847
+ // const refObject = await getUISchema(item, false);
16848
+ // options.push({
16849
+ // label: refObject.label,
16850
+ // value: item,
16851
+ // icon: refObject.icon
16852
+ // });
16853
+ // }
16825
16854
  // console.log(`getSchema refTo`, refTo);
16826
16855
  // console.log(`getSchema options`, options);
16827
16856
  // console.log(`getSchema value=========>`, value);
16828
16857
  if (!value || !value.o) {
16829
16858
  value = {
16830
- o: options[0].value,
16859
+ o: refTo[0],
16831
16860
  ids: []
16832
16861
  };
16833
16862
  }
16834
16863
  return [4 /*yield*/, getUISchema(value.o, false)];
16835
- case 9:
16836
- refObject = _b.sent();
16864
+ case 1:
16865
+ refObject = _a.sent();
16837
16866
  rightSchema = null;
16838
- if (!(refObject.enable_enhanced_lookup == true)) return [3 /*break*/, 11];
16867
+ if (!(refObject.enable_enhanced_lookup == true)) return [3 /*break*/, 3];
16839
16868
  return [4 /*yield*/, lookupToAmisPicker(Object.assign({}, field, { reference_to: value.o }), false, ctx)];
16840
- case 10:
16841
- rightSchema = _b.sent();
16842
- return [3 /*break*/, 13];
16843
- case 11:
16869
+ case 2:
16870
+ rightSchema = _a.sent();
16871
+ return [3 /*break*/, 5];
16872
+ case 3:
16844
16873
  if (!ctx) {
16845
16874
  ctx = {};
16846
16875
  }
16847
16876
  ctx.isRefToMutiple = ___default.isArray(refTo);
16848
16877
  return [4 /*yield*/, lookupToAmisSelect(Object.assign({}, field, { reference_to: value.o }), false, ctx)];
16849
- case 12:
16850
- rightSchema = _b.sent();
16851
- _b.label = 13;
16852
- case 13: return [2 /*return*/, {
16878
+ case 4:
16879
+ rightSchema = _a.sent();
16880
+ _a.label = 5;
16881
+ case 5: return [2 /*return*/, {
16853
16882
  "type": "input-group",
16854
16883
  "label": false,
16855
16884
  "body": [
16856
16885
  {
16857
16886
  "type": "select",
16858
- "inputClassName": "select_left",
16887
+ "inputClassName": "lookup-left",
16859
16888
  "name": leftName,
16860
- "options": options,
16889
+ // "options": options,
16890
+ "source": {
16891
+ "method": "post",
16892
+ "url": "${context.rootUrl}/graphql",
16893
+ "data": {
16894
+ "query": "{options:objects(filters: {__filters}, top: {__top}, sort: \"{__sort}\"){_id label:label value:name icon},count:objects__count(filters:{__filters})}"
16895
+ },
16896
+ "headers": {
16897
+ "Authorization": "Bearer ${context.tenantId},${context.authToken}"
16898
+ },
16899
+ "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;"),
16900
+ },
16861
16901
  "value": "".concat(value.o)
16862
16902
  },
16863
16903
  Object.assign({}, rightSchema, {
@@ -17188,16 +17228,16 @@ var SteedosSkeleton = function (props) {
17188
17228
  };
17189
17229
 
17190
17230
  var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0, function () {
17191
- 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;
17192
- return __generator(this, function (_d) {
17193
- switch (_d.label) {
17231
+ 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;
17232
+ return __generator(this, function (_e) {
17233
+ switch (_e.label) {
17194
17234
  case 0:
17195
- $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;
17235
+ $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;
17196
17236
  objectApiName = props.objectApiName || "space_users";
17197
- schemaKeys = ___default.difference(___default.keys($schema), ["type", "mode", "layout", "defaultData"]);
17237
+ schemaKeys = ___default.difference(___default.keys($schema), ["id", "form", "type", "mode", "layout", "defaultData"]);
17198
17238
  formSchema = ___default.pick(props, schemaKeys);
17199
17239
  defaults = {
17200
- formSchema: formSchema
17240
+ formSchema: Object.assign({}, formSchema, form)
17201
17241
  };
17202
17242
  options = {
17203
17243
  recordId: recordId,
@@ -17227,7 +17267,7 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
17227
17267
  tabsMode: tabsMode
17228
17268
  }))];
17229
17269
  case 1:
17230
- schema = _d.sent();
17270
+ schema = _e.sent();
17231
17271
  amisSchema = schema.amisSchema;
17232
17272
  if (defaultData) {
17233
17273
  // 让ObjectForm支持props中的dafaultData属性与上层组件配置的defaultData混合
@@ -17249,10 +17289,10 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
17249
17289
  }
17250
17290
  return [4 /*yield*/, getViewSchema(objectApiName, recordId, options)];
17251
17291
  case 3:
17252
- schema = _d.sent();
17292
+ schema = _e.sent();
17253
17293
  amisSchema = schema.amisSchema;
17254
17294
  uiSchema = schema.uiSchema;
17255
- _d.label = 4;
17295
+ _e.label = 4;
17256
17296
  case 4:
17257
17297
  formData = {};
17258
17298
  // formData.recordId = recordId || null;
@@ -17273,12 +17313,12 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
17273
17313
  }); };
17274
17314
 
17275
17315
  var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, void 0, function () {
17276
- 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;
17277
- var _f;
17278
- return __generator(this, function (_g) {
17279
- switch (_g.label) {
17316
+ 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;
17317
+ var _g;
17318
+ return __generator(this, function (_h) {
17319
+ switch (_h.label) {
17280
17320
  case 0:
17281
- $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;
17321
+ $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;
17282
17322
  headerSchema = props.headerSchema;
17283
17323
  ctx = props.ctx;
17284
17324
  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);
@@ -17307,7 +17347,7 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
17307
17347
  }
17308
17348
  return [4 /*yield*/, getUISchema(objectApiName, false)];
17309
17349
  case 1:
17310
- uiSchema = _g.sent();
17350
+ uiSchema = _h.sent();
17311
17351
  listView = ___default.find(uiSchema.list_views, function (listView, name) {
17312
17352
  // 传入listViewName空值则取第一个
17313
17353
  if (!listName) {
@@ -17326,7 +17366,7 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
17326
17366
  }
17327
17367
  listName = listView.name;
17328
17368
  if (!(ctx && ctx.defaults)) {
17329
- schemaKeys = ___default.difference(___default.keys($schema), ["type", "showHeader", "id"]);
17369
+ schemaKeys = ___default.difference(___default.keys($schema), ["type", "showHeader", "id", "crud"]);
17330
17370
  listSchema = ___default.pick(props, schemaKeys);
17331
17371
  // className不传入crud组件,crud单独识别crudClassName属性
17332
17372
  listSchema.className = crudClassName;
@@ -17349,7 +17389,7 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
17349
17389
  ]
17350
17390
  };
17351
17391
  defaults = {
17352
- listSchema: listSchema
17392
+ listSchema: Object.assign({}, listSchema, crud)
17353
17393
  };
17354
17394
  }
17355
17395
  setDataToComponentId = ctx && ctx.setDataToComponentId;
@@ -17372,7 +17412,7 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
17372
17412
  if (!___default.has(data, 'uiSchema')) {
17373
17413
  serviceData.uiSchema = uiSchema;
17374
17414
  }
17375
- serviceData.defaultListName = listName ? listName : (_f = ___default.first(___default.values(uiSchema.list_views))) === null || _f === void 0 ? void 0 : _f.name;
17415
+ serviceData.defaultListName = listName ? listName : (_g = ___default.first(___default.values(uiSchema.list_views))) === null || _g === void 0 ? void 0 : _g.name;
17376
17416
  // console.timeEnd('AmisObjectListView')
17377
17417
  // console.log('serviceData===>', serviceData)
17378
17418
  // console.log('headerSchema===>', headerSchema)
@@ -17402,7 +17442,8 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
17402
17442
  {
17403
17443
  "type": "service",
17404
17444
  "schemaApi": {
17405
- "url": "${context.rootUrl}/graphql?listName=${listName}&display=${display}",
17445
+ // 这里url上加objectApiName属性是因为设计器中切换对象时不会变更列表视图界面,不可以用objectName=${objectName}使用作用域中objectName变量是因为设计器那边不会监听识别data变化来render组件
17446
+ "url": "${context.rootUrl}/graphql?objectName=" + objectApiName + "&listName=${listName}&display=${display}",
17406
17447
  "method": "post",
17407
17448
  "messages": {},
17408
17449
  "headers": {
@@ -17452,13 +17493,13 @@ function getTableColumns(columns, includedFields, fieldsExtend) {
17452
17493
  return tableColumns;
17453
17494
  }
17454
17495
  var AmisObjectTable = function (props) { return __awaiter(void 0, void 0, void 0, function () {
17455
- 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;
17456
- return __generator(this, function (_d) {
17457
- switch (_d.label) {
17496
+ 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;
17497
+ return __generator(this, function (_e) {
17498
+ switch (_e.label) {
17458
17499
  case 0:
17459
17500
  // console.time('AmisObjectTable')
17460
17501
  console.log("AmisObjectTable props", props);
17461
- $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;
17502
+ $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;
17462
17503
  ctx = props.ctx;
17463
17504
  if (!ctx) {
17464
17505
  ctx = {};
@@ -17470,12 +17511,12 @@ var AmisObjectTable = function (props) { return __awaiter(void 0, void 0, void 0
17470
17511
  defaults = {};
17471
17512
  objectApiName = props.objectApiName || "space_users";
17472
17513
  if (!(ctx && ctx.defaults)) {
17473
- schemaKeys = ___default.difference(___default.keys($schema), ["type", "objectApiName", "columns", "extraColumns", "id"]);
17514
+ schemaKeys = ___default.difference(___default.keys($schema), ["type", "objectApiName", "columns", "extraColumns", "id", "crud"]);
17474
17515
  listSchema = ___default.pick(props, schemaKeys);
17475
17516
  // className不传入crud组件,crud单独识别crudClassName属性
17476
17517
  listSchema.className = "";
17477
17518
  defaults = {
17478
- listSchema: listSchema
17519
+ listSchema: Object.assign({}, listSchema, crud)
17479
17520
  };
17480
17521
  }
17481
17522
  // 支持通过直接定义headerSchema属性来定制表头,而不一定要通过ctx.defaults.headerSchema传入
@@ -17494,9 +17535,13 @@ var AmisObjectTable = function (props) { return __awaiter(void 0, void 0, void 0
17494
17535
  ctx = ___default.pickBy(ctx, function (value) { return value !== undefined; });
17495
17536
  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 }))];
17496
17537
  case 1:
17497
- amisSchema = (_d.sent()).amisSchema;
17538
+ amisSchema = (_e.sent()).amisSchema;
17498
17539
  amisSchema.data = Object.assign({}, amisSchema.data, amisSchemaData);
17540
+ if (___default.has(props, 'objectApiName')) {
17541
+ amisSchema.data.objectName = objectApiName;
17542
+ }
17499
17543
  amisSchema.className = "steedos-object-table h-full flex flex-col ".concat(className);
17544
+ amisSchema.objectApiName = objectApiName; //设计器中切换对象时画布中显示的列未同步变更
17500
17545
  // console.log(`AmisObjectTable===>amisSchema`, amisSchema)
17501
17546
  // console.timeEnd('AmisObjectTable')
17502
17547
  return [2 /*return*/, amisSchema];