Skip to content

Commit e7f6f38

Browse files
committed
#171 MoiveClipの変換処理の実装(WIP)
1 parent 2f19973 commit e7f6f38

3 files changed

Lines changed: 43 additions & 18 deletions

File tree

src/js/menu/application/ConvertMovieClipModal/usecase/ConvertMovieClipModalButtonPointerDownEventUseCase.ts

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { $CONVERT_MOVIE_CLIP_INPUT_ID } from "@/config/ConvertMovieClipConfig";
22
import { $getCurrentWorkSpace } from "@/core/application/CoreUtil";
33
import { execute as convertMovieClipModalHideUseCase } from "./ConvertMovieClipModalHideUseCase";
4+
import { execute as externalLibraryAddNewMovieClipUseCase } from "@/external/controller/application/ExternalLibrary/usecase/ExternalLibraryAddNewMovieClipUseCase";
45

56
/**
67
* @description 指定の名前のMovieClipを作成して、選択中のDisplayObjectを配置
@@ -16,7 +17,9 @@ export const execute = async (event: PointerEvent): Promise<void> =>
1617
const movieClip = workspace.scene;
1718

1819
// 選択中のDisplayObjectがない場合は処理を終了する
19-
if (!movieClip.selectedDepths.size) {
20+
if (!movieClip.selectedDepths.size
21+
|| movieClip.selectedDepths.size > 1
22+
) {
2023
return;
2124
}
2225

@@ -31,9 +34,18 @@ export const execute = async (event: PointerEvent): Promise<void> =>
3134

3235
// 指定の名前でMovieClipを作成
3336
const name = inputElement.value;
34-
console.log(name);
3537

36-
// todo
38+
// ライブラリにMovieClipを追加
39+
const newMovieClip = await externalLibraryAddNewMovieClipUseCase(
40+
workspace,
41+
movieClip,
42+
name
43+
);
44+
45+
// MovieClipに選択中のDisplayObjectを配置
46+
47+
// MovieClipをレイヤーに配置
48+
console.log(newMovieClip);
3749

3850
// モーダルを非表示にする
3951
convertMovieClipModalHideUseCase();

src/js/menu/application/ScreenMenu/service/ScreenMenuUpdateStyleConvertToMovieClipService.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ export const execute = (movie_clip: MovieClip): void =>
1919
return ;
2020
}
2121

22-
if (movie_clip.selectedDepths.size) {
22+
// 選択可能なのは1レイヤー内のDisplayObjectが対象
23+
if (movie_clip.selectedDepths.size === 1) {
2324
element.setAttribute("style", "");
2425
} else {
2526
element.style.opacity = "0.5";

src/js/menu/application/ScreenMenu/usecase/ScreenMenuInitializeRegisterPointerOverUseCase.test.ts

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,38 @@
11
import { execute } from "./ScreenMenuInitializeRegisterPointerOverUseCase";
22
import { describe, expect, it, vi } from "vitest";
33
import { EventType } from "../../../../tool/domain/event/EventType";
4+
import {
5+
$SCREEN_DISTRIBUTE_TO_LAYERS_ID,
6+
$SCREEN_DISTRIBUTE_TO_KEYFRAMES_ID,
7+
$SCREEN_ALIGN_COORDINATES_PREV_KEYFRAME_ID,
8+
$SCREEN_ALIGN_MATRIX_PREV_KEYFRAME_ID,
9+
$SCREEN_INTEGRATING_PATHS_ID,
10+
$SCREEN_ADD_TWEEN_CURVE_POINTER_ID,
11+
$SCREEN_DELETE_TWEEN_CURVE_POINTER_ID,
12+
$SCREEN_CONVERT_MOVIE_CLIP_ID,
13+
$SCREEN_PREVIEW_ID,
14+
$SCREEN_CHANGE_SCENE_ID,
15+
$SCREEN_MOVE_SCENE_ID,
16+
$SCREEN_RULER_ID
17+
} from "@/config/ScreenConfig";
418

519
describe("ScreenMenuInitializeRegisterPointerOverUseCase Test", () =>
620
{
721
it("execute test", () =>
822
{
923
const hideElementIds = [
10-
"screen-distribute-to-layers",
11-
"screen-distribute-to-keyframes",
12-
"screen-align-coordinates-prev-keyframe",
13-
"screen-align-matrix-prev-keyframe",
14-
"screen-integrating-paths",
15-
"screen-add-tween-curve-pointer",
16-
"screen-delete-tween-curve-pointer",
17-
"screen-change-movie-clip",
18-
"screen-preview",
19-
"screen-ruler",
20-
"screen-change-scene",
21-
"screen-move-scene",
22-
"screen-order",
23-
"screen-align"
24+
$SCREEN_DISTRIBUTE_TO_LAYERS_ID,
25+
$SCREEN_DISTRIBUTE_TO_KEYFRAMES_ID,
26+
$SCREEN_ALIGN_COORDINATES_PREV_KEYFRAME_ID,
27+
$SCREEN_ALIGN_MATRIX_PREV_KEYFRAME_ID,
28+
$SCREEN_INTEGRATING_PATHS_ID,
29+
$SCREEN_ADD_TWEEN_CURVE_POINTER_ID,
30+
$SCREEN_DELETE_TWEEN_CURVE_POINTER_ID,
31+
$SCREEN_CONVERT_MOVIE_CLIP_ID,
32+
$SCREEN_PREVIEW_ID,
33+
$SCREEN_RULER_ID,
34+
$SCREEN_CHANGE_SCENE_ID,
35+
$SCREEN_MOVE_SCENE_ID
2436
];
2537

2638
for (let idx = 0; idx < hideElementIds.length; ++idx) {

0 commit comments

Comments
 (0)