feat(view): 교각 목록 and bulk line in the ③ left column (시안 ③)
The ③ screen had no pier list. The left column now has the 교각 목록 with checkboxes and a 배근 status (계산됨 / 오류), the 선택 n기 line with 속성 복사…, then 부재 · 배근 타입. The checks are shared with ① and ②. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
1074fdf428
commit
e7f57f0a8a
2 files changed
+19
-3
No files matched your search
+9
-1
@@ -252,7 +252,7 @@ function renderPierList(): void {
|
||||
}
|
||||
|
||||
/** Rows of the pier list. ① shows the type and warnings; ② shows the count of changes from the defaults. */
|
||||
function renderPierRows(list: HTMLUListElement, mode: 'shape' | 'plan'): void {
|
||||
function renderPierRows(list: HTMLUListElement, mode: 'shape' | 'plan' | 'rebar'): void {
|
||||
list.replaceChildren();
|
||||
const visible = state.piers.filter((p) => state.filter === 'all' || p.input.type === state.filter);
|
||||
for (const pier of visible) {
|
||||
@@ -276,6 +276,8 @@ function renderPierRows(list: HTMLUListElement, mode: 'shape' | 'plan'): void {
|
||||
});
|
||||
const badge = mode === 'plan'
|
||||
? el('span', `변경 ${overrideKeys(pier).length}`, 'badge')
|
||||
: mode === 'rebar'
|
||||
? (pier.model ? el('span', '계산됨', 'badge') : el('span', '오류', 'badge error'))
|
||||
: pier.model
|
||||
? el('span', `${pier.input.type}${pier.issues.some((i) => i.level !== 'I') ? ' · 경고' : ''}`, 'badge')
|
||||
: el('span', '오류', 'badge error');
|
||||
@@ -701,6 +703,11 @@ const REBAR_MEMBERS: { id: RebarRow['member']; label: string }[] = [
|
||||
|
||||
function renderRebar(): void {
|
||||
const pier = activePier();
|
||||
// 교각 목록 with the 배근 status (시안 ③). The checks are the same as in ① and ②.
|
||||
renderPierRows($<HTMLUListElement>('rebar-pier-items'), 'rebar');
|
||||
const checked = state.piers.filter((p) => p.checked).length;
|
||||
$('rebar-bulk-count').textContent = `선택 ${checked}기`;
|
||||
$<HTMLButtonElement>('rebar-bulk-copy').disabled = !pier;
|
||||
const tabs = $<HTMLUListElement>('rebar-tabs');
|
||||
tabs.replaceChildren();
|
||||
for (const m of REBAR_MEMBERS) {
|
||||
@@ -1247,6 +1254,7 @@ $<HTMLButtonElement>('dlg-apply').addEventListener('click', applyImport);
|
||||
$<HTMLButtonElement>('regen').addEventListener('click', regenerateChecked);
|
||||
$<HTMLButtonElement>('bulk-regen').addEventListener('click', regenerateChecked);
|
||||
$<HTMLButtonElement>('bulk-copy').addEventListener('click', openCopyDialog);
|
||||
$<HTMLButtonElement>('rebar-bulk-copy').addEventListener('click', openCopyDialog);
|
||||
$<HTMLButtonElement>('nav-shape').addEventListener('click', () => setStage('shape'));
|
||||
$<HTMLButtonElement>('nav-plan').addEventListener('click', () => setStage('plan'));
|
||||
$<HTMLButtonElement>('nav-rebar').addEventListener('click', () => setStage('rebar'));
|
||||
|
||||
Reference in new issue
Block a user