UNPKG

@atlaskit/global-search

Version:

A cross-product search component (batteries included)

53 lines 2.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var React = tslib_1.__importStar(require("react")); var prefetchResults_1 = require("../api/prefetchResults"); exports.GlobalSearchPreFetchContext = React.createContext(undefined); var PrefetchedResultsProvider = /** @class */ (function (_super) { tslib_1.__extends(PrefetchedResultsProvider, _super); function PrefetchedResultsProvider() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.state = { prefetchedResults: undefined, }; _this.getPrefetchedResults = function (cloudId, userId) { var _a = _this.props, context = _a.context, baseUrl = _a.baseUrl; switch (context) { case 'confluence': return prefetchResults_1.getConfluencePrefetchedData(cloudId, baseUrl); case 'jira': return prefetchResults_1.getJiraPrefetchedData(cloudId, userId === null, baseUrl); default: throw new Error("Prefetching is not supported for context: " + context + " - did you set the PrefetchResultProvider context incorrectly?"); } }; _this.doPrefetchOnce = function () { var _a = _this.props, cloudId = _a.cloudId, userId = _a.userId; var prefetchedResults = _this.state.prefetchedResults; if (!cloudId) { return; } if (!prefetchedResults) { _this.setState({ prefetchedResults: _this.getPrefetchedResults(cloudId, userId), }); } }; return _this; } PrefetchedResultsProvider.prototype.componentDidUpdate = function () { this.doPrefetchOnce(); }; PrefetchedResultsProvider.prototype.componentDidMount = function () { this.doPrefetchOnce(); }; PrefetchedResultsProvider.prototype.render = function () { var children = this.props.children; var prefetchedResults = this.state.prefetchedResults; return (React.createElement(exports.GlobalSearchPreFetchContext.Provider, { value: prefetchedResults }, children)); }; return PrefetchedResultsProvider; }(React.Component)); exports.default = PrefetchedResultsProvider; //# sourceMappingURL=PrefetchedResultsProvider.js.map