diff --git a/frontend/src/components/Editor/EditorComponents/Editor.tsx b/frontend/src/components/Editor/EditorComponents/Editor.tsx index 1ca0de9c..cfdf8c07 100644 --- a/frontend/src/components/Editor/EditorComponents/Editor.tsx +++ b/frontend/src/components/Editor/EditorComponents/Editor.tsx @@ -42,6 +42,7 @@ const SCHEMA_TAB_NAME = 'schema.sql'; const originalSQLCode = formatSQL(defaultSchema); const originalIndexingCode = formatIndexingCode(defaultCode); const pgSchemaTypeGen = new PgSchemaTypeGen(); + interface WizardResponse { wizardContractFilter: string; wizardMethods: Method[]; @@ -55,6 +56,9 @@ const fetchWizardData = (req: string): Promise => { const Editor: React.FC = (): ReactElement => { const { indexerDetails, isCreateNewIndexer } = useContext(IndexerDetailsContext); + const contextCode = indexerDetails.code && formatIndexingCode(indexerDetails.code); + const contextSchema = indexerDetails.schema && formatSQL(indexerDetails.schema); + const storageManager = useMemo(() => { if (indexerDetails.accountId && indexerDetails.indexerName) { return new QueryAPIStorageManager(indexerDetails.accountId, indexerDetails.indexerName); @@ -79,6 +83,10 @@ const Editor: React.FC = (): ReactElement => { const [diffView, setDiffView] = useState(false); const [blockView, setBlockView] = useState(false); + + const [launchPadDefaultCode, setLaunchPadDefaultCode] = useState(''); + const [launchPadDefaultSchema, setLaunchPadDefaultSchema] = useState(''); + const { showModal } = useModal(); const [isExecutingIndexerFunction, setIsExecutingIndexerFunction] = useState(false); @@ -158,8 +166,8 @@ const Editor: React.FC = (): ReactElement => { const wrappedIndexingCode = wrapCode(jsCode) ? wrapCode(jsCode) : jsCode; const { validatedCode, validatedSchema } = reformatAll(wrappedIndexingCode, sqlCode); - validatedCode && setIndexingCode(validatedCode); - validatedSchema && setSchema(validatedSchema); + validatedCode && (setIndexingCode(validatedCode), setLaunchPadDefaultCode(validatedCode)); + validatedSchema && (setSchema(validatedSchema), setLaunchPadDefaultSchema(validatedSchema)); } catch (error: unknown) { //todo: figure out best course of action for user if api fails console.error(error); @@ -471,6 +479,10 @@ const Editor: React.FC = (): ReactElement => { schema={schema} isCreateNewIndexer={isCreateNewIndexer} onMount={handleEditorWillMount} + launchPadDefaultCode={launchPadDefaultCode} + launchPadDefaultSchema={launchPadDefaultSchema} + contextCode={contextCode} + contextSchema={contextSchema} /> diff --git a/frontend/src/components/Editor/EditorComponents/ResizableLayoutEditor.jsx b/frontend/src/components/Editor/EditorComponents/ResizableLayoutEditor.jsx index f9c60ba9..73b55e16 100644 --- a/frontend/src/components/Editor/EditorComponents/ResizableLayoutEditor.jsx +++ b/frontend/src/components/Editor/EditorComponents/ResizableLayoutEditor.jsx @@ -8,7 +8,7 @@ const containerStyle = { display: 'flex', flexDirection: 'row', width: '100%', - height: '100%', + height: '100vh', }; const editorContainerStyle = { @@ -145,6 +145,10 @@ export default function ResizableLayoutEditor({ indexingCode, onMount, isCreateNewIndexer, + launchPadDefaultCode, + launchPadDefaultSchema, + contextCode, + contextSchema, }) { const { dragBarRef: dragBarRefConsole, @@ -157,7 +161,8 @@ export default function ResizableLayoutEditor({ sizeThresholdFirst: 60, sizeThresholdSecond: 20, }); - + const defaultCode = launchPadDefaultCode ? launchPadDefaultCode : contextCode ? contextCode : originalIndexingCode; + const defaultSchema = launchPadDefaultSchema ? launchPadDefaultSchema : contextSchema ? contextSchema : originalSQLCode; return (
{/* Code Editor */} @@ -165,15 +170,15 @@ export default function ResizableLayoutEditor({