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. + +
+
+
+
+  Inspections +
+

This action is offered as quickfix to the following inspections:

+ +
+
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
+
+
+
+
+  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); }); }