Browse Source

remove defaultProps

czhen 4 years ago
parent
commit
742e35768f

+ 2 - 10
client/src/components/advancedSearch/Condition.tsx

@@ -48,9 +48,9 @@ const Condition: FC<ConditionProps> = props => {
     onDelete,
     triggerChange,
     fields = [],
-    id,
+    id = '',
     initData,
-    className,
+    className = '',
     ...others
   } = props;
   const [operator, setOperator] = useState(
@@ -164,14 +164,6 @@ const Condition: FC<ConditionProps> = props => {
   );
 };
 
-Condition.defaultProps = {
-  onDelete: () => {},
-  triggerChange: () => {},
-  fields: [],
-  id: '',
-  className: '',
-};
-
 Condition.displayName = 'Condition';
 
 const useStyles = makeStyles((theme: Theme) =>

+ 5 - 5
client/src/components/advancedSearch/ConditionGroup.tsx

@@ -57,7 +57,11 @@ const AddCondition: FC<AddConditionProps> = props => {
 
 // Condition group component which contains of BinaryLogicalOp, AddCondition and ConditionItem.
 const ConditionGroup = (props: ConditionGroupProps) => {
-  const { fields, handleConditions, conditions: flatConditions } = props;
+  const {
+    fields = [],
+    handleConditions = {},
+    conditions: flatConditions = [],
+  } = props;
   const {
     addCondition,
     removeCondition,
@@ -173,10 +177,6 @@ const ConditionGroup = (props: ConditionGroupProps) => {
   );
 };
 
-ConditionGroup.defaultProps = {
-  fields: [],
-};
-
 ConditionGroup.displayName = 'ConditionGroup';
 
 const useStyles = makeStyles((theme: Theme) =>

+ 7 - 6
client/src/components/advancedSearch/CopyButton.tsx

@@ -7,7 +7,13 @@ import CustomIconButton from '../customButton/CustomIconButton';
 const CopyIcon = icons.copyExpression;
 
 const CopyButton: FC<CopyButtonProps> = props => {
-  const { label, icon, className, value, ...others } = props;
+  const {
+    label = 'copy button',
+    icon,
+    className,
+    value = '',
+    ...others
+  } = props;
   const classes = useStyles();
   const [tooltipTitle, setTooltipTitle] = useState('Copy');
 
@@ -32,11 +38,6 @@ const CopyButton: FC<CopyButtonProps> = props => {
   );
 };
 
-CopyButton.defaultProps = {
-  label: 'copy button',
-  value: '',
-};
-
 CopyButton.displayName = 'CopyButton';
 
 const useStyles = makeStyles((theme: Theme) =>

+ 7 - 21
client/src/components/advancedSearch/Dialog.tsx

@@ -20,17 +20,17 @@ import { DialogProps } from './Types';
 
 const AdvancedDialog = (props: DialogProps) => {
   const {
-    open,
+    open = false,
     onClose,
     onSubmit,
     onReset,
     onCancel,
-    handleConditions,
-    conditions: flatConditions,
-    isLegal,
-    expression: filterExpression,
-    title,
-    fields,
+    handleConditions = {},
+    conditions: flatConditions = [],
+    isLegal = false,
+    expression: filterExpression = '',
+    title = 'Advanced Filter',
+    fields = [],
     ...others
   } = props;
   const { addCondition } = handleConditions;
@@ -158,20 +158,6 @@ const AdvancedDialog = (props: DialogProps) => {
   );
 };
 
-AdvancedDialog.defaultProps = {
-  open: false,
-  onClose: () => {},
-  onSubmit: () => {},
-  title: 'Advanced Filter',
-  fields: [],
-  onReset: () => {},
-  onCancel: () => {},
-  handleConditions: {},
-  conditions: [],
-  isLegal: false,
-  expression: '',
-};
-
 AdvancedDialog.displayName = 'AdvancedDialog';
 
 const useStyles = makeStyles((theme: Theme) =>

+ 5 - 13
client/src/components/advancedSearch/Filter.tsx

@@ -14,12 +14,12 @@ import { generateIdByHash } from '../../utils/Common';
 
 const Filter = function Filter(props: FilterProps) {
   const {
-    title,
-    showTitle,
-    className,
-    tooltipPlacement,
+    title = 'title',
+    showTitle = true,
+    className = '',
+    tooltipPlacement = 'top',
     onSubmit,
-    fields,
+    fields = [],
     ...others
   } = props;
   const classes = useStyles();
@@ -295,14 +295,6 @@ const Filter = function Filter(props: FilterProps) {
   );
 };
 
-Filter.defaultProps = {
-  className: '',
-  showTitle: true,
-  tooltipPlacement: 'top',
-  fields: [],
-  onSubmit: () => {},
-};
-
 Filter.displayName = 'AdvancedFilter';
 
 const useStyles = makeStyles((theme: Theme) =>