UNPKG

react-vtree

Version:

React component for efficiently rendering large tree structures

61 lines (47 loc) 2.06 kB
"use strict"; exports.__esModule = true; exports.updateRecordOnNewData = exports.updateRecord = exports.shouldUpdateRecords = exports.createRecord = exports.identity = void 0; var identity = function identity(value) { return value; }; exports.identity = identity; var createRecord = function createRecord(data, _ref, _ref2) { var _opennessState; var opennessState = _ref.opennessState; var recomputeTree = _ref2.recomputeTree; var record = { data: data, isOpen: (_opennessState = opennessState == null ? void 0 : opennessState[data.id]) != null ? _opennessState : data.isOpenByDefault, toggle: function toggle() { record.isOpen = !record.isOpen; return recomputeTree({ refreshNodes: record.isOpen }); } }; return record; }; exports.createRecord = createRecord; var shouldUpdateRecords = function shouldUpdateRecords(_ref3) { var opennessState = _ref3.opennessState, _ref3$useDefaultOpenn = _ref3.useDefaultOpenness, useDefaultOpenness = _ref3$useDefaultOpenn === void 0 ? false : _ref3$useDefaultOpenn; return !!opennessState || useDefaultOpenness; }; exports.shouldUpdateRecords = shouldUpdateRecords; var updateRecord = function updateRecord(record, recordId, _ref4) { var _opennessState2; var opennessState = _ref4.opennessState, _ref4$useDefaultOpenn = _ref4.useDefaultOpenness, useDefaultOpenness = _ref4$useDefaultOpenn === void 0 ? false : _ref4$useDefaultOpenn; record.isOpen = useDefaultOpenness ? record.data.isOpenByDefault : (_opennessState2 = opennessState == null ? void 0 : opennessState[recordId]) != null ? _opennessState2 : record.isOpen; }; exports.updateRecord = updateRecord; var updateRecordOnNewData = function updateRecordOnNewData(record, _ref5) { var _ref5$useDefaultOpenn = _ref5.useDefaultOpenness, useDefaultOpenness = _ref5$useDefaultOpenn === void 0 ? false : _ref5$useDefaultOpenn; if (useDefaultOpenness) { record.isOpen = record.data.isOpenByDefault; } }; exports.updateRecordOnNewData = updateRecordOnNewData;