@elyra/canvas 12.40.1 → 12.42.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.
Files changed (173) hide show
  1. package/dist/{_baseIteratee-05ccf6a8.js → _baseIteratee-148093b7.js} +3 -3
  2. package/dist/{_baseIteratee-05ccf6a8.js.map → _baseIteratee-148093b7.js.map} +1 -1
  3. package/dist/{canvas-constants-079172c0.js → canvas-constants-13b58448.js} +2 -2
  4. package/dist/{canvas-constants-079172c0.js.map → canvas-constants-13b58448.js.map} +1 -1
  5. package/dist/canvas-controller-a53943e4.js +2 -0
  6. package/dist/canvas-controller-a53943e4.js.map +1 -0
  7. package/dist/canvas-controller-cb1d7420.js +2 -0
  8. package/dist/canvas-controller-cb1d7420.js.map +1 -0
  9. package/dist/common-canvas-42027a3f.js +2 -0
  10. package/dist/common-canvas-42027a3f.js.map +1 -0
  11. package/dist/common-canvas-f758ff42.js +2 -0
  12. package/dist/common-canvas-f758ff42.js.map +1 -0
  13. package/dist/common-canvas.es.js +1 -1
  14. package/dist/common-canvas.es.js.map +1 -1
  15. package/dist/common-canvas.js +1 -1
  16. package/dist/common-canvas.js.map +1 -1
  17. package/dist/common-properties-2e1b7ec7.js +2 -0
  18. package/dist/common-properties-2e1b7ec7.js.map +1 -0
  19. package/dist/common-properties-5e8870e3.js +2 -0
  20. package/dist/common-properties-5e8870e3.js.map +1 -0
  21. package/dist/context-menu-wrapper-49f9a1af.js +2 -0
  22. package/dist/context-menu-wrapper-49f9a1af.js.map +1 -0
  23. package/dist/context-menu-wrapper-5d6a399f.js +2 -0
  24. package/dist/context-menu-wrapper-5d6a399f.js.map +1 -0
  25. package/dist/{datarecord-metadata-v3-schema-59505bc5.js → datarecord-metadata-v3-schema-98ec66e9.js} +2 -2
  26. package/dist/{datarecord-metadata-v3-schema-59505bc5.js.map → datarecord-metadata-v3-schema-98ec66e9.js.map} +1 -1
  27. package/dist/{flexible-table-5ee2a42b.js → flexible-table-35e9922a.js} +2 -2
  28. package/dist/{flexible-table-5ee2a42b.js.map → flexible-table-35e9922a.js.map} +1 -1
  29. package/dist/{flexible-table-562ae288.js → flexible-table-7c7de0f9.js} +1 -1
  30. package/dist/{flexible-table-562ae288.js.map → flexible-table-7c7de0f9.js.map} +1 -1
  31. package/dist/{icon-0390f1fe.js → icon-9edff40c.js} +2 -2
  32. package/dist/{icon-0390f1fe.js.map → icon-9edff40c.js.map} +1 -1
  33. package/dist/{index-fe8d4201.js → index-94fec521.js} +2 -2
  34. package/dist/index-94fec521.js.map +1 -0
  35. package/dist/index-e2f8a935.js +2 -0
  36. package/dist/index-e2f8a935.js.map +1 -0
  37. package/dist/{isArrayLikeObject-36898fcb.js → isArrayLikeObject-7a30aa4b.js} +2 -2
  38. package/dist/{isArrayLikeObject-36898fcb.js.map → isArrayLikeObject-7a30aa4b.js.map} +1 -1
  39. package/dist/lib/canvas-controller.es.js +1 -1
  40. package/dist/lib/canvas-controller.js +1 -1
  41. package/dist/lib/canvas.es.js +1 -1
  42. package/dist/lib/canvas.js +1 -1
  43. package/dist/lib/context-menu.es.js +1 -1
  44. package/dist/lib/context-menu.js +1 -1
  45. package/dist/lib/properties/field-picker.es.js +1 -1
  46. package/dist/lib/properties/field-picker.js +1 -1
  47. package/dist/lib/properties/flexible-table.es.js +1 -1
  48. package/dist/lib/properties/flexible-table.js +1 -1
  49. package/dist/lib/properties.es.js +1 -1
  50. package/dist/lib/properties.js +1 -1
  51. package/dist/lib/tooltip.es.js +1 -1
  52. package/dist/lib/tooltip.es.js.map +1 -1
  53. package/dist/lib/tooltip.js +1 -1
  54. package/dist/lib/tooltip.js.map +1 -1
  55. package/dist/styles/common-canvas.min.css +1 -1
  56. package/dist/styles/common-canvas.min.css.map +1 -1
  57. package/dist/toolbar-6acda0a2.js +2 -0
  58. package/dist/toolbar-6acda0a2.js.map +1 -0
  59. package/dist/toolbar-d5647da2.js +2 -0
  60. package/dist/toolbar-d5647da2.js.map +1 -0
  61. package/locales/common-properties/locales/de.json +1 -0
  62. package/locales/common-properties/locales/es.json +1 -0
  63. package/locales/common-properties/locales/fr.json +1 -0
  64. package/locales/common-properties/locales/it.json +1 -0
  65. package/locales/common-properties/locales/ja.json +1 -0
  66. package/locales/common-properties/locales/ko.json +1 -0
  67. package/locales/common-properties/locales/pt-br.json +1 -0
  68. package/locales/common-properties/locales/sv.json +1 -0
  69. package/locales/common-properties/locales/zh-CN.json +1 -0
  70. package/locales/common-properties/locales/zh-TW.json +1 -0
  71. package/package.json +12 -4
  72. package/src/color-picker/color-picker.jsx +92 -17
  73. package/src/command-actions/arrangeLayoutAction.js +7 -6
  74. package/src/command-actions/attachNodeToLinksAction.js +4 -4
  75. package/src/command-actions/collapseSuperNodeInPlaceAction.js +5 -5
  76. package/src/command-actions/colorSelectedObjectsAction.js +4 -4
  77. package/src/command-actions/commonPropertiesAction.js +1 -1
  78. package/src/command-actions/convertSuperNodeExternalToLocalAction.js +4 -4
  79. package/src/command-actions/convertSuperNodeLocalToExternalAction.js +4 -4
  80. package/src/command-actions/createAutoNodeAction.js +14 -5
  81. package/src/command-actions/createCommentAction.js +4 -10
  82. package/src/command-actions/createCommentLinkAction.js +4 -4
  83. package/src/command-actions/createNodeAction.js +13 -4
  84. package/src/command-actions/createNodeAttachLinksAction.js +4 -4
  85. package/src/command-actions/createNodeLinkAction.js +13 -4
  86. package/src/command-actions/createNodeLinkDetachedAction.js +4 -4
  87. package/src/command-actions/createNodeOnLinkAction.js +4 -4
  88. package/src/command-actions/createSuperNodeAction.js +7 -7
  89. package/src/command-actions/deconstructSuperNodeAction.js +5 -5
  90. package/src/command-actions/deleteLinkAction.js +4 -4
  91. package/src/command-actions/deleteObjectsAction.js +15 -6
  92. package/src/command-actions/disconnectObjectsAction.js +13 -4
  93. package/src/command-actions/displayPreviousPipelineAction.js +4 -4
  94. package/src/command-actions/displaySubPipelineAction.js +4 -4
  95. package/src/command-actions/editCommentAction.js +4 -4
  96. package/src/command-actions/editDecorationLabelAction.js +4 -4
  97. package/src/command-actions/expandSuperNodeInPlaceAction.js +5 -5
  98. package/src/command-actions/insertNodeIntoLinkAction.js +4 -4
  99. package/src/command-actions/moveObjectsAction.js +4 -4
  100. package/src/command-actions/pasteAction.js +16 -7
  101. package/src/command-actions/saveToPaletteAction.js +4 -4
  102. package/src/command-actions/setLinksStyleAction.js +4 -4
  103. package/src/command-actions/setNodeLabelAction.js +4 -4
  104. package/src/command-actions/setObjectsStyleAction.js +4 -4
  105. package/src/command-actions/sizeAndPositionObjectsAction.js +4 -4
  106. package/src/command-actions/updateLinkAction.js +4 -4
  107. package/src/common-canvas/canvas-controller-menu-utils.js +1 -1
  108. package/src/common-canvas/canvas-controller.js +78 -62
  109. package/src/common-canvas/cc-central-items.jsx +1 -1
  110. package/src/common-canvas/cc-context-toolbar.jsx +9 -13
  111. package/src/common-canvas/cc-toolbar.jsx +2 -0
  112. package/src/common-canvas/svg-canvas-d3.scss +1 -1
  113. package/src/common-canvas/svg-canvas-renderer.js +6 -2
  114. package/src/common-canvas/svg-canvas-utils-drag-det-link.js +8 -1
  115. package/src/common-canvas/svg-canvas-utils-drag-new-link.js +1 -1
  116. package/src/common-properties/components/table-buttons/table-buttons.scss +0 -1
  117. package/src/common-properties/components/wide-flyout/wide-flyout.scss +1 -2
  118. package/src/common-properties/constants/form-constants.js +1 -0
  119. package/src/common-properties/controls/control-factory.js +6 -1
  120. package/src/common-properties/controls/controls.scss +1 -0
  121. package/src/common-properties/controls/expression/expression-builder/expression-builder.jsx +32 -26
  122. package/src/common-properties/controls/expression/expression.jsx +146 -117
  123. package/src/common-properties/controls/expression/expression.scss +43 -45
  124. package/src/common-properties/controls/expression/languages/CLEM-hint.js +86 -159
  125. package/src/common-properties/controls/expression/languages/python-hint.js +53 -104
  126. package/src/common-properties/controls/expression/languages/r-hint.js +55 -130
  127. package/src/{toolbar/toolbar-utils.js → common-properties/controls/slider/index.js} +2 -17
  128. package/src/common-properties/controls/slider/slider.jsx +96 -0
  129. package/src/common-properties/controls/slider/slider.scss +44 -0
  130. package/src/common-properties/form/ControlInfo.js +6 -0
  131. package/src/common-properties/form/EditorForm.js +2 -0
  132. package/src/common-properties/form/ParameterInfo.js +8 -0
  133. package/src/common-properties/properties-controller.js +16 -5
  134. package/src/context-menu/common-context-menu.jsx +4 -1
  135. package/src/index.js +12 -2
  136. package/src/object-model/redux/canvas-store.js +4 -3
  137. package/src/toolbar/toolbar-action-item.jsx +90 -314
  138. package/src/toolbar/toolbar-button-item.jsx +354 -0
  139. package/src/toolbar/toolbar-divider-item.jsx +3 -4
  140. package/src/toolbar/toolbar-overflow-item.jsx +82 -36
  141. package/src/toolbar/toolbar-sub-menu-item.jsx +235 -0
  142. package/src/toolbar/toolbar-sub-menu.jsx +254 -0
  143. package/src/toolbar/toolbar-sub-panel.jsx +81 -0
  144. package/src/toolbar/toolbar-sub-utils.js +77 -0
  145. package/src/toolbar/toolbar.jsx +330 -146
  146. package/src/toolbar/toolbar.scss +22 -15
  147. package/src/tooltip/tooltip.jsx +21 -2
  148. package/stats.html +1 -1
  149. package/dist/canvas-controller-1e71b405.js +0 -2
  150. package/dist/canvas-controller-1e71b405.js.map +0 -1
  151. package/dist/canvas-controller-4bed5320.js +0 -2
  152. package/dist/canvas-controller-4bed5320.js.map +0 -1
  153. package/dist/common-canvas-318df796.js +0 -2
  154. package/dist/common-canvas-318df796.js.map +0 -1
  155. package/dist/common-canvas-d41ba910.js +0 -2
  156. package/dist/common-canvas-d41ba910.js.map +0 -1
  157. package/dist/common-properties-6e904e3b.js +0 -2
  158. package/dist/common-properties-6e904e3b.js.map +0 -1
  159. package/dist/common-properties-c91bfb31.js +0 -2
  160. package/dist/common-properties-c91bfb31.js.map +0 -1
  161. package/dist/context-menu-wrapper-3a7fdec8.js +0 -2
  162. package/dist/context-menu-wrapper-3a7fdec8.js.map +0 -1
  163. package/dist/context-menu-wrapper-fc85d853.js +0 -2
  164. package/dist/context-menu-wrapper-fc85d853.js.map +0 -1
  165. package/dist/index-8e8b8729.js +0 -2
  166. package/dist/index-8e8b8729.js.map +0 -1
  167. package/dist/index-fe8d4201.js.map +0 -1
  168. package/dist/toolbar-b01e6749.js +0 -2
  169. package/dist/toolbar-b01e6749.js.map +0 -1
  170. package/dist/toolbar-fd4e4a3a.js +0 -2
  171. package/dist/toolbar-fd4e4a3a.js.map +0 -1
  172. package/src/toolbar/toolbar-action-sub-area.jsx +0 -126
  173. package/src/toolbar/toolbar-overflow-menu.jsx +0 -77
@@ -37,6 +37,11 @@ $toolbar-divider-width: 1px;
37
37
  /* Prevent elements from being dragged onto canvas */
38
38
  -webkit-user-drag: none;
39
39
 
40
+ &:focus {
41
+ border-color: $interactive-01;
42
+ box-shadow: inset 0 0 0 1px $interactive-01, inset 0 0 0 2px $ui-background;
43
+ }
44
+
40
45
  /* Small size toolbar */
41
46
  &.toolbar-size-small {
42
47
  height: $toolbar-button-sm-height;
@@ -51,7 +56,7 @@ $toolbar-divider-width: 1px;
51
56
  height: $toolbar-button-sm-height;
52
57
  }
53
58
 
54
- .toolbar-overflow-menu-item {
59
+ .toolbar-sub-menu-item {
55
60
  height: fit-content;
56
61
  }
57
62
 
@@ -66,10 +71,6 @@ $toolbar-divider-width: 1px;
66
71
  padding: 0;
67
72
  }
68
73
 
69
- .toolbar-popover-list {
70
- top: calc(#{$toolbar-button-sm-height} + #{$toolbar-divider-width} - 1px);
71
- }
72
-
73
74
  .toolbar-jsx-item {
74
75
  height: $toolbar-button-sm-height;
75
76
  }
@@ -144,7 +145,7 @@ $toolbar-divider-width: 1px;
144
145
  }
145
146
  }
146
147
 
147
- .toolbar-spacer {
148
+ .toolbar-overflow-container {
148
149
  width: 0;
149
150
  display: inline-block;
150
151
  }
@@ -171,7 +172,7 @@ $toolbar-divider-width: 1px;
171
172
  }
172
173
  }
173
174
 
174
- .toolbar-overflow-menu-item {
175
+ .toolbar-sub-menu-item {
175
176
  & button {
176
177
  width: 100%;
177
178
  padding-top: 0;
@@ -269,7 +270,7 @@ $toolbar-divider-width: 1px;
269
270
  padding: 0;
270
271
  }
271
272
 
272
- .toolbar-overflow-jsx-item {
273
+ .toolbar-sub-menu-jsx-item {
273
274
  width: 100%;
274
275
  height: 38px;
275
276
  display: inline-flex;
@@ -288,6 +289,10 @@ $toolbar-divider-width: 1px;
288
289
  box-shadow: none;
289
290
  border-bottom: 2px solid $interactive-01;
290
291
  }
292
+ & button:focus {
293
+ border-color: $interactive-01;
294
+ box-shadow: inset 0 0 0 1px $interactive-01, inset 0 0 0 2px $ui-background;
295
+ }
291
296
  }
292
297
  }
293
298
 
@@ -306,24 +311,26 @@ $toolbar-divider-width: 1px;
306
311
 
307
312
  .toolbar-popover-list {
308
313
  width: 200px;
309
- z-index: 1;
310
- top: calc(#{$toolbar-button-height} + #{$toolbar-divider-width});
314
+ z-index: 2; // Make sure sub-area appears above bottom panel
311
315
  display: block;
312
- position: absolute;
316
+ position: fixed; // Actual position will be calculated in the code
313
317
  list-style-type: none;
314
318
  padding: 0;
315
319
  border: $toolbar-divider-width solid $ui-03;
316
320
  background-color: $ui-01;
321
+ opacity: 0;
322
+ animation: tovisible 0.25s ease-in-out forwards; // Use keyframe to animate panel visibility
317
323
 
318
324
  &.submenu {
319
- // Position will be calculated in the code
320
- position: fixed;
321
325
  min-width: 100px;
322
326
  }
323
327
 
324
328
  &.subpanel {
325
- // Position will be calculated in the code
326
- position: fixed;
327
329
  width: fit-content;
328
330
  }
329
331
  }
332
+
333
+ @keyframes tovisible {
334
+ 100% { opacity: 1; }
335
+ }
336
+
@@ -32,6 +32,7 @@ class ToolTip extends React.Component {
32
32
  this.uuid = uuid4();
33
33
  this.pendingTooltip = null;
34
34
  this.hideTooltipOnScrollAndResize = this.hideTooltipOnScrollAndResize.bind(this);
35
+ this.tabKeyPressed = false;
35
36
  }
36
37
 
37
38
  componentDidMount() {
@@ -82,6 +83,12 @@ class ToolTip extends React.Component {
82
83
  }
83
84
  }
84
85
 
86
+ setKeyPressed(evt) {
87
+ if (evt.key === "Tab") {
88
+ this.tabKeyPressed = true;
89
+ }
90
+ }
91
+
85
92
  getStyleValue(value) {
86
93
  return value + "px";
87
94
  }
@@ -337,11 +344,22 @@ class ToolTip extends React.Component {
337
344
  const mousedown = () => this.setTooltipVisible(false);
338
345
  // `focus` event occurs before `click`. Adding timeout in onFocus function to ensure click is executed first.
339
346
  // Ref - https://stackoverflow.com/a/49512400
347
+ const onKeyDown = (evt) => this.setKeyPressed(evt);
340
348
  const onFocus = () => this.showTooltipWithDelay();
341
349
  const onBlur = (evt) => {
342
- // Keep tooltip visible when clicked on a link.
343
- if (evt.relatedTarget === null) {
350
+ // Close the tooltip if tab is click
351
+ if (this.tabKeyPressed) {
344
352
  this.setTooltipVisible(false);
353
+ this.tabKeyPressed = false;
354
+ } else {
355
+ // Check if evt.relatedTarget is a child of .common-canvas-tooltip to set tooltip visible when clicked on link
356
+ const el = evt?.relatedTarget?.closest(".common-canvas-tooltip");
357
+ if (el?.tagName?.toLowerCase() === "div") {
358
+ this.setTooltipVisible(true);
359
+ } else {
360
+ // Close the tooltip if evt.relatedTarget is not a child of .common-canvas-tooltip
361
+ this.setTooltipVisible(false);
362
+ }
345
363
  }
346
364
  };
347
365
  const click = (evt) => this.toggleTooltipOnClick(evt);
@@ -355,6 +373,7 @@ class ToolTip extends React.Component {
355
373
  onClick={this.props.showToolTipOnClick ? click : null}
356
374
  onFocus={this.props.showToolTipOnClick ? onFocus : null} // When focused using keyboard
357
375
  onBlur={this.props.showToolTipOnClick ? onBlur : null}
376
+ onKeyDown={this.props.showToolTipOnClick ? onKeyDown : null}
358
377
  tabIndex={this.props.showToolTipOnClick ? 0 : null}
359
378
  role={this.props.showToolTipOnClick ? "button" : null}
360
379
  aria-labelledby={this.props.showToolTipOnClick ? `${this.uuid}-${this.props.id}` : null}