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 @@
barf

4
node_modules/requireindex/test/lib/Foo.js generated vendored Normal file
View File

@@ -0,0 +1,4 @@
module.exports = {
l: function() { return "yes"; },
ls: function() { return "yep"; }
};

3
node_modules/requireindex/test/lib/_private.js generated vendored Normal file
View File

@@ -0,0 +1,3 @@
module.exports = function() {
return "ack";
}

4
node_modules/requireindex/test/lib/bam.js generated vendored Normal file
View File

@@ -0,0 +1,4 @@
module.exports = {
m: function() { return "ok"; },
n: require('./_private')
};

3
node_modules/requireindex/test/lib/bar/f.js generated vendored Normal file
View File

@@ -0,0 +1,3 @@
module.exports = function() {
return "yea";
}

3
node_modules/requireindex/test/lib/bar/fed/again.js generated vendored Normal file
View File

@@ -0,0 +1,3 @@
module.exports = function() {
return "again";
}

View File

@@ -0,0 +1,3 @@
module.exports = function() {
return "ignored";
}

1
node_modules/requireindex/test/lib/bar/fed/index.js generated vendored Normal file
View File

@@ -0,0 +1 @@
module.exports = require('../../../../')(__dirname, ['again', 'somemore'])

View File

@@ -0,0 +1,3 @@
module.exports = function() {
return "somemore";
}

3
node_modules/requireindex/test/lib/bar/fing.js generated vendored Normal file
View File

@@ -0,0 +1,3 @@
module.exports = function() {
return "definitely";
}

1
node_modules/requireindex/test/lib/bar/index.js generated vendored Normal file
View File

@@ -0,0 +1 @@
module.exports = require('../../../')(__dirname)

1
node_modules/requireindex/test/lib/index.js generated vendored Normal file
View File

@@ -0,0 +1 @@
module.exports = require('../../')(__dirname)

View File

@@ -0,0 +1 @@
asdf 1 2 / @ 123

43
node_modules/requireindex/test/test.js generated vendored Normal file
View File

@@ -0,0 +1,43 @@
var Assert = require('assert');
var Asserts = require('asserts');
Asserts(function () {
var lib = require('./lib');
return {
"requireindex should": {
"properly include files parallel to index.js and maintain structure": function () {
Asserts.all.equal([
[lib.bam.m, [], "ok"],
[lib.bar.f, [], "yea"],
[lib.bar.fing, [], 'definitely'],
[lib.Foo.l, [], 'yes'],
[lib.Foo.ls, [], 'yep'],
[lib.bam.n, [], 'ack'],
[lib.bar.fed.again, [], 'again'],
[lib.bar.fed.somemore, [], 'somemore']
]);
},
"ignore _ prefixed files": function () {
Assert.equal(('_private' in lib), false);
},
"not include files not mentioned when second array argument is used": function () {
Assert.equal(('ignored' in lib.bar.fed), false);
},
"ignore non javascript files": function () {
Assert.equal(('not_javascript' in lib), false);
},
"sort files by lowercase alpha of the filename": function () {
Assert.equal(Object.keys(lib)[0], 'bam');
},
"ignore dot files": function () {
Assert.equal(('.also_private' in lib), false);
},
}
};
});