diff --git a/README.md b/README.md
index d05b313..2e492dd 100644
--- a/README.md
+++ b/README.md
@@ -58,8 +58,10 @@ or your own icons by specifying as so:
SortDesc: ,
Unsorted: ,
Loading: ,
+ CheckboxChecked: ,
+ CheckboxUnchecked: ,
}}
/>
```
-Unspecified icons will not show.
+Unspecified icons will not show (excl. RemoveFavourite, SortAsc, SortDesc, CheckboxChecked, CheckboxUnchecked).
diff --git a/src/ObjectList.js b/src/ObjectList.js
index beffaf1..5dbbf67 100644
--- a/src/ObjectList.js
+++ b/src/ObjectList.js
@@ -94,6 +94,8 @@ class ObjectList extends Component {
SortDesc: PropTypes.element,
Unsorted: PropTypes.element,
Loading: PropTypes.element,
+ CheckboxChecked: PropTypes.element,
+ CheckboxUnchecked: PropTypes.element,
}),
}
diff --git a/src/actions-filters/ActionsFiltersContainer.js b/src/actions-filters/ActionsFiltersContainer.js
index b96ec40..12807df 100644
--- a/src/actions-filters/ActionsFiltersContainer.js
+++ b/src/actions-filters/ActionsFiltersContainer.js
@@ -202,6 +202,8 @@ class ActionsFilterContainer extends Component {
OpenIcon={icons.DropdownOpen}
CloseIcon={icons.DropdownClose}
OptionalFieldsIcon={icons.OptionalFields}
+ CheckboxCheckedIcon={icons.CheckboxChecked}
+ CheckboxUnCheckedIcon={icons.CheckboxUnchecked}
/>
diff --git a/src/actions-filters/OptionalField.js b/src/actions-filters/OptionalField.js
index 960b117..6a3015b 100644
--- a/src/actions-filters/OptionalField.js
+++ b/src/actions-filters/OptionalField.js
@@ -14,10 +14,16 @@ export default class OptionalField extends React.Component {
enabled: PropTypes.bool,
/** the display text for the field */
name: PropTypes.string,
+ /** Icon to display when a field is enabled */
+ CheckboxCheckedIcon: PropTypes.element,
+ /** Icon to display when a field is not enabled */
+ CheckboxUnCheckedIcon: PropTypes.element,
}
static defaultProps = {
enabled: false,
+ CheckboxCheckedIcon: ☑,
+ CheckboxUnCheckedIcon: ☐,
}
/**
@@ -31,15 +37,11 @@ export default class OptionalField extends React.Component {
}
render() {
- let checked
- if (this.props.enabled) {
- checked = ()
- } else {
- checked = ()
- }
+ const {enabled, CheckboxCheckedIcon, CheckboxUnCheckedIcon, name} = this.props
+ const checked = enabled ? CheckboxCheckedIcon : CheckboxUnCheckedIcon
return (
)
}
diff --git a/src/actions-filters/OptionalFields.js b/src/actions-filters/OptionalFields.js
index 7895934..317af47 100644
--- a/src/actions-filters/OptionalFields.js
+++ b/src/actions-filters/OptionalFields.js
@@ -17,6 +17,10 @@ class OptionalFields extends Component {
OpenIcon: PropTypes.element,
/** Icon to click to close optional fields dropdown */
CloseIcon: PropTypes.element,
+ /** Icon to display when a field is enabled */
+ CheckboxCheckedIcon: PropTypes.element,
+ /** Icon to display when a field is not enabled */
+ CheckboxUnCheckedIcon: PropTypes.element,
}
static defaultProps = {
@@ -75,7 +79,7 @@ class OptionalFields extends Component {
}
_renderOptionalFieldsArray = (optionalFields, prepend) => {
- const {extraColumns, updateColumns} = this.props
+ const {extraColumns, updateColumns, CheckboxCheckedIcon, CheckboxUnCheckedIcon} = this.props
const fields = Array.isArray(optionalFields) ? optionalFields : [optionalFields]
return fields.map(field => {
const spacer = prepend.length > 0 ? ' ' : ''
@@ -86,6 +90,8 @@ class OptionalFields extends Component {
fieldKey={field.fieldKey}
name={`${prepend}${spacer}${(field.displayName || field.header)}`}
className="objectlist-dropdown__item"
+ CheckboxCheckedIcon={CheckboxCheckedIcon}
+ CheckboxUnCheckedIcon={CheckboxUnCheckedIcon}
/>
})
}
diff --git a/src/icons/FontAwesome.js b/src/icons/FontAwesome.js
index 1b46edb..4d8e502 100644
--- a/src/icons/FontAwesome.js
+++ b/src/icons/FontAwesome.js
@@ -31,30 +31,34 @@ const FontAwesomeIcons = (majorVersion = 4) => {
case 4:
IsFontAwesomeLoaded(4)
return {
- OptionalFields: ,
- Favourites: ,
- RemoveFavourite: ,
- RemoveFilter: ,
- DropdownOpen: ,
- DropdownClose: ,
- SortAsc: ,
- SortDesc: ,
- Unsorted: ,
- Loading: ,
+ OptionalFields: ,
+ Favourites: ,
+ RemoveFavourite: ,
+ RemoveFilter: ,
+ DropdownOpen: ,
+ DropdownClose: ,
+ SortAsc: ,
+ SortDesc: ,
+ Unsorted: ,
+ Loading: ,
+ CheckboxChecked: ,
+ CheckboxUnchecked: ,
}
case 5:
IsFontAwesomeLoaded(5)
return {
- OptionalFields: ,
- Favourites: ,
- RemoveFavourite: ,
- RemoveFilter: ,
- DropdownOpen: ,
- DropdownClose: ,
- SortAsc: ,
- SortDesc: ,
- Unsorted: ,
- Loading: ,
+ OptionalFields: ,
+ Favourites: ,
+ RemoveFavourite: ,
+ RemoveFilter: ,
+ DropdownOpen: ,
+ DropdownClose: ,
+ SortAsc: ,
+ SortDesc: ,
+ Unsorted: ,
+ Loading: ,
+ CheckboxChecked: ,
+ CheckboxUnchecked: ,
}
default:
console.warn(