Skip to content

Commit cf208ef

Browse files
author
FolderView Plus Test
committed
Add isolated Docker command view mode
1 parent a41a77e commit cf208ef

16 files changed

Lines changed: 967 additions & 332 deletions
14 MB
Binary file not shown.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
de33dd9747287c344b2b04b0cfbe5756f80f0acc9b3a3943ba788522f0d3c32d folderview.plus-2026.04.15.16.txz

docs/releases/2026.04.15.16.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
- Feature: Added an isolated Docker `Command view (experimental)` mode that loads from its own runtime module and stylesheet, reuses the existing folder/runtime data model, and keeps FolderView and host-list modes on separate paths.
2+
- UX: Docker command view renders a dedicated folder command surface with branch status summaries, member chips, and quick actions for start, stop, update, WebUI, edit, pin, and lock.
3+
- Quality: The Docker page-view dispatcher now mounts or unmounts the isolated command module cleanly, and regression coverage pins the optional loader, persisted page-view value, and command-mode runtime branch.

folderview.plus.plg

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,19 @@
66
<!ENTITY launch "Settings/FolderViewPlus">
77
<!ENTITY plugdir "/usr/local/emhttp/plugins/&name;">
88
<!ENTITY pluginURL "https://raw.githubusercontent.com/&github;/dev/folderview.plus.plg">
9-
<!ENTITY version "2026.04.15.15">
10-
<!ENTITY md5 "66ea7be09157cf29de441540bf6a9de2">
9+
<!ENTITY version "2026.04.15.16">
10+
<!ENTITY md5 "e5ac4572a2ff30dfdca16df70243ab58">
1111
]>
1212

1313
<PLUGIN name="&name;" author="&author;" version="&version;" launch="&launch;" pluginURL="&pluginURL;" icon="folder-icon.png" support="https://forums.unraid.net/topic/197631-plugin-folderview-plus/" min="7.0.0">
1414
<CHANGES>
1515

16+
###2026.04.15.16
17+
- Feature: Added an isolated Docker `Command view (experimental)` mode that loads from its own runtime module and stylesheet, reuses the existing folder/runtime data model, and keeps FolderView and host-list modes on separate paths.
18+
- UX: Docker command view renders a dedicated folder command surface with branch status summaries, member chips, and quick actions for start, stop, update, WebUI, edit, pin, and lock.
19+
- Quality: The Docker page-view dispatcher now mounts or unmounts the isolated command module cleanly, and regression coverage pins the optional loader, persisted page-view value, and command-mode runtime branch.
20+
21+
1622
###2026.04.15.15
1723
- UX: Settings workspace layout, section flows, and table behavior.
1824
- Docs: Project documentation and support guidance.

src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/FolderViewPlus.page

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,7 @@ if (!empty($fvplusRuntimeConflicts)) {
215215
<select id="docker-page-view-mode" onchange="changeRuntimePref('docker', 'pageViewMode', this.value)">
216216
<option value="folderview">FolderView</option>
217217
<option value="host">No FolderView (host list only)</option>
218+
<option value="command">Command view (experimental)</option>
218219
</select>
219220
</label>
220221
<label class="setting-toggle"><input id="docker-live-refresh-enabled" type="checkbox" onchange="changeRuntimePref('docker', 'liveRefreshEnabled', this.checked)"> Live auto-refresh</label>
@@ -269,7 +270,6 @@ if (!empty($fvplusRuntimeConflicts)) {
269270
<label id="docker-dashboard-expand-toggle-row" class="setting-toggle"><input id="docker-dashboard-expand-toggle" type="checkbox" onchange="changeDashboardPref('docker', 'expandToggle', this.checked)"> Show expand toggle</label>
270271
<label id="docker-dashboard-greyscale-row" class="setting-toggle"><input id="docker-dashboard-greyscale" type="checkbox" onchange="changeDashboardPref('docker', 'greyscale', this.checked)"> Dim collapsed cards</label>
271272
<label id="docker-dashboard-folder-label-row" class="setting-toggle"><input id="docker-dashboard-folder-label" type="checkbox" onchange="changeDashboardPref('docker', 'folderLabel', this.checked)"> Show folder label</label>
272-
<label id="docker-dashboard-privacy-mode-row" class="setting-toggle"><input id="docker-dashboard-privacy-mode" type="checkbox" onchange="changeDashboardPref('docker', 'privacyMode', this.checked)"> Privacy mode (blur names and icons)</label>
273273
<div class="setting-help">Non-classic layouts can show a compact toggle, optional dimming, and label visibility controls.</div>
274274
</div>
275275
<div class="settings-mini-card">
@@ -521,7 +521,6 @@ if (!empty($fvplusRuntimeConflicts)) {
521521
<label id="vm-dashboard-expand-toggle-row" class="setting-toggle"><input id="vm-dashboard-expand-toggle" type="checkbox" onchange="changeDashboardPref('vm', 'expandToggle', this.checked)"> Show expand toggle</label>
522522
<label id="vm-dashboard-greyscale-row" class="setting-toggle"><input id="vm-dashboard-greyscale" type="checkbox" onchange="changeDashboardPref('vm', 'greyscale', this.checked)"> Dim collapsed cards</label>
523523
<label id="vm-dashboard-folder-label-row" class="setting-toggle"><input id="vm-dashboard-folder-label" type="checkbox" onchange="changeDashboardPref('vm', 'folderLabel', this.checked)"> Show folder label</label>
524-
<label id="vm-dashboard-privacy-mode-row" class="setting-toggle"><input id="vm-dashboard-privacy-mode" type="checkbox" onchange="changeDashboardPref('vm', 'privacyMode', this.checked)"> Privacy mode (blur names and icons)</label>
525524
<div class="setting-help">Non-classic layouts can show a compact toggle, optional dimming, and label visibility controls.</div>
526525
</div>
527526
<div class="settings-mini-card">
@@ -1279,23 +1278,6 @@ if (!empty($fvplusRuntimeConflicts)) {
12791278
</div>
12801279
</section>
12811280

1282-
<section class="fv-recovery-stage fv-recovery-environment-stage">
1283-
<div class="fv-recovery-stage-head">
1284-
<strong>Environment export and import</strong>
1285-
<span class="rules-help">Move the full plugin environment between installs in one JSON file. This includes Docker folders, VM folders, preferences, folder defaults, and Theme Workspace customization.</span>
1286-
</div>
1287-
<div class="backup-actions fv-recovery-environment-actions">
1288-
<button type="button" onclick="exportEnvironmentSnapshot()"><i class="fa fa-download"></i> Export environment</button>
1289-
<button type="button" onclick="importEnvironmentSnapshot()"><i class="fa fa-upload"></i> Import environment</button>
1290-
</div>
1291-
<div id="fv-recovery-environment-summary" class="fv-recovery-history-list">
1292-
<div class="fv-recovery-empty-state">
1293-
<strong>Portable environment snapshots are ready.</strong>
1294-
<span>Export everything to one JSON file or import a snapshot from another FolderView Plus install.</span>
1295-
</div>
1296-
</div>
1297-
</section>
1298-
12991281
<div class="fv-recovery-hidden-helpers" hidden aria-hidden="true">
13001282
<select id="docker-backup-compare-left"></select>
13011283
<select id="docker-backup-compare-right"></select>

src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/folderview.plus.Docker.page

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,10 @@ $fvplusRuntimePreflightHasFatal = runtimePreflightHasFatal($fvplusRuntimePreflig
6767
<script src="<?php fvplus_asset('/plugins/folderview.plus/scripts/docker.runtime.host-guards.js')?>"></script>
6868
<script src="<?php fvplus_asset('/plugins/folderview.plus/scripts/docker.runtime.diagnostics.js')?>"></script>
6969
<script src="<?php fvplus_asset('/plugins/folderview.plus/scripts/docker.runtime.reconcile.js')?>"></script>
70+
<script src="<?php fvplus_asset('/plugins/folderview.plus/scripts/docker.runtime.command-view.js')?>"></script>
7071
<script defer src="<?php fvplus_asset('/plugins/folderview.plus/scripts/docker.js')?>"></script>
7172

7273
<link rel="stylesheet" href="<?php fvplus_asset('/plugins/folderview.plus/styles/runtime.shared.css')?>">
74+
<link rel="stylesheet" href="<?php fvplus_asset('/plugins/folderview.plus/styles/docker.command-view.css')?>">
7375
<link rel="stylesheet" href="<?php fvplus_asset('/plugins/folderview.plus/styles/docker.css')?>">
7476
<?php require_once('/usr/local/emhttp/plugins/folderview.plus/styles/custom.php') ?>

0 commit comments

Comments
 (0)