use-table-tools
Version:
react hook for building powerful table components
50 lines • 1.55 kB
JavaScript
export var getObjectValueByString = function (obj, path) {
return path.split('.').reduce(function (acc, part) { return acc && acc[part]; }, obj);
};
export var getOffsetColumns = function (visibleColumns, columns, includeVisible) {
if (includeVisible === void 0) { includeVisible = false; }
if (visibleColumns.length) {
var visible_1 = visibleColumns.map(function (_a) {
var sortKey = _a.sortKey;
return sortKey;
});
return columns
.filter(function (_a) {
var isLocked = _a.isLocked;
return !isLocked;
})
.map(function (column) {
if (visible_1.includes(column.sortKey)) {
return Object.assign(column, { visible: true });
}
else {
return Object.assign(column, { visible: false });
}
})
.filter(function (_a) {
var visible = _a.visible;
return (includeVisible ? true : !visible);
});
}
else {
return [];
}
};
export var callAllEventHandlers = function () {
var fns = [];
for (var _i = 0; _i < arguments.length; _i++) {
fns[_i] = arguments[_i];
}
return function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
return fns.some(function (fn) {
if (fn) {
fn.apply(void 0, args);
}
});
};
};
//# sourceMappingURL=utils.js.map