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,65 @@
import { createElement } from "react";
/**
* External dependencies
*/
import { SafeAreaView } from 'react-native';
import { useRoute, useNavigation } from '@react-navigation/native';
/**
* WordPress dependencies
*/
import { __ } from '@wordpress/i18n';
import { memo, useContext, useState, useCallback } from '@wordpress/element';
import { BottomSheetContext, FocalPointPicker } from '@wordpress/components';
/**
* Internal dependencies
*/
import NavBar from '../bottom-sheet/nav-bar';
import styles from './styles.scss';
const FocalPointSettingsPanelMemo = memo(({
focalPoint,
onFocalPointChange,
shouldEnableBottomSheetScroll,
url
}) => {
const navigation = useNavigation();
function onButtonPress(action) {
navigation.goBack();
if (action === 'apply') {
onFocalPointChange(draftFocalPoint);
}
}
const [draftFocalPoint, setDraftFocalPoint] = useState(focalPoint);
function setPosition(coordinates) {
setDraftFocalPoint(prevState => ({
...prevState,
...coordinates
}));
}
return createElement(SafeAreaView, {
style: styles.safearea
}, createElement(NavBar, null, createElement(NavBar.DismissButton, {
onPress: () => onButtonPress('cancel')
}), createElement(NavBar.Heading, null, __('Edit focal point')), createElement(NavBar.ApplyButton, {
onPress: () => onButtonPress('apply')
})), createElement(FocalPointPicker, {
focalPoint: draftFocalPoint,
onChange: useCallback(setPosition, []),
shouldEnableBottomSheetScroll: shouldEnableBottomSheetScroll,
url: url
}));
});
function FocalPointSettingsPanel(props) {
const route = useRoute();
const {
shouldEnableBottomSheetScroll
} = useContext(BottomSheetContext);
return createElement(FocalPointSettingsPanelMemo, {
shouldEnableBottomSheetScroll: shouldEnableBottomSheetScroll,
...props,
...route.params
});
}
export default FocalPointSettingsPanel;
//# sourceMappingURL=index.native.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["SafeAreaView","useRoute","useNavigation","__","memo","useContext","useState","useCallback","BottomSheetContext","FocalPointPicker","NavBar","styles","FocalPointSettingsPanelMemo","focalPoint","onFocalPointChange","shouldEnableBottomSheetScroll","url","navigation","onButtonPress","action","goBack","draftFocalPoint","setDraftFocalPoint","setPosition","coordinates","prevState","createElement","style","safearea","DismissButton","onPress","Heading","ApplyButton","onChange","FocalPointSettingsPanel","props","route","params"],"sources":["@wordpress/components/src/mobile/focal-point-settings-panel/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { SafeAreaView } from 'react-native';\nimport { useRoute, useNavigation } from '@react-navigation/native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { memo, useContext, useState, useCallback } from '@wordpress/element';\nimport { BottomSheetContext, FocalPointPicker } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport NavBar from '../bottom-sheet/nav-bar';\nimport styles from './styles.scss';\n\nconst FocalPointSettingsPanelMemo = memo(\n\t( {\n\t\tfocalPoint,\n\t\tonFocalPointChange,\n\t\tshouldEnableBottomSheetScroll,\n\t\turl,\n\t} ) => {\n\t\tconst navigation = useNavigation();\n\n\t\tfunction onButtonPress( action ) {\n\t\t\tnavigation.goBack();\n\t\t\tif ( action === 'apply' ) {\n\t\t\t\tonFocalPointChange( draftFocalPoint );\n\t\t\t}\n\t\t}\n\n\t\tconst [ draftFocalPoint, setDraftFocalPoint ] = useState( focalPoint );\n\t\tfunction setPosition( coordinates ) {\n\t\t\tsetDraftFocalPoint( ( prevState ) => ( {\n\t\t\t\t...prevState,\n\t\t\t\t...coordinates,\n\t\t\t} ) );\n\t\t}\n\n\t\treturn (\n\t\t\t<SafeAreaView style={ styles.safearea }>\n\t\t\t\t<NavBar>\n\t\t\t\t\t<NavBar.DismissButton\n\t\t\t\t\t\tonPress={ () => onButtonPress( 'cancel' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<NavBar.Heading>\n\t\t\t\t\t\t{ __( 'Edit focal point' ) }\n\t\t\t\t\t</NavBar.Heading>\n\t\t\t\t\t<NavBar.ApplyButton\n\t\t\t\t\t\tonPress={ () => onButtonPress( 'apply' ) }\n\t\t\t\t\t/>\n\t\t\t\t</NavBar>\n\t\t\t\t<FocalPointPicker\n\t\t\t\t\tfocalPoint={ draftFocalPoint }\n\t\t\t\t\tonChange={ useCallback( setPosition, [] ) }\n\t\t\t\t\tshouldEnableBottomSheetScroll={\n\t\t\t\t\t\tshouldEnableBottomSheetScroll\n\t\t\t\t\t}\n\t\t\t\t\turl={ url }\n\t\t\t\t/>\n\t\t\t</SafeAreaView>\n\t\t);\n\t}\n);\n\nfunction FocalPointSettingsPanel( props ) {\n\tconst route = useRoute();\n\tconst { shouldEnableBottomSheetScroll } = useContext( BottomSheetContext );\n\n\treturn (\n\t\t<FocalPointSettingsPanelMemo\n\t\t\tshouldEnableBottomSheetScroll={ shouldEnableBottomSheetScroll }\n\t\t\t{ ...props }\n\t\t\t{ ...route.params }\n\t\t/>\n\t);\n}\n\nexport default FocalPointSettingsPanel;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,YAAY,QAAQ,cAAc;AAC3C,SAASC,QAAQ,EAAEC,aAAa,QAAQ,0BAA0B;;AAElE;AACA;AACA;AACA,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,IAAI,EAAEC,UAAU,EAAEC,QAAQ,EAAEC,WAAW,QAAQ,oBAAoB;AAC5E,SAASC,kBAAkB,EAAEC,gBAAgB,QAAQ,uBAAuB;;AAE5E;AACA;AACA;AACA,OAAOC,MAAM,MAAM,yBAAyB;AAC5C,OAAOC,MAAM,MAAM,eAAe;AAElC,MAAMC,2BAA2B,GAAGR,IAAI,CACvC,CAAE;EACDS,UAAU;EACVC,kBAAkB;EAClBC,6BAA6B;EAC7BC;AACD,CAAC,KAAM;EACN,MAAMC,UAAU,GAAGf,aAAa,CAAC,CAAC;EAElC,SAASgB,aAAaA,CAAEC,MAAM,EAAG;IAChCF,UAAU,CAACG,MAAM,CAAC,CAAC;IACnB,IAAKD,MAAM,KAAK,OAAO,EAAG;MACzBL,kBAAkB,CAAEO,eAAgB,CAAC;IACtC;EACD;EAEA,MAAM,CAAEA,eAAe,EAAEC,kBAAkB,CAAE,GAAGhB,QAAQ,CAAEO,UAAW,CAAC;EACtE,SAASU,WAAWA,CAAEC,WAAW,EAAG;IACnCF,kBAAkB,CAAIG,SAAS,KAAQ;MACtC,GAAGA,SAAS;MACZ,GAAGD;IACJ,CAAC,CAAG,CAAC;EACN;EAEA,OACCE,aAAA,CAAC1B,YAAY;IAAC2B,KAAK,EAAGhB,MAAM,CAACiB;EAAU,GACtCF,aAAA,CAAChB,MAAM,QACNgB,aAAA,CAAChB,MAAM,CAACmB,aAAa;IACpBC,OAAO,EAAGA,CAAA,KAAMZ,aAAa,CAAE,QAAS;EAAG,CAC3C,CAAC,EACFQ,aAAA,CAAChB,MAAM,CAACqB,OAAO,QACZ5B,EAAE,CAAE,kBAAmB,CACV,CAAC,EACjBuB,aAAA,CAAChB,MAAM,CAACsB,WAAW;IAClBF,OAAO,EAAGA,CAAA,KAAMZ,aAAa,CAAE,OAAQ;EAAG,CAC1C,CACM,CAAC,EACTQ,aAAA,CAACjB,gBAAgB;IAChBI,UAAU,EAAGQ,eAAiB;IAC9BY,QAAQ,EAAG1B,WAAW,CAAEgB,WAAW,EAAE,EAAG,CAAG;IAC3CR,6BAA6B,EAC5BA,6BACA;IACDC,GAAG,EAAGA;EAAK,CACX,CACY,CAAC;AAEjB,CACD,CAAC;AAED,SAASkB,uBAAuBA,CAAEC,KAAK,EAAG;EACzC,MAAMC,KAAK,GAAGnC,QAAQ,CAAC,CAAC;EACxB,MAAM;IAAEc;EAA8B,CAAC,GAAGV,UAAU,CAAEG,kBAAmB,CAAC;EAE1E,OACCkB,aAAA,CAACd,2BAA2B;IAC3BG,6BAA6B,EAAGA,6BAA+B;IAAA,GAC1DoB,KAAK;IAAA,GACLC,KAAK,CAACC;EAAM,CACjB,CAAC;AAEJ;AAEA,eAAeH,uBAAuB"}