MCPcopy Create free account
hub / github.com/cppla/ServerStatus / formConfigItem

Function formConfigItem

web/js/app.js:755–776  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

753 renderConfigEditor();
754}
755function formConfigItem(){
756 const elements = $('configForm').elements;
757 const item = {};
758 activeConfigDef().fields.forEach(field => {
759 const el = elements[field.name];
760 if(!el) return;
761 if(field.type === 'checkbox'){
762 item[field.name] = el.checked;
763 return;
764 }
765 if(field.type === 'number'){
766 let value = el.value === '' ? (field.default ?? 0) : Number(el.value);
767 if(!Number.isFinite(value)) value = field.default ?? 0;
768 if(field.min != null) value = Math.max(field.min, value);
769 if(field.max != null) value = Math.min(field.max, value);
770 item[field.name] = value;
771 return;
772 }
773 item[field.name] = field.keepRaw ? el.value : el.value.trim();
774 });
775 return item;
776}
777function configItemPath(key, index){
778 if(index < 0) return `/api/${key}`;
779 const current = configItems()[index] || {};

Callers 1

bindAdminFunction · 0.85

Calls 2

$Function · 0.85
activeConfigDefFunction · 0.85

Tested by

no test coverage detected