amis 1.3.5-beta.6 → 1.4.1-echarts-5.3.1

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 (219) hide show
  1. package/lib/components/Badge.d.ts +15 -2
  2. package/lib/components/Badge.js +47 -4
  3. package/lib/components/Badge.js.map +2 -2
  4. package/lib/components/Button.d.ts +24 -22
  5. package/lib/components/Button.js +13 -7
  6. package/lib/components/Button.js.map +2 -2
  7. package/lib/components/Checkbox.d.ts +1 -1
  8. package/lib/components/Checkbox.js +1 -1
  9. package/lib/components/Checkbox.js.map +2 -2
  10. package/lib/components/Drawer.js +1 -1
  11. package/lib/components/Drawer.js.map +2 -2
  12. package/lib/components/Modal.js +1 -1
  13. package/lib/components/Modal.js.map +2 -2
  14. package/lib/components/RichText.d.ts +6 -1
  15. package/lib/components/RichText.js +243 -8
  16. package/lib/components/RichText.js.map +2 -2
  17. package/lib/components/Select.d.ts +7 -0
  18. package/lib/components/Select.js.map +2 -2
  19. package/lib/components/Steps.d.ts +3 -3
  20. package/lib/components/Steps.js.map +1 -1
  21. package/lib/components/WithRemoteConfig.d.ts +8 -0
  22. package/lib/components/WithRemoteConfig.js +28 -2
  23. package/lib/components/WithRemoteConfig.js.map +2 -2
  24. package/lib/components/calendar/DaysView.js +2 -2
  25. package/lib/components/calendar/DaysView.js.map +2 -2
  26. package/lib/components/condition-builder/Field.js +0 -1
  27. package/lib/components/condition-builder/Field.js.map +2 -2
  28. package/lib/components/condition-builder/Value.js +2 -1
  29. package/lib/components/condition-builder/Value.js.map +2 -2
  30. package/lib/components/condition-builder/types.d.ts +5 -0
  31. package/lib/components/condition-builder/types.js.map +1 -1
  32. package/lib/components/icons.js +2 -0
  33. package/lib/components/icons.js.map +2 -2
  34. package/lib/factory.d.ts +5 -1
  35. package/lib/factory.js +9 -4
  36. package/lib/factory.js.map +2 -2
  37. package/lib/helper.css.map +1 -1
  38. package/lib/icons/loading-outline.js +7 -0
  39. package/lib/index.js +1 -1
  40. package/lib/locale/de-DE.js +1 -0
  41. package/lib/locale/de-DE.js.map +2 -2
  42. package/lib/locale/en-US.js +2 -1
  43. package/lib/locale/en-US.js.map +2 -2
  44. package/lib/locale/zh-CN.js +2 -1
  45. package/lib/locale/zh-CN.js.map +2 -2
  46. package/lib/renderers/Action.d.ts +9 -1
  47. package/lib/renderers/Action.js +5 -5
  48. package/lib/renderers/Action.js.map +2 -2
  49. package/lib/renderers/CRUD.d.ts +2 -2
  50. package/lib/renderers/CRUD.js +11 -20
  51. package/lib/renderers/CRUD.js.map +2 -2
  52. package/lib/renderers/Collapse.d.ts +1 -1
  53. package/lib/renderers/Collapse.js +5 -1
  54. package/lib/renderers/Collapse.js.map +2 -2
  55. package/lib/renderers/Dialog.d.ts +0 -252
  56. package/lib/renderers/Dialog.js +1 -1
  57. package/lib/renderers/Dialog.js.map +2 -2
  58. package/lib/renderers/DropDownButton.d.ts +8 -0
  59. package/lib/renderers/DropDownButton.js +6 -4
  60. package/lib/renderers/DropDownButton.js.map +2 -2
  61. package/lib/renderers/Form/ButtonGroupSelect.js +3 -0
  62. package/lib/renderers/Form/ButtonGroupSelect.js.map +2 -2
  63. package/lib/renderers/Form/DiffEditor.d.ts +0 -2
  64. package/lib/renderers/Form/Editor.d.ts +0 -2
  65. package/lib/renderers/Form/Editor.js +1 -1
  66. package/lib/renderers/Form/Editor.js.map +2 -2
  67. package/lib/renderers/Form/InputExcel.d.ts +5 -0
  68. package/lib/renderers/Form/InputExcel.js +24 -3
  69. package/lib/renderers/Form/InputExcel.js.map +2 -2
  70. package/lib/renderers/Form/InputImage.d.ts +8 -0
  71. package/lib/renderers/Form/InputImage.js +2 -1
  72. package/lib/renderers/Form/InputImage.js.map +2 -2
  73. package/lib/renderers/Form/InputTable.d.ts +23 -5
  74. package/lib/renderers/Form/InputTable.js +32 -3
  75. package/lib/renderers/Form/InputTable.js.map +2 -2
  76. package/lib/renderers/Json.js +5 -1
  77. package/lib/renderers/Json.js.map +2 -2
  78. package/lib/renderers/Nav.d.ts +52 -22
  79. package/lib/renderers/Nav.js +100 -15
  80. package/lib/renderers/Nav.js.map +2 -2
  81. package/lib/renderers/Page.js +4 -1
  82. package/lib/renderers/Page.js.map +2 -2
  83. package/lib/renderers/Service.d.ts +10 -1
  84. package/lib/renderers/Service.js +85 -3
  85. package/lib/renderers/Service.js.map +2 -2
  86. package/lib/renderers/Steps.d.ts +4 -4
  87. package/lib/renderers/Steps.js +5 -2
  88. package/lib/renderers/Steps.js.map +2 -2
  89. package/lib/renderers/Table/TableBody.d.ts +1 -1
  90. package/lib/renderers/Table/TableBody.js +5 -1
  91. package/lib/renderers/Table/TableBody.js.map +2 -2
  92. package/lib/renderers/Table/TableContent.d.ts +1 -1
  93. package/lib/renderers/Table/TableContent.js +4 -0
  94. package/lib/renderers/Table/TableContent.js.map +2 -2
  95. package/lib/renderers/Table/index.d.ts +8 -3
  96. package/lib/renderers/Table/index.js +80 -45
  97. package/lib/renderers/Table/index.js.map +2 -2
  98. package/lib/store/app.d.ts +0 -1
  99. package/lib/store/combo.d.ts +0 -2
  100. package/lib/store/crud.d.ts +3 -3
  101. package/lib/store/crud.js +41 -36
  102. package/lib/store/crud.js.map +2 -2
  103. package/lib/store/form.d.ts +0 -1
  104. package/lib/store/modal.d.ts +1 -1
  105. package/lib/store/modal.js +4 -0
  106. package/lib/store/modal.js.map +2 -2
  107. package/lib/store/root.d.ts +0 -1
  108. package/lib/store/service.d.ts +0 -1
  109. package/lib/store/service.js +0 -13
  110. package/lib/store/service.js.map +2 -2
  111. package/lib/store/table.d.ts +1 -2
  112. package/lib/store/table.js +44 -3
  113. package/lib/store/table.js.map +2 -2
  114. package/lib/themes/ang-ie11.css +597 -57
  115. package/lib/themes/ang.css +597 -57
  116. package/lib/themes/ang.css.map +1 -1
  117. package/lib/themes/antd-ie11.css +597 -57
  118. package/lib/themes/antd.css +597 -57
  119. package/lib/themes/antd.css.map +1 -1
  120. package/lib/themes/cxd-ie11.css +705 -177
  121. package/lib/themes/cxd.css +705 -177
  122. package/lib/themes/cxd.css.map +1 -1
  123. package/lib/themes/dark-ie11.css +597 -57
  124. package/lib/themes/dark.css +597 -57
  125. package/lib/themes/dark.css.map +1 -1
  126. package/lib/themes/default.css +705 -177
  127. package/lib/themes/default.css.map +1 -1
  128. package/lib/utils/api.js +12 -0
  129. package/lib/utils/api.js.map +2 -2
  130. package/lib/utils/attachmentAdpator.d.ts +7 -0
  131. package/lib/utils/attachmentAdpator.js +82 -0
  132. package/lib/utils/attachmentAdpator.js.map +13 -0
  133. package/lib/utils/helper.js.map +2 -2
  134. package/lib/utils/validations.js +62 -5
  135. package/lib/utils/validations.js.map +2 -2
  136. package/package.json +46 -39
  137. package/schema.json +343 -44
  138. package/scss/_mixins.scss +29 -0
  139. package/scss/_properties.scss +27 -11
  140. package/scss/components/_badge.scss +67 -2
  141. package/scss/components/_button.scss +35 -3
  142. package/scss/components/_image-gallery.scss +1 -1
  143. package/scss/components/_markdown.scss +266 -0
  144. package/scss/components/_nav.scss +109 -35
  145. package/scss/components/_spinner.scss +6 -2
  146. package/scss/components/form/_group.scss +4 -0
  147. package/scss/themes/_common.scss +1 -0
  148. package/scss/themes/_cxd-variables.scss +20 -20
  149. package/sdk/ang-ie11.css +741 -59
  150. package/sdk/ang.css +755 -59
  151. package/sdk/antd-ie11.css +731 -51
  152. package/sdk/antd.css +755 -59
  153. package/sdk/charts.js +13 -13
  154. package/sdk/color-picker.js +67 -67
  155. package/sdk/cropperjs.js +2 -2
  156. package/sdk/cxd-ie11.css +1200 -520
  157. package/sdk/cxd.css +863 -179
  158. package/sdk/dark-ie11.css +741 -59
  159. package/sdk/dark.css +755 -59
  160. package/sdk/exceljs.js +1 -1
  161. package/sdk/helper.css.map +1 -1
  162. package/sdk/locale/de-DE.js +1 -0
  163. package/sdk/markdown.js +69 -69
  164. package/sdk/papaparse.js +1 -1
  165. package/sdk/renderers/Form/CityDB.js +1 -1
  166. package/sdk/rest.js +22 -24
  167. package/sdk/rich-text.js +62 -64
  168. package/sdk/sdk-ie11.css +1200 -520
  169. package/sdk/sdk.css +863 -179
  170. package/sdk/sdk.js +1118 -1112
  171. package/sdk/thirds/hls.js/hls.js +1 -1
  172. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  173. package/sdk/tinymce.js +57 -57
  174. package/sdk.zip +0 -0
  175. package/src/components/Badge.tsx +111 -20
  176. package/src/components/Button.tsx +23 -7
  177. package/src/components/Checkbox.tsx +5 -2
  178. package/src/components/Drawer.tsx +3 -2
  179. package/src/components/Modal.tsx +3 -2
  180. package/src/components/RichText.tsx +284 -3
  181. package/src/components/Select.tsx +1 -0
  182. package/src/components/Steps.tsx +3 -3
  183. package/src/components/WithRemoteConfig.tsx +37 -2
  184. package/src/components/calendar/DaysView.tsx +2 -2
  185. package/src/components/condition-builder/Field.tsx +1 -2
  186. package/src/components/condition-builder/Value.tsx +3 -0
  187. package/src/components/condition-builder/types.ts +6 -0
  188. package/src/components/icons.tsx +2 -0
  189. package/src/factory.tsx +13 -3
  190. package/src/icons/loading-outline.svg +4 -0
  191. package/src/locale/de-DE.ts +1 -0
  192. package/src/locale/en-US.ts +2 -1
  193. package/src/locale/zh-CN.ts +2 -1
  194. package/src/renderers/Action.tsx +66 -13
  195. package/src/renderers/CRUD.tsx +13 -33
  196. package/src/renderers/Collapse.tsx +5 -1
  197. package/src/renderers/Dialog.tsx +1 -1
  198. package/src/renderers/DropDownButton.tsx +21 -4
  199. package/src/renderers/Form/ButtonGroupSelect.tsx +3 -0
  200. package/src/renderers/Form/Editor.tsx +19 -20
  201. package/src/renderers/Form/InputExcel.tsx +28 -3
  202. package/src/renderers/Form/InputImage.tsx +23 -8
  203. package/src/renderers/Form/InputTable.tsx +88 -9
  204. package/src/renderers/Json.tsx +10 -1
  205. package/src/renderers/Nav.tsx +165 -36
  206. package/src/renderers/Page.tsx +3 -1
  207. package/src/renderers/Service.tsx +101 -3
  208. package/src/renderers/Steps.tsx +12 -9
  209. package/src/renderers/Table/TableBody.tsx +3 -2
  210. package/src/renderers/Table/TableContent.tsx +3 -1
  211. package/src/renderers/Table/index.tsx +61 -13
  212. package/src/store/crud.ts +34 -38
  213. package/src/store/modal.ts +4 -0
  214. package/src/store/service.ts +0 -19
  215. package/src/store/table.ts +48 -0
  216. package/src/utils/api.ts +11 -0
  217. package/src/utils/attachmentAdpator.ts +90 -0
  218. package/src/utils/helper.ts +1 -0
  219. package/src/utils/validations.ts +80 -12
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Action.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "import React from 'react';\nimport hotkeys from 'hotkeys-js';\nimport {Renderer, RendererProps} from '../factory';\nimport {filter} from '../utils/tpl';\nimport Button from '../components/Button';\nimport pick from 'lodash/pick';\n\nexport interface ButtonSchema extends BaseSchema {\n /**\n * 是否为块状展示,默认为内联。\n */\n block?: boolean;\n\n /**\n * 禁用时的文案提示。\n */\n disabledTip?: string;\n\n /**\n * 按钮图标, iconfont 的类名\n */\n icon?: SchemaIcon;\n\n /**\n * icon 上的css 类名\n */\n iconClassName?: SchemaClassName;\n\n /**\n * 右侧按钮图标, iconfont 的类名\n */\n rightIcon?: SchemaIcon;\n\n /**\n * 右侧 icon 上的 css 类名\n */\n rightIconClassName?: SchemaClassName;\n\n /**\n * 按钮文字\n */\n label?: 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 * @deprecated 通过 level 来配置\n */\n primary?: boolean;\n\n /**\n * 按钮大小\n */\n size?: 'xs' | 'sm' | 'md' | 'lg';\n\n tooltip?: SchemaTooltip;\n tooltipPlacement?: 'top' | 'right' | 'bottom' | 'left';\n\n /**\n * 指定按钮类型,支持 button、submit或者reset三种类型。\n */\n type: 'button' | 'submit' | 'reset';\n\n /**\n * 提示文字,配置了操作前会要求用户确认。\n */\n confirmText?: string;\n\n /**\n * 如果按钮在form中,配置此属性会要求用户把指定的字段通过验证后才会触发行为。\n */\n required?: Array<string>;\n\n /**\n * 激活状态时的样式\n */\n activeLevel?: string;\n\n /**\n * 激活状态时的类名\n */\n activeClassName?: string;\n\n /**\n * 如果按钮在弹框中,可以配置这个动作完成后是否关闭弹窗,或者指定关闭目标弹框。\n */\n close?: boolean | string;\n\n /**\n * 当按钮时批量操作按钮时,默认必须有勾选元素才能可点击,如果此属性配置成 false,则没有点选成员也能点击。\n */\n requireSelected?: boolean;\n\n /**\n * 是否将弹框中数据 merge 到父级作用域。\n */\n mergeData?: boolean;\n\n /**\n * 可以指定让谁来触发这个动作。\n */\n target?: string;\n\n /**\n * 点击后的禁止倒计时(秒)\n */\n countDown?: number;\n\n /**\n * 倒计时文字自定义\n */\n countDownTpl?: string;\n\n /**\n * 角标\n */\n badge?: BadgeSchema;\n\n /**\n * 键盘快捷键\n */\n hotKey?: string;\n}\n\nexport interface AjaxActionSchema extends ButtonSchema {\n /**\n * 指定为发送 ajax 的行为。\n */\n actionType: 'ajax';\n\n /**\n * 配置 ajax 发送地址\n */\n api: SchemaApi;\n\n feedback?: FeedbackDialog;\n\n reload?: SchemaReload;\n redirect?: string;\n ignoreConfirm?: boolean;\n}\n\nexport interface DownloadActionSchema\n extends Omit<AjaxActionSchema, 'actionType'> {\n /**\n * 指定为下载行为\n */\n actionType: 'download';\n}\n\nexport interface UrlActionSchema extends ButtonSchema {\n /**\n * 指定为打开链接\n */\n actionType: 'url';\n\n /**\n * 是否新窗口打开\n */\n blank?: boolean;\n\n /**\n * 打开的目标地址\n */\n url: string;\n}\n\nexport interface DialogActionSchema extends ButtonSchema {\n /**\n * 指定为打开弹窗\n */\n actionType: 'dialog';\n\n /**\n * 弹框详情\n * 文档:https://baidu.gitee.io/amis/docs/components/dialog\n */\n dialog: DialogSchemaBase;\n\n /**\n * 是否有下一个的表达式,正常可以不用配置,如果想要刷掉某些数据可以配置这个。\n */\n nextCondition?: SchemaExpression;\n reload?: SchemaReload;\n redirect?: string;\n}\n\nexport interface DrawerActionSchema extends ButtonSchema {\n /**\n * 指定为打开弹窗,抽出式弹窗\n */\n actionType: 'drawer';\n\n /**\n * 抽出式弹框详情\n * 文档:https://baidu.gitee.io/amis/docs/components/drawer\n */\n drawer: DrawerSchemaBase;\n\n /**\n * 是否有下一个的表达式,正常可以不用配置,如果想要刷掉某些数据可以配置这个。\n */\n nextCondition?: SchemaExpression;\n reload?: SchemaReload;\n redirect?: string;\n}\n\nexport interface CopyActionSchema extends ButtonSchema {\n /**\n * 指定为复制内容行为\n */\n actionType: 'copy';\n\n /**\n * 复制啥内容由此配置,支持模板语法。\n */\n copy: SchemaTpl;\n}\n\nexport interface LinkActionSchema extends ButtonSchema {\n /**\n * 指定为打开链接行为,跟 url 不同的时这个行为为单页模式。\n */\n actionType: 'link';\n\n /**\n * 跳转到哪?支持配置相对路径。\n */\n link: string;\n}\n\nexport interface ReloadActionSchema extends ButtonSchema {\n /**\n * 指定为刷新目标组件。\n */\n actionType: 'reload';\n\n /**\n * 指定目标组件。\n */\n target?: SchemaReload;\n}\n\nexport interface EmailActionSchema extends ButtonSchema {\n /**\n * 指定为打开邮箱行为\n */\n actionType: 'email';\n\n /**\n * 收件人邮箱\n */\n to: string;\n\n /**\n * 抄送邮箱\n */\n cc?: string;\n\n /**\n * 匿名抄送邮箱\n */\n bcc?: string;\n\n /**\n * 邮件主题\n */\n subject?: string;\n\n /**\n * 邮件正文\n */\n body?: string;\n}\n\nexport interface OtherActionSchema extends ButtonSchema {\n actionType:\n | 'prev'\n | 'next'\n | 'cancel'\n | 'close'\n | 'submit'\n | 'confirm'\n | 'add'\n | 'reset'\n | 'reset-and-submit';\n [propName: string]: any;\n}\n\nexport interface VanillaAction extends ButtonSchema {\n actionType?: string;\n}\n\n/**\n * 按钮动作渲染器。\n * 文档:https://baidu.gitee.io/amis/docs/components/action\n */\nexport type ActionSchema =\n | AjaxActionSchema\n | UrlActionSchema\n | LinkActionSchema\n | DialogActionSchema\n | DrawerActionSchema\n | CopyActionSchema\n | ReloadActionSchema\n | EmailActionSchema\n | OtherActionSchema\n | VanillaAction;\n\nconst ActionProps = [\n 'dialog',\n 'drawer',\n 'url',\n 'link',\n 'confirmText',\n 'tooltip',\n 'disabledTip',\n 'className',\n 'asyncApi',\n 'redirect',\n 'size',\n 'level',\n 'primary',\n 'feedback',\n 'api',\n 'blank',\n 'tooltipPlacement',\n 'to',\n 'cc',\n 'bcc',\n 'subject',\n 'body',\n 'content',\n 'required',\n 'type',\n 'actionType',\n 'label',\n 'icon',\n 'rightIcon',\n 'reload',\n 'target',\n 'close',\n 'messages',\n 'mergeData',\n 'index',\n 'copy',\n 'copyFormat',\n 'payload',\n 'requireSelected'\n];\nimport {filterContents} from './Remark';\nimport {ClassNamesFn, themeable, ThemeProps} from '../theme';\nimport {autobind} from '../utils/helper';\nimport {\n BaseSchema,\n FeedbackDialog,\n SchemaApi,\n SchemaClassName,\n SchemaExpression,\n SchemaIcon,\n SchemaReload,\n SchemaTooltip,\n SchemaTpl\n} from '../Schema';\nimport {DialogSchema, DialogSchemaBase} from './Dialog';\nimport {DrawerSchema, DrawerSchemaBase} from './Drawer';\nimport {generateIcon} from '../utils/icon';\nimport {BadgeSchema, withBadge} from '../components/Badge';\nimport {normalizeApi, str2AsyncFunction} from '../utils/api';\n\n// 构造一个假的 React 事件避免可能的报错,主要用于快捷键功能\n// 来自 https://stackoverflow.com/questions/27062455/reactjs-can-i-create-my-own-syntheticevent\nexport const createSyntheticEvent = <T extends Element, E extends Event>(\n event: E\n): React.SyntheticEvent<T, E> => {\n let isDefaultPrevented = false;\n let isPropagationStopped = false;\n const preventDefault = () => {\n isDefaultPrevented = true;\n event.preventDefault();\n };\n const stopPropagation = () => {\n isPropagationStopped = true;\n event.stopPropagation();\n };\n return {\n nativeEvent: event,\n currentTarget: event.currentTarget as EventTarget & T,\n target: event.target as EventTarget & T,\n bubbles: event.bubbles,\n cancelable: event.cancelable,\n defaultPrevented: event.defaultPrevented,\n eventPhase: event.eventPhase,\n isTrusted: event.isTrusted,\n preventDefault,\n isDefaultPrevented: () => isDefaultPrevented,\n stopPropagation,\n isPropagationStopped: () => isPropagationStopped,\n persist: () => {},\n timeStamp: event.timeStamp,\n type: event.type\n };\n};\n\nexport interface ActionProps\n extends Omit<\n ButtonSchema,\n 'className' | 'iconClassName' | 'rightIconClassName'\n >,\n ThemeProps,\n Omit<\n AjaxActionSchema,\n 'type' | 'className' | 'iconClassName' | 'rightIconClassName'\n >,\n Omit<\n UrlActionSchema,\n 'type' | 'className' | 'iconClassName' | 'rightIconClassName'\n >,\n Omit<\n LinkActionSchema,\n 'type' | 'className' | 'iconClassName' | 'rightIconClassName'\n >,\n Omit<\n DialogActionSchema,\n 'type' | 'className' | 'iconClassName' | 'rightIconClassName'\n >,\n Omit<\n DrawerActionSchema,\n 'type' | 'className' | 'iconClassName' | 'rightIconClassName'\n >,\n Omit<\n CopyActionSchema,\n 'type' | 'className' | 'iconClassName' | 'rightIconClassName'\n >,\n Omit<\n ReloadActionSchema,\n 'type' | 'className' | 'iconClassName' | 'rightIconClassName'\n >,\n Omit<\n EmailActionSchema,\n 'type' | 'className' | 'iconClassName' | 'rightIconClassName'\n >,\n Omit<\n OtherActionSchema,\n 'type' | 'className' | 'iconClassName' | 'rightIconClassName'\n > {\n actionType: any;\n onAction?: (\n e: React.MouseEvent<any> | void | null,\n action: ActionSchema\n ) => void;\n isCurrentUrl?: (link: string) => boolean;\n onClick?:\n | ((e: React.MouseEvent<any>, props: any) => void)\n | string\n | Function\n | null;\n componentClass: React.ReactType;\n tooltipContainer?: any;\n data?: any;\n isMenuItem?: boolean;\n active?: boolean;\n}\n\nconst allowedType = ['button', 'submit', 'reset'];\n\ninterface ActionState {\n inCountDown: boolean; // 是否在倒计时\n countDownEnd: number; // 倒计时结束的精确时间\n timeLeft: number; // 倒计时剩余时间\n}\n\nexport class Action extends React.Component<ActionProps, ActionState> {\n static defaultProps = {\n type: 'button' as 'button',\n componentClass: 'button' as React.ReactType,\n tooltipPlacement: 'bottom' as 'bottom',\n activeClassName: 'is-active',\n countDownTpl: 'Action.countDown',\n countDown: 0\n };\n\n state: ActionState = {\n inCountDown: false,\n countDownEnd: 0,\n timeLeft: 0\n };\n\n localStorageKey: string;\n\n dom: any;\n\n constructor(props: ActionProps) {\n super(props);\n this.localStorageKey = 'amis-countdownend-' + (this.props.name || '');\n const countDownEnd = parseInt(\n localStorage.getItem(this.localStorageKey) || '0'\n );\n if (countDownEnd && this.props.countDown) {\n if (Date.now() < countDownEnd) {\n this.state = {\n inCountDown: true,\n countDownEnd,\n timeLeft: Math.floor((countDownEnd - Date.now()) / 1000)\n };\n this.handleCountDown();\n }\n }\n }\n\n @autobind\n async handleAction(e: React.MouseEvent<any>) {\n const {onAction, disabled, countDown} = this.props;\n // https://reactjs.org/docs/legacy-event-pooling.html\n e.persist();\n let onClick = this.props.onClick;\n\n if (typeof onClick === 'string') {\n onClick = str2AsyncFunction(onClick, 'event', 'props');\n }\n const result: any = onClick && (await onClick(e, this.props));\n\n if (\n disabled ||\n e.isDefaultPrevented() ||\n result === false ||\n !onAction ||\n this.state.inCountDown\n ) {\n return;\n }\n\n e.preventDefault();\n const action = pick(this.props, ActionProps) as ActionSchema;\n\n // download 是一种 ajax 的简写\n if (action.actionType === 'download') {\n action.actionType = 'ajax';\n const api = normalizeApi((action as AjaxActionSchema).api);\n api.responseType = 'blob';\n (action as AjaxActionSchema).api = api;\n }\n\n onAction(e, action);\n\n if (countDown) {\n const countDownEnd = Date.now() + countDown * 1000;\n this.setState({\n countDownEnd: countDownEnd,\n inCountDown: true,\n timeLeft: countDown\n });\n\n localStorage.setItem(this.localStorageKey, String(countDownEnd));\n\n setTimeout(() => {\n this.handleCountDown();\n }, 1000);\n }\n }\n\n @autobind\n handleCountDown() {\n // setTimeout 一般会晚于 1s,经过几十次后就不准了,所以使用真实时间进行 diff\n const timeLeft = Math.floor((this.state.countDownEnd - Date.now()) / 1000);\n if (timeLeft <= 0) {\n this.setState({\n inCountDown: false,\n timeLeft: timeLeft\n });\n } else {\n this.setState({\n timeLeft: timeLeft\n });\n setTimeout(() => {\n this.handleCountDown();\n }, 1000);\n }\n }\n\n @autobind\n componentDidMount() {\n const {hotKey} = this.props;\n if (hotKey) {\n hotkeys(hotKey, event => {\n event.preventDefault();\n const click = new MouseEvent('click', {\n bubbles: true,\n cancelable: true\n });\n this.handleAction(createSyntheticEvent(click) as any);\n });\n }\n }\n\n @autobind\n componentWillUnmount() {\n const {hotKey} = this.props;\n if (hotKey) {\n hotkeys.unbind(hotKey);\n }\n }\n\n render() {\n const {\n type,\n icon,\n iconClassName,\n rightIcon,\n rightIconClassName,\n primary,\n size,\n level,\n countDownTpl,\n block,\n className,\n componentClass,\n tooltip,\n disabledTip,\n tooltipPlacement,\n actionType,\n link,\n data,\n translate: __,\n activeClassName,\n isCurrentUrl,\n isMenuItem,\n active,\n activeLevel,\n tooltipContainer,\n classnames: cx\n } = this.props;\n\n let label = this.props.label;\n let disabled = this.props.disabled;\n let isActive = !!active;\n\n if (actionType === 'link' && !isActive && link && isCurrentUrl) {\n isActive = isCurrentUrl(link);\n }\n\n // 倒计时\n if (this.state.inCountDown) {\n label = filterContents(__(countDownTpl), {\n ...data,\n timeLeft: this.state.timeLeft\n }) as string;\n disabled = true;\n }\n\n const iconElement = generateIcon(cx, icon, 'Button-icon', iconClassName);\n const rightIconElement = generateIcon(\n cx,\n rightIcon,\n 'Button-icon',\n rightIconClassName\n );\n\n return (\n <Button\n className={cx(className, {\n [activeClassName || 'is-active']: isActive\n })}\n size={size}\n level={\n activeLevel && isActive\n ? activeLevel\n : level || (primary ? 'primary' : undefined)\n }\n onClick={this.handleAction}\n type={type && ~allowedType.indexOf(type) ? type : 'button'}\n disabled={disabled}\n componentClass={isMenuItem ? 'a' : componentClass}\n overrideClassName={isMenuItem}\n tooltip={filterContents(tooltip, data)}\n disabledTip={filterContents(disabledTip, data)}\n placement={tooltipPlacement}\n tooltipContainer={tooltipContainer}\n block={block}\n iconOnly={!!(icon && !label && level !== 'link')}\n >\n {iconElement}\n {label ? <span>{filter(String(label), data)}</span> : null}\n {rightIconElement}\n </Button>\n );\n }\n}\n\nexport default themeable(Action);\n\n@Renderer({\n type: 'action'\n})\n// @ts-ignore 类型没搞定\n@withBadge\nexport class ActionRenderer extends React.Component<\n RendererProps &\n Omit<ActionProps, 'onAction' | 'isCurrentUrl' | 'tooltipContainer'> & {\n onAction: (\n e: React.MouseEvent<any> | void | null,\n action: object,\n data: any\n ) => void;\n btnDisabled?: boolean;\n }\n> {\n @autobind\n handleAction(e: React.MouseEvent<any> | void | null, action: any) {\n const {env, onAction, data, ignoreConfirm} = this.props;\n\n if (!ignoreConfirm && action.confirmText && env.confirm) {\n env\n .confirm(filter(action.confirmText, data))\n .then((confirmed: boolean) => confirmed && onAction(e, action, data));\n } else {\n onAction(e, action, data);\n }\n }\n\n @autobind\n isCurrentAction(link: string) {\n const {env, data} = this.props;\n return env.isCurrentUrl(filter(link, data));\n }\n\n render() {\n const {env, disabled, btnDisabled, ...rest} = this.props;\n\n return (\n <Action\n {...(rest as any)}\n disabled={disabled || btnDisabled}\n onAction={this.handleAction}\n isCurrentUrl={this.isCurrentAction}\n tooltipContainer={\n env.getModalContainer ? env.getModalContainer : undefined\n }\n />\n );\n }\n}\n\n@Renderer({\n type: 'button'\n})\nexport class ButtonRenderer extends ActionRenderer {}\n\n@Renderer({\n type: 'submit'\n})\nexport class SubmitRenderer extends ActionRenderer {}\n\n@Renderer({\n type: 'reset'\n})\nexport class ResetRenderer extends ActionRenderer {}\n"
11
+ "import React from 'react';\nimport hotkeys from 'hotkeys-js';\nimport {Renderer, RendererProps} from '../factory';\nimport {filter} from '../utils/tpl';\nimport Button from '../components/Button';\nimport pick from 'lodash/pick';\n\nexport interface ButtonSchema extends BaseSchema {\n /**\n * 是否为块状展示,默认为内联。\n */\n block?: boolean;\n\n /**\n * 禁用时的文案提示。\n */\n disabledTip?: string;\n\n /**\n * 按钮图标, iconfont 的类名\n */\n icon?: SchemaIcon;\n\n /**\n * icon 上的css 类名\n */\n iconClassName?: SchemaClassName;\n\n /**\n * 右侧按钮图标, iconfont 的类名\n */\n rightIcon?: SchemaIcon;\n\n /**\n * 右侧 icon 上的 css 类名\n */\n rightIconClassName?: SchemaClassName;\n /**\n * loading 上的css 类名\n */\n loadingClassName?: SchemaClassName;\n\n /**\n * 按钮文字\n */\n label?: 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 * @deprecated 通过 level 来配置\n */\n primary?: boolean;\n\n /**\n * 按钮大小\n */\n size?: 'xs' | 'sm' | 'md' | 'lg';\n\n tooltip?: SchemaTooltip;\n tooltipPlacement?: 'top' | 'right' | 'bottom' | 'left';\n\n /**\n * 指定按钮类型,支持 button、submit或者reset三种类型。\n */\n type: 'button' | 'submit' | 'reset';\n\n /**\n * 提示文字,配置了操作前会要求用户确认。\n */\n confirmText?: string;\n\n /**\n * 如果按钮在form中,配置此属性会要求用户把指定的字段通过验证后才会触发行为。\n */\n required?: Array<string>;\n\n /**\n * 激活状态时的样式\n */\n activeLevel?: string;\n\n /**\n * 激活状态时的类名\n */\n activeClassName?: string;\n\n /**\n * 如果按钮在弹框中,可以配置这个动作完成后是否关闭弹窗,或者指定关闭目标弹框。\n */\n close?: boolean | string;\n\n /**\n * 当按钮时批量操作按钮时,默认必须有勾选元素才能可点击,如果此属性配置成 false,则没有点选成员也能点击。\n */\n requireSelected?: boolean;\n\n /**\n * 是否将弹框中数据 merge 到父级作用域。\n */\n mergeData?: boolean;\n\n /**\n * 可以指定让谁来触发这个动作。\n */\n target?: string;\n\n /**\n * 点击后的禁止倒计时(秒)\n */\n countDown?: number;\n\n /**\n * 倒计时文字自定义\n */\n countDownTpl?: string;\n\n /**\n * 角标\n */\n badge?: BadgeSchema;\n\n /**\n * 键盘快捷键\n */\n hotKey?: string;\n /**\n * 是否显示loading效果\n */\n loadingOn?: string;\n}\n\nexport interface AjaxActionSchema extends ButtonSchema {\n /**\n * 指定为发送 ajax 的行为。\n */\n actionType: 'ajax';\n\n /**\n * 配置 ajax 发送地址\n */\n api: SchemaApi;\n\n feedback?: FeedbackDialog;\n\n reload?: SchemaReload;\n redirect?: string;\n ignoreConfirm?: boolean;\n}\n\nexport interface DownloadActionSchema\n extends Omit<AjaxActionSchema, 'actionType'> {\n /**\n * 指定为下载行为\n */\n actionType: 'download';\n}\n\nexport interface UrlActionSchema extends ButtonSchema {\n /**\n * 指定为打开链接\n */\n actionType: 'url';\n\n /**\n * 是否新窗口打开\n */\n blank?: boolean;\n\n /**\n * 打开的目标地址\n */\n url: string;\n}\n\nexport interface DialogActionSchema extends ButtonSchema {\n /**\n * 指定为打开弹窗\n */\n actionType: 'dialog';\n\n /**\n * 弹框详情\n * 文档:https://baidu.gitee.io/amis/docs/components/dialog\n */\n dialog: DialogSchemaBase;\n\n /**\n * 是否有下一个的表达式,正常可以不用配置,如果想要刷掉某些数据可以配置这个。\n */\n nextCondition?: SchemaExpression;\n reload?: SchemaReload;\n redirect?: string;\n}\n\nexport interface DrawerActionSchema extends ButtonSchema {\n /**\n * 指定为打开弹窗,抽出式弹窗\n */\n actionType: 'drawer';\n\n /**\n * 抽出式弹框详情\n * 文档:https://baidu.gitee.io/amis/docs/components/drawer\n */\n drawer: DrawerSchemaBase;\n\n /**\n * 是否有下一个的表达式,正常可以不用配置,如果想要刷掉某些数据可以配置这个。\n */\n nextCondition?: SchemaExpression;\n reload?: SchemaReload;\n redirect?: string;\n}\n\nexport interface CopyActionSchema extends ButtonSchema {\n /**\n * 指定为复制内容行为\n */\n actionType: 'copy';\n\n /**\n * 复制啥内容由此配置,支持模板语法。\n */\n copy: SchemaTpl;\n}\n\nexport interface LinkActionSchema extends ButtonSchema {\n /**\n * 指定为打开链接行为,跟 url 不同的时这个行为为单页模式。\n */\n actionType: 'link';\n\n /**\n * 跳转到哪?支持配置相对路径。\n */\n link: string;\n}\n\nexport interface ReloadActionSchema extends ButtonSchema {\n /**\n * 指定为刷新目标组件。\n */\n actionType: 'reload';\n\n /**\n * 指定目标组件。\n */\n target?: SchemaReload;\n}\n\nexport interface EmailActionSchema extends ButtonSchema {\n /**\n * 指定为打开邮箱行为\n */\n actionType: 'email';\n\n /**\n * 收件人邮箱\n */\n to: string;\n\n /**\n * 抄送邮箱\n */\n cc?: string;\n\n /**\n * 匿名抄送邮箱\n */\n bcc?: string;\n\n /**\n * 邮件主题\n */\n subject?: string;\n\n /**\n * 邮件正文\n */\n body?: string;\n}\n\nexport interface OtherActionSchema extends ButtonSchema {\n actionType:\n | 'prev'\n | 'next'\n | 'cancel'\n | 'close'\n | 'submit'\n | 'confirm'\n | 'add'\n | 'reset'\n | 'reset-and-submit';\n [propName: string]: any;\n}\n\nexport interface VanillaAction extends ButtonSchema {\n actionType?: string;\n}\n\n/**\n * 按钮动作渲染器。\n * 文档:https://baidu.gitee.io/amis/docs/components/action\n */\nexport type ActionSchema =\n | AjaxActionSchema\n | UrlActionSchema\n | LinkActionSchema\n | DialogActionSchema\n | DrawerActionSchema\n | CopyActionSchema\n | ReloadActionSchema\n | EmailActionSchema\n | OtherActionSchema\n | VanillaAction;\n\nconst ActionProps = [\n 'dialog',\n 'drawer',\n 'url',\n 'link',\n 'confirmText',\n 'tooltip',\n 'disabledTip',\n 'className',\n 'asyncApi',\n 'redirect',\n 'size',\n 'level',\n 'primary',\n 'feedback',\n 'api',\n 'blank',\n 'tooltipPlacement',\n 'to',\n 'cc',\n 'bcc',\n 'subject',\n 'body',\n 'content',\n 'required',\n 'type',\n 'actionType',\n 'label',\n 'icon',\n 'rightIcon',\n 'reload',\n 'target',\n 'close',\n 'messages',\n 'mergeData',\n 'index',\n 'copy',\n 'copyFormat',\n 'payload',\n 'requireSelected'\n];\nimport {filterContents} from './Remark';\nimport {ClassNamesFn, themeable, ThemeProps} from '../theme';\nimport {autobind} from '../utils/helper';\nimport {\n BaseSchema,\n FeedbackDialog,\n SchemaApi,\n SchemaClassName,\n SchemaExpression,\n SchemaIcon,\n SchemaReload,\n SchemaTooltip,\n SchemaTpl\n} from '../Schema';\nimport {DialogSchema, DialogSchemaBase} from './Dialog';\nimport {DrawerSchema, DrawerSchemaBase} from './Drawer';\nimport {generateIcon} from '../utils/icon';\nimport {BadgeSchema, withBadge} from '../components/Badge';\nimport {normalizeApi, str2AsyncFunction} from '../utils/api';\n\n// 构造一个假的 React 事件避免可能的报错,主要用于快捷键功能\n// 来自 https://stackoverflow.com/questions/27062455/reactjs-can-i-create-my-own-syntheticevent\nexport const createSyntheticEvent = <T extends Element, E extends Event>(\n event: E\n): React.SyntheticEvent<T, E> => {\n let isDefaultPrevented = false;\n let isPropagationStopped = false;\n const preventDefault = () => {\n isDefaultPrevented = true;\n event.preventDefault();\n };\n const stopPropagation = () => {\n isPropagationStopped = true;\n event.stopPropagation();\n };\n return {\n nativeEvent: event,\n currentTarget: event.currentTarget as EventTarget & T,\n target: event.target as EventTarget & T,\n bubbles: event.bubbles,\n cancelable: event.cancelable,\n defaultPrevented: event.defaultPrevented,\n eventPhase: event.eventPhase,\n isTrusted: event.isTrusted,\n preventDefault,\n isDefaultPrevented: () => isDefaultPrevented,\n stopPropagation,\n isPropagationStopped: () => isPropagationStopped,\n persist: () => {},\n timeStamp: event.timeStamp,\n type: event.type\n };\n};\n\nexport interface ActionProps\n extends Omit<\n ButtonSchema,\n 'className' | 'iconClassName' | 'rightIconClassName' | 'loadingClassName'\n >,\n ThemeProps,\n Omit<\n AjaxActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n UrlActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n LinkActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n DialogActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n DrawerActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n CopyActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n ReloadActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n EmailActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n >,\n Omit<\n OtherActionSchema,\n | 'type'\n | 'className'\n | 'iconClassName'\n | 'rightIconClassName'\n | 'loadingClassName'\n > {\n actionType: any;\n onAction?: (\n e: React.MouseEvent<any> | void | null,\n action: ActionSchema\n ) => void;\n isCurrentUrl?: (link: string) => boolean;\n onClick?:\n | ((e: React.MouseEvent<any>, props: any) => void)\n | string\n | Function\n | null;\n componentClass: React.ReactType;\n tooltipContainer?: any;\n data?: any;\n isMenuItem?: boolean;\n active?: boolean;\n}\n\nconst allowedType = ['button', 'submit', 'reset'];\n\ninterface ActionState {\n inCountDown: boolean; // 是否在倒计时\n countDownEnd: number; // 倒计时结束的精确时间\n timeLeft: number; // 倒计时剩余时间\n}\n\nexport class Action extends React.Component<ActionProps, ActionState> {\n static defaultProps = {\n type: 'button' as 'button',\n componentClass: 'button' as React.ReactType,\n tooltipPlacement: 'bottom' as 'bottom',\n activeClassName: 'is-active',\n countDownTpl: 'Action.countDown',\n countDown: 0\n };\n\n state: ActionState = {\n inCountDown: false,\n countDownEnd: 0,\n timeLeft: 0\n };\n\n localStorageKey: string;\n\n dom: any;\n\n constructor(props: ActionProps) {\n super(props);\n this.localStorageKey = 'amis-countdownend-' + (this.props.name || '');\n const countDownEnd = parseInt(\n localStorage.getItem(this.localStorageKey) || '0'\n );\n if (countDownEnd && this.props.countDown) {\n if (Date.now() < countDownEnd) {\n this.state = {\n inCountDown: true,\n countDownEnd,\n timeLeft: Math.floor((countDownEnd - Date.now()) / 1000)\n };\n this.handleCountDown();\n }\n }\n }\n\n @autobind\n async handleAction(e: React.MouseEvent<any>) {\n const {onAction, disabled, countDown} = this.props;\n // https://reactjs.org/docs/legacy-event-pooling.html\n e.persist();\n let onClick = this.props.onClick;\n\n if (typeof onClick === 'string') {\n onClick = str2AsyncFunction(onClick, 'event', 'props');\n }\n const result: any = onClick && (await onClick(e, this.props));\n\n if (\n disabled ||\n e.isDefaultPrevented() ||\n result === false ||\n !onAction ||\n this.state.inCountDown\n ) {\n return;\n }\n\n e.preventDefault();\n const action = pick(this.props, ActionProps) as ActionSchema;\n\n // download 是一种 ajax 的简写\n if (action.actionType === 'download') {\n action.actionType = 'ajax';\n const api = normalizeApi((action as AjaxActionSchema).api);\n api.responseType = 'blob';\n (action as AjaxActionSchema).api = api;\n }\n\n onAction(e, action);\n\n if (countDown) {\n const countDownEnd = Date.now() + countDown * 1000;\n this.setState({\n countDownEnd: countDownEnd,\n inCountDown: true,\n timeLeft: countDown\n });\n\n localStorage.setItem(this.localStorageKey, String(countDownEnd));\n\n setTimeout(() => {\n this.handleCountDown();\n }, 1000);\n }\n }\n\n @autobind\n handleCountDown() {\n // setTimeout 一般会晚于 1s,经过几十次后就不准了,所以使用真实时间进行 diff\n const timeLeft = Math.floor((this.state.countDownEnd - Date.now()) / 1000);\n if (timeLeft <= 0) {\n this.setState({\n inCountDown: false,\n timeLeft: timeLeft\n });\n } else {\n this.setState({\n timeLeft: timeLeft\n });\n setTimeout(() => {\n this.handleCountDown();\n }, 1000);\n }\n }\n\n @autobind\n componentDidMount() {\n const {hotKey} = this.props;\n if (hotKey) {\n hotkeys(hotKey, event => {\n event.preventDefault();\n const click = new MouseEvent('click', {\n bubbles: true,\n cancelable: true\n });\n this.handleAction(createSyntheticEvent(click) as any);\n });\n }\n }\n\n @autobind\n componentWillUnmount() {\n const {hotKey} = this.props;\n if (hotKey) {\n hotkeys.unbind(hotKey);\n }\n }\n\n render() {\n const {\n type,\n icon,\n iconClassName,\n rightIcon,\n rightIconClassName,\n loadingClassName,\n primary,\n size,\n level,\n countDownTpl,\n block,\n className,\n componentClass,\n tooltip,\n disabledTip,\n tooltipPlacement,\n actionType,\n link,\n data,\n translate: __,\n activeClassName,\n isCurrentUrl,\n isMenuItem,\n active,\n activeLevel,\n tooltipTrigger,\n tooltipContainer,\n tooltipRootClose,\n loading,\n classnames: cx\n } = this.props;\n\n let label = this.props.label;\n let disabled = this.props.disabled;\n let isActive = !!active;\n\n if (actionType === 'link' && !isActive && link && isCurrentUrl) {\n isActive = isCurrentUrl(link);\n }\n\n // 倒计时\n if (this.state.inCountDown) {\n label = filterContents(__(countDownTpl), {\n ...data,\n timeLeft: this.state.timeLeft\n }) as string;\n disabled = true;\n }\n\n const iconElement = generateIcon(cx, icon, 'Button-icon', iconClassName);\n const rightIconElement = generateIcon(\n cx,\n rightIcon,\n 'Button-icon',\n rightIconClassName\n );\n\n return (\n <Button\n className={cx(className, {\n [activeClassName || 'is-active']: isActive\n })}\n size={size}\n level={\n activeLevel && isActive\n ? activeLevel\n : level || (primary ? 'primary' : undefined)\n }\n loadingClassName={loadingClassName}\n loading={loading}\n onClick={this.handleAction}\n type={type && ~allowedType.indexOf(type) ? type : 'button'}\n disabled={disabled}\n componentClass={isMenuItem ? 'a' : componentClass}\n overrideClassName={isMenuItem}\n tooltip={filterContents(tooltip, data)}\n disabledTip={filterContents(disabledTip, data)}\n tooltipPlacement={tooltipPlacement}\n tooltipContainer={tooltipContainer}\n tooltipTrigger={tooltipTrigger}\n tooltipRootClose={tooltipRootClose}\n block={block}\n iconOnly={!!(icon && !label && level !== 'link')}\n >\n {!loading ? iconElement : ''}\n {label ? <span>{filter(String(label), data)}</span> : null}\n {rightIconElement}\n </Button>\n );\n }\n}\n\nexport default themeable(Action);\n\n@Renderer({\n type: 'action'\n})\n// @ts-ignore 类型没搞定\n@withBadge\nexport class ActionRenderer extends React.Component<\n RendererProps &\n Omit<ActionProps, 'onAction' | 'isCurrentUrl' | 'tooltipContainer'> & {\n onAction: (\n e: React.MouseEvent<any> | void | null,\n action: object,\n data: any\n ) => void;\n btnDisabled?: boolean;\n }\n> {\n @autobind\n handleAction(e: React.MouseEvent<any> | void | null, action: any) {\n const {env, onAction, data, ignoreConfirm} = this.props;\n\n if (!ignoreConfirm && action.confirmText && env.confirm) {\n env\n .confirm(filter(action.confirmText, data))\n .then((confirmed: boolean) => confirmed && onAction(e, action, data));\n } else {\n onAction(e, action, data);\n }\n }\n\n @autobind\n isCurrentAction(link: string) {\n const {env, data} = this.props;\n return env.isCurrentUrl(filter(link, data));\n }\n\n render() {\n const {env, disabled, btnDisabled, loading, ...rest} = this.props;\n\n return (\n <Action\n {...(rest as any)}\n disabled={disabled || btnDisabled}\n onAction={this.handleAction}\n loading={loading}\n isCurrentUrl={this.isCurrentAction}\n tooltipContainer={\n env.getModalContainer ? env.getModalContainer : undefined\n }\n />\n );\n }\n}\n\n@Renderer({\n type: 'button'\n})\nexport class ButtonRenderer extends ActionRenderer {}\n\n@Renderer({\n type: 'submit'\n})\nexport class SubmitRenderer extends ActionRenderer {}\n\n@Renderer({\n type: 'reset'\n})\nexport class ResetRenderer extends ActionRenderer {}\n"
12
12
  ]
13
13
  }
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { RendererProps } from '../factory';
3
- import { SchemaNode, Action, PlainObject } from '../types';
3
+ import { SchemaNode, Schema, Action, PlainObject } from '../types';
4
4
  import { ICRUDStore } from '../store/crud';
5
5
  import { IScopedContext } from '../Scoped';
6
6
  import { BaseSchema, SchemaApi, SchemaClassName, SchemaExpression, SchemaMessage, SchemaName, SchemaObject, SchemaTokenizeableString, SchemaTpl } from '../Schema';
@@ -266,7 +266,7 @@ export default class CRUD extends React.Component<CRUDProps, any> {
266
266
  renderSwitchPerPage(childProps: any): JSX.Element | null;
267
267
  renderLoadMore(): "" | JSX.Element;
268
268
  renderFilterToggler(): JSX.Element | null;
269
- renderExportCSV(): JSX.Element;
269
+ renderExportCSV(toolbar: Schema): JSX.Element;
270
270
  renderToolbar(toolbar?: SchemaNode, index?: number, childProps?: any, toolbarRenderer?: (toolbar: SchemaNode, index: number) => React.ReactNode): {} | null;
271
271
  renderHeaderToolbar(childProps: any, toolbarRenderer?: (toolbar: SchemaNode, index: number) => React.ReactNode): {} | null;
272
272
  renderFooterToolbar(childProps: any, toolbarRenderer?: (toolbar: SchemaNode, index: number) => React.ReactNode): {} | null;
@@ -437,7 +437,7 @@ var CRUD = /** @class */ (function (_super) {
437
437
  _this.mounted &&
438
438
  (!stopAutoRefreshWhen ||
439
439
  !((stopAutoRefreshWhenModalIsOpen && store.hasModalOpened) ||
440
- (0, tpl_1.evalExpression)(stopAutoRefreshWhen, data))) &&
440
+ (0, tpl_1.evalExpression)(stopAutoRefreshWhen, (0, helper_1.createObject)(store.data, store.query)))) &&
441
441
  (_this.timer = setTimeout(silentPolling
442
442
  ? _this.silentSearch.bind(_this, undefined, undefined, true)
443
443
  : _this.search.bind(_this, undefined, undefined, undefined, true), Math.max(interval, 1000)));
@@ -747,33 +747,23 @@ var CRUD = /** @class */ (function (_super) {
747
747
  };
748
748
  CRUD.prototype.hasBulkActions = function () {
749
749
  var _a = this.props, bulkActions = _a.bulkActions, itemActions = _a.itemActions, store = _a.store;
750
- if ((!bulkActions || !bulkActions.length) &&
751
- (!itemActions || !itemActions.length)) {
750
+ if (!bulkActions || !bulkActions.length) {
752
751
  return false;
753
752
  }
754
753
  var bulkBtns = [];
755
- var itemBtns = [];
756
754
  var ctx = store.mergedData;
757
755
  if (bulkActions && bulkActions.length) {
758
756
  bulkBtns = bulkActions
759
757
  .map(function (item) { return ((0, tslib_1.__assign)((0, tslib_1.__assign)({}, item), (0, filter_schema_1.default)(item, ctx))); })
760
758
  .filter(function (item) { return !item.hidden && item.visible !== false; });
761
759
  }
762
- var itemData = (0, helper_1.createObject)(store.data, store.selectedItems.length ? store.selectedItems[0] : {});
763
- if (itemActions && itemActions.length) {
764
- itemBtns = itemActions
765
- .map(function (item) { return ((0, tslib_1.__assign)((0, tslib_1.__assign)({}, item), (0, filter_schema_1.default)(item, itemData))); })
766
- .filter(function (item) { return !item.hidden && item.visible !== false; });
767
- }
768
- return bulkBtns.length || itemBtns.length;
760
+ return bulkBtns.length;
769
761
  };
770
762
  CRUD.prototype.renderBulkActions = function (childProps) {
771
763
  var _this = this;
772
764
  var _a = this.props, bulkActions = _a.bulkActions, itemActions = _a.itemActions, store = _a.store, render = _a.render, cx = _a.classnames;
773
765
  var items = childProps.items;
774
- if (!items.length ||
775
- ((!bulkActions || !bulkActions.length) &&
776
- (!itemActions || !itemActions.length))) {
766
+ if (!items.length || !bulkActions || !bulkActions.length) {
777
767
  return null;
778
768
  }
779
769
  var selectedItems = store.selectedItems;
@@ -802,7 +792,7 @@ var CRUD = /** @class */ (function (_super) {
802
792
  }
803
793
  return bulkBtns.length || itemBtns.length ? (react_1.default.createElement("div", { className: cx('Crud-actions') },
804
794
  bulkBtns.map(function (btn, index) {
805
- return render("bulk-action/" + index, (0, tslib_1.__assign)((0, tslib_1.__assign)({ size: 'sm' }, (0, omit_1.default)(btn, ['visibleOn', 'hiddenOn', 'disabledOn'])), { type: 'button', ignoreConfirm: true }), {
795
+ return render("bulk-action/" + index, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, (0, omit_1.default)(btn, ['visibleOn', 'hiddenOn', 'disabledOn'])), { type: 'button', ignoreConfirm: true }), {
806
796
  key: "bulk-" + index,
807
797
  data: ctx,
808
798
  disabled: btn.disabled ||
@@ -811,7 +801,7 @@ var CRUD = /** @class */ (function (_super) {
811
801
  });
812
802
  }),
813
803
  itemBtns.map(function (btn, index) {
814
- return render("bulk-action/" + index, (0, tslib_1.__assign)((0, tslib_1.__assign)({ size: 'sm' }, (0, omit_1.default)(btn, ['visibleOn', 'hiddenOn', 'disabledOn'])), { type: 'button' }), {
804
+ return render("bulk-action/" + index, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, (0, omit_1.default)(btn, ['visibleOn', 'hiddenOn', 'disabledOn'])), { type: 'button' }), {
815
805
  key: "item-" + index,
816
806
  data: itemData,
817
807
  disabled: btn.disabled || selectedItems.length !== 1,
@@ -882,14 +872,15 @@ var CRUD = /** @class */ (function (_super) {
882
872
  react_1.default.createElement(icons_1.Icon, { icon: "filter", className: "icon m-r-xs" }),
883
873
  __('CRUD.filter')));
884
874
  };
885
- CRUD.prototype.renderExportCSV = function () {
886
- var _a = this.props, store = _a.store, ns = _a.classPrefix, cx = _a.classnames, __ = _a.translate, loadDataOnce = _a.loadDataOnce, api = _a.api;
875
+ CRUD.prototype.renderExportCSV = function (toolbar) {
876
+ var _a = this.props, store = _a.store, ns = _a.classPrefix, cx = _a.classnames, __ = _a.translate, loadDataOnce = _a.loadDataOnce;
877
+ var api = toolbar.api;
887
878
  return (react_1.default.createElement(Button_1.default, { classPrefix: ns, onClick: function () {
888
879
  return store.exportAsCSV({
889
880
  loadDataOnce: loadDataOnce,
890
881
  api: api
891
882
  });
892
- }, size: "sm" }, __('CRUD.exportCSV')));
883
+ }, size: "sm" }, toolbar.label || __('CRUD.exportCSV')));
893
884
  };
894
885
  CRUD.prototype.renderToolbar = function (toolbar, index, childProps, toolbarRenderer) {
895
886
  var _this = this;
@@ -918,7 +909,7 @@ var CRUD = /** @class */ (function (_super) {
918
909
  return this.renderFilterToggler();
919
910
  }
920
911
  else if (type === 'export-csv') {
921
- return this.renderExportCSV();
912
+ return this.renderExportCSV(toolbar);
922
913
  }
923
914
  else if (Array.isArray(toolbar)) {
924
915
  var children = toolbar