feat(dialog): 상세 팝업 SuperportDetailDialog 통합
- SuperportDetailDialog 위젯과 showSuperportDetailDialog 헬퍼를 추가하고 metadata/섹션 패턴을 표준화 - 결재/재고/마스터 각 상세 다이얼로그를 dialogs 디렉터리에 신설하고 기존 페이지를 신규 팝업으로 전환 - SuperportTable 행 선택과 우편번호 검색 다이얼로그 onRowTap 보정을 통해 헤더 오프셋 버그를 제거 - 상세 다이얼로그 및 트랜잭션/상세 뷰 전용 위젯 테스트와 tester_extensions 유틸을 추가하여 회귀를 방지 - detail_dialog_unification_plan.md로 작업 배경과 필드 통합 계획을 문서화
This commit is contained in:
@@ -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,
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user