Files
EasySoft-ZenTaoPMS/module/ai/ui/modelcreate.html.php
T

118 lines
3.3 KiB
PHP

<?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)
)
)
);