@cdc/map 4.23.4 → 4.23.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdcmap.js +25003 -29171
- package/examples/example-city-state.json +3 -3
- package/package.json +3 -3
- package/src/CdcMap.jsx +148 -57
- package/src/components/CountyMap.jsx +1 -1
- package/src/components/DataTable.jsx +185 -218
- package/src/components/EditorPanel.jsx +43 -38
- package/src/data/initial-state.js +10 -6
|
@@ -70,7 +70,7 @@ const TextField = ({ label, section = null, subsection = null, fieldName, update
|
|
|
70
70
|
const EditorPanel = props => {
|
|
71
71
|
const { state, columnsInData = [], loadConfig, setState, isDashboard, setParentConfig, runtimeFilters, runtimeLegend, changeFilterActive, isDebug, setRuntimeFilters } = props
|
|
72
72
|
|
|
73
|
-
const { general, columns, legend,
|
|
73
|
+
const { general, columns, legend, table, tooltips } = state
|
|
74
74
|
|
|
75
75
|
const [requiredColumns, setRequiredColumns] = useState(null) // Simple state so we know if we need more information before parsing the map
|
|
76
76
|
|
|
@@ -287,9 +287,9 @@ const EditorPanel = props => {
|
|
|
287
287
|
case 'expandDataTable':
|
|
288
288
|
setState({
|
|
289
289
|
...state,
|
|
290
|
-
|
|
291
|
-
...state.
|
|
292
|
-
|
|
290
|
+
table: {
|
|
291
|
+
...state.table,
|
|
292
|
+
expanded: value
|
|
293
293
|
}
|
|
294
294
|
})
|
|
295
295
|
break
|
|
@@ -420,6 +420,11 @@ const EditorPanel = props => {
|
|
|
420
420
|
general: {
|
|
421
421
|
...state.general,
|
|
422
422
|
showDownloadButton: !state.general.showDownloadButton
|
|
423
|
+
},
|
|
424
|
+
table: {
|
|
425
|
+
// setting both bc DataTable new core needs it here
|
|
426
|
+
...state.table,
|
|
427
|
+
download: !state.general.showDownloadButton
|
|
423
428
|
}
|
|
424
429
|
})
|
|
425
430
|
break
|
|
@@ -539,8 +544,8 @@ const EditorPanel = props => {
|
|
|
539
544
|
geoType: 'us',
|
|
540
545
|
type: state.type === 'us-geocode' ? 'data' : state.type
|
|
541
546
|
},
|
|
542
|
-
|
|
543
|
-
...state.
|
|
547
|
+
table: {
|
|
548
|
+
...state.table,
|
|
544
549
|
forceDisplay: true
|
|
545
550
|
}
|
|
546
551
|
})
|
|
@@ -552,8 +557,8 @@ const EditorPanel = props => {
|
|
|
552
557
|
...state.general,
|
|
553
558
|
geoType: 'us-region'
|
|
554
559
|
},
|
|
555
|
-
|
|
556
|
-
...state.
|
|
560
|
+
table: {
|
|
561
|
+
...state.table,
|
|
557
562
|
forceDisplay: true
|
|
558
563
|
}
|
|
559
564
|
})
|
|
@@ -565,8 +570,8 @@ const EditorPanel = props => {
|
|
|
565
570
|
...state.general,
|
|
566
571
|
geoType: 'world'
|
|
567
572
|
},
|
|
568
|
-
|
|
569
|
-
...state.
|
|
573
|
+
table: {
|
|
574
|
+
...state.table,
|
|
570
575
|
forceDisplay: true
|
|
571
576
|
}
|
|
572
577
|
})
|
|
@@ -576,11 +581,11 @@ const EditorPanel = props => {
|
|
|
576
581
|
...state,
|
|
577
582
|
general: {
|
|
578
583
|
...state.general,
|
|
579
|
-
geoType: 'us-county'
|
|
580
|
-
expandDataTable: false
|
|
584
|
+
geoType: 'us-county'
|
|
581
585
|
},
|
|
582
|
-
|
|
583
|
-
...state.
|
|
586
|
+
table: {
|
|
587
|
+
...state.table,
|
|
588
|
+
expanded: false,
|
|
584
589
|
forceDisplay: true
|
|
585
590
|
}
|
|
586
591
|
})
|
|
@@ -590,11 +595,11 @@ const EditorPanel = props => {
|
|
|
590
595
|
...state,
|
|
591
596
|
general: {
|
|
592
597
|
...state.general,
|
|
593
|
-
geoType: 'single-state'
|
|
594
|
-
expandDataTable: false
|
|
598
|
+
geoType: 'single-state'
|
|
595
599
|
},
|
|
596
|
-
|
|
597
|
-
...state.
|
|
600
|
+
table: {
|
|
601
|
+
...state.table,
|
|
602
|
+
expanded: false,
|
|
598
603
|
forceDisplay: true
|
|
599
604
|
}
|
|
600
605
|
})
|
|
@@ -698,8 +703,8 @@ const EditorPanel = props => {
|
|
|
698
703
|
case 'showDataTable':
|
|
699
704
|
setState({
|
|
700
705
|
...state,
|
|
701
|
-
|
|
702
|
-
...state.
|
|
706
|
+
table: {
|
|
707
|
+
...state.table,
|
|
703
708
|
forceDisplay: value
|
|
704
709
|
}
|
|
705
710
|
})
|
|
@@ -707,8 +712,8 @@ const EditorPanel = props => {
|
|
|
707
712
|
case 'limitDataTableHeight':
|
|
708
713
|
setState({
|
|
709
714
|
...state,
|
|
710
|
-
|
|
711
|
-
...state.
|
|
715
|
+
table: {
|
|
716
|
+
...state.table,
|
|
712
717
|
limitHeight: value
|
|
713
718
|
}
|
|
714
719
|
})
|
|
@@ -910,6 +915,7 @@ const EditorPanel = props => {
|
|
|
910
915
|
})
|
|
911
916
|
}
|
|
912
917
|
|
|
918
|
+
// just adds a new column but not set to any data yet
|
|
913
919
|
const addAdditionalColumn = number => {
|
|
914
920
|
const columnKey = `additionalColumn${number}`
|
|
915
921
|
|
|
@@ -1184,6 +1190,8 @@ const EditorPanel = props => {
|
|
|
1184
1190
|
const usedFilterColumns = {}
|
|
1185
1191
|
|
|
1186
1192
|
const filtersJSX = state.filters.map((filter, index) => {
|
|
1193
|
+
if (filter.type === 'url') return <></>
|
|
1194
|
+
|
|
1187
1195
|
if (filter.columnName) {
|
|
1188
1196
|
usedFilterColumns[filter.columnName] = true
|
|
1189
1197
|
}
|
|
@@ -1223,9 +1231,7 @@ const EditorPanel = props => {
|
|
|
1223
1231
|
</select>
|
|
1224
1232
|
</label>
|
|
1225
1233
|
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
{/* <label>
|
|
1234
|
+
<label>
|
|
1229
1235
|
<span className='edit-filterOrder column-heading'>Filter Style</span>
|
|
1230
1236
|
<select
|
|
1231
1237
|
value={filter.filterStyle}
|
|
@@ -1241,7 +1247,7 @@ const EditorPanel = props => {
|
|
|
1241
1247
|
)
|
|
1242
1248
|
})}
|
|
1243
1249
|
</select>
|
|
1244
|
-
</label>
|
|
1250
|
+
</label>
|
|
1245
1251
|
|
|
1246
1252
|
<label>
|
|
1247
1253
|
<span className='edit-filterOrder column-heading'>Filter Order</span>
|
|
@@ -2417,10 +2423,10 @@ const EditorPanel = props => {
|
|
|
2417
2423
|
</AccordionItemHeading>
|
|
2418
2424
|
<AccordionItemPanel>
|
|
2419
2425
|
<TextField
|
|
2420
|
-
value={
|
|
2426
|
+
value={table.label}
|
|
2421
2427
|
updateField={updateField}
|
|
2422
|
-
section='
|
|
2423
|
-
fieldName='
|
|
2428
|
+
section='table'
|
|
2429
|
+
fieldName='label'
|
|
2424
2430
|
id='dataTableTitle'
|
|
2425
2431
|
label='Data Table Title'
|
|
2426
2432
|
placeholder='Data Table'
|
|
@@ -2438,7 +2444,7 @@ const EditorPanel = props => {
|
|
|
2438
2444
|
<label className='checkbox'>
|
|
2439
2445
|
<input
|
|
2440
2446
|
type='checkbox'
|
|
2441
|
-
checked={state.
|
|
2447
|
+
checked={state.table.forceDisplay !== undefined ? state.table.forceDisplay : !isDashboard}
|
|
2442
2448
|
onChange={event => {
|
|
2443
2449
|
handleEditorChanges('showDataTable', event.target.checked)
|
|
2444
2450
|
}}
|
|
@@ -2456,9 +2462,9 @@ const EditorPanel = props => {
|
|
|
2456
2462
|
</span>
|
|
2457
2463
|
</label>
|
|
2458
2464
|
<TextField
|
|
2459
|
-
value={
|
|
2465
|
+
value={table.indexLabel || ''}
|
|
2460
2466
|
updateField={updateField}
|
|
2461
|
-
section='
|
|
2467
|
+
section='table'
|
|
2462
2468
|
fieldName='indexLabel'
|
|
2463
2469
|
label='Index Column Header'
|
|
2464
2470
|
placeholder='Location'
|
|
@@ -2474,9 +2480,9 @@ const EditorPanel = props => {
|
|
|
2474
2480
|
}
|
|
2475
2481
|
/>
|
|
2476
2482
|
<TextField
|
|
2477
|
-
value={
|
|
2483
|
+
value={state.table.caption}
|
|
2478
2484
|
updateField={updateField}
|
|
2479
|
-
section='
|
|
2485
|
+
section='table'
|
|
2480
2486
|
fieldName='caption'
|
|
2481
2487
|
label='Data Table Caption'
|
|
2482
2488
|
placeholder='Data Table'
|
|
@@ -2495,18 +2501,18 @@ const EditorPanel = props => {
|
|
|
2495
2501
|
<label className='checkbox'>
|
|
2496
2502
|
<input
|
|
2497
2503
|
type='checkbox'
|
|
2498
|
-
checked={state.
|
|
2504
|
+
checked={state.table.limitHeight}
|
|
2499
2505
|
onChange={event => {
|
|
2500
2506
|
handleEditorChanges('limitDataTableHeight', event.target.checked)
|
|
2501
2507
|
}}
|
|
2502
2508
|
/>
|
|
2503
2509
|
<span className='edit-label'>Limit Table Height</span>
|
|
2504
2510
|
</label>
|
|
2505
|
-
{state.
|
|
2511
|
+
{state.table.limitHeight && <TextField value={table.height} updateField={updateField} section='table' fieldName='height' label='Data Table Height' placeholder='Height(px)' type='number' min='0' max='500' />}
|
|
2506
2512
|
<label className='checkbox'>
|
|
2507
2513
|
<input
|
|
2508
2514
|
type='checkbox'
|
|
2509
|
-
checked={state.
|
|
2515
|
+
checked={state.table.expanded || false}
|
|
2510
2516
|
onChange={event => {
|
|
2511
2517
|
handleEditorChanges('expandDataTable', event.target.checked)
|
|
2512
2518
|
}}
|
|
@@ -2809,7 +2815,6 @@ const EditorPanel = props => {
|
|
|
2809
2815
|
))}
|
|
2810
2816
|
</AccordionItemPanel>
|
|
2811
2817
|
</AccordionItem>
|
|
2812
|
-
{/* HIDING FOR 4.23.4 */}
|
|
2813
2818
|
{/* <AccordionItem>
|
|
2814
2819
|
<AccordionItemHeading>
|
|
2815
2820
|
<AccordionItemButton>Custom Map Layers</AccordionItemButton>
|
|
@@ -5,7 +5,7 @@ export default {
|
|
|
5
5
|
title: '',
|
|
6
6
|
showTitle: true,
|
|
7
7
|
showSidebar: true,
|
|
8
|
-
showDownloadButton:
|
|
8
|
+
showDownloadButton: false,
|
|
9
9
|
showDownloadMediaButton: false,
|
|
10
10
|
displayAsHex: false,
|
|
11
11
|
displayStateLabels: false,
|
|
@@ -15,7 +15,6 @@ export default {
|
|
|
15
15
|
geoType: 'single-state',
|
|
16
16
|
geoLabelOverride: '',
|
|
17
17
|
hasRegions: false,
|
|
18
|
-
expandDataTable: true,
|
|
19
18
|
fullBorder: false,
|
|
20
19
|
type: 'data',
|
|
21
20
|
palette: {
|
|
@@ -62,12 +61,17 @@ export default {
|
|
|
62
61
|
title: 'Legend'
|
|
63
62
|
},
|
|
64
63
|
filters: [],
|
|
65
|
-
dataTable: {
|
|
66
|
-
title: 'Data Table'
|
|
67
|
-
},
|
|
68
64
|
table: {
|
|
65
|
+
label: 'Data Table',
|
|
66
|
+
expanded: false,
|
|
67
|
+
limitHeight: false,
|
|
68
|
+
height: '',
|
|
69
|
+
caption: '',
|
|
69
70
|
showDownloadUrl: false,
|
|
70
|
-
showDataTableLink: true
|
|
71
|
+
showDataTableLink: true,
|
|
72
|
+
forceDisplay: true,
|
|
73
|
+
download: false,
|
|
74
|
+
indexLabel: ''
|
|
71
75
|
},
|
|
72
76
|
tooltips: {
|
|
73
77
|
appearanceType: 'hover',
|