@steedos-labs/plugin-workflow 3.0.8 → 3.0.9

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.
@@ -16,6 +16,7 @@ window.SteedosWorkflow.InstanceTask = {
16
16
  fields.forEach(function (field) {
17
17
  if (field.is_list_display) {
18
18
  crudDataFilter = crudDataFilter + `
19
+ if (data.display !== 'split'){
19
20
  crud.columns.push({
20
21
  "name": "instance__expand.values.${field.code}",
21
22
  "label": "${field.name || field.code}",
@@ -25,6 +26,7 @@ window.SteedosWorkflow.InstanceTask = {
25
26
  "static": true,
26
27
  "options": null
27
28
  });\r\n
29
+ }\r\n
28
30
  `;
29
31
  }
30
32
  })
@@ -85,6 +87,7 @@ window.SteedosWorkflow.Instance = {
85
87
  fields.forEach(function (field) {
86
88
  if (field.is_list_display) {
87
89
  crudDataFilter = crudDataFilter + `
90
+ if (data.display !== 'split'){
88
91
  crud.columns.push({
89
92
  "name": "instance__expand.values.${field.code}",
90
93
  "label": "${field.name || field.code}",
@@ -94,6 +97,7 @@ window.SteedosWorkflow.Instance = {
94
97
  "static": true,
95
98
  "options": null
96
99
  });\r\n
100
+ }\r\n
97
101
  `;
98
102
  }
99
103
  })
@@ -36,17 +36,18 @@ window.waitForThing(window, 'socket').then(()=>{
36
36
  });
37
37
  })
38
38
  }
39
-
39
+ let isFirstRun = true;
40
40
  socket.on(SocketEvents.badgeChange, (data)=>{
41
41
  window.postMessage({ type: "page.dataProvider.setData", data: { badges: data }}, "*")
42
42
  const shouldReloadView = () => {
43
43
  const pathname = window.location.pathname;
44
44
  return pathname.endsWith(`/instances`) || pathname.includes(`/instances/view`) || pathname.includes(`/instances/grid`) || pathname.endsWith(`/instance_tasks`) || pathname.includes(`/instance_tasks/view`) || pathname.includes(`/instance_tasks/grid`);
45
45
  };
46
- if (shouldReloadView()) {
46
+ if (isFirstRun === false && shouldReloadView()) {
47
47
  window.$(".list-view-btn-reload").click()
48
48
  window.$(".instance-nav-reload").click()
49
49
  }
50
+ isFirstRun = false;
50
51
  });
51
52
 
52
53
  socket.on(SocketEvents.instanceRecordChange, (data)=>{
@@ -65,8 +65,12 @@ amis_schema: |-
65
65
  {
66
66
  "actionType": "wait",
67
67
  "args": {
68
- "time": 2000
68
+ "time": 100
69
69
  }
70
+ },
71
+ {
72
+ "actionType": "custom",
73
+ "script":"window.$('.list-view-btn-reload').click()"
70
74
  }
71
75
  ]
72
76
  }
@@ -202,7 +202,7 @@
202
202
  "listName": "completed",
203
203
  "rebuildOn": "${flowId || categoryId}",
204
204
  "adaptor": "//在列表上加流程表单字段时,group和user需要特殊处理\nif (api.body.self.listName == \"monitor\") {\n _.each(payload.data.rows, function (item, index) {\n if (item.values) {\n const form_fields = api.body.self.form_fields;\n _.each(item.values, function (field, field_code) {\n const form_field = _.find(form_fields, { code: field_code });\n if (form_field && form_field.type == \"group\") {\n if (form_field.is_multiselect) {\n item.values[field_code] = field && field.length > 0 ? _.map(field, 'fullname').toString() : \"\";\n } else {\n item.values[field_code] = field ? field.fullname : \"\";\n }\n } else if (form_field && form_field.type == \"user\") {\n if (form_field.is_multiselect) {\n item.values[field_code] = field && field.length > 0 ? _.map(field, 'name').toString() : \"\";\n } else {\n item.values[field_code] = field ? field.name : \"\";\n }\n }\n })\n }\n })\n}\n",
205
- "crudDataFilter": "if (data && data.flowId && (data.listName == 'inbox' || 'monitor') && window.innerWidth > 768) {\r\n var api = {\r\n url: \"${context.rootUrl}/graphql\",\r\n method: \"post\",\r\n dataType: \"json\",\r\n data: {\r\n \"query\": '{flow: flows__findOne(id:\"' + data.flowId + '\"){form__expand{current}}}'\r\n },\r\n headers: {\r\n Authorization:\r\n \"Bearer ${context.tenantId},${context.authToken}\",\r\n },\r\n };\r\n return env.fetcher(api).then((result) => {\r\n if (result.data && result.data.flow && result.data.flow.form__expand.current.fields && result.data.flow.form__expand.current.fields.length > 0) {\r\n let fields = result.data.flow.form__expand.current.fields;\r\n fields.forEach(function (field) {\r\n if (field.is_list_display) {\r\n crud.columns.push({\r\n \"name\": \"values.\" + field.code,\r\n \"label\": field.name || field.code,\r\n \"width\": \"unset\",\r\n \"type\": \"text\",\r\n \"className\": \" whitespace-nowrap\",\r\n \"static\": true,\r\n \"options\": null\r\n });\r\n }\r\n })\r\n let schemaApiService = data._scoped.parent.getComponentById(\"instances_list_service\");\r\n schemaApiService && schemaApiService.setData({ form_fields: fields, isFlowDataDone: true });\r\n // crud.api.sendOn = \"this.isFlowDataDone\";\r\n }\r\n return crud;\r\n });\r\n} else {\r\n let schemaApiService = data._scoped.parent.getComponentById(\"instances_list_service\");\r\n schemaApiService && schemaApiService.setData({ isFlowDataDone: true });\r\n // crud.api.sendOn = \"this.isFlowDataDone\";\r\n return crud;\r\n}\r\n"
205
+ "crudDataFilter": "if (data && data.flowId && (data.listName == 'inbox' || 'monitor') && window.innerWidth > 768) {\r\n var api = {\r\n url: \"${context.rootUrl}/graphql\",\r\n method: \"post\",\r\n dataType: \"json\",\r\n data: {\r\n \"query\": '{flow: flows__findOne(id:\"' + data.flowId + '\"){form__expand{current}}}'\r\n },\r\n headers: {\r\n Authorization:\r\n \"Bearer ${context.tenantId},${context.authToken}\",\r\n },\r\n };\r\n return env.fetcher(api).then((result) => {\r\n if (result.data && result.data.flow && result.data.flow.form__expand.current.fields && result.data.flow.form__expand.current.fields.length > 0) {\r\n let fields = result.data.flow.form__expand.current.fields;\r\n fields.forEach(function (field) {\r\n if (field.is_list_display && data.display !== 'split') {\r\n crud.columns.push({\r\n \"name\": \"values.\" + field.code,\r\n \"label\": field.name || field.code,\r\n \"width\": \"unset\",\r\n \"type\": \"text\",\r\n \"className\": \" whitespace-nowrap\",\r\n \"static\": true,\r\n \"options\": null\r\n });\r\n }\r\n })\r\n let schemaApiService = data._scoped.parent.getComponentById(\"instances_list_service\");\r\n schemaApiService && schemaApiService.setData({ form_fields: fields, isFlowDataDone: true });\r\n // crud.api.sendOn = \"this.isFlowDataDone\";\r\n }\r\n return crud;\r\n });\r\n} else {\r\n let schemaApiService = data._scoped.parent.getComponentById(\"instances_list_service\");\r\n schemaApiService && schemaApiService.setData({ isFlowDataDone: true });\r\n // crud.api.sendOn = \"this.isFlowDataDone\";\r\n return crud;\r\n}\r\n"
206
206
  },
207
207
  {
208
208
  "type": "service",
@@ -537,8 +537,12 @@ router.put('/am/flows', async function (req, res) {
537
537
  }
538
538
  });
539
539
  updateObj.$set.category = form['category'];
540
-
541
- await objectql.getObject('flows').update(flowId, {...updateObj.$set, $push: updateObj.$push || {}})
540
+ const updateData = { ...updateObj.$set };
541
+ if (updateObj.$push) {
542
+ updateData.$push = updateObj.$push;
543
+ }
544
+ await objectql.getObject('flows').update(flowId, updateData);
545
+ console.log('update', flowId, 'end');
542
546
  updatedFlows.push(await flowCollection.findOne({_id: flowId}));
543
547
  }
544
548
 
@@ -199,7 +199,8 @@ function transformFormFields(amisField) {
199
199
  is_searchable: _.includes(amisField.className, "is_searchable"),
200
200
  visibleOn: amisField.visibleOn,
201
201
  requiredOn: amisField.requiredOn,
202
- description: amisField.description
202
+ description: amisField.description,
203
+ _amisField: amisField
203
204
  }
204
205
 
205
206
  // console.log('formFieldsItem', formFieldsItem)
@@ -563,6 +564,19 @@ module.exports = {
563
564
  await desingerManager.checkSpaceUserBeforeUpdate(spaceId, userId, roles);
564
565
  // 更新表单
565
566
  await desingerManager.updateForm(this.id, form, updatedForms, updatedFlows, userId);
567
+
568
+ const flows = await objectql.getObject('flows').directFind({
569
+ filters: ['form', '=', this.id],
570
+ fields: ['_id']
571
+ });
572
+
573
+ for (const flow of flows) {
574
+ await objectql.getObject('flows').directUpdate(flow._id, {
575
+ modified: new Date(),
576
+ modified_by: userId
577
+ })
578
+ }
579
+
566
580
  }
567
581
 
568
582
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steedos-labs/plugin-workflow",
3
- "version": "3.0.8",
3
+ "version": "3.0.9",
4
4
  "main": "package.service.js",
5
5
  "license": "MIT",
6
6
  "scripts": {
@@ -360,7 +360,7 @@ tbody .color-priority-muted *{
360
360
  }
361
361
 
362
362
  .steedos-instance-detail-wrapper{
363
- height: calc(100vh - 90px);
363
+ height: calc(100vh - 84px);
364
364
  }
365
365
 
366
366
  .steedos-amis-instance-view-body .antd-Panel-title{