MCPcopy Index your code
hub / github.com/plotly/plotly.js / expandMargin

Function expandMargin

src/components/legend/draw.js:1089–1128  ·  view source on GitHub ↗
(gd, legendId, lx, ly)

Source from the content-addressed store, hash-verified

1087}
1088
1089function expandMargin(gd, legendId, lx, ly) {
1090 var fullLayout = gd._fullLayout;
1091 var legendObj = fullLayout[legendId];
1092 var xanchor = getXanchor(legendObj);
1093 var yanchor = getYanchor(legendObj);
1094
1095 var isPaperX = legendObj.xref === 'paper';
1096 var isPaperY = legendObj.yref === 'paper';
1097
1098 gd._fullLayout._reservedMargin[legendId] = {};
1099 var sideY = legendObj.y < 0.5 ? 'b' : 't';
1100 var sideX = legendObj.x < 0.5 ? 'l' : 'r';
1101 var possibleReservedMargins = {
1102 r: (fullLayout.width - lx),
1103 l: lx + legendObj._width,
1104 b: (fullLayout.height - ly),
1105 t: ly + legendObj._effHeight
1106 };
1107
1108 if(isPaperX && isPaperY) {
1109 return Plots.autoMargin(gd, legendId, {
1110 x: legendObj.x,
1111 y: legendObj.y,
1112 l: legendObj._width * (FROM_TL[xanchor]),
1113 r: legendObj._width * (FROM_BR[xanchor]),
1114 b: legendObj._effHeight * (FROM_BR[yanchor]),
1115 t: legendObj._effHeight * (FROM_TL[yanchor])
1116 });
1117 } else if(isPaperX) {
1118 gd._fullLayout._reservedMargin[legendId][sideY] = possibleReservedMargins[sideY];
1119 } else if(isPaperY) {
1120 gd._fullLayout._reservedMargin[legendId][sideX] = possibleReservedMargins[sideX];
1121 } else {
1122 if(legendObj.orientation === 'v') {
1123 gd._fullLayout._reservedMargin[legendId][sideX] = possibleReservedMargins[sideX];
1124 } else {
1125 gd._fullLayout._reservedMargin[legendId][sideY] = possibleReservedMargins[sideY];
1126 }
1127 }
1128}
1129
1130function getXanchor(legendObj) {
1131 return Lib.isRightAnchor(legendObj) ? 'right' :

Callers 1

drawOneFunction · 0.85

Calls 2

getXanchorFunction · 0.85
getYanchorFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…