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>
24 lines
868 B
JavaScript
24 lines
868 B
JavaScript
/**
|
|
* @returns {string}
|
|
*/
|
|
function getCurrentScriptSource() {
|
|
// `document.currentScript` is the most accurate way to find the current script,
|
|
// but is not supported in all browsers.
|
|
if (document.currentScript) {
|
|
return document.currentScript.getAttribute("src");
|
|
}
|
|
|
|
// Fallback to getting all scripts running in the document.
|
|
var scriptElements = document.scripts || [];
|
|
var scriptElementsWithSrc = Array.prototype.filter.call(scriptElements, function (element) {
|
|
return element.getAttribute("src");
|
|
});
|
|
if (scriptElementsWithSrc.length > 0) {
|
|
var currentScript = scriptElementsWithSrc[scriptElementsWithSrc.length - 1];
|
|
return currentScript.getAttribute("src");
|
|
}
|
|
|
|
// Fail as there was no script to use.
|
|
throw new Error("[webpack-dev-server] Failed to get current script source.");
|
|
}
|
|
export default getCurrentScriptSource; |