Skip to content

add modal for initial import of QFeatures (processQFeatures)#95

Merged
leopoldguyot merged 2 commits into
mainfrom
issue_43
Jun 8, 2026
Merged

add modal for initial import of QFeatures (processQFeatures)#95
leopoldguyot merged 2 commits into
mainfrom
issue_43

Conversation

@leopoldguyot

Copy link
Copy Markdown
Collaborator
  • Modal appears when no QFeatures is provided to the processQFeatures function.
  • User can then load an RDS file that needs to be a QFeatures object (error message otherwise)
  • User can then choose which sets should be used as the initial serie of set to process.

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.

Pull request overview

Makes the initial QFeatures object optional for processQFeatures() by introducing a startup modal that lets users upload an RDS file and pick which sets to use as initial assays. Workflow configuration is blocked until a QFeatures object is loaded, with a path back into the upload modal.

Changes:

  • processQFeatures() now accepts qfeatures = NULL (and initialSets = NULL), defers validation/normalization until an object is available, and forwards a new has_qfeatures flag to the server builder.
  • build_process_server() initializes .qf$qfeatures/workflow_config empty when no object is provided, defines the startup modal and its upload/select/load observers, and reopens the modal on startup_show_upload.
  • server_module_workflow_config() gates input$apply when no QFeatures is loaded and exposes a button to reopen the upload modal; check_qfeatures() now distinguishes RDS-path errors, and tests cover both the new error text and construction without qfeatures.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
R/processQFeatures.R Makes qfeatures/initialSets optional and propagates a has_qfeatures flag to the server.
R/build_process_server.R Adds startup upload modal, set-selection UI, upload/load observers, and conditional startup flow.
R/server_module_workflow_config.R Blocks workflow apply when .qf$qfeatures is NULL and offers a button to reopen the startup modal.
R/utils_processQFeatures.R Differentiates the error message when an RDS file does not contain a QFeatures object.
tests/testthat/test-utils-processQFeatures.R Updates the expected error message for the RDS-path failure case.
tests/testthat/test-processQFeatures.R Adds a construction test for processQFeatures() with no arguments.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread R/build_process_server.R
@leopoldguyot leopoldguyot merged commit 2b00f05 into main Jun 8, 2026
5 checks passed
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