Skip to content

Commit b95e65c

Browse files
committed
refactor: standardize MatDialog sizing with semantic size tiers
1 parent f1ec329 commit b95e65c

6 files changed

Lines changed: 27 additions & 12 deletions

File tree

src/app/component/modal-message/modal-message.component.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {
99
import md from 'markdown-it';
1010
import { MarkdownText } from 'src/app/model/markdown-text';
1111
import { NotificationService } from 'src/app/service/notification.service';
12+
import { dialogSizeConfig } from 'src/app/util/dialog-sizes';
1213
import { MatButtonModule } from '@angular/material/button';
1314
import { NgFor } from '@angular/common';
1415

@@ -62,6 +63,7 @@ export class ModalMessageComponent implements OnInit {
6263
dialogConfig.disableClose = true;
6364
dialogConfig.data = dialogInfo;
6465
dialogConfig.autoFocus = false;
66+
Object.assign(dialogConfig, dialogSizeConfig('md'));
6567
this.dialogRef = this.dialog.open(ModalMessageComponent, dialogConfig);
6668
return this.dialogRef;
6769
}

src/app/pages/circular-heatmap/circular-heatmap.component.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ import {
3737
ViewEvidenceModalComponent,
3838
ViewEvidenceModalData,
3939
} from '../../component/view-evidence-modal/view-evidence-modal.component';
40+
import { dialogSizeConfig } from '../../util/dialog-sizes';
4041
import { ProgressSliderComponent } from '../../component/progress-slider/progress-slider.component';
4142
import { MatTooltipModule } from '@angular/material/tooltip';
4243
import { MatExpansionModule } from '@angular/material/expansion';
@@ -821,8 +822,7 @@ export class CircularHeatmapComponent implements OnInit, OnDestroy {
821822
};
822823

823824
const dialogRef = this.dialog.open(AddEvidenceModalComponent, {
824-
width: '600px',
825-
maxHeight: '90vh',
825+
...dialogSizeConfig('md'),
826826
data: dialogData,
827827
});
828828

@@ -841,8 +841,7 @@ export class CircularHeatmapComponent implements OnInit, OnDestroy {
841841
};
842842

843843
this.dialog.open(ViewEvidenceModalComponent, {
844-
width: '500px',
845-
maxHeight: '90vh',
844+
...dialogSizeConfig('md'),
846845
data: dialogData,
847846
});
848847
}

src/app/pages/report/report.component.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import {
2323
ViewEvidenceModalComponent,
2424
ViewEvidenceModalData,
2525
} from '../../component/view-evidence-modal/view-evidence-modal.component';
26+
import { dialogSizeConfig } from '../../util/dialog-sizes';
2627
import { MatTooltipModule } from '@angular/material/tooltip';
2728
import { ColResizeDirective } from '../../directive/col-resize.directive';
2829
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
@@ -334,8 +335,7 @@ export class ReportComponent implements OnInit {
334335
};
335336

336337
const dialogRef = this.dialog.open(ReportConfigModalComponent, {
337-
width: '700px',
338-
maxHeight: '90vh',
338+
...dialogSizeConfig('lg'),
339339
data: modalData,
340340
});
341341

@@ -502,9 +502,7 @@ export class ReportComponent implements OnInit {
502502
};
503503

504504
this.dialog.open(ViewEvidenceModalComponent, {
505-
width: '100000px',
506-
maxWidth: 'none',
507-
maxHeight: '90vh',
505+
...dialogSizeConfig('md'),
508506
data: dialogData,
509507
});
510508
}

src/app/service/notification.service.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import {
55
ModalMessageComponent,
66
DialogInfo,
77
} from '../component/modal-message/modal-message.component';
8+
import { dialogSizeConfig } from '../util/dialog-sizes';
89

910
@Injectable({ providedIn: 'root' })
1011
export class NotificationService {
@@ -21,6 +22,7 @@ export class NotificationService {
2122
dialogConfig.disableClose = true;
2223
dialogConfig.autoFocus = false;
2324
dialogConfig.data = new DialogInfo(message, title);
25+
Object.assign(dialogConfig, dialogSizeConfig('md'));
2426

2527
this.dialog.open(ModalMessageComponent, dialogConfig);
2628
}

src/app/util/dialog-sizes.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { MatDialogConfig } from '@angular/material/dialog';
2+
3+
export type DialogSize = 'sm' | 'md' | 'lg';
4+
5+
const DIALOG_WIDTHS: Record<DialogSize, string> = {
6+
sm: '480px',
7+
md: '640px',
8+
lg: '90vw',
9+
};
10+
11+
export function dialogSizeConfig(size: DialogSize): Partial<MatDialogConfig> {
12+
return {
13+
width: DIALOG_WIDTHS[size],
14+
maxWidth: size === 'lg' ? '90vw' : '80vw',
15+
maxHeight: '90vh',
16+
};
17+
}

src/custom-theme.scss

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,6 @@ html {
101101
color: var(--text-primary);
102102
}
103103

104-
.cdk-overlay-pane.mat-mdc-dialog-panel {
105-
max-width: 90vw !important;
106-
}
107104

108105
.mat-mdc-dialog-container {
109106
--mdc-dialog-container-color: var(--background-primary);

0 commit comments

Comments
 (0)