@elyra/canvas 12.31.2 → 12.32.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 (143) hide show
  1. package/dist/_baseIteratee-e1311552.js +8 -0
  2. package/dist/_baseIteratee-e1311552.js.map +1 -0
  3. package/dist/_baseIteratee-eabd2a94.js +7 -0
  4. package/dist/_baseIteratee-eabd2a94.js.map +1 -0
  5. package/dist/canvas-constants-72222288.js +2 -0
  6. package/dist/{canvas-constants-187a30d5.js.map → canvas-constants-72222288.js.map} +1 -1
  7. package/dist/{canvas-constants-5fb4e9b8.js → canvas-constants-903046ab.js} +2 -2
  8. package/dist/{canvas-constants-5fb4e9b8.js.map → canvas-constants-903046ab.js.map} +1 -1
  9. package/dist/canvas-controller-69928ea7.js +2 -0
  10. package/dist/canvas-controller-69928ea7.js.map +1 -0
  11. package/dist/canvas-controller-978f3e99.js +2 -0
  12. package/dist/canvas-controller-978f3e99.js.map +1 -0
  13. package/dist/common-canvas-159fb083.js +2 -0
  14. package/dist/common-canvas-159fb083.js.map +1 -0
  15. package/dist/common-canvas-318d3486.js +2 -0
  16. package/dist/common-canvas-318d3486.js.map +1 -0
  17. package/dist/common-canvas.es.js +1 -1
  18. package/dist/common-canvas.es.js.map +1 -1
  19. package/dist/common-canvas.js +1 -1
  20. package/dist/common-canvas.js.map +1 -1
  21. package/dist/common-properties-96c9c88a.js +2 -0
  22. package/dist/common-properties-96c9c88a.js.map +1 -0
  23. package/dist/common-properties-c5292c66.js +2 -0
  24. package/dist/common-properties-c5292c66.js.map +1 -0
  25. package/dist/context-menu-wrapper-5846a20e.js +2 -0
  26. package/dist/context-menu-wrapper-5846a20e.js.map +1 -0
  27. package/dist/context-menu-wrapper-ac5e8c7a.js +2 -0
  28. package/dist/context-menu-wrapper-ac5e8c7a.js.map +1 -0
  29. package/dist/datarecord-metadata-v3-schema-64329ae4.js +2 -0
  30. package/dist/datarecord-metadata-v3-schema-64329ae4.js.map +1 -0
  31. package/dist/datarecord-metadata-v3-schema-dd7370da.js +2 -0
  32. package/dist/datarecord-metadata-v3-schema-dd7370da.js.map +1 -0
  33. package/dist/flexible-table-23d61157.js +2 -0
  34. package/dist/flexible-table-23d61157.js.map +1 -0
  35. package/dist/flexible-table-4259d869.js +2 -0
  36. package/dist/flexible-table-4259d869.js.map +1 -0
  37. package/dist/icon-04f858ce.js +2 -0
  38. package/dist/{icon-111fe072.js.map → icon-04f858ce.js.map} +1 -1
  39. package/dist/icon-8cc7816d.js +2 -0
  40. package/dist/{icon-590f8eb3.js.map → icon-8cc7816d.js.map} +1 -1
  41. package/dist/index-101f9560.js +2 -0
  42. package/dist/{index-157d4b89.js.map → index-101f9560.js.map} +1 -1
  43. package/dist/index-2788d55d.js +2 -0
  44. package/dist/{index-463d0c73.js.map → index-2788d55d.js.map} +1 -1
  45. package/dist/{isArrayLikeObject-6a001191.js → isArrayLikeObject-c0bf3ab6.js} +2 -2
  46. package/dist/{isArrayLikeObject-6a001191.js.map → isArrayLikeObject-c0bf3ab6.js.map} +1 -1
  47. package/dist/lib/canvas-controller.es.js +1 -1
  48. package/dist/lib/canvas-controller.js +1 -1
  49. package/dist/lib/canvas.es.js +1 -1
  50. package/dist/lib/canvas.js +1 -1
  51. package/dist/lib/context-menu.es.js +1 -1
  52. package/dist/lib/context-menu.js +1 -1
  53. package/dist/lib/properties/field-picker.es.js +1 -1
  54. package/dist/lib/properties/field-picker.js +1 -1
  55. package/dist/lib/properties/flexible-table.es.js +1 -1
  56. package/dist/lib/properties/flexible-table.js +1 -1
  57. package/dist/lib/properties.es.js +1 -1
  58. package/dist/lib/properties.js +1 -1
  59. package/dist/lib/tooltip.es.js +1 -1
  60. package/dist/lib/tooltip.es.js.map +1 -1
  61. package/dist/lib/tooltip.js +1 -1
  62. package/dist/lib/tooltip.js.map +1 -1
  63. package/dist/styles/common-canvas.min.css +1 -1
  64. package/dist/styles/common-canvas.min.css.map +1 -1
  65. package/dist/toolbar-12f6def6.js +2 -0
  66. package/dist/toolbar-12f6def6.js.map +1 -0
  67. package/dist/toolbar-55e2020e.js +2 -0
  68. package/dist/toolbar-55e2020e.js.map +1 -0
  69. package/locales/common-properties/locales/de.json +1 -1
  70. package/locales/common-properties/locales/es.json +1 -1
  71. package/locales/common-properties/locales/fr.json +1 -1
  72. package/locales/common-properties/locales/it.json +1 -1
  73. package/locales/common-properties/locales/ja.json +1 -1
  74. package/locales/common-properties/locales/ko.json +1 -1
  75. package/locales/common-properties/locales/pt-br.json +1 -1
  76. package/locales/common-properties/locales/sv.json +1 -1
  77. package/locales/common-properties/locales/zh-CN.json +1 -1
  78. package/locales/common-properties/locales/zh-TW.json +1 -1
  79. package/package.json +1 -1
  80. package/src/color-picker/color-picker.jsx +30 -7
  81. package/src/color-picker/color-picker.scss +1 -1
  82. package/src/color-picker/index.js +18 -0
  83. package/src/command-actions/colorSelectedObjectsAction.js +2 -1
  84. package/src/common-canvas/canvas-controller-menu-utils.js +2 -2
  85. package/src/common-canvas/cc-context-toolbar.jsx +54 -33
  86. package/src/common-canvas/cc-text-toolbar.jsx +8 -15
  87. package/src/common-canvas/common-canvas.scss +8 -15
  88. package/src/common-canvas/constants/canvas-constants.js +1 -0
  89. package/src/common-canvas/svg-canvas-d3.js +1 -1
  90. package/src/common-canvas/svg-canvas-renderer.js +26 -10
  91. package/src/common-canvas/svg-canvas-utils-textarea.js +1 -1
  92. package/src/common-properties/components/flexible-table/flexible-table.jsx +8 -5
  93. package/src/common-properties/ui-conditions/conditions-utils.js +9 -0
  94. package/src/context-menu/common-context-menu.jsx +2 -2
  95. package/src/object-model/config-utils.js +20 -1
  96. package/src/object-model/pipeline-out-handler.js +3 -0
  97. package/src/toolbar/toolbar-action-item.jsx +122 -40
  98. package/src/toolbar/toolbar-action-sub-area.jsx +126 -0
  99. package/src/toolbar/toolbar-overflow-item.jsx +61 -14
  100. package/src/toolbar/toolbar-overflow-menu.jsx +77 -0
  101. package/src/toolbar/toolbar-utils.js +33 -0
  102. package/src/toolbar/toolbar.jsx +17 -24
  103. package/src/toolbar/toolbar.scss +44 -21
  104. package/src/tooltip/tooltip.jsx +5 -7
  105. package/stats.html +1 -1
  106. package/dist/_baseForOwn-33edf1a0.js +0 -8
  107. package/dist/_baseForOwn-33edf1a0.js.map +0 -1
  108. package/dist/_baseForOwn-721741a9.js +0 -7
  109. package/dist/_baseForOwn-721741a9.js.map +0 -1
  110. package/dist/canvas-constants-187a30d5.js +0 -2
  111. package/dist/canvas-controller-3edea15e.js +0 -2
  112. package/dist/canvas-controller-3edea15e.js.map +0 -1
  113. package/dist/canvas-controller-896694e3.js +0 -2
  114. package/dist/canvas-controller-896694e3.js.map +0 -1
  115. package/dist/common-canvas-88479b3e.js +0 -2
  116. package/dist/common-canvas-88479b3e.js.map +0 -1
  117. package/dist/common-canvas-df45ad40.js +0 -2
  118. package/dist/common-canvas-df45ad40.js.map +0 -1
  119. package/dist/common-properties-11732433.js +0 -2
  120. package/dist/common-properties-11732433.js.map +0 -1
  121. package/dist/common-properties-57768e63.js +0 -2
  122. package/dist/common-properties-57768e63.js.map +0 -1
  123. package/dist/context-menu-wrapper-8f68be70.js +0 -2
  124. package/dist/context-menu-wrapper-8f68be70.js.map +0 -1
  125. package/dist/context-menu-wrapper-d1ff456a.js +0 -2
  126. package/dist/context-menu-wrapper-d1ff456a.js.map +0 -1
  127. package/dist/datarecord-metadata-v3-schema-36dfc3cd.js +0 -2
  128. package/dist/datarecord-metadata-v3-schema-36dfc3cd.js.map +0 -1
  129. package/dist/datarecord-metadata-v3-schema-9e9ba30d.js +0 -2
  130. package/dist/datarecord-metadata-v3-schema-9e9ba30d.js.map +0 -1
  131. package/dist/flexible-table-2dc48a79.js +0 -2
  132. package/dist/flexible-table-2dc48a79.js.map +0 -1
  133. package/dist/flexible-table-9e66f95d.js +0 -2
  134. package/dist/flexible-table-9e66f95d.js.map +0 -1
  135. package/dist/icon-111fe072.js +0 -2
  136. package/dist/icon-590f8eb3.js +0 -2
  137. package/dist/index-157d4b89.js +0 -2
  138. package/dist/index-463d0c73.js +0 -2
  139. package/dist/toolbar-3affe026.js +0 -2
  140. package/dist/toolbar-3affe026.js.map +0 -1
  141. package/dist/toolbar-7140292d.js +0 -2
  142. package/dist/toolbar-7140292d.js.map +0 -1
  143. package/src/color-picker/color-picker-panel.jsx +0 -61
@@ -26,20 +26,15 @@ class Toolbar extends React.Component {
26
26
  constructor(props) {
27
27
  super(props);
28
28
 
29
- this.state = {
30
- showExtendedMenuIndex: -1,
31
- subAreaDisplayedForAction: ""
32
- };
33
-
34
29
  this.leftBar = [];
35
30
  this.rightBar = [];
36
31
 
32
+ this.resizeHandler = null;
37
33
  this.onFocus = this.onFocus.bind(this);
38
34
  this.onToolbarResize = this.onToolbarResize.bind(this);
39
- this.toggleExtendedMenu = this.toggleExtendedMenu.bind(this);
40
35
  this.generateExtensionMenuItems = this.generateExtensionMenuItems.bind(this);
41
36
  this.generateToolbarItems = this.generateToolbarItems.bind(this);
42
- this.subMenuActionHandler = this.subMenuActionHandler.bind(this);
37
+ this.setResizeHandler = this.setResizeHandler.bind(this);
43
38
  }
44
39
 
45
40
  // When the toolbar is initially opened the tabindex for each element may not
@@ -64,14 +59,21 @@ class Toolbar extends React.Component {
64
59
  // Close the overflow menu, if it is open, when the toolbar is resized in
65
60
  // case a new menu needs to be displayed with the new toolbar width.
66
61
  onToolbarResize() {
67
- if (this.state.showExtendedMenuIndex > -1) {
68
- this.setState({ showExtendedMenuIndex: -1 });
62
+ if (this.resizeHandler) {
63
+ this.resizeHandler();
69
64
  }
70
65
 
71
66
  this.setLeftBarItemsTabIndex();
72
67
  this.setRightBarItemsTabIndex();
73
68
  }
74
69
 
70
+ // Allows the overflow item or action item to set a function that will be
71
+ // called when the toolbar is resized. This function causes the menu that
72
+ // is currently open to be closed.
73
+ setResizeHandler(resizeHandler) {
74
+ this.resizeHandler = resizeHandler;
75
+ }
76
+
75
77
  // Sets the tabindex on all left bar items so tabbing works correctly. This
76
78
  // falls into two parts: 1. Set the tabindex for all overflow items to -1
77
79
  // except the overflow item that is displayed (if there is one). 2. Set the
@@ -176,10 +178,6 @@ class Toolbar extends React.Component {
176
178
  }
177
179
  }
178
180
 
179
- subMenuActionHandler(action) {
180
- this.setState({ subAreaDisplayedForAction: action });
181
- }
182
-
183
181
  generateToolbarItems(actionDefinitions, overflow, withSpacer) {
184
182
  const newItems = [];
185
183
 
@@ -206,18 +204,17 @@ class Toolbar extends React.Component {
206
204
  />
207
205
  );
208
206
  } else {
209
- const displaySubArea = overflow && this.state.subAreaDisplayedForAction === actionObj.action;
210
207
  jsx = (
211
208
  <ToolbarActionItem
212
209
  key={"toolbar-item-key-" + i}
213
210
  actionObj={actionObj}
214
211
  tooltipDirection={this.props.tooltipDirection}
215
212
  toolbarActionHandler={this.props.toolbarActionHandler}
216
- subMenuActionHandler={this.subMenuActionHandler}
217
213
  generateToolbarItems={this.generateToolbarItems}
218
- displaySubArea={displaySubArea}
214
+ setResizeHandler={this.setResizeHandler}
219
215
  overflow={overflow}
220
216
  instanceId={this.props.instanceId}
217
+ containingDivId={this.props.containingDivId}
221
218
  onFocus={this.onFocus}
222
219
  size={this.props.size}
223
220
  />
@@ -233,9 +230,9 @@ class Toolbar extends React.Component {
233
230
  <ToolbarOverflowItem
234
231
  key={"toolbar-overflow-item-key-" + index}
235
232
  index={index}
236
- showExtendedMenu={this.state.showExtendedMenuIndex === index}
237
- toggleExtendedMenu={this.toggleExtendedMenu}
238
233
  generateExtensionMenuItems={this.generateExtensionMenuItems}
234
+ setResizeHandler={this.setResizeHandler}
235
+ containingDivId={this.props.containingDivId}
239
236
  onFocus={this.onFocus}
240
237
  label={label}
241
238
  size={this.props.size}
@@ -280,11 +277,6 @@ class Toolbar extends React.Component {
280
277
  return newDefItems;
281
278
  }
282
279
 
283
- toggleExtendedMenu(index) {
284
- const newIndex = index === this.state.showExtendedMenuIndex ? -1 : index;
285
- this.setState({ showExtendedMenuIndex: newIndex });
286
- }
287
-
288
280
  render() {
289
281
  this.leftBar = this.props.config.leftBar || [];
290
282
  this.rightBar = this.props.config.rightBar || [];
@@ -312,7 +304,8 @@ class Toolbar extends React.Component {
312
304
 
313
305
  Toolbar.propTypes = {
314
306
  config: PropTypes.object.isRequired,
315
- instanceId: PropTypes.number,
307
+ instanceId: PropTypes.number.isRequired,
308
+ containingDivId: PropTypes.string,
316
309
  toolbarActionHandler: PropTypes.func,
317
310
  tooltipDirection: PropTypes.string,
318
311
  additionalText: PropTypes.object,
@@ -37,29 +37,47 @@ $toolbar-divider-width: 1px;
37
37
  /* Prevent elements from being dragged onto canvas */
38
38
  -webkit-user-drag: none;
39
39
 
40
- /* Small size toolbar used by common-properties */
40
+ /* Small size toolbar */
41
41
  &.toolbar-size-small {
42
42
  height: $toolbar-button-sm-height;
43
+
43
44
  .toolbar-left-bar {
44
45
  padding: 0;
45
46
  }
47
+
46
48
  .toolbar-item button,
47
49
  .toolbar-overflow-item > button {
48
50
  padding: 0;
49
51
  height: $toolbar-button-sm-height;
50
52
  }
53
+
51
54
  .toolbar-overflow-menu-item {
52
55
  height: fit-content;
53
56
  }
57
+
54
58
  .toolbar-item-content {
55
59
  padding: $spacing-02 $spacing-03;
56
60
  height: $toolbar-button-sm-height;
57
61
  align-items: center;
58
62
  min-width: 32px;
59
63
  }
64
+
60
65
  .toolbar-popover-list button {
61
66
  padding: 0;
62
67
  }
68
+
69
+ .toolbar-popover-list {
70
+ top: calc(#{$toolbar-button-sm-height} + #{$toolbar-divider-width} - 1px);
71
+ }
72
+
73
+ .toolbar-jsx-item {
74
+ height: $toolbar-button-sm-height;
75
+ }
76
+
77
+ .toolbar-tick-svg {
78
+ height: $toolbar-button-sm-height;
79
+ width: $toolbar-button-sm-height;
80
+ }
63
81
  }
64
82
  }
65
83
 
@@ -86,7 +104,6 @@ $toolbar-divider-width: 1px;
86
104
 
87
105
  & button {
88
106
  padding: 0;
89
- height: $toolbar-button-height;
90
107
  min-height: 30px;
91
108
  }
92
109
 
@@ -155,12 +172,12 @@ $toolbar-divider-width: 1px;
155
172
  }
156
173
 
157
174
  .toolbar-overflow-menu-item {
158
- height: fit-content;
159
-
160
175
  & button {
161
176
  width: 100%;
162
177
  padding-top: 0;
163
178
  padding-bottom: 0;
179
+ padding-left: 16px;
180
+ padding-right: 16px;
164
181
  min-height: 20px;
165
182
  }
166
183
  }
@@ -222,10 +239,24 @@ $toolbar-divider-width: 1px;
222
239
  }
223
240
  }
224
241
 
225
- .toolbar-size-small {
226
- .toolbar-jsx-item {
227
- height: $toolbar-button-sm-height;
228
- }
242
+ .toolbar-up-down-chevron {
243
+ padding-left: 8px;
244
+ height: 16px;
245
+ pointer-events: none;
246
+ }
247
+
248
+ // Triangular tick mark in bottom right corner of an expandable icon
249
+ .toolbar-tick-svg {
250
+ position: absolute;
251
+ bottom: 0;
252
+ right: 0;
253
+ height: $toolbar-button-height;
254
+ width: $toolbar-button-height;
255
+ pointer-events: none;
256
+ }
257
+
258
+ .toolbar-tick-mark {
259
+ fill: $interactive-02;
229
260
  }
230
261
 
231
262
  .toolbar-jsx-item {
@@ -273,12 +304,6 @@ $toolbar-divider-width: 1px;
273
304
  border-bottom: $toolbar-divider-width solid $ui-03;
274
305
  }
275
306
 
276
- .toolbar-size-small {
277
- .toolbar-popover-list {
278
- top: calc(#{$toolbar-button-sm-height} + #{$toolbar-divider-width});
279
- }
280
- }
281
-
282
307
  .toolbar-popover-list {
283
308
  width: 200px;
284
309
  z-index: 1;
@@ -290,17 +315,15 @@ $toolbar-divider-width: 1px;
290
315
  border: $toolbar-divider-width solid $ui-03;
291
316
  background-color: $ui-01;
292
317
 
293
- & .submenu {
318
+ &.submenu {
319
+ // Position will be calculated in the code
294
320
  position: fixed;
295
- left: 198px; // 200px minus 2px so no gap is left between menu and submenu
296
- top: -34px; // 32px minus 2px
321
+ min-width: 100px;
297
322
  }
298
323
 
299
- & .subpanel {
324
+ &.subpanel {
325
+ // Position will be calculated in the code
300
326
  position: fixed;
301
- left: 198px; // 200px minus 2px so no gap is left between menu and submenu
302
- top: -34px; // 32px minus 2px
303
327
  width: fit-content;
304
328
  }
305
-
306
329
  }
@@ -327,10 +327,6 @@ class ToolTip extends React.Component {
327
327
  }
328
328
  }
329
329
 
330
- tooltipLinkOnClick(url) {
331
- window.open(url, "_blank", "noopener");
332
- }
333
-
334
330
  render() {
335
331
  let tooltipContent = null;
336
332
  let triggerContent = null;
@@ -344,8 +340,7 @@ class ToolTip extends React.Component {
344
340
  const onFocus = () => this.showTooltipWithDelay();
345
341
  const onBlur = (evt) => {
346
342
  // Keep tooltip visible when clicked on a link.
347
- // Since link is an anchor tag without "href" attribute, it has relatedTarget=null
348
- if (evt.relatedTarget !== null) {
343
+ if (evt.relatedTarget === null) {
349
344
  this.setTooltipVisible(false);
350
345
  }
351
346
  };
@@ -400,7 +395,10 @@ class ToolTip extends React.Component {
400
395
  link = (<Link
401
396
  className="tooltip-link"
402
397
  id={this.props.link.id}
403
- onClick={this.tooltipLinkOnClick.bind(this, linkInformation.url)}
398
+ href={linkInformation.url}
399
+ target="_blank"
400
+ rel="noopener"
401
+ visited={false}
404
402
  >
405
403
  {linkInformation.label}
406
404
  </Link>);