"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