Skip to content

Commit

Permalink
starting to figure out how to pass in avg versus sum... feels like th…
Browse files Browse the repository at this point in the history
…is should be on the scorer.... not the queries.....
  • Loading branch information
epugh committed Aug 27, 2022
1 parent 3387df3 commit caaf2b4
Show file tree
Hide file tree
Showing 3 changed files with 62 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ angular.module('QuepidApp')
ctrl.diffScore = '?';
ctrl.diffStyle = {};
ctrl.score = '?';
ctrl.scoreType = ctrl.scoreType || 'normal';
ctrl.scoreType = ctrl.scoreType; // either header or query
ctrl.style = { 'background-color': qscoreSvc.scoreToColor(ctrl.score, ctrl.maxScore) };

$scope.$watch('ctrl.scorable.currentScore', function() {
Expand Down
59 changes: 58 additions & 1 deletion app/assets/javascripts/controllers/queriesCtrl.js
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,8 @@ angular.module('QuepidApp')

$scope.getScorer = getScorer;

$scope.pickScorable = pickScorable;

$scope.reverse = $location.search().reverse;
$scope.sortBy($location.search().sort || 'default', !$scope.reverse);

Expand Down Expand Up @@ -167,11 +169,49 @@ angular.module('QuepidApp')
}
};

// a simulated "query" that the results view uses for display
var lastVersion = -1;

// a simulated "query" that the results view uses for display
// This method is used by scorers whose rollupMethod is averaging
var avgQuery = {
lastScore: -1,
calcScore: function() {
console.log("In avgQuery calcScore");
// rescore only if
// - there are no unscored queries
// - we seem to have a new version of the query service
if (!queriesSvc.hasUnscoredQueries() &&
(lastVersion !== queriesSvc.version())) {

runScore(this);
saveScoring();
}
},
score: () => {
console.log("In avgQuery score");
var deferred = $q.defer();
deferred.resolve($scope.queries.avgQuery.diff.currentScore);
return deferred.promise;
},
diff: {
score: function() {
console.log("In avgQuery diff score");
return queriesSvc.scoreAllDiffs().then( (scoreInfo) => {
$scope.queries.avgQuery.diff.currentScore = scoreInfo;
return scoreInfo;
});
}
}
//var diff: null, // TODO fill out
};

// a simulated "query" that the results view uses for display
// This method is used by scorers whose rollupMethod is sum
// note: this hasn't actually been converted to a SUM!
var sumQuery = {
lastScore: -1,
calcScore: function() {
console.log("In sumQuery calcScore");
// rescore only if
// - there are no unscored queries
// - we seem to have a new version of the query service
Expand All @@ -183,12 +223,14 @@ angular.module('QuepidApp')
}
},
score: () => {
console.log("In sumQuery score");
var deferred = $q.defer();
deferred.resolve($scope.queries.avgQuery.diff.currentScore);
return deferred.promise;
},
diff: {
score: function() {
console.log("In sumQuery diff score");
return queriesSvc.scoreAllDiffs().then( (scoreInfo) => {
$scope.queries.avgQuery.diff.currentScore = scoreInfo;
return scoreInfo;
Expand Down Expand Up @@ -268,7 +310,9 @@ angular.module('QuepidApp')
}
}

// Do we need to define them here, or can, based on the type of scorer, we define it later???
$scope.queries.avgQuery = avgQuery;
$scope.queries.sumQuery = sumQuery;

// get all the queries for this case for the query service
$scope.queriesList = [];
Expand Down Expand Up @@ -316,6 +360,19 @@ angular.module('QuepidApp')
return scorerSvc.defaultScorer;
}

function pickScorable() {
var scorable;
switch (getScorer().rollupMethod) {
case 'sum_of_scores':
scorable = $scope.queries.sumQuery;
break;
case 'average_of_scores':
scorable = $scope.queries.avgQuery;
break;
}
return scorable;
}

/*jslint latedef:false*/
function pickCaseScorer() {
var modalInstance = $uibModal.open({
Expand Down
5 changes: 3 additions & 2 deletions app/assets/templates/views/queriesLayout.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,13 @@
<div id="case-header" class="row">
<div class="col-sm-12">
<div style="display: inline-block">
{{ getScorer().rollupMethod }}
<qscore
class="case-score"
diff-label="queries.selectedDiffName()"
full-diff-name="queries.fullDiffName()"
max-score="maxScore || 1";
scorable="queries.avgQuery"
scorable="pickScorable()"
score-label="getScorer().name"
score-type="'header'"
scores="scores"
Expand Down Expand Up @@ -54,7 +55,7 @@ <h1 class="">

<small class="text-muted">
&mdash;
<span aria-hidden="true" popover-trigger="'mouseenter'" popover-placement="right" uib-popover="{{ getScorer().tooltip }}">{{ getScorer().name }}</span>
<span aria-hidden="true" popover-trigger="'mouseenter'" popover-placement="right" uib-popover="{{ getScorer().tooltip }}">{{ getScorer().name }}</span>
</small>
</h1>
</div>
Expand Down

0 comments on commit caaf2b4

Please sign in to comment.