Completely updated React, fixed #11, (hopefully)
This commit is contained in:
97
goTorrentWebUI/node_modules/material-ui/es/Portal/LegacyPortal.js
generated
vendored
Normal file
97
goTorrentWebUI/node_modules/material-ui/es/Portal/LegacyPortal.js
generated
vendored
Normal file
@@ -0,0 +1,97 @@
|
||||
import React from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
import PropTypes from 'prop-types';
|
||||
import ownerDocument from 'dom-helpers/ownerDocument';
|
||||
import exactProp from '../utils/exactProp';
|
||||
|
||||
function getContainer(container, defaultContainer) {
|
||||
container = typeof container === 'function' ? container() : container;
|
||||
return ReactDOM.findDOMNode(container) || defaultContainer;
|
||||
}
|
||||
|
||||
function getOwnerDocument(element) {
|
||||
return ownerDocument(ReactDOM.findDOMNode(element));
|
||||
}
|
||||
|
||||
/**
|
||||
* @ignore - internal component.
|
||||
*
|
||||
* This module will soon be gone. We should drop it as soon as React@15.x support stop.
|
||||
*/
|
||||
class LegacyPortal extends React.Component {
|
||||
constructor(...args) {
|
||||
var _temp;
|
||||
|
||||
return _temp = super(...args), this.getMountNode = () => {
|
||||
return this.mountNode;
|
||||
}, this.mountOverlayTarget = () => {
|
||||
if (!this.overlayTarget) {
|
||||
this.overlayTarget = document.createElement('div');
|
||||
this.mountNode = getContainer(this.props.container, getOwnerDocument(this).body);
|
||||
this.mountNode.appendChild(this.overlayTarget);
|
||||
}
|
||||
}, this.unmountOverlayTarget = () => {
|
||||
if (this.overlayTarget) {
|
||||
this.mountNode.removeChild(this.overlayTarget);
|
||||
this.overlayTarget = null;
|
||||
}
|
||||
this.mountNode = null;
|
||||
}, this.unrenderOverlay = () => {
|
||||
if (this.overlayTarget) {
|
||||
ReactDOM.unmountComponentAtNode(this.overlayTarget);
|
||||
this.overlayInstance = null;
|
||||
}
|
||||
}, this.renderOverlay = () => {
|
||||
const overlay = this.props.children;
|
||||
this.mountOverlayTarget();
|
||||
const initialRender = !this.overlayInstance;
|
||||
this.overlayInstance = ReactDOM.unstable_renderSubtreeIntoContainer(this, overlay, this.overlayTarget, () => {
|
||||
if (initialRender && this.props.onRendered) {
|
||||
this.props.onRendered();
|
||||
}
|
||||
});
|
||||
}, _temp;
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
this.mounted = true;
|
||||
this.renderOverlay();
|
||||
}
|
||||
|
||||
componentWillReceiveProps(nextProps) {
|
||||
if (this.overlayTarget && nextProps.container !== this.props.container) {
|
||||
this.mountNode.removeChild(this.overlayTarget);
|
||||
this.mountNode = getContainer(nextProps.container, getOwnerDocument(this).body);
|
||||
this.mountNode.appendChild(this.overlayTarget);
|
||||
}
|
||||
}
|
||||
|
||||
componentDidUpdate() {
|
||||
this.renderOverlay();
|
||||
}
|
||||
|
||||
componentWillUnmount() {
|
||||
this.mounted = false;
|
||||
this.unrenderOverlay();
|
||||
this.unmountOverlayTarget();
|
||||
}
|
||||
|
||||
/**
|
||||
* @public
|
||||
*/
|
||||
|
||||
|
||||
render() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
LegacyPortal.propTypes = process.env.NODE_ENV !== "production" ? {
|
||||
children: PropTypes.element.isRequired,
|
||||
container: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),
|
||||
onRendered: PropTypes.func
|
||||
} : {};
|
||||
|
||||
LegacyPortal.propTypes = process.env.NODE_ENV !== "production" ? exactProp(LegacyPortal.propTypes, 'LegacyPortal') : {};
|
||||
|
||||
export default LegacyPortal;
|
9
goTorrentWebUI/node_modules/material-ui/es/Portal/Portal.d.ts
generated
vendored
Normal file
9
goTorrentWebUI/node_modules/material-ui/es/Portal/Portal.d.ts
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
import * as React from 'react';
|
||||
|
||||
export interface PortalProps {
|
||||
children: React.ReactElement<any>;
|
||||
container?: React.ReactInstance | (() => React.ReactInstance);
|
||||
onRendered?: () => void;
|
||||
}
|
||||
|
||||
export default class Portal extends React.Component<PortalProps> {}
|
82
goTorrentWebUI/node_modules/material-ui/es/Portal/Portal.js
generated
vendored
Normal file
82
goTorrentWebUI/node_modules/material-ui/es/Portal/Portal.js
generated
vendored
Normal file
@@ -0,0 +1,82 @@
|
||||
import React from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
import PropTypes from 'prop-types';
|
||||
import ownerDocument from 'dom-helpers/ownerDocument';
|
||||
import exactProp from '../utils/exactProp';
|
||||
|
||||
function getContainer(container, defaultContainer) {
|
||||
container = typeof container === 'function' ? container() : container;
|
||||
return ReactDOM.findDOMNode(container) || defaultContainer;
|
||||
}
|
||||
|
||||
function getOwnerDocument(element) {
|
||||
return ownerDocument(ReactDOM.findDOMNode(element));
|
||||
}
|
||||
|
||||
/**
|
||||
* This component shares many concepts with
|
||||
* [react-overlays](https://react-bootstrap.github.io/react-overlays/#portals)
|
||||
* But has been forked in order to fix some bugs, reduce the number of dependencies
|
||||
* and take the control of our destiny.
|
||||
*/
|
||||
class Portal extends React.Component {
|
||||
constructor(...args) {
|
||||
var _temp;
|
||||
|
||||
return _temp = super(...args), this.getMountNode = () => {
|
||||
return this.mountNode;
|
||||
}, _temp;
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
this.setContainer(this.props.container);
|
||||
this.forceUpdate(this.props.onRendered);
|
||||
}
|
||||
|
||||
componentWillReceiveProps(nextProps) {
|
||||
if (nextProps.container !== this.props.container) {
|
||||
this.setContainer(nextProps.container);
|
||||
}
|
||||
}
|
||||
|
||||
componentWillUnmount() {
|
||||
this.mountNode = null;
|
||||
}
|
||||
|
||||
setContainer(container) {
|
||||
this.mountNode = getContainer(container, getOwnerDocument(this).body);
|
||||
}
|
||||
|
||||
/**
|
||||
* @public
|
||||
*/
|
||||
|
||||
|
||||
render() {
|
||||
const { children } = this.props;
|
||||
|
||||
return this.mountNode ? ReactDOM.createPortal(children, this.mountNode) : null;
|
||||
}
|
||||
}
|
||||
|
||||
Portal.propTypes = process.env.NODE_ENV !== "production" ? {
|
||||
/**
|
||||
* The children to render into the `container`.
|
||||
*/
|
||||
children: PropTypes.node.isRequired,
|
||||
/**
|
||||
* A node, component instance, or function that returns either.
|
||||
* The `container` will have the portal children appended to it.
|
||||
* By default, it's using the body of the top-level document object,
|
||||
* so it's simply `document.body` most of the time.
|
||||
*/
|
||||
container: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),
|
||||
/**
|
||||
* Callback fired once the children has been mounted into the `container`.
|
||||
*/
|
||||
onRendered: PropTypes.func
|
||||
} : {};
|
||||
|
||||
Portal.propTypes = process.env.NODE_ENV !== "production" ? exactProp(Portal.propTypes, 'Portal') : {};
|
||||
|
||||
export default Portal;
|
2
goTorrentWebUI/node_modules/material-ui/es/Portal/index.d.ts
generated
vendored
Normal file
2
goTorrentWebUI/node_modules/material-ui/es/Portal/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
export { default } from './Portal';
|
||||
export * from './Portal';
|
5
goTorrentWebUI/node_modules/material-ui/es/Portal/index.js
generated
vendored
Normal file
5
goTorrentWebUI/node_modules/material-ui/es/Portal/index.js
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
import ReactDOM from 'react-dom';
|
||||
import Portal from './Portal';
|
||||
import LegacyPortal from './LegacyPortal';
|
||||
|
||||
export default ReactDOM.createPortal ? Portal : LegacyPortal;
|
Reference in New Issue
Block a user