1. 조직도 order 적용.
2. 쪽지 보내기 버튼 debounce 적용. 3. dialog 에 재동 focus 로 인한 버튼 focused 문제 수정.
This commit is contained in:
parent
4a1be6b422
commit
52bf47e489
|
@ -48,6 +48,9 @@ export class Effects {
|
|||
departmentInfoList.push(...(res as DeptData).departmentInfos);
|
||||
break;
|
||||
case SSVC_TYPE_QUERY_DEPT_RES:
|
||||
departmentInfoList.sort((a, b) =>
|
||||
a.order < b.order ? -1 : a.order > b.order ? 1 : 0
|
||||
);
|
||||
this.store.dispatch(
|
||||
deptSuccess({
|
||||
departmentInfoList
|
||||
|
|
|
@ -4,7 +4,11 @@
|
|||
[disabled]="disabled"
|
||||
#matMenuTrigger="matMenuTrigger"
|
||||
>
|
||||
<mat-button-toggle color="primary" (click)="onClick($event)">
|
||||
<mat-button-toggle
|
||||
color="primary"
|
||||
ucapDebounceClick
|
||||
(debounceClick)="onClick($event)"
|
||||
>
|
||||
<ng-content></ng-content>
|
||||
</mat-button-toggle>
|
||||
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
import {
|
||||
Directive,
|
||||
EventEmitter,
|
||||
HostListener,
|
||||
Input,
|
||||
OnDestroy,
|
||||
OnInit,
|
||||
Output
|
||||
} from '@angular/core';
|
||||
import { Subject, Subscription } from 'rxjs';
|
||||
import { debounceTime } from 'rxjs/operators';
|
||||
|
||||
@Directive({
|
||||
selector: '[ucapDebounceClick]'
|
||||
})
|
||||
export class ClickDebounceDirective implements OnInit, OnDestroy {
|
||||
@Input() debounceTime = 500;
|
||||
@Output() debounceClick = new EventEmitter();
|
||||
private clicks = new Subject();
|
||||
private subscription: Subscription;
|
||||
|
||||
constructor() {}
|
||||
|
||||
ngOnInit() {
|
||||
this.subscription = this.clicks
|
||||
.pipe(debounceTime(this.debounceTime))
|
||||
.subscribe(e => this.debounceClick.emit(e));
|
||||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
this.subscription.unsubscribe();
|
||||
}
|
||||
|
||||
@HostListener('click', ['$event'])
|
||||
clickEvent(event) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
this.clicks.next(event);
|
||||
}
|
||||
}
|
|
@ -16,6 +16,8 @@ export class DialogService {
|
|||
config?: MatDialogConfig<D>
|
||||
): Promise<R> {
|
||||
return new Promise<R>((resolve, reject) => {
|
||||
config = { ...config, autoFocus: false };
|
||||
|
||||
const dialogRef = this.matDialog.open<T, D, R>(
|
||||
componentOrTemplateRef,
|
||||
config
|
||||
|
|
|
@ -71,6 +71,7 @@ import {
|
|||
StringEmptyCheckPipe,
|
||||
StringFormatterPhonePipe
|
||||
} from './pipes/string.pipe';
|
||||
import { ClickDebounceDirective } from './directives/click-debounce.directive';
|
||||
|
||||
const COMPONENTS = [
|
||||
FileUploadQueueComponent,
|
||||
|
@ -94,7 +95,8 @@ const DIRECTIVES = [
|
|||
ClickOutsideDirective,
|
||||
FileUploadForDirective,
|
||||
ImageDirective,
|
||||
CdkVirtualScrollViewportPatchDirective
|
||||
CdkVirtualScrollViewportPatchDirective,
|
||||
ClickDebounceDirective
|
||||
];
|
||||
const PIPES = [
|
||||
BytesPipe,
|
||||
|
|
Loading…
Reference in New Issue
Block a user