@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.
Files changed (134) hide show
  1. package/es/dashboard-workbench/components/add-module-btn/index.js +14 -5
  2. package/es/dashboard-workbench/components/add-module-btn/index.js.map +1 -1
  3. package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/custome-data.d.ts +3 -3
  4. package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/custome-data.js +73 -82
  5. package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/custome-data.js.map +1 -1
  6. package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/index.d.ts +1 -5
  7. package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/index.js +13 -22
  8. package/es/dashboard-workbench/components/add-module-modal/add-calendar-modal/index.js.map +1 -1
  9. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/components/CombinationChartOptionPicker.d.ts +18 -0
  10. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/components/CombinationChartOptionPicker.js +103 -0
  11. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/components/CombinationChartOptionPicker.js.map +1 -0
  12. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/components/GroupFieldConfigPicker.d.ts +14 -0
  13. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/components/GroupFieldConfigPicker.js +79 -0
  14. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/components/GroupFieldConfigPicker.js.map +1 -0
  15. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/components/index.module.less.js +11 -0
  16. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/components/index.module.less.js.map +1 -0
  17. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/config.d.ts +14 -0
  18. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/config.js +153 -0
  19. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/config.js.map +1 -0
  20. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-data.d.ts +1 -19
  21. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-data.js +132 -101
  22. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-data.js.map +1 -1
  23. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-styles.d.ts +0 -6
  24. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-styles.js +2 -4
  25. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/custome-styles.js.map +1 -1
  26. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/index.d.ts +1 -8
  27. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/index.js +13 -22
  28. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/index.js.map +1 -1
  29. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/index.module.less.js +7 -0
  30. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/index.module.less.js.map +1 -0
  31. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/interface.d.ts +62 -0
  32. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/interface.js +31 -0
  33. package/es/dashboard-workbench/components/add-module-modal/add-chart-modal/interface.js.map +1 -0
  34. package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-data.d.ts +3 -3
  35. package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-data.js +2 -2
  36. package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-data.js.map +1 -1
  37. package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-styles.js +16 -11
  38. package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/custome-styles.js.map +1 -1
  39. package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/index.d.ts +1 -7
  40. package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/index.js +13 -22
  41. package/es/dashboard-workbench/components/add-module-modal/add-statistics-modal/index.js.map +1 -1
  42. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/config.d.ts +30 -0
  43. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/config.js +132 -0
  44. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/config.js.map +1 -0
  45. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/debounce-select.js.map +1 -1
  46. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/index.d.ts +4 -12
  47. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/index.js +6 -200
  48. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/index.js.map +1 -1
  49. package/es/dashboard-workbench/components/add-module-modal/components/condition-modal/interface.d.ts +14 -0
  50. package/es/dashboard-workbench/components/global-filter-condition/ConditionRowItem.d.ts +9 -0
  51. package/es/dashboard-workbench/components/global-filter-condition/ConditionRowItem.js +90 -0
  52. package/es/dashboard-workbench/components/global-filter-condition/ConditionRowItem.js.map +1 -0
  53. package/es/dashboard-workbench/components/global-filter-condition/ConditionSymbolAndValuePicker.d.ts +15 -0
  54. package/es/dashboard-workbench/components/global-filter-condition/ConditionSymbolAndValuePicker.js +218 -0
  55. package/es/dashboard-workbench/components/global-filter-condition/ConditionSymbolAndValuePicker.js.map +1 -0
  56. package/es/dashboard-workbench/components/global-filter-condition/FieldPicker.d.ts +13 -0
  57. package/es/dashboard-workbench/components/global-filter-condition/FieldPicker.js +56 -0
  58. package/es/dashboard-workbench/components/global-filter-condition/FieldPicker.js.map +1 -0
  59. package/es/dashboard-workbench/components/global-filter-condition/index.d.ts +13 -0
  60. package/es/dashboard-workbench/components/global-filter-condition/index.js +311 -0
  61. package/es/dashboard-workbench/components/global-filter-condition/index.js.map +1 -0
  62. package/es/dashboard-workbench/components/global-filter-condition/index.module.less.js +8 -0
  63. package/es/dashboard-workbench/components/global-filter-condition/index.module.less.js.map +1 -0
  64. package/es/dashboard-workbench/components/global-filter-condition/interface.d.ts +9 -0
  65. package/es/dashboard-workbench/components/global-filter-condition/useContext.d.ts +13 -0
  66. package/es/dashboard-workbench/components/global-filter-condition/useContext.js +10 -0
  67. package/es/dashboard-workbench/components/global-filter-condition/useContext.js.map +1 -0
  68. package/es/dashboard-workbench/components/global-filter-condition/util.d.ts +1 -0
  69. package/es/dashboard-workbench/components/global-filter-condition/util.js +7 -0
  70. package/es/dashboard-workbench/components/global-filter-condition/util.js.map +1 -0
  71. package/es/dashboard-workbench/components/modal-editor-header/index.d.ts +12 -0
  72. package/es/dashboard-workbench/components/modal-editor-header/index.js +59 -0
  73. package/es/dashboard-workbench/components/modal-editor-header/index.js.map +1 -0
  74. package/es/dashboard-workbench/components/modal-editor-header/index.module.less.js +9 -0
  75. package/es/dashboard-workbench/components/modal-editor-header/index.module.less.js.map +1 -0
  76. package/es/dashboard-workbench/components/module-content/calendar-module/index.js +38 -26
  77. package/es/dashboard-workbench/components/module-content/calendar-module/index.js.map +1 -1
  78. package/es/dashboard-workbench/components/module-content/calendar-module/locales/en.d.ts +7 -0
  79. package/es/dashboard-workbench/components/module-content/calendar-module/locales/en.js +10 -0
  80. package/es/dashboard-workbench/components/module-content/calendar-module/locales/en.js.map +1 -0
  81. package/es/dashboard-workbench/components/module-content/calendar-module/locales/zh.d.ts +22 -0
  82. package/es/dashboard-workbench/components/module-content/calendar-module/locales/zh.js +29 -0
  83. package/es/dashboard-workbench/components/module-content/calendar-module/locales/zh.js.map +1 -0
  84. package/es/dashboard-workbench/components/module-content/chart-module/Empty.d.ts +5 -0
  85. package/es/dashboard-workbench/components/module-content/chart-module/Empty.js +30 -0
  86. package/es/dashboard-workbench/components/module-content/chart-module/Empty.js.map +1 -0
  87. package/es/dashboard-workbench/components/module-content/chart-module/base-chart/index.js +1 -1
  88. package/es/dashboard-workbench/components/module-content/chart-module/base-chart/index.js.map +1 -1
  89. package/es/dashboard-workbench/components/module-content/chart-module/index.d.ts +3 -4
  90. package/es/dashboard-workbench/components/module-content/chart-module/index.js +263 -160
  91. package/es/dashboard-workbench/components/module-content/chart-module/index.js.map +1 -1
  92. package/es/dashboard-workbench/components/module-content/chart-module/utils.d.ts +100 -2
  93. package/es/dashboard-workbench/components/module-content/chart-module/utils.js +66 -13
  94. package/es/dashboard-workbench/components/module-content/chart-module/utils.js.map +1 -1
  95. package/es/dashboard-workbench/components/module-content/index.js +3 -3
  96. package/es/dashboard-workbench/components/module-content/index.js.map +1 -1
  97. package/es/dashboard-workbench/components/module-content/statistics-module/index.d.ts +1 -1
  98. package/es/dashboard-workbench/components/module-content/statistics-module/index.js +17 -7
  99. package/es/dashboard-workbench/components/module-content/statistics-module/index.js.map +1 -1
  100. package/es/dashboard-workbench/components/module-content/text-module/editor/index.js +5 -5
  101. package/es/dashboard-workbench/components/module-content/text-module/editor/index.js.map +1 -1
  102. package/es/dashboard-workbench/components/module-content/utils.d.ts +2 -15
  103. package/es/dashboard-workbench/components/module-content/utils.js.map +1 -1
  104. package/es/dashboard-workbench/components/module-header/index.d.ts +1 -1
  105. package/es/dashboard-workbench/components/module-header/index.js +3 -3
  106. package/es/dashboard-workbench/components/module-header/index.js.map +1 -1
  107. package/es/dashboard-workbench/context.d.ts +21 -9
  108. package/es/dashboard-workbench/context.js +2 -9
  109. package/es/dashboard-workbench/context.js.map +1 -1
  110. package/es/dashboard-workbench/icon/icon-chart-combination.d.ts +3 -0
  111. package/es/dashboard-workbench/icon/icon-chart-combination.js +36 -0
  112. package/es/dashboard-workbench/icon/icon-chart-combination.js.map +1 -0
  113. package/es/dashboard-workbench/icon/icon-empty.d.ts +2 -0
  114. package/es/dashboard-workbench/icon/icon-empty.js +139 -0
  115. package/es/dashboard-workbench/icon/icon-empty.js.map +1 -0
  116. package/es/dashboard-workbench/index.d.ts +2 -2
  117. package/es/dashboard-workbench/index.js +92 -83
  118. package/es/dashboard-workbench/index.js.map +1 -1
  119. package/es/dashboard-workbench/lang/en-US.d.ts +38 -0
  120. package/es/dashboard-workbench/lang/en-US.js +32 -4
  121. package/es/dashboard-workbench/lang/en-US.js.map +1 -1
  122. package/es/dashboard-workbench/lang/index.js +2 -2
  123. package/es/dashboard-workbench/lang/index.js.map +1 -1
  124. package/es/dashboard-workbench/lang/zh-CN.d.ts +38 -0
  125. package/es/dashboard-workbench/lang/zh-CN.js +31 -3
  126. package/es/dashboard-workbench/lang/zh-CN.js.map +1 -1
  127. package/es/dashboard-workbench/types.d.ts +18 -5
  128. package/es/dashboard-workbench/utils/index.d.ts +6 -4
  129. package/es/dashboard-workbench/utils/index.js +24 -3
  130. package/es/dashboard-workbench/utils/index.js.map +1 -1
  131. package/es/style.css +1 -1
  132. package/package.json +28 -20
  133. package/umd/pivot-table.umd.cjs +74 -74
  134. package/umd/style.css +1 -1
@@ -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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"}
@@ -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;"}
@@ -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;
@@ -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":"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"}
@@ -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;