diff options
| author | Serial <69764315+Serial-ATA@users.noreply.github.com> | 2022-05-03 18:12:31 -0400 |
|---|---|---|
| committer | Serial <69764315+Serial-ATA@users.noreply.github.com> | 2022-05-03 18:12:31 -0400 |
| commit | 2c70af3cd59504a79359808d39843132f47c9e32 (patch) | |
| tree | 28487f44e8c7c3d2ac77e9b6754825947ebdc11f | |
| parent | 9173780568144717da3a4986f67ad375b8fa1ded (diff) | |
| download | rust-2c70af3cd59504a79359808d39843132f47c9e32.tar.gz rust-2c70af3cd59504a79359808d39843132f47c9e32.zip | |
Only require minor version
| -rw-r--r-- | util/gh-pages/index.html | 25 | ||||
| -rw-r--r-- | util/gh-pages/script.js | 53 |
2 files changed, 47 insertions, 31 deletions
diff --git a/util/gh-pages/index.html b/util/gh-pages/index.html index 0a990df96f3..69dcd947dfb 100644 --- a/util/gh-pages/index.html +++ b/util/gh-pages/index.html @@ -301,11 +301,15 @@ Otherwise, have a great day =^.^= #version-filter li label { padding-right: 0; - width: 40%; + width: 35%; } .version-filter-input { - height: 75%; + height: 60%; + width: 30%; + text-align: center; + border: none; + border-bottom: 1px solid #000000; } #filter-label, .filter-clear { @@ -429,7 +433,11 @@ Otherwise, have a great day =^.^= <div id="version-filter"> <div class="btn-group" filter-dropdown> <button type="button" class="btn btn-default dropdown-toggle"> - Version <span id="version-filter-count" class="badge">{{versionFilterCount(version_filters)}}</span> <span class="caret"></span> + Version + <span id="version-filter-count" class="badge"> + {{versionFilterCount(version_filters)}} + </span> + <span class="caret"></span> </button> <ul id="version-filter-selector" class="dropdown-menu"> <li class="checkbox"> @@ -441,11 +449,20 @@ Otherwise, have a great day =^.^= <li role="separator" class="divider"></li> <li class="checkbox" ng-repeat="(filter, vars) in version_filters"> <label ng-attr-for="filter-{filter}">{{filter}}</label> - <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}"/> + <span>1.</span> + <input type="text" + ng-attr-id="filter-{filter}" + class="version-filter-input form-control filter-input" + maxlength="2" + placeholder="62" + ng-model="version_filters[filter].minor_version" + ng-model-options="{debounce: 50}" /> + <span>.0</span> </li> </ul> </div> </div> + </div> <div class="col-12 col-md-7 search-control"> <div class="input-group"> diff --git a/util/gh-pages/script.js b/util/gh-pages/script.js index 8fbd3f50d3c..b04a9374574 100644 --- a/util/gh-pages/script.js +++ b/util/gh-pages/script.js @@ -137,13 +137,12 @@ $scope.themes = THEMES_DEFAULT; const DEFAULT_VERSION_FILTERS = { - "≥": { enabled: false, version_str: "" }, - "≤": { enabled: false, version_str: "" }, - "=": { enabled: false, version_str: "" }, + "≥": { enabled: false, minor_version: "" }, + "≤": { enabled: false, minor_version: "" }, + "=": { enabled: false, minor_version: "" }, }; // Weird workaround to get a copy of the object $scope.version_filters = JSON.parse(JSON.stringify(DEFAULT_VERSION_FILTERS)); - $scope.version_regex = new RegExp('1\.\\d{2}\.\\d'); $scope.selectTheme = function (theme) { setTheme(theme, true); @@ -181,42 +180,42 @@ $scope.byVersion = function(lint) { function validate_version_str(ver) { - return ver.length === 6 && $scope.version_regex.test(ver); - } - - function cmp_version(ver1, ver2, filter) { - // < 0: lint_version < version - // 0: equal - // > 0: lint_version > version - let result = ver1.localeCompare(ver2, undefined, { - numeric: true, - sensitivity: "base" - }); - - // "==" gets the highest priority, since all filters are inclusive - return (result === 0) || (filter === ">=" && result > 0) || (filter === "<=" && result < 0); + return ver.length === 2 && !isNaN(ver); } let filters = $scope.version_filters; // Strip the "pre " prefix for pre 1.29.0 lints let lint_version = lint.version.startsWith("pre ") ? lint.version.substring(4, lint.version.length) : lint.version; + let lint_minor_verison = lint_version.substring(2, 4); for (const filter in filters) { - let version_str = filters[filter].version_str; + let minor_version = filters[filter].minor_version; // Skip the work for version strings with invalid lengths or characters - if (!validate_version_str(version_str)) { + if (!validate_version_str(minor_version)) { filters[filter].enabled = false; continue; } filters[filter].enabled = true; - let result = cmp_version(lint_version, version_str, filter); - if (result && filter === "==") { - return true; - } else if (!result) { + let result; + switch (filter) { + case "≥": + result = (lint_minor_verison >= minor_version); + break; + case "≤": + result = (lint_minor_verison <= minor_version); + break; + // "=" gets the highest priority, since all filters are inclusive + case "=": + return (lint_minor_verison === minor_version); + default: + return true + } + + if (!result) { return false; } @@ -227,12 +226,12 @@ cmp_filter = "≥"; } - let cmp_version_str = filters[cmp_filter].version_str; - if (!filters[cmp_filter].enabled || !validate_version_str(cmp_version_str)) { + let cmp_minor_version = filters[cmp_filter].minor_version; + if (!filters[cmp_filter].enabled || !validate_version_str(cmp_minor_version)) { return true; } - return cmp_version(lint_version, cmp_version_str, cmp_filter); + return (cmp_filter === "≥") ? (lint_minor_verison > minor_version) : (lint_minor_verison < minor_version); } return true; |
