...
 
Commits (2)
<div class="mdl-tabs__tab-bar">
<a [routerLink]="['/admin/boosts/newsfeed']" class="mdl-tabs__tab" [ngClass]="{'is-active': type == 'newsfeed'}" i18n="@@MINDS__ADMIN__BOOSTS__NEWSFEED_TAB">Newsfeed ({{newsfeed_count}})</a>
<a [routerLink]="['/admin/boosts/content']" class="mdl-tabs__tab" [ngClass]="{'is-active': type == 'content'}" i18n="@@MINDS__ADMIN__BOOSTS__CONTENT_TAB">Content ({{content_count}})</a>
<a [routerLink]="['/admin/boosts/newsfeed']" class="mdl-tabs__tab" [ngClass]="{'is-active': type == 'newsfeed'}" i18n="@@MINDS__ADMIN__BOOSTS__NEWSFEED_TAB">Newsfeed ({{newsfeed_count}})</a>
<a [routerLink]="['/admin/boosts/content']" class="mdl-tabs__tab" [ngClass]="{'is-active': type == 'content'}" i18n="@@MINDS__ADMIN__BOOSTS__CONTENT_TAB">Content ({{content_count}})</a>
</div>
<div class="mdl-grid mdl-card mdl-shadow--4dp m-admin-boosts-statistics"
......@@ -98,7 +98,8 @@
</div>
</div>
<m--rejection-reason-modal #reasonModal
<m--rejection-reason-modal
#reasonModal
*ngIf="reasonModalOpened"
[boost]="selectedBoost"
[closeAfterAction]="true"
......
......@@ -11,6 +11,8 @@ import { MaterialSliderMock } from '../../../../tests/material-slider.mock.spec'
import { CommonModule as NgCommonModule } from '@angular/common';
import { RouterTestingModule } from '@angular/router/testing';
import { TokenPipe } from '../../../common/pipes/token.pipe';
import { OverlayModalService } from "../../../services/ux/overlay-modal";
import { overlayModalServiceMock } from "../../../../tests/overlay-modal-service-mock.spec";
@Component({
selector: 'minds-card-video',
......@@ -124,7 +126,8 @@ describe('AdminBoosts', () => {
FormsModule
],
providers: [
{ provide: Client, useValue: clientMock }
{ provide: Client, useValue: clientMock },
{ provide: OverlayModalService, useValue: overlayModalServiceMock }
]
})
.compileComponents(); // compile template and css
......
......@@ -6,6 +6,8 @@ import { Subscription } from 'rxjs';
import { Client } from '../../../services/api';
import { RejectionReasonModalComponent } from './modal/rejection-reason-modal.component';
import { Reason, rejectionReasons } from './rejection-reasons';
import { ReportCreatorComponent } from "../../../modules/report/creator/creator.component";
import { OverlayModalService } from "../../../services/ux/overlay-modal";
@Component({
moduleId: module.id,
......@@ -36,7 +38,11 @@ export class AdminBoosts {
@ViewChild('reasonModal', { static: false }) modal: RejectionReasonModalComponent;
constructor(public client: Client, private route: ActivatedRoute) {
constructor(
public client: Client,
private overlayModal: OverlayModalService,
private route: ActivatedRoute,
) {
}
ngOnInit() {
......@@ -125,6 +131,8 @@ export class AdminBoosts {
this.reasonModalOpened = false;
this.report(this.selectedBoost);
this.client.post('api/v1/admin/boosts/' + this.type + '/' + boost.guid + '/reject', { reason: boost.rejection_reason });
this.pop(boost);
}
......@@ -146,6 +154,15 @@ export class AdminBoosts {
this.reject(boost);
}
report(boost: any = null) {
if (!boost) {
boost = this.boosts[0];
}
this.overlayModal.create(ReportCreatorComponent, boost.entity)
.present();
}
/**
* Remove an entity from the list
*/
......@@ -171,7 +188,7 @@ export class AdminBoosts {
// numbers
switch(e.key.toLowerCase()) {
switch (e.key.toLowerCase()) {
case '1':
case '2':
case '3':
......