@platox/pivot-table 0.0.62 → 0.0.64

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.
@@ -77,6 +77,10 @@ const CustomData = ({
77
77
  startDateField: (_b = timeFieldOptions2 == null ? void 0 : timeFieldOptions2[0]) == null ? void 0 : _b.value,
78
78
  endDateField: (_c = timeFieldOptions2 == null ? void 0 : timeFieldOptions2[0]) == null ? void 0 : _c.value
79
79
  });
80
+ setCondition({
81
+ conditionList: [],
82
+ conditionType: "all"
83
+ });
80
84
  }
81
85
  debounceSubmit();
82
86
  });
@@ -1 +1 @@
1
- {"version":3,"file":"custome-data.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-calendar-modal/custome-data.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useEffect, useMemo, useRef, useState } from 'react'\nimport { Button, Divider, Form, Select } from 'antd'\nimport { useTranslation } from 'react-i18next'\nimport { useDebounceFn, useMemoizedFn } from 'ahooks'\nimport { ConditionListItem } from '@platox/pivot-table/components/add-module-modal/components/condition-modal/interface'\nimport { useAppContext } from '../../../context'\nimport { EnumDataApi } from '../../../types'\nimport { ModuleData } from '../../module-content'\nimport ConditionModal from '../components/condition-modal'\n\nexport type CalendarCustomeDataTypes = {\n dataSourceId?: string\n conditionData?: {\n conditionList: ConditionListItem[]\n conditionType: 'all' | 'any'\n }\n startDateField?: string\n endDateField?: string\n titleField: string\n}\n\ninterface CustomDataProps {\n selectModuleData?: ModuleData\n onAllValuesChange?: ((values: any) => void) | undefined\n enumDataApi?: EnumDataApi\n}\nconst CustomData: React.FC<CustomDataProps> = ({\n selectModuleData,\n onAllValuesChange,\n enumDataApi,\n}) => {\n /* ============================== split =============================== */\n const { globalData } = useAppContext()\n const { t } = useTranslation()\n\n /* ============================== split =============================== */\n const initialValues = {\n dataSourceId: '',\n startDateField: '',\n endDateField: '',\n titleField: '',\n }\n const [form] = Form.useForm()\n const dataSourceId = Form.useWatch('dataSourceId', form)\n\n const getDataSourceOption = useMemoizedFn(() => {\n // 产品约定过滤字段\n const filterField: string[] = ['customers', 'vendors', 'payees']\n let ret = (globalData?.sourceData ?? []).filter(v => {\n return !filterField.includes(v.value)\n })\n return ret\n })\n\n const dataSourceOptions = useMemo(() => {\n return getDataSourceOption()\n }, [globalData?.sourceData])\n\n const getFieldOptions = useMemoizedFn((dataSourceId?: string) => {\n const list = globalData?.sourceData?.find(item => item.value === dataSourceId)?.fields ?? []\n return list\n })\n const { fieldOptions, timeFieldOptions } = useMemo(() => {\n const fieldOptions = getFieldOptions(dataSourceId)\n const timeFieldOptions = fieldOptions?.filter(item => item.type === 'timestamp')\n return {\n fieldOptions,\n timeFieldOptions,\n }\n }, [dataSourceId])\n\n /* ============================== split =============================== */\n const [isModalOpen, setIsModalOpen] = useState(false)\n const conditionDataRef = useRef()\n const [conditionData, setConditionData] = useState<any>({\n conditionList: [],\n conditionType: 'all',\n })\n const [conditionDataNum, setConditionDataNum] = useState(0)\n\n const setCondition = (val: any) => {\n setConditionData(val)\n conditionDataRef.current = val\n setConditionDataNum(val?.conditionList?.length || 0)\n }\n\n /* ============================== split =============================== */\n // debounc 2个作用 一个默认值的设置会延后,另一个是防止多次请求\n const { run: debounceSubmit } = useDebounceFn(\n useMemoizedFn(() => {\n onAllValuesChange?.({\n ...form.getFieldsValue(),\n conditionData: conditionDataRef.current,\n })\n }),\n {\n wait: 100,\n }\n )\n\n const handleValuesChange = useMemoizedFn((changedValues, allValues) => {\n if (changedValues.dataSourceId) {\n const newFieldOptions = getFieldOptions(changedValues.dataSourceId)\n const timeFieldOptions = fieldOptions.filter(item => item.type === 'timestamp')\n form.setFieldsValue({\n titleField: newFieldOptions?.[0]?.value,\n startDateField: timeFieldOptions?.[0]?.value,\n endDateField: timeFieldOptions?.[0]?.value,\n })\n }\n\n debounceSubmit()\n })\n\n useEffect(() => {\n if (selectModuleData?.customData) {\n const customData = selectModuleData.customData\n form.setFieldsValue(customData)\n } else {\n const dataSourceOptions = getDataSourceOption()\n const dataSourceId = dataSourceOptions?.[0]?.value\n const fieldOptions = getFieldOptions(dataSourceId)\n const timeFieldOptions = fieldOptions.filter(item => item.type === 'timestamp')\n form.setFieldsValue({\n ...initialValues,\n dataSourceId: dataSourceId,\n titleField: fieldOptions?.[0]?.value,\n startDateField: timeFieldOptions?.[0].value,\n endDateField: timeFieldOptions?.[0].value,\n })\n debounceSubmit()\n }\n setCondition(selectModuleData?.customData?.conditionData)\n }, [selectModuleData, globalData])\n\n return (\n <>\n <Form\n form={form}\n name=\"customData\"\n labelCol={{ span: 8 }}\n wrapperCol={{ span: 16 }}\n labelAlign=\"left\"\n onValuesChange={handleValuesChange}\n initialValues={initialValues}\n >\n <div\n style={{\n fontSize: '14px',\n marginBottom: '5px',\n }}\n >\n {t('data')}\n </div>\n\n <Form.Item<CalendarCustomeDataTypes> label={t('dataSource')} name=\"dataSourceId\">\n <Select options={dataSourceOptions} />\n </Form.Item>\n\n <Form.Item<CalendarCustomeDataTypes> label={t('dataRange')}>\n <Button\n style={{ marginLeft: '-15px' }}\n onClick={() => {\n setIsModalOpen(true)\n }}\n type=\"link\"\n >\n {t('filterData')}\n </Button>\n {conditionDataNum > 0 ? `${t('selectNcondition', { n: conditionDataNum })}` : null}\n </Form.Item>\n\n <Divider orientation=\"left\" orientationMargin=\"0\">\n {t('calendar.t1')}\n </Divider>\n\n <Form.Item<CalendarCustomeDataTypes> label={t('calendar.t2')} name=\"startDateField\">\n <Select options={timeFieldOptions} />\n </Form.Item>\n\n <Form.Item<CalendarCustomeDataTypes> label={t('calendar.t3')} name=\"endDateField\">\n <Select options={timeFieldOptions} />\n </Form.Item>\n\n <Form.Item<CalendarCustomeDataTypes> label={t('calendar.t4')} name=\"titleField\">\n <Select options={fieldOptions} />\n </Form.Item>\n </Form>\n <ConditionModal\n open={isModalOpen}\n value={conditionData}\n fieldOptions={fieldOptions}\n enumDataApi={enumDataApi}\n onClose={() => {\n setIsModalOpen(false)\n }}\n onOk={val => {\n setCondition(val)\n debounceSubmit()\n }}\n />\n </>\n )\n}\nexport default CustomData\n"],"names":["dataSourceId","fieldOptions","timeFieldOptions","dataSourceOptions"],"mappings":"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"}
1
+ {"version":3,"file":"custome-data.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-calendar-modal/custome-data.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useEffect, useMemo, useRef, useState } from 'react'\nimport { Button, Divider, Form, Select } from 'antd'\nimport { useTranslation } from 'react-i18next'\nimport { useDebounceFn, useMemoizedFn } from 'ahooks'\nimport { ConditionListItem } from '@platox/pivot-table/components/add-module-modal/components/condition-modal/interface'\nimport { useAppContext } from '../../../context'\nimport { EnumDataApi } from '../../../types'\nimport { ModuleData } from '../../module-content'\nimport ConditionModal from '../components/condition-modal'\n\nexport type CalendarCustomeDataTypes = {\n dataSourceId?: string\n conditionData?: {\n conditionList: ConditionListItem[]\n conditionType: 'all' | 'any'\n }\n startDateField?: string\n endDateField?: string\n titleField: string\n}\n\ninterface CustomDataProps {\n selectModuleData?: ModuleData\n onAllValuesChange?: ((values: any) => void) | undefined\n enumDataApi?: EnumDataApi\n}\nconst CustomData: React.FC<CustomDataProps> = ({\n selectModuleData,\n onAllValuesChange,\n enumDataApi,\n}) => {\n /* ============================== split =============================== */\n const { globalData } = useAppContext()\n const { t } = useTranslation()\n\n /* ============================== split =============================== */\n const initialValues = {\n dataSourceId: '',\n startDateField: '',\n endDateField: '',\n titleField: '',\n }\n const [form] = Form.useForm()\n const dataSourceId = Form.useWatch('dataSourceId', form)\n\n const getDataSourceOption = useMemoizedFn(() => {\n // 产品约定过滤字段\n const filterField: string[] = ['customers', 'vendors', 'payees']\n let ret = (globalData?.sourceData ?? []).filter(v => {\n return !filterField.includes(v.value)\n })\n return ret\n })\n\n const dataSourceOptions = useMemo(() => {\n return getDataSourceOption()\n }, [globalData?.sourceData])\n\n const getFieldOptions = useMemoizedFn((dataSourceId?: string) => {\n const list = globalData?.sourceData?.find(item => item.value === dataSourceId)?.fields ?? []\n return list\n })\n const { fieldOptions, timeFieldOptions } = useMemo(() => {\n const fieldOptions = getFieldOptions(dataSourceId)\n const timeFieldOptions = fieldOptions?.filter(item => item.type === 'timestamp')\n return {\n fieldOptions,\n timeFieldOptions,\n }\n }, [dataSourceId])\n\n /* ============================== split =============================== */\n const [isModalOpen, setIsModalOpen] = useState(false)\n const conditionDataRef = useRef()\n const [conditionData, setConditionData] = useState<any>({\n conditionList: [],\n conditionType: 'all',\n })\n const [conditionDataNum, setConditionDataNum] = useState(0)\n\n const setCondition = (val: any) => {\n setConditionData(val)\n conditionDataRef.current = val\n setConditionDataNum(val?.conditionList?.length || 0)\n }\n\n /* ============================== split =============================== */\n // debounc 2个作用 一个默认值的设置会延后,另一个是防止多次请求\n const { run: debounceSubmit } = useDebounceFn(\n useMemoizedFn(() => {\n onAllValuesChange?.({\n ...form.getFieldsValue(),\n conditionData: conditionDataRef.current,\n })\n }),\n {\n wait: 100,\n }\n )\n\n const handleValuesChange = useMemoizedFn((changedValues, allValues) => {\n if (changedValues.dataSourceId) {\n const newFieldOptions = getFieldOptions(changedValues.dataSourceId)\n const timeFieldOptions = fieldOptions.filter(item => item.type === 'timestamp')\n form.setFieldsValue({\n titleField: newFieldOptions?.[0]?.value,\n startDateField: timeFieldOptions?.[0]?.value,\n endDateField: timeFieldOptions?.[0]?.value,\n })\n setCondition({\n conditionList: [],\n conditionType: 'all',\n })\n }\n\n debounceSubmit()\n })\n\n useEffect(() => {\n if (selectModuleData?.customData) {\n const customData = selectModuleData.customData\n form.setFieldsValue(customData)\n } else {\n const dataSourceOptions = getDataSourceOption()\n const dataSourceId = dataSourceOptions?.[0]?.value\n const fieldOptions = getFieldOptions(dataSourceId)\n const timeFieldOptions = fieldOptions.filter(item => item.type === 'timestamp')\n form.setFieldsValue({\n ...initialValues,\n dataSourceId: dataSourceId,\n titleField: fieldOptions?.[0]?.value,\n startDateField: timeFieldOptions?.[0].value,\n endDateField: timeFieldOptions?.[0].value,\n })\n debounceSubmit()\n }\n setCondition(selectModuleData?.customData?.conditionData)\n }, [selectModuleData, globalData])\n\n return (\n <>\n <Form\n form={form}\n name=\"customData\"\n labelCol={{ span: 8 }}\n wrapperCol={{ span: 16 }}\n labelAlign=\"left\"\n onValuesChange={handleValuesChange}\n initialValues={initialValues}\n >\n <div\n style={{\n fontSize: '14px',\n marginBottom: '5px',\n }}\n >\n {t('data')}\n </div>\n\n <Form.Item<CalendarCustomeDataTypes> label={t('dataSource')} name=\"dataSourceId\">\n <Select options={dataSourceOptions} />\n </Form.Item>\n\n <Form.Item<CalendarCustomeDataTypes> label={t('dataRange')}>\n <Button\n style={{ marginLeft: '-15px' }}\n onClick={() => {\n setIsModalOpen(true)\n }}\n type=\"link\"\n >\n {t('filterData')}\n </Button>\n {conditionDataNum > 0 ? `${t('selectNcondition', { n: conditionDataNum })}` : null}\n </Form.Item>\n\n <Divider orientation=\"left\" orientationMargin=\"0\">\n {t('calendar.t1')}\n </Divider>\n\n <Form.Item<CalendarCustomeDataTypes> label={t('calendar.t2')} name=\"startDateField\">\n <Select options={timeFieldOptions} />\n </Form.Item>\n\n <Form.Item<CalendarCustomeDataTypes> label={t('calendar.t3')} name=\"endDateField\">\n <Select options={timeFieldOptions} />\n </Form.Item>\n\n <Form.Item<CalendarCustomeDataTypes> label={t('calendar.t4')} name=\"titleField\">\n <Select options={fieldOptions} />\n </Form.Item>\n </Form>\n <ConditionModal\n open={isModalOpen}\n value={conditionData}\n fieldOptions={fieldOptions}\n enumDataApi={enumDataApi}\n onClose={() => {\n setIsModalOpen(false)\n }}\n onOk={val => {\n setCondition(val)\n debounceSubmit()\n }}\n />\n </>\n )\n}\nexport default CustomData\n"],"names":["dataSourceId","fieldOptions","timeFieldOptions","dataSourceOptions"],"mappings":"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"}
@@ -141,6 +141,10 @@ const CustomData = ({
141
141
  yAxis: "recordTotal",
142
142
  isGroup: false
143
143
  });
144
+ setCondition({
145
+ conditionList: [],
146
+ conditionType: "all"
147
+ });
144
148
  }
145
149
  if (changedValues.xAxis) {
146
150
  form.setFieldsValue(
@@ -1 +1 @@
1
- {"version":3,"file":"custome-data.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-data.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useEffect, useMemo, useRef, useState } from 'react'\nimport clsx from 'clsx'\nimport { Button, Checkbox, Divider, Flex, Form, message, Radio, Select, Space, Spin } from 'antd'\nimport { useTranslation } from 'react-i18next'\nimport { useDebounceFn, useMemoizedFn, useRequest } from 'ahooks'\nimport { getTransformValue } from '@platox/pivot-table/utils'\nimport { useAppContext } from '../../../context'\nimport { EnumDataApi } from '../../../types'\nimport { ModuleData } from '../../module-content'\nimport { mapConditionsToPostgrest } from '../../module-content/utils'\nimport ConditionModal from '../components/condition-modal'\nimport CombinationChartOptionPicker from './components/CombinationChartOptionPicker'\nimport GroupFieldConfigPicker from './components/GroupFieldConfigPicker'\nimport { useChartTypeOption, useDisplayRangeOption, useTimeGroupIntervalOption } from './config'\nimport styles from './index.module.less'\nimport { ChartCustomDataType, ChartType } from './interface'\n\nconst componentName = 'chart-modal'\n\ninterface CustomDataProps {\n selectModuleData?: ModuleData\n onAllValuesChange?: ((values: any) => void) | undefined\n enumDataApi?: EnumDataApi\n}\nconst CustomData: React.FC<CustomDataProps> = ({\n selectModuleData,\n onAllValuesChange,\n enumDataApi,\n}) => {\n const { globalData } = useAppContext()\n const { t } = useTranslation()\n const containerRef = useRef<HTMLDivElement>(null)\n\n const ChartTypeOption = useChartTypeOption()\n const TimeGroupIntervalOption = useTimeGroupIntervalOption()\n const DisplayRangeOption = useDisplayRangeOption()\n\n /* ============================== split =============================== */\n const initialValues = {\n dataSourceId: '',\n yAxis: 'recordTotal',\n chartOptions: ['legend', 'label', 'axis', 'splitLine'],\n sortField: 'xAxis',\n sortOrder: 'asc',\n timeGroupInterval: 'day',\n displayRange: 'ALL',\n yAxisFieldConfig: {\n chartType: ChartType.ChartBar,\n yAxisPos: 'left',\n },\n }\n const [form] = Form.useForm()\n\n const type = Form.useWatch('type', form)\n const dataSourceId = Form.useWatch('dataSourceId', form)\n const isGroup = Form.useWatch('isGroup', form)\n const xAxis = Form.useWatch('xAxis', form)\n const yAxisField = Form.useWatch('yAxisField', form)\n const groupField = Form.useWatch('groupField', form)\n\n /* ============================== split =============================== */\n const getFieldOptions = useMemoizedFn((dataSourceId?: string) => {\n const list = globalData?.sourceData?.find(item => item.value === dataSourceId)?.fields ?? []\n return list\n })\n\n const { fieldOptions, xAxisFieldOption, yAxisFieldOption, groupFieldOption } = useMemo(() => {\n const fieldOptions = getFieldOptions(dataSourceId)\n\n const xAxisFieldOption = fieldOptions.filter(item => {\n let hasPicked = [yAxisField, groupField].includes(item.value)\n return !hasPicked\n })\n\n const yAxisFieldOption = fieldOptions.filter(item => {\n let isNumberField = item.type === 'int' || item.type === 'float'\n let hasPicked = [xAxis, groupField].includes(item.value)\n return isNumberField && !hasPicked\n })\n\n const groupFieldOption = fieldOptions.filter(item => {\n let hasPicked = [xAxis, yAxisField].includes(item.value)\n return !hasPicked\n })\n\n return {\n fieldOptions,\n xAxisFieldOption,\n yAxisFieldOption,\n groupFieldOption,\n }\n }, [dataSourceId, xAxis, yAxisField, groupField])\n\n const isTimeField = useMemoizedFn(fieldName => {\n return fieldOptions.find(item => item.value === fieldName)?.type === 'timestamp'\n })\n\n /* ============================== split =============================== */\n const [isModalOpen, setIsModalOpen] = useState(false)\n const conditionDataRef = useRef()\n const [conditionData, setConditionData] = useState<any>({\n conditionList: [],\n conditionType: 'all',\n })\n const [conditionDataNum, setConditionDataNum] = useState(0)\n\n const setCondition = (val: any) => {\n setConditionData(val)\n conditionDataRef.current = val\n setConditionDataNum(val?.conditionList?.length || 0)\n }\n\n /* ============================== 获取分组聚合的字段数据 =============================== */\n const { service } = useAppContext()\n const { data: CombinationGroupOptions, loading: isGetCombinationGroupOptionsLoading } =\n useRequest(\n async () => {\n if (isGroup && type === ChartType['chartCombination'] && !!groupField) {\n const newGroupField = groupField === 'tags' ? 'tag' : groupField\n\n let queryString = `select=${newGroupField}`\n if (conditionData?.conditionList?.length > 0) {\n let DSLStr = mapConditionsToPostgrest(conditionData)\n queryString += !!DSLStr ? `&${DSLStr}` : ''\n }\n let res = await service?.moduleDataApi?.({\n id: dataSourceId,\n query: queryString,\n })\n //获取分组聚合的字段数据\n let options = res?.data?.map((item: any) => {\n return getTransformValue({\n fieldOptions,\n val: item[newGroupField],\n field: newGroupField,\n fieldMap: globalData?.fieldMap,\n })\n })\n return [...new Set(options)]\n } else {\n return []\n }\n },\n {\n refreshDeps: [type, isGroup, groupField, conditionData, dataSourceId],\n }\n )\n\n /* ============================== split =============================== */\n // debounce 2个作用 一个默认值的设置会延后,另一个是防止多次请求\n const { run: debounceSubmit } = useDebounceFn(\n useMemoizedFn(() => {\n onAllValuesChange?.({\n ...initialValues,\n ...form.getFieldsValue(),\n conditionData: conditionDataRef.current,\n })\n }),\n {\n wait: 100,\n }\n )\n const handleValuesChange = useMemoizedFn((changedValues, allValues) => {\n if (changedValues.dataSourceId) {\n const newFieldOptions = getFieldOptions(changedValues.dataSourceId)\n form.setFieldsValue({\n xAxis: newFieldOptions?.[0]?.value,\n yAxis: 'recordTotal',\n isGroup: false,\n })\n }\n if (changedValues.xAxis) {\n form.setFieldsValue(\n isTimeField(changedValues.xAxis)\n ? {\n timeGroupInterval: initialValues?.timeGroupInterval,\n }\n : {\n displayRange: initialValues?.displayRange,\n }\n )\n }\n\n if (changedValues.yAxis) {\n let value = changedValues.yAxis\n form.setFieldsValue({\n yAxisField: value === 'fieldValue' ? yAxisFieldOption?.[0]?.value : '',\n yAxisFieldType: 'sum',\n })\n }\n\n if (changedValues.isGroup) {\n form.setFieldsValue({\n groupField: groupFieldOption?.[0]?.value,\n })\n }\n\n debounceSubmit()\n })\n\n useEffect(() => {\n if (selectModuleData?.customData) {\n const customData = selectModuleData.customData\n form.setFieldsValue(customData)\n } else {\n const currSourceData = globalData?.sourceData?.[0]\n const list = getFieldOptions(currSourceData?.value) || []\n form.setFieldsValue({\n ...initialValues,\n dataSourceId: currSourceData?.value,\n type: selectModuleData?.type,\n xAxis: list?.[0]?.value,\n })\n }\n setCondition(selectModuleData?.customData?.conditionData)\n debounceSubmit()\n }, [selectModuleData, globalData])\n\n return (\n <div\n style={{ height: '50vh', overflowX: 'auto' }}\n className={clsx(styles[`${componentName}`])}\n ref={containerRef}\n >\n <Form\n form={form}\n name=\"customData\"\n layout=\"vertical\"\n onValuesChange={handleValuesChange}\n initialValues={initialValues}\n >\n <Form.Item<ChartCustomDataType> label={t('dataSource')} name=\"dataSourceId\">\n <Select options={globalData?.sourceData ?? []} />\n </Form.Item>\n\n <Form.Item<ChartCustomDataType> label={t('dataRange')}>\n <Button\n style={{ marginLeft: '-15px' }}\n onClick={() => {\n setIsModalOpen(true)\n }}\n type=\"link\"\n >\n {t('filterData')}\n </Button>\n {conditionDataNum > 0 ? `${t('selectNcondition', { n: conditionDataNum })}` : null}\n </Form.Item>\n\n <Form.Item<ChartCustomDataType> label={t('chart.t1')} name=\"type\">\n <Select\n options={ChartTypeOption}\n optionRender={option => (\n <Flex align=\"center\">\n <span role=\"img\" style={{ marginTop: '5px' }} aria-label={option.data.label}>\n {option.data.icon}\n </span>\n {option.data.label}\n </Flex>\n )}\n />\n </Form.Item>\n\n <Form.Item name=\"chartOptions\" label={t('chart.t12')}>\n <Checkbox.Group>\n <Checkbox value=\"legend\" className=\"ow-checkbox\" style={{ lineHeight: '32px' }}>\n {t('chart.t13')}\n </Checkbox>\n\n <Checkbox value=\"label\" className=\"ow-checkbox\" style={{ lineHeight: '32px' }}>\n {t('chart.t14')}\n </Checkbox>\n\n {!['chart-pie', 'chart-pie-circular'].includes(type) ? (\n <>\n <Checkbox value=\"axis\" className=\"ow-checkbox\" style={{ lineHeight: '32px' }}>\n {t('chart.t15')}\n </Checkbox>\n <Checkbox value=\"splitLine\" className=\"ow-checkbox\" style={{ lineHeight: '32px' }}>\n {t('chart.t16')}\n </Checkbox>\n </>\n ) : null}\n </Checkbox.Group>\n </Form.Item>\n\n <Divider style={{ borderColor: '#e2e2e2', marginTop: 0 }} />\n\n <Form.Item<ChartCustomDataType>\n label={type?.includes('pie') ? t('chart.t17') : t('chart.t18')}\n name=\"xAxis\"\n >\n <Select options={xAxisFieldOption} />\n </Form.Item>\n\n {/* 时间分组 */}\n <Form.Item noStyle dependencies={['type', 'xAxis']}>\n {({ getFieldValue }) =>\n isTimeField(getFieldValue('xAxis')) ? (\n <>\n <Form.Item<ChartCustomDataType> name=\"timeGroupInterval\" label={t('chart.t39')}>\n <Select options={TimeGroupIntervalOption} />\n </Form.Item>\n </>\n ) : (\n <>\n <Form.Item<ChartCustomDataType> name=\"displayRange\" label={t('displayRange.title')}>\n <Select options={DisplayRangeOption} />\n </Form.Item>\n </>\n )\n }\n </Form.Item>\n\n <Form.Item dependencies={['type']} noStyle>\n {({ getFieldValue }) =>\n !getFieldValue('type')?.includes('pie') ? (\n <>\n <Form.Item<ChartCustomDataType> name=\"sortField\" label={t('chart.t31')}>\n <Radio.Group>\n <Radio value=\"xAxis\">{t('chart.t32')}</Radio>\n <Radio value=\"yAxisField\">{t('chart.t33')}</Radio>\n <Radio value=\"recordValue\">{t('chart.t34')}</Radio>\n </Radio.Group>\n </Form.Item>\n <Form.Item<ChartCustomDataType> name=\"sortOrder\" label={t('chart.t35')}>\n <Radio.Group>\n <Radio value=\"asc\">{t('chart.t36')}</Radio>\n <Radio value=\"desc\">{t('chart.t37')}</Radio>\n </Radio.Group>\n </Form.Item>\n </>\n ) : null\n }\n </Form.Item>\n\n <Form.Item<ChartCustomDataType>\n label={type?.includes('pie') ? t('chart.t19') : t('chart.t20')}\n name=\"yAxis\"\n >\n <Select\n options={[\n {\n value: 'recordTotal',\n label: t('statisticstRecordNum'),\n },\n { value: 'fieldValue', label: t('statisticstFieldVal') },\n ]}\n />\n </Form.Item>\n\n <Form.Item dependencies={['yAxis', 'type', 'isGroup']} noStyle>\n {({ getFieldValue }) =>\n getFieldValue('yAxis') === 'fieldValue' ? (\n <Form.Item label={t('selectField')}>\n <div\n style={{\n display: 'flex',\n justifyContent: 'space-between',\n }}\n >\n <Space.Compact>\n <Form.Item noStyle name=\"yAxisField\">\n <Select style={{ width: '100px' }} options={yAxisFieldOption} />\n </Form.Item>\n <Form.Item name=\"yAxisFieldType\" noStyle>\n <Select\n style={{ width: '100px' }}\n options={[\n {\n value: 'sum',\n label: t('sumVal'),\n },\n {\n value: 'max',\n label: t('maxVal'),\n },\n {\n value: 'min',\n label: t('minVal'),\n },\n {\n value: 'avg',\n label: t('averageVal'),\n },\n ]}\n />\n </Form.Item>\n </Space.Compact>\n\n {/* <Form.Item\n noStyle\n name=\"yAxisFieldConfig\"\n dependencies={['type', 'isGroup']}\n hidden={\n !(\n getFieldValue('type') === ChartType['chartCombination'] &&\n !getFieldValue('isGroup')\n )\n }\n >\n <CombinationChartOptionPicker />\n </Form.Item> */}\n </div>\n </Form.Item>\n ) : null\n }\n </Form.Item>\n\n <Form.Item dependencies={['type', 'isGroup']} noStyle>\n {({ getFieldValue }) =>\n !getFieldValue('type')?.includes('pie') ? (\n <>\n <Form.Item<ChartCustomDataType> name=\"isGroup\" valuePropName=\"checked\" noStyle>\n <Checkbox style={{ marginBottom: '5px' }}>{t('chart.t38')}</Checkbox>\n </Form.Item>\n <Form.Item dependencies={['isGroup']} noStyle>\n {({ getFieldValue }) =>\n getFieldValue('isGroup') ? (\n <Form.Item<ChartCustomDataType> name=\"groupField\">\n <Select options={groupFieldOption} />\n </Form.Item>\n ) : null\n }\n </Form.Item>\n\n <Spin spinning={isGetCombinationGroupOptionsLoading}>\n <Form.Item<ChartCustomDataType>\n name=\"groupFieldConfig\"\n label={t('chart.groupFieldConfig')}\n hidden={\n !(\n getFieldValue('type') === ChartType['chartCombination'] &&\n getFieldValue('isGroup')\n )\n }\n >\n <GroupFieldConfigPicker options={CombinationGroupOptions} />\n </Form.Item>\n </Spin>\n </>\n ) : null\n }\n </Form.Item>\n </Form>\n <ConditionModal\n open={isModalOpen}\n value={conditionData}\n fieldOptions={fieldOptions}\n enumDataApi={enumDataApi}\n onClose={() => {\n setIsModalOpen(false)\n }}\n onOk={val => {\n setCondition(val)\n debounceSubmit()\n }}\n />\n </div>\n )\n}\nexport default CustomData\n"],"names":["dataSourceId","fieldOptions","xAxisFieldOption","yAxisFieldOption","groupFieldOption","getFieldValue"],"mappings":"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"}
1
+ {"version":3,"file":"custome-data.js","sources":["../../../../../packages/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-data.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useEffect, useMemo, useRef, useState } from 'react'\nimport clsx from 'clsx'\nimport { Button, Checkbox, Divider, Flex, Form, message, Radio, Select, Space, Spin } from 'antd'\nimport { useTranslation } from 'react-i18next'\nimport { useDebounceFn, useMemoizedFn, useRequest } from 'ahooks'\nimport { getTransformValue } from '@platox/pivot-table/utils'\nimport { useAppContext } from '../../../context'\nimport { EnumDataApi } from '../../../types'\nimport { ModuleData } from '../../module-content'\nimport { mapConditionsToPostgrest } from '../../module-content/utils'\nimport ConditionModal from '../components/condition-modal'\nimport CombinationChartOptionPicker from './components/CombinationChartOptionPicker'\nimport GroupFieldConfigPicker from './components/GroupFieldConfigPicker'\nimport { useChartTypeOption, useDisplayRangeOption, useTimeGroupIntervalOption } from './config'\nimport styles from './index.module.less'\nimport { ChartCustomDataType, ChartType } from './interface'\n\nconst componentName = 'chart-modal'\n\ninterface CustomDataProps {\n selectModuleData?: ModuleData\n onAllValuesChange?: ((values: any) => void) | undefined\n enumDataApi?: EnumDataApi\n}\nconst CustomData: React.FC<CustomDataProps> = ({\n selectModuleData,\n onAllValuesChange,\n enumDataApi,\n}) => {\n const { globalData } = useAppContext()\n const { t } = useTranslation()\n const containerRef = useRef<HTMLDivElement>(null)\n\n const ChartTypeOption = useChartTypeOption()\n const TimeGroupIntervalOption = useTimeGroupIntervalOption()\n const DisplayRangeOption = useDisplayRangeOption()\n\n /* ============================== split =============================== */\n const initialValues = {\n dataSourceId: '',\n yAxis: 'recordTotal',\n chartOptions: ['legend', 'label', 'axis', 'splitLine'],\n sortField: 'xAxis',\n sortOrder: 'asc',\n timeGroupInterval: 'day',\n displayRange: 'ALL',\n yAxisFieldConfig: {\n chartType: ChartType.ChartBar,\n yAxisPos: 'left',\n },\n }\n const [form] = Form.useForm()\n\n const type = Form.useWatch('type', form)\n const dataSourceId = Form.useWatch('dataSourceId', form)\n const isGroup = Form.useWatch('isGroup', form)\n const xAxis = Form.useWatch('xAxis', form)\n const yAxisField = Form.useWatch('yAxisField', form)\n const groupField = Form.useWatch('groupField', form)\n\n /* ============================== split =============================== */\n const getFieldOptions = useMemoizedFn((dataSourceId?: string) => {\n const list = globalData?.sourceData?.find(item => item.value === dataSourceId)?.fields ?? []\n return list\n })\n\n const { fieldOptions, xAxisFieldOption, yAxisFieldOption, groupFieldOption } = useMemo(() => {\n const fieldOptions = getFieldOptions(dataSourceId)\n\n const xAxisFieldOption = fieldOptions.filter(item => {\n let hasPicked = [yAxisField, groupField].includes(item.value)\n return !hasPicked\n })\n\n const yAxisFieldOption = fieldOptions.filter(item => {\n let isNumberField = item.type === 'int' || item.type === 'float'\n let hasPicked = [xAxis, groupField].includes(item.value)\n return isNumberField && !hasPicked\n })\n\n const groupFieldOption = fieldOptions.filter(item => {\n let hasPicked = [xAxis, yAxisField].includes(item.value)\n return !hasPicked\n })\n\n return {\n fieldOptions,\n xAxisFieldOption,\n yAxisFieldOption,\n groupFieldOption,\n }\n }, [dataSourceId, xAxis, yAxisField, groupField])\n\n const isTimeField = useMemoizedFn(fieldName => {\n return fieldOptions.find(item => item.value === fieldName)?.type === 'timestamp'\n })\n\n /* ============================== split =============================== */\n const [isModalOpen, setIsModalOpen] = useState(false)\n const conditionDataRef = useRef()\n const [conditionData, setConditionData] = useState<any>({\n conditionList: [],\n conditionType: 'all',\n })\n const [conditionDataNum, setConditionDataNum] = useState(0)\n\n const setCondition = (val: any) => {\n setConditionData(val)\n conditionDataRef.current = val\n setConditionDataNum(val?.conditionList?.length || 0)\n }\n\n /* ============================== 获取分组聚合的字段数据 =============================== */\n const { service } = useAppContext()\n const { data: CombinationGroupOptions, loading: isGetCombinationGroupOptionsLoading } =\n useRequest(\n async () => {\n if (isGroup && type === ChartType['chartCombination'] && !!groupField) {\n const newGroupField = groupField === 'tags' ? 'tag' : groupField\n\n let queryString = `select=${newGroupField}`\n if (conditionData?.conditionList?.length > 0) {\n let DSLStr = mapConditionsToPostgrest(conditionData)\n queryString += !!DSLStr ? `&${DSLStr}` : ''\n }\n let res = await service?.moduleDataApi?.({\n id: dataSourceId,\n query: queryString,\n })\n //获取分组聚合的字段数据\n let options = res?.data?.map((item: any) => {\n return getTransformValue({\n fieldOptions,\n val: item[newGroupField],\n field: newGroupField,\n fieldMap: globalData?.fieldMap,\n })\n })\n return [...new Set(options)]\n } else {\n return []\n }\n },\n {\n refreshDeps: [type, isGroup, groupField, conditionData, dataSourceId],\n }\n )\n\n /* ============================== split =============================== */\n // debounce 2个作用 一个默认值的设置会延后,另一个是防止多次请求\n const { run: debounceSubmit } = useDebounceFn(\n useMemoizedFn(() => {\n onAllValuesChange?.({\n ...initialValues,\n ...form.getFieldsValue(),\n conditionData: conditionDataRef.current,\n })\n }),\n {\n wait: 100,\n }\n )\n const handleValuesChange = useMemoizedFn((changedValues, allValues) => {\n if (changedValues.dataSourceId) {\n const newFieldOptions = getFieldOptions(changedValues.dataSourceId)\n form.setFieldsValue({\n xAxis: newFieldOptions?.[0]?.value,\n yAxis: 'recordTotal',\n isGroup: false,\n })\n setCondition({\n conditionList: [],\n conditionType: 'all',\n })\n }\n if (changedValues.xAxis) {\n form.setFieldsValue(\n isTimeField(changedValues.xAxis)\n ? {\n timeGroupInterval: initialValues?.timeGroupInterval,\n }\n : {\n displayRange: initialValues?.displayRange,\n }\n )\n }\n\n if (changedValues.yAxis) {\n let value = changedValues.yAxis\n form.setFieldsValue({\n yAxisField: value === 'fieldValue' ? yAxisFieldOption?.[0]?.value : '',\n yAxisFieldType: 'sum',\n })\n }\n\n if (changedValues.isGroup) {\n form.setFieldsValue({\n groupField: groupFieldOption?.[0]?.value,\n })\n }\n\n debounceSubmit()\n })\n\n useEffect(() => {\n if (selectModuleData?.customData) {\n const customData = selectModuleData.customData\n form.setFieldsValue(customData)\n } else {\n const currSourceData = globalData?.sourceData?.[0]\n const list = getFieldOptions(currSourceData?.value) || []\n form.setFieldsValue({\n ...initialValues,\n dataSourceId: currSourceData?.value,\n type: selectModuleData?.type,\n xAxis: list?.[0]?.value,\n })\n }\n setCondition(selectModuleData?.customData?.conditionData)\n debounceSubmit()\n }, [selectModuleData, globalData])\n\n return (\n <div\n style={{ height: '50vh', overflowX: 'auto' }}\n className={clsx(styles[`${componentName}`])}\n ref={containerRef}\n >\n <Form\n form={form}\n name=\"customData\"\n layout=\"vertical\"\n onValuesChange={handleValuesChange}\n initialValues={initialValues}\n >\n <Form.Item<ChartCustomDataType> label={t('dataSource')} name=\"dataSourceId\">\n <Select options={globalData?.sourceData ?? []} />\n </Form.Item>\n\n <Form.Item<ChartCustomDataType> label={t('dataRange')}>\n <Button\n style={{ marginLeft: '-15px' }}\n onClick={() => {\n setIsModalOpen(true)\n }}\n type=\"link\"\n >\n {t('filterData')}\n </Button>\n {conditionDataNum > 0 ? `${t('selectNcondition', { n: conditionDataNum })}` : null}\n </Form.Item>\n\n <Form.Item<ChartCustomDataType> label={t('chart.t1')} name=\"type\">\n <Select\n options={ChartTypeOption}\n optionRender={option => (\n <Flex align=\"center\">\n <span role=\"img\" style={{ marginTop: '5px' }} aria-label={option.data.label}>\n {option.data.icon}\n </span>\n {option.data.label}\n </Flex>\n )}\n />\n </Form.Item>\n\n <Form.Item name=\"chartOptions\" label={t('chart.t12')}>\n <Checkbox.Group>\n <Checkbox value=\"legend\" className=\"ow-checkbox\" style={{ lineHeight: '32px' }}>\n {t('chart.t13')}\n </Checkbox>\n\n <Checkbox value=\"label\" className=\"ow-checkbox\" style={{ lineHeight: '32px' }}>\n {t('chart.t14')}\n </Checkbox>\n\n {!['chart-pie', 'chart-pie-circular'].includes(type) ? (\n <>\n <Checkbox value=\"axis\" className=\"ow-checkbox\" style={{ lineHeight: '32px' }}>\n {t('chart.t15')}\n </Checkbox>\n <Checkbox value=\"splitLine\" className=\"ow-checkbox\" style={{ lineHeight: '32px' }}>\n {t('chart.t16')}\n </Checkbox>\n </>\n ) : null}\n </Checkbox.Group>\n </Form.Item>\n\n <Divider style={{ borderColor: '#e2e2e2', marginTop: 0 }} />\n\n <Form.Item<ChartCustomDataType>\n label={type?.includes('pie') ? t('chart.t17') : t('chart.t18')}\n name=\"xAxis\"\n >\n <Select options={xAxisFieldOption} />\n </Form.Item>\n\n {/* 时间分组 */}\n <Form.Item noStyle dependencies={['type', 'xAxis']}>\n {({ getFieldValue }) =>\n isTimeField(getFieldValue('xAxis')) ? (\n <>\n <Form.Item<ChartCustomDataType> name=\"timeGroupInterval\" label={t('chart.t39')}>\n <Select options={TimeGroupIntervalOption} />\n </Form.Item>\n </>\n ) : (\n <>\n <Form.Item<ChartCustomDataType> name=\"displayRange\" label={t('displayRange.title')}>\n <Select options={DisplayRangeOption} />\n </Form.Item>\n </>\n )\n }\n </Form.Item>\n\n <Form.Item dependencies={['type']} noStyle>\n {({ getFieldValue }) =>\n !getFieldValue('type')?.includes('pie') ? (\n <>\n <Form.Item<ChartCustomDataType> name=\"sortField\" label={t('chart.t31')}>\n <Radio.Group>\n <Radio value=\"xAxis\">{t('chart.t32')}</Radio>\n <Radio value=\"yAxisField\">{t('chart.t33')}</Radio>\n <Radio value=\"recordValue\">{t('chart.t34')}</Radio>\n </Radio.Group>\n </Form.Item>\n <Form.Item<ChartCustomDataType> name=\"sortOrder\" label={t('chart.t35')}>\n <Radio.Group>\n <Radio value=\"asc\">{t('chart.t36')}</Radio>\n <Radio value=\"desc\">{t('chart.t37')}</Radio>\n </Radio.Group>\n </Form.Item>\n </>\n ) : null\n }\n </Form.Item>\n\n <Form.Item<ChartCustomDataType>\n label={type?.includes('pie') ? t('chart.t19') : t('chart.t20')}\n name=\"yAxis\"\n >\n <Select\n options={[\n {\n value: 'recordTotal',\n label: t('statisticstRecordNum'),\n },\n { value: 'fieldValue', label: t('statisticstFieldVal') },\n ]}\n />\n </Form.Item>\n\n <Form.Item dependencies={['yAxis', 'type', 'isGroup']} noStyle>\n {({ getFieldValue }) =>\n getFieldValue('yAxis') === 'fieldValue' ? (\n <Form.Item label={t('selectField')}>\n <div\n style={{\n display: 'flex',\n justifyContent: 'space-between',\n }}\n >\n <Space.Compact>\n <Form.Item noStyle name=\"yAxisField\">\n <Select style={{ width: '100px' }} options={yAxisFieldOption} />\n </Form.Item>\n <Form.Item name=\"yAxisFieldType\" noStyle>\n <Select\n style={{ width: '100px' }}\n options={[\n {\n value: 'sum',\n label: t('sumVal'),\n },\n {\n value: 'max',\n label: t('maxVal'),\n },\n {\n value: 'min',\n label: t('minVal'),\n },\n {\n value: 'avg',\n label: t('averageVal'),\n },\n ]}\n />\n </Form.Item>\n </Space.Compact>\n\n {/* <Form.Item\n noStyle\n name=\"yAxisFieldConfig\"\n dependencies={['type', 'isGroup']}\n hidden={\n !(\n getFieldValue('type') === ChartType['chartCombination'] &&\n !getFieldValue('isGroup')\n )\n }\n >\n <CombinationChartOptionPicker />\n </Form.Item> */}\n </div>\n </Form.Item>\n ) : null\n }\n </Form.Item>\n\n <Form.Item dependencies={['type', 'isGroup']} noStyle>\n {({ getFieldValue }) =>\n !getFieldValue('type')?.includes('pie') ? (\n <>\n <Form.Item<ChartCustomDataType> name=\"isGroup\" valuePropName=\"checked\" noStyle>\n <Checkbox style={{ marginBottom: '5px' }}>{t('chart.t38')}</Checkbox>\n </Form.Item>\n <Form.Item dependencies={['isGroup']} noStyle>\n {({ getFieldValue }) =>\n getFieldValue('isGroup') ? (\n <Form.Item<ChartCustomDataType> name=\"groupField\">\n <Select options={groupFieldOption} />\n </Form.Item>\n ) : null\n }\n </Form.Item>\n\n <Spin spinning={isGetCombinationGroupOptionsLoading}>\n <Form.Item<ChartCustomDataType>\n name=\"groupFieldConfig\"\n label={t('chart.groupFieldConfig')}\n hidden={\n !(\n getFieldValue('type') === ChartType['chartCombination'] &&\n getFieldValue('isGroup')\n )\n }\n >\n <GroupFieldConfigPicker options={CombinationGroupOptions} />\n </Form.Item>\n </Spin>\n </>\n ) : null\n }\n </Form.Item>\n </Form>\n <ConditionModal\n open={isModalOpen}\n value={conditionData}\n fieldOptions={fieldOptions}\n enumDataApi={enumDataApi}\n onClose={() => {\n setIsModalOpen(false)\n }}\n onOk={val => {\n setCondition(val)\n debounceSubmit()\n }}\n />\n </div>\n )\n}\nexport default CustomData\n"],"names":["dataSourceId","fieldOptions","xAxisFieldOption","yAxisFieldOption","groupFieldOption","getFieldValue"],"mappings":"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"}
@@ -342,7 +342,7 @@ const getEqualTimeDSL = (props) => {
342
342
  }
343
343
  case "thisyear": {
344
344
  const start = dayjs().startOf("year").format("YYYY-MM-DD");
345
- const end = dayjs().endOf("year");
345
+ const end = dayjs().endOf("year").format("YYYY-MM-DD");
346
346
  return {
347
347
  join: "and",
348
348
  children: [
@@ -361,7 +361,7 @@ const getEqualTimeDSL = (props) => {
361
361
  }
362
362
  case "lastyear": {
363
363
  const start = dayjs().subtract(1, "year").startOf("year").format("YYYY-MM-DD");
364
- const end = dayjs().subtract(1, "year").endOf("year");
364
+ const end = dayjs().subtract(1, "year").endOf("year").format("YYYY-MM-DD");
365
365
  return {
366
366
  join: "and",
367
367
  children: [
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../packages/dashboard-workbench/components/module-content/utils.ts"],"sourcesContent":["import dayjs, { Dayjs } from 'dayjs'\nimport { isArray, isNil } from 'lodash-es'\nimport {\n ConditionBlock,\n ConditionListItem,\n} from '../add-module-modal/components/condition-modal/interface'\n\ntype DSLItem = {\n field: string\n value: string\n operator: string\n}\ntype DSLGroup = {\n join: 'and' | 'or'\n children: (DSLGroup | DSLItem)[]\n}\n\nexport const mapConditionsToPostgrest = (filterData: ConditionBlock[]): string => {\n let DSLTree: DSLGroup = {\n join: 'and',\n children: [],\n }\n\n for (const conditionBlock of filterData) {\n let children = (conditionBlock.conditionList ?? [])\n .map(condition => {\n let ret: DSLItem | DSLGroup | null = null\n ret = conditionListItem2DSL(condition)\n return ret\n })\n .filter(v => !!v) as unknown as (DSLItem | DSLGroup)[]\n if (children.length > 0) {\n DSLTree.children.push({\n join: conditionBlock.conditionType === 'all' ? 'and' : 'or',\n children: children,\n })\n }\n }\n\n // 转成字符串\n function loop(node: DSLGroup, deep = 1, parentJoin: 'and' | 'or') {\n //跳过group里面只嵌套单个group的case 减少层级\n let shoudIgnore = (node.children ?? []).length === 1 && (node.children?.[0] as DSLGroup)?.join\n if (shoudIgnore) {\n return loop(node.children[0] as DSLGroup, deep, parentJoin)\n }\n\n let group = node as DSLGroup\n let shouldMerge = group.join === parentJoin\n let isTop = deep === 1\n let filedUnit = isTop && shouldMerge ? '=' : '.'\n let joinUnit = isTop && shouldMerge ? '&' : ','\n\n let strList = group.children.map(child => {\n if ((child as DSLGroup).join) {\n return loop(child as DSLGroup, !shouldMerge ? deep + 1 : deep, group.join)\n } else {\n let value = `${encodeURIComponent((child as DSLItem).value)}`\n return `${(child as DSLItem).field}${filedUnit}${(child as DSLItem).operator}.${value}`\n }\n })\n let ret = (\n !shouldMerge\n ? `${group?.join}${deep > 1 ? '' : '='}(${strList.join(joinUnit)})`\n : strList.join(joinUnit)\n ) as string\n return ret\n }\n\n let str = loop(DSLTree, 1, 'and')\n return str\n}\n\nlet mapping = {\n '=': 'eq',\n '!=': 'neq',\n '>': 'gt',\n '>=': 'gte',\n '<': 'lt',\n '=<': 'lte',\n ['include']: 'in',\n ['notinclude']: 'not.in',\n // ['contain']: 'gte,lte', //这个是group的\n ['before']: 'lt',\n ['after']: 'gt',\n // ['null']: 'is.null',\n // ['notnull']: 'not.is.null',\n ['null']: 'is', //这个特殊处理\n ['notnull']: 'not.is', //这个特殊处理\n}\n\nconst getEnumValue = (val: any) => {\n // 懒加载的时候 item :{label: \"xxx\", value: \"xxx\"}\n // 非懒加载的时候 item: \"xxx\"\n return (val as any)?.value ? (val as any)?.value : val\n}\n\nconst conditionListItem2DSL = (condition: ConditionListItem) => {\n const { field, condition: cond, val, val2, rdate, type } = condition\n\n //value 是懒加载时候的数据结构\n let value: any\n if (type === 'enum') {\n let isMultiple = ['include', 'notinclude'].includes(cond)\n if (isMultiple) {\n value = (isArray(val) ? val : [])\n .map(val => {\n return getEnumValue(val)\n })\n .filter(v => !!v)\n } else {\n value = !isArray(val) ? getEnumValue(val) : ''\n }\n } else {\n value = (val as any)?.value ? (val as any)?.value : val // 为啥需要?.value\n }\n\n let ret: DSLItem | DSLGroup | null = null\n switch (cond) {\n case '=':\n {\n if (type !== 'timestamp') {\n if (isInVaildValue(value)) {\n return null\n }\n ret = {\n field,\n value: `${value}`,\n operator: mapping[cond as keyof typeof mapping],\n } as DSLItem\n } else {\n if (isInVaildValue(rdate)) {\n return null\n }\n ret = getEqualTimeDSL({ rdate: rdate!, field, value })\n }\n }\n break\n case '>':\n case '<':\n {\n if (type === 'timestamp' && rdate === 'today') {\n value = dayjs().format('YYYY-MM-DD')\n } else if (type === 'timestamp' && rdate === 'yesterday') {\n value = dayjs().subtract(1, 'day').format('YYYY-MM-DD')\n }\n if (isInVaildValue(value)) {\n return null\n }\n\n ret = {\n field,\n value: `${value}`,\n operator: mapping[cond as keyof typeof mapping],\n } as DSLItem\n }\n break\n case 'contain':\n {\n if (isInVaildValue(value) || isInVaildValue(val2)) {\n return null\n }\n ret = {\n join: 'and',\n children: [\n {\n field,\n value: `${value}`,\n operator: 'gte',\n },\n {\n field,\n value: `${val2}`,\n operator: 'lte',\n },\n ],\n } as DSLGroup\n }\n break\n case 'null':\n case 'notnull':\n {\n ret = {\n field,\n value: 'null',\n operator: mapping[cond as keyof typeof mapping],\n } as DSLItem\n }\n break\n case 'include':\n case 'notinclude':\n {\n // 枚举特殊处理\n if (condition.type === 'enum') {\n if (isInVaildValue(value?.[0]) || value.length === 0) {\n return null\n }\n\n if (value.length === 1) {\n ret = {\n field,\n value: `(${value})`,\n operator: mapping[cond as keyof typeof mapping],\n } as DSLItem\n } else {\n ret = {\n join: cond === 'include' ? 'or' : 'and',\n children: value.map((value: string) => {\n return {\n field,\n value: `(${value})`,\n operator: mapping[cond as keyof typeof mapping],\n }\n }),\n } as DSLGroup\n }\n\n return ret\n } else {\n if (isInVaildValue(value)) {\n return null\n }\n\n ret = {\n field,\n value: `(${value})`,\n operator: mapping[cond as keyof typeof mapping],\n } as DSLItem\n }\n }\n break\n default: {\n if (isInVaildValue(value)) {\n return null\n }\n ret = {\n field,\n value: `${value}`,\n operator: mapping[cond as keyof typeof mapping],\n } as DSLItem\n }\n }\n\n return ret\n}\n\nconst getEqualTimeDSL = (props: { rdate: string; field: string; value: string }) => {\n const { rdate, field, value } = props\n switch (rdate) {\n case 'exactdate':\n if (isInVaildValue(value)) {\n return null\n }\n return {\n field,\n value,\n operator: mapping['='],\n } as DSLItem\n case 'today':\n return {\n field,\n value: dayjs().format('YYYY-MM-DD'),\n operator: mapping['='],\n } as DSLItem\n case 'yesterday':\n return {\n field,\n value: dayjs().subtract(1, 'day').format('YYYY-MM-DD'),\n operator: mapping['='],\n } as DSLItem\n case 'thisweek': {\n const startOfLastWeek = dayjs().startOf('week').add(1, 'day').format('YYYY-MM-DD')\n const endOfLastWeek = dayjs().endOf('week').add(1, 'day').format('YYYY-MM-DD')\n return {\n join: 'and',\n children: [\n {\n field,\n value: startOfLastWeek,\n operator: mapping['>='],\n },\n {\n field,\n value: endOfLastWeek,\n operator: mapping['=<'],\n },\n ],\n } as DSLGroup\n }\n case 'lastweek': {\n const startOfLastWeek = dayjs()\n .subtract(1, 'week')\n .startOf('week')\n .add(1, 'day')\n .format('YYYY-MM-DD')\n const endOfLastWeek = dayjs()\n .subtract(1, 'week')\n .endOf('week')\n .add(1, 'day')\n .format('YYYY-MM-DD')\n return {\n join: 'and',\n children: [\n {\n field,\n value: startOfLastWeek,\n operator: mapping['>='],\n },\n {\n field,\n value: endOfLastWeek,\n operator: mapping['=<'],\n },\n ],\n } as DSLGroup\n }\n case 'thismonth': {\n const startOfThisMonth = dayjs().startOf('month').format('YYYY-MM-DD')\n const endOfThisMonth = dayjs().endOf('month').format('YYYY-MM-DD')\n return {\n join: 'and',\n children: [\n {\n field,\n value: startOfThisMonth,\n operator: mapping['>='],\n },\n {\n field,\n value: endOfThisMonth,\n operator: mapping['=<'],\n },\n ],\n } as DSLGroup\n }\n\n case 'lastmonth': {\n const startOfLastMonth = dayjs().subtract(1, 'month').startOf('month').format('YYYY-MM-DD')\n const endOfLastMonth = dayjs().subtract(1, 'month').endOf('month').format('YYYY-MM-DD')\n return {\n join: 'and',\n children: [\n {\n field,\n value: startOfLastMonth,\n operator: mapping['>='],\n },\n {\n field,\n value: endOfLastMonth,\n operator: mapping['=<'],\n },\n ],\n } as DSLGroup\n }\n case 'last7days': {\n const startOfLast7Days = dayjs().subtract(7, 'days').format('YYYY-MM-DD')\n const endOfLast7Days = dayjs().format('YYYY-MM-DD')\n return {\n join: 'and',\n children: [\n {\n field,\n value: startOfLast7Days,\n operator: mapping['>='],\n },\n {\n field,\n value: endOfLast7Days,\n operator: mapping['=<'],\n },\n ],\n } as DSLGroup\n }\n\n case 'last30days': {\n const startOfLast30Days = dayjs().subtract(30, 'days').format('YYYY-MM-DD')\n const endOfLast30Days = dayjs().format('YYYY-MM-DD')\n return {\n join: 'and',\n children: [\n {\n field,\n value: startOfLast30Days,\n operator: mapping['>='],\n },\n {\n field,\n value: endOfLast30Days,\n operator: mapping['=<'],\n },\n ],\n } as DSLGroup\n }\n case 'thisyear': {\n const start = dayjs().startOf('year').format('YYYY-MM-DD')\n const end = dayjs().endOf('year')\n return {\n join: 'and',\n children: [\n {\n field,\n value: start,\n operator: mapping['>='],\n },\n {\n field,\n value: end,\n operator: mapping['=<'],\n },\n ],\n } as DSLGroup\n }\n case 'lastyear': {\n const start = dayjs().subtract(1, 'year').startOf('year').format('YYYY-MM-DD')\n const end = dayjs().subtract(1, 'year').endOf('year')\n return {\n join: 'and',\n children: [\n {\n field,\n value: start,\n operator: mapping['>='],\n },\n {\n field,\n value: end,\n operator: mapping['=<'],\n },\n ],\n } as DSLGroup\n }\n\n default:\n return null // 对于未支持的 rdate 值返回空字符串\n }\n}\n\nconst isInVaildValue = (date: string | number | Dayjs | undefined) => {\n return isNil(date) || date === ''\n}\n"],"names":["val","value"],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../packages/dashboard-workbench/components/module-content/utils.ts"],"sourcesContent":["import dayjs, { Dayjs } from 'dayjs'\nimport { isArray, isNil } from 'lodash-es'\nimport {\n ConditionBlock,\n ConditionListItem,\n} from '../add-module-modal/components/condition-modal/interface'\n\ntype DSLItem = {\n field: string\n value: string\n operator: string\n}\ntype DSLGroup = {\n join: 'and' | 'or'\n children: (DSLGroup | DSLItem)[]\n}\n\nexport const mapConditionsToPostgrest = (filterData: ConditionBlock[]): string => {\n let DSLTree: DSLGroup = {\n join: 'and',\n children: [],\n }\n\n for (const conditionBlock of filterData) {\n let children = (conditionBlock.conditionList ?? [])\n .map(condition => {\n let ret: DSLItem | DSLGroup | null = null\n ret = conditionListItem2DSL(condition)\n return ret\n })\n .filter(v => !!v) as unknown as (DSLItem | DSLGroup)[]\n if (children.length > 0) {\n DSLTree.children.push({\n join: conditionBlock.conditionType === 'all' ? 'and' : 'or',\n children: children,\n })\n }\n }\n\n // 转成字符串\n function loop(node: DSLGroup, deep = 1, parentJoin: 'and' | 'or') {\n //跳过group里面只嵌套单个group的case 减少层级\n let shoudIgnore = (node.children ?? []).length === 1 && (node.children?.[0] as DSLGroup)?.join\n if (shoudIgnore) {\n return loop(node.children[0] as DSLGroup, deep, parentJoin)\n }\n\n let group = node as DSLGroup\n let shouldMerge = group.join === parentJoin\n let isTop = deep === 1\n let filedUnit = isTop && shouldMerge ? '=' : '.'\n let joinUnit = isTop && shouldMerge ? '&' : ','\n\n let strList = group.children.map(child => {\n if ((child as DSLGroup).join) {\n return loop(child as DSLGroup, !shouldMerge ? deep + 1 : deep, group.join)\n } else {\n let value = `${encodeURIComponent((child as DSLItem).value)}`\n return `${(child as DSLItem).field}${filedUnit}${(child as DSLItem).operator}.${value}`\n }\n })\n let ret = (\n !shouldMerge\n ? `${group?.join}${deep > 1 ? '' : '='}(${strList.join(joinUnit)})`\n : strList.join(joinUnit)\n ) as string\n return ret\n }\n\n let str = loop(DSLTree, 1, 'and')\n return str\n}\n\nlet mapping = {\n '=': 'eq',\n '!=': 'neq',\n '>': 'gt',\n '>=': 'gte',\n '<': 'lt',\n '=<': 'lte',\n ['include']: 'in',\n ['notinclude']: 'not.in',\n // ['contain']: 'gte,lte', //这个是group的\n ['before']: 'lt',\n ['after']: 'gt',\n // ['null']: 'is.null',\n // ['notnull']: 'not.is.null',\n ['null']: 'is', //这个特殊处理\n ['notnull']: 'not.is', //这个特殊处理\n}\n\nconst getEnumValue = (val: any) => {\n // 懒加载的时候 item :{label: \"xxx\", value: \"xxx\"}\n // 非懒加载的时候 item: \"xxx\"\n return (val as any)?.value ? (val as any)?.value : val\n}\n\nconst conditionListItem2DSL = (condition: ConditionListItem) => {\n const { field, condition: cond, val, val2, rdate, type } = condition\n\n //value 是懒加载时候的数据结构\n let value: any\n if (type === 'enum') {\n let isMultiple = ['include', 'notinclude'].includes(cond)\n if (isMultiple) {\n value = (isArray(val) ? val : [])\n .map(val => {\n return getEnumValue(val)\n })\n .filter(v => !!v)\n } else {\n value = !isArray(val) ? getEnumValue(val) : ''\n }\n } else {\n value = (val as any)?.value ? (val as any)?.value : val // 为啥需要?.value\n }\n\n let ret: DSLItem | DSLGroup | null = null\n switch (cond) {\n case '=':\n {\n if (type !== 'timestamp') {\n if (isInVaildValue(value)) {\n return null\n }\n ret = {\n field,\n value: `${value}`,\n operator: mapping[cond as keyof typeof mapping],\n } as DSLItem\n } else {\n if (isInVaildValue(rdate)) {\n return null\n }\n ret = getEqualTimeDSL({ rdate: rdate!, field, value })\n }\n }\n break\n case '>':\n case '<':\n {\n if (type === 'timestamp' && rdate === 'today') {\n value = dayjs().format('YYYY-MM-DD')\n } else if (type === 'timestamp' && rdate === 'yesterday') {\n value = dayjs().subtract(1, 'day').format('YYYY-MM-DD')\n }\n if (isInVaildValue(value)) {\n return null\n }\n\n ret = {\n field,\n value: `${value}`,\n operator: mapping[cond as keyof typeof mapping],\n } as DSLItem\n }\n break\n case 'contain':\n {\n if (isInVaildValue(value) || isInVaildValue(val2)) {\n return null\n }\n ret = {\n join: 'and',\n children: [\n {\n field,\n value: `${value}`,\n operator: 'gte',\n },\n {\n field,\n value: `${val2}`,\n operator: 'lte',\n },\n ],\n } as DSLGroup\n }\n break\n case 'null':\n case 'notnull':\n {\n ret = {\n field,\n value: 'null',\n operator: mapping[cond as keyof typeof mapping],\n } as DSLItem\n }\n break\n case 'include':\n case 'notinclude':\n {\n // 枚举特殊处理\n if (condition.type === 'enum') {\n if (isInVaildValue(value?.[0]) || value.length === 0) {\n return null\n }\n\n if (value.length === 1) {\n ret = {\n field,\n value: `(${value})`,\n operator: mapping[cond as keyof typeof mapping],\n } as DSLItem\n } else {\n ret = {\n join: cond === 'include' ? 'or' : 'and',\n children: value.map((value: string) => {\n return {\n field,\n value: `(${value})`,\n operator: mapping[cond as keyof typeof mapping],\n }\n }),\n } as DSLGroup\n }\n\n return ret\n } else {\n if (isInVaildValue(value)) {\n return null\n }\n\n ret = {\n field,\n value: `(${value})`,\n operator: mapping[cond as keyof typeof mapping],\n } as DSLItem\n }\n }\n break\n default: {\n if (isInVaildValue(value)) {\n return null\n }\n ret = {\n field,\n value: `${value}`,\n operator: mapping[cond as keyof typeof mapping],\n } as DSLItem\n }\n }\n\n return ret\n}\n\nconst getEqualTimeDSL = (props: { rdate: string; field: string; value: string }) => {\n const { rdate, field, value } = props\n switch (rdate) {\n case 'exactdate':\n if (isInVaildValue(value)) {\n return null\n }\n return {\n field,\n value,\n operator: mapping['='],\n } as DSLItem\n case 'today':\n return {\n field,\n value: dayjs().format('YYYY-MM-DD'),\n operator: mapping['='],\n } as DSLItem\n case 'yesterday':\n return {\n field,\n value: dayjs().subtract(1, 'day').format('YYYY-MM-DD'),\n operator: mapping['='],\n } as DSLItem\n case 'thisweek': {\n const startOfLastWeek = dayjs().startOf('week').add(1, 'day').format('YYYY-MM-DD')\n const endOfLastWeek = dayjs().endOf('week').add(1, 'day').format('YYYY-MM-DD')\n return {\n join: 'and',\n children: [\n {\n field,\n value: startOfLastWeek,\n operator: mapping['>='],\n },\n {\n field,\n value: endOfLastWeek,\n operator: mapping['=<'],\n },\n ],\n } as DSLGroup\n }\n case 'lastweek': {\n const startOfLastWeek = dayjs()\n .subtract(1, 'week')\n .startOf('week')\n .add(1, 'day')\n .format('YYYY-MM-DD')\n const endOfLastWeek = dayjs()\n .subtract(1, 'week')\n .endOf('week')\n .add(1, 'day')\n .format('YYYY-MM-DD')\n return {\n join: 'and',\n children: [\n {\n field,\n value: startOfLastWeek,\n operator: mapping['>='],\n },\n {\n field,\n value: endOfLastWeek,\n operator: mapping['=<'],\n },\n ],\n } as DSLGroup\n }\n case 'thismonth': {\n const startOfThisMonth = dayjs().startOf('month').format('YYYY-MM-DD')\n const endOfThisMonth = dayjs().endOf('month').format('YYYY-MM-DD')\n return {\n join: 'and',\n children: [\n {\n field,\n value: startOfThisMonth,\n operator: mapping['>='],\n },\n {\n field,\n value: endOfThisMonth,\n operator: mapping['=<'],\n },\n ],\n } as DSLGroup\n }\n\n case 'lastmonth': {\n const startOfLastMonth = dayjs().subtract(1, 'month').startOf('month').format('YYYY-MM-DD')\n const endOfLastMonth = dayjs().subtract(1, 'month').endOf('month').format('YYYY-MM-DD')\n return {\n join: 'and',\n children: [\n {\n field,\n value: startOfLastMonth,\n operator: mapping['>='],\n },\n {\n field,\n value: endOfLastMonth,\n operator: mapping['=<'],\n },\n ],\n } as DSLGroup\n }\n case 'last7days': {\n const startOfLast7Days = dayjs().subtract(7, 'days').format('YYYY-MM-DD')\n const endOfLast7Days = dayjs().format('YYYY-MM-DD')\n return {\n join: 'and',\n children: [\n {\n field,\n value: startOfLast7Days,\n operator: mapping['>='],\n },\n {\n field,\n value: endOfLast7Days,\n operator: mapping['=<'],\n },\n ],\n } as DSLGroup\n }\n\n case 'last30days': {\n const startOfLast30Days = dayjs().subtract(30, 'days').format('YYYY-MM-DD')\n const endOfLast30Days = dayjs().format('YYYY-MM-DD')\n return {\n join: 'and',\n children: [\n {\n field,\n value: startOfLast30Days,\n operator: mapping['>='],\n },\n {\n field,\n value: endOfLast30Days,\n operator: mapping['=<'],\n },\n ],\n } as DSLGroup\n }\n case 'thisyear': {\n const start = dayjs().startOf('year').format('YYYY-MM-DD')\n const end = dayjs().endOf('year').format('YYYY-MM-DD')\n return {\n join: 'and',\n children: [\n {\n field,\n value: start,\n operator: mapping['>='],\n },\n {\n field,\n value: end,\n operator: mapping['=<'],\n },\n ],\n } as DSLGroup\n }\n case 'lastyear': {\n const start = dayjs().subtract(1, 'year').startOf('year').format('YYYY-MM-DD')\n const end = dayjs().subtract(1, 'year').endOf('year').format('YYYY-MM-DD')\n return {\n join: 'and',\n children: [\n {\n field,\n value: start,\n operator: mapping['>='],\n },\n {\n field,\n value: end,\n operator: mapping['=<'],\n },\n ],\n } as DSLGroup\n }\n\n default:\n return null // 对于未支持的 rdate 值返回空字符串\n }\n}\n\nconst isInVaildValue = (date: string | number | Dayjs | undefined) => {\n return isNil(date) || date === ''\n}\n"],"names":["val","value"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platox/pivot-table",
3
- "version": "0.0.62",
3
+ "version": "0.0.64",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "exports": {