@platox/pivot-table 0.0.34 → 0.0.36
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.
- package/es/dashboard-workbench/components/add-module-btn/index.js +14 -5
- package/es/dashboard-workbench/components/add-module-btn/index.js.map +1 -1
- package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/custome-data.d.ts +3 -3
- package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/custome-data.js +73 -82
- package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/custome-data.js.map +1 -1
- package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/index.d.ts +1 -5
- package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/index.js +13 -22
- package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/index.js.map +1 -1
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/components/CombinationChartOptionPicker.d.ts +18 -0
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/components/CombinationChartOptionPicker.js +103 -0
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/components/CombinationChartOptionPicker.js.map +1 -0
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/components/GroupFieldConfigPicker.d.ts +14 -0
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/components/GroupFieldConfigPicker.js +79 -0
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/components/GroupFieldConfigPicker.js.map +1 -0
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/components/index.module.less.js +11 -0
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/components/index.module.less.js.map +1 -0
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/config.d.ts +14 -0
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/config.js +153 -0
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/config.js.map +1 -0
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-data.d.ts +1 -19
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-data.js +132 -101
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-data.js.map +1 -1
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-styles.d.ts +0 -6
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-styles.js +2 -4
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-styles.js.map +1 -1
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/index.d.ts +1 -8
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/index.js +13 -22
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/index.js.map +1 -1
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/index.module.less.js +7 -0
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/index.module.less.js.map +1 -0
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/interface.d.ts +62 -0
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/interface.js +31 -0
- package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/interface.js.map +1 -0
- package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-data.d.ts +3 -3
- package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-data.js +2 -2
- package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-data.js.map +1 -1
- package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-styles.js +16 -11
- package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-styles.js.map +1 -1
- package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/index.d.ts +1 -7
- package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/index.js +13 -22
- package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/index.js.map +1 -1
- package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/config.d.ts +30 -0
- package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/config.js +132 -0
- package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/config.js.map +1 -0
- package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/debounce-select.js.map +1 -1
- package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/index.d.ts +4 -12
- package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/index.js +6 -200
- package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/index.js.map +1 -1
- package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/interface.d.ts +14 -0
- package/es/dashboard-workbench/components/global-filter-condition/ConditionRowItem.d.ts +9 -0
- package/es/dashboard-workbench/components/global-filter-condition/ConditionRowItem.js +90 -0
- package/es/dashboard-workbench/components/global-filter-condition/ConditionRowItem.js.map +1 -0
- package/es/dashboard-workbench/components/global-filter-condition/ConditionSymbolAndValuePicker.d.ts +15 -0
- package/es/dashboard-workbench/components/global-filter-condition/ConditionSymbolAndValuePicker.js +218 -0
- package/es/dashboard-workbench/components/global-filter-condition/ConditionSymbolAndValuePicker.js.map +1 -0
- package/es/dashboard-workbench/components/global-filter-condition/FieldPicker.d.ts +13 -0
- package/es/dashboard-workbench/components/global-filter-condition/FieldPicker.js +56 -0
- package/es/dashboard-workbench/components/global-filter-condition/FieldPicker.js.map +1 -0
- package/es/dashboard-workbench/components/global-filter-condition/index.d.ts +13 -0
- package/es/dashboard-workbench/components/global-filter-condition/index.js +311 -0
- package/es/dashboard-workbench/components/global-filter-condition/index.js.map +1 -0
- package/es/dashboard-workbench/components/global-filter-condition/index.module.less.js +8 -0
- package/es/dashboard-workbench/components/global-filter-condition/index.module.less.js.map +1 -0
- package/es/dashboard-workbench/components/global-filter-condition/interface.d.ts +9 -0
- package/es/dashboard-workbench/components/global-filter-condition/useContext.d.ts +13 -0
- package/es/dashboard-workbench/components/global-filter-condition/useContext.js +10 -0
- package/es/dashboard-workbench/components/global-filter-condition/useContext.js.map +1 -0
- package/es/dashboard-workbench/components/global-filter-condition/util.d.ts +1 -0
- package/es/dashboard-workbench/components/global-filter-condition/util.js +7 -0
- package/es/dashboard-workbench/components/global-filter-condition/util.js.map +1 -0
- package/es/dashboard-workbench/components/modal-editor-header/index.d.ts +12 -0
- package/es/dashboard-workbench/components/modal-editor-header/index.js +59 -0
- package/es/dashboard-workbench/components/modal-editor-header/index.js.map +1 -0
- package/es/dashboard-workbench/components/modal-editor-header/index.module.less.js +9 -0
- package/es/dashboard-workbench/components/modal-editor-header/index.module.less.js.map +1 -0
- package/es/dashboard-workbench/components/module-content/calendar-module/index.js +38 -26
- package/es/dashboard-workbench/components/module-content/calendar-module/index.js.map +1 -1
- package/es/dashboard-workbench/components/module-content/calendar-module/locales/en.d.ts +7 -0
- package/es/dashboard-workbench/components/module-content/calendar-module/locales/en.js +10 -0
- package/es/dashboard-workbench/components/module-content/calendar-module/locales/en.js.map +1 -0
- package/es/dashboard-workbench/components/module-content/calendar-module/locales/zh.d.ts +22 -0
- package/es/dashboard-workbench/components/module-content/calendar-module/locales/zh.js +29 -0
- package/es/dashboard-workbench/components/module-content/calendar-module/locales/zh.js.map +1 -0
- package/es/dashboard-workbench/components/module-content/chart-module/Empty.d.ts +5 -0
- package/es/dashboard-workbench/components/module-content/chart-module/Empty.js +30 -0
- package/es/dashboard-workbench/components/module-content/chart-module/Empty.js.map +1 -0
- package/es/dashboard-workbench/components/module-content/chart-module/base-chart/index.js +1 -1
- package/es/dashboard-workbench/components/module-content/chart-module/base-chart/index.js.map +1 -1
- package/es/dashboard-workbench/components/module-content/chart-module/index.d.ts +3 -4
- package/es/dashboard-workbench/components/module-content/chart-module/index.js +263 -160
- package/es/dashboard-workbench/components/module-content/chart-module/index.js.map +1 -1
- package/es/dashboard-workbench/components/module-content/chart-module/utils.d.ts +100 -2
- package/es/dashboard-workbench/components/module-content/chart-module/utils.js +66 -13
- package/es/dashboard-workbench/components/module-content/chart-module/utils.js.map +1 -1
- package/es/dashboard-workbench/components/module-content/index.js +3 -3
- package/es/dashboard-workbench/components/module-content/index.js.map +1 -1
- package/es/dashboard-workbench/components/module-content/statistics-module/index.d.ts +1 -1
- package/es/dashboard-workbench/components/module-content/statistics-module/index.js +17 -7
- package/es/dashboard-workbench/components/module-content/statistics-module/index.js.map +1 -1
- package/es/dashboard-workbench/components/module-content/text-module/editor/index.js +5 -5
- package/es/dashboard-workbench/components/module-content/text-module/editor/index.js.map +1 -1
- package/es/dashboard-workbench/components/module-content/utils.d.ts +2 -15
- package/es/dashboard-workbench/components/module-content/utils.js.map +1 -1
- package/es/dashboard-workbench/components/module-header/index.d.ts +1 -1
- package/es/dashboard-workbench/components/module-header/index.js +3 -3
- package/es/dashboard-workbench/components/module-header/index.js.map +1 -1
- package/es/dashboard-workbench/context.d.ts +21 -9
- package/es/dashboard-workbench/context.js +2 -9
- package/es/dashboard-workbench/context.js.map +1 -1
- package/es/dashboard-workbench/icon/icon-chart-combination.d.ts +3 -0
- package/es/dashboard-workbench/icon/icon-chart-combination.js +36 -0
- package/es/dashboard-workbench/icon/icon-chart-combination.js.map +1 -0
- package/es/dashboard-workbench/icon/icon-empty.d.ts +2 -0
- package/es/dashboard-workbench/icon/icon-empty.js +139 -0
- package/es/dashboard-workbench/icon/icon-empty.js.map +1 -0
- package/es/dashboard-workbench/index.d.ts +2 -2
- package/es/dashboard-workbench/index.js +92 -83
- package/es/dashboard-workbench/index.js.map +1 -1
- package/es/dashboard-workbench/lang/en-US.d.ts +38 -0
- package/es/dashboard-workbench/lang/en-US.js +32 -4
- package/es/dashboard-workbench/lang/en-US.js.map +1 -1
- package/es/dashboard-workbench/lang/index.js +2 -2
- package/es/dashboard-workbench/lang/index.js.map +1 -1
- package/es/dashboard-workbench/lang/zh-CN.d.ts +38 -0
- package/es/dashboard-workbench/lang/zh-CN.js +31 -3
- package/es/dashboard-workbench/lang/zh-CN.js.map +1 -1
- package/es/dashboard-workbench/types.d.ts +18 -5
- package/es/dashboard-workbench/utils/index.d.ts +6 -4
- package/es/dashboard-workbench/utils/index.js +24 -3
- package/es/dashboard-workbench/utils/index.js.map +1 -1
- package/es/style.css +1 -1
- package/package.json +28 -20
- package/umd/pivot-table.umd.cjs +74 -74
- package/umd/style.css +1 -1
package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/index.js.map
CHANGED
|
@@ -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 {\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 { useCallback, useEffect, useRef } from 'react'\nimport { EnumDataApi, SourceDataFieldsTypes } from '../../../../types'\nimport { useTranslation } from 'react-i18next'\nimport dayjs from 'dayjs'\nimport DebounceSelect from './debounce-select'\nimport { useAppContext } from '../../../../context'\n\nexport interface ConditionListItemTypes {\n field: string\n condition:\n | '='\n | '<'\n | '>'\n | 'contain'\n | 'null'\n | 'notnull'\n | '!='\n | '>='\n | '=<'\n | 'include'\n | 'notinclude'\n val: any\n type: SourceDataFieldsTypes['type']\n}\n\ninterface ConditionModalProps {\n open?: boolean\n fieldOptions?: SourceDataFieldsTypes[]\n onSubmit?: ((values: any) => void) | undefined\n onClose?: () => void\n onOk?: ((values: any) => void) | undefined\n enumDataApi?: EnumDataApi\n value?: {\n conditionList: ConditionListItemTypes[]\n conditionType: 'all' | 'any'\n }\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 timeOptions = [\n {\n label: t('add.add13'), // \"等于\",\n value: '=',\n },\n {\n label: t('add.add14'), // \"早于\",\n value: '<',\n },\n {\n label: t('add.add15'), // \"晚于\",\n value: '>',\n },\n {\n label: t('add.add16'), // \"范围内\",\n value: 'contain',\n },\n {\n label: t('add.add17'), // \"为空\",\n value: 'null',\n },\n {\n label: t('add.add18'), // \"不为空\",\n value: 'notnull',\n },\n ]\n\n const boolOptions = [\n {\n label: t('add.add13'), //\"等于\",\n value: '=',\n },\n ]\n\n const intOptions = [\n {\n label: t('add.add13'), //\"等于\",\n value: '=',\n },\n {\n label: t('add.add19'), //\"不等于\",\n value: '!=',\n },\n {\n label: t('add.add20'), //\"大于\",\n value: '>',\n },\n {\n label: t('add.add21'), //\"大于等于\",\n value: '>=',\n },\n {\n label: t('add.add22'), //\"小于\",\n value: '<',\n },\n {\n label: t('add.add23'), //\"小于等于\",\n value: '=<',\n },\n {\n label: t('add.add16'), //\"范围内\",\n value: 'contain',\n },\n {\n label: t('add.add17'), //\"为空\",\n value: 'null',\n },\n {\n label: t('add.add18'), //\"不为空\",\n value: 'notnull',\n },\n ]\n\n const stringOptions = [\n {\n label: t('add.add13'), //\"等于\",\n value: '=',\n },\n {\n label: t('add.add19'), //\"不等于\",\n value: '!=',\n },\n {\n label: t('add.add24'), //\"包含\",\n value: 'include',\n },\n {\n label: t('add.add25'), //\"不包含\",\n value: 'notinclude',\n },\n {\n label: t('add.add17'), //\"为空\",\n value: 'null',\n },\n {\n label: t('add.add18'), //\"不为空\",\n value: 'notnull',\n },\n ]\n\n const rdateOptions = [\n {\n label: t('add.add26'), //\"具体日期\",\n value: 'exactdate',\n },\n {\n label: t('add.add27'), //\"今天\",\n value: 'today',\n },\n {\n label: t('add.add28'), //\"昨天\",\n value: 'yesterday',\n },\n {\n label: t('add.add29'), //\"本周\",\n value: 'thisweek',\n },\n {\n label: t('add.add30'), //\"上周\",\n value: 'lastweek',\n },\n {\n label: t('add.add31'), //\"本月\",\n value: 'thismonth',\n },\n {\n label: t('add.add32'), //\"上月\",\n value: 'lastmonth',\n },\n {\n label: t('add.add33'), //\"过去7天\",\n value: 'last7days',\n },\n {\n label: t('add.add34'), //\"过去30天\",\n value: 'last30days',\n },\n ]\n\n const rdateOptions2 = [\n {\n label: t('add.add26'), //\"具体日期\",\n value: 'exactdate',\n },\n {\n label: t('add.add27'), //\"今天\",\n value: 'today',\n },\n {\n label: t('add.add28'), //\"昨天\",\n value: 'yesterday',\n },\n ]\n\n const conditionOptions: any = {\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.type === 'timestamp') {\n if (item.val) {\n item.val = dayjs(new Date(item.val))\n }\n if (item.val2) {\n item.val2 = dayjs(new Date(item.val2))\n }\n }\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 if (item.type === 'timestamp') {\n if (item.val) {\n item.val = dayjs(item.val).format('YYYY-MM-DD')\n }\n if (item.val2) {\n item.val2 = item.val2 ? dayjs(item.val2).format('YYYY-MM-DD') : ''\n }\n }\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\n style={{ width: '150px' }}\n options={[\n {\n label: t('all'),\n value: 'all',\n },\n {\n label: t('everyone'),\n value: 'any',\n },\n ]}\n />\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 options={type ? conditionOptions[type] : []}\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' ? (\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n <DatePicker style={{ width: '150px' }} />\n </Form.Item>\n ) : null}\n\n {condition === 'contain' ? (\n <Form.Item {...restField} name={[name, 'val2']} noStyle>\n <DatePicker\n style={{\n width: '150px',\n marginLeft: '5px',\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 <Select\n showSearch\n optionFilterProp=\"label\"\n style={{ width: '150px' }}\n options={enumOptions}\n />\n ) : enumUrl ? (\n <DebounceSelect\n style={{ width: '150px' }}\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 dayjs from 'dayjs'\nimport { useAppContext } from '../../../../context'\nimport { EnumDataApi, FieldItem } from '../../../../types'\nimport { useConditionSymbolOptions, useConditionTypeOptions } from './config'\nimport DebounceSelect from './debounce-select'\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.type === 'timestamp') {\n if (item.val) {\n item.val = dayjs(new Date(item.val))\n }\n if (item.val2) {\n item.val2 = dayjs(new Date(item.val2))\n }\n }\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 if (item.type === 'timestamp') {\n if (item.val) {\n item.val = dayjs(item.val).format('YYYY-MM-DD')\n }\n if (item.val2) {\n item.val2 = item.val2 ? dayjs(item.val2).format('YYYY-MM-DD') : ''\n }\n }\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 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' ? (\n <Form.Item {...restField} name={[name, 'val']} noStyle>\n <DatePicker style={{ width: '150px' }} />\n </Form.Item>\n ) : null}\n\n {condition === 'contain' ? (\n <Form.Item {...restField} name={[name, 'val2']} noStyle>\n <DatePicker\n style={{\n width: '150px',\n marginLeft: '5px',\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 <Select\n showSearch\n optionFilterProp=\"label\"\n style={{ width: '150px' }}\n options={enumOptions}\n />\n ) : enumUrl ? (\n <DebounceSelect\n style={{ width: '150px' }}\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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"}
|
package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/interface.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Dayjs } from 'dayjs';
|
|
2
|
+
import { FieldItem } from '../../../../types';
|
|
3
|
+
export interface ConditionListItem {
|
|
4
|
+
field: string;
|
|
5
|
+
condition: string;
|
|
6
|
+
type: FieldItem['type'];
|
|
7
|
+
val: number | Dayjs | string | boolean;
|
|
8
|
+
val2?: number | Dayjs | string;
|
|
9
|
+
rdate?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface ConditionBlock {
|
|
12
|
+
conditionList: ConditionListItem[];
|
|
13
|
+
conditionType: 'all' | 'any';
|
|
14
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { ConditionListItemWrapper } from './interface';
|
|
3
|
+
export interface ConditionRowItemProps {
|
|
4
|
+
value?: ConditionListItemWrapper;
|
|
5
|
+
onChange?: (value: ConditionListItemWrapper) => void;
|
|
6
|
+
onDelete?: () => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const ConditionRowItem: React.FC<ConditionRowItemProps>;
|
|
9
|
+
export default ConditionRowItem;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
import { MinusCircleOutlined } from "@ant-design/icons";
|
|
4
|
+
import { useControllableValue, useMemoizedFn } from "ahooks";
|
|
5
|
+
import { omit } from "lodash-es";
|
|
6
|
+
import { ConditionSymbolAndValuePicker } from "./ConditionSymbolAndValuePicker.js";
|
|
7
|
+
import { FieldPicker } from "./FieldPicker.js";
|
|
8
|
+
import { useContext } from "./useContext.js";
|
|
9
|
+
import { getMergeId } from "./util.js";
|
|
10
|
+
const ConditionRowItem = (props) => {
|
|
11
|
+
const [value, onChange] = useControllableValue(props);
|
|
12
|
+
const fieldPickerValue = useMemo(() => {
|
|
13
|
+
let fieldPickerValue2 = !!(value == null ? void 0 : value.field) ? {
|
|
14
|
+
dataSourceId: value == null ? void 0 : value.dataSourceId,
|
|
15
|
+
field: value == null ? void 0 : value.field
|
|
16
|
+
} : void 0;
|
|
17
|
+
return fieldPickerValue2;
|
|
18
|
+
}, [value == null ? void 0 : value.field, value == null ? void 0 : value.dataSourceId]);
|
|
19
|
+
const handleFieldePickerChange = (v) => {
|
|
20
|
+
var _a;
|
|
21
|
+
const initialValues = {
|
|
22
|
+
condition: "=",
|
|
23
|
+
val: "",
|
|
24
|
+
val2: "",
|
|
25
|
+
rdate: "exactdate"
|
|
26
|
+
};
|
|
27
|
+
if (v) {
|
|
28
|
+
let selectField = flattenFieldMap == null ? void 0 : flattenFieldMap.get(getMergeId(v.dataSourceId, v.field));
|
|
29
|
+
onChange({
|
|
30
|
+
...initialValues,
|
|
31
|
+
dataSourceId: v.dataSourceId,
|
|
32
|
+
field: v.field,
|
|
33
|
+
type: (_a = selectField == null ? void 0 : selectField.field) == null ? void 0 : _a.type
|
|
34
|
+
});
|
|
35
|
+
} else {
|
|
36
|
+
onChange({
|
|
37
|
+
...initialValues,
|
|
38
|
+
dataSourceId: void 0,
|
|
39
|
+
field: void 0,
|
|
40
|
+
type: void 0
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
const { flattenFieldMap } = useContext();
|
|
45
|
+
const flattenFieldMapItem = flattenFieldMap == null ? void 0 : flattenFieldMap.get(getMergeId(value == null ? void 0 : value.dataSourceId, value == null ? void 0 : value.field));
|
|
46
|
+
const conditionSymbolAndValuePickerValue = omit(value, ["field"]);
|
|
47
|
+
const handleConditionSymbolAndValuePickerValue = useMemoizedFn(
|
|
48
|
+
(v) => {
|
|
49
|
+
return onChange({
|
|
50
|
+
...value,
|
|
51
|
+
...v
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
);
|
|
55
|
+
return /* @__PURE__ */ jsxs(
|
|
56
|
+
"div",
|
|
57
|
+
{
|
|
58
|
+
style: {
|
|
59
|
+
display: "flex",
|
|
60
|
+
gap: "10px"
|
|
61
|
+
},
|
|
62
|
+
children: [
|
|
63
|
+
/* @__PURE__ */ jsx(FieldPicker, { value: fieldPickerValue, onChange: handleFieldePickerChange }),
|
|
64
|
+
/* @__PURE__ */ jsx(
|
|
65
|
+
ConditionSymbolAndValuePicker,
|
|
66
|
+
{
|
|
67
|
+
value: conditionSymbolAndValuePickerValue,
|
|
68
|
+
onChange: handleConditionSymbolAndValuePickerValue,
|
|
69
|
+
field: flattenFieldMapItem == null ? void 0 : flattenFieldMapItem.field
|
|
70
|
+
}
|
|
71
|
+
),
|
|
72
|
+
/* @__PURE__ */ jsx(
|
|
73
|
+
MinusCircleOutlined,
|
|
74
|
+
{
|
|
75
|
+
style: {
|
|
76
|
+
cursor: "pointer"
|
|
77
|
+
},
|
|
78
|
+
onClick: props.onDelete
|
|
79
|
+
}
|
|
80
|
+
)
|
|
81
|
+
]
|
|
82
|
+
}
|
|
83
|
+
);
|
|
84
|
+
};
|
|
85
|
+
ConditionRowItem.displayName = "ConditionRowItem";
|
|
86
|
+
export {
|
|
87
|
+
ConditionRowItem,
|
|
88
|
+
ConditionRowItem as default
|
|
89
|
+
};
|
|
90
|
+
//# sourceMappingURL=ConditionRowItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConditionRowItem.js","sources":["../../../../packages/dashboard-workbench/components/global-filter-condition/ConditionRowItem.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport { MinusCircleOutlined } from '@ant-design/icons'\nimport { useControllableValue, useMemoizedFn } from 'ahooks'\nimport { omit } from 'lodash-es'\nimport ConditionSymbolAndValuePicker from './ConditionSymbolAndValuePicker'\nimport { FieldPicker, FiledPickerValue } from './FieldPicker'\nimport { ConditionListItemWrapper } from './interface'\nimport { useContext } from './useContext'\nimport { getMergeId } from './util'\n\nconst componentName = 'ConditionRowItem'\n\nexport interface ConditionRowItemProps {\n value?: ConditionListItemWrapper\n onChange?: (value: ConditionListItemWrapper) => void\n\n onDelete?: () => void\n}\n\nexport const ConditionRowItem: React.FC<ConditionRowItemProps> = props => {\n const [value, onChange] = useControllableValue<ConditionListItemWrapper>(props)\n\n /* ============================== split =============================== */\n const fieldPickerValue = useMemo(() => {\n let fieldPickerValue = !!value?.field\n ? {\n dataSourceId: value?.dataSourceId!,\n field: value?.field!,\n }\n : undefined\n\n return fieldPickerValue\n }, [value?.field, value?.dataSourceId])\n\n const handleFieldePickerChange = (v: FiledPickerValue) => {\n // 切换了数据源,清空字段\n const initialValues: Omit<ConditionListItemWrapper, 'field'> = {\n condition: '=',\n val: '',\n val2: '',\n rdate: 'exactdate',\n }\n if (v) {\n let selectField = flattenFieldMap?.get(getMergeId(v.dataSourceId, v.field))\n onChange({\n ...initialValues,\n dataSourceId: v.dataSourceId!,\n field: v.field!,\n type: selectField?.field?.type!,\n } as Partial<ConditionListItemWrapper>)\n } else {\n onChange({\n ...initialValues,\n dataSourceId: undefined,\n field: undefined,\n type: undefined,\n })\n }\n }\n\n /* ============================== split =============================== */\n const { flattenFieldMap } = useContext()\n const flattenFieldMapItem = flattenFieldMap?.get(getMergeId(value?.dataSourceId!, value?.field!))\n const conditionSymbolAndValuePickerValue = omit(value, ['field'])\n const handleConditionSymbolAndValuePickerValue = useMemoizedFn(\n (v: Omit<ConditionListItemWrapper, 'field'>) => {\n return onChange({\n ...value,\n ...v,\n })\n }\n )\n\n return (\n <div\n style={{\n display: 'flex',\n gap: '10px',\n }}\n >\n <FieldPicker value={fieldPickerValue} onChange={handleFieldePickerChange} />\n <ConditionSymbolAndValuePicker\n value={conditionSymbolAndValuePickerValue}\n onChange={handleConditionSymbolAndValuePickerValue}\n field={flattenFieldMapItem?.field}\n />\n <MinusCircleOutlined\n style={{\n cursor: 'pointer',\n }}\n onClick={props.onDelete}\n />\n </div>\n )\n}\n\nConditionRowItem.displayName = 'ConditionRowItem'\n\nexport default ConditionRowItem\n"],"names":["fieldPickerValue"],"mappings":";;;;;;;;;AAmBO,MAAM,mBAAoD,CAAS,UAAA;AACxE,QAAM,CAAC,OAAO,QAAQ,IAAI,qBAA+C,KAAK;AAGxE,QAAA,mBAAmB,QAAQ,MAAM;AACrC,QAAIA,oBAAmB,CAAC,EAAC,+BAAO,SAC5B;AAAA,MACE,cAAc,+BAAO;AAAA,MACrB,OAAO,+BAAO;AAAA,IAEhB,IAAA;AAEGA,WAAAA;AAAAA,KACN,CAAC,+BAAO,OAAO,+BAAO,YAAY,CAAC;AAEhC,QAAA,2BAA2B,CAAC,MAAwB;;AAExD,UAAM,gBAAyD;AAAA,MAC7D,WAAW;AAAA,MACX,KAAK;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,IACT;AACA,QAAI,GAAG;AACD,UAAA,cAAc,mDAAiB,IAAI,WAAW,EAAE,cAAc,EAAE,KAAK;AAChE,eAAA;AAAA,QACP,GAAG;AAAA,QACH,cAAc,EAAE;AAAA,QAChB,OAAO,EAAE;AAAA,QACT,OAAM,gDAAa,UAAb,mBAAoB;AAAA,MAAA,CACU;AAAA,IAAA,OACjC;AACI,eAAA;AAAA,QACP,GAAG;AAAA,QACH,cAAc;AAAA,QACd,OAAO;AAAA,QACP,MAAM;AAAA,MAAA,CACP;AAAA,IAAA;AAAA,EAEL;AAGM,QAAA,EAAE,gBAAgB,IAAI,WAAW;AACjC,QAAA,sBAAsB,mDAAiB,IAAI,WAAW,+BAAO,cAAe,+BAAO,KAAM;AAC/F,QAAM,qCAAqC,KAAK,OAAO,CAAC,OAAO,CAAC;AAChE,QAAM,2CAA2C;AAAA,IAC/C,CAAC,MAA+C;AAC9C,aAAO,SAAS;AAAA,QACd,GAAG;AAAA,QACH,GAAG;AAAA,MAAA,CACJ;AAAA,IAAA;AAAA,EAEL;AAGE,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,QACL,SAAS;AAAA,QACT,KAAK;AAAA,MACP;AAAA,MAEA,UAAA;AAAA,QAAA,oBAAC,aAAY,EAAA,OAAO,kBAAkB,UAAU,0BAA0B;AAAA,QAC1E;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO;AAAA,YACP,UAAU;AAAA,YACV,OAAO,2DAAqB;AAAA,UAAA;AAAA,QAC9B;AAAA,QACA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO;AAAA,cACL,QAAQ;AAAA,YACV;AAAA,YACA,SAAS,MAAM;AAAA,UAAA;AAAA,QAAA;AAAA,MACjB;AAAA,IAAA;AAAA,EACF;AAEJ;AAEA,iBAAiB,cAAc;"}
|
package/es/dashboard-workbench/components/global-filter-condition/ConditionSymbolAndValuePicker.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CSSProperties } from 'react';
|
|
2
|
+
import { FieldItem } from '../../types';
|
|
3
|
+
import { ConditionListItemWrapper } from './interface';
|
|
4
|
+
export type ConditionSymbolAndValuePickerProps = {
|
|
5
|
+
style?: CSSProperties;
|
|
6
|
+
className?: string;
|
|
7
|
+
field?: FieldItem;
|
|
8
|
+
value?: Omit<ConditionListItemWrapper, 'field'>;
|
|
9
|
+
onChange: (value: Omit<ConditionListItemWrapper, 'field'>) => void;
|
|
10
|
+
};
|
|
11
|
+
export declare const ConditionSymbolAndValuePicker: {
|
|
12
|
+
(props: ConditionSymbolAndValuePickerProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
displayName: string;
|
|
14
|
+
};
|
|
15
|
+
export default ConditionSymbolAndValuePicker;
|
package/es/dashboard-workbench/components/global-filter-condition/ConditionSymbolAndValuePicker.js
ADDED
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
import { Select, Input, InputNumber, DatePicker, Switch } from "antd";
|
|
4
|
+
import { useTranslation } from "react-i18next";
|
|
5
|
+
import { useControllableValue, useMemoizedFn } from "ahooks";
|
|
6
|
+
import dayjs from "dayjs";
|
|
7
|
+
import { useAppContext } from "../../context.js";
|
|
8
|
+
import { useConditionSymbolOptions } from "../add-module-modal/components/condition-modal/config.js";
|
|
9
|
+
import DebounceSelect from "../add-module-modal/components/condition-modal/debounce-select.js";
|
|
10
|
+
const ConditionSymbolAndValuePicker = (props) => {
|
|
11
|
+
var _a, _b, _c, _d;
|
|
12
|
+
const { style, className, field } = props;
|
|
13
|
+
const fieldType = field == null ? void 0 : field.type;
|
|
14
|
+
const { t } = useTranslation();
|
|
15
|
+
const { timeOptions, boolOptions, intOptions, stringOptions, rdateOptions, rdateOptions2 } = useConditionSymbolOptions();
|
|
16
|
+
const conditionOptions = {
|
|
17
|
+
int: intOptions,
|
|
18
|
+
timestamp: timeOptions,
|
|
19
|
+
string: stringOptions,
|
|
20
|
+
bool: boolOptions,
|
|
21
|
+
float: intOptions,
|
|
22
|
+
enum: stringOptions
|
|
23
|
+
};
|
|
24
|
+
const [value, setValue] = useControllableValue(props);
|
|
25
|
+
let symbolOptions = conditionOptions[fieldType] ?? [];
|
|
26
|
+
let symbolDisabled = !(props == null ? void 0 : props.field);
|
|
27
|
+
let symbolValue = value == null ? void 0 : value.condition;
|
|
28
|
+
let symbolOnChange = (v) => {
|
|
29
|
+
setValue({ ...value, condition: v });
|
|
30
|
+
};
|
|
31
|
+
const val = value == null ? void 0 : value.val;
|
|
32
|
+
const val2 = value == null ? void 0 : value.val2;
|
|
33
|
+
const rdate = value == null ? void 0 : value.rdate;
|
|
34
|
+
const enumDataApi = (_b = (_a = useAppContext()) == null ? void 0 : _a.service) == null ? void 0 : _b.enumDataApi;
|
|
35
|
+
const fieldMap = (_d = (_c = useAppContext()) == null ? void 0 : _c.globalData) == null ? void 0 : _d.fieldMap;
|
|
36
|
+
const { options: enumOptions, enumUrl } = useMemo(() => {
|
|
37
|
+
var _a2;
|
|
38
|
+
let options = [];
|
|
39
|
+
let enumUrl2 = void 0;
|
|
40
|
+
if ((field == null ? void 0 : field.type) === "enum") {
|
|
41
|
+
options = ((_a2 = field == null ? void 0 : field.enum) == null ? void 0 : _a2.map((item) => ({
|
|
42
|
+
label: (fieldMap == null ? void 0 : fieldMap[item.label]) ?? item.label,
|
|
43
|
+
value: item.value
|
|
44
|
+
}))) ?? [];
|
|
45
|
+
enumUrl2 = field == null ? void 0 : field.dynamic_call_enum_api;
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
options,
|
|
49
|
+
enumUrl: enumUrl2
|
|
50
|
+
};
|
|
51
|
+
}, [field, fieldMap]);
|
|
52
|
+
const handleConditionValueChange = useMemoizedFn((key, v) => {
|
|
53
|
+
var _a2;
|
|
54
|
+
let _v = ((_a2 = v == null ? void 0 : v.target) == null ? void 0 : _a2.value) ?? v;
|
|
55
|
+
setValue({ ...value, [key]: _v });
|
|
56
|
+
});
|
|
57
|
+
const getVaildValue = (v, type, defaultValue) => {
|
|
58
|
+
let ret = defaultValue;
|
|
59
|
+
switch (type) {
|
|
60
|
+
case "number":
|
|
61
|
+
return typeof v === "number" ? v : ret;
|
|
62
|
+
case "dayjs":
|
|
63
|
+
return v instanceof dayjs ? v : ret;
|
|
64
|
+
case "boolean":
|
|
65
|
+
return typeof v === "boolean" ? v : ret;
|
|
66
|
+
case "string":
|
|
67
|
+
return typeof v === "string" ? v : ret;
|
|
68
|
+
default:
|
|
69
|
+
return v;
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
73
|
+
/* @__PURE__ */ jsx(
|
|
74
|
+
Select,
|
|
75
|
+
{
|
|
76
|
+
style: { width: "100px" },
|
|
77
|
+
disabled: symbolDisabled,
|
|
78
|
+
options: symbolOptions,
|
|
79
|
+
value: symbolValue,
|
|
80
|
+
onChange: symbolOnChange
|
|
81
|
+
}
|
|
82
|
+
),
|
|
83
|
+
!fieldType && /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(Input, { style: { width: "100px" }, disabled: true }) }),
|
|
84
|
+
!!fieldType && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
85
|
+
["int", "float"].includes(fieldType) && !["null", "notnull"].includes(symbolValue) ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
86
|
+
/* @__PURE__ */ jsx(
|
|
87
|
+
InputNumber,
|
|
88
|
+
{
|
|
89
|
+
style: { width: "100px" },
|
|
90
|
+
placeholder: t("pleaseEnter"),
|
|
91
|
+
value: getVaildValue(val),
|
|
92
|
+
onChange: (v) => {
|
|
93
|
+
handleConditionValueChange("val", v);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
),
|
|
97
|
+
symbolValue === "contain" ? /* @__PURE__ */ jsx(
|
|
98
|
+
InputNumber,
|
|
99
|
+
{
|
|
100
|
+
style: { width: "100px", marginLeft: "5px" },
|
|
101
|
+
placeholder: t("pleaseEnter"),
|
|
102
|
+
value: getVaildValue(val2),
|
|
103
|
+
onChange: (v) => {
|
|
104
|
+
handleConditionValueChange("val2", v);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
) : null
|
|
108
|
+
] }) : null,
|
|
109
|
+
fieldType === "timestamp" && !["null", "notnull"].includes(symbolValue) ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
110
|
+
symbolValue === "=" || symbolValue === "<" || symbolValue === ">" ? /* @__PURE__ */ jsx(
|
|
111
|
+
Select,
|
|
112
|
+
{
|
|
113
|
+
showSearch: true,
|
|
114
|
+
optionFilterProp: "label",
|
|
115
|
+
style: { width: "150px" },
|
|
116
|
+
options: symbolValue === "=" ? rdateOptions : rdateOptions2,
|
|
117
|
+
value: getVaildValue(rdate),
|
|
118
|
+
onChange: (v) => {
|
|
119
|
+
handleConditionValueChange("rdate", v);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
) : null,
|
|
123
|
+
rdate === "exactdate" ? /* @__PURE__ */ jsx(
|
|
124
|
+
DatePicker,
|
|
125
|
+
{
|
|
126
|
+
style: { width: "150px" },
|
|
127
|
+
value: getVaildValue(val, "dayjs"),
|
|
128
|
+
onChange: (v) => {
|
|
129
|
+
handleConditionValueChange("val", v);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
) : null,
|
|
133
|
+
symbolValue === "contain" ? /* @__PURE__ */ jsx(
|
|
134
|
+
DatePicker,
|
|
135
|
+
{
|
|
136
|
+
style: { width: "150px", marginLeft: "5px" },
|
|
137
|
+
value: getVaildValue(val2, "dayjs"),
|
|
138
|
+
onChange: (v) => {
|
|
139
|
+
handleConditionValueChange("val2", v);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
) : null
|
|
143
|
+
] }) : null,
|
|
144
|
+
["string"].includes(fieldType) && !["null", "notnull"].includes(symbolValue) ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
145
|
+
/* @__PURE__ */ jsx(
|
|
146
|
+
Input,
|
|
147
|
+
{
|
|
148
|
+
style: { width: "150px" },
|
|
149
|
+
placeholder: t("pleaseEnter"),
|
|
150
|
+
value: getVaildValue(val),
|
|
151
|
+
onChange: (v) => {
|
|
152
|
+
handleConditionValueChange("val", v);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
),
|
|
156
|
+
symbolValue === "contain" ? /* @__PURE__ */ jsx(
|
|
157
|
+
Input,
|
|
158
|
+
{
|
|
159
|
+
style: { width: "150px", marginLeft: "5px" },
|
|
160
|
+
placeholder: t("pleaseEnter"),
|
|
161
|
+
value: getVaildValue(val2, "dayjs"),
|
|
162
|
+
onChange: (v) => {
|
|
163
|
+
handleConditionValueChange("val2", v);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
) : null
|
|
167
|
+
] }) : null,
|
|
168
|
+
["bool"].includes(fieldType) ? /* @__PURE__ */ jsx(
|
|
169
|
+
Switch,
|
|
170
|
+
{
|
|
171
|
+
value: getVaildValue(val, "boolean"),
|
|
172
|
+
onChange: (v) => {
|
|
173
|
+
handleConditionValueChange("val", v);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
) : null,
|
|
177
|
+
["enum"].includes(fieldType) && !["null", "notnull"].includes(symbolValue) ? /* @__PURE__ */ jsx(Fragment, { children: enumOptions && (enumOptions == null ? void 0 : enumOptions.length) > 0 ? /* @__PURE__ */ jsx(
|
|
178
|
+
Select,
|
|
179
|
+
{
|
|
180
|
+
showSearch: true,
|
|
181
|
+
optionFilterProp: "label",
|
|
182
|
+
style: { width: "150px" },
|
|
183
|
+
options: enumOptions,
|
|
184
|
+
value: getVaildValue(val),
|
|
185
|
+
onChange: (v) => {
|
|
186
|
+
handleConditionValueChange("val", v);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
) : enumUrl ? /* @__PURE__ */ jsx(
|
|
190
|
+
DebounceSelect,
|
|
191
|
+
{
|
|
192
|
+
style: { width: "150px" },
|
|
193
|
+
value: getVaildValue(val),
|
|
194
|
+
onChange: (v) => {
|
|
195
|
+
handleConditionValueChange("val", v);
|
|
196
|
+
},
|
|
197
|
+
fetchOptions: async (value2) => {
|
|
198
|
+
var _a2;
|
|
199
|
+
let dfUrl = enumUrl;
|
|
200
|
+
if (value2) {
|
|
201
|
+
dfUrl = `${dfUrl}?q=${value2}`;
|
|
202
|
+
}
|
|
203
|
+
return await ((_a2 = enumDataApi == null ? void 0 : enumDataApi(dfUrl)) == null ? void 0 : _a2.then((res) => {
|
|
204
|
+
var _a3;
|
|
205
|
+
return (_a3 = res.data) == null ? void 0 : _a3.list;
|
|
206
|
+
})) ?? [];
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
) : null }) : null
|
|
210
|
+
] })
|
|
211
|
+
] });
|
|
212
|
+
};
|
|
213
|
+
ConditionSymbolAndValuePicker.displayName = "ConditionSymbolAndValuePicker";
|
|
214
|
+
export {
|
|
215
|
+
ConditionSymbolAndValuePicker,
|
|
216
|
+
ConditionSymbolAndValuePicker as default
|
|
217
|
+
};
|
|
218
|
+
//# sourceMappingURL=ConditionSymbolAndValuePicker.js.map
|
|
@@ -0,0 +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, Input, InputNumber, Select, 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 DebounceSelect from '../add-module-modal/components/condition-modal/debounce-select'\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 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\n setValue({ ...value, [key]: _v })\n })\n const getVaildValue = <T,>(\n v: unknown,\n type?: 'string' | 'number' | 'dayjs' | 'boolean',\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 (v instanceof dayjs ? 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 /* ============================== 默认值 =============================== */\n // useEffect(() => {\n // if (!!field?.value && !value?.condition) {\n // const initialValues: Omit<ConditionListItemWrapper, 'field'> = {\n // condition: '=',\n // val: '',\n // val2: '',\n // rdate: 'exactdate',\n // }\n // setValue({\n // ...initialValues,\n // })\n // }\n // }, [field?.value])\n\n return (\n <>\n <Select\n style={{ width: '100px' }}\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' ? (\n <DatePicker\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 <DatePicker\n style={{ width: '150px', marginLeft: '5px' }}\n value={getVaildValue(val2, 'dayjs')}\n onChange={v => {\n handleConditionValueChange('val2', v)\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 <Select\n showSearch\n optionFilterProp=\"label\"\n style={{ width: '150px' }}\n options={enumOptions}\n value={getVaildValue(val)}\n onChange={v => {\n handleConditionValueChange('val', v)\n }}\n />\n ) : enumUrl ? (\n <DebounceSelect<{ label: string; value: string }>\n style={{ width: '150px' }}\n value={getVaildValue(val)}\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"],"names":["enumUrl","_a","value"],"mappings":";;;;;;;;;AAqBa,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,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;AAE7B,aAAS,EAAE,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI;AAAA,EAAA,CACjC;AACD,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,aAAa,QAAQ,IAAI;AAAA,MACnC,KAAK;AACK,eAAA,OAAO,MAAM,YAAY,IAAI;AAAA,MACvC,KAAK;AACK,eAAA,OAAO,MAAM,WAAW,IAAI;AAAA,MACtC;AACS,eAAA;AAAA,IAAA;AAAA,EAEb;AAiBA,SAEI,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,OAAO,EAAE,OAAO,QAAQ;AAAA,QACxB,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,UAAU,cACT;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,EAAE,OAAO,SAAS,YAAY,MAAM;AAAA,YAC3C,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,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,UAAA;AAAA,QACrC;AAAA,UAEA,UACF;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,OAAO,EAAE,OAAO,QAAQ;AAAA,UACxB,OAAO,cAAc,GAAG;AAAA,UACxB,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;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type FiledPickerValue = {
|
|
2
|
+
dataSourceId: string;
|
|
3
|
+
field: string;
|
|
4
|
+
};
|
|
5
|
+
export type FieldPickerDataSourceItem = {
|
|
6
|
+
key: string;
|
|
7
|
+
label: string;
|
|
8
|
+
children: FieldPickerDataSourceItem[];
|
|
9
|
+
};
|
|
10
|
+
export declare const FieldPicker: (props: {
|
|
11
|
+
value?: FiledPickerValue;
|
|
12
|
+
onChange?: (value: FiledPickerValue) => void;
|
|
13
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
import { Dropdown, Select } from "antd";
|
|
4
|
+
import { useTranslation } from "react-i18next";
|
|
5
|
+
import { useControllableValue, useMemoizedFn } from "ahooks";
|
|
6
|
+
import { useContext } from "./useContext.js";
|
|
7
|
+
import { getMergeId } from "./util.js";
|
|
8
|
+
const FieldPicker = (props) => {
|
|
9
|
+
var _a, _b;
|
|
10
|
+
const { t } = useTranslation();
|
|
11
|
+
const { fieldPickerDataSource: dataSource, flattenFieldMap } = useContext();
|
|
12
|
+
const [value, onChange] = useControllableValue(props);
|
|
13
|
+
const handleClick = useMemoizedFn((props2) => {
|
|
14
|
+
const [mergeField, dataSourceId] = props2.keyPath;
|
|
15
|
+
let field = mergeField == null ? void 0 : mergeField.replace(`${dataSourceId}-`, "");
|
|
16
|
+
if (!!field) {
|
|
17
|
+
onChange({
|
|
18
|
+
dataSourceId,
|
|
19
|
+
field
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
const selectField = useMemo(() => {
|
|
24
|
+
{
|
|
25
|
+
let mergeField = getMergeId(value == null ? void 0 : value.dataSourceId, value == null ? void 0 : value.field);
|
|
26
|
+
let selectField2 = flattenFieldMap == null ? void 0 : flattenFieldMap.get(mergeField);
|
|
27
|
+
return selectField2;
|
|
28
|
+
}
|
|
29
|
+
}, [value, flattenFieldMap]);
|
|
30
|
+
return /* @__PURE__ */ jsx(
|
|
31
|
+
Dropdown,
|
|
32
|
+
{
|
|
33
|
+
trigger: ["click"],
|
|
34
|
+
menu: {
|
|
35
|
+
selectable: true,
|
|
36
|
+
selectedKeys: selectField ? [(_a = selectField == null ? void 0 : selectField.source) == null ? void 0 : _a.value, selectField == null ? void 0 : selectField.mergeId] : [],
|
|
37
|
+
items: dataSource,
|
|
38
|
+
onClick: handleClick
|
|
39
|
+
// getPopupContainer:(node)=>(node.parentNode??document.body) as HTMLElement
|
|
40
|
+
},
|
|
41
|
+
children: /* @__PURE__ */ jsx(
|
|
42
|
+
Select,
|
|
43
|
+
{
|
|
44
|
+
open: false,
|
|
45
|
+
placeholder: t("selectGroupField"),
|
|
46
|
+
style: { width: 200 },
|
|
47
|
+
value: ((_b = selectField == null ? void 0 : selectField.field) == null ? void 0 : _b.label) ?? void 0
|
|
48
|
+
}
|
|
49
|
+
)
|
|
50
|
+
}
|
|
51
|
+
);
|
|
52
|
+
};
|
|
53
|
+
export {
|
|
54
|
+
FieldPicker
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=FieldPicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FieldPicker.js","sources":["../../../../packages/dashboard-workbench/components/global-filter-condition/FieldPicker.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react'\nimport { Button, Dropdown, MenuProps, Popover, Select } from 'antd'\nimport { ItemType, MenuItemGroupType, MenuItemType, SubMenuType } from 'antd/es/menu/interface'\nimport { useTranslation } from 'react-i18next'\nimport { useControllableValue, useMemoizedFn } from 'ahooks'\nimport { useContext } from './useContext'\nimport { getMergeId } from './util'\n\nexport type FiledPickerValue = {\n dataSourceId: string\n field: string\n}\n\nexport type FieldPickerDataSourceItem = {\n key: string\n label: string\n children: FieldPickerDataSourceItem[]\n}\n\nexport const FieldPicker = (props: {\n value?: FiledPickerValue\n onChange?: (value: FiledPickerValue) => void\n}) => {\n const { t } = useTranslation()\n const { fieldPickerDataSource: dataSource, flattenFieldMap } = useContext()\n\n const [value, onChange] = useControllableValue<FiledPickerValue>(props)\n\n const handleClick: MenuProps['onClick'] = useMemoizedFn(props => {\n const [mergeField, dataSourceId] = props.keyPath\n let field = mergeField?.replace(`${dataSourceId}-`, '')\n\n if (!!field) {\n onChange({\n dataSourceId: dataSourceId,\n field: field,\n })\n }\n })\n\n const selectField = useMemo(() => {\n {\n let mergeField = getMergeId(value?.dataSourceId, value?.field)\n let selectField = flattenFieldMap?.get(mergeField)\n return selectField\n }\n }, [value, flattenFieldMap])\n\n return (\n <Dropdown\n trigger={['click']}\n menu={{\n selectable: true,\n selectedKeys: selectField ? [selectField?.source?.value, selectField?.mergeId] : [],\n items: dataSource,\n onClick: handleClick,\n // getPopupContainer:(node)=>(node.parentNode??document.body) as HTMLElement\n }}\n >\n <Select\n open={false}\n placeholder={t('selectGroupField')}\n style={{ width: 200 }}\n value={selectField?.field?.label ?? undefined}\n />\n </Dropdown>\n )\n}\n"],"names":["props","selectField"],"mappings":";;;;;;;AAmBa,MAAA,cAAc,CAAC,UAGtB;;AACE,QAAA,EAAE,EAAE,IAAI,eAAe;AAC7B,QAAM,EAAE,uBAAuB,YAAY,gBAAA,IAAoB,WAAW;AAE1E,QAAM,CAAC,OAAO,QAAQ,IAAI,qBAAuC,KAAK;AAEhE,QAAA,cAAoC,cAAc,CAAAA,WAAS;AAC/D,UAAM,CAAC,YAAY,YAAY,IAAIA,OAAM;AACzC,QAAI,QAAQ,yCAAY,QAAQ,GAAG,YAAY,KAAK;AAEhD,QAAA,CAAC,CAAC,OAAO;AACF,eAAA;AAAA,QACP;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IAAA;AAAA,EACH,CACD;AAEK,QAAA,cAAc,QAAQ,MAAM;AAChC;AACE,UAAI,aAAa,WAAW,+BAAO,cAAc,+BAAO,KAAK;AACzDC,UAAAA,eAAc,mDAAiB,IAAI;AAChCA,aAAAA;AAAAA,IAAA;AAAA,EACT,GACC,CAAC,OAAO,eAAe,CAAC;AAGzB,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,SAAS,CAAC,OAAO;AAAA,MACjB,MAAM;AAAA,QACJ,YAAY;AAAA,QACZ,cAAc,cAAc,EAAC,gDAAa,WAAb,mBAAqB,OAAO,2CAAa,OAAO,IAAI,CAAC;AAAA,QAClF,OAAO;AAAA,QACP,SAAS;AAAA;AAAA,MAEX;AAAA,MAEA,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAM;AAAA,UACN,aAAa,EAAE,kBAAkB;AAAA,UACjC,OAAO,EAAE,OAAO,IAAI;AAAA,UACpB,SAAO,gDAAa,UAAb,mBAAoB,UAAS;AAAA,QAAA;AAAA,MAAA;AAAA,IACtC;AAAA,EACF;AAEJ;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { ConditionBlockWrapper } from './interface';
|
|
3
|
+
export interface GlobalFilterConditionProps {
|
|
4
|
+
className?: string;
|
|
5
|
+
style?: React.CSSProperties;
|
|
6
|
+
}
|
|
7
|
+
export declare const GlobalFilterCondition: React.FC<GlobalFilterConditionProps>;
|
|
8
|
+
export default GlobalFilterCondition;
|
|
9
|
+
export type PopoverContentProps = {
|
|
10
|
+
defaultValue?: ConditionBlockWrapper[];
|
|
11
|
+
onClose?: (isOk: boolean, data?: ConditionBlockWrapper[]) => void;
|
|
12
|
+
};
|
|
13
|
+
export declare const PopoverContent: (props: PopoverContentProps) => import("react/jsx-runtime").JSX.Element;
|