@elyra/canvas 12.11.1 → 12.12.1

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 (165) hide show
  1. package/dist/_baseForOwn-7d4e8506.js +2 -0
  2. package/dist/_baseForOwn-7d4e8506.js.map +1 -0
  3. package/dist/_baseForOwn-d38b560e.js +2 -0
  4. package/dist/_baseForOwn-d38b560e.js.map +1 -0
  5. package/dist/canvas-constants-34cdb7df.js +2 -0
  6. package/dist/canvas-constants-34cdb7df.js.map +1 -0
  7. package/dist/canvas-constants-3c09c7f6.js +2 -0
  8. package/dist/canvas-constants-3c09c7f6.js.map +1 -0
  9. package/dist/canvas-controller-851afae4.js +2 -0
  10. package/dist/canvas-controller-851afae4.js.map +1 -0
  11. package/dist/canvas-controller-b856cfa3.js +2 -0
  12. package/dist/canvas-controller-b856cfa3.js.map +1 -0
  13. package/dist/canvas-logger-815781bb.js.map +1 -1
  14. package/dist/canvas-logger-a0f1beaa.js.map +1 -1
  15. package/dist/common-canvas-65512584.js +2 -0
  16. package/dist/common-canvas-65512584.js.map +1 -0
  17. package/dist/common-canvas-a2d6b5af.js +2 -0
  18. package/dist/common-canvas-a2d6b5af.js.map +1 -0
  19. package/dist/common-canvas.es.js +1 -1
  20. package/dist/common-canvas.es.js.map +1 -1
  21. package/dist/common-canvas.js +1 -1
  22. package/dist/common-canvas.js.map +1 -1
  23. package/dist/common-properties-8727d6f9.js +2 -0
  24. package/dist/common-properties-8727d6f9.js.map +1 -0
  25. package/dist/common-properties-87fef545.js +2 -0
  26. package/dist/common-properties-87fef545.js.map +1 -0
  27. package/dist/{datarecord-metadata-v3-schema-d7ad05cd.js → datarecord-metadata-v3-schema-6b6384ff.js} +2 -2
  28. package/dist/{datarecord-metadata-v3-schema-d7ad05cd.js.map → datarecord-metadata-v3-schema-6b6384ff.js.map} +1 -1
  29. package/dist/{datarecord-metadata-v3-schema-bda88f2e.js → datarecord-metadata-v3-schema-81228a9a.js} +2 -2
  30. package/dist/{datarecord-metadata-v3-schema-bda88f2e.js.map → datarecord-metadata-v3-schema-81228a9a.js.map} +1 -1
  31. package/dist/en-7a0f1db1.js +2 -0
  32. package/dist/en-7a0f1db1.js.map +1 -0
  33. package/dist/en-8647c347.js +2 -0
  34. package/dist/en-8647c347.js.map +1 -0
  35. package/dist/{extends-39f57612.js → extends-cf86ca1c.js} +2 -2
  36. package/dist/{extends-39f57612.js.map → extends-cf86ca1c.js.map} +1 -1
  37. package/dist/extends-e9462902.js +7 -0
  38. package/dist/{extends-51d9ddcc.js.map → extends-e9462902.js.map} +1 -1
  39. package/dist/flexible-table-d4a68ebb.js +2 -0
  40. package/dist/flexible-table-d4a68ebb.js.map +1 -0
  41. package/dist/flexible-table-f0c164d2.js +2 -0
  42. package/dist/flexible-table-f0c164d2.js.map +1 -0
  43. package/dist/{icon-d6909a68.js → icon-c85b53bd.js} +2 -2
  44. package/dist/{icon-d6909a68.js.map → icon-c85b53bd.js.map} +1 -1
  45. package/dist/{icon-811ffddd.js → icon-caf4caca.js} +2 -2
  46. package/dist/{icon-811ffddd.js.map → icon-caf4caca.js.map} +1 -1
  47. package/dist/index-beefcd21.js +2 -0
  48. package/dist/index-beefcd21.js.map +1 -0
  49. package/dist/index-fb90b885.js +2 -0
  50. package/dist/index-fb90b885.js.map +1 -0
  51. package/dist/isArrayLikeObject-a9c7973b.js +2 -0
  52. package/dist/isArrayLikeObject-a9c7973b.js.map +1 -0
  53. package/dist/isArrayLikeObject-f3b27f64.js +2 -0
  54. package/dist/isArrayLikeObject-f3b27f64.js.map +1 -0
  55. package/dist/lib/canvas-controller.es.js +1 -1
  56. package/dist/lib/canvas-controller.js +1 -1
  57. package/dist/lib/canvas.es.js +1 -1
  58. package/dist/lib/canvas.js +1 -1
  59. package/dist/lib/command-stack.es.js +1 -1
  60. package/dist/lib/command-stack.es.js.map +1 -1
  61. package/dist/lib/command-stack.js +1 -1
  62. package/dist/lib/command-stack.js.map +1 -1
  63. package/dist/lib/context-menu.es.js +1 -1
  64. package/dist/lib/context-menu.es.js.map +1 -1
  65. package/dist/lib/context-menu.js +1 -1
  66. package/dist/lib/context-menu.js.map +1 -1
  67. package/dist/lib/properties/field-picker.es.js +1 -1
  68. package/dist/lib/properties/field-picker.js +1 -1
  69. package/dist/lib/properties/flexible-table.es.js +1 -1
  70. package/dist/lib/properties/flexible-table.js +1 -1
  71. package/dist/lib/properties.es.js +1 -1
  72. package/dist/lib/properties.js +1 -1
  73. package/dist/lib/tooltip.es.js +1 -1
  74. package/dist/lib/tooltip.es.js.map +1 -1
  75. package/dist/lib/tooltip.js +1 -1
  76. package/dist/lib/tooltip.js.map +1 -1
  77. package/dist/styles/common-canvas.min.css +1 -1
  78. package/dist/styles/common-canvas.min.css.map +1 -1
  79. package/dist/{toolbar-335252dd.js → toolbar-a5ec3435.js} +2 -2
  80. package/dist/{toolbar-85e6c77b.js.map → toolbar-a5ec3435.js.map} +1 -1
  81. package/dist/{toolbar-85e6c77b.js → toolbar-cca1d9a9.js} +2 -2
  82. package/dist/{toolbar-335252dd.js.map → toolbar-cca1d9a9.js.map} +1 -1
  83. package/locales/command-actions/locales/en.json +8 -8
  84. package/locales/command-actions/locales/eo.json +8 -8
  85. package/locales/common-canvas/locales/en.json +3 -1
  86. package/locales/common-canvas/locales/eo.json +2 -0
  87. package/package.json +9 -10
  88. package/src/command-actions/sizeAndPositionObjectsAction.js +5 -0
  89. package/src/command-stack/command-stack.js +16 -30
  90. package/src/command-stack/internal-stack.js +89 -0
  91. package/src/common-canvas/canvas-controller.js +41 -4
  92. package/src/common-canvas/cc-contents.jsx +6 -1
  93. package/src/common-canvas/cc-toolbar.jsx +14 -4
  94. package/src/common-canvas/common-canvas-utils.js +55 -1
  95. package/src/common-canvas/common-canvas.scss +3 -1
  96. package/src/common-canvas/constants/canvas-constants.js +12 -0
  97. package/src/common-canvas/svg-canvas-d3.js +8 -0
  98. package/src/common-canvas/svg-canvas-renderer.js +300 -77
  99. package/src/common-canvas/svg-canvas-utils-links.js +61 -26
  100. package/src/common-properties/actions/button/button.jsx +45 -13
  101. package/src/common-properties/actions/button/button.scss +4 -8
  102. package/src/common-properties/common-properties.jsx +2 -1
  103. package/src/common-properties/components/control-item/control-item.jsx +7 -1
  104. package/src/common-properties/components/field-picker/field-picker.jsx +7 -8
  105. package/src/common-properties/components/flexible-table/flexible-table.jsx +45 -10
  106. package/src/common-properties/components/virtualized-table/virtualized-table.jsx +72 -20
  107. package/src/common-properties/constants/constants.js +18 -0
  108. package/src/common-properties/controls/abstract-table.jsx +3 -3
  109. package/src/common-properties/controls/checkbox/checkbox.jsx +6 -0
  110. package/src/common-properties/controls/expression/expression-builder/expression-select-field-function.jsx +4 -2
  111. package/src/common-properties/controls/expression/expression.jsx +1 -1
  112. package/src/common-properties/controls/expression/expression.scss +2 -0
  113. package/src/common-properties/controls/multiselect/multiselect.jsx +4 -4
  114. package/src/common-properties/controls/someofselect/someofselect.jsx +1 -1
  115. package/src/common-properties/form/ActionInfo.js +3 -1
  116. package/src/common-properties/form/EditorForm.js +7 -3
  117. package/src/common-properties/properties-controller.js +2 -1
  118. package/src/common-properties/properties-main/properties-main.jsx +4 -2
  119. package/src/common-properties/util/L10nProvider.js +3 -0
  120. package/src/object-model/api-pipeline.js +7 -11
  121. package/src/object-model/config-utils.js +1 -0
  122. package/src/object-model/object-model.js +73 -22
  123. package/src/object-model/pipeline-in-handler.js +8 -0
  124. package/src/object-model/pipeline-out-handler.js +5 -0
  125. package/src/object-model/redux/canvas-store.js +16 -0
  126. package/src/object-model/redux/reducers/canvasinfo.js +12 -8
  127. package/src/object-model/redux/reducers/canvastoolbar.js +6 -0
  128. package/src/object-model/redux/reducers/nodes.js +11 -0
  129. package/src/toolbar/toolbar-action-item.jsx +2 -2
  130. package/src/tooltip/tooltip.jsx +30 -1
  131. package/src/tooltip/tooltip.scss +11 -0
  132. package/stats.html +1 -1
  133. package/dist/canvas-constants-7f93e705.js +0 -2
  134. package/dist/canvas-constants-7f93e705.js.map +0 -1
  135. package/dist/canvas-constants-ac5daafb.js +0 -2
  136. package/dist/canvas-constants-ac5daafb.js.map +0 -1
  137. package/dist/canvas-controller-09d0c333.js +0 -2
  138. package/dist/canvas-controller-09d0c333.js.map +0 -1
  139. package/dist/canvas-controller-c2793ca2.js +0 -2
  140. package/dist/canvas-controller-c2793ca2.js.map +0 -1
  141. package/dist/common-canvas-5b046a86.js +0 -2
  142. package/dist/common-canvas-5b046a86.js.map +0 -1
  143. package/dist/common-canvas-985cc0a2.js +0 -2
  144. package/dist/common-canvas-985cc0a2.js.map +0 -1
  145. package/dist/common-properties-4f471b2b.js +0 -2
  146. package/dist/common-properties-4f471b2b.js.map +0 -1
  147. package/dist/common-properties-9161cd27.js +0 -2
  148. package/dist/common-properties-9161cd27.js.map +0 -1
  149. package/dist/en-2ed89528.js +0 -2
  150. package/dist/en-2ed89528.js.map +0 -1
  151. package/dist/en-e93855cc.js +0 -2
  152. package/dist/en-e93855cc.js.map +0 -1
  153. package/dist/extends-51d9ddcc.js +0 -7
  154. package/dist/flexible-table-154a3359.js +0 -2
  155. package/dist/flexible-table-154a3359.js.map +0 -1
  156. package/dist/flexible-table-5e4a1e6d.js +0 -2
  157. package/dist/flexible-table-5e4a1e6d.js.map +0 -1
  158. package/dist/index-4fd90a14.js +0 -2
  159. package/dist/index-4fd90a14.js.map +0 -1
  160. package/dist/index-6d138021.js +0 -2
  161. package/dist/index-6d138021.js.map +0 -1
  162. package/dist/isArrayLikeObject-31e5e646.js +0 -2
  163. package/dist/isArrayLikeObject-31e5e646.js.map +0 -1
  164. package/dist/isArrayLikeObject-7c33c7fd.js +0 -2
  165. package/dist/isArrayLikeObject-7c33c7fd.js.map +0 -1
@@ -230,7 +230,12 @@ class CanvasContents extends React.Component {
230
230
  // the boundaries of the canvas or sets the mousePos to null. This position
231
231
  // info can be used with keyboard operations.
232
232
  onMouseMove(e) {
233
- if (e.target.className.baseVal === "svg-area" || e.target.className.baseVal === "d3-svg-background") {
233
+ if (e.target &&
234
+ e.target.className &&
235
+ (
236
+ e.target.className.baseVal === "svg-area" ||
237
+ e.target.className.baseVal === "d3-svg-background"
238
+ )) {
234
239
  this.mousePos = {
235
240
  x: e.clientX,
236
241
  y: e.clientY
@@ -35,9 +35,9 @@ class CommonCanvasToolbar extends React.Component {
35
35
  this.logger = new Logger("CC-Toolbar");
36
36
  }
37
37
 
38
- getLabel(labelId) {
38
+ getLabel(labelId, substituteObj) {
39
39
  const defaultMessage = defaultMessages[labelId] ? defaultMessages[labelId] : defaultToolbarMessages[labelId];
40
- return this.props.intl.formatMessage({ id: labelId, defaultMessage: defaultMessage });
40
+ return this.props.intl.formatMessage({ id: labelId, defaultMessage: defaultMessage }, substituteObj);
41
41
  }
42
42
 
43
43
  // Returns the default toolbar which is shown if the user does not specify
@@ -215,6 +215,10 @@ class CommonCanvasToolbar extends React.Component {
215
215
  this.applyToolState("createAutoComment", toolbarConfig, editingAllowed);
216
216
  this.applyToolState("arrangeHorizontally", toolbarConfig, editingAllowed);
217
217
  this.applyToolState("arrangeVertically", toolbarConfig, editingAllowed);
218
+ // editingAllowed = false doesn't stop zoom capability
219
+ this.applyToolState("zoomIn", toolbarConfig, this.props.canZoomIn);
220
+ this.applyToolState("zoomOut", toolbarConfig, this.props.canZoomOut);
221
+ this.applyToolState("zoomToFit", toolbarConfig, this.props.canZoomToFit);
218
222
  }
219
223
  return toolbarConfig;
220
224
  }
@@ -226,13 +230,13 @@ class CommonCanvasToolbar extends React.Component {
226
230
  if (undoLabel) {
227
231
  const undoTool = this.findTool("undo", toolbarConfig);
228
232
  if (undoTool) {
229
- undoTool.label += ": " + undoLabel;
233
+ undoTool.label = this.getLabel("canvas.undoCommand", { undo_command: undoLabel });
230
234
  }
231
235
  }
232
236
  if (redoLabel) {
233
237
  const redoTool = this.findTool("redo", toolbarConfig);
234
238
  if (redoTool) {
235
- redoTool.label += ": " + redoLabel;
239
+ redoTool.label = this.getLabel("canvas.redoCommand", { redo_command: redoLabel });
236
240
  }
237
241
  }
238
242
  return toolbarConfig;
@@ -304,6 +308,9 @@ CommonCanvasToolbar.propTypes = {
304
308
  canCutCopy: PropTypes.bool,
305
309
  canPaste: PropTypes.bool,
306
310
  canDelete: PropTypes.bool,
311
+ canZoomIn: PropTypes.bool,
312
+ canZoomOut: PropTypes.bool,
313
+ canZoomToFit: PropTypes.bool,
307
314
  undoLabel: PropTypes.string,
308
315
  redoLabel: PropTypes.string
309
316
  };
@@ -323,6 +330,9 @@ const mapStateToProps = (state, ownProps) => ({
323
330
  canCutCopy: ownProps.canvasController.canCutCopy(),
324
331
  canPaste: ownProps.canvasController.canPaste(),
325
332
  canDelete: ownProps.canvasController.canDelete(),
333
+ canZoomIn: ownProps.canvasController.canZoomIn(),
334
+ canZoomOut: ownProps.canvasController.canZoomOut(),
335
+ canZoomToFit: ownProps.canvasController.canZoomToFit(),
326
336
  undoLabel: ownProps.canvasController.getUndoLabel(),
327
337
  redoLabel: ownProps.canvasController.getRedoLabel()
328
338
  });
@@ -19,7 +19,8 @@
19
19
  // the CanvasRender objects.
20
20
 
21
21
  import { get, set } from "lodash";
22
- import { ASSOCIATION_LINK, ASSOC_STRAIGHT, COMMENT_LINK, NODE_LINK, LINK_TYPE_STRAIGHT, SUPER_NODE }
22
+ import { ASSOCIATION_LINK, ASSOC_STRAIGHT, COMMENT_LINK, NODE_LINK,
23
+ LINK_TYPE_STRAIGHT, SUPER_NODE, NORTH, SOUTH, EAST, WEST }
23
24
  from "../common-canvas/constants/canvas-constants.js";
24
25
 
25
26
 
@@ -356,6 +357,56 @@ export default class CanvasUtils {
356
357
  return { x: startPointX, y: startPointY };
357
358
  }
358
359
 
360
+ // Returns a direction NORTH, SOUTH, EAST or WEST which is the direction
361
+ // from the origin position within the rectangle described by x, y, w and h
362
+ // to the end position described by endX and endY.
363
+ static getDir(x, y, w, h, originX, originY, endX, endY) {
364
+ const bottomEdge = y + h;
365
+
366
+ // The origin may not be in the center of the node rectangle so offset left
367
+ // and right may be different and also top and bottom.
368
+ const originTopOffsetY = originY - y;
369
+ const originLeftOffsetX = originX - x;
370
+
371
+ const originToEndX = originX - endX;
372
+ const originToEndY = originY - endY;
373
+
374
+ let dir = "";
375
+
376
+ if (originToEndX === 0) {
377
+ dir = (endY < originY) ? NORTH : SOUTH;
378
+
379
+ } else if (endX > originX) {
380
+ const rightEdge = x + w;
381
+ const topRightRatio = originTopOffsetY / (originX - rightEdge);
382
+ const botRightRatio = (originY - bottomEdge) / (originX - rightEdge);
383
+ const ratioRight = originToEndY / originToEndX;
384
+
385
+ if (ratioRight < topRightRatio) {
386
+ dir = NORTH;
387
+ } else if (ratioRight > botRightRatio) {
388
+ dir = SOUTH;
389
+ } else {
390
+ dir = EAST;
391
+ }
392
+ // End point is to the left of center
393
+ } else {
394
+ const topLeftRatio = originTopOffsetY / originLeftOffsetX;
395
+ const botLeftRatio = (originY - bottomEdge) / originLeftOffsetX;
396
+ const ratioLeft = originToEndY / originToEndX;
397
+
398
+ if (ratioLeft > topLeftRatio) {
399
+ dir = NORTH;
400
+ } else if (ratioLeft < botLeftRatio) {
401
+ dir = SOUTH;
402
+ } else {
403
+ dir = WEST;
404
+ }
405
+ }
406
+
407
+ return dir;
408
+ }
409
+
359
410
  // Returns true if the line described by x1, y1, x2, y2 either intersects or
360
411
  // is fully inside the rectangle described by rx1, ry1, rx2, ry2.
361
412
  static lineIntersectRectangle(x1, y1, x2, y2, rx1, ry1, rx2, ry2) {
@@ -892,6 +943,9 @@ export default class CanvasUtils {
892
943
  return this.isSupernode(node) && this.isExpanded(node);
893
944
  }
894
945
 
946
+ static isCollapsedSupernode(node) {
947
+ return this.isSupernode(node) && !this.isExpanded(node);
948
+ }
895
949
  // Returns true if the node passed in is a binding node in a subflow
896
950
  // for a supernode.
897
951
  static isSuperBindingNode(d) {
@@ -95,9 +95,11 @@ $bottom-panel-height: 393px;
95
95
  }
96
96
 
97
97
  .bottom-panel-drag {
98
- background: $palette-border-color;
98
+ border-top: $palette-border-color;
99
99
  cursor: row-resize;
100
100
  flex: 0 0 2px;
101
+ border-top-width: 1px;
102
+ background: $ui-01;
101
103
  transition: all 0.2s ease-in;
102
104
  &:hover {
103
105
  background: $interactive-01;
@@ -74,6 +74,11 @@ export const STATE_TAG_NONE = "None";
74
74
  export const STATE_TAG_LOCKED = "Locked";
75
75
  export const STATE_TAG_READ_ONLY = "ReadOnly";
76
76
 
77
+ // Values for enableSaveZoom
78
+ export const SAVE_ZOOM_NONE = "None";
79
+ export const SAVE_ZOOM_PIPELINE_FLOW = "Pipelineflow";
80
+ export const SAVE_ZOOM_LOCAL_STORAGE = "LocalStorage";
81
+
77
82
  export const ERROR = "error";
78
83
  export const WARNING = "warning";
79
84
  export const INFO = "info";
@@ -141,6 +146,13 @@ export const SAVED_NODES_CATEGORY_ID = "savedNodes";
141
146
  export const USE_DEFAULT_ICON = "useDefaultIcon";
142
147
  export const USE_DEFAULT_EXT_ICON = "useDefaultExtIcon";
143
148
 
149
+ // Directions
150
+ export const NORTH = "n";
151
+ export const SOUTH = "s";
152
+ export const EAST = "e";
153
+ export const WEST = "w";
154
+
155
+
144
156
  export const CONTEXT_MENU_BUTTON = 2;
145
157
 
146
158
  export const CANVAS_CARBON_ICONS = {
@@ -141,6 +141,14 @@ export default class SVGCanvasD3 {
141
141
  this.renderer.zoomToFit();
142
142
  }
143
143
 
144
+ isZoomedToMax() {
145
+ return this.renderer ? this.renderer.isZoomedToMax() : false;
146
+ }
147
+
148
+ isZoomedToMin() {
149
+ return this.renderer ? this.renderer.isZoomedToMin() : false;
150
+ }
151
+
144
152
  getZoomToReveal(objectIds, xPos, yPos) {
145
153
  return this.renderer ? this.renderer.getZoomToReveal(objectIds, xPos, yPos) : null;
146
154
  }