mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-12 20:51:48 +00:00
38 lines
1.1 KiB
TypeScript
38 lines
1.1 KiB
TypeScript
import { ISemantic } from '../data';
|
|
import { useState, useEffect } from 'react';
|
|
import { useModel } from '@umijs/max';
|
|
|
|
export default function Domain() {
|
|
const [selectDomain, setSelectDomain] = useState<ISemantic.IDomainItem>(
|
|
{} as ISemantic.IDomainItem,
|
|
);
|
|
const [selectDataSet, setSelectDataSet] = useState<ISemantic.IDatasetItem>();
|
|
const [domainList, setDomainList] = useState<ISemantic.IDomainItem[]>([]);
|
|
|
|
const modelModel = useModel('SemanticModel.modelData');
|
|
const metricModel = useModel('SemanticModel.metricData');
|
|
const dimensionModel = useModel('SemanticModel.dimensionData');
|
|
|
|
const { setSelectModel } = modelModel;
|
|
const { setSelectDimension } = dimensionModel;
|
|
const { setSelectMetric } = metricModel;
|
|
|
|
useEffect(() => {
|
|
setSelectModel(undefined);
|
|
setSelectDimension(undefined);
|
|
setSelectMetric(undefined);
|
|
setSelectDataSet(undefined);
|
|
}, [selectDomain]);
|
|
|
|
return {
|
|
selectDomain,
|
|
selectDataSet,
|
|
selectDomainId: selectDomain?.id,
|
|
selectDomainName: selectDomain?.name,
|
|
domainList,
|
|
setSelectDomain,
|
|
setSelectDataSet,
|
|
setDomainList,
|
|
};
|
|
}
|