11import React from 'react' ;
22import { orderBy } from 'lodash-es' ;
3- import { inject , observer } from 'app/componentConnectors ' ;
3+ import { useOvermind } from 'app/overmind ' ;
44import { Overlay as OverlayComponent } from 'app/components/Overlay' ;
55import { Container , TemplatesName , OverlayContainer } from './elements' ;
66import { Option } from './Option' ;
77import { ITemplate } from '../../types' ;
88
9- interface Props {
9+ interface IFilterOptionsProps {
1010 possibleTemplates : ITemplate [ ] ;
1111 hideFilters ?: boolean ;
12- store ?: any ;
13- signals ?: any ;
1412}
1513
16- const FilterOptionsComponent = ( {
14+ const FilterOptionsComponent : React . FC < IFilterOptionsProps > = ( {
1715 possibleTemplates,
1816 hideFilters,
19- store,
20- signals,
21- } : Props ) => {
17+ } : IFilterOptionsProps ) => {
18+ const {
19+ state : {
20+ dashboard : { isTemplateSelected, filters } ,
21+ } ,
22+ actions : {
23+ dashboard : {
24+ blacklistedTemplateAdded,
25+ blacklistedTemplateRemoved,
26+ blacklistedTemplatesCleared,
27+ blacklistedTemplatesChanged,
28+ } ,
29+ } ,
30+ } = useOvermind ( ) ;
31+
2232 const toggleTemplate = ( name : string , select : boolean ) =>
2333 select
24- ? signals . dashboard . blacklistedTemplateRemoved ( {
34+ ? blacklistedTemplateRemoved ( {
2535 template : name ,
2636 } )
27- : signals . dashboard . blacklistedTemplateAdded ( {
37+ : blacklistedTemplateAdded ( {
2838 template : name ,
2939 } ) ;
3040
31- const allSelected = possibleTemplates . every ( t =>
32- store . dashboard . isTemplateSelected ( t . id )
33- ) ;
41+ const allSelected = possibleTemplates . every ( t => isTemplateSelected ( t . id ) ) ;
3442
3543 const Overlay = ( ) => (
3644 < OverlayContainer >
3745 { possibleTemplates . length > 0 ? (
3846 < >
3947 { orderBy ( possibleTemplates , 'niceName' ) . map ( template => {
40- const selected = store . dashboard . isTemplateSelected ( template . id ) ;
48+ const selected = isTemplateSelected ( template . id ) ;
4149
4250 return (
4351 < Option
@@ -54,9 +62,9 @@ const FilterOptionsComponent = ({
5462 < Option
5563 toggleTemplate = { ( ) => {
5664 if ( ! allSelected ) {
57- signals . dashboard . blacklistedTemplatesCleared ( ) ;
65+ blacklistedTemplatesCleared ( ) ;
5866 } else {
59- signals . dashboard . blacklistedTemplatesChanged ( {
67+ blacklistedTemplatesChanged ( {
6068 templates : possibleTemplates . map ( t => t . id ) || [ ] ,
6169 } ) ;
6270 }
@@ -74,7 +82,7 @@ const FilterOptionsComponent = ({
7482 </ OverlayContainer >
7583 ) ;
7684
77- const { blacklistedTemplates } = store . dashboard . filters ;
85+ const { blacklistedTemplates } = filters ;
7886 const templateCount = possibleTemplates . length - blacklistedTemplates . length ;
7987 const templateMessage =
8088 templateCount === possibleTemplates . length && templateCount > 0
@@ -95,6 +103,4 @@ const FilterOptionsComponent = ({
95103 ) ;
96104} ;
97105
98- export const FilterOptions = inject ( 'store' , 'signals' ) (
99- observer ( FilterOptionsComponent )
100- ) ;
106+ export const FilterOptions = FilterOptionsComponent ;
0 commit comments