From 33d01150d542beba61e233820b17580f414d1687 Mon Sep 17 00:00:00 2001 From: balibabu Date: Wed, 3 Apr 2024 14:32:07 +0800 Subject: [PATCH] For any type of file, if the parsing method is general, the chunk token number needs to be displayed. #217 (#218) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …k token number needs to be displayed. #217 ### What problem does this PR solve? For any type of file, if the parsing method is general, the chunk token number needs to be displayed. #217 Issue link: #217 ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue) --- .../components/chunk-method-modal/index.tsx | 330 +++++++++--------- 1 file changed, 169 insertions(+), 161 deletions(-) diff --git a/web/src/components/chunk-method-modal/index.tsx b/web/src/components/chunk-method-modal/index.tsx index 759541196..f4ecbd958 100644 --- a/web/src/components/chunk-method-modal/index.tsx +++ b/web/src/components/chunk-method-modal/index.tsx @@ -68,13 +68,26 @@ const ChunkMethodModal: React.FC = ({ onOk(selectedTag, parser_config); }; + const isPdf = documentExtension === 'pdf'; + const showPages = useMemo(() => { - return hidePagesChunkMethods.every((x) => x !== selectedTag); - }, [selectedTag]); + return isPdf && hidePagesChunkMethods.every((x) => x !== selectedTag); + }, [selectedTag, isPdf]); const showOne = useMemo(() => { - return showPages || selectedTag === 'one'; - }, [showPages, selectedTag]); + return ( + isPdf && + hidePagesChunkMethods + .filter((x) => x !== 'one') + .every((x) => x !== selectedTag) + ); + }, [selectedTag, isPdf]); + + const showMaxTokenNumber = selectedTag === 'naive'; + + const hideDivider = [showPages, showOne, showMaxTokenNumber].every( + (x) => x === false, + ); const afterClose = () => { form.resetFields(); @@ -116,166 +129,161 @@ const ChunkMethodModal: React.FC = ({ })} - - - {documentExtension === 'pdf' && ( -
- {showPages && ( - <> - -

Page Ranges:

- - - -
- - {(fields, { add, remove }) => ( - <> - {fields.map(({ key, name, ...restField }) => ( - - 0 ? [name - 1, 'to'] : []} - rules={[ - { - required: true, - message: 'Missing start page number', + {hideDivider || } + + {showPages && ( + <> + +

Page Ranges:

+ + + +
+ + {(fields, { add, remove }) => ( + <> + {fields.map(({ key, name, ...restField }) => ( + + 0 ? [name - 1, 'to'] : []} + rules={[ + { + required: true, + message: 'Missing start page number', + }, + ({ getFieldValue }) => ({ + validator(_, value) { + if ( + name === 0 || + !value || + getFieldValue(['pages', name - 1, 'to']) < value + ) { + return Promise.resolve(); + } + return Promise.reject( + new Error( + 'The current value must be greater than the previous to!', + ), + ); }, - ({ getFieldValue }) => ({ - validator(_, value) { - if ( - name === 0 || - !value || - getFieldValue(['pages', name - 1, 'to']) < - value - ) { - return Promise.resolve(); - } - return Promise.reject( - new Error( - 'The current value must be greater than the previous to!', - ), - ); - }, - }), - ]} - > - - - ({ - validator(_, value) { - if ( - !value || - getFieldValue(['pages', name, 'from']) < value - ) { - return Promise.resolve(); - } - return Promise.reject( - new Error( - 'The current value must be greater than to!', - ), - ); - }, - }), - ]} - > - - - {name > 0 && ( - remove(name)} /> - )} - - ))} - - - - - )} - - - )} - {showOne && ( - - - - )} - {showPages && ( - - {({ getFieldValue }) => - getFieldValue(['parser_config', 'layout_recognize']) && ( - - + + + ({ + validator(_, value) { + if ( + !value || + getFieldValue(['pages', name, 'from']) < value + ) { + return Promise.resolve(); + } + return Promise.reject( + new Error( + 'The current value must be greater than to!', + ), + ); + }, + }), + ]} + > + + + {name > 0 && ( + remove(name)} /> + )} +
+ ))} + + - ) - } - - )} - - {selectedTag === 'naive' && } - - )} + + )} +
+ + )} + {showOne && ( + + + + )} + {showPages && ( + + {({ getFieldValue }) => + getFieldValue(['parser_config', 'layout_recognize']) && ( + + + + ) + } + + )} + {showMaxTokenNumber && } + ); };