- 새 부품 파일: ui_template_table · setting_row · drop · createRowMenu(context_menu) · 모달 폭 단 · askConfirm · askText(window.prompt 대신) · confirmPanel - 단추 = 552-2 단추 부품(⋯ 아이콘 단추 28 · 띠 알림 닫기 20 · 놓기 칸 [파일 고르기] 28) - 대시보드 PageKit 의 dataTable · tableShell · tableRow · rowMenu · settingRow · settingCard · valueText = 부품을 다시 내보냄(한 벌 · 부름 꼴 그대로) · B01 옛 CSS 걷음 - showConfirmDialog 는 모달 부품으로 옮기고 본체가 다시 내보냄 · 모달 가림막 옛 보라 → --color-scrim - 시험: test_552_3_* 다섯 더함 · 옮긴 함수 자리를 읽던 test_290_1 · test_505_2 고침 · 부품 CSS import 를 못 읽던 시험 도우미 넷(130 · 153 · 280_5 · 311)이 .css 를 건너뜀 - 전후 촬영: B01 여덟 화면 자리 같음 · ⋯ 아이콘만 1 px 왼쪽(단추 부품 가운데 맞춤) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
37 lines
2.0 KiB
TypeScript
37 lines
2.0 KiB
TypeScript
/* =============================================================================
|
|
* ui_template_setting_row.ts
|
|
* 부품 「설정 줄」(552-3 · 목록 33) — 왼쪽 제목 · 설명 / 오른쪽 값 · 조작 한 줄(Linear 꼴) · 여러 줄은 둥근 상자 하나에.
|
|
* 꼴 = 값 줄(`valueText` · 없으면 「-」) · 조작 줄(오른쪽에 입력 · 고르기 · 켜기 · 단추) · 설명 없는 줄
|
|
* 크기 = 줄 최소 52 · 여백 8 / 16 · 오른쪽 칸 최대 55 %
|
|
* 상태 = 기본만(조작 부품이 저마다 상태를 가짐)
|
|
* 쓰는 법 = `settingCard([settingRow("회사 이름", "보고서 머리에 들어감", valueText("산림설계"))])`
|
|
* 대신하는 옛 변종 = B01 `settingRow` · `settingCard`(`.b01-pg-row` · `.b01-pg-settings`) · `.b01-dashboard__setting-card` · E02 `e02-field` · E06 `e06-setting` · B08 `b08-hydro__row`
|
|
* ========================================================================== */
|
|
|
|
import { el } from "./ui_template_elements_base";
|
|
import "./ui_template_setting_row.css";
|
|
|
|
/** 한 줄 — 제목 · 설명 왼쪽 · 값 · 조작 오른쪽 */
|
|
export function settingRow(title: string, desc: string, right: Node): HTMLElement {
|
|
const left = el("div", {
|
|
className: "ui-setting-row__text",
|
|
children: [el("strong", { text: title })],
|
|
});
|
|
if (desc) left.append(el("span", { className: "ui-setting-row__desc", text: desc }));
|
|
const side = el("div", { className: "ui-setting-row__side" });
|
|
side.append(right);
|
|
return el("div", { className: "ui-setting-row", children: [left, side] });
|
|
}
|
|
|
|
/** 값 글 — 없으면 「-」 */
|
|
export const valueText = (v: string | number | null | undefined): HTMLElement =>
|
|
el("span", {
|
|
className: "ui-setting-row__value",
|
|
text: v === null || v === undefined || v === "" ? "-" : String(v),
|
|
});
|
|
|
|
/** 설정 줄 묶음 — 둥근 상자 한 개 */
|
|
export function settingCard(rows: HTMLElement[]): HTMLElement {
|
|
return el("div", { className: "ui-setting-card", children: rows });
|
|
}
|