Просмотр исходного кода

add null check toonChangeDropdownItem

kaori 5 лет назад
Родитель
Сommit
a6c8d6477b

+ 4 - 4
src/client/js/components/Admin/Customize/CustomizeFunctionSetting.jsx

@@ -86,28 +86,28 @@ class CustomizeFunctionSetting extends React.Component {
               desc="admin:customize_setting.function_options.list_num_desc_s"
               desc="admin:customize_setting.function_options.list_num_desc_s"
               toggleLabel={adminCustomizeContainer.state.pageLimitationS}
               toggleLabel={adminCustomizeContainer.state.pageLimitationS}
               dropdownItemSize={[10, 20, 50, 100]}
               dropdownItemSize={[10, 20, 50, 100]}
-              dropdownItemOnClickHandler={adminCustomizeContainer.switchPageListLimitationS}
+              onChangeDropdownItem={adminCustomizeContainer.switchPageListLimitationS}
             />
             />
             <PagingSizeUncontrolledDropdown
             <PagingSizeUncontrolledDropdown
               label="admin:customize_setting.function_options.list_num_m"
               label="admin:customize_setting.function_options.list_num_m"
               desc="admin:customize_setting.function_options.list_num_desc_m"
               desc="admin:customize_setting.function_options.list_num_desc_m"
               toggleLabel={adminCustomizeContainer.state.pageLimitationM}
               toggleLabel={adminCustomizeContainer.state.pageLimitationM}
               dropdownItemSize={[5, 10, 20, 50, 100]}
               dropdownItemSize={[5, 10, 20, 50, 100]}
-              dropdownItemOnClickHandler={adminCustomizeContainer.switchPageListLimitationM}
+              onChangeDropdownItem={adminCustomizeContainer.switchPageListLimitationM}
             />
             />
             <PagingSizeUncontrolledDropdown
             <PagingSizeUncontrolledDropdown
               label="admin:customize_setting.function_options.list_num_l"
               label="admin:customize_setting.function_options.list_num_l"
               desc="admin:customize_setting.function_options.list_num_desc_l"
               desc="admin:customize_setting.function_options.list_num_desc_l"
               toggleLabel={adminCustomizeContainer.state.pageLimitationL}
               toggleLabel={adminCustomizeContainer.state.pageLimitationL}
               dropdownItemSize={[20, 50, 100, 200]}
               dropdownItemSize={[20, 50, 100, 200]}
-              dropdownItemOnClickHandler={adminCustomizeContainer.switchPageListLimitationL}
+              onChangeDropdownItem={adminCustomizeContainer.switchPageListLimitationL}
             />
             />
             <PagingSizeUncontrolledDropdown
             <PagingSizeUncontrolledDropdown
               label="admin:customize_setting.function_options.list_num_xl"
               label="admin:customize_setting.function_options.list_num_xl"
               desc="admin:customize_setting.function_options.list_num_desc_xl"
               desc="admin:customize_setting.function_options.list_num_desc_xl"
               toggleLabel={adminCustomizeContainer.state.pageLimitationXL}
               toggleLabel={adminCustomizeContainer.state.pageLimitationXL}
               dropdownItemSize={[5, 10, 20, 50, 100]}
               dropdownItemSize={[5, 10, 20, 50, 100]}
-              dropdownItemOnClickHandler={adminCustomizeContainer.switchPageListLimitationXL}
+              onChangeDropdownItem={adminCustomizeContainer.switchPageListLimitationXL}
             />
             />
 
 
             <div className="form-group row">
             <div className="form-group row">

+ 9 - 2
src/client/js/components/Admin/Customize/PagingSizeUncontrolledDropdown.jsx

@@ -11,6 +11,13 @@ import { withUnstatedContainers } from '../../UnstatedUtils';
 const PagingSizeUncontrolledDropdown = (props) => {
 const PagingSizeUncontrolledDropdown = (props) => {
   const { t } = props;
   const { t } = props;
 
 
+  function dropdownItemOnClickHandler(num) {
+    if (props.onChangeDropdownItem === null) {
+      return;
+    }
+    props.onChangeDropdownItem(num);
+  }
+
   return (
   return (
     <React.Fragment>
     <React.Fragment>
       <div className="form-group row">
       <div className="form-group row">
@@ -25,7 +32,7 @@ const PagingSizeUncontrolledDropdown = (props) => {
             <DropdownMenu className="dropdown-menu" role="menu">
             <DropdownMenu className="dropdown-menu" role="menu">
               {props.dropdownItemSize.map((num) => {
               {props.dropdownItemSize.map((num) => {
                     return (
                     return (
-                      <DropdownItem key={num} role="presentation" onClick={() => { props.dropdownItemOnClickHandler(num) }}>
+                      <DropdownItem key={num} role="presentation" onClick={() => dropdownItemOnClickHandler(num)}>
                         <a role="menuitem">{num}</a>
                         <a role="menuitem">{num}</a>
                       </DropdownItem>
                       </DropdownItem>
                     );
                     );
@@ -51,7 +58,7 @@ PagingSizeUncontrolledDropdown.propTypes = {
   toggleLabel: PropTypes.number,
   toggleLabel: PropTypes.number,
   dropdownItemSize: PropTypes.array,
   dropdownItemSize: PropTypes.array,
   desc: PropTypes.string,
   desc: PropTypes.string,
-  dropdownItemOnClickHandler: PropTypes.func,
+  onChangeDropdownItem: PropTypes.func,
 };
 };
 
 
 export default withTranslation()(PagingSizeUncontrolledDropdownWrapper);
 export default withTranslation()(PagingSizeUncontrolledDropdownWrapper);