Use CamelCase; Fix filter ranges

This commit is contained in:
Serial 2022-05-05 18:27:56 -04:00
parent dd7bc86f22
commit 4ed52bf13e
2 changed files with 28 additions and 26 deletions

View File

@ -435,7 +435,7 @@ Otherwise, have a great day =^.^=
<button type="button" class="btn btn-default dropdown-toggle">
Version
<span id="version-filter-count" class="badge">
{{versionFilterCount(version_filters)}}
{{versionFilterCount(versionFilters)}}
</span>
<span class="caret"></span>
</button>
@ -447,7 +447,7 @@ Otherwise, have a great day =^.^=
</label>
</li>
<li role="separator" class="divider"></li>
<li class="checkbox" ng-repeat="(filter, vars) in version_filters">
<li class="checkbox" ng-repeat="(filter, vars) in versionFilters">
<label ng-attr-for="filter-{filter}">{{filter}}</label>
<span>1.</span>
<input type="text"
@ -455,7 +455,7 @@ Otherwise, have a great day =^.^=
class="version-filter-input form-control filter-input"
maxlength="2"
placeholder="xx"
ng-model="version_filters[filter].minor_version"
ng-model="versionFilters[filter].minorVersion"
ng-model-options="{debounce: 50}" />
<span>.0</span>
</li>
@ -536,4 +536,4 @@ Otherwise, have a great day =^.^=
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.12/angular.min.js"></script>
<script src="script.js"></script>
</body>
</html>
</html>

View File

@ -136,13 +136,11 @@
};
$scope.themes = THEMES_DEFAULT;
const DEFAULT_VERSION_FILTERS = {
"≥": { enabled: false, minor_version: "" },
"≤": { enabled: false, minor_version: "" },
"=": { enabled: false, minor_version: "" },
$scope.versionFilters = {
"≥": {enabled: false, minorVersion: ""},
"≤": {enabled: false, minorVersion: ""},
"=": {enabled: false, minorVersion: ""},
};
// Weird workaround to get a copy of the object
$scope.version_filters = JSON.parse(JSON.stringify(DEFAULT_VERSION_FILTERS));
$scope.selectTheme = function (theme) {
setTheme(theme, true);
@ -171,7 +169,9 @@
}
$scope.clearVersionFilters = function () {
$scope.version_filters = JSON.parse(JSON.stringify(DEFAULT_VERSION_FILTERS));
for (let filter in $scope.versionFilters) {
$scope.versionFilters[filter] = { enabled: false, minorVersion: "" };
}
}
$scope.versionFilterCount = function(obj) {
@ -179,21 +179,21 @@
}
$scope.byVersion = function(lint) {
function validate_version_str(ver) {
function validateVersionStr(ver) {
return ver.length === 2 && !isNaN(ver);
}
let filters = $scope.version_filters;
let filters = $scope.versionFilters;
// 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);
let lintVersion = lint.version.startsWith("pre ") ? lint.version.substring(4, lint.version.length) : lint.version;
let lintMinorVersion = lintVersion.substring(2, 4);
for (const filter in filters) {
let minor_version = filters[filter].minor_version;
let minorVersion = filters[filter].minorVersion;
// Skip the work for version strings with invalid lengths or characters
if (!validate_version_str(minor_version)) {
if (!validateVersionStr(minorVersion)) {
filters[filter].enabled = false;
continue;
}
@ -203,14 +203,14 @@
let result;
switch (filter) {
case "≥":
result = (lint_minor_verison >= minor_version);
result = (lintMinorVersion >= minorVersion);
break;
case "≤":
result = (lint_minor_verison <= minor_version);
result = (lintMinorVersion <= minorVersion);
break;
// "=" gets the highest priority, since all filters are inclusive
case "=":
return (lint_minor_verison === minor_version);
return (lintMinorVersion === minorVersion);
default:
return true
}
@ -219,19 +219,21 @@
return false;
}
let cmp_filter;
let cmpFilter;
if (filter === "≥") {
cmp_filter = "≤";
cmpFilter = "≤";
} else {
cmp_filter = "≥";
cmpFilter = "≥";
}
let cmp_minor_version = filters[cmp_filter].minor_version;
if (!filters[cmp_filter].enabled || !validate_version_str(cmp_minor_version)) {
let cmpMinorVersion = filters[cmpFilter].minorVersion;
if (!validateVersionStr(cmpMinorVersion)) {
filters[cmpFilter].enabled = false;
return true;
}
return (cmp_filter === "≥") ? (lint_minor_verison > minor_version) : (lint_minor_verison < minor_version);
filters[cmpFilter].enabled = true;
return (cmpFilter === "≥") ? (lintMinorVersion >= cmpMinorVersion) : (lintMinorVersion <= cmpMinorVersion);
}
return true;