diff --git a/apps/daas/src/components.d.ts b/apps/daas/src/components.d.ts index 1648bcd52..73f44d377 100644 --- a/apps/daas/src/components.d.ts +++ b/apps/daas/src/components.d.ts @@ -108,6 +108,7 @@ declare module 'vue' { 'IMingcute:brushLine': typeof import('~icons/mingcute/brush-line')['default'] 'IMingcute:checkLine': typeof import('~icons/mingcute/check-line')['default'] 'IMingcute:closeLine': typeof import('~icons/mingcute/close-line')['default'] + 'IMingcute:copy2Line': typeof import('~icons/mingcute/copy2-line')['default'] 'IMingcute:download2Line': typeof import('~icons/mingcute/download2-line')['default'] 'IMingcute:externalLinkLine': typeof import('~icons/mingcute/external-link-line')['default'] 'IMingcute:loadingLine': typeof import('~icons/mingcute/loading-line')['default'] diff --git a/packages/assets/styles/utilities.scss b/packages/assets/styles/utilities.scss index a4912ae01..deffc78ea 100644 --- a/packages/assets/styles/utilities.scss +++ b/packages/assets/styles/utilities.scss @@ -2440,6 +2440,10 @@ padding-left: 0 !important; } +.pl-0\.5 { + padding-left: 0.125rem !important; +} + .pl-1 { padding-left: 0.25rem !important; } diff --git a/packages/business/src/components/MqlHelpDialog.vue b/packages/business/src/components/MqlHelpDialog.vue new file mode 100644 index 000000000..67af2f2e0 --- /dev/null +++ b/packages/business/src/components/MqlHelpDialog.vue @@ -0,0 +1,324 @@ + + + + + + + + + + + + + + + + + {{ group.title }} + ({{ group.items.length }}) + + + + + + {{ op.name }} + + + {{ t(op.descKey) }} + + + {{ + $t('public_example') + }} + + + {{ t('public_button_copy') }} + + + {{ op.example }} + + + + + + + + + + diff --git a/packages/business/src/locale/lang/en.js b/packages/business/src/locale/lang/en.js index 1b0833d03..66a1d21fa 100644 --- a/packages/business/src/locale/lang/en.js +++ b/packages/business/src/locale/lang/en.js @@ -1622,6 +1622,12 @@ export default { packages_business_data_source_monitor: 'Connection Monitor', // MongoDB operators + package_business_mongodb_query_operators: 'MongoDB Query Operators', + package_business_operators_search: 'Search operators', + packages_business_comparison: 'Comparison', + packages_business_logical: 'Logical', + packages_business_element: 'Element', + packages_business_evaluation: 'Evaluation', packages_business_mongo_operator_eq: 'Matches values that are equal to a specified value.', packages_business_mongo_operator_gt: @@ -1652,9 +1658,9 @@ export default { packages_business_mongo_operator_all: 'Matches arrays that contain all elements specified in the query.', packages_business_mongo_operator_elemMatch: - 'Selects documents if element in the array field matches all the specified conditions.', + 'Matches arrays that contain at least one element satisfying all specified conditions.', packages_business_mongo_operator_size: 'Selects documents if the array field is a specified size.', packages_business_mongo_operator_mod: - 'Performs a modulo operation on the value of a field.', + 'Performs a modulo match on a field value [divisor, remainder].', } diff --git a/packages/business/src/locale/lang/zh-CN.js b/packages/business/src/locale/lang/zh-CN.js index 6ecd1efe5..5406f6448 100644 --- a/packages/business/src/locale/lang/zh-CN.js +++ b/packages/business/src/locale/lang/zh-CN.js @@ -1446,6 +1446,12 @@ export default { packages_business_data_source_monitor: '数据源监控', // MongoDB 操作符 + package_business_mongodb_query_operators: 'MongoDB 查询操作符', + package_business_operators_search: '搜索操作符', + packages_business_comparison: '比较', + packages_business_logical: '逻辑', + packages_business_element: '元素', + packages_business_evaluation: '表达式', packages_business_mongo_operator_eq: '匹配等于指定值的值', packages_business_mongo_operator_gt: '匹配大于指定值的值', packages_business_mongo_operator_gte: '匹配大于或等于指定值的值', @@ -1461,7 +1467,8 @@ export default { packages_business_mongo_operator_type: '如果字段是指定类型,则选择文档', packages_business_mongo_operator_regex: '选择值匹配指定正则表达式的文档', packages_business_mongo_operator_all: '匹配包含查询中指定的所有元素的数组', - packages_business_mongo_operator_elemMatch: '如果数组字段中的元素匹配所有指定条件,则选择文档', + packages_business_mongo_operator_elemMatch: + '匹配数组中至少有一个元素满足所有给定条件', packages_business_mongo_operator_size: '如果数组字段是指定大小,则选择文档', - packages_business_mongo_operator_mod: '对字段值执行模运算', + packages_business_mongo_operator_mod: '对字段值做取模匹配 [除数, 余数]', } diff --git a/packages/business/src/locale/lang/zh-TW.js b/packages/business/src/locale/lang/zh-TW.js index af8b020fb..5db7e8f8a 100644 --- a/packages/business/src/locale/lang/zh-TW.js +++ b/packages/business/src/locale/lang/zh-TW.js @@ -1436,6 +1436,12 @@ export default { packages_business_data_source_monitor: '數據源監控', // MongoDB 操作符 + package_business_mongodb_query_operators: 'MongoDB 查詢操作符', + package_business_operators_search: '搜索操作符', + packages_business_comparison: '比較', + packages_business_logical: '邏輯', + packages_business_element: '元素', + packages_business_evaluation: '表達式', packages_business_mongo_operator_eq: '匹配等於指定值的值', packages_business_mongo_operator_gt: '匹配大於指定值的值', packages_business_mongo_operator_gte: '匹配大於或等於指定值的值', @@ -1451,7 +1457,8 @@ export default { packages_business_mongo_operator_type: '如果字段是指定類型,則選擇文檔', packages_business_mongo_operator_regex: '選擇值匹配指定正則表達式的文檔', packages_business_mongo_operator_all: '匹配包含查詢中指定的所有元素的數組', - packages_business_mongo_operator_elemMatch: '如果數組字段中的元素匹配所有指定條件,則選擇文檔', + packages_business_mongo_operator_elemMatch: + '匹配陣列中至少有一個元素滿足所有給定條件', packages_business_mongo_operator_size: '如果數組字段是指定大小,則選擇文檔', - packages_business_mongo_operator_mod: '對字段值執行模運算', + packages_business_mongo_operator_mod: '對字段值做取模匹配 [除數, 餘數]', } diff --git a/packages/business/src/views/data-server/Drawer.vue b/packages/business/src/views/data-server/Drawer.vue index 9cd798b76..387d21255 100644 --- a/packages/business/src/views/data-server/Drawer.vue +++ b/packages/business/src/views/data-server/Drawer.vue @@ -35,6 +35,7 @@ import { type Component, } from 'vue' import { DatabaseIcon } from '../../components/DatabaseIcon' +import MqlHelpDialog from '../../components/MqlHelpDialog.vue' import ListSelect from '../api-application/ListSelect.vue' import MqlEditor from './MqlEditor.vue' import getTemplate from './template' @@ -225,6 +226,7 @@ const mqlEditor = ref(null) const containerRef = ref(null) const paramsTableRef = ref>() const parameterSelectRef = ref[]>([]) +const helpVisible = ref(false) // Template refs const form_ref = ref() @@ -1258,6 +1260,10 @@ function onFieldSelected(field: Field) { ) .filter((f) => f.field_name !== field.field_name) } + +function openHelp() { + helpVisible.value = true +} @@ -1820,6 +1826,7 @@ function onFieldSelected(field: Field) { {{ $t('packages_business_data_server_drawer_shaixuantiaojian') @@ -1840,15 +1847,20 @@ function onFieldSelected(field: Field) { ]" /> + + {{ $t('public_format') }} + + + {{ $t('public_button_help') }} + @@ -2153,6 +2165,8 @@ function onFieldSelected(field: Field) { >{{ $t('public_button_save') }} + + diff --git a/packages/i18n/src/locale/lang/en.js b/packages/i18n/src/locale/lang/en.js index 115c485da..4930d4ae9 100644 --- a/packages/i18n/src/locale/lang/en.js +++ b/packages/i18n/src/locale/lang/en.js @@ -447,7 +447,7 @@ export default { public_search_api: 'Search API', public_quick_fill: 'Quick Fill', public_last_version: 'Last Version', - public_example: 'For example', + public_example: 'Example', public_placeholder_sdk_name: 'Please enter SDK name', public_placeholder_package_name: 'Please enter package name', public_placeholder_version: 'Please enter version', @@ -514,4 +514,5 @@ export default { public_desc: 'DESC', public_select_field: 'Select Field', public_select_parameter: 'Select Parameter', + public_others: 'Others', } diff --git a/packages/i18n/src/locale/lang/zh-CN.js b/packages/i18n/src/locale/lang/zh-CN.js index 05f7db21e..8b39fc4ab 100644 --- a/packages/i18n/src/locale/lang/zh-CN.js +++ b/packages/i18n/src/locale/lang/zh-CN.js @@ -439,7 +439,7 @@ export default { public_search_api: '搜索 API', public_quick_fill: '快速填入', public_last_version: '上个版本', - public_example: '例如', + public_example: '示例', public_placeholder_sdk_name: '请输入 SDK 名称', public_placeholder_package_name: '请输入包名', public_placeholder_version: '请输入版本', @@ -505,4 +505,5 @@ export default { public_desc: '降序', public_select_field: '选择字段', public_select_parameter: '选择参数', + public_others: '其他', } diff --git a/packages/i18n/src/locale/lang/zh-TW.js b/packages/i18n/src/locale/lang/zh-TW.js index f99d406c3..50312108b 100644 --- a/packages/i18n/src/locale/lang/zh-TW.js +++ b/packages/i18n/src/locale/lang/zh-TW.js @@ -438,7 +438,7 @@ export default { public_search_api: '搜索 API', public_quick_fill: '快速填入', public_last_version: '上個版本', - public_example: '例如', + public_example: '示例', public_placeholder_sdk_name: '請輸入 SDK 名稱', public_placeholder_package_name: '請輸入包名', public_placeholder_version: '請輸入版本', @@ -504,4 +504,5 @@ export default { public_desc: '降序', public_select_field: '選擇字段', public_select_parameter: '選擇參數', + public_others: '其他', }
+ {{ op.name }} +
{{ op.example }}