Skip to content

Conversation

@kzamanbd
Copy link
Contributor

All Submissions:

  • My code follow the WordPress' coding standards
  • My code satisfies feature requirements
  • My code is tested
  • My code passes the PHPCS tests
  • My code has proper inline documentation
  • I've included related pull request(s) (optional)
  • I've included developer documentation (optional)
  • I've added proper labels to this pull request

Changes proposed in this Pull Request:

Related Pull Request(s)

  • Full PR Link

Closes

  • Closes #

How to test the changes in this Pull Request:

  • Steps or issue link

Changelog entry

Title

Detailed Description of the pull request. What was previous behaviour
and what will be changed in this PR.

Before Changes

Describe the issue before changes with screenshots(s).

After Changes

Describe the issue after changes with screenshot(s).

Feature Video (optional)

Link of detailed video if this PR is for a feature.

PR Self Review Checklist:

  • Code is not following code style guidelines
  • Bad naming: make sure you would understand your code if you read it a few months from now.
  • KISS: Keep it simple, Sweetie (not stupid!).
  • DRY: Don't Repeat Yourself.
  • Code that is not readable: too many nested 'if's are a bad sign.
  • Performance issues
  • Complicated constructions that need refactoring or comments: code should almost always be self-explanatory.
  • Grammar errors.

FOR PR REVIEWER ONLY:

As a reviewer, your feedback should be focused on the idea, not the person. Seek to understand, be respectful, and focus on constructive dialog.

As a contributor, your responsibility is to learn from suggestions and iterate your pull request should it be needed based on feedback. Seek to collaborate and produce the best possible contribution to the greater whole.

  • Correct — Does the change do what it’s supposed to? ie: code 100% fulfilling the requirements?
  • Secure — Would a nefarious party find some way to exploit this change? ie: everything is sanitized/escaped appropriately for any SQL or XSS injection possibilities?
  • Readable — Will your future self be able to understand this change months down the road?
  • Elegant — Does the change fit aesthetically within the overall style and architecture?

Introduces a new React-powered product form manager with dynamic field rendering and section support. Updates PHP asset registration and enqueuing to load the new form manager scripts and styles, and exposes product form sections and fields to the frontend. Adds new TypeScript components, types, and styles for the form manager, and updates Webpack entries accordingly. Also adds a hook to inject the React mount point in the product content area.
Introduces a dedicated layout.ts file to define the product form layout structure, replacing dynamic layout generation in ProductForm.tsx. Updates field rendering to sanitize HTML, adds support for 'rich_text' field type, and improves select option handling. Also updates CSS for better card and layout styling, and adjusts PHP field definitions to use 'Product Title' and 'rich_text' types for descriptions.
@kzamanbd kzamanbd self-assigned this Dec 30, 2025
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 30, 2025

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


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

Comment @coderabbitai help to get the list of available commands and usage tips.

Introduces a 'tooltip' property to product form fields in both PHP and TypeScript, including getter/setter methods and data serialization. Updates field titles and descriptions for clarity, and ensures tooltips are available for frontend rendering.
Replaces index.css with index.scss for the ProductForm manager, updates class names and imports to use the new SCSS file, and scopes styles under the new .dokan-product-form-manager class for better maintainability.
- Introduced left icon property in form field configuration.
- Implemented left icon handling in the ProductForm component.
- Added TextWithAddon component for rendering fields with icons.
- Updated styles for form manager price input.
- Introduced CREATE_SCHEDULE_FOR_DISCOUNT constant in Elements class.
- Added a new checkbox field for creating a discount schedule in the product form.
- Implemented DateTimePickerEdit component for date selection.
- Integrated TreeSelectPicker for product categories selection.
- Updated layout configuration to include new fields and improve structure.
- Enhanced styling for product image and gallery sections.
Introduces a new 'Brands' select field to the product form in both backend (PHP) and frontend (React). Updates the purchase note field to use a card layout with improved description handling and styles. Also adds support for radio fields and refines select field handling in the field renderer.
Introduced FormData.php to provide product brands and tags for dropdowns. Updated Init.php to use FormData for populating brand and tag options, and added value callbacks for image and gallery fields. Refactored getFieldConfig in FieldRenderer to remove section dependency and improved value handling. Minor layout update to make a card non-collapsible.
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