diff --git a/rubberduckvba.client/src/app/components/feature-item-box/quickfix-item-box/quickfix-item-box.component.html b/rubberduckvba.client/src/app/components/feature-item-box/quickfix-item-box/quickfix-item-box.component.html
index 9107e33..8d75ebe 100644
--- a/rubberduckvba.client/src/app/components/feature-item-box/quickfix-item-box/quickfix-item-box.component.html
+++ b/rubberduckvba.client/src/app/components/feature-item-box/quickfix-item-box/quickfix-item-box.component.html
@@ -85,6 +85,26 @@
Remarks
This action can be applied simultaneously for all inspection results.
+
+
+
0">
+
+
+ Inspections
+
+
This action is offered as quickfix to the following inspections:
+
+
+
0" class="row my-3">
diff --git a/rubberduckvba.client/src/app/components/feature-item-box/quickfix-item-box/quickfix-item-box.component.ts b/rubberduckvba.client/src/app/components/feature-item-box/quickfix-item-box/quickfix-item-box.component.ts
index 2e0386a..79e9f39 100644
--- a/rubberduckvba.client/src/app/components/feature-item-box/quickfix-item-box/quickfix-item-box.component.ts
+++ b/rubberduckvba.client/src/app/components/feature-item-box/quickfix-item-box/quickfix-item-box.component.ts
@@ -3,7 +3,7 @@ import { FaIconLibrary } from "@fortawesome/angular-fontawesome";
import { fas } from "@fortawesome/free-solid-svg-icons";
import { NgbModal } from "@ng-bootstrap/ng-bootstrap";
import { BehaviorSubject } from "rxjs";
-import { XmlDocItemViewModel, QuickFixViewModel } from "../../../model/feature.model";
+import { XmlDocItemViewModel, QuickFixViewModel, QuickFixViewModelClass } from "../../../model/feature.model";
@Component({
selector: 'quickfix-item-box',
@@ -12,7 +12,7 @@ import { XmlDocItemViewModel, QuickFixViewModel } from "../../../model/feature.m
export class QuickFixItemBoxComponent implements OnInit, OnChanges {
private readonly _info: BehaviorSubject
= new BehaviorSubject(null!);
- private readonly _quickFixInfo: BehaviorSubject = new BehaviorSubject(null!);
+ private readonly _quickFixInfo: BehaviorSubject = new BehaviorSubject(null!);
@ViewChild('quickFixDetails', { read: TemplateRef }) QuickFixDetails: TemplateRef | undefined;
@@ -34,7 +34,7 @@ export class QuickFixItemBoxComponent implements OnInit, OnChanges {
if (value != null) {
this._info.next(value);
- this._quickFixInfo.next(value as QuickFixViewModel);
+ this._quickFixInfo.next(value as QuickFixViewModelClass);
}
}
@@ -47,7 +47,7 @@ export class QuickFixItemBoxComponent implements OnInit, OnChanges {
this.modal.open(this.QuickFixDetails);
}
- public get quickFixInfo(): QuickFixViewModel {
+ public get quickFixInfo(): QuickFixViewModelClass {
return this._quickFixInfo.value;
}
}
diff --git a/rubberduckvba.client/src/app/model/feature.model.ts b/rubberduckvba.client/src/app/model/feature.model.ts
index 302a308..e8d4ea7 100644
--- a/rubberduckvba.client/src/app/model/feature.model.ts
+++ b/rubberduckvba.client/src/app/model/feature.model.ts
@@ -130,6 +130,31 @@ export interface AnnotationsFeatureViewModel extends SubFeatureViewModel {
export type XmlDocOrFeatureViewModel = SubFeatureViewModel | InspectionsFeatureViewModel | QuickFixesFeatureViewModel | AnnotationsFeatureViewModel;
+export interface QuickFixInspectionLinkViewModel {
+ name: string;
+ summary: string;
+ inspectionType: string;
+ defaultSeverity: string;
+}
+
+export class QuickFixInspectionLinkViewModelClass implements QuickFixInspectionLinkViewModel {
+ name: string;
+ summary: string;
+ inspectionType: string;
+ defaultSeverity: string;
+
+ constructor(model: QuickFixInspectionLinkViewModel) {
+ this.name = model.name;
+ this.summary = model.summary;
+ this.inspectionType = model.inspectionType;
+ this.defaultSeverity = model.defaultSeverity;
+ }
+
+ public get getSeverityIconClass(): string {
+ return `icon icon-severity-${this.defaultSeverity.toLowerCase()}`;
+ }
+}
+
export interface QuickFixViewModel extends XmlDocViewModel {
summary: string;
remarks?: string;
@@ -139,7 +164,7 @@ export interface QuickFixViewModel extends XmlDocViewModel {
canFixProject: boolean;
canFixAll: boolean;
- inspections: string[];
+ inspections: QuickFixInspectionLinkViewModel[];
examples: QuickFixExample[];
getGitHubViewLink(): string;
@@ -301,7 +326,7 @@ export class QuickFixViewModelClass extends SubFeatureViewModelClass implements
canFixModule: boolean;
canFixProject: boolean;
canFixAll: boolean;
- inspections: string[];
+ inspections: QuickFixInspectionLinkViewModelClass[];
examples: QuickFixExample[];
tagAssetId: number;
tagName: string;
@@ -323,7 +348,7 @@ export class QuickFixViewModelClass extends SubFeatureViewModelClass implements
this.remarks = model.remarks;
this.examples = model.examples;
- this.inspections = model.inspections;
+ this.inspections = model.inspections.map(e => new QuickFixInspectionLinkViewModelClass(e));
this.tagAssetId = model.tagAssetId;
this.tagName = model.tagName;
diff --git a/rubberduckvba.client/src/app/routes/quickfixes/quickfix.component.html b/rubberduckvba.client/src/app/routes/quickfixes/quickfix.component.html
index 20d9493..34b2038 100644
--- a/rubberduckvba.client/src/app/routes/quickfixes/quickfix.component.html
+++ b/rubberduckvba.client/src/app/routes/quickfixes/quickfix.component.html
@@ -16,6 +16,26 @@ Remarks
+
+
0">
+
+
+ Inspections
+
+
This action is offered as quickfix to the following inspections:
+
+
+
+
diff --git a/rubberduckvba.client/src/app/routes/quickfixes/quickfix.component.ts b/rubberduckvba.client/src/app/routes/quickfixes/quickfix.component.ts
index d9fda7f..4239302 100644
--- a/rubberduckvba.client/src/app/routes/quickfixes/quickfix.component.ts
+++ b/rubberduckvba.client/src/app/routes/quickfixes/quickfix.component.ts
@@ -3,7 +3,7 @@ import { ActivatedRoute } from "@angular/router";
import { FaIconLibrary } from "@fortawesome/angular-fontawesome";
import { fas } from "@fortawesome/free-solid-svg-icons";
import { BehaviorSubject, switchMap } from "rxjs";
-import { QuickFixViewModel } from "../../model/feature.model";
+import { QuickFixViewModel, QuickFixViewModelClass } from "../../model/feature.model";
import { ApiClientService } from "../../services/api-client.service";
@Component({
@@ -12,12 +12,12 @@ import { ApiClientService } from "../../services/api-client.service";
})
export class QuickFixComponent implements OnInit {
- private readonly _info: BehaviorSubject = new BehaviorSubject(null!);
+ private readonly _info: BehaviorSubject = new BehaviorSubject(null!);
- public set info(value: QuickFixViewModel) {
+ public set info(value: QuickFixViewModelClass) {
this._info.next(value);
}
- public get info(): QuickFixViewModel {
+ public get info(): QuickFixViewModelClass {
return this._info.getValue();
}
@@ -31,7 +31,7 @@ export class QuickFixComponent implements OnInit {
const name = params.get('name')!;
return this.api.getQuickFix(name);
})).subscribe(e => {
- this.info = e;
+ this.info = e;
console.log(this.info);
});
}