UNPKG

@atlaskit/help

Version:
122 lines (121 loc) 6.58 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _typeof = require("@babel/runtime/helpers/typeof"); Object.defineProperty(exports, "__esModule", { value: true }); exports.useWhatsNewArticleContext = exports.WhatsNewArticleProvider = exports.CtxProvider = void 0; var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _react = _interopRequireWildcard(require("react")); var _Requests = require("../../model/Requests"); var _ctx = require("../../util/hooks/ctx"); var _constants = require("../constants"); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } var _createCtx = (0, _ctx.createCtx)(), _createCtx2 = (0, _slicedToArray2.default)(_createCtx, 2), useWhatsNewArticleContext = exports.useWhatsNewArticleContext = _createCtx2[0], CtxProvider = exports.CtxProvider = _createCtx2[1]; var WhatsNewArticleProvider = exports.WhatsNewArticleProvider = function WhatsNewArticleProvider(_ref) { var whatsNewGetNotificationProvider = _ref.whatsNewGetNotificationProvider, onWhatsNewButtonClick = _ref.onWhatsNewButtonClick, onSearchWhatsNewArticles = _ref.onSearchWhatsNewArticles, onSearchWhatsNewArticlesShowMoreClick = _ref.onSearchWhatsNewArticlesShowMoreClick, onWhatsNewResultItemClick = _ref.onWhatsNewResultItemClick, onGetWhatsNewArticle = _ref.onGetWhatsNewArticle, productName = _ref.productName, children = _ref.children; // What's new var _useState = (0, _react.useState)(undefined), _useState2 = (0, _slicedToArray2.default)(_useState, 2), whatsNewSearchType = _useState2[0], setWhatsNewSearchType = _useState2[1]; var _useState3 = (0, _react.useState)(null), _useState4 = (0, _slicedToArray2.default)(_useState3, 2), searchWhatsNewArticlesResult = _useState4[0], setSearchWhatsNewArticlesResult = _useState4[1]; var _useState5 = (0, _react.useState)(_Requests.REQUEST_STATE.done), _useState6 = (0, _slicedToArray2.default)(_useState5, 2), searchWhatsNewArticlesState = _useState6[0], setSearchWhatsNewArticlesState = _useState6[1]; var searchWhatsNew = (0, _react.useCallback)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { var filter, numberOfItems, page, results, _results, _args = arguments; return _regenerator.default.wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: filter = _args.length > 0 && _args[0] !== undefined ? _args[0] : ''; numberOfItems = _args.length > 1 && _args[1] !== undefined ? _args[1] : _constants.NUMBER_OF_WHATS_NEW_ITEMS_PER_PAGE; page = _args.length > 2 && _args[2] !== undefined ? _args[2] : ''; setWhatsNewSearchType(filter); if (!onSearchWhatsNewArticles) { _context.next = 28; break; } _context.prev = 5; setSearchWhatsNewArticlesState(_Requests.REQUEST_STATE.loading); // If the filter type hasn't change, then we are loading an extra page if (!(filter === whatsNewSearchType && page !== '')) { _context.next = 14; break; } _context.next = 10; return onSearchWhatsNewArticles(filter, numberOfItems, page); case 10: results = _context.sent; setSearchWhatsNewArticlesResult({ articles: [].concat((0, _toConsumableArray2.default)(searchWhatsNewArticlesResult !== null && searchWhatsNewArticlesResult !== void 0 && searchWhatsNewArticlesResult.articles ? searchWhatsNewArticlesResult.articles : []), (0, _toConsumableArray2.default)(results.articles)), hasNextPage: results.hasNextPage, nextPage: results.nextPage }); _context.next = 19; break; case 14: // new search setSearchWhatsNewArticlesResult(null); _context.next = 17; return onSearchWhatsNewArticles(filter, numberOfItems, page); case 17: _results = _context.sent; setSearchWhatsNewArticlesResult(_results); case 19: setSearchWhatsNewArticlesState(_Requests.REQUEST_STATE.done); _context.next = 26; break; case 22: _context.prev = 22; _context.t0 = _context["catch"](5); setSearchWhatsNewArticlesResult(null); setSearchWhatsNewArticlesState(_Requests.REQUEST_STATE.error); case 26: _context.next = 29; break; case 28: setSearchWhatsNewArticlesState(_Requests.REQUEST_STATE.error); case 29: case "end": return _context.stop(); } }, _callee, null, [[5, 22]]); })), [onSearchWhatsNewArticles, whatsNewSearchType, searchWhatsNewArticlesResult]); return /*#__PURE__*/_react.default.createElement(CtxProvider, { value: { whatsNewGetNotificationProvider: whatsNewGetNotificationProvider, onWhatsNewButtonClick: onWhatsNewButtonClick, onSearchWhatsNewArticlesShowMoreClick: onSearchWhatsNewArticlesShowMoreClick, onSearchWhatsNewArticles: searchWhatsNew, searchWhatsNewArticlesState: searchWhatsNewArticlesState, searchWhatsNewArticlesResult: searchWhatsNewArticlesResult, onWhatsNewResultItemClick: onWhatsNewResultItemClick, onGetWhatsNewArticle: onGetWhatsNewArticle, productName: productName } }, children); };