Skip to content
This repository has been archived by the owner on Feb 23, 2024. It is now read-only.

Product Collection - Add Inherit query from template control #9485

Merged
merged 74 commits into from
Jun 5, 2023

Commits on May 15, 2023

  1. Add columns control to product collection block editor settings

    - `InspectorControls` from './inspector-controls' is now imported in `edit.tsx` and used in the returned JSX of `Edit` function.
    - A new file `columns-control.tsx` is added under 'product-collection' block's 'inspector-controls' directory which exports a `ColumnsControl` component. This component uses `RangeControl` from '@wordpress/components' to control the number of columns in the product collection display layout when the layout type is 'flex'.
    - The types file (`types.ts`) for 'product-collection' block is updated. The `Attributes` interface is renamed to `ProductCollectionAttributes` and the `ProductCollectionContext` interface is removed. The `ProductCollectionAttributes` now includes 'queryContext', 'templateSlug', and 'displayLayout' properties.
    imanish003 committed May 15, 2023
    Configuration menu
    Copy the full SHA
    e4abb25 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    43b2d1c View commit details
    Browse the repository at this point in the history

Commits on May 16, 2023

  1. Refactor: Simplify Fallback Return in ColumnsControl Component

    This commit simplifies the fallback return value of the ColumnsControl component. Instead of returning an empty fragment (<> </>), it now returns null when the condition isn't met. This change improves readability and aligns with best practices for conditional rendering in React.
    imanish003 committed May 16, 2023
    Configuration menu
    Copy the full SHA
    65582af View commit details
    Browse the repository at this point in the history
  2. Feature: Add 'Order By' Control to Product Collection Inspector

    This commit adds a new 'Order By' control to the product collection inspector. The control allows users to specify the order of products in a collection by various attributes such as title and date. To support this, a new component 'OrderByControl' has been created and included in the product collection inspector. Additionally, the types for 'order' and 'orderBy' attributes have been updated and exported for reuse.
    imanish003 committed May 16, 2023
    Configuration menu
    Copy the full SHA
    e03ecf6 View commit details
    Browse the repository at this point in the history
  3. Merge branch 'trunk' of https://github.com/woocommerce/woocommerce-bl…

    …ocks into 9359-product-collection-editor-settings-order-by
    imanish003 committed May 16, 2023
    Configuration menu
    Copy the full SHA
    91b5cb4 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5e5c6b1 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    502295f View commit details
    Browse the repository at this point in the history

Commits on May 17, 2023

  1. Configuration menu
    Copy the full SHA
    9cfa07e View commit details
    Browse the repository at this point in the history
  2. Add orderby handling on frontend & editor

    The main changes include:
    1. Added a new property 'isProductCollectionBlock' in the block.json to denote if a block is a product collection block.
    2. In the ProductCollection PHP class, a new initialization function has been defined to hook into the WordPress lifecycle, register the block, and update the query based on this block.
    3. Added methods to manage query parameters for both frontend rendering and the Editor.
    4. Expanded allowed 'collection_params' for the REST API to include custom 'orderby' values.
    5. Defined a function to build the query based on block attributes, filters, and global WP_Query.
    6. Created utility functions to handle complex query operations such as merging queries, handling custom sort values, and merging arrays recursively.
    
    These improvements allow for more flexible and robust handling of product collections in both the front-end display and the WordPress editor. It also extends support for custom 'orderby' values in the REST API, which allows for more advanced sorting options in product collections.
    imanish003 committed May 17, 2023
    Configuration menu
    Copy the full SHA
    7954c13 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b756198 View commit details
    Browse the repository at this point in the history

Commits on May 18, 2023

  1. Configuration menu
    Copy the full SHA
    bed6be4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    58c518a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6978335 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    df9fad6 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    d257e8b View commit details
    Browse the repository at this point in the history

Commits on May 19, 2023

  1. Merge branch 'trunk' of https://github.com/woocommerce/woocommerce-bl…

    …ocks into 9361-product-collection-filters-on-sale
    imanish003 committed May 19, 2023
    Configuration menu
    Copy the full SHA
    724f894 View commit details
    Browse the repository at this point in the history
  2. Add 'on sale' filter and enhance settings management in product colle…

    …ction block
    
    This commit introduces several changes to the product collection block.
    - First, it adds a new 'on sale' filter that can be used to display only the products that are currently on sale.
    - It also refactors the settings management in the product collection block to use the experimental ToolsPanel component from WordPress, which provides a more flexible and intuitive way to manage block settings.
    - It moves the 'Columns' control into the ToolsPanel, along with the 'Order by' control.
    - A new utility function `setQueryAttribute` is introduced to simplify setting nested query parameters.
    - The structure of the `ProductCollectionAttributes` and `ProductCollectionQuery` types have been adjusted to accommodate the changes.
    - Finally, it makes corresponding changes in the PHP part to handle the new 'on sale' query parameter.
    
    This should enhance the flexibility and user-friendliness of the product collection block.
    imanish003 committed May 19, 2023
    Configuration menu
    Copy the full SHA
    e5a43cf View commit details
    Browse the repository at this point in the history

Commits on May 22, 2023

  1. Configuration menu
    Copy the full SHA
    2e77956 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8e9ee85 View commit details
    Browse the repository at this point in the history

Commits on May 23, 2023

  1. Configuration menu
    Copy the full SHA
    1022323 View commit details
    Browse the repository at this point in the history
  2. Revert "Make Product Collection inheirt global query in product archi…

    …ve templates by default"
    
    This reverts commit d257e8b.
    imanish003 committed May 23, 2023
    Configuration menu
    Copy the full SHA
    229d12b View commit details
    Browse the repository at this point in the history
  3. Updated 'inherit' behavior in the Product Collection block

    This commit updates the 'inherit' behavior in the Product Collection block and its associated controls.
    
    Changes include:
    - Removed the 'inherit' attribute from the block's JSON definition
    - Defined an array of 'archive product templates' which includes the WooCommerce product archive, taxonomy, attribute, and search results templates.
    - Set the initial 'inherit' value based on the current template ID when the Product Collection block is first added to the page.
    - Restored the query object value when toggling 'inherit' off.
    - Conditionally rendered the InheritQueryControl based on the current editor being the site editor.
    imanish003 committed May 23, 2023
    Configuration menu
    Copy the full SHA
    1828047 View commit details
    Browse the repository at this point in the history

Commits on May 24, 2023

  1. Configuration menu
    Copy the full SHA
    c2d59c1 View commit details
    Browse the repository at this point in the history
  2. Add stock status filter to WooCommerce product collection block

    This commit introduces a stock status filter to the WooCommerce product collection block.
    
    The changes include:
    1. Added the ability to filter products based on their stock status within the 'product-collection' block. A new stock status control is created within the inspector-controls of the block.
    2. A new 'get_stock_status_query' function is introduced in 'ProductCollection.php' which returns a query for products depending on their stock status.
    
    Please note that the stock status filter will only appear in the experimental build for now.
    imanish003 committed May 24, 2023
    Configuration menu
    Copy the full SHA
    a832d97 View commit details
    Browse the repository at this point in the history
  3. Refactor Stock Status control of Product Collection block

    This commit refactors the Stock Status control. The changes aim to improve the code organization and make the behavior of the component more explicit.
    
    The key modifications are:
    1. Moved stock status related constants and functions from `inspector-controls/utils.tsx` to `inspector-controls/constants.ts`. This is done to ensure that all constants and similar utility functions are organized in one place.
    2. Updated `product-collection/index.tsx` to import `getDefaultStockStatuses` from `inspector-controls/constants` instead of `inspector-controls/utils`.
    3. Updated `stock-status-control.tsx` to determine whether the stock status has value or not by comparing with the default stock statuses using `fastDeepEqual`. If the stock status control is deselected, it resets the stock status to the default statuses.
    
    These changes do not introduce any new functionalities, but improve the readability and maintainability of the code.
    imanish003 committed May 24, 2023
    Configuration menu
    Copy the full SHA
    c4188da View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    2d5e3f9 View commit details
    Browse the repository at this point in the history
  5. Add keyword search control to Product Collection block

    This commit introduces a keyword search functionality to the Product Collection block. The update is aimed to provide users with more flexibility and precision in product collection queries.
    
    Key changes:
    1. Introduced a new file `keyword-control.tsx` that creates a Keyword Control component. This component includes a TextControl field that allows inputting a search keyword. The keyword search is debounced to prevent unnecessary queries during input and updates the block's attributes accordingly.
    2. Modified `inspector-controls/index.tsx` to include the KeywordControl in the ToolsPanel for the block's filters.
    3. Adjusted `ProductCollection.php` to include the keyword search in the product query array.
    
    With these changes, users can now search for products by keyword in the Product Collection block.
    imanish003 committed May 24, 2023
    Configuration menu
    Copy the full SHA
    07fc6fe View commit details
    Browse the repository at this point in the history

Commits on May 25, 2023

  1. Resolve conflicts

    imanish003 committed May 25, 2023
    Configuration menu
    Copy the full SHA
    1f6a425 View commit details
    Browse the repository at this point in the history
  2. Add product attributes filter control to ProductCollection block

    - This commit introduces the ability to filter products by attributes in ProductCollection block.
    - A new `woocommerceAttributes` key was added to the `block.json` file and the `ProductCollectionQuery` type. Also, a new file `attributes-control.tsx` was created, providing the UI component for the attribute filter control in the editor.
    - In addition, updates were made to the `ProductCollection.php` file in the backend to support filtering products by attributes, and the tax query was updated to include attribute queries.
    - Lastly, the `ProductCollectionInspectorControls` was updated to include the `AttributesControl` component, thus enabling users to filter products by attributes in the block editor."`
    imanish003 committed May 25, 2023
    Configuration menu
    Copy the full SHA
    751b2b4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ede31c9 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c71c4c5 View commit details
    Browse the repository at this point in the history

Commits on May 26, 2023

  1. Configuration menu
    Copy the full SHA
    c000167 View commit details
    Browse the repository at this point in the history
  2. Resolve conflicts

    imanish003 committed May 26, 2023
    Configuration menu
    Copy the full SHA
    acbdc06 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3b1b6c6 View commit details
    Browse the repository at this point in the history
  4. Resolve conflicts

    imanish003 committed May 26, 2023
    Configuration menu
    Copy the full SHA
    287b91f View commit details
    Browse the repository at this point in the history
  5. Delete a duplicate file

    imanish003 committed May 26, 2023
    Configuration menu
    Copy the full SHA
    67446de View commit details
    Browse the repository at this point in the history
  6. Resolve conflicts

    imanish003 committed May 26, 2023
    Configuration menu
    Copy the full SHA
    fa957fd View commit details
    Browse the repository at this point in the history

Commits on May 29, 2023

  1. Remove console log

    imanish003 committed May 29, 2023
    Configuration menu
    Copy the full SHA
    cacd280 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    afa0e46 View commit details
    Browse the repository at this point in the history
  3. Add taxonomies control to Product collection block

    The primary changes include:
    1. `taxQuery` field in the `ProductCollectionAttributes` was changed from a string to an object in `assets/js/blocks/product-collection/types.ts` and `assets/js/blocks/product-collection/constants.ts`, accommodating the ability to query products by taxonomy terms.
    
    2. `assets/js/blocks/product-collection/inspector-controls/utils.tsx` was moved to `assets/js/blocks/product-collection/utils.tsx` to make it available for broader use.
    
    3. New component `TaxonomyControls` was created in `assets/js/blocks/product-collection/inspector-controls/taxonomy-controls.tsx`, which is included in `assets/js/blocks/product-collection/inspector-controls/index.tsx`. This new control allows users to filter products in the block by their taxonomy terms.
    
    4. Updated the block's inspector controls in `assets/js/blocks/product-collection/inspector-controls/index.tsx` to use the new `TaxonomyControls` component.
    
    Please note that the TaxonomyControls component uses experimental features of WordPress's FormTokenField. As a result, a comment has been added to disable eslint warnings regarding the use of experimental APIs.
    imanish003 committed May 29, 2023
    Configuration menu
    Copy the full SHA
    aef2878 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    24031a6 View commit details
    Browse the repository at this point in the history

Commits on May 30, 2023

  1. Address PR feedback & other improvements

    1. Added `woocommerceAttributes` to `DEFAULT_FILTERS` in the `product-collection/constants.ts` file to fix `reset all` button issue.
    
    2. Refactored `attributes-control.tsx` to make it more maintainable:
       - The constant `EDIT_ATTRIBUTES_URL` now uses `ADMIN_URL` from `@woocommerce/settings` for a more dynamic URL generation.
       - The interface `Props` has been renamed to `AttributesControlProps` for more explicit naming.
       - Removed the usage of `useState` and `useEffect` for selected attributes. Instead, `selectedAttributes` is now directly derived from `woocommerceAttributes`.
       - The CSS class `woocommerce-product-query-panel__external-link` was renamed to `wc-product-collection-panel__external-link`
    
    3. Deleted the `product-collection/inspector-controls/constants.ts` file which was no longer necessary due to changes in product collection implementation.
    
    These changes contribute to codebase quality, improving readability and maintainability.
    imanish003 committed May 30, 2023
    Configuration menu
    Copy the full SHA
    f9a6813 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7218533 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7cbd3a8 View commit details
    Browse the repository at this point in the history
  4. Address PR review comments

    This commit involves a significant refactoring of the default product query inside the 'product-collection/constants.ts' file. A new constant `DEFAULT_QUERY` has been defined and used to replace the previously hard-coded default query settings. This refactoring aids in code readability and future modifications.
    
    Changes also include adjustments in 'product-collection/inspector-controls' to enhance UI/UX. A new SCSS file 'editor.scss' has been created for custom styles related to the editor.
    
    Additions include:
    - Adding a class name `product-collection-inspector-toolspanel__filters` to ToolsPanel for additional styling.
    - The experimental property `__experimentalShowHowTo` is set to false for `FormTokenField` and `StockStatusControl`, to hide some additional information.
    
    In 'product-collection/inspector-controls/taxonomy-controls.tsx', the classname `product-collection-inspector__taxonomy-control` is added for improved CSS targeting.
    imanish003 committed May 30, 2023
    Configuration menu
    Copy the full SHA
    e049cf8 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    3a8dc95 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    edf824b View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    20fdaf9 View commit details
    Browse the repository at this point in the history
  8. Resolve conflicts

    imanish003 committed May 30, 2023
    Configuration menu
    Copy the full SHA
    9e08ade View commit details
    Browse the repository at this point in the history
  9. Make improvements to 'inherit' functionality in Product collection bl…

    …ock.
    
    Key changes are:
    
    1. 'inherit' in 'ProductCollectionAttributes' within 'constants.ts' has been changed from 'false' to 'null'. This accommodates for situations when Product collection block is first added to the page.
    
    2. Various improvements in 'index.tsx' file which include more robust null checking for the 'query' object, simplifying the way 'woocommerceAttributes' is obtained, and passing 'setQueryAttributeBind' and 'inherit' to the 'InheritQueryControl' component.
    
    3. In 'inherit-query-control.tsx', 'InheritQueryControl' component has been refactored to use '__experimentalToolsPanelItem' from '@wordpress/components' instead of 'ToggleControl'. This adds more flexibility to the control.
    
    4. Changes in 'ProductCollectionAttributes' and 'ProductCollectionQuery' types in 'types.ts'. The
    imanish003 committed May 30, 2023
    Configuration menu
    Copy the full SHA
    c10388e View commit details
    Browse the repository at this point in the history
  10. Resolve conflicts

    imanish003 committed May 30, 2023
    Configuration menu
    Copy the full SHA
    c5b92fc View commit details
    Browse the repository at this point in the history
  11. Improve product collection query inheritance and fix URL typo

    This commit addresses two primary areas:
    1. Fixed a typo in the URL used as a reference in the use-previous.ts file. The URL was incorrectly case-sensitive, which has been corrected.
    
    2. The product-collection block in the JavaScript files has been refactored for better handling of query inheritance:
    
       - Changed the 'inherit' value from false to null in the DEFAULT_QUERY constant to handle initial state more accurately.
    
       - In product-collection/inspector-controls, implemented conditional rendering for Filters and Query Controls based on 'displayQueryControls'. Also, improved the 'InheritQueryControl' by using the 'usePrevious' hook to maintain the state before enabling the inheritance.
    
       - In inherit-query-control, enhanced the control to toggle the query inheritance. It now considers the 'inherit' state from the query object and keeps track of the query object state before enabling inheritance. If the inheritance is toggled off, it reverts the query to the previous state before inheritance was enabled.
    imanish003 committed May 30, 2023
    Configuration menu
    Copy the full SHA
    0fecc33 View commit details
    Browse the repository at this point in the history
  12. Resolve conflicts

    imanish003 committed May 30, 2023
    Configuration menu
    Copy the full SHA
    5f60aa1 View commit details
    Browse the repository at this point in the history
  13. Minor improvemnets

    imanish003 committed May 30, 2023
    Configuration menu
    Copy the full SHA
    5528cf6 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    49f4fef View commit details
    Browse the repository at this point in the history
  15. Resolve conflicts

    imanish003 committed May 30, 2023
    Configuration menu
    Copy the full SHA
    872b637 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    90d133a View commit details
    Browse the repository at this point in the history

Commits on May 31, 2023

  1. Handle duplicate taxonomy names in Taxonomy controls

    the taxonomy controls have been enhanced in the following ways:
    1. Modified the BASE_QUERY object to include 'slug' in the '_fields' property. This will ensure that the 'slug' of the taxonomy term is fetched along with its 'id' and 'name'.
    
    2. Added a 'slug' property to the Term type to store the 'slug' of each term.
    
    3. Updated the useEffect hook inside the TaxonomyItem function to generate suggestions based on search results. The suggestions now include the 'slug' of a term if the term's name is not unique. This change will help users distinguish between terms with the same name but different slugs.
    imanish003 committed May 31, 2023
    Configuration menu
    Copy the full SHA
    5f1a5bb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ba0ce51 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d1cfe70 View commit details
    Browse the repository at this point in the history
  4. Refactor TaxonomyItem component for better readability

    Following changes were made:
    
    1. The useSelect hooks which were being used to fetch existing terms and search results have been moved into their own custom hooks named 'useExistingTerms' and 'useSearchResults' respectively. This simplifies the TaxonomyItem function's body and makes the hooks' purposes clearer.
    
    2. The comments and props destructuring for the TaxonomyItem function have been moved up to make it easier to understand the function's purpose and the props it receives.
    
    3. This refactor does not introduce any changes in functionality. It only changes how the code is organized and presented, which will make future development easier.
    imanish003 committed May 31, 2023
    Configuration menu
    Copy the full SHA
    dbe02a9 View commit details
    Browse the repository at this point in the history
  5. Handling for duplicate term names & other improvements

    This commit enhances the `TaxonomyControls` component within `product-collection` block by adding memoization and improving term uniqueness handling.
    
    Changes:
    
    1. Imported `useMemo` from `@wordpress/element` for memoizing certain results.
    
    2. `getTermIdByTermValue` function has been modified to use a `termIdToNameMap` (term ids as keys and term names as values). This provides a more efficient and direct mapping for term search.
    
    3. Introduced `useTermIdToNameMap` function, which returns a `Map` where term ids are keys and term names are values. It handles duplicate term names by appending the term slug to the name, ensuring unique term names.
    
    4. Updated the `useExistingTerms` and `useSearchResults` to include `taxonomy` in their dependency arrays for `useSelect` hook. This will force re-computation when `taxonomy` changes.
    
    5. Changed `TaxonomyItem` from a function declaration to a const arrow function, consistent with the rest of the codebase.
    
    6. Updated `onTermsChange` function in `TaxonomyItem` to accommodate the changes in `getTermIdByTermValue` and the introduction of `termIdToNameMap`.
    
    7. Replaced `Set` with a standard array for storing new term IDs in `onTermsChange`. The `Set` was unnecessary as term IDs are unique by default.
    
    8. Updated `TaxonomyItem`'s effects and rendering to work with `termIdToNameMap`, ensuring the displayed term names are unique.
    
    This update will result in more efficient term search and handling, and it will solve issues related to duplicate term names.
    imanish003 committed May 31, 2023
    Configuration menu
    Copy the full SHA
    1be8967 View commit details
    Browse the repository at this point in the history

Commits on Jun 1, 2023

  1. Restructure taxonomy controls in product collection block

    This commit restructures the taxonomy controls in the product collection block for improved clarity and maintainability.
    - The file `taxonomy-controls.tsx` has been deleted, and its functionality has been divided into two new files: `index.tsx` and `taxonomy-item.tsx`.
    
    - The `index.tsx` file contains the main TaxonomyControls component, which is responsible for displaying taxonomy-related options in the block's inspector controls. It includes a custom hook `useTaxonomies` that fetches and returns taxonomies associated with product post type.
    
    - The `taxonomy-item.tsx` file, on the other hand, contains a TaxonomyItem component that handles the rendering of individual taxonomy items. It also contains some utility functions for mapping term names and ids and fetching terms based on the search query.
    
    This refactor aims to improve code readability and separation of concerns, thus making future changes and maintenance easier.
    imanish003 committed Jun 1, 2023
    Configuration menu
    Copy the full SHA
    734d251 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    414d379 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5e6d9d9 View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2023

  1. Fix case insensitive search support for FormTokenField

    This change enhances the search functionality of the FormTokenField by introducing support for case insensitive search. This has been achieved by adding a lower-case version of the term name to the 'termNameToIdMap'.
    
    This is an important enhancement as it will make the search process more user-friendly and resilient to different casing inputs. Users will now be able to find the desired taxonomy term regardless of their input's case.
    imanish003 committed Jun 2, 2023
    Configuration menu
    Copy the full SHA
    6a10f3f View commit details
    Browse the repository at this point in the history
  2. Refactor getTermIdByTermValue function and update newSuggestions mapping

    This commit does a couple of important things:
    1. Reorders the definition of constants in `TaxonomyItemProps` for clarity.
    2. Refactors the `getTermIdByTermValue` function. Instead of checking for an exact term name match in a convoluted manner, it now directly tries to fetch the `id` from the `searchTerm` if it is an object. If the `searchTerm` is not an object, the function tries to match it against the `termNameToIdMap` in both normal and lowercase forms. This simplification makes the function more readable and concise.
    3. Updates the `newSuggestions` mapping in the `TaxonomyItem` component. It now has a fallback to `searchResult.name` if a term's name is not found in `termIdToNameMap`. This change ensures that even if the term's name is not in the map for some reason, we can still display a suggestion using the original name of the term.
    imanish003 committed Jun 2, 2023
    Configuration menu
    Copy the full SHA
    d9d7cd7 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7f72924 View commit details
    Browse the repository at this point in the history
  4. Optimize term fetching and initial search state in TaxonomyItem

    This commit introduces a couple of improvements to the TaxonomyItem component.
    
    1. The initial state of the 'search' state variable has been updated to 'undefined'. This change helps prevent unnecessary initial fetching of terms when the search input is empty.
    
    2. Term fetching logic has been optimized to only enable term fetching when necessary:
       a) Fetching based on the search query is only enabled when 'search' is not 'undefined'.
       b) Fetching existing terms is only enabled when there are term IDs.
    
    3. The block of code responsible for fetching existing terms and setting the current value has been moved upwards. This reordering of code does not change the functionality, but it groups together similar pieces of code, enhancing readability and maintainability.
    
    These optimizations make the component more efficient by reducing unnecessary requests and computations, and they improve the code organization.
    imanish003 committed Jun 2, 2023
    Configuration menu
    Copy the full SHA
    7b56958 View commit details
    Browse the repository at this point in the history
  5. Merge branch '9364-product-collection-filters-taxonomies' into add/pr…

    …oduct-collection-inherit
    imanish003 committed Jun 2, 2023
    Configuration menu
    Copy the full SHA
    028aa9b View commit details
    Browse the repository at this point in the history
  6. Merge branch 'trunk' of https://github.com/woocommerce/woocommerce-bl…

    …ocks into add/product-collection-inherit
    imanish003 committed Jun 2, 2023
    Configuration menu
    Copy the full SHA
    af2de33 View commit details
    Browse the repository at this point in the history
  7. Address PR comments and other improvements

    This commit makes several changes:
    1. The useEffect that sets the default attributes was moved and modified. This now includes a `query` attribute that utilizes the imported function `getDefaultValueOfInheritQueryFromTemplate`.
    2. An early return was added in `edit.tsx` to prevent rendering until default attributes are set.
    3. In `columns-control.tsx`, the early return was removed and a label was added to the `RangeControl` component.
    4. In `inherit-query-control.tsx`, logic related to `inherit` value initial setting was refactored using a `useMemo` hook with `getDefaultValueOfInheritQueryFromTemplate` function. This logic was moved to a separate utility function in `utils`.
    5. The `query` attribute is no longer optional in `types.ts`.
    6. A new utility function `getDefaultValueOfInheritQueryFromTemplate` was created in `utils.tsx` to encapsulate the logic of deciding the default value of `inherit` query attribute based on the current template.
    
    These changes aim to improve code clarity and maintainability.
    imanish003 committed Jun 2, 2023
    Configuration menu
    Copy the full SHA
    34762c5 View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2023

  1. Configuration menu
    Copy the full SHA
    ef6b436 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b13f560 View commit details
    Browse the repository at this point in the history