@light-sheet/react
Version:
FortuneSheet is a drop-in javascript spreadsheet library that provides rich features like Excel and Google Sheets
30 lines • 1.07 kB
JavaScript
import _ from "lodash";
import React, { useContext, useRef, useCallback } from "react";
import WorkbookContext from "../../context";
import { useOutsideClick } from "../../hooks/useOutsideClick";
import "./index.css";
import SheetListItem from "./SheetListItem";
var SheetList = function SheetList() {
var _useContext = useContext(WorkbookContext),
context = _useContext.context,
setContext = _useContext.setContext;
var containerRef = useRef(null);
var close = useCallback(function () {
setContext(function (ctx) {
ctx.showSheetList = false;
});
}, [setContext]);
useOutsideClick(containerRef, close, [close]);
return /*#__PURE__*/React.createElement("div", {
className: "fortune-context-menu luckysheet-cols-menu fortune-sheet-list",
ref: containerRef
}, _.sortBy(context.luckysheetfile, function (s) {
return Number(s.order);
}).map(function (singleSheet) {
return /*#__PURE__*/React.createElement(SheetListItem, {
sheet: singleSheet,
key: singleSheet.id
});
}));
};
export default SheetList;