UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

55 lines (46 loc) 1.83 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"]; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"]; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = exports.PictureProvider = void 0; var _react = _interopRequireWildcard(require("react")); var _preview = _interopRequireDefault(require("../modal/preview")); var PictureContext = /*#__PURE__*/(0, _react.createContext)(undefined); var _default = PictureContext; exports["default"] = _default; var PictureProvider = function PictureProvider(props) { var children = props.children; var pictureList = (0, _react.useRef)([]); var registerPicture = (0, _react.useCallback)(function (index, pictureRef) { if (pictureList.current[index] !== pictureRef) { pictureList.current[index] = pictureRef; } }, [pictureList]); var unRegisterPicture = (0, _react.useCallback)(function (index, pictureRef) { if (pictureList.current[index] === pictureRef) { pictureList.current[index] = undefined; } }, [pictureList]); var preview = (0, _react.useCallback)(function (index) { (0, _preview["default"])({ defaultIndex: index, list: pictureList.current.filter(function (picture) { return picture && picture.src; }) }); }, [pictureList]); var value = (0, _react.useMemo)(function () { return { registerPicture: registerPicture, unRegisterPicture: unRegisterPicture, preview: preview }; }, [registerPicture, unRegisterPicture, preview]); return /*#__PURE__*/_react["default"].createElement(PictureContext.Provider, { value: value }, children); }; exports.PictureProvider = PictureProvider; //# sourceMappingURL=PictureContext.js.map