{"id":"69cac281d3d975d26bea6687","title":"2026 03 28","path":"how-to/committee/release-notes/2026-03-28","contentMarkdown":"# 28-Mar-2026 — cms: add yellow button text style and TextStyle enum [#199](https://github.com/nbarrett/ngx-ramblers/issues/199)\n\n## [build 568](https://github.com/nbarrett/ngx-ramblers/actions/runs/23760760018) — [commit e4020dd](https://github.com/nbarrett/ngx-ramblers/commit/e4020ddbfd333b645ebfee97ba327f3d3ecf64c4)\n\n_____\n\n### **cms**: add yellow button text style and TextStyle enum and delete confirmation, fragment protection, release notes, zone fix, and old-site link migration ([#199](https://github.com/nbarrett/ngx-ramblers/issues/199))\n\n- Add as-button-warning CSS class for yellow link-as-button styling\n- Add TextStyle enum to replace string literals for button style checks\n- Register yellow button option in text style selectors and formatting dropdown\n- Update renderInline() and content-formatting-selector to use TextStyle enum\n\n- Add confirmation dialog before page deletion\n- Detect fragment usages via rows.fragment.pageContentId and disable delete\n- Detect album-index parent pages via contentPaths starts-with and disable delete\n- Improved delete tooltip showing why deletion is blocked\n- Release notes generator never overwrites existing pages (preserves manual edits)\n- Remove redundant H3 heading that repeats H1 title in generated release notes\n- Fix isActionButtons crash when row.type is undefined (TypeError: Cannot read properties of undefined reading 'toString')\n- Fix blank page when navigating from map pins by wrapping Leaflet marker click in NgZone.run()\n- Remove dead zone.js overrides in polyfills.ts (flags set after import had no effect)","contentHtml":"<h1>28-Mar-2026 — cms: add yellow button text style and TextStyle enum <a href=\"https://github.com/nbarrett/ngx-ramblers/issues/199\">#199</a></h1>\n<h2><a href=\"https://github.com/nbarrett/ngx-ramblers/actions/runs/23760760018\">build 568</a> — <a href=\"https://github.com/nbarrett/ngx-ramblers/commit/e4020ddbfd333b645ebfee97ba327f3d3ecf64c4\">commit e4020dd</a></h2>\n<hr>\n<h3><strong>cms</strong>: add yellow button text style and TextStyle enum and delete confirmation, fragment protection, release notes, zone fix, and old-site link migration (<a href=\"https://github.com/nbarrett/ngx-ramblers/issues/199\">#199</a>)</h3>\n<ul>\n<li><p>Add as-button-warning CSS class for yellow link-as-button styling</p>\n</li>\n<li><p>Add TextStyle enum to replace string literals for button style checks</p>\n</li>\n<li><p>Register yellow button option in text style selectors and formatting dropdown</p>\n</li>\n<li><p>Update renderInline() and content-formatting-selector to use TextStyle enum</p>\n</li>\n<li><p>Add confirmation dialog before page deletion</p>\n</li>\n<li><p>Detect fragment usages via rows.fragment.pageContentId and disable delete</p>\n</li>\n<li><p>Detect album-index parent pages via contentPaths starts-with and disable delete</p>\n</li>\n<li><p>Improved delete tooltip showing why deletion is blocked</p>\n</li>\n<li><p>Release notes generator never overwrites existing pages (preserves manual edits)</p>\n</li>\n<li><p>Remove redundant H3 heading that repeats H1 title in generated release notes</p>\n</li>\n<li><p>Fix isActionButtons crash when row.type is undefined (TypeError: Cannot read properties of undefined reading &#39;toString&#39;)</p>\n</li>\n<li><p>Fix blank page when navigating from map pins by wrapping Leaflet marker click in NgZone.run()</p>\n</li>\n<li><p>Remove dead zone.js overrides in polyfills.ts (flags set after import had no effect)</p>\n</li>\n</ul>\n"}