@@ -19,11 +19,18 @@ import {store} from '../store';
1919import ModulesList from './ModulesList' ;
2020import Dropdown from './Dropdown' ;
2121
22- const SIZE_SWITCH_ITEMS = [
23- { label : 'Stat' , prop : 'statSize' } ,
24- { label : 'Parsed' , prop : 'parsedSize' } ,
25- { label : 'Gzipped' , prop : 'gzipSize' }
26- ] ;
22+ function getSizeSwitchItems ( ) {
23+ const items = [
24+ { label : 'Stat' , prop : 'statSize' } ,
25+ { label : 'Parsed' , prop : 'parsedSize' }
26+ ] ;
27+
28+ if ( window . compressionAlgorithm === 'gzip' ) items . push ( { label : 'Gzipped' , prop : 'gzipSize' } ) ;
29+
30+ if ( window . compressionAlgorithm === 'brotli' ) items . push ( { label : 'Brotli' , prop : 'brotliSize' } ) ;
31+
32+ return items ;
33+ } ;
2734
2835@observer
2936export default class ModulesTreemap extends Component {
@@ -144,7 +151,7 @@ export default class ModulesTreemap extends Component {
144151 renderModuleSize ( module , sizeType ) {
145152 const sizeProp = `${ sizeType } Size` ;
146153 const size = module [ sizeProp ] ;
147- const sizeLabel = SIZE_SWITCH_ITEMS . find ( item => item . prop === sizeProp ) . label ;
154+ const sizeLabel = getSizeSwitchItems ( ) . find ( item => item . prop === sizeProp ) . label ;
148155 const isActive = ( store . activeSize === sizeProp ) ;
149156
150157 return ( typeof size === 'number' ) ?
@@ -168,7 +175,7 @@ export default class ModulesTreemap extends Component {
168175 } ;
169176
170177 @computed get sizeSwitchItems ( ) {
171- return store . hasParsedSizes ? SIZE_SWITCH_ITEMS : SIZE_SWITCH_ITEMS . slice ( 0 , 1 ) ;
178+ return store . hasParsedSizes ? getSizeSwitchItems ( ) : getSizeSwitchItems ( ) . slice ( 0 , 1 ) ;
172179 }
173180
174181 @computed get activeSizeItem ( ) {
@@ -331,7 +338,7 @@ export default class ModulesTreemap extends Component {
331338 < br />
332339 { this . renderModuleSize ( module , 'stat' ) }
333340 { ! module . inaccurateSizes && this . renderModuleSize ( module , 'parsed' ) }
334- { ! module . inaccurateSizes && this . renderModuleSize ( module , 'gzip' ) }
341+ { ! module . inaccurateSizes && this . renderModuleSize ( module , window . compressionAlgorithm ) }
335342 { module . path &&
336343 < div > Path: < strong > { module . path } </ strong > </ div >
337344 }
0 commit comments