@platox/pivot-table 0.0.46 → 0.0.48

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.
@@ -248,14 +248,14 @@ const ConditionModal = ({
248
248
  {
249
249
  showSearch: true,
250
250
  optionFilterProp: "label",
251
- style: { width: "150px" },
251
+ style: { width: "320px" },
252
252
  options: enumOptions,
253
253
  ...["include", "notinclude"].includes(condition) ? { mode: "multiple", maxTagCount: "responsive" } : {}
254
254
  }
255
255
  ) : enumUrl ? /* @__PURE__ */ jsx(
256
256
  DebounceEnumSelectWrapper,
257
257
  {
258
- style: { width: "150px" },
258
+ style: { width: "320px" },
259
259
  ...["include", "notinclude"].includes(condition) ? { mode: "multiple", maxTagCount: "responsive" } : {},
260
260
  fetchOptions: async (value2) => {
261
261
  var _a2;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../packages/dashboard-workbench/components/add-module-modal/components/condition-modal/index.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useCallback, useEffect, useRef } from 'react'\nimport {\n Button,\n DatePicker,\n Flex,\n Form,\n Input,\n InputNumber,\n Modal,\n Select,\n Space,\n Switch,\n} from 'antd'\nimport { MinusCircleOutlined, PlusOutlined } from '@ant-design/icons'\nimport { useTranslation } from 'react-i18next'\nimport {\n DatePickerWrapper,\n RangePickerWrapper,\n} from '@platox/pivot-table/components/global-filter-condition/ConditionSymbolAndValuePicker'\nimport { useAppContext } from '../../../../context'\nimport { EnumDataApi, FieldItem } from '../../../../types'\nimport { useConditionSymbolOptions, useConditionTypeOptions } from './config'\nimport { DebounceEnumSelectWrapper, EnumSelectWrapper } from './EnumSelect'\nimport { ConditionBlock } from './interface'\n\ninterface ConditionModalProps {\n open?: boolean\n fieldOptions?: FieldItem[]\n onSubmit?: ((values: any) => void) | undefined\n onClose?: () => void\n onOk?: ((values: any) => void) | undefined\n enumDataApi?: EnumDataApi\n value?: ConditionBlock\n}\n\nconst ConditionModal: React.FC<ConditionModalProps> = ({\n open,\n onClose,\n onOk,\n fieldOptions,\n value,\n enumDataApi,\n}) => {\n const [form] = Form.useForm()\n const { t } = useTranslation()\n const { globalData } = useAppContext()\n\n const conditionTypeOptions = useConditionTypeOptions()\n\n const { timeOptions, boolOptions, intOptions, stringOptions, rdateOptions, rdateOptions2 } =\n useConditionSymbolOptions()\n\n const conditionOptions = {\n int: intOptions,\n timestamp: timeOptions,\n string: stringOptions,\n bool: boolOptions,\n float: intOptions,\n enum: stringOptions,\n }\n\n const initData = useCallback(() => {\n if (value?.conditionList) {\n const conditionList = JSON.parse(JSON.stringify(value?.conditionList))\n form.setFieldsValue({\n conditionList: conditionList.map((item: any) => {\n if (item.val === undefined || item.val === '') {\n item.val = ''\n }\n if (item.val2 === undefined || item.val2 === '') {\n item.val2 = ''\n }\n return item\n }),\n conditionType: value.conditionType,\n })\n } else {\n form.setFieldsValue({\n conditionList: [],\n conditionType: 'all',\n })\n }\n }, [value])\n\n useEffect(() => {\n if (open) {\n initData()\n }\n }, [value, open])\n return (\n <>\n <Modal\n title={t('setFilteringCriteria')}\n open={open}\n destroyOnClose\n width=\"650px\"\n onOk={() => {\n const val = form.getFieldsValue()\n const conditionList = val.conditionList\n ? JSON.parse(JSON.stringify(val.conditionList))\n : ''\n const conditionType = val.conditionType || 'all'\n const newVal = {\n conditionList: conditionList.map((item: any) => {\n return item\n }),\n conditionType,\n }\n onClose?.()\n onOk?.(newVal)\n }}\n onCancel={() => {\n initData()\n onClose?.()\n }}\n >\n <Form\n name=\"dynamicForm\"\n form={form}\n initialValues={{ conditionType: 'all' }}\n style={{ maxWidth: 650, marginTop: '30px' }}\n >\n <Form.Item noStyle dependencies={['conditionList']}>\n {({ getFieldValue }) =>\n getFieldValue('conditionList')?.length > 1 ? (\n <Flex align=\"center\" gap={5} style={{ marginBottom: '20px' }}>\n {t('conformTo')}\n <Form.Item name=\"conditionType\" noStyle>\n <Select style={{ width: '150px' }} options={conditionTypeOptions} />\n </Form.Item>{' '}\n {t('condition')}\n </Flex>\n ) : null\n }\n </Form.Item>\n\n <Form.List name=\"conditionList\">\n {(fields, { add, remove }) => (\n <>\n {fields.map(({ key, name, ...restField }) => (\n <Space key={key} style={{ display: 'flex', marginBottom: 8 }} align=\"baseline\">\n <Form.Item {...restField} name={[name, 'field']} noStyle>\n <Select\n style={{ width: '150px' }}\n options={fieldOptions || []}\n onChange={val => {\n const values = form.getFieldValue('conditionList')\n const currField = fieldOptions?.find(item => item.value === val)\n values[name].condition = '='\n values[name].type = currField?.type\n values[name].val = ''\n values[name].val2 = ''\n if (currField?.type === 'timestamp') {\n values[name].rdate = 'exactdate'\n }\n form.setFieldsValue({\n conditionList: values,\n })\n }}\n />\n </Form.Item>\n\n <Form.Item noStyle dependencies={[['conditionList', name, 'field']]}>\n {({ getFieldValue }) => {\n const type = fieldOptions?.find(\n item => item.value === getFieldValue(['conditionList', name, 'field'])\n )?.type\n return (\n <>\n <Form.Item {...restField} name={[name, 'condition']} noStyle>\n <Select\n style={{ width: '100px' }}\n popupMatchSelectWidth={200}\n options={\n type\n ? conditionOptions[type as keyof typeof conditionOptions]\n : []\n }\n onChange={() => {\n const values = form.getFieldValue('conditionList')\n if (type === 'timestamp') {\n values[name].rdate = 'exactdate'\n }\n form.setFieldsValue({\n conditionList: values,\n })\n }}\n />\n </Form.Item>\n </>\n )\n }}\n </Form.Item>\n\n <Form.Item\n noStyle\n dependencies={[\n ['conditionList', name, 'field'],\n ['conditionList', name, 'condition'],\n ['conditionList', name, 'rdate'],\n ]}\n >\n {({ getFieldValue }) => {\n const field = getFieldValue(['conditionList', name, 'field'])\n const fieldData = fieldOptions?.find(item => item.value === field)\n const type = fieldData?.type || ''\n const enumOptions = fieldData?.enum?.map(item => ({\n ...item,\n label: globalData?.fieldMap?.[item.label] || item.label,\n }))\n const enumUrl = fieldData?.dynamic_call_enum_api\n const condition = getFieldValue(['conditionList', name, 'condition'])\n const rdate = getFieldValue(['conditionList', name, 'rdate'])\n return (\n <>\n {['int', 'float'].includes(type) &&\n !['null', 'notnull'].includes(condition) ? (\n <>\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n <InputNumber\n style={{ width: '100px' }}\n placeholder={t('pleaseEnter')}\n />\n </Form.Item>\n {condition === 'contain' ? (\n <Form.Item {...restField} name={[name, 'val2']} noStyle>\n <InputNumber\n style={{\n width: '100px',\n marginLeft: '5px',\n }}\n placeholder={t('pleaseEnter')}\n />\n </Form.Item>\n ) : null}\n </>\n ) : null}\n {type === 'timestamp' && !['null', 'notnull'].includes(condition) ? (\n <>\n {condition === '=' || condition === '<' || condition === '>' ? (\n <Form.Item {...restField} name={[name, 'rdate']} noStyle>\n <Select\n showSearch\n optionFilterProp=\"label\"\n style={{ width: '150px' }}\n options={condition === '=' ? rdateOptions : rdateOptions2}\n />\n </Form.Item>\n ) : null}\n\n {rdate == 'exactdate' && condition !== 'contain' ? (\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n <DatePickerWrapper style={{ width: '150px' }} />\n </Form.Item>\n ) : null}\n\n {condition === 'contain' ? (\n <Form.Item {...restField} noStyle>\n <RangePickerWrapper\n value={[\n getFieldValue(['conditionList', name, 'val']),\n getFieldValue(['conditionList', name, 'val2']),\n ]}\n onChange={v => {\n form.setFieldsValue({\n ['conditionList']: [\n ...form\n .getFieldValue('conditionList')\n .map((item: any) => {\n if (item.field === field) {\n return {\n ...item,\n val: v[0],\n val2: v[1],\n }\n }\n return item\n }),\n ],\n })\n }}\n />\n </Form.Item>\n ) : null}\n </>\n ) : null}\n {['string'].includes(type) &&\n !['null', 'notnull'].includes(condition) ? (\n <>\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n <Input\n style={{ width: '150px' }}\n placeholder={t('pleaseEnter')}\n />\n </Form.Item>\n {condition === 'contain' ? (\n <Form.Item {...restField} name={[name, 'val2']} noStyle>\n <Input\n style={{\n width: '150px',\n marginLeft: '5px',\n }}\n placeholder={t('pleaseEnter')}\n />\n </Form.Item>\n ) : null}\n </>\n ) : null}\n {['bool'].includes(type) ? (\n <>\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n <Switch />\n </Form.Item>\n </>\n ) : null}\n {['enum'].includes(type) && !['null', 'notnull'].includes(condition) ? (\n <>\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n {enumOptions && enumOptions?.length > 0 ? (\n <EnumSelectWrapper\n showSearch\n optionFilterProp=\"label\"\n style={{ width: '150px' }}\n options={enumOptions}\n {...(['include', 'notinclude'].includes(condition)\n ? { mode: 'multiple', maxTagCount: 'responsive' }\n : {})}\n />\n ) : enumUrl ? (\n <DebounceEnumSelectWrapper\n style={{ width: '150px' }}\n {...(['include', 'notinclude'].includes(condition)\n ? { mode: 'multiple', maxTagCount: 'responsive' }\n : {})}\n fetchOptions={async value => {\n let dfUrl = enumUrl\n if (value) {\n dfUrl = `${dfUrl}?q=${value}`\n }\n return (await enumDataApi?.(dfUrl)?.then(\n (res: any) => res.data?.list\n )) as any\n }}\n />\n ) : null}\n </Form.Item>\n </>\n ) : null}\n </>\n )\n }}\n </Form.Item>\n <MinusCircleOutlined onClick={() => remove(name)} />\n </Space>\n ))}\n <Form.Item>\n <Button\n type=\"dashed\"\n onClick={() => {\n const type = fieldOptions?.[0].value\n add(\n type !== 'timestamp'\n ? {\n field: fieldOptions?.[0].value,\n condition: '=',\n type: fieldOptions?.[0].type,\n val: '',\n val2: '',\n }\n : {\n field: fieldOptions?.[0].value,\n condition: '=',\n type: fieldOptions?.[0].type,\n exactdate: 'exactdate',\n val: '',\n val2: '',\n }\n )\n }}\n block\n icon={<PlusOutlined />}\n >\n {t('addCondition')}\n </Button>\n </Form.Item>\n </>\n )}\n </Form.List>\n </Form>\n </Modal>\n </>\n )\n}\nexport default ConditionModal\n"],"names":["_a","value"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../packages/dashboard-workbench/components/add-module-modal/components/condition-modal/index.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useCallback, useEffect, useRef } from 'react'\nimport {\n Button,\n DatePicker,\n Flex,\n Form,\n Input,\n InputNumber,\n Modal,\n Select,\n Space,\n Switch,\n} from 'antd'\nimport { MinusCircleOutlined, PlusOutlined } from '@ant-design/icons'\nimport { useTranslation } from 'react-i18next'\nimport {\n DatePickerWrapper,\n RangePickerWrapper,\n} from '@platox/pivot-table/components/global-filter-condition/ConditionSymbolAndValuePicker'\nimport { useAppContext } from '../../../../context'\nimport { EnumDataApi, FieldItem } from '../../../../types'\nimport { useConditionSymbolOptions, useConditionTypeOptions } from './config'\nimport { DebounceEnumSelectWrapper, EnumSelectWrapper } from './EnumSelect'\nimport { ConditionBlock } from './interface'\n\ninterface ConditionModalProps {\n open?: boolean\n fieldOptions?: FieldItem[]\n onSubmit?: ((values: any) => void) | undefined\n onClose?: () => void\n onOk?: ((values: any) => void) | undefined\n enumDataApi?: EnumDataApi\n value?: ConditionBlock\n}\n\nconst ConditionModal: React.FC<ConditionModalProps> = ({\n open,\n onClose,\n onOk,\n fieldOptions,\n value,\n enumDataApi,\n}) => {\n const [form] = Form.useForm()\n const { t } = useTranslation()\n const { globalData } = useAppContext()\n\n const conditionTypeOptions = useConditionTypeOptions()\n\n const { timeOptions, boolOptions, intOptions, stringOptions, rdateOptions, rdateOptions2 } =\n useConditionSymbolOptions()\n\n const conditionOptions = {\n int: intOptions,\n timestamp: timeOptions,\n string: stringOptions,\n bool: boolOptions,\n float: intOptions,\n enum: stringOptions,\n }\n\n const initData = useCallback(() => {\n if (value?.conditionList) {\n const conditionList = JSON.parse(JSON.stringify(value?.conditionList))\n form.setFieldsValue({\n conditionList: conditionList.map((item: any) => {\n if (item.val === undefined || item.val === '') {\n item.val = ''\n }\n if (item.val2 === undefined || item.val2 === '') {\n item.val2 = ''\n }\n return item\n }),\n conditionType: value.conditionType,\n })\n } else {\n form.setFieldsValue({\n conditionList: [],\n conditionType: 'all',\n })\n }\n }, [value])\n\n useEffect(() => {\n if (open) {\n initData()\n }\n }, [value, open])\n return (\n <>\n <Modal\n title={t('setFilteringCriteria')}\n open={open}\n destroyOnClose\n width=\"650px\"\n onOk={() => {\n const val = form.getFieldsValue()\n const conditionList = val.conditionList\n ? JSON.parse(JSON.stringify(val.conditionList))\n : ''\n const conditionType = val.conditionType || 'all'\n const newVal = {\n conditionList: conditionList.map((item: any) => {\n return item\n }),\n conditionType,\n }\n onClose?.()\n onOk?.(newVal)\n }}\n onCancel={() => {\n initData()\n onClose?.()\n }}\n >\n <Form\n name=\"dynamicForm\"\n form={form}\n initialValues={{ conditionType: 'all' }}\n style={{ maxWidth: 650, marginTop: '30px' }}\n >\n <Form.Item noStyle dependencies={['conditionList']}>\n {({ getFieldValue }) =>\n getFieldValue('conditionList')?.length > 1 ? (\n <Flex align=\"center\" gap={5} style={{ marginBottom: '20px' }}>\n {t('conformTo')}\n <Form.Item name=\"conditionType\" noStyle>\n <Select style={{ width: '150px' }} options={conditionTypeOptions} />\n </Form.Item>{' '}\n {t('condition')}\n </Flex>\n ) : null\n }\n </Form.Item>\n\n <Form.List name=\"conditionList\">\n {(fields, { add, remove }) => (\n <>\n {fields.map(({ key, name, ...restField }) => (\n <Space key={key} style={{ display: 'flex', marginBottom: 8 }} align=\"baseline\">\n <Form.Item {...restField} name={[name, 'field']} noStyle>\n <Select\n style={{ width: '150px' }}\n options={fieldOptions || []}\n onChange={val => {\n const values = form.getFieldValue('conditionList')\n const currField = fieldOptions?.find(item => item.value === val)\n values[name].condition = '='\n values[name].type = currField?.type\n values[name].val = ''\n values[name].val2 = ''\n if (currField?.type === 'timestamp') {\n values[name].rdate = 'exactdate'\n }\n form.setFieldsValue({\n conditionList: values,\n })\n }}\n />\n </Form.Item>\n\n <Form.Item noStyle dependencies={[['conditionList', name, 'field']]}>\n {({ getFieldValue }) => {\n const type = fieldOptions?.find(\n item => item.value === getFieldValue(['conditionList', name, 'field'])\n )?.type\n return (\n <>\n <Form.Item {...restField} name={[name, 'condition']} noStyle>\n <Select\n style={{ width: '100px' }}\n popupMatchSelectWidth={200}\n options={\n type\n ? conditionOptions[type as keyof typeof conditionOptions]\n : []\n }\n onChange={() => {\n const values = form.getFieldValue('conditionList')\n if (type === 'timestamp') {\n values[name].rdate = 'exactdate'\n }\n form.setFieldsValue({\n conditionList: values,\n })\n }}\n />\n </Form.Item>\n </>\n )\n }}\n </Form.Item>\n\n <Form.Item\n noStyle\n dependencies={[\n ['conditionList', name, 'field'],\n ['conditionList', name, 'condition'],\n ['conditionList', name, 'rdate'],\n ]}\n >\n {({ getFieldValue }) => {\n const field = getFieldValue(['conditionList', name, 'field'])\n const fieldData = fieldOptions?.find(item => item.value === field)\n const type = fieldData?.type || ''\n const enumOptions = fieldData?.enum?.map(item => ({\n ...item,\n label: globalData?.fieldMap?.[item.label] || item.label,\n }))\n const enumUrl = fieldData?.dynamic_call_enum_api\n const condition = getFieldValue(['conditionList', name, 'condition'])\n const rdate = getFieldValue(['conditionList', name, 'rdate'])\n return (\n <>\n {['int', 'float'].includes(type) &&\n !['null', 'notnull'].includes(condition) ? (\n <>\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n <InputNumber\n style={{ width: '100px' }}\n placeholder={t('pleaseEnter')}\n />\n </Form.Item>\n {condition === 'contain' ? (\n <Form.Item {...restField} name={[name, 'val2']} noStyle>\n <InputNumber\n style={{\n width: '100px',\n marginLeft: '5px',\n }}\n placeholder={t('pleaseEnter')}\n />\n </Form.Item>\n ) : null}\n </>\n ) : null}\n {type === 'timestamp' && !['null', 'notnull'].includes(condition) ? (\n <>\n {condition === '=' || condition === '<' || condition === '>' ? (\n <Form.Item {...restField} name={[name, 'rdate']} noStyle>\n <Select\n showSearch\n optionFilterProp=\"label\"\n style={{ width: '150px' }}\n options={condition === '=' ? rdateOptions : rdateOptions2}\n />\n </Form.Item>\n ) : null}\n\n {rdate == 'exactdate' && condition !== 'contain' ? (\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n <DatePickerWrapper style={{ width: '150px' }} />\n </Form.Item>\n ) : null}\n\n {condition === 'contain' ? (\n <Form.Item {...restField} noStyle>\n <RangePickerWrapper\n value={[\n getFieldValue(['conditionList', name, 'val']),\n getFieldValue(['conditionList', name, 'val2']),\n ]}\n onChange={v => {\n form.setFieldsValue({\n ['conditionList']: [\n ...form\n .getFieldValue('conditionList')\n .map((item: any) => {\n if (item.field === field) {\n return {\n ...item,\n val: v[0],\n val2: v[1],\n }\n }\n return item\n }),\n ],\n })\n }}\n />\n </Form.Item>\n ) : null}\n </>\n ) : null}\n {['string'].includes(type) &&\n !['null', 'notnull'].includes(condition) ? (\n <>\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n <Input\n style={{ width: '150px' }}\n placeholder={t('pleaseEnter')}\n />\n </Form.Item>\n {condition === 'contain' ? (\n <Form.Item {...restField} name={[name, 'val2']} noStyle>\n <Input\n style={{\n width: '150px',\n marginLeft: '5px',\n }}\n placeholder={t('pleaseEnter')}\n />\n </Form.Item>\n ) : null}\n </>\n ) : null}\n {['bool'].includes(type) ? (\n <>\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n <Switch />\n </Form.Item>\n </>\n ) : null}\n {['enum'].includes(type) && !['null', 'notnull'].includes(condition) ? (\n <>\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n {enumOptions && enumOptions?.length > 0 ? (\n <EnumSelectWrapper\n showSearch\n optionFilterProp=\"label\"\n style={{ width: '320px' }}\n options={enumOptions}\n {...(['include', 'notinclude'].includes(condition)\n ? { mode: 'multiple', maxTagCount: 'responsive' }\n : {})}\n />\n ) : enumUrl ? (\n <DebounceEnumSelectWrapper\n style={{ width: '320px' }}\n // popupMatchSelectWidth={300}\n {...(['include', 'notinclude'].includes(condition)\n ? { mode: 'multiple', maxTagCount: 'responsive' }\n : {})}\n fetchOptions={async value => {\n let dfUrl = enumUrl\n if (value) {\n dfUrl = `${dfUrl}?q=${value}`\n }\n return (await enumDataApi?.(dfUrl)?.then(\n (res: any) => res.data?.list\n )) as any\n }}\n />\n ) : null}\n </Form.Item>\n </>\n ) : null}\n </>\n )\n }}\n </Form.Item>\n <MinusCircleOutlined onClick={() => remove(name)} />\n </Space>\n ))}\n <Form.Item>\n <Button\n type=\"dashed\"\n onClick={() => {\n const type = fieldOptions?.[0].value\n add(\n type !== 'timestamp'\n ? {\n field: fieldOptions?.[0].value,\n condition: '=',\n type: fieldOptions?.[0].type,\n val: '',\n val2: '',\n }\n : {\n field: fieldOptions?.[0].value,\n condition: '=',\n type: fieldOptions?.[0].type,\n exactdate: 'exactdate',\n val: '',\n val2: '',\n }\n )\n }}\n block\n icon={<PlusOutlined />}\n >\n {t('addCondition')}\n </Button>\n </Form.Item>\n </>\n )}\n </Form.List>\n </Form>\n </Modal>\n </>\n )\n}\nexport default ConditionModal\n"],"names":["_a","value"],"mappings":"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"}
@@ -180,7 +180,7 @@ const ConditionSymbolAndValuePicker = (props) => {
180
180
  {
181
181
  showSearch: true,
182
182
  optionFilterProp: "label",
183
- style: { width: "150px" },
183
+ style: { width: "200px" },
184
184
  options: enumOptions,
185
185
  value: getVaildValue(val),
186
186
  onChange: (v) => {
@@ -191,7 +191,8 @@ const ConditionSymbolAndValuePicker = (props) => {
191
191
  ) : enumUrl ? /* @__PURE__ */ jsx(
192
192
  DebounceEnumSelectWrapper,
193
193
  {
194
- style: { width: "150px" },
194
+ style: { width: "200px" },
195
+ popupMatchSelectWidth: 300,
195
196
  value: getVaildValue(val),
196
197
  ...["include", "notinclude"].includes(symbolValue) ? { mode: "multiple", maxTagCount: "responsive" } : {},
197
198
  onChange: (v) => {
@@ -1 +1 @@
1
- {"version":3,"file":"ConditionSymbolAndValuePicker.js","sources":["../../../../packages/dashboard-workbench/components/global-filter-condition/ConditionSymbolAndValuePicker.tsx"],"sourcesContent":["import { ChangeEventHandler, useEffect, useMemo, useState, type CSSProperties } from 'react'\nimport { DatePicker, DatePickerProps, Input, InputNumber, Select, SelectProps, Switch } from 'antd'\nimport { useTranslation } from 'react-i18next'\nimport { useControllableValue, useMemoizedFn } from 'ahooks'\nimport dayjs, { Dayjs } from 'dayjs'\nimport { useAppContext } from '../../context'\nimport { FieldItem } from '../../types'\nimport { useConditionSymbolOptions } from '../add-module-modal/components/condition-modal/config'\nimport {\n DebounceEnumSelectWrapper,\n EnumSelectWrapper,\n} from '../add-module-modal/components/condition-modal/EnumSelect'\nimport { ConditionListItemWrapper } from './interface'\n\nexport type ConditionSymbolAndValuePickerProps = {\n style?: CSSProperties\n className?: string\n\n field?: FieldItem\n\n value?: Omit<ConditionListItemWrapper, 'field'>\n onChange: (value: Omit<ConditionListItemWrapper, 'field'>) => void\n}\n\nexport const ConditionSymbolAndValuePicker = (props: ConditionSymbolAndValuePickerProps) => {\n const { style, className, field } = props\n const fieldType = field?.type\n\n const { t } = useTranslation()\n\n const { timeOptions, boolOptions, intOptions, stringOptions, rdateOptions, rdateOptions2 } =\n useConditionSymbolOptions()\n\n const conditionOptions = {\n int: intOptions,\n timestamp: timeOptions,\n string: stringOptions,\n bool: boolOptions,\n float: intOptions,\n enum: stringOptions,\n }\n\n const [value, setValue] = useControllableValue(props)\n\n /* ============================== symbol =============================== */\n let symbolOptions = conditionOptions[fieldType as keyof typeof conditionOptions] ?? []\n let symbolDisabled = !props?.field\n let symbolValue = value?.condition\n let symbolOnChange = (v: string) => {\n let newValue = { ...value, condition: v }\n if (fieldType === 'timestamp') {\n newValue['rdate'] = 'exactdate'\n }\n setValue({ ...value, condition: v })\n }\n\n /* ============================== condition value =============================== */\n const val = value?.val\n const val2 = value?.val2\n const rdate = value?.rdate\n\n const enumDataApi = useAppContext()?.service?.enumDataApi\n const fieldMap = useAppContext()?.globalData?.fieldMap\n const { options: enumOptions, enumUrl } = useMemo(() => {\n let options: {\n label: unknown\n value: unknown\n }[] = []\n let enumUrl: string | undefined = undefined\n\n if (field?.type === 'enum') {\n options =\n field?.enum?.map(item => ({\n label: fieldMap?.[item.label] ?? item.label,\n value: item.value,\n })) ?? []\n enumUrl = field?.dynamic_call_enum_api\n }\n return {\n options,\n enumUrl,\n }\n }, [field, fieldMap])\n\n const handleConditionValueChange = useMemoizedFn((key: 'val' | 'val2' | 'rdate', v: unknown) => {\n //@ts-ignore\n let _v = v?.target?.value ?? v\n setValue({ ...value, [key]: _v })\n })\n\n const getVaildValue = <T,>(\n v: unknown,\n type?: 'string' | 'number' | 'dayjs' | 'boolean' | 'enum' | 'lazy_enum',\n defaultValue?: T\n ) => {\n let ret = defaultValue\n\n switch (type) {\n case 'number':\n return (typeof v === 'number' ? v : ret) as T\n case 'dayjs': //组件内部处理\n return (typeof v === 'string' ? v : ret) as T\n case 'boolean':\n return (typeof v === 'boolean' ? v : ret) as T\n case 'string':\n return (typeof v === 'string' ? v : ret) as T\n default:\n return v as T\n }\n }\n\n return (\n <>\n <Select\n style={{ width: '100px' }}\n popupMatchSelectWidth={200}\n disabled={symbolDisabled}\n options={symbolOptions}\n value={symbolValue}\n onChange={symbolOnChange}\n />\n {!fieldType && (\n <>\n <Input style={{ width: '100px' }} disabled />\n </>\n )}\n\n {!!fieldType && (\n <>\n {['int', 'float'].includes(fieldType) && !['null', 'notnull'].includes(symbolValue) ? (\n <>\n <InputNumber\n style={{ width: '100px' }}\n placeholder={t('pleaseEnter')}\n value={getVaildValue(val)}\n onChange={v => {\n handleConditionValueChange('val', v)\n }}\n />\n {symbolValue === 'contain' ? (\n <InputNumber\n style={{ width: '100px', marginLeft: '5px' }}\n placeholder={t('pleaseEnter')}\n value={getVaildValue(val2)}\n onChange={v => {\n handleConditionValueChange('val2', v)\n }}\n />\n ) : null}\n </>\n ) : null}\n\n {fieldType === 'timestamp' && !['null', 'notnull'].includes(symbolValue) ? (\n <>\n {symbolValue === '=' || symbolValue === '<' || symbolValue === '>' ? (\n <Select\n showSearch\n optionFilterProp=\"label\"\n style={{ width: '150px' }}\n options={symbolValue === '=' ? rdateOptions : rdateOptions2}\n value={getVaildValue(rdate)}\n onChange={v => {\n handleConditionValueChange('rdate', v)\n }}\n />\n ) : null}\n\n {rdate == 'exactdate' && symbolValue !== 'contain' ? (\n <DatePickerWrapper\n style={{ width: '150px' }}\n value={getVaildValue(val, 'dayjs')}\n onChange={v => {\n handleConditionValueChange('val', v)\n }}\n />\n ) : null}\n\n {symbolValue === 'contain' ? (\n <RangePickerWrapper\n value={[getVaildValue(val, 'dayjs'), getVaildValue(val2, 'dayjs')]}\n onChange={v => {\n setValue({ ...value, val: v[0], val2: v[1] })\n // handleConditionValueChange('val', v?.[0])\n // handleConditionValueChange('val2', v?.[1])\n }}\n />\n ) : null}\n </>\n ) : null}\n\n {['string'].includes(fieldType) && !['null', 'notnull'].includes(symbolValue) ? (\n <>\n <Input\n style={{ width: '150px' }}\n placeholder={t('pleaseEnter')}\n value={getVaildValue(val)}\n onChange={v => {\n handleConditionValueChange('val', v)\n }}\n />\n {symbolValue === 'contain' ? (\n <Input\n style={{ width: '150px', marginLeft: '5px' }}\n placeholder={t('pleaseEnter')}\n value={getVaildValue(val2, 'dayjs')}\n onChange={v => {\n handleConditionValueChange('val2', v)\n }}\n />\n ) : null}\n </>\n ) : null}\n\n {['bool'].includes(fieldType) ? (\n <Switch\n value={getVaildValue(val, 'boolean')}\n onChange={v => {\n handleConditionValueChange('val', v)\n }}\n />\n ) : null}\n\n {['enum'].includes(fieldType) && !['null', 'notnull'].includes(symbolValue) ? (\n <>\n {enumOptions && enumOptions?.length > 0 ? (\n <EnumSelectWrapper\n showSearch\n optionFilterProp=\"label\"\n style={{ width: '150px' }}\n options={enumOptions as { label: string; value: string }[]}\n value={getVaildValue(val)}\n onChange={v => {\n handleConditionValueChange('val', v)\n }}\n {...(['include', 'notinclude'].includes(symbolValue)\n ? { mode: 'multiple', maxTagCount: 'responsive' }\n : {})}\n />\n ) : enumUrl ? (\n <DebounceEnumSelectWrapper<{ label: string; value: string }>\n // mode=\"multiple\"\n style={{ width: '150px' }}\n value={getVaildValue(val)}\n {...(['include', 'notinclude'].includes(symbolValue)\n ? { mode: 'multiple', maxTagCount: 'responsive' }\n : {})}\n onChange={v => {\n handleConditionValueChange('val', v)\n }}\n fetchOptions={async value => {\n let dfUrl = enumUrl\n if (value) {\n dfUrl = `${dfUrl}?q=${value}`\n }\n return (await enumDataApi?.(dfUrl)?.then(res => res.data?.list)) ?? []\n }}\n />\n ) : null}\n </>\n ) : null}\n </>\n )}\n </>\n )\n}\n\nConditionSymbolAndValuePicker.displayName = 'ConditionSymbolAndValuePicker'\n\nexport default ConditionSymbolAndValuePicker\n\n/* ============================== split =============================== */\nconst format = 'YYYY-MM-DD'\n\nexport const DatePickerWrapper = (\n props: { value?: string; onChange?: (v: string) => void } & DatePickerProps\n) => {\n const { value = '', onChange, ...others } = props\n\n const dayjsValue = useMemo(() => {\n return !!value ? dayjs(value, format) : undefined\n }, [value])\n\n return (\n <DatePicker\n {...(others as unknown as any)}\n value={dayjsValue}\n onChange={(v: Dayjs | null) => {\n return onChange?.(v?.format(format) ?? '')\n }}\n />\n )\n}\n\nexport const RangePickerWrapper = (\n props: {\n value?: [string, string]\n onChange?: (v: [string, string]) => void\n } & Omit<DatePickerProps, 'value' | 'onChange'>\n) => {\n const { value, onChange, ...others } = props\n\n const dayjsValue = useMemo(() => {\n let start = !!value?.[0] ? dayjs(value?.[0], format) : undefined\n let end = !!value?.[1] ? dayjs(value?.[1], format) : undefined\n return [start, end]\n }, [value?.[0] ?? '', value?.[1] ?? ''])\n\n return (\n <DatePicker.RangePicker\n {...(others as unknown as any)}\n value={dayjsValue}\n allowClear={false}\n onChange={(v: [Dayjs, Dayjs] | null) => {\n let start = v?.[0]?.format(format) ?? ''\n let end = v?.[1]?.format(format) ?? ''\n onChange?.([start, end])\n }}\n />\n )\n}\n"],"names":["enumUrl","_a","value"],"mappings":"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"}
1
+ {"version":3,"file":"ConditionSymbolAndValuePicker.js","sources":["../../../../packages/dashboard-workbench/components/global-filter-condition/ConditionSymbolAndValuePicker.tsx"],"sourcesContent":["import { ChangeEventHandler, useEffect, useMemo, useState, type CSSProperties } from 'react'\nimport { DatePicker, DatePickerProps, Input, InputNumber, Select, SelectProps, Switch } from 'antd'\nimport { useTranslation } from 'react-i18next'\nimport { useControllableValue, useMemoizedFn } from 'ahooks'\nimport dayjs, { Dayjs } from 'dayjs'\nimport { useAppContext } from '../../context'\nimport { FieldItem } from '../../types'\nimport { useConditionSymbolOptions } from '../add-module-modal/components/condition-modal/config'\nimport {\n DebounceEnumSelectWrapper,\n EnumSelectWrapper,\n} from '../add-module-modal/components/condition-modal/EnumSelect'\nimport { ConditionListItemWrapper } from './interface'\n\nexport type ConditionSymbolAndValuePickerProps = {\n style?: CSSProperties\n className?: string\n\n field?: FieldItem\n\n value?: Omit<ConditionListItemWrapper, 'field'>\n onChange: (value: Omit<ConditionListItemWrapper, 'field'>) => void\n}\n\nexport const ConditionSymbolAndValuePicker = (props: ConditionSymbolAndValuePickerProps) => {\n const { style, className, field } = props\n const fieldType = field?.type\n\n const { t } = useTranslation()\n\n const { timeOptions, boolOptions, intOptions, stringOptions, rdateOptions, rdateOptions2 } =\n useConditionSymbolOptions()\n\n const conditionOptions = {\n int: intOptions,\n timestamp: timeOptions,\n string: stringOptions,\n bool: boolOptions,\n float: intOptions,\n enum: stringOptions,\n }\n\n const [value, setValue] = useControllableValue(props)\n\n /* ============================== symbol =============================== */\n let symbolOptions = conditionOptions[fieldType as keyof typeof conditionOptions] ?? []\n let symbolDisabled = !props?.field\n let symbolValue = value?.condition\n let symbolOnChange = (v: string) => {\n let newValue = { ...value, condition: v }\n if (fieldType === 'timestamp') {\n newValue['rdate'] = 'exactdate'\n }\n setValue({ ...value, condition: v })\n }\n\n /* ============================== condition value =============================== */\n const val = value?.val\n const val2 = value?.val2\n const rdate = value?.rdate\n\n const enumDataApi = useAppContext()?.service?.enumDataApi\n const fieldMap = useAppContext()?.globalData?.fieldMap\n const { options: enumOptions, enumUrl } = useMemo(() => {\n let options: {\n label: unknown\n value: unknown\n }[] = []\n let enumUrl: string | undefined = undefined\n\n if (field?.type === 'enum') {\n options =\n field?.enum?.map(item => ({\n label: fieldMap?.[item.label] ?? item.label,\n value: item.value,\n })) ?? []\n enumUrl = field?.dynamic_call_enum_api\n }\n return {\n options,\n enumUrl,\n }\n }, [field, fieldMap])\n\n const handleConditionValueChange = useMemoizedFn((key: 'val' | 'val2' | 'rdate', v: unknown) => {\n //@ts-ignore\n let _v = v?.target?.value ?? v\n setValue({ ...value, [key]: _v })\n })\n\n const getVaildValue = <T,>(\n v: unknown,\n type?: 'string' | 'number' | 'dayjs' | 'boolean' | 'enum' | 'lazy_enum',\n defaultValue?: T\n ) => {\n let ret = defaultValue\n\n switch (type) {\n case 'number':\n return (typeof v === 'number' ? v : ret) as T\n case 'dayjs': //组件内部处理\n return (typeof v === 'string' ? v : ret) as T\n case 'boolean':\n return (typeof v === 'boolean' ? v : ret) as T\n case 'string':\n return (typeof v === 'string' ? v : ret) as T\n default:\n return v as T\n }\n }\n\n return (\n <>\n <Select\n style={{ width: '100px' }}\n popupMatchSelectWidth={200}\n disabled={symbolDisabled}\n options={symbolOptions}\n value={symbolValue}\n onChange={symbolOnChange}\n />\n {!fieldType && (\n <>\n <Input style={{ width: '100px' }} disabled />\n </>\n )}\n\n {!!fieldType && (\n <>\n {['int', 'float'].includes(fieldType) && !['null', 'notnull'].includes(symbolValue) ? (\n <>\n <InputNumber\n style={{ width: '100px' }}\n placeholder={t('pleaseEnter')}\n value={getVaildValue(val)}\n onChange={v => {\n handleConditionValueChange('val', v)\n }}\n />\n {symbolValue === 'contain' ? (\n <InputNumber\n style={{ width: '100px', marginLeft: '5px' }}\n placeholder={t('pleaseEnter')}\n value={getVaildValue(val2)}\n onChange={v => {\n handleConditionValueChange('val2', v)\n }}\n />\n ) : null}\n </>\n ) : null}\n\n {fieldType === 'timestamp' && !['null', 'notnull'].includes(symbolValue) ? (\n <>\n {symbolValue === '=' || symbolValue === '<' || symbolValue === '>' ? (\n <Select\n showSearch\n optionFilterProp=\"label\"\n style={{ width: '150px' }}\n options={symbolValue === '=' ? rdateOptions : rdateOptions2}\n value={getVaildValue(rdate)}\n onChange={v => {\n handleConditionValueChange('rdate', v)\n }}\n />\n ) : null}\n\n {rdate == 'exactdate' && symbolValue !== 'contain' ? (\n <DatePickerWrapper\n style={{ width: '150px' }}\n value={getVaildValue(val, 'dayjs')}\n onChange={v => {\n handleConditionValueChange('val', v)\n }}\n />\n ) : null}\n\n {symbolValue === 'contain' ? (\n <RangePickerWrapper\n value={[getVaildValue(val, 'dayjs'), getVaildValue(val2, 'dayjs')]}\n onChange={v => {\n setValue({ ...value, val: v[0], val2: v[1] })\n // handleConditionValueChange('val', v?.[0])\n // handleConditionValueChange('val2', v?.[1])\n }}\n />\n ) : null}\n </>\n ) : null}\n\n {['string'].includes(fieldType) && !['null', 'notnull'].includes(symbolValue) ? (\n <>\n <Input\n style={{ width: '150px' }}\n placeholder={t('pleaseEnter')}\n value={getVaildValue(val)}\n onChange={v => {\n handleConditionValueChange('val', v)\n }}\n />\n {symbolValue === 'contain' ? (\n <Input\n style={{ width: '150px', marginLeft: '5px' }}\n placeholder={t('pleaseEnter')}\n value={getVaildValue(val2, 'dayjs')}\n onChange={v => {\n handleConditionValueChange('val2', v)\n }}\n />\n ) : null}\n </>\n ) : null}\n\n {['bool'].includes(fieldType) ? (\n <Switch\n value={getVaildValue(val, 'boolean')}\n onChange={v => {\n handleConditionValueChange('val', v)\n }}\n />\n ) : null}\n\n {['enum'].includes(fieldType) && !['null', 'notnull'].includes(symbolValue) ? (\n <>\n {enumOptions && enumOptions?.length > 0 ? (\n <EnumSelectWrapper\n showSearch\n optionFilterProp=\"label\"\n style={{ width: '200px' }}\n options={enumOptions as { label: string; value: string }[]}\n value={getVaildValue(val)}\n onChange={v => {\n handleConditionValueChange('val', v)\n }}\n {...(['include', 'notinclude'].includes(symbolValue)\n ? { mode: 'multiple', maxTagCount: 'responsive' }\n : {})}\n />\n ) : enumUrl ? (\n <DebounceEnumSelectWrapper<{ label: string; value: string }>\n // mode=\"multiple\"\n style={{ width: '200px' }}\n popupMatchSelectWidth={300}\n value={getVaildValue(val)}\n {...(['include', 'notinclude'].includes(symbolValue)\n ? { mode: 'multiple', maxTagCount: 'responsive' }\n : {})}\n onChange={v => {\n handleConditionValueChange('val', v)\n }}\n fetchOptions={async value => {\n let dfUrl = enumUrl\n if (value) {\n dfUrl = `${dfUrl}?q=${value}`\n }\n return (await enumDataApi?.(dfUrl)?.then(res => res.data?.list)) ?? []\n }}\n />\n ) : null}\n </>\n ) : null}\n </>\n )}\n </>\n )\n}\n\nConditionSymbolAndValuePicker.displayName = 'ConditionSymbolAndValuePicker'\n\nexport default ConditionSymbolAndValuePicker\n\n/* ============================== split =============================== */\nconst format = 'YYYY-MM-DD'\n\nexport const DatePickerWrapper = (\n props: { value?: string; onChange?: (v: string) => void } & DatePickerProps\n) => {\n const { value = '', onChange, ...others } = props\n\n const dayjsValue = useMemo(() => {\n return !!value ? dayjs(value, format) : undefined\n }, [value])\n\n return (\n <DatePicker\n {...(others as unknown as any)}\n value={dayjsValue}\n onChange={(v: Dayjs | null) => {\n return onChange?.(v?.format(format) ?? '')\n }}\n />\n )\n}\n\nexport const RangePickerWrapper = (\n props: {\n value?: [string, string]\n onChange?: (v: [string, string]) => void\n } & Omit<DatePickerProps, 'value' | 'onChange'>\n) => {\n const { value, onChange, ...others } = props\n\n const dayjsValue = useMemo(() => {\n let start = !!value?.[0] ? dayjs(value?.[0], format) : undefined\n let end = !!value?.[1] ? dayjs(value?.[1], format) : undefined\n return [start, end]\n }, [value?.[0] ?? '', value?.[1] ?? ''])\n\n return (\n <DatePicker.RangePicker\n {...(others as unknown as any)}\n value={dayjsValue}\n allowClear={false}\n onChange={(v: [Dayjs, Dayjs] | null) => {\n let start = v?.[0]?.format(format) ?? ''\n let end = v?.[1]?.format(format) ?? ''\n onChange?.([start, end])\n }}\n />\n )\n}\n"],"names":["enumUrl","_a","value"],"mappings":";;;;;;;;;AAwBa,MAAA,gCAAgC,CAAC,UAA8C;;AAC1F,QAAM,EAAE,OAAO,WAAW,MAAU,IAAA;AACpC,QAAM,YAAY,+BAAO;AAEnB,QAAA,EAAE,EAAE,IAAI,eAAe;AAEvB,QAAA,EAAE,aAAa,aAAa,YAAY,eAAe,cAAc,kBACzE,0BAA0B;AAE5B,QAAM,mBAAmB;AAAA,IACvB,KAAK;AAAA,IACL,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,EACR;AAEA,QAAM,CAAC,OAAO,QAAQ,IAAI,qBAAqB,KAAK;AAGpD,MAAI,gBAAgB,iBAAiB,SAA0C,KAAK,CAAC;AACjF,MAAA,iBAAiB,EAAC,+BAAO;AAC7B,MAAI,cAAc,+BAAO;AACrB,MAAA,iBAAiB,CAAC,MAAc;AAClC,KAAe,EAAE,GAAG,OAAO,WAAW,EAAE;AAIxC,aAAS,EAAE,GAAG,OAAO,WAAW,GAAG;AAAA,EACrC;AAGA,QAAM,MAAM,+BAAO;AACnB,QAAM,OAAO,+BAAO;AACpB,QAAM,QAAQ,+BAAO;AAEf,QAAA,eAAc,+BAAA,mBAAiB,YAAjB,mBAA0B;AACxC,QAAA,YAAW,+BAAA,mBAAiB,eAAjB,mBAA6B;AAC9C,QAAM,EAAE,SAAS,aAAa,QAAQ,IAAI,QAAQ,MAAM;;AACtD,QAAI,UAGE,CAAC;AACP,QAAIA,WAA8B;AAE9B,SAAA,+BAAO,UAAS,QAAQ;AAExB,kBAAAC,MAAA,+BAAO,SAAP,gBAAAA,IAAa,IAAI,CAAS,UAAA;AAAA,QACxB,QAAO,qCAAW,KAAK,WAAU,KAAK;AAAA,QACtC,OAAO,KAAK;AAAA,MACd,QAAO,CAAC;AACVD,iBAAU,+BAAO;AAAA,IAAA;AAEZ,WAAA;AAAA,MACL;AAAA,MACA,SAAAA;AAAAA,IACF;AAAA,EAAA,GACC,CAAC,OAAO,QAAQ,CAAC;AAEpB,QAAM,6BAA6B,cAAc,CAAC,KAA+B,MAAe;;AAE1F,QAAA,OAAKC,MAAA,uBAAG,WAAH,gBAAAA,IAAW,UAAS;AAC7B,aAAS,EAAE,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI;AAAA,EAAA,CACjC;AAED,QAAM,gBAAgB,CACpB,GACA,MACA,iBACG;AACH,QAAI,MAAM;AAEV,YAAQ,MAAM;AAAA,MACZ,KAAK;AACK,eAAA,OAAO,MAAM,WAAW,IAAI;AAAA,MACtC,KAAK;AACK,eAAA,OAAO,MAAM,WAAW,IAAI;AAAA,MACtC,KAAK;AACK,eAAA,OAAO,MAAM,YAAY,IAAI;AAAA,MACvC,KAAK;AACK,eAAA,OAAO,MAAM,WAAW,IAAI;AAAA,MACtC;AACS,eAAA;AAAA,IAAA;AAAA,EAEb;AAEA,SAEI,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,OAAO,EAAE,OAAO,QAAQ;AAAA,QACxB,uBAAuB;AAAA,QACvB,UAAU;AAAA,QACV,SAAS;AAAA,QACT,OAAO;AAAA,QACP,UAAU;AAAA,MAAA;AAAA,IACZ;AAAA,IACC,CAAC,aAEE,oBAAA,UAAA,EAAA,UAAA,oBAAC,OAAM,EAAA,OAAO,EAAE,OAAO,QAAQ,GAAG,UAAQ,KAAC,CAAA,GAC7C;AAAA,IAGD,CAAC,CAAC,aAEE,qBAAA,UAAA,EAAA,UAAA;AAAA,MAAA,CAAC,OAAO,OAAO,EAAE,SAAS,SAAS,KAAK,CAAC,CAAC,QAAQ,SAAS,EAAE,SAAS,WAAW,IAE9E,qBAAA,UAAA,EAAA,UAAA;AAAA,QAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO,EAAE,OAAO,QAAQ;AAAA,YACxB,aAAa,EAAE,aAAa;AAAA,YAC5B,OAAO,cAAc,GAAG;AAAA,YACxB,UAAU,CAAK,MAAA;AACb,yCAA2B,OAAO,CAAC;AAAA,YAAA;AAAA,UACrC;AAAA,QACF;AAAA,QACC,gBAAgB,YACf;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO,EAAE,OAAO,SAAS,YAAY,MAAM;AAAA,YAC3C,aAAa,EAAE,aAAa;AAAA,YAC5B,OAAO,cAAc,IAAI;AAAA,YACzB,UAAU,CAAK,MAAA;AACb,yCAA2B,QAAQ,CAAC;AAAA,YAAA;AAAA,UACtC;AAAA,QAAA,IAEA;AAAA,MAAA,EAAA,CACN,IACE;AAAA,MAEH,cAAc,eAAe,CAAC,CAAC,QAAQ,SAAS,EAAE,SAAS,WAAW,IAElE,qBAAA,UAAA,EAAA,UAAA;AAAA,QAAA,gBAAgB,OAAO,gBAAgB,OAAO,gBAAgB,MAC7D;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,YAAU;AAAA,YACV,kBAAiB;AAAA,YACjB,OAAO,EAAE,OAAO,QAAQ;AAAA,YACxB,SAAS,gBAAgB,MAAM,eAAe;AAAA,YAC9C,OAAO,cAAc,KAAK;AAAA,YAC1B,UAAU,CAAK,MAAA;AACb,yCAA2B,SAAS,CAAC;AAAA,YAAA;AAAA,UACvC;AAAA,QAAA,IAEA;AAAA,QAEH,SAAS,eAAe,gBAAgB,YACvC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO,EAAE,OAAO,QAAQ;AAAA,YACxB,OAAO,cAAc,KAAK,OAAO;AAAA,YACjC,UAAU,CAAK,MAAA;AACb,yCAA2B,OAAO,CAAC;AAAA,YAAA;AAAA,UACrC;AAAA,QAAA,IAEA;AAAA,QAEH,gBAAgB,YACf;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO,CAAC,cAAc,KAAK,OAAO,GAAG,cAAc,MAAM,OAAO,CAAC;AAAA,YACjE,UAAU,CAAK,MAAA;AACJ,uBAAA,EAAE,GAAG,OAAO,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG;AAAA,YAAA;AAAA,UAG9C;AAAA,QAAA,IAEA;AAAA,MAAA,EAAA,CACN,IACE;AAAA,MAEH,CAAC,QAAQ,EAAE,SAAS,SAAS,KAAK,CAAC,CAAC,QAAQ,SAAS,EAAE,SAAS,WAAW,IAExE,qBAAA,UAAA,EAAA,UAAA;AAAA,QAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO,EAAE,OAAO,QAAQ;AAAA,YACxB,aAAa,EAAE,aAAa;AAAA,YAC5B,OAAO,cAAc,GAAG;AAAA,YACxB,UAAU,CAAK,MAAA;AACb,yCAA2B,OAAO,CAAC;AAAA,YAAA;AAAA,UACrC;AAAA,QACF;AAAA,QACC,gBAAgB,YACf;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO,EAAE,OAAO,SAAS,YAAY,MAAM;AAAA,YAC3C,aAAa,EAAE,aAAa;AAAA,YAC5B,OAAO,cAAc,MAAM,OAAO;AAAA,YAClC,UAAU,CAAK,MAAA;AACb,yCAA2B,QAAQ,CAAC;AAAA,YAAA;AAAA,UACtC;AAAA,QAAA,IAEA;AAAA,MAAA,EAAA,CACN,IACE;AAAA,MAEH,CAAC,MAAM,EAAE,SAAS,SAAS,IAC1B;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,OAAO,cAAc,KAAK,SAAS;AAAA,UACnC,UAAU,CAAK,MAAA;AACb,uCAA2B,OAAO,CAAC;AAAA,UAAA;AAAA,QACrC;AAAA,MAAA,IAEA;AAAA,MAEH,CAAC,MAAM,EAAE,SAAS,SAAS,KAAK,CAAC,CAAC,QAAQ,SAAS,EAAE,SAAS,WAAW,oCAErE,UAAe,gBAAA,2CAAa,UAAS,IACpC;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,YAAU;AAAA,UACV,kBAAiB;AAAA,UACjB,OAAO,EAAE,OAAO,QAAQ;AAAA,UACxB,SAAS;AAAA,UACT,OAAO,cAAc,GAAG;AAAA,UACxB,UAAU,CAAK,MAAA;AACb,uCAA2B,OAAO,CAAC;AAAA,UACrC;AAAA,UACC,GAAI,CAAC,WAAW,YAAY,EAAE,SAAS,WAAW,IAC/C,EAAE,MAAM,YAAY,aAAa,aAAA,IACjC,CAAA;AAAA,QAAC;AAAA,UAEL,UACF;AAAA,QAAC;AAAA,QAAA;AAAA,UAEC,OAAO,EAAE,OAAO,QAAQ;AAAA,UACxB,uBAAuB;AAAA,UACvB,OAAO,cAAc,GAAG;AAAA,UACvB,GAAI,CAAC,WAAW,YAAY,EAAE,SAAS,WAAW,IAC/C,EAAE,MAAM,YAAY,aAAa,iBACjC,CAAC;AAAA,UACL,UAAU,CAAK,MAAA;AACb,uCAA2B,OAAO,CAAC;AAAA,UACrC;AAAA,UACA,cAAc,OAAMC,WAAS;;AAC3B,gBAAI,QAAQ;AACZ,gBAAIA,QAAO;AACD,sBAAA,GAAG,KAAK,MAAMA,MAAK;AAAA,YAAA;AAErB,mBAAA,QAAMD,MAAA,2CAAc,WAAd,gBAAAA,IAAsB,KAAK;;AAAO,sBAAAA,MAAA,IAAI,SAAJ,gBAAAA,IAAU;AAAA,mBAAU,CAAC;AAAA,UAAA;AAAA,QACvE;AAAA,MAAA,IAEA,KACN,CAAA,IACE;AAAA,IAAA,EACN,CAAA;AAAA,EAAA,GAEJ;AAEJ;AAEA,8BAA8B,cAAc;AAK5C,MAAM,SAAS;AAEF,MAAA,oBAAoB,CAC/B,UACG;AACH,QAAM,EAAE,QAAQ,IAAI,UAAU,GAAG,OAAW,IAAA;AAEtC,QAAA,aAAa,QAAQ,MAAM;AAC/B,WAAO,CAAC,CAAC,QAAQ,MAAM,OAAO,MAAM,IAAI;AAAA,EAAA,GACvC,CAAC,KAAK,CAAC;AAGR,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAI;AAAA,MACL,OAAO;AAAA,MACP,UAAU,CAAC,MAAoB;AAC7B,eAAO,sCAAW,uBAAG,OAAO,YAAW;AAAA,MAAE;AAAA,IAC3C;AAAA,EACF;AAEJ;AAEa,MAAA,qBAAqB,CAChC,UAIG;AACH,QAAM,EAAE,OAAO,UAAU,GAAG,OAAW,IAAA;AAEjC,QAAA,aAAa,QAAQ,MAAM;AAC3B,QAAA,QAAQ,CAAC,EAAC,+BAAQ,MAAK,MAAM,+BAAQ,IAAI,MAAM,IAAI;AACnD,QAAA,MAAM,CAAC,EAAC,+BAAQ,MAAK,MAAM,+BAAQ,IAAI,MAAM,IAAI;AAC9C,WAAA,CAAC,OAAO,GAAG;AAAA,EAAA,GACjB,EAAC,+BAAQ,OAAM,KAAI,+BAAQ,OAAM,EAAE,CAAC;AAGrC,SAAA;AAAA,IAAC,WAAW;AAAA,IAAX;AAAA,MACE,GAAI;AAAA,MACL,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,UAAU,CAAC,MAA6B;;AACtC,YAAI,UAAQ,4BAAI,OAAJ,mBAAQ,OAAO,YAAW;AACtC,YAAI,QAAM,4BAAI,OAAJ,mBAAQ,OAAO,YAAW;AACzB,6CAAA,CAAC,OAAO,GAAG;AAAA,MAAC;AAAA,IACzB;AAAA,EACF;AAEJ;"}
@@ -165,7 +165,7 @@ const conditionListItem2DSL = (condition) => {
165
165
  };
166
166
  } else {
167
167
  ret = {
168
- join: "or",
168
+ join: cond === "include" ? "or" : "and",
169
169
  children: value.map((value2) => {
170
170
  return {
171
171
  field,
@@ -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 return `${(child as DSLItem).field}${filedUnit}${(child as DSLItem).operator}.${(child as DSLItem).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: 'or',\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 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 let startOfThisMonth = dayjs().startOf('month').format('YYYY-MM-DD')\n let 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 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 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 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","startOfLastWeek","endOfLastWeek"],"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 return `${(child as DSLItem).field}${filedUnit}${(child as DSLItem).operator}.${(child as DSLItem).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 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 let startOfThisMonth = dayjs().startOf('month').format('YYYY-MM-DD')\n let 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 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 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 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","startOfLastWeek","endOfLastWeek"],"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.46",
3
+ "version": "0.0.48",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "exports": {