diff --git a/qodana.yaml b/qodana.yaml deleted file mode 100644 index 215d80806c5f9..0000000000000 --- a/qodana.yaml +++ /dev/null @@ -1,29 +0,0 @@ -#-------------------------------------------------------------------------------# -# Qodana analysis is configured by qodana.yaml file # -# https://www.jetbrains.com/help/qodana/qodana-yaml.html # -#-------------------------------------------------------------------------------# -version: "1.0" - -#Specify inspection profile for code analysis -profile: - name: qodana.starter - -#Enable inspections -#include: -# - name: - -#Disable inspections -#exclude: -# - name: -# paths: -# - - -#Execute shell command before Qodana execution (Applied in CI/CD pipeline) -#bootstrap: sh ./prepare-qodana.sh - -#Install IDE plugins before Qodana execution (Applied in CI/CD pipeline) -#plugins: -# - id: #(plugin id can be found at https://plugins.jetbrains.com) - -#Specify Qodana linter for analysis (Applied in CI/CD pipeline) -linter: jetbrains/qodana-go:latest diff --git a/src/components/core/database/DatabaseSidebar.vue b/src/components/core/database/DatabaseSidebar.vue new file mode 100644 index 0000000000000..85ab971f93b10 --- /dev/null +++ b/src/components/core/database/DatabaseSidebar.vue @@ -0,0 +1,157 @@ + + + + + diff --git a/src/components/index.ts b/src/components/index.ts index c73ce5c45b3ea..6e1d3b062215a 100644 --- a/src/components/index.ts +++ b/src/components/index.ts @@ -1,8 +1,9 @@ import CreateEditDatabaseDialog from './core/database/CreateEditDatabaseDialog.vue'; import CreateEditDatabaseTableDialog from './core/database/CreateEditDatabaseTableDialog.vue'; -import DatabaseDatabaseDetail from './core/database/DatabaseDatabaseDetail.vue'; import DatabaseDataSource from './core/database/DatabaseDataSource.vue'; +import DatabaseDatabaseDetail from './core/database/DatabaseDatabaseDetail.vue'; import DatabaseForm from './core/database/DatabaseForm.vue'; +import DatabaseSidebar from './core/database/DatabaseSidebar.vue'; import DatabaseStatus from './core/database/DatabaseStatus.vue'; import DatabaseTableDetail from './core/database/DatabaseTableDetail.vue'; import DatabaseTableDetailColumns from './core/database/tables/DatabaseTableDetailColumns.vue'; @@ -84,10 +85,10 @@ import Chart from './ui/chart/Chart.vue'; import Metric from './ui/chart/Metric.vue'; import ContextMenu from './ui/context-menu/ContextMenu.vue'; import ContextMenuList from './ui/context-menu/ContextMenuList.vue'; -import * as date from './ui/date/date'; import DateRangePicker from './ui/date/DateRangePicker.vue'; import DateTimeRangePicker from './ui/date/DateTimeRangePicker.vue'; import RangePicker from './ui/date/RangePicker.vue'; +import * as date from './ui/date/date'; import ConfirmDialog from './ui/dialog/ConfirmDialog.vue'; import CreateEditDialog from './ui/dialog/CreateEditDialog.vue'; import Dialog from './ui/dialog/Dialog.vue'; @@ -101,7 +102,6 @@ import FileActions from './ui/file/FileActions.vue'; import FileDiff from './ui/file/FileDiff.vue'; import FileEditor from './ui/file/FileEditor.vue'; import FileEditorCreateWithAiDialog from './ui/file/FileEditorCreateWithAiDialog.vue'; -import * as fileEditorDropZone from './ui/file/fileEditorDropZone'; import FileEditorNavMenu from './ui/file/FileEditorNavMenu.vue'; import FileEditorNavMenuContextMenu from './ui/file/FileEditorNavMenuContextMenu.vue'; import FileEditorNavTabs from './ui/file/FileEditorNavTabs.vue'; @@ -111,21 +111,23 @@ import FileEditorSettingsDialog from './ui/file/FileEditorSettingsDialog.vue'; import FileTab from './ui/file/FileTab.vue'; import FileUpload from './ui/file/FileUpload.vue'; import UploadFilesDialog from './ui/file/UploadFilesDialog.vue'; -import * as filter from './ui/filter/filter'; +import * as fileEditorDropZone from './ui/file/fileEditorDropZone'; import FilterCondition from './ui/filter/FilterCondition.vue'; import FilterConditionList from './ui/filter/FilterConditionList.vue'; import FilterInput from './ui/filter/FilterInput.vue'; import FilterSelect from './ui/filter/FilterSelect.vue'; +import * as filter from './ui/filter/filter'; import Form from './ui/form/Form.vue'; import FormItem from './ui/form/FormItem.vue'; -import * as formTable from './ui/form/formTable'; import FormTableField from './ui/form/FormTableField.vue'; +import * as formTable from './ui/form/formTable'; import useForm from './ui/form/useForm'; import AtomMaterialIcon from './ui/icon/AtomMaterialIcon.vue'; -import * as icon from './ui/icon/icon'; import Icon from './ui/icon/Icon.vue'; import MenuItemIcon from './ui/icon/MenuItemIcon.vue'; +import * as icon from './ui/icon/icon'; import InputList from './ui/input/InputList.vue'; +import LexicalEditor from './ui/lexical/LexicalEditor.vue'; import BlockOptionsDropdownList from './ui/lexical/components/BlockOptionsDropdownList.vue'; import DropdownButton from './ui/lexical/components/DropdownButton.vue'; import FloatLinkEditor from './ui/lexical/components/FloatLinkEditor.vue'; @@ -141,7 +143,6 @@ import useLexicalList from './ui/lexical/composables/useLexicalList'; import useLexicalMounted from './ui/lexical/composables/useLexicalMounted'; import useRichTextSetup from './ui/lexical/composables/useRichTextSetup'; import useVariableSetup from './ui/lexical/composables/useVariableSetup'; -import LexicalEditor from './ui/lexical/LexicalEditor.vue'; import * as ImageNode from './ui/lexical/nodes/ImageNode'; import * as VariableNode from './ui/lexical/nodes/VariableNode'; import LexicalAutoFocusPlugin from './ui/lexical/plugins/LexicalAutoFocusPlugin.vue'; @@ -179,14 +180,8 @@ import NavTabs from './ui/nav/NavTabs.vue'; import InputSelect from './ui/select/InputSelect.vue'; import Switch from './ui/switch/Switch.vue'; import ActionTab from './ui/tab/ActionTab.vue'; -import * as action from './ui/table/action'; -import * as column from './ui/table/column'; -import * as data from './ui/table/data'; import EditTable from './ui/table/EditTable.vue'; import EditTableActionCell from './ui/table/EditTableActionCell.vue'; -import * as header from './ui/table/header'; -import * as pagination from './ui/table/pagination'; -import * as store from './ui/table/store'; import Table from './ui/table/Table.vue'; import TableActions from './ui/table/TableActions.vue'; import TableCell from './ui/table/TableCell.vue'; @@ -197,6 +192,12 @@ import TableHeaderAction from './ui/table/TableHeaderAction.vue'; import TableHeaderDialog from './ui/table/TableHeaderDialog.vue'; import TableHeaderDialogFilter from './ui/table/TableHeaderDialogFilter.vue'; import TableHeaderDialogSort from './ui/table/TableHeaderDialogSort.vue'; +import * as action from './ui/table/action'; +import * as column from './ui/table/column'; +import * as data from './ui/table/data'; +import * as header from './ui/table/header'; +import * as pagination from './ui/table/pagination'; +import * as store from './ui/table/store'; import CheckTag from './ui/tag/CheckTag.vue'; import CheckTagGroup from './ui/tag/CheckTagGroup.vue'; import LinkTag from './ui/tag/LinkTag.vue'; @@ -210,9 +211,10 @@ import TransferPanel from './ui/transfer/TransferPanel.vue'; export { CreateEditDatabaseDialog as ClCreateEditDatabaseDialog, CreateEditDatabaseTableDialog as ClCreateEditDatabaseTableDialog, - DatabaseDatabaseDetail as ClDatabaseDatabaseDetail, DatabaseDataSource as ClDatabaseDataSource, + DatabaseDatabaseDetail as ClDatabaseDatabaseDetail, DatabaseForm as ClDatabaseForm, + DatabaseSidebar as ClDatabaseSidebar, DatabaseStatus as ClDatabaseStatus, DatabaseTableDetail as ClDatabaseTableDetail, DatabaseTableDetailColumns as ClDatabaseTableDetailColumns, @@ -294,10 +296,10 @@ export { Metric as ClMetric, ContextMenu as ClContextMenu, ContextMenuList as ClContextMenuList, - date as date, DateRangePicker as ClDateRangePicker, DateTimeRangePicker as ClDateTimeRangePicker, RangePicker as ClRangePicker, + date as date, ConfirmDialog as ClConfirmDialog, CreateEditDialog as ClCreateEditDialog, Dialog as ClDialog, @@ -311,7 +313,6 @@ export { FileDiff as ClFileDiff, FileEditor as ClFileEditor, FileEditorCreateWithAiDialog as ClFileEditorCreateWithAiDialog, - fileEditorDropZone as fileEditorDropZone, FileEditorNavMenu as ClFileEditorNavMenu, FileEditorNavMenuContextMenu as ClFileEditorNavMenuContextMenu, FileEditorNavTabs as ClFileEditorNavTabs, @@ -321,21 +322,23 @@ export { FileTab as ClFileTab, FileUpload as ClFileUpload, UploadFilesDialog as ClUploadFilesDialog, - filter as filter, + fileEditorDropZone as fileEditorDropZone, FilterCondition as ClFilterCondition, FilterConditionList as ClFilterConditionList, FilterInput as ClFilterInput, FilterSelect as ClFilterSelect, + filter as filter, Form as ClForm, FormItem as ClFormItem, - formTable as formTable, FormTableField as ClFormTableField, + formTable as formTable, useForm as useForm, AtomMaterialIcon as ClAtomMaterialIcon, - icon as icon, Icon as ClIcon, MenuItemIcon as ClMenuItemIcon, + icon as icon, InputList as ClInputList, + LexicalEditor as ClLexicalEditor, BlockOptionsDropdownList as ClBlockOptionsDropdownList, DropdownButton as ClDropdownButton, FloatLinkEditor as ClFloatLinkEditor, @@ -351,7 +354,6 @@ export { useLexicalMounted as useLexicalMounted, useRichTextSetup as useRichTextSetup, useVariableSetup as useVariableSetup, - LexicalEditor as ClLexicalEditor, ImageNode as ImageNode, VariableNode as VariableNode, LexicalAutoFocusPlugin as ClLexicalAutoFocusPlugin, @@ -389,14 +391,8 @@ export { InputSelect as ClInputSelect, Switch as ClSwitch, ActionTab as ClActionTab, - action as action, - column as column, - data as data, EditTable as ClEditTable, EditTableActionCell as ClEditTableActionCell, - header as header, - pagination as pagination, - store as store, Table as ClTable, TableActions as ClTableActions, TableCell as ClTableCell, @@ -407,6 +403,12 @@ export { TableHeaderDialog as ClTableHeaderDialog, TableHeaderDialogFilter as ClTableHeaderDialogFilter, TableHeaderDialogSort as ClTableHeaderDialogSort, + action as action, + column as column, + data as data, + header as header, + pagination as pagination, + store as store, CheckTag as ClCheckTag, CheckTagGroup as ClCheckTagGroup, LinkTag as ClLinkTag, diff --git a/src/i18n/lang/en/common.ts b/src/i18n/lang/en/common.ts index f1cb080150160..23669a623d349 100644 --- a/src/i18n/lang/en/common.ts +++ b/src/i18n/lang/en/common.ts @@ -144,6 +144,9 @@ const common: LCommon = { asc: 'Ascending', desc: 'Descending', }, + validate: { + cannotBeEmpty: 'Cannot be empty', + }, }; export default common; diff --git a/src/i18n/lang/zh/common.ts b/src/i18n/lang/zh/common.ts index 69d9c4c0bbf4f..cf30ae413f05a 100644 --- a/src/i18n/lang/zh/common.ts +++ b/src/i18n/lang/zh/common.ts @@ -144,6 +144,9 @@ const common: LCommon = { asc: '升序', desc: '降序', }, + validate: { + cannotBeEmpty: '不能为空', + }, }; export default common; diff --git a/src/interfaces/i18n/common.d.ts b/src/interfaces/i18n/common.d.ts index 3c5feb9f228a6..12b668c8aa2b4 100644 --- a/src/interfaces/i18n/common.d.ts +++ b/src/interfaces/i18n/common.d.ts @@ -157,5 +157,8 @@ export declare global { asc: string; desc: string; }; + validate: { + cannotBeEmpty: string; + }; } } diff --git a/src/layouts/index.ts b/src/layouts/index.ts index 31f4c535ff783..98e315c5d9ebc 100644 --- a/src/layouts/index.ts +++ b/src/layouts/index.ts @@ -1,4 +1,5 @@ import BlankLayout from './BlankLayout.vue'; +import NormalLayout from './NormalLayout.vue'; import Header from './components/Header.vue'; import Sidebar from './components/Sidebar.vue'; import SidebarItem from './components/SidebarItem.vue'; @@ -8,10 +9,10 @@ import useDetail from './content/detail/useDetail'; import ListLayout from './content/list/ListLayout.vue'; import useList from './content/list/useList'; import SimpleLayout from './content/simple/SimpleLayout.vue'; -import NormalLayout from './NormalLayout.vue'; export { BlankLayout as ClBlankLayout, + NormalLayout as ClNormalLayout, Header as ClHeader, Sidebar as ClSidebar, SidebarItem as ClSidebarItem, @@ -21,5 +22,4 @@ export { ListLayout as ClListLayout, useList as useList, SimpleLayout as ClSimpleLayout, - NormalLayout as ClNormalLayout, }; diff --git a/src/views/database/detail/tabs/DatabaseDetailTabDatabases.vue b/src/views/database/detail/tabs/DatabaseDetailTabDatabases.vue index e8f7193ce19bd..4968c8dcd54e0 100644 --- a/src/views/database/detail/tabs/DatabaseDetailTabDatabases.vue +++ b/src/views/database/detail/tabs/DatabaseDetailTabDatabases.vue @@ -1,7 +1,21 @@