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

Function handleText

src/traces/bar/defaults.js:110–162  ·  view source on GitHub ↗
(traceIn, traceOut, layout, coerce, textposition, opts)

Source from the content-addressed store, hash-verified

108}
109
110function handleText(traceIn, traceOut, layout, coerce, textposition, opts) {
111 opts = opts || {};
112 var moduleHasSelected = !(opts.moduleHasSelected === false);
113 var moduleHasUnselected = !(opts.moduleHasUnselected === false);
114 var moduleHasConstrain = !(opts.moduleHasConstrain === false);
115 var moduleHasCliponaxis = !(opts.moduleHasCliponaxis === false);
116 var moduleHasTextangle = !(opts.moduleHasTextangle === false);
117 var moduleHasInsideanchor = !(opts.moduleHasInsideanchor === false);
118 var hasPathbar = !!opts.hasPathbar;
119
120 var hasBoth = Array.isArray(textposition) || textposition === 'auto';
121 var hasInside = hasBoth || textposition === 'inside';
122 var hasOutside = hasBoth || textposition === 'outside';
123
124 if (hasInside || hasOutside) {
125 var dfltFont = coerceFont(coerce, 'textfont', layout.font);
126
127 // Note that coercing `insidetextfont` is always needed –
128 // even if `textposition` is `outside` for each trace – since
129 // an outside label can become an inside one, for example because
130 // of a bar being stacked on top of it.
131 var insideTextFontDefault = Lib.extendFlat({}, dfltFont);
132 var isTraceTextfontColorSet = traceIn.textfont && traceIn.textfont.color;
133 var isColorInheritedFromLayoutFont = !isTraceTextfontColorSet;
134 if (isColorInheritedFromLayoutFont) {
135 delete insideTextFontDefault.color;
136 }
137 coerceFont(coerce, 'insidetextfont', insideTextFontDefault);
138
139 if (hasPathbar) {
140 var pathbarTextFontDefault = Lib.extendFlat({}, dfltFont);
141 if (isColorInheritedFromLayoutFont) {
142 delete pathbarTextFontDefault.color;
143 }
144 coerceFont(coerce, 'pathbar.textfont', pathbarTextFontDefault);
145 }
146
147 if (hasOutside) coerceFont(coerce, 'outsidetextfont', dfltFont);
148
149 if (moduleHasSelected) coerce('selected.textfont.color');
150 if (moduleHasUnselected) coerce('unselected.textfont.color');
151 if (moduleHasConstrain) coerce('constraintext');
152 if (moduleHasCliponaxis) coerce('cliponaxis');
153 if (moduleHasTextangle) coerce('textangle');
154
155 coerce('texttemplate');
156 coerce('texttemplatefallback');
157 }
158
159 if (hasInside) {
160 if (moduleHasInsideanchor) coerce('insidetextanchor');
161 }
162}
163
164module.exports = {
165 supplyDefaults: supplyDefaults,

Callers 9

defaults.jsFile · 0.85
defaults.jsFile · 0.85
supplyDefaultsFunction · 0.85
defaults.jsFile · 0.85
supplyDefaultsFunction · 0.85
defaults.jsFile · 0.85
supplyDefaultsFunction · 0.85
supplyDefaultsFunction · 0.85
defaults.jsFile · 0.85

Calls 1

coerceFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…