feat: restore legacy modal and drag behavior

This commit is contained in:
2026-07-16 01:33:48 +09:00
parent 83398044c6
commit d7ec571343
30 changed files with 3597 additions and 321 deletions

View File

@@ -161,8 +161,11 @@ public sealed class LegacyWebContractTests
Assert.Contains("event.dataTransfer.setData(playlistDragMime, rowId)", App,
StringComparison.Ordinal);
Assert.DoesNotContain("selectedRowIds", App, StringComparison.Ordinal);
Assert.Contains("element.draggable = !cutDragLocked", App, StringComparison.Ordinal);
Assert.Contains("if (playlistMutationLocked || !event.dataTransfer)", App,
Assert.Contains("element.draggable = false", App, StringComparison.Ordinal);
Assert.Contains("beginCutDragGesture(element, event, position)", App,
StringComparison.Ordinal);
Assert.Contains("window.LegacyCutDrag.shouldStart", App, StringComparison.Ordinal);
Assert.Contains("if (playlistMutationLocked || !rowId || !event.dataTransfer", App,
StringComparison.Ordinal);
Assert.Contains("if (!playlistMutationLocked) send(\"delete-selected-playlist-rows\"", App,
StringComparison.Ordinal);
@@ -181,7 +184,7 @@ public sealed class LegacyWebContractTests
"} else if ((event.key === \"Home\"",
StringComparison.Ordinal);
var homeEndBranchEnd = App.IndexOf(
"} else if (event.key === \"Escape\"",
"\n });",
homeEndBranchStart,
StringComparison.Ordinal);
Assert.True(homeEndBranchStart >= 0 && homeEndBranchEnd > homeEndBranchStart);
@@ -348,9 +351,9 @@ public sealed class LegacyWebContractTests
{
"refresh-named-playlists",
"select-named-playlist",
"load-selected-named-playlist",
"load-named-playlist-by-id",
"create-named-playlist",
"save-current-named-playlist",
"save-current-named-playlist-to",
"delete-selected-named-playlist"
})
{
@@ -359,9 +362,16 @@ public sealed class LegacyWebContractTests
Assert.Contains("state.namedPlaylist", App, StringComparison.Ordinal);
Assert.Contains("dataset.namedPlaylistDefinitionId", App, StringComparison.Ordinal);
Assert.Contains("definitionId: definition.dataset.namedPlaylistDefinitionId", App,
Assert.Contains(
"beginNamedPlaylistSelection(definition.dataset.namedPlaylistDefinitionId)", App,
StringComparison.Ordinal);
Assert.Contains(
"dbLoadButton.disabled = operatorMutationLocked || busy || !named",
App,
StringComparison.Ordinal);
Assert.Contains("requestId: requestId", App, StringComparison.Ordinal);
Assert.Contains("commandResult.targetId === pending.targetId", App,
StringComparison.Ordinal);
Assert.Contains("dbLoadButton.disabled = busy || !named", App, StringComparison.Ordinal);
Assert.Contains("named.isWriteQuarantined", App, StringComparison.Ordinal);
Assert.DoesNotContain("programCode", App, StringComparison.OrdinalIgnoreCase);
Assert.DoesNotContain("listText", App, StringComparison.OrdinalIgnoreCase);
@@ -375,8 +385,13 @@ public sealed class LegacyWebContractTests
[Fact]
public void SeparatorRowsPreserveOriginalDragGesture()
{
Assert.Contains("element.draggable = true", App, StringComparison.Ordinal);
Assert.DoesNotContain("draggable = !row.isSeparator", App, StringComparison.Ordinal);
Assert.Contains(
"element.dataset.cutDragEnabled = cutSelectionEnabled ? \"true\" : \"false\"",
App,
StringComparison.Ordinal);
Assert.Contains("element.draggable = false", App, StringComparison.Ordinal);
Assert.DoesNotContain("cutDragEnabled = !row.isSeparator", App,
StringComparison.Ordinal);
}
[Fact]