mirror of
https://github.com/Youzini-afk/ST-Bionic-Memory-Ecology.git
synced 2026-05-15 22:30:38 +08:00
ui: collapse advanced story time fields and story time span section
This commit is contained in:
36
style.css
36
style.css
@@ -4819,6 +4819,42 @@
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
.bme-node-detail-collapse {
|
||||
margin: 6px 0 8px;
|
||||
}
|
||||
|
||||
.bme-node-detail-collapse > summary {
|
||||
font-size: 10px;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.5px;
|
||||
color: var(--bme-on-surface-dim);
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
list-style: none;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
}
|
||||
|
||||
.bme-node-detail-collapse > summary::-webkit-details-marker {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.bme-node-detail-collapse > summary::before {
|
||||
content: "▶";
|
||||
font-size: 8px;
|
||||
transition: transform 0.15s;
|
||||
}
|
||||
|
||||
.bme-node-detail-collapse[open] > summary::before {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
|
||||
.bme-node-detail-collapse > .bme-node-detail-field:first-of-type {
|
||||
margin-top: 6px;
|
||||
}
|
||||
|
||||
/* --- Scrollbar --- */
|
||||
.bme-tab-content::-webkit-scrollbar,
|
||||
.bme-config-sidebar::-webkit-scrollbar,
|
||||
|
||||
42
ui/panel.js
42
ui/panel.js
@@ -4082,87 +4082,97 @@ function _buildNodeDetailEditorFragment(raw, { idPrefix = "bme-detail" } = {}) {
|
||||
storyTime.tense,
|
||||
STORY_TIME_TENSE_OPTIONS,
|
||||
);
|
||||
|
||||
const storyTimeAdvanced = document.createElement("details");
|
||||
storyTimeAdvanced.className = "bme-node-detail-collapse";
|
||||
const storyTimeAdvancedSummary = document.createElement("summary");
|
||||
storyTimeAdvancedSummary.textContent = "高级";
|
||||
storyTimeAdvanced.appendChild(storyTimeAdvancedSummary);
|
||||
_appendNodeDetailSelectInput(
|
||||
fragment,
|
||||
storyTimeAdvanced,
|
||||
"相对关系",
|
||||
inputId("story-time-relation"),
|
||||
storyTime.relation,
|
||||
STORY_TIME_RELATION_OPTIONS,
|
||||
);
|
||||
_appendNodeDetailTextInput(
|
||||
fragment,
|
||||
storyTimeAdvanced,
|
||||
"锚点标签",
|
||||
inputId("story-time-anchor-label"),
|
||||
storyTime.anchorLabel,
|
||||
);
|
||||
_appendNodeDetailSelectInput(
|
||||
fragment,
|
||||
storyTimeAdvanced,
|
||||
"置信度",
|
||||
inputId("story-time-confidence"),
|
||||
storyTime.confidence,
|
||||
STORY_TIME_CONFIDENCE_OPTIONS,
|
||||
);
|
||||
_appendNodeDetailSelectInput(
|
||||
fragment,
|
||||
storyTimeAdvanced,
|
||||
"来源",
|
||||
inputId("story-time-source"),
|
||||
storyTime.source,
|
||||
STORY_TIME_SOURCE_OPTIONS,
|
||||
);
|
||||
_appendNodeDetailTextInput(
|
||||
fragment,
|
||||
storyTimeAdvanced,
|
||||
"段 ID",
|
||||
inputId("story-time-segment-id"),
|
||||
storyTime.segmentId,
|
||||
);
|
||||
fragment.appendChild(storyTimeAdvanced);
|
||||
|
||||
const storyTimeSpanSection = document.createElement("div");
|
||||
storyTimeSpanSection.className = "bme-node-detail-section";
|
||||
storyTimeSpanSection.textContent = "剧情时间范围";
|
||||
fragment.appendChild(storyTimeSpanSection);
|
||||
const storyTimeSpanCollapse = document.createElement("details");
|
||||
storyTimeSpanCollapse.className = "bme-node-detail-collapse";
|
||||
const storyTimeSpanSummaryEl = document.createElement("summary");
|
||||
storyTimeSpanSummaryEl.className = "bme-node-detail-section";
|
||||
storyTimeSpanSummaryEl.textContent = "剧情时间范围";
|
||||
storyTimeSpanCollapse.appendChild(storyTimeSpanSummaryEl);
|
||||
_appendNodeDetailReadOnly(
|
||||
fragment,
|
||||
storyTimeSpanCollapse,
|
||||
"当前范围",
|
||||
_describeStoryTimeSpanDisplay(storyTimeSpan) || "—",
|
||||
);
|
||||
_appendNodeDetailTextInput(
|
||||
fragment,
|
||||
storyTimeSpanCollapse,
|
||||
"起点标签",
|
||||
inputId("story-time-span-start-label"),
|
||||
storyTimeSpan.startLabel,
|
||||
);
|
||||
_appendNodeDetailTextInput(
|
||||
fragment,
|
||||
storyTimeSpanCollapse,
|
||||
"终点标签",
|
||||
inputId("story-time-span-end-label"),
|
||||
storyTimeSpan.endLabel,
|
||||
);
|
||||
_appendNodeDetailSelectInput(
|
||||
fragment,
|
||||
storyTimeSpanCollapse,
|
||||
"混合时间",
|
||||
inputId("story-time-span-mixed"),
|
||||
storyTimeSpan.mixed ? "true" : "false",
|
||||
STORY_TIME_MIXED_OPTIONS,
|
||||
);
|
||||
_appendNodeDetailSelectInput(
|
||||
fragment,
|
||||
storyTimeSpanCollapse,
|
||||
"来源",
|
||||
inputId("story-time-span-source"),
|
||||
storyTimeSpan.source,
|
||||
STORY_TIME_SOURCE_OPTIONS,
|
||||
);
|
||||
_appendNodeDetailTextInput(
|
||||
fragment,
|
||||
storyTimeSpanCollapse,
|
||||
"起点段 ID",
|
||||
inputId("story-time-span-start-segment-id"),
|
||||
storyTimeSpan.startSegmentId,
|
||||
);
|
||||
_appendNodeDetailTextInput(
|
||||
fragment,
|
||||
storyTimeSpanCollapse,
|
||||
"终点段 ID",
|
||||
inputId("story-time-span-end-segment-id"),
|
||||
storyTimeSpan.endSegmentId,
|
||||
);
|
||||
fragment.appendChild(storyTimeSpanCollapse);
|
||||
|
||||
_appendNodeDetailNumberInput(
|
||||
fragment,
|
||||
|
||||
Reference in New Issue
Block a user