useMemo(() => { const currentSearch = new URLSearchParams(search); currentSearch.set('_limit', _limit); currentSearch.set('_sort', _sort); currentSearch.set('_start', _start); currentSearch.delete('_page'); return currentSearch.toString(); }, [_limit, _sort, _start, search])
const handleChangeSearch = async ({ target: { name, value } }) => { const currentSearch = new URLSearchParams(searchToSendForRequest); // Pagination currentSearch.delete('_start'); if (value === '') { currentSearch.delete(name); } else { currentSearch.set(name, value); } const searchToString = currentSearch.toString(); push({ search: searchToString }); }
constructor(rest, method, path, options) { this.rest = rest; this.client = rest.client; this.method = method; this.route = options.route; this.options = options; let queryString = ''; if (options.query) { const query = Object.entries(options.query) .filter(([, value]) => ![null, 'null', 'undefined'].includes(value) && typeof value !== 'undefined') .flatMap(([key, value]) => (Array.isArray(value) ? value.map(v => [key, v]) : [[key, value]])); queryString = new URLSearchParams(query).toString(); } this.path = `${path}${queryString && `?${queryString}`}`; }
function attributeUrl(url, { source, medium }) { const attributedUrl = new URL(url); // Adding source attribution to the URL for Unsplash to track usage // https://help.unsplash.com/articles/2511315-guideline-attribution if (source) { attributedUrl.searchParams.set('utm_source', source); if (medium) { attributedUrl.searchParams.set('utm_medium', medium); } } return attributedUrl; }
useMemo(() => { const currentSearch = new URLSearchParams(search); // Delete all params that are not related to the filters const paramsToDelete = ['_limit', '_page', '_sort', '_q']; for (let i = 0; i < paramsToDelete.length; i++) { currentSearch.delete(paramsToDelete[i]); } return generateFiltersFromSearch(currentSearch.toString()); }, [search])
render() { const { cubejsToken, apiUrl } = this.state; const { location, history } = this.props; const params = new URLSearchParams(location.search); const query = (params.get('query') && JSON.parse(params.get('query'))) || {}; return ( (this.cubejsApi() && ( <PlaygroundQueryBuilder query={query} setQuery={(q) => history.push(`/build?query=${JSON.stringify(q)}`)} cubejsApi={this.cubejsApi()} apiUrl={apiUrl} cubejsToken={cubejsToken} dashboardSource={this.dashboardSource} /> )) || null ); }
function stripAutoPlays( searchParams ) { const returnVal = new URLSearchParams( searchParams ); const keys = Array.from( searchParams.keys() ).filter( ( k ) => /^auto_?play$/i.test( k ) ) || []; keys.forEach( ( key ) => { // In the rare case that we're handed an array of values, we use the first one const val = searchParams.get( key ).toLowerCase(); if ( val === '1' ) { returnVal.set( key, '0' ); } else if ( val === 'true' ) { returnVal.set( key, 'false' ); } else { // force a singular value returnVal.set( key, val ); } } ); return returnVal; }
new URLSearchParams(q).forEach((v, k) => query.set(k, v));
const handleChangeFilters = ({ target: { value } }) => { const newSearch = new URLSearchParams(); // Set the default params newSearch.set('_limit', _limit); newSearch.set('_sort', _sort); newSearch.set('_page', 1); value.forEach(({ filter, name, value: filterValue }) => { const filterType = filter === '=' ? '' : filter; const filterName = `${name}${filterType}`; newSearch.append(filterName, filterValue); }); push({ search: newSearch.toString() }); }
const handleChangeSearch = async ({ target: { name, value } }) => { const currentSearch = new URLSearchParams(searchToSendForRequest); // Pagination currentSearch.delete('_start'); if (value === '') { currentSearch.delete(name); } else { currentSearch.set(name, value); } const searchToString = currentSearch.toString(); push({ search: searchToString }); }
useMemo(() => { const currentSearch = new URLSearchParams(search); currentSearch.set('_limit', _limit); currentSearch.set('_sort', _sort); currentSearch.set('_start', _start); currentSearch.delete('_page'); return currentSearch.toString(); }, [_limit, _sort, _start, search])
function attributeUrl(url, { source, medium }) { const attributedUrl = new URL(url); // Adding source attribution to the URL for Unsplash to track usage // https://help.unsplash.com/articles/2511315-guideline-attribution if (source) { attributedUrl.searchParams.set('utm_source', source); if (medium) { attributedUrl.searchParams.set('utm_medium', medium); } } return attributedUrl; }
useMemo(() => { const currentSearch = new URLSearchParams(search); // Delete all params that are not related to the filters const paramsToDelete = ['_limit', '_page', '_sort', '_q']; for (let i = 0; i < paramsToDelete.length; i++) { currentSearch.delete(paramsToDelete[i]); } return generateFiltersFromSearch(currentSearch.toString()); }, [search])
const handleChangeFilters = ({ target: { value } }) => { const newSearch = new URLSearchParams(); // Set the default params newSearch.set('_limit', _limit); newSearch.set('_sort', _sort); newSearch.set('_page', 1); value.forEach(({ filter, name, value: filterValue }) => { const filterType = filter === '=' ? '' : filter; const filterName = `${name}${filterType}`; newSearch.append(filterName, filterValue); }); push({ search: newSearch.toString() }); }