UNPKG

shineout

Version:

Shein 前端组件库

42 lines (37 loc) 1.13 kB
import React from 'react'; import ReactDOM from 'react-dom'; import Gallery from './Gallery'; import { getDefaultContainer } from '../config'; import { imageClass } from './styles'; var container; function close() { // eslint-disable-next-line document.removeEventListener('keydown', keyClose); ReactDOM.unmountComponentAtNode(container); if (container && container.parentNode) container.parentNode.removeChild(container); container = null; } function keyClose(e) { if (e.keyCode === 27) close(); } function getContainer() { if (container) return container; var defaultContainer = getDefaultContainer(); container = document.createElement('div'); defaultContainer.appendChild(container); container.className = imageClass('gallery'); return container; } export default function events(images, current) { if (current === void 0) { current = 0; } if (!Array.isArray(images)) images = [images]; var div = getContainer(); document.addEventListener('keydown', keyClose); ReactDOM.render(React.createElement(Gallery, { onClose: close, current: current, images: images }), div); }