@takagaki/cortex-decisions-viewer 0.12.217 → 0.12.220

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.
@@ -229,7 +229,7 @@ function googleConfirmPageJs() {
229
229
  document.head.appendChild(s);
230
230
  });
231
231
  }
232
- /** Picker でフォルダを選ぶ。選ばずに閉じたら null */
232
+ /** Picker でフォルダを選ぶ。選ばずに閉じたら null。確認(confirm)は、確かめる行のフォルダだけを出す(setFileIds は setEnableDrives・setParent と併用できないので 1 つの画面にする) */
233
233
  function pickFolder(info, accessToken) {
234
234
  return loadScript("https://apis.google.com/js/api.js")
235
235
  .then(function () { return new Promise(function (resolve) { window.gapi.load("picker", { callback: resolve }); }); })
@@ -238,13 +238,18 @@ function googleConfirmPageJs() {
238
238
  var g = window.google.picker;
239
239
  var mine = new g.DocsView(g.ViewId.FOLDERS).setIncludeFolders(true).setSelectFolderEnabled(true).setMimeTypes("application/vnd.google-apps.folder");
240
240
  var shared = new g.DocsView(g.ViewId.FOLDERS).setIncludeFolders(true).setSelectFolderEnabled(true).setEnableDrives(true).setMimeTypes("application/vnd.google-apps.folder");
241
- var picker = new g.PickerBuilder()
241
+ var builder = new g.PickerBuilder()
242
242
  .setAppId(info.projectNumber)
243
243
  .setDeveloperKey(info.apiKey)
244
244
  .setOAuthToken(accessToken)
245
- .enableFeature(g.Feature.SUPPORT_DRIVES)
246
- .addView(mine)
247
- .addView(shared)
245
+ .enableFeature(g.Feature.SUPPORT_DRIVES);
246
+ if (ctx.mode === "confirm" && ctx.id) {
247
+ var only = new g.DocsView(g.ViewId.FOLDERS).setIncludeFolders(true).setSelectFolderEnabled(true).setMimeTypes("application/vnd.google-apps.folder").setFileIds(ctx.id);
248
+ builder = builder.addView(only);
249
+ } else {
250
+ builder = builder.addView(mine).addView(shared);
251
+ }
252
+ var picker = builder
248
253
  .setCallback(function (data) {
249
254
  if (data.action === g.Action.PICKED && data.docs && data.docs[0]) resolve(data.docs[0]);
250
255
  else if (data.action === g.Action.CANCEL) resolve(null);
@@ -372,7 +377,7 @@ function googleConfirmPageJs() {
372
377
  var what = isDrive ? "Drive のフォルダ" : "Google Chat のスペース";
373
378
  titleEl.textContent = (ctx.mode === "confirm" ? what + "を確認する" : what + "を追加する");
374
379
  leadEl.textContent = isDrive
375
- ? "あなたの Google アカウントで、追加するフォルダを選びます。選んだフォルダだけを Cortex が確認に使います。「このアプリは Google で確認されていません」と出たら、「詳細」から進めます。"
380
+ ? (ctx.mode === "confirm" && ctx.id ? "登録済みのフォルダを、あなたの Google アカウントで開けるか確かめます。出てきたフォルダを選んで[Select]を押してください。" : "あなたの Google アカウントで、追加するフォルダを選びます。") + "選んだフォルダだけを Cortex が確認に使います。「このアプリは Google で確認されていません」と出たら、「詳細」から進めます。"
376
381
  : "あなたの Google アカウントで、このスペースを開けるかを確認します。メッセージは読みません。";
377
382
  openChannel();
378
383
  // 作業中(Picker の選択など)は本体へ生存の合図を送る。本体は、窓が閉じたように見えても、合図が続いている間は失敗にしない
package/dist/render.js CHANGED
@@ -13528,7 +13528,7 @@ ${story_1.splitByNameLinks.toString()}
13528
13528
  // 唯一の口)で「未対応」のタイルの裏に隠れてしまう。
13529
13529
  manualBox["会議"] = intakeCardFor("会議");
13530
13530
  // 共有資料の手動追加は出さない(#968・入口は Google ドライブ 1 つ)。
13531
- // 代わりの 1 行は renderManualTile が出す。会議の手動追加は今までどおり
13531
+ // 組み直した案件(SITE.memoryV2)は会議の手動追加も出さない(便 MT)。どちらも代わりの 1 行は renderManualTile が出す
13532
13532
 
13533
13533
  // ---- 能力ごとにタイルを並べる ----
13534
13534
  //
@@ -14087,6 +14087,11 @@ ${story_1.splitByNameLinks.toString()}
14087
14087
  : "Google ドライブのフォルダを登録すると資料を取り込めます" }));
14088
14088
  return;
14089
14089
  }
14090
+ if (cap === "会議" && SITE.memoryV2) {
14091
+ // 手動追加はやめた(便 MT・#968 の資料と同じ)。症状 → 一手の 1 行だけ。サーバ側(intake)の断り文と同じ文
14092
+ sec.appendChild(el("p", { class: "ds-note", id: "ds-meeting-place-hint", text: "会議の文字起こし・議事録は、Cortex に登録した Google ドライブのフォルダか Backlog のドキュメント・Wiki に置いてください" }));
14093
+ return;
14094
+ }
14090
14095
  var manual = manualBox[cap];
14091
14096
  if (manual) {
14092
14097
  var mBody = el("div", { class: "ds-tile-body" }, [
@@ -19800,6 +19805,9 @@ ${story_1.splitByNameLinks.toString()}
19800
19805
  var btn = el("button", { class: "ds-toggle-btn", type: "button", text: "保存" });
19801
19806
  var msg = el("div", { class: "ds-toggle-msg" });
19802
19807
  var savedNote = el("p", { class: "sec-note sec-saved" });
19808
+ // 登録済みの鍵は欄を畳む(GitHub の Secrets・Vercel の環境変数と同じ)。[入れ直す]を押すまで欄とボタンは出さない(便 KU-3)
19809
+ var reopen = el("button", { class: "ds-toggle-btn sec-reopen", type: "button", text: "入れ直す" });
19810
+ var reopened = false;
19803
19811
  // 札が読む材料の控え。checking=保存〜確認の最中、savedHere=この画面で保存した(正本 secretsNow は最大 10 秒古い答えを返すので、registered を返すまで「登録済み」以上に固定する)
19804
19812
  var ent = { kind: kind, el: null, compact: compact, space: stateSpace, input: input, msg: msg, checking: false, savedHere: false };
19805
19813
 
@@ -19872,7 +19880,13 @@ ${story_1.splitByNameLinks.toString()}
19872
19880
  var reg = st.known === "yes";
19873
19881
  var d = savedDate(st);
19874
19882
  savedNote.hidden = !reg;
19875
- savedNote.textContent = reg ? "登録済み" + (d ? "(" + d + " に保存)" : "") + "。入れ直すときだけ貼ってください" : "";
19883
+ // 畳んだ形=登録済み(この画面で保存した直後も)で、[入れ直す]をまだ押していない。保存に失敗したときは reg が変わらないので畳まない
19884
+ var folded = reg && !reopened;
19885
+ savedNote.textContent = reg ? "登録済み" + (d ? "(" + d + " に保存)" : "") + (folded ? "" : "。入れ直すときだけ貼ってください") : "";
19886
+ input.style.display = folded ? "none" : "";
19887
+ btn.style.display = folded ? "none" : "";
19888
+ // 接続の確認中は出さない(押すと成功の文が消える)
19889
+ reopen.style.display = folded && !ent.checking ? "" : "none";
19876
19890
  if (!btn.disabled) btn.textContent = probeOk() ? "保存して接続を確認" : "保存";
19877
19891
  if (preferred) {
19878
19892
  var want = st.known === "no";
@@ -19914,12 +19928,21 @@ ${story_1.splitByNameLinks.toString()}
19914
19928
  return "";
19915
19929
  }
19916
19930
 
19931
+ reopen.addEventListener("click", function () {
19932
+ reopened = true;
19933
+ input.value = ""; // 畳まれる前に貼りかけた値を持ち越さない
19934
+ msg.className = "ds-toggle-msg";
19935
+ msg.textContent = "";
19936
+ paint();
19937
+ input.focus();
19938
+ });
19939
+
19917
19940
  btn.addEventListener("click", async function () {
19918
19941
  var value = input.value;
19919
19942
  if (!value.trim()) {
19920
19943
  msg.className = "ds-toggle-msg";
19921
19944
  // 登録済みで空のまま押しても何も変えない(置き換えるのは、貼ったときだけ)
19922
- msg.textContent = secretNow().known === "yes" ? "何も変えていません。入れ直すときだけ値を貼ってください。" : "";
19945
+ msg.textContent = secretNow().known === "yes" && reopened ? "何も変えていません。入れ直すときだけ値を貼ってください。" : "";
19923
19946
  if (secretNow().known !== "yes") { msg.className = "ds-toggle-msg is-error"; msg.textContent = "⚠ トークンを入力してください。"; }
19924
19947
  return;
19925
19948
  }
@@ -19951,9 +19974,12 @@ ${story_1.splitByNameLinks.toString()}
19951
19974
  // 入れた値は画面に残さない(肩越しに見えるのを防ぐ)
19952
19975
  input.value = "";
19953
19976
  ent.savedHere = true;
19977
+ reopened = false; // 保存できたら欄を畳む(成功の文と札だけ残す)
19978
+ var hadFocus = typeof document !== "undefined" && document.activeElement === btn;
19954
19979
  var willCheck = probeOk() && refsNow().length > 0;
19955
19980
  ent.checking = willCheck;
19956
19981
  paint();
19982
+ if (hadFocus) msg.setAttribute("tabindex", "-1"), msg.focus(); // 畳んだボタンからフォーカスを落とさない(成功の文へ)
19957
19983
  // 🔴 Backlog の行の一手は登録状況の正本に合わせて当て直す。正本(secretsNow)は取り直しで届く
19958
19984
  if (compact && typeof BACKLOG_UI.repaintRows === "function") BACKLOG_UI.repaintRows();
19959
19985
  if (willCheck) {
@@ -20019,6 +20045,7 @@ ${story_1.splitByNameLinks.toString()}
20019
20045
  input,
20020
20046
  el("div", { class: "ds-toggle" }, [btn, msg]),
20021
20047
  savedNote,
20048
+ reopen,
20022
20049
  // 🔴 **値の扱いの 1 文は常に出す**(顧客に鍵の貼り付けを求める画面でいちばん落としてはいけない説明・#101)
20023
20050
  el("p", { class: "sec-note", text: compact
20024
20051
  ? "入れた値は保存だけでき、あとから表示されません。"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@takagaki/cortex-decisions-viewer",
3
- "version": "0.12.217",
3
+ "version": "0.12.220",
4
4
  "description": "Cortexの意思決定記録(Decisions/*.md)を静的サイトにビルドして閲覧する。各レコードに「Edit on GitHub」リンクを付与する。",
5
5
  "license": "UNLICENSED",
6
6
  "private": false,