on master help sign in
Merge branch 'master' into mp/groups
58d9f02Matilde Park
components/Search.js+3−2
@@ -1,6 +1,7 @@
1import { Component, createRef } from "react";
1import { Component, createRef } from "react";
2import { glossary } from "../lib/glossary";
2import { glossary } from "../lib/glossary";
3import { withRouter } from "next/router";
3import { withRouter } from "next/router";
4+import debounce from "lodash.debounce";
4import Downshift from "downshift";
5import Downshift from "downshift";
5
6
6class Search extends Component {
7class Search extends Component {
@@ -38,7 +39,7 @@ class Search extends Component {
38 this.props.closeSearch();
39 this.props.closeSearch();
39 }
40 }
40
41
41− onInputValueChange(query) {
42+ onInputValueChange = debounce((query) => {
42 if (query.length) {
43 if (query.length) {
43 fetch(this.searchEndpoint(query))
44 fetch(this.searchEndpoint(query))
44 .then((res) => res.json())
45 .then((res) => res.json())
@@ -61,7 +62,7 @@ class Search extends Component {
61 } else {
62 } else {
62 this.setState({ results: [] });
63 this.setState({ results: [] });
63 }
64 }
64− }
65+ }, 250);
65
66
66 render() {
67 render() {
67 const { state, props } = this;
68 const { state, props } = this;
package-lock.json+31−20
@@ -21,6 +21,7 @@
21 "fuzzy-search": "^3.2.1",
21 "fuzzy-search": "^3.2.1",
22 "gray-matter": "^4.0.3",
22 "gray-matter": "^4.0.3",
23 "html-entities": "^2.3.2",
23 "html-entities": "^2.3.2",
24+ "lodash.debounce": "^4.0.8",
24 "luxon": "^2.0.2",
25 "luxon": "^2.0.2",
25 "next": "^12.1.5",
26 "next": "^12.1.5",
26 "path-browserify": "^1.0.1",
27 "path-browserify": "^1.0.1",
@@ -524,9 +525,9 @@
524 "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
525 "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
525 },
526 },
526 "node_modules/autoprefixer": {
527 "node_modules/autoprefixer": {
527− "version": "10.4.4",
528+ "version": "10.4.5",
528− "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.4.tgz",
529+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.5.tgz",
529− "integrity": "sha512-Tm8JxsB286VweiZ5F0anmbyGiNI3v3wGv3mz9W+cxEDYB/6jbnj6GM9H9mK3wIL8ftgl+C07Lcwb8PG5PCCPzA==",
530+ "integrity": "sha512-Fvd8yCoA7lNX/OUllvS+aS1I7WRBclGXsepbvT8ZaPgrH24rgXpZzF0/6Hh3ZEkwg+0AES/Osd196VZmYoEFtw==",
530 "dev": true,
531 "dev": true,
531 "funding": [
532 "funding": [
532 {
533 {
@@ -540,7 +541,7 @@
540 ],
541 ],
541 "dependencies": {
542 "dependencies": {
542 "browserslist": "^4.20.2",
543 "browserslist": "^4.20.2",
543− "caniuse-lite": "^1.0.30001317",
544+ "caniuse-lite": "^1.0.30001332",
544 "fraction.js": "^4.2.0",
545 "fraction.js": "^4.2.0",
545 "normalize-range": "^0.1.2",
546 "normalize-range": "^0.1.2",
546 "picocolors": "^1.0.0",
547 "picocolors": "^1.0.0",
@@ -1088,9 +1089,9 @@
1088 }
1089 }
1089 },
1090 },
1090 "node_modules/electron-to-chromium": {
1091 "node_modules/electron-to-chromium": {
1091− "version": "1.4.114",
1092+ "version": "1.4.118",
1092− "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.114.tgz",
1093+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.118.tgz",
1093− "integrity": "sha512-gRwLpVYWHGbERPU6o8pKfR168V6enWEXzZc6zQNNXbgJ7UJna+9qzAIHY94+9KOv71D/CH+QebLA9pChD2q8zA==",
1094+ "integrity": "sha512-maZIKjnYDvF7Fs35nvVcyr44UcKNwybr93Oba2n3HkKDFAtk0svERkLN/HyczJDS3Fo4wU9th9fUQd09ZLtj1w==",
1094 "dev": true
1095 "dev": true
1095 },
1096 },
1096 "node_modules/end-of-stream": {
1097 "node_modules/end-of-stream": {
@@ -2067,6 +2068,11 @@
2067 "resolved": "https://registry.npmjs.org/lodash.chunk/-/lodash.chunk-4.2.0.tgz",
2068 "resolved": "https://registry.npmjs.org/lodash.chunk/-/lodash.chunk-4.2.0.tgz",
2068 "integrity": "sha1-ZuXOH3btJ7QwPYxlEujRIW6BBrw="
2069 "integrity": "sha1-ZuXOH3btJ7QwPYxlEujRIW6BBrw="
2069 },
2070 },
2071+ "node_modules/lodash.debounce": {
2072+ "version": "4.0.8",
2073+ "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
2074+ "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168="
2075+ },
2070 "node_modules/lodash.isequal": {
2076 "node_modules/lodash.isequal": {
2071 "version": "4.5.0",
2077 "version": "4.5.0",
2072 "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
2078 "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
@@ -4837,9 +4843,9 @@
4837 }
4843 }
4838 },
4844 },
4839 "node_modules/tslib": {
4845 "node_modules/tslib": {
4840− "version": "2.3.1",
4846+ "version": "2.4.0",
4841− "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
4847+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
4842− "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
4848+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
4843 },
4849 },
4844 "node_modules/type-check": {
4850 "node_modules/type-check": {
4845 "version": "0.3.2",
4851 "version": "0.3.2",
@@ -5583,13 +5589,13 @@
5583 "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
5589 "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
5584 },
5590 },
5585 "autoprefixer": {
5591 "autoprefixer": {
5586− "version": "10.4.4",
5592+ "version": "10.4.5",
5587− "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.4.tgz",
5593+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.5.tgz",
5588− "integrity": "sha512-Tm8JxsB286VweiZ5F0anmbyGiNI3v3wGv3mz9W+cxEDYB/6jbnj6GM9H9mK3wIL8ftgl+C07Lcwb8PG5PCCPzA==",
5594+ "integrity": "sha512-Fvd8yCoA7lNX/OUllvS+aS1I7WRBclGXsepbvT8ZaPgrH24rgXpZzF0/6Hh3ZEkwg+0AES/Osd196VZmYoEFtw==",
5589 "dev": true,
5595 "dev": true,
5590 "requires": {
5596 "requires": {
5591 "browserslist": "^4.20.2",
5597 "browserslist": "^4.20.2",
5592− "caniuse-lite": "^1.0.30001317",
5598+ "caniuse-lite": "^1.0.30001332",
5593 "fraction.js": "^4.2.0",
5599 "fraction.js": "^4.2.0",
5594 "normalize-range": "^0.1.2",
5600 "normalize-range": "^0.1.2",
5595 "picocolors": "^1.0.0",
5601 "picocolors": "^1.0.0",
@@ -5962,9 +5968,9 @@
5962 }
5968 }
5963 },
5969 },
5964 "electron-to-chromium": {
5970 "electron-to-chromium": {
5965− "version": "1.4.114",
5971+ "version": "1.4.118",
5966− "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.114.tgz",
5972+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.118.tgz",
5967− "integrity": "sha512-gRwLpVYWHGbERPU6o8pKfR168V6enWEXzZc6zQNNXbgJ7UJna+9qzAIHY94+9KOv71D/CH+QebLA9pChD2q8zA==",
5973+ "integrity": "sha512-maZIKjnYDvF7Fs35nvVcyr44UcKNwybr93Oba2n3HkKDFAtk0svERkLN/HyczJDS3Fo4wU9th9fUQd09ZLtj1w==",
5968 "dev": true
5974 "dev": true
5969 },
5975 },
5970 "end-of-stream": {
5976 "end-of-stream": {
@@ -6649,6 +6655,11 @@
6649 "resolved": "https://registry.npmjs.org/lodash.chunk/-/lodash.chunk-4.2.0.tgz",
6655 "resolved": "https://registry.npmjs.org/lodash.chunk/-/lodash.chunk-4.2.0.tgz",
6650 "integrity": "sha1-ZuXOH3btJ7QwPYxlEujRIW6BBrw="
6656 "integrity": "sha1-ZuXOH3btJ7QwPYxlEujRIW6BBrw="
6651 },
6657 },
6658+ "lodash.debounce": {
6659+ "version": "4.0.8",
6660+ "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
6661+ "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168="
6662+ },
6652 "lodash.isequal": {
6663 "lodash.isequal": {
6653 "version": "4.5.0",
6664 "version": "4.5.0",
6654 "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
6665 "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
@@ -8487,9 +8498,9 @@
8487 "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA=="
8498 "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA=="
8488 },
8499 },
8489 "tslib": {
8500 "tslib": {
8490− "version": "2.3.1",
8501+ "version": "2.4.0",
8491− "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
8502+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
8492− "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
8503+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
8493 },
8504 },
8494 "type-check": {
8505 "type-check": {
8495 "version": "0.3.2",
8506 "version": "0.3.2",
package.json+1
@@ -25,6 +25,7 @@
25 "fuzzy-search": "^3.2.1",
25 "fuzzy-search": "^3.2.1",
26 "gray-matter": "^4.0.3",
26 "gray-matter": "^4.0.3",
27 "html-entities": "^2.3.2",
27 "html-entities": "^2.3.2",
28+ "lodash.debounce": "^4.0.8",
28 "luxon": "^2.0.2",
29 "luxon": "^2.0.2",
29 "next": "^12.1.5",
30 "next": "^12.1.5",
30 "path-browserify": "^1.0.1",
31 "path-browserify": "^1.0.1",