Merge branch 'feature/BETERAN-BACKEND-APP-BROWSER-init' of https://gitlab.loafle.net/bet/beteran-backend-app-browser into feature/BETERAN-BACKEND-APP-BROWSER-init
This commit is contained in:
commit
11e33e97b7
|
@ -0,0 +1,19 @@
|
|||
<div class="flex flex-col flex-auto min-w-0">
|
||||
<div class="flex-auto border-t -mt-px pt-4 sm:pt-6">
|
||||
<div class="w-full max-w-screen-xl mx-auto">
|
||||
<div class="grid grid-cols-1 sm:grid-cols-6 gap-6 w-full min-w-0">
|
||||
<!-- Budget distribution -->
|
||||
<div
|
||||
class="sm:col-span-6 flex flex-col flex-auto p-6 bg-card shadow rounded-2xl overflow-hidden"
|
||||
>
|
||||
<div class="text-lg font-medium tracking-tight leading-6 truncate">
|
||||
검색
|
||||
</div>
|
||||
<div class="flex flex-col flex-auto mt-2 overflow-x-auto">
|
||||
입금정보 테이블
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,106 @@
|
|||
import {
|
||||
AfterViewInit,
|
||||
ChangeDetectionStrategy,
|
||||
ChangeDetectorRef,
|
||||
Component,
|
||||
OnDestroy,
|
||||
OnInit,
|
||||
ViewChild,
|
||||
ViewEncapsulation,
|
||||
} from '@angular/core';
|
||||
import { MatPaginator } from '@angular/material/paginator';
|
||||
import { fuseAnimations } from '@fuse/animations';
|
||||
import { Subject } from 'rxjs';
|
||||
|
||||
@Component({
|
||||
selector: 'deposit-history',
|
||||
templateUrl: './deposit-history.component.html',
|
||||
styles: [
|
||||
/* language=SCSS */
|
||||
`
|
||||
.deposit-history-grid {
|
||||
grid-template-columns: 60px auto 40px;
|
||||
|
||||
@screen sm {
|
||||
grid-template-columns: 100px auto 60px 60px;
|
||||
}
|
||||
|
||||
@screen md {
|
||||
grid-template-columns: 100px 100px auto 60px 60px;
|
||||
}
|
||||
|
||||
@screen lg {
|
||||
grid-template-columns: 100px 100px 100px 60px 60px;
|
||||
}
|
||||
}
|
||||
`,
|
||||
],
|
||||
encapsulation: ViewEncapsulation.None,
|
||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||
animations: fuseAnimations,
|
||||
})
|
||||
export class DepositHistoryComponent
|
||||
implements OnInit, AfterViewInit, OnDestroy
|
||||
{
|
||||
@ViewChild(MatPaginator) private _paginator!: MatPaginator;
|
||||
|
||||
private _unsubscribeAll: Subject<any> = new Subject<any>();
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
constructor(private _changeDetectorRef: ChangeDetectorRef) {}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
// @ Lifecycle hooks
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* On init
|
||||
*/
|
||||
ngOnInit(): void {}
|
||||
|
||||
/**
|
||||
* After view init
|
||||
*/
|
||||
ngAfterViewInit(): void {}
|
||||
|
||||
/**
|
||||
* On destroy
|
||||
*/
|
||||
ngOnDestroy(): void {
|
||||
// Unsubscribe from all subscriptions
|
||||
this._unsubscribeAll.next(null);
|
||||
this._unsubscribeAll.complete();
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
// @ Public methods
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
// @ Private methods
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Create product
|
||||
*/
|
||||
__createProduct(): void {}
|
||||
|
||||
/**
|
||||
* Toggle product details
|
||||
*
|
||||
* @param productId
|
||||
*/
|
||||
__toggleDetails(productId: string): void {}
|
||||
|
||||
/**
|
||||
* Track by function for ngFor loops
|
||||
*
|
||||
* @param index
|
||||
* @param item
|
||||
*/
|
||||
__trackByFn(index: number, item: any): any {
|
||||
return item.id || index;
|
||||
}
|
||||
}
|
|
@ -1,4 +1,15 @@
|
|||
import { DepositHistoryComponent } from './deposit-history.component';
|
||||
import { ListComponent } from './list.component';
|
||||
import { PartnerSignInHistoryComponent } from './partner-sign-in-history.component';
|
||||
import { ViewComponent } from './view.component';
|
||||
import { WebSignInHistoryComponent } from './web-sign-in-history.component';
|
||||
import { WithdrawHistoryComponent } from './withdraw-history.component';
|
||||
|
||||
export const COMPONENTS = [ListComponent, ViewComponent];
|
||||
export const COMPONENTS = [
|
||||
ListComponent,
|
||||
ViewComponent,
|
||||
DepositHistoryComponent,
|
||||
WithdrawHistoryComponent,
|
||||
WebSignInHistoryComponent,
|
||||
PartnerSignInHistoryComponent,
|
||||
];
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
<div class="flex flex-col flex-auto min-w-0">
|
||||
<div class="flex-auto border-t -mt-px pt-4 sm:pt-6">
|
||||
<div class="w-full max-w-screen-xl mx-auto">
|
||||
<div class="grid grid-cols-1 sm:grid-cols-6 gap-6 w-full min-w-0">
|
||||
<!-- Budget distribution -->
|
||||
<div
|
||||
class="sm:col-span-6 flex flex-col flex-auto p-6 bg-card shadow rounded-2xl overflow-hidden"
|
||||
>
|
||||
<div class="text-lg font-medium tracking-tight leading-6 truncate">
|
||||
검색
|
||||
</div>
|
||||
<div class="flex flex-col flex-auto mt-2 overflow-x-auto">
|
||||
파트너로그인내역 테이블
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,106 @@
|
|||
import {
|
||||
AfterViewInit,
|
||||
ChangeDetectionStrategy,
|
||||
ChangeDetectorRef,
|
||||
Component,
|
||||
OnDestroy,
|
||||
OnInit,
|
||||
ViewChild,
|
||||
ViewEncapsulation,
|
||||
} from '@angular/core';
|
||||
import { MatPaginator } from '@angular/material/paginator';
|
||||
import { fuseAnimations } from '@fuse/animations';
|
||||
import { Subject } from 'rxjs';
|
||||
|
||||
@Component({
|
||||
selector: 'partner-sign-in-history',
|
||||
templateUrl: './partner-sign-in-history.component.html',
|
||||
styles: [
|
||||
/* language=SCSS */
|
||||
`
|
||||
.partner-sign-in-history-grid {
|
||||
grid-template-columns: 60px auto 40px;
|
||||
|
||||
@screen sm {
|
||||
grid-template-columns: 100px auto 60px 60px;
|
||||
}
|
||||
|
||||
@screen md {
|
||||
grid-template-columns: 100px 100px auto 60px 60px;
|
||||
}
|
||||
|
||||
@screen lg {
|
||||
grid-template-columns: 100px 100px 100px 60px 60px;
|
||||
}
|
||||
}
|
||||
`,
|
||||
],
|
||||
encapsulation: ViewEncapsulation.None,
|
||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||
animations: fuseAnimations,
|
||||
})
|
||||
export class PartnerSignInHistoryComponent
|
||||
implements OnInit, AfterViewInit, OnDestroy
|
||||
{
|
||||
@ViewChild(MatPaginator) private _paginator!: MatPaginator;
|
||||
|
||||
private _unsubscribeAll: Subject<any> = new Subject<any>();
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
constructor(private _changeDetectorRef: ChangeDetectorRef) {}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
// @ Lifecycle hooks
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* On init
|
||||
*/
|
||||
ngOnInit(): void {}
|
||||
|
||||
/**
|
||||
* After view init
|
||||
*/
|
||||
ngAfterViewInit(): void {}
|
||||
|
||||
/**
|
||||
* On destroy
|
||||
*/
|
||||
ngOnDestroy(): void {
|
||||
// Unsubscribe from all subscriptions
|
||||
this._unsubscribeAll.next(null);
|
||||
this._unsubscribeAll.complete();
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
// @ Public methods
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
// @ Private methods
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Create product
|
||||
*/
|
||||
__createProduct(): void {}
|
||||
|
||||
/**
|
||||
* Toggle product details
|
||||
*
|
||||
* @param productId
|
||||
*/
|
||||
__toggleDetails(productId: string): void {}
|
||||
|
||||
/**
|
||||
* Track by function for ngFor loops
|
||||
*
|
||||
* @param index
|
||||
* @param item
|
||||
*/
|
||||
__trackByFn(index: number, item: any): any {
|
||||
return item.id || index;
|
||||
}
|
||||
}
|
|
@ -447,6 +447,7 @@
|
|||
type="text"
|
||||
matInput
|
||||
[formControlName]="'bacaraRate'"
|
||||
style="width: 40%"
|
||||
/>
|
||||
<div class="mt-1 text-md text-hint">
|
||||
%(최소 0 ~ 최대 0.2)
|
||||
|
@ -458,6 +459,7 @@
|
|||
type="text"
|
||||
matInput
|
||||
[formControlName]="'rulletRate'"
|
||||
style="width: 40%"
|
||||
/>
|
||||
<div class="mt-1 text-md text-hint">
|
||||
%(최소 0 ~ 최대 0.2)
|
||||
|
@ -469,6 +471,7 @@
|
|||
type="text"
|
||||
matInput
|
||||
[formControlName]="'dragonRate'"
|
||||
style="width: 40%"
|
||||
/>
|
||||
<div class="mt-1 text-md text-hint">
|
||||
%(최소 0 ~ 최대 0.2)
|
||||
|
@ -479,7 +482,12 @@
|
|||
<div class="flex">
|
||||
<mat-form-field class="w-1/3 pr-2">
|
||||
<mat-label>기타 게임 요율</mat-label>
|
||||
<input type="text" matInput [formControlName]="'etcRate'" />
|
||||
<input
|
||||
type="text"
|
||||
matInput
|
||||
[formControlName]="'etcRate'"
|
||||
style="width: 40%"
|
||||
/>
|
||||
<div class="mt-1 text-md text-hint">
|
||||
%(최소 0 ~ 최대 0.2)
|
||||
</div>
|
||||
|
@ -490,6 +498,7 @@
|
|||
type="text"
|
||||
matInput
|
||||
[formControlName]="'slotRate'"
|
||||
style="width: 40%"
|
||||
/>
|
||||
<div class="mt-1 text-md text-hint">
|
||||
%(최소 0 ~ 최대 0.2)
|
||||
|
@ -501,6 +510,7 @@
|
|||
type="text"
|
||||
matInput
|
||||
[formControlName]="'casinoRusingRate'"
|
||||
style="width: 40%"
|
||||
/>
|
||||
<div class="mt-1 text-md text-hint">
|
||||
%(최소 0 ~ 최대 0.2)
|
||||
|
@ -514,6 +524,7 @@
|
|||
type="text"
|
||||
matInput
|
||||
[formControlName]="'slotRusingRate'"
|
||||
style="width: 40%"
|
||||
/>
|
||||
<div class="mt-1 text-md text-hint">
|
||||
%(최소 0 ~ 최대 0.2)
|
||||
|
@ -593,8 +604,45 @@
|
|||
<ng-container *ngTemplateOutlet="commonButton"></ng-container>
|
||||
</ng-container>
|
||||
<!-- Notifications -->
|
||||
<ng-container *ngSwitchCase="'historyInfo'"
|
||||
><div>내역</div>
|
||||
<ng-container *ngSwitchCase="'historyInfo'">
|
||||
<div class="flex flex-col flex-auto min-w-0">
|
||||
<div class="flex-auto border-t -mt-px pt-4 sm:pt-6">
|
||||
<div class="w-full max-w-screen-xl mx-auto">
|
||||
<div
|
||||
class="grid grid-cols-1 sm:grid-cols-6 gap-6 w-full min-w-0"
|
||||
>
|
||||
<!-- Budget distribution -->
|
||||
<div
|
||||
class="sm:col-span-6 flex flex-col flex-auto p-6 bg-card shadow rounded-2xl overflow-hidden"
|
||||
>
|
||||
<mat-tab-group [animationDuration]="'0ms'">
|
||||
<mat-tab label="충전내역" class="bg-gray-200">
|
||||
<ng-template matTabContent>
|
||||
<deposit-history></deposit-history>
|
||||
</ng-template>
|
||||
</mat-tab>
|
||||
|
||||
<mat-tab label="환전내역">
|
||||
<ng-template matTabContent>
|
||||
<withdraw-history></withdraw-history>
|
||||
</ng-template>
|
||||
</mat-tab>
|
||||
<mat-tab label="웹로그인정보">
|
||||
<ng-template matTabContent>
|
||||
<web-sign-in-history></web-sign-in-history>
|
||||
</ng-template>
|
||||
</mat-tab>
|
||||
<mat-tab label="파트너로그인정보">
|
||||
<ng-template matTabContent>
|
||||
<partner-sign-in-history></partner-sign-in-history>
|
||||
</ng-template>
|
||||
</mat-tab>
|
||||
</mat-tab-group>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ng-container>
|
||||
</ng-container>
|
||||
</div>
|
||||
|
|
|
@ -62,6 +62,11 @@ import { MemberBankAccountService } from 'app/modules/polyglot/member_bank_accou
|
|||
import { ListBanksResponse } from 'app/modules/proto/c2se/bank_pb';
|
||||
import { ListMemberClassesResponse } from 'app/modules/proto/c2se/member_class_pb';
|
||||
import { ListSitesResponse } from 'app/modules/proto/c2se/site_pb';
|
||||
import {
|
||||
GetMemberSettlementSettingResponse,
|
||||
ListMemberSettlementSettingsResponse,
|
||||
} from 'app/modules/proto/c2se/member_settlement_setting_pb';
|
||||
import { MemberSettlementSetting } from 'app/modules/proto/models/member_settlement_setting_pb';
|
||||
|
||||
@Component({
|
||||
selector: 'user-view',
|
||||
|
@ -142,6 +147,8 @@ export class ViewComponent implements OnInit, AfterViewInit, OnDestroy {
|
|||
selectedPanel: string = 'accountInfo';
|
||||
|
||||
memberLevels!: MemberLevel[];
|
||||
memberSettlement!: MemberSettlementSetting;
|
||||
|
||||
banks!: Bank[];
|
||||
sites!: Site[];
|
||||
|
||||
|
@ -306,6 +313,15 @@ export class ViewComponent implements OnInit, AfterViewInit, OnDestroy {
|
|||
|
||||
let listSitesResult: ListSitesResponse.Result = data['listSites'];
|
||||
this.sites = listSitesResult.getSitesList();
|
||||
/*
|
||||
let memberSettlementResult: GetMemberSettlementSettingResponse.Result =
|
||||
data['memberSettlement'];
|
||||
const memberSettlement =
|
||||
memberSettlementResult.getMemberSettlementSetting();
|
||||
|
||||
if (!!memberSettlement) {
|
||||
this.memberSettlement = memberSettlement;
|
||||
} */
|
||||
|
||||
this.memberDefaultForm.patchValue({
|
||||
username: this.currentMember?.getUsername(),
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
<div class="flex flex-col flex-auto min-w-0">
|
||||
<div class="flex-auto border-t -mt-px pt-4 sm:pt-6">
|
||||
<div class="w-full max-w-screen-xl mx-auto">
|
||||
<div class="grid grid-cols-1 sm:grid-cols-6 gap-6 w-full min-w-0">
|
||||
<!-- Budget distribution -->
|
||||
<div
|
||||
class="sm:col-span-6 flex flex-col flex-auto p-6 bg-card shadow rounded-2xl overflow-hidden"
|
||||
>
|
||||
<div class="text-lg font-medium tracking-tight leading-6 truncate">
|
||||
검색
|
||||
</div>
|
||||
<div class="flex flex-col flex-auto mt-2 overflow-x-auto">
|
||||
웹로그인내역 테이블
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,106 @@
|
|||
import {
|
||||
AfterViewInit,
|
||||
ChangeDetectionStrategy,
|
||||
ChangeDetectorRef,
|
||||
Component,
|
||||
OnDestroy,
|
||||
OnInit,
|
||||
ViewChild,
|
||||
ViewEncapsulation,
|
||||
} from '@angular/core';
|
||||
import { MatPaginator } from '@angular/material/paginator';
|
||||
import { fuseAnimations } from '@fuse/animations';
|
||||
import { Subject } from 'rxjs';
|
||||
|
||||
@Component({
|
||||
selector: 'web-sign-in-history',
|
||||
templateUrl: './web-sign-in-history.component.html',
|
||||
styles: [
|
||||
/* language=SCSS */
|
||||
`
|
||||
.web-sign-in-history-grid {
|
||||
grid-template-columns: 60px auto 40px;
|
||||
|
||||
@screen sm {
|
||||
grid-template-columns: 100px auto 60px 60px;
|
||||
}
|
||||
|
||||
@screen md {
|
||||
grid-template-columns: 100px 100px auto 60px 60px;
|
||||
}
|
||||
|
||||
@screen lg {
|
||||
grid-template-columns: 100px 100px 100px 60px 60px;
|
||||
}
|
||||
}
|
||||
`,
|
||||
],
|
||||
encapsulation: ViewEncapsulation.None,
|
||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||
animations: fuseAnimations,
|
||||
})
|
||||
export class WebSignInHistoryComponent
|
||||
implements OnInit, AfterViewInit, OnDestroy
|
||||
{
|
||||
@ViewChild(MatPaginator) private _paginator!: MatPaginator;
|
||||
|
||||
private _unsubscribeAll: Subject<any> = new Subject<any>();
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
constructor(private _changeDetectorRef: ChangeDetectorRef) {}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
// @ Lifecycle hooks
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* On init
|
||||
*/
|
||||
ngOnInit(): void {}
|
||||
|
||||
/**
|
||||
* After view init
|
||||
*/
|
||||
ngAfterViewInit(): void {}
|
||||
|
||||
/**
|
||||
* On destroy
|
||||
*/
|
||||
ngOnDestroy(): void {
|
||||
// Unsubscribe from all subscriptions
|
||||
this._unsubscribeAll.next(null);
|
||||
this._unsubscribeAll.complete();
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
// @ Public methods
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
// @ Private methods
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Create product
|
||||
*/
|
||||
__createProduct(): void {}
|
||||
|
||||
/**
|
||||
* Toggle product details
|
||||
*
|
||||
* @param productId
|
||||
*/
|
||||
__toggleDetails(productId: string): void {}
|
||||
|
||||
/**
|
||||
* Track by function for ngFor loops
|
||||
*
|
||||
* @param index
|
||||
* @param item
|
||||
*/
|
||||
__trackByFn(index: number, item: any): any {
|
||||
return item.id || index;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
<div class="flex flex-col flex-auto min-w-0">
|
||||
<div class="flex-auto border-t -mt-px pt-4 sm:pt-6">
|
||||
<div class="w-full max-w-screen-xl mx-auto">
|
||||
<div class="grid grid-cols-1 sm:grid-cols-6 gap-6 w-full min-w-0">
|
||||
<!-- Budget distribution -->
|
||||
<div
|
||||
class="sm:col-span-6 flex flex-col flex-auto p-6 bg-card shadow rounded-2xl overflow-hidden"
|
||||
>
|
||||
<div class="text-lg font-medium tracking-tight leading-6 truncate">
|
||||
검색
|
||||
</div>
|
||||
<div class="flex flex-col flex-auto mt-2 overflow-x-auto">
|
||||
출금내역 테이블
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,106 @@
|
|||
import {
|
||||
AfterViewInit,
|
||||
ChangeDetectionStrategy,
|
||||
ChangeDetectorRef,
|
||||
Component,
|
||||
OnDestroy,
|
||||
OnInit,
|
||||
ViewChild,
|
||||
ViewEncapsulation,
|
||||
} from '@angular/core';
|
||||
import { MatPaginator } from '@angular/material/paginator';
|
||||
import { fuseAnimations } from '@fuse/animations';
|
||||
import { Subject } from 'rxjs';
|
||||
|
||||
@Component({
|
||||
selector: 'withdraw-history',
|
||||
templateUrl: './withdraw-history.component.html',
|
||||
styles: [
|
||||
/* language=SCSS */
|
||||
`
|
||||
.withdraw-history-grid {
|
||||
grid-template-columns: 60px auto 40px;
|
||||
|
||||
@screen sm {
|
||||
grid-template-columns: 100px auto 60px 60px;
|
||||
}
|
||||
|
||||
@screen md {
|
||||
grid-template-columns: 100px 100px auto 60px 60px;
|
||||
}
|
||||
|
||||
@screen lg {
|
||||
grid-template-columns: 100px 100px 100px 60px 60px;
|
||||
}
|
||||
}
|
||||
`,
|
||||
],
|
||||
encapsulation: ViewEncapsulation.None,
|
||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||
animations: fuseAnimations,
|
||||
})
|
||||
export class WithdrawHistoryComponent
|
||||
implements OnInit, AfterViewInit, OnDestroy
|
||||
{
|
||||
@ViewChild(MatPaginator) private _paginator!: MatPaginator;
|
||||
|
||||
private _unsubscribeAll: Subject<any> = new Subject<any>();
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
constructor(private _changeDetectorRef: ChangeDetectorRef) {}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
// @ Lifecycle hooks
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* On init
|
||||
*/
|
||||
ngOnInit(): void {}
|
||||
|
||||
/**
|
||||
* After view init
|
||||
*/
|
||||
ngAfterViewInit(): void {}
|
||||
|
||||
/**
|
||||
* On destroy
|
||||
*/
|
||||
ngOnDestroy(): void {
|
||||
// Unsubscribe from all subscriptions
|
||||
this._unsubscribeAll.next(null);
|
||||
this._unsubscribeAll.complete();
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
// @ Public methods
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
// @ Private methods
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Create product
|
||||
*/
|
||||
__createProduct(): void {}
|
||||
|
||||
/**
|
||||
* Toggle product details
|
||||
*
|
||||
* @param productId
|
||||
*/
|
||||
__toggleDetails(productId: string): void {}
|
||||
|
||||
/**
|
||||
* Track by function for ngFor loops
|
||||
*
|
||||
* @param index
|
||||
* @param item
|
||||
*/
|
||||
__trackByFn(index: number, item: any): any {
|
||||
return item.id || index;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,86 @@
|
|||
import { Injectable } from '@angular/core';
|
||||
import {
|
||||
ActivatedRouteSnapshot,
|
||||
Resolve,
|
||||
Router,
|
||||
RouterStateSnapshot,
|
||||
} from '@angular/router';
|
||||
import { MemberGameSettingService } from 'app/modules/polyglot/member_game_setting/services/member_game_setting.service';
|
||||
import {
|
||||
GetMemberGameSettingResponse,
|
||||
ListMemberGameSettingsResponse,
|
||||
} from 'app/modules/proto/c2se/member_game_setting_pb';
|
||||
|
||||
import { Observable } from 'rxjs';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root',
|
||||
})
|
||||
export class ListMemberGameResolver implements Resolve<any> {
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
constructor(
|
||||
private _router: Router,
|
||||
private __memberGameSettingService: MemberGameSettingService
|
||||
) {}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
// @ Public methods
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Resolver
|
||||
*
|
||||
* @param route
|
||||
* @param state
|
||||
*/
|
||||
|
||||
resolve(
|
||||
route: ActivatedRouteSnapshot,
|
||||
state: RouterStateSnapshot
|
||||
):
|
||||
| Observable<ListMemberGameSettingsResponse.Result>
|
||||
| Promise<ListMemberGameSettingsResponse.Result>
|
||||
| ListMemberGameSettingsResponse.Result {
|
||||
return this.__memberGameSettingService.listMemberGameSettings();
|
||||
}
|
||||
}
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root',
|
||||
})
|
||||
export class MemberGameSettingResolver implements Resolve<any> {
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
constructor(
|
||||
private _router: Router,
|
||||
private __memberGameSettingService: MemberGameSettingService
|
||||
) {}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
// @ Public methods
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Resolver
|
||||
*
|
||||
* @param route
|
||||
* @param state
|
||||
*/
|
||||
|
||||
resolve(
|
||||
route: ActivatedRouteSnapshot,
|
||||
state: RouterStateSnapshot
|
||||
):
|
||||
| Observable<GetMemberGameSettingResponse.Result>
|
||||
| Promise<GetMemberGameSettingResponse.Result>
|
||||
| GetMemberGameSettingResponse.Result {
|
||||
let memberId = route.paramMap.get('id');
|
||||
if (!memberId) {
|
||||
console.error('user.resolver memberId is null');
|
||||
}
|
||||
return this.__memberGameSettingService.getMemberGameSetting(memberId!);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,87 @@
|
|||
import { Injectable } from '@angular/core';
|
||||
import {
|
||||
ActivatedRouteSnapshot,
|
||||
Resolve,
|
||||
Router,
|
||||
RouterStateSnapshot,
|
||||
} from '@angular/router';
|
||||
import { MemberSettlementSettingService } from 'app/modules/polyglot/member_settlement_setting/services/member_settlement_setting.service';
|
||||
import {
|
||||
GetMemberSettlementSettingResponse,
|
||||
ListMemberSettlementSettingsResponse,
|
||||
} from 'app/modules/proto/c2se/member_settlement_setting_pb';
|
||||
import { Observable } from 'rxjs';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root',
|
||||
})
|
||||
export class ListMemberSettlementsResolver implements Resolve<any> {
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
constructor(
|
||||
private _router: Router,
|
||||
private __memberSettlementSettingService: MemberSettlementSettingService
|
||||
) {}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
// @ Public methods
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Resolver
|
||||
*
|
||||
* @param route
|
||||
* @param state
|
||||
*/
|
||||
|
||||
resolve(
|
||||
route: ActivatedRouteSnapshot,
|
||||
state: RouterStateSnapshot
|
||||
):
|
||||
| Observable<ListMemberSettlementSettingsResponse.Result>
|
||||
| Promise<ListMemberSettlementSettingsResponse.Result>
|
||||
| ListMemberSettlementSettingsResponse.Result {
|
||||
return this.__memberSettlementSettingService.listMemberSettlementSettings();
|
||||
}
|
||||
}
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root',
|
||||
})
|
||||
export class MemberSettlementResolver implements Resolve<any> {
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
constructor(
|
||||
private _router: Router,
|
||||
private __memberSettlementSettingService: MemberSettlementSettingService
|
||||
) {}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
// @ Public methods
|
||||
// -----------------------------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Resolver
|
||||
*
|
||||
* @param route
|
||||
* @param state
|
||||
*/
|
||||
|
||||
resolve(
|
||||
route: ActivatedRouteSnapshot,
|
||||
state: RouterStateSnapshot
|
||||
):
|
||||
| Observable<GetMemberSettlementSettingResponse.Result>
|
||||
| Promise<GetMemberSettlementSettingResponse.Result>
|
||||
| GetMemberSettlementSettingResponse.Result {
|
||||
let memberId = route.paramMap.get('id');
|
||||
if (!memberId) {
|
||||
console.error('user.resolver memberId is null');
|
||||
}
|
||||
return this.__memberSettlementSettingService.getMemberSettlementSetting(
|
||||
memberId!
|
||||
);
|
||||
}
|
||||
}
|
|
@ -5,7 +5,9 @@ import { ViewComponent } from 'app/modules/admin/member/user/components/view.com
|
|||
import { SiteResolver } from 'app/shared/resolvers/site.resolver';
|
||||
import { ListMemberBanksResolver } from './resolvers/member-bank.resolver';
|
||||
import { ListMemberClassesResolver } from './resolvers/member-class.resolver';
|
||||
import { MemberGameSettingResolver } from './resolvers/member-game-setting.resolver';
|
||||
import { ListMemberLevelsResolver } from './resolvers/member-level.resolver';
|
||||
import { MemberSettlementResolver } from './resolvers/member-settlement-setting.resolver';
|
||||
|
||||
import { MemberResolver, ListMemberResolver } from './resolvers/user.resolver';
|
||||
|
||||
|
@ -27,6 +29,8 @@ export const userRoutes: Route[] = [
|
|||
listMemberLevels: ListMemberLevelsResolver,
|
||||
listMemberBanks: ListMemberBanksResolver,
|
||||
listSites: SiteResolver,
|
||||
// memberSettlement: MemberSettlementResolver,
|
||||
// memberGame: MemberGameSettingResolver,
|
||||
},
|
||||
},
|
||||
];
|
||||
|
|
|
@ -87,10 +87,13 @@ export class MemberGameSettingService {
|
|||
);
|
||||
}
|
||||
|
||||
getMemberGameSetting(): Promise<GetMemberGameSettingResponse.Result> {
|
||||
getMemberGameSetting(
|
||||
id: string
|
||||
): Promise<GetMemberGameSettingResponse.Result> {
|
||||
return new Promise<GetMemberGameSettingResponse.Result>(
|
||||
(resolve, reject) => {
|
||||
let req = new GetMemberGameSettingRequest();
|
||||
req.setId(id);
|
||||
|
||||
this.__natsService
|
||||
.request<GetMemberGameSettingResponse.Result>(
|
||||
|
|
|
@ -91,10 +91,13 @@ export class MemberSettlementSettingService {
|
|||
);
|
||||
}
|
||||
|
||||
getMemberSettlementSetting(): Promise<GetMemberSettlementSettingResponse.Result> {
|
||||
getMemberSettlementSetting(
|
||||
id: string
|
||||
): Promise<GetMemberSettlementSettingResponse.Result> {
|
||||
return new Promise<GetMemberSettlementSettingResponse.Result>(
|
||||
(resolve, reject) => {
|
||||
let req = new GetMemberSettlementSettingRequest();
|
||||
req.setId(id);
|
||||
|
||||
this.__natsService
|
||||
.request<GetMemberSettlementSettingResponse.Result>(
|
||||
|
|
Loading…
Reference in New Issue
Block a user