Skip to content

Commit eef9389

Browse files
Fix multi-row measurement and settings search layout
1 parent c888e5d commit eef9389

6 files changed

Lines changed: 22 additions & 16 deletions

File tree

src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/scripts/docker.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -517,6 +517,7 @@ const layoutFolderPreviewRows = ($preview, settings = {}) => {
517517
maxHeight: 'none',
518518
overflow: 'visible',
519519
display: 'flex',
520+
flexDirection: 'row',
520521
flexWrap: 'wrap',
521522
alignItems: 'center',
522523
alignContent: 'flex-start',

src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/scripts/folderviewplus.chrome.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,19 @@
66
<span class="fv-settings-subtitle">Plugin settings</span>
77
</div>
88
<div class="fv-settings-right">
9+
<span class="fv-mode-toggle" title="Settings mode">
10+
<button type="button" class="fv-mode-btn" data-mode="basic" aria-label="Use basic settings mode">Basic</button>
11+
<button type="button" class="fv-mode-btn" data-mode="advanced" aria-label="Use advanced settings mode">Advanced</button>
12+
</span>
913
<div class="fv-settings-search-block">
1014
<div class="fv-settings-search-wrap">
1115
<input type="text" id="fv-settings-search" placeholder="Search settings" aria-label="Search settings">
12-
<button type="button" id="fv-settings-clear-search" title="Clear search" aria-label="Clear search"><i class="fa fa-times"></i></button>
1316
</div>
1417
<label class="fv-search-scope" title="Limit search to currently selected advanced tab">
1518
<input type="checkbox" id="fv-search-all-advanced">
1619
Search all advanced
1720
</label>
1821
</div>
19-
<span class="fv-mode-toggle" title="Settings mode">
20-
<button type="button" class="fv-mode-btn" data-mode="basic" aria-label="Use basic settings mode">Basic</button>
21-
<button type="button" class="fv-mode-btn" data-mode="advanced" aria-label="Use advanced settings mode">Advanced</button>
22-
</span>
2322
<button type="button" id="fv-run-wizard" title="Run setup assistant"><i class="fa fa-magic"></i> Wizard</button>
2423
</div>
2524
</div>

src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/scripts/folderviewplus.js

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2584,20 +2584,19 @@ const initSettingsControls = () => {
25842584
<span class="fv-settings-subtitle">Plugin settings</span>
25852585
</div>
25862586
<div class="fv-settings-right">
2587+
<span class="fv-mode-toggle" title="Settings mode">
2588+
<button type="button" class="fv-mode-btn" data-mode="basic" aria-label="Use basic settings mode">Basic</button>
2589+
<button type="button" class="fv-mode-btn" data-mode="advanced" aria-label="Use advanced settings mode">Advanced</button>
2590+
</span>
25872591
<div class="fv-settings-search-block">
25882592
<div class="fv-settings-search-wrap">
25892593
<input type="text" id="fv-settings-search" placeholder="Search settings" aria-label="Search settings">
2590-
<button type="button" id="fv-settings-clear-search" title="Clear search" aria-label="Clear search"><i class="fa fa-times"></i></button>
25912594
</div>
25922595
<label class="fv-search-scope" title="Limit search to currently selected advanced tab">
25932596
<input type="checkbox" id="fv-search-all-advanced">
25942597
Search all advanced
25952598
</label>
25962599
</div>
2597-
<span class="fv-mode-toggle" title="Settings mode">
2598-
<button type="button" class="fv-mode-btn" data-mode="basic" aria-label="Use basic settings mode">Basic</button>
2599-
<button type="button" class="fv-mode-btn" data-mode="advanced" aria-label="Use advanced settings mode">Advanced</button>
2600-
</span>
26012600
<button type="button" id="fv-run-wizard" title="Run setup assistant"><i class="fa fa-magic"></i> Wizard</button>
26022601
</div>
26032602
</div>
@@ -2633,10 +2632,6 @@ const initSettingsControls = () => {
26332632
$('#fv-search-all-advanced').off('change.fvui').on('change.fvui', (event) => {
26342633
setSearchAllAdvanced($(event.currentTarget).prop('checked') === true);
26352634
});
2636-
$('#fv-settings-clear-search').off('click.fvui').on('click.fvui', () => {
2637-
$('#fv-settings-search').val('');
2638-
setSettingsSearchQuery('');
2639-
});
26402635
$('#fv-action-save').off('click.fvui').on('click.fvui', () => {
26412636
void saveActionBarChanges(false);
26422637
});

src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/styles/folderviewplus.css

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3788,6 +3788,9 @@ body.fv-mobile-compact .fv-setup-field-grid {
37883788
align-items: center;
37893789
gap: 0.22rem;
37903790
min-width: min(360px, 42vw);
3791+
margin-left: 0.35rem;
3792+
padding-left: 0.25rem;
3793+
border-left: 1px solid rgba(255, 255, 255, 0.08);
37913794
}
37923795

37933796
.fv-mode-toggle {
@@ -3821,9 +3824,9 @@ body.fv-mobile-compact .fv-setup-field-grid {
38213824

38223825
.fv-settings-search-wrap {
38233826
display: inline-grid;
3824-
grid-template-columns: minmax(0, 1fr) auto;
3827+
grid-template-columns: minmax(0, 1fr);
38253828
align-items: center;
3826-
gap: 0.35rem;
3829+
gap: 0;
38273830
width: 100%;
38283831
}
38293832

@@ -6067,6 +6070,9 @@ tr.is-long-press-active {
60676070
width: 100%;
60686071
min-width: 0;
60696072
grid-column: 1 / -1;
6073+
margin-left: 0;
6074+
padding-left: 0;
6075+
border-left: 0;
60706076
}
60716077

60726078
.fv-settings-search-wrap input[type="text"] {

tests/docker-preview-overflow-feature.test.mjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ test('docker runtime applies preview row layout limits and enhanced member actio
4444
assert.match(dockerJs, /const \$measurement = availableWidth > 0/);
4545
assert.match(dockerJs, /fv-preview-multirow fv-preview-row-measure/);
4646
assert.match(dockerJs, /\.appendTo\(document\.body\)/);
47+
assert.match(dockerJs, /flexDirection:\s*'row'/);
4748
assert.match(dockerJs, /const measurementWrappers = wrappers\.map\(\(wrapper,\s*index\) =>/);
4849
assert.match(dockerJs, /const wrapperTop = Number\(measurementWrapper\?\.offsetTop \?\? 0\)/);
4950
assert.match(dockerJs, /const startsNewRow = currentRow\.length > 0/);

tests/ui-smoke-layout.test.mjs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -679,6 +679,10 @@ test('settings runtime uses extracted chrome module and shared request wrapper',
679679
assert.match(settingsCss, /\.folder-metric-chip\.is-danger\s*\{/);
680680
assert.match(settingsCss, /\.folder-metric-chip\s*\{/);
681681
assert.match(settingsCss, /\.folder-pin-state,\s*[\s\S]*\.folder-metric-chip\s*\{/);
682+
assert.match(settingsJs, /class="fv-mode-toggle"[\s\S]*class="fv-settings-search-block"/);
683+
assert.match(settingsCss, /\.fv-settings-search-block\s*\{[\s\S]*margin-left:\s*0\.35rem/);
684+
assert.match(settingsCss, /\.fv-settings-search-block\s*\{[\s\S]*border-left:\s*1px solid rgba\(255,\s*255,\s*255,\s*0\.08\)/);
685+
assert.doesNotMatch(settingsJs, /fv-settings-clear-search/);
682686
assert.match(settingsCss, /\.backup-compare-row\s*\{/);
683687
assert.match(settingsCss, /\.ui-dialog\.fv-backup-compare-modal #backup-compare-dialog/);
684688
assert.match(settingsCss, /\.module-empty-note\s*\{/);

0 commit comments

Comments
 (0)