choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
90 lines (74 loc) • 2.17 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.addEvent = addEvent;
exports.findHiddenKeys = findHiddenKeys;
exports.getColumnFixed = getColumnFixed;
exports.getColumnKey = getColumnKey;
exports.removeEvent = removeEvent;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
// @ts-ignore
function addEvent(el, event, handler, inputOptions) {
if (!el) return;
var options = (0, _objectSpread2["default"])({
capture: true
}, inputOptions);
if (el.addEventListener) {
el.addEventListener(event, handler, options);
} else if (el.attachEvent) {
el.attachEvent('on' + event, handler);
} else {
// $FlowIgnore: Doesn't think elements are indexable
el['on' + event] = handler;
}
}
function removeEvent(el, event, handler, inputOptions) {
if (!el) return;
var options = (0, _objectSpread2["default"])({
capture: true
}, inputOptions);
if (el.removeEventListener) {
el.removeEventListener(event, handler, options);
} else if (el.detachEvent) {
el.detachEvent('on' + event, handler);
} else {
// $FlowIgnore: Doesn't think elements are indexable
el['on' + event] = null;
}
}
function findHiddenKeys(children, columns) {
var hiddenColumnKeys = [];
if (children && children.length) {
Array.from(children).map(function (child) {
if (child.props && child.props.hidden) {
var columnChildren = child.props.children;
hiddenColumnKeys.push(columnChildren[1].props.dataKey);
}
});
}
if (columns && columns.length) {
Array.from(columns).map(function (child) {
if (child && child.hidden) {
hiddenColumnKeys.push(child.dataIndex);
}
});
}
return hiddenColumnKeys;
}
function getColumnKey(_ref) {
var dataIndex = _ref.dataIndex,
key = _ref.key;
return key || dataIndex;
}
function getColumnFixed(fixed) {
if (fixed === true) {
return 'left';
}
if (fixed) {
return fixed;
}
return false;
}
//# sourceMappingURL=domFns.js.map
;