fix: prototype2code & go back history error (#156)

* fix: snippet import bug

* fix: history could back logic bug

* fix: editor add left border when in dual mode

* fix: setting-form title overflow bug
This commit is contained in:
BoBoooooo
2024-05-20 15:26:07 +08:00
committed by GitHub
parent 791fbb162a
commit 8bf53a76f8
4 changed files with 23 additions and 9 deletions
+10 -6
View File
@@ -20,6 +20,7 @@ export function prototype2importDeclarationData(
relativeFilepath?: string,
): { source: string; specifiers: IImportSpecifierData[] } {
let source = prototype.package;
const isSnippet = prototype.type === 'snippet';
if (relativeFilepath && isFilepath(source)) {
source = getRelativePath(relativeFilepath, source);
}
@@ -35,12 +36,15 @@ export function prototype2importDeclarationData(
type: 'ImportDefaultSpecifier',
});
} else {
[prototype.name, ...(prototype.relatedImports || [])].forEach((item) => {
specifiers.push({
localName: item,
type: 'ImportSpecifier',
});
});
// 忽略代码片段 name
[...(isSnippet ? [] : [prototype.name]), ...(prototype.relatedImports || [])].forEach(
(item) => {
specifiers.push({
localName: item,
type: 'ImportSpecifier',
});
},
);
}
return {
+1 -1
View File
@@ -58,7 +58,7 @@ export class TangoHistory {
}
get couldBack() {
return this._records.length > 0 && this._index > -1;
return this._records.length > 0 && this._index > 0;
}
get couldForward() {
+10 -2
View File
@@ -1,7 +1,7 @@
import React, { useRef, useEffect, useCallback } from 'react';
import { Box } from 'coral-system';
import { MultiEditor, MultiEditorProps } from '@music163/tango-ui';
import { observer, useWorkspace } from '@music163/tango-context';
import { observer, useDesigner, useWorkspace } from '@music163/tango-context';
import { isValidCode } from '@music163/tango-core';
import { Modal } from 'antd';
@@ -32,6 +32,7 @@ export const CodeEditor = observer(
({ autoRemoveUnusedImports = true, ...rest }: CodeEditorProps) => {
const editorRef = useRef(null);
const workspace = useWorkspace();
const designer = useDesigner();
const files = workspace.listFiles();
const activeFile = workspace.activeFile;
@@ -101,8 +102,15 @@ export const CodeEditor = observer(
[workspace],
);
const borderStyle =
designer.activeView === 'dual'
? {
borderLeft: 'solid 1px var(--tango-colors-line2)',
}
: {};
return (
<Box display="flex" flexDirection="row" height="100%" bg="white">
<Box display="flex" flexDirection="row" height="100%" bg="white" {...borderStyle}>
<MultiEditor
ref={editorRef}
options={{
+2
View File
@@ -257,6 +257,8 @@ export function FormHeader({ title, extra, subTitle }: FormHeaderProps) {
mr="s"
whiteSpace="nowrap"
className="FormHeaderTitle"
textOverflow="ellipsis"
overflow="hidden"
>
{title}
</Box>