@platox/pivot-table 0.0.43 → 0.0.45

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.
@@ -1,9 +1,9 @@
1
1
  import { jsx, Fragment, jsxs } from "react/jsx-runtime";
2
2
  import { useCallback, useEffect } from "react";
3
- import { Form, Modal, Flex, Select, Space, InputNumber, DatePicker, Input, Switch, Button } from "antd";
3
+ import { Form, Modal, Flex, Select, Space, InputNumber, Input, Switch, Button } from "antd";
4
4
  import { MinusCircleOutlined, PlusOutlined } from "@ant-design/icons";
5
5
  import { useTranslation } from "react-i18next";
6
- import dayjs from "dayjs";
6
+ import { DatePickerWrapper, RangePickerWrapper } from "../../../global-filter-condition/ConditionSymbolAndValuePicker.js";
7
7
  import { useAppContext } from "../../../../context.js";
8
8
  import { useConditionTypeOptions, useConditionSymbolOptions } from "./config.js";
9
9
  import DebounceSelect from "./debounce-select.js";
@@ -33,14 +33,6 @@ const ConditionModal = ({
33
33
  const conditionList = JSON.parse(JSON.stringify(value == null ? void 0 : value.conditionList));
34
34
  form.setFieldsValue({
35
35
  conditionList: conditionList.map((item) => {
36
- if (item.type === "timestamp") {
37
- if (item.val) {
38
- item.val = dayjs(new Date(item.val));
39
- }
40
- if (item.val2) {
41
- item.val2 = dayjs(new Date(item.val2));
42
- }
43
- }
44
36
  if (item.val === void 0 || item.val === "") {
45
37
  item.val = "";
46
38
  }
@@ -76,14 +68,6 @@ const ConditionModal = ({
76
68
  const conditionType = val.conditionType || "all";
77
69
  const newVal = {
78
70
  conditionList: conditionList.map((item) => {
79
- if (item.type === "timestamp") {
80
- if (item.val) {
81
- item.val = dayjs(item.val).format("YYYY-MM-DD");
82
- }
83
- if (item.val2) {
84
- item.val2 = item.val2 ? dayjs(item.val2).format("YYYY-MM-DD") : "";
85
- }
86
- }
87
71
  return item;
88
72
  }),
89
73
  conditionType
@@ -211,13 +195,30 @@ const ConditionModal = ({
211
195
  options: condition === "=" ? rdateOptions : rdateOptions2
212
196
  }
213
197
  ) }) : null,
214
- rdate == "exactdate" ? /* @__PURE__ */ jsx(Form.Item, { ...restField, name: [name, "val"], noStyle: true, children: /* @__PURE__ */ jsx(DatePicker, { style: { width: "150px" } }) }) : null,
215
- condition === "contain" ? /* @__PURE__ */ jsx(Form.Item, { ...restField, name: [name, "val2"], noStyle: true, children: /* @__PURE__ */ jsx(
216
- DatePicker,
198
+ rdate == "exactdate" && condition !== "contain" ? /* @__PURE__ */ jsx(Form.Item, { ...restField, name: [name, "val"], noStyle: true, children: /* @__PURE__ */ jsx(DatePickerWrapper, { style: { width: "150px" } }) }) : null,
199
+ condition === "contain" ? /* @__PURE__ */ jsx(Form.Item, { ...restField, noStyle: true, children: /* @__PURE__ */ jsx(
200
+ RangePickerWrapper,
217
201
  {
218
- style: {
219
- width: "150px",
220
- marginLeft: "5px"
202
+ value: [
203
+ getFieldValue(["conditionList", name, "val"]),
204
+ getFieldValue(["conditionList", name, "val2"])
205
+ ],
206
+ onChange: (v) => {
207
+ console.log("RangePickerWrapper", v);
208
+ form.setFieldsValue({
209
+ ["conditionList"]: [
210
+ ...form.getFieldValue("conditionList").map((item) => {
211
+ if (item.field === field) {
212
+ return {
213
+ ...item,
214
+ val: v[0],
215
+ val2: v[1]
216
+ };
217
+ }
218
+ return item;
219
+ })
220
+ ]
221
+ });
221
222
  }
222
223
  }
223
224
  ) }) : null
@@ -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 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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"}
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 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.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 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 console.log('RangePickerWrapper', 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 <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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"}
@@ -15,6 +15,10 @@ export declare const ConditionSymbolAndValuePicker: {
15
15
  };
16
16
  export default ConditionSymbolAndValuePicker;
17
17
  export declare const DatePickerWrapper: (props: {
18
- value: string;
19
- onChange: (v: string) => void;
18
+ value?: string;
19
+ onChange?: (v: string) => void;
20
20
  } & DatePickerProps) => import("react/jsx-runtime").JSX.Element;
21
+ export declare const RangePickerWrapper: (props: {
22
+ value?: [string, string];
23
+ onChange?: (v: [string, string]) => void;
24
+ } & Omit<DatePickerProps, "value" | "onChange">) => import("react/jsx-runtime").JSX.Element;
@@ -122,7 +122,7 @@ const ConditionSymbolAndValuePicker = (props) => {
122
122
  }
123
123
  }
124
124
  ) : null,
125
- rdate == "exactdate" || symbolValue === "contain" ? /* @__PURE__ */ jsx(
125
+ rdate == "exactdate" && symbolValue !== "contain" ? /* @__PURE__ */ jsx(
126
126
  DatePickerWrapper,
127
127
  {
128
128
  style: { width: "150px" },
@@ -133,12 +133,11 @@ const ConditionSymbolAndValuePicker = (props) => {
133
133
  }
134
134
  ) : null,
135
135
  symbolValue === "contain" ? /* @__PURE__ */ jsx(
136
- DatePickerWrapper,
136
+ RangePickerWrapper,
137
137
  {
138
- style: { width: "150px", marginLeft: "5px" },
139
- value: getVaildValue(val2, "dayjs"),
138
+ value: [getVaildValue(val, "dayjs"), getVaildValue(val2, "dayjs")],
140
139
  onChange: (v) => {
141
- handleConditionValueChange("val2", v);
140
+ setValue({ ...value, val: v[0], val2: v[1] });
142
141
  }
143
142
  }
144
143
  ) : null
@@ -215,7 +214,7 @@ const ConditionSymbolAndValuePicker = (props) => {
215
214
  ConditionSymbolAndValuePicker.displayName = "ConditionSymbolAndValuePicker";
216
215
  const format = "YYYY-MM-DD";
217
216
  const DatePickerWrapper = (props) => {
218
- const { value, onChange, ...others } = props;
217
+ const { value = "", onChange, ...others } = props;
219
218
  const dayjsValue = useMemo(() => {
220
219
  return !!value ? dayjs(value, format) : void 0;
221
220
  }, [value]);
@@ -225,7 +224,29 @@ const DatePickerWrapper = (props) => {
225
224
  ...others,
226
225
  value: dayjsValue,
227
226
  onChange: (v) => {
228
- return onChange((v == null ? void 0 : v.format(format)) ?? "");
227
+ return onChange == null ? void 0 : onChange((v == null ? void 0 : v.format(format)) ?? "");
228
+ }
229
+ }
230
+ );
231
+ };
232
+ const RangePickerWrapper = (props) => {
233
+ const { value, onChange, ...others } = props;
234
+ const dayjsValue = useMemo(() => {
235
+ let start = !!(value == null ? void 0 : value[0]) ? dayjs(value == null ? void 0 : value[0], format) : void 0;
236
+ let end = !!(value == null ? void 0 : value[1]) ? dayjs(value == null ? void 0 : value[1], format) : void 0;
237
+ return [start, end];
238
+ }, [(value == null ? void 0 : value[0]) ?? "", (value == null ? void 0 : value[1]) ?? ""]);
239
+ return /* @__PURE__ */ jsx(
240
+ DatePicker.RangePicker,
241
+ {
242
+ ...others,
243
+ value: dayjsValue,
244
+ allowClear: false,
245
+ onChange: (v) => {
246
+ var _a, _b;
247
+ let start = ((_a = v == null ? void 0 : v[0]) == null ? void 0 : _a.format(format)) ?? "";
248
+ let end = ((_b = v == null ? void 0 : v[1]) == null ? void 0 : _b.format(format)) ?? "";
249
+ onChange == null ? void 0 : onChange([start, end]);
229
250
  }
230
251
  }
231
252
  );
@@ -233,6 +254,7 @@ const DatePickerWrapper = (props) => {
233
254
  export {
234
255
  ConditionSymbolAndValuePicker,
235
256
  DatePickerWrapper,
257
+ RangePickerWrapper,
236
258
  ConditionSymbolAndValuePicker as default
237
259
  };
238
260
  //# sourceMappingURL=ConditionSymbolAndValuePicker.js.map
@@ -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, 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 let newValue = { ...value, condition: v }\n if (fieldType === 'timestamp') {\n newValue['rdate'] = 'exactdate'\n }\n setValue({ ...value, condition: v })\n }\n console.log('symbolValue', symbolValue, value)\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 (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 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 <DatePickerWrapper\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\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"],"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, 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 let newValue = { ...value, condition: v }\n if (fieldType === 'timestamp') {\n newValue['rdate'] = 'exactdate'\n }\n setValue({ ...value, condition: v })\n }\n console.log('symbolValue', symbolValue, value)\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',\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 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 <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\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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"}
@@ -76,7 +76,7 @@ const GlobalFilterCondition = (props) => {
76
76
  onOpenChange: setOpen,
77
77
  children: /* @__PURE__ */ jsxs(Button, { children: [
78
78
  /* @__PURE__ */ jsx(FilterOutlined, {}),
79
- t("filter"),
79
+ t("globalfilter"),
80
80
  ((globalFilterCondition == null ? void 0 : globalFilterCondition.length) ?? 0) > 0 ? `(${globalFilterCondition == null ? void 0 : globalFilterCondition.length})` : ""
81
81
  ] })
82
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../packages/dashboard-workbench/components/global-filter-condition/index.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react'\nimport clsx from 'clsx'\nimport { Button, MenuProps, Popover, Select, Space } from 'antd'\nimport { FilterOutlined, PlusOutlined } from '@ant-design/icons'\nimport { useTranslation } from 'react-i18next'\nimport { useMemoizedFn } from 'ahooks'\nimport { cloneDeep, isEqual } from 'lodash-es'\nimport { useAppContext } from '@platox/pivot-table/context'\nimport { useConditionTypeOptions } from '../add-module-modal/components/condition-modal/config'\nimport ConditionRowItem from './ConditionRowItem'\nimport { FieldPickerDataSourceItem } from './FieldPicker'\nimport styles from './index.module.less'\nimport { ConditionBlockWrapper, ConditionListItemWrapper } from './interface'\nimport { Context, ContextProps, useContext } from './useContext'\nimport { getMergeId } from './util'\n\nconst componentName = 'global-filter-condition'\n\nconst Empty: unknown[] = []\n\n/* ============================== split =============================== */\n\nexport interface GlobalFilterConditionProps {\n className?: string\n style?: React.CSSProperties\n}\nexport const GlobalFilterCondition: React.FC<GlobalFilterConditionProps> = props => {\n const { className, style } = props\n\n const { t } = useTranslation()\n\n const { globalFilterCondition, setGlobalFilterCondition } = useAppContext()\n\n const [open, setOpen] = useState<boolean>(false)\n\n /* ============================== 整理数据 =============================== */\n const { globalData } = useAppContext()\n const { fieldPickerDataSource, flattenFieldMap } = useMemo(() => {\n let flattenFieldMap: ContextProps['flattenFieldMap'] = new Map()\n\n let fieldPickerDataSource = (globalData?.sourceData || []).map(item => {\n let children = (item?.fields || []).map(v => {\n let mergeId = getMergeId(item?.value, v?.value)\n\n // 记录mergeId对应的field和source\n flattenFieldMap.set(mergeId, {\n field: v,\n source: item,\n mergeId: mergeId,\n })\n\n return {\n key: mergeId,\n label: v?.label,\n }\n })\n\n return {\n key: item?.value,\n label: item?.label,\n children,\n popupClassName: styles['sub-popup'],\n }\n })\n\n return {\n fieldPickerDataSource: fieldPickerDataSource as unknown as FieldPickerDataSourceItem[],\n flattenFieldMap,\n }\n }, [globalData?.sourceData])\n\n return (\n <Context.Provider\n value={{\n fieldPickerDataSource: fieldPickerDataSource,\n flattenFieldMap: flattenFieldMap,\n }}\n >\n <div className={clsx(styles[`${componentName}`], className)} style={style}>\n <Popover\n content={\n <PopoverContent\n defaultValue={globalFilterCondition}\n onClose={(isOk, data) => {\n if (isOk) {\n setGlobalFilterCondition(data!)\n }\n setOpen(false)\n }}\n />\n }\n destroyTooltipOnHide\n placement=\"bottomRight\"\n trigger=\"click\"\n open={open}\n onOpenChange={setOpen}\n >\n <Button>\n <FilterOutlined />\n {t('filter')}\n {(globalFilterCondition?.length ?? 0) > 0 ? `(${globalFilterCondition?.length})` : ''}\n </Button>\n </Popover>\n </div>\n </Context.Provider>\n )\n}\n\nGlobalFilterCondition.displayName = 'GlobalFilterCondition'\n\nexport default GlobalFilterCondition\n\n/* ============================== split =============================== */\n\nexport type PopoverContentProps = {\n defaultValue?: ConditionBlockWrapper[]\n onClose?: (isOk: boolean, data?: ConditionBlockWrapper[]) => void\n}\n\nexport const PopoverContent = (props: PopoverContentProps) => {\n const { defaultValue } = props\n\n const { t } = useTranslation()\n const fieldPickerDataSource = useContext().fieldPickerDataSource\n const conditionTypeOptions = useConditionTypeOptions()\n\n /* ============================== split =============================== */\n const [value = Empty as ConditionBlockWrapper[], setValue] = useState<ConditionBlockWrapper[]>([])\n\n useEffect(() => {\n if (defaultValue) {\n setValue(cloneDeep(defaultValue))\n }\n }, [defaultValue])\n\n /* ============================== 这是empty =============================== */\n const [emptyBlockList, setEmptyBlockList] = useState<ConditionListItemWrapper[]>([])\n\n const handleEmptyBlockListChange = (newItem: ConditionListItemWrapper) => {\n if (newItem?.field) {\n setValue(prev => {\n let ret = [...prev]\n let match = ret.find(item => item.dataSourceId === newItem.dataSourceId)\n if (match) {\n match.conditionList.push(newItem)\n return [...ret]\n } else {\n //  创建一个\n let newConditionBlockWrapper = {\n dataSourceId: newItem.dataSourceId,\n conditionType: 'all',\n conditionList: [newItem],\n } as ConditionBlockWrapper\n return [...ret, newConditionBlockWrapper]\n }\n })\n }\n }\n\n const handleAddEmptyBlock = () => {\n setEmptyBlockList([...emptyBlockList, {}])\n }\n\n /* ============================== split =============================== */\n const hasChange = useMemo(() => {\n return !isEqual(value, defaultValue)\n }, [value, defaultValue])\n\n const handleSubmit = useMemoizedFn(() => {\n props?.onClose?.(true, value)\n })\n\n return (\n <div className={clsx(styles[`${componentName}__popover`])}>\n <div\n style={{\n marginBottom: '10px',\n }}\n >\n {t('setFilterCondition')}\n </div>\n\n {value.map((item, index) => {\n let conditionList = item?.conditionList\n let dataSourceName = fieldPickerDataSource?.find(v => v.key === item?.dataSourceId)?.label\n\n return (\n <div className={clsx(styles[`${componentName}__block`])} key={item?.dataSourceId}>\n <div\n style={{\n marginBottom: '10px',\n display: 'flex',\n justifyContent: 'space-between',\n }}\n >\n <div>{dataSourceName}</div>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: '5px',\n }}\n >\n {t('conformTo')}\n <Select\n style={{ width: '80px' }}\n options={conditionTypeOptions}\n value={item?.conditionType}\n onChange={v => {\n setValue(prev => {\n let ret = [...prev]\n ret[index].conditionType = v\n return ret\n })\n }}\n />\n {t('addCondition')}\n </div>\n </div>\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n gap: '10px',\n }}\n >\n {conditionList.map((v, conditionIndex) => {\n return (\n <ConditionRowItem\n key={conditionIndex}\n value={v}\n onChange={newValue => {\n setValue(prev => {\n let ret = [...prev]\n let prevItem = ret[index].conditionList[conditionIndex]\n if (prevItem?.dataSourceId !== newValue?.dataSourceId) {\n // 数据源变化了 删除原来的\n ret[index].conditionList.splice(conditionIndex, 1)\n if (ret[index].conditionList.length === 0) {\n ret.splice(index, 1)\n }\n // 添加到新的数据源添\n let newItem = newValue\n let match = ret.find(item => item.dataSourceId === newItem.dataSourceId)\n if (match) {\n match.conditionList.push(newItem)\n return [...ret]\n } else {\n let newConditionBlockWrapper = {\n dataSourceId: newItem.dataSourceId,\n conditionType: 'all',\n conditionList: [newItem],\n } as ConditionBlockWrapper\n return [...ret, newConditionBlockWrapper]\n }\n } else {\n ret[index].conditionList[conditionIndex] = {\n ...prevItem,\n ...newValue,\n }\n }\n\n return ret\n })\n }}\n onDelete={() => {\n setValue(prev => {\n let ret = [...prev]\n ret[index].conditionList.splice(conditionIndex, 1)\n\n if (ret[index].conditionList.length === 0) {\n ret.splice(index, 1)\n }\n return ret\n })\n }}\n />\n )\n })}\n </div>\n </div>\n )\n })}\n\n {emptyBlockList.map((item, index) => {\n return (\n <div className={clsx(styles[`${componentName}__block`])} key={index}>\n <ConditionRowItem\n value={item}\n onChange={newValue => {\n handleEmptyBlockListChange(newValue)\n }}\n onDelete={() => {\n setEmptyBlockList(prev => {\n let ret = [...prev]\n ret.splice(index, 1)\n return ret\n })\n }}\n />\n </div>\n )\n })}\n\n <Button\n type=\"dashed\"\n block\n style={{\n marginBottom: '10px',\n }}\n icon={<PlusOutlined />}\n onClick={() => {\n handleAddEmptyBlock()\n }}\n >\n {t('addCondition')}\n </Button>\n\n <div\n style={{\n display: 'flex',\n justifyContent: 'flex-end',\n }}\n >\n <Button\n type=\"primary\"\n disabled={!hasChange}\n onClick={() => {\n handleSubmit()\n }}\n >\n {t('confirm')}\n </Button>\n </div>\n </div>\n )\n}\n"],"names":["flattenFieldMap","fieldPickerDataSource","item"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../packages/dashboard-workbench/components/global-filter-condition/index.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react'\nimport clsx from 'clsx'\nimport { Button, MenuProps, Popover, Select, Space } from 'antd'\nimport { FilterOutlined, PlusOutlined } from '@ant-design/icons'\nimport { useTranslation } from 'react-i18next'\nimport { useMemoizedFn } from 'ahooks'\nimport { cloneDeep, isEqual } from 'lodash-es'\nimport { useAppContext } from '@platox/pivot-table/context'\nimport { useConditionTypeOptions } from '../add-module-modal/components/condition-modal/config'\nimport ConditionRowItem from './ConditionRowItem'\nimport { FieldPickerDataSourceItem } from './FieldPicker'\nimport styles from './index.module.less'\nimport { ConditionBlockWrapper, ConditionListItemWrapper } from './interface'\nimport { Context, ContextProps, useContext } from './useContext'\nimport { getMergeId } from './util'\n\nconst componentName = 'global-filter-condition'\n\nconst Empty: unknown[] = []\n\n/* ============================== split =============================== */\n\nexport interface GlobalFilterConditionProps {\n className?: string\n style?: React.CSSProperties\n}\nexport const GlobalFilterCondition: React.FC<GlobalFilterConditionProps> = props => {\n const { className, style } = props\n\n const { t } = useTranslation()\n\n const { globalFilterCondition, setGlobalFilterCondition } = useAppContext()\n\n const [open, setOpen] = useState<boolean>(false)\n\n /* ============================== 整理数据 =============================== */\n const { globalData } = useAppContext()\n const { fieldPickerDataSource, flattenFieldMap } = useMemo(() => {\n let flattenFieldMap: ContextProps['flattenFieldMap'] = new Map()\n\n let fieldPickerDataSource = (globalData?.sourceData || []).map(item => {\n let children = (item?.fields || []).map(v => {\n let mergeId = getMergeId(item?.value, v?.value)\n\n // 记录mergeId对应的field和source\n flattenFieldMap.set(mergeId, {\n field: v,\n source: item,\n mergeId: mergeId,\n })\n\n return {\n key: mergeId,\n label: v?.label,\n }\n })\n\n return {\n key: item?.value,\n label: item?.label,\n children,\n popupClassName: styles['sub-popup'],\n }\n })\n\n return {\n fieldPickerDataSource: fieldPickerDataSource as unknown as FieldPickerDataSourceItem[],\n flattenFieldMap,\n }\n }, [globalData?.sourceData])\n\n return (\n <Context.Provider\n value={{\n fieldPickerDataSource: fieldPickerDataSource,\n flattenFieldMap: flattenFieldMap,\n }}\n >\n <div className={clsx(styles[`${componentName}`], className)} style={style}>\n <Popover\n content={\n <PopoverContent\n defaultValue={globalFilterCondition}\n onClose={(isOk, data) => {\n if (isOk) {\n setGlobalFilterCondition(data!)\n }\n setOpen(false)\n }}\n />\n }\n destroyTooltipOnHide\n placement=\"bottomRight\"\n trigger=\"click\"\n open={open}\n onOpenChange={setOpen}\n >\n <Button>\n <FilterOutlined />\n {t('globalfilter')}\n {(globalFilterCondition?.length ?? 0) > 0 ? `(${globalFilterCondition?.length})` : ''}\n </Button>\n </Popover>\n </div>\n </Context.Provider>\n )\n}\n\nGlobalFilterCondition.displayName = 'GlobalFilterCondition'\n\nexport default GlobalFilterCondition\n\n/* ============================== split =============================== */\n\nexport type PopoverContentProps = {\n defaultValue?: ConditionBlockWrapper[]\n onClose?: (isOk: boolean, data?: ConditionBlockWrapper[]) => void\n}\n\nexport const PopoverContent = (props: PopoverContentProps) => {\n const { defaultValue } = props\n\n const { t } = useTranslation()\n const fieldPickerDataSource = useContext().fieldPickerDataSource\n const conditionTypeOptions = useConditionTypeOptions()\n\n /* ============================== split =============================== */\n const [value = Empty as ConditionBlockWrapper[], setValue] = useState<ConditionBlockWrapper[]>([])\n\n useEffect(() => {\n if (defaultValue) {\n setValue(cloneDeep(defaultValue))\n }\n }, [defaultValue])\n\n /* ============================== 这是empty =============================== */\n const [emptyBlockList, setEmptyBlockList] = useState<ConditionListItemWrapper[]>([])\n\n const handleEmptyBlockListChange = (newItem: ConditionListItemWrapper) => {\n if (newItem?.field) {\n setValue(prev => {\n let ret = [...prev]\n let match = ret.find(item => item.dataSourceId === newItem.dataSourceId)\n if (match) {\n match.conditionList.push(newItem)\n return [...ret]\n } else {\n //  创建一个\n let newConditionBlockWrapper = {\n dataSourceId: newItem.dataSourceId,\n conditionType: 'all',\n conditionList: [newItem],\n } as ConditionBlockWrapper\n return [...ret, newConditionBlockWrapper]\n }\n })\n }\n }\n\n const handleAddEmptyBlock = () => {\n setEmptyBlockList([...emptyBlockList, {}])\n }\n\n /* ============================== split =============================== */\n const hasChange = useMemo(() => {\n return !isEqual(value, defaultValue)\n }, [value, defaultValue])\n\n const handleSubmit = useMemoizedFn(() => {\n props?.onClose?.(true, value)\n })\n\n return (\n <div className={clsx(styles[`${componentName}__popover`])}>\n <div\n style={{\n marginBottom: '10px',\n }}\n >\n {t('setFilterCondition')}\n </div>\n\n {value.map((item, index) => {\n let conditionList = item?.conditionList\n let dataSourceName = fieldPickerDataSource?.find(v => v.key === item?.dataSourceId)?.label\n\n return (\n <div className={clsx(styles[`${componentName}__block`])} key={item?.dataSourceId}>\n <div\n style={{\n marginBottom: '10px',\n display: 'flex',\n justifyContent: 'space-between',\n }}\n >\n <div>{dataSourceName}</div>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: '5px',\n }}\n >\n {t('conformTo')}\n <Select\n style={{ width: '80px' }}\n options={conditionTypeOptions}\n value={item?.conditionType}\n onChange={v => {\n setValue(prev => {\n let ret = [...prev]\n ret[index].conditionType = v\n return ret\n })\n }}\n />\n {t('addCondition')}\n </div>\n </div>\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n gap: '10px',\n }}\n >\n {conditionList.map((v, conditionIndex) => {\n return (\n <ConditionRowItem\n key={conditionIndex}\n value={v}\n onChange={newValue => {\n setValue(prev => {\n let ret = [...prev]\n let prevItem = ret[index].conditionList[conditionIndex]\n if (prevItem?.dataSourceId !== newValue?.dataSourceId) {\n // 数据源变化了 删除原来的\n ret[index].conditionList.splice(conditionIndex, 1)\n if (ret[index].conditionList.length === 0) {\n ret.splice(index, 1)\n }\n // 添加到新的数据源添\n let newItem = newValue\n let match = ret.find(item => item.dataSourceId === newItem.dataSourceId)\n if (match) {\n match.conditionList.push(newItem)\n return [...ret]\n } else {\n let newConditionBlockWrapper = {\n dataSourceId: newItem.dataSourceId,\n conditionType: 'all',\n conditionList: [newItem],\n } as ConditionBlockWrapper\n return [...ret, newConditionBlockWrapper]\n }\n } else {\n ret[index].conditionList[conditionIndex] = {\n ...prevItem,\n ...newValue,\n }\n }\n\n return ret\n })\n }}\n onDelete={() => {\n setValue(prev => {\n let ret = [...prev]\n ret[index].conditionList.splice(conditionIndex, 1)\n\n if (ret[index].conditionList.length === 0) {\n ret.splice(index, 1)\n }\n return ret\n })\n }}\n />\n )\n })}\n </div>\n </div>\n )\n })}\n\n {emptyBlockList.map((item, index) => {\n return (\n <div className={clsx(styles[`${componentName}__block`])} key={index}>\n <ConditionRowItem\n value={item}\n onChange={newValue => {\n handleEmptyBlockListChange(newValue)\n }}\n onDelete={() => {\n setEmptyBlockList(prev => {\n let ret = [...prev]\n ret.splice(index, 1)\n return ret\n })\n }}\n />\n </div>\n )\n })}\n\n <Button\n type=\"dashed\"\n block\n style={{\n marginBottom: '10px',\n }}\n icon={<PlusOutlined />}\n onClick={() => {\n handleAddEmptyBlock()\n }}\n >\n {t('addCondition')}\n </Button>\n\n <div\n style={{\n display: 'flex',\n justifyContent: 'flex-end',\n }}\n >\n <Button\n type=\"primary\"\n disabled={!hasChange}\n onClick={() => {\n handleSubmit()\n }}\n >\n {t('confirm')}\n </Button>\n </div>\n </div>\n )\n}\n"],"names":["flattenFieldMap","fieldPickerDataSource","item"],"mappings":"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"}
@@ -178,6 +178,7 @@ declare const _default: {
178
178
  averageVal: string;
179
179
  empty: string;
180
180
  filter: string;
181
+ globalfilter: string;
181
182
  setFilterCondition: string;
182
183
  selectGroupField: string;
183
184
  };
@@ -42,6 +42,7 @@ const common = {
42
42
  averageVal: "Average Value",
43
43
  empty: "No Data",
44
44
  filter: "Filter",
45
+ globalfilter: "Global Filter",
45
46
  setFilterCondition: "Set Filter Condition",
46
47
  selectGroupField: "Select Group Field"
47
48
  };
@@ -135,8 +136,8 @@ const add = {
135
136
  add11: "Equal to",
136
137
  add12: "Not Equal to",
137
138
  add13: "Equal to",
138
- add14: "Before",
139
- add15: "After",
139
+ add14: "Before(<)",
140
+ add15: "After(>)",
140
141
  add16: "Within Range",
141
142
  add17: "Is Empty",
142
143
  add18: "Is Not Empty",
@@ -1 +1 @@
1
- {"version":3,"file":"en-US.js","sources":["../../../packages/dashboard-workbench/lang/en-US.ts"],"sourcesContent":["const common = {\n title: 'Dashboard',\n text: 'Text',\n confirm: 'Confirm',\n pleaseEnter: 'Please enter',\n configuration: 'Configuration',\n copy: 'Copy',\n delete: 'Delete',\n calendarText: 'Calendar',\n chartText: 'Chart',\n promptTitle: 'Prompt',\n promptContentDeleteComponents: 'Are you sure you want to delete this component?',\n unnamedRecord: 'Unnamed Record',\n setFilteringCriteria: 'Set filtering criteria',\n all: 'All',\n everyone: 'Anyone',\n condition: 'Condition',\n addCondition: 'Add condition',\n equalto: 'Equal to',\n notequalto: 'Not equal to',\n contain: 'Contains',\n notcontain: 'Does not contain',\n null: 'Is empty',\n notnull: 'Is not empty',\n conformTo: 'Conform to the following',\n statisticsText: 'Statistics Text',\n typeData: 'Type and Data',\n customStyle: 'Custom Style',\n dataSource: 'Data Source',\n dataRange: 'Data Range',\n data: 'Data',\n filterData: 'Filter Data',\n selectNcondition: 'Selected {{n}} conditions',\n allData: 'All Data',\n statisticstMethods: 'Statistical Methods',\n statisticstRecordNum: 'Total Number of Records',\n statisticstFieldVal: 'Statistical Field Values',\n selectField: 'Select Field',\n sumVal: 'Sum',\n maxVal: 'Maximum Value',\n minVal: 'Minimum Value',\n averageVal: 'Average Value',\n empty: 'No Data',\n\n filter: 'Filter',\n setFilterCondition: 'Set Filter Condition',\n selectGroupField: 'Select Group Field',\n}\n\nconst pb = {\n text: 'text',\n statisticsText: 'Statistics',\n unknown: 'unknown',\n}\n\nconst statistics = {\n t1: 'Color Scheme',\n t2: 'Value Settings',\n t3: 'Decimal Places and Format',\n t4: 'Please enter decimal places',\n t5: 'Number (Thousand Separator)',\n t6: 'Number',\n t7: 'Percentage',\n t8: 'Renminbi',\n t9: 'Dollar',\n t10: 'Statistical Value Description',\n t11: 'EUR',\n t12: 'GBP',\n t13: 'THB',\n}\n\nconst chart = {\n t1: 'Chart Type',\n t2: 'Basic Bar Chart',\n t3: 'Stacked Bar Chart',\n t4: 'Percentage Bar Chart',\n t5: 'Basic Horizontal Bar Chart',\n t6: 'Stacked Horizontal Bar Chart',\n t7: 'Percentage Stacked Horizontal Bar Chart',\n t8: 'Line Chart',\n t9: 'Smooth Line Chart',\n t10: 'Pie Chart',\n t11: 'Doughnut Chart',\n t12: 'Chart Options',\n _t12: 'Combination Chart',\n t13: 'Legend',\n t14: 'Data Label',\n t15: 'Axis',\n t16: 'Grid Line',\n t17: 'Sector Division',\n t18: 'Horizontal Axis (Category)',\n t19: 'Sector Value',\n t20: 'Vertical Axis (Field)',\n t21: 'Horizontal Axis',\n t22: 'Horizontal Axis Title',\n t23: 'Axis Options',\n t24: 'Show Labels',\n t25: 'Show Axis Line',\n t26: 'Vertical Axis',\n t27: 'Vertical Axis Title',\n t28: 'Axis Options',\n t29: 'Show Labels',\n t30: 'Show Axis Line',\n t31: 'Sort By',\n t32: 'Horizontal Axis Value',\n t33: 'Vertical Axis Value',\n t34: 'Record Sequence',\n t35: 'Sort Order',\n t36: 'Ascending',\n t37: 'Descending',\n t38: 'Grouping And Aggregation',\n\n t39: 'Aggregate by time',\n t40: 'Aggregate by day',\n t41: 'Aggregate by week',\n t42: 'Aggregate by month',\n t43: 'Aggregate by year',\n\n groupFieldConfig: 'Group Field Configuration',\n\n left: 'Left',\n right: 'Right',\n}\n\nconst calendar = {\n t1: 'View Configuration',\n t2: 'Start Date',\n t3: 'End Date',\n t4: 'Title Display',\n}\n\nconst add = {\n add1: 'Chart',\n add2: 'Bar Chart',\n add3: 'Line Chart',\n add4: 'Pie Chart',\n add5: 'Bar Graph',\n _add5: 'Combination Chart',\n add6: 'Other',\n add7: 'Statistics',\n add8: 'Text',\n add9: 'Calendar',\n add10: 'Add Block',\n add11: 'Equal to',\n add12: 'Not Equal to',\n add13: 'Equal to',\n add14: 'Before',\n add15: 'After',\n add16: 'Within Range',\n add17: 'Is Empty',\n add18: 'Is Not Empty',\n add19: 'Not Equal to',\n add20: 'Greater than',\n add21: 'Greater than or Equal to',\n add22: 'Less than',\n add23: 'Less than or Equal to',\n add24: 'Contains',\n add25: 'Does Not Contain',\n add26: 'Specific Date',\n add27: 'Today',\n add28: 'Yesterday',\n add29: 'This Week',\n add30: 'Last Week',\n add31: 'This Month',\n add32: 'Last Month',\n add33: 'Past 7 Days',\n add34: 'Past 30 Days',\n}\n\nexport const displayRange = {\n title: 'Display Data',\n all: 'All',\n top5: 'Top 5',\n top10: 'Top 10',\n top20: 'Top 20',\n top30: 'Top 30',\n bottom5: 'Bottom 5',\n bottom10: 'Bottom 10',\n bottom20: 'Bottom 20',\n bottom30: 'Bottom 30',\n}\n\nexport default {\n ...common,\n displayRange,\n pb,\n statistics,\n chart,\n calendar,\n add,\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"en-US.js","sources":["../../../packages/dashboard-workbench/lang/en-US.ts"],"sourcesContent":["const common = {\n title: 'Dashboard',\n text: 'Text',\n confirm: 'Confirm',\n pleaseEnter: 'Please enter',\n configuration: 'Configuration',\n copy: 'Copy',\n delete: 'Delete',\n calendarText: 'Calendar',\n chartText: 'Chart',\n promptTitle: 'Prompt',\n promptContentDeleteComponents: 'Are you sure you want to delete this component?',\n unnamedRecord: 'Unnamed Record',\n setFilteringCriteria: 'Set filtering criteria',\n all: 'All',\n everyone: 'Anyone',\n condition: 'Condition',\n addCondition: 'Add condition',\n equalto: 'Equal to',\n notequalto: 'Not equal to',\n contain: 'Contains',\n notcontain: 'Does not contain',\n null: 'Is empty',\n notnull: 'Is not empty',\n conformTo: 'Conform to the following',\n statisticsText: 'Statistics Text',\n typeData: 'Type and Data',\n customStyle: 'Custom Style',\n dataSource: 'Data Source',\n dataRange: 'Data Range',\n data: 'Data',\n filterData: 'Filter Data',\n selectNcondition: 'Selected {{n}} conditions',\n allData: 'All Data',\n statisticstMethods: 'Statistical Methods',\n statisticstRecordNum: 'Total Number of Records',\n statisticstFieldVal: 'Statistical Field Values',\n selectField: 'Select Field',\n sumVal: 'Sum',\n maxVal: 'Maximum Value',\n minVal: 'Minimum Value',\n averageVal: 'Average Value',\n empty: 'No Data',\n\n filter: 'Filter',\n globalfilter: 'Global Filter',\n setFilterCondition: 'Set Filter Condition',\n selectGroupField: 'Select Group Field',\n}\n\nconst pb = {\n text: 'text',\n statisticsText: 'Statistics',\n unknown: 'unknown',\n}\n\nconst statistics = {\n t1: 'Color Scheme',\n t2: 'Value Settings',\n t3: 'Decimal Places and Format',\n t4: 'Please enter decimal places',\n t5: 'Number (Thousand Separator)',\n t6: 'Number',\n t7: 'Percentage',\n t8: 'Renminbi',\n t9: 'Dollar',\n t10: 'Statistical Value Description',\n t11: 'EUR',\n t12: 'GBP',\n t13: 'THB',\n}\n\nconst chart = {\n t1: 'Chart Type',\n t2: 'Basic Bar Chart',\n t3: 'Stacked Bar Chart',\n t4: 'Percentage Bar Chart',\n t5: 'Basic Horizontal Bar Chart',\n t6: 'Stacked Horizontal Bar Chart',\n t7: 'Percentage Stacked Horizontal Bar Chart',\n t8: 'Line Chart',\n t9: 'Smooth Line Chart',\n t10: 'Pie Chart',\n t11: 'Doughnut Chart',\n t12: 'Chart Options',\n _t12: 'Combination Chart',\n t13: 'Legend',\n t14: 'Data Label',\n t15: 'Axis',\n t16: 'Grid Line',\n t17: 'Sector Division',\n t18: 'Horizontal Axis (Category)',\n t19: 'Sector Value',\n t20: 'Vertical Axis (Field)',\n t21: 'Horizontal Axis',\n t22: 'Horizontal Axis Title',\n t23: 'Axis Options',\n t24: 'Show Labels',\n t25: 'Show Axis Line',\n t26: 'Vertical Axis',\n t27: 'Vertical Axis Title',\n t28: 'Axis Options',\n t29: 'Show Labels',\n t30: 'Show Axis Line',\n t31: 'Sort By',\n t32: 'Horizontal Axis Value',\n t33: 'Vertical Axis Value',\n t34: 'Record Sequence',\n t35: 'Sort Order',\n t36: 'Ascending',\n t37: 'Descending',\n t38: 'Grouping And Aggregation',\n\n t39: 'Aggregate by time',\n t40: 'Aggregate by day',\n t41: 'Aggregate by week',\n t42: 'Aggregate by month',\n t43: 'Aggregate by year',\n\n groupFieldConfig: 'Group Field Configuration',\n\n left: 'Left',\n right: 'Right',\n}\n\nconst calendar = {\n t1: 'View Configuration',\n t2: 'Start Date',\n t3: 'End Date',\n t4: 'Title Display',\n}\n\nconst add = {\n add1: 'Chart',\n add2: 'Bar Chart',\n add3: 'Line Chart',\n add4: 'Pie Chart',\n add5: 'Bar Graph',\n _add5: 'Combination Chart',\n add6: 'Other',\n add7: 'Statistics',\n add8: 'Text',\n add9: 'Calendar',\n add10: 'Add Block',\n add11: 'Equal to',\n add12: 'Not Equal to',\n add13: 'Equal to',\n add14: 'Before(<)',\n add15: 'After(>)',\n add16: 'Within Range',\n add17: 'Is Empty',\n add18: 'Is Not Empty',\n add19: 'Not Equal to',\n add20: 'Greater than',\n add21: 'Greater than or Equal to',\n add22: 'Less than',\n add23: 'Less than or Equal to',\n add24: 'Contains',\n add25: 'Does Not Contain',\n add26: 'Specific Date',\n add27: 'Today',\n add28: 'Yesterday',\n add29: 'This Week',\n add30: 'Last Week',\n add31: 'This Month',\n add32: 'Last Month',\n add33: 'Past 7 Days',\n add34: 'Past 30 Days',\n}\n\nexport const displayRange = {\n title: 'Display Data',\n all: 'All',\n top5: 'Top 5',\n top10: 'Top 10',\n top20: 'Top 20',\n top30: 'Top 30',\n bottom5: 'Bottom 5',\n bottom10: 'Bottom 10',\n bottom20: 'Bottom 20',\n bottom30: 'Bottom 30',\n}\n\nexport default {\n ...common,\n displayRange,\n pb,\n statistics,\n chart,\n calendar,\n add,\n}\n"],"names":[],"mappings":"AAAA,MAAM,SAAS;AAAA,EACb,OAAO;AAAA,EACP,MAAM;AAAA,EACN,SAAS;AAAA,EACT,aAAa;AAAA,EACb,eAAe;AAAA,EACf,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,WAAW;AAAA,EACX,aAAa;AAAA,EACb,+BAA+B;AAAA,EAC/B,eAAe;AAAA,EACf,sBAAsB;AAAA,EACtB,KAAK;AAAA,EACL,UAAU;AAAA,EACV,WAAW;AAAA,EACX,cAAc;AAAA,EACd,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,SAAS;AAAA,EACT,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,UAAU;AAAA,EACV,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,kBAAkB;AAAA,EAClB,SAAS;AAAA,EACT,oBAAoB;AAAA,EACpB,sBAAsB;AAAA,EACtB,qBAAqB;AAAA,EACrB,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,OAAO;AAAA,EAEP,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,oBAAoB;AAAA,EACpB,kBAAkB;AACpB;AAEA,MAAM,KAAK;AAAA,EACT,MAAM;AAAA,EACN,gBAAgB;AAAA,EAChB,SAAS;AACX;AAEA,MAAM,aAAa;AAAA,EACjB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AACP;AAEA,MAAM,QAAQ;AAAA,EACZ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,MAAM;AAAA,EACN,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EAEL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EAEL,kBAAkB;AAAA,EAElB,MAAM;AAAA,EACN,OAAO;AACT;AAEA,MAAM,WAAW;AAAA,EACf,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAEA,MAAM,MAAM;AAAA,EACV,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AACT;AAEO,MAAM,eAAe;AAAA,EAC1B,OAAO;AAAA,EACP,KAAK;AAAA,EACL,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,SAAS;AAAA,EACT,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AACZ;AAEA,MAAe,OAAA;AAAA,EACb,GAAG;AAAA,EACH;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;"}
@@ -178,6 +178,7 @@ declare const _default: {
178
178
  averageVal: string;
179
179
  empty: string;
180
180
  filter: string;
181
+ globalfilter: string;
181
182
  setFilterCondition: string;
182
183
  selectGroupField: string;
183
184
  };
@@ -42,6 +42,7 @@ const common = {
42
42
  averageVal: "平均值",
43
43
  empty: "暂无数据",
44
44
  filter: "筛选",
45
+ globalfilter: "全局筛选",
45
46
  setFilterCondition: "设置筛选条件",
46
47
  selectGroupField: "选择分组字段"
47
48
  };
@@ -135,8 +136,8 @@ const add = {
135
136
  add11: "等于",
136
137
  add12: "不等于",
137
138
  add13: "等于",
138
- add14: "早于",
139
- add15: "晚于",
139
+ add14: "早于(<)",
140
+ add15: "晚于(>)",
140
141
  add16: "范围内",
141
142
  add17: "为空",
142
143
  add18: "不为空",
@@ -1 +1 @@
1
- {"version":3,"file":"zh-CN.js","sources":["../../../packages/dashboard-workbench/lang/zh-CN.ts"],"sourcesContent":["const common = {\n title: '仪表盘',\n text: '文本',\n confirm: '确定',\n pleaseEnter: '请输入',\n configuration: '配置',\n copy: '复制',\n delete: '删除',\n calendarText: '日历',\n chartText: '图表',\n promptTitle: '提示',\n promptContentDeleteComponents: '确认删除组件?',\n unnamedRecord: '未命名记录',\n setFilteringCriteria: '设置筛选条件',\n all: '所有',\n everyone: '任一',\n condition: '条件',\n addCondition: '添加条件',\n equalto: '等于',\n notequalto: '不等于',\n contain: '包含',\n notcontain: '不包含',\n null: '为空',\n notnull: '不为空',\n conformTo: '符合以下',\n statisticsText: '统计文字',\n typeData: '类型与数据',\n customStyle: '自定义样式',\n dataSource: '数据源',\n dataRange: '数据范围',\n data: '数据',\n filterData: '筛选数据',\n selectNcondition: '已选{{n}}个条件',\n allData: '全部数据',\n statisticstMethods: '统计方式',\n statisticstRecordNum: '统计记录总数',\n statisticstFieldVal: '统计字段数值',\n selectField: '选择字段',\n sumVal: '求和',\n maxVal: '最大值',\n minVal: '最小值',\n averageVal: '平均值',\n empty: '暂无数据',\n\n filter: '筛选',\n setFilterCondition: '设置筛选条件',\n selectGroupField: '选择分组字段',\n}\n\nconst pb = {\n text: '文本',\n statisticsText: '统计',\n unknown: '未知',\n}\n\nconst statistics = {\n t1: '配色方案',\n t2: '数值设置',\n t3: '小数位数与格式',\n t4: '请输入小数位数',\n t5: '数字(千分位)',\n t6: '数字',\n t7: '百分比',\n t8: '人民币',\n t9: '美元',\n t10: '统计数值说明',\n t11: '欧元',\n t12: '英镑',\n t13: '泰铢',\n}\n\nconst chart = {\n t1: '图表类型',\n t2: '基础柱状图',\n t3: '堆积柱状图',\n t4: '百分比堆积柱状图',\n t5: '基础条形图',\n t6: '堆积条形图',\n t7: '百分比堆积条形图',\n t8: '折线图',\n t9: '平滑折线图',\n t10: '饼图',\n t11: '环形图',\n _t12: '组合图',\n t12: '图标选项',\n t13: '图例',\n t14: '数据标签',\n t15: '坐标轴',\n t16: '网格线',\n t17: '扇形分区',\n t18: '横轴(类别)',\n t19: '扇形数值',\n t20: '纵轴(字段)',\n t21: '横轴',\n t22: '横轴标题',\n t23: '坐标轴选项',\n t24: '显示标签',\n t25: '显示轴线',\n t26: '纵轴',\n t27: '纵轴标题',\n t28: '坐标轴选项',\n t29: '显示标签',\n t30: '显示轴线',\n t31: '排序依据',\n t32: '横轴值',\n t33: '纵轴值',\n t34: '记录顺序',\n t35: '排序规则',\n t36: '正序',\n t37: '倒序',\n t38: '分组聚合',\n\n t39: '按时间聚合',\n t40: '按天聚合',\n t41: '按周聚合',\n t42: '按月聚合',\n t43: '按年聚合',\n\n groupFieldConfig: '分组字段配置',\n\n left: '左',\n right: '右',\n}\n\nconst calendar = {\n t1: '视图配置',\n t2: '开始日期',\n t3: '结束日期',\n t4: '标题展示',\n}\n\nconst add = {\n add1: '图表',\n add2: '柱状图',\n add3: '折线图',\n add4: '饼图',\n add5: '条形图',\n _add5: '组合图',\n add6: '其他',\n add7: '统计数字',\n add8: '文本',\n add9: '日历',\n add10: '添加组件',\n add11: '等于',\n add12: '不等于',\n add13: '等于',\n add14: '早于',\n add15: '晚于',\n add16: '范围内',\n add17: '为空',\n add18: '不为空',\n add19: '不等于',\n add20: '大于',\n add21: '大于等于',\n add22: '小于',\n add23: '小于等于',\n add24: '包含',\n add25: '不包含',\n add26: '具体日期',\n add27: '今天',\n add28: '昨天',\n add29: '本周',\n add30: '上周',\n add31: '本月',\n add32: '上月',\n add33: '过去7天',\n add34: '过去30天',\n}\n\nexport const displayRange = {\n title: '显示数据量',\n all: '全部',\n top5: '前5项',\n top10: '前10项',\n top20: '前20项',\n top30: '前30项',\n bottom5: '后5项',\n bottom10: '后10项',\n bottom20: '后20项',\n bottom30: '后30项',\n}\n\nexport default {\n ...common,\n displayRange,\n pb,\n statistics,\n chart,\n calendar,\n add,\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zh-CN.js","sources":["../../../packages/dashboard-workbench/lang/zh-CN.ts"],"sourcesContent":["const common = {\n title: '仪表盘',\n text: '文本',\n confirm: '确定',\n pleaseEnter: '请输入',\n configuration: '配置',\n copy: '复制',\n delete: '删除',\n calendarText: '日历',\n chartText: '图表',\n promptTitle: '提示',\n promptContentDeleteComponents: '确认删除组件?',\n unnamedRecord: '未命名记录',\n setFilteringCriteria: '设置筛选条件',\n all: '所有',\n everyone: '任一',\n condition: '条件',\n addCondition: '添加条件',\n equalto: '等于',\n notequalto: '不等于',\n contain: '包含',\n notcontain: '不包含',\n null: '为空',\n notnull: '不为空',\n conformTo: '符合以下',\n statisticsText: '统计文字',\n typeData: '类型与数据',\n customStyle: '自定义样式',\n dataSource: '数据源',\n dataRange: '数据范围',\n data: '数据',\n filterData: '筛选数据',\n selectNcondition: '已选{{n}}个条件',\n allData: '全部数据',\n statisticstMethods: '统计方式',\n statisticstRecordNum: '统计记录总数',\n statisticstFieldVal: '统计字段数值',\n selectField: '选择字段',\n sumVal: '求和',\n maxVal: '最大值',\n minVal: '最小值',\n averageVal: '平均值',\n empty: '暂无数据',\n\n filter: '筛选',\n globalfilter: '全局筛选',\n setFilterCondition: '设置筛选条件',\n selectGroupField: '选择分组字段',\n}\n\nconst pb = {\n text: '文本',\n statisticsText: '统计',\n unknown: '未知',\n}\n\nconst statistics = {\n t1: '配色方案',\n t2: '数值设置',\n t3: '小数位数与格式',\n t4: '请输入小数位数',\n t5: '数字(千分位)',\n t6: '数字',\n t7: '百分比',\n t8: '人民币',\n t9: '美元',\n t10: '统计数值说明',\n t11: '欧元',\n t12: '英镑',\n t13: '泰铢',\n}\n\nconst chart = {\n t1: '图表类型',\n t2: '基础柱状图',\n t3: '堆积柱状图',\n t4: '百分比堆积柱状图',\n t5: '基础条形图',\n t6: '堆积条形图',\n t7: '百分比堆积条形图',\n t8: '折线图',\n t9: '平滑折线图',\n t10: '饼图',\n t11: '环形图',\n _t12: '组合图',\n t12: '图标选项',\n t13: '图例',\n t14: '数据标签',\n t15: '坐标轴',\n t16: '网格线',\n t17: '扇形分区',\n t18: '横轴(类别)',\n t19: '扇形数值',\n t20: '纵轴(字段)',\n t21: '横轴',\n t22: '横轴标题',\n t23: '坐标轴选项',\n t24: '显示标签',\n t25: '显示轴线',\n t26: '纵轴',\n t27: '纵轴标题',\n t28: '坐标轴选项',\n t29: '显示标签',\n t30: '显示轴线',\n t31: '排序依据',\n t32: '横轴值',\n t33: '纵轴值',\n t34: '记录顺序',\n t35: '排序规则',\n t36: '正序',\n t37: '倒序',\n t38: '分组聚合',\n\n t39: '按时间聚合',\n t40: '按天聚合',\n t41: '按周聚合',\n t42: '按月聚合',\n t43: '按年聚合',\n\n groupFieldConfig: '分组字段配置',\n\n left: '左',\n right: '右',\n}\n\nconst calendar = {\n t1: '视图配置',\n t2: '开始日期',\n t3: '结束日期',\n t4: '标题展示',\n}\n\nconst add = {\n add1: '图表',\n add2: '柱状图',\n add3: '折线图',\n add4: '饼图',\n add5: '条形图',\n _add5: '组合图',\n add6: '其他',\n add7: '统计数字',\n add8: '文本',\n add9: '日历',\n add10: '添加组件',\n add11: '等于',\n add12: '不等于',\n add13: '等于',\n add14: '早于(<)',\n add15: '晚于(>)',\n add16: '范围内',\n add17: '为空',\n add18: '不为空',\n add19: '不等于',\n add20: '大于',\n add21: '大于等于',\n add22: '小于',\n add23: '小于等于',\n add24: '包含',\n add25: '不包含',\n add26: '具体日期',\n add27: '今天',\n add28: '昨天',\n add29: '本周',\n add30: '上周',\n add31: '本月',\n add32: '上月',\n add33: '过去7天',\n add34: '过去30天',\n}\n\nexport const displayRange = {\n title: '显示数据量',\n all: '全部',\n top5: '前5项',\n top10: '前10项',\n top20: '前20项',\n top30: '前30项',\n bottom5: '后5项',\n bottom10: '后10项',\n bottom20: '后20项',\n bottom30: '后30项',\n}\n\nexport default {\n ...common,\n displayRange,\n pb,\n statistics,\n chart,\n calendar,\n add,\n}\n"],"names":[],"mappings":"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"}