mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-08-20 21:33:15 -07:00
Working UI for Requests. Approval/Deny does not work as it doesn't in your code either.
This commit is contained in:
parent
4e138b948e
commit
9196158a76
4 changed files with 55 additions and 5 deletions
5
global.json
Normal file
5
global.json
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
"sdk": {
|
||||||
|
"version": "1.0.0-preview2-003121"
|
||||||
|
}
|
||||||
|
}
|
|
@ -10,7 +10,6 @@
|
||||||
[infiniteScrollThrottle]="100"
|
[infiniteScrollThrottle]="100"
|
||||||
(scrolled)="loadMore()">
|
(scrolled)="loadMore()">
|
||||||
<!--<div>-->
|
<!--<div>-->
|
||||||
|
|
||||||
<p-treeTable [value]="tvRequests">
|
<p-treeTable [value]="tvRequests">
|
||||||
<!--<p-column>
|
<!--<p-column>
|
||||||
<ng-template let-col let-node="rowData" pTemplate="body">
|
<ng-template let-col let-node="rowData" pTemplate="body">
|
||||||
|
@ -59,7 +58,8 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-3 col-sm-push-3">
|
<div class="col-sm-3 col-sm-push-3">
|
||||||
|
|
||||||
<button [routerLink]="[node.data.id]" style="text-align: right" class="btn btn-sm btn-success-outline" type="submit"><i class="fa fa-plus"></i> View</button>
|
<button style="text-align: right" class="btn btn-sm btn-success-outline" (click)="openClosestTab($event)"><i class="fa fa-plus"></i> View</button>
|
||||||
|
<!--<button [routerLink]="[node.data.id]" style="text-align: right" class="btn btn-sm btn-success-outline" type="submit"><i class="fa fa-plus"></i> View</button>-->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
14
src/Ombi/ClientApp/app/requests/tvrequests.component.scss
Normal file
14
src/Ombi/ClientApp/app/requests/tvrequests.component.scss
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
table.ui-widget-content {
|
||||||
|
border: 1px solid #1f1f1f !important;
|
||||||
|
background: #1f1f1f !important;
|
||||||
|
}
|
||||||
|
.ui-widget-content {
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
.ui-state-default.ui-unselectable-text{
|
||||||
|
display:none;
|
||||||
|
}
|
||||||
|
.ui-treetable-toggler.fa.fa-fw.ui-c.fa-caret-right,
|
||||||
|
.ui-treetable-toggler.fa.fa-fw.ui-c.fa-caret-down {
|
||||||
|
display: none;
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
import { Component, OnInit, OnDestroy } from '@angular/core';
|
import { Component, OnInit, OnDestroy, ViewEncapsulation } from '@angular/core';
|
||||||
import { Subject } from 'rxjs/Subject';
|
import { Subject } from 'rxjs/Subject';
|
||||||
import 'rxjs/add/operator/debounceTime';
|
import 'rxjs/add/operator/debounceTime';
|
||||||
import 'rxjs/add/operator/distinctUntilChanged';
|
import 'rxjs/add/operator/distinctUntilChanged';
|
||||||
|
@ -13,11 +13,16 @@ import { RequestService } from '../services/request.service';
|
||||||
import { IdentityService } from '../services/identity.service';
|
import { IdentityService } from '../services/identity.service';
|
||||||
|
|
||||||
import { ITvRequests, IChildRequests, INewSeasonRequests, IEpisodesRequests } from '../interfaces/IRequestModel';
|
import { ITvRequests, IChildRequests, INewSeasonRequests, IEpisodesRequests } from '../interfaces/IRequestModel';
|
||||||
import { /*TreeTableModule,*/ TreeNode, /*SharedModule*/ } from "primeng/primeng";
|
import { TreeNode, } from "primeng/primeng";
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'tv-requests',
|
selector: 'tv-requests',
|
||||||
templateUrl: './tvrequests.component.html'
|
templateUrl: './tvrequests.component.html',
|
||||||
|
styleUrls: ['./tvrequests.component.scss'],
|
||||||
|
//Was required to turn off encapsulation since CSS only should be overridden for this component
|
||||||
|
//However when encapsulation is on angular injects prefixes to all classes so css selectors
|
||||||
|
//Stop working
|
||||||
|
encapsulation: ViewEncapsulation.None
|
||||||
})
|
})
|
||||||
export class TvRequestsComponent implements OnInit, OnDestroy {
|
export class TvRequestsComponent implements OnInit, OnDestroy {
|
||||||
constructor(private requestService: RequestService, private identityService: IdentityService) {
|
constructor(private requestService: RequestService, private identityService: IdentityService) {
|
||||||
|
@ -36,7 +41,33 @@ export class TvRequestsComponent implements OnInit, OnDestroy {
|
||||||
.subscribe(m => this.tvRequests = this.transformData(m));
|
.subscribe(m => this.tvRequests = this.transformData(m));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
openClosestTab(el:any): void {
|
||||||
|
var rowclass = "undefined";
|
||||||
|
el = el.toElement;
|
||||||
|
while (el.className != rowclass) {
|
||||||
|
// Increment the loop to the parent node until we find the row we need
|
||||||
|
el = el.parentNode;
|
||||||
|
if (!el) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// At this point, the while loop has stopped and `el` represents the element that has
|
||||||
|
// the class you specified
|
||||||
|
|
||||||
|
// Then we loop through the children to find the caret which we want to click
|
||||||
|
var caretright = "ui-treetable-toggler fa fa-fw ui-c fa-caret-right";
|
||||||
|
var caretdown = "ui-treetable-toggler fa fa-fw ui-c fa-caret-down";
|
||||||
|
for (var value of el.children) {
|
||||||
|
// the caret from the ui has 2 class selectors depending on if expanded or not
|
||||||
|
// we search for both since we want to still toggle the clicking
|
||||||
|
if (value.className === caretright || value.className === caretdown )
|
||||||
|
{
|
||||||
|
// Then we tell JS to click the element even though we hid it from the UI
|
||||||
|
value.click();
|
||||||
|
//Break from loop since we no longer need to continue looking
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
transformData(datain: ITvRequests[]): any {
|
transformData(datain: ITvRequests[]): any {
|
||||||
var temp: TreeNode[] = [];
|
var temp: TreeNode[] = [];
|
||||||
datain.forEach(function (value) {
|
datain.forEach(function (value) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue