Repository navigation
fix(admin): keep import filter values on re-render - #720
Merged
navneetkumar-pim-webkul merged 1 commit intoSep 22, 2026
Merged
navneetkumar-pim-webkul merged 1 commit into
navneetkumar-pim-webkul merged 1 commit into
Conversation
initialValues was a computed, returning a new object identity each re-evaluation and tripping v-field-set's deep watcher, which reset `values` and dropped the user's selections. Dependent fields like Magento Store Views then fetched without their parent `credential` filter. Moved to data(), matching v-filter-fields on the export side.
Copilot started reviewing on behalf of
navneetkumar-pim-webkul
September 22, 2026 11:28
View session
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Add import-specific regression coverage for dependent filter re-rendering.
Get a fresh assessment by requesting another Copilot review.
Review effort: Lite
Findings: 1
Open (1)
What changed in this PR
Fixes import filter selections being reset during Vue re-renders, preserving dependent-field values and scoped requests.
Changes:
- Moves
initialValuesfrom a computed property into stable component data. - Prevents import filter state from being reinitialized on re-render.
| File | Description |
|---|---|
packages/Webkul/Admin/src/Resources/views/components/data-transfer/import-setting-fields.blade.php |
Stabilizes import filter values for dependent fields. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
2 of 6 tasks
navneetkumar-pim-webkul
added a commit
that referenced
this pull request
Sep 24, 2026
Six merged pull requests since v3.1.1 carried no changelog entry: the gallery unsaved badge and worker timeout handler (#713), the import filter re-render (#720), the worker timeout alarm (#722), the channel name on PostgreSQL (#725), the price input height (#726), and the export view events (#717, #718). The two fixes pending in #727 and #728 are included so the cut merges after them. The model recommendation entry described the cheap-tier ranking that #724 replaced with newest-per-family; it now describes the shipped behaviour. 3.1.2 is a patch release, so everything is filed under bug fixes and improvements; no feature section. Core::VERSION, package.json and the UPGRADE.md walkthrough move to 3.1.2 together, as they did for 3.1.1.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Description
Import filter selections were discarded on every re-render, breaking any filter
field that declares
depends_on.v-import-filter-fieldsdeclaredinitialValuesas a computed, so it returned anew object identity on each re-evaluation.
v-field-setdeep-watches that prop andrebuilds
valuesfrom it, so a selection was wiped immediately after being set.A dependent field resolves its parent's value through
scopedField()to build itsquery_params. Withvaluesemptied, the parent resolved to an empty array, theparam was dropped from the request, and the dependent field fetched its options
unscoped — returning nothing and leaving the dropdown permanently empty.
Moved
initialValuesintodata(), matchingv-filter-fieldson the export side,which is why export profiles were never affected.