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>
47 lines
677 B
JavaScript
47 lines
677 B
JavaScript
'use strict';
|
|
const {Transform} = require('stream');
|
|
|
|
class ObjectTransform extends Transform {
|
|
constructor() {
|
|
super({
|
|
objectMode: true
|
|
});
|
|
}
|
|
}
|
|
|
|
class FilterStream extends ObjectTransform {
|
|
constructor(filter) {
|
|
super();
|
|
this._filter = filter;
|
|
}
|
|
|
|
_transform(data, encoding, callback) {
|
|
if (this._filter(data)) {
|
|
this.push(data);
|
|
}
|
|
|
|
callback();
|
|
}
|
|
}
|
|
|
|
class UniqueStream extends ObjectTransform {
|
|
constructor() {
|
|
super();
|
|
this._pushed = new Set();
|
|
}
|
|
|
|
_transform(data, encoding, callback) {
|
|
if (!this._pushed.has(data)) {
|
|
this.push(data);
|
|
this._pushed.add(data);
|
|
}
|
|
|
|
callback();
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
FilterStream,
|
|
UniqueStream
|
|
};
|