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>
22 lines
2.7 KiB
JavaScript
Executable File
22 lines
2.7 KiB
JavaScript
Executable File
"use strict";
|
|
|
|
class User_Avatar_Dropdown extends Component {
|
|
on_ready() {
|
|
// Ensure proper dropdown item structure
|
|
const $menu = this.$sid('menu');
|
|
$menu.children().each(function () {
|
|
const $child = $(this);
|
|
if ($child.prop('tagName') !== 'LI') {
|
|
const $li = $('<li>');
|
|
if ($child.prop('tagName') === 'HR') {
|
|
$li.append($('<hr>').addClass('dropdown-divider'));
|
|
$child.replaceWith($li);
|
|
} else {
|
|
$child.addClass('dropdown-item');
|
|
$child.wrap($li);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
}
|
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJVc2VyX0F2YXRhcl9Ecm9wZG93biIsIkpxaHRtbF9Db21wb25lbnQiLCJvbl9yZWFkeSIsIiRtZW51IiwiJGlkIiwiY2hpbGRyZW4iLCJlYWNoIiwiJGNoaWxkIiwiJCIsInByb3AiLCIkbGkiLCJhcHBlbmQiLCJhZGRDbGFzcyIsInJlcGxhY2VXaXRoIiwid3JhcCJdLCJzb3VyY2VzIjpbInJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL1VzZXJfQXZhdGFyX0Ryb3Bkb3duLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNsYXNzIFVzZXJfQXZhdGFyX0Ryb3Bkb3duIGV4dGVuZHMgSnFodG1sX0NvbXBvbmVudCB7XG4gICAgb25fcmVhZHkoKSB7XG4gICAgICAgIC8vIEVuc3VyZSBwcm9wZXIgZHJvcGRvd24gaXRlbSBzdHJ1Y3R1cmVcbiAgICAgICAgY29uc3QgJG1lbnUgPSB0aGlzLiRpZCgnbWVudScpO1xuICAgICAgICAkbWVudS5jaGlsZHJlbigpLmVhY2goZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICBjb25zdCAkY2hpbGQgPSAkKHRoaXMpO1xuICAgICAgICAgICAgaWYgKCRjaGlsZC5wcm9wKCd0YWdOYW1lJykgIT09ICdMSScpIHtcbiAgICAgICAgICAgICAgICBjb25zdCAkbGkgPSAkKCc8bGk+Jyk7XG4gICAgICAgICAgICAgICAgaWYgKCRjaGlsZC5wcm9wKCd0YWdOYW1lJykgPT09ICdIUicpIHtcbiAgICAgICAgICAgICAgICAgICAgJGxpLmFwcGVuZCgkKCc8aHI+JykuYWRkQ2xhc3MoJ2Ryb3Bkb3duLWRpdmlkZXInKSk7XG4gICAgICAgICAgICAgICAgICAgICRjaGlsZC5yZXBsYWNlV2l0aCgkbGkpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICRjaGlsZC5hZGRDbGFzcygnZHJvcGRvd24taXRlbScpO1xuICAgICAgICAgICAgICAgICAgICAkY2hpbGQud3JhcCgkbGkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLE1BQU1BLG9CQUFvQixTQUFTQyxnQkFBZ0IsQ0FBQztFQUNoREMsUUFBUUEsQ0FBQSxFQUFHO0lBQ1A7SUFDQSxNQUFNQyxLQUFLLEdBQUcsSUFBSSxDQUFDQyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQzlCRCxLQUFLLENBQUNFLFFBQVEsQ0FBQyxDQUFDLENBQUNDLElBQUksQ0FBQyxZQUFXO01BQzdCLE1BQU1DLE1BQU0sR0FBR0MsQ0FBQyxDQUFDLElBQUksQ0FBQztNQUN0QixJQUFJRCxNQUFNLENBQUNFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDakMsTUFBTUMsR0FBRyxHQUFHRixDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ3JCLElBQUlELE1BQU0sQ0FBQ0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLElBQUksRUFBRTtVQUNqQ0MsR0FBRyxDQUFDQyxNQUFNLENBQUNILENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQ0ksUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUM7VUFDbERMLE1BQU0sQ0FBQ00sV0FBVyxDQUFDSCxHQUFHLENBQUM7UUFDM0IsQ0FBQyxNQUFNO1VBQ0hILE1BQU0sQ0FBQ0ssUUFBUSxDQUFDLGVBQWUsQ0FBQztVQUNoQ0wsTUFBTSxDQUFDTyxJQUFJLENBQUNKLEdBQUcsQ0FBQztRQUNwQjtNQUNKO0lBQ0osQ0FBQyxDQUFDO0VBQ047QUFDSiIsImlnbm9yZUxpc3QiOltdfQ==
|