YANG QIA f82b466aaa
feat(bi): allow to use variables in query filter (#2609)
* chore: rearrange hooks

* chore: allow parse filter from params.values

* feat: support use variables when using chart filter

* refactor: improve query code by composing process middlwares

* chore: `$date` -> `$nDate`
2023-09-07 23:27:59 +08:00

25 lines
1.2 KiB
TypeScript

import { SchemaInitializerButtonContext, useDesignable } from '@nocobase/client';
import React, { useState } from 'react';
import { ChartRendererProvider } from '../renderer';
import { ChartConfigContext, ChartConfigCurrent, ChartConfigure } from '../configure/ChartConfigure';
export const ChartV2Block: React.FC = (props) => {
const { insertAdjacent } = useDesignable();
const [visible, setVisible] = useState(false);
const [current, setCurrent] = useState<ChartConfigCurrent>({} as any);
const [initialVisible, setInitialVisible] = useState(false);
const [searchValue, setSearchValue] = useState('');
return (
<SchemaInitializerButtonContext.Provider
value={{ visible: initialVisible, setVisible: setInitialVisible, searchValue, setSearchValue }}
>
<ChartConfigContext.Provider value={{ visible, setVisible, current, setCurrent }}>
{props.children}
<ChartRendererProvider {...current.field?.decoratorProps}>
<ChartConfigure insert={(schema, options) => insertAdjacent('beforeEnd', schema, options)} />
</ChartRendererProvider>
</ChartConfigContext.Provider>
</SchemaInitializerButtonContext.Provider>
);
};