Skip to content

Commit

Permalink
Take "out of plan bounds" activities into account in total count disp…
Browse files Browse the repository at this point in the history
…lay (#1066)
  • Loading branch information
duranb authored Dec 27, 2023
1 parent 08a9d1b commit e1bf4cb
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 26 deletions.
30 changes: 8 additions & 22 deletions src/components/menus/ActivityStatusMenu.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -11,33 +11,16 @@
export let activityErrorCounts: ActivityErrorCounts;
export let activityDirectiveValidationStatuses: ActivityDirectiveValidationStatus[] = [];
export let invalidActivityCount: number = 0;
export let compactNavMode: boolean = false;
const dispatch = createEventDispatcher();
let invalidActivityCount: number = 0;
let totalActivitiesCheckedCount: number = 0;
let totalActivityCount: number = 0;
$: {
({ invalidActivityCount, totalActivitiesCheckedCount, totalActivityCount } =
activityDirectiveValidationStatuses.reduce(
(prevCounts, validationStatus) => {
return {
invalidActivityCount:
prevCounts.invalidActivityCount + (validationStatus.validations.success === false ? 1 : 0),
totalActivitiesCheckedCount:
prevCounts.totalActivitiesCheckedCount + (validationStatus.status === 'complete' ? 1 : 0),
totalActivityCount: prevCounts.totalActivityCount + 1,
};
},
{
invalidActivityCount: 0,
totalActivitiesCheckedCount: 0,
totalActivityCount: 0,
},
));
}
$: totalActivitiesCheckedCount = activityDirectiveValidationStatuses.reduce((prevCount, validationStatus) => {
return prevCount + (validationStatus.status === 'complete' ? 1 : 0);
}, 0);
function onClickViewConsole() {
dispatch('viewActivityValidations');
Expand All @@ -55,7 +38,10 @@
<svelte:fragment slot="metadata">
<div class="activity-status-nav-container">
<div class="total-count">
{totalActivitiesCheckedCount}/{totalActivityCount} activit{totalActivityCount !== 1 ? 'ies' : 'y'} checked
{totalActivitiesCheckedCount}/{activityDirectiveValidationStatuses.length} activit{activityDirectiveValidationStatuses.length !==
1
? 'ies'
: 'y'} checked
</div>
{#if invalidActivityCount === 0}
<div class="no-errors">No problems detected</div>
Expand Down
20 changes: 16 additions & 4 deletions src/routes/plans/[id]/+page.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,7 @@
let hasScheduleAnalysisPermission: boolean = false;
let hasSimulatePermission: boolean = false;
let hasCheckConstraintsPermission: boolean = false;
let invalidActivityCount: number = 0;
let planHasBeenLocked = false;
let planSnapshotActivityDirectives: ActivityDirective[] = [];
let schedulingAnalysisStatus: Status | null;
Expand All @@ -156,7 +157,7 @@
let simulationDataAbortController: AbortController;
let resourcesExternalAbortController: AbortController;
$: activityErrorCounts = $activityErrorRollups.reduce(
$: ({ invalidActivityCount, ...activityErrorCounts } = $activityErrorRollups.reduce(
(prevCounts, activityErrorRollup) => {
let extra = prevCounts.extra + activityErrorRollup.errorCounts.extra;
let invalidAnchor = prevCounts.invalidAnchor + activityErrorRollup.errorCounts.invalidAnchor;
Expand All @@ -167,10 +168,19 @@
let wrongType = prevCounts.wrongType + activityErrorRollup.errorCounts.wrongType;
let all = extra + invalidAnchor + invalidParameter + missing + outOfBounds + wrongType;
return {
all,
extra,
invalidActivityCount:
activityErrorRollup.errorCounts.extra ||
activityErrorRollup.errorCounts.invalidAnchor ||
activityErrorRollup.errorCounts.invalidParameter ||
activityErrorRollup.errorCounts.missing ||
activityErrorRollup.errorCounts.outOfBounds ||
activityErrorRollup.errorCounts.pending ||
activityErrorRollup.errorCounts.wrongType
? prevCounts.invalidActivityCount + 1
: prevCounts.invalidActivityCount,
invalidAnchor,
invalidParameter,
missing,
Expand All @@ -182,14 +192,15 @@
{
all: 0,
extra: 0,
invalidActivityCount: 0,
invalidAnchor: 0,
invalidParameter: 0,
missing: 0,
outOfBounds: 0,
pending: 0,
wrongType: 0,
},
);
));
$: hasCreateViewPermission = featurePermissions.view.canCreate(data.user);
$: hasUpdateViewPermission = $view !== null ? featurePermissions.view.canUpdate(data.user, $view) : false;
$: if ($plan) {
Expand Down Expand Up @@ -497,9 +508,10 @@
</svelte:fragment>
<svelte:fragment slot="right">
<ActivityStatusMenu
activityDirectiveValidationStatuses={$activityDirectiveValidationStatuses}
{activityErrorCounts}
{compactNavMode}
activityDirectiveValidationStatuses={$activityDirectiveValidationStatuses}
{invalidActivityCount}
on:viewActivityValidations={() => {
errorConsole.openConsole(ConsoleTabs.ACTIVITY);
}}
Expand Down

0 comments on commit e1bf4cb

Please sign in to comment.