Skip to content

Commit e99029b

Browse files
authored
✨ Add debug flag for analysis (#1601)
- Requested for improving analysis experience when debugging Signed-off-by: ibolton336 <[email protected]>
1 parent 21b7afd commit e99029b

File tree

6 files changed

+55
-6
lines changed

6 files changed

+55
-6
lines changed

client/public/locales/en/translation.json

+4
Original file line numberDiff line numberDiff line change
@@ -495,6 +495,7 @@
495495
},
496496
"terms": {
497497
"advanced": "Advanced",
498+
"advancedAnalysisDetails": "Enhanced analysis details",
498499
"analysisMode": "Analysis mode",
499500
"configureAnalysis": "Configure analysis",
500501
"customRules": "Custom rules",
@@ -519,6 +520,9 @@
519520
"title": {
520521
"advancedOptions": "Advanced options",
521522
"review": "Review analysis details"
523+
},
524+
"tooltip": {
525+
"advancedAnalysisDetails": "Enable enhanced analysis details to get more information about the analysis."
522526
}
523527
}
524528
}

client/src/app/api/models.ts

+1
Original file line numberDiff line numberDiff line change
@@ -324,6 +324,7 @@ export interface TaskData {
324324
tagger: {
325325
enabled: boolean;
326326
};
327+
verbosity: number;
327328
mode: {
328329
binary: boolean;
329330
withDeps: boolean;

client/src/app/pages/applications/analysis-wizard/analysis-wizard.tsx

+3
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ const defaultTaskData: TaskData = {
5353
tagger: {
5454
enabled: true,
5555
},
56+
verbosity: 0,
5657
mode: {
5758
binary: false,
5859
withDeps: false,
@@ -178,6 +179,7 @@ export const AnalysisWizard: React.FC<IAnalysisWizard> = ({
178179
branch: "",
179180
rootPath: "",
180181
autoTaggingEnabled: true,
182+
advancedAnalysisEnabled: false,
181183
},
182184
resolver: yupResolver(allFieldsSchema),
183185
mode: "all",
@@ -227,6 +229,7 @@ export const AnalysisWizard: React.FC<IAnalysisWizard> = ({
227229
tasks: analyzableApplications.map((app: Application) => initTask(app)),
228230
data: {
229231
...defaultTaskData,
232+
verbosity: fieldValues.advancedAnalysisEnabled ? 1 : 0,
230233
tagger: {
231234
enabled: fieldValues.autoTaggingEnabled,
232235
},

client/src/app/pages/applications/analysis-wizard/review.tsx

+11-5
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ export const Review: React.FC<IReview> = ({ applications, mode }) => {
5151
customRulesFiles,
5252
excludedRulesTags,
5353
autoTaggingEnabled,
54+
advancedAnalysisEnabled,
5455
} = watch();
5556

5657
const hasIncludedPackages = withKnownLibs.includes("select");
@@ -192,11 +193,6 @@ export const Review: React.FC<IReview> = ({ applications, mode }) => {
192193
</List>
193194
</DescriptionListDescription>
194195
</DescriptionListGroup>
195-
<DescriptionListGroup>
196-
<DescriptionListTerm>
197-
{t("wizard.terms.transactionReport")}
198-
</DescriptionListTerm>
199-
</DescriptionListGroup>{" "}
200196
<DescriptionListGroup>
201197
<DescriptionListTerm>
202198
{t("wizard.terms.autoTagging")}
@@ -207,6 +203,16 @@ export const Review: React.FC<IReview> = ({ applications, mode }) => {
207203
: t("wizard.terms.disabled")}
208204
</DescriptionListDescription>
209205
</DescriptionListGroup>
206+
<DescriptionListGroup>
207+
<DescriptionListTerm>
208+
{t("wizard.terms.advancedAnalysisDetails")}
209+
</DescriptionListTerm>
210+
<DescriptionListDescription id="advanced-analysis-details">
211+
{advancedAnalysisEnabled
212+
? t("wizard.terms.enabled")
213+
: t("wizard.terms.disabled")}
214+
</DescriptionListDescription>
215+
</DescriptionListGroup>
210216
</DescriptionList>
211217
</>
212218
);

client/src/app/pages/applications/analysis-wizard/schema.ts

+2
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ const useCustomRulesStepSchema = (): yup.SchemaOf<CustomRulesStepValues> => {
157157
export interface OptionsStepValues {
158158
excludedRulesTags: string[];
159159
autoTaggingEnabled: boolean;
160+
advancedAnalysisEnabled: boolean;
160161
selectedSourceLabels: TargetLabel[];
161162
}
162163

@@ -165,6 +166,7 @@ const useOptionsStepSchema = (): yup.SchemaOf<OptionsStepValues> => {
165166
return yup.object({
166167
excludedRulesTags: yup.array().of(yup.string().defined()),
167168
autoTaggingEnabled: yup.bool().defined(),
169+
advancedAnalysisEnabled: yup.bool().defined(),
168170
selectedSourceLabels: yup.array().of(
169171
yup.object().shape({
170172
name: yup.string().defined(),

client/src/app/pages/applications/analysis-wizard/set-options.tsx

+34-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
import * as React from "react";
22
import {
33
Checkbox,
4+
Flex,
5+
FlexItem,
46
Form,
57
Text,
68
TextContent,
79
Title,
10+
Tooltip,
811
} from "@patternfly/react-core";
912
import {
1013
SelectVariant,
@@ -25,14 +28,20 @@ import { getParsedLabel } from "@app/utils/rules-utils";
2528
import { DEFAULT_SELECT_MAX_HEIGHT } from "@app/Constants";
2629
import { useFetchTargets } from "@app/queries/targets";
2730
import defaultSources from "./sources";
31+
import { QuestionCircleIcon } from "@patternfly/react-icons";
2832

2933
export const SetOptions: React.FC = () => {
3034
const { t } = useTranslation();
3135

3236
const { watch, control, setValue } =
3337
useFormContext<AnalysisWizardFormValues>();
3438

35-
const { formLabels, excludedRulesTags, autoTaggingEnabled } = watch();
39+
const {
40+
formLabels,
41+
excludedRulesTags,
42+
autoTaggingEnabled,
43+
advancedAnalysisEnabled,
44+
} = watch();
3645

3746
const [isSelectTargetsOpen, setSelectTargetsOpen] = React.useState(false);
3847
const [isSelectSourcesOpen, setSelectSourcesOpen] = React.useState(false);
@@ -254,6 +263,30 @@ export const SetOptions: React.FC = () => {
254263
id="enable-auto-tagging-checkbox"
255264
name="autoTaggingEnabled"
256265
/>
266+
<Flex>
267+
<FlexItem>
268+
<Checkbox
269+
className={spacing.mtMd}
270+
label={t("wizard.composed.enable", {
271+
what: t("wizard.terms.advancedAnalysisDetails").toLowerCase(),
272+
})}
273+
isChecked={advancedAnalysisEnabled}
274+
onChange={() =>
275+
setValue("advancedAnalysisEnabled", !advancedAnalysisEnabled)
276+
}
277+
id="enable-advanced-analysis-details-checkbox"
278+
name="advancedAnalysisDetailsEnabled"
279+
/>
280+
</FlexItem>
281+
<FlexItem>
282+
<Tooltip
283+
position="right"
284+
content={t("wizard.tooltip.advancedAnalysisDetails")}
285+
>
286+
<QuestionCircleIcon className={spacing.mlSm} />
287+
</Tooltip>
288+
</FlexItem>
289+
</Flex>
257290
</Form>
258291
);
259292
};

0 commit comments

Comments
 (0)