隐藏视频动作素材栅格编辑入口

视频图层不再显示裁扩和去除背景按钮

角色动作序列图层不再显示裁扩和去除背景按钮

补充选中图层工具栏回归测试
This commit is contained in:
2026-06-27 15:54:05 +08:00
parent 7452e3e3e2
commit 228d31db31
2 changed files with 68 additions and 12 deletions
@@ -155,6 +155,53 @@ describe('ImageCanvasSelectedLayerToolbarView', () => {
expect(props.onDownloadLayer).toHaveBeenCalledWith(layer);
});
it('removes raster edit actions for video and character animation layers', () => {
renderSelectedToolbar({
selectedLayer: createLayer({
title: '生成视频',
src: '/generated/video.mp4',
mediaType: 'video',
assetKind: 'video',
}),
});
const videoToolbar = screen.getByRole('toolbar', { name: '图片工具栏' });
expect(
within(videoToolbar).queryByRole('button', { name: '裁扩按钮' }),
).toBeNull();
expect(
within(videoToolbar).queryByRole('button', { name: '去除背景按钮' }),
).toBeNull();
expect(
within(videoToolbar).getAllByRole('button').map((button) =>
button.getAttribute('aria-label'),
),
).toEqual(['快速编辑', '改造', '下载按钮']);
cleanup();
renderSelectedToolbar({
selectedLayer: createLayer({
title: '角色动作',
src: '/generated/action/frame-01.png',
mediaType: 'image-sequence',
assetKind: 'character-animation',
}),
});
const actionToolbar = screen.getByRole('toolbar', { name: '图片工具栏' });
expect(
within(actionToolbar).queryByRole('button', { name: '裁扩按钮' }),
).toBeNull();
expect(
within(actionToolbar).queryByRole('button', { name: '去除背景按钮' }),
).toBeNull();
expect(
within(actionToolbar).getAllByRole('button').map((button) =>
button.getAttribute('aria-label'),
),
).toEqual(['快速编辑', '改造', '下载按钮']);
});
it('renders character animation only for character layers', () => {
const layer = createLayer({
sourceType: 'generated',
@@ -68,6 +68,11 @@ export function ImageCanvasSelectedLayerToolbarView({
);
}
const canRasterEdit =
selectedLayer.mediaType !== 'video' &&
selectedLayer.mediaType !== 'image-sequence' &&
selectedLayer.assetKind !== 'character-animation';
return (
<div
className="image-canvas-editor__floating-toolbar"
@@ -89,18 +94,22 @@ export function ImageCanvasSelectedLayerToolbarView({
aria-hidden="true"
className="image-canvas-editor__floating-toolbar-divider"
/>
<EditorIconButton
label="裁扩按钮"
title="裁扩按钮"
icon={Crop}
onClick={() => onOpenCropExpandPanel(selectedLayer)}
/>
<EditorIconButton
label="去除背景按钮"
title="去除背景按钮"
icon={ImageOff}
onClick={() => onRemoveBackground(selectedLayer)}
/>
{canRasterEdit ? (
<>
<EditorIconButton
label="裁扩按钮"
title="裁扩按钮"
icon={Crop}
onClick={() => onOpenCropExpandPanel(selectedLayer)}
/>
<EditorIconButton
label="去除背景按钮"
title="去除背景按钮"
icon={ImageOff}
onClick={() => onRemoveBackground(selectedLayer)}
/>
</>
) : null}
{selectedLayer.assetKind === 'ui-design' ? (
<PlatformIconButton
className="image-canvas-editor__floating-toolbar-text-button"