Files
rspade_system/storage-broken/rsx-tmp/babel_0bdaccf8ac27d01e4fd4f9d9e7c96dc8.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

80 lines
8.9 KiB
JavaScript
Executable File

"use strict";
class Ajax_Select_Input extends Select_Input {
on_create() {
// Initialize empty select values array
this.data.select_values = [];
// Store for value set before initialization completes
this._pending_value = null;
// Call parent to do basic setup
super.on_create();
}
async on_load() {
// Load options from Ajax endpoint if provided
if (this.args.data) {
try {
const response = await fetch(this.args.data);
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
this.data.select_values = data;
} catch (error) {
console.error('Failed to load select options:', error);
this.data.select_values = [];
}
}
}
on_ready() {
// Call parent to initialize Tom Select
super.on_ready();
// If a value was set before initialization, apply it now
if (this._pending_value !== null) {
if (this.tom_select) {
this.tom_select.setValue(this._pending_value, true);
} else if (this.$sid('input').exists()) {
this.$sid('input').val(this._pending_value);
}
this.data.value = this._pending_value;
this._pending_value = null;
}
}
/**
* val() - Get or set the selected value
* Handles calls before Tom Select initialization completes
* @param {string} [value] - If provided, sets the value
* @returns {string} The current value when called as getter
*/
val(value) {
if (arguments.length === 0) {
// Getter
if (this.tom_select) {
// Initialized - get from Tom Select
return this.tom_select.getValue();
} else if (this._pending_value !== null) {
// Not yet initialized - return pending value
return this._pending_value;
} else if (this.data.value) {
// Return data value
return this.data.value;
}
return '';
} else {
// Setter
if (this.tom_select) {
// Initialized - set via Tom Select
this.data.value = value || '';
this.tom_select.setValue(this.data.value, true);
} else {
// Not yet initialized - store for later
this._pending_value = value || '';
this.data.value = value || '';
}
}
}
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBamF4X1NlbGVjdF9JbnB1dCIsIlNlbGVjdF9JbnB1dCIsIm9uX2NyZWF0ZSIsImRhdGEiLCJzZWxlY3RfdmFsdWVzIiwiX3BlbmRpbmdfdmFsdWUiLCJvbl9sb2FkIiwiYXJncyIsInJlc3BvbnNlIiwiZmV0Y2giLCJvayIsIkVycm9yIiwic3RhdHVzIiwianNvbiIsImVycm9yIiwiY29uc29sZSIsIm9uX3JlYWR5IiwidG9tX3NlbGVjdCIsInNldFZhbHVlIiwiJGlkIiwiZXhpc3RzIiwidmFsIiwidmFsdWUiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJnZXRWYWx1ZSJdLCJzb3VyY2VzIjpbInJzeC90aGVtZS9jb21wb25lbnRzL2lucHV0cy9hamF4X3NlbGVjdF9pbnB1dC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjbGFzcyBBamF4X1NlbGVjdF9JbnB1dCBleHRlbmRzIFNlbGVjdF9JbnB1dCB7XG4gICAgb25fY3JlYXRlKCkge1xuICAgICAgICAvLyBJbml0aWFsaXplIGVtcHR5IHNlbGVjdCB2YWx1ZXMgYXJyYXlcbiAgICAgICAgdGhpcy5kYXRhLnNlbGVjdF92YWx1ZXMgPSBbXTtcblxuICAgICAgICAvLyBTdG9yZSBmb3IgdmFsdWUgc2V0IGJlZm9yZSBpbml0aWFsaXphdGlvbiBjb21wbGV0ZXNcbiAgICAgICAgdGhpcy5fcGVuZGluZ192YWx1ZSA9IG51bGw7XG5cbiAgICAgICAgLy8gQ2FsbCBwYXJlbnQgdG8gZG8gYmFzaWMgc2V0dXBcbiAgICAgICAgc3VwZXIub25fY3JlYXRlKCk7XG4gICAgfVxuXG4gICAgYXN5bmMgb25fbG9hZCgpIHtcbiAgICAgICAgLy8gTG9hZCBvcHRpb25zIGZyb20gQWpheCBlbmRwb2ludCBpZiBwcm92aWRlZFxuICAgICAgICBpZiAodGhpcy5hcmdzLmRhdGEpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh0aGlzLmFyZ3MuZGF0YSk7XG4gICAgICAgICAgICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEhUVFAgZXJyb3IhIHN0YXR1czogJHtyZXNwb25zZS5zdGF0dXN9YCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhLnNlbGVjdF92YWx1ZXMgPSBkYXRhO1xuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gbG9hZCBzZWxlY3Qgb3B0aW9uczonLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhLnNlbGVjdF92YWx1ZXMgPSBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uX3JlYWR5KCkge1xuICAgICAgICAvLyBDYWxsIHBhcmVudCB0byBpbml0aWFsaXplIFRvbSBTZWxlY3RcbiAgICAgICAgc3VwZXIub25fcmVhZHkoKTtcblxuICAgICAgICAvLyBJZiBhIHZhbHVlIHdhcyBzZXQgYmVmb3JlIGluaXRpYWxpemF0aW9uLCBhcHBseSBpdCBub3dcbiAgICAgICAgaWYgKHRoaXMuX3BlbmRpbmdfdmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRvbV9zZWxlY3QpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRvbV9zZWxlY3Quc2V0VmFsdWUodGhpcy5fcGVuZGluZ192YWx1ZSwgdHJ1ZSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuJGlkKCdpbnB1dCcpLmV4aXN0cygpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy4kaWQoJ2lucHV0JykudmFsKHRoaXMuX3BlbmRpbmdfdmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5kYXRhLnZhbHVlID0gdGhpcy5fcGVuZGluZ192YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuX3BlbmRpbmdfdmFsdWUgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogdmFsKCkgLSBHZXQgb3Igc2V0IHRoZSBzZWxlY3RlZCB2YWx1ZVxuICAgICAqIEhhbmRsZXMgY2FsbHMgYmVmb3JlIFRvbSBTZWxlY3QgaW5pdGlhbGl6YXRpb24gY29tcGxldGVzXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFt2YWx1ZV0gLSBJZiBwcm92aWRlZCwgc2V0cyB0aGUgdmFsdWVcbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgY3VycmVudCB2YWx1ZSB3aGVuIGNhbGxlZCBhcyBnZXR0ZXJcbiAgICAgKi9cbiAgICB2YWwodmFsdWUpIHtcbiAgICAgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIC8vIEdldHRlclxuICAgICAgICAgICAgaWYgKHRoaXMudG9tX3NlbGVjdCkge1xuICAgICAgICAgICAgICAgIC8vIEluaXRpYWxpemVkIC0gZ2V0IGZyb20gVG9tIFNlbGVjdFxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnRvbV9zZWxlY3QuZ2V0VmFsdWUoKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5fcGVuZGluZ192YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIC8vIE5vdCB5ZXQgaW5pdGlhbGl6ZWQgLSByZXR1cm4gcGVuZGluZyB2YWx1ZVxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9wZW5kaW5nX3ZhbHVlO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmRhdGEudmFsdWUpIHtcbiAgICAgICAgICAgICAgICAvLyBSZXR1cm4gZGF0YSB2YWx1ZVxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRhdGEudmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBTZXR0ZXJcbiAgICAgICAgICAgIGlmICh0aGlzLnRvbV9zZWxlY3QpIHtcbiAgICAgICAgICAgICAgICAvLyBJbml0aWFsaXplZCAtIHNldCB2aWEgVG9tIFNlbGVjdFxuICAgICAgICAgICAgICAgIHRoaXMuZGF0YS52YWx1ZSA9IHZhbHVlIHx8ICcnO1xuICAgICAgICAgICAgICAgIHRoaXMudG9tX3NlbGVjdC5zZXRWYWx1ZSh0aGlzLmRhdGEudmFsdWUsIHRydWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBOb3QgeWV0IGluaXRpYWxpemVkIC0gc3RvcmUgZm9yIGxhdGVyXG4gICAgICAgICAgICAgICAgdGhpcy5fcGVuZGluZ192YWx1ZSA9IHZhbHVlIHx8ICcnO1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YS52YWx1ZSA9IHZhbHVlIHx8ICcnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLE1BQU1BLGlCQUFpQixTQUFTQyxZQUFZLENBQUM7RUFDekNDLFNBQVNBLENBQUEsRUFBRztJQUNSO0lBQ0EsSUFBSSxDQUFDQyxJQUFJLENBQUNDLGFBQWEsR0FBRyxFQUFFOztJQUU1QjtJQUNBLElBQUksQ0FBQ0MsY0FBYyxHQUFHLElBQUk7O0lBRTFCO0lBQ0EsS0FBSyxDQUFDSCxTQUFTLENBQUMsQ0FBQztFQUNyQjtFQUVBLE1BQU1JLE9BQU9BLENBQUEsRUFBRztJQUNaO0lBQ0EsSUFBSSxJQUFJLENBQUNDLElBQUksQ0FBQ0osSUFBSSxFQUFFO01BQ2hCLElBQUk7UUFDQSxNQUFNSyxRQUFRLEdBQUcsTUFBTUMsS0FBSyxDQUFDLElBQUksQ0FBQ0YsSUFBSSxDQUFDSixJQUFJLENBQUM7UUFDNUMsSUFBSSxDQUFDSyxRQUFRLENBQUNFLEVBQUUsRUFBRTtVQUNkLE1BQU0sSUFBSUMsS0FBSyxDQUFDLHVCQUF1QkgsUUFBUSxDQUFDSSxNQUFNLEVBQUUsQ0FBQztRQUM3RDtRQUNBLE1BQU1ULElBQUksR0FBRyxNQUFNSyxRQUFRLENBQUNLLElBQUksQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQ1YsSUFBSSxDQUFDQyxhQUFhLEdBQUdELElBQUk7TUFDbEMsQ0FBQyxDQUFDLE9BQU9XLEtBQUssRUFBRTtRQUNaQyxPQUFPLENBQUNELEtBQUssQ0FBQyxnQ0FBZ0MsRUFBRUEsS0FBSyxDQUFDO1FBQ3RELElBQUksQ0FBQ1gsSUFBSSxDQUFDQyxhQUFhLEdBQUcsRUFBRTtNQUNoQztJQUNKO0VBQ0o7RUFFQVksUUFBUUEsQ0FBQSxFQUFHO0lBQ1A7SUFDQSxLQUFLLENBQUNBLFFBQVEsQ0FBQyxDQUFDOztJQUVoQjtJQUNBLElBQUksSUFBSSxDQUFDWCxjQUFjLEtBQUssSUFBSSxFQUFFO01BQzlCLElBQUksSUFBSSxDQUFDWSxVQUFVLEVBQUU7UUFDakIsSUFBSSxDQUFDQSxVQUFVLENBQUNDLFFBQVEsQ0FBQyxJQUFJLENBQUNiLGNBQWMsRUFBRSxJQUFJLENBQUM7TUFDdkQsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDYyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUNDLE1BQU0sQ0FBQyxDQUFDLEVBQUU7UUFDbkMsSUFBSSxDQUFDRCxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUNFLEdBQUcsQ0FBQyxJQUFJLENBQUNoQixjQUFjLENBQUM7TUFDOUM7TUFDQSxJQUFJLENBQUNGLElBQUksQ0FBQ21CLEtBQUssR0FBRyxJQUFJLENBQUNqQixjQUFjO01BQ3JDLElBQUksQ0FBQ0EsY0FBYyxHQUFHLElBQUk7SUFDOUI7RUFDSjs7RUFFQTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDSWdCLEdBQUdBLENBQUNDLEtBQUssRUFBRTtJQUNQLElBQUlDLFNBQVMsQ0FBQ0MsTUFBTSxLQUFLLENBQUMsRUFBRTtNQUN4QjtNQUNBLElBQUksSUFBSSxDQUFDUCxVQUFVLEVBQUU7UUFDakI7UUFDQSxPQUFPLElBQUksQ0FBQ0EsVUFBVSxDQUFDUSxRQUFRLENBQUMsQ0FBQztNQUNyQyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUNwQixjQUFjLEtBQUssSUFBSSxFQUFFO1FBQ3JDO1FBQ0EsT0FBTyxJQUFJLENBQUNBLGNBQWM7TUFDOUIsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDRixJQUFJLENBQUNtQixLQUFLLEVBQUU7UUFDeEI7UUFDQSxPQUFPLElBQUksQ0FBQ25CLElBQUksQ0FBQ21CLEtBQUs7TUFDMUI7TUFDQSxPQUFPLEVBQUU7SUFDYixDQUFDLE1BQU07TUFDSDtNQUNBLElBQUksSUFBSSxDQUFDTCxVQUFVLEVBQUU7UUFDakI7UUFDQSxJQUFJLENBQUNkLElBQUksQ0FBQ21CLEtBQUssR0FBR0EsS0FBSyxJQUFJLEVBQUU7UUFDN0IsSUFBSSxDQUFDTCxVQUFVLENBQUNDLFFBQVEsQ0FBQyxJQUFJLENBQUNmLElBQUksQ0FBQ21CLEtBQUssRUFBRSxJQUFJLENBQUM7TUFDbkQsQ0FBQyxNQUFNO1FBQ0g7UUFDQSxJQUFJLENBQUNqQixjQUFjLEdBQUdpQixLQUFLLElBQUksRUFBRTtRQUNqQyxJQUFJLENBQUNuQixJQUFJLENBQUNtQixLQUFLLEdBQUdBLEtBQUssSUFBSSxFQUFFO01BQ2pDO0lBQ0o7RUFDSjtBQUNKIiwiaWdub3JlTGlzdCI6W119