提升导出页面组件为公共组件。
This commit is contained in:
parent
83dcb3f80f
commit
6728ca1be2
|
@ -1,10 +1,9 @@
|
||||||
import { useMemo, useState } from 'react';
|
import { useMemo, useState } from 'react';
|
||||||
import { HSegmentedControl } from '../../../components/HSegmentedControl';
|
import { HSegmentedControl } from '../../components/HSegmentedControl';
|
||||||
import { Labeled } from '../../../components/Labeled';
|
import { Labeled } from '../../components/Labeled';
|
||||||
import { ScrollArea } from '../../../components/ScrollArea';
|
import { ScrollArea } from '../../components/ScrollArea';
|
||||||
import { useCopy } from '../../../hooks/useCopy';
|
import { useCopy } from '../../hooks/useCopy';
|
||||||
import { Option, SchemeContent } from '../../../models';
|
import { Option, SchemeContent, SchemeStorage } from '../../models';
|
||||||
import { QSchemeStorage } from '../../../q-scheme';
|
|
||||||
import styles from './Export.module.css';
|
import styles from './Export.module.css';
|
||||||
|
|
||||||
const exportOptions: Option[] = [
|
const exportOptions: Option[] = [
|
||||||
|
@ -13,11 +12,11 @@ const exportOptions: Option[] = [
|
||||||
{ label: 'Javascript Object', value: 'js_object' },
|
{ label: 'Javascript Object', value: 'js_object' },
|
||||||
];
|
];
|
||||||
|
|
||||||
type QSchemeExportProps = {
|
type SchemeExportProps = {
|
||||||
scheme: SchemeContent<QSchemeStorage>;
|
scheme: SchemeContent<SchemeStorage>;
|
||||||
};
|
};
|
||||||
|
|
||||||
export function QSchemeExport({ scheme }: QSchemeExportProps) {
|
export function SchemeExport({ scheme }: SchemeExportProps) {
|
||||||
const [activeExport, setActiveExport] = useState<Option['value']>(exportOptions[0].value);
|
const [activeExport, setActiveExport] = useState<Option['value']>(exportOptions[0].value);
|
||||||
const exportContent = useMemo(() => {
|
const exportContent = useMemo(() => {
|
||||||
switch (activeExport) {
|
switch (activeExport) {
|
|
@ -3,8 +3,8 @@ import { useState } from 'react';
|
||||||
import { Tab } from '../../components/Tab';
|
import { Tab } from '../../components/Tab';
|
||||||
import { SchemeContent } from '../../models';
|
import { SchemeContent } from '../../models';
|
||||||
import { QSchemeStorage } from '../../q-scheme';
|
import { QSchemeStorage } from '../../q-scheme';
|
||||||
|
import { SchemeExport } from './Export';
|
||||||
import { QSchemeBuilder } from './q-scheme/Builder';
|
import { QSchemeBuilder } from './q-scheme/Builder';
|
||||||
import { QSchemeExport } from './q-scheme/Export';
|
|
||||||
import { QSchemePreview } from './q-scheme/Preview';
|
import { QSchemePreview } from './q-scheme/Preview';
|
||||||
|
|
||||||
const tabOptions = [
|
const tabOptions = [
|
||||||
|
@ -29,7 +29,7 @@ export function QScheme({ scheme }: QSchemeProps) {
|
||||||
{isEqual(activeTab, 'builder') && (
|
{isEqual(activeTab, 'builder') && (
|
||||||
<QSchemeBuilder scheme={scheme} onBuildCompleted={() => setActiveTab('overview')} />
|
<QSchemeBuilder scheme={scheme} onBuildCompleted={() => setActiveTab('overview')} />
|
||||||
)}
|
)}
|
||||||
{isEqual(activeTab, 'export') && <QSchemeExport scheme={scheme} />}
|
{isEqual(activeTab, 'export') && <SchemeExport scheme={scheme} />}
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user