File tree Expand file tree Collapse file tree 1 file changed +47
-3
lines changed
src/components/editor/operator/sheet/sheetOperator/toolBox Expand file tree Collapse file tree 1 file changed +47
-3
lines changed Original file line number Diff line number Diff line change 1
- export interface MutipleSelectProp {
2
-
3
- }
1
+ import { Button } from '@blueprintjs/core'
2
+
3
+ import { FC , useMemo } from 'react'
4
+
5
+ import { useSheet } from '../../SheetProvider'
6
+ import { useOperatorFilterProvider } from '../SheetOperatorFilterProvider'
7
+
8
+ export interface MutipleSelectProp { }
9
+
10
+ export const MutipleSelect : FC < MutipleSelectProp > = ( ) => {
11
+ const {
12
+ operatorFiltered : { data : operatorFilteredData } ,
13
+ } = useOperatorFilterProvider ( )
14
+ const { existedOperators } = useSheet ( )
15
+
16
+ const { cancelAllDisabled, selectAllDisabled } = useMemo ( ( ) => {
17
+ console . log ( '111' )
18
+ const existedOperatorsNames = existedOperators . map ( ( { name } ) => name )
19
+ return {
20
+ cancelAllDisabled : ! operatorFilteredData . some ( ( { name } ) =>
21
+ existedOperatorsNames . includes ( name ) ,
22
+ ) ,
23
+ selectAllDisabled : operatorFilteredData . every ( ( { name } ) =>
24
+ existedOperatorsNames . includes ( name ) ,
25
+ ) ,
26
+ }
27
+ } , [ existedOperators , operatorFilteredData ] )
28
+
29
+ return (
30
+ < div className = "flex justify-center content-center" >
31
+ < Button
32
+ minimal
33
+ icon = "circle"
34
+ disabled = { cancelAllDisabled }
35
+ title = { `取消选择全部${ existedOperators . length } 位干员` }
36
+ onClick = { cancelAll }
37
+ />
38
+ < Button
39
+ minimal
40
+ icon = "selection"
41
+ title = { `全选${ operatorFilteredData . length } 位干员` }
42
+ disabled = { selectAllDisabled }
43
+ onClick = { selectAll }
44
+ />
45
+ </ div >
46
+ )
47
+ }
You can’t perform that action at this time.
0 commit comments