diff --git a/module/ai/js/configuredminiprogram.js b/module/ai/js/configuredminiprogram.js index 43b8b8e03a..e17904baa6 100644 --- a/module/ai/js/configuredminiprogram.js +++ b/module/ai/js/configuredminiprogram.js @@ -483,13 +483,7 @@ function updatePromptPreview() $('.prompt-preview-area .preview-container').html(innerHTML); } -/** - * Save mini program fields. - * - * @param {'0'|'1'} toPublish - * @returns {void} - */ -function saveMiniProgram(toPublish) +function getRequiredFields() { const fields = []; $('.field-content').children().each(function() @@ -504,7 +498,44 @@ function saveMiniProgram(toPublish) fields.push(field); }); const prompt = $('#autocomplete-textarea').html(); - $.post(createLink('ai', 'configuredMiniProgram', `appID=${appid}`), {fields, prompt, toPublish}).done(console.log); + return [fields, prompt]; +} + +/** + * Save mini program fields. + * + * @param {'0'|'1'} toPublish + * @returns {void} + */ +function saveMiniProgram(toPublish) +{ + const [fields, prompt] = getRequiredFields(); + if(fields.length && prompt) $.post(createLink('ai', 'configuredMiniProgram', `appID=${appid}`), {fields, prompt, toPublish}).done(console.log); +} + +function backToList() +{ + const [fields, prompt] = getRequiredFields(); + if(fields.length && prompt) + { + $modal = $('#back-to-list-modal'); + $modal.modal('show', 'fit'); + return; + } + window.location.href = createLink('ai', 'miniPrograms'); +} + +function backWithoutSave() +{ + $modal = $('#back-to-list-modal'); + $modal.modal('hide'); +} + +function backWithSave() +{ + $modal = $('#back-to-list-modal'); + $modal.modal('hide'); + saveMiniProgram('0'); } $(function() diff --git a/module/ai/lang/de.php b/module/ai/lang/de.php index f4aac5f1c8..4d851e5c93 100644 --- a/module/ai/lang/de.php +++ b/module/ai/lang/de.php @@ -404,22 +404,24 @@ $lang->ai->prompts->modules['doc'] = 'Document'; $lang->ai->conversations = new stdclass(); $lang->ai->conversations->common = 'Conversations'; -$lang->ai->miniPrograms = new stdClass(); -$lang->ai->miniPrograms->common = 'Mini Programs'; -$lang->ai->miniPrograms->create = 'Create A Program'; -$lang->ai->miniPrograms->configuration = 'Basic Information Configuration'; -$lang->ai->miniPrograms->downloadTip = 'Once created, your mini-program will be displayed on the AI Mini-Program Square in the client.'; -$lang->ai->miniPrograms->download = 'Download Zentao Client'; -$lang->ai->miniPrograms->category = 'Category'; -$lang->ai->miniPrograms->icon = 'Icon'; -$lang->ai->miniPrograms->desc = 'Introduction'; -$lang->ai->miniPrograms->categoryList = array('writing' => 'writing', 'statistics' => 'statistics', 'creative' => 'creative', 'raiders' => 'Guideline ', 'schedule' => 'schedule'); -$lang->ai->miniPrograms->modelList = array('openai-GPT35 '=> 'openai/GPT-3.5'); -$lang->ai->miniPrograms->iconModification = 'Icon modification'; -$lang->ai->miniPrograms->customBackground = 'Custom background Color'; -$lang->ai->miniPrograms->customIcon = 'Custom icon'; -$lang->ai->miniPrograms->backToListPage = 'Return to list page'; -$lang->ai->miniPrograms->lastStep = 'Previous step'; +$lang->ai->miniPrograms = new stdClass(); +$lang->ai->miniPrograms->common = 'Mini Programs'; +$lang->ai->miniPrograms->create = 'Create A Program'; +$lang->ai->miniPrograms->configuration = 'Basic Information Configuration'; +$lang->ai->miniPrograms->downloadTip = 'Once created, your mini-program will be displayed on the AI Mini-Program Square in the client.'; +$lang->ai->miniPrograms->download = 'Download Zentao Client'; +$lang->ai->miniPrograms->category = 'Category'; +$lang->ai->miniPrograms->icon = 'Icon'; +$lang->ai->miniPrograms->desc = 'Introduction'; +$lang->ai->miniPrograms->categoryList = array('writing' => 'writing', 'statistics' => 'statistics', 'creative' => 'creative', 'raiders' => 'Guideline ', 'schedule' => 'schedule'); +$lang->ai->miniPrograms->modelList = array('openai-GPT35 '=> 'openai/GPT-3.5'); +$lang->ai->miniPrograms->iconModification = 'Icon modification'; +$lang->ai->miniPrograms->customBackground = 'Custom background Color'; +$lang->ai->miniPrograms->customIcon = 'Custom icon'; +$lang->ai->miniPrograms->backToListPage = 'Return to list page'; +$lang->ai->miniPrograms->lastStep = 'Previous step'; +$lang->ai->miniPrograms->backToListPageTip = 'There are data changes in the form. Do you want to save and go back?'; +$lang->ai->miniPrograms->saveAndBack = 'Save and Go Back'; $lang->ai->miniPrograms->placeholder = new stdClass(); $lang->ai->miniPrograms->placeholder->name = 'Please enter a small program name'; diff --git a/module/ai/lang/en.php b/module/ai/lang/en.php index 30247f35d9..1077c1c9c3 100644 --- a/module/ai/lang/en.php +++ b/module/ai/lang/en.php @@ -404,22 +404,24 @@ $lang->ai->prompts->modules['doc'] = 'Document'; $lang->ai->conversations = new stdclass(); $lang->ai->conversations->common = 'Conversations'; -$lang->ai->miniPrograms = new stdClass(); -$lang->ai->miniPrograms->common = 'Mini Programs'; -$lang->ai->miniPrograms->create = 'Create A Program'; -$lang->ai->miniPrograms->configuration = 'Basic Information Configuration'; -$lang->ai->miniPrograms->downloadTip = 'Once created, your mini-program will be displayed on the AI Mini-Program Square in the client.'; -$lang->ai->miniPrograms->download = 'Download Zentao Client'; -$lang->ai->miniPrograms->category = 'Category'; -$lang->ai->miniPrograms->icon = 'Icon'; -$lang->ai->miniPrograms->desc = 'Introduction'; -$lang->ai->miniPrograms->categoryList = array('writing' => 'writing', 'statistics' => 'statistics', 'creative' => 'creative', 'raiders' => 'Guideline ', 'schedule' => 'schedule'); -$lang->ai->miniPrograms->modelList = array(' openai-GPT35 '=> 'openai/GPT-3.5'); -$lang->ai->miniPrograms->iconModification = 'Icon modification'; -$lang->ai->miniPrograms->customBackground = 'Custom background Color'; -$lang->ai->miniPrograms->customIcon = 'Custom icon'; -$lang->ai->miniPrograms->backToListPage = 'Return to list page'; -$lang->ai->miniPrograms->lastStep = 'Previous step'; +$lang->ai->miniPrograms = new stdClass(); +$lang->ai->miniPrograms->common = 'Mini Programs'; +$lang->ai->miniPrograms->create = 'Create A Program'; +$lang->ai->miniPrograms->configuration = 'Basic Information Configuration'; +$lang->ai->miniPrograms->downloadTip = 'Once created, your mini-program will be displayed on the AI Mini-Program Square in the client.'; +$lang->ai->miniPrograms->download = 'Download Zentao Client'; +$lang->ai->miniPrograms->category = 'Category'; +$lang->ai->miniPrograms->icon = 'Icon'; +$lang->ai->miniPrograms->desc = 'Introduction'; +$lang->ai->miniPrograms->categoryList = array('writing' => 'writing', 'statistics' => 'statistics', 'creative' => 'creative', 'raiders' => 'Guideline ', 'schedule' => 'schedule'); +$lang->ai->miniPrograms->modelList = array(' openai-GPT35 '=> 'openai/GPT-3.5'); +$lang->ai->miniPrograms->iconModification = 'Icon modification'; +$lang->ai->miniPrograms->customBackground = 'Custom background Color'; +$lang->ai->miniPrograms->customIcon = 'Custom icon'; +$lang->ai->miniPrograms->backToListPage = 'Return to list page'; +$lang->ai->miniPrograms->lastStep = 'Previous step'; +$lang->ai->miniPrograms->backToListPageTip = 'There are data changes in the form. Do you want to save and go back?'; +$lang->ai->miniPrograms->saveAndBack = 'Save and Go Back'; $lang->ai->miniPrograms->placeholder = new stdClass(); $lang->ai->miniPrograms->placeholder->name = 'Please enter a small program name'; diff --git a/module/ai/lang/fr.php b/module/ai/lang/fr.php index ffda3d6b67..12bfc565a2 100644 --- a/module/ai/lang/fr.php +++ b/module/ai/lang/fr.php @@ -404,22 +404,24 @@ $lang->ai->prompts->modules['doc'] = 'Document'; $lang->ai->conversations = new stdclass(); $lang->ai->conversations->common = 'Conversations'; -$lang->ai->miniPrograms = new stdClass(); -$lang->ai->miniPrograms->common = 'Mini Programs'; -$lang->ai->miniPrograms->create = 'Create A Program'; -$lang->ai->miniPrograms->configuration = 'Basic Information Configuration'; -$lang->ai->miniPrograms->downloadTip = 'Once created, your mini-program will be displayed on the AI Mini-Program Square in the client.'; -$lang->ai->miniPrograms->download = 'Download Zentao Client'; -$lang->ai->miniPrograms->category = 'Category'; -$lang->ai->miniPrograms->icon = 'Icon'; -$lang->ai->miniPrograms->desc = 'Introduction'; -$lang->ai->miniPrograms->categoryList = array('writing' => 'writing', 'statistics' => 'statistics', 'creative' => 'creative', 'raiders' => 'Guideline ', 'schedule' => 'schedule'); -$lang->ai->miniPrograms->modelList = array('openai-GPT35 ' => 'openai/GPT-3.5'); -$lang->ai->miniPrograms->iconModification = 'Icon modification'; -$lang->ai->miniPrograms->customBackground = 'Custom background Color'; -$lang->ai->miniPrograms->customIcon = 'Custom icon'; -$lang->ai->miniPrograms->backToListPage = 'Return to list page'; -$lang->ai->miniPrograms->lastStep = 'Previous step'; +$lang->ai->miniPrograms = new stdClass(); +$lang->ai->miniPrograms->common = 'Mini Programs'; +$lang->ai->miniPrograms->create = 'Create A Program'; +$lang->ai->miniPrograms->configuration = 'Basic Information Configuration'; +$lang->ai->miniPrograms->downloadTip = 'Once created, your mini-program will be displayed on the AI Mini-Program Square in the client.'; +$lang->ai->miniPrograms->download = 'Download Zentao Client'; +$lang->ai->miniPrograms->category = 'Category'; +$lang->ai->miniPrograms->icon = 'Icon'; +$lang->ai->miniPrograms->desc = 'Introduction'; +$lang->ai->miniPrograms->categoryList = array('writing' => 'writing', 'statistics' => 'statistics', 'creative' => 'creative', 'raiders' => 'Guideline ', 'schedule' => 'schedule'); +$lang->ai->miniPrograms->modelList = array('openai-GPT35 ' => 'openai/GPT-3.5'); +$lang->ai->miniPrograms->iconModification = 'Icon modification'; +$lang->ai->miniPrograms->customBackground = 'Custom background Color'; +$lang->ai->miniPrograms->customIcon = 'Custom icon'; +$lang->ai->miniPrograms->backToListPage = 'Return to list page'; +$lang->ai->miniPrograms->lastStep = 'Previous step'; +$lang->ai->miniPrograms->backToListPageTip = 'There are data changes in the form. Do you want to save and go back?'; +$lang->ai->miniPrograms->saveAndBack = 'Save and Go Back'; $lang->ai->miniPrograms->placeholder = new stdClass(); $lang->ai->miniPrograms->placeholder->name = 'Please enter a small program name'; diff --git a/module/ai/lang/zh-cn.php b/module/ai/lang/zh-cn.php index 2ef77c733c..a62b09c7ce 100644 --- a/module/ai/lang/zh-cn.php +++ b/module/ai/lang/zh-cn.php @@ -420,6 +420,8 @@ $lang->ai->miniPrograms->customBackground = '自定义背景色'; $lang->ai->miniPrograms->customIcon = '自定义icon'; $lang->ai->miniPrograms->backToListPage = '返回列表页'; $lang->ai->miniPrograms->lastStep = '上一步'; +$lang->ai->miniPrograms->backToListPageTip = '表单有数据变动,是否保存并返回'; +$lang->ai->miniPrograms->saveAndBack = '保存并返回'; $lang->ai->miniPrograms->placeholder = new stdClass(); $lang->ai->miniPrograms->placeholder->name = '请输入小程序名称'; diff --git a/module/ai/view/configuredminiprogram.html.php b/module/ai/view/configuredminiprogram.html.php index 7a8a85a4b2..bb20a34786 100644 --- a/module/ai/view/configuredminiprogram.html.php +++ b/module/ai/view/configuredminiprogram.html.php @@ -105,6 +105,24 @@ js::set('appid', $appid); +