Skip to content

feat(properties): implement product properties - #19

Merged
SlimDeluxe merged 23 commits into
DataLinx:mainfrom
KilianTrunk:feat/properties
Aug 29, 2025
Merged

feat(properties): implement product properties#19
SlimDeluxe merged 23 commits into
DataLinx:mainfrom
KilianTrunk:feat/properties

Conversation

@KilianTrunk

Copy link
Copy Markdown
Contributor

No description provided.

@codecov-commenter

codecov-commenter commented Aug 21, 2025

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 24.53245% with 686 lines in your changes missing coverage. Please review.
✅ Project coverage is 35.40%. Comparing base (61ad7a6) to head (f2723e5).
⚠️ Report is 19 commits behind head on main.

Files with missing lines Patch % Lines
src/Filament/Resources/ProductResource.php 0.00% 182 Missing ⚠️
...rce/RelationManagers/PropertiesRelationManager.php 0.00% 94 Missing ⚠️
...esource/RelationManagers/ValuesRelationManager.php 0.00% 94 Missing ⚠️
src/Filament/Resources/PropertyValueResource.php 4.34% 88 Missing ⚠️
...PropertyValueResource/Pages/ListPropertyValues.php 0.00% 64 Missing ⚠️
...nt/Resources/ProductResource/Pages/EditProduct.php 0.00% 59 Missing ⚠️
src/Filament/Resources/PropertyResource.php 62.32% 55 Missing ⚠️
.../Resources/ProductResource/Pages/CreateProduct.php 0.00% 19 Missing ⚠️
src/Models/PropertyValue.php 52.38% 10 Missing ⚠️
src/Policies/PropertyPolicy.php 50.00% 10 Missing ⚠️
... and 2 more
Additional details and impacted files
@@             Coverage Diff              @@
##               main      #19      +/-   ##
============================================
- Coverage     38.11%   35.40%   -2.71%     
- Complexity      635      779     +144     
============================================
  Files            55       68      +13     
  Lines          3138     4008     +870     
============================================
+ Hits           1196     1419     +223     
- Misses         1942     2589     +647     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@SlimDeluxe SlimDeluxe left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

  1. Include the property seeder in CatalogueSeeder.
  2. Value sorting should be done in the table with drag-and-drop, not with entering a value. See: https://filamentphp.com/docs/3.x/tables/advanced#reordering-records
  3. When viewing values, the language selector is empty
Image
  1. When viewing values, do not show the property column.
Image
  1. When editing a value, do not show the property input, and show the edit in a modal dialog instead of a full page. The remaining 3 inputs should span the dialog width and not be split in 2 columns like now.
Image
  1. When editing a property, "Max values" should be a integer input.
  2. When viewing the value table, breadcrumb should be: Properties > Brand > List
    (Properties should obv. link to prop table and not values)
Image

Comment thread database/seeders/PropertySeeder.php Outdated
Comment thread database/migrations/2025_08_19_172834_create_pim_property_value_table.php Outdated
Comment thread database/migrations/2025_08_19_175841_add_indexes_to_property_tables.php Outdated
Comment thread src/Models/PropertyValue.php Outdated
@SlimDeluxe

Copy link
Copy Markdown
Member

Additional notes for the "product type edit" screen:

image
  1. Button should be "Add property"
  2. Not needed, is implied by show data already
  3. Should be "Remove"
  4. Not needed
  5. Table should use record reordering feature and not use manual inputs for sorting.

@KilianTrunk
KilianTrunk requested a review from SlimDeluxe August 25, 2025 10:59

@SlimDeluxe SlimDeluxe left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

  1. When editing a prop value in the prop edit screen, the value is not deserialized, and the sort field is shown (which should not be). Shouldn't this modal be the same as when editing the value from the value table?
Image
  1. This section thing is not needed here. The dialog should be the same as for "New property value".
Image
  1. When editing a property, it would be better if the values were shown in a tab and table loading is deferred (done only when the user views the tab — if it's not too complicated).

  2. The property part of the breadcrumb should be clickable and should take you to the "edit property" screen.

  3. In the "Product type edit" screen, the form allows adding duplicate properties, but then throws an SQL error. Please see if you can narrow the selection to properties that have not been yet added to the type.

  4. When removing a prop from the type, the dialog should use the term "Remove" instead of "Detach".

Image

@KilianTrunk
KilianTrunk requested a review from SlimDeluxe August 28, 2025 09:06
@SlimDeluxe
SlimDeluxe merged commit 14a596f into DataLinx:main Aug 29, 2025
6 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.

3 participants