@antv/g6
Version:
graph visualization frame work
63 lines (60 loc) • 2.34 kB
JavaScript
const Event = require('/g/lib/event');
const BaseUtil = {
deepMix: require('/util/lib/deep-mix'),
mix: require('/util/lib/mix'),
debounce: require('/util/lib/debounce'),
each: require('/util/lib/each'),
throttle: require('/util/lib/throttle'),
mat3: require('/util/lib/matrix/mat3'),
vec2: require('/util/lib/matrix/vec2'),
vec3: require('/util/lib/matrix/vec3'),
transform: require('/util/lib/matrix/transform'),
clone: require('/util/lib/clone'),
upperFirst: require('/util/lib/string/upper-first'),
isNil: require('/util/lib/type/is-nil'),
isArray: require('/util/lib/type/is-array'),
createDom: require('/util/lib/dom/create-dom'),
modifyCSS: require('/util/lib/dom/modify-css'),
isObject: require('/util/lib/type/is-object'),
isPlainObject: require('/util/lib/type/is-plain-object'),
isNumber: require('/util/lib/type/is-number'),
isString: require('/util/lib/type/is-string'),
uniqueId: require('/util/lib/unique-id'),
addEventListener: require('/util/lib/dom/add-event-listener'),
wrapBehavior: require('/util/lib/event/wrap-behavior'),
extend: require('/util/lib/extend'),
augment: require('/util/lib/augment'),
remove: require('/util/lib/array/remove'),
/**
* turn padding into [top, right, bottom, right]
* @param {Number|Array} padding input padding
* @return {array} output
*/
formatPadding(padding) {
let top = 0;
let left = 0;
let right = 0;
let bottom = 0;
if (BaseUtil.isNumber(padding) || BaseUtil.isString(padding)) {
top = left = right = bottom = padding;
} else if (BaseUtil.isArray(padding)) {
top = padding[0];
right = !BaseUtil.isNil(padding[1]) ? padding[1] : padding[0];
bottom = !BaseUtil.isNil(padding[2]) ? padding[2] : padding[0];
left = !BaseUtil.isNil(padding[3]) ? padding[3] : right;
}
return [ top, right, bottom, left ];
},
cloneEvent(e) {
const event = new Event(e.type, e, true, true);
event.clientX = e.clientX;
event.clientY = e.clientY;
event.x = e.x;
event.y = e.y;
event.target = e.target;
event.currentTarget = e.currentTarget;
event.item = e.item;
return event;
}
};
module.exports = BaseUtil;