| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250 |
- <?php
- namespace zin;
- jsVar('promptID', $promptID);
- jsVar('currentFields', array_values($currentFields));
- jsVar('knowledgeLibs', array_values($knowledgeLibs));
- jsVar('currentPrompt', $currentPrompt);
- jsVar('deleteTip', $lang->ai->miniPrograms->deleteFieldTip);
- jsVar('fieldAdd', $lang->ai->miniPrograms->field->add);
- jsVar('fieldAddTip', $lang->ai->miniPrograms->field->addTip);
- jsVar('knowledgeLibAdd', $lang->ai->miniPrograms->knowledgeLibAdd);
- jsVar('knowledgeLibAddTip', $lang->ai->miniPrograms->knowledgeLibAddTip);
- jsVar('unpublished', $lang->ai->knowledgeLibs->unpublished);
- jsVar('deleted', $lang->ai->knowledgeLibs->deleted);
- jsVar('confirmDelete', $lang->confirmDelete);
- jsVar('fieldEdit', $lang->ai->miniPrograms->field->edit);
- jsVar('fieldName', $lang->ai->miniPrograms->field->name);
- jsVar('fieldOption', $lang->ai->miniPrograms->field->option);
- jsVar('pleaseInput', $lang->ai->miniPrograms->placeholder->input);
- jsVar('fieldPlaceholder', $lang->ai->miniPrograms->placeholder->input);
- jsVar('emptyWarning', $lang->ai->miniPrograms->field->emptyNameWarning);
- jsVar('duplicatedWarning', $lang->ai->miniPrograms->field->duplicatedNameWarning);
- jsVar('emptyOptionWarning', $lang->ai->miniPrograms->field->emptyOptionWarning);
- jsVar('saveFailed', $lang->ai->saveFail);
- jsVar('promptPlaceholder', $lang->ai->miniPrograms->placeholder->prompt);
- include './promptnav.html.php';
- /* 构建预览列表 */
- function buildPreviewList($lang, $prompt, $dataPreview, $knowledgeLibs)
- {
- $knowledgeLibNames = [];
- foreach($knowledgeLibs as $knowledgeLib)
- {
- $available = $knowledgeLib->published === '1' && $knowledgeLib->deleted === '0';
- if(!$available) continue;
- $knowledgeLibNames[] = $knowledgeLib->name;
- }
- return ul(
- setClass('preview-list'),
- li(
- h5($lang->ai->prompts->dataPreview),
- p(
- setClass('pre'),
- $dataPreview
- )
- ),
- li(
- h5($lang->ai->prompts->rolePreview),
- p(
- setClass('whitespace-pre-wrap'),
- $prompt->role
- ),
- p(
- setClass('whitespace-pre-wrap'),
- $prompt->characterization
- )
- ),
- li(
- h5($lang->ai->miniPrograms->field->prompterPreview),
- div(
- setID('prompt-preview')
- )
- ),
- li(
- h5($lang->ai->miniPrograms->field->knowledgeLibs),
- p(
- setID('knowledgelib-names'),
- setClass('whitespace-pre-wrap'),
- implode(', ', $knowledgeLibNames)
- )
- )
- );
- }
- div(
- setClass('prompt-set-purpose'),
- div(
- setClass('panels'),
- div(
- setClass('form-panel'),
- div(
- setClass('section-content'),
- div(
- setClass('panel-area'),
- h3(
- setClass('text-md'),
- $lang->ai->miniPrograms->field->fields
- ),
- ol(
- setID('field-list'),
- setClass('field-list sortable')
- )
- ),
- div(
- setClass('panel-area'),
- h3(
- setClass('text-md field-required'),
- $lang->ai->miniPrograms->field->prompt,
- icon('help'),
- small(
- set::title($lang->ai->miniPrograms->field->prompterDesignTip),
- setClass('text-ellipsis'),
- $lang->ai->miniPrograms->field->prompterDesignTip
- )
- ),
- div(setID('prompt-editor'))
- ),
- div(
- setClass('panel-area'),
- h3(
- setClass('text-md'),
- $lang->ai->miniPrograms->field->knowledgeLibs
- ),
- ol(
- setID('knowledge-libs'),
- setClass('field-list')
- )
- )
- )
- ),
- div(
- setClass('preview-panel'),
- div(
- setClass('section-header'),
- h2(
- setClass('text-md'),
- $lang->ai->prompts->inputPreview
- )
- ),
- div(
- setClass('section-content'),
- buildPreviewList($lang, $prompt, $dataPreview, $knowledgeLibs)
- )
- )
- ),
- div
- (
- setClass('actions'),
- btn
- (
- setID('btn-save'),
- set::type('primary'),
- $lang->ai->nextStep
- )
- )
- );
- div(
- setClass('modal fade'),
- setData('backdrop', 'static'),
- setID('field-modal'),
- div(
- setClass('modal-dialog shadow size-sm bd-none'),
- div(
- setClass('modal-content'),
- div(setClass('modal-header items-center'), span
- (
- setStyle(array(
- 'font-size' => '20px',
- 'font-weight' => 'bold',
- )),
- $lang->ai->miniPrograms->field->add
- )),
- div
- (
- setClass('modal-actions'),
- button
- (
- setClass('btn square ghost'),
- setData('dismiss', 'modal'),
- span
- (
- setClass('close')
- )
- )
- ),
- div(
- setClass('modal-body form form-horz'),
- formGroup
- (
- set::label($lang->ai->miniPrograms->field->name),
- set::required(true),
- input
- (
- set::name('field-name'),
- set::maxlength('16'),
- set::required(true)
- )
- ),
- formGroup
- (
- set::label($lang->ai->miniPrograms->field->type),
- select
- (
- set::name('field-type'),
- set::items(array(
- 'text' => $lang->ai->miniPrograms->field->typeList['text'],
- 'textarea' => $lang->ai->miniPrograms->field->typeList['textarea'],
- 'radio' => $lang->ai->miniPrograms->field->typeList['radio'],
- 'checkbox' => $lang->ai->miniPrograms->field->typeList['checkbox']
- )),
- set::value('text'),
- set::required(true)
- )
- ),
- formGroup
- (
- setID('field-placeholder'),
- set::label($lang->ai->miniPrograms->field->placeholder),
- input
- (
- set::name('field-placeholder'),
- set::placeholder($lang->ai->miniPrograms->placeholder->default)
- )
- ),
- formGroup
- (
- setID('field-options'),
- setClass('field-options hidden'),
- set::label('')
- ),
- formGroup
- (
- set::label($lang->ai->miniPrograms->field->required),
- radioList
- (
- set::name('field-required'),
- set::items(array(
- '1' => $lang->ai->miniPrograms->field->requiredOptions[1],
- '0' => $lang->ai->miniPrograms->field->requiredOptions[0]
- )),
- set::value('1'),
- set::inline(true)
- )
- )
- ),
- div(
- setClass('modal-footer flex items-center justify-center'),
- btn(
- setID('field-modal-save'),
- setClass('btn btn-wide primary'),
- $lang->save
- )
- )
- )
- )
- );
|