info model
This commit is contained in:
parent
9461051e8f
commit
0b6cd50a1f
|
@ -234,20 +234,20 @@ export const navigation: FuseNavigation[] = [
|
||||||
url: '/pages/infos/management/free-board'
|
url: '/pages/infos/management/free-board'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'bet_rule',
|
id: 'betting_rule',
|
||||||
title: '배팅규정',
|
title: '배팅규정',
|
||||||
translate: 'NAV.INFO.BET_RULE.TITLE',
|
translate: 'NAV.INFO.BET_RULE.TITLE',
|
||||||
type: 'item',
|
type: 'item',
|
||||||
icon: 'email',
|
icon: 'email',
|
||||||
url: '/pages/infos/management/bet-rule'
|
url: '/pages/infos/management/betting-rule'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'popup_setting',
|
id: 'popup_config',
|
||||||
title: '팝업창',
|
title: '팝업창',
|
||||||
translate: 'NAV.INFO.POPUP_SETTING.TITLE',
|
translate: 'NAV.INFO.POPUP_SETTING.TITLE',
|
||||||
type: 'item',
|
type: 'item',
|
||||||
icon: 'email',
|
icon: 'email',
|
||||||
url: '/pages/infos/management/popup-set'
|
url: '/pages/infos/management/popup-config'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'main_event_regist',
|
id: 'main_event_regist',
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<div id="bet-rule" class="page-layout carded fullwidth inner-scroll">
|
<div id="betting-rule" class="page-layout carded fullwidth inner-scroll">
|
||||||
<!-- TOP BACKGROUND -->
|
<!-- TOP BACKGROUND -->
|
||||||
<div class="top-bg accent"></div>
|
<div class="top-bg accent"></div>
|
||||||
<!-- / TOP BACKGROUND -->
|
<!-- / TOP BACKGROUND -->
|
|
@ -1,6 +1,6 @@
|
||||||
@import "src/@fuse/scss/fuse";
|
@import "src/@fuse/scss/fuse";
|
||||||
|
|
||||||
#bet-rule {
|
#betting-rule {
|
||||||
|
|
||||||
.header {
|
.header {
|
||||||
|
|
|
@ -5,13 +5,13 @@ import { takeUntil } from 'rxjs/operators';
|
||||||
|
|
||||||
import { fuseAnimations } from 'src/@fuse/animations';
|
import { fuseAnimations } from 'src/@fuse/animations';
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-bet-rule',
|
selector: 'app-betting-rule',
|
||||||
templateUrl: './bet-rule.component.html',
|
templateUrl: './betting-rule.component.html',
|
||||||
styleUrls: ['./bet-rule.component.scss'],
|
styleUrls: ['./betting-rule.component.scss'],
|
||||||
encapsulation: ViewEncapsulation.None,
|
encapsulation: ViewEncapsulation.None,
|
||||||
animations: fuseAnimations
|
animations: fuseAnimations
|
||||||
})
|
})
|
||||||
export class BetRuleComponent implements OnInit, OnDestroy {
|
export class BettingRuleComponent implements OnInit, OnDestroy {
|
||||||
private unsubscribeAll: Subject<any>;
|
private unsubscribeAll: Subject<any>;
|
||||||
|
|
||||||
constructor(private fb: FormBuilder) {
|
constructor(private fb: FormBuilder) {
|
|
@ -16,7 +16,7 @@ import { takeUntil } from 'rxjs/operators';
|
||||||
|
|
||||||
import { fuseAnimations } from 'src/@fuse/animations';
|
import { fuseAnimations } from 'src/@fuse/animations';
|
||||||
|
|
||||||
import { ServiceCenterService } from 'src/modules/infos/service-center/service/service-center.service';
|
import { ServiceCenterService } from 'src/modules/infos/service/service-center.service';
|
||||||
import { ServiceCenterDataSource } from './service-center.data-source';
|
import { ServiceCenterDataSource } from './service-center.data-source';
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-free-board',
|
selector: 'app-free-board',
|
||||||
|
|
|
@ -1,21 +1,21 @@
|
||||||
import { ServiceCenterComponent } from './service-center.component';
|
import { ServiceCenterComponent } from './service-center.component';
|
||||||
import { SendMessageComponent } from './send-message.component';
|
import { SendMessageComponent } from './send-message.component';
|
||||||
import { FreeBoardComponent } from './free-board.component';
|
import { FreeBoardComponent } from './free-board.component';
|
||||||
import { BetRuleComponent } from './bet-rule.component';
|
import { BettingRuleComponent } from './betting-rule.component';
|
||||||
import { PopupSetComponent } from './popup-set.component';
|
import { PopupConfigComponent } from './popup-config.component';
|
||||||
import { EventRegistComponent } from './event-regist.component';
|
import { EventRegistComponent } from './event-regist.component';
|
||||||
import { NoticeBoardComponent } from './notice-board.component';
|
import { NoticeBoardComponent } from './notice-board.component';
|
||||||
import { FreeBoardRegistComponent } from './free-board-regist.component';
|
import { FreeBoardRegistComponent } from './free-board-regist.component';
|
||||||
import { PopupSetDetailComponent } from './popup-set-detail.component';
|
import { PopupConfigDetailComponent } from './popup-config-detail.component';
|
||||||
|
|
||||||
export const COMPONENTS = [
|
export const COMPONENTS = [
|
||||||
ServiceCenterComponent,
|
ServiceCenterComponent,
|
||||||
SendMessageComponent,
|
SendMessageComponent,
|
||||||
FreeBoardComponent,
|
FreeBoardComponent,
|
||||||
BetRuleComponent,
|
BettingRuleComponent,
|
||||||
PopupSetComponent,
|
PopupConfigComponent,
|
||||||
EventRegistComponent,
|
EventRegistComponent,
|
||||||
NoticeBoardComponent,
|
NoticeBoardComponent,
|
||||||
FreeBoardRegistComponent,
|
FreeBoardRegistComponent,
|
||||||
PopupSetDetailComponent
|
PopupConfigDetailComponent
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<div id="popup-set-detail" class="page-layout carded fullwidth inner-scroll">
|
<div id="popup-config-detail" class="page-layout carded fullwidth inner-scroll">
|
||||||
<!-- TOP BACKGROUND -->
|
<!-- TOP BACKGROUND -->
|
||||||
<div class="top-bg accent"></div>
|
<div class="top-bg accent"></div>
|
||||||
<!-- / TOP BACKGROUND -->
|
<!-- / TOP BACKGROUND -->
|
|
@ -1,6 +1,6 @@
|
||||||
@import "src/@fuse/scss/fuse";
|
@import "src/@fuse/scss/fuse";
|
||||||
|
|
||||||
#popup-set-detail {
|
#popup-config-detail {
|
||||||
|
|
||||||
.header {
|
.header {
|
||||||
|
|
|
@ -5,13 +5,13 @@ import { takeUntil } from 'rxjs/operators';
|
||||||
|
|
||||||
import { fuseAnimations } from 'src/@fuse/animations';
|
import { fuseAnimations } from 'src/@fuse/animations';
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-popup-set-detail',
|
selector: 'app-popup-config-detail',
|
||||||
templateUrl: './popup-set-detail.component.html',
|
templateUrl: './popup-config-detail.component.html',
|
||||||
styleUrls: ['./popup-set-detail.component.scss'],
|
styleUrls: ['./popup-config-detail.component.scss'],
|
||||||
encapsulation: ViewEncapsulation.None,
|
encapsulation: ViewEncapsulation.None,
|
||||||
animations: fuseAnimations
|
animations: fuseAnimations
|
||||||
})
|
})
|
||||||
export class PopupSetDetailComponent implements OnInit, OnDestroy {
|
export class PopupConfigDetailComponent implements OnInit, OnDestroy {
|
||||||
private unsubscribeAll: Subject<any>;
|
private unsubscribeAll: Subject<any>;
|
||||||
|
|
||||||
constructor(private fb: FormBuilder) {
|
constructor(private fb: FormBuilder) {
|
221
src/app/pages/infos/info/component/popup-config.component.html
Normal file
221
src/app/pages/infos/info/component/popup-config.component.html
Normal file
|
@ -0,0 +1,221 @@
|
||||||
|
<div id="popup-config" class="page-layout carded fullwidth inner-scroll">
|
||||||
|
<!-- TOP BACKGROUND -->
|
||||||
|
<div class="top-bg accent"></div>
|
||||||
|
<!-- / TOP BACKGROUND -->
|
||||||
|
|
||||||
|
<!-- CENTER -->
|
||||||
|
<div class="center">
|
||||||
|
<!-- HEADER -->
|
||||||
|
<div
|
||||||
|
class="header accent"
|
||||||
|
fxLayout="column"
|
||||||
|
fxLayoutAlign="center center"
|
||||||
|
fxLayout.gt-xs="row"
|
||||||
|
fxLayoutAlign.gt-xs="space-between center"
|
||||||
|
>
|
||||||
|
<!-- APP TITLE -->
|
||||||
|
<div
|
||||||
|
class="logo mb-24 mb-sm-0"
|
||||||
|
fxLayout="row"
|
||||||
|
fxLayoutAlign="start center"
|
||||||
|
>
|
||||||
|
<mat-icon
|
||||||
|
class="logo-icon s-32 mr-16"
|
||||||
|
[@animate]="{ value: '*', params: { delay: '50ms', scale: '0.2' } }"
|
||||||
|
>
|
||||||
|
shopping_basket
|
||||||
|
</mat-icon>
|
||||||
|
<span
|
||||||
|
class="logo-text h1"
|
||||||
|
[@animate]="{ value: '*', params: { delay: '100ms', x: '-25px' } }"
|
||||||
|
>팝업관리</span
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
<!-- / APP TITLE -->
|
||||||
|
|
||||||
|
<!-- SEARCH
|
||||||
|
<div class="search-wrapper ml-sm-32">
|
||||||
|
<div class="search" fxFlex fxLayout="row" fxLayoutAlign="start center">
|
||||||
|
<mat-icon>search</mat-icon>
|
||||||
|
<input #filter placeholder="Search for an order" />
|
||||||
|
</div>
|
||||||
|
</div>-->
|
||||||
|
<!-- / SEARCH -->
|
||||||
|
</div>
|
||||||
|
<!-- / HEADER -->
|
||||||
|
|
||||||
|
<!-- CONTENT CARD -->
|
||||||
|
<div class="content-card">
|
||||||
|
<mat-table
|
||||||
|
class="popup-config-table"
|
||||||
|
#table
|
||||||
|
[dataSource]="dataSource"
|
||||||
|
matSort
|
||||||
|
[@animateStagger]="{ value: '50' }"
|
||||||
|
fusePerfectScrollbar
|
||||||
|
formArrayName="formarray"
|
||||||
|
>
|
||||||
|
<!-- idx Column -->
|
||||||
|
<ng-container matColumnDef="idx">
|
||||||
|
<mat-header-cell *matHeaderCellDef mat-sort-header
|
||||||
|
>번호</mat-header-cell
|
||||||
|
>
|
||||||
|
<mat-cell *matCellDef="let popup; let i = index" [formGroupName]="i">
|
||||||
|
<p class="text-truncate">{{ i + 1 }}</p>
|
||||||
|
<!-- <p class="text-truncate">1</p> -->
|
||||||
|
</mat-cell>
|
||||||
|
</ng-container>
|
||||||
|
|
||||||
|
<!-- thumbnail Column -->
|
||||||
|
<ng-container matColumnDef="thumbNail">
|
||||||
|
<mat-header-cell *matHeaderCellDef mat-sort-header fxHide fxShow.gt-sm
|
||||||
|
>썸네일</mat-header-cell
|
||||||
|
>
|
||||||
|
<mat-cell
|
||||||
|
*matCellDef="let popup; let i = index"
|
||||||
|
[formGroupName]="i"
|
||||||
|
fxHide
|
||||||
|
fxShow.gt-sm
|
||||||
|
>
|
||||||
|
<p class="text-truncate">{{ popup.thumbNail }}</p>
|
||||||
|
</mat-cell>
|
||||||
|
</ng-container>
|
||||||
|
|
||||||
|
<!-- title Column -->
|
||||||
|
<ng-container matColumnDef="title">
|
||||||
|
<mat-header-cell *matHeaderCellDef mat-sort-header
|
||||||
|
>제목</mat-header-cell
|
||||||
|
>
|
||||||
|
<mat-cell *matCellDef="let popup; let i = index" [formGroupName]="i">
|
||||||
|
<p class="text-truncate">
|
||||||
|
{{ popup.title }}
|
||||||
|
</p>
|
||||||
|
</mat-cell>
|
||||||
|
</ng-container>
|
||||||
|
|
||||||
|
<!-- imageWidth Price Column -->
|
||||||
|
<ng-container matColumnDef="imgWidth">
|
||||||
|
<mat-header-cell *matHeaderCellDef mat-sort-header fxHide fxShow.gt-md
|
||||||
|
>이미지 넒이</mat-header-cell
|
||||||
|
>
|
||||||
|
<mat-cell
|
||||||
|
*matCellDef="let popup; let i = index"
|
||||||
|
[formGroupName]="i"
|
||||||
|
fxHide
|
||||||
|
fxShow.gt-md
|
||||||
|
>
|
||||||
|
<p class="total-price text-truncate">
|
||||||
|
{{ popup.imgWidth }}
|
||||||
|
</p>
|
||||||
|
</mat-cell>
|
||||||
|
px
|
||||||
|
</ng-container>
|
||||||
|
|
||||||
|
<!-- imageHegith Column -->
|
||||||
|
<ng-container matColumnDef="imgHegith">
|
||||||
|
<mat-header-cell *matHeaderCellDef mat-sort-header fxHide fxShow.gt-sm
|
||||||
|
>이미지 높이</mat-header-cell
|
||||||
|
>
|
||||||
|
<mat-cell
|
||||||
|
*matCellDef="let popup; let i = index"
|
||||||
|
[formGroupName]="i"
|
||||||
|
fxHide
|
||||||
|
fxShow.gt-sm
|
||||||
|
>
|
||||||
|
<p class="text-truncate">
|
||||||
|
{{ popup.imgHeight }}
|
||||||
|
</p>
|
||||||
|
</mat-cell>
|
||||||
|
px
|
||||||
|
</ng-container>
|
||||||
|
|
||||||
|
<!-- imageX Column -->
|
||||||
|
<ng-container matColumnDef="imgX">
|
||||||
|
<mat-header-cell *matHeaderCellDef mat-sort-header
|
||||||
|
>이미지 X</mat-header-cell
|
||||||
|
>
|
||||||
|
<mat-cell *matCellDef="let popup; let i = index" [formGroupName]="i">
|
||||||
|
<p class="status text-truncate h6 p-4">
|
||||||
|
{{ popup.imgX }}
|
||||||
|
</p>
|
||||||
|
</mat-cell>
|
||||||
|
</ng-container>
|
||||||
|
|
||||||
|
<!-- imageY Column -->
|
||||||
|
<ng-container matColumnDef="imgY">
|
||||||
|
<mat-header-cell *matHeaderCellDef mat-sort-header fxHide fxShow.gt-sm
|
||||||
|
>이미지 Y</mat-header-cell
|
||||||
|
>
|
||||||
|
<mat-cell
|
||||||
|
*matCellDef="let popup; let i = index"
|
||||||
|
[formGroupName]="i"
|
||||||
|
fxHide
|
||||||
|
fxShow.gt-sm
|
||||||
|
>
|
||||||
|
<p class="text-truncate">
|
||||||
|
{{ popup.imgY }}
|
||||||
|
</p>
|
||||||
|
</mat-cell>
|
||||||
|
</ng-container>
|
||||||
|
|
||||||
|
<!-- openStatus Column -->
|
||||||
|
<ng-container matColumnDef="openStatus">
|
||||||
|
<mat-header-cell *matHeaderCellDef mat-sort-header fxHide fxShow.gt-sm
|
||||||
|
>상태</mat-header-cell
|
||||||
|
>
|
||||||
|
<mat-cell
|
||||||
|
*matCellDef="let popup; let i = index"
|
||||||
|
[formGroupName]="i"
|
||||||
|
fxHide
|
||||||
|
fxShow.gt-sm
|
||||||
|
>
|
||||||
|
<p class="text-truncate">
|
||||||
|
{{ popup.openStatus }}
|
||||||
|
</p>
|
||||||
|
</mat-cell>
|
||||||
|
</ng-container>
|
||||||
|
|
||||||
|
<!-- saveBtn Column -->
|
||||||
|
<ng-container matColumnDef="saveBtn">
|
||||||
|
<mat-header-cell *matHeaderCellDef mat-sort-header fxHide fxShow.gt-sm
|
||||||
|
>수정</mat-header-cell
|
||||||
|
>
|
||||||
|
<mat-cell
|
||||||
|
*matCellDef="let popup; let i = index"
|
||||||
|
[formGroupName]="i"
|
||||||
|
fxHide
|
||||||
|
fxShow.gt-sm
|
||||||
|
>
|
||||||
|
<p class="text-truncate">
|
||||||
|
6
|
||||||
|
</p>
|
||||||
|
</mat-cell>
|
||||||
|
</ng-container>
|
||||||
|
|
||||||
|
<mat-header-row
|
||||||
|
*matHeaderRowDef="displayedColumns; sticky: true"
|
||||||
|
></mat-header-row>
|
||||||
|
|
||||||
|
<!-- [routerLink]="'/pages/infos/management/popup-config/' + popup.id" -->
|
||||||
|
<mat-row
|
||||||
|
*matRowDef="let popup; columns: displayedColumns"
|
||||||
|
class="popup-config"
|
||||||
|
matRipple
|
||||||
|
[routerLink]="'/pages/infos/management/popup-config/' + popup.id"
|
||||||
|
>
|
||||||
|
</mat-row>
|
||||||
|
</mat-table>
|
||||||
|
|
||||||
|
<mat-paginator
|
||||||
|
#paginator
|
||||||
|
[length]="10"
|
||||||
|
[pageIndex]="0"
|
||||||
|
[pageSize]="10"
|
||||||
|
[pageSizeOptions]="[5, 10, 25, 100]"
|
||||||
|
>
|
||||||
|
</mat-paginator>
|
||||||
|
</div>
|
||||||
|
<!-- / CONTENT CARD -->
|
||||||
|
</div>
|
||||||
|
<!-- / CENTER -->
|
||||||
|
</div>
|
|
@ -1,7 +1,7 @@
|
||||||
@import 'src/@fuse/scss/fuse';
|
@import 'src/@fuse/scss/fuse';
|
||||||
|
|
||||||
app-popup-set {
|
app-popup-config {
|
||||||
#popup-set {
|
#popup-config {
|
||||||
.top-bg {
|
.top-bg {
|
||||||
@include media-breakpoint('xs') {
|
@include media-breakpoint('xs') {
|
||||||
height: 224px;
|
height: 224px;
|
||||||
|
@ -56,7 +56,7 @@ app-popup-set {
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.popup-set-table {
|
.popup-config-table {
|
||||||
flex: 1 1 auto;
|
flex: 1 1 auto;
|
||||||
border-bottom: 1px solid rgba(0, 0, 0, 0.12);
|
border-bottom: 1px solid rgba(0, 0, 0, 0.12);
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
|
@ -66,7 +66,7 @@ app-popup-set {
|
||||||
min-height: 64px;
|
min-height: 64px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.popup-set {
|
.popup-config {
|
||||||
position: relative;
|
position: relative;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
height: 84px;
|
height: 84px;
|
|
@ -15,25 +15,27 @@ import { takeUntil } from 'rxjs/operators';
|
||||||
|
|
||||||
import { fuseAnimations } from 'src/@fuse/animations';
|
import { fuseAnimations } from 'src/@fuse/animations';
|
||||||
|
|
||||||
import { PopupSetService } from 'src/modules/infos/popup-set/service/popup-set.service';
|
import { PopupConfigService } from 'src/modules/infos/service/popup-config.service';
|
||||||
import { PopupSetDataSource } from './popup-set.data-source';
|
import { PopupConfigDataSource } from './popup-config.data-source';
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-popup-set',
|
selector: 'app-popup-config',
|
||||||
templateUrl: './popup-set.component.html',
|
templateUrl: './popup-config.component.html',
|
||||||
styleUrls: ['./popup-set.component.scss'],
|
styleUrls: ['./popup-config.component.scss'],
|
||||||
encapsulation: ViewEncapsulation.None,
|
encapsulation: ViewEncapsulation.None,
|
||||||
animations: fuseAnimations
|
animations: fuseAnimations
|
||||||
})
|
})
|
||||||
export class PopupSetComponent implements OnInit, OnDestroy {
|
export class PopupConfigComponent implements OnInit, OnDestroy {
|
||||||
dataSource: PopupSetDataSource = new PopupSetDataSource(this.popupSetService);
|
dataSource: PopupConfigDataSource = new PopupConfigDataSource(
|
||||||
|
this.popupConfigService
|
||||||
|
);
|
||||||
displayedColumns = [
|
displayedColumns = [
|
||||||
'idx',
|
'idx',
|
||||||
'thumbNail',
|
'thumbNail',
|
||||||
'title',
|
'title',
|
||||||
'imageWidth',
|
'imgWidth',
|
||||||
'imageHegith',
|
'imgHegith',
|
||||||
'imageX',
|
'imgX',
|
||||||
'imageY',
|
'imgY',
|
||||||
'openStatus',
|
'openStatus',
|
||||||
'saveBtn'
|
'saveBtn'
|
||||||
];
|
];
|
||||||
|
@ -55,7 +57,7 @@ export class PopupSetComponent implements OnInit, OnDestroy {
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private fb: FormBuilder,
|
private fb: FormBuilder,
|
||||||
private popupSetService: PopupSetService
|
private popupConfigService: PopupConfigService
|
||||||
) {
|
) {
|
||||||
// Set the private defaults
|
// Set the private defaults
|
||||||
this.unsubscribeAll = new Subject();
|
this.unsubscribeAll = new Subject();
|
|
@ -5,63 +5,69 @@ import { map } from 'rxjs/operators';
|
||||||
|
|
||||||
import { CollectionViewer } from '@angular/cdk/collections';
|
import { CollectionViewer } from '@angular/cdk/collections';
|
||||||
|
|
||||||
import { PopupSet } from 'src/modules/infos/popup-set/model/popup-set.model';
|
import { PopupConfig } from 'src/modules/infos/model/popup-config.model';
|
||||||
import { PopupSetService } from 'src/modules/infos/popup-set/service/popup-set.service';
|
import { PopupConfigService } from 'src/modules/infos/service/popup-config.service';
|
||||||
|
|
||||||
import { FormControl, FormGroup, Validators, FormArray } from '@angular/forms';
|
import { FormControl, FormGroup, Validators, FormArray } from '@angular/forms';
|
||||||
|
|
||||||
const ELEMENT_DATA: PopupSet[] = [
|
const ELEMENT_DATA: PopupConfig[] = [
|
||||||
{
|
{
|
||||||
id: 1,
|
id: 1,
|
||||||
thumbNail: '/images/thumbname/1.jpg',
|
thumbNail: '/images/thumbname/1.jpg',
|
||||||
title: '오픈기념 이벤트',
|
title: '오픈기념 이벤트',
|
||||||
imageWidth: 200,
|
imgWidth: 200,
|
||||||
imageHeight: 200,
|
imgHeight: 200,
|
||||||
imageX: 100,
|
imgX: 100,
|
||||||
imageY: 100,
|
imgY: 100,
|
||||||
openStatus: true,
|
openStatus: true,
|
||||||
updatedAt: null,
|
updatedAt: null,
|
||||||
createdAt: null
|
createdAt: null,
|
||||||
|
createdBy: null,
|
||||||
|
updatedBy: null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 2,
|
id: 2,
|
||||||
thumbNail: '/images/thumbname/2.jpg',
|
thumbNail: '/images/thumbname/2.jpg',
|
||||||
title: '첫충전 이벤트',
|
title: '첫충전 이벤트',
|
||||||
imageWidth: 200,
|
imgWidth: 200,
|
||||||
imageHeight: 200,
|
imgHeight: 200,
|
||||||
imageX: 100,
|
imgX: 100,
|
||||||
imageY: 100,
|
imgY: 100,
|
||||||
openStatus: true,
|
openStatus: true,
|
||||||
updatedAt: null,
|
updatedAt: null,
|
||||||
createdAt: null
|
createdAt: null,
|
||||||
|
createdBy: null,
|
||||||
|
updatedBy: null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 3,
|
id: 3,
|
||||||
thumbNail: '/images/thumbname/3.jpg',
|
thumbNail: '/images/thumbname/3.jpg',
|
||||||
title: '친구초대 이벤트',
|
title: '친구초대 이벤트',
|
||||||
imageWidth: 200,
|
imgWidth: 200,
|
||||||
imageHeight: 200,
|
imgHeight: 200,
|
||||||
imageX: 100,
|
imgX: 100,
|
||||||
imageY: 100,
|
imgY: 100,
|
||||||
openStatus: true,
|
openStatus: true,
|
||||||
updatedAt: null,
|
updatedAt: null,
|
||||||
createdAt: null
|
createdAt: null,
|
||||||
|
createdBy: null,
|
||||||
|
updatedBy: null
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
export class PopupSetDataSource extends DataSource<PopupSet> {
|
export class PopupConfigDataSource extends DataSource<PopupConfig> {
|
||||||
private _objectStore: PopupSet[] = [];
|
private _objectStore: PopupConfig[] = [];
|
||||||
private _ObjectsSubject$ = new BehaviorSubject<PopupSet[]>([]);
|
private _ObjectsSubject$ = new BehaviorSubject<PopupConfig[]>([]);
|
||||||
private _loadingSubject$ = new BehaviorSubject<boolean>(false);
|
private _loadingSubject$ = new BehaviorSubject<boolean>(false);
|
||||||
|
|
||||||
public loading$ = this._loadingSubject$.asObservable();
|
public loading$ = this._loadingSubject$.asObservable();
|
||||||
public formg: FormGroup;
|
public formg: FormGroup;
|
||||||
|
|
||||||
constructor(private fixBonusService: PopupSetService) {
|
constructor(private fixBonusService: PopupConfigService) {
|
||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
|
|
||||||
connect(collectionViewer: CollectionViewer): Observable<PopupSet[]> {
|
connect(collectionViewer: CollectionViewer): Observable<PopupConfig[]> {
|
||||||
// return this.fixBonusService.getAll().pipe(
|
// return this.fixBonusService.getAll().pipe(
|
||||||
// map(res => {
|
// map(res => {
|
||||||
// res.forEach(m => this._objectStore.push(m as FixBonus));
|
// res.forEach(m => this._objectStore.push(m as FixBonus));
|
||||||
|
@ -73,7 +79,7 @@ export class PopupSetDataSource extends DataSource<PopupSet> {
|
||||||
// );
|
// );
|
||||||
return of(ELEMENT_DATA).pipe(
|
return of(ELEMENT_DATA).pipe(
|
||||||
map(res => {
|
map(res => {
|
||||||
res.forEach(m => this._objectStore.push(m as PopupSet));
|
res.forEach(m => this._objectStore.push(m as PopupConfig));
|
||||||
this._ObjectsSubject$.next(this._objectStore);
|
this._ObjectsSubject$.next(this._objectStore);
|
||||||
let fa = <FormArray>this.formg.get('formarray');
|
let fa = <FormArray>this.formg.get('formarray');
|
||||||
res.forEach(r => fa.push(this.createRowFormGroup(r)));
|
res.forEach(r => fa.push(this.createRowFormGroup(r)));
|
||||||
|
@ -85,26 +91,28 @@ export class PopupSetDataSource extends DataSource<PopupSet> {
|
||||||
// id: 3,
|
// id: 3,
|
||||||
// thumbNail: '/images/thumbname/3.jpg',
|
// thumbNail: '/images/thumbname/3.jpg',
|
||||||
// title: '친구초대 이벤트',
|
// title: '친구초대 이벤트',
|
||||||
// imageWidth: 200,
|
// imgWidth: 200,
|
||||||
// imageHeight: 200,
|
// imgHeight: 200,
|
||||||
// imageX: 100,
|
// imgX: 100,
|
||||||
// imageY: 100,
|
// imgY: 100,
|
||||||
// openStatus: true,
|
// openStatus: true,
|
||||||
// updatedAt: null,
|
// updatedAt: null,
|
||||||
// createdAt: null
|
// createdAt: null,
|
||||||
createRowFormGroup(r: PopupSet): FormGroup {
|
// createdBy: null,
|
||||||
|
// updatedBy: null
|
||||||
|
createRowFormGroup(r: PopupConfig): FormGroup {
|
||||||
let f = new FormGroup({
|
let f = new FormGroup({
|
||||||
title: this.createNewFormContorl(r, 'title'),
|
title: this.createNewFormContorl(r, 'title'),
|
||||||
imageWidth: this.createNewFormContorl(r, 'imageWidth'),
|
imgWidth: this.createNewFormContorl(r, 'imgWidth'),
|
||||||
imageHeight: this.createNewFormContorl(r, 'imageHeight'),
|
imgHeight: this.createNewFormContorl(r, 'imgHeight'),
|
||||||
imageX: this.createNewFormContorl(r, 'imageX'),
|
imgX: this.createNewFormContorl(r, 'imgX'),
|
||||||
imageY: this.createNewFormContorl(r, 'imageY'),
|
imgY: this.createNewFormContorl(r, 'imgY'),
|
||||||
openStatus: this.createNewFormContorl(r, 'openStatus')
|
openStatus: this.createNewFormContorl(r, 'openStatus')
|
||||||
});
|
});
|
||||||
return f;
|
return f;
|
||||||
}
|
}
|
||||||
|
|
||||||
createNewFormContorl(r: PopupSet, propName: string): FormControl {
|
createNewFormContorl(r: PopupConfig, propName: string): FormControl {
|
||||||
let m = new FormControl(r[propName], Validators.required);
|
let m = new FormControl(r[propName], Validators.required);
|
||||||
m.valueChanges.subscribe(val => {
|
m.valueChanges.subscribe(val => {
|
||||||
r[propName] = val;
|
r[propName] = val;
|
|
@ -1,254 +0,0 @@
|
||||||
<div id="popup-set" class="page-layout carded fullwidth inner-scroll">
|
|
||||||
<!-- TOP BACKGROUND -->
|
|
||||||
<div class="top-bg accent"></div>
|
|
||||||
<!-- / TOP BACKGROUND -->
|
|
||||||
|
|
||||||
<!-- CENTER -->
|
|
||||||
<div class="center">
|
|
||||||
<!-- HEADER -->
|
|
||||||
<div
|
|
||||||
class="header accent"
|
|
||||||
fxLayout="column"
|
|
||||||
fxLayoutAlign="center center"
|
|
||||||
fxLayout.gt-xs="row"
|
|
||||||
fxLayoutAlign.gt-xs="space-between center"
|
|
||||||
>
|
|
||||||
<!-- APP TITLE -->
|
|
||||||
<div
|
|
||||||
class="logo mb-24 mb-sm-0"
|
|
||||||
fxLayout="row"
|
|
||||||
fxLayoutAlign="start center"
|
|
||||||
>
|
|
||||||
<mat-icon
|
|
||||||
class="logo-icon s-32 mr-16"
|
|
||||||
[@animate]="{ value: '*', params: { delay: '50ms', scale: '0.2' } }"
|
|
||||||
>
|
|
||||||
shopping_basket
|
|
||||||
</mat-icon>
|
|
||||||
<span
|
|
||||||
class="logo-text h1"
|
|
||||||
[@animate]="{ value: '*', params: { delay: '100ms', x: '-25px' } }"
|
|
||||||
>팝업관리</span
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
<!-- / APP TITLE -->
|
|
||||||
|
|
||||||
<!-- SEARCH
|
|
||||||
<div class="search-wrapper ml-sm-32">
|
|
||||||
<div class="search" fxFlex fxLayout="row" fxLayoutAlign="start center">
|
|
||||||
<mat-icon>search</mat-icon>
|
|
||||||
<input #filter placeholder="Search for an order" />
|
|
||||||
</div>
|
|
||||||
</div>-->
|
|
||||||
<!-- / SEARCH -->
|
|
||||||
</div>
|
|
||||||
<!-- / HEADER -->
|
|
||||||
|
|
||||||
<!-- CONTENT CARD -->
|
|
||||||
<div class="content-card">
|
|
||||||
<mat-table
|
|
||||||
class="popup-set-table"
|
|
||||||
#table
|
|
||||||
[dataSource]="dataSource"
|
|
||||||
matSort
|
|
||||||
[@animateStagger]="{ value: '50' }"
|
|
||||||
fusePerfectScrollbar
|
|
||||||
formArrayName="formarray"
|
|
||||||
>
|
|
||||||
<!-- idx Column -->
|
|
||||||
<ng-container matColumnDef="idx">
|
|
||||||
<mat-header-cell *matHeaderCellDef mat-sort-header
|
|
||||||
>번호</mat-header-cell
|
|
||||||
>
|
|
||||||
<mat-cell
|
|
||||||
*matCellDef="let popup; let i = index"
|
|
||||||
[formGroupName]="i"
|
|
||||||
>
|
|
||||||
<p class="text-truncate">{{ i + 1 }}</p>
|
|
||||||
<!-- <p class="text-truncate">1</p> -->
|
|
||||||
</mat-cell>
|
|
||||||
</ng-container>
|
|
||||||
|
|
||||||
<!-- thumbnail Column -->
|
|
||||||
<ng-container matColumnDef="thumbNail">
|
|
||||||
<mat-header-cell
|
|
||||||
*matHeaderCellDef
|
|
||||||
mat-sort-header
|
|
||||||
fxHide
|
|
||||||
fxShow.gt-sm
|
|
||||||
>썸네일</mat-header-cell
|
|
||||||
>
|
|
||||||
<mat-cell
|
|
||||||
*matCellDef="let popup; let i = index"
|
|
||||||
[formGroupName]="i"
|
|
||||||
fxHide
|
|
||||||
fxShow.gt-sm
|
|
||||||
>
|
|
||||||
<p class="text-truncate">{{ popup.thumbNail }}</p>
|
|
||||||
</mat-cell>
|
|
||||||
</ng-container>
|
|
||||||
|
|
||||||
<!-- title Column -->
|
|
||||||
<ng-container matColumnDef="title">
|
|
||||||
<mat-header-cell *matHeaderCellDef mat-sort-header
|
|
||||||
>제목</mat-header-cell
|
|
||||||
>
|
|
||||||
<mat-cell
|
|
||||||
*matCellDef="let popup; let i = index"
|
|
||||||
[formGroupName]="i"
|
|
||||||
>
|
|
||||||
<p class="text-truncate">
|
|
||||||
{{ popup.title }}
|
|
||||||
</p>
|
|
||||||
</mat-cell>
|
|
||||||
</ng-container>
|
|
||||||
|
|
||||||
<!-- imageWidth Price Column -->
|
|
||||||
<ng-container matColumnDef="imageWidth">
|
|
||||||
<mat-header-cell
|
|
||||||
*matHeaderCellDef
|
|
||||||
mat-sort-header
|
|
||||||
fxHide
|
|
||||||
fxShow.gt-md
|
|
||||||
>이미지 넒이</mat-header-cell
|
|
||||||
>
|
|
||||||
<mat-cell
|
|
||||||
*matCellDef="let popup; let i = index"
|
|
||||||
[formGroupName]="i"
|
|
||||||
fxHide
|
|
||||||
fxShow.gt-md
|
|
||||||
>
|
|
||||||
<p class="total-price text-truncate">
|
|
||||||
{{ popup.imageWidth }}
|
|
||||||
</p>
|
|
||||||
</mat-cell>
|
|
||||||
px
|
|
||||||
</ng-container>
|
|
||||||
|
|
||||||
<!-- imageHegith Column -->
|
|
||||||
<ng-container matColumnDef="imageHegith">
|
|
||||||
<mat-header-cell
|
|
||||||
*matHeaderCellDef
|
|
||||||
mat-sort-header
|
|
||||||
fxHide
|
|
||||||
fxShow.gt-sm
|
|
||||||
>이미지 높이</mat-header-cell
|
|
||||||
>
|
|
||||||
<mat-cell
|
|
||||||
*matCellDef="let popup; let i = index"
|
|
||||||
[formGroupName]="i"
|
|
||||||
fxHide
|
|
||||||
fxShow.gt-sm
|
|
||||||
>
|
|
||||||
<p class="text-truncate">
|
|
||||||
{{ popup.imageHeight }}
|
|
||||||
</p>
|
|
||||||
</mat-cell>
|
|
||||||
px
|
|
||||||
</ng-container>
|
|
||||||
|
|
||||||
<!-- imageX Column -->
|
|
||||||
<ng-container matColumnDef="imageX">
|
|
||||||
<mat-header-cell *matHeaderCellDef mat-sort-header
|
|
||||||
>이미지 X</mat-header-cell
|
|
||||||
>
|
|
||||||
<mat-cell
|
|
||||||
*matCellDef="let popup; let i = index"
|
|
||||||
[formGroupName]="i"
|
|
||||||
>
|
|
||||||
<p class="status text-truncate h6 p-4">
|
|
||||||
{{ popup.imageX }}
|
|
||||||
</p>
|
|
||||||
</mat-cell>
|
|
||||||
</ng-container>
|
|
||||||
|
|
||||||
<!-- imageY Column -->
|
|
||||||
<ng-container matColumnDef="imageY">
|
|
||||||
<mat-header-cell
|
|
||||||
*matHeaderCellDef
|
|
||||||
mat-sort-header
|
|
||||||
fxHide
|
|
||||||
fxShow.gt-sm
|
|
||||||
>이미지 Y</mat-header-cell
|
|
||||||
>
|
|
||||||
<mat-cell
|
|
||||||
*matCellDef="let popup; let i = index"
|
|
||||||
[formGroupName]="i"
|
|
||||||
fxHide
|
|
||||||
fxShow.gt-sm
|
|
||||||
>
|
|
||||||
<p class="text-truncate">
|
|
||||||
{{ popup.imageY }}
|
|
||||||
</p>
|
|
||||||
</mat-cell>
|
|
||||||
</ng-container>
|
|
||||||
|
|
||||||
<!-- openStatus Column -->
|
|
||||||
<ng-container matColumnDef="openStatus">
|
|
||||||
<mat-header-cell
|
|
||||||
*matHeaderCellDef
|
|
||||||
mat-sort-header
|
|
||||||
fxHide
|
|
||||||
fxShow.gt-sm
|
|
||||||
>상태</mat-header-cell
|
|
||||||
>
|
|
||||||
<mat-cell
|
|
||||||
*matCellDef="let popup; let i = index"
|
|
||||||
[formGroupName]="i"
|
|
||||||
fxHide
|
|
||||||
fxShow.gt-sm
|
|
||||||
>
|
|
||||||
<p class="text-truncate">
|
|
||||||
{{ popup.openStatus }}
|
|
||||||
</p>
|
|
||||||
</mat-cell>
|
|
||||||
</ng-container>
|
|
||||||
|
|
||||||
<!-- saveBtn Column -->
|
|
||||||
<ng-container matColumnDef="saveBtn">
|
|
||||||
<mat-header-cell
|
|
||||||
*matHeaderCellDef
|
|
||||||
mat-sort-header
|
|
||||||
fxHide
|
|
||||||
fxShow.gt-sm
|
|
||||||
>수정</mat-header-cell
|
|
||||||
>
|
|
||||||
<mat-cell
|
|
||||||
*matCellDef="let popup; let i = index"
|
|
||||||
[formGroupName]="i"
|
|
||||||
fxHide
|
|
||||||
fxShow.gt-sm
|
|
||||||
>
|
|
||||||
<p class="text-truncate">
|
|
||||||
6
|
|
||||||
</p>
|
|
||||||
</mat-cell>
|
|
||||||
</ng-container>
|
|
||||||
|
|
||||||
<mat-header-row
|
|
||||||
*matHeaderRowDef="displayedColumns; sticky: true"
|
|
||||||
></mat-header-row>
|
|
||||||
|
|
||||||
<!-- [routerLink]="'/pages/infos/management/popup-set/' + popup.id" -->
|
|
||||||
<mat-row
|
|
||||||
*matRowDef="let popup; columns: displayedColumns"
|
|
||||||
class="popup-set"
|
|
||||||
matRipple
|
|
||||||
[routerLink]="'/pages/infos/management/popup-set/' + popup.id"
|
|
||||||
>
|
|
||||||
</mat-row>
|
|
||||||
</mat-table>
|
|
||||||
|
|
||||||
<mat-paginator
|
|
||||||
#paginator
|
|
||||||
[length]="10"
|
|
||||||
[pageIndex]="0"
|
|
||||||
[pageSize]="10"
|
|
||||||
[pageSizeOptions]="[5, 10, 25, 100]"
|
|
||||||
>
|
|
||||||
</mat-paginator>
|
|
||||||
</div>
|
|
||||||
<!-- / CONTENT CARD -->
|
|
||||||
</div>
|
|
||||||
<!-- / CENTER -->
|
|
||||||
</div>
|
|
|
@ -16,7 +16,7 @@ import { takeUntil } from 'rxjs/operators';
|
||||||
|
|
||||||
import { fuseAnimations } from 'src/@fuse/animations';
|
import { fuseAnimations } from 'src/@fuse/animations';
|
||||||
|
|
||||||
import { ServiceCenterService } from 'src/modules/infos/service-center/service/service-center.service';
|
import { ServiceCenterService } from 'src/modules/infos/service/service-center.service';
|
||||||
import { ServiceCenterDataSource } from './service-center.data-source';
|
import { ServiceCenterDataSource } from './service-center.data-source';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
|
|
|
@ -7,8 +7,8 @@ import { MatPaginator } from '@angular/material/paginator';
|
||||||
import { MatSort } from '@angular/material/sort';
|
import { MatSort } from '@angular/material/sort';
|
||||||
import { CollectionViewer } from '@angular/cdk/collections';
|
import { CollectionViewer } from '@angular/cdk/collections';
|
||||||
|
|
||||||
import { ServiceCenter } from 'src/modules/infos/service-center/model/service-center.model';
|
import { ServiceCenter } from 'src/modules/infos/model/service-center.model';
|
||||||
import { ServiceCenterService } from 'src/modules/infos/service-center/service/service-center.service';
|
import { ServiceCenterService } from 'src/modules/infos/service/service-center.service';
|
||||||
|
|
||||||
export class ServiceCenterDataSource extends DataSource<ServiceCenter> {
|
export class ServiceCenterDataSource extends DataSource<ServiceCenter> {
|
||||||
private filterSubject = new BehaviorSubject('');
|
private filterSubject = new BehaviorSubject('');
|
||||||
|
|
|
@ -3,13 +3,13 @@ import { Routes, RouterModule } from '@angular/router';
|
||||||
import { ServiceCenterComponent } from './component/service-center.component';
|
import { ServiceCenterComponent } from './component/service-center.component';
|
||||||
import { SendMessageComponent } from './component/send-message.component';
|
import { SendMessageComponent } from './component/send-message.component';
|
||||||
import { FreeBoardComponent } from './component/free-board.component';
|
import { FreeBoardComponent } from './component/free-board.component';
|
||||||
import { BetRuleComponent } from './component/bet-rule.component';
|
import { BettingRuleComponent } from './component/betting-rule.component';
|
||||||
import { PopupSetComponent } from './component/popup-set.component';
|
import { PopupConfigComponent } from './component/popup-config.component';
|
||||||
import { EventRegistComponent } from './component/event-regist.component';
|
import { EventRegistComponent } from './component/event-regist.component';
|
||||||
import { NoticeBoardComponent } from './component/notice-board.component';
|
import { NoticeBoardComponent } from './component/notice-board.component';
|
||||||
import { FreeBoardRegistComponent } from './component/free-board-regist.component';
|
import { FreeBoardRegistComponent } from './component/free-board-regist.component';
|
||||||
import { PopupSetDetailComponent } from './component/popup-set-detail.component';
|
import { PopupConfigDetailComponent } from './component/popup-config-detail.component';
|
||||||
import { PopupSetDetailResolver } from './resolver/popup-set-detail.resolver';
|
import { PopupConfigDetailResolver } from './resolver/popup-config-detail.resolver';
|
||||||
|
|
||||||
const routes: Routes = [
|
const routes: Routes = [
|
||||||
{
|
{
|
||||||
|
@ -25,18 +25,18 @@ const routes: Routes = [
|
||||||
component: FreeBoardComponent
|
component: FreeBoardComponent
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'bet-rule',
|
path: 'betting-rule',
|
||||||
component: BetRuleComponent
|
component: BettingRuleComponent
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'popup-set',
|
path: 'popup-config',
|
||||||
component: PopupSetComponent
|
component: PopupConfigComponent
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'popup-set/:id',
|
path: 'popup-config/:id',
|
||||||
component: PopupSetDetailComponent,
|
component: PopupConfigDetailComponent,
|
||||||
resolve: {
|
resolve: {
|
||||||
popupSet: PopupSetDetailResolver
|
popupSet: PopupConfigDetailResolver
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
import { PopupSetDetailResolver } from './popup-set-detail.resolver';
|
import { PopupConfigDetailResolver } from './popup-config-detail.resolver';
|
||||||
|
|
||||||
export const RESOLVERS = [PopupSetDetailResolver];
|
export const RESOLVERS = [PopupConfigDetailResolver];
|
||||||
|
|
|
@ -5,15 +5,15 @@ import {
|
||||||
RouterStateSnapshot
|
RouterStateSnapshot
|
||||||
} from '@angular/router';
|
} from '@angular/router';
|
||||||
import { Observable, of } from 'rxjs';
|
import { Observable, of } from 'rxjs';
|
||||||
import { PopupSet } from 'src/modules/infos/popup-set/model/popup-set.model';
|
import { PopupConfig } from 'src/modules/infos/model/popup-config.model';
|
||||||
import { PopupSetService } from 'src/modules/infos/popup-set/service/popup-set.service';
|
import { PopupConfigService } from 'src/modules/infos/service/popup-config.service';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class PopupSetDetailResolver implements Resolve<PopupSet> {
|
export class PopupConfigDetailResolver implements Resolve<PopupConfig> {
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
*/
|
*/
|
||||||
constructor(private popupSetService: PopupSetService) {}
|
constructor(private popupConfigService: PopupConfigService) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Resolver
|
* Resolver
|
||||||
|
@ -21,7 +21,7 @@ export class PopupSetDetailResolver implements Resolve<PopupSet> {
|
||||||
resolve(
|
resolve(
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
state: RouterStateSnapshot
|
state: RouterStateSnapshot
|
||||||
): Observable<PopupSet> | Promise<PopupSet> | any {
|
): Observable<PopupConfig> | Promise<PopupConfig> | any {
|
||||||
const id = route.params.id;
|
const id = route.params.id;
|
||||||
if ('0' === id) {
|
if ('0' === id) {
|
||||||
return of({});
|
return of({});
|
|
@ -1,7 +1,7 @@
|
||||||
import { NgModule, ModuleWithProviders } from '@angular/core';
|
import { NgModule, ModuleWithProviders } from '@angular/core';
|
||||||
import { CommonModule } from '@angular/common';
|
import { CommonModule } from '@angular/common';
|
||||||
import { POPUP_SET_SERVICES } from './popup-set/service';
|
|
||||||
import { SERVICE_CENTER_SERVICES } from './service-center/service';
|
import { SERVICES } from './service/index';
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [],
|
imports: [],
|
||||||
|
@ -18,7 +18,7 @@ export class InfosModule {
|
||||||
public static forRoot(): ModuleWithProviders<InfosRootModule> {
|
public static forRoot(): ModuleWithProviders<InfosRootModule> {
|
||||||
return {
|
return {
|
||||||
ngModule: InfosRootModule,
|
ngModule: InfosRootModule,
|
||||||
providers: [POPUP_SET_SERVICES, SERVICE_CENTER_SERVICES]
|
providers: [SERVICES]
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
7
src/modules/infos/model/betting-rule.model.ts
Normal file
7
src/modules/infos/model/betting-rule.model.ts
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
import { UserDateAuditEntity } from 'src/modules/common/data/model/audit';
|
||||||
|
|
||||||
|
export interface BettingRule extends UserDateAuditEntity {
|
||||||
|
id?: number;
|
||||||
|
title?: string;
|
||||||
|
contents?: string;
|
||||||
|
}
|
8
src/modules/infos/model/free-board.model.ts
Normal file
8
src/modules/infos/model/free-board.model.ts
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
import { UserDateAuditEntity } from 'src/modules/common/data/model/audit';
|
||||||
|
|
||||||
|
export interface FreeBoard extends UserDateAuditEntity {
|
||||||
|
id?: number;
|
||||||
|
title?: string;
|
||||||
|
contents?: string;
|
||||||
|
attachFile?: number;
|
||||||
|
}
|
7
src/modules/infos/model/main-event.model.ts
Normal file
7
src/modules/infos/model/main-event.model.ts
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
import { UserDateAuditEntity } from 'src/modules/common/data/model/audit';
|
||||||
|
|
||||||
|
export interface MainEvent extends UserDateAuditEntity {
|
||||||
|
id?: number;
|
||||||
|
openState?: boolean;
|
||||||
|
attachFile?: number;
|
||||||
|
}
|
9
src/modules/infos/model/message.model.ts
Normal file
9
src/modules/infos/model/message.model.ts
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
import { UserDateAuditEntity } from 'src/modules/common/data/model/audit';
|
||||||
|
import { MessageStateName } from '../type/message-state.type';
|
||||||
|
|
||||||
|
export interface Message extends UserDateAuditEntity {
|
||||||
|
id?: number;
|
||||||
|
title?: string;
|
||||||
|
contents?: string;
|
||||||
|
stateName?: MessageStateName;
|
||||||
|
}
|
10
src/modules/infos/model/notice-board.model.ts
Normal file
10
src/modules/infos/model/notice-board.model.ts
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
import { UserDateAuditEntity } from 'src/modules/common/data/model/audit';
|
||||||
|
import { NoticeStateName } from '../type/notice-state.type';
|
||||||
|
|
||||||
|
export interface NoticeBoard extends UserDateAuditEntity {
|
||||||
|
id?: number;
|
||||||
|
title?: string;
|
||||||
|
contents?: string;
|
||||||
|
attachFile?: number;
|
||||||
|
noticeType?: NoticeStateName;
|
||||||
|
}
|
13
src/modules/infos/model/popup-config.model.ts
Normal file
13
src/modules/infos/model/popup-config.model.ts
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
import { UserDateAuditEntity } from 'src/modules/common/data/model/audit';
|
||||||
|
|
||||||
|
export interface PopupConfig extends UserDateAuditEntity {
|
||||||
|
id?: number;
|
||||||
|
thumbNail?: string;
|
||||||
|
title?: string;
|
||||||
|
imgWidth?: number;
|
||||||
|
imgHeight?: number;
|
||||||
|
imgX?: number;
|
||||||
|
imgY?: number;
|
||||||
|
openStatus?: boolean;
|
||||||
|
popupEffect?: number;
|
||||||
|
}
|
8
src/modules/infos/model/reply.model.ts
Normal file
8
src/modules/infos/model/reply.model.ts
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
import { UserDateAuditEntity } from 'src/modules/common/data/model/audit';
|
||||||
|
|
||||||
|
export interface Reply extends UserDateAuditEntity {
|
||||||
|
id?: number;
|
||||||
|
title?: string;
|
||||||
|
contents?: string;
|
||||||
|
freeBoard?: number;
|
||||||
|
}
|
12
src/modules/infos/model/service-center.model.ts
Normal file
12
src/modules/infos/model/service-center.model.ts
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
import { DateAudit } from 'src/modules/common/data/model/audit';
|
||||||
|
import { AnswerStateName } from '../type/answer-state.type';
|
||||||
|
import { QuestionStateName } from '../type/question-state.type';
|
||||||
|
|
||||||
|
export interface ServiceCenter extends DateAudit {
|
||||||
|
id?: number;
|
||||||
|
title?: string;
|
||||||
|
contents?: string;
|
||||||
|
attachFile?: number;
|
||||||
|
answerStatus?: AnswerStateName;
|
||||||
|
questionStatus?: QuestionStateName;
|
||||||
|
}
|
|
@ -1,13 +0,0 @@
|
||||||
import { DateAudit } from 'src/modules/common/data/model/audit';
|
|
||||||
|
|
||||||
export interface PopupSet extends DateAudit {
|
|
||||||
id?: number;
|
|
||||||
thumbNail?: string;
|
|
||||||
title?: string;
|
|
||||||
imageWidth?: number;
|
|
||||||
imageHeight?: number;
|
|
||||||
imageX?: number;
|
|
||||||
imageY?: number;
|
|
||||||
openStatus?: boolean;
|
|
||||||
popupEffect?: number;
|
|
||||||
}
|
|
|
@ -1,3 +0,0 @@
|
||||||
import { PopupSetService } from './popup-set.service';
|
|
||||||
|
|
||||||
export const POPUP_SET_SERVICES = [PopupSetService];
|
|
|
@ -1,13 +0,0 @@
|
||||||
import { DateAudit } from 'src/modules/common/data/model/audit';
|
|
||||||
|
|
||||||
export interface ServiceCenter extends DateAudit {
|
|
||||||
id?: number;
|
|
||||||
thumbNail?: string;
|
|
||||||
title?: string;
|
|
||||||
imageWidth?: number;
|
|
||||||
imageHeight?: number;
|
|
||||||
imageX?: number;
|
|
||||||
imageY?: number;
|
|
||||||
openStatus?: boolean;
|
|
||||||
popupEffect?: number;
|
|
||||||
}
|
|
|
@ -1,3 +0,0 @@
|
||||||
import { ServiceCenterService } from './service-center.service';
|
|
||||||
|
|
||||||
export const SERVICE_CENTER_SERVICES = [ServiceCenterService];
|
|
4
src/modules/infos/service/index.ts
Normal file
4
src/modules/infos/service/index.ts
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
import { PopupConfigService } from './popup-config.service';
|
||||||
|
import { ServiceCenterService } from './service-center.service';
|
||||||
|
|
||||||
|
export const SERVICES = [PopupConfigService, ServiceCenterService];
|
|
@ -3,7 +3,7 @@ import { HttpClient, HttpHeaders } from '@angular/common/http';
|
||||||
|
|
||||||
import { Observable } from 'rxjs';
|
import { Observable } from 'rxjs';
|
||||||
import { map, takeUntil } from 'rxjs/operators';
|
import { map, takeUntil } from 'rxjs/operators';
|
||||||
import { PopupSet } from '../model/popup-set.model';
|
import { PopupConfig } from '../model/popup-config.model';
|
||||||
import { API_BASE_URL } from 'src/modules/common/type/injection-token.type';
|
import { API_BASE_URL } from 'src/modules/common/type/injection-token.type';
|
||||||
import { Page } from 'src/modules/common/data/model/page';
|
import { Page } from 'src/modules/common/data/model/page';
|
||||||
import { FormArray } from '@angular/forms';
|
import { FormArray } from '@angular/forms';
|
||||||
|
@ -11,7 +11,7 @@ import { FormArray } from '@angular/forms';
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root'
|
providedIn: 'root'
|
||||||
})
|
})
|
||||||
export class PopupSetService {
|
export class PopupConfigService {
|
||||||
constructor(
|
constructor(
|
||||||
@Inject(API_BASE_URL) private apiBaseUrl: string,
|
@Inject(API_BASE_URL) private apiBaseUrl: string,
|
||||||
private httpClient: HttpClient
|
private httpClient: HttpClient
|
6
src/modules/infos/type/answer-state.type.ts
Normal file
6
src/modules/infos/type/answer-state.type.ts
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
export enum AnswerStateName {
|
||||||
|
UNANSWERED = 'UNANSWERED',
|
||||||
|
ANSWER_DONE = 'ANSWER_DONE',
|
||||||
|
CHECKING_USER = 'CHECKING_USER',
|
||||||
|
CONFIRMED_USER = 'CONFIRMED_USER'
|
||||||
|
}
|
4
src/modules/infos/type/message-state.type.ts
Normal file
4
src/modules/infos/type/message-state.type.ts
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
export enum MessageStateName {
|
||||||
|
WAITING = 'WAITING',
|
||||||
|
READ = 'READ'
|
||||||
|
}
|
4
src/modules/infos/type/notice-state.type.ts
Normal file
4
src/modules/infos/type/notice-state.type.ts
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
export enum NoticeStateName {
|
||||||
|
NOTICE = 'NOTICE',
|
||||||
|
EVENT = 'EVENT'
|
||||||
|
}
|
4
src/modules/infos/type/question-state.type.ts
Normal file
4
src/modules/infos/type/question-state.type.ts
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
export enum QuestionStateName {
|
||||||
|
NORMAL = 'NORMAL',
|
||||||
|
BANK_ACCOUNT = 'BANK_ACCOUNT'
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user