view-affiliate.component.ts 5.05 KB
import { Component, ViewChild, TemplateRef, Inject } from '@angular/core';
import { MatDialogConfig, MatDialog, MatDialogRef } from '@angular/material';
import { DOCUMENT } from '@angular/platform-browser';
import { DeleteDialogComponent } from '../delete-dialog/delete-dialog.component';
import { EditDialogComponent } from '../edit-dialog/edit-dialog.component';
import { AddAffiliateDialogComponent } from '../add-affiliate-dialog/add-affiliate-dialog.component';

const defaultDialogConfig = new MatDialogConfig();

@Component({
  templateUrl: './view-affiliate.component.html',
  styleUrls: ['./view-affiliate.component.scss']
})
export class ViewAffiliateComponent {
  affDataSource = AFFILIATE_DATA;

  dialogRef: MatDialogRef<any> | null;
  lastAfterClosedResult: string;
  lastBeforeCloseResult: string;
  actionsAlignment: string;
  
  addAffiliateConfig = {
    disableClose: true,
    panelClass: 'custom-overlay-pane-class',
    hasBackdrop: true,
    backdropClass: '',
    width: '800px',
    height: '500px',
    position: {
      top: '',
      bottom: '',
      left: '',
      right: ''
    },
  };
  config = {
    disableClose: true,
    panelClass: 'custom-overlay-pane-class',
    hasBackdrop: true,
    backdropClass: '',
    width: '',
    height: '',
    minWidth: '',
    minHeight: '',
    maxWidth: defaultDialogConfig.maxWidth,
    maxHeight: '',
    position: {
      top: '',
      bottom: '',
      left: '',
      right: ''
    },
  };
  deleteDialogconfig = {
    disableClose: true,
    panelClass: 'custom-overlay-pane-class',
    maxWidth: defaultDialogConfig.maxWidth,
    maxHeight: '',
    position: {
      top: '', bottom: '', left: '', right: ''
    },
  };

  @ViewChild(TemplateRef) template: TemplateRef<any>;

  constructor(public dialog: MatDialog, @Inject(DOCUMENT) doc: any) {
    dialog.afterOpen.subscribe(() => {
      if (!doc.body.classList.contains('no-scroll')) {
        doc.body.classList.add('no-scroll');
      }
    });
    dialog.afterAllClosed.subscribe(() => {
      doc.body.classList.remove('no-scroll');
    });
  }
  addAffiliateDialog() {
    this.dialogRef = this.dialog.open(AddAffiliateDialogComponent, this.addAffiliateConfig);
    this.dialogRef.beforeClose().subscribe((result: string) => {
      this.lastBeforeCloseResult = result;
    });
    this.dialogRef.afterClosed().subscribe((result: string) => {
      this.lastAfterClosedResult = result;
      this.dialogRef = null;
    });
  }
  openEditDialog() {
    this.dialogRef = this.dialog.open(EditDialogComponent, this.config);
    this.dialogRef.beforeClose().subscribe((result: string) => {
      this.lastBeforeCloseResult = result;
    });
    this.dialogRef.afterClosed().subscribe((result: string) => {
      this.lastAfterClosedResult = result;
      this.dialogRef = null;
    });
  }
  openDeleteDialog() {
    this.dialogRef = this.dialog.open(DeleteDialogComponent, this.deleteDialogconfig);
    this.dialogRef.beforeClose().subscribe((result: string) => {
      this.lastBeforeCloseResult = result;
    });
    this.dialogRef.afterClosed().subscribe((result: string) => {
      this.lastAfterClosedResult = result;
      this.dialogRef = null;
    });
  }


}
export interface AffiliateDataElement {
  userName: string;
  wallet: number;
  rate: number;
  affilateLevel: number;
  createTime: string
  updateTime: string
  lastLoginTime: string
  lastLoginIp: string
  registerIP: string;
  withdrawStatus: number;
  withdrawReview: number;
  status: number
}
const AFFILIATE_DATA: AffiliateDataElement[] = [
  {
    userName: "test",
    wallet: 10,
    rate: 50,
    affilateLevel: 1,
    createTime: "13-12-1992 00:00:0000",
    updateTime: "13-12-1992 00:00:0000",
    lastLoginTime: "13-12-1992 00:00:0000",
    lastLoginIp: "0.0.0.0",
    registerIP: "0.0.0.0",
    withdrawStatus: 1,
    withdrawReview: 1,
    status: 1,
  }, {
    userName: "test",
    wallet: 10,
    rate: 50,
    affilateLevel: 1,
    createTime: "13-12-1992 00:00:0000",
    updateTime: "13-12-1992 00:00:0000",
    lastLoginTime: "13-12-1992 00:00:0000",
    lastLoginIp: "0.0.0.0",
    registerIP: "0.0.0.0",
    withdrawStatus: 1,
    withdrawReview: 1,
    status: 1,
  }, {
    userName: "test",
    wallet: 10,
    rate: 50,
    affilateLevel: 1,
    createTime: "13-12-1992 00:00:0000",
    updateTime: "13-12-1992 00:00:0000",
    lastLoginTime: "13-12-1992 00:00:0000",
    lastLoginIp: "0.0.0.0",
    registerIP: "0.0.0.0",
    withdrawStatus: 1,
    withdrawReview: 1,
    status: 1,
  }, {
    userName: "test",
    wallet: 10,
    rate: 50,
    affilateLevel: 1,
    createTime: "13-12-1992 00:00:0000",
    updateTime: "13-12-1992 00:00:0000",
    lastLoginTime: "13-12-1992 00:00:0000",
    lastLoginIp: "0.0.0.0",
    registerIP: "0.0.0.0",
    withdrawStatus: 1,
    withdrawReview: 1,
    status: 1,
  }, {
    userName: "test",
    wallet: 10,
    rate: 50,
    affilateLevel: 1,
    createTime: "13-12-1992 00:00:0000",
    updateTime: "13-12-1992 00:00:0000",
    lastLoginTime: "13-12-1992 00:00:0000",
    lastLoginIp: "0.0.0.0",
    registerIP: "0.0.0.0",
    withdrawStatus: 1,
    withdrawReview: 1,
    status: 1,
  },
];