dialog of group create is added
This commit is contained in:
parent
2ee7dd2526
commit
bf2490dda3
|
@ -37,6 +37,7 @@ import { AppTranslateModule } from './app-translate.module';
|
||||||
import { AppComponent } from './app.component';
|
import { AppComponent } from './app.component';
|
||||||
|
|
||||||
import { GUARDS } from './guards';
|
import { GUARDS } from './guards';
|
||||||
|
import { AppMessengerLayoutModule } from './layouts/messenger/messenger.layout.module';
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [
|
imports: [
|
||||||
|
@ -83,6 +84,8 @@ import { GUARDS } from './guards';
|
||||||
AppStoreModule,
|
AppStoreModule,
|
||||||
AppTranslateModule,
|
AppTranslateModule,
|
||||||
|
|
||||||
|
AppMessengerLayoutModule,
|
||||||
|
|
||||||
LoggerModule.forRoot({
|
LoggerModule.forRoot({
|
||||||
level: NgxLoggerLevel.DEBUG
|
level: NgxLoggerLevel.DEBUG
|
||||||
})
|
})
|
||||||
|
|
|
@ -5,7 +5,7 @@ import { map } from 'rxjs/operators';
|
||||||
|
|
||||||
import { Store, select } from '@ngrx/store';
|
import { Store, select } from '@ngrx/store';
|
||||||
|
|
||||||
import { ucapAnimations } from '@ucap-webmessenger/ui';
|
import { ucapAnimations, DialogService } from '@ucap-webmessenger/ui';
|
||||||
import { UserInfo, GroupDetailData } from '@ucap-webmessenger/protocol-sync';
|
import { UserInfo, GroupDetailData } from '@ucap-webmessenger/protocol-sync';
|
||||||
|
|
||||||
import * as AppStore from '@app/store';
|
import * as AppStore from '@app/store';
|
||||||
|
@ -15,6 +15,11 @@ import { Company } from '@ucap-webmessenger/api-external';
|
||||||
import { SessionStorageService } from '@ucap-webmessenger/web-storage';
|
import { SessionStorageService } from '@ucap-webmessenger/web-storage';
|
||||||
import { LoginInfo, KEY_LOGIN_INFO } from '@app/types';
|
import { LoginInfo, KEY_LOGIN_INFO } from '@app/types';
|
||||||
import { ExpansionPanelComponent as GroupExpansionPanelComponent } from '@ucap-webmessenger/ui-group';
|
import { ExpansionPanelComponent as GroupExpansionPanelComponent } from '@ucap-webmessenger/ui-group';
|
||||||
|
import {
|
||||||
|
CreateGroupDialogComponent,
|
||||||
|
CreateGroupDialogData,
|
||||||
|
CreateGroupDialogResult
|
||||||
|
} from '@app/layouts/messenger/dialogs/create-group.dialog.component';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-layout-chat-left-sidenav-group',
|
selector: 'app-layout-chat-left-sidenav-group',
|
||||||
|
@ -35,6 +40,7 @@ export class GroupComponent implements OnInit {
|
||||||
constructor(
|
constructor(
|
||||||
private store: Store<any>,
|
private store: Store<any>,
|
||||||
private sessionStorageService: SessionStorageService,
|
private sessionStorageService: SessionStorageService,
|
||||||
|
private dialogService: DialogService,
|
||||||
private logger: NGXLogger
|
private logger: NGXLogger
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
|
@ -43,11 +49,7 @@ export class GroupComponent implements OnInit {
|
||||||
this.companyCode = loginInfo.companyCode;
|
this.companyCode = loginInfo.companyCode;
|
||||||
|
|
||||||
this.companyList$ = this.store.pipe(
|
this.companyList$ = this.store.pipe(
|
||||||
select(AppStore.SettingSelector.CompanySelector.companyList),
|
select(AppStore.SettingSelector.CompanySelector.companyList)
|
||||||
map(list => {
|
|
||||||
this.logger.debug('list', list);
|
|
||||||
return list;
|
|
||||||
})
|
|
||||||
);
|
);
|
||||||
|
|
||||||
this.groupBuddyList$ = this.store
|
this.groupBuddyList$ = this.store
|
||||||
|
@ -95,16 +97,33 @@ export class GroupComponent implements OnInit {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
onClickGroupMenu(menuType: string) {
|
async onClickGroupMenu(menuType: string) {
|
||||||
this.logger.debug('menuType', menuType);
|
this.logger.debug('menuType', menuType);
|
||||||
switch (menuType) {
|
switch (menuType) {
|
||||||
case 'GROUP_NEW':
|
case 'GROUP_NEW':
|
||||||
|
{
|
||||||
|
const result = await this.dialogService.open<
|
||||||
|
CreateGroupDialogComponent,
|
||||||
|
CreateGroupDialogData,
|
||||||
|
CreateGroupDialogResult
|
||||||
|
>(CreateGroupDialogComponent, {
|
||||||
|
width: '220px',
|
||||||
|
data: {
|
||||||
|
title: 'Logout',
|
||||||
|
message: 'Logout ?'
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 'GROUP_EXPAND_MORE':
|
case 'GROUP_EXPAND_MORE':
|
||||||
|
{
|
||||||
this.groupExpansionPanel.expandMore();
|
this.groupExpansionPanel.expandMore();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 'GROUP_EXPAND_LESS':
|
case 'GROUP_EXPAND_LESS':
|
||||||
|
{
|
||||||
this.groupExpansionPanel.expandLess();
|
this.groupExpansionPanel.expandLess();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 'GROUP_SAVE':
|
case 'GROUP_SAVE':
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -1,24 +0,0 @@
|
||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
|
||||||
|
|
||||||
import { ConfirmDialogComponent } from './confirm.dialog.component';
|
|
||||||
|
|
||||||
describe('ui::ConfirmDialogComponent', () => {
|
|
||||||
let component: ConfirmDialogComponent;
|
|
||||||
let fixture: ComponentFixture<ConfirmDialogComponent>;
|
|
||||||
|
|
||||||
beforeEach(async(() => {
|
|
||||||
TestBed.configureTestingModule({
|
|
||||||
declarations: [ConfirmDialogComponent]
|
|
||||||
}).compileComponents();
|
|
||||||
}));
|
|
||||||
|
|
||||||
beforeEach(() => {
|
|
||||||
fixture = TestBed.createComponent(ConfirmDialogComponent);
|
|
||||||
component = fixture.componentInstance;
|
|
||||||
fixture.detectChanges();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should create', () => {
|
|
||||||
expect(component).toBeTruthy();
|
|
||||||
});
|
|
||||||
});
|
|
|
@ -1,51 +0,0 @@
|
||||||
import {
|
|
||||||
Component,
|
|
||||||
OnInit,
|
|
||||||
Inject,
|
|
||||||
ViewChild,
|
|
||||||
ElementRef
|
|
||||||
} from '@angular/core';
|
|
||||||
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';
|
|
||||||
|
|
||||||
export interface ConfirmDialogData {
|
|
||||||
title: string;
|
|
||||||
message?: string;
|
|
||||||
html?: string;
|
|
||||||
hideAction?: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ConfirmDialogResult {
|
|
||||||
choice: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Component({
|
|
||||||
selector: 'ucap-ui-confirm-dialog',
|
|
||||||
templateUrl: './confirm.dialog.component.html',
|
|
||||||
styleUrls: ['./confirm.dialog.component.scss']
|
|
||||||
})
|
|
||||||
export class ConfirmDialogComponent implements OnInit {
|
|
||||||
@ViewChild('messageContainer', { static: true })
|
|
||||||
messageContainer: ElementRef;
|
|
||||||
|
|
||||||
hideAction = false;
|
|
||||||
|
|
||||||
constructor(
|
|
||||||
public dialogRef: MatDialogRef<ConfirmDialogComponent, ConfirmDialogResult>,
|
|
||||||
@Inject(MAT_DIALOG_DATA) public data: ConfirmDialogData
|
|
||||||
) {}
|
|
||||||
|
|
||||||
ngOnInit(): void {
|
|
||||||
if (!!this.data.html) {
|
|
||||||
this.messageContainer.nativeElement.innerHTML = this.data.html;
|
|
||||||
}
|
|
||||||
if (!!this.data.hideAction) {
|
|
||||||
this.hideAction = this.data.hideAction;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
onClickChoice(choice: boolean): void {
|
|
||||||
this.dialogRef.close({
|
|
||||||
choice
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,14 +1,9 @@
|
||||||
<mat-card class="confirm-card">
|
<mat-card class="confirm-card">
|
||||||
<mat-card-header cdkDrag cdkDragRootElement=".cdk-overlay-pane" cdkDragHandle>
|
<mat-card-header cdkDrag cdkDragRootElement=".cdk-overlay-pane" cdkDragHandle>
|
||||||
<mat-card-title>{{ data.title }}</mat-card-title>
|
<mat-card-title>새 그룹 추가</mat-card-title>
|
||||||
<!-- <mat-card-subtitle>Confirm</mat-card-subtitle> -->
|
|
||||||
</mat-card-header>
|
</mat-card-header>
|
||||||
<mat-card-content>
|
<mat-card-content> </mat-card-content>
|
||||||
<div #messageContainer class="notice">
|
<mat-card-actions class="button-farm flex-row">
|
||||||
{{ data.message }}
|
|
||||||
</div>
|
|
||||||
</mat-card-content>
|
|
||||||
<mat-card-actions *ngIf="!hideAction" class="button-farm flex-row">
|
|
||||||
<button
|
<button
|
||||||
mat-stroked-button
|
mat-stroked-button
|
||||||
(click)="onClickChoice(false)"
|
(click)="onClickChoice(false)"
|
|
@ -0,0 +1,24 @@
|
||||||
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { CreateGroupDialogComponent } from './create-group.dialog.component';
|
||||||
|
|
||||||
|
describe('app::layouts::messenger::CreateGroupDialogComponent', () => {
|
||||||
|
let component: CreateGroupDialogComponent;
|
||||||
|
let fixture: ComponentFixture<CreateGroupDialogComponent>;
|
||||||
|
|
||||||
|
beforeEach(async(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [CreateGroupDialogComponent]
|
||||||
|
}).compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(CreateGroupDialogComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
|
@ -0,0 +1,34 @@
|
||||||
|
import { Component, OnInit, Inject } from '@angular/core';
|
||||||
|
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';
|
||||||
|
|
||||||
|
export interface CreateGroupDialogData {
|
||||||
|
title: string;
|
||||||
|
message?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface CreateGroupDialogResult {
|
||||||
|
choice: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-layout-messenger-create-group',
|
||||||
|
templateUrl: './create-group.dialog.component.html',
|
||||||
|
styleUrls: ['./create-group.dialog.component.scss']
|
||||||
|
})
|
||||||
|
export class CreateGroupDialogComponent implements OnInit {
|
||||||
|
constructor(
|
||||||
|
public dialogRef: MatDialogRef<
|
||||||
|
CreateGroupDialogData,
|
||||||
|
CreateGroupDialogResult
|
||||||
|
>,
|
||||||
|
@Inject(MAT_DIALOG_DATA) public data: CreateGroupDialogData
|
||||||
|
) {}
|
||||||
|
|
||||||
|
ngOnInit(): void {}
|
||||||
|
|
||||||
|
onClickChoice(choice: boolean): void {
|
||||||
|
this.dialogRef.close({
|
||||||
|
choice
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
import { CreateGroupDialogComponent } from './create-group.dialog.component';
|
||||||
|
|
||||||
|
export const DIALOGS = [CreateGroupDialogComponent];
|
|
@ -3,31 +3,43 @@ import { CommonModule } from '@angular/common';
|
||||||
|
|
||||||
import { FlexLayoutModule } from '@angular/flex-layout';
|
import { FlexLayoutModule } from '@angular/flex-layout';
|
||||||
|
|
||||||
|
import { MatButtonModule } from '@angular/material/button';
|
||||||
|
import { MatCardModule } from '@angular/material/card';
|
||||||
|
import { MatDialogModule } from '@angular/material/dialog';
|
||||||
import { MatIconModule } from '@angular/material/icon';
|
import { MatIconModule } from '@angular/material/icon';
|
||||||
import { MatMenuModule } from '@angular/material/menu';
|
import { MatMenuModule } from '@angular/material/menu';
|
||||||
import { MatTabsModule } from '@angular/material/tabs';
|
import { MatTabsModule } from '@angular/material/tabs';
|
||||||
import { MatToolbarModule } from '@angular/material/toolbar';
|
import { MatToolbarModule } from '@angular/material/toolbar';
|
||||||
|
|
||||||
|
import { DragDropModule } from '@angular/cdk/drag-drop';
|
||||||
|
|
||||||
|
import { UCapUiModule } from '@ucap-webmessenger/ui';
|
||||||
import { UCapUiChatModule } from '@ucap-webmessenger/ui-chat';
|
import { UCapUiChatModule } from '@ucap-webmessenger/ui-chat';
|
||||||
import { UCapUiGroupModule } from '@ucap-webmessenger/ui-group';
|
import { UCapUiGroupModule } from '@ucap-webmessenger/ui-group';
|
||||||
import { UCapUiOrganizationModule } from '@ucap-webmessenger/ui-organization';
|
import { UCapUiOrganizationModule } from '@ucap-webmessenger/ui-organization';
|
||||||
|
|
||||||
import { COMPONENTS } from './components';
|
import { COMPONENTS } from './components';
|
||||||
|
import { DIALOGS } from './dialogs';
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [
|
imports: [
|
||||||
CommonModule,
|
CommonModule,
|
||||||
FlexLayoutModule,
|
FlexLayoutModule,
|
||||||
|
DragDropModule,
|
||||||
|
MatButtonModule,
|
||||||
|
MatCardModule,
|
||||||
|
MatDialogModule,
|
||||||
MatIconModule,
|
MatIconModule,
|
||||||
MatMenuModule,
|
MatMenuModule,
|
||||||
MatTabsModule,
|
MatTabsModule,
|
||||||
MatToolbarModule,
|
MatToolbarModule,
|
||||||
|
UCapUiModule,
|
||||||
UCapUiChatModule,
|
UCapUiChatModule,
|
||||||
UCapUiGroupModule,
|
UCapUiGroupModule,
|
||||||
UCapUiOrganizationModule
|
UCapUiOrganizationModule
|
||||||
],
|
],
|
||||||
exports: [...COMPONENTS],
|
exports: [...COMPONENTS, ...DIALOGS],
|
||||||
declarations: [...COMPONENTS],
|
declarations: [...COMPONENTS, ...DIALOGS],
|
||||||
entryComponents: []
|
entryComponents: [...DIALOGS]
|
||||||
})
|
})
|
||||||
export class AppMessengerLayoutModule {}
|
export class AppMessengerLayoutModule {}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user