feat(dialog): 상세 팝업 SuperportDetailDialog 통합

- SuperportDetailDialog 위젯과 showSuperportDetailDialog 헬퍼를 추가하고 metadata/섹션 패턴을 표준화

- 결재/재고/마스터 각 상세 다이얼로그를 dialogs 디렉터리에 신설하고 기존 페이지를 신규 팝업으로 전환

- SuperportTable 행 선택과 우편번호 검색 다이얼로그 onRowTap 보정을 통해 헤더 오프셋 버그를 제거

- 상세 다이얼로그 및 트랜잭션/상세 뷰 전용 위젯 테스트와 tester_extensions 유틸을 추가하여 회귀를 방지

- detail_dialog_unification_plan.md로 작업 배경과 필드 통합 계획을 문서화
This commit is contained in:
JiWoong Sul
2025-11-07 19:02:43 +09:00
parent 1f78171294
commit 2f8b529506
64 changed files with 13721 additions and 7545 deletions

View File

@@ -182,13 +182,27 @@ class SuperportTable extends StatelessWidget {
: math.min(estimatedHeight, maxHeight!),
);
final hasHeaderRow = _headerCells != null || _columns != null;
final headerCount = hasHeaderRow ? 1 : 0;
void Function(int index)? handleRowTap;
if (onRowTap != null) {
handleRowTap = (index) {
final dataIndex = index - headerCount;
if (dataIndex < 0 || dataIndex >= tableRows.length) {
return;
}
onRowTap!(dataIndex);
};
}
final tableView = SizedBox(
height: effectiveHeight,
child: ShadTable.list(
header: headerCells,
columnSpanExtent: columnSpanExtent,
rowSpanExtent: (_) => FixedTableSpanExtent(rowHeight),
onRowTap: onRowTap,
onRowTap: handleRowTap,
primary: false,
children: tableRows,
),