Files
rspade_system/storage-working/rsx-tmp/babel_cache/ec3bce0c3d8f7d2f15ac74017634e9af_modern.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

37 lines
4.2 KiB
JavaScript
Executable File

"use strict";
class Sortable_Column_Header extends Component {
on_ready() {
// Click to toggle sort
this.$.on('click', () => {
this.toggle_sort();
});
// Set initial sort state
if (this.args.sort) {
this.set_sort(this.args.sort); // 'asc' or 'desc'
}
}
toggle_sort() {
const current = this.$.attr('data-sort') || 'none';
const next = current === 'none' ? 'asc' : current === 'asc' ? 'desc' : 'asc';
this.set_sort(next);
// Call callback if provided
if (this.args.on_sort) {
this.args.on_sort(this.args.column, next);
}
}
set_sort(direction) {
this.$.attr('data-sort', direction);
const $icon = this.$sid('sort_icon');
if (direction === 'asc') {
$icon.html('<i class="text-primary">↑</i>');
} else if (direction === 'desc') {
$icon.html('<i class="text-primary">↓</i>');
} else {
$icon.html('<i class="text-muted">⇅</i>');
}
}
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTb3J0YWJsZV9Db2x1bW5fSGVhZGVyIiwiSnFodG1sX0NvbXBvbmVudCIsIm9uX3JlYWR5IiwiJCIsIm9uIiwidG9nZ2xlX3NvcnQiLCJhcmdzIiwic29ydCIsInNldF9zb3J0IiwiY3VycmVudCIsImF0dHIiLCJuZXh0Iiwib25fc29ydCIsImNvbHVtbiIsImRpcmVjdGlvbiIsIiRpY29uIiwiJGlkIiwiaHRtbCJdLCJzb3VyY2VzIjpbInJzeC90aGVtZS9jb21wb25lbnRzL19hcmNoaXZlZC91bmZpbmlzaGVkL1NvcnRhYmxlX0NvbHVtbl9IZWFkZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY2xhc3MgU29ydGFibGVfQ29sdW1uX0hlYWRlciBleHRlbmRzIEpxaHRtbF9Db21wb25lbnQge1xuICAgIG9uX3JlYWR5KCkge1xuICAgICAgICAvLyBDbGljayB0byB0b2dnbGUgc29ydFxuICAgICAgICB0aGlzLiQub24oJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy50b2dnbGVfc29ydCgpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBTZXQgaW5pdGlhbCBzb3J0IHN0YXRlXG4gICAgICAgIGlmICh0aGlzLmFyZ3Muc29ydCkge1xuICAgICAgICAgICAgdGhpcy5zZXRfc29ydCh0aGlzLmFyZ3Muc29ydCk7IC8vICdhc2MnIG9yICdkZXNjJ1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG9nZ2xlX3NvcnQoKSB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLiQuYXR0cignZGF0YS1zb3J0JykgfHwgJ25vbmUnO1xuICAgICAgICBjb25zdCBuZXh0ID0gY3VycmVudCA9PT0gJ25vbmUnID8gJ2FzYycgOiBjdXJyZW50ID09PSAnYXNjJyA/ICdkZXNjJyA6ICdhc2MnO1xuICAgICAgICB0aGlzLnNldF9zb3J0KG5leHQpO1xuXG4gICAgICAgIC8vIENhbGwgY2FsbGJhY2sgaWYgcHJvdmlkZWRcbiAgICAgICAgaWYgKHRoaXMuYXJncy5vbl9zb3J0KSB7XG4gICAgICAgICAgICB0aGlzLmFyZ3Mub25fc29ydCh0aGlzLmFyZ3MuY29sdW1uLCBuZXh0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldF9zb3J0KGRpcmVjdGlvbikge1xuICAgICAgICB0aGlzLiQuYXR0cignZGF0YS1zb3J0JywgZGlyZWN0aW9uKTtcbiAgICAgICAgY29uc3QgJGljb24gPSB0aGlzLiRpZCgnc29ydF9pY29uJyk7XG5cbiAgICAgICAgaWYgKGRpcmVjdGlvbiA9PT0gJ2FzYycpIHtcbiAgICAgICAgICAgICRpY29uLmh0bWwoJzxpIGNsYXNzPVwidGV4dC1wcmltYXJ5XCI+4oaRPC9pPicpO1xuICAgICAgICB9IGVsc2UgaWYgKGRpcmVjdGlvbiA9PT0gJ2Rlc2MnKSB7XG4gICAgICAgICAgICAkaWNvbi5odG1sKCc8aSBjbGFzcz1cInRleHQtcHJpbWFyeVwiPuKGkzwvaT4nKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICRpY29uLmh0bWwoJzxpIGNsYXNzPVwidGV4dC1tdXRlZFwiPuKHhTwvaT4nKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxNQUFNQSxzQkFBc0IsU0FBU0MsZ0JBQWdCLENBQUM7RUFDbERDLFFBQVFBLENBQUEsRUFBRztJQUNQO0lBQ0EsSUFBSSxDQUFDQyxDQUFDLENBQUNDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsTUFBTTtNQUNyQixJQUFJLENBQUNDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RCLENBQUMsQ0FBQzs7SUFFRjtJQUNBLElBQUksSUFBSSxDQUFDQyxJQUFJLENBQUNDLElBQUksRUFBRTtNQUNoQixJQUFJLENBQUNDLFFBQVEsQ0FBQyxJQUFJLENBQUNGLElBQUksQ0FBQ0MsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNuQztFQUNKO0VBRUFGLFdBQVdBLENBQUEsRUFBRztJQUNWLE1BQU1JLE9BQU8sR0FBRyxJQUFJLENBQUNOLENBQUMsQ0FBQ08sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLE1BQU07SUFDbEQsTUFBTUMsSUFBSSxHQUFHRixPQUFPLEtBQUssTUFBTSxHQUFHLEtBQUssR0FBR0EsT0FBTyxLQUFLLEtBQUssR0FBRyxNQUFNLEdBQUcsS0FBSztJQUM1RSxJQUFJLENBQUNELFFBQVEsQ0FBQ0csSUFBSSxDQUFDOztJQUVuQjtJQUNBLElBQUksSUFBSSxDQUFDTCxJQUFJLENBQUNNLE9BQU8sRUFBRTtNQUNuQixJQUFJLENBQUNOLElBQUksQ0FBQ00sT0FBTyxDQUFDLElBQUksQ0FBQ04sSUFBSSxDQUFDTyxNQUFNLEVBQUVGLElBQUksQ0FBQztJQUM3QztFQUNKO0VBRUFILFFBQVFBLENBQUNNLFNBQVMsRUFBRTtJQUNoQixJQUFJLENBQUNYLENBQUMsQ0FBQ08sSUFBSSxDQUFDLFdBQVcsRUFBRUksU0FBUyxDQUFDO0lBQ25DLE1BQU1DLEtBQUssR0FBRyxJQUFJLENBQUNDLEdBQUcsQ0FBQyxXQUFXLENBQUM7SUFFbkMsSUFBSUYsU0FBUyxLQUFLLEtBQUssRUFBRTtNQUNyQkMsS0FBSyxDQUFDRSxJQUFJLENBQUMsK0JBQStCLENBQUM7SUFDL0MsQ0FBQyxNQUFNLElBQUlILFNBQVMsS0FBSyxNQUFNLEVBQUU7TUFDN0JDLEtBQUssQ0FBQ0UsSUFBSSxDQUFDLCtCQUErQixDQUFDO0lBQy9DLENBQUMsTUFBTTtNQUNIRixLQUFLLENBQUNFLElBQUksQ0FBQyw2QkFBNkIsQ0FBQztJQUM3QztFQUNKO0FBQ0oiLCJpZ25vcmVMaXN0IjpbXX0=