|
347 | 347 | var bbox = {};
|
348 | 348 | var textPosition = {};
|
349 | 349 |
|
350 |
| - if (elemOptions.value !== undefined) |
| 350 | + // Assign value attribute to element |
| 351 | + if (elemOptions.value !== undefined){ |
351 | 352 | elem.value = elemOptions.value;
|
352 |
| - |
353 |
| - // Init attrsHover |
354 |
| - self.setHoverOptions(elem.mapElem, elemOptions.attrs, elemOptions.attrsHover); |
| 353 | + } |
355 | 354 |
|
356 | 355 | // Init the label related to the element
|
357 | 356 | if (elemOptions.text && elemOptions.text.content !== undefined) {
|
|
360 | 359 | textPosition = self.getTextPosition(bbox, elemOptions.text.position, elemOptions.text.margin);
|
361 | 360 | elemOptions.text.attrs["text-anchor"] = textPosition.textAnchor;
|
362 | 361 | elem.textElem = self.paper.text(textPosition.x, textPosition.y, elemOptions.text.content).attr(elemOptions.text.attrs);
|
363 |
| - self.setHoverOptions(elem.textElem, elemOptions.text.attrs, elemOptions.text.attrsHover); |
364 |
| - if (elemOptions.eventHandlers) self.setEventHandlers(id, elemOptions, elem.mapElem, elem.textElem); |
365 |
| - self.setHover(elem.mapElem, elem.textElem); |
366 | 362 | $(elem.textElem.node).attr("data-id", id);
|
367 |
| - } else { |
368 |
| - if (elemOptions.eventHandlers) self.setEventHandlers(id, elemOptions, elem.mapElem); |
369 |
| - self.setHover(elem.mapElem); |
| 363 | + } |
| 364 | + |
| 365 | + // Set user event handlers |
| 366 | + if (elemOptions.eventHandlers) self.setEventHandlers(id, elemOptions, elem.mapElem, elem.textElem); |
| 367 | + |
| 368 | + // Set hover behavior only if attrsHover is set for area or for text |
| 369 | + if (($.isEmptyObject(elemOptions.attrsHover) === false) || |
| 370 | + (elem.textElem && $.isEmptyObject(elemOptions.text.attrsHover) === false)) { |
| 371 | + // Set hover option for mapElem |
| 372 | + self.setHoverOptions(elem.mapElem, elemOptions.attrs, elemOptions.attrsHover); |
| 373 | + // Set hover option for textElem |
| 374 | + if (elem.textElem) self.setHoverOptions(elem.textElem, elemOptions.text.attrs, elemOptions.text.attrsHover); |
| 375 | + // Set hover behavior |
| 376 | + self.setHover(elem.mapElem, elem.textElem); |
370 | 377 | }
|
371 | 378 |
|
372 | 379 | // Init the tooltip
|
|
0 commit comments