UNPKG

@antv/g6

Version:

graph visualization frame work

83 lines (81 loc) 2.2 kB
/** * @fileOverview dom util * @author huangtonger@aliyun.com */ var G = require('@antv/g'); var BaseUtil = require('./base'); var DomUtil = {}; BaseUtil.mix(DomUtil, G.DomUtil, { /** * add event listener * @param {object} target - event source * @param {object} eventType - event type * @param {funtion} callback - event callback * @return {object} - event object that has remove function */ addEventListener: function addEventListener(target, eventType, callback) { if (target.addEventListener) { target.addEventListener(eventType, callback, false); return { remove: function remove() { target.removeEventListener(eventType, callback, false); } }; } else if (target.attachEvent) { target.attachEvent('on' + eventType, callback); return { remove: function remove() { target.detachEvent('on' + eventType, callback); } }; } }, /** * create dom by string * @param {string} str dom string * @param {object} css css * @return {domobject} dom */ createDOM: function createDOM(str, css) { var dom = void 0; if (BaseUtil.isString(str)) { dom = G.DomUtil.createDom(str); } else { dom = str; } dom.bbox = dom.getBoundingClientRect(); dom.hide = function () { dom.style.visibility = 'hidden'; return dom; }; dom.show = function () { dom.style.visibility = 'visible'; return dom; }; dom.css = function (obj) { G.DomUtil.modifyCSS(dom, obj); return dom; }; dom.width = function () { return G.DomUtil.getWidth(dom); }; dom.height = function () { return G.DomUtil.getHeight(dom); }; dom.destroy = function () { dom.parentNode && dom.parentNode.removeChild(dom); }; dom.on = function (eventType, callback) { dom.addEventListener(eventType, callback); }; dom.off = function (eventType, callback) { dom.removeEventListener(eventType, callback); }; dom.attr = function (attrName) { return dom.getAttribute(attrName); }; dom.css(css); return dom; } }); module.exports = DomUtil;