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>
This commit is contained in:
dwindown
2026-04-18 17:02:14 +07:00
parent bd9cdac02e
commit e8fbfb14c1
74973 changed files with 6658406 additions and 71 deletions

View File

@@ -0,0 +1,49 @@
'use strict';
/**
* @param {{
* div: import('postcss-value-parser').DivNode,
* index: number,
* nodes: import('postcss-value-parser').Node[],
* expectation: string,
* position: 'before' | 'after',
* symb: string,
* }} params
* @returns {boolean}
*/
module.exports = function functionCommaSpaceFix(params) {
const { div, index, nodes, expectation, position, symb } = params;
if (expectation.startsWith('always')) {
div[position] = symb;
return true;
}
if (expectation.startsWith('never')) {
div[position] = '';
for (let i = index + 1; i < nodes.length; i++) {
const node = nodes[i];
if (node === undefined) {
continue;
}
if (node.type === 'comment') {
continue;
}
if (node.type === 'space') {
node.value = '';
continue;
}
break;
}
return true;
}
return false;
};