@steedos-widgets/amis-lib 1.1.0-beta.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.umd.js CHANGED
@@ -927,7 +927,7 @@
927
927
  function getApi$2 (isMobile){
928
928
  if(isMobile);else {
929
929
  // return __meteor_runtime_config__.ROOT_URL_PATH_PREFIX + "/graphql"
930
- return `\${context.rootUrl}/graphql`
930
+ return `\${context.rootUrl}/graphql?reload=\${additionalFilters}`
931
931
  }
932
932
  }
933
933
 
@@ -1074,6 +1074,7 @@
1074
1074
  }
1075
1075
  data.$value = `$${valueField}`;
1076
1076
  // data["&"] = "$$";
1077
+
1077
1078
  const requestAdaptor = `
1078
1079
  var filters = [['parent', '=', null]];
1079
1080
  api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters));
@@ -1186,7 +1187,7 @@
1186
1187
  `;
1187
1188
  return {
1188
1189
  "method": "post",
1189
- "url": getApi$2() + "?ref=${ref}&dep=${value}",
1190
+ "url": getApi$2() + "&ref=${ref}&dep=${value}",
1190
1191
  "requestAdaptor": requestAdaptor,
1191
1192
  "adaptor": adaptor,
1192
1193
  "data": data,
@@ -1295,6 +1296,11 @@
1295
1296
  if (typeof amisSchema.searchable !== "boolean") {
1296
1297
  amisSchema.searchable = true;
1297
1298
  }
1299
+
1300
+ if(ctx.value){
1301
+ amisSchema.value = ctx.value;
1302
+ }
1303
+
1298
1304
  const onEvent = field.onEvent;
1299
1305
  if (onEvent) {
1300
1306
  amisSchema.onEvent = onEvent;
@@ -3694,7 +3700,7 @@ filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsF
3694
3700
  `;
3695
3701
  return {
3696
3702
  "method": "post",
3697
- "url": getApi$2() + "?dep=${value}",
3703
+ "url": getApi$2() + "&dep=${value}",
3698
3704
  "requestAdaptor": requestAdaptor,
3699
3705
  "adaptor": adaptor,
3700
3706
  "data": data,
@@ -4203,6 +4209,7 @@ filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsF
4203
4209
  type: getAmisStaticFieldType('select', readonly),
4204
4210
  joinValues: false,
4205
4211
  extractValue: true,
4212
+ clearable: true,
4206
4213
  // labelField: labelField,
4207
4214
  // valueField: valueField,
4208
4215
  source: apiInfo,
@@ -4264,21 +4271,20 @@ filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsF
4264
4271
  // return await lookupToAmisGroup(field, readonly, ctx);
4265
4272
  }
4266
4273
 
4267
- if(ctx.ids || ctx.idsTrackOn){
4268
- return await lookupToAmisIdsPicker(field, readonly, ctx);
4269
- }
4270
-
4271
4274
  let referenceTo = await getReferenceTo(field);
4272
4275
  if(!referenceTo){
4273
4276
  return await lookupToAmisSelect(field, readonly, ctx);
4274
4277
  }
4275
4278
 
4276
- const refObject = await getUISchema(referenceTo.objectName);
4277
-
4278
4279
  if(referenceTo.objectName === "space_users" && field.reference_to_field === "user"){
4280
+ if(ctx.idsDependOn || field.amis){
4281
+ return await lookupToAmisIdsPicker(field, readonly, ctx);
4282
+ }
4279
4283
  return await lookupToAmisSelectUser(field, readonly, ctx);
4280
4284
  }
4281
4285
 
4286
+ const refObject = await getUISchema(referenceTo.objectName);
4287
+
4282
4288
  // 此处不参考 steedos 的 enable_enhanced_lookup 规则. 如果默认是开启弹出选择,用户选择过程操作太繁琐, 所以默认是关闭弹出选择.
4283
4289
  // 由于amis picker 目前不支持联动, 配置了depend_on时, 使用使用select ,以支持联动
4284
4290
  // TODO: 确认 amis picker 支持联动时, 清理field.depend_on判断
@@ -4313,7 +4319,7 @@ filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsF
4313
4319
  }
4314
4320
  const refObjectConfig = await getUISchema(referenceTo.objectName);
4315
4321
 
4316
- const { ids, idsTrackOn } = ctx;
4322
+ const { idsDependOn } = ctx;
4317
4323
 
4318
4324
  const fields = {
4319
4325
  [referenceTo.labelField.name]: referenceTo.labelField,
@@ -4327,14 +4333,9 @@ filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsF
4327
4333
  source.data.$term = "$term";
4328
4334
  source.data.$self = "$$";
4329
4335
 
4330
- if(ids && ids.length){
4331
- source.sendOn = true;
4332
- }
4333
- else {
4334
- source.sendOn = false;
4335
- }
4336
- if(idsTrackOn){
4337
- source.sendOn = `\${${idsTrackOn} && ${idsTrackOn}.length}`;
4336
+ if(idsDependOn && source.url){
4337
+ source.sendOn = `\${${idsDependOn} && ${idsDependOn}.length}`;
4338
+ source.url = `${source.url}&depend_on_${idsDependOn}=\${${idsDependOn}|join}`;
4338
4339
  }
4339
4340
 
4340
4341
  source.requestAdaptor = `
@@ -4351,10 +4352,10 @@ filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsF
4351
4352
  }
4352
4353
  }
4353
4354
 
4354
- var ids = ${JSON.stringify(ids)};
4355
- var idsTrackOn = "${idsTrackOn}";
4356
- if(idsTrackOn){
4357
- ids = api.data.$self[idsTrackOn];
4355
+ var ids;
4356
+ var idsDependOn = "${idsDependOn}";
4357
+ if(idsDependOn){
4358
+ ids = api.data.$self[idsDependOn];
4358
4359
  }
4359
4360
  if(ids && ids.length){
4360
4361
  filters.push(["${referenceTo.valueField.name}", "=", ids]);
@@ -4397,6 +4398,14 @@ filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsF
4397
4398
  data.extractValue = true;
4398
4399
  }
4399
4400
 
4401
+ if(ctx.value){
4402
+ data.value = ctx.value;
4403
+ }
4404
+
4405
+ if(ctx.selectFirst != undefined){
4406
+ data.selectFirst = ctx.selectFirst;
4407
+ }
4408
+
4400
4409
  if(readonly){
4401
4410
  data.tpl = await getLookupTpl(field, ctx);
4402
4411
  }
@@ -5371,15 +5380,17 @@ filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsF
5371
5380
  const dataKeys = _.keys(data);
5372
5381
  const uiSchema = api.body.uiSchema;
5373
5382
  const fieldKeys = uiSchema && _.keys(uiSchema.fields);
5374
- _.each(dataKeys, function(key){
5375
- if(fieldKeys.indexOf(key)<0){
5376
- delete data[key];
5377
- }
5378
- })
5379
5383
 
5380
5384
  if(data){
5381
5385
  ${getScriptForAddUrlPrefixForImgFields(fields)}
5382
5386
  ${getScriptForRewriteValueForFileFields(fields)}
5387
+
5388
+ _.each(dataKeys, function(key){
5389
+ if(fieldKeys.indexOf(key)<0){
5390
+ delete data[key];
5391
+ }
5392
+ })
5393
+
5383
5394
  //初始化接口返回的字段移除字段值为null的字段
5384
5395
  for (key in data){
5385
5396
  if(data[key] === null){
@@ -6460,6 +6471,10 @@ filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsF
6460
6471
 
6461
6472
  if(!_.isEmpty(systemFilters)){
6462
6473
  filters = systemFilters;
6474
+ };
6475
+
6476
+ if(api.data.$self.additionalFilters){
6477
+ userFilters.push(api.data.$self.additionalFilters)
6463
6478
  }
6464
6479
 
6465
6480
  if(!_.isEmpty(userFilters)){
@@ -6876,7 +6891,7 @@ filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsF
6876
6891
  initialView = "dayGridMonth";
6877
6892
  break;
6878
6893
  case "agenda":
6879
- initialView = "timeGridDay";
6894
+ initialView = "listWeek";
6880
6895
  break;
6881
6896
  }
6882
6897
  }
@@ -7098,6 +7113,30 @@ filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsF
7098
7113
  }
7099
7114
  ]
7100
7115
  },
7116
+ "eventDidMount": {
7117
+ "weight": 0,
7118
+ "actions": [
7119
+ {
7120
+ "componentId": "",
7121
+ "args": {
7122
+ },
7123
+ "actionType": "custom",
7124
+ "script": "console.log('eventDidMount'); console.log(event);"
7125
+ }
7126
+ ]
7127
+ },
7128
+ "eventWillUnmount": {
7129
+ "weight": 0,
7130
+ "actions": [
7131
+ {
7132
+ "componentId": "",
7133
+ "args": {
7134
+ },
7135
+ "actionType": "custom",
7136
+ "script": "console.log('eventWillUnmount'); console.log(event);"
7137
+ }
7138
+ ]
7139
+ },
7101
7140
  }
7102
7141
  };
7103
7142
  return amisSchema;
@@ -8928,7 +8967,6 @@ filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsF
8928
8967
  "args": {
8929
8968
  "value": {
8930
8969
  new_judge: "${event.data.value}",
8931
- new_next_step: undefined,
8932
8970
  next_step: undefined,
8933
8971
  }
8934
8972
  },
@@ -8980,6 +9018,11 @@ filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsF
8980
9018
  id: "u:next_step",
8981
9019
  multiple: false,
8982
9020
  required: true,
9021
+ // selectFirst: true,
9022
+ autoFill: {
9023
+ "new_next_step": "${step}",
9024
+ "next_users": null
9025
+ },
8983
9026
  "source": {
8984
9027
  "url": "${context.rootUrl}/api/workflow/v2/nextStep?judge=${new_judge}",
8985
9028
  "headers": {
@@ -8991,10 +9034,12 @@ filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsF
8991
9034
  "requestAdaptor": "let { context, judge } = api.data; if(!judge){judge='approved'}\nconst formValues = SteedosUI.getRef(api.data.$scopeId).getComponentById(\"instance_form\").getValues();\n\napi.data = {\nflowVersionId: context.flowVersion._id,\n instanceId: context._id,\n flowId: context.flow._id,\n step: context.step,\n judge: judge,\n values: formValues\n}\n\n\n return api;",
8992
9035
  "adaptor": `
8993
9036
  payload.data = {
9037
+ value: payload.nextSteps.length === 1 ? payload.nextSteps[0]._id : null,
8994
9038
  options: _.map(payload.nextSteps, (item)=>{
8995
9039
  return {
8996
9040
  label: item.name,
8997
- value: item
9041
+ value: item._id,
9042
+ step: item
8998
9043
  }
8999
9044
  })
9000
9045
  };
@@ -9007,44 +9052,29 @@ filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsF
9007
9052
  "judge": "${new_judge}",
9008
9053
  }
9009
9054
  },
9010
- // "labelField": "name",
9011
- // "valueField": "_id",
9012
- "onEvent": {
9013
- // "change": {
9014
- // "weight": 0,
9015
- // "actions": [
9016
- // {
9017
- // "componentId": "u:next_users",
9018
- // "args": {
9019
- // },
9020
- // "actionType": "reload"
9021
- // }
9022
- // ]
9023
- // },
9024
- "change": {
9025
- "weight": 0,
9026
- "actions": [
9027
- {
9028
- "componentId": "instance_approval",
9029
- "args": {
9030
- "value": {
9031
- new_next_step: "${event.data.value}",
9032
- }
9033
- },
9034
- "actionType": "setValue"
9035
- },
9036
- {
9037
- // "componentId": "u:next_step",
9038
- "args": {
9039
- next_step: "${event.data.value}",
9040
- },
9041
- "actionType": "broadcast",
9042
- eventName: "approve_next_step_change"
9043
- },
9044
- ]
9045
- }
9046
-
9047
- }
9055
+ // "onEvent": {
9056
+ // "change": {
9057
+ // "weight": 0,
9058
+ // "actions": [
9059
+ // {
9060
+ // "componentId": "instance_approval",
9061
+ // "args": {
9062
+ // "value": {
9063
+ // new_next_step: "${event.data.value}",
9064
+ // }
9065
+ // },
9066
+ // "actionType": "setValue"
9067
+ // },
9068
+ // // {
9069
+ // // "args": {
9070
+ // // next_step: "${event.data.value}",
9071
+ // // },
9072
+ // // "actionType": "broadcast",
9073
+ // // eventName: "approve_next_step_change"
9074
+ // // },
9075
+ // ]
9076
+ // }
9077
+ // }
9048
9078
  },
9049
9079
  ],
9050
9080
  id: "u:4d3a884b437c",
@@ -9082,56 +9112,44 @@ filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsF
9082
9112
  body: [
9083
9113
  // TODO 处理下一步处理人默认值
9084
9114
  Object.assign({},
9085
- // await lookupToAmisPicker(
9086
- // {
9087
- // name: "next_users",
9088
- // label: false,
9089
- // reference_to: "space_users",
9090
- // reference_to_field: 'user',
9091
- // multiple: false,
9092
- // },
9093
- // false,
9094
- // {}
9095
- // ),
9096
9115
  {
9097
9116
  "type": "steedos-select-user"
9098
9117
  },
9099
-
9100
9118
  {
9101
9119
  name: "next_users",
9102
- // value: "",
9103
9120
  hiddenOn: "this.new_next_step.deal_type != 'pickupAtRuntime'",
9104
9121
  required: true
9105
9122
  }),
9106
9123
  {
9107
- type: "list-select",
9124
+ type: "steedos-select-user",
9108
9125
  label: "",
9109
9126
  name: "next_users",
9110
- // options: await getNextStepOptions(instance),
9111
9127
  id: "u:next_users",
9112
9128
  required: true,
9113
- multiple: "this.new_next_step.deal_type === 'counterSign'",
9114
- "source": {
9115
- "url": "${context.rootUrl}/api/workflow/v2/nextStepUsers",
9116
- "method": "post",
9117
- "sendOn": "!!this.new_next_step && this.new_next_step.step_type != 'end'",
9118
- "headers": {
9119
- "Authorization": "Bearer ${context.tenantId},${context.authToken}"
9120
- },
9121
- "messages": {
9129
+ hiddenOn: "this.new_next_step.deal_type === 'pickupAtRuntime'",
9130
+ amis: {
9131
+ multiple: "this.new_next_step.deal_type === 'counterSign'",
9132
+ "source": {
9133
+ "url": "${context.rootUrl}/api/workflow/v2/nextStepUsers",
9134
+ "method": "post",
9135
+ "sendOn": "!!this.new_next_step && this.new_next_step.step_type != 'end'",
9136
+ "headers": {
9137
+ "Authorization": "Bearer ${context.tenantId},${context.authToken}"
9138
+ },
9139
+ "messages": {
9140
+ },
9141
+ "requestAdaptor": "\nconst { context, next_step, $scopeId } = api.data;\nconst formValues = SteedosUI.getRef($scopeId).getComponentById(\"instance_form\").getValues();\n\napi.data = {\n instanceId: context._id,\n nextStepId: next_step._id,\n values: formValues\n}\n\n\n return api;",
9142
+ "adaptor": "\npayload.data = {value: payload.nextStepUsers.length === 1 ? payload.nextStepUsers[0].id : null, options: payload.nextStepUsers};\nreturn payload;",
9143
+ "data": {
9144
+ "&": "$$",
9145
+ "$scopeId": "$scopeId",
9146
+ "context": "${context}",
9147
+ "next_step": "${new_next_step}",
9148
+ }
9122
9149
  },
9123
- "requestAdaptor": "console.log('======requestAdaptor====');\nconst { context, next_step, $scopeId } = api.data;\nconst formValues = SteedosUI.getRef($scopeId).getComponentById(\"instance_form\").getValues();\n\napi.data = {\n instanceId: context._id,\n nextStepId: next_step._id,\n values: formValues\n}\n\n\n return api;",
9124
- "adaptor": "\npayload.data = payload.nextStepUsers;\nreturn payload;",
9125
- "data": {
9126
- "&": "$$",
9127
- "$scopeId": "$scopeId",
9128
- "context": "${context}",
9129
- "next_step": "${new_next_step}",
9130
- }
9131
- },
9132
- "labelField": "name",
9133
- "valueField": "id",
9134
- hiddenOn: "this.new_next_step.deal_type === 'pickupAtRuntime'"
9150
+ "labelField": "name",
9151
+ "valueField": "id",
9152
+ }
9135
9153
  }
9136
9154
  ],
9137
9155
  id: "u:81a4913c61cc",
@@ -9318,6 +9336,9 @@ filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsF
9318
9336
  size: "sm",
9319
9337
  title: `${instance.step.name}`,
9320
9338
  className: "approval-drawer absolute",
9339
+ headerClassName: 'p-2',
9340
+ bodyClassName: 'p-2',
9341
+ footerClassName: 'p-2 pt-0',
9321
9342
  drawerContainer: ()=>{
9322
9343
  return window.$(".antd-Page-content",window.$(".steedos-instance-wrapper"))[0];
9323
9344
  },
@@ -9330,6 +9351,10 @@ filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsF
9330
9351
  clearPersistDataAfterSubmit: true,
9331
9352
  persistData: `workflow_approve_form_${instance.approve._id}`,
9332
9353
  body: [
9354
+ {
9355
+ type: 'hidden',
9356
+ name: 'new_next_step'
9357
+ },
9333
9358
  await getJudgeInput(instance),
9334
9359
  {
9335
9360
  type: "textarea",
@@ -9360,7 +9385,7 @@ filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsF
9360
9385
  // {
9361
9386
  // "actionType": "reload",
9362
9387
  // "componentId": "u:nex_users",
9363
- // "args": {t
9388
+ // "args": {
9364
9389
  // }
9365
9390
  // }
9366
9391
  // ]
@@ -9671,7 +9696,7 @@ filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsF
9671
9696
  * @Author: baozhoutao@steedos.com
9672
9697
  * @Date: 2022-09-07 16:20:45
9673
9698
  * @LastEditors: baozhoutao@steedos.com
9674
- * @LastEditTime: 2023-03-18 17:29:01
9699
+ * @LastEditTime: 2023-03-23 16:49:44
9675
9700
  * @Description:
9676
9701
  */
9677
9702
 
@@ -10235,7 +10260,6 @@ filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsF
10235
10260
  trs: await getFormTrs(instance),
10236
10261
  id: "u:047f3669468b",
10237
10262
  };
10238
- console.log(`getFormTableView formSchema=====>`, formSchema);
10239
10263
  return formSchema;
10240
10264
  };
10241
10265
 
@@ -10384,6 +10408,7 @@ filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsF
10384
10408
  type: "page",
10385
10409
  name: "instancePage",
10386
10410
  className: "steedos-amis-instance-view",
10411
+ bodyClassName: "overflow-y-auto h-full",
10387
10412
  "title": {
10388
10413
  "type": "steedos-record-detail-header",
10389
10414
  "label": "标题面板",