Files
formipay/node_modules/@wordpress/components/build-module/query-controls/index.native.js
dwindown e8fbfb14c1 fix: prevent asset conflicts between React and Grid.js versions
Add coexistence checks to all enqueue methods to prevent loading
both React and Grid.js assets simultaneously.

Changes:
- ReactAdmin.php: Only enqueue React assets when ?react=1
- Init.php: Skip Grid.js when React active on admin pages
- Form.php, Coupon.php, Access.php: Restore classic assets when ?react=0
- Customer.php, Product.php, License.php: Add coexistence checks

Now the toggle between Classic and React versions works correctly.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-18 17:02:14 +07:00

76 lines
2.1 KiB
JavaScript

import { createElement, Fragment } from "react";
/**
* WordPress dependencies
*/
import { __ } from '@wordpress/i18n';
import { useCallback, memo } from '@wordpress/element';
/**
* Internal dependencies
*/
import { RangeControl, SelectControl } from '../';
import CategorySelect from './category-select';
const DEFAULT_MIN_ITEMS = 1;
const DEFAULT_MAX_ITEMS = 100;
const options = [{
label: __('Newest to oldest'),
value: 'date/desc'
}, {
label: __('Oldest to newest'),
value: 'date/asc'
}, {
/* translators: label for ordering posts by title in ascending order */
label: __('A → Z'),
value: 'title/asc'
}, {
/* translators: label for ordering posts by title in descending order */
label: __('Z → A'),
value: 'title/desc'
}];
const QueryControls = memo(({
categoriesList,
selectedCategoryId,
numberOfItems,
order,
orderBy,
maxItems = DEFAULT_MAX_ITEMS,
minItems = DEFAULT_MIN_ITEMS,
onCategoryChange,
onNumberOfItemsChange,
onOrderChange,
onOrderByChange
}) => {
const onChange = useCallback(value => {
const [newOrderBy, newOrder] = value.split('/');
if (newOrder !== order) {
onOrderChange(newOrder);
}
if (newOrderBy !== orderBy) {
onOrderByChange(newOrderBy);
}
}, [order, orderBy, onOrderByChange, onOrderChange]);
return createElement(Fragment, null, onOrderChange && onOrderByChange && createElement(SelectControl, {
label: __('Order by'),
value: `${orderBy}/${order}`,
options: options,
onChange: onChange,
hideCancelButton: true
}), onCategoryChange && createElement(CategorySelect, {
categoriesList: categoriesList,
label: __('Category'),
noOptionLabel: __('All'),
selectedCategoryId: selectedCategoryId,
onChange: onCategoryChange,
hideCancelButton: true
}), onNumberOfItemsChange && createElement(RangeControl, {
__next40pxDefaultSize: true,
label: __('Number of items'),
value: numberOfItems,
onChange: onNumberOfItemsChange,
min: minItems,
max: maxItems,
required: true
}));
});
export default QueryControls;
//# sourceMappingURL=index.native.js.map