amis 1.9.1-beta.12 → 1.9.1-beta.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. package/README.md +1 -1
  2. package/lib/components/formula/Picker.js +1 -2
  3. package/lib/components/formula/Picker.js.map +2 -2
  4. package/lib/components/table/HeadCellFilter.js +4 -1
  5. package/lib/components/table/HeadCellFilter.js.map +2 -2
  6. package/lib/components/table/HeadCellSort.js +30 -24
  7. package/lib/components/table/HeadCellSort.js.map +2 -2
  8. package/lib/components/table/index.d.ts +6 -3
  9. package/lib/components/table/index.js +72 -86
  10. package/lib/components/table/index.js.map +2 -2
  11. package/lib/index.js +1 -1
  12. package/lib/renderers/Action.d.ts +21 -4
  13. package/lib/renderers/Action.js +42 -19
  14. package/lib/renderers/Action.js.map +2 -2
  15. package/lib/renderers/Breadcrumb.js +2 -2
  16. package/lib/renderers/Breadcrumb.js.map +2 -2
  17. package/lib/renderers/Form/Picker.d.ts +1 -1
  18. package/lib/renderers/Form/Picker.js +38 -23
  19. package/lib/renderers/Form/Picker.js.map +2 -2
  20. package/lib/renderers/Form/wrapControl.js +10 -10
  21. package/lib/renderers/Form/wrapControl.js.map +2 -2
  22. package/lib/renderers/Service.js +0 -1
  23. package/lib/renderers/Service.js.map +2 -2
  24. package/lib/renderers/Steps.d.ts +2 -2
  25. package/lib/renderers/Steps.js +1 -1
  26. package/lib/renderers/Steps.js.map +2 -2
  27. package/lib/renderers/Table-v2/HeadCellSearchDropdown.d.ts +1 -1
  28. package/lib/renderers/Table-v2/HeadCellSearchDropdown.js +38 -24
  29. package/lib/renderers/Table-v2/HeadCellSearchDropdown.js.map +2 -2
  30. package/lib/renderers/Table-v2/index.d.ts +10 -4
  31. package/lib/renderers/Table-v2/index.js +109 -58
  32. package/lib/renderers/Table-v2/index.js.map +2 -2
  33. package/lib/store/table-v2.d.ts +210 -4
  34. package/lib/store/table-v2.js +82 -5
  35. package/lib/store/table-v2.js.map +2 -2
  36. package/lib/themes/ang-ie11.css +14 -11
  37. package/lib/themes/ang.css +14 -6
  38. package/lib/themes/ang.css.map +1 -1
  39. package/lib/themes/antd-ie11.css +14 -11
  40. package/lib/themes/antd.css +14 -6
  41. package/lib/themes/antd.css.map +1 -1
  42. package/lib/themes/cxd-ie11.css +165 -162
  43. package/lib/themes/cxd.css +15 -7
  44. package/lib/themes/cxd.css.map +1 -1
  45. package/lib/themes/dark-ie11.css +14 -11
  46. package/lib/themes/dark.css +14 -6
  47. package/lib/themes/dark.css.map +1 -1
  48. package/lib/themes/default-ie11.css +165 -162
  49. package/lib/themes/default.css +15 -7
  50. package/lib/themes/default.css.map +1 -1
  51. package/lib/types.d.ts +1 -1
  52. package/lib/types.js.map +1 -1
  53. package/package.json +1 -1
  54. package/scss/components/_modal.scss +1 -1
  55. package/scss/components/form/_icon-picker.scss +10 -6
  56. package/scss/components/form/_switch.scss +1 -0
  57. package/scss/components/form/_text.scss +2 -0
  58. package/scss/themes/_cxd-variables.scss +1 -1
  59. package/sdk/ang-ie11.css +14 -11
  60. package/sdk/ang.css +14 -6
  61. package/sdk/antd-ie11.css +14 -11
  62. package/sdk/antd.css +14 -6
  63. package/sdk/barcode.js +51 -51
  64. package/sdk/charts.js +14 -14
  65. package/sdk/codemirror.js +7 -7
  66. package/sdk/color-picker.js +65 -65
  67. package/sdk/cropperjs.js +2 -2
  68. package/sdk/cxd-ie11.css +165 -162
  69. package/sdk/cxd.css +15 -7
  70. package/sdk/dark-ie11.css +14 -11
  71. package/sdk/dark.css +14 -6
  72. package/sdk/exceljs.js +1 -1
  73. package/sdk/markdown.js +69 -69
  74. package/sdk/papaparse.js +1 -1
  75. package/sdk/renderers/Form/CityDB.js +1 -1
  76. package/sdk/rest.js +16 -16
  77. package/sdk/rich-text.js +62 -62
  78. package/sdk/sdk-ie11.css +165 -162
  79. package/sdk/sdk.css +15 -7
  80. package/sdk/sdk.js +1336 -1336
  81. package/sdk/thirds/hls.js/hls.js +1 -1
  82. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  83. package/sdk/tinymce.js +57 -57
  84. package/src/components/formula/Picker.tsx +1 -3
  85. package/src/components/table/HeadCellFilter.tsx +4 -1
  86. package/src/components/table/HeadCellSort.tsx +1 -1
  87. package/src/components/table/index.tsx +66 -90
  88. package/src/renderers/Action.tsx +62 -18
  89. package/src/renderers/Breadcrumb.tsx +11 -12
  90. package/src/renderers/Form/Picker.tsx +11 -1
  91. package/src/renderers/Form/wrapControl.tsx +10 -10
  92. package/src/renderers/Service.tsx +0 -1
  93. package/src/renderers/Steps.tsx +5 -5
  94. package/src/renderers/Table-v2/HeadCellSearchDropdown.tsx +14 -9
  95. package/src/renderers/Table-v2/index.tsx +130 -58
  96. package/src/store/table-v2.ts +104 -7
  97. package/src/types.ts +2 -1
package/README.md CHANGED
@@ -21,7 +21,7 @@
21
21
 
22
22
  <div align="center">
23
23
 
24
- ![build](https://api.travis-ci.org/baidu/amis.svg?branch=master)
24
+ ![build](https://img.shields.io/github/workflow/status/baidu/amis/gh-pages/master)
25
25
  ![license](https://img.shields.io/github/license/baidu/amis.svg)
26
26
  ![version](https://img.shields.io/npm/v/amis)
27
27
  ![language](https://img.shields.io/github/languages/top/baidu/amis)
@@ -106,11 +106,10 @@ var FormulaPicker = /** @class */ (function (_super) {
106
106
  FormulaPicker.prototype.validate = function (value) {
107
107
  var __ = this.props.translate;
108
108
  try {
109
- var ast = (0, amis_formula_1.parse)(value, {
109
+ (0, amis_formula_1.parse)(value, {
110
110
  evalMode: this.props.evalMode,
111
111
  allowFilter: false
112
112
  });
113
- new amis_formula_1.Evaluator({}).evalute(ast);
114
113
  return true;
115
114
  }
116
115
  catch (e) {
@@ -6,8 +6,8 @@
6
6
  "/src/components/formula/Picker.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "import {uncontrollable} from 'uncontrollable';\nimport React from 'react';\nimport {\n FormulaEditor,\n FormulaEditorProps,\n FuncGroup,\n VariableItem\n} from './Editor';\nimport {autobind, noop} from '../../utils/helper';\nimport {generateIcon} from '../../utils/icon';\nimport Editor from './Editor';\nimport ResultBox from '../ResultBox';\nimport Button from '../Button';\nimport {Icon} from '../icons';\nimport Modal from '../Modal';\nimport {themeable} from '../../theme';\nimport {localeable} from '../../locale';\nimport type {SchemaIcon} from '../../Schema';\nimport {parse, Evaluator} from 'amis-formula';\n\nexport interface FormulaPickerProps extends FormulaEditorProps {\n // 新的属性?\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';\n\n /**\n * 编辑器标题\n */\n title?: string;\n\n /**\n * 按钮图标\n */\n icon?: SchemaIcon;\n\n /**\n * 控件模式\n */\n mode?: 'button' | 'input-button';\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 按钮Label,inputMode为button时生效\n */\n btnLabel?: string;\n\n /**\n * 按钮样式\n */\n level?:\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'link'\n | 'primary'\n | 'dark'\n | 'light';\n\n /**\n * 按钮大小\n */\n btnSize?: 'xs' | 'sm' | 'md' | 'lg';\n\n /**\n * 禁用状态\n */\n disabled?: boolean;\n\n /**\n * 是否允许输入,否需要点击fx在弹窗中输入\n */\n allowInput?: boolean;\n\n /**\n * 占位文本\n */\n placeholder?: string;\n\n /**\n * 可清除\n */\n clearable?: boolean;\n\n /**\n * 支持通过上下文变量配置value\n */\n source?: string;\n\n /**\n * 外层透传的 data,和source配合使用\n */\n data?: any;\n\n /**\n * 公式弹出的时候,可以外部设置 variables 和 functions\n */\n onPickerOpen?: (props: FormulaPickerProps) => any;\n\n children?: (props: {\n onClick: (e: React.MouseEvent) => void;\n setState: (state: any) => void;\n isOpened: boolean;\n }) => JSX.Element;\n\n onConfirm?: (value?: any) => void;\n\n onRef?: (node: any) => void;\n}\n\nexport interface FormulaPickerState {\n isOpened: boolean;\n value: string;\n editorValue: string;\n isError: boolean | string;\n\n variables?: Array<VariableItem>;\n functions?: Array<FuncGroup>;\n variableMode?: any;\n}\n\nexport class FormulaPicker extends React.Component<\n FormulaPickerProps,\n FormulaPickerState\n> {\n constructor(props: FormulaPickerProps) {\n super(props);\n this.props.onRef && this.props.onRef(this);\n }\n\n static defaultProps = {\n evalMode: true\n };\n\n state: FormulaPickerState = {\n isOpened: false,\n value: this.props.value!,\n editorValue: this.props.value!,\n isError: false\n };\n\n @autobind\n handleConfirm() {\n const value = this.state.value;\n\n if (this.props.onConfirm) {\n this.props.onConfirm(value);\n } else {\n this.props.onChange?.(value);\n }\n }\n\n @autobind\n renderFormulaValue(item: any) {\n const {allowInput, classnames: cx} = this.props;\n const html = {__html: item.html};\n if (allowInput) {\n return '';\n }\n return (\n <div\n className={cx('FormulaPicker-ResultBox')}\n dangerouslySetInnerHTML={html}\n ></div>\n );\n }\n\n @autobind\n handleInputChange(value: string) {\n this.setState({value}, () => this.handleConfirm());\n }\n\n @autobind\n handleEditorChange(value: string) {\n this.setState({\n editorValue: value,\n isError: false\n });\n }\n\n @autobind\n handleEditorConfirm() {\n const {translate: __} = this.props;\n const value = this.state.editorValue;\n const validate = this.validate(value);\n\n if (validate === true) {\n this.setState({value}, () => {\n this.close(undefined, () => this.handleConfirm());\n });\n } else {\n this.setState({isError: validate});\n }\n }\n\n @autobind\n async handleClick() {\n const state = {\n ...(await this.props.onPickerOpen?.(this.props)),\n editorValue: this.props.value,\n isOpened: true\n };\n\n this.setState(state);\n }\n\n @autobind\n close(e?: any, callback?: () => void) {\n this.setState(\n {\n isOpened: false,\n isError: false\n },\n () => {\n if (callback) {\n callback();\n return;\n }\n }\n );\n }\n\n @autobind\n updateState(state: any = {}) {\n const {isOpened, ...rest} = state;\n this.setState({\n ...this.state,\n ...rest\n });\n }\n\n @autobind\n validate(value: string) {\n const {translate: __} = this.props;\n\n try {\n const ast = parse(value, {\n evalMode: this.props.evalMode,\n allowFilter: false\n });\n\n new Evaluator({}).evalute(ast);\n\n return true;\n } catch (e) {\n if (/\\s(\\d+:\\d+)$/.test(e.message)) {\n const [, position] = /\\s(\\d+:\\d+)$/.exec(e.message) || [];\n return position;\n }\n return e.message;\n }\n }\n\n render() {\n let {\n classnames: cx,\n translate: __,\n disabled,\n allowInput,\n className,\n onChange,\n size,\n borderMode,\n placeholder,\n mode,\n btnLabel,\n level,\n btnSize,\n icon,\n title,\n clearable,\n variables,\n functions,\n children,\n variableMode,\n ...rest\n } = this.props;\n const {isOpened, value, editorValue, isError} = this.state;\n\n const iconElement = generateIcon(cx, icon, 'Icon');\n\n return (\n <>\n {children ? (\n children({\n isOpened: this.state.isOpened,\n onClick: this.handleClick,\n setState: this.updateState\n })\n ) : (\n <div className={cx('FormulaPicker', className)}>\n {mode === 'button' ? (\n <Button\n className={cx('FormulaPicker-action', 'w-full')}\n level={level}\n size={btnSize}\n onClick={this.handleClick}\n >\n {iconElement ? (\n React.cloneElement(iconElement, {\n className: cx(\n iconElement?.props?.className ?? '',\n 'FormulaPicker-icon',\n {\n ['is-filled']: !!value\n }\n )\n })\n ) : (\n <Icon\n icon=\"function\"\n className={cx('FormulaPicker-icon', 'icon', {\n ['is-filled']: !!value\n })}\n />\n )}\n <span className={cx('FormulaPicker-label')}>\n {__(btnLabel || 'FormulaEditor.btnLabel')}\n </span>\n </Button>\n ) : (\n <>\n <ResultBox\n className={cx(\n 'FormulaPicker-input',\n isOpened ? 'is-active' : '',\n !!isError ? 'is-error' : ''\n )}\n allowInput={allowInput}\n clearable={clearable}\n value={value}\n result={\n allowInput\n ? void 0\n : FormulaEditor.highlightValue(\n value,\n variables!,\n this.props.evalMode\n )\n }\n itemRender={this.renderFormulaValue}\n onResultChange={noop}\n onChange={this.handleInputChange}\n disabled={disabled}\n borderMode={borderMode}\n placeholder={placeholder}\n />\n\n <Button\n className={cx('FormulaPicker-action')}\n onClick={this.handleClick}\n >\n <Icon\n icon=\"function\"\n className={cx('FormulaPicker-icon', 'icon', {\n ['is-filled']: !!value\n })}\n />\n </Button>\n </>\n )}\n </div>\n )}\n <Modal\n size=\"md\"\n closeOnEsc\n show={this.state.isOpened}\n onHide={this.close}\n >\n <Modal.Header onClose={this.close} className=\"font-bold\">\n {__(title || 'FormulaEditor.title')}\n </Modal.Header>\n <Modal.Body>\n <Editor\n {...rest}\n variables={this.state.variables ?? variables}\n functions={this.state.functions ?? functions}\n variableMode={this.state.variableMode ?? variableMode}\n value={editorValue}\n onChange={this.handleEditorChange}\n />\n </Modal.Body>\n <Modal.Footer>\n {!!isError ? (\n <div className={cx('Dialog-info')} key=\"info\">\n <span className={cx('Dialog-error')}>\n {__('FormulaEditor.invalidData', {err: isError})}\n </span>\n </div>\n ) : null}\n <Button onClick={this.close}>{__('cancel')}</Button>\n <Button onClick={this.handleEditorConfirm} level=\"primary\">\n {__('confirm')}\n </Button>\n </Modal.Footer>\n </Modal>\n </>\n );\n }\n}\n\nexport default themeable(\n localeable(\n uncontrollable(FormulaPicker, {\n value: 'onChange'\n })\n )\n);\n"
11
+ "import {uncontrollable} from 'uncontrollable';\nimport React from 'react';\nimport {\n FormulaEditor,\n FormulaEditorProps,\n FuncGroup,\n VariableItem\n} from './Editor';\nimport {autobind, noop} from '../../utils/helper';\nimport {generateIcon} from '../../utils/icon';\nimport Editor from './Editor';\nimport ResultBox from '../ResultBox';\nimport Button from '../Button';\nimport {Icon} from '../icons';\nimport Modal from '../Modal';\nimport {themeable} from '../../theme';\nimport {localeable} from '../../locale';\nimport type {SchemaIcon} from '../../Schema';\nimport {parse, Evaluator} from 'amis-formula';\n\nexport interface FormulaPickerProps extends FormulaEditorProps {\n // 新的属性?\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';\n\n /**\n * 编辑器标题\n */\n title?: string;\n\n /**\n * 按钮图标\n */\n icon?: SchemaIcon;\n\n /**\n * 控件模式\n */\n mode?: 'button' | 'input-button';\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 按钮Label,inputMode为button时生效\n */\n btnLabel?: string;\n\n /**\n * 按钮样式\n */\n level?:\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'link'\n | 'primary'\n | 'dark'\n | 'light';\n\n /**\n * 按钮大小\n */\n btnSize?: 'xs' | 'sm' | 'md' | 'lg';\n\n /**\n * 禁用状态\n */\n disabled?: boolean;\n\n /**\n * 是否允许输入,否需要点击fx在弹窗中输入\n */\n allowInput?: boolean;\n\n /**\n * 占位文本\n */\n placeholder?: string;\n\n /**\n * 可清除\n */\n clearable?: boolean;\n\n /**\n * 支持通过上下文变量配置value\n */\n source?: string;\n\n /**\n * 外层透传的 data,和source配合使用\n */\n data?: any;\n\n /**\n * 公式弹出的时候,可以外部设置 variables 和 functions\n */\n onPickerOpen?: (props: FormulaPickerProps) => any;\n\n children?: (props: {\n onClick: (e: React.MouseEvent) => void;\n setState: (state: any) => void;\n isOpened: boolean;\n }) => JSX.Element;\n\n onConfirm?: (value?: any) => void;\n\n onRef?: (node: any) => void;\n}\n\nexport interface FormulaPickerState {\n isOpened: boolean;\n value: string;\n editorValue: string;\n isError: boolean | string;\n\n variables?: Array<VariableItem>;\n functions?: Array<FuncGroup>;\n variableMode?: any;\n}\n\nexport class FormulaPicker extends React.Component<\n FormulaPickerProps,\n FormulaPickerState\n> {\n constructor(props: FormulaPickerProps) {\n super(props);\n this.props.onRef && this.props.onRef(this);\n }\n\n static defaultProps = {\n evalMode: true\n };\n\n state: FormulaPickerState = {\n isOpened: false,\n value: this.props.value!,\n editorValue: this.props.value!,\n isError: false\n };\n\n @autobind\n handleConfirm() {\n const value = this.state.value;\n\n if (this.props.onConfirm) {\n this.props.onConfirm(value);\n } else {\n this.props.onChange?.(value);\n }\n }\n\n @autobind\n renderFormulaValue(item: any) {\n const {allowInput, classnames: cx} = this.props;\n const html = {__html: item.html};\n if (allowInput) {\n return '';\n }\n return (\n <div\n className={cx('FormulaPicker-ResultBox')}\n dangerouslySetInnerHTML={html}\n ></div>\n );\n }\n\n @autobind\n handleInputChange(value: string) {\n this.setState({value}, () => this.handleConfirm());\n }\n\n @autobind\n handleEditorChange(value: string) {\n this.setState({\n editorValue: value,\n isError: false\n });\n }\n\n @autobind\n handleEditorConfirm() {\n const {translate: __} = this.props;\n const value = this.state.editorValue;\n const validate = this.validate(value);\n\n if (validate === true) {\n this.setState({value}, () => {\n this.close(undefined, () => this.handleConfirm());\n });\n } else {\n this.setState({isError: validate});\n }\n }\n\n @autobind\n async handleClick() {\n const state = {\n ...(await this.props.onPickerOpen?.(this.props)),\n editorValue: this.props.value,\n isOpened: true\n };\n\n this.setState(state);\n }\n\n @autobind\n close(e?: any, callback?: () => void) {\n this.setState(\n {\n isOpened: false,\n isError: false\n },\n () => {\n if (callback) {\n callback();\n return;\n }\n }\n );\n }\n\n @autobind\n updateState(state: any = {}) {\n const {isOpened, ...rest} = state;\n this.setState({\n ...this.state,\n ...rest\n });\n }\n\n @autobind\n validate(value: string) {\n const {translate: __} = this.props;\n\n try {\n parse(value, {\n evalMode: this.props.evalMode,\n allowFilter: false\n });\n\n return true;\n } catch (e) {\n if (/\\s(\\d+:\\d+)$/.test(e.message)) {\n const [, position] = /\\s(\\d+:\\d+)$/.exec(e.message) || [];\n return position;\n }\n return e.message;\n }\n }\n\n render() {\n let {\n classnames: cx,\n translate: __,\n disabled,\n allowInput,\n className,\n onChange,\n size,\n borderMode,\n placeholder,\n mode,\n btnLabel,\n level,\n btnSize,\n icon,\n title,\n clearable,\n variables,\n functions,\n children,\n variableMode,\n ...rest\n } = this.props;\n const {isOpened, value, editorValue, isError} = this.state;\n\n const iconElement = generateIcon(cx, icon, 'Icon');\n\n return (\n <>\n {children ? (\n children({\n isOpened: this.state.isOpened,\n onClick: this.handleClick,\n setState: this.updateState\n })\n ) : (\n <div className={cx('FormulaPicker', className)}>\n {mode === 'button' ? (\n <Button\n className={cx('FormulaPicker-action', 'w-full')}\n level={level}\n size={btnSize}\n onClick={this.handleClick}\n >\n {iconElement ? (\n React.cloneElement(iconElement, {\n className: cx(\n iconElement?.props?.className ?? '',\n 'FormulaPicker-icon',\n {\n ['is-filled']: !!value\n }\n )\n })\n ) : (\n <Icon\n icon=\"function\"\n className={cx('FormulaPicker-icon', 'icon', {\n ['is-filled']: !!value\n })}\n />\n )}\n <span className={cx('FormulaPicker-label')}>\n {__(btnLabel || 'FormulaEditor.btnLabel')}\n </span>\n </Button>\n ) : (\n <>\n <ResultBox\n className={cx(\n 'FormulaPicker-input',\n isOpened ? 'is-active' : '',\n !!isError ? 'is-error' : ''\n )}\n allowInput={allowInput}\n clearable={clearable}\n value={value}\n result={\n allowInput\n ? void 0\n : FormulaEditor.highlightValue(\n value,\n variables!,\n this.props.evalMode\n )\n }\n itemRender={this.renderFormulaValue}\n onResultChange={noop}\n onChange={this.handleInputChange}\n disabled={disabled}\n borderMode={borderMode}\n placeholder={placeholder}\n />\n\n <Button\n className={cx('FormulaPicker-action')}\n onClick={this.handleClick}\n >\n <Icon\n icon=\"function\"\n className={cx('FormulaPicker-icon', 'icon', {\n ['is-filled']: !!value\n })}\n />\n </Button>\n </>\n )}\n </div>\n )}\n <Modal\n size=\"md\"\n closeOnEsc\n show={this.state.isOpened}\n onHide={this.close}\n >\n <Modal.Header onClose={this.close} className=\"font-bold\">\n {__(title || 'FormulaEditor.title')}\n </Modal.Header>\n <Modal.Body>\n <Editor\n {...rest}\n variables={this.state.variables ?? variables}\n functions={this.state.functions ?? functions}\n variableMode={this.state.variableMode ?? variableMode}\n value={editorValue}\n onChange={this.handleEditorChange}\n />\n </Modal.Body>\n <Modal.Footer>\n {!!isError ? (\n <div className={cx('Dialog-info')} key=\"info\">\n <span className={cx('Dialog-error')}>\n {__('FormulaEditor.invalidData', {err: isError})}\n </span>\n </div>\n ) : null}\n <Button onClick={this.close}>{__('cancel')}</Button>\n <Button onClick={this.handleEditorConfirm} level=\"primary\">\n {__('confirm')}\n </Button>\n </Modal.Footer>\n </Modal>\n </>\n );\n }\n}\n\nexport default themeable(\n localeable(\n uncontrollable(FormulaPicker, {\n value: 'onChange'\n })\n )\n);\n"
12
12
  ]
13
13
  }
@@ -85,7 +85,10 @@ var HeadCellFilter = /** @class */ (function (_super) {
85
85
  _a = this.props, onFilter = _a.onFilter, column = _a.column;
86
86
  payload = (_b = {}, _b[column.key] = selectedKeys, _b);
87
87
  if (!onFilter) return [3 /*break*/, 2];
88
- return [4 /*yield*/, onFilter(payload)];
88
+ return [4 /*yield*/, onFilter({
89
+ filterName: column.key,
90
+ filterValue: selectedKeys === null || selectedKeys === void 0 ? void 0 : selectedKeys.join(',')
91
+ })];
89
92
  case 1:
90
93
  prevented = _c.sent();
91
94
  if (prevented) {
@@ -6,8 +6,8 @@
6
6
  "/src/components/table/HeadCellFilter.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "/**\n * @file table/HeadCellFilter\n * @author fex\n */\n\nimport React from 'react';\nimport {findDOMNode} from 'react-dom';\nimport isEqual from 'lodash/isEqual';\n\nimport {themeable, ThemeProps} from '../../theme';\nimport {LocaleProps, localeable} from '../../locale';\nimport HeadCellDropDown, {\n FilterDropdownProps,\n FilterPayload\n} from './HeadCellDropDown';\nimport CheckBox from '../Checkbox';\nimport Button from '../Button';\nimport {Icon} from '../icons';\n\nexport interface Props extends ThemeProps, LocaleProps {\n column: any;\n onFilter?: Function;\n filteredValue?: Array<string>;\n filterMultiple?: boolean;\n popOverContainer?: () => Element | Text | null;\n}\n\nexport interface OptionProps {\n text: string;\n value: string;\n selected?: boolean;\n children?: Array<OptionProps>;\n}\n\nexport interface State {\n options: Array<OptionProps>;\n filteredValue: Array<string>;\n}\n\nexport class HeadCellFilter extends React.Component<Props, State> {\n static defaultProps = {\n filteredValue: [],\n filterMultiple: false\n };\n\n constructor(props: Props) {\n super(props);\n\n this.state = {\n options: [],\n filteredValue: props.filteredValue || []\n };\n }\n\n alterOptions(options: Array<any>) {\n options = options.map(option => ({\n ...option,\n selected: this.state.filteredValue.indexOf(option.value) > -1\n }));\n\n return options;\n }\n\n componentDidMount() {\n const {column} = this.props;\n if (column.filters && column.filters.length > 0) {\n this.setState({options: this.alterOptions(column.filters)});\n }\n }\n\n componentDidUpdate(prevProps: Props, prevState: State) {\n const {column} = this.props;\n if (\n column.filters &&\n column.filters.length > 0 &&\n !isEqual(prevState.filteredValue, this.state.filteredValue)\n ) {\n this.setState({options: this.alterOptions(column.filters)});\n }\n }\n\n render() {\n const {options} = this.state;\n const {\n column,\n popOverContainer,\n classnames: cx,\n classPrefix: ns\n } = this.props;\n\n const filterProps = {\n filterDropdown: (payload: FilterDropdownProps) => {\n const {setSelectedKeys, selectedKeys, confirm, clearFilters} = payload;\n return options && options.length > 0 ? (\n <ul className={cx('DropDown-menu')}>\n {!column.filterMultiple\n ? options.map((option: any, index) => (\n <li\n key={index}\n className={cx({\n 'is-active': option.selected\n })}\n onClick={() =>\n this.handleClick(confirm, setSelectedKeys, [option.value])\n }\n >\n {option.text}\n </li>\n ))\n : options.map((option: any, index) => (\n <li key={index}>\n <CheckBox\n classPrefix={ns}\n onChange={e =>\n this.handleCheck(\n confirm,\n setSelectedKeys,\n e ? [option.value] : option.value\n )\n }\n checked={option.selected}\n >\n {option.text}\n </CheckBox>\n </li>\n ))}\n {column.filterMultiple ? (\n <li\n key=\"dropDown-multiple-menu\"\n className={cx('DropDown-multiple-menu')}\n >\n <Button\n size={'xs'}\n level={'primary'}\n onClick={() => this.handleConfirmClick(confirm)}\n >\n 确定\n </Button>\n <Button\n size={'xs'}\n onClick={() =>\n this.handleCancelClick(confirm, setSelectedKeys)\n }\n >\n 取消\n </Button>\n </li>\n ) : null}\n </ul>\n ) : null;\n },\n setSelectedKeys: (keys: Array<string>) =>\n this.setState({filteredValue: keys})\n };\n\n return (\n <HeadCellDropDown\n className={`${ns}TableCell-filterBtn`}\n layerClassName={`${ns}TableCell-filterPopOver`}\n filterIcon={<Icon icon=\"column-filter\" className=\"icon\" />}\n active={\n column.filtered ||\n (options && options.some((item: any) => item.selected))\n }\n popOverContainer={\n popOverContainer ? popOverContainer : () => findDOMNode(this)\n }\n selectedKeys={this.state.filteredValue}\n {...filterProps}\n ></HeadCellDropDown>\n );\n }\n\n async handleClick(\n confirm: (payload?: FilterPayload) => void,\n setSelectedKeys?: (keys?: string | Array<string | number>) => void,\n selectedKeys?: Array<string>\n ) {\n const {onFilter, column} = this.props;\n const payload = {[column.key]: selectedKeys};\n\n if (onFilter) {\n const prevented = await onFilter(payload);\n if (prevented) {\n return;\n }\n }\n\n setSelectedKeys && setSelectedKeys(selectedKeys);\n\n onFilter && onFilter(payload);\n confirm();\n }\n\n handleCheck(\n confirm: (payload?: FilterPayload) => void,\n setSelectedKeys?: (\n keys: string | Array<string | number>\n ) => void | undefined,\n selectedKeys?: Array<string>\n ) {\n const filteredValue = this.state.filteredValue;\n // 选中\n if (Array.isArray(selectedKeys)) {\n setSelectedKeys && setSelectedKeys([...filteredValue, ...selectedKeys]);\n } else {\n // 取消选中\n setSelectedKeys &&\n setSelectedKeys(filteredValue.filter(v => v !== selectedKeys));\n }\n }\n\n handleConfirmClick(confirm: (payload?: FilterPayload) => void) {\n const {onFilter, column} = this.props;\n onFilter && onFilter({[column.key]: this.state.filteredValue});\n confirm();\n }\n\n handleCancelClick(\n confirm: (payload?: FilterPayload) => void,\n setSelectedKeys?: (\n keys: string | Array<string | number>\n ) => void | undefined\n ) {\n setSelectedKeys && setSelectedKeys([]);\n confirm();\n }\n}\n\nexport default themeable(localeable(HeadCellFilter));\n"
11
+ "/**\n * @file table/HeadCellFilter\n * @author fex\n */\n\nimport React from 'react';\nimport {findDOMNode} from 'react-dom';\nimport isEqual from 'lodash/isEqual';\n\nimport {themeable, ThemeProps} from '../../theme';\nimport {LocaleProps, localeable} from '../../locale';\nimport HeadCellDropDown, {\n FilterDropdownProps,\n FilterPayload\n} from './HeadCellDropDown';\nimport CheckBox from '../Checkbox';\nimport Button from '../Button';\nimport {Icon} from '../icons';\n\nexport interface Props extends ThemeProps, LocaleProps {\n column: any;\n onFilter?: Function;\n filteredValue?: Array<string>;\n filterMultiple?: boolean;\n popOverContainer?: () => Element | Text | null;\n}\n\nexport interface OptionProps {\n text: string;\n value: string;\n selected?: boolean;\n children?: Array<OptionProps>;\n}\n\nexport interface State {\n options: Array<OptionProps>;\n filteredValue: Array<string>;\n}\n\nexport class HeadCellFilter extends React.Component<Props, State> {\n static defaultProps = {\n filteredValue: [],\n filterMultiple: false\n };\n\n constructor(props: Props) {\n super(props);\n\n this.state = {\n options: [],\n filteredValue: props.filteredValue || []\n };\n }\n\n alterOptions(options: Array<any>) {\n options = options.map(option => ({\n ...option,\n selected: this.state.filteredValue.indexOf(option.value) > -1\n }));\n\n return options;\n }\n\n componentDidMount() {\n const {column} = this.props;\n if (column.filters && column.filters.length > 0) {\n this.setState({options: this.alterOptions(column.filters)});\n }\n }\n\n componentDidUpdate(prevProps: Props, prevState: State) {\n const {column} = this.props;\n if (\n column.filters &&\n column.filters.length > 0 &&\n !isEqual(prevState.filteredValue, this.state.filteredValue)\n ) {\n this.setState({options: this.alterOptions(column.filters)});\n }\n }\n\n render() {\n const {options} = this.state;\n const {\n column,\n popOverContainer,\n classnames: cx,\n classPrefix: ns\n } = this.props;\n\n const filterProps = {\n filterDropdown: (payload: FilterDropdownProps) => {\n const {setSelectedKeys, selectedKeys, confirm, clearFilters} = payload;\n return options && options.length > 0 ? (\n <ul className={cx('DropDown-menu')}>\n {!column.filterMultiple\n ? options.map((option: any, index) => (\n <li\n key={index}\n className={cx({\n 'is-active': option.selected\n })}\n onClick={() =>\n this.handleClick(confirm, setSelectedKeys, [option.value])\n }\n >\n {option.text}\n </li>\n ))\n : options.map((option: any, index) => (\n <li key={index}>\n <CheckBox\n classPrefix={ns}\n onChange={e =>\n this.handleCheck(\n confirm,\n setSelectedKeys,\n e ? [option.value] : option.value\n )\n }\n checked={option.selected}\n >\n {option.text}\n </CheckBox>\n </li>\n ))}\n {column.filterMultiple ? (\n <li\n key=\"dropDown-multiple-menu\"\n className={cx('DropDown-multiple-menu')}\n >\n <Button\n size={'xs'}\n level={'primary'}\n onClick={() => this.handleConfirmClick(confirm)}\n >\n 确定\n </Button>\n <Button\n size={'xs'}\n onClick={() =>\n this.handleCancelClick(confirm, setSelectedKeys)\n }\n >\n 取消\n </Button>\n </li>\n ) : null}\n </ul>\n ) : null;\n },\n setSelectedKeys: (keys: Array<string>) =>\n this.setState({filteredValue: keys})\n };\n\n return (\n <HeadCellDropDown\n className={`${ns}TableCell-filterBtn`}\n layerClassName={`${ns}TableCell-filterPopOver`}\n filterIcon={<Icon icon=\"column-filter\" className=\"icon\" />}\n active={\n column.filtered ||\n (options && options.some((item: any) => item.selected))\n }\n popOverContainer={\n popOverContainer ? popOverContainer : () => findDOMNode(this)\n }\n selectedKeys={this.state.filteredValue}\n {...filterProps}\n ></HeadCellDropDown>\n );\n }\n\n async handleClick(\n confirm: (payload?: FilterPayload) => void,\n setSelectedKeys?: (keys?: string | Array<string | number>) => void,\n selectedKeys?: Array<string>\n ) {\n const {onFilter, column} = this.props;\n const payload = {[column.key]: selectedKeys};\n\n if (onFilter) {\n const prevented = await onFilter({\n filterName: column.key,\n filterValue: selectedKeys?.join(',')\n });\n if (prevented) {\n return;\n }\n }\n\n setSelectedKeys && setSelectedKeys(selectedKeys);\n\n onFilter && onFilter(payload);\n confirm();\n }\n\n handleCheck(\n confirm: (payload?: FilterPayload) => void,\n setSelectedKeys?: (\n keys: string | Array<string | number>\n ) => void | undefined,\n selectedKeys?: Array<string>\n ) {\n const filteredValue = this.state.filteredValue;\n // 选中\n if (Array.isArray(selectedKeys)) {\n setSelectedKeys && setSelectedKeys([...filteredValue, ...selectedKeys]);\n } else {\n // 取消选中\n setSelectedKeys &&\n setSelectedKeys(filteredValue.filter(v => v !== selectedKeys));\n }\n }\n\n handleConfirmClick(confirm: (payload?: FilterPayload) => void) {\n const {onFilter, column} = this.props;\n onFilter && onFilter({[column.key]: this.state.filteredValue});\n confirm();\n }\n\n handleCancelClick(\n confirm: (payload?: FilterPayload) => void,\n setSelectedKeys?: (\n keys: string | Array<string | number>\n ) => void | undefined\n ) {\n setSelectedKeys && setSelectedKeys([]);\n confirm();\n }\n}\n\nexport default themeable(localeable(HeadCellFilter));\n"
12
12
  ]
13
13
  }
@@ -26,32 +26,38 @@ var HeadCellSort = /** @class */ (function (_super) {
26
26
  return (react_1.default.createElement("span", { className: cx('TableCell-sortBtn'), onClick: function () { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
27
27
  var sortPayload, prevented;
28
28
  return (0, tslib_1.__generator)(this, function (_a) {
29
- sortPayload = {};
30
- if (column.key === this.state.orderBy) {
31
- if (this.state.order === 'descend') {
32
- // 降序改为取消
33
- sortPayload = { orderBy: '', order: 'ascend' };
34
- }
35
- else {
36
- // 升序之后降序
37
- sortPayload = { order: 'descend' };
38
- }
39
- }
40
- else {
41
- // 默认先升序
42
- sortPayload = { orderBy: column.key, order: 'ascend' };
43
- }
44
- if (onSort) {
45
- prevented = onSort({
46
- orderBy: this.state.orderBy,
47
- order: this.state.order
48
- });
49
- if (prevented) {
29
+ switch (_a.label) {
30
+ case 0:
31
+ sortPayload = {};
32
+ if (column.key === this.state.orderBy) {
33
+ if (this.state.order === 'descend') {
34
+ // 降序改为取消
35
+ sortPayload = { orderBy: '', order: 'ascend' };
36
+ }
37
+ else {
38
+ // 升序之后降序
39
+ sortPayload = { order: 'descend' };
40
+ }
41
+ }
42
+ else {
43
+ // 默认先升序
44
+ sortPayload = { orderBy: column.key, order: 'ascend' };
45
+ }
46
+ if (!onSort) return [3 /*break*/, 2];
47
+ return [4 /*yield*/, onSort({
48
+ orderBy: this.state.orderBy,
49
+ order: this.state.order
50
+ })];
51
+ case 1:
52
+ prevented = _a.sent();
53
+ if (prevented) {
54
+ return [2 /*return*/];
55
+ }
56
+ _a.label = 2;
57
+ case 2:
58
+ this.setState(sortPayload);
50
59
  return [2 /*return*/];
51
- }
52
60
  }
53
- this.setState(sortPayload);
54
- return [2 /*return*/];
55
61
  });
56
62
  }); } },
57
63
  react_1.default.createElement("i", { className: cx('TableCell-sortBtn--down', this.state.orderBy === column.key && this.state.order === 'descend'
@@ -6,8 +6,8 @@
6
6
  "/src/components/table/HeadCellSort.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": ";AAAA;;;GAGG;;;;AAEH,6DAA0B;AAE1B,qCAAkD;AAClD,uCAAqD;AACrD,kCAA8B;AAY9B;IAAkC,6CAA6B;IAC7D,sBAAY,KAAY;QAAxB,YACE,kBAAM,KAAK,CAAC,SAMb;QAJC,KAAI,CAAC,KAAK,GAAG;YACX,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,EAAE;SACZ,CAAC;;IACJ,CAAC;IAED,6BAAM,GAAN;QAAA,iBAgEC;QA/DO,IAAA,KAAmC,IAAI,CAAC,KAAK,EAA5C,MAAM,YAAA,EAAE,MAAM,YAAA,EAAc,EAAE,gBAAc,CAAC;QAEpD,OAAO,CACL,wCACE,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAClC,OAAO,EAAE;;;oBACH,WAAW,GAAG,EAAE,CAAC;oBACrB,IAAI,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;wBACrC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE;4BAClC,SAAS;4BACT,WAAW,GAAG,EAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAC,CAAC;yBAC9C;6BAAM;4BACL,SAAS;4BACT,WAAW,GAAG,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC;yBAClC;qBACF;yBAAM;wBACL,QAAQ;wBACR,WAAW,GAAG,EAAC,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAC,CAAC;qBACtD;oBAED,IAAI,MAAM,EAAE;wBACJ,SAAS,GAAG,MAAM,CAAC;4BACvB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;4BAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;yBACxB,CAAC,CAAC;wBACH,IAAI,SAAS,EAAE;4BACb,sBAAO;yBACR;qBACF;oBAED,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;;;iBAC5B;YAED,qCACE,SAAS,EAAE,EAAE,CACX,yBAAyB,EACzB,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS;oBACjE,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,EAAE,CACP;gBAED,8BAAC,YAAI,IAAC,IAAI,EAAC,WAAW,EAAC,SAAS,EAAC,MAAM,GAAG,CACxC;YACJ,qCACE,SAAS,EAAE,EAAE,CACX,uBAAuB,EACvB,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ;oBAChE,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,EAAE,CACP;gBAED,8BAAC,YAAI,IAAC,IAAI,EAAC,UAAU,EAAC,SAAS,EAAC,MAAM,GAAG,CACvC;YACJ,qCACE,SAAS,EAAE,EAAE,CACX,4BAA4B,EAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CACrD;gBAED,8BAAC,YAAI,IAAC,IAAI,EAAC,cAAc,EAAC,SAAS,EAAC,MAAM,GAAG,CAC3C,CACC,CACR,CAAC;IACJ,CAAC;IACH,mBAAC;AAAD,CAAC,AA3ED,CAAkC,eAAK,CAAC,SAAS,GA2EhD;AA3EY,oCAAY;AA6EzB,kBAAe,IAAA,iBAAS,EAAC,IAAA,mBAAU,EAAC,YAAY,CAAC,CAAC,CAAC",
9
+ "mappings": ";AAAA;;;GAGG;;;;AAEH,6DAA0B;AAE1B,qCAAkD;AAClD,uCAAqD;AACrD,kCAA8B;AAY9B;IAAkC,6CAA6B;IAC7D,sBAAY,KAAY;QAAxB,YACE,kBAAM,KAAK,CAAC,SAMb;QAJC,KAAI,CAAC,KAAK,GAAG;YACX,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,EAAE;SACZ,CAAC;;IACJ,CAAC;IAED,6BAAM,GAAN;QAAA,iBAgEC;QA/DO,IAAA,KAAmC,IAAI,CAAC,KAAK,EAA5C,MAAM,YAAA,EAAE,MAAM,YAAA,EAAc,EAAE,gBAAc,CAAC;QAEpD,OAAO,CACL,wCACE,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAClC,OAAO,EAAE;;;;;4BACH,WAAW,GAAG,EAAE,CAAC;4BACrB,IAAI,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gCACrC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE;oCAClC,SAAS;oCACT,WAAW,GAAG,EAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAC,CAAC;iCAC9C;qCAAM;oCACL,SAAS;oCACT,WAAW,GAAG,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC;iCAClC;6BACF;iCAAM;gCACL,QAAQ;gCACR,WAAW,GAAG,EAAC,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAC,CAAC;6BACtD;iCAEG,MAAM,EAAN,wBAAM;4BACU,qBAAM,MAAM,CAAC;oCAC7B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;oCAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;iCACxB,CAAC,EAAA;;4BAHI,SAAS,GAAG,SAGhB;4BACF,IAAI,SAAS,EAAE;gCACb,sBAAO;6BACR;;;4BAGH,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;;;;iBAC5B;YAED,qCACE,SAAS,EAAE,EAAE,CACX,yBAAyB,EACzB,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS;oBACjE,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,EAAE,CACP;gBAED,8BAAC,YAAI,IAAC,IAAI,EAAC,WAAW,EAAC,SAAS,EAAC,MAAM,GAAG,CACxC;YACJ,qCACE,SAAS,EAAE,EAAE,CACX,uBAAuB,EACvB,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ;oBAChE,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,EAAE,CACP;gBAED,8BAAC,YAAI,IAAC,IAAI,EAAC,UAAU,EAAC,SAAS,EAAC,MAAM,GAAG,CACvC;YACJ,qCACE,SAAS,EAAE,EAAE,CACX,4BAA4B,EAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CACrD;gBAED,8BAAC,YAAI,IAAC,IAAI,EAAC,cAAc,EAAC,SAAS,EAAC,MAAM,GAAG,CAC3C,CACC,CACR,CAAC;IACJ,CAAC;IACH,mBAAC;AAAD,CAAC,AA3ED,CAAkC,eAAK,CAAC,SAAS,GA2EhD;AA3EY,oCAAY;AA6EzB,kBAAe,IAAA,iBAAS,EAAC,IAAA,mBAAU,EAAC,YAAY,CAAC,CAAC,CAAC",
10
10
  "sourcesContent": [
11
- "/**\n * @file table/HeadCellSort\n * @author fex\n */\n\nimport React from 'react';\n\nimport {themeable, ThemeProps} from '../../theme';\nimport {LocaleProps, localeable} from '../../locale';\nimport {Icon} from '../icons';\n\nexport interface Props extends ThemeProps, LocaleProps {\n column: any;\n onSort?: Function;\n}\n\nexport interface State {\n order: string; // 升序还是降序\n orderBy: string; // 一次只能按一列排序 当前列的key\n}\n\nexport class HeadCellSort extends React.Component<Props, State> {\n constructor(props: Props) {\n super(props);\n\n this.state = {\n order: '',\n orderBy: ''\n };\n }\n\n render() {\n const {column, onSort, classnames: cx} = this.props;\n\n return (\n <span\n className={cx('TableCell-sortBtn')}\n onClick={async () => {\n let sortPayload = {};\n if (column.key === this.state.orderBy) {\n if (this.state.order === 'descend') {\n // 降序改为取消\n sortPayload = {orderBy: '', order: 'ascend'};\n } else {\n // 升序之后降序\n sortPayload = {order: 'descend'};\n }\n } else {\n // 默认先升序\n sortPayload = {orderBy: column.key, order: 'ascend'};\n }\n\n if (onSort) {\n const prevented = onSort({\n orderBy: this.state.orderBy,\n order: this.state.order\n });\n if (prevented) {\n return;\n }\n }\n\n this.setState(sortPayload);\n }}\n >\n <i\n className={cx(\n 'TableCell-sortBtn--down',\n this.state.orderBy === column.key && this.state.order === 'descend'\n ? 'is-active'\n : ''\n )}\n >\n <Icon icon=\"sort-desc\" className=\"icon\" />\n </i>\n <i\n className={cx(\n 'TableCell-sortBtn--up',\n this.state.orderBy === column.key && this.state.order === 'ascend'\n ? 'is-active'\n : ''\n )}\n >\n <Icon icon=\"sort-asc\" className=\"icon\" />\n </i>\n <i\n className={cx(\n 'TableCell-sortBtn--default',\n this.state.orderBy === column.key ? '' : 'is-active'\n )}\n >\n <Icon icon=\"sort-default\" className=\"icon\" />\n </i>\n </span>\n );\n }\n}\n\nexport default themeable(localeable(HeadCellSort));\n"
11
+ "/**\n * @file table/HeadCellSort\n * @author fex\n */\n\nimport React from 'react';\n\nimport {themeable, ThemeProps} from '../../theme';\nimport {LocaleProps, localeable} from '../../locale';\nimport {Icon} from '../icons';\n\nexport interface Props extends ThemeProps, LocaleProps {\n column: any;\n onSort?: Function;\n}\n\nexport interface State {\n order: string; // 升序还是降序\n orderBy: string; // 一次只能按一列排序 当前列的key\n}\n\nexport class HeadCellSort extends React.Component<Props, State> {\n constructor(props: Props) {\n super(props);\n\n this.state = {\n order: '',\n orderBy: ''\n };\n }\n\n render() {\n const {column, onSort, classnames: cx} = this.props;\n\n return (\n <span\n className={cx('TableCell-sortBtn')}\n onClick={async () => {\n let sortPayload = {};\n if (column.key === this.state.orderBy) {\n if (this.state.order === 'descend') {\n // 降序改为取消\n sortPayload = {orderBy: '', order: 'ascend'};\n } else {\n // 升序之后降序\n sortPayload = {order: 'descend'};\n }\n } else {\n // 默认先升序\n sortPayload = {orderBy: column.key, order: 'ascend'};\n }\n\n if (onSort) {\n const prevented = await onSort({\n orderBy: this.state.orderBy,\n order: this.state.order\n });\n if (prevented) {\n return;\n }\n }\n\n this.setState(sortPayload);\n }}\n >\n <i\n className={cx(\n 'TableCell-sortBtn--down',\n this.state.orderBy === column.key && this.state.order === 'descend'\n ? 'is-active'\n : ''\n )}\n >\n <Icon icon=\"sort-desc\" className=\"icon\" />\n </i>\n <i\n className={cx(\n 'TableCell-sortBtn--up',\n this.state.orderBy === column.key && this.state.order === 'ascend'\n ? 'is-active'\n : ''\n )}\n >\n <Icon icon=\"sort-asc\" className=\"icon\" />\n </i>\n <i\n className={cx(\n 'TableCell-sortBtn--default',\n this.state.orderBy === column.key ? '' : 'is-active'\n )}\n >\n <Icon icon=\"sort-default\" className=\"icon\" />\n </i>\n </span>\n );\n }\n}\n\nexport default themeable(localeable(HeadCellSort));\n"
12
12
  ]
13
13
  }
@@ -143,6 +143,7 @@ export declare class Table extends React.PureComponent<TableProps, TableState> {
143
143
  thColumns: Array<Array<ThProps>>;
144
144
  tdColumns: Array<TdProps>;
145
145
  selectedRows: Array<any>;
146
+ unSelectedRows: Array<any>;
146
147
  sortable: Sortable;
147
148
  resizeStart: number;
148
149
  resizeKey: string;
@@ -155,13 +156,15 @@ export declare class Table extends React.PureComponent<TableProps, TableState> {
155
156
  tfootDom: React.RefObject<HTMLTableSectionElement>;
156
157
  footDom: React.RefObject<HTMLDivElement>;
157
158
  getColWidths(): any[];
158
- getSelectedRows(dataSource: Array<any>, selectedRowKeys: Array<string | number>): any[];
159
+ getSelectedRows(dataSource: Array<any>, selectedRowKeys: Array<string | number>): {
160
+ selectedRows: any[];
161
+ unSelectedRows: any[];
162
+ };
159
163
  updateTableBodyFixed(): void;
160
164
  updateColWidths(): void;
161
165
  componentDidMount(): void;
162
166
  componentDidUpdate(prevProps: TableProps, prevState: TableState): void;
163
167
  componentWillUnmount(): void;
164
- exchange(fromIndex: number, toIndex: number, item: any): any[];
165
168
  initDragging(): void;
166
169
  destroyDragging(): void;
167
170
  updateStickyHeader(): void;
@@ -176,7 +179,7 @@ export declare class Table extends React.PureComponent<TableProps, TableState> {
176
179
  onResizeMouseDown(event: React.MouseEvent<any>, key: string): void;
177
180
  onResizeMouseUp(event: React.MouseEvent<any>): void;
178
181
  renderTHead(): JSX.Element;
179
- onRowClick(event: React.ChangeEvent<any>, record?: any, rowIndex?: number): void;
182
+ onRowClick(event: React.ChangeEvent<any>, record?: any, rowIndex?: number): Promise<void>;
180
183
  onRowMouseEnter(event: React.ChangeEvent<any>, record?: any, rowIndex?: number): void;
181
184
  onRowMouseLeave(event: React.ChangeEvent<any>, record?: any, rowIndex?: number): void;
182
185
  onMouseLeave(event: React.ChangeEvent<any>): void;
@@ -13,7 +13,6 @@ var find_1 = (0, tslib_1.__importDefault)(require("lodash/find"));
13
13
  var isEqual_1 = (0, tslib_1.__importDefault)(require("lodash/isEqual"));
14
14
  var filter_1 = (0, tslib_1.__importDefault)(require("lodash/filter"));
15
15
  var intersection_1 = (0, tslib_1.__importDefault)(require("lodash/intersection"));
16
- var cloneDeep_1 = (0, tslib_1.__importDefault)(require("lodash/cloneDeep"));
17
16
  var sortablejs_1 = (0, tslib_1.__importDefault)(require("sortablejs"));
18
17
  var theme_1 = require("../../theme");
19
18
  var locale_1 = require("../../locale");
@@ -142,9 +141,11 @@ var Table = /** @class */ (function (_super) {
142
141
  _this.bodyDom = react_1.default.createRef();
143
142
  _this.tfootDom = react_1.default.createRef();
144
143
  _this.footDom = react_1.default.createRef();
145
- _this.selectedRows = props.rowSelection
146
- ? _this.getSelectedRows(props.dataSource, (_a = props.rowSelection) === null || _a === void 0 ? void 0 : _a.selectedRowKeys)
147
- : [];
144
+ if (props.rowSelection) {
145
+ var selectedResult = _this.getSelectedRows(props.dataSource, (_a = props.rowSelection) === null || _a === void 0 ? void 0 : _a.selectedRowKeys);
146
+ _this.selectedRows = selectedResult.selectedRows;
147
+ _this.unSelectedRows = selectedResult.unSelectedRows;
148
+ }
148
149
  _this.state = {
149
150
  selectedRowKeys: props.rowSelection
150
151
  ? props.rowSelection.selectedRowKeys.map(function (key) { return key; }) || []
@@ -176,12 +177,16 @@ var Table = /** @class */ (function (_super) {
176
177
  Table.prototype.getSelectedRows = function (dataSource, selectedRowKeys) {
177
178
  var _this = this;
178
179
  var selectedRows = [];
180
+ var unSelectedRows = [];
179
181
  dataSource.forEach(function (data) {
180
182
  if ((0, find_1.default)(selectedRowKeys, function (key) { return key === data[_this.getRowSelectionKeyField()]; })) {
181
183
  selectedRows.push(data);
182
184
  }
185
+ else {
186
+ unSelectedRows.push(data);
187
+ }
183
188
  });
184
- return selectedRows;
189
+ return { selectedRows: selectedRows, unSelectedRows: unSelectedRows };
185
190
  };
186
191
  Table.prototype.updateTableBodyFixed = function () {
187
192
  var tbodyDom = this.tbodyDom && this.tbodyDom.current;
@@ -261,7 +266,9 @@ var Table = /** @class */ (function (_super) {
261
266
  // 选择项发生了变化触发
262
267
  if (!(0, isEqual_1.default)(prevState.selectedRowKeys, this.state.selectedRowKeys)) {
263
268
  // 更新保存的已选择行数据
264
- this.selectedRows = this.getSelectedRows(this.state.dataSource, this.state.selectedRowKeys);
269
+ var selectedResult = this.getSelectedRows(this.state.dataSource, this.state.selectedRowKeys);
270
+ this.selectedRows = selectedResult.selectedRows;
271
+ this.unSelectedRows = selectedResult.unSelectedRows;
265
272
  var rowSelection = this.props.rowSelection;
266
273
  rowSelection &&
267
274
  rowSelection.onChange &&
@@ -276,7 +283,9 @@ var Table = /** @class */ (function (_super) {
276
283
  this.setState({
277
284
  selectedRowKeys: this.props.rowSelection.selectedRowKeys
278
285
  });
279
- this.selectedRows = this.getSelectedRows(this.state.dataSource, this.state.selectedRowKeys);
286
+ var selectedResult = this.getSelectedRows(this.state.dataSource, this.state.selectedRowKeys);
287
+ this.selectedRows = selectedResult.selectedRows;
288
+ this.unSelectedRows = selectedResult.unSelectedRows;
280
289
  }
281
290
  }
282
291
  // 外部传入的展开项发生了变化
@@ -324,31 +333,6 @@ var Table = /** @class */ (function (_super) {
324
333
  });
325
334
  this.destroyDragging();
326
335
  };
327
- Table.prototype.exchange = function (fromIndex, toIndex, item) {
328
- var _a = this.props, scroll = _a.scroll, headSummary = _a.headSummary;
329
- // 如果有头部总结行 fromIndex就会+1
330
- if ((!scroll || (scroll && !scroll.y)) && headSummary) {
331
- fromIndex = fromIndex - 1;
332
- }
333
- var index = toIndex - fromIndex;
334
- var levels = item.getAttribute('row-levels');
335
- var rowIndex = +item.getAttribute('row-index');
336
- var dataSource = (0, cloneDeep_1.default)(this.state.dataSource);
337
- var levelsArray = levels ? levels.split(',') : [];
338
- var childrenColumnName = this.getChildrenColumnName();
339
- var data = dataSource;
340
- var i = 0;
341
- while (i < levelsArray.length) {
342
- data = data[levelsArray[i]][childrenColumnName];
343
- i++;
344
- }
345
- if (data && data.length > 0) {
346
- var row = (0, cloneDeep_1.default)(data[rowIndex]);
347
- data.splice(rowIndex, 1);
348
- data.splice(rowIndex + index, 0, row);
349
- }
350
- return data;
351
- };
352
336
  Table.prototype.initDragging = function () {
353
337
  var _this = this;
354
338
  var _a = this.props, cx = _a.classnames, onDrag = _a.onDrag;
@@ -374,26 +358,15 @@ var Table = /** @class */ (function (_super) {
374
358
  return true;
375
359
  },
376
360
  onEnd: function (e) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
377
- var onDrag, data, prevented;
361
+ var rowLevels;
378
362
  return (0, tslib_1.__generator)(this, function (_a) {
379
- switch (_a.label) {
380
- case 0:
381
- // 没有移动
382
- if (e.newIndex === e.oldIndex) {
383
- return [2 /*return*/];
384
- }
385
- onDrag = this.props.onDrag;
386
- if (!onDrag) return [3 /*break*/, 2];
387
- data = this.exchange(e.oldIndex, e.newIndex, e.item);
388
- return [4 /*yield*/, onDrag(data)];
389
- case 1:
390
- prevented = _a.sent();
391
- if (prevented) {
392
- return [2 /*return*/];
393
- }
394
- _a.label = 2;
395
- case 2: return [2 /*return*/];
363
+ // 没有移动
364
+ if (e.newIndex === e.oldIndex) {
365
+ return [2 /*return*/];
396
366
  }
367
+ rowLevels = e.item.getAttribute('row-levels');
368
+ onDrag && onDrag(e.oldIndex, e.newIndex, rowLevels ? rowLevels.split(',') : []);
369
+ return [2 /*return*/];
397
370
  });
398
371
  }); }
399
372
  });
@@ -670,7 +643,7 @@ var Table = /** @class */ (function (_super) {
670
643
  selectedRows = value ? allRows : [];
671
644
  selectedRowKeys = value ? allRowKeys : [];
672
645
  if (!onSelectAll) return [3 /*break*/, 2];
673
- return [4 /*yield*/, onSelectAll(value, selectedRowKeys, selectedRows, changeRows)];
646
+ return [4 /*yield*/, onSelectAll(selectedRows, value ? [] : selectedRows, changeRows)];
674
647
  case 1:
675
648
  prevented = _a.sent();
676
649
  if (prevented) {
@@ -727,15 +700,30 @@ var Table = /** @class */ (function (_super) {
727
700
  })));
728
701
  };
729
702
  Table.prototype.onRowClick = function (event, record, rowIndex) {
730
- var _a = this.props, rowSelection = _a.rowSelection, onRow = _a.onRow;
731
- if (rowSelection && rowSelection.type && rowSelection.rowClick) {
732
- var defaultKey_1 = this.getRowSelectionKeyField();
733
- var isSelected = !!(0, find_1.default)(this.state.selectedRowKeys, function (key) { return key === record[defaultKey_1]; });
734
- this.selectedSingleRow(!isSelected, record);
735
- }
736
- if (record && onRow) {
737
- onRow.onRowClick && onRow.onRowClick(event, record, rowIndex);
738
- }
703
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
704
+ var _a, rowSelection, onRow, prevented, defaultKey_1, isSelected;
705
+ return (0, tslib_1.__generator)(this, function (_b) {
706
+ switch (_b.label) {
707
+ case 0:
708
+ _a = this.props, rowSelection = _a.rowSelection, onRow = _a.onRow;
709
+ if (!(onRow && onRow.onRowClick)) return [3 /*break*/, 2];
710
+ return [4 /*yield*/, onRow.onRowClick(event, record, rowIndex)];
711
+ case 1:
712
+ prevented = _b.sent();
713
+ if (prevented) {
714
+ return [2 /*return*/];
715
+ }
716
+ _b.label = 2;
717
+ case 2:
718
+ if (rowSelection && rowSelection.type && rowSelection.rowClick) {
719
+ defaultKey_1 = this.getRowSelectionKeyField();
720
+ isSelected = !!(0, find_1.default)(this.state.selectedRowKeys, function (key) { return key === record[defaultKey_1]; });
721
+ this.selectedSingleRow(!isSelected, record);
722
+ }
723
+ return [2 /*return*/];
724
+ }
725
+ });
726
+ });
739
727
  };
740
728
  Table.prototype.onRowMouseEnter = function (event, record, rowIndex) {
741
729
  var _a = this.props, cx = _a.classnames, onRow = _a.onRow;
@@ -855,7 +843,7 @@ var Table = /** @class */ (function (_super) {
855
843
  };
856
844
  Table.prototype.selectedSingleRow = function (value, data) {
857
845
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
858
- var _a, rowSelection, onSelect, defaultKey, isRadio, prevented;
846
+ var _a, rowSelection, onSelect, defaultKey, isRadio, selectedRowKeys, selectedResult, prevented;
859
847
  var _this = this;
860
848
  return (0, tslib_1.__generator)(this, function (_b) {
861
849
  switch (_b.label) {
@@ -863,36 +851,35 @@ var Table = /** @class */ (function (_super) {
863
851
  _a = this.props, rowSelection = _a.rowSelection, onSelect = _a.onSelect;
864
852
  defaultKey = this.getRowSelectionKeyField();
865
853
  isRadio = rowSelection && rowSelection.type === 'radio';
866
- if (!onSelect) return [3 /*break*/, 2];
867
- return [4 /*yield*/, onSelect(data, value, this.selectedRows, this.state.selectedRowKeys)];
868
- case 1:
869
- prevented = _b.sent();
870
- if (prevented) {
871
- return [2 /*return*/];
872
- }
873
- _b.label = 2;
874
- case 2:
854
+ selectedRowKeys = [];
875
855
  if (value) {
876
856
  if (isRadio) {
877
- this.setState({ selectedRowKeys: [data[defaultKey]] });
857
+ selectedRowKeys = [data[defaultKey]];
878
858
  }
879
859
  else {
880
- this.setState(function (prevState) { return ({
881
- selectedRowKeys: (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], prevState.selectedRowKeys, true), [
882
- data[defaultKey]
883
- ], false), _this.getDataChildrenKeys(data), true).filter(function (key, i, a) { return a.indexOf(key) === i; })
884
- }); });
860
+ selectedRowKeys = (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], this.state.selectedRowKeys, true), [
861
+ data[defaultKey]
862
+ ], false), this.getDataChildrenKeys(data), true).filter(function (key, i, a) { return a.indexOf(key) === i; });
885
863
  }
886
864
  }
887
865
  else {
888
866
  if (!isRadio) {
889
- this.setState({
890
- selectedRowKeys: this.state.selectedRowKeys.filter(function (key) {
891
- return !(0, tslib_1.__spreadArray)([data[defaultKey]], _this.getDataChildrenKeys(data), true).includes(key);
892
- })
867
+ selectedRowKeys = this.state.selectedRowKeys.filter(function (key) {
868
+ return !(0, tslib_1.__spreadArray)([data[defaultKey]], _this.getDataChildrenKeys(data), true).includes(key);
893
869
  });
894
870
  }
895
871
  }
872
+ if (!onSelect) return [3 /*break*/, 2];
873
+ selectedResult = this.getSelectedRows(this.state.dataSource, selectedRowKeys);
874
+ return [4 /*yield*/, onSelect(selectedResult.selectedRows, selectedRowKeys, selectedResult.unSelectedRows)];
875
+ case 1:
876
+ prevented = _b.sent();
877
+ if (prevented) {
878
+ return [2 /*return*/];
879
+ }
880
+ _b.label = 2;
881
+ case 2:
882
+ this.setState({ selectedRowKeys: selectedRowKeys });
896
883
  return [2 /*return*/];
897
884
  }
898
885
  });
@@ -900,7 +887,7 @@ var Table = /** @class */ (function (_super) {
900
887
  };
901
888
  Table.prototype.renderRow = function (data, rowIndex, levels) {
902
889
  var _this = this;
903
- var _a = this.props, cx = _a.classnames, rowSelection = _a.rowSelection, expandable = _a.expandable, draggable = _a.draggable, indentSize = _a.indentSize, rowClassName = _a.rowClassName, lineHeight = _a.lineHeight // 是否设置了固定行高
890
+ var _a = this.props, cx = _a.classnames, rowSelection = _a.rowSelection, expandable = _a.expandable, draggable = _a.draggable, indentSize = _a.indentSize, rowClassName = _a.rowClassName, keyField = _a.keyField, lineHeight = _a.lineHeight // 是否设置了固定行高
904
891
  ;
905
892
  var tdColumns = this.tdColumns;
906
893
  var isExpandable = this.isExpandableTable();
@@ -970,14 +957,15 @@ var Table = /** @class */ (function (_super) {
970
957
  })) : null;
971
958
  var isChecked = !!(0, find_1.default)(this.state.selectedRowKeys, function (key) { return key === data[defaultKey]; });
972
959
  var hasChildrenChecked = this.hasCheckedChildrenRows(data);
960
+ var isRadio = rowSelection && rowSelection.type === 'radio';
973
961
  return [
974
- react_1.default.createElement("tr", { key: rowIndex, "row-index": rowIndex, "row-levels": levels.join(','), className: cx('Table-row', "Table-row-level-".concat(levels.length), rowClassNameClass, {
962
+ react_1.default.createElement("tr", { key: "".concat(data[keyField || 'key'] || rowIndex), "row-index": rowIndex, "row-levels": levels.join(','), className: cx('Table-row', "Table-row-level-".concat(levels.length), rowClassNameClass, {
975
963
  'Table-row-disabled': !!checkboxProps.disabled
976
964
  }), onMouseEnter: function (e) { return _this.onRowMouseEnter(e, data, rowIndex); }, onMouseLeave: function (e) { return _this.onRowMouseLeave(e, data, rowIndex); }, onClick: function (e) { return _this.onRowClick(e, data, rowIndex); } },
977
965
  draggable ? (react_1.default.createElement(Cell_1.default, { className: cx('Table-dragCell') },
978
966
  react_1.default.createElement(icons_1.Icon, { icon: "drag-bar", className: "icon" }))) : null,
979
967
  !draggable && rowSelection ? (react_1.default.createElement(Cell_1.default, { fixed: rowSelection.fixed ? 'left' : '', className: cx('Table-checkCell') },
980
- react_1.default.createElement(Checkbox_1.default, (0, tslib_1.__assign)({ name: 'Table-checkbox', type: rowSelection.type || 'checkbox', partial: hasChildrenChecked && !isChecked, checked: hasChildrenChecked || isChecked, onChange: function (value, shift) {
968
+ react_1.default.createElement(Checkbox_1.default, (0, tslib_1.__assign)({ name: 'Table-checkbox', type: rowSelection.type || 'checkbox', partial: !isRadio && hasChildrenChecked && !isChecked, checked: isRadio ? isChecked : (hasChildrenChecked || isChecked), onChange: function (value, shift) {
981
969
  if (!(rowSelection && rowSelection.rowClick)) {
982
970
  _this.selectedSingleRow(value, data);
983
971
  }
@@ -1004,9 +992,7 @@ var Table = /** @class */ (function (_super) {
1004
992
  react_1.default.createElement(Cell_1.default, { colSpan: tdColumns.length + colCount },
1005
993
  react_1.default.createElement("div", { className: cx('Table-empty') }, typeof placeholder === 'function'
1006
994
  ? placeholder()
1007
- : placeholder)))) : (this.state.dataSource.map(function (data, index) {
1008
- return _this.renderRow(data, index, []);
1009
- }))));
995
+ : placeholder)))) : (this.state.dataSource.map(function (data, index) { return _this.renderRow(data, index, []); }))));
1010
996
  };
1011
997
  Table.prototype.isExpandableTable = function () {
1012
998
  var expandable = this.props.expandable;