@takagaki/cortex-decisions-viewer 0.12.140 → 0.12.142
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/render.js +67 -23
- package/package.json +1 -1
package/dist/render.js
CHANGED
|
@@ -4962,6 +4962,10 @@ button.site-icon[aria-busy="true"] .site-icon-plus { opacity: 0; }
|
|
|
4962
4962
|
新しい見た目は作らず、.card:hover と同じ強調(アクセント色の枠)を使い回す */
|
|
4963
4963
|
.card.is-returned-to { border-color: var(--accent); }
|
|
4964
4964
|
.card-meta { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 12.5px; color: var(--muted); margin-bottom: 6px; }
|
|
4965
|
+
.card-facet { overflow-wrap: anywhere; min-width: 0; }
|
|
4966
|
+
.card-facet-yomi { font-size: 11.5px; }
|
|
4967
|
+
.card-titlerow { display: flex; align-items: baseline; gap: 12px; margin: 0 0 6px; }
|
|
4968
|
+
.card-titlerow .card-title { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; margin: 2px 0 0; }
|
|
4965
4969
|
/* card-title はカードの見出し(#1 新しいタブでも開けるよう <a> にした)。見た目は元の <div> と揃える */
|
|
4966
4970
|
.card-title { display: block; font-size: 16px; font-weight: 650; margin: 2px 0 6px; color: var(--text); }
|
|
4967
4971
|
.card-summary { color: #3b424c; font-size: 14px; margin: 0; }
|
|
@@ -8538,6 +8542,60 @@ ${calendarAddUrl.toString()}
|
|
|
8538
8542
|
return !ev.defaultPrevented && ev.button === 0 && !ev.metaKey && !ev.ctrlKey && !ev.shiftKey && !ev.altKey;
|
|
8539
8543
|
}
|
|
8540
8544
|
|
|
8545
|
+
/** 一覧カードの頭(上の段 + 題)を組む。左側の中身(札・日付・エラーの札)が 1 つも無いときは
|
|
8546
|
+
* 空の .card-meta を作らず、「🕸 つながり」を題の行の右端に置く(#1094)。 */
|
|
8547
|
+
function cardHead(rec, leftNodes, titleExtra) {
|
|
8548
|
+
var trace = el("a", { class: "mc-trace", href: "?tab=graph", text: "🕸 つながり" });
|
|
8549
|
+
trace.addEventListener("click", function (ev) { ev.preventDefault(); ev.stopPropagation(); openExplorerFor(rec); });
|
|
8550
|
+
var meta = el("div", { class: "card-meta" }, leftNodes);
|
|
8551
|
+
var eb = fmErrorBadge(rec);
|
|
8552
|
+
if (eb) meta.appendChild(eb);
|
|
8553
|
+
var title = cardTitleLink(rec, titleExtra);
|
|
8554
|
+
if (!meta.childNodes.length) return [el("div", { class: "card-titlerow" }, [title, trace])];
|
|
8555
|
+
meta.appendChild(trace);
|
|
8556
|
+
return [meta, title];
|
|
8557
|
+
}
|
|
8558
|
+
|
|
8559
|
+
/**
|
|
8560
|
+
* 一覧カードの上の段(左側)に出す、記録に既にある中身(#1094・オーナー決定 10/14)。
|
|
8561
|
+
* 用語=別名(synonyms)・ルール=いつからか(derived_from の決定の日付)・関係者=読み仮名(yomi)と所属(org)。
|
|
8562
|
+
* 無い記録は空の配列を返す(段そのものを作らない)。ID・メールアドレスは出さない。
|
|
8563
|
+
*/
|
|
8564
|
+
function cardFacets(rec) {
|
|
8565
|
+
var fm = rec.fm || {};
|
|
8566
|
+
var sec = rec._section;
|
|
8567
|
+
var out = [];
|
|
8568
|
+
function strs(v) {
|
|
8569
|
+
return (Array.isArray(v) ? v : []).map(function (x) { return typeof x === "string" ? x.trim() : ""; }).filter(Boolean);
|
|
8570
|
+
}
|
|
8571
|
+
if (rec.rtype === "term" || sec === "Glossary" || sec === "用語集") {
|
|
8572
|
+
var syn = strs(fm.synonyms);
|
|
8573
|
+
if (syn.length) {
|
|
8574
|
+
var shown = syn.slice(0, 3).join("・") + (syn.length > 3 ? " ほか " + (syn.length - 3) : "");
|
|
8575
|
+
out.push(el("span", { class: "card-facet card-facet-alias", text: "別名 " + shown }));
|
|
8576
|
+
}
|
|
8577
|
+
} else if (rec.rtype === "rule" || sec === "Rules" || sec === "ルール") {
|
|
8578
|
+
var days = [];
|
|
8579
|
+
(rec.relations || []).forEach(function (rl) {
|
|
8580
|
+
if (!rl || rl.rel !== "derived_from") return;
|
|
8581
|
+
var d = byId[rl.target];
|
|
8582
|
+
var m = d && d._kind === "decision" && typeof d.date === "string" ? d.date.match(/^\\d{4}-(\\d{2})-(\\d{2})$/) : null;
|
|
8583
|
+
if (m) days.push(d.date);
|
|
8584
|
+
});
|
|
8585
|
+
if (days.length) {
|
|
8586
|
+
days.sort();
|
|
8587
|
+
var p = days[0].split("-");
|
|
8588
|
+
out.push(el("span", { class: "card-facet card-facet-since", text: parseInt(p[1], 10) + "/" + parseInt(p[2], 10) + " の決定から" }));
|
|
8589
|
+
}
|
|
8590
|
+
} else if (isMemberRec(rec)) {
|
|
8591
|
+
var yomi = typeof fm.yomi === "string" ? fm.yomi.trim() : "";
|
|
8592
|
+
var org = typeof fm.org === "string" ? fm.org.trim() : "";
|
|
8593
|
+
if (yomi) out.push(el("span", { class: "card-facet card-facet-yomi", text: yomi }));
|
|
8594
|
+
if (org) out.push(el("span", { class: "card-facet card-facet-org", text: org }));
|
|
8595
|
+
}
|
|
8596
|
+
return out;
|
|
8597
|
+
}
|
|
8598
|
+
|
|
8541
8599
|
/**
|
|
8542
8600
|
* 一覧カードの見出し(#1)。普通の a href="?id=..." にして、中クリック・
|
|
8543
8601
|
* Ctrl/Cmd クリックで新しいタブでも開けるようにする(opsTabLink と同じ型)。
|
|
@@ -19738,25 +19796,18 @@ ${calendarAddUrl.toString()}
|
|
|
19738
19796
|
(pg.pages > 1 ? "(" + pg.page + "/" + pg.pages + "ページ)" : "");
|
|
19739
19797
|
|
|
19740
19798
|
pg.slice.forEach(function (d) {
|
|
19741
|
-
var
|
|
19799
|
+
var head = cardHead(d, [
|
|
19742
19800
|
draftBadge(d),
|
|
19743
19801
|
retiredBadge(d),
|
|
19744
19802
|
latestBadge(d),
|
|
19745
19803
|
el("span", { class: "mono", text: d.date || "----" }),
|
|
19746
19804
|
firmnessBadge(d),
|
|
19747
19805
|
topicBadge(d),
|
|
19748
|
-
]);
|
|
19749
|
-
|
|
19750
|
-
|
|
19751
|
-
var traceD = el("a", { class: "mc-trace", href: "?tab=graph", text: "🕸 つながり" });
|
|
19752
|
-
traceD.addEventListener("click", function (ev) { ev.preventDefault(); ev.stopPropagation(); openExplorerFor(d); });
|
|
19753
|
-
meta.appendChild(traceD);
|
|
19754
|
-
var card = el("div", { class: "card", title: d.id, "data-record-id": d.id }, [
|
|
19755
|
-
meta,
|
|
19756
|
-
// 消したレコードは一覧でも取り消し線(次のビルドまで一覧には残る)
|
|
19757
|
-
cardTitleLink(d, d.deleted ? " is-deleted" : ""),
|
|
19806
|
+
], d.deleted ? " is-deleted" : "");
|
|
19807
|
+
// 消したレコードは一覧でも取り消し線(次のビルドまで一覧には残る)
|
|
19808
|
+
var card = el("div", { class: "card", title: d.id, "data-record-id": d.id }, head.concat([
|
|
19758
19809
|
d.summary ? el("p", { class: "card-summary", text: d.summary }) : null,
|
|
19759
|
-
]);
|
|
19810
|
+
]));
|
|
19760
19811
|
card.addEventListener("click", function () { go(d.id); });
|
|
19761
19812
|
wrap.appendChild(card);
|
|
19762
19813
|
});
|
|
@@ -19804,22 +19855,15 @@ ${calendarAddUrl.toString()}
|
|
|
19804
19855
|
shown.length + " / " + items.length + " 件" +
|
|
19805
19856
|
(pg.pages > 1 ? "(" + pg.page + "/" + pg.pages + "ページ)" : "");
|
|
19806
19857
|
pg.slice.forEach(function (r) {
|
|
19807
|
-
var
|
|
19858
|
+
var head = cardHead(r, [
|
|
19808
19859
|
draftBadge(r),
|
|
19809
19860
|
retractedBadge(r),
|
|
19810
19861
|
latestBadge(r),
|
|
19811
19862
|
r.date ? el("span", { class: "mono", text: r.date }) : null,
|
|
19812
|
-
]);
|
|
19813
|
-
var
|
|
19814
|
-
if (ebr) meta.appendChild(ebr);
|
|
19815
|
-
var traceR = el("a", { class: "mc-trace", href: "?tab=graph", text: "🕸 つながり" });
|
|
19816
|
-
traceR.addEventListener("click", function (ev) { ev.preventDefault(); ev.stopPropagation(); openExplorerFor(r); });
|
|
19817
|
-
meta.appendChild(traceR);
|
|
19818
|
-
var card = el("div", { class: "card" + retractedFadedClass(r), title: r.id, "data-record-id": r.id }, [
|
|
19819
|
-
meta,
|
|
19820
|
-
cardTitleLink(r, r.deleted ? " is-deleted" : ""),
|
|
19863
|
+
].concat(cardFacets(r)), r.deleted ? " is-deleted" : "");
|
|
19864
|
+
var card = el("div", { class: "card" + retractedFadedClass(r), title: r.id, "data-record-id": r.id }, head.concat([
|
|
19821
19865
|
r.summary ? el("p", { class: "card-summary", text: r.summary }) : null,
|
|
19822
|
-
]);
|
|
19866
|
+
]));
|
|
19823
19867
|
card.addEventListener("click", function () { go(r.id); });
|
|
19824
19868
|
listWrap.appendChild(card);
|
|
19825
19869
|
});
|
package/package.json
CHANGED