mirror of https://github.com/Ombi-app/Ombi
Also added the GroupMe Api project so we can later add this as another notification agentpull/3895/head
parent
8de5057fd3
commit
189cfcaf05
@ -0,0 +1,11 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>netstandard2.0</TargetFramework>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\Ombi.Api\Ombi.Api.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
@ -0,0 +1,20 @@
|
|||||||
|
import { AuthGuard } from "../../auth/auth.guard";
|
||||||
|
import { IssuesListComponent } from "./issues-list/issues-list.component";
|
||||||
|
import { Routes } from "@angular/router";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
export const components: any[] = [
|
||||||
|
IssuesListComponent,
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
export const entryComponents: any[] = [
|
||||||
|
];
|
||||||
|
|
||||||
|
export const providers: any[] = [
|
||||||
|
];
|
||||||
|
|
||||||
|
export const routes: Routes = [
|
||||||
|
{ path: "", component: IssuesListComponent, canActivate: [AuthGuard] },
|
||||||
|
];
|
@ -0,0 +1,28 @@
|
|||||||
|
<table mat-table
|
||||||
|
[dataSource]="pendingIssues" multiTemplateDataRows
|
||||||
|
class="mat-elevation-z8">
|
||||||
|
<ng-container matColumnDef="{{column}}" *ngFor="let column of columnsToDisplay">
|
||||||
|
<th mat-header-cell *matHeaderCellDef> {{column}} </th>
|
||||||
|
<td mat-cell *matCellDef="let element"> {{element[column]}} </td>
|
||||||
|
</ng-container>
|
||||||
|
|
||||||
|
<!-- Expanded Content Column - The detail row is made up of this one column that spans across all columns -->
|
||||||
|
<ng-container matColumnDef="expandedDetail">
|
||||||
|
<td mat-cell *matCellDef="let element" [attr.colspan]="columnsToDisplay.length">
|
||||||
|
<div class="example-element-detail"
|
||||||
|
[@detailExpand]="element == expandedElement ? 'expanded' : 'collapsed'">
|
||||||
|
<div class="example-element-diagram">
|
||||||
|
<div class="example-element-position"> {{element.requestId}} </div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</ng-container>
|
||||||
|
|
||||||
|
<tr mat-header-row *matHeaderRowDef="columnsToDisplay"></tr>
|
||||||
|
<tr mat-row *matRowDef="let element; columns: columnsToDisplay;"
|
||||||
|
class="example-element-row"
|
||||||
|
[class.example-expanded-row]="expandedElement === element"
|
||||||
|
(click)="expandedElement = expandedElement === element ? null : element">
|
||||||
|
</tr>
|
||||||
|
<tr mat-row *matRowDef="let row; columns: ['expandedDetail']" class="example-detail-row"></tr>
|
||||||
|
</table>
|
@ -0,0 +1,67 @@
|
|||||||
|
import { Component, OnInit } from "@angular/core";
|
||||||
|
|
||||||
|
import { IssuesService } from "../../../services";
|
||||||
|
|
||||||
|
import { IIssueCount, IIssues, IPagenator, IssueStatus } from "../../../interfaces";
|
||||||
|
import { COLUMNS } from "./issues-list.constants";
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
templateUrl: "issues-list.component.html",
|
||||||
|
})
|
||||||
|
export class IssuesListComponent implements OnInit {
|
||||||
|
|
||||||
|
public columnsToDisplay = COLUMNS
|
||||||
|
|
||||||
|
public pendingIssues: IIssues[];
|
||||||
|
public inProgressIssues: IIssues[];
|
||||||
|
public resolvedIssues: IIssues[];
|
||||||
|
|
||||||
|
public count: IIssueCount;
|
||||||
|
|
||||||
|
private takeAmount = 10;
|
||||||
|
private pendingSkip = 0;
|
||||||
|
private inProgressSkip = 0;
|
||||||
|
private resolvedSkip = 0;
|
||||||
|
|
||||||
|
constructor(private issueService: IssuesService) { }
|
||||||
|
|
||||||
|
public ngOnInit() {
|
||||||
|
this.getPending();
|
||||||
|
this.getInProg();
|
||||||
|
this.getResolved();
|
||||||
|
this.issueService.getIssuesCount().subscribe(x => this.count = x);
|
||||||
|
}
|
||||||
|
|
||||||
|
public changePagePending(event: IPagenator) {
|
||||||
|
this.pendingSkip = event.first;
|
||||||
|
this.getPending();
|
||||||
|
}
|
||||||
|
|
||||||
|
public changePageInProg(event: IPagenator) {
|
||||||
|
this.inProgressSkip = event.first;
|
||||||
|
this.getInProg();
|
||||||
|
}
|
||||||
|
|
||||||
|
public changePageResolved(event: IPagenator) {
|
||||||
|
this.resolvedSkip = event.first;
|
||||||
|
this.getResolved();
|
||||||
|
}
|
||||||
|
|
||||||
|
private getPending() {
|
||||||
|
this.issueService.getIssuesPage(this.takeAmount, this.pendingSkip, IssueStatus.Pending).subscribe(x => {
|
||||||
|
this.pendingIssues = x;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private getInProg() {
|
||||||
|
this.issueService.getIssuesPage(this.takeAmount, this.inProgressSkip, IssueStatus.InProgress).subscribe(x => {
|
||||||
|
this.inProgressIssues = x;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private getResolved() {
|
||||||
|
this.issueService.getIssuesPage(this.takeAmount, this.resolvedSkip, IssueStatus.Resolved).subscribe(x => {
|
||||||
|
this.resolvedIssues = x;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,3 @@
|
|||||||
|
export const COLUMNS = [
|
||||||
|
"title"
|
||||||
|
]
|
Loading…
Reference in new issue