` 在部分旧 WebView 上行为不一致,
而且我们已有的浮层已经解决了"点遮罩关、Esc 关、滚动锁"这几件事。
⚠️ 表单本身**一个字没动**(字段名/服务端契约/CSRF 全照旧),
只把它的容器从"页面上的一格"换成"浮层里的一块"。
`calendar_id` 那个 select 也保留(第 7 条要求"选择日历本,带上颜色",
见下面给每个 option 加的色块)。 */ ?>
日历本`
/ `$evMvStyle = true` —— 现在这些串在新片段里。
不改的话:正向断言当场中止部署,负向断言恒真没牙齿(v78 原话)。 */
?>
$ym, 'view' => $view, 'anchor' => $anchor,
'new_at' => $newAt,
// 模块页只管自己:'' = 提交完回日程模块(不写 'home')
'back' => '',
];
require __DIR__ . '/_add_modal.php';
/* 🔴🔴 v82:**只清掉三个"调用参数"**,别的什么都不许 unset。
为什么:`require` 与宿主**同一作用域**,片段里赋的每个变量都会留下来。
我第一版顺手把 `$ym/$view/$anchor/$newAt/$writable` 也 unset 了 ——
而这五个正是**模块页自己后文还要用的**(页头标题、翻页链接、周/日网格、
`.tg-now` 的 top 计算全依赖它们)。unset 掉不会报错,只会让后半页
静默变成空值:页头显示"1970 年"、翻页链接丢参数、时间网格画不出来。
这类"清了别人的变量"比"片段拿不到变量"更难查 —— 页面能开,只是全错。
⇒ 判据:unset 之前先 grep 一下后文还用不用它(本项目吃过"片段覆盖宿主变量"的亏)。
🔴 v82 再修(同日):片段内部现在已经**改用 `$cal*` 前缀**,不再覆盖
宿主的 `$anchor/$newAt/$writable/$view/$ym`(见该片段头部那段说明)。
所以这里连"片段残留物"都不必再清 —— 真正要清的只有本模板自己传进去的
三个 `$cal*` 入参。 */
unset($calCanNew, $calWritable, $calCtx);
?>
** ⇒ 被折叠的条目**永远看不到**。
这里给那颗按钮一个真正的去处。
⚠️ 为什么不直接复用条目详情浮层(`fbEntryModal`):
那是"**一条**日程的详情/编辑/删除",一次只画一条;
这里要的是"**当天的清单**",点其中任意一条才进那条的详情。
两者叠用是对的:先出清单,点清单里某条 → 调 `window.fbEntryOpen()` 进详情层。
⚠️ 详情层是 `position:fixed` 的高层,清单层在它下面 —— 关掉详情层会**回到清单**,
符合"我从当天的清单里点进来的"这个来路(不用再点一次 +N 条)。
⚠️ 数据直接读上面那个 `