Fix JavaScript files: use correct bricks.getWidgetById API with proper ID format

This commit is contained in:
yumoqing 2026-04-22 16:43:09 +08:00
parent 30eae89807
commit 7daf801c99
3 changed files with 44 additions and 37 deletions

View File

@ -1,36 +1,37 @@
// Register function for creating new sessions // Register function for creating new sessions
bricks.RF.register('create_session', async function(params) { bricks.RF.register('create_session', async function(params) {
try { try {
// Get form data from the new session form // Get form data from the new session form using correct API
const sessionName = bricks.getWidget('session-name').value; const formWidget = bricks.getWidgetById('app.new-session-form');
const modelSelect = bricks.getWidget('model-select').value; const formData = formWidget ? formWidget.getData() : {};
const initialPrompt = bricks.getWidget('initial-prompt').value;
if (!sessionName) { if (!formData['session-name']) {
bricks.showMessage('Please enter a session name', 'error'); bricks.showMessage('Please enter a session name', 'error');
return; return;
} }
if (!modelSelect) { if (!formData['model-select']) {
bricks.showMessage('Please select an AI model', 'error'); bricks.showMessage('Please select an AI model', 'error');
return; return;
} }
const formData = new FormData();
formData.append('session-name', sessionName);
formData.append('model-select', modelSelect);
formData.append('initial-prompt', initialPrompt || '');
const response = await fetch('/hermes-web-cli/sessions/create/', { const response = await fetch('/hermes-web-cli/sessions/create/', {
method: 'POST', method: 'POST',
body: formData headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
'session-name': formData['session-name'],
'model-select': formData['model-select'],
'initial-prompt': formData['initial-prompt'] || ''
})
}); });
const result = await response.json(); const result = await response.json();
if (result.success) { if (result.success) {
bricks.showMessage('Session created successfully', 'success'); bricks.showMessage('Session created successfully', 'success');
// Navigate back to sessions list // Navigate back to sessions list
const mainContent = bricks.getWidget('app.main-content'); const mainContent = bricks.getWidgetById('app.main-content');
if (mainContent) { if (mainContent) {
mainContent.loadURL(bricks.entire_url('sessions.ui')); mainContent.loadURL(bricks.entire_url('sessions.ui'));
} }
@ -49,7 +50,7 @@ async function loadModelsForNewSession() {
const models = await response.json(); const models = await response.json();
if (Array.isArray(models)) { if (Array.isArray(models)) {
const modelSelect = bricks.getWidget('model-select'); const modelSelect = bricks.getWidgetById('app.model-select');
if (modelSelect && modelSelect.options) { if (modelSelect && modelSelect.options) {
// Format models as items for UiCode component // Format models as items for UiCode component
const modelItems = models.map(model => ({ const modelItems = models.map(model => ({

View File

@ -6,7 +6,7 @@ bricks.RF.register('remove_service', async function(params) {
if (result.success) { if (result.success) {
// Refresh the services list // Refresh the services list
const listWidget = bricks.getWidget('services-list'); const listWidget = bricks.getWidgetById('app.services-list');
if (listWidget) { if (listWidget) {
listWidget.reload(); listWidget.reload();
} }

View File

@ -1,14 +1,14 @@
// Register functions for settings management // Register functions for settings management
bricks.RF.register('save_general_settings', async function(params) { bricks.RF.register('save_general_settings', async function(params) {
try { try {
const formData = new FormData(); const formData = params.form_data || {};
formData.append('default-model', params.default_model);
formData.append('session-timeout', params.session_timeout);
formData.append('auto-save', params.auto_save);
const response = await fetch('/hermes-web-cli/settings/save/general/', { const response = await fetch('/hermes-web-cli/settings/save/general/', {
method: 'POST', method: 'POST',
body: formData headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(formData)
}); });
const result = await response.json(); const result = await response.json();
@ -24,13 +24,15 @@ bricks.RF.register('save_general_settings', async function(params) {
bricks.RF.register('save_security_settings', async function(params) { bricks.RF.register('save_security_settings', async function(params) {
try { try {
const formData = new FormData();
formData.append('require-auth', params.require_auth);
formData.append('encrypt-storage', params.encrypt_storage);
const response = await fetch('/hermes-web-cli/settings/save/security/', { const response = await fetch('/hermes-web-cli/settings/save/security/', {
method: 'POST', method: 'POST',
body: formData headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
'require-auth': params.require_auth,
'encrypt-storage': params.encrypt_storage
})
}); });
const result = await response.json(); const result = await response.json();
@ -46,12 +48,14 @@ bricks.RF.register('save_security_settings', async function(params) {
bricks.RF.register('save_appearance_settings', async function(params) { bricks.RF.register('save_appearance_settings', async function(params) {
try { try {
const formData = new FormData();
formData.append('theme-select', params.theme);
const response = await fetch('/hermes-web-cli/settings/save/appearance/', { const response = await fetch('/hermes-web-cli/settings/save/appearance/', {
method: 'POST', method: 'POST',
body: formData headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
'theme-select': params.theme
})
}); });
const result = await response.json(); const result = await response.json();
@ -70,7 +74,7 @@ bricks.RF.register('save_appearance_settings', async function(params) {
// Register functions for models management // Register functions for models management
bricks.RF.register('add_model', async function(params) { bricks.RF.register('add_model', async function(params) {
// Navigate to add model page // Navigate to add model page
const mainContent = bricks.getWidget('app.main-content'); const mainContent = bricks.getWidgetById('app.main-content');
if (mainContent) { if (mainContent) {
mainContent.loadURL(bricks.entire_url('add_model.ui')); mainContent.loadURL(bricks.entire_url('add_model.ui'));
} }
@ -78,14 +82,16 @@ bricks.RF.register('add_model', async function(params) {
bricks.RF.register('update_model', async function(params) { bricks.RF.register('update_model', async function(params) {
try { try {
const formData = new FormData();
formData.append('model_id', params.model_id);
formData.append('model_name', params.model_name);
formData.append('model_provider', params.model_provider);
const response = await fetch('/hermes-web-cli/models/update/', { const response = await fetch('/hermes-web-cli/models/update/', {
method: 'POST', method: 'POST',
body: formData headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
'model_id': params.model_id,
'model_name': params.model_name,
'model_provider': params.model_provider
})
}); });
const result = await response.json(); const result = await response.json();
@ -108,7 +114,7 @@ bricks.RF.register('remove_model', async function(params) {
if (result.success) { if (result.success) {
bricks.showMessage('Model removed successfully', 'success'); bricks.showMessage('Model removed successfully', 'success');
// Refresh the models list // Refresh the models list
const modelsList = bricks.getWidget('models-list'); const modelsList = bricks.getWidgetById('app.models-list');
if (modelsList) { if (modelsList) {
modelsList.reload(); modelsList.reload();
} }