From 2e6137b5bd659ee0efdbb6193e257709cc5a2199 Mon Sep 17 00:00:00 2001 From: Yannick Croissant Date: Mon, 15 Apr 2019 18:32:31 +0200 Subject: [PATCH] feat(infiniteHits): add previous button (#3675) --- .storybook/MemoryRouter.ts | 27 ++ .storybook/preview-head.html | 2 +- src/components/InfiniteHits/InfiniteHits.js | 25 +- .../__tests__/InfiniteHits-test.js | 98 +++++ .../__snapshots__/InfiniteHits-test.js.snap | 96 +++++ .../connectInfiniteHits-test.js.snap | 121 +++++++ .../__tests__/connectInfiniteHits-test.js | 334 +++++++++++++++++- .../infinite-hits/connectInfiniteHits.js | 78 +++- .../__snapshots__/infinite-hits-test.js.snap | 37 +- .../__tests__/defaultTemplates-test.js | 6 + .../__tests__/infinite-hits-test.js | 44 +++ src/widgets/infinite-hits/defaultTemplates.js | 1 + src/widgets/infinite-hits/infinite-hits.js | 34 +- stories/infinite-hits.stories.js | 22 ++ website/examples/calendar-widget/index.html | 2 +- website/examples/e-commerce/index.html | 2 +- website/examples/tourism/index.html | 2 +- 17 files changed, 904 insertions(+), 27 deletions(-) create mode 100644 .storybook/MemoryRouter.ts create mode 100644 src/connectors/infinite-hits/__tests__/__snapshots__/connectInfiniteHits-test.js.snap diff --git a/.storybook/MemoryRouter.ts b/.storybook/MemoryRouter.ts new file mode 100644 index 0000000000..f7b059b619 --- /dev/null +++ b/.storybook/MemoryRouter.ts @@ -0,0 +1,27 @@ +import { action } from '@storybook/addon-actions'; + +const urlLogger = action('Routing state'); + +interface MemoryState { + [key: string]: string | number; +} + +export class MemoryRouter { + private _memoryState: MemoryState; + constructor(initialState: MemoryState = {}) { + this._memoryState = initialState; + } + write(routeState: MemoryState) { + this._memoryState = routeState; + urlLogger(JSON.stringify(routeState, null, 2)); + } + read() { + return this._memoryState; + } + createURL() { + return ''; + } + onUpdate() { + return {}; + } +} diff --git a/.storybook/preview-head.html b/.storybook/preview-head.html index a957de0631..4bf8de6a99 100644 --- a/.storybook/preview-head.html +++ b/.storybook/preview-head.html @@ -1,2 +1,2 @@ - + diff --git a/src/components/InfiniteHits/InfiniteHits.js b/src/components/InfiniteHits/InfiniteHits.js index 4de989b62e..281ec43dd6 100644 --- a/src/components/InfiniteHits/InfiniteHits.js +++ b/src/components/InfiniteHits/InfiniteHits.js @@ -6,7 +6,10 @@ import Template from '../Template/Template'; const InfiniteHits = ({ results, hits, + hasShowPrevious, + showPrevious, showMore, + isFirstPage, isLastPage, cssClasses, templateProps, @@ -26,6 +29,21 @@ const InfiniteHits = ({ return (
+ {hasShowPrevious && ( +