Skip to content

Commit

Permalink
Chore split stories (#2544)
Browse files Browse the repository at this point in the history
* chore: refactor folder structure for dev app

* chore: move instantsearch stories to external file

* chore: move analytics stories to external file

* chore: move ClearAll stories to external file

* chore: move CurrentRefinedStories stories to external file

* chore: move HierarchicalMenu stories to external file

* chore: move Hits stories to external file

* chore: move HitsPerPageSelector stories to external file

* chore: move InfiniteHits stories to external file

* chore: move Menu stories to external file

* chore: move NumericRefinementList stories to external file

* chore: move NumericSelector stories to external file

* chore: move Pagination stories to external file

* chore: move PriceRanges stories to external file

* chore: move RangeSlider stories to external file

* chore: move RefinementList stories to external file

* chore: move SearchBox stories to external file

* chore: move SortBySelector stories to external file

* chore: move Stats stories to external file

* chore: move StarRating stories to external file

* chore: move Toggle stories to external file

* fix(stories): reorder builtin import

* refactor(stories): use named export for utils

* feat(stories): add wrapWithHitsAndJquery

* chore: move jQuery ClearAll stories to external file

* chore: move jQuery CurrentRefinedValues stories to external file

* chore: move jQuery HierarchicalMenu stories to external file

* chore: move jQuery Hits stories to external file

* chore: move jQuery HitsPerPageSelector stories to external file

* chore: move jQuery InfiniteHits stories to external file

* chore: move jQuery Menu stories to external file

* chore: move jQuery NumericRefinementList stories to external file

* chore: move jQuery NumericSelector stories to external file

* chore: move jQuery Pagination stories to external file

* chore: move jQuery PriceRanges stories to external file

* chore: move jQuery RefinementList stories to external file

* chore: move jQuery SearchBox stories to external file

* chore: move jQuery SortBySelector stories to external file

* chore: move jQuery StarRating stories to external file

* chore: move jQuery Stats stories to external file

* chore: move jQuery Toggle stories to external file

* chore: move vanilla ClearAll stories to external file

* chore: move vanilla Hits stories to external file

* chore: move vanilla Menu stories to external file

* chore: move vanilla RefinementList stories to external file

* chore: move vanilla SearchBox stories to external file
  • Loading branch information
samouss authored and bobylito committed Nov 3, 2017
1 parent 8321177 commit 95421ef
Show file tree
Hide file tree
Showing 79 changed files with 1,585 additions and 1,176 deletions.
43 changes: 43 additions & 0 deletions dev/app/builtin/init-stories.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import initAnalyticsStories from './stories/analytics.stories';
import initClearAllStories from './stories/clear-all.stories';
import initCurrentRefinedValuesStories from './stories/current-refined-values.stories';
import initHierarchicalMenu from './stories/hierarchical-menu.stories';
import initHitsStories from './stories/hits.stories';
import initHitsPerPageSelectorStories from './stories/hits-per-page-selector.stories';
import initInfiniteHitsStories from './stories/infinite-hits.stories';
import initInstantSearchStories from './stories/instantsearch.stories';
import initMenuStories from './stories/menu.stories';
import initNumericRefinementListStories from './stories/numeric-refinement-list.stories';
import initNumericSelectorStories from './stories/numeric-selector.stories';
import initPaginationStories from './stories/pagination.stories';
import initPriceRangesStories from './stories/price-ranges.stories';
import initRangeSliderStories from './stories/range-slider.stories';
import initRefinementListStories from './stories/refinement-list.stories';
import initSearchBoxStories from './stories/search-box.stories';
import initSortBySelectorStories from './stories/sort-by-selector.stories';
import initStarRatingStories from './stories/star-rating.stories';
import initStatsStories from './stories/stats.stories';
import initToggleStories from './stories/toggle.stories';

export default () => {
initAnalyticsStories();
initClearAllStories();
initCurrentRefinedValuesStories();
initHierarchicalMenu();
initHitsStories();
initHitsPerPageSelectorStories();
initInfiniteHitsStories();
initInstantSearchStories();
initMenuStories();
initNumericRefinementListStories();
initNumericSelectorStories();
initPaginationStories();
initPriceRangesStories();
initRangeSliderStories();
initRefinementListStories();
initSearchBoxStories();
initSortBySelectorStories();
initStatsStories();
initStarRatingStories();
initToggleStories();
};
30 changes: 30 additions & 0 deletions dev/app/builtin/stories/analytics.stories.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/* eslint-disable import/default */

import { action, storiesOf } from 'dev-novel';
import instantsearch from '../../../../index';
import { wrapWithHits } from '../../utils/wrap-with-hits.js';

const stories = storiesOf('Analytics');

export default () => {
stories.add(
'default',
wrapWithHits(container => {
const description = document.createElement('p');
description.innerText = 'Search for something, look into Action Logger';
container.appendChild(description);

window.search.addWidget(
instantsearch.widgets.analytics({
pushFunction(formattedParameters, state, results) {
action('pushFunction[formattedParameters]')(formattedParameters);
action('pushFunction[state]')(state);
action('pushFunction[results]')(results);
},
triggerOnUIInteraction: true,
pushInitialSearch: false,
})
);
})
);
};
64 changes: 64 additions & 0 deletions dev/app/builtin/stories/clear-all.stories.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
/* eslint-disable import/default */

import { storiesOf } from 'dev-novel';
import instantsearch from '../../../../index';
import { wrapWithHits } from '../../utils/wrap-with-hits.js';

const stories = storiesOf('ClearAll');

export default () => {
stories
.add(
'default',
wrapWithHits(
container => {
window.search.addWidget(
instantsearch.widgets.clearAll({
container,
autoHideContainer: false,
})
);
},
{
searchParameters: {
disjunctiveFacetsRefinements: { brand: ['Apple'] },
disjunctiveFacets: ['brand'],
},
}
)
)
.add(
'with nothing to clear',
wrapWithHits(container => {
window.search.addWidget(
instantsearch.widgets.clearAll({
container,
autoHideContainer: false,
})
);
})
)
.add(
'with clear refinements and query',
wrapWithHits(
container => {
window.search.addWidget(
instantsearch.widgets.clearAll({
container,
autoHideContainer: false,
clearsQuery: true,
templates: {
link: 'Clear refinements and query',
},
})
);
},
{
searchParameters: {
disjunctiveFacetsRefinements: { brand: ['Apple'] },
disjunctiveFacets: ['brand'],
},
}
)
);
};
84 changes: 84 additions & 0 deletions dev/app/builtin/stories/current-refined-values.stories.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
/* eslint-disable import/default */

import { storiesOf } from 'dev-novel';
import instantsearch from '../../../../index';
import { wrapWithHits } from '../../utils/wrap-with-hits.js';

const stories = storiesOf('CurrentRefinedValues');

export default () => {
stories
.add(
'default',
wrapWithHits(
container => {
window.search.addWidget(
instantsearch.widgets.currentRefinedValues({ container })
);
},
{
searchParameters: {
disjunctiveFacetsRefinements: { brand: ['Apple', 'Samsung'] },
disjunctiveFacets: ['brand'],
numericRefinements: { price: { '>=': [100] } },
},
}
)
)
.add(
'with header',
wrapWithHits(
container => {
window.search.addWidget(
instantsearch.widgets.currentRefinedValues({
container,
templates: {
header: 'Current refinements',
},
})
);
},
{
searchParameters: {
disjunctiveFacetsRefinements: { brand: ['Apple', 'Samsung'] },
disjunctiveFacets: ['brand'],
numericRefinements: { price: { '>=': [100] } },
},
}
)
)
.add(
'with header but no refinements',
wrapWithHits(container => {
window.search.addWidget(
instantsearch.widgets.currentRefinedValues({
container,
autoHideContainer: false,
templates: {
header: 'Current refinements',
},
})
);
})
)
.add(
'with clearsQuery',
wrapWithHits(
container => {
window.search.addWidget(
instantsearch.widgets.currentRefinedValues({
container,
clearsQuery: true,
})
);
},
{
searchParameters: {
disjunctiveFacetsRefinements: { brand: ['Apple', 'Samsung'] },
disjunctiveFacets: ['brand'],
numericRefinements: { price: { '>=': [100] } },
},
}
)
);
};
89 changes: 89 additions & 0 deletions dev/app/builtin/stories/hierarchical-menu.stories.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
/* eslint-disable import/default */

import { storiesOf } from 'dev-novel';
import instantsearch from '../../../../index';
import { wrapWithHits } from '../../utils/wrap-with-hits.js';

const stories = storiesOf('HierarchicalMenu');

export default () => {
stories
.add(
'default',
wrapWithHits(container => {
window.search.addWidget(
instantsearch.widgets.hierarchicalMenu({
container,
attributes: [
'hierarchicalCategories.lvl0',
'hierarchicalCategories.lvl1',
'hierarchicalCategories.lvl2',
],
showParentLevel: false,
})
);
})
)
.add(
'hide parent levels',
wrapWithHits(container => {
window.search.addWidget(
instantsearch.widgets.hierarchicalMenu({
container,
attributes: [
'hierarchicalCategories.lvl0',
'hierarchicalCategories.lvl1',
'hierarchicalCategories.lvl2',
],
showParentLevel: true,
})
);
})
)
.add(
'with default selected item',
wrapWithHits(
container => {
window.search.addWidget(
instantsearch.widgets.hierarchicalMenu({
container,
attributes: [
'hierarchicalCategories.lvl0',
'hierarchicalCategories.lvl1',
'hierarchicalCategories.lvl2',
],
rootPath: 'Cameras & Camcorders',
})
);
},
{
searchParameters: {
hierarchicalFacetsRefinements: {
'hierarchicalCategories.lvl0': [
'Cameras & Camcorders > Digital Cameras',
],
},
},
}
)
)
.add(
'with header',
wrapWithHits(container => {
window.search.addWidget(
instantsearch.widgets.hierarchicalMenu({
container,
attributes: [
'hierarchicalCategories.lvl0',
'hierarchicalCategories.lvl1',
'hierarchicalCategories.lvl2',
],
rootPath: 'Cameras & Camcorders',
templates: {
header: 'Hierarchical categories',
},
})
);
})
);
};
41 changes: 41 additions & 0 deletions dev/app/builtin/stories/hits-per-page-selector.stories.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
/* eslint-disable import/default */

import { storiesOf } from 'dev-novel';
import instantsearch from '../../../../index';
import { wrapWithHits } from '../../utils/wrap-with-hits.js';

const stories = storiesOf('HitsPerPageSelector');

export default () => {
stories
.add(
'default',
wrapWithHits(container => {
window.search.addWidget(
instantsearch.widgets.hitsPerPageSelector({
container,
items: [
{ value: 3, label: '3 per page' },
{ value: 5, label: '5 per page' },
{ value: 10, label: '10 per page' },
],
})
);
})
)
.add(
'with default hitPerPage to 5',
wrapWithHits(container => {
window.search.addWidget(
instantsearch.widgets.hitsPerPageSelector({
container,
items: [
{ value: 3, label: '3 per page' },
{ value: 5, label: '5 per page', default: true },
{ value: 10, label: '10 per page' },
],
})
);
})
);
};
16 changes: 16 additions & 0 deletions dev/app/builtin/stories/hits.stories.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
/* eslint-disable import/default */

import { storiesOf } from 'dev-novel';
import instantsearch from '../../../../index';
import { wrapWithHits } from '../../utils/wrap-with-hits.js';

const stories = storiesOf('Hits');

export default () => {
stories.add(
'default',
wrapWithHits(container => {
window.search.addWidget(instantsearch.widgets.hits({ container }));
})
);
};
Loading

0 comments on commit 95421ef

Please sign in to comment.