Skip to content

Commit 2c70af3

Browse files
committed
Only require minor version
1 parent 9173780 commit 2c70af3

File tree

2 files changed

+47
-31
lines changed

2 files changed

+47
-31
lines changed

util/gh-pages/index.html

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -301,11 +301,15 @@
301301

302302
#version-filter li label {
303303
padding-right: 0;
304-
width: 40%;
304+
width: 35%;
305305
}
306306

307307
.version-filter-input {
308-
height: 75%;
308+
height: 60%;
309+
width: 30%;
310+
text-align: center;
311+
border: none;
312+
border-bottom: 1px solid #000000;
309313
}
310314

311315
#filter-label, .filter-clear {
@@ -429,7 +433,11 @@ <h1>Clippy Lints</h1>
429433
<div id="version-filter">
430434
<div class="btn-group" filter-dropdown>
431435
<button type="button" class="btn btn-default dropdown-toggle">
432-
Version <span id="version-filter-count" class="badge">{{versionFilterCount(version_filters)}}</span> <span class="caret"></span>
436+
Version
437+
<span id="version-filter-count" class="badge">
438+
{{versionFilterCount(version_filters)}}
439+
</span>
440+
<span class="caret"></span>
433441
</button>
434442
<ul id="version-filter-selector" class="dropdown-menu">
435443
<li class="checkbox">
@@ -441,11 +449,20 @@ <h1>Clippy Lints</h1>
441449
<li role="separator" class="divider"></li>
442450
<li class="checkbox" ng-repeat="(filter, vars) in version_filters">
443451
<label ng-attr-for="filter-{filter}">{{filter}}</label>
444-
<input type="text" ng-attr-id="filter-{filter}" class="version-filter-input form-control filter-input" maxlength="6" placeholder="1.62.0" ng-model="version_filters[filter].version_str" ng-model-options="{debounce: 50}"/>
452+
<span>1.</span>
453+
<input type="text"
454+
ng-attr-id="filter-{filter}"
455+
class="version-filter-input form-control filter-input"
456+
maxlength="2"
457+
placeholder="62"
458+
ng-model="version_filters[filter].minor_version"
459+
ng-model-options="{debounce: 50}" />
460+
<span>.0</span>
445461
</li>
446462
</ul>
447463
</div>
448464
</div>
465+
449466
</div>
450467
<div class="col-12 col-md-7 search-control">
451468
<div class="input-group">

util/gh-pages/script.js

Lines changed: 26 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -137,13 +137,12 @@
137137
$scope.themes = THEMES_DEFAULT;
138138

139139
const DEFAULT_VERSION_FILTERS = {
140-
"≥": { enabled: false, version_str: "" },
141-
"≤": { enabled: false, version_str: "" },
142-
"=": { enabled: false, version_str: "" },
140+
"≥": { enabled: false, minor_version: "" },
141+
"≤": { enabled: false, minor_version: "" },
142+
"=": { enabled: false, minor_version: "" },
143143
};
144144
// Weird workaround to get a copy of the object
145145
$scope.version_filters = JSON.parse(JSON.stringify(DEFAULT_VERSION_FILTERS));
146-
$scope.version_regex = new RegExp('1\.\\d{2}\.\\d');
147146

148147
$scope.selectTheme = function (theme) {
149148
setTheme(theme, true);
@@ -181,42 +180,42 @@
181180

182181
$scope.byVersion = function(lint) {
183182
function validate_version_str(ver) {
184-
return ver.length === 6 && $scope.version_regex.test(ver);
185-
}
186-
187-
function cmp_version(ver1, ver2, filter) {
188-
// < 0: lint_version < version
189-
// 0: equal
190-
// > 0: lint_version > version
191-
let result = ver1.localeCompare(ver2, undefined, {
192-
numeric: true,
193-
sensitivity: "base"
194-
});
195-
196-
// "==" gets the highest priority, since all filters are inclusive
197-
return (result === 0) || (filter === ">=" && result > 0) || (filter === "<=" && result < 0);
183+
return ver.length === 2 && !isNaN(ver);
198184
}
199185

200186
let filters = $scope.version_filters;
201187

202188
// Strip the "pre " prefix for pre 1.29.0 lints
203189
let lint_version = lint.version.startsWith("pre ") ? lint.version.substring(4, lint.version.length) : lint.version;
190+
let lint_minor_verison = lint_version.substring(2, 4);
204191

205192
for (const filter in filters) {
206-
let version_str = filters[filter].version_str;
193+
let minor_version = filters[filter].minor_version;
207194

208195
// Skip the work for version strings with invalid lengths or characters
209-
if (!validate_version_str(version_str)) {
196+
if (!validate_version_str(minor_version)) {
210197
filters[filter].enabled = false;
211198
continue;
212199
}
213200

214201
filters[filter].enabled = true;
215202

216-
let result = cmp_version(lint_version, version_str, filter);
217-
if (result && filter === "==") {
218-
return true;
219-
} else if (!result) {
203+
let result;
204+
switch (filter) {
205+
case "≥":
206+
result = (lint_minor_verison >= minor_version);
207+
break;
208+
case "≤":
209+
result = (lint_minor_verison <= minor_version);
210+
break;
211+
// "=" gets the highest priority, since all filters are inclusive
212+
case "=":
213+
return (lint_minor_verison === minor_version);
214+
default:
215+
return true
216+
}
217+
218+
if (!result) {
220219
return false;
221220
}
222221

@@ -227,12 +226,12 @@
227226
cmp_filter = "≥";
228227
}
229228

230-
let cmp_version_str = filters[cmp_filter].version_str;
231-
if (!filters[cmp_filter].enabled || !validate_version_str(cmp_version_str)) {
229+
let cmp_minor_version = filters[cmp_filter].minor_version;
230+
if (!filters[cmp_filter].enabled || !validate_version_str(cmp_minor_version)) {
232231
return true;
233232
}
234233

235-
return cmp_version(lint_version, cmp_version_str, cmp_filter);
234+
return (cmp_filter === "≥") ? (lint_minor_verison > minor_version) : (lint_minor_verison < minor_version);
236235
}
237236

238237
return true;

0 commit comments

Comments
 (0)