Skip to content

Commit

Permalink
elyra-ai#124 Update Layout info when setCanvasConfig is called with n…
Browse files Browse the repository at this point in the history
…ew nodeLayout field
  • Loading branch information
tomlyn committed Jun 9, 2020
1 parent f1e8a37 commit 82855cf
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 24 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ export default class CanvasController {
enableDisplayFullLabelOnHover: false,
enableDropZoneOnExternalDrag: false,
enableZoomIntoSubFlows: false,
enableZoomType: "Regular",
enableSaveZoom: "None",
enableSnapToGridType: "None",
enableSnapToGridX: null,
Expand Down Expand Up @@ -153,6 +154,7 @@ export default class CanvasController {
setCanvasConfig(config) {
this.canvasConfig = Object.assign(this.canvasConfig, config);
this.objectModel.setSchemaValidation(this.canvasConfig.schemaValidation);
this.objectModel.setLayoutType(config);
}

getCanvasConfig() {
Expand Down
13 changes: 1 addition & 12 deletions canvas_modules/common-canvas/src/common-canvas/svg-canvas-d3.js
Original file line number Diff line number Diff line change
Expand Up @@ -265,18 +265,7 @@ export default class SVGCanvasD3 {

// Initializes the dimensions for nodes, comments layout etc.
initializeLayoutInfo(config) {

if (config.enableConnectionType === "Halo") {
this.objectModel.setLayoutType("halo", config);

} else { // Ports connection type
if (config.enableNodeFormatType === "Horizontal") {
this.objectModel.setLayoutType("ports-horizontal", config);

} else { // Vertical
this.objectModel.setLayoutType("ports-vertical", config);
}
}
this.objectModel.setLayoutType(config);
}

paletteNodeDraggedOver(nodeTemplate, x, y) {
Expand Down
33 changes: 23 additions & 10 deletions canvas_modules/common-canvas/src/object-model/layout-dimensions.js
Original file line number Diff line number Diff line change
Expand Up @@ -1039,17 +1039,18 @@ const portsVerticalDefaultLayout = {


export default class LayoutDimensions {
static getLayout(type, config) {
let defaultLayout;
if (type === "halo") {
defaultLayout = haloDefaultLayout;
} else if (type === "ports-vertical") {
defaultLayout = portsVerticalDefaultLayout;
} else {
defaultLayout = portsHorizontalDefaultLayout;
}
static getLayoutForConfig(config) {
let type;
if (config.enableConnectionType === "Halo") {
type = "halo";

let newLayout = Object.assign({}, defaultLayout);
} else if (config.enableNodeFormatType === "Horizontal") {
type = "ports-horizontal";

} else { // Vertical
type = "ports-vertical";
}
let newLayout = this.getLayout(type);
if (config) {
newLayout = this.overrideNodeLayout(newLayout, config); // Do this first because snap-to-grid depends on this.
newLayout = this.overrideCanvasLayout(newLayout, config);
Expand All @@ -1060,6 +1061,18 @@ export default class LayoutDimensions {
return newLayout;
}

static getLayout(type) {
let defaultLayout;
if (type === "halo") {
defaultLayout = haloDefaultLayout;
} else if (type === "ports-vertical") {
defaultLayout = portsVerticalDefaultLayout;
} else {
defaultLayout = portsHorizontalDefaultLayout;
}
return Object.assign({}, defaultLayout);
}

static overrideNodeLayout(layout, config) {
layout.nodeLayout = Object.assign({}, layout.nodeLayout, config.enableNodeLayout);

Expand Down
4 changes: 2 additions & 2 deletions canvas_modules/common-canvas/src/object-model/object-model.js
Original file line number Diff line number Diff line change
Expand Up @@ -884,8 +884,8 @@ export default class ObjectModel {
// Layout Info methods
// ---------------------------------------------------------------------------

setLayoutType(type, config) {
const layoutInfo = Object.assign({}, LayoutDimensions.getLayout(type, config));
setLayoutType(config) {
const layoutInfo = Object.assign({}, LayoutDimensions.getLayoutForConfig(config));
const newPipelines = this.prepareNodes(this.getCanvasInfo().pipelines, layoutInfo.nodeLayout, layoutInfo.canvasLayout);

this.store.dispatch({ type: "SET_LAYOUT_INFO",
Expand Down

0 comments on commit 82855cf

Please sign in to comment.