poc: adds disable/enable fields on admin settings for ai features

This commit is contained in:
ievgenii vdovenko 2025-09-01 13:24:41 +02:00
parent b4aecb1e0b
commit d8b5d916ef

View file

@ -74,6 +74,7 @@ import json
const $model = $('#rhodecode_ai_model');
const $slot = $('#model_version_slot');
const $enable = $('#rhodecode_ai_features_enabled');
function renderVersionField(model) {
const versions = MODEL_MAP[model] || [];
@ -81,6 +82,7 @@ import json
$slot.empty();
if (!versions.length) {
setAIFieldsActive($enable.is(':checked'));
return;
}
@ -106,6 +108,24 @@ import json
selector('#rhodecode_ai_model_version');
$ver.trigger('change');
setAIFieldsActive($enable.is(':checked'));
}
function setAIFieldsActive(enabled) {
const $affectedFields = $('.fields .field').not('#ai-features-toggle');
$affectedFields.toggleClass('is-disabled', !enabled);
$affectedFields
.find('input, textarea, button')
.prop('disabled', !enabled);
$affectedFields
.find('select')
.prop('disabled', !enabled)
.trigger('change.select2');
}
renderVersionField($model.val());
@ -121,5 +141,15 @@ import json
}
renderVersionField($model.val());
$enable.on('change', function () {
setAIFieldsActive(this.checked);
});
$('form').submit(function (e) {
$(':disabled').each(function (e) {
$(this).removeAttr('disabled');
})
});
});
</script>