feat: restore legacy named playlist workflows
This commit is contained in:
@@ -60,7 +60,9 @@ $scripts = @(
|
||||
(Join-Path $repositoryRoot 'Web\manual-financial-workflow.js'),
|
||||
(Join-Path $repositoryRoot 'Web\named-manual-restore-workflow.js'),
|
||||
(Join-Path $repositoryRoot 'Web\named-comparison-restore-workflow.js'),
|
||||
(Join-Path $repositoryRoot 'Web\named-foreign-stock-restore-workflow.js'),
|
||||
(Join-Path $repositoryRoot 'Web\legacy-foreign-index-candle-workflow.js'),
|
||||
(Join-Path $repositoryRoot 'Web\named-krx-theme-restore-workflow.js'),
|
||||
(Join-Path $repositoryRoot 'Web\named-nxt-theme-restore-workflow.js'),
|
||||
(Join-Path $repositoryRoot 'Web\legacy-named-row-workflow.js'),
|
||||
(Join-Path $repositoryRoot 'Web\operator-catalog-workflow.js'),
|
||||
@@ -129,7 +131,11 @@ if ($appScript -notmatch 'normalizeScenePreviewFields' -or
|
||||
throw 'Web playout must render bounded authoritative scene data and complete page state.'
|
||||
}
|
||||
if ($appScript -notmatch 'checkbox\.checked = item\.enabled !== false' -or
|
||||
$appScript -notmatch 'item\.enabled = checkbox\.checked' -or
|
||||
$appScript -notmatch 'replacePlaylistEntryEnabledAt\(index, checkbox\.checked\)' -or
|
||||
$appScript -match 'item\.enabled\s*=(?!=)' -or
|
||||
$appScript -notmatch 'namedKrxThemeRestoreWorkflow\.withEnabled' -or
|
||||
$appScript -notmatch 'namedNxtThemeRestoreWorkflow\.withEnabled' -or
|
||||
$appScript -notmatch 'namedForeignStockRestoreWorkflow\.withEnabled' -or
|
||||
$appScript -notmatch 'isPlaylistSnapshotLocked' -or
|
||||
$appScript -notmatch 'pending: Boolean\(state\.playout\.pending\)' -or
|
||||
$appScript -notmatch 'outcomeUnknown: state\.playout\.sessionQuarantined') {
|
||||
@@ -142,6 +148,13 @@ if ($appScript -notmatch 'toggleAllEntriesEnabled' -or
|
||||
$appScript -notmatch 'event\.key === "End"') {
|
||||
throw 'Legacy playlist enabled-all, delete-all, range, Home and End controls are incomplete.'
|
||||
}
|
||||
if ($appScript -match '\bitem\.[A-Za-z_$][A-Za-z0-9_$]*\s*=(?!=)' -or
|
||||
$appScript -notmatch 'playlistEntryManualEditBlockReason' -or
|
||||
$appScript -notmatch 'recreatePlaylistEntryWithSceneSelection' -or
|
||||
$appScript -notmatch 'recreatePlaylistEntryWithLiveSelection' -or
|
||||
$appScript -notmatch 'replacePlaylistEntryAt\(state\.currentIndex, replacement\)') {
|
||||
throw 'Playlist scene and live-row edits must use immutable replacement and protect branded entries.'
|
||||
}
|
||||
if ($appScript -notmatch 'postNative\("playout-timeout-quarantine", \{ requestId, command \}\)' -or
|
||||
$appScript -notmatch 'browserCorrelationQuarantined') {
|
||||
throw 'Web response timeouts must latch the process-lifetime native quarantine.'
|
||||
@@ -163,7 +176,7 @@ if ($indexMarkup -notmatch 'id="globalMa5"' -or
|
||||
throw 'The original global 5-day/20-day candle options are not synchronized across every candle workflow.'
|
||||
}
|
||||
foreach ($asset in @(
|
||||
'market-nav-reorder.js', 'manual-lists-workflow.js', 'manual-financial-workflow.js', 'named-manual-restore-workflow.js', 'legacy-foreign-index-candle-workflow.js', 'named-nxt-theme-restore-workflow.js', 'legacy-named-row-workflow.js', 'operator-catalog-workflow.js',
|
||||
'market-nav-reorder.js', 'manual-lists-workflow.js', 'manual-financial-workflow.js', 'named-manual-restore-workflow.js', 'named-foreign-stock-restore-workflow.js', 'legacy-foreign-index-candle-workflow.js', 'named-krx-theme-restore-workflow.js', 'named-nxt-theme-restore-workflow.js', 'legacy-named-row-workflow.js', 'operator-catalog-workflow.js',
|
||||
'manual-lists-ui.js', 'manual-financial-ui.js', 'operator-catalog-ui.js')) {
|
||||
if ($indexMarkup -notmatch [regex]::Escape("<script src=`"$asset`"></script>")) {
|
||||
throw "Operator UI script is not loaded: $asset"
|
||||
|
||||
Reference in New Issue
Block a user