+ return true;
+ };
+
+ isAnySelected = (): boolean => {
+ const { checkedList } = this.props;
+ if (!Object.keys(checkedList).length) return false;
+ for (const key in checkedList) {
+ if (checkedList[key] === true) return true;
+ }
+ return false;
+ };
+
+ handleSelectOne = (uuid: string): void => {
+ const { checkedList } = this.props;
+ const newCheckedList = { ...checkedList };
+ newCheckedList[uuid] = !checkedList[uuid];
+ this.setState({ isSelected: this.isAllSelected(newCheckedList) });
+ this.props.setCheckedListOnStore(newCheckedList);
+ };
+
+ handleSelectorSelect = (): void => {
+ const { checkedList } = this.props;
+ const { isSelected } = this.state;
+ isSelected ? this.handleSelectNone(checkedList) : this.handleSelectAll(checkedList);
+ };
+
+ handleSelectAll = (list: TCheckedList): void => {
+ if (Object.keys(list).length) {
+ const newCheckedList = { ...list };
+ for (const key in newCheckedList) {
+ newCheckedList[key] = true;
+ }
+ this.setState({ isSelected: true });
+ this.props.setCheckedListOnStore(newCheckedList);
+ }
+ };
+
+ handleSelectNone = (list: TCheckedList): void => {
+ const newCheckedList = { ...list };
+ for (const key in newCheckedList) {
+ newCheckedList[key] = false;
+ }
+ this.setState({ isSelected: false });
+ this.props.setCheckedListOnStore(newCheckedList);
+ };
+
+ handleInvertSelect = (list: TCheckedList): void => {
+ if (Object.keys(list).length) {
+ const newCheckedList = { ...list };
+ for (const key in newCheckedList) {
+ newCheckedList[key] = !list[key];
+ }
+ this.setState({ isSelected: this.isAllSelected(newCheckedList) });
+ this.props.setCheckedListOnStore(newCheckedList);
+ }
+ };
+