@elyra/canvas 12.37.0 → 12.39.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 (77) hide show
  1. package/dist/{_baseIteratee-7fb1949c.js → _baseIteratee-64ab55d0.js} +1 -1
  2. package/dist/{_baseIteratee-7fb1949c.js.map → _baseIteratee-64ab55d0.js.map} +1 -1
  3. package/dist/{_baseIteratee-84bbd39d.js → _baseIteratee-82d2e94c.js} +1 -1
  4. package/dist/{_baseIteratee-84bbd39d.js.map → _baseIteratee-82d2e94c.js.map} +1 -1
  5. package/dist/{canvas-controller-62b66fc8.js → canvas-controller-72deeaf8.js} +2 -2
  6. package/dist/{canvas-controller-76f68572.js.map → canvas-controller-72deeaf8.js.map} +1 -1
  7. package/dist/{canvas-controller-76f68572.js → canvas-controller-e9521210.js} +2 -2
  8. package/dist/{canvas-controller-62b66fc8.js.map → canvas-controller-e9521210.js.map} +1 -1
  9. package/dist/{common-canvas-339584b8.js → common-canvas-a43db74f.js} +2 -2
  10. package/dist/common-canvas-a43db74f.js.map +1 -0
  11. package/dist/{common-canvas-c728f092.js → common-canvas-ddc2f70d.js} +2 -2
  12. package/dist/common-canvas-ddc2f70d.js.map +1 -0
  13. package/dist/common-canvas.es.js +1 -1
  14. package/dist/common-canvas.js +1 -1
  15. package/dist/common-properties-d562c207.js +2 -0
  16. package/dist/common-properties-d562c207.js.map +1 -0
  17. package/dist/common-properties-fdc5d4cf.js +2 -0
  18. package/dist/common-properties-fdc5d4cf.js.map +1 -0
  19. package/dist/{context-menu-wrapper-ab018d6e.js → context-menu-wrapper-925d4e29.js} +1 -1
  20. package/dist/{context-menu-wrapper-ab018d6e.js.map → context-menu-wrapper-925d4e29.js.map} +1 -1
  21. package/dist/{context-menu-wrapper-624a1e7c.js → context-menu-wrapper-c3dc7b0c.js} +1 -1
  22. package/dist/{context-menu-wrapper-624a1e7c.js.map → context-menu-wrapper-c3dc7b0c.js.map} +1 -1
  23. package/dist/{flexible-table-8d10f5c9.js → flexible-table-9ab963ca.js} +2 -2
  24. package/dist/{flexible-table-8d10f5c9.js.map → flexible-table-9ab963ca.js.map} +1 -1
  25. package/dist/{flexible-table-4cf19e2e.js → flexible-table-e7f5eb26.js} +2 -2
  26. package/dist/{flexible-table-4cf19e2e.js.map → flexible-table-e7f5eb26.js.map} +1 -1
  27. package/dist/{icon-8433d369.js → icon-55460c96.js} +2 -2
  28. package/dist/{icon-8433d369.js.map → icon-55460c96.js.map} +1 -1
  29. package/dist/{icon-5e06bfe1.js → icon-5575945c.js} +2 -2
  30. package/dist/{icon-5e06bfe1.js.map → icon-5575945c.js.map} +1 -1
  31. package/dist/{index-9a355ed6.js → index-d85e4531.js} +2 -2
  32. package/dist/{index-9a355ed6.js.map → index-d85e4531.js.map} +1 -1
  33. package/dist/{index-2a61be58.js → index-e1642aed.js} +2 -2
  34. package/dist/{index-2a61be58.js.map → index-e1642aed.js.map} +1 -1
  35. package/dist/lib/canvas-controller.es.js +1 -1
  36. package/dist/lib/canvas-controller.js +1 -1
  37. package/dist/lib/canvas.es.js +1 -1
  38. package/dist/lib/canvas.js +1 -1
  39. package/dist/lib/context-menu.es.js +1 -1
  40. package/dist/lib/context-menu.js +1 -1
  41. package/dist/lib/properties/field-picker.es.js +1 -1
  42. package/dist/lib/properties/field-picker.js +1 -1
  43. package/dist/lib/properties/flexible-table.es.js +1 -1
  44. package/dist/lib/properties/flexible-table.js +1 -1
  45. package/dist/lib/properties.es.js +1 -1
  46. package/dist/lib/properties.js +1 -1
  47. package/dist/styles/common-canvas.min.css +1 -1
  48. package/dist/styles/common-canvas.min.css.map +1 -1
  49. package/dist/{toolbar-85e1e463.js → toolbar-27bfc1eb.js} +2 -2
  50. package/dist/{toolbar-85e1e463.js.map → toolbar-27bfc1eb.js.map} +1 -1
  51. package/dist/{toolbar-76733735.js → toolbar-e62dbaf7.js} +2 -2
  52. package/dist/{toolbar-76733735.js.map → toolbar-e62dbaf7.js.map} +1 -1
  53. package/locales/common-canvas/locales/de.json +1 -0
  54. package/locales/common-canvas/locales/es.json +1 -0
  55. package/locales/common-canvas/locales/fr.json +1 -0
  56. package/locales/common-canvas/locales/it.json +1 -0
  57. package/locales/common-canvas/locales/ja.json +1 -0
  58. package/locales/common-canvas/locales/ko.json +1 -0
  59. package/locales/common-canvas/locales/pt-br.json +1 -0
  60. package/locales/common-canvas/locales/sv.json +1 -0
  61. package/locales/common-canvas/locales/zh-CN.json +1 -0
  62. package/locales/common-canvas/locales/zh-TW.json +1 -0
  63. package/package.json +1 -1
  64. package/src/common-canvas/canvas-controller.js +14 -0
  65. package/src/common-canvas/svg-canvas-d3.js +4 -0
  66. package/src/common-canvas/svg-canvas-renderer.js +4 -0
  67. package/src/common-properties/components/editor-form/editor-form.jsx +3 -1
  68. package/src/common-properties/properties-controller.js +5 -0
  69. package/src/notification-panel/notification-panel.jsx +15 -20
  70. package/src/notification-panel/notification-panel.scss +12 -13
  71. package/stats.html +1 -1
  72. package/dist/common-canvas-339584b8.js.map +0 -1
  73. package/dist/common-canvas-c728f092.js.map +0 -1
  74. package/dist/common-properties-009d29d6.js +0 -2
  75. package/dist/common-properties-009d29d6.js.map +0 -1
  76. package/dist/common-properties-99d34523.js +0 -2
  77. package/dist/common-properties-99d34523.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elyra/canvas",
3
- "version": "12.37.0",
3
+ "version": "12.39.0",
4
4
  "description": "Elyra common-canvas",
5
5
  "main": "dist/common-canvas.js",
6
6
  "module": "dist/common-canvas.es.js",
@@ -1735,6 +1735,20 @@ export default class CanvasController {
1735
1735
  this.objectModel.clearSavedZoomValues();
1736
1736
  }
1737
1737
 
1738
+ getViewPortDimensions() {
1739
+ if (this.canvasContents) {
1740
+ return this.getSVGCanvasD3().getTransformedViewportDimensions();
1741
+ }
1742
+ return null;
1743
+ }
1744
+
1745
+ getCanvasDimensionsWithPadding() {
1746
+ if (this.canvasContents) {
1747
+ return this.getSVGCanvasD3().getCanvasDimensionsWithPadding();
1748
+ }
1749
+ return null;
1750
+ }
1751
+
1738
1752
  // ---------------------------------------------------------------------------
1739
1753
  // Utility/helper methods
1740
1754
  // ---------------------------------------------------------------------------
@@ -196,6 +196,10 @@ export default class SVGCanvasD3 {
196
196
  return this.renderer.getTransformedViewportDimensions();
197
197
  }
198
198
 
199
+ getCanvasDimensionsWithPadding() {
200
+ return this.renderer.getCanvasDimensionsWithPadding();
201
+ }
202
+
199
203
  getGhostNode(nodeTemplate) {
200
204
  return this.renderer.getGhostNode(nodeTemplate);
201
205
  }
@@ -227,6 +227,10 @@ export default class SVGCanvasRenderer {
227
227
  return this.zoomUtils.getTransformedViewportDimensions();
228
228
  }
229
229
 
230
+ getCanvasDimensionsWithPadding() {
231
+ return this.zoomUtils.getCanvasDimensionsWithPadding();
232
+ }
233
+
230
234
  // Returns the data object for the parent supernode that references the
231
235
  // active pipeline (managed by this renderer). We get the supernode by
232
236
  // looking through the overall canvas info object.
@@ -136,6 +136,7 @@ class EditorForm extends React.Component {
136
136
  const tabContent = [];
137
137
  let hasAlertsTab = false;
138
138
  let modalSelected = 0;
139
+ let hiddenTabs = 0;
139
140
  const nonTearsheetTabs = tabs.filter((t) => t.content.itemType !== ItemType.TEARSHEET);
140
141
  const tearsheetTabs = tabs.filter((t) => t.content.itemType === ItemType.TEARSHEET);
141
142
  const totalTabs = tearsheetTabs.concat(nonTearsheetTabs);
@@ -144,6 +145,7 @@ class EditorForm extends React.Component {
144
145
  const tab = totalTabs[i];
145
146
  const tabState = this.props.controller.getPanelState({ name: tab.group });
146
147
  if (tabState === STATES.HIDDEN) {
148
+ hiddenTabs++;
147
149
  continue;
148
150
  }
149
151
  if (i === 0 && tab.group === ALERT_TAB_GROUP) {
@@ -198,7 +200,7 @@ class EditorForm extends React.Component {
198
200
  }
199
201
  } else {
200
202
  if (this.props.activeTab === tab.group) {
201
- modalSelected = i;
203
+ modalSelected = i - hiddenTabs; // Adjust the Carbon Tabs index to accomodate hidden tabs
202
204
  }
203
205
  tabContent.push(
204
206
  <Tab
@@ -131,6 +131,11 @@ export default class PropertiesController {
131
131
  return get(this.propertiesConfig, "locale", DEFAULT_LOCALE);
132
132
  }
133
133
 
134
+ // Return the id of top-level active tab or accordion
135
+ getTopLevelActiveGroupId() {
136
+ return this.propertiesStore.getActiveTab();
137
+ }
138
+
134
139
  isTearsheetContainer() {
135
140
  return this.propertiesConfig.containerType === "Tearsheet";
136
141
  }
@@ -22,7 +22,7 @@ import Icon from "./../icons/icon.jsx";
22
22
  import { Button } from "carbon-components-react";
23
23
  import { Close16 } from "@carbon/icons-react";
24
24
  import Logger from "../logging/canvas-logger.js";
25
- import { DEFAULT_NOTIFICATION_HEADER, NOTIFICATION_ICON_CLASS } from "./../common-canvas/constants/canvas-constants.js";
25
+ import { DEFAULT_NOTIFICATION_HEADER } from "./../common-canvas/constants/canvas-constants.js";
26
26
  import defaultMessages from "../../locales/notification-panel/locales/en.json";
27
27
 
28
28
 
@@ -120,20 +120,17 @@ class NotificationPanel extends React.Component {
120
120
  handleNotificationPanelClickOutside(e) {
121
121
  if (this.props.isNotificationOpen &&
122
122
  this.props.notificationConfig &&
123
- !this.props.notificationConfig.keepOpen) {
124
- const notificationIcon = document.getElementsByClassName(NOTIFICATION_ICON_CLASS)[0];
125
- const notificationHeader = document.getElementsByClassName("notification-panel-header")[0];
126
- const notificationMessages = document.getElementsByClassName("notification-panel-messages-container")[0];
127
-
128
- if (notificationIcon && !notificationIcon.contains(e.target) &&
129
- notificationHeader && !notificationHeader.contains(e.target) &&
130
- notificationMessages && !notificationMessages.contains(e.target)) {
131
- this.props.canvasController.toolbarActionHandler("closeNotificationPanel");
132
- e.stopPropagation(); // Prevent D3 canvas code from clearing the selections.
133
- }
123
+ !this.props.notificationConfig.keepOpen &&
124
+ this.isClickOutsideNotificationPanel(e)) {
125
+ this.props.canvasController.toolbarActionHandler("closeNotificationPanel");
126
+ e.stopPropagation(); // Prevent D3 canvas code from clearing the selections.
134
127
  }
135
128
  }
136
129
 
130
+ isClickOutsideNotificationPanel(e) {
131
+ return !e.target.closest(".notification-panel");
132
+ }
133
+
137
134
  notificationCallback(id, messageCallback) {
138
135
  if (messageCallback) {
139
136
  messageCallback(id);
@@ -236,14 +233,12 @@ class NotificationPanel extends React.Component {
236
233
  </div>
237
234
  {notificationSubtitle}
238
235
  </div>
239
- <div className="notification-panel-messages-container">
240
- <div className="notification-panel-messages">
241
- {notificationPanelMessages}
242
- </div>
243
- <div className="notification-panel-button-container">
244
- {clearAll}
245
- {secondaryButton}
246
- </div>
236
+ <div className="notification-panel-messages">
237
+ {notificationPanelMessages}
238
+ </div>
239
+ <div className="notification-panel-button-container">
240
+ {clearAll}
241
+ {secondaryButton}
247
242
  </div>
248
243
  </div>
249
244
  </div>);
@@ -15,11 +15,9 @@
15
15
  */
16
16
 
17
17
  $notification-panel-header-height: 33px;
18
- $notification-panel-subtitle-height: 20px;
19
18
  $notification-message-height: 48px;
20
19
  $notification-left-border-color-width: 4px;
21
20
  $notification-panel-button-container-height: 49px;
22
- $notification-panel-header-container-height: $notification-panel-header-height + $notification-panel-subtitle-height + 32px;
23
21
  $toolbar-button-height: 41px; // Allow one extra pixel for the toolbar border
24
22
 
25
23
  // This section adds an ease-in ease-out effect for the notification-panel-container
@@ -41,15 +39,22 @@ $toolbar-button-height: 41px; // Allow one extra pixel for the toolbar border
41
39
 
42
40
  .notification-panel {
43
41
  position: absolute;
44
- width: 320px;
45
- height: 100%;
46
- max-height: 635px;
47
- right: 0;
48
42
  top: $toolbar-button-height;
43
+ right: 0;
44
+
45
+ width: 320px;
46
+ height: fit-content;
47
+ min-height: calc(#{$notification-panel-header-height} + #{$notification-panel-button-container-height} + #{$notification-message-height});
48
+ max-height: calc(100% - 53px);
49
+
50
+ display: grid;
51
+ flex-direction: column;
52
+ grid-template-rows: auto 1fr auto;
49
53
  }
50
54
 
51
55
  .notification-panel-header-container {
52
56
  min-height: $notification-panel-header-height;
57
+ height: fit-content;
53
58
  width: inherit;
54
59
  background-color: $ui-01;
55
60
  display: flex;
@@ -86,18 +91,12 @@ $toolbar-button-height: 41px; // Allow one extra pixel for the toolbar border
86
91
  font-weight: 400;
87
92
  }
88
93
 
89
- .notification-panel-messages-container {
90
- width: inherit;
91
- max-height: calc(100% - #{$notification-panel-header-height} - #{$notification-panel-subtitle-height});
92
- height: 100%;
93
- }
94
94
  .notification-panel-messages {
95
- max-height: calc(100% - #{$notification-panel-header-container-height} - #{$notification-panel-button-container-height});
96
- height: fit-content;
97
95
  overflow-y: auto;
98
96
  line-height: normal;
99
97
  background-color: $ui-01;
100
98
  border: 1px solid $ui-03;
99
+ max-height: 448px;
101
100
  .notifications-button-container {
102
101
  border-bottom: 1px solid $ui-03;
103
102
  min-height: $notification-message-height;