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>
35 lines
1.0 KiB
JavaScript
35 lines
1.0 KiB
JavaScript
/**
|
|
* Returns true if the two objects are shallow equal, or false otherwise.
|
|
*
|
|
* @param {import('.').ComparableObject} a First object to compare.
|
|
* @param {import('.').ComparableObject} b Second object to compare.
|
|
*
|
|
* @return {boolean} Whether the two objects are shallow equal.
|
|
*/
|
|
export default function isShallowEqualObjects(a, b) {
|
|
if (a === b) {
|
|
return true;
|
|
}
|
|
const aKeys = Object.keys(a);
|
|
const bKeys = Object.keys(b);
|
|
if (aKeys.length !== bKeys.length) {
|
|
return false;
|
|
}
|
|
let i = 0;
|
|
while (i < aKeys.length) {
|
|
const key = aKeys[i];
|
|
const aValue = a[key];
|
|
if (
|
|
// In iterating only the keys of the first object after verifying
|
|
// equal lengths, account for the case that an explicit `undefined`
|
|
// value in the first is implicitly undefined in the second.
|
|
//
|
|
// Example: isShallowEqualObjects( { a: undefined }, { b: 5 } )
|
|
aValue === undefined && !b.hasOwnProperty(key) || aValue !== b[key]) {
|
|
return false;
|
|
}
|
|
i++;
|
|
}
|
|
return true;
|
|
}
|
|
//# sourceMappingURL=objects.js.map
|