@elyra/canvas 13.41.2 → 13.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.
- package/dist/canvas-controller-40365e79.js +2 -0
- package/dist/canvas-controller-40365e79.js.map +1 -0
- package/dist/canvas-controller-6e8175f3.js +2 -0
- package/dist/canvas-controller-6e8175f3.js.map +1 -0
- package/dist/{common-canvas-f6aa2d68.js → common-canvas-60e6c495.js} +2 -2
- package/dist/common-canvas-60e6c495.js.map +1 -0
- package/dist/{common-canvas-76637856.js → common-canvas-c6a5094d.js} +2 -2
- package/dist/common-canvas-c6a5094d.js.map +1 -0
- package/dist/common-canvas.es.js +1 -1
- package/dist/common-canvas.js +1 -1
- package/dist/common-properties-2010da23.js +2 -0
- package/dist/common-properties-2010da23.js.map +1 -0
- package/dist/common-properties-abcfd713.js +2 -0
- package/dist/common-properties-abcfd713.js.map +1 -0
- package/dist/lib/canvas-controller.es.js +1 -1
- package/dist/lib/canvas-controller.js +1 -1
- package/dist/lib/canvas.es.js +1 -1
- package/dist/lib/canvas.js +1 -1
- package/dist/lib/properties.es.js +1 -1
- package/dist/lib/properties.js +1 -1
- package/package.json +2 -2
- package/src/command-actions/arrangeLayoutAction.js +4 -0
- package/src/common-canvas/svg-canvas-renderer.js +38 -1
- package/src/common-properties/components/wide-flyout/wide-flyout.jsx +10 -6
- package/src/object-model/api-pipeline.js +4 -0
- package/src/object-model/redux/reducers/canvasinfo.js +1 -0
- package/src/object-model/redux/reducers/comments.js +4 -0
- package/stats.html +1 -1
- package/types/common-properties.d.ts +1 -1
- package/dist/canvas-controller-73f1a168.js +0 -2
- package/dist/canvas-controller-73f1a168.js.map +0 -1
- package/dist/canvas-controller-8093b1c5.js +0 -2
- package/dist/canvas-controller-8093b1c5.js.map +0 -1
- package/dist/common-canvas-76637856.js.map +0 -1
- package/dist/common-canvas-f6aa2d68.js.map +0 -1
- package/dist/common-properties-2c1ae93f.js +0 -2
- package/dist/common-properties-2c1ae93f.js.map +0 -1
- package/dist/common-properties-44874063.js +0 -2
- package/dist/common-properties-44874063.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../createClass-a140e270.js";import"../en-ba70b655.js";import"../isArrayLikeObject-78364f29.js";import"../common-canvas-utils-99c8d7d1.js";export{C as default}from"../canvas-controller-
|
|
1
|
+
import"../createClass-a140e270.js";import"../en-ba70b655.js";import"../isArrayLikeObject-78364f29.js";import"../common-canvas-utils-99c8d7d1.js";export{C as default}from"../canvas-controller-6e8175f3.js";import"./command-stack.es.js";import"../canvas-logger-3584cb6d.js";import"../defineProperty-f3298a15.js";import"../inherits-860188e5.js";import"../datarecord-metadata-v3-schema-e5869fb9.js";import"uuid";import"redux";import"jsonschema";import"@elyra/pipeline-schemas";import"immutable";
|
|
2
2
|
//# sourceMappingURL=canvas-controller.es.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";require("../createClass-df7b07d6.js"),require("../en-412ab08a.js"),require("../isArrayLikeObject-9f61d956.js"),require("../common-canvas-utils-0422db0b.js");var e=require("../canvas-controller-
|
|
1
|
+
"use strict";require("../createClass-df7b07d6.js"),require("../en-412ab08a.js"),require("../isArrayLikeObject-9f61d956.js"),require("../common-canvas-utils-0422db0b.js");var e=require("../canvas-controller-40365e79.js");require("./command-stack.js"),require("../canvas-logger-8c01664d.js"),require("../defineProperty-d68f985b.js"),require("../inherits-74e481d1.js"),require("../datarecord-metadata-v3-schema-e8c37ecf.js"),require("uuid"),require("redux"),require("jsonschema"),require("@elyra/pipeline-schemas"),require("immutable"),module.exports=e.CanvasController;
|
|
2
2
|
//# sourceMappingURL=canvas-controller.js.map
|
package/dist/lib/canvas.es.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{c as CommonCanvas}from"../common-canvas-
|
|
1
|
+
export{c as CommonCanvas}from"../common-canvas-60e6c495.js";export{C as CanvasController}from"../canvas-controller-6e8175f3.js";import"../createClass-a140e270.js";import"../inherits-860188e5.js";import"react";import"react-redux";import"react-intl";import"../toolbar-ea0499c3.js";import"../common-canvas-utils-99c8d7d1.js";import"../toInteger-a2c772fc.js";import"../isArrayLikeObject-78364f29.js";import"../keyboard-utils-39fd7227.js";import"prop-types";import"../datarecord-metadata-v3-schema-e5869fb9.js";import"../en-ba70b655.js";import"./tooltip.es.js";import"react-portal";import"@carbon/react";import"uuid";import"react-inlinesvg";import"../icon-69d824a6.js";import"../bucket-3-c6b2f22e.js";import"../canvas-logger-3584cb6d.js";import"../context-menu-wrapper-5c84d66f.js";import"../defineProperty-f3298a15.js";import"markdown-it";import"react-dom";import"./command-stack.es.js";import"immutable";import"redux";import"jsonschema";import"@elyra/pipeline-schemas";
|
|
2
2
|
//# sourceMappingURL=canvas.es.js.map
|
package/dist/lib/canvas.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../common-canvas-
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../common-canvas-c6a5094d.js"),r=require("../canvas-controller-40365e79.js");require("../createClass-df7b07d6.js"),require("../inherits-74e481d1.js"),require("react"),require("react-redux"),require("react-intl"),require("../toolbar-f49f9bc4.js"),require("../common-canvas-utils-0422db0b.js"),require("../toInteger-59f8800a.js"),require("../isArrayLikeObject-9f61d956.js"),require("../keyboard-utils-36a4cde5.js"),require("prop-types"),require("../datarecord-metadata-v3-schema-e8c37ecf.js"),require("../en-412ab08a.js"),require("./tooltip.js"),require("react-portal"),require("@carbon/react"),require("uuid"),require("react-inlinesvg"),require("../icon-cd9138da.js"),require("../bucket-3-ce4b6e95.js"),require("../canvas-logger-8c01664d.js"),require("../context-menu-wrapper-0aba15be.js"),require("../defineProperty-d68f985b.js"),require("markdown-it"),require("react-dom"),require("./command-stack.js"),require("immutable"),require("redux"),require("jsonschema"),require("@elyra/pipeline-schemas"),exports.CommonCanvas=e.commonCanvas,exports.CanvasController=r.CanvasController;
|
|
2
2
|
//# sourceMappingURL=canvas.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{c as CommonProperties,P as PropertiesController}from"../common-properties-
|
|
1
|
+
export{c as CommonProperties,P as PropertiesController}from"../common-properties-abcfd713.js";export{F as FlexibleTable}from"../flexible-table-40613b78.js";export{F as FieldPicker}from"../index-2af83c12.js";export{clem}from"./properties/clem.es.js";export{getPythonHints}from"./properties/getPythonHints.es.js";import"../createClass-a140e270.js";import"../inherits-860188e5.js";import"react";import"../toolbar-ea0499c3.js";import"../common-canvas-utils-99c8d7d1.js";import"../toInteger-a2c772fc.js";import"../isArrayLikeObject-78364f29.js";import"../keyboard-utils-39fd7227.js";import"prop-types";import"../datarecord-metadata-v3-schema-e5869fb9.js";import"../en-ba70b655.js";import"./tooltip.es.js";import"react-portal";import"@carbon/react";import"uuid";import"react-inlinesvg";import"../icon-69d824a6.js";import"../bucket-3-c6b2f22e.js";import"react-intl";import"react-redux";import"../defineProperty-f3298a15.js";import"redux";import"seedrandom";import"./command-stack.es.js";import"immutable";import"date-fns";import"@codemirror/view";import"@codemirror/commands";import"@codemirror/search";import"@codemirror/autocomplete";import"@codemirror/state";import"@codemirror/language";import"@codemirror/lang-python";import"@codemirror/lang-sql";import"@codemirror/lang-javascript";import"@codemirror/lang-json";import"jsonschema";import"@tanstack/react-table";import"@tanstack/react-virtual";import"react-virtualized";import"react-draggable";
|
|
2
2
|
//# sourceMappingURL=properties.es.js.map
|
package/dist/lib/properties.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../common-properties-
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../common-properties-2010da23.js"),r=require("../flexible-table-9403ff35.js"),i=require("../index-1fccfdbf.js"),t=require("./properties/clem.js"),o=require("./properties/getPythonHints.js");require("../createClass-df7b07d6.js"),require("../inherits-74e481d1.js"),require("react"),require("../toolbar-f49f9bc4.js"),require("../common-canvas-utils-0422db0b.js"),require("../toInteger-59f8800a.js"),require("../isArrayLikeObject-9f61d956.js"),require("../keyboard-utils-36a4cde5.js"),require("prop-types"),require("../datarecord-metadata-v3-schema-e8c37ecf.js"),require("../en-412ab08a.js"),require("./tooltip.js"),require("react-portal"),require("@carbon/react"),require("uuid"),require("react-inlinesvg"),require("../icon-cd9138da.js"),require("../bucket-3-ce4b6e95.js"),require("react-intl"),require("react-redux"),require("../defineProperty-d68f985b.js"),require("redux"),require("seedrandom"),require("./command-stack.js"),require("immutable"),require("date-fns"),require("@codemirror/view"),require("@codemirror/commands"),require("@codemirror/search"),require("@codemirror/autocomplete"),require("@codemirror/state"),require("@codemirror/language"),require("@codemirror/lang-python"),require("@codemirror/lang-sql"),require("@codemirror/lang-javascript"),require("@codemirror/lang-json"),require("jsonschema"),require("@tanstack/react-table"),require("@tanstack/react-virtual"),require("react-virtualized"),require("react-draggable"),exports.CommonProperties=e.commonProperties,exports.PropertiesController=e.PropertiesController,exports.FlexibleTable=r.FlexibleTable,exports.FieldPicker=i.FieldPicker,exports.clem=t.clem,exports.getPythonHints=o.getPythonHints;
|
|
2
2
|
//# sourceMappingURL=properties.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elyra/canvas",
|
|
3
|
-
"version": "13.
|
|
3
|
+
"version": "13.42.0",
|
|
4
4
|
"description": "Elyra common-canvas",
|
|
5
5
|
"main": "dist/common-canvas.js",
|
|
6
6
|
"module": "dist/common-canvas.es.js",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"d3": "7.9.0",
|
|
57
57
|
"dagre": "^0.8.5",
|
|
58
58
|
"date-fns": "^2.28.0",
|
|
59
|
-
"immutable": "^
|
|
59
|
+
"immutable": "^5.1.5",
|
|
60
60
|
"jsonschema": "^1.4.0",
|
|
61
61
|
"lodash": "^4.17.21",
|
|
62
62
|
"markdown-it": "^14.1.1",
|
|
@@ -27,6 +27,9 @@ export default class ArrangeLayoutAction extends Action {
|
|
|
27
27
|
// Copy the nodes to remember their original positions.
|
|
28
28
|
this.existingNodes = this.apiPipeline.getNodes().map((n) => ({ ...n }));
|
|
29
29
|
|
|
30
|
+
// Copy the comments to remember their original positions.
|
|
31
|
+
this.existingComments = this.apiPipeline.getComments().map((c) => ({ ...c }));
|
|
32
|
+
|
|
30
33
|
// Copy the links (including detached links) to remember their original positions.
|
|
31
34
|
this.existingLinks = this.apiPipeline.getLinks().map((n) => ({ ...n }));
|
|
32
35
|
}
|
|
@@ -38,6 +41,7 @@ export default class ArrangeLayoutAction extends Action {
|
|
|
38
41
|
|
|
39
42
|
undo() {
|
|
40
43
|
this.apiPipeline.replaceNodes(this.existingNodes);
|
|
44
|
+
this.apiPipeline.replaceComments(this.existingComments);
|
|
41
45
|
this.apiPipeline.updateLinks(this.existingLinks);
|
|
42
46
|
}
|
|
43
47
|
|
|
@@ -817,6 +817,43 @@ export default class SVGCanvasRenderer {
|
|
|
817
817
|
return { x: pos.x + Math.round(svgRect.left), y: pos.y + Math.round(svgRect.top) };
|
|
818
818
|
}
|
|
819
819
|
|
|
820
|
+
// Converts canvas coordinates to screen coordinates.
|
|
821
|
+
// If we're displaying a sub-flow in place, we need to adjust the position
|
|
822
|
+
// to account for the offset of the sub-flow SVG area within the parent canvas.
|
|
823
|
+
// This is done recursively for nested sub-flows.
|
|
824
|
+
convertCanvasCoordsToScreenCoords(pos) {
|
|
825
|
+
let screenPos = this.zoomUtils.unTransformPos(pos);
|
|
826
|
+
|
|
827
|
+
if (this.dispUtils.isDisplayingSubFlowInPlace()) {
|
|
828
|
+
screenPos = this.addParentSupernodeOffset(screenPos);
|
|
829
|
+
}
|
|
830
|
+
|
|
831
|
+
return screenPos;
|
|
832
|
+
}
|
|
833
|
+
|
|
834
|
+
// Recursively adds the parent supernode offset to the position.
|
|
835
|
+
// This handles nested sub-flows by transforming through each parent's zoom level.
|
|
836
|
+
addParentSupernodeOffset(pos) {
|
|
837
|
+
const parentSVGDims = this.getParentSupernodeSVGDimensions();
|
|
838
|
+
|
|
839
|
+
// Add the offset of this sub-flow's SVG area within the parent's canvas (in canvas coordinates)
|
|
840
|
+
const posWithOffset = {
|
|
841
|
+
x: pos.x + parentSVGDims.x_pos,
|
|
842
|
+
y: pos.y + parentSVGDims.y_pos
|
|
843
|
+
};
|
|
844
|
+
|
|
845
|
+
// Transform through the parent's zoom to get to parent's viewport coordinates
|
|
846
|
+
const transformedPos = this.supernodeInfo.renderer.zoomUtils.unTransformPos(posWithOffset);
|
|
847
|
+
|
|
848
|
+
// If the parent renderer is also displaying a sub-flow in place,
|
|
849
|
+
// recursively transform through its parent's zoom
|
|
850
|
+
if (this.supernodeInfo.renderer.dispUtils.isDisplayingSubFlowInPlace()) {
|
|
851
|
+
return this.supernodeInfo.renderer.addParentSupernodeOffset(transformedPos);
|
|
852
|
+
}
|
|
853
|
+
|
|
854
|
+
return transformedPos;
|
|
855
|
+
}
|
|
856
|
+
|
|
820
857
|
// Creates the div which contains the ghost node for drag and
|
|
821
858
|
// drop actions from the palette. The way setDragImage is handled in
|
|
822
859
|
// browsers for HTML drag and drop is very odd since the image has to be
|
|
@@ -3500,7 +3537,7 @@ export default class SVGCanvasRenderer {
|
|
|
3500
3537
|
let pos = this.getDefaultContextToolbarPos(objType, d, port);
|
|
3501
3538
|
pos.x = xPos ? pos.x + xPos : pos.x;
|
|
3502
3539
|
pos.y = yPos ? pos.y + yPos : pos.y;
|
|
3503
|
-
pos = this.
|
|
3540
|
+
pos = this.convertCanvasCoordsToScreenCoords(pos);
|
|
3504
3541
|
this.openContextMenu(d3Event, objType, d, port, pos, cause);
|
|
3505
3542
|
}
|
|
3506
3543
|
}
|
|
@@ -48,11 +48,15 @@ export default class WideFlyout extends Component {
|
|
|
48
48
|
return;
|
|
49
49
|
}
|
|
50
50
|
if (this.props.show && modal) {
|
|
51
|
-
|
|
52
|
-
//
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
51
|
+
// During render, document.activeElement is document.body temporarily,
|
|
52
|
+
// so we need to wait for last updates before checking focus.
|
|
53
|
+
setTimeout(() => {
|
|
54
|
+
const active = document.activeElement;
|
|
55
|
+
// Restore focus if lost due to modal content changes like typing or adding new fields
|
|
56
|
+
if (active === document.body || !modal.contains(active)) {
|
|
57
|
+
this.focusOnFirstFocusable();
|
|
58
|
+
}
|
|
59
|
+
}, 0);
|
|
56
60
|
}
|
|
57
61
|
}
|
|
58
62
|
componentWillUnmount() {
|
|
@@ -67,7 +71,7 @@ export default class WideFlyout extends Component {
|
|
|
67
71
|
}
|
|
68
72
|
return Array.from(
|
|
69
73
|
modal.querySelectorAll(
|
|
70
|
-
"button, a[href], input, select, textarea, [tabindex]:not([tabindex='-1'])"
|
|
74
|
+
"button, a[href], input, select, textarea, [tabindex]:not([tabindex='-1']), [contenteditable='true']"
|
|
71
75
|
)).filter((el) => el.offsetParent !== null); // Filter out hidden/disabled elements.
|
|
72
76
|
}
|
|
73
77
|
// Focus on the first focusable element once modal opens.
|
|
@@ -1187,6 +1187,10 @@ export default class APIPipeline {
|
|
|
1187
1187
|
this.store.dispatch({ type: "SET_COMMENT_HIGHLIGHT_TEXT", data: { commentIds, highlightText }, pipelineId: this.pipelineId });
|
|
1188
1188
|
}
|
|
1189
1189
|
|
|
1190
|
+
replaceComments(replacementComments) {
|
|
1191
|
+
this.store.dispatch({ type: "REPLACE_COMMENTS", data: replacementComments, pipelineId: this.pipelineId });
|
|
1192
|
+
}
|
|
1193
|
+
|
|
1190
1194
|
// ---------------------------------------------------------------------------
|
|
1191
1195
|
// Link methods
|
|
1192
1196
|
// ---------------------------------------------------------------------------
|