|
|
@@ -5,10 +5,18 @@ import './drillList.less'
|
|
|
|
|
|
const DrillList = ({ className, list, value, onChange }) => {
|
|
|
let newValue = value.map(v => v);
|
|
|
- const nOptions = list.filter(l => l.type === 'time' || !value.find(vi => vi.column.value === l.name));
|
|
|
+ let nOptions = list.filter(l => l.type === 'time' || !value.find(vi => vi.column.value === l.name));
|
|
|
+ nOptions = nOptions.map(o => o.type === 'time' ? {
|
|
|
+ ...o,
|
|
|
+ granularityList: value.filter(fv => fv.column.value === o.name).map(mv => mv.granularity.value)
|
|
|
+ } : o);
|
|
|
return <div className={`drill-list ${className || ''}`}>
|
|
|
{value.map((v, i) => {
|
|
|
- const options = list.filter(l => l.type === 'time' || !value.find(vi => vi.column.value !== v.column.value && vi.column.value === l.name));
|
|
|
+ let options = list.filter(l => l.type === 'time' || !value.find(vi => vi.column.value !== v.column.value && vi.column.value === l.name));
|
|
|
+ options = options.map(o => o.type === 'time' ? {
|
|
|
+ ...o,
|
|
|
+ granularityList: value.filter(fv => fv.column.value === o.name && fv.granularity.value !== v.granularity.value).map(mv => mv.granularity.value)
|
|
|
+ } : o);
|
|
|
return <Row key={i}>
|
|
|
<Col span={20}>
|
|
|
<XAxisItem value={v} allowClear={false} disabled={i === 0} options={options} onChange={v => {
|