Shows double lines in palette, but only single line when caught and released.
how do i make double lines?
Shows double lines in palette, but only single line when caught and released.
how do i make double lines?
The purpose of the “Auto” Panel is to add a border or similar thing to surround some content.
So I would just insert an “Auto” Panel that has a “RoundedRectangle” Shape as its first element around whatever is inside your current “Auto” Panel with a “RoundedRectangle” Shape.
I added but got such a result
the code I added
GO(go.Shape, "RoundedRectangle",
{
margin: 3,
stretch: go.GraphObject.Fill,
stroke: ActivityNodeStroke,
parameter1: 8 / palscale,
fill: null,
visible: false
},
new go.Binding("visible", "isTransaction")),
var subProcessGroupTemplate = GO(go.Group, "Spot",
{
locationSpot: go.Spot.Center,
locationObjectName: "PH",
selectionChanged: assignGroupLayer,
subGraphExpandedChanged: function (grp) {
if (grp.isSubGraphExpanded) grp.isSelected = true;
assignGroupLayer(grp);
},
memberValidation: function (group, part) {
return !(part instanceof go.Group) ||
(part.category !== 'Pool' && part.category !== 'Lane');
},
mouseDrop: function (e, grp) {
if (!(grp instanceof go.Group) || grp.diagram === null)
return;
var ok = grp.addMembers(grp.diagram.selection, true);
if (!ok)
grp.diagram.currentTool.doCancel();
},
mouseEnter: function (e, node) {
internalHelper.showSmallPorts(node, true);
},
mouseLeave: function (e, node) {
internalHelper.showSmallPorts(node, false);
},
contextMenu: activityNodeMenu,
itemTemplate: boundaryEventItemTemplate,
selectionAdorned: false
},
new go.Binding("itemArray", "boundaryEventArray"),
new go.Binding("location", "loc", go.Point.parse).makeTwoWay(go.Point.stringify),
new go.Binding("isSubGraphExpanded", "isExpanded").makeTwoWay(),
GO(go.Panel, "Auto",
GO(go.Shape, "RoundedRectangle",
{
name: "PH", fill: SubprocessNodeFill, stroke: SubprocessNodeStroke,
minSize: new go.Size(SubprocessNodeWidth, SubprocessNodeHeight),
portId: "", fromLinkable: true, toLinkable: true, cursor: "pointer",
fromSpot: go.Spot.RightSide, toSpot: go.Spot.LeftSide
},
new go.Binding("stroke", "isSelected", function (sel) {
if (sel) return "dodgerblue"; else return "black";
}).ofObject(""),
new go.Binding("fill", "isSelected", function (sel) {
if (sel) return "#f0f8ff"; else return "white";
}).ofObject(""),
new go.Binding("strokeWidth", "isCall", function (s) { return s ? ActivityNodeStrokeWidthIsCall : ActivityNodeStrokeWidth; })
),
GO(go.Shape, "RoundedRectangle",
{
margin: 3,
stretch: go.GraphObject.Fill,
stroke: ActivityNodeStroke,
parameter1: 8 / palscale,
fill: null,
visible: false
},
new go.Binding("visible", "isTransaction")),
GO(go.Panel, "Vertical",
{ defaultAlignment: go.Spot.Left },
GO(go.TextBlock,
{ margin: 3, editable: false },
new go.Binding("text", "", function (val, node) {
var name = "";
if (val && val.externalData && val.externalData.Name !== undefined && val.externalData.Name !== null) {
name = val.externalData.Name;
}
return name == "" ? val.text : name;
}).makeTwoWay(),
new go.Binding("alignment", "isSubGraphExpanded", function (s) { return s ? go.Spot.TopLeft : go.Spot.Center; })),
GO(go.Placeholder,
{ padding: new go.Margin(5, 5) }),
makeMarkerPanel(true, 1)
)
),
new go.Binding("movable", "locked", function (val) {
return val ? false : true;
}),
new go.Binding("deletable", "locked", function (val) {
return val ? false : true;
}),
new go.Binding("isShadowed", "externalData", function (externalData) {
if (externalData.ReferanceProcessId !== undefined && externalData.ReferanceProcessId !== null &&
externalData.ReferanceProcessProvStr !== 0) {
return true;
}
return false;
})
);
function fixExpandBtn(panel, subgraphBtn) {
var sgBtn = panel.findObject(subgraphBtn);
var border = sgBtn.findObject("ButtonBorder");
if (border instanceof go.Shape) {
border.figure = "Rectangle";
border.spot1 = new go.Spot(0, 0, 2, 2);
border.spot2 = new go.Spot(1, 1, -2, -2);
}
}
fixExpandBtn(subProcessGroupTemplate, "subExpandBtn");
Panel, "Auto'
Shape, "RoundedRectangle"
Panel, "Auto"
Shape, "RoundedRectangle"
. . .
problem persists when expanded
I added this code
GO(go.Panel, "Auto",
GO(go.Shape, "RoundedRectangle",
{
margin: 3,
stretch: go.GraphObject.Fill,
stroke: ActivityNodeStroke,
minSize: new go.Size(SubprocessNodeWidth, SubprocessNodeHeight),
fill: null,
visible: false
},
new go.Binding("visible", "isTransaction")
)
),
var subProcessGroupTemplate = GO(go.Group, "Spot",
{
locationSpot: go.Spot.Center,
locationObjectName: "PH",
selectionChanged: assignGroupLayer,
subGraphExpandedChanged: function (grp) {
if (grp.isSubGraphExpanded) grp.isSelected = true;
assignGroupLayer(grp);
},
memberValidation: function (group, part) {
return !(part instanceof go.Group) ||
(part.category !== 'Pool' && part.category !== 'Lane');
},
mouseDrop: function (e, grp) {
if (!(grp instanceof go.Group) || grp.diagram === null)
return;
var ok = grp.addMembers(grp.diagram.selection, true);
if (!ok)
grp.diagram.currentTool.doCancel();
},
mouseEnter: function (e, node) {
internalHelper.showSmallPorts(node, true);
},
mouseLeave: function (e, node) {
internalHelper.showSmallPorts(node, false);
},
contextMenu: activityNodeMenu,
itemTemplate: boundaryEventItemTemplate,
selectionAdorned: false
},
new go.Binding("itemArray", "boundaryEventArray"),
new go.Binding("location", "loc", go.Point.parse).makeTwoWay(go.Point.stringify),
new go.Binding("isSubGraphExpanded", "isExpanded").makeTwoWay(),
GO(go.Panel, "Auto",
GO(go.Shape, "RoundedRectangle",
{
name: "PH", fill: SubprocessNodeFill, stroke: SubprocessNodeStroke,
minSize: new go.Size(SubprocessNodeWidth, SubprocessNodeHeight),
portId: "", fromLinkable: true, toLinkable: true, cursor: "pointer",
fromSpot: go.Spot.RightSide, toSpot: go.Spot.LeftSide
},
new go.Binding("stroke", "isSelected", function (sel) {
if (sel) return "dodgerblue"; else return "black";
}).ofObject(""),
new go.Binding("fill", "isSelected", function (sel) {
if (sel) return "#f0f8ff"; else return "white";
}).ofObject(""),
new go.Binding("strokeWidth", "isCall", function (s) { return s ? ActivityNodeStrokeWidthIsCall : ActivityNodeStrokeWidth; })
),
GO(go.Panel, "Auto",
GO(go.Shape, "RoundedRectangle",
{
margin: 3,
stretch: go.GraphObject.Fill,
stroke: ActivityNodeStroke,
minSize: new go.Size(SubprocessNodeWidth, SubprocessNodeHeight),
fill: null,
visible: false
},
new go.Binding("visible", "isTransaction")
)
),
GO(go.Panel, "Vertical",
{ defaultAlignment: go.Spot.Left },
GO(go.TextBlock,
{ margin: 3, editable: false },
new go.Binding("text", "", function (val, node) {
var name = "";
if (val && val.externalData && val.externalData.Name !== undefined && val.externalData.Name !== null) {
name = val.externalData.Name;
}
return name == "" ? val.text : name;
}).makeTwoWay(),
new go.Binding("alignment", "isSubGraphExpanded", function (s) { return s ? go.Spot.TopLeft : go.Spot.Center; })),
GO(go.Placeholder,
{ padding: new go.Margin(5, 5) }),
makeMarkerPanel(true, 1)
)
),
new go.Binding("movable", "locked", function (val) {
return val ? false : true;
}),
new go.Binding("deletable", "locked", function (val) {
return val ? false : true;
})
);
function fixExpandBtn(panel, subgraphBtn) {
var sgBtn = panel.findObject(subgraphBtn);
var border = sgBtn.findObject("ButtonBorder");
if (border instanceof go.Shape) {
border.figure = "Rectangle";
border.spot1 = new go.Spot(0, 0, 2, 2);
border.spot2 = new go.Spot(1, 1, -2, -2);
}
}
fixExpandBtn(subProcessGroupTemplate, "subExpandBtn");
You have to have nested “Auto” Panels, as I specified above:
Your template has doesn’t put the “Vertical” Panel inside the inner “Auto” Panel.