Update samy.ps1

This commit is contained in:
2025-12-21 16:59:01 -05:00
parent 9437f77595
commit 206a5585d1

View File

@@ -759,6 +759,7 @@ $Global:SamyTasks | ForEach-Object {
param( param(
[Parameter(Mandatory)][string]$Page, [Parameter(Mandatory)][string]$Page,
[string]$Column [string]$Column
[string]$Group
) )
function Escape-HtmlAttr { function Escape-HtmlAttr {
@@ -793,6 +794,25 @@ $Global:SamyTasks | ForEach-Object {
$tasks = $tasks | Where-Object Column -EQ $Column $tasks = $tasks | Where-Object Column -EQ $Column
} }
# Optional filter by Group (used for onboard right-side split)
if (-not [string]::IsNullOrEmpty($Group)) {
if ($Group -eq 'tweaks') {
# Tweaks is the "catch-all" for right-side tasks not tagged as apps
$tasks = $tasks | Where-Object {
-not ($_.PSObject.Properties.Name -contains 'Group') -or
[string]$_.Group -eq '' -or
[string]$_.Group -eq 'tweaks'
}
}
else {
$tasks = $tasks | Where-Object {
($_.PSObject.Properties.Name -contains 'Group') -and
([string]$_.Group -eq $Group)
}
}
}
( (
$tasks | $tasks |
ForEach-Object { ForEach-Object {
@@ -813,7 +833,14 @@ $Global:SamyTasks | ForEach-Object {
$nameAttr = Escape-HtmlAttr ([string]$_.Name) $nameAttr = Escape-HtmlAttr ([string]$_.Name)
$colAttr = Escape-HtmlAttr ([string]$Column) $colAttr = Escape-HtmlAttr ([string]$Column)
$html = "<label$tooltipAttr><input type=""checkbox"" id=""$taskIdAttr"" name=""$nameAttr"" data-column=""$colAttr""> $labelText</label>" $groupValue = ''
if ($_.PSObject.Properties.Name -contains 'Group' -and $_.Group) {
$groupValue = [string]$_.Group
}
$groupAttr = Escape-HtmlAttr $groupValue
$groupDataAttr = if ([string]::IsNullOrWhiteSpace($groupAttr)) { '' } else { " data-group=""$groupAttr""" }
$html = "<label$tooltipAttr><input type=""checkbox"" id=""$taskIdAttr"" name=""$nameAttr"" data-column=""$colAttr""$groupDataAttr> $labelText</label>"
if ($_.SubOptions) { if ($_.SubOptions) {
$subHtml = ( $subHtml = (
@@ -952,7 +979,8 @@ function Get-UIHtml {
# 1) Build checkbox HTML per page/column # 1) Build checkbox HTML per page/column
# #
$onboardLeft = Publish-Checkboxes -Page 'onboard' -Column 'left' $onboardLeft = Publish-Checkboxes -Page 'onboard' -Column 'left'
$onboardRight = Publish-Checkboxes -Page 'onboard' -Column 'right' $onboardRightApps = Publish-Checkboxes -Page 'onboard' -Column 'right' -Group 'apps'
$onboardRightTweaks = Publish-Checkboxes -Page 'onboard' -Column 'right' -Group 'tweaks'
$offboard = Publish-Checkboxes -Page 'offboard' -Column '' $offboard = Publish-Checkboxes -Page 'offboard' -Column ''
$devices = Publish-Checkboxes -Page 'devices' -Column '' $devices = Publish-Checkboxes -Page 'devices' -Column ''
@@ -1023,7 +1051,8 @@ function Get-UIHtml {
$html = $html.Replace('{{moduleVersion}}', (Get-ModuleVersionHtml)) $html = $html.Replace('{{moduleVersion}}', (Get-ModuleVersionHtml))
$html = $html.Replace('{{onboardLeftColumn}}', $onboardLeft) $html = $html.Replace('{{onboardLeftColumn}}', $onboardLeft)
$html = $html.Replace('{{onboardRightColumn}}', $onboardRight) $html = $html.Replace('{{onboardRightApps}}', $onboardRightApps)
$html = $html.Replace('{{onboardRightTweaks}}', $onboardRightTweaks)
$html = $html.Replace('{{offboardCheckboxes}}', $offboard) $html = $html.Replace('{{offboardCheckboxes}}', $offboard)
$html = $html.Replace('{{devicesCheckboxes}}', $devices) $html = $html.Replace('{{devicesCheckboxes}}', $devices)
$html = $html.Replace('{{tasksJsAll}}', $tasksJsAll) $html = $html.Replace('{{tasksJsAll}}', $tasksJsAll)