UNPKG

opds-web-client

Version:
50 lines (49 loc) 1.99 kB
"use strict"; var __assign = (this && this.__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; }; var React = require("react"); var ReactDOM = require("react-dom"); var react_router_1 = require("react-router"); var OPDSCatalog_1 = require("./components/OPDSCatalog"); require("./stylesheets/app.scss"); var OPDSWebClient = (function () { function OPDSWebClient(config, elementId) { this.elementId = elementId; this.pathPattern = config.pathPattern || "/(collection/:collectionUrl/)(book/:bookUrl/)"; this.RouteHandler = React.createClass({ contextTypes: { router: React.PropTypes.object.isRequired }, childContextTypes: { pathFor: React.PropTypes.func.isRequired }, getChildContext: function () { return { pathFor: config.pathFor }; }, render: function () { var _a = this.props.params, collectionUrl = _a.collectionUrl, bookUrl = _a.bookUrl; var mergedProps = Object.assign(config, { collectionUrl: collectionUrl, bookUrl: bookUrl }); return React.createElement(OPDSCatalog_1.default, __assign({}, mergedProps)); } }); this.render(); } OPDSWebClient.prototype.render = function () { var RouteHandler = this.RouteHandler; ReactDOM.render(React.createElement(react_router_1.Router, { history: react_router_1.browserHistory }, React.createElement(react_router_1.Route, { path: this.pathPattern, component: RouteHandler })), document.getElementById(this.elementId)); }; return OPDSWebClient; }()); module.exports = OPDSWebClient;