mirror of
https://github.com/iib0011/omni-tools.git
synced 2025-09-22 07:29:39 +02:00
refactor: use ToolContent in ExtractSubstring
This commit is contained in:
32
.idea/workspace.xml
generated
32
.idea/workspace.xml
generated
@@ -4,15 +4,9 @@
|
|||||||
<option name="autoReloadType" value="SELECTIVE" />
|
<option name="autoReloadType" value="SELECTIVE" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="b30e2810-c4c1-4aad-b134-794e52cc1c7d" name="Changes" comment="feat: csv to json">
|
<list default="true" id="b30e2810-c4c1-4aad-b134-794e52cc1c7d" name="Changes" comment="refactor: use ToolContent">
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/components/ToolContent.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/src/components/ToolContent.tsx" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/pages/tools/number/arithmetic-sequence/index.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/src/pages/tools/number/arithmetic-sequence/index.tsx" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/pages/tools/string/create-palindrome/index.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/src/pages/tools/string/create-palindrome/index.tsx" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/pages/tools/string/create-palindrome/meta.ts" beforeDir="false" afterPath="$PROJECT_DIR$/src/pages/tools/string/create-palindrome/meta.ts" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/pages/tools/string/extract-substring/index.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/src/pages/tools/string/extract-substring/index.tsx" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/pages/tools/string/extract-substring/index.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/src/pages/tools/string/extract-substring/index.tsx" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/pages/tools/string/split/meta.ts" beforeDir="false" afterPath="$PROJECT_DIR$/src/pages/tools/string/split/meta.ts" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/tools/defineTool.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/src/tools/defineTool.tsx" afterDir="false" />
|
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
@@ -339,15 +333,7 @@
|
|||||||
<workItem from="1740880919391" duration="4395000" />
|
<workItem from="1740880919391" duration="4395000" />
|
||||||
<workItem from="1740923024259" duration="23000" />
|
<workItem from="1740923024259" duration="23000" />
|
||||||
<workItem from="1740933006573" duration="3679000" />
|
<workItem from="1740933006573" duration="3679000" />
|
||||||
<workItem from="1741475969294" duration="6527000" />
|
<workItem from="1741475969294" duration="6863000" />
|
||||||
</task>
|
|
||||||
<task id="LOCAL-00102" summary="fix: ctrl v">
|
|
||||||
<option name="closed" value="true" />
|
|
||||||
<created>1740267666455</created>
|
|
||||||
<option name="number" value="00102" />
|
|
||||||
<option name="presentableId" value="LOCAL-00102" />
|
|
||||||
<option name="project" value="LOCAL" />
|
|
||||||
<updated>1740267666455</updated>
|
|
||||||
</task>
|
</task>
|
||||||
<task id="LOCAL-00103" summary="feat: update readme">
|
<task id="LOCAL-00103" summary="feat: update readme">
|
||||||
<option name="closed" value="true" />
|
<option name="closed" value="true" />
|
||||||
@@ -733,7 +719,15 @@
|
|||||||
<option name="project" value="LOCAL" />
|
<option name="project" value="LOCAL" />
|
||||||
<updated>1741480927080</updated>
|
<updated>1741480927080</updated>
|
||||||
</task>
|
</task>
|
||||||
<option name="localTasksCounter" value="151" />
|
<task id="LOCAL-00151" summary="refactor: use ToolContent">
|
||||||
|
<option name="closed" value="true" />
|
||||||
|
<created>1741483345639</created>
|
||||||
|
<option name="number" value="00151" />
|
||||||
|
<option name="presentableId" value="LOCAL-00151" />
|
||||||
|
<option name="project" value="LOCAL" />
|
||||||
|
<updated>1741483345639</updated>
|
||||||
|
</task>
|
||||||
|
<option name="localTasksCounter" value="152" />
|
||||||
<servers />
|
<servers />
|
||||||
</component>
|
</component>
|
||||||
<component name="TypeScriptGeneratedFilesManager">
|
<component name="TypeScriptGeneratedFilesManager">
|
||||||
@@ -792,7 +786,6 @@
|
|||||||
<option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="false" />
|
<option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="false" />
|
||||||
<option name="CHECK_NEW_TODO" value="false" />
|
<option name="CHECK_NEW_TODO" value="false" />
|
||||||
<option name="ADD_EXTERNAL_FILES_SILENTLY" value="true" />
|
<option name="ADD_EXTERNAL_FILES_SILENTLY" value="true" />
|
||||||
<MESSAGE value="fix: bg" />
|
|
||||||
<MESSAGE value="chore: handle enter press on search" />
|
<MESSAGE value="chore: handle enter press on search" />
|
||||||
<MESSAGE value="chore: show tooloptions in example" />
|
<MESSAGE value="chore: show tooloptions in example" />
|
||||||
<MESSAGE value="refact: examples" />
|
<MESSAGE value="refact: examples" />
|
||||||
@@ -817,7 +810,8 @@
|
|||||||
<MESSAGE value="chore: update meta" />
|
<MESSAGE value="chore: update meta" />
|
||||||
<MESSAGE value="feat: change pgn opacity" />
|
<MESSAGE value="feat: change pgn opacity" />
|
||||||
<MESSAGE value="feat: csv to json" />
|
<MESSAGE value="feat: csv to json" />
|
||||||
<option name="LAST_COMMIT_MESSAGE" value="feat: csv to json" />
|
<MESSAGE value="refactor: use ToolContent" />
|
||||||
|
<option name="LAST_COMMIT_MESSAGE" value="refactor: use ToolContent" />
|
||||||
</component>
|
</component>
|
||||||
<component name="XSLT-Support.FileAssociations.UIState">
|
<component name="XSLT-Support.FileAssociations.UIState">
|
||||||
<expand />
|
<expand />
|
||||||
|
@@ -1,17 +1,13 @@
|
|||||||
import { Box } from '@mui/material';
|
import React, { useState } from 'react';
|
||||||
import React, { useState, useRef } from 'react';
|
|
||||||
import ToolTextInput from '@components/input/ToolTextInput';
|
import ToolTextInput from '@components/input/ToolTextInput';
|
||||||
import ToolTextResult from '@components/result/ToolTextResult';
|
import ToolTextResult from '@components/result/ToolTextResult';
|
||||||
import ToolOptions, { GetGroupsType } from '@components/options/ToolOptions';
|
import { GetGroupsType } from '@components/options/ToolOptions';
|
||||||
import { extractSubstring } from './service';
|
import { extractSubstring } from './service';
|
||||||
import TextFieldWithDesc from '@components/options/TextFieldWithDesc';
|
import TextFieldWithDesc from '@components/options/TextFieldWithDesc';
|
||||||
import CheckboxWithDesc from '@components/options/CheckboxWithDesc';
|
import CheckboxWithDesc from '@components/options/CheckboxWithDesc';
|
||||||
import ToolInputAndResult from '@components/ToolInputAndResult';
|
import { CardExampleType } from '@components/examples/ToolExamples';
|
||||||
import ToolExamples, {
|
|
||||||
CardExampleType
|
|
||||||
} from '@components/examples/ToolExamples';
|
|
||||||
import { ToolComponentProps } from '@tools/defineTool';
|
import { ToolComponentProps } from '@tools/defineTool';
|
||||||
import { FormikProps } from 'formik';
|
import ToolContent from '@components/ToolContent';
|
||||||
|
|
||||||
const initialValues = {
|
const initialValues = {
|
||||||
start: '1',
|
start: '1',
|
||||||
@@ -48,7 +44,7 @@ const exampleCards: CardExampleType<typeof initialValues>[] = [
|
|||||||
title: 'Multi-line Extraction with Reversal',
|
title: 'Multi-line Extraction with Reversal',
|
||||||
description: 'Extract characters 1-3 from each line and reverse them.',
|
description: 'Extract characters 1-3 from each line and reverse them.',
|
||||||
sampleText: 'First line\nSecond line\nThird line',
|
sampleText: 'First line\nSecond line\nThird line',
|
||||||
sampleResult: 'riF\neS\nihT',
|
sampleResult: 'riF\nceS\nihT',
|
||||||
sampleOptions: {
|
sampleOptions: {
|
||||||
...initialValues,
|
...initialValues,
|
||||||
start: '1',
|
start: '1',
|
||||||
@@ -62,7 +58,6 @@ const exampleCards: CardExampleType<typeof initialValues>[] = [
|
|||||||
export default function ExtractSubstring({ title }: ToolComponentProps) {
|
export default function ExtractSubstring({ title }: ToolComponentProps) {
|
||||||
const [input, setInput] = useState<string>('');
|
const [input, setInput] = useState<string>('');
|
||||||
const [result, setResult] = useState<string>('');
|
const [result, setResult] = useState<string>('');
|
||||||
const formRef = useRef<FormikProps<typeof initialValues>>(null);
|
|
||||||
|
|
||||||
const computeExternal = (
|
const computeExternal = (
|
||||||
optionsValues: typeof initialValues,
|
optionsValues: typeof initialValues,
|
||||||
@@ -128,25 +123,20 @@ export default function ExtractSubstring({ title }: ToolComponentProps) {
|
|||||||
];
|
];
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Box>
|
<ToolContent
|
||||||
<ToolInputAndResult
|
|
||||||
input={<ToolTextInput value={input} onChange={setInput} />}
|
|
||||||
result={<ToolTextResult title={'Extracted text'} value={result} />}
|
|
||||||
/>
|
|
||||||
<ToolOptions
|
|
||||||
compute={computeExternal}
|
|
||||||
getGroups={getGroups}
|
|
||||||
initialValues={initialValues}
|
|
||||||
input={input}
|
|
||||||
formRef={formRef}
|
|
||||||
/>
|
|
||||||
<ToolExamples
|
|
||||||
title={title}
|
title={title}
|
||||||
exampleCards={exampleCards}
|
initialValues={initialValues}
|
||||||
getGroups={getGroups}
|
getGroups={getGroups}
|
||||||
formRef={formRef}
|
compute={computeExternal}
|
||||||
|
input={input}
|
||||||
setInput={setInput}
|
setInput={setInput}
|
||||||
|
inputComponent={
|
||||||
|
<ToolTextInput title={'Input text'} value={input} onChange={setInput} />
|
||||||
|
}
|
||||||
|
resultComponent={
|
||||||
|
<ToolTextResult title={'Extracted text'} value={result} />
|
||||||
|
}
|
||||||
|
exampleCards={exampleCards}
|
||||||
/>
|
/>
|
||||||
</Box>
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user