4e89debd0c
When using a preset we need to keep in mind that the transformation paths are relative to the preset, not the consuming package. We get around this by using `<rootDir>` in the transform paths. However, doing this means fixing the root directory for all of the jest tests. This keeps the tests working in the same way but lets us fix the preset too. |
||
---|---|---|
.. | ||
changelog | ||
src | ||
.eslintrc.js | ||
.npmrc | ||
CHANGELOG.md | ||
PREVIOUS_CHANGELOG.md | ||
README.md | ||
babel.config.js | ||
composer.json | ||
composer.lock | ||
jest.config.json | ||
package.json | ||
tsconfig-cjs.json | ||
tsconfig.json |
README.md
Navigation
A collection of navigation-related functions for handling query parameter objects, serializing query parameters, updating query parameters, and triggering path changes.
Installation
Install the module
pnpm install @woocommerce/navigation --save
Usage
getHistory
A single history object used to perform path changes. This needs to be passed into ReactRouter to use the other path functions from this library.
import { getHistory } from '@woocommerce/navigation';
render() {
return (
<Router history={ getHistory() }>
…
</Router>
);
}
getPath() ⇒ String
Get the current path from history.
Returns: String
- Current path.
getTimeRelatedQuery(query) ⇒ Object
Gets time related parameters from a query.
Returns: Object
- Object containing the time related queries.
Param | Type | Description |
---|---|---|
query | Object |
Query containing the parameters. |
getIdsFromQuery(queryString) ⇒ Array
Get an array of IDs from a comma-separated query parameter.
Returns: Array
- List of IDs converted to an array of unique integers.
Param | Type | Description |
---|---|---|
queryString | string |
string value extracted from URL. |
getNewPath(query, path, currentQuery) ⇒ String
Return a URL with set query parameters.
Returns: String
- Updated URL merging query params into existing params.
Param | Type | Description |
---|---|---|
query | Object |
object of params to be updated. |
path | String |
Relative path (defaults to current path). |
currentQuery | Object |
object of current query params (defaults to current querystring). |
getQuery() ⇒ Object
Get the current query string, parsed into an object, from history.
Returns: Object
- Current query object, defaults to empty object.
onQueryChange(param, path, query) ⇒ function
This function returns an event handler for the given param
Returns: function
- A callback which will update param
to the passed value when called.
Param | Type | Description |
---|---|---|
param | string |
The parameter in the querystring which should be updated (ex page , per_page ) |
path | string |
Relative path (defaults to current path). |
query | string |
object of current query params (defaults to current querystring). |
updateQueryString(query, path, currentQuery)
Updates the query parameters of the current page.
Param | Type | Description |
---|---|---|
query | Object |
object of params to be updated. |
path | String |
Relative path (defaults to current path). |
currentQuery | Object |
object of current query params (defaults to current querystring). |
flattenFilters(filters) ⇒ Array
Collapse an array of filter values with subFilters into a 1-dimensional array.
Returns: Array
- Flattened array of all filters.
Param | Type | Description |
---|---|---|
filters | Array |
Set of filters with possible subfilters. |
getActiveFiltersFromQuery(query, config) ⇒ Array.<activeFilters>
Given a query object, return an array of activeFilters, if any.
Returns: Array.<activeFilters>
- - array of activeFilters
Param | Type | Description |
---|---|---|
query | object |
query oject |
config | object |
config object |
getDefaultOptionValue(config, options) ⇒ string
| undefined
Get the default option's value from the configuration object for a given filter. The first option is used as default if no defaultOption
is provided.
Returns: string
| undefined
- - the value of the default option.
Param | Type | Description |
---|---|---|
config | object |
a filter config object. |
options | array |
select options. |
getQueryFromActiveFilters(activeFilters, query, config) ⇒ object
Given activeFilters, create a new query object to update the url. Use previousFilters to Remove unused params.
Returns: object
- - query object representing the new parameters
Param | Type | Description |
---|---|---|
activeFilters | Array.<activeFilters> |
activeFilters shown in the UI |
query | object |
the current url query object |
config | object |
config object |
getUrlKey(key, rule) ⇒ string
Get the url query key from the filter key and rule.
Returns: string
- - url query key.
Param | Type | Description |
---|---|---|
key | string |
filter key. |
rule | string |
filter rule. |
activeFilter : Object
Describe activeFilter object.
Properties
Name | Type | Description |
---|---|---|
key | string |
filter key. |
[rule] | string |
a modifying rule for a filter, eg 'includes' or 'is_not'. |
value | string |
filter value(s). |