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>
30 lines
938 B
JavaScript
30 lines
938 B
JavaScript
const reTag = /^@\S+/;
|
|
/**
|
|
* Creates configured `Parser`
|
|
* @param {Partial<Options>} options
|
|
*/
|
|
export default function getParser({ fence = '```', } = {}) {
|
|
const fencer = getFencer(fence);
|
|
const toggleFence = (source, isFenced) => fencer(source) ? !isFenced : isFenced;
|
|
return function parseBlock(source) {
|
|
// start with description section
|
|
const sections = [[]];
|
|
let isFenced = false;
|
|
for (const line of source) {
|
|
if (reTag.test(line.tokens.description) && !isFenced) {
|
|
sections.push([line]);
|
|
}
|
|
else {
|
|
sections[sections.length - 1].push(line);
|
|
}
|
|
isFenced = toggleFence(line.tokens.description, isFenced);
|
|
}
|
|
return sections;
|
|
};
|
|
}
|
|
function getFencer(fence) {
|
|
if (typeof fence === 'string')
|
|
return (source) => source.split(fence).length % 2 === 0;
|
|
return fence;
|
|
}
|