@elyra/canvas 12.28.2 → 12.30.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 (88) hide show
  1. package/dist/canvas-controller-6fe261d9.js +2 -0
  2. package/dist/canvas-controller-6fe261d9.js.map +1 -0
  3. package/dist/canvas-controller-ea7d4a8f.js +2 -0
  4. package/dist/canvas-controller-ea7d4a8f.js.map +1 -0
  5. package/dist/common-canvas-2953ff65.js +2 -0
  6. package/dist/common-canvas-2953ff65.js.map +1 -0
  7. package/dist/common-canvas-fbd62592.js +2 -0
  8. package/dist/common-canvas-fbd62592.js.map +1 -0
  9. package/dist/common-canvas.es.js +1 -1
  10. package/dist/common-canvas.js +1 -1
  11. package/dist/common-properties-0df4ed36.js +2 -0
  12. package/dist/common-properties-0df4ed36.js.map +1 -0
  13. package/dist/common-properties-8409565f.js +2 -0
  14. package/dist/common-properties-8409565f.js.map +1 -0
  15. package/dist/flexible-table-3a78cdf3.js +2 -0
  16. package/dist/{flexible-table-a3180c2b.js.map → flexible-table-3a78cdf3.js.map} +1 -1
  17. package/dist/flexible-table-6e801de4.js +2 -0
  18. package/dist/{flexible-table-25f1f3a4.js.map → flexible-table-6e801de4.js.map} +1 -1
  19. package/dist/index-92422c18.js +2 -0
  20. package/dist/index-92422c18.js.map +1 -0
  21. package/dist/index-aee893ad.js +2 -0
  22. package/dist/index-aee893ad.js.map +1 -0
  23. package/dist/lib/canvas-controller.es.js +1 -1
  24. package/dist/lib/canvas-controller.js +1 -1
  25. package/dist/lib/canvas.es.js +1 -1
  26. package/dist/lib/canvas.js +1 -1
  27. package/dist/lib/properties/field-picker.es.js +1 -1
  28. package/dist/lib/properties/field-picker.js +1 -1
  29. package/dist/lib/properties/flexible-table.es.js +1 -1
  30. package/dist/lib/properties/flexible-table.js +1 -1
  31. package/dist/lib/properties.es.js +1 -1
  32. package/dist/lib/properties.js +1 -1
  33. package/dist/lib/tooltip.es.js +1 -1
  34. package/dist/lib/tooltip.es.js.map +1 -1
  35. package/dist/lib/tooltip.js +1 -1
  36. package/dist/lib/tooltip.js.map +1 -1
  37. package/dist/styles/common-canvas.min.css +1 -1
  38. package/dist/styles/common-canvas.min.css.map +1 -1
  39. package/dist/{toolbar-2bbc9542.js → toolbar-3fdd090b.js} +1 -1
  40. package/dist/{toolbar-2bbc9542.js.map → toolbar-3fdd090b.js.map} +1 -1
  41. package/dist/{toolbar-c173e22a.js → toolbar-5437484a.js} +1 -1
  42. package/dist/{toolbar-c173e22a.js.map → toolbar-5437484a.js.map} +1 -1
  43. package/locales/common-properties/locales/en.json +1 -1
  44. package/locales/common-properties/locales/eo.json +1 -1
  45. package/package.json +2 -2
  46. package/src/common-canvas/canvas-controller.js +19 -15
  47. package/src/common-canvas/svg-canvas-d3.scss +5 -0
  48. package/src/common-canvas/svg-canvas-pipeline.js +12 -6
  49. package/src/common-canvas/svg-canvas-renderer.js +156 -103
  50. package/src/common-canvas/svg-canvas-utils-external.js +34 -0
  51. package/src/common-properties/actions/button/button.jsx +2 -1
  52. package/src/common-properties/actions/image/image.jsx +2 -1
  53. package/src/common-properties/components/title-editor/title-editor.jsx +3 -0
  54. package/src/common-properties/components/virtualized-table/virtualized-table.scss +2 -4
  55. package/src/common-properties/controls/datepicker/datepicker.scss +9 -0
  56. package/src/common-properties/controls/passwordfield/passwordfield.jsx +16 -18
  57. package/src/common-properties/form/ActionInfo.js +3 -1
  58. package/src/common-properties/form/EditorForm.js +1 -1
  59. package/src/common-properties/form/PropertyDef.js +1 -1
  60. package/src/common-properties/panels/subtabs/subtabs.jsx +4 -2
  61. package/src/common-properties/panels/tearsheet/tearsheet.jsx +21 -16
  62. package/src/common-properties/panels/tearsheet/tearsheet.scss +1 -1
  63. package/src/common-properties/ui-conditions/ui-conditions.js +6 -1
  64. package/src/object-model/layout-dimensions.js +20 -2
  65. package/src/object-model/object-model.js +1 -1
  66. package/src/object-model/pipeline-out-handler.js +1 -1
  67. package/src/palette/palette-content-list-item.jsx +3 -2
  68. package/src/palette/palette-dialog-content-grid-node.jsx +3 -2
  69. package/src/tooltip/tooltip.jsx +1 -1
  70. package/stats.html +1 -1
  71. package/dist/canvas-controller-1bbd9c0e.js +0 -2
  72. package/dist/canvas-controller-1bbd9c0e.js.map +0 -1
  73. package/dist/canvas-controller-d6aa7d4d.js +0 -2
  74. package/dist/canvas-controller-d6aa7d4d.js.map +0 -1
  75. package/dist/common-canvas-9c735f47.js +0 -2
  76. package/dist/common-canvas-9c735f47.js.map +0 -1
  77. package/dist/common-canvas-a02e75c1.js +0 -2
  78. package/dist/common-canvas-a02e75c1.js.map +0 -1
  79. package/dist/common-properties-21c4c338.js +0 -2
  80. package/dist/common-properties-21c4c338.js.map +0 -1
  81. package/dist/common-properties-80e20c2a.js +0 -2
  82. package/dist/common-properties-80e20c2a.js.map +0 -1
  83. package/dist/flexible-table-25f1f3a4.js +0 -2
  84. package/dist/flexible-table-a3180c2b.js +0 -2
  85. package/dist/index-501de495.js +0 -2
  86. package/dist/index-501de495.js.map +0 -1
  87. package/dist/index-8c2f3663.js +0 -2
  88. package/dist/index-8c2f3663.js.map +0 -1
@@ -16,11 +16,12 @@
16
16
 
17
17
  import React, { Component } from "react";
18
18
  import PropTypes from "prop-types";
19
+ import { injectIntl } from "react-intl";
19
20
  import classNames from "classnames";
20
-
21
+ import { formatMessage } from "./../../util/property-utils";
21
22
  import { ComposedModal, ModalHeader, ModalBody } from "carbon-components-react";
22
23
  import { Portal } from "react-portal";
23
-
24
+ import { MESSAGE_KEYS } from "./../../constants/constants";
24
25
  import PropertiesButtons from "../../components/properties-buttons";
25
26
 
26
27
  class TearSheet extends Component {
@@ -47,19 +48,22 @@ class TearSheet extends Component {
47
48
  className={classNames("properties-tearsheet-panel", { "properties-tearsheet-stacked": this.props.stacked })}
48
49
  open={this.props.open}
49
50
  size="lg"
50
- aria-label={title}
51
+ aria-label={formatMessage(this.props.intl, MESSAGE_KEYS.PROPERTIES_LABEL, { label: title })}
51
52
  preventCloseOnClickOutside
52
53
  >
53
- <ModalHeader
54
- className={classNames("properties-tearsheet-header",
55
- { "with-buttons": displayFooterButtons },
56
- { "with-tabs": displayTabs },
57
- { "hide-close-button": typeof this.props.onCloseCallback !== "function" })}
58
- title={title}
59
- buttonOnClick={this.props.onCloseCallback}
60
- >
61
- {description ? (<p>{description}</p>) : null}
62
- </ModalHeader>
54
+ {title === null
55
+ ? null
56
+ : (<ModalHeader
57
+ className={classNames("properties-tearsheet-header",
58
+ { "with-buttons": displayFooterButtons },
59
+ { "with-tabs": displayTabs },
60
+ { "hide-close-button": typeof this.props.onCloseCallback !== "function" })}
61
+ title={title}
62
+ buttonOnClick={this.props.onCloseCallback}
63
+ >
64
+ {description ? (<p>{description}</p>) : null}
65
+ </ModalHeader>)
66
+ }
63
67
  <ModalBody className={classNames("properties-tearsheet-body",
64
68
  { "with-buttons": displayFooterButtons },
65
69
  { "with-tabs": displayTabs })}
@@ -76,7 +80,7 @@ TearSheet.propTypes = {
76
80
  stacked: PropTypes.bool,
77
81
  onCloseCallback: PropTypes.func,
78
82
  tearsheet: PropTypes.shape({
79
- title: PropTypes.string.isRequired,
83
+ title: PropTypes.string,
80
84
  description: PropTypes.string,
81
85
  content: PropTypes.oneOfType([
82
86
  PropTypes.array,
@@ -88,7 +92,8 @@ TearSheet.propTypes = {
88
92
  rejectLabel: PropTypes.string, // Required if showPropertiesButtons is true
89
93
  okHandler: PropTypes.func, // Required if showPropertiesButtons is true
90
94
  cancelHandler: PropTypes.func, // Required if showPropertiesButtons is true
91
- applyOnBlur: PropTypes.bool.isRequired
95
+ applyOnBlur: PropTypes.bool.isRequired,
96
+ intl: PropTypes.object.isRequired
92
97
  };
93
98
 
94
99
  TearSheet.defaultProps = {
@@ -98,4 +103,4 @@ TearSheet.defaultProps = {
98
103
  stacked: false
99
104
  };
100
105
 
101
- export default TearSheet;
106
+ export default injectIntl(TearSheet);
@@ -58,7 +58,7 @@ $properties-buttons-height: $spacing-10;
58
58
  .properties-tearsheet-body {
59
59
  padding: $spacing-06 $spacing-07;
60
60
  margin-bottom: 0;
61
- .bx--multi-select, .bx--dropdown, .bx--number input[type=number], .bx--text-input, .bx--text-area { // override carbon's modal
61
+ .bx--multi-select, .bx--dropdown, .bx--number input[type=number], .bx--text-input, .bx--text-area, .bx--date-picker__input { // override carbon's modal
62
62
  background-color: $ui-01;
63
63
  }
64
64
  }
@@ -297,10 +297,15 @@ function conditionFilter(propertyId, filterItem, conditionItem, controller, fiel
297
297
  return _handleDmModelingRole(fields, values);
298
298
  case "dmSharedFields":
299
299
  return _handleSharedFields(propertyId, filterItem, controller, fields);
300
- default:
300
+ default: {
301
+ const operation = controller.getConditionOp(op);
302
+ if (operation && propertyId.name === filterItem.parameter_ref) { // Custom filter condition
303
+ return operation(propertyId, conditionItem, controller, fields);
304
+ }
301
305
  logger.warn("Ignoring unknown condition operation '" + op + "'");
302
306
  return fields;
303
307
  }
308
+ }
304
309
  }
305
310
 
306
311
  function _handleDmMeasurement(inFields, measurementValues) {
@@ -25,7 +25,10 @@ const portsHorizontalDefaultLayout = {
25
25
  // DOM element for the node.
26
26
  className: "",
27
27
 
28
- // Default node shape. Can be "rectangle" or "port-arcs"
28
+ // Displays the node outline shape underneath the image and label.
29
+ nodeShapeDisplay: true,
30
+
31
+ // Default node shape. Can be "rectangle" or "port-arcs". Used when nodeOutlineDisplay is true.
29
32
  nodeShape: "port-arcs",
30
33
 
31
34
  // SVG path strings to define the shape of your node and its
@@ -34,6 +37,9 @@ const portsHorizontalDefaultLayout = {
34
37
  bodyPath: null,
35
38
  selectionPath: null,
36
39
 
40
+ // Displays the external object specified as the body of the node
41
+ nodeExternalObject: false,
42
+
37
43
  // Display image
38
44
  imageDisplay: true,
39
45
 
@@ -46,6 +52,9 @@ const portsHorizontalDefaultLayout = {
46
52
  imagePosX: 6,
47
53
  imagePosY: 7,
48
54
 
55
+ // Display label
56
+ labelDisplay: true,
57
+
49
58
  // Label dimensions
50
59
  labelWidth: 112,
51
60
  labelHeight: 19,
@@ -422,7 +431,10 @@ const portsVerticalDefaultLayout = {
422
431
  // DOM element for the node.
423
432
  className: "",
424
433
 
425
- // Default node shape. Can be "rectangle" or "port-arcs"
434
+ // Displays the node outline shape underneath the image and label.
435
+ nodeShapeDisplay: true,
436
+
437
+ // Default node shape. Can be "rectangle" or "port-arcs". Used when nodeOutlineDisplay is true.
426
438
  nodeShape: "rectangle",
427
439
 
428
440
  // SVG path strings to define the shape of your node and its
@@ -431,6 +443,9 @@ const portsVerticalDefaultLayout = {
431
443
  bodyPath: null,
432
444
  selectionPath: null,
433
445
 
446
+ // Displays the external object specified as the body of the node
447
+ nodeExternalObject: false,
448
+
434
449
  // Display image
435
450
  imageDisplay: true,
436
451
 
@@ -443,6 +458,9 @@ const portsVerticalDefaultLayout = {
443
458
  imagePosX: 11,
444
459
  imagePosY: 6,
445
460
 
461
+ // Display label
462
+ labelDisplay: true,
463
+
446
464
  // Label dimensions
447
465
  labelWidth: 72,
448
466
  labelHeight: 19,
@@ -706,7 +706,7 @@ export default class ObjectModel {
706
706
 
707
707
  // Returns a copy of the node passed in with additional fields which contain
708
708
  // layout, dimension and supernode binding status info. This uses the redux
709
- // layout information. This is called from the api-pipeline class.
709
+ // layout information.
710
710
  setNodeAttributes(node) {
711
711
  return this.setNodeAttributesWithLayout(node, this.getNodeLayout(), this.getCanvasLayout());
712
712
  }
@@ -183,7 +183,7 @@ export default class PipelineOutHandler {
183
183
  var newDecorations = [];
184
184
  if (decorations) {
185
185
  decorations.forEach((decoration) => {
186
- if (!decoration.temporary) {
186
+ if (!decoration.temporary && !decoration.jsx) {
187
187
  const dec = Object.assign({}, decoration); // This will only copy over set values and ignore undefineds
188
188
  newDecorations.push(dec);
189
189
  }
@@ -63,7 +63,7 @@ class PaletteContentListItem extends React.Component {
63
63
  // We cannot use the dataTransfer object for the nodeTemplate because
64
64
  // the dataTransfer data is not available during dragOver events so we set
65
65
  // the nodeTemplate into the canvas controller.
66
- this.props.canvasController.nodeTemplateDragStart(this.props.nodeTypeInfo.nodeType);
66
+ this.props.canvasController.nodeTemplateDragStart(this.ghostData.nodeTemplate);
67
67
 
68
68
  // On firefox, the drag will not start unless something is written to
69
69
  // the dataTransfer object so just write an empty string
@@ -88,7 +88,8 @@ class PaletteContentListItem extends React.Component {
88
88
 
89
89
  onDoubleClick() {
90
90
  if (this.props.canvasController.createAutoNode) {
91
- this.props.canvasController.createAutoNode(this.props.nodeTypeInfo.nodeType);
91
+ const nodeTemplate = this.props.canvasController.convertNodeTemplate(this.props.nodeTypeInfo.nodeType);
92
+ this.props.canvasController.createAutoNode(nodeTemplate);
92
93
  }
93
94
  }
94
95
 
@@ -56,7 +56,7 @@ class PaletteDialogContentGridNode extends React.Component {
56
56
  // We cannot use the dataTransfer object for the nodeTemplate because
57
57
  // the dataTransfer data is not available during dragOver events so we set
58
58
  // the nodeTemplate into the canvas controller.
59
- this.props.canvasController.nodeTemplateDragStart(this.props.nodeTemplate);
59
+ this.props.canvasController.nodeTemplateDragStart(this.ghostData.nodeTemplate);
60
60
 
61
61
  // On firefox, the drag will not start unless something is written to
62
62
  // the dataTransfer object so just write an empty string
@@ -74,7 +74,8 @@ class PaletteDialogContentGridNode extends React.Component {
74
74
 
75
75
  onDoubleClick() {
76
76
  if (this.props.canvasController.createAutoNode) {
77
- this.props.canvasController.createAutoNode(this.props.nodeTemplate);
77
+ const nodeTemplate = this.props.canvasController.convertNodeTemplate(this.props.nodeTemplate);
78
+ this.props.canvasController.createAutoNode(nodeTemplate);
78
79
  }
79
80
  }
80
81
 
@@ -362,7 +362,7 @@ class ToolTip extends React.Component {
362
362
  onBlur={this.props.showToolTipOnClick ? onBlur : null}
363
363
  tabIndex={this.props.showToolTipOnClick ? 0 : null}
364
364
  role={this.props.showToolTipOnClick ? "button" : null}
365
- aria-labelledby={`${this.uuid}-${this.props.id}`}
365
+ aria-labelledby={this.props.showToolTipOnClick ? `${this.uuid}-${this.props.id}` : null}
366
366
  aria-expanded={this.props.showToolTipOnClick ? this.state.isTooltipVisible : null}
367
367
  aria-controls={this.props.showToolTipOnClick ? `${this.uuid}-${this.props.id}` : null}
368
368
  ref={(ref) => (this.triggerRef = ref)}