@antv/x6
Version:
JavaScript diagramming library that uses SVG and HTML for rendering
33 lines • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.title = void 0;
const common_1 = require("../../common");
exports.title = {
qualify(title, { elem }) {
// HTMLElement title is specified via an attribute (i.e. not an element)
return elem instanceof SVGElement;
},
set(val, { elem }) {
const cacheName = 'x6-title';
const title = `${val}`;
const cache = common_1.Dom.data(elem, cacheName);
if (cache == null || cache !== title) {
common_1.Dom.data(elem, cacheName, title);
// Generally SVGTitleElement should be the first child
// element of its parent.
const firstChild = elem.firstChild;
if (firstChild && firstChild.tagName.toUpperCase() === 'TITLE') {
// Update an existing title
const titleElem = firstChild;
titleElem.textContent = title;
}
else {
// Create a new title
const titleNode = document.createElementNS(elem.namespaceURI, 'title');
titleNode.textContent = title;
elem.insertBefore(titleNode, firstChild);
}
}
},
};
//# sourceMappingURL=title.js.map