UNPKG

react-singletons

Version:

React Singletons brings the singleton pattern to React components. This module allows applications to create components that live outside of your application with shared states for popups and overlays.

55 lines 2.29 kB
"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; result["default"] = mod; return result; }; Object.defineProperty(exports, "__esModule", { value: true }); var React = __importStar(require("react")); var react_1 = require("react"); var SingletonComponentWrapper = /** @class */ (function (_super) { __extends(SingletonComponentWrapper, _super); function SingletonComponentWrapper() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.state = { shouldBeMounted: false, wrappedProps: {} }; return _this; } SingletonComponentWrapper.prototype.componentDidMount = function () { this.props.referenceCallback(this); }; SingletonComponentWrapper.prototype.render = function () { return this.state.shouldBeMounted === false ? null : (React.createElement(this.props.wrappedComponent, __assign({}, this.state.wrappedProps))); }; return SingletonComponentWrapper; }(react_1.Component)); exports.SingletonComponentWrapper = SingletonComponentWrapper; //# sourceMappingURL=SingletonComponentWrapper.js.map