From 68aadaf1b02858b7df4adf1bd837162786fb79af Mon Sep 17 00:00:00 2001 From: Alex Varchuk Date: Thu, 28 Apr 2022 11:40:01 +0300 Subject: [PATCH] chore: update snapshots and add prop to readme --- README.md | 1 + src/components/SearchBox/SearchBox.tsx | 8 +++----- .../__snapshots__/DiscriminatorDropdown.test.tsx.snap | 10 ++++++++++ src/services/RedocNormalizedOptions.ts | 4 ++-- 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 5b76db06..e85577ce 100644 --- a/README.md +++ b/README.md @@ -207,6 +207,7 @@ Redoc uses the following [specification extensions](https://swagger.io/specifica You can use all of the following options with the standalone version of the tag by kebab-casing them. For example, `scrollYOffset` becomes `scroll-y-offset`, and `expandResponses` becomes `expand-responses`. * `disableSearch` - disable search indexing and search box. +* `minCharacterLengthToInitSearch` - set minimal characters length to init search, default `3`, minimal `1`. * `expandDefaultServerVariables` - enable expanding default server variables, default `false`. * `expandResponses` - specify which responses to expand by default by response codes. Values should be passed as comma-separated list without spaces e.g. `expandResponses="200,201"`. Special value `"all"` expands all responses by default. Be careful: this option can slow-down documentation rendering time. * `generatedPayloadSamplesMaxDepth` - set the maximum render depth for JSON payload samples (responses and request body). The default value is `10`. diff --git a/src/components/SearchBox/SearchBox.tsx b/src/components/SearchBox/SearchBox.tsx index 64b807ba..850111af 100644 --- a/src/components/SearchBox/SearchBox.tsx +++ b/src/components/SearchBox/SearchBox.tsx @@ -8,8 +8,6 @@ import { MarkerService } from '../../services/MarkerService'; import { SearchResult } from '../../services/SearchWorker.worker'; import { OptionsContext } from '../OptionsProvider'; -import { RedocRawOptions } from '../../services/RedocNormalizedOptions'; - import { bind, debounce } from 'decko'; import { PerfectScrollbarWrap } from '../../common-elements/perfect-scrollbar'; import { @@ -113,13 +111,13 @@ export class SearchBox extends React.PureComponent { + this.props.search.search(searchTerm).then(res => { this.setResults(res, searchTerm); }); } search = (event: React.ChangeEvent) => { - const { minCharacterLengthToInitSearch = 3 } = this.context as RedocRawOptions; + const { minCharacterLengthToInitSearch } = this.context; const q = event.target.value; if (q.length < minCharacterLengthToInitSearch) { this.clearResults(q); @@ -136,7 +134,7 @@ export class SearchBox extends React.PureComponent ({ + const results = this.state.results.map(res => ({ item: this.props.getItemById(res.meta)!, score: res.score, })); diff --git a/src/components/__tests__/__snapshots__/DiscriminatorDropdown.test.tsx.snap b/src/components/__tests__/__snapshots__/DiscriminatorDropdown.test.tsx.snap index 9a16b531..d9490d64 100644 --- a/src/components/__tests__/__snapshots__/DiscriminatorDropdown.test.tsx.snap +++ b/src/components/__tests__/__snapshots__/DiscriminatorDropdown.test.tsx.snap @@ -89,6 +89,7 @@ exports[`Components SchemaView discriminator should correctly render SchemaView "jsonSampleExpandLevel": 2, "maxDisplayedEnumValues": undefined, "menuToggle": true, + "minCharacterLengthToInitSearch": 3, "nativeScrollbars": false, "noAutoAuth": false, "nonce": undefined, @@ -339,6 +340,7 @@ exports[`Components SchemaView discriminator should correctly render SchemaView "jsonSampleExpandLevel": 2, "maxDisplayedEnumValues": undefined, "menuToggle": true, + "minCharacterLengthToInitSearch": 3, "nativeScrollbars": false, "noAutoAuth": false, "nonce": undefined, @@ -565,6 +567,7 @@ exports[`Components SchemaView discriminator should correctly render SchemaView "jsonSampleExpandLevel": 2, "maxDisplayedEnumValues": undefined, "menuToggle": true, + "minCharacterLengthToInitSearch": 3, "nativeScrollbars": false, "noAutoAuth": false, "nonce": undefined, @@ -856,6 +859,7 @@ exports[`Components SchemaView discriminator should correctly render SchemaView "jsonSampleExpandLevel": 2, "maxDisplayedEnumValues": undefined, "menuToggle": true, + "minCharacterLengthToInitSearch": 3, "nativeScrollbars": false, "noAutoAuth": false, "nonce": undefined, @@ -1106,6 +1110,7 @@ exports[`Components SchemaView discriminator should correctly render SchemaView "jsonSampleExpandLevel": 2, "maxDisplayedEnumValues": undefined, "menuToggle": true, + "minCharacterLengthToInitSearch": 3, "nativeScrollbars": false, "noAutoAuth": false, "nonce": undefined, @@ -1332,6 +1337,7 @@ exports[`Components SchemaView discriminator should correctly render SchemaView "jsonSampleExpandLevel": 2, "maxDisplayedEnumValues": undefined, "menuToggle": true, + "minCharacterLengthToInitSearch": 3, "nativeScrollbars": false, "noAutoAuth": false, "nonce": undefined, @@ -1581,6 +1587,7 @@ exports[`Components SchemaView discriminator should correctly render SchemaView "jsonSampleExpandLevel": 2, "maxDisplayedEnumValues": undefined, "menuToggle": true, + "minCharacterLengthToInitSearch": 3, "nativeScrollbars": false, "noAutoAuth": false, "nonce": undefined, @@ -1869,6 +1876,7 @@ exports[`Components SchemaView discriminator should correctly render SchemaView "jsonSampleExpandLevel": 2, "maxDisplayedEnumValues": undefined, "menuToggle": true, + "minCharacterLengthToInitSearch": 3, "nativeScrollbars": false, "noAutoAuth": false, "nonce": undefined, @@ -2119,6 +2127,7 @@ exports[`Components SchemaView discriminator should correctly render SchemaView "jsonSampleExpandLevel": 2, "maxDisplayedEnumValues": undefined, "menuToggle": true, + "minCharacterLengthToInitSearch": 3, "nativeScrollbars": false, "noAutoAuth": false, "nonce": undefined, @@ -2345,6 +2354,7 @@ exports[`Components SchemaView discriminator should correctly render SchemaView "jsonSampleExpandLevel": 2, "maxDisplayedEnumValues": undefined, "menuToggle": true, + "minCharacterLengthToInitSearch": 3, "nativeScrollbars": false, "noAutoAuth": false, "nonce": undefined, diff --git a/src/services/RedocNormalizedOptions.ts b/src/services/RedocNormalizedOptions.ts index af6f242a..b787e407 100644 --- a/src/services/RedocNormalizedOptions.ts +++ b/src/services/RedocNormalizedOptions.ts @@ -252,7 +252,7 @@ export class RedocNormalizedOptions { hideSchemaPattern: boolean; generatedPayloadSamplesMaxDepth: number; hideFab: boolean; - minCharacterLengthToInitSearch?: number; + minCharacterLengthToInitSearch: number; nonce?: string; @@ -327,6 +327,6 @@ export class RedocNormalizedOptions { ); this.nonce = raw.nonce; this.hideFab = argValueToBoolean(raw.hideFab); - this.minCharacterLengthToInitSearch = argValueToNumber(raw.minCharacterLengthToInitSearch); + this.minCharacterLengthToInitSearch = argValueToNumber(raw.minCharacterLengthToInitSearch) || 3; } }