- [task#152541] remove the useless code.

This commit is contained in:
wangzemei
2025-12-02 16:32:17 +08:00
committed by sunhao
parent 8203b33fef
commit 13bd8566f7
9 changed files with 0 additions and 646 deletions
-91
View File
@@ -1,91 +0,0 @@
window.testConnection = () =>
{
$('#model-form').find('button[type="submit"]').attr('disabled', 'disabled');
$('#test-conn-btn').attr('disabled', 'disabled');
$.ajax(
{
type: 'POST',
url: $.createLink('ai', 'modelTestConnection'),
data: $('#model-form').find('form').serialize(),
dataType: 'json',
success: data =>
{
if(data.result == 'success')
{
zui.Messager.show({content: data.message, type: 'success'})
}
else
{
zui.Messager.show({content: data.message, type: 'danger'})
}
},
complete: () =>
{
$('#model-form').find('button[type="submit"]').removeAttr('disabled');
$('#test-conn-btn').removeAttr('disabled');
}
});
};
const handleModelTypeChange = () =>
{
const modelType = $('select[name="type"]').val();
const vendorList = window.vendorListLang[modelType];
$('select[name="vendor"]').html('');
for(const vendor in vendorList) $('select[name="vendor"]').append('<option value="' + vendor + '">' + vendorList[vendor] + '</option>');
$('select[name="vendor"]').trigger('chosen:updated');
$('select[name="vendor"]').trigger('change');
};
const handleVendorChange = () =>
{
const vendor = $('select[name="vendor"]').val();
const requiredFields = window.vendorList[vendor]['credentials'];
const vendorTip = window.vendorTipsLang[vendor];
$('.vendor-tips').html(vendorTip ? vendorTip : '');
$('.vendor-row').each((_, el) => {$(el).toggle(requiredFields.includes($(el).find('input').attr('name')));});
};
const handleProxyTypeChange = () =>
{
$('#proxy-addr-container').toggle($('select[name="proxyType"]').val() != '');
};
$(() =>
{
handleVendorChange();
$('select[name="type"]').on('change', handleModelTypeChange);
$('select[name="vendor"]').on('change', handleVendorChange);
$('select[name="proxyType"]').on('change', handleProxyTypeChange);
$('button[type="submit"]').on('click', e =>
{
$('button[type="submit"]').attr('disabled', 'disabled');
$('#test-conn-btn').attr('disabled', 'disabled');
e.preventDefault();
$.ajax(
{
type: 'POST',
url: $.createLink('ai', 'modelcreate'),
data: $('form').serialize(),
dataType: 'json',
success: data =>
{
if(data.result == 'success')
{
zui.Messager.show({content: data.message, type: 'success'});
window.location.href = $.createLink('ai', 'models');
}
else
{
zui.Messager.show({content: data.message, type: 'danger'});
}
},
complete: () =>
{
$('button[type="submit"]').removeAttr('disabled');
$('#test-conn-btn').removeAttr('disabled');
}
});
});
});
-93
View File
@@ -1,93 +0,0 @@
window.testConnection = () =>
{
$('#model-form').find('button[type="submit"]').attr('disabled', 'disabled');
$('#test-conn-btn').attr('disabled', 'disabled');
$.ajax(
{
type: 'POST',
url: $.createLink('ai', 'modelTestConnection'),
data: $('.form').serialize(),
dataType: 'json',
success: data =>
{
if(data.result == 'success')
{
zui.Messager.show({content: data.message, type: 'success'})
}
else
{
zui.Messager.show({content: data.message, type: 'danger'})
}
},
complete: () =>
{
$('#model-form').find('button[type="submit"]').removeAttr('disabled');
$('#test-conn-btn').removeAttr('disabled');
}
});
};
const handleModelTypeChange = (modelType = '') =>
{
if(!modelType) modelType = $('select[name="type"]').val();
const vendorList = window.vendorListLang[modelType];
$('select[name="vendor"]').html('');
for(const vendor in vendorList) $('select[name="vendor"]').append('<option value="' + vendor + '">' + vendorList[vendor] + '</option>');
$('select[name="vendor"]').trigger('chosen:updated');
$('select[name="vendor"]').trigger('change');
};
const handleVendorChange = (vendor = '') =>
{
vendor ? $('select[name="vendor"]').val(vendor) : (vendor = $('select[name="vendor"]').val());
const requiredFields = window.vendorList[vendor]['credentials'];
const vendorTip = window.vendorTipsLang[vendor];
$('.vendor-tips').html(vendorTip ? vendorTip : '');
$('.vendor-row').each((_, el) => {$(el).toggle(requiredFields.includes($(el).find('input').attr('name')));});
};
const handleProxyTypeChange = () =>
{
$('#proxy-addr-container').toggle($('select[name="proxyType"]').val() != '');
};
$(() =>
{
handleModelTypeChange(window.modelData.type);
handleVendorChange(window.modelData.vendor);
handleProxyTypeChange();
$('select[name="type"]').on('change', handleModelTypeChange);
$('select[name="vendor"]').on('change', handleVendorChange);
$('select[name="proxyType"]').on('change', handleProxyTypeChange);
$('button[type="submit"]').on('click', e =>
{
$('button[type="submit"]').attr('disabled', 'disabled');
$('#test-conn-btn').attr('disabled', 'disabled');
e.preventDefault();
$.ajax(
{
type: 'POST',
url: $.createLink('ai', 'modeledit', "id=" + modelData.id),
data: $('.form').serialize(),
dataType: 'json',
success: data =>
{
if(data.result == 'success')
{
zui.Messager.show({content: data.message, type: 'success'});
window.location.href = $.createLink('ai', 'models');
}
else
{
zui.Messager.show({content: data.message, type: 'danger'});
}
},
complete: () =>
{
$('button[type="submit"]').removeAttr('disabled');
$('#test-conn-btn').removeAttr('disabled');
}
});
});
});
-37
View File
@@ -1,37 +0,0 @@
let renderedDefault = false;
let defaultModel = null;
window.onRenderCell = (result, {col, row}) =>
{
if(col.name == 'name' && ((!renderedDefault && row.data.enabled == '1') || (renderedDefault && row.data.id == defaultModel)))
{
result.push({html: `<span class='label gray-pale rounded-xl cursor-help' title='${langDefaultTip}'>${langDefault}</span>`});
renderedDefault = true;
defaultModel = row.data.id;
}
return result;
};
window.confirmDisable = function(modelID)
{
zui.Modal.confirm({message: confirmDisableTip, icon: 'icon-exclamation-sign', iconClass: 'warning-pale rounded-full icon-2x'}).then(res =>
{
if(res) $.ajaxSubmit({url: $.createLink('ai', 'modeldisable', `modelID=${modelID}`)});
})
};
$(function()
{
const container = window.frameElement?.closest('.load-indicator');
if(container)
{
delete container.dataset.loading;
container.classList.remove('loading');
container.classList.remove('no-delay');
}
/* If user navigated to this page from old page, reload. */
if(window.name === 'app-admin-old')
{
$.apps.reloadApp('admin', $.createLink('ai', 'models'));
}
});
-41
View File
@@ -1,41 +0,0 @@
window.confirmDelete = modelID =>
{
zui.Modal.confirm({message: confirmDeleteTip, icon: 'icon-exclamation-sign', iconClass: 'warning-pale rounded-full icon-2x'}).then(res =>
{
if(res) $.ajaxSubmit({url: $.createLink('ai', 'modeldelete', `modelID=${modelID}`)});
})
};
window.confirmDisable = modelID =>
{
zui.Modal.confirm({message: confirmDisableTip, icon: 'icon-exclamation-sign', iconClass: 'warning-pale rounded-full icon-2x'}).then(res =>
{
if(res) $.ajaxSubmit({url: $.createLink('ai', 'modeldisable', `modelID=${modelID}`)});
})
};
window.testConnection = modelID =>
{
$('[href^="javascript:testConnection"]').attr('disabled', 'disabled');
$.ajax(
{
type: 'GET',
url: $.createLink('ai', 'modelTestConnection', `modelID=${modelID}`),
dataType: 'json',
success: data =>
{
if(data.result == 'success')
{
zui.Messager.show({content: data.message, type: 'success'})
}
else
{
zui.Messager.show({content: data.message, type: 'danger'})
}
},
complete: () =>
{
$('[href^="javascript:testConnection"]').removeAttr('disabled');
}
});
};
-117
View File
@@ -1,117 +0,0 @@
<?php
declare(strict_types=1);
namespace zin;
$defaultModelType = array_key_first($lang->ai->models->typeList);
$defaultModelVendor = array_key_first($lang->ai->models->vendorList->{$defaultModelType});
$allCredFields = array_unique(array_reduce((array)$config->ai->vendorList, function($carry, $vendor) {return array_merge($carry, array_values((array)$vendor['credentials']));}, array()));
jsVar('window.vendorList', $config->ai->vendorList);
jsVar('window.vendorListLang', $lang->ai->models->vendorList);
jsVar('window.vendorTipsLang', $lang->ai->models->vendorTips);
formPanel
(
set::title($lang->ai->models->create),
set::id('model-form'),
set::actions(array('submit', array('text' => $lang->ai->models->testConnection, 'id' => 'test-conn-btn', 'class' => 'btn secondary', 'url' => 'javascript:testConnection()'), 'cancel')),
formGroup
(
set::label($lang->ai->models->name),
set::width('1/2'),
input
(
set::name('name'),
set('maxlength', 20)
)
),
formGroup
(
set::label($lang->ai->models->type),
set::width('1/2'),
set::required(true),
select
(
set::name('type'),
set::items($lang->ai->models->typeList),
set::value($defaultModelType),
set::required(true)
)
),
formRow
(
formGroup
(
/* Update vendor group on model type change. */
set::label($lang->ai->models->vendor),
set::width('1/2'),
set::required(true),
select
(
set::name('vendor'),
set::items($lang->ai->models->vendorList->{$defaultModelType}),
set::required(true)
),
set::tip(' '),
set::tipClass('vendor-tips text-gray')
)
),
array_map( // Vendor credentials rows.
function($field) use ($lang)
{
return formRow
(
set::className('vendor-row'),
formGroup
(
set::label($lang->ai->models->{$field}),
set::required(true),
input
(
set::name($field),
set::required(true)
)
)
);
},
$allCredFields
),
formRow
(
formGroup
(
set::label($lang->ai->models->proxyType),
set::width('1/2'),
set::required(true),
select
(
set::name('proxyType'),
set::items($lang->ai->models->proxyTypes),
set::required(true)
)
),
formGroup
(
set::label($lang->ai->models->proxyAddr),
set::width('1/2'),
set::required(true),
set::style(array('display' => 'none')), // Hide proxy address input by default.
set::id('proxy-addr-container'),
input
(
set::name('proxyAddr'),
set::required(true)
)
)
),
formGroup
(
set::label($lang->ai->models->description),
textarea
(
set::name('description'),
set::rows(3)
)
)
);
-124
View File
@@ -1,124 +0,0 @@
<?php
declare(strict_types=1);
namespace zin;
$defaultModelType = array_key_first($lang->ai->models->typeList);
$defaultModelVendor = array_key_first($lang->ai->models->vendorList->{$defaultModelType});
$allCredFields = array_unique(array_reduce((array)$config->ai->vendorList, function($carry, $vendor) {return array_merge($carry, array_values((array)$vendor['credentials']));}, array()));
jsVar('window.vendorList', $config->ai->vendorList);
jsVar('window.vendorListLang', $lang->ai->models->vendorList);
jsVar('window.vendorTipsLang', $lang->ai->models->vendorTips);
jsVar('window.modelData', $model);
formPanel
(
set::title($lang->ai->models->edit . (empty($model->name) ? '' : " - {$model->name}")),
set::id('model-form'),
set::actions(array('submit', array('text' => $lang->ai->models->testConnection, 'id' => 'test-conn-btn', 'class' => 'btn secondary', 'url' => 'javascript:testConnection()'), 'cancel')),
formGroup
(
set::label($lang->ai->models->name),
set::width('1/2'),
input
(
set::name('name'),
set('maxlength', 20),
set::value($model->name)
)
),
formGroup
(
set::label($lang->ai->models->type),
set::width('1/2'),
set::required(true),
select
(
set::name('type'),
set::items($lang->ai->models->typeList),
set::value($model->type),
set::required(true)
)
),
formRow
(
formGroup
(
/* Update vendor group on model type change. */
set::label($lang->ai->models->vendor),
set::width('1/2'),
set::required(true),
select
(
set::name('vendor'),
set::items($lang->ai->models->vendorList->{$defaultModelType}),
set::value($model->vendor),
set::required(true)
),
set::tip(' '),
set::tipClass('vendor-tips text-gray')
)
),
array_map( // Vendor credentials rows.
function($field) use ($lang, $model)
{
return formRow
(
set::className('vendor-row'),
formGroup
(
set::label($lang->ai->models->{$field}),
set::required(true),
input
(
set::name($field),
set::value(empty($model->{$field}) ? '' : $model->{$field}),
set::required(true)
)
)
);
},
$allCredFields
),
formRow
(
formGroup
(
set::label($lang->ai->models->proxyType),
set::width('1/2'),
set::required(true),
select
(
set::name('proxyType'),
set::items($lang->ai->models->proxyTypes),
set::value(empty($model->proxyType) ? '' : $model->proxyType),
set::required(true)
)
),
formGroup
(
set::label($lang->ai->models->proxyAddr),
set::width('1/2'),
set::required(true),
set::style(array('display' => 'none')), // Hide proxy address input by default.
set::id('proxy-addr-container'),
input
(
set::name('proxyAddr'),
set::value(empty($model->proxyAddr) ? '' : $model->proxyAddr),
set::required(true)
)
)
),
formGroup
(
set::label($lang->ai->models->description),
textarea
(
set::name('description'),
set::rows(3),
set::value($model->desc)
)
)
);
-62
View File
@@ -1,62 +0,0 @@
<?php
declare(strict_types=1);
namespace zin;
jsVar('langDefault', $lang->ai->models->default);
jsVar('langDefaultTip', $lang->ai->models->defaultTip);
jsVar('confirmDisableTip', $lang->ai->models->confirmDisable);
featureBar();
hasPriv('ai', 'modelcreate') && toolbar(
item(
set(array(
'text' => $lang->ai->models->create,
'url' => createLink('ai', 'modelcreate'),
'data-app' => $app->tab,
'icon' => 'plus',
'class' => 'btn primary',
))
)
);
if(empty($models))
{
panel
(
center
(
set::style(array('height' => 'calc(100vh - 145px)')), // 145px is sum of header and footer height.
div
(
span
(
set::className('p-8 text-gray'),
$lang->ai->models->noModels
),
btn
(
set::text($lang->ai->models->create),
set::icon('plus'),
set::className('btn secondary'),
set::url(createLink('ai', 'modelcreate')),
set('data-app', $app->tab)
)
)
)
);
}
else
{
$models = initTableData($models, $config->ai->dtable->models, $this->ai);
dtable
(
set::cols($config->ai->dtable->models),
set::data($models),
set::onRenderCell(jsRaw('window.onRenderCell')),
set::orderBy($orderBy),
set::sortLink(inlink('models', "orderBy={name}_{sortType}&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}")),
set::footPager(usePager()),
);
}
-80
View File
@@ -1,80 +0,0 @@
<?php
declare(strict_types=1);
namespace zin;
jsVar('confirmDeleteTip', $lang->ai->models->confirmDelete);
jsVar('confirmDisableTip', $lang->ai->models->confirmDisable);
detailHeader
(
backBtn(set::icon('back'), setClass('ghost text-white'), $lang->goback),
to::title
(
entityLabel
(
set(array('entityID' => $model->id, 'text' => $model->name)),
)
)
);
$actions = $this->loadModel('common')->buildOperateMenu($model);
detailBody
(
sectionList
(
section
(
set::title($lang->ai->models->details),
tableData
(
item
(
set::name($lang->ai->models->type),
$lang->ai->models->typeList[$model->type]
),
item
(
set::name($lang->ai->models->vendor),
$lang->ai->models->vendorList->{$model->type}[$model->vendor]
),
array_map(function($field) use ($model, $lang)
{
return item
(
set::name($lang->ai->models->$field),
empty($model->$field) ? $lang->ai->models->unconfigured : $model->$field
);
}, $config->ai->vendorList[$model->vendor]['credentials']),
item
(
set::name($lang->ai->models->proxyType),
$lang->ai->models->proxyTypes[empty($model->proxyType) ? '' : $model->proxyType]
),
!empty($model->proxyType) ? item
(
set::name($lang->ai->models->proxyAddr),
empty($model->proxyAddr) ? $lang->ai->models->unconfigured : $model->proxyAddr
) : null,
item
(
set::name($lang->ai->models->description),
$model->desc
),
item
(
set::name($lang->statusAB),
$lang->ai->models->statusList[$model->enabled]
)
)
)
),
floatToolbar
(
set::object($model),
isAjaxRequest('modal') ? null : to::prefix(backBtn(set::back('ai-models'), set::icon('back'), setClass('ghost text-white'), $lang->goback)),
set::main($actions['mainActions']),
set::suffix($actions['suffixActions'])
),
);
-1
View File
@@ -27,7 +27,6 @@ $config->index->oldPages[] = 'screen-burn';
$config->index->oldPages[] = 'screen-viewold';
$config->index->oldPages[] = 'screen-staticdataold';
$config->index->oldPages[] = 'report-annualdata';
$config->index->oldPages[] = 'ai-adminindex';
$config->index->oldPages[] = 'ai-chat';
$config->index->oldPages[] = 'api-debug';
$config->index->oldPages[] = 'datatable-ajaxoldcustom';