Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
Findeton committed Mar 27, 2024
1 parent 8072ebc commit b31529a
Showing 1 changed file with 26 additions and 16 deletions.
42 changes: 26 additions & 16 deletions avBooth/error-checker-generator-service.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,14 @@ angular.module('avUi')
return !!u;
};

/**
* @returns true if explicit invalid option is selected
*/
service.isInvalidExplicit = function (question) {
return question.invalidVoteAnswer &&
(question.invalidVoteAnswer.selected > -1 || question.invalidVoteAnswer.isSelected === true);
};

/**
* @returns number of selected options in a question
*/
Expand Down Expand Up @@ -148,6 +156,7 @@ angular.module('avUi')
return true;
}
return (
(checkerTypeFlag === "show-stoppers" && service.isInvalidExplicit(question)) ||
(
checkerTypeFlag === "soft" &&
!question.deselectedAtLeastOnce
Expand Down Expand Up @@ -205,6 +214,7 @@ angular.module('avUi')
validator: function (question)
{
if (
(checkerTypeFlag === "show-stoppers" && service.isInvalidExplicit(question)) ||
!question.extra_options ||
question.extra_options.invalid_vote_policy === 'allowed' ||
service.numSelectedOptions(question, invalidVoteAnswer) === 0 ||
Expand Down Expand Up @@ -244,6 +254,7 @@ angular.module('avUi')
validator: function (question)
{
if (
(checkerTypeFlag === "show-stoppers" && service.isInvalidExplicit(question)) ||
!question.extra_options ||
question.extra_options.invalid_vote_policy === 'allowed' ||
(
Expand Down Expand Up @@ -277,6 +288,7 @@ angular.module('avUi')
validator: function (question)
{
if (
(checkerTypeFlag === "show-stoppers" && service.isInvalidExplicit(question)) ||
(
question.invalidVoteAnswer &&
question.invalidVoteAnswer.selected > -1
Expand Down Expand Up @@ -332,10 +344,7 @@ angular.module('avUi')
validator: function (question)
{
if (
(
question.invalidVoteAnswer &&
question.invalidVoteAnswer.selected > -1
) ||
(checkerTypeFlag === "show-stoppers" && service.isInvalidExplicit(question)) ||
!question.extra_options ||
!question.extra_options.allow_writeins
) {
Expand Down Expand Up @@ -379,6 +388,7 @@ angular.module('avUi')
validator: function (question)
{
if (
(checkerTypeFlag === "show-stoppers" && service.isInvalidExplicit(question)) ||
!question.extra_options ||
!question.extra_options.allow_writeins || (
question.extra_options.invalid_vote_policy === 'allowed' &&
Expand Down Expand Up @@ -440,6 +450,7 @@ angular.module('avUi')
validator: function (question)
{
if (
(checkerTypeFlag === "show-stoppers" && service.isInvalidExplicit(question)) ||
!question.extra_options ||
!question.extra_options.allow_writeins || (
question.extra_options.invalid_vote_policy === 'allowed' &&
Expand Down Expand Up @@ -497,6 +508,7 @@ angular.module('avUi')
validator: function (question)
{
if (
(checkerTypeFlag === "show-stoppers" && service.isInvalidExplicit(question)) ||
(
question.invalidVoteAnswer &&
question.invalidVoteAnswer.selected > -1
Expand Down Expand Up @@ -542,10 +554,7 @@ angular.module('avUi')
validator: function (question)
{
if (
(
question.invalidVoteAnswer &&
question.invalidVoteAnswer.selected > -1
) ||
(checkerTypeFlag === "show-stoppers" && service.isInvalidExplicit(question)) ||
!question.extra_options ||
!question.extra_options.allow_writeins || (
question.extra_options.invalid_vote_policy === 'allowed' &&
Expand Down Expand Up @@ -588,10 +597,7 @@ angular.module('avUi')
validator: function (question)
{
if (
(
question.invalidVoteAnswer &&
question.invalidVoteAnswer.selected > -1
) ||
(checkerTypeFlag === "show-stoppers" && service.isInvalidExplicit(question)) ||
question.extra_options.enable_panachage === undefined ||
question.extra_options.enable_panachage === true ||
question.extra_options.invalid_vote_policy === 'allowed' ||
Expand Down Expand Up @@ -636,7 +642,8 @@ angular.module('avUi')
},
validator: function (question)
{
return !(question.layout === "accordion" && service.numSelectedOptions(question) !== question.max &&
return (checkerTypeFlag === "show-stoppers" && service.isInvalidExplicit(question)) ||
!(question.layout === "accordion" && service.numSelectedOptions(question) !== question.max &&
service.numTaggedSelectedOptions(question) === service.getTagMax(question));
},
postfix: "-max-tag"
Expand All @@ -653,7 +660,8 @@ angular.module('avUi')
},
validator: function (question)
{
return !(question.layout === "accordion" && service.numSelectedOptions(question) !== question.max &&
return (checkerTypeFlag === "show-stoppers" && service.isInvalidExplicit(question)) ||
!(question.layout === "accordion" && service.numSelectedOptions(question) !== question.max &&
service.numSelectedOptions(question) - service.numTaggedSelectedOptions(question) === service.getNoTagMax(question));
},
postfix: "-max-notag"
Expand All @@ -668,7 +676,8 @@ angular.module('avUi')
},
validator: function (question)
{
return !(question.layout === "accordion" && service.numSelectedOptions(question) === question.max &&
return (checkerTypeFlag === "show-stoppers" && service.isInvalidExplicit(question)) ||
!(question.layout === "accordion" && service.numSelectedOptions(question) === question.max &&
question.max === 1
);
},
Expand All @@ -685,7 +694,8 @@ angular.module('avUi')
},
validator: function (question)
{
return !(question.layout === "accordion" && service.numSelectedOptions(question) === question.max &&
return (checkerTypeFlag === "show-stoppers" && service.isInvalidExplicit(question)) ||
!(question.layout === "accordion" && service.numSelectedOptions(question) === question.max &&
question.max > 1
);
},
Expand Down

0 comments on commit b31529a

Please sign in to comment.