aldehyde 0.2.485 → 0.2.487

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.
Files changed (65) hide show
  1. package/lib/controls/entry-control.d.ts +1 -0
  2. package/lib/controls/entry-control.d.ts.map +1 -1
  3. package/lib/controls/entry-control.js +2 -0
  4. package/lib/controls/entry-control.js.map +1 -1
  5. package/lib/controls/select/index.d.ts +1 -1
  6. package/lib/controls/select/index.d.ts.map +1 -1
  7. package/lib/controls/select/index.js +6 -6
  8. package/lib/controls/select/index.js.map +1 -1
  9. package/lib/draw-canvas-edit/components/asset-bar/index.d.ts.map +1 -1
  10. package/lib/draw-canvas-edit/components/asset-bar/index.js +26 -7
  11. package/lib/draw-canvas-edit/components/asset-bar/index.js.map +1 -1
  12. package/lib/draw-canvas-edit/components/asset-bar/index.less +1 -1
  13. package/lib/draw-canvas-edit/components/render/handlers/drag-outside-handlers.d.ts.map +1 -1
  14. package/lib/draw-canvas-edit/components/render/handlers/drag-outside-handlers.js +9 -5
  15. package/lib/draw-canvas-edit/components/render/handlers/drag-outside-handlers.js.map +1 -1
  16. package/lib/draw-canvas-edit/components/render/handlers/selection-handlers.d.ts.map +1 -1
  17. package/lib/draw-canvas-edit/components/render/handlers/selection-handlers.js +1 -0
  18. package/lib/draw-canvas-edit/components/render/handlers/selection-handlers.js.map +1 -1
  19. package/lib/draw-canvas-edit/components/render/index.d.ts.map +1 -1
  20. package/lib/draw-canvas-edit/components/render/index.js +3 -6
  21. package/lib/draw-canvas-edit/components/render/index.js.map +1 -1
  22. package/lib/draw-canvas-edit/components/render/tools/component-factory.d.ts.map +1 -1
  23. package/lib/draw-canvas-edit/components/render/tools/component-factory.js +4 -5
  24. package/lib/draw-canvas-edit/components/render/tools/component-factory.js.map +1 -1
  25. package/lib/draw-canvas-edit/components/render/types.d.ts +1 -0
  26. package/lib/draw-canvas-edit/components/render/types.d.ts.map +1 -1
  27. package/lib/draw-canvas-edit/components/render/types.js.map +1 -1
  28. package/lib/draw-canvas-edit/components/setting-form/index.d.ts.map +1 -1
  29. package/lib/draw-canvas-edit/components/setting-form/index.js +5 -3
  30. package/lib/draw-canvas-edit/components/setting-form/index.js.map +1 -1
  31. package/lib/draw-canvas-edit/index.d.ts.map +1 -1
  32. package/lib/draw-canvas-edit/index.js +12 -3
  33. package/lib/draw-canvas-edit/index.js.map +1 -1
  34. package/lib/module/dtmpl-edit-card.d.ts +1 -1
  35. package/lib/module/dtmpl-edit-card.d.ts.map +1 -1
  36. package/lib/module/dtmpl-edit-card.js +40 -7
  37. package/lib/module/dtmpl-edit-card.js.map +1 -1
  38. package/lib/module/dtmpl-edit-page.d.ts +1 -1
  39. package/lib/module/dtmpl-edit-page.d.ts.map +1 -1
  40. package/lib/module/dtmpl-edit-page.js +40 -7
  41. package/lib/module/dtmpl-edit-page.js.map +1 -1
  42. package/lib/table/act-table.d.ts +1 -0
  43. package/lib/table/act-table.d.ts.map +1 -1
  44. package/lib/table/act-table.js +5 -2
  45. package/lib/table/act-table.js.map +1 -1
  46. package/package.json +1 -1
  47. package/src/aldehyde/controls/entry-control.tsx +3 -0
  48. package/src/aldehyde/controls/select/index.tsx +2 -3
  49. package/src/aldehyde/draw-canvas-edit/components/asset-bar/index.less +1 -1
  50. package/src/aldehyde/draw-canvas-edit/components/asset-bar/index.tsx +19 -6
  51. package/src/aldehyde/draw-canvas-edit/components/render/draws/graph-draw.ts +249 -249
  52. package/src/aldehyde/draw-canvas-edit/components/render/draws/link-draw.ts +1414 -1414
  53. package/src/aldehyde/draw-canvas-edit/components/render/draws/preview-draw.ts +273 -273
  54. package/src/aldehyde/draw-canvas-edit/components/render/draws/ref-line-draw.ts +70 -70
  55. package/src/aldehyde/draw-canvas-edit/components/render/draws/ruler-draw.ts +165 -165
  56. package/src/aldehyde/draw-canvas-edit/components/render/handlers/drag-outside-handlers.ts +4 -0
  57. package/src/aldehyde/draw-canvas-edit/components/render/handlers/selection-handlers.ts +1 -0
  58. package/src/aldehyde/draw-canvas-edit/components/render/index.ts +2 -6
  59. package/src/aldehyde/draw-canvas-edit/components/render/tools/component-factory.ts +4 -5
  60. package/src/aldehyde/draw-canvas-edit/components/render/types.ts +1 -0
  61. package/src/aldehyde/draw-canvas-edit/components/setting-form/index.tsx +5 -3
  62. package/src/aldehyde/draw-canvas-edit/index.tsx +12 -3
  63. package/src/aldehyde/module/dtmpl-edit-card.tsx +37 -7
  64. package/src/aldehyde/module/dtmpl-edit-page.tsx +38 -8
  65. package/src/aldehyde/table/act-table.tsx +5 -2
@@ -12,6 +12,7 @@ import HcserviceV3 from "../tmpl/hcservice-v3";
12
12
  import Action from "../controls/action";
13
13
  import { LocaleContext } from "../locale/LocaleProvider";
14
14
  import TmplConfigAnalysis from "../tmpl/tmpl-config-analysis";
15
+ import { relValueFieldExtControlType } from "../controls/entry-control";
15
16
 
16
17
  interface DtmplEditCardProps extends DtmplBaseProps {
17
18
  onOk?: (code: string) => void;
@@ -73,6 +74,7 @@ export default class DtmplEditCard extends React.PureComponent<
73
74
  if (prevProps.sourceId != this.props.sourceId || dtmplConfig == null || (!this.props.code && prevProps.code)) {
74
75
  await this.loadConfigData();
75
76
  } else if (prevProps.sourceId != this.props.sourceId || queryingCode != code || !dtmplData) {
77
+ await this.handleBuildInFuncFields(dtmplConfig);
76
78
  //防止反复请求 code
77
79
  if (code) {
78
80
  await this.loadCodeData(dtmplConfig, code);
@@ -108,6 +110,7 @@ export default class DtmplEditCard extends React.PureComponent<
108
110
  addTmplId
109
111
  );
110
112
  }
113
+ await this.handleBuildInFuncFields(dtmplConfig);
111
114
  this.handleRelValueField(dtmplConfig);
112
115
  if (dtmplConfig.entity) {
113
116
  let dtmplData = dtmplConfig.entity;
@@ -224,7 +227,14 @@ export default class DtmplEditCard extends React.PureComponent<
224
227
  // 表单关联项secondCriterion处理start
225
228
  getSubDtmplData = async (valueField, code) => {
226
229
  const { serverKey } = this.props;
227
- const dtmplData = await HcserviceV3.requestDtmplData(serverKey, valueField.id, code.split("@R@")[0], null);
230
+ let dtmplData = null;
231
+ if (valueField.extRefPageId) { // 存在extRefPageId(扩展关联页面),则优先使用extRefPageId(例如:枚举值无指向页面,使用扩展关联页面)
232
+ const { entities } = await HcserviceV3.requestLtmplQueryTop(null, valueField.extRefPageId, { top: 1, secondCriterion: code.split("@R@")[0] }) || {};
233
+ dtmplData = entities?.[0];
234
+ } else { // 查询字段指向页面的数据
235
+ dtmplData = await HcserviceV3.requestDtmplData(serverKey, valueField.id, code.split("@R@")[0], null);
236
+ }
237
+ if (!dtmplData) return null;
228
238
  const subField = valueField.subRelValueField;
229
239
  const subData = dtmplData.fieldMap[subField.id];
230
240
  if (subField.subRelValueField && subData) { // 存在下级关联项
@@ -235,17 +245,21 @@ export default class DtmplEditCard extends React.PureComponent<
235
245
 
236
246
  getSecondCriteria = async (field) => {
237
247
  const { parentFormInstance } = this.props;
238
- const { relValueField, relValueField3, baseCriteria = {} } = field;
248
+ const { relValueField, relValueField3, baseCriteria = {}, relMinValueField, relMaxValueField } = field;
239
249
  const temForm = parentFormInstance || this.formRef.current;
240
- if (relValueField && temForm) {
250
+ if (relValueField && temForm) { // 设置默认值或查询次条件
241
251
  let relValueData = temForm.getFieldValue(relValueField.id);
242
252
  if (relValueField.subRelValueField && relValueData) {
243
253
  relValueData = await this.getSubDtmplData(relValueField, relValueData);
244
254
  }
245
- field.baseCriteria = { ...(baseCriteria || {}), "secondCriterion": relValueData };
255
+ if (!relValueFieldExtControlType.includes(field.extControlType)) {
256
+ field.defaultValue = relValueData; // 非关系型字段填充默认值
257
+ } else {
258
+ field.baseCriteria = { ...(baseCriteria || {}), "secondCriterion": relValueData };
259
+ }
246
260
  field.configChanged = true;
247
261
  }
248
- if (relValueField3 && temForm) {
262
+ if (relValueField3 && temForm) { // 设置查询三条件
249
263
  let relValueData = temForm.getFieldValue(relValueField3.id);
250
264
  if (relValueField3.subRelValueField && relValueData) {
251
265
  relValueData = await this.getSubDtmplData(relValueField3, relValueData);
@@ -253,6 +267,22 @@ export default class DtmplEditCard extends React.PureComponent<
253
267
  field.baseCriteria = { ...(field.baseCriteria || {}), "thirdCriterion": relValueData };
254
268
  field.configChanged = true;
255
269
  }
270
+ if (relMinValueField && temForm) { // 设置最小值
271
+ let relValueData = temForm.getFieldValue(relMinValueField.id);
272
+ if (relMinValueField.subRelValueField && relValueData) {
273
+ relValueData = await this.getSubDtmplData(relMinValueField, relValueData);
274
+ }
275
+ field.min = relValueData;
276
+ field.configChanged = true;
277
+ }
278
+ if (relMaxValueField && temForm) { // 设置最大值
279
+ let relValueData = temForm.getFieldValue(relMaxValueField.id);
280
+ if (relMaxValueField.subRelValueField && relValueData) {
281
+ relValueData = await this.getSubDtmplData(relMaxValueField, relValueData);
282
+ }
283
+ field.max = relValueData;
284
+ field.configChanged = true;
285
+ }
256
286
  return field;
257
287
  }
258
288
  // 表单关联项secondCriterion处理end
@@ -292,8 +322,8 @@ export default class DtmplEditCard extends React.PureComponent<
292
322
  };
293
323
 
294
324
  //关联取值:根据 parentFormInstance / this.formRef 完善 dtmplConfig
295
- handleBuildInFuncFields = async () => {
296
- const { dtmplConfig } = this.state;
325
+ handleBuildInFuncFields = async (tDtmplConfig?: DtmplConfig) => {
326
+ const dtmplConfig = tDtmplConfig || this.state.dtmplConfig;
297
327
  if (dtmplConfig) {
298
328
  if (!dtmplConfig.buildInFuncFields) {
299
329
  dtmplConfig.buildInFuncFields = TmplConfigAnalysis.buildInFuncFields(dtmplConfig);
@@ -24,6 +24,7 @@ import Draggable from 'react-draggable';
24
24
  import DraggableModal from "./draggable-modal";
25
25
  import TmplConfigAnalysis from "../tmpl/tmpl-config-analysis";
26
26
  import { LocaleContext } from "../locale/LocaleProvider";
27
+ import { relValueFieldExtControlType } from "../controls/entry-control";
27
28
 
28
29
 
29
30
  interface ModalEditorProps extends DtmplBaseProps {
@@ -115,6 +116,7 @@ export default class DtmplEditPage extends React.PureComponent<
115
116
  ) {
116
117
  await this.loadConfigData();
117
118
  } else {
119
+ await this.handleBuildInFuncFields(dtmplConfig);
118
120
  await this.loadData(dtmplConfig);
119
121
  }
120
122
  }
@@ -146,6 +148,7 @@ export default class DtmplEditPage extends React.PureComponent<
146
148
  );
147
149
  }
148
150
  this.handleRelValueField(dtmplConfig);
151
+ await this.handleBuildInFuncFields(dtmplConfig);
149
152
  // 直接复制
150
153
  if (dtmplConfig?.entity && dtmplConfig?.entity?.code == code) {
151
154
  let dtmplData = dtmplConfig.entity;
@@ -167,7 +170,14 @@ export default class DtmplEditPage extends React.PureComponent<
167
170
  // 表单关联项secondCriterion处理start
168
171
  getSubDtmplData = async (valueField, code) => {
169
172
  const { serverKey } = this.props;
170
- const dtmplData = await HcserviceV3.requestDtmplData(serverKey, valueField.id, code.split("@R@")[0], null);
173
+ let dtmplData = null;
174
+ if (valueField.extRefPageId) { // 存在extRefPageId(扩展关联页面),则优先使用extRefPageId(例如:枚举值无指向页面,使用扩展关联页面)
175
+ const { entities } = await HcserviceV3.requestLtmplQueryTop(null, valueField.extRefPageId, { top: 1, secondCriterion: code.split("@R@")[0] }) || {};
176
+ dtmplData = entities?.[0];
177
+ } else { // 查询字段指向页面的数据
178
+ dtmplData = await HcserviceV3.requestDtmplData(serverKey, valueField.id, code.split("@R@")[0], null);
179
+ }
180
+ if (!dtmplData) return null;
171
181
  const subField = valueField.subRelValueField;
172
182
  const subData = dtmplData.fieldMap[subField.id];
173
183
  if (subField.subRelValueField && subData) { // 存在下级关联项
@@ -178,17 +188,21 @@ export default class DtmplEditPage extends React.PureComponent<
178
188
 
179
189
  getSecondCriteria = async (field) => {
180
190
  const { parentFormInstance } = this.props;
181
- const { relValueField, relValueField3, baseCriteria = {} } = field;
191
+ const { relValueField, relValueField3, baseCriteria = {}, relMinValueField, relMaxValueField } = field;
182
192
  const temForm = parentFormInstance || this.formRef.current;
183
- if (relValueField && temForm) {
193
+ if (relValueField && temForm) { // 设置默认值或查询次条件
184
194
  let relValueData = temForm.getFieldValue(relValueField.id);
185
195
  if (relValueField.subRelValueField && relValueData) {
186
196
  relValueData = await this.getSubDtmplData(relValueField, relValueData);
187
197
  }
188
- field.baseCriteria = { ...(baseCriteria || {}), "secondCriterion": relValueData };
198
+ if (!relValueFieldExtControlType.includes(field.extControlType)) {
199
+ field.defaultValue = relValueData; // 非关系型字段填充默认值
200
+ } else {
201
+ field.baseCriteria = { ...(baseCriteria || {}), "secondCriterion": relValueData };
202
+ }
189
203
  field.configChanged = true;
190
204
  }
191
- if (relValueField3 && temForm) {
205
+ if (relValueField3 && temForm) { // 设置查询三条件
192
206
  let relValueData = temForm.getFieldValue(relValueField3.id);
193
207
  if (relValueField3.subRelValueField && relValueData) {
194
208
  relValueData = await this.getSubDtmplData(relValueField3, relValueData);
@@ -196,6 +210,22 @@ export default class DtmplEditPage extends React.PureComponent<
196
210
  field.baseCriteria = { ...(field.baseCriteria || {}), "thirdCriterion": relValueData };
197
211
  field.configChanged = true;
198
212
  }
213
+ if (relMinValueField && temForm) { // 设置最小值
214
+ let relValueData = temForm.getFieldValue(relMinValueField.id);
215
+ if (relMinValueField.subRelValueField && relValueData) {
216
+ relValueData = await this.getSubDtmplData(relMinValueField, relValueData);
217
+ }
218
+ field.min = relValueData;
219
+ field.configChanged = true;
220
+ }
221
+ if (relMaxValueField && temForm) { // 设置最大值
222
+ let relValueData = temForm.getFieldValue(relMaxValueField.id);
223
+ if (relMaxValueField.subRelValueField && relValueData) {
224
+ relValueData = await this.getSubDtmplData(relMaxValueField, relValueData);
225
+ }
226
+ field.max = relValueData;
227
+ field.configChanged = true;
228
+ }
199
229
  return field;
200
230
  }
201
231
  // 表单关联项secondCriterion处理end
@@ -283,7 +313,7 @@ export default class DtmplEditPage extends React.PureComponent<
283
313
  * 匹配关联项的字段,实现值更新关联字段值变化
284
314
  */
285
315
  handleRelValueField = (dtmplConfig: DtmplConfig) => {
286
- if(!dtmplConfig){
316
+ if (!dtmplConfig) {
287
317
  return;
288
318
  }
289
319
  const { groups } = dtmplConfig;
@@ -316,8 +346,8 @@ export default class DtmplEditPage extends React.PureComponent<
316
346
  };
317
347
 
318
348
  //关联取值:根据 parentFormInstance / this.formRef 完善 dtmplConfig
319
- handleBuildInFuncFields = async () => {
320
- const { dtmplConfig } = this.state;
349
+ handleBuildInFuncFields = async (tDtmplConfig?: DtmplConfig) => {
350
+ const dtmplConfig = tDtmplConfig || this.state.dtmplConfig;
321
351
  if (dtmplConfig) {
322
352
  if (!dtmplConfig.buildInFuncFields) {
323
353
  dtmplConfig.buildInFuncFields = TmplConfigAnalysis.buildInFuncFields(dtmplConfig);
@@ -160,6 +160,7 @@ class ActTable extends React.PureComponent<ActTableProps, ActTableStat> {
160
160
  static contextType = LocaleContext;
161
161
  context: React.ContextType<typeof LocaleContext>;
162
162
  formRef = React.createRef<FormInstance>(); // 可编辑表格的form Ref
163
+ isJumpRef = React.createRef<boolean>(); // 是否是action跳转
163
164
 
164
165
  static defaultProps = {
165
166
  criteriaData: {},
@@ -608,8 +609,9 @@ class ActTable extends React.PureComponent<ActTableProps, ActTableStat> {
608
609
  }
609
610
 
610
611
  isSameSourceQuery = (sourceId, criteriaData) => {
611
- // 路由变化时,变化后路由不存在sourceId||menuId,则不触发查询
612
- if (!criteriaData['sourceId'] && !criteriaData['menuId']) {
612
+ // action跳转,路由变化时,变化后路由不存在sourceId||menuId,则不触发查询
613
+ if (this.isJumpRef.current && !criteriaData['sourceId'] && !criteriaData['menuId']) {
614
+ this.isJumpRef.current = false;
613
615
  return false;
614
616
  }
615
617
 
@@ -823,6 +825,7 @@ class ActTable extends React.PureComponent<ActTableProps, ActTableStat> {
823
825
  url = url + searchs.join("&");
824
826
  }
825
827
  if (jump.linkTarget == '_self') {
828
+ this.isJumpRef.current = true;
826
829
  window.location.hash = url.substring(url.indexOf("#") + 1);
827
830
  } else {
828
831
  debugger