Skip to content

dbeaver/pro#4858 Add data import format preferences - #4674

Open
sergeyteleshev wants to merge 7 commits into
develfrom
dbeaver/pro#4858-data-import-preferences
Open

sergeyteleshev wants to merge 7 commits into
develfrom
dbeaver/pro#4858-data-import-preferences

Conversation

@sergeyteleshev

Copy link
Copy Markdown
Contributor

Closes dbeaver/pro#4858

Summary

  • Load import processor property metadata and display editable format preferences using the shared PropertiesTable.
  • Separate file selection and format settings into File and Format settings tabs, with Next/Back navigation before database-specific import settings.
  • Preserve property overrides during navigation, reset them when changing formats, and pass them to the import API.
  • Add English and Russian tab labels and accessible names for file controls.

Verification

  • yarn workspace @cloudbeaver/plugin-data-import build — passed.
  • yarn lint packages/plugin-data-import/src/ --ext .ts,.tsx — passed with two existing warnings.
  • git diff --check — passed.
  • Full browser, keyboard/screen-reader, and end-to-end import verification is pending.

@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 complexity

Metric Results
Complexity 0

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Add an explicit aria-label to the icon-only file removal button.

Pull request overview

Adds configurable import format preferences with tabbed navigation, localization, and API propagation.

Changes:

  • Loads and displays editable processor properties.
  • Adds File and Format tabs with state preservation.
  • Passes format overrides to the import API.
  • Adds dependency wiring and localization updates.
File summaries
File Summary
webapp/yarn.lock Updates dependency metadata.
webapp/packages/plugin-data-import/tsconfig.json Adds the core-ui project reference.
webapp/packages/plugin-data-import/src/locales/ru.ts Adds Russian labels.
webapp/packages/plugin-data-import/src/locales/en.ts Adds English labels.
webapp/packages/plugin-data-import/src/DataImportService.ts Sends processor properties to the API.
webapp/packages/plugin-data-import/src/DataImportDialog/useDataImportDialog.ts Manages dialog state and navigation.
webapp/packages/plugin-data-import/src/DataImportDialog/IDataImportDialogState.ts Defines dialog state.
webapp/packages/plugin-data-import/src/DataImportDialog/EDataImportDialogTab.ts Defines dialog tabs.
webapp/packages/plugin-data-import/src/DataImportDialog/DataImportFileSelector.tsx Implements file selection controls.
webapp/packages/plugin-data-import/src/DataImportDialog/DataImportFileSelector.module.css Styles file selection.
webapp/packages/plugin-data-import/src/DataImportDialog/DataImportFileItem.tsx Renders selected files and removal controls.
webapp/packages/plugin-data-import/src/DataImportDialog/DataImportFileItem.module.css Styles file items.
webapp/packages/plugin-data-import/src/DataImportDialog/DataImportDialog.tsx Implements the tabbed import dialog.
webapp/packages/plugin-data-import/src/DataImportDialog/DataImportDialog.module.css Styles the dialog.
webapp/packages/plugin-data-import/src/DataImportBootstrap.ts Passes dialog properties to import execution.
webapp/packages/plugin-data-import/package.json Adds the core-ui dependency.
webapp/packages/core-sdk/src/queries/data-transfer/getDataTransferImportProcessors.gql Requests processor property metadata.
Review details

Suppressed comments (1)

webapp/packages/plugin-data-import/src/DataImportDialog/DataImportFileItem.tsx:32

  • title is only a tooltip and does not reliably provide an accessible name for this icon-only button. Since this change is intended to make the file controls accessible, add an aria-label (as done for InputFiles) so screen readers announce which file will be removed.
        <ActionIconButton name="cross-bold" title={`${translate('ui_remove')}: ${name}`} disabled={disabled} onClick={() => onDelete(id)} />
  • Files reviewed: 16/17 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants