Files
rspade_system/storage-working/rsx-tmp/babel_7248556f4d18c699f44809711d99cd4f.js
root 78553d4edf Fix code quality violations for publish
Remove unused blade settings pages not linked from UI
Convert remaining frontend pages to SPA actions
Convert settings user_settings and general to SPA actions
Convert settings profile pages to SPA actions
Convert contacts and projects add/edit pages to SPA actions
Convert clients add/edit page to SPA action with loading pattern
Refactor component scoped IDs from $id to $sid
Fix jqhtml comment syntax and implement universal error component system
Update all application code to use new unified error system
Remove all backwards compatibility - unified error system complete
Phase 5: Remove old response classes
Phase 3-4: Ajax response handler sends new format, old helpers deprecated
Phase 2: Add client-side unified error foundation
Phase 1: Add server-side unified error foundation
Add unified Ajax error response system with constants

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 04:35:01 +00:00

26 lines
3.2 KiB
JavaScript
Executable File

"use strict";
class Sidebar_Nav extends Component {
on_ready() {
// Auto-wrap children in nav structure if needed
const $nav_items = this.$sid('nav_items');
$nav_items.children().each(function () {
const $child = $(this);
if ($child.prop('tagName') !== 'LI') {
const $li = $('<li>').addClass('nav-item');
$child.addClass('nav-link');
$child.wrap($li);
}
});
// Set active state based on current URL
const current_path = window.location.pathname;
$nav_items.find('a.nav-link').each(function () {
const $link = $(this);
if ($link.attr('href') === current_path) {
$link.addClass('active');
}
});
}
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTaWRlYmFyX05hdiIsIkpxaHRtbF9Db21wb25lbnQiLCJvbl9yZWFkeSIsIiRuYXZfaXRlbXMiLCIkaWQiLCJjaGlsZHJlbiIsImVhY2giLCIkY2hpbGQiLCIkIiwicHJvcCIsIiRsaSIsImFkZENsYXNzIiwid3JhcCIsImN1cnJlbnRfcGF0aCIsIndpbmRvdyIsImxvY2F0aW9uIiwicGF0aG5hbWUiLCJmaW5kIiwiJGxpbmsiLCJhdHRyIl0sInNvdXJjZXMiOlsicnN4L3RoZW1lL2NvbXBvbmVudHMvX2FyY2hpdmVkL3VuZmluaXNoZWQvU2lkZWJhcl9OYXYuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY2xhc3MgU2lkZWJhcl9OYXYgZXh0ZW5kcyBKcWh0bWxfQ29tcG9uZW50IHtcbiAgICBvbl9yZWFkeSgpIHtcbiAgICAgICAgLy8gQXV0by13cmFwIGNoaWxkcmVuIGluIG5hdiBzdHJ1Y3R1cmUgaWYgbmVlZGVkXG4gICAgICAgIGNvbnN0ICRuYXZfaXRlbXMgPSB0aGlzLiRpZCgnbmF2X2l0ZW1zJyk7XG4gICAgICAgICRuYXZfaXRlbXMuY2hpbGRyZW4oKS5lYWNoKGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgY29uc3QgJGNoaWxkID0gJCh0aGlzKTtcbiAgICAgICAgICAgIGlmICgkY2hpbGQucHJvcCgndGFnTmFtZScpICE9PSAnTEknKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgJGxpID0gJCgnPGxpPicpLmFkZENsYXNzKCduYXYtaXRlbScpO1xuICAgICAgICAgICAgICAgICRjaGlsZC5hZGRDbGFzcygnbmF2LWxpbmsnKTtcbiAgICAgICAgICAgICAgICAkY2hpbGQud3JhcCgkbGkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBTZXQgYWN0aXZlIHN0YXRlIGJhc2VkIG9uIGN1cnJlbnQgVVJMXG4gICAgICAgIGNvbnN0IGN1cnJlbnRfcGF0aCA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTtcbiAgICAgICAgJG5hdl9pdGVtcy5maW5kKCdhLm5hdi1saW5rJykuZWFjaChmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIGNvbnN0ICRsaW5rID0gJCh0aGlzKTtcbiAgICAgICAgICAgIGlmICgkbGluay5hdHRyKCdocmVmJykgPT09IGN1cnJlbnRfcGF0aCkge1xuICAgICAgICAgICAgICAgICRsaW5rLmFkZENsYXNzKCdhY3RpdmUnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLE1BQU1BLFdBQVcsU0FBU0MsZ0JBQWdCLENBQUM7RUFDdkNDLFFBQVFBLENBQUEsRUFBRztJQUNQO0lBQ0EsTUFBTUMsVUFBVSxHQUFHLElBQUksQ0FBQ0MsR0FBRyxDQUFDLFdBQVcsQ0FBQztJQUN4Q0QsVUFBVSxDQUFDRSxRQUFRLENBQUMsQ0FBQyxDQUFDQyxJQUFJLENBQUMsWUFBVztNQUNsQyxNQUFNQyxNQUFNLEdBQUdDLENBQUMsQ0FBQyxJQUFJLENBQUM7TUFDdEIsSUFBSUQsTUFBTSxDQUFDRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssSUFBSSxFQUFFO1FBQ2pDLE1BQU1DLEdBQUcsR0FBR0YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDRyxRQUFRLENBQUMsVUFBVSxDQUFDO1FBQzFDSixNQUFNLENBQUNJLFFBQVEsQ0FBQyxVQUFVLENBQUM7UUFDM0JKLE1BQU0sQ0FBQ0ssSUFBSSxDQUFDRixHQUFHLENBQUM7TUFDcEI7SUFDSixDQUFDLENBQUM7O0lBRUY7SUFDQSxNQUFNRyxZQUFZLEdBQUdDLE1BQU0sQ0FBQ0MsUUFBUSxDQUFDQyxRQUFRO0lBQzdDYixVQUFVLENBQUNjLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQ1gsSUFBSSxDQUFDLFlBQVc7TUFDMUMsTUFBTVksS0FBSyxHQUFHVixDQUFDLENBQUMsSUFBSSxDQUFDO01BQ3JCLElBQUlVLEtBQUssQ0FBQ0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLTixZQUFZLEVBQUU7UUFDckNLLEtBQUssQ0FBQ1AsUUFBUSxDQUFDLFFBQVEsQ0FBQztNQUM1QjtJQUNKLENBQUMsQ0FBQztFQUNOO0FBQ0oiLCJpZ25vcmVMaXN0IjpbXX0=