Skip to content

Update Remove property Logic#4297

Merged
Maheshkale447 merged 2 commits into
Releases/Betafrom
BugFix/POMSVGchildLearnFix
Sep 5, 2025
Merged

Update Remove property Logic#4297
Maheshkale447 merged 2 commits into
Releases/Betafrom
BugFix/POMSVGchildLearnFix

Conversation

@prashelke

@prashelke prashelke commented Sep 5, 2025

Copy link
Copy Markdown
Contributor

Thank you for your contribution.
Before submitting this PR, please make sure:

  • PR description and commit message should describe the changes done in this PR
  • Verify the PR is pointing to correct branch i.e. Release or Beta branch if the code fix is for specific release , else point it to master
  • Latest Code from master or specific release branch is merged to your branch
  • No unwanted\commented\junk code is included
  • No new warning upon build solution
  • Code Summary\Comments are added to my code which explains what my code is doing
  • Existing unit test cases are passed
  • New Unit tests are added for your development
  • Sanity Tests are successfully executed for New and Existing Functionality
  • Verify that changes are compatible with all relevant browsers and platforms.
  • After creating pull request there should not be any conflicts
  • Resolve all Codacy comments
  • Builds and checks are passed before PR is sent for review
  • Resolve code review comments
  • Update the Help Library document to match any feature changes

Summary by CodeRabbit

  • New Features

    • Added a clear warning when attempting to delete the last property of an element.
  • Bug Fixes

    • Prevents deletion of the final remaining property on an element, ensuring each element retains at least one property and avoiding invalid states.

@coderabbitai

coderabbitai Bot commented Sep 5, 2025

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

Walkthrough

The delete-property logic in PomElementsPage.xaml.cs now blocks deletion if it would leave an element with zero properties, showing a new user message key. UserMsgsPool.cs introduces eUserMsgKey.POMAtLeastOneProperty and registers its warning message in LoadUserMsgsPool.

Changes

Cohort / File(s) Summary
POM delete-property guard update
Ginger/Ginger/ApplicationModelsLib/POMModels/PomElementsPage.xaml.cs
Replaced per-property category check and one-time warning with a global guard: if selected element has ≤1 property, show eUserMsgKey.POMAtLeastOneProperty and abort; otherwise delete the selected property. Removed prior auto-learned deletion warning logic.
User message key and pool registration
Ginger/GingerCoreCommon/ReporterLib/UserMsgsPool.cs
Added enum member eUserMsgKey.POMAtLeastOneProperty and corresponding WARN message ("Cannot Delete Last property" / "At least one property required") with OK option in LoadUserMsgsPool. Public enum extended.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor User
  participant UI as PomElementsPage
  participant Msgs as UserMsgsPool

  User->>UI: Click "Delete Property"
  UI->>UI: Check selectedElement.Properties.Count
  alt Count <= 1 (last property)
    UI->>Msgs: eUserMsgKey.POMAtLeastOneProperty
    Msgs-->>UI: Show WARN dialog (OK)
    UI-->>User: Deletion blocked
  else Count > 1
    UI->>UI: Remove selected property
    UI-->>User: Property deleted
  end
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested reviewers

  • Maheshkale447

Poem

A hop and a tap on the carrot key,
“Delete?”—but one must always be three!
New warning pops, polite and bright,
“At least one property—hold on tight.”
I twitch my ears, approve the plea—
Guard the last crumb of POM for me! 🥕🐇


📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 4392871 and d3b10b9.

📒 Files selected for processing (2)
  • Ginger/Ginger/ApplicationModelsLib/POMModels/PomElementsPage.xaml.cs (1 hunks)
  • Ginger/GingerCoreCommon/ReporterLib/UserMsgsPool.cs (2 hunks)
✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch BugFix/POMSVGchildLearnFix

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore or @coderabbit ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai or @coderabbitai title anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@Maheshkale447
Maheshkale447 merged commit e4382ee into Releases/Beta Sep 5, 2025
3 checks passed
@Maheshkale447
Maheshkale447 deleted the BugFix/POMSVGchildLearnFix branch September 5, 2025 11:19
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