amis 1.9.1-beta.12 → 1.9.1-beta.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (240) hide show
  1. package/README.md +1 -1
  2. package/lib/components/AssociatedSelection.d.ts +40 -40
  3. package/lib/components/Badge.d.ts +1 -1
  4. package/lib/components/Badge.js.map +1 -1
  5. package/lib/components/ChainedSelection.d.ts +40 -40
  6. package/lib/components/GroupedSelection.d.ts +40 -40
  7. package/lib/components/GroupedSelection.js +3 -2
  8. package/lib/components/GroupedSelection.js.map +2 -2
  9. package/lib/components/PickerContainer.d.ts +1 -0
  10. package/lib/components/PickerContainer.js +4 -4
  11. package/lib/components/PickerContainer.js.map +2 -2
  12. package/lib/components/Radios.d.ts +10 -10
  13. package/lib/components/ResultBox.d.ts +44 -40
  14. package/lib/components/ResultBox.js +40 -6
  15. package/lib/components/ResultBox.js.map +2 -2
  16. package/lib/components/ResultList.d.ts +43 -53
  17. package/lib/components/ResultList.js +34 -22
  18. package/lib/components/ResultList.js.map +2 -2
  19. package/lib/components/ResultTableList.d.ts +40 -40
  20. package/lib/components/ResultTableList.js +16 -17
  21. package/lib/components/ResultTableList.js.map +2 -2
  22. package/lib/components/ResultTreeList.d.ts +40 -40
  23. package/lib/components/Select.d.ts +498 -294
  24. package/lib/components/Select.js +58 -10
  25. package/lib/components/Select.js.map +2 -2
  26. package/lib/components/Selection.d.ts +41 -40
  27. package/lib/components/Selection.js.map +2 -2
  28. package/lib/components/TableSelection.d.ts +42 -40
  29. package/lib/components/TableSelection.js +7 -2
  30. package/lib/components/TableSelection.js.map +2 -2
  31. package/lib/components/TabsTransfer.d.ts +2 -2
  32. package/lib/components/TabsTransfer.js.map +1 -1
  33. package/lib/components/TooltipWrapper.d.ts +1 -1
  34. package/lib/components/TooltipWrapper.js.map +2 -2
  35. package/lib/components/Transfer.d.ts +40 -40
  36. package/lib/components/Transfer.js +1 -1
  37. package/lib/components/Transfer.js.map +2 -2
  38. package/lib/components/TransferDropDown.d.ts +43 -40
  39. package/lib/components/TransferDropDown.js +2 -2
  40. package/lib/components/TransferDropDown.js.map +2 -2
  41. package/lib/components/TreeSelection.d.ts +40 -40
  42. package/lib/components/TreeSelection.js +3 -2
  43. package/lib/components/TreeSelection.js.map +2 -2
  44. package/lib/components/formula/Editor.d.ts +45 -41
  45. package/lib/components/formula/Editor.js +8 -2
  46. package/lib/components/formula/Editor.js.map +2 -2
  47. package/lib/components/formula/Picker.d.ts +43 -41
  48. package/lib/components/formula/Picker.js +40 -20
  49. package/lib/components/formula/Picker.js.map +2 -2
  50. package/lib/components/formula/VariableList.d.ts +2 -0
  51. package/lib/components/formula/VariableList.js +15 -5
  52. package/lib/components/formula/VariableList.js.map +2 -2
  53. package/lib/components/index.d.ts +3 -1
  54. package/lib/components/index.js +5 -1
  55. package/lib/components/index.js.map +2 -2
  56. package/lib/components/schema-editor/SchemaVariableList.d.ts +1 -0
  57. package/lib/components/schema-editor/SchemaVariableList.js +2 -2
  58. package/lib/components/schema-editor/SchemaVariableList.js.map +2 -2
  59. package/lib/components/schema-editor/SchemaVariableListPicker.d.ts +1 -0
  60. package/lib/components/schema-editor/SchemaVariableListPicker.js +2 -2
  61. package/lib/components/schema-editor/SchemaVariableListPicker.js.map +2 -2
  62. package/lib/components/table/HeadCellFilter.js +4 -1
  63. package/lib/components/table/HeadCellFilter.js.map +2 -2
  64. package/lib/components/table/HeadCellSort.js +30 -24
  65. package/lib/components/table/HeadCellSort.js.map +2 -2
  66. package/lib/components/table/index.d.ts +6 -3
  67. package/lib/components/table/index.js +72 -86
  68. package/lib/components/table/index.js.map +2 -2
  69. package/lib/index.js +1 -1
  70. package/lib/locale/de-DE.js +1 -1
  71. package/lib/locale/de-DE.js.map +2 -2
  72. package/lib/locale/en-US.js +1 -1
  73. package/lib/locale/en-US.js.map +2 -2
  74. package/lib/locale/zh-CN.js +1 -1
  75. package/lib/locale/zh-CN.js.map +2 -2
  76. package/lib/renderers/Action.d.ts +21 -4
  77. package/lib/renderers/Action.js +44 -20
  78. package/lib/renderers/Action.js.map +2 -2
  79. package/lib/renderers/Breadcrumb.js +2 -2
  80. package/lib/renderers/Breadcrumb.js.map +2 -2
  81. package/lib/renderers/CRUD.js +3 -0
  82. package/lib/renderers/CRUD.js.map +2 -2
  83. package/lib/renderers/Form/InputFormula.d.ts +5 -1
  84. package/lib/renderers/Form/InputFormula.js +2 -2
  85. package/lib/renderers/Form/InputFormula.js.map +2 -2
  86. package/lib/renderers/Form/InputImage.js.map +2 -2
  87. package/lib/renderers/Form/InputTag.d.ts +8 -0
  88. package/lib/renderers/Form/InputTag.js +2 -2
  89. package/lib/renderers/Form/InputTag.js.map +2 -2
  90. package/lib/renderers/Form/InputTree.d.ts +4 -0
  91. package/lib/renderers/Form/InputTree.js +2 -2
  92. package/lib/renderers/Form/InputTree.js.map +2 -2
  93. package/lib/renderers/Form/Picker.d.ts +1 -1
  94. package/lib/renderers/Form/Picker.js +38 -23
  95. package/lib/renderers/Form/Picker.js.map +2 -2
  96. package/lib/renderers/Form/Select.d.ts +19 -0
  97. package/lib/renderers/Form/Select.js +2 -2
  98. package/lib/renderers/Form/Select.js.map +2 -2
  99. package/lib/renderers/Form/Transfer.d.ts +1 -0
  100. package/lib/renderers/Form/Transfer.js +4 -0
  101. package/lib/renderers/Form/Transfer.js.map +2 -2
  102. package/lib/renderers/Form/wrapControl.js +10 -10
  103. package/lib/renderers/Form/wrapControl.js.map +2 -2
  104. package/lib/renderers/QRCode.d.ts +16 -0
  105. package/lib/renderers/QRCode.js +25 -1
  106. package/lib/renderers/QRCode.js.map +2 -2
  107. package/lib/renderers/Service.js +0 -1
  108. package/lib/renderers/Service.js.map +2 -2
  109. package/lib/renderers/Steps.d.ts +2 -2
  110. package/lib/renderers/Steps.js +1 -1
  111. package/lib/renderers/Steps.js.map +2 -2
  112. package/lib/renderers/Table/exportExcel.js +50 -36
  113. package/lib/renderers/Table/exportExcel.js.map +2 -2
  114. package/lib/renderers/Table/index.js +2 -1
  115. package/lib/renderers/Table/index.js.map +2 -2
  116. package/lib/renderers/Table-v2/HeadCellSearchDropdown.d.ts +1 -1
  117. package/lib/renderers/Table-v2/HeadCellSearchDropdown.js +38 -24
  118. package/lib/renderers/Table-v2/HeadCellSearchDropdown.js.map +2 -2
  119. package/lib/renderers/Table-v2/index.d.ts +10 -4
  120. package/lib/renderers/Table-v2/index.js +109 -58
  121. package/lib/renderers/Table-v2/index.js.map +2 -2
  122. package/lib/renderers/Tabs.d.ts +6 -2
  123. package/lib/renderers/Tabs.js +21 -0
  124. package/lib/renderers/Tabs.js.map +2 -2
  125. package/lib/store/table-v2.d.ts +210 -4
  126. package/lib/store/table-v2.js +82 -5
  127. package/lib/store/table-v2.js.map +2 -2
  128. package/lib/themes/ang-ie11.css +140 -44
  129. package/lib/themes/ang.css +140 -33
  130. package/lib/themes/ang.css.map +1 -1
  131. package/lib/themes/antd-ie11.css +140 -44
  132. package/lib/themes/antd.css +140 -33
  133. package/lib/themes/antd.css.map +1 -1
  134. package/lib/themes/cxd-ie11.css +297 -197
  135. package/lib/themes/cxd.css +151 -38
  136. package/lib/themes/cxd.css.map +1 -1
  137. package/lib/themes/dark-ie11.css +140 -44
  138. package/lib/themes/dark.css +140 -33
  139. package/lib/themes/dark.css.map +1 -1
  140. package/lib/themes/default-ie11.css +297 -197
  141. package/lib/themes/default.css +151 -38
  142. package/lib/themes/default.css.map +1 -1
  143. package/lib/types.d.ts +1 -1
  144. package/lib/types.js.map +1 -1
  145. package/lib/utils/formula.js +7 -5
  146. package/lib/utils/formula.js.map +2 -2
  147. package/lib/utils/helper.d.ts +1 -0
  148. package/lib/utils/helper.js +11 -1
  149. package/lib/utils/helper.js.map +2 -2
  150. package/package.json +2 -2
  151. package/schema.json +103 -35
  152. package/scss/_properties.scss +11 -6
  153. package/scss/components/_formula.scss +45 -4
  154. package/scss/components/_modal.scss +1 -1
  155. package/scss/components/_result-box.scss +34 -2
  156. package/scss/components/form/_checks.scss +47 -44
  157. package/scss/components/form/_date.scss +28 -19
  158. package/scss/components/form/_icon-picker.scss +10 -6
  159. package/scss/components/form/_select.scss +77 -34
  160. package/scss/components/form/_selection.scss +9 -6
  161. package/scss/components/form/_switch.scss +1 -0
  162. package/scss/components/form/_text.scss +2 -0
  163. package/scss/components/form/_transfer.scss +2 -1
  164. package/scss/themes/_cxd-variables.scss +3 -1
  165. package/scss/themes/cxd.scss +9 -6
  166. package/sdk/ang-ie11.css +159 -46
  167. package/sdk/ang.css +159 -35
  168. package/sdk/antd-ie11.css +159 -46
  169. package/sdk/antd.css +159 -35
  170. package/sdk/barcode.js +51 -51
  171. package/sdk/charts.js +14 -14
  172. package/sdk/codemirror.js +7 -7
  173. package/sdk/color-picker.js +65 -65
  174. package/sdk/cropperjs.js +2 -2
  175. package/sdk/cxd-ie11.css +317 -199
  176. package/sdk/cxd.css +171 -40
  177. package/sdk/dark-ie11.css +159 -46
  178. package/sdk/dark.css +159 -35
  179. package/sdk/exceljs.js +1 -1
  180. package/sdk/locale/de-DE.js +2 -2
  181. package/sdk/markdown.js +69 -69
  182. package/sdk/papaparse.js +1 -1
  183. package/sdk/renderers/Form/CityDB.js +1 -1
  184. package/sdk/rest.js +16 -16
  185. package/sdk/rich-text.js +62 -62
  186. package/sdk/sdk-ie11.css +317 -199
  187. package/sdk/sdk.css +171 -40
  188. package/sdk/sdk.js +1353 -1351
  189. package/sdk/thirds/hls.js/hls.js +1 -1
  190. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  191. package/sdk/tinymce.js +57 -57
  192. package/src/components/Badge.tsx +1 -1
  193. package/src/components/GroupedSelection.tsx +3 -2
  194. package/src/components/PickerContainer.tsx +13 -8
  195. package/src/components/ResultBox.tsx +95 -11
  196. package/src/components/ResultList.tsx +48 -51
  197. package/src/components/ResultTableList.tsx +32 -33
  198. package/src/components/Select.tsx +138 -17
  199. package/src/components/Selection.tsx +1 -0
  200. package/src/components/TableSelection.tsx +15 -8
  201. package/src/components/TabsTransfer.tsx +2 -2
  202. package/src/components/TooltipWrapper.tsx +20 -14
  203. package/src/components/Transfer.tsx +0 -4
  204. package/src/components/TransferDropDown.tsx +9 -1
  205. package/src/components/TreeSelection.tsx +2 -1
  206. package/src/components/formula/Editor.tsx +17 -2
  207. package/src/components/formula/Picker.tsx +44 -7
  208. package/src/components/formula/VariableList.tsx +36 -2
  209. package/src/components/index.tsx +4 -0
  210. package/src/components/schema-editor/SchemaVariableList.tsx +4 -2
  211. package/src/components/schema-editor/SchemaVariableListPicker.tsx +4 -1
  212. package/src/components/table/HeadCellFilter.tsx +4 -1
  213. package/src/components/table/HeadCellSort.tsx +1 -1
  214. package/src/components/table/index.tsx +66 -90
  215. package/src/locale/de-DE.ts +2 -2
  216. package/src/locale/en-US.ts +2 -2
  217. package/src/locale/zh-CN.ts +1 -1
  218. package/src/renderers/Action.tsx +64 -19
  219. package/src/renderers/Breadcrumb.tsx +11 -12
  220. package/src/renderers/CRUD.tsx +2 -0
  221. package/src/renderers/Form/InputFormula.tsx +9 -2
  222. package/src/renderers/Form/InputImage.tsx +4 -2
  223. package/src/renderers/Form/InputTag.tsx +14 -0
  224. package/src/renderers/Form/InputTree.tsx +7 -0
  225. package/src/renderers/Form/Picker.tsx +11 -1
  226. package/src/renderers/Form/Select.tsx +32 -1
  227. package/src/renderers/Form/Transfer.tsx +6 -0
  228. package/src/renderers/Form/wrapControl.tsx +10 -10
  229. package/src/renderers/QRCode.tsx +50 -1
  230. package/src/renderers/Service.tsx +0 -1
  231. package/src/renderers/Steps.tsx +5 -5
  232. package/src/renderers/Table/exportExcel.ts +29 -12
  233. package/src/renderers/Table/index.tsx +9 -7
  234. package/src/renderers/Table-v2/HeadCellSearchDropdown.tsx +14 -9
  235. package/src/renderers/Table-v2/index.tsx +130 -58
  236. package/src/renderers/Tabs.tsx +33 -3
  237. package/src/store/table-v2.ts +104 -7
  238. package/src/types.ts +2 -1
  239. package/src/utils/formula.ts +7 -5
  240. package/src/utils/helper.ts +12 -2
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Table-v2/index.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 {findDOMNode} from 'react-dom';\nimport {isAlive} from 'mobx-state-tree';\nimport cloneDeep from 'lodash/cloneDeep';\nimport isEqual from 'lodash/isEqual';\n\nimport {ScopedContext, IScopedContext} from '../../Scoped';\nimport {Renderer, RendererProps} from '../../factory';\nimport {Action} from '../../types';\nimport Table, {SortProps} from '../../components/table';\nimport {BaseSchema, SchemaObject, SchemaTokenizeableString} from '../../Schema';\nimport {\n isObject,\n anyChanged,\n difference,\n createObject,\n autobind\n} from '../../utils/helper';\nimport {\n resolveVariableAndFilter,\n isPureVariable,\n resolveVariable\n} from '../../utils/tpl-builtin';\nimport {evalExpression, filter} from '../../utils/tpl';\nimport {isEffectiveApi} from '../../utils/api';\nimport Checkbox from '../../components/Checkbox';\nimport {BadgeSchema} from '../../components/Badge';\nimport {TableStoreV2, ITableStore, IColumn, IRow} from '../../store/table-v2';\n\nimport {HeadCellSearchDropDown} from './HeadCellSearchDropdown';\nimport './TableCell';\nimport './ColumnToggler';\n\n/**\n * Table 表格v2渲染器。\n * 文档:https://baidu.gitee.io/amis/docs/components/table-v2\n */\n\nexport interface CellSpan {\n colIndex: number;\n rowIndex: number;\n colSpan?: number;\n rowSpan?: number;\n}\n\nexport interface RenderProps {\n colSpan?: number;\n rowSpan?: number;\n}\n\nexport interface ColumnSchema {\n /**\n * 指定列唯一标识\n */\n key: string;\n\n /**\n * 指定列标题\n */\n title: string | SchemaObject;\n\n /**\n * 指定列内容渲染器\n */\n type?: string;\n\n /**\n * 指定行合并表达式\n */\n rowSpanExpr?: string;\n\n /**\n * 指定列合并表达式\n */\n colSpanExpr?: string;\n\n /**\n * 表头分组\n */\n children?: Array<ColumnSchema>;\n\n /**\n * 可复制\n */\n copyable?: boolean;\n\n /**\n * 列表头提示\n */\n remark?: string;\n\n /**\n * 快速搜索\n */\n searchable?: boolean | SchemaObject;\n\n /**\n * 快速排序\n */\n sorter?: boolean;\n\n /**\n * 内容居左、居中、居右\n */\n align?: string;\n\n /**\n * 是否固定在左侧/右侧\n */\n fixed?: boolean | string;\n\n /**\n * 当前列是否展示\n */\n toggled?: boolean;\n\n /**\n * 列样式\n */\n className?: string;\n \n /**\n * 表头单元格样式\n */\n titleClassName?: string;\n\n /**\n * 单元格样式\n */\n classNameExpr?: string;\n}\n\nexport interface RowSelectionOptionsSchema {\n /**\n * 选择类型 选择全部\n */\n key: string; // 选择类型 目前只支持all、invert、none、odd、even\n\n /**\n * 选项显示文本\n */\n text: string;\n}\n\nexport interface RowSelectionSchema {\n /**\n * 选择类型 单选/多选\n */\n type: string;\n\n /**\n * 对应数据源的key值\n */\n keyField?: string;\n\n /**\n * 行是否禁用表达式\n */\n disableOn?: string;\n\n /**\n * 自定义选择菜单\n */\n selections?: Array<RowSelectionOptionsSchema>;\n\n /**\n * 已选择的key值\n */\n selectedRowKeys?: Array<string | number>;\n\n /**\n * 已选择的key值表达式\n */\n selectedRowKeysExpr?: string;\n\n /**\n * 已选择的key值表达式\n */\n columnWidth?: number;\n\n /**\n * 是否点击行触发选中或取消选中\n */\n rowClick?: boolean;\n}\n\nexport interface ExpandableSchema {\n /**\n * 对应数据源的key值\n */\n keyField: string;\n\n /**\n * 行是否可展开表达式\n */\n expandableOn: string;\n\n /**\n * 展开行自定义样式表达式\n */\n expandedRowClassNameExpr: string;\n\n /**\n * 已展开的key值\n */\n expandedRowKeys: Array<string | number>;\n\n /**\n * 已展开的key值表达式\n */\n expandedRowKeysExpr: string;\n}\n\nexport interface TableSchemaV2 extends BaseSchema {\n /**\n * 指定为表格类型\n */\n type: 'table-v2';\n\n /**\n * 表格标题\n */\n title?: string | SchemaObject | Array<SchemaObject>;\n\n /**\n * 表格数据源\n */\n source: SchemaTokenizeableString;\n\n /**\n * 表格可自定义列\n */\n columnsTogglable?: boolean;\n\n /**\n * 表格列配置\n */\n columns: Array<ColumnSchema>;\n\n /**\n * 表格可选择配置\n */\n rowSelection?: RowSelectionSchema;\n\n /**\n * 表格行可展开配置\n */\n expandable?: ExpandableSchema;\n\n /**\n * 表格行可展开内容配置\n */\n expandableBody?: Array<SchemaObject>;\n\n /**\n * 粘性头部\n */\n sticky?: boolean;\n\n /**\n * 加载中\n */\n loading?: boolean | string | SchemaObject;\n\n /**\n * 行角标\n */\n itemBadge?: BadgeSchema;\n\n /**\n * 指定挂载dom\n */\n popOverContainer?: any;\n\n /**\n * 嵌套展开记录的唯一标识\n */\n keyField?: string;\n\n /**\n * 数据源嵌套自定义字段名\n */\n childrenColumnName?: string;\n\n /**\n * 自定义行样式\n */\n rowClassNameExpr?: string;\n\n /**\n * 是否固定内容行高度\n */\n lineHeight?: string;\n\n /**\n * 是否展示边框\n */\n bordered?: boolean;\n\n /**\n * 是否展示表头\n */\n showHeader?: boolean;\n\n /**\n * 自定义表格样式\n */\n className?: string;\n\n /**\n * 指定表尾\n */\n footer?: string | SchemaObject | Array<SchemaObject>;\n}\n\nexport type TableV2RendererEvent =\n | 'selected'\n | 'columnSort'\n | 'columnFilter'\n | 'columnSearch'\n | 'columnToggled'\n | 'dragOver';\n\nexport type TableV2RendererAction = 'selectAll' | 'clearAll' | 'select';\n\nexport interface TableV2Props extends RendererProps {\n title?: string;\n source?: string;\n store: ITableStore;\n togglable: boolean;\n}\n\n@Renderer({\n type: 'table-v2',\n storeType: TableStoreV2.name,\n name: 'table-v2',\n isolateScope: true\n})\nexport default class TableRenderer extends React.Component<\n TableV2Props,\n object\n> {\n static contextType = ScopedContext;\n\n renderedToolbars: Array<string> = [];\n control: any;\n\n constructor(props: TableV2Props, context: IScopedContext) {\n super(props);\n\n const scoped = context;\n scoped.registerComponent(this);\n\n this.handleColumnToggle = this.handleColumnToggle.bind(this);\n this.getPopOverContainer = this.getPopOverContainer.bind(this);\n this.handleAction = this.handleAction.bind(this);\n this.handleQuickChange = this.handleQuickChange.bind(this);\n this.handleSave = this.handleSave.bind(this);\n this.controlRef = this.controlRef.bind(this);\n\n const {store, columnsTogglable, columns} = props;\n\n store.update({columnsTogglable, columns});\n TableRenderer.syncRows(store, props, undefined) && this.syncSelected();\n }\n\n componentWillUnmount() {\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this);\n }\n\n controlRef(control: any) {\n // 因为 control 有可能被 n 层 hoc 包裹。\n while (control && control.getWrappedInstance) {\n control = control.getWrappedInstance();\n }\n\n this.control = control;\n }\n\n syncSelected() {\n const {store, onSelect} = this.props;\n\n onSelect &&\n onSelect(\n null,\n false,\n store.selectedRowKeys.map(item => item),\n store.selectedRows.map(item => item.data)\n );\n }\n\n static syncRows(\n store: ITableStore,\n props: TableV2Props,\n prevProps?: TableV2Props\n ) {\n const source = props.source;\n const value = props.value || props.items;\n let rows: Array<object> = [];\n let updateRows = false;\n\n if (\n Array.isArray(value) &&\n (!prevProps || (prevProps.value || prevProps.items) !== value)\n ) {\n updateRows = true;\n rows = value;\n } else if (typeof source === 'string') {\n const resolved = resolveVariableAndFilter(source, props.data, '| raw');\n const prev = prevProps\n ? resolveVariableAndFilter(source, prevProps.data, '| raw')\n : null;\n\n if (prev && prev === resolved) {\n updateRows = false;\n } else if (Array.isArray(resolved)) {\n updateRows = true;\n rows = resolved;\n }\n }\n updateRows &&\n store.initRows(\n rows,\n props.getEntryId,\n props.reUseRow,\n props.childrenColumnName\n );\n\n let selectedRowKeys: Array<string | number> = [];\n // selectedRowKeysExpr比selectedRowKeys优先级高\n if (props.rowSelection && props.rowSelection.selectedRowKeysExpr) {\n rows.forEach((row: any, index: number) => {\n const flag = filter(props.rowSelection.selectedRowKeysExpr, {\n record: row,\n rowIndex: index\n });\n if (flag === 'true') {\n selectedRowKeys.push(row[props?.rowSelection?.keyField || 'key']);\n }\n });\n } else if (props.rowSelection && props.rowSelection.selectedRowKeys) {\n selectedRowKeys = [...props.rowSelection.selectedRowKeys];\n }\n\n if (updateRows && selectedRowKeys.length > 0) {\n store.updateSelected(selectedRowKeys, props.rowSelection.keyField);\n }\n\n let expandedRowKeys: Array<string | number> = [];\n if (props.expandable && props.expandable.expandedRowKeysExpr) {\n rows.forEach((row: any, index: number) => {\n const flag = filter(props.expandable.expandedRowKeysExpr, {\n record: row,\n rowIndex: index\n });\n if (flag === 'true') {\n expandedRowKeys.push(row[props?.expandable?.keyField || 'key']);\n }\n });\n } else if (props.expandable && props.expandable.expandedRowKeys) {\n expandedRowKeys = [...props.expandable.expandedRowKeys];\n }\n\n if (updateRows && expandedRowKeys.length > 0) {\n store.updateExpanded(expandedRowKeys, props.expandable.keyField);\n }\n\n return updateRows;\n }\n\n componentDidUpdate(prevProps: TableV2Props) {\n const props = this.props;\n const store = props.store;\n\n if (anyChanged(['columnsTogglable'], prevProps, props)) {\n store.update({\n columnsTogglable: props.columnsTogglable\n });\n }\n\n if (\n anyChanged(['source', 'value', 'items'], prevProps, props) ||\n (!props.value &&\n !props.items &&\n (props.data !== prevProps.data ||\n (typeof props.source === 'string' && isPureVariable(props.source))))\n ) {\n TableRenderer.syncRows(store, props, prevProps) && this.syncSelected();\n }\n\n if (!isEqual(prevProps.columns, props.columns)) {\n store.update({\n columns: props.columns\n });\n }\n }\n\n getPopOverContainer() {\n return findDOMNode(this);\n }\n\n renderCellSchema(schema: any, props: any) {\n const {render} = this.props;\n\n // Table Cell SchemaObject转化成ReactNode\n if (schema && isObject(schema)) {\n // 在TableCell里会根据width设置div的width\n // 原来的table td/th是最外层标签 设置width没问题\n // v2的拆开了 就不需要再设置div的width了\n // 否则加上padding 就超出单元格的区域了\n // children属性在schema里是一个关键字 在渲染器schema中 自定义的children没有用 去掉\n const {width, children, ...rest} = schema;\n return render(\n 'cell-field',\n {\n ...rest,\n type: 'cell-field',\n column: rest,\n data: props.data,\n name: schema.key\n },\n props\n );\n }\n\n return schema;\n }\n\n renderSchema(key: string, schema: any, props?: any) {\n const {render} = this.props;\n\n // Header、Footer等SchemaObject转化成ReactNode\n if (schema && isObject(schema)) {\n return render(key || 'field', {...schema, data: props.data}, props);\n } else if (Array.isArray(schema)) {\n const renderers: Array<any> = [];\n schema.forEach((s, i) =>\n renderers.push(\n render(\n key || 'field',\n {\n ...s,\n data: props.data\n },\n {...props, key: i}\n )\n )\n );\n return renderers;\n }\n\n return schema;\n }\n // editor传来的处理过的column 还可能包含其他字段\n buildColumns(columns: Array<any>) {\n const {\n env,\n render,\n store,\n popOverContainer,\n canAccessSuperData,\n showBadge,\n itemBadge,\n classnames: cx\n } = this.props;\n\n const cols: Array<any> = [];\n const rowSpans: Array<CellSpan> = [];\n const colSpans: Array<CellSpan> = [];\n\n Array.isArray(columns) &&\n columns.forEach((column, col) => {\n const clone = {...column} as any;\n\n let titleSchema: any = null;\n const titleProps = {\n popOverContainer: popOverContainer || this.getPopOverContainer,\n value: column.title\n };\n if (isObject(column.title)) {\n titleSchema = cloneDeep(column.title);\n } else if (typeof column.title === 'string') {\n titleSchema = {type: 'plain'};\n }\n\n const titleRender = (children: any) => {\n const content = this.renderCellSchema(titleSchema, titleProps);\n\n let remark = null;\n if (column.remark) {\n remark = render('remark', {\n type: 'remark',\n tooltip: column.remark,\n container:\n env && env.getModalContainer ? env.getModalContainer : undefined\n });\n }\n\n return (\n <div\n key={col}\n className={cx('Table-head-cell-wrapper', {\n [`${column.className}`]: !!column.className,\n [`${column.titleClassName}`]: !!column.titleClassName\n })}>\n {content}\n {remark}\n {children}\n </div>\n );\n };\n\n Object.assign(clone, {\n title: titleRender\n });\n\n // 设置了type值 就完全按渲染器处理了\n if (column.type) {\n Object.assign(clone, {\n render: (\n text: string,\n record: any,\n rowIndex: number,\n colIndex: number\n ) => {\n const props: RenderProps = {};\n const item = store.getRowByIndex(rowIndex);\n const obj = {\n children: this.renderCellSchema(column, {\n data: item.locals,\n value: column.key\n ? resolveVariable(\n column.key,\n canAccessSuperData ? item.locals : item.data\n )\n : column.key,\n popOverContainer:\n popOverContainer || this.getPopOverContainer,\n onQuickChange: (\n values: object,\n saveImmediately?: boolean,\n savePristine?: boolean,\n resetOnFailed?: boolean\n ) => {\n this.handleQuickChange(\n item,\n values,\n saveImmediately,\n savePristine,\n resetOnFailed\n );\n },\n row: item,\n showBadge,\n itemBadge\n }),\n props\n };\n if (column.rowSpanExpr) {\n const rowSpan = +filter(column.rowSpanExpr, {\n record,\n rowIndex,\n colIndex\n });\n if (rowSpan) {\n obj.props.rowSpan = rowSpan;\n rowSpans.push({colIndex, rowIndex, rowSpan});\n }\n }\n\n if (column.colSpanExpr) {\n const colSpan = +filter(column.colSpanExpr, {\n record,\n rowIndex,\n colIndex\n });\n if (colSpan) {\n obj.props.colSpan = colSpan;\n colSpans.push({colIndex, rowIndex, colSpan});\n }\n }\n\n rowSpans.forEach(item => {\n if (\n colIndex === item.colIndex &&\n rowIndex > item.rowIndex &&\n rowIndex < item.rowIndex + (item.rowSpan || 0)\n ) {\n obj.props.rowSpan = 0;\n }\n });\n\n colSpans.forEach(item => {\n if (\n rowIndex === item.rowIndex &&\n colIndex > item.colIndex &&\n colIndex < item.colIndex + (item.colSpan || 0)\n ) {\n obj.props.colSpan = 0;\n }\n });\n\n return obj;\n }\n });\n }\n\n // 设置了单元格样式\n if (column.classNameExpr) {\n clone.className = (record: any, rowIndex: number) => {\n const className = filter(column.classNameExpr, {record, rowIndex});\n return `${className}${column.className ? ` ${column.className}` : ''}`;\n };\n }\n\n // 设置了列搜索\n if (column.searchable) {\n clone.filterDropdown = (\n <HeadCellSearchDropDown\n {...this.props}\n popOverContainer={this.getPopOverContainer}\n name={column.key}\n searchable={column.searchable}\n orderBy={store.orderBy}\n orderDir={store.order}\n data={store.query}\n key={'th-search-' + col}\n store={store}\n />\n );\n }\n\n if (column.children) {\n clone.children = this.buildColumns(column.children);\n }\n\n cols.push(clone);\n });\n\n return cols;\n }\n\n buildSummary(key: string, summary: Array<any>) {\n const result: Array<any> = [];\n if (Array.isArray(summary)) {\n summary.forEach((s, index) => {\n if (isObject(s)) {\n result.push({\n colSpan: s.colSpan,\n fixed: s.fixed,\n render: (dataSouce: Array<any>) =>\n this.renderSchema(key, s, {\n data: dataSouce\n })\n });\n } else if (Array.isArray(s)) {\n if (!result[index]) {\n result.push([]);\n }\n s.forEach(d => {\n result[index].push({\n colSpan: d.colSpan,\n fixed: d.fixed,\n render: (dataSouce: Array<any>) =>\n this.renderSchema(key, d, {\n data: dataSouce\n })\n });\n });\n }\n });\n }\n\n return result.length ? result : null;\n }\n\n reloadTarget(target: string, data: any) {\n const scoped = this.context as IScopedContext;\n scoped.reload(target, data);\n }\n\n handleSave(\n rows: Array<object> | object,\n diff: Array<object> | object,\n indexes: Array<string>,\n unModifiedItems?: Array<any>,\n rowsOrigin?: Array<object> | object,\n resetOnFailed?: boolean\n ) {\n const {\n store,\n quickSaveApi,\n quickSaveItemApi,\n primaryField,\n env,\n messages,\n reload\n } = this.props;\n\n if (Array.isArray(rows)) {\n if (!isEffectiveApi(quickSaveApi)) {\n env && env.alert('TableV2 quickSaveApi is required');\n return;\n }\n\n const data: any = createObject(store.data, {\n rows,\n rowsDiff: diff,\n indexes: indexes,\n rowsOrigin\n });\n\n if (rows.length && rows[0].hasOwnProperty(primaryField || 'id')) {\n data.ids = rows\n .map(item => (item as any)[primaryField || 'id'])\n .join(',');\n }\n\n if (unModifiedItems) {\n data.unModifiedItems = unModifiedItems;\n }\n\n store\n .saveRemote(quickSaveApi, data, {\n successMessage: messages && messages.saveFailed,\n errorMessage: messages && messages.saveSuccess\n })\n .then(() => {\n reload && this.reloadTarget(reload, data);\n })\n .catch(() => {});\n } else {\n if (!isEffectiveApi(quickSaveItemApi)) {\n env && env.alert('TableV2 quickSaveItemApi is required!');\n return;\n }\n\n const data = createObject(store.data, {\n item: rows,\n modified: diff,\n origin: rowsOrigin\n });\n\n const sendData = createObject(data, rows);\n store\n .saveRemote(quickSaveItemApi, sendData)\n .then(() => {\n reload && this.reloadTarget(reload, data);\n })\n .catch(() => {\n resetOnFailed && this.control.reset();\n });\n }\n }\n\n handleQuickChange(\n item: IRow,\n values: object,\n saveImmediately?: boolean | any,\n savePristine?: boolean,\n resetOnFailed?: boolean\n ) {\n if (!isAlive(item)) {\n return;\n }\n\n const {onSave, onPristineChange, primaryField, quickSaveItemApi} =\n this.props;\n\n item.change(values, savePristine);\n\n // 值发生变化了,需要通过 onSelect 通知到外面,否则会出现数据不同步的问题\n item.modified && this.syncSelected();\n\n if (savePristine) {\n onPristineChange?.(item.data, item.path);\n return;\n }\n\n if (saveImmediately && saveImmediately.api) {\n this.props.onAction(\n null,\n {\n actionType: 'ajax',\n api: saveImmediately.api\n },\n values\n );\n return;\n }\n\n onSave\n ? onSave(\n item.data,\n difference(item.data, item.pristine, ['id', primaryField]),\n item.path,\n undefined,\n item.pristine,\n resetOnFailed\n )\n : this.handleSave(\n quickSaveItemApi ? item.data : [item.data],\n difference(item.data, item.pristine, ['id', primaryField]),\n [item.path],\n undefined,\n item.pristine,\n resetOnFailed\n );\n }\n\n async handleColumnToggle(columns: Array<IColumn>) {\n const {dispatchEvent, data, store} = this.props;\n\n const rendererEvent = await dispatchEvent(\n 'columnToggled',\n createObject(data, {\n columns\n })\n );\n\n if (rendererEvent?.prevented) {\n return;\n }\n\n store.update({columns});\n }\n\n renderColumnsToggler() {\n const {\n className,\n store,\n render,\n classPrefix: ns,\n classnames: cx,\n ...rest\n } = this.props;\n const __ = rest.translate;\n const env = rest.env;\n\n if (!store.toggable) {\n return null;\n }\n\n const children = store.toggableColumns.map((column, index) => (\n <li\n className={cx('ColumnToggler-menuItem')}\n key={'toggable-li-' + index}\n onClick={column.toggleToggle}\n >\n <Checkbox\n key={'toggable-select' + index}\n size=\"sm\"\n classPrefix={ns}\n checked={column.toggled}\n >\n {column.title ? render('tpl', column.title) : null}\n </Checkbox>\n </li>\n ));\n\n return render(\n 'column-toggler',\n {\n type: 'column-toggler'\n },\n {\n isActived: store.hasColumnHidden(),\n columns: store.columnsData,\n onColumnToggle: this.handleColumnToggle,\n children\n }\n );\n }\n\n handleAction(e: React.UIEvent<any>, action: Action, ctx: object) {\n const {onAction} = this.props;\n\n // todo\n onAction(e, action, ctx);\n }\n\n renderActions(region: string) {\n let {actions, render, store, classnames: cx, data} = this.props;\n\n actions = Array.isArray(actions) ? actions.concat() : [];\n\n if (\n store.toggable &&\n region === 'header' &&\n !~this.renderedToolbars.indexOf('columns-toggler')\n ) {\n actions.push({\n type: 'button',\n children: this.renderColumnsToggler()\n });\n }\n\n return Array.isArray(actions) && actions.length ? (\n <div className={cx('Table-toolbar')}>\n {actions.map((action, key) =>\n render(\n `action/${key}`,\n {\n type: 'button',\n ...(action as any)\n },\n {\n onAction: this.handleAction,\n key,\n btnDisabled: store.dragging,\n data: store.getData(data)\n }\n )\n )}\n </div>\n ) : null;\n }\n\n @autobind\n async handleSelected(\n record: any,\n value: boolean,\n selectedRows: Array<any>,\n selectedRowKeys: Array<string | number>\n ) {\n const {dispatchEvent, data, rowSelection, onSelect, store} = this.props;\n const rendererEvent = await dispatchEvent(\n 'selected',\n createObject(data, {\n record,\n value,\n selectedRows,\n selectedRowKeys\n })\n );\n\n if (rendererEvent?.prevented) {\n return rendererEvent?.prevented;\n }\n\n store.updateSelected(selectedRowKeys, rowSelection.keyField);\n onSelect && onSelect(record, value, selectedRows, selectedRowKeys);\n }\n\n @autobind\n async handleSelectedAll(\n value: boolean,\n selectedRowKeys: Array<string | number>,\n selectedRows: Array<any>,\n changeRows: Array<any>\n ) {\n const {dispatchEvent, data, rowSelection, onSelectAll, store} = this.props;\n const rendererEvent = await dispatchEvent(\n 'selectedAll',\n createObject(data, {\n value,\n selectedRowKeys,\n selectedRows,\n changeRows\n })\n );\n\n if (rendererEvent?.prevented) {\n return rendererEvent?.prevented;\n }\n\n store.updateSelected(selectedRowKeys, rowSelection.keyField);\n onSelectAll &&\n onSelectAll(value, selectedRowKeys, selectedRows, selectedRowKeys);\n }\n\n @autobind\n async handleSort(payload: SortProps) {\n const {dispatchEvent, data, onSort} = this.props;\n const rendererEvent = await dispatchEvent(\n 'columnSort',\n createObject(data, {\n ...payload\n })\n );\n\n if (rendererEvent?.prevented) {\n return rendererEvent?.prevented;\n }\n\n onSort && onSort(payload);\n }\n\n @autobind\n async handleFilter(payload: any) {\n const {dispatchEvent, data, onFilter} = this.props;\n const rendererEvent = await dispatchEvent(\n 'columnFilter',\n createObject(data, {\n payload\n })\n );\n\n if (rendererEvent?.prevented) {\n return rendererEvent?.prevented;\n }\n\n onFilter && onFilter(payload);\n }\n\n @autobind\n async handleDragOver(dataSource: Array<any>) {\n const {dispatchEvent, data, onDrag} = this.props;\n const rendererEvent = await dispatchEvent(\n 'dragOver',\n createObject(data, {\n dataSource\n })\n );\n\n if (rendererEvent?.prevented) {\n return rendererEvent?.prevented;\n }\n\n onDrag && onDrag(dataSource);\n }\n\n doAction(action: Action, args: any, throwErrors: boolean): any {\n const {store, rowSelection} = this.props;\n\n const actionType = action?.actionType as string;\n const keyField = rowSelection?.keyField;\n\n switch (actionType) {\n case 'selectAll':\n store.updateSelectedAll(keyField);\n break;\n case 'clearAll':\n store.updateSelected([], keyField);\n break;\n case 'select':\n store.updateSelected(args?.selectedRowKeys, keyField);\n break;\n default:\n break;\n }\n }\n\n renderTable() {\n const {\n render,\n title,\n footer,\n rowSelection,\n columns,\n expandable,\n expandableBody,\n footSummary,\n headSummary,\n loading,\n classnames: cx,\n placeholder,\n rowClassNameExpr,\n itemActions,\n store,\n ...rest\n } = this.props;\n\n let expandableConfig: any = null;\n if (expandable) {\n const {expandedRowKeys, ...rest} = expandable;\n\n expandableConfig = {\n expandedRowKeys: store.currentExpandedKeys,\n ...rest\n };\n\n if (expandable.expandableOn) {\n expandableConfig.rowExpandable = (record: any, rowIndex: number) =>\n evalExpression(expandable.expandableOn, {record, rowIndex});\n delete expandableConfig.expandableOn;\n }\n\n if (expandableBody && expandableBody.length > 0) {\n expandableConfig.expandedRowRender = (record: any, rowIndex: number) =>\n this.renderSchema('expandableBody', expandableBody, {data: record});\n }\n\n if (expandable.expandedRowClassNameExpr) {\n expandableConfig.expandedRowClassName = (\n record: any,\n rowIndex: number\n ) => filter(expandable.expandedRowClassNameExpr, {record, rowIndex});\n delete expandableConfig.expandedRowClassNameExpr;\n }\n }\n\n let rowSelectionConfig: any = null;\n if (rowSelection) {\n const {selectedRowKeys, selections, ...rest} = rowSelection;\n rowSelectionConfig = {\n selectedRowKeys: store.currentSelectedRowKeys,\n ...rest\n };\n\n if (rowSelection.disableOn) {\n const disableOn = rowSelection.disableOn;\n\n rowSelectionConfig.getCheckboxProps = (\n record: any,\n rowIndex: number\n ) => ({\n disabled: evalExpression(disableOn, {record, rowIndex})\n });\n\n delete rowSelectionConfig.disableOn;\n }\n\n if (selections && Array.isArray(selections)) {\n rowSelectionConfig.selections = [];\n\n selections.forEach((item: RowSelectionOptionsSchema) => {\n rowSelectionConfig.selections.push({\n key: item.key,\n text: item.text,\n onSelect: (changableRowKeys: Array<string | number>) => {\n let newSelectedRowKeys = [];\n newSelectedRowKeys = changableRowKeys.filter((key, index) => {\n if (item.key === 'all') {\n return true;\n }\n if (item.key === 'none') {\n return false;\n }\n if (item.key === 'invert') {\n return !store.currentSelectedRowKeys.includes(key);\n }\n // 奇数行\n if (item.key === 'odd') {\n if (index % 2 !== 0) {\n return false;\n }\n return true;\n }\n // 偶数行\n if (item.key === 'even') {\n if (index % 2 !== 0) {\n return true;\n }\n return false;\n }\n return true;\n });\n store.updateSelected(newSelectedRowKeys, rowSelection.keyField);\n }\n });\n });\n }\n }\n\n let rowClassName = undefined;\n // 设置了行样式\n if (rowClassNameExpr) {\n rowClassName = (record: any, rowIndex: number) => {\n return filter(rowClassNameExpr, {record, rowIndex});\n };\n }\n\n let itemActionsConfig = undefined;\n if (itemActions) {\n const finalActions = Array.isArray(itemActions)\n ? itemActions.filter(action => !action.hiddenOnHover)\n : [];\n\n if (!finalActions.length) {\n return null;\n }\n\n itemActionsConfig = (record: any, rowIndex: number) => {\n return (\n <div className={cx('Table-itemActions')}>\n {finalActions.map((action, index) =>\n render(\n `itemAction/${index}`,\n {\n ...(action as any),\n isMenuItem: true\n },\n {\n key: index,\n item: record,\n data: record,\n rowIndex\n }\n )\n )}\n </div>\n );\n };\n }\n\n return (\n <Table\n {...rest}\n title={this.renderSchema('title', title, {data: this.props.data})}\n footer={this.renderSchema('footer', footer, {data: this.props.data})}\n columns={this.buildColumns(store.filteredColumns)}\n dataSource={store.dataSource}\n rowSelection={rowSelectionConfig}\n rowClassName={rowClassName}\n expandable={expandableConfig}\n footSummary={this.buildSummary('footSummary', footSummary)}\n headSummary={this.buildSummary('headSummary', headSummary)}\n loading={this.renderSchema('loading', loading)}\n placeholder={this.renderSchema('placeholder', placeholder)}\n onSelect={this.handleSelected}\n onSelectAll={this.handleSelectedAll}\n onSort={this.handleSort}\n onFilter={this.handleFilter}\n onDrag={this.handleDragOver}\n itemActions={itemActionsConfig}\n ></Table>\n );\n }\n\n render() {\n const {classnames: cx} = this.props;\n\n this.renderedToolbars = []; // 用来记录哪些 toolbar 已经渲染了\n\n return (\n <div className={cx('Table-render-wrapper')}>\n {this.renderActions('header')}\n {this.renderTable()}\n </div>\n );\n }\n}\n"
11
+ "import React from 'react';\nimport {findDOMNode} from 'react-dom';\nimport {isAlive} from 'mobx-state-tree';\nimport cloneDeep from 'lodash/cloneDeep';\nimport isEqual from 'lodash/isEqual';\n\nimport {ScopedContext, IScopedContext} from '../../Scoped';\nimport {Renderer, RendererProps} from '../../factory';\nimport {Action} from '../../types';\nimport Table, {SortProps} from '../../components/table';\nimport {BaseSchema, SchemaObject, SchemaTokenizeableString} from '../../Schema';\nimport {\n isObject,\n anyChanged,\n difference,\n createObject,\n autobind\n} from '../../utils/helper';\nimport {\n resolveVariableAndFilter,\n isPureVariable,\n resolveVariable\n} from '../../utils/tpl-builtin';\nimport {evalExpression, filter} from '../../utils/tpl';\nimport {isEffectiveApi} from '../../utils/api';\nimport Checkbox from '../../components/Checkbox';\nimport {BadgeSchema} from '../../components/Badge';\nimport {Icon} from '../../components/icons';\nimport {TableStoreV2, ITableStore, IColumn, IRow} from '../../store/table-v2';\n\nimport {HeadCellSearchDropDown} from './HeadCellSearchDropdown';\nimport './TableCell';\nimport './ColumnToggler';\n\n/**\n * Table 表格v2渲染器。\n * 文档:https://baidu.gitee.io/amis/docs/components/table-v2\n */\n\nexport interface CellSpan {\n colIndex: number;\n rowIndex: number;\n colSpan?: number;\n rowSpan?: number;\n}\n\nexport interface RenderProps {\n colSpan?: number;\n rowSpan?: number;\n}\n\nexport interface ColumnSchema {\n /**\n * 指定列唯一标识\n */\n key: string;\n\n /**\n * 指定列标题\n */\n title: string | SchemaObject;\n\n /**\n * 指定列内容渲染器\n */\n type?: string;\n\n /**\n * 指定行合并表达式\n */\n rowSpanExpr?: string;\n\n /**\n * 指定列合并表达式\n */\n colSpanExpr?: string;\n\n /**\n * 表头分组\n */\n children?: Array<ColumnSchema>;\n\n /**\n * 可复制\n */\n copyable?: boolean;\n\n /**\n * 列表头提示\n */\n remark?: string;\n\n /**\n * 快速搜索\n */\n searchable?: boolean | SchemaObject;\n\n /**\n * 快速排序\n */\n sorter?: boolean;\n\n /**\n * 内容居左、居中、居右\n */\n align?: string;\n\n /**\n * 是否固定在左侧/右侧\n */\n fixed?: boolean | string;\n\n /**\n * 当前列是否展示\n */\n toggled?: boolean;\n\n /**\n * 列样式\n */\n className?: string;\n \n /**\n * 表头单元格样式\n */\n titleClassName?: string;\n\n /**\n * 单元格样式\n */\n classNameExpr?: string;\n}\n\nexport interface RowSelectionOptionsSchema {\n /**\n * 选择类型 选择全部\n */\n key: string; // 选择类型 目前只支持all、invert、none、odd、even\n\n /**\n * 选项显示文本\n */\n text: string;\n}\n\nexport interface RowSelectionSchema {\n /**\n * 选择类型 单选/多选\n */\n type: string;\n\n /**\n * 对应数据源的key值\n */\n keyField?: string;\n\n /**\n * 行是否禁用表达式\n */\n disableOn?: string;\n\n /**\n * 自定义选择菜单\n */\n selections?: Array<RowSelectionOptionsSchema>;\n\n /**\n * 已选择的key值\n */\n selectedRowKeys?: Array<string | number>;\n\n /**\n * 已选择的key值表达式\n */\n selectedRowKeysExpr?: string;\n\n /**\n * 已选择的key值表达式\n */\n columnWidth?: number;\n\n /**\n * 是否点击行触发选中或取消选中\n */\n rowClick?: boolean;\n}\n\nexport interface ExpandableSchema {\n /**\n * 对应数据源的key值\n */\n keyField: string;\n\n /**\n * 行是否可展开表达式\n */\n expandableOn: string;\n\n /**\n * 展开行自定义样式表达式\n */\n expandedRowClassNameExpr: string;\n\n /**\n * 已展开的key值\n */\n expandedRowKeys: Array<string | number>;\n\n /**\n * 已展开的key值表达式\n */\n expandedRowKeysExpr: string;\n}\n\nexport interface TableSchemaV2 extends BaseSchema {\n /**\n * 指定为表格类型\n */\n type: 'table-v2';\n\n /**\n * 表格标题\n */\n title?: string | SchemaObject | Array<SchemaObject>;\n\n /**\n * 表格数据源\n */\n source: SchemaTokenizeableString;\n\n /**\n * 表格可自定义列\n */\n columnsTogglable?: boolean;\n\n /**\n * 表格列配置\n */\n columns: Array<ColumnSchema>;\n\n /**\n * 表格可选择配置\n */\n rowSelection?: RowSelectionSchema;\n\n /**\n * 表格行可展开配置\n */\n expandable?: ExpandableSchema;\n\n /**\n * 表格行可展开内容配置\n */\n expandableBody?: Array<SchemaObject>;\n\n /**\n * 粘性头部\n */\n sticky?: boolean;\n\n /**\n * 加载中\n */\n loading?: boolean | string | SchemaObject;\n\n /**\n * 行角标\n */\n itemBadge?: BadgeSchema;\n\n /**\n * 指定挂载dom\n */\n popOverContainer?: any;\n\n /**\n * 嵌套展开记录的唯一标识\n */\n keyField?: string;\n\n /**\n * 数据源嵌套自定义字段名\n */\n childrenColumnName?: string;\n\n /**\n * 自定义行样式\n */\n rowClassNameExpr?: string;\n\n /**\n * 是否固定内容行高度\n */\n lineHeight?: string;\n\n /**\n * 是否展示边框\n */\n bordered?: boolean;\n\n /**\n * 是否展示表头\n */\n showHeader?: boolean;\n\n /**\n * 自定义表格样式\n */\n className?: string;\n\n /**\n * 指定表尾\n */\n footer?: string | SchemaObject | Array<SchemaObject>;\n}\n\nexport type TableV2RendererEvent =\n | 'selected'\n | 'columnSort'\n | 'columnFilter'\n | 'columnSearch'\n | 'columnToggled'\n | 'dragOver';\n\nexport type TableV2RendererAction = 'selectAll' | 'clearAll' | 'select';\n\nexport interface TableV2Props extends RendererProps {\n title?: string;\n source?: string;\n store: ITableStore;\n togglable: boolean;\n}\n\n@Renderer({\n type: 'table-v2',\n storeType: TableStoreV2.name,\n name: 'table-v2',\n isolateScope: true\n})\nexport default class TableRenderer extends React.Component<\n TableV2Props,\n object\n> {\n static contextType = ScopedContext;\n\n renderedToolbars: Array<string> = [];\n control: any;\n\n constructor(props: TableV2Props, context: IScopedContext) {\n super(props);\n\n const scoped = context;\n scoped.registerComponent(this);\n\n this.handleColumnToggle = this.handleColumnToggle.bind(this);\n this.getPopOverContainer = this.getPopOverContainer.bind(this);\n this.handleAction = this.handleAction.bind(this);\n this.handleQuickChange = this.handleQuickChange.bind(this);\n this.handleSave = this.handleSave.bind(this);\n this.controlRef = this.controlRef.bind(this);\n\n const {store, columnsTogglable, columns} = props;\n\n store.update({columnsTogglable, columns});\n TableRenderer.syncRows(store, props, undefined) && this.syncSelected();\n }\n\n componentWillUnmount() {\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this);\n }\n\n controlRef(control: any) {\n // 因为 control 有可能被 n 层 hoc 包裹。\n while (control && control.getWrappedInstance) {\n control = control.getWrappedInstance();\n }\n\n this.control = control;\n }\n\n syncSelected() {\n const {store, onSelect} = this.props;\n\n onSelect &&\n onSelect(\n store.selectedRows.map(item => item.data),\n store.unSelectedRows.map(item => item.data)\n );\n }\n\n static syncRows(\n store: ITableStore,\n props: TableV2Props,\n prevProps?: TableV2Props\n ) {\n const source = props.source;\n const value = props.value || props.items;\n let rows: Array<object> = [];\n let updateRows = false;\n\n if (\n Array.isArray(value) &&\n (!prevProps || (prevProps.value || prevProps.items) !== value)\n ) {\n updateRows = true;\n rows = value;\n } else if (typeof source === 'string') {\n const resolved = resolveVariableAndFilter(source, props.data, '| raw');\n const prev = prevProps\n ? resolveVariableAndFilter(source, prevProps.data, '| raw')\n : null;\n\n if (prev && prev === resolved) {\n updateRows = false;\n } else if (Array.isArray(resolved)) {\n updateRows = true;\n rows = resolved;\n }\n }\n updateRows &&\n store.initRows(\n rows,\n props.getEntryId,\n props.reUseRow,\n props.childrenColumnName\n );\n\n let selectedRowKeys: Array<string | number> = [];\n // selectedRowKeysExpr比selectedRowKeys优先级高\n if (props.rowSelection && props.rowSelection.selectedRowKeysExpr) {\n rows.forEach((row: any, index: number) => {\n const flag = evalExpression(props.rowSelection.selectedRowKeysExpr, {\n record: row,\n rowIndex: index\n });\n if (flag) {\n selectedRowKeys.push(row[props?.rowSelection?.keyField || 'key']);\n }\n });\n } else if (props.rowSelection && props.rowSelection.selectedRowKeys) {\n selectedRowKeys = [...props.rowSelection.selectedRowKeys];\n }\n\n if (updateRows && selectedRowKeys.length > 0) {\n store.updateSelected(selectedRowKeys, props.rowSelection.keyField);\n }\n\n let expandedRowKeys: Array<string | number> = [];\n if (props.expandable && props.expandable.expandedRowKeysExpr) {\n rows.forEach((row: any, index: number) => {\n const flag = evalExpression(props.expandable.expandedRowKeysExpr, {\n record: row,\n rowIndex: index\n });\n if (flag) {\n expandedRowKeys.push(row[props?.expandable?.keyField || 'key']);\n }\n });\n } else if (props.expandable && props.expandable.expandedRowKeys) {\n expandedRowKeys = [...props.expandable.expandedRowKeys];\n }\n\n if (updateRows && expandedRowKeys.length > 0) {\n store.updateExpanded(expandedRowKeys, props.expandable.keyField);\n }\n\n return updateRows;\n }\n\n componentDidUpdate(prevProps: TableV2Props) {\n const props = this.props;\n const store = props.store;\n\n if (anyChanged(['columnsTogglable'], prevProps, props)) {\n store.update({\n columnsTogglable: props.columnsTogglable\n });\n }\n\n if (\n anyChanged(['source', 'value', 'items'], prevProps, props) ||\n (!props.value &&\n !props.items &&\n (props.data !== prevProps.data ||\n (typeof props.source === 'string' && isPureVariable(props.source))))\n ) {\n TableRenderer.syncRows(store, props, prevProps) && this.syncSelected();\n }\n\n if (!isEqual(prevProps.columns, props.columns)) {\n store.update({\n columns: props.columns\n });\n }\n }\n\n getPopOverContainer() {\n return findDOMNode(this);\n }\n\n renderCellSchema(schema: any, props: any) {\n const {render} = this.props;\n\n // Table Cell SchemaObject转化成ReactNode\n if (schema && isObject(schema)) {\n // 在TableCell里会根据width设置div的width\n // 原来的table td/th是最外层标签 设置width没问题\n // v2的拆开了 就不需要再设置div的width了\n // 否则加上padding 就超出单元格的区域了\n // children属性在schema里是一个关键字 在渲染器schema中 自定义的children没有用 去掉\n const {width, children, ...rest} = schema;\n return render(\n 'cell-field',\n {\n ...rest,\n type: 'cell-field',\n column: rest,\n data: props.data,\n name: schema.key\n },\n props\n );\n }\n\n return schema;\n }\n\n renderSchema(key: string, schema: any, props?: any) {\n const {render} = this.props;\n\n // Header、Footer等SchemaObject转化成ReactNode\n if (schema && isObject(schema)) {\n return render(key || 'field', {...schema, data: props.data}, props);\n } else if (Array.isArray(schema)) {\n const renderers: Array<any> = [];\n schema.forEach((s, i) =>\n renderers.push(\n render(\n key || 'field',\n {\n ...s,\n data: props.data\n },\n {...props, key: i}\n )\n )\n );\n return renderers;\n }\n\n return schema;\n }\n // editor传来的处理过的column 还可能包含其他字段\n buildColumns(columns: Array<any>) {\n const {\n env,\n render,\n store,\n popOverContainer,\n canAccessSuperData,\n showBadge,\n itemBadge,\n classnames: cx\n } = this.props;\n\n const cols: Array<any> = [];\n const rowSpans: Array<CellSpan> = [];\n const colSpans: Array<CellSpan> = [];\n\n Array.isArray(columns) &&\n columns.forEach((column, col) => {\n const clone = {...column} as any;\n\n let titleSchema: any = null;\n const titleProps = {\n popOverContainer: popOverContainer || this.getPopOverContainer,\n value: column.title\n };\n if (isObject(column.title)) {\n titleSchema = cloneDeep(column.title);\n } else if (typeof column.title === 'string') {\n titleSchema = {type: 'plain'};\n }\n\n const titleRender = (children: any) => {\n const content = this.renderCellSchema(titleSchema, titleProps);\n\n let remark = null;\n if (column.remark) {\n remark = render('remark', {\n type: 'remark',\n tooltip: column.remark,\n container:\n env && env.getModalContainer ? env.getModalContainer : undefined\n });\n }\n\n return (\n <div\n key={col}\n className={cx('Table-head-cell-wrapper', {\n [`${column.className}`]: !!column.className,\n [`${column.titleClassName}`]: !!column.titleClassName\n })}>\n {content}\n {remark}\n {children}\n </div>\n );\n };\n\n Object.assign(clone, {\n title: titleRender\n });\n\n // 设置了type值 就完全按渲染器处理了\n if (column.type) {\n Object.assign(clone, {\n render: (\n text: string,\n record: any,\n rowIndex: number,\n colIndex: number\n ) => {\n const props: RenderProps = {};\n const item = store.getRowByIndex(rowIndex);\n const obj = {\n children: this.renderCellSchema(column, {\n data: item.locals,\n value: column.key\n ? resolveVariable(\n column.key,\n canAccessSuperData ? item.locals : item.data\n )\n : column.key,\n popOverContainer:\n popOverContainer || this.getPopOverContainer,\n onQuickChange: (\n values: object,\n saveImmediately?: boolean,\n savePristine?: boolean,\n resetOnFailed?: boolean\n ) => {\n this.handleQuickChange(\n item,\n values,\n saveImmediately,\n savePristine,\n resetOnFailed\n );\n },\n row: item,\n showBadge,\n itemBadge\n }),\n props\n };\n if (column.rowSpanExpr) {\n const rowSpan = +filter(column.rowSpanExpr, {\n record,\n rowIndex,\n colIndex\n });\n if (rowSpan) {\n obj.props.rowSpan = rowSpan;\n rowSpans.push({colIndex, rowIndex, rowSpan});\n }\n }\n\n if (column.colSpanExpr) {\n const colSpan = +filter(column.colSpanExpr, {\n record,\n rowIndex,\n colIndex\n });\n if (colSpan) {\n obj.props.colSpan = colSpan;\n colSpans.push({colIndex, rowIndex, colSpan});\n }\n }\n\n rowSpans.forEach(item => {\n if (\n colIndex === item.colIndex &&\n rowIndex > item.rowIndex &&\n rowIndex < item.rowIndex + (item.rowSpan || 0)\n ) {\n obj.props.rowSpan = 0;\n }\n });\n\n colSpans.forEach(item => {\n if (\n rowIndex === item.rowIndex &&\n colIndex > item.colIndex &&\n colIndex < item.colIndex + (item.colSpan || 0)\n ) {\n obj.props.colSpan = 0;\n }\n });\n\n return obj;\n }\n });\n }\n\n // 设置了单元格样式\n if (column.classNameExpr) {\n clone.className = (record: any, rowIndex: number) => {\n const className = filter(column.classNameExpr, {record, rowIndex});\n return `${className}${column.className ? ` ${column.className}` : ''}`;\n };\n }\n\n // 设置了列搜索\n if (column.searchable) {\n clone.filterDropdown = (\n <HeadCellSearchDropDown\n {...this.props}\n popOverContainer={this.getPopOverContainer}\n name={column.key}\n searchable={column.searchable}\n orderBy={store.orderBy}\n orderDir={store.order}\n data={store.query}\n key={'th-search-' + col}\n store={store}\n />\n );\n }\n\n if (column.children) {\n clone.children = this.buildColumns(column.children);\n }\n\n cols.push(clone);\n });\n\n return cols;\n }\n\n buildSummary(key: string, summary: Array<any>) {\n const result: Array<any> = [];\n if (Array.isArray(summary)) {\n summary.forEach((s, index) => {\n if (isObject(s)) {\n result.push({\n colSpan: s.colSpan,\n fixed: s.fixed,\n render: (dataSouce: Array<any>) =>\n this.renderSchema(key, s, {\n data: dataSouce\n })\n });\n } else if (Array.isArray(s)) {\n if (!result[index]) {\n result.push([]);\n }\n s.forEach(d => {\n result[index].push({\n colSpan: d.colSpan,\n fixed: d.fixed,\n render: (dataSouce: Array<any>) =>\n this.renderSchema(key, d, {\n data: dataSouce\n })\n });\n });\n }\n });\n }\n\n return result.length ? result : null;\n }\n\n reloadTarget(target: string, data: any) {\n const scoped = this.context as IScopedContext;\n scoped.reload(target, data);\n }\n\n handleSave(\n rows: Array<object> | object,\n diff: Array<object> | object,\n indexes: Array<string>,\n unModifiedItems?: Array<any>,\n rowsOrigin?: Array<object> | object,\n resetOnFailed?: boolean\n ) {\n const {\n store,\n quickSaveApi,\n quickSaveItemApi,\n primaryField,\n env,\n messages,\n reload\n } = this.props;\n\n if (Array.isArray(rows)) {\n if (!isEffectiveApi(quickSaveApi)) {\n env && env.alert('TableV2 quickSaveApi is required');\n return;\n }\n\n const data: any = createObject(store.data, {\n rows,\n rowsDiff: diff,\n indexes: indexes,\n rowsOrigin\n });\n\n if (rows.length && rows[0].hasOwnProperty(primaryField || 'id')) {\n data.ids = rows\n .map(item => (item as any)[primaryField || 'id'])\n .join(',');\n }\n\n if (unModifiedItems) {\n data.unModifiedItems = unModifiedItems;\n }\n\n store\n .saveRemote(quickSaveApi, data, {\n successMessage: messages && messages.saveFailed,\n errorMessage: messages && messages.saveSuccess\n })\n .then(() => {\n reload && this.reloadTarget(reload, data);\n })\n .catch(() => {});\n } else {\n if (!isEffectiveApi(quickSaveItemApi)) {\n env && env.alert('TableV2 quickSaveItemApi is required!');\n return;\n }\n\n const data = createObject(store.data, {\n item: rows,\n modified: diff,\n origin: rowsOrigin\n });\n\n const sendData = createObject(data, rows);\n store\n .saveRemote(quickSaveItemApi, sendData)\n .then(() => {\n reload && this.reloadTarget(reload, data);\n })\n .catch(() => {\n resetOnFailed && this.control.reset();\n });\n }\n }\n\n handleQuickChange(\n item: IRow,\n values: object,\n saveImmediately?: boolean | any,\n savePristine?: boolean,\n resetOnFailed?: boolean\n ) {\n if (!isAlive(item)) {\n return;\n }\n\n const {onSave, onPristineChange, primaryField, quickSaveItemApi} =\n this.props;\n\n item.change(values, savePristine);\n\n // 值发生变化了,需要通过 onSelect 通知到外面,否则会出现数据不同步的问题\n item.modified && this.syncSelected();\n\n if (savePristine) {\n onPristineChange?.(item.data, item.path);\n return;\n }\n\n if (saveImmediately && saveImmediately.api) {\n this.props.onAction(\n null,\n {\n actionType: 'ajax',\n api: saveImmediately.api\n },\n values\n );\n return;\n }\n\n onSave\n ? onSave(\n item.data,\n difference(item.data, item.pristine, ['id', primaryField]),\n item.path,\n undefined,\n item.pristine,\n resetOnFailed\n )\n : this.handleSave(\n quickSaveItemApi ? item.data : [item.data],\n difference(item.data, item.pristine, ['id', primaryField]),\n [item.path],\n undefined,\n item.pristine,\n resetOnFailed\n );\n }\n\n async handleColumnToggle(columns: Array<IColumn>) {\n const {dispatchEvent, data, store} = this.props;\n\n const rendererEvent = await dispatchEvent(\n 'columnToggled',\n createObject(data, {\n columns\n })\n );\n\n if (rendererEvent?.prevented) {\n return;\n }\n\n store.update({columns});\n }\n\n renderColumnsToggler() {\n const {\n className,\n store,\n render,\n classPrefix: ns,\n classnames: cx,\n ...rest\n } = this.props;\n const __ = rest.translate;\n const env = rest.env;\n\n if (!store.toggable) {\n return null;\n }\n\n const children = store.toggableColumns.map((column, index) => (\n <li\n className={cx('ColumnToggler-menuItem')}\n key={'toggable-li-' + index}\n onClick={column.toggleToggle}\n >\n <Checkbox\n key={'toggable-select' + index}\n size=\"sm\"\n classPrefix={ns}\n checked={column.toggled}\n >\n {column.title ? render('tpl', column.title) : null}\n </Checkbox>\n </li>\n ));\n\n return render(\n 'column-toggler',\n {\n type: 'column-toggler'\n },\n {\n isActived: store.hasColumnHidden(),\n columns: store.columnsData,\n onColumnToggle: this.handleColumnToggle,\n children\n }\n );\n }\n\n handleAction(e: React.UIEvent<any>, action: Action, ctx: object) {\n const {onAction} = this.props;\n\n // todo\n onAction(e, action, ctx);\n }\n\n renderActions(region: string) {\n let {actions, render, store, classnames: cx, data} = this.props;\n\n actions = Array.isArray(actions) ? actions.concat() : [];\n\n if (\n store.toggable &&\n region === 'header' &&\n !~this.renderedToolbars.indexOf('columns-toggler')\n ) {\n actions.push({\n type: 'button',\n children: this.renderColumnsToggler()\n });\n }\n\n return Array.isArray(actions) && actions.length ? (\n <div className={cx('Table-toolbar')}>\n {actions.map((action, key) =>\n render(\n `action/${key}`,\n {\n type: 'button',\n ...(action as any)\n },\n {\n onAction: this.handleAction,\n key,\n btnDisabled: store.dragging,\n data: store.getData(data)\n }\n )\n )}\n </div>\n ) : null;\n }\n\n @autobind\n async handleSelected(\n selectedRows: Array<any>,\n selectedRowKeys: Array<string | number>,\n unSelectedRows: Array<string | number>\n ) {\n const {dispatchEvent, data, rowSelection, onSelect, store} = this.props;\n const rendererEvent = await dispatchEvent(\n 'selectedChange',\n createObject(data, {\n selectedItems: selectedRows,\n unSelectedItems: unSelectedRows\n })\n );\n\n if (rendererEvent?.prevented) {\n return rendererEvent?.prevented;\n }\n\n store.updateSelected(selectedRowKeys, rowSelection.keyField);\n onSelect && onSelect(selectedRows, unSelectedRows);\n }\n\n @autobind\n async handleSort(payload: SortProps) {\n const {dispatchEvent, data, onSort} = this.props;\n const rendererEvent = await dispatchEvent(\n 'columnSort',\n createObject(data, {\n orderBy: payload.orderBy,\n orderDir: payload.order\n })\n );\n\n if (rendererEvent?.prevented) {\n return rendererEvent?.prevented;\n }\n\n onSort && onSort(payload);\n }\n\n @autobind\n async handleFilter(payload: {\n filterName: string,\n filterValue: string\n }) {\n const {dispatchEvent, data, onFilter} = this.props;\n const rendererEvent = await dispatchEvent(\n 'columnFilter',\n createObject(data, payload)\n );\n\n if (rendererEvent?.prevented) {\n return rendererEvent?.prevented;\n }\n\n onFilter && onFilter(payload);\n }\n\n @autobind\n async handleRowClick(event: React.ChangeEvent<any>, rowItem: any, rowIndex?: number) {\n const {dispatchEvent, data, onRow} = this.props;\n\n const rendererEvent = await dispatchEvent(\n 'rowClick',\n createObject(data, {rowItem})\n );\n\n if (rendererEvent?.prevented) {\n return rendererEvent?.prevented;\n }\n\n if (rowItem && onRow) {\n onRow.onRowClick && onRow.onRowClick(event, rowItem, rowIndex);\n }\n }\n\n @autobind\n async handleOrderChange(oldIndex: number, newIndex: number, levels: Array<string>) {\n const {store} = this.props;\n const rowItem = store.getRowByIndex(oldIndex, levels);\n\n store.exchange(oldIndex, newIndex, rowItem);\n }\n\n @autobind\n async handleSaveOrder() {\n const {store, onSaveOrder, data, dispatchEvent} = this.props;\n\n const movedItems = store.movedRows.map(item => item.data);\n const items = store.rows.map(item => item.getDataWithModifiedChilden());\n\n const rendererEvent = await dispatchEvent(\n 'orderChange',\n createObject(data, {movedItems})\n );\n\n if (rendererEvent?.prevented) {\n return;\n }\n\n if (!onSaveOrder || !store.movedRows.length) {\n return;\n }\n\n onSaveOrder(\n movedItems,\n items\n );\n }\n\n @autobind\n reset() {\n const {store} = this.props;\n\n store.reset();\n }\n\n doAction(action: Action, args: any, throwErrors: boolean): any {\n const {store, rowSelection, data} = this.props;\n\n const actionType = action?.actionType as string;\n const keyField = rowSelection?.keyField;\n\n switch (actionType) {\n case 'selectAll':\n store.updateSelectedAll(keyField);\n break;\n case 'clearAll':\n store.updateSelected([], keyField);\n break;\n case 'select':\n const dataSource = store.getData(data);\n const selected: Array<any> = [];\n dataSource.items.forEach((item: any, rowIndex: number) => {\n const flag = evalExpression(args?.selectedRowKeysExpr, {record: item, rowIndex});\n if (flag) {\n selected.push(item[keyField]);\n }\n });\n store.updateSelected(selected, keyField);\n break;\n default:\n break;\n }\n }\n\n renderTable() {\n const {\n render,\n title,\n footer,\n rowSelection,\n columns,\n expandable,\n expandableBody,\n footSummary,\n headSummary,\n loading,\n classnames: cx,\n placeholder,\n rowClassNameExpr,\n itemActions,\n onRow,\n store,\n ...rest\n } = this.props;\n\n let expandableConfig: any = null;\n if (expandable) {\n const {expandedRowKeys, ...rest} = expandable;\n\n expandableConfig = {\n expandedRowKeys: store.currentExpandedKeys,\n ...rest\n };\n\n if (expandable.expandableOn) {\n expandableConfig.rowExpandable = (record: any, rowIndex: number) =>\n evalExpression(expandable.expandableOn, {record, rowIndex});\n delete expandableConfig.expandableOn;\n }\n\n if (expandableBody && expandableBody.length > 0) {\n expandableConfig.expandedRowRender = (record: any, rowIndex: number) =>\n this.renderSchema('expandableBody', expandableBody, {data: record});\n }\n\n if (expandable.expandedRowClassNameExpr) {\n expandableConfig.expandedRowClassName = (\n record: any,\n rowIndex: number\n ) => filter(expandable.expandedRowClassNameExpr, {record, rowIndex});\n delete expandableConfig.expandedRowClassNameExpr;\n }\n }\n\n let rowSelectionConfig: any = null;\n if (rowSelection) {\n const {selectedRowKeys, selections, ...rest} = rowSelection;\n rowSelectionConfig = {\n selectedRowKeys: store.currentSelectedRowKeys,\n ...rest\n };\n\n if (rowSelection.disableOn) {\n const disableOn = rowSelection.disableOn;\n\n rowSelectionConfig.getCheckboxProps = (\n record: any,\n rowIndex: number\n ) => ({\n disabled: evalExpression(disableOn, {record, rowIndex})\n });\n\n delete rowSelectionConfig.disableOn;\n }\n\n if (selections && Array.isArray(selections)) {\n rowSelectionConfig.selections = [];\n\n selections.forEach((item: RowSelectionOptionsSchema) => {\n rowSelectionConfig.selections.push({\n key: item.key,\n text: item.text,\n onSelect: (changableRowKeys: Array<string | number>) => {\n let newSelectedRowKeys = [];\n newSelectedRowKeys = changableRowKeys.filter((key, index) => {\n if (item.key === 'all') {\n return true;\n }\n if (item.key === 'none') {\n return false;\n }\n if (item.key === 'invert') {\n return !store.currentSelectedRowKeys.includes(key);\n }\n // 奇数行\n if (item.key === 'odd') {\n if (index % 2 !== 0) {\n return false;\n }\n return true;\n }\n // 偶数行\n if (item.key === 'even') {\n if (index % 2 !== 0) {\n return true;\n }\n return false;\n }\n return true;\n });\n store.updateSelected(newSelectedRowKeys, rowSelection.keyField);\n }\n });\n });\n }\n }\n\n let rowClassName = undefined;\n // 设置了行样式\n if (rowClassNameExpr) {\n rowClassName = (record: any, rowIndex: number) => {\n return filter(rowClassNameExpr, {record, rowIndex});\n };\n }\n\n let itemActionsConfig = undefined;\n if (itemActions) {\n const finalActions = Array.isArray(itemActions)\n ? itemActions.filter(action => !action.hiddenOnHover)\n : [];\n\n if (!finalActions.length) {\n return null;\n }\n\n itemActionsConfig = (record: any, rowIndex: number) => {\n return (\n <div className={cx('Table-itemActions')}>\n {finalActions.map((action, index) =>\n render(\n `itemAction/${index}`,\n {\n ...(action as any),\n isMenuItem: true\n },\n {\n key: index,\n item: record,\n data: record,\n rowIndex\n }\n )\n )}\n </div>\n );\n };\n }\n\n return (\n <Table\n {...rest}\n title={this.renderSchema('title', title, {data: this.props.data})}\n footer={this.renderSchema('footer', footer, {data: this.props.data})}\n columns={this.buildColumns(store.filteredColumns)}\n dataSource={store.dataSource}\n rowSelection={rowSelectionConfig}\n rowClassName={rowClassName}\n expandable={expandableConfig}\n footSummary={this.buildSummary('footSummary', footSummary)}\n headSummary={this.buildSummary('headSummary', headSummary)}\n loading={this.renderSchema('loading', loading)}\n placeholder={this.renderSchema('placeholder', placeholder)}\n onSelect={this.handleSelected}\n onSelectAll={this.handleSelected}\n onSort={this.handleSort}\n onFilter={this.handleFilter}\n onDrag={this.handleOrderChange}\n itemActions={itemActionsConfig}\n onRow={{\n ...onRow,\n onRowClick: this.handleRowClick\n }}\n ></Table>\n );\n }\n\n renderHeading() {\n let {\n store,\n classnames: cx,\n headingClassName,\n translate: __\n } = this.props;\n\n if (store.moved) {\n return (\n <div className={cx('Table-heading', headingClassName)} key=\"heading\">\n {\n store.moved ? (\n <span>\n {__('Table.moved', {\n moved: store.moved\n })}\n <button\n type=\"button\"\n className={cx('Button Button--xs Button--success m-l-sm')}\n onClick={this.handleSaveOrder}\n >\n <Icon icon=\"check\" className=\"icon m-r-xs\" />\n {__('Form.submit')}\n </button>\n <button\n type=\"button\"\n className={cx('Button Button--xs Button--danger m-l-sm')}\n onClick={this.reset}\n >\n <Icon icon=\"close\" className=\"icon m-r-xs\" />\n {__('Table.discard')}\n </button>\n </span>\n ) : null\n }\n </div>\n );\n }\n\n return null;\n }\n\n render() {\n const {classnames: cx} = this.props;\n\n this.renderedToolbars = []; // 用来记录哪些 toolbar 已经渲染了\n \n const heading = this.renderHeading();\n\n return (\n <div className={cx('Table-render-wrapper')}>\n {this.renderActions('header')}\n {heading}\n {this.renderTable()}\n </div>\n );\n }\n}\n"
12
12
  ]
13
13
  }
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { RendererProps } from '../factory';
3
3
  import { Action } from '../types';
4
4
  import { TabsMode } from '../components/Tabs';
5
- import { BaseSchema, SchemaClassName, SchemaCollection, SchemaIcon } from '../Schema';
5
+ import { BaseSchema, SchemaClassName, SchemaCollection, SchemaIcon, SchemaExpression } from '../Schema';
6
6
  import { ActionSchema } from './Action';
7
7
  import { FormSchemaHorizontal } from './Form/index';
8
8
  import { IScopedContext } from '../Scoped';
@@ -148,8 +148,12 @@ export interface TabsSchema extends BaseSchema {
148
148
  * 自定义增加按钮文案
149
149
  */
150
150
  addBtnText?: string;
151
+ /**
152
+ * 默认激活的选项卡,hash值或索引值,支持使用表达式
153
+ */
154
+ activeKey?: SchemaExpression;
151
155
  }
152
- export interface TabsProps extends RendererProps, Omit<TabsSchema, 'className' | 'contentClassName'> {
156
+ export interface TabsProps extends RendererProps, Omit<TabsSchema, 'className' | 'contentClassName' | 'activeKey'> {
153
157
  activeKey?: string | number;
154
158
  location?: any;
155
159
  tabRender?: (tab: TabSchema, props: TabsProps, index: number) => JSX.Element;
@@ -89,6 +89,8 @@ var Tabs = /** @class */ (function (_super) {
89
89
  var _a, _b, _c;
90
90
  var props = this.props;
91
91
  var localTabs = this.state.localTabs;
92
+ var prevActiveKey = (0, tpl_builtin_1.tokenize)(preProps.defaultActiveKey, preProps.data);
93
+ var activeKey = (0, tpl_builtin_1.tokenize)(props.defaultActiveKey, props.data);
92
94
  // 响应外部修改 tabs
93
95
  var isTabsModified = (0, helper_1.isObjectShallowModified)({
94
96
  tabs: props.tabs,
@@ -145,6 +147,25 @@ var Tabs = /** @class */ (function (_super) {
145
147
  activeKey: (this.activeKey = activeKey_1)
146
148
  });
147
149
  }
150
+ else if (prevActiveKey !== activeKey) {
151
+ if (activeKey == null) {
152
+ return;
153
+ }
154
+ var newActivedKey = null;
155
+ var tab = (0, find_1.default)(localTabs, function (item) { return item.hash === activeKey; });
156
+ if (tab) {
157
+ newActivedKey = tab.hash;
158
+ }
159
+ else if (typeof activeKey === 'number' && localTabs[activeKey]) {
160
+ newActivedKey = activeKey;
161
+ }
162
+ if (newActivedKey) {
163
+ this.setState({
164
+ prevKey: prevActiveKey,
165
+ activeKey: (this.activeKey = newActivedKey)
166
+ });
167
+ }
168
+ }
148
169
  this.autoJumpToNeighbour(this.activeKey);
149
170
  var _e = this.props, name = _e.name, value = _e.value, onChange = _e.onChange, source = _e.source, data = _e.data;
150
171
  // 如果没有配置 name ,说明不需要同步表单值
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Tabs.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": ";;;;AAAA,6DAA0B;AAC1B,sCAAmD;AAEnD,kEAA+B;AAC/B,0CAQyB;AACzB,4EAAyC;AACzC,2CAAgE;AAShE,oCAAoC;AACpC,oDAI8B;AAE9B,oCAA+C;AAC/C,oCAAwD;AA6LxD;IAAkC,qCAAqC;IAYrE,cAAY,KAAgB;QAA5B,YACE,kBAAM,KAAK,CAAC,SA6Bb;QAhCD,qBAAe,GAAW,CAAC,CAAC;QAK1B,IAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;QAC5C,IAAA,IAAI,GAAkB,KAAK,KAAvB,EAAE,MAAM,GAAU,KAAK,OAAf,EAAE,IAAI,GAAI,KAAK,KAAT,CAAU;QACnC,IAAI,SAAS,GAAQ,CAAC,CAAC;QAEvB,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,WAAW,EAAE;YAC1C,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;SAC7B;aAAM,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC1C,IAAM,MAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACxC,IAAM,GAAG,GAAc,IAAA,cAAI,EAAC,IAAI,EAAE,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,KAAK,MAAI,EAAjB,CAAiB,CAAc,CAAC;YAEzE,IAAI,GAAG,EAAE;gBACP,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC;aACtB;iBAAM,IAAI,KAAK,CAAC,gBAAgB,EAAE;gBACjC,SAAS,GAAG,IAAA,sBAAQ,EAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;aAC1D;YAED,SAAS,GAAG,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzD;QAEK,IAAA,KAA4B,KAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAhE,SAAS,QAAA,EAAE,YAAY,QAAyC,CAAC;QAExE,KAAI,CAAC,KAAK,GAAG;YACX,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,CAAC,KAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YACvC,SAAS,WAAA;YACT,YAAY,cAAA;SACb,CAAC;;IACJ,CAAC;IAED,+BAA+B;IAE/B,2BAAY,GAAZ,UACE,IAAsB,EACtB,MAAe,EACf,IAAU;QAEV,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;SACpB;QAED,IAAM,GAAG,GAAG,IAAA,sCAAwB,EAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACvB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACtB;QAED,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAM,UAAU,GAAqB,EAAE,CAAC;QACxC,GAAG,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,KAAK;YACvB,IAAM,GAAG,GAAG,IAAA,qBAAY,EACtB,IAAI,EACJ,IAAA,iBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,yBAAE,KAAK,OAAA,IAAK,KAAK,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,OAAA,EAAC,CAC3D,CAAC;YAEF,UAAU,CAAC,IAAI,OAAf,UAAU,EAAS,IAAI,CAAC,GAAG,CAAC,UAAC,GAAc,IAAK,OAAA,iDAAK,GAAG,KAAE,GAAG,KAAA,IAAE,EAAf,CAAe,CAAC,EAAE;QACpE,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,gCAAiB,GAAjB;;QACE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAErC,IAAA,KAA8C,IAAI,CAAC,KAAK,EAAvD,IAAI,UAAA,EAAE,KAAK,WAAA,EAAE,QAAQ,cAAA,EAAE,MAAM,YAAA,EAAE,IAAI,UAAA,EAAE,IAAI,UAAc,CAAC;QAE7D,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAEvC,0BAA0B;QAC1B,IACE,CAAC,IAAI;YACL,OAAO,QAAQ,KAAK,UAAU;YAC9B,kBAAkB;YAClB,MAAM,EACN;YACA,OAAO;SACR;QAED,KAAK,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAA,oBAAW,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEzC,kBAAkB;QAClB,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YACrC,IAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC1C,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;SAC7C;aAAM;YACL,IAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACjD,IAAI,GAAG,IAAI,KAAK,KAAK,CAAC,MAAC,GAAW,CAAC,KAAK,mCAAI,GAAG,CAAC,KAAK,CAAC,EAAE;gBACtD,QAAQ,CAAC,MAAC,GAAW,CAAC,KAAK,mCAAI,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,iCAAkB,GAAlB,UAAmB,QAAmB,EAAE,SAAc;;QACpD,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAErC,cAAc;QACd,IAAM,cAAc,GAAG,IAAA,gCAAuB,EAC5C;YACE,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,IAAA,sCAAwB,EAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC;SACpE,EACD;YACE,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,MAAM,EAAE,IAAA,sCAAwB,EAC9B,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,IAAI,EACb,OAAO,CACR;SACF,EACD,KAAK,CACN,CAAC;QAEF,IAAI,cAAc,EAAE;YACZ,IAAA,KAA+B,IAAI,CAAC,YAAY,CACpD,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,IAAI,CACX,EAJM,YAAY,QAAA,EAAE,YAAY,QAIhC,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC;gBACZ,SAAS,EAAE,YAAY;gBACvB,YAAY,cAAA;aACb,CAAC,CAAC;YACH,SAAS,GAAG,YAAY,CAAC;SAC1B;QAED,IACE,KAAK,CAAC,QAAQ;YACd,QAAQ,CAAC,QAAQ;YACjB,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAC9C;YACA,IAAM,MAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,CAAC,MAAI,EAAE;gBACT,OAAO;aACR;YAED,IAAM,GAAG,GAAc,IAAA,cAAI,EACzB,SAAS,EACT,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,KAAK,MAAI,EAAjB,CAAiB,CACZ,CAAC;YACf,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;gBACxD,IAAI,CAAC,QAAQ,CAAC;oBACZ,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC;oBACtC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;iBAC9B,CAAC,CAAC;aACJ;SACF;aAAM,IACL,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YACxB,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC;YAClC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,EAAT,CAAS,CAAC,CAAC;gBAC9C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,UAAC,IAAe,IAAK,OAAA,IAAI,CAAC,IAAI,EAAT,CAAS,CAAC,CAAC,EACzE;YACA,IAAI,WAAS,GAAQ,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YAC1C,IAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAChC,IAAI,GAAG,GAAqB,IAAI,CAAC;YAEjC,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBACxC,IAAM,MAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACxC,GAAG,GAAG,IAAA,cAAI,EAAC,SAAS,EAAE,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,KAAK,MAAI,EAAjB,CAAiB,CAAc,CAAC;aAC9D;YAED,IAAI,GAAG,EAAE;gBACP,WAAS,GAAG,GAAG,CAAC,IAAI,CAAC;aACtB;iBAAM,IACL,CAAC,SAAS;gBACV,CAAC,SAAS,CAAC,IAAI,CAAC,UAAC,IAAI,EAAE,KAAK;oBAC1B,OAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,WAAS,CAAC,CAAC,CAAC,KAAK,KAAK,WAAS;gBAAzD,CAAyD,CAC1D,EACD;gBACA,WAAS,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnE;YAED,IAAI,CAAC,QAAQ,CAAC;gBACZ,OAAO,EAAE,SAAS;gBAClB,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,WAAS,CAAC;aACxC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAErC,IAAA,KAAwC,IAAI,CAAC,KAAK,EAAjD,IAAI,UAAA,EAAE,KAAK,WAAA,EAAE,QAAQ,cAAA,EAAE,MAAM,YAAA,EAAE,IAAI,UAAc,CAAC;QAEvD,0BAA0B;QAC1B,IACE,CAAC,IAAI;YACL,OAAO,QAAQ,KAAK,UAAU;YAC9B,kBAAkB;YAClB,MAAM,EACN;YACA,OAAO;SACR;QAED,IAAI,GAAQ,CAAC;QACb,KAAK,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAA,oBAAW,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzC,IAAM,SAAS,GACb,MAAA,QAAQ,CAAC,KAAK,mCAAI,IAAA,oBAAW,EAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9D,IACE,KAAK,KAAK,SAAS;YACnB,CAAC,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,KAAK,SAAS;YACnD,GAAG,KAAK,IAAI,CAAC,SAAS,EACtB;YACA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;SACxB;aAAM,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,SAAS,EAAE;YACjD,IAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACjD,IAAI,GAAG,IAAI,KAAK,KAAK,CAAC,MAAC,GAAW,CAAC,KAAK,mCAAI,GAAG,CAAC,KAAK,CAAC,EAAE;gBACtD,QAAQ,CAAC,MAAC,GAAW,CAAC,KAAK,mCAAI,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,8BAAe,GAAf,UAAgB,GAAQ;QACtB,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAEvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC7B,OAAO;SACR;QAED,OAAO,IAAA,cAAI,EAAC,SAAS,EAAE,UAAC,GAAc,EAAE,KAAK;YAC3C,OAAA,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG;QAA3C,CAA2C,CAC5C,CAAC;IACJ,CAAC;IAED,gCAAiB,GAAjB,UAAkB,KAAU;QAC1B,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAEvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC7B,OAAO;SACR;QAED,IAAM,GAAG,GAAc,IAAA,cAAI,EACzB,SAAS,EACT,UAAA,GAAG,YAAI,OAAA,CAAC,MAAC,GAAW,CAAC,KAAK,mCAAI,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,CAAA,EAAA,CACtC,CAAC;QAEf,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7D,CAAC;IAGD,kCAAmB,GAAnB,UAAoB,GAAQ;QACpB,IAAA,KAAe,IAAI,CAAC,KAAK,EAAxB,IAAI,UAAA,EAAE,IAAI,UAAc,CAAC;QAChC,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAEvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC7B,OAAO;SACR;QAED,0CAA0C;QAC1C,IAAM,QAAQ,GAAG,IAAA,mBAAS,EAAC,SAAS,EAAE,UAAC,GAAc,EAAE,KAAK;YAC1D,OAAA,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG;QAA3C,CAA2C,CAC5C,CAAC;QAEF,IACE,SAAS,CAAC,QAAQ,CAAC;YACnB,CAAC,IAAA,kBAAS,EAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAChD;YACA,IAAI,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC;YAC3B,IAAI,CAAC,GAAG,QAAQ,GAAG,CAAC,GAAG,GAAG,CAAC;YAC3B,IAAI,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;YAEpB,OAAO,KAAK,EAAE,EAAE;gBACd,IAAM,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC;gBACxB,IAAI,IAAA,kBAAS,EAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE;oBACrC,IAAI,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC;oBAC/C,IAAI,CAAC,QAAQ,CAAC;wBACZ,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;qBACxC,CAAC,CAAC;oBACH,MAAM;iBACP;aACF;SACF;IACH,CAAC;IAGD,wBAAS,GAAT;QADA,iBAiBC;QAfC,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QAEhD,SAAS,CAAC,IAAI,CAAC;YACb,KAAK,EAAE,aAAM,IAAI,CAAC,eAAe,EAAE,CAAE;YACrC,IAAI,EAAE,KAAK;SACC,CAAC,CAAC;QAEhB,IAAI,CAAC,QAAQ,CACX;YACE,SAAS,EAAE,SAAS;SACrB,EACD;YACE,KAAI,CAAC,QAAQ,CAAC,KAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjD,CAAC,CACF,CAAC;IACJ,CAAC;IAGD,0BAAW,GAAX,UAAY,KAAa,EAAE,GAAoB;QAC7C,IAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QAEjD,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAE5B,IAAI,CAAC,QAAQ,CAAC;YACZ,SAAS,EAAE,UAAU;SACtB,CAAC,CAAC;IACL,CAAC;IAGD,yBAAU,GAAV,UAAW,KAAa,EAAE,IAAY;QACpC,IAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACjD,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;QAE/B,IAAI,CAAC,QAAQ,CAAC;YACZ,SAAS,EAAE,UAAU;SACtB,CAAC,CAAC;IACL,CAAC;IAGK,+BAAgB,GAAtB,UAAuB,CAAM;;;;;gBACrB,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACjD,UAAU,GAAgB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;gBAE9D,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEtE,IAAI,CAAC,QAAQ,CACX;oBACE,SAAS,EAAE,UAAU;iBACtB,EACD;oBACE,IAAI,SAAS,EAAE;wBACb,IAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;wBACxD,KAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;qBAClC;gBACH,CAAC,CACF,CAAC;;;;KACH;IAGK,2BAAY,GAAlB,UAAmB,GAAQ;;;;;;;wBACnB,KAA2C,IAAI,CAAC,KAAK,EAApD,aAAa,mBAAA,EAAE,IAAI,UAAA,EAAE,GAAG,SAAA,EAAE,QAAQ,cAAA,EAAE,EAAE,QAAA,CAAe;wBACrD,SAAS,GAAI,IAAI,CAAC,KAAK,UAAd,CAAe;wBAE/B,MAAA,GAAG,CAAC,OAAO,+CAAX,GAAG,EAAW;4BACZ,SAAS,EAAE,WAAW;4BACtB,SAAS,EAAE;gCACT,EAAE,IAAA;gCACF,GAAG,KAAA;6BACJ;yBACF,CAAC,CAAC;wBAEG,GAAG,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,CAAC,UAAC,IAAI,EAAE,KAAK,IAAK,OAAA,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAvC,CAAuC,CAAC,CAAC;wBAEhE,qBAAM,aAAa,CACvC,QAAQ,EACR,IAAA,qBAAY,EAAC,IAAI,EAAE;gCACjB,KAAK,EAAE,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,EAAC,CAAC,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;6BACvC,CAAC,CACH,EAAA;;wBALK,aAAa,GAAG,SAKrB;wBACD,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,EAAE;4BAC5B,sBAAO;yBACR;wBAED,kBAAkB;wBAClB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,EAAE;4BAClC,GAAG,CAAC,cAAc,CAAC,WAAI,GAAG,CAAE,CAAC,CAAC;yBAC/B;6BAAM,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,GAAG,EAAE;4BAC1D,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;yBACzB;wBAED,IAAI,CAAC,QAAQ,CAAC;4BACZ,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;4BACjC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;yBAC9B,CAAC,CAAC;wBAEH,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;4BAC1B,UAAU,GAAG,IAAA,uBAAiB,EAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;4BAC/D,UAAU,IAAI,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;yBAC3C;6BAAM,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;4BACzC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;yBAC3B;;;;;KACF;IAED;;OAEG;IACH,uBAAQ,GAAR,UAAS,MAAc,EAAE,IAAS;QAChC,IAAM,UAAU,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAoB,CAAC;QAChD,IAAI,SAAS,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAmB,CAAC;QAC1C,cAAc;QACd,IAAI,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,CAAA,KAAK,QAAQ,EAAE;YACvC,SAAS,EAAE,CAAC;SACb;QACD,IAAI,UAAU,KAAK,iBAAiB,EAAE;YACpC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;SAC9B;IACH,CAAC;IAGD,uBAAQ,GAAR,UAAS,KAAa;QACpB,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAEvC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YACtB,SAAS,CAAC,KAAK,CAAC;YAChB,IAAI,CAAC,QAAQ,CAAC;gBACZ,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC;aAC7D,CAAC,CAAC;IACP,CAAC;IAGD,2BAAY,GAAZ;QADA,iBAYC;QAVC,6BAA6B;QAC7B,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAEvC,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YAC7B,CAAC,CAAC,IAAA,mBAAS,EAAC,SAAS,EAAE,UAAC,GAAc,EAAE,KAAK;gBACzC,OAAA,GAAG,CAAC,IAAI;oBACN,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,KAAI,CAAC,KAAK,CAAC,SAAS;oBACnC,CAAC,CAAC,KAAK,KAAK,KAAI,CAAC,KAAK,CAAC,SAAS;YAFlC,CAEkC,CACnC;YACH,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IAED,4BAAa,GAAb;QACQ,IAAA,KAAsD,IAAI,CAAC,KAAK,EAA/D,OAAO,aAAA,EAAE,MAAM,YAAA,EAAc,EAAE,gBAAA,EAAE,gBAAgB,sBAAc,CAAC;QAEvE,OAAO,OAAO,CAAC,CAAC,CAAC,CACf,uCAAK,SAAS,EAAE,EAAE,CAAC,cAAc,EAAE,gBAAgB,CAAC,IACjD,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CACvB,CACP,CAAC,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED,yBAAU,GAAV;QAAA,iBAyIC;QAxIO,IAAA,KA2BF,IAAI,CAAC,KAAK,EA1BA,EAAE,gBAAA,EACD,EAAE,iBAAA,EACf,gBAAgB,sBAAA,EAChB,cAAc,oBAAA,EACd,SAAS,eAAA,EACT,SAAS,eAAA,EACT,MAAM,YAAA,EACN,IAAI,UAAA,EACE,KAAK,UAAA,EACX,QAAQ,cAAA,EACR,aAAa,mBAAA,EACb,MAAM,YAAA,EACN,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,cAAc,oBAAA,EACd,WAAW,iBAAA,EACX,iBAAiB,uBAAA,EACjB,OAAO,aAAA,EACP,QAAQ,cAAA,EACR,SAAS,eAAA,EACT,OAAO,aAAA,EACP,gBAAgB,sBAAA,EAChB,QAAQ,cAAA,EACR,YAAY,kBAAA,EACD,EAAE,eAAA,EACb,UAAU,gBACE,CAAC;QAEf,IAAM,IAAI,GAAG,QAAQ,IAAI,KAAK,CAAC;QAC/B,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;QAE3C,2BAA2B;QAC3B,uBAAuB;QACvB,IAAI,SAAS,EAAE;YACb,YAAY,GAAG,KAAK,CAAC;SACtB;QAEK,IAAA,KAAkC,IAAI,CAAC,KAAK,EAAhC,IAAI,eAAA,EAAE,YAAY,kBAAc,CAAC;QACnD,IAAI,QAAQ,GAA8B,EAAE,CAAC;QAE7C,mBAAmB;QACnB,IAAI,YAAY,EAAE;YAChB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAC,GAAc,EAAE,KAAa;;gBAChD,OAAA,IAAA,kBAAS,EAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACxB,8BAAC,UAAG,4BACG,GAAW,IAChB,KAAK,EAAE,IAAA,YAAM,EAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,EACjC,QAAQ,EAAE,IAAA,mBAAU,EAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,EAClC,GAAG,EAAE,KAAK,EACV,QAAQ,EAAE,KAAK,EACf,YAAY,EAAE,YAAY,EAC1B,aAAa,EACX,OAAO,GAAG,CAAC,MAAM,KAAK,SAAS;wBAC7B,CAAC,CAAC,GAAG,CAAC,MAAM;wBACZ,CAAC,CAAC,OAAO,GAAG,CAAC,aAAa,KAAK,SAAS;4BACxC,CAAC,CAAC,GAAG,CAAC,aAAa;4BACnB,CAAC,CAAC,aAAa,KAGlB,MAAM,CACL,eAAQ,KAAK,CAAE,EACf,CAAA,MAAC,GAAW,0CAAE,IAAI,EAAC,CAAC,CAAE,GAAW,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,EACvD;oBACE,IAAI,EAAE,GAAG,CAAC,GAAG;oBACb,QAAQ,EAAE,GAAG,CAAC,IAAI,IAAI,WAAW,IAAI,QAAQ;oBAC7C,cAAc,EACZ,GAAG,CAAC,UAAU,IAAI,iBAAiB,IAAI,cAAc;iBACxD,CACF,CACG,CACP,CAAC,CAAC,CAAC,IAAI,CAAA;aAAA,CACT,CAAC;SACH;aAAM;YACL,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,EAAE,KAAK;;gBAC7B,OAAA,IAAA,kBAAS,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CACrB,8BAAC,UAAG,4BACG,GAAW,IAChB,KAAK,EAAE,IAAA,YAAM,EAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,EAC9B,QAAQ,EAAE,IAAA,mBAAU,EAAC,GAAG,EAAE,IAAI,CAAC,EAC/B,GAAG,EAAE,KAAK,EACV,QAAQ,EAAE,GAAG,CAAC,IAAI,IAAI,KAAK,EAC3B,YAAY,EAAE,YAAY,EAC1B,aAAa,EACX,OAAO,GAAG,CAAC,MAAM,KAAK,SAAS;wBAC7B,CAAC,CAAC,GAAG,CAAC,MAAM;wBACZ,CAAC,CAAC,OAAO,GAAG,CAAC,aAAa,KAAK,SAAS;4BACxC,CAAC,CAAC,GAAG,CAAC,aAAa;4BACnB,CAAC,CAAC,aAAa,KAGlB,KAAI,CAAC,SAAS;oBACb,CAAC,CAAC,KAAI,CAAC,SAAS,CAAC,GAAG,EAAE,KAAI,CAAC,KAAK,EAAE,KAAK,CAAC;oBACxC,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,KAAI,CAAC,KAAK,EAAE,KAAK,CAAC;wBACnC,CAAC,CAAC,MAAM,CACJ,cAAO,KAAK,CAAE,EACd,CAAA,MAAC,GAAW,0CAAE,IAAI,EAAC,CAAC,CAAE,GAAW,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,EACvD;4BACE,QAAQ,EAAE,GAAG,CAAC,IAAI,IAAI,WAAW,IAAI,QAAQ;4BAC7C,cAAc,EACZ,GAAG,CAAC,UAAU,IAAI,iBAAiB,IAAI,cAAc;yBACxD,CACF,CACD,CACP,CAAC,CAAC,CAAC,IAAI,CAAA;aAAA,CACT,CAAC;SACH;QAED,OAAO,CACL,8BAAC,WAAK,IACJ,UAAU,EAAE,EAAE,CAAC,UAAU,IAAI,KAAK,CAAC,EACnC,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,EAAE,EACd,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAC/B,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,EAC7B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,IAAI,CAAC,SAAS,EACrB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,IAAI,CAAC,gBAAgB,EACnC,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,IAAI,CAAC,UAAU,EACvB,YAAY,EAAE,YAAY,IAEzB,QAAQ,CACH,CACT,CAAC;IACJ,CAAC;IAED,qBAAM,GAAN;QACE,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;IAC3B,CAAC;;IAtkBM,iBAAY,GAAuB;QACxC,SAAS,EAAE,EAAE;QACb,IAAI,EAAE,EAAE;QACR,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,KAAK;KACrB,CAAC;IAwCF;QADC,iBAAQ;;0EAED,KAAK,oBAAL,KAAK;;4CA0BZ;IAoLD;QADC,iBAAQ;;;;mDAiCR;IAGD;QADC,iBAAQ;;;;yCAiBR;IAGD;QADC,iBAAQ;;;;2CASR;IAGD;QADC,iBAAQ;;;;0CAQR;IAGD;QADC,iBAAQ;;;;gDAkBR;IAGD;QADC,iBAAQ;;;;4CA2CR;IAkBD;QADC,iBAAQ;;;;wCASR;IAGD;QADC,iBAAQ;;;;4CAYR;IA0JH,WAAC;CAAA,AAxkBD,CAAkC,eAAK,CAAC,SAAS,GAwkBhD;kBAxkBoB,IAAI;AA4kBzB;IAAkC,6CAAI;IAGpC,sBAAY,KAAgB,EAAE,OAAuB;QAArD,YACE,kBAAM,KAAK,CAAC,SAIb;QAFC,IAAM,MAAM,GAAG,OAAO,CAAC;QACvB,MAAM,CAAC,iBAAiB,CAAC,KAAI,CAAC,CAAC;;IACjC,CAAC;IAED,2CAAoB,GAApB;;QACE,MAAA,iBAAM,oBAAoB,oDAAI,CAAC;QAC/B,IAAM,MAAM,GAAG,IAAI,CAAC,OAAyB,CAAC;QAC9C,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;;IAbM,wBAAW,GAAG,sBAAa,CAAC;IADxB,YAAY;QAHxB,IAAA,kBAAQ,EAAC;YACR,IAAI,EAAE,MAAM;SACb,CAAC;kFAIuC,uBAAc,oBAAd,uBAAc;OAH1C,YAAY,CAexB;IAAD,mBAAC;CAAA,AAfD,CAAkC,IAAI,GAerC;AAfY,oCAAY",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "import React from 'react';\nimport {Renderer, RendererProps} from '../factory';\nimport {Action, Schema, SchemaNode} from '../types';\nimport find from 'lodash/find';\nimport {\n isVisible,\n autobind,\n isDisabled,\n isObject,\n createObject,\n getVariable,\n isObjectShallowModified\n} from '../utils/helper';\nimport findIndex from 'lodash/findIndex';\nimport {Tabs as CTabs, Tab, TabsMode} from '../components/Tabs';\nimport {ClassNamesFn} from '../theme';\nimport {\n BaseSchema,\n SchemaClassName,\n SchemaCollection,\n SchemaIcon\n} from '../Schema';\nimport {ActionSchema} from './Action';\nimport {filter} from '../utils/tpl';\nimport {\n resolveVariable,\n tokenize,\n resolveVariableAndFilter\n} from '../utils/tpl-builtin';\nimport {FormSchemaHorizontal} from './Form/index';\nimport {str2AsyncFunction} from '../utils/api';\nimport {ScopedContext, IScopedContext} from '../Scoped';\n\nexport interface TabSchema extends Omit<BaseSchema, 'type'> {\n /**\n * Tab 标题\n */\n title?: string;\n\n /**\n * 内容\n * @deprecated 用 body 属性\n */\n tab?: SchemaCollection;\n\n /**\n * 内容\n */\n body?: SchemaCollection;\n\n /**\n * 徽标\n */\n badge?: number;\n\n /**\n * 设置以后将跟url的hash对应\n */\n hash?: string;\n\n /**\n * 按钮图标\n */\n icon?: SchemaIcon;\n\n iconPosition?: 'left' | 'right';\n\n /**\n * 设置以后内容每次都会重新渲染\n */\n reload?: boolean;\n\n /**\n * 点开时才加载卡片内容\n */\n mountOnEnter?: boolean;\n\n /**\n * 卡片隐藏就销毁卡片节点。\n */\n unmountOnExit?: boolean;\n\n /**\n * 配置子表单项默认的展示方式。\n */\n mode?: 'normal' | 'inline' | 'horizontal';\n /**\n * 如果是水平排版,这个属性可以细化水平排版的左右宽度占比。\n */\n horizontal?: FormSchemaHorizontal;\n /**\n * 是否可关闭,优先级高于 tabs 的 closable\n */\n closable?: boolean;\n /**\n * 是否禁用\n */\n disabled?: boolean;\n}\n\n/**\n * 选项卡控件。\n * 文档:https://baidu.gitee.io/amis/docs/components/tabs\n */\nexport interface TabsSchema extends BaseSchema {\n type: 'tabs';\n\n /**\n * 选项卡成员。当配置了 source 时,选项卡成员,将会根据目标数据进行重复。\n */\n tabs: Array<TabSchema>;\n\n /**\n * 关联已有数据,选项卡直接根据目标数据重复。\n */\n source?: string;\n\n /**\n * 类名\n */\n tabsClassName?: SchemaClassName;\n\n /**\n * 展示形式\n */\n tabsMode?: TabsMode;\n\n /**\n * 内容类名\n */\n contentClassName?: SchemaClassName;\n\n /**\n * 链接外层类名\n */\n linksClassName?: SchemaClassName;\n\n /**\n * 卡片是否只有在点开的时候加载?\n */\n mountOnEnter?: boolean;\n\n /**\n * 卡片隐藏的时候是否销毁卡片内容\n */\n unmountOnExit?: boolean;\n\n /**\n * 可以在右侧配置点其他功能按钮。\n */\n toolbar?: ActionSchema;\n\n /**\n * 配置子表单项默认的展示方式。\n */\n subFormMode?: 'normal' | 'inline' | 'horizontal';\n /**\n * 如果是水平排版,这个属性可以细化水平排版的左右宽度占比。\n */\n subFormHorizontal?: FormSchemaHorizontal;\n /**\n * 是否支持新增\n */\n addable?: boolean;\n /**\n * 是否支持删除\n */\n closable?: boolean;\n /**\n * 是否支持拖拽\n */\n draggable?: boolean;\n /**\n * 是否显示提示\n */\n showTip?: boolean;\n /**\n * tooltip 提示的类名\n */\n showTipClassName?: string;\n /**\n * 是否可编辑标签名\n */\n editable?: boolean;\n /**\n * 是否导航支持内容溢出滚动。属性废弃,为了兼容暂且保留\n */\n scrollable?: boolean;\n /**\n * 编辑器模式,侧边的位置\n */\n sidePosition?: 'left' | 'right';\n /**\n * 自定义增加按钮文案\n */\n addBtnText?: string;\n}\n\nexport interface TabsProps\n extends RendererProps,\n Omit<TabsSchema, 'className' | 'contentClassName'> {\n activeKey?: string | number;\n location?: any;\n tabRender?: (tab: TabSchema, props: TabsProps, index: number) => JSX.Element;\n}\n\ninterface TabSource extends TabSchema {\n ctx?: any;\n}\n\nexport interface TabsState {\n activeKey: any;\n prevKey: any;\n localTabs: Array<TabSource>;\n isFromSource: boolean;\n}\n\nexport type TabsRendererEvent = 'change';\nexport type TabsRendererAction = 'changeActiveKey';\n\nexport default class Tabs extends React.Component<TabsProps, TabsState> {\n static defaultProps: Partial<TabsProps> = {\n className: '',\n mode: '',\n mountOnEnter: true,\n unmountOnExit: false\n };\n\n renderTab?: (tab: TabSchema, props: TabsProps, index: number) => JSX.Element;\n activeKey: any;\n newTabDefaultId: number = 3;\n\n constructor(props: TabsProps) {\n super(props);\n\n const location = props.location || window.location;\n const {tabs, source, data} = props;\n let activeKey: any = 0;\n\n if (typeof props.activeKey !== 'undefined') {\n activeKey = props.activeKey;\n } else if (location && Array.isArray(tabs)) {\n const hash = location.hash.substring(1);\n const tab: TabSource = find(tabs, tab => tab.hash === hash) as TabSource;\n\n if (tab) {\n activeKey = tab.hash;\n } else if (props.defaultActiveKey) {\n activeKey = tokenize(props.defaultActiveKey, props.data);\n }\n\n activeKey = activeKey || (tabs[0] && tabs[0].hash) || 0;\n }\n\n const [localTabs, isFromSource] = this.initTabArray(tabs, source, data);\n\n this.state = {\n prevKey: undefined,\n activeKey: (this.activeKey = activeKey),\n localTabs,\n isFromSource\n };\n }\n\n // 初始化 tabs 数组,当从 source 获取数据源时\n @autobind\n initTabArray(\n tabs: Array<TabSource>,\n source?: string,\n data?: any\n ): [Array<TabSource>, boolean] {\n if (!tabs) {\n return [[], false];\n }\n\n const arr = resolveVariableAndFilter(source, data, '| raw');\n if (!Array.isArray(arr)) {\n return [tabs, false];\n }\n\n tabs = Array.isArray(tabs) ? tabs : [tabs];\n\n const sourceTabs: Array<TabSource> = [];\n arr.forEach((value, index) => {\n const ctx = createObject(\n data,\n isObject(value) ? {index, ...value} : {item: value, index}\n );\n\n sourceTabs.push(...tabs.map((tab: TabSource) => ({...tab, ctx})));\n });\n\n return [sourceTabs, true];\n }\n\n componentDidMount() {\n this.autoJumpToNeighbour(this.activeKey);\n\n let {name, value, onChange, source, tabs, data} = this.props;\n\n const localTabs = this.state.localTabs;\n\n // 如果没有配置 name ,说明不需要同步表单值\n if (\n !name ||\n typeof onChange !== 'function' ||\n // 如果关联某个变量数据,则不启用\n source\n ) {\n return;\n }\n\n value = value ?? getVariable(data, name);\n\n // 如果有值,切到对应的 tab\n if (value && Array.isArray(localTabs)) {\n const key = this.resolveKeyByValue(value);\n key !== undefined && this.handleSelect(key);\n } else {\n const tab = this.resolveTabByKey(this.activeKey);\n if (tab && value !== ((tab as any).value ?? tab.title)) {\n onChange((tab as any).value ?? tab.title, name);\n }\n }\n }\n\n componentDidUpdate(preProps: TabsProps, prevState: any) {\n const props = this.props;\n let localTabs = this.state.localTabs;\n\n // 响应外部修改 tabs\n const isTabsModified = isObjectShallowModified(\n {\n tabs: props.tabs,\n source: resolveVariableAndFilter(props.source, props.data, '| raw')\n },\n {\n tabs: preProps.tabs,\n source: resolveVariableAndFilter(\n preProps.source,\n preProps.data,\n '| raw'\n )\n },\n false\n );\n\n if (isTabsModified) {\n const [newLocalTabs, isFromSource] = this.initTabArray(\n props.tabs,\n props.source,\n props.data\n );\n\n this.setState({\n localTabs: newLocalTabs,\n isFromSource\n });\n localTabs = newLocalTabs;\n }\n\n if (\n props.location &&\n preProps.location &&\n props.location.hash !== preProps.location.hash\n ) {\n const hash = props.location.hash.substring(1);\n if (!hash) {\n return;\n }\n\n const tab: TabSource = find(\n localTabs,\n tab => tab.hash === hash\n ) as TabSource;\n if (tab && tab.hash && tab.hash !== this.state.activeKey) {\n this.setState({\n activeKey: (this.activeKey = tab.hash),\n prevKey: this.state.activeKey\n });\n }\n } else if (\n Array.isArray(localTabs) &&\n Array.isArray(prevState.localTabs) &&\n JSON.stringify(localTabs.map(item => item.hash)) !==\n JSON.stringify(prevState.localTabs.map((item: TabSource) => item.hash))\n ) {\n let activeKey: any = this.state.activeKey;\n const location = props.location;\n let tab: TabSource | null = null;\n\n if (location && Array.isArray(localTabs)) {\n const hash = location.hash.substring(1);\n tab = find(localTabs, tab => tab.hash === hash) as TabSource;\n }\n\n if (tab) {\n activeKey = tab.hash;\n } else if (\n !localTabs ||\n !localTabs.some((item, index) =>\n item.hash ? item.hash === activeKey : index === activeKey\n )\n ) {\n activeKey = (localTabs && localTabs[0] && localTabs[0].hash) || 0;\n }\n\n this.setState({\n prevKey: undefined,\n activeKey: (this.activeKey = activeKey)\n });\n }\n\n this.autoJumpToNeighbour(this.activeKey);\n\n let {name, value, onChange, source, data} = this.props;\n\n // 如果没有配置 name ,说明不需要同步表单值\n if (\n !name ||\n typeof onChange !== 'function' ||\n // 如果关联某个变量数据,则不启用\n source\n ) {\n return;\n }\n\n let key: any;\n value = value ?? getVariable(data, name);\n const prevValue =\n preProps.value ?? getVariable(preProps.data, preProps.name);\n if (\n value !== prevValue &&\n (key = this.resolveKeyByValue(value)) !== undefined &&\n key !== this.activeKey\n ) {\n this.handleSelect(key);\n } else if (this.activeKey !== prevState.activeKey) {\n const tab = this.resolveTabByKey(this.activeKey);\n if (tab && value !== ((tab as any).value ?? tab.title)) {\n onChange((tab as any).value ?? tab.title, name);\n }\n }\n }\n\n resolveTabByKey(key: any) {\n const localTabs = this.state.localTabs;\n\n if (!Array.isArray(localTabs)) {\n return;\n }\n\n return find(localTabs, (tab: TabSource, index) =>\n tab.hash ? tab.hash === key : index === key\n );\n }\n\n resolveKeyByValue(value: any) {\n const localTabs = this.state.localTabs;\n\n if (!Array.isArray(localTabs)) {\n return;\n }\n\n const tab: TabSource = find(\n localTabs,\n tab => ((tab as any).value ?? tab.title) === value\n ) as TabSource;\n\n return tab && tab.hash ? tab.hash : localTabs.indexOf(tab);\n }\n\n @autobind\n autoJumpToNeighbour(key: any) {\n const {tabs, data} = this.props;\n const localTabs = this.state.localTabs;\n\n if (!Array.isArray(localTabs)) {\n return;\n }\n\n // 当前 tab 可能不可见,所以需要自动切到一个可见的 tab, 向前找,找一圈\n const tabIndex = findIndex(localTabs, (tab: TabSource, index) =>\n tab.hash ? tab.hash === key : index === key\n );\n\n if (\n localTabs[tabIndex] &&\n !isVisible(localTabs[tabIndex], this.props.data)\n ) {\n let len = localTabs.length;\n let i = tabIndex - 1 + len;\n let tries = len - 1;\n\n while (tries--) {\n const index = i-- % len;\n if (isVisible(localTabs[index], data)) {\n let activeKey = localTabs[index].hash || index;\n this.setState({\n activeKey: (this.activeKey = activeKey)\n });\n break;\n }\n }\n }\n }\n\n @autobind\n handleAdd() {\n const localTabs = this.state.localTabs.concat();\n\n localTabs.push({\n title: `tab${this.newTabDefaultId++}`,\n body: 'tab'\n } as TabSource);\n\n this.setState(\n {\n localTabs: localTabs\n },\n () => {\n this.switchTo(this.state.localTabs.length - 1);\n }\n );\n }\n\n @autobind\n handleClose(index: number, key: string | number) {\n const originTabs = this.state.localTabs.concat();\n\n originTabs.splice(index, 1);\n\n this.setState({\n localTabs: originTabs\n });\n }\n\n @autobind\n handleEdit(index: number, text: string) {\n const originTabs = this.state.localTabs.concat();\n originTabs[index].title = text;\n\n this.setState({\n localTabs: originTabs\n });\n }\n\n @autobind\n async handleDragChange(e: any) {\n const activeTab = this.resolveTabByKey(this.activeKey);\n const originTabs: TabSource[] = this.state.localTabs.concat();\n\n originTabs.splice(e.newIndex, 0, originTabs.splice(e.oldIndex, 1)[0]);\n\n this.setState(\n {\n localTabs: originTabs\n },\n () => {\n if (activeTab) {\n const newActiveTabIndex = originTabs.indexOf(activeTab);\n this.switchTo(newActiveTabIndex);\n }\n }\n );\n }\n\n @autobind\n async handleSelect(key: any) {\n const {dispatchEvent, data, env, onSelect, id} = this.props;\n const {localTabs} = this.state;\n\n env.tracker?.({\n eventType: 'tabChange',\n eventData: {\n id,\n key\n }\n });\n // 获取激活元素项\n const tab = localTabs?.find((item, index) => key === (item.hash ? item.hash : index));\n\n const rendererEvent = await dispatchEvent(\n 'change',\n createObject(data, {\n value: tab?.hash ? tab?.hash : key + 1\n })\n );\n if (rendererEvent?.prevented) {\n return;\n }\n\n // 是 hash,需要更新到地址栏\n if (typeof key === 'string' && env) {\n env.updateLocation(`#${key}`);\n } else if (typeof this.state.activeKey === 'string' && env) {\n env.updateLocation(`#`);\n }\n\n this.setState({\n activeKey: (this.activeKey = key),\n prevKey: this.state.activeKey\n });\n\n if (typeof onSelect === 'string') {\n const selectFunc = str2AsyncFunction(onSelect, 'key', 'props');\n selectFunc && selectFunc(key, this.props);\n } else if (typeof onSelect === 'function') {\n onSelect(key, this.props);\n }\n }\n\n /**\n * 动作处理\n */\n doAction(action: Action, args: any) {\n const actionType = action?.actionType as string;\n let activeKey = args?.activeKey as number;\n // 处理非用户自定义key\n if (typeof args?.activeKey !== 'string') {\n activeKey--;\n }\n if (actionType === 'changeActiveKey') {\n this.handleSelect(activeKey);\n }\n }\n\n @autobind\n switchTo(index: number) {\n const localTabs = this.state.localTabs;\n\n Array.isArray(localTabs) &&\n localTabs[index] &&\n this.setState({\n activeKey: (this.activeKey = localTabs[index].hash || index)\n });\n }\n\n @autobind\n currentIndex(): number {\n // const {tabs} = this.props;\n const localTabs = this.state.localTabs;\n\n return Array.isArray(localTabs)\n ? findIndex(localTabs, (tab: TabSource, index) =>\n tab.hash\n ? tab.hash === this.state.activeKey\n : index === this.state.activeKey\n )\n : -1;\n }\n\n renderToolbar() {\n const {toolbar, render, classnames: cx, toolbarClassName} = this.props;\n\n return toolbar ? (\n <div className={cx(`Tabs-toolbar`, toolbarClassName)}>\n {render('toolbar', toolbar)}\n </div>\n ) : null;\n }\n\n renderTabs() {\n const {\n classnames: cx,\n classPrefix: ns,\n contentClassName,\n linksClassName,\n tabRender,\n className,\n render,\n data,\n mode: dMode,\n tabsMode,\n unmountOnExit,\n source,\n formStore,\n formMode,\n formHorizontal,\n subFormMode,\n subFormHorizontal,\n addable,\n closable,\n draggable,\n showTip,\n showTipClassName,\n editable,\n sidePosition,\n translate: __,\n addBtnText\n } = this.props;\n\n const mode = tabsMode || dMode;\n let mountOnEnter = this.props.mountOnEnter;\n\n // 如果在form下面,其他tabs默认需要渲染出来\n // 否则在其他 tab 下面的必填项检测不到\n if (formStore) {\n mountOnEnter = false;\n }\n\n const {localTabs: tabs, isFromSource} = this.state;\n let children: Array<JSX.Element | null> = [];\n\n // 是否从 source 数据中生成\n if (isFromSource) {\n children = tabs.map((tab: TabSource, index: number) =>\n isVisible(tab, tab.ctx) ? (\n <Tab\n {...(tab as any)}\n title={filter(tab.title, tab.ctx)}\n disabled={isDisabled(tab, tab.ctx)}\n key={index}\n eventKey={index}\n mountOnEnter={mountOnEnter}\n unmountOnExit={\n typeof tab.reload === 'boolean'\n ? tab.reload\n : typeof tab.unmountOnExit === 'boolean'\n ? tab.unmountOnExit\n : unmountOnExit\n }\n >\n {render(\n `item/${index}`,\n (tab as any)?.type ? (tab as any) : tab.tab || tab.body,\n {\n data: tab.ctx,\n formMode: tab.mode || subFormMode || formMode,\n formHorizontal:\n tab.horizontal || subFormHorizontal || formHorizontal\n }\n )}\n </Tab>\n ) : null\n );\n } else {\n children = tabs.map((tab, index) =>\n isVisible(tab, data) ? (\n <Tab\n {...(tab as any)}\n title={filter(tab.title, data)}\n disabled={isDisabled(tab, data)}\n key={index}\n eventKey={tab.hash || index}\n mountOnEnter={mountOnEnter}\n unmountOnExit={\n typeof tab.reload === 'boolean'\n ? tab.reload\n : typeof tab.unmountOnExit === 'boolean'\n ? tab.unmountOnExit\n : unmountOnExit\n }\n >\n {this.renderTab\n ? this.renderTab(tab, this.props, index)\n : tabRender\n ? tabRender(tab, this.props, index)\n : render(\n `tab/${index}`,\n (tab as any)?.type ? (tab as any) : tab.tab || tab.body,\n {\n formMode: tab.mode || subFormMode || formMode,\n formHorizontal:\n tab.horizontal || subFormHorizontal || formHorizontal\n }\n )}\n </Tab>\n ) : null\n );\n }\n\n return (\n <CTabs\n addBtnText={__(addBtnText || 'add')}\n classPrefix={ns}\n classnames={cx}\n mode={mode}\n closable={closable}\n className={className}\n contentClassName={contentClassName}\n linksClassName={linksClassName}\n onSelect={this.handleSelect}\n activeKey={this.state.activeKey}\n toolbar={this.renderToolbar()}\n addable={addable}\n onAdd={this.handleAdd}\n onClose={this.handleClose}\n draggable={draggable}\n onDragChange={this.handleDragChange}\n showTip={showTip}\n showTipClassName={showTipClassName}\n editable={editable}\n onEdit={this.handleEdit}\n sidePosition={sidePosition}\n >\n {children}\n </CTabs>\n );\n }\n\n render() {\n return this.renderTabs();\n }\n}\n@Renderer({\n type: 'tabs'\n})\nexport class TabsRenderer extends Tabs {\n static contextType = ScopedContext;\n\n constructor(props: TabsProps, context: IScopedContext) {\n super(props);\n\n const scoped = context;\n scoped.registerComponent(this);\n }\n\n componentWillUnmount() {\n super.componentWillUnmount?.();\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this);\n }\n}\n"
11
+ "import React from 'react';\nimport {Renderer, RendererProps} from '../factory';\nimport {Action, Schema, SchemaNode} from '../types';\nimport find from 'lodash/find';\nimport {\n isVisible,\n autobind,\n isDisabled,\n isObject,\n createObject,\n getVariable,\n isObjectShallowModified\n} from '../utils/helper';\nimport findIndex from 'lodash/findIndex';\nimport {Tabs as CTabs, Tab, TabsMode} from '../components/Tabs';\nimport {ClassNamesFn} from '../theme';\nimport {\n BaseSchema,\n SchemaClassName,\n SchemaCollection,\n SchemaIcon,\n SchemaExpression\n} from '../Schema';\nimport {ActionSchema} from './Action';\nimport {filter} from '../utils/tpl';\nimport {\n resolveVariable,\n tokenize,\n resolveVariableAndFilter\n} from '../utils/tpl-builtin';\nimport {FormSchemaHorizontal} from './Form/index';\nimport {str2AsyncFunction} from '../utils/api';\nimport {ScopedContext, IScopedContext} from '../Scoped';\n\nexport interface TabSchema extends Omit<BaseSchema, 'type'> {\n /**\n * Tab 标题\n */\n title?: string;\n\n /**\n * 内容\n * @deprecated 用 body 属性\n */\n tab?: SchemaCollection;\n\n /**\n * 内容\n */\n body?: SchemaCollection;\n\n /**\n * 徽标\n */\n badge?: number;\n\n /**\n * 设置以后将跟url的hash对应\n */\n hash?: string;\n\n /**\n * 按钮图标\n */\n icon?: SchemaIcon;\n\n iconPosition?: 'left' | 'right';\n\n /**\n * 设置以后内容每次都会重新渲染\n */\n reload?: boolean;\n\n /**\n * 点开时才加载卡片内容\n */\n mountOnEnter?: boolean;\n\n /**\n * 卡片隐藏就销毁卡片节点。\n */\n unmountOnExit?: boolean;\n\n /**\n * 配置子表单项默认的展示方式。\n */\n mode?: 'normal' | 'inline' | 'horizontal';\n /**\n * 如果是水平排版,这个属性可以细化水平排版的左右宽度占比。\n */\n horizontal?: FormSchemaHorizontal;\n /**\n * 是否可关闭,优先级高于 tabs 的 closable\n */\n closable?: boolean;\n /**\n * 是否禁用\n */\n disabled?: boolean;\n}\n\n/**\n * 选项卡控件。\n * 文档:https://baidu.gitee.io/amis/docs/components/tabs\n */\nexport interface TabsSchema extends BaseSchema {\n type: 'tabs';\n\n /**\n * 选项卡成员。当配置了 source 时,选项卡成员,将会根据目标数据进行重复。\n */\n tabs: Array<TabSchema>;\n\n /**\n * 关联已有数据,选项卡直接根据目标数据重复。\n */\n source?: string;\n\n /**\n * 类名\n */\n tabsClassName?: SchemaClassName;\n\n /**\n * 展示形式\n */\n tabsMode?: TabsMode;\n\n /**\n * 内容类名\n */\n contentClassName?: SchemaClassName;\n\n /**\n * 链接外层类名\n */\n linksClassName?: SchemaClassName;\n\n /**\n * 卡片是否只有在点开的时候加载?\n */\n mountOnEnter?: boolean;\n\n /**\n * 卡片隐藏的时候是否销毁卡片内容\n */\n unmountOnExit?: boolean;\n\n /**\n * 可以在右侧配置点其他功能按钮。\n */\n toolbar?: ActionSchema;\n\n /**\n * 配置子表单项默认的展示方式。\n */\n subFormMode?: 'normal' | 'inline' | 'horizontal';\n /**\n * 如果是水平排版,这个属性可以细化水平排版的左右宽度占比。\n */\n subFormHorizontal?: FormSchemaHorizontal;\n /**\n * 是否支持新增\n */\n addable?: boolean;\n /**\n * 是否支持删除\n */\n closable?: boolean;\n /**\n * 是否支持拖拽\n */\n draggable?: boolean;\n /**\n * 是否显示提示\n */\n showTip?: boolean;\n /**\n * tooltip 提示的类名\n */\n showTipClassName?: string;\n /**\n * 是否可编辑标签名\n */\n editable?: boolean;\n /**\n * 是否导航支持内容溢出滚动。属性废弃,为了兼容暂且保留\n */\n scrollable?: boolean;\n /**\n * 编辑器模式,侧边的位置\n */\n sidePosition?: 'left' | 'right';\n /**\n * 自定义增加按钮文案\n */\n addBtnText?: string;\n\n /**\n * 默认激活的选项卡,hash值或索引值,支持使用表达式\n */\n activeKey?: SchemaExpression;\n}\n\nexport interface TabsProps\n extends RendererProps,\n Omit<TabsSchema, 'className' | 'contentClassName' | 'activeKey'> {\n activeKey?: string | number;\n location?: any;\n tabRender?: (tab: TabSchema, props: TabsProps, index: number) => JSX.Element;\n}\n\ninterface TabSource extends TabSchema {\n ctx?: any;\n}\n\nexport interface TabsState {\n activeKey: any;\n prevKey: any;\n localTabs: Array<TabSource>;\n isFromSource: boolean;\n}\n\nexport type TabsRendererEvent = 'change';\nexport type TabsRendererAction = 'changeActiveKey';\n\nexport default class Tabs extends React.Component<TabsProps, TabsState> {\n static defaultProps: Partial<TabsProps> = {\n className: '',\n mode: '',\n mountOnEnter: true,\n unmountOnExit: false\n };\n\n renderTab?: (tab: TabSchema, props: TabsProps, index: number) => JSX.Element;\n activeKey: any;\n newTabDefaultId: number = 3;\n\n constructor(props: TabsProps) {\n super(props);\n\n const location = props.location || window.location;\n const {tabs, source, data} = props;\n let activeKey: any = 0;\n\n if (typeof props.activeKey !== 'undefined') {\n activeKey = props.activeKey;\n } else if (location && Array.isArray(tabs)) {\n const hash = location.hash.substring(1);\n const tab: TabSource = find(tabs, tab => tab.hash === hash) as TabSource;\n\n if (tab) {\n activeKey = tab.hash;\n } else if (props.defaultActiveKey) {\n activeKey = tokenize(props.defaultActiveKey, props.data);\n }\n\n activeKey = activeKey || (tabs[0] && tabs[0].hash) || 0;\n }\n\n const [localTabs, isFromSource] = this.initTabArray(tabs, source, data);\n\n this.state = {\n prevKey: undefined,\n activeKey: (this.activeKey = activeKey),\n localTabs,\n isFromSource\n };\n }\n\n // 初始化 tabs 数组,当从 source 获取数据源时\n @autobind\n initTabArray(\n tabs: Array<TabSource>,\n source?: string,\n data?: any\n ): [Array<TabSource>, boolean] {\n if (!tabs) {\n return [[], false];\n }\n\n const arr = resolveVariableAndFilter(source, data, '| raw');\n if (!Array.isArray(arr)) {\n return [tabs, false];\n }\n\n tabs = Array.isArray(tabs) ? tabs : [tabs];\n\n const sourceTabs: Array<TabSource> = [];\n arr.forEach((value, index) => {\n const ctx = createObject(\n data,\n isObject(value) ? {index, ...value} : {item: value, index}\n );\n\n sourceTabs.push(...tabs.map((tab: TabSource) => ({...tab, ctx})));\n });\n\n return [sourceTabs, true];\n }\n\n componentDidMount() {\n this.autoJumpToNeighbour(this.activeKey);\n\n let {name, value, onChange, source, tabs, data} = this.props;\n\n const localTabs = this.state.localTabs;\n\n // 如果没有配置 name ,说明不需要同步表单值\n if (\n !name ||\n typeof onChange !== 'function' ||\n // 如果关联某个变量数据,则不启用\n source\n ) {\n return;\n }\n\n value = value ?? getVariable(data, name);\n\n // 如果有值,切到对应的 tab\n if (value && Array.isArray(localTabs)) {\n const key = this.resolveKeyByValue(value);\n key !== undefined && this.handleSelect(key);\n } else {\n const tab = this.resolveTabByKey(this.activeKey);\n if (tab && value !== ((tab as any).value ?? tab.title)) {\n onChange((tab as any).value ?? tab.title, name);\n }\n }\n }\n\n componentDidUpdate(preProps: TabsProps, prevState: any) {\n const props = this.props;\n let localTabs = this.state.localTabs;\n const prevActiveKey = tokenize(preProps.defaultActiveKey, preProps.data);\n const activeKey = tokenize(props.defaultActiveKey, props.data);\n\n // 响应外部修改 tabs\n const isTabsModified = isObjectShallowModified(\n {\n tabs: props.tabs,\n source: resolveVariableAndFilter(props.source, props.data, '| raw')\n },\n {\n tabs: preProps.tabs,\n source: resolveVariableAndFilter(\n preProps.source,\n preProps.data,\n '| raw'\n )\n },\n false\n );\n\n if (isTabsModified) {\n const [newLocalTabs, isFromSource] = this.initTabArray(\n props.tabs,\n props.source,\n props.data\n );\n\n this.setState({\n localTabs: newLocalTabs,\n isFromSource\n });\n localTabs = newLocalTabs;\n }\n\n if (\n props.location &&\n preProps.location &&\n props.location.hash !== preProps.location.hash\n ) {\n const hash = props.location.hash.substring(1);\n if (!hash) {\n return;\n }\n\n const tab: TabSource = find(\n localTabs,\n tab => tab.hash === hash\n ) as TabSource;\n if (tab && tab.hash && tab.hash !== this.state.activeKey) {\n this.setState({\n activeKey: (this.activeKey = tab.hash),\n prevKey: this.state.activeKey\n });\n }\n } else if (\n Array.isArray(localTabs) &&\n Array.isArray(prevState.localTabs) &&\n JSON.stringify(localTabs.map(item => item.hash)) !==\n JSON.stringify(prevState.localTabs.map((item: TabSource) => item.hash))\n ) {\n let activeKey: any = this.state.activeKey;\n const location = props.location;\n let tab: TabSource | null = null;\n\n if (location && Array.isArray(localTabs)) {\n const hash = location.hash.substring(1);\n tab = find(localTabs, tab => tab.hash === hash) as TabSource;\n }\n\n if (tab) {\n activeKey = tab.hash;\n } else if (\n !localTabs ||\n !localTabs.some((item, index) =>\n item.hash ? item.hash === activeKey : index === activeKey\n )\n ) {\n activeKey = (localTabs && localTabs[0] && localTabs[0].hash) || 0;\n }\n\n this.setState({\n prevKey: undefined,\n activeKey: (this.activeKey = activeKey)\n });\n } else if (prevActiveKey !== activeKey) {\n if (activeKey == null) {\n return;\n }\n\n let newActivedKey = null;\n const tab = find(localTabs, item => item.hash === activeKey);\n\n if (tab) {\n newActivedKey = tab.hash;\n } else if (typeof activeKey === 'number' && localTabs[activeKey]) {\n newActivedKey = activeKey;\n }\n\n if (newActivedKey) {\n this.setState({\n prevKey: prevActiveKey,\n activeKey: (this.activeKey = newActivedKey)\n });\n }\n }\n\n this.autoJumpToNeighbour(this.activeKey);\n\n let {name, value, onChange, source, data} = this.props;\n\n // 如果没有配置 name ,说明不需要同步表单值\n if (\n !name ||\n typeof onChange !== 'function' ||\n // 如果关联某个变量数据,则不启用\n source\n ) {\n return;\n }\n\n let key: any;\n value = value ?? getVariable(data, name);\n const prevValue =\n preProps.value ?? getVariable(preProps.data, preProps.name);\n if (\n value !== prevValue &&\n (key = this.resolveKeyByValue(value)) !== undefined &&\n key !== this.activeKey\n ) {\n this.handleSelect(key);\n } else if (this.activeKey !== prevState.activeKey) {\n const tab = this.resolveTabByKey(this.activeKey);\n if (tab && value !== ((tab as any).value ?? tab.title)) {\n onChange((tab as any).value ?? tab.title, name);\n }\n }\n }\n\n resolveTabByKey(key: any) {\n const localTabs = this.state.localTabs;\n\n if (!Array.isArray(localTabs)) {\n return;\n }\n\n return find(localTabs, (tab: TabSource, index) =>\n tab.hash ? tab.hash === key : index === key\n );\n }\n\n resolveKeyByValue(value: any) {\n const localTabs = this.state.localTabs;\n\n if (!Array.isArray(localTabs)) {\n return;\n }\n\n const tab: TabSource = find(\n localTabs,\n tab => ((tab as any).value ?? tab.title) === value\n ) as TabSource;\n\n return tab && tab.hash ? tab.hash : localTabs.indexOf(tab);\n }\n\n @autobind\n autoJumpToNeighbour(key: any) {\n const {tabs, data} = this.props;\n const localTabs = this.state.localTabs;\n\n if (!Array.isArray(localTabs)) {\n return;\n }\n\n // 当前 tab 可能不可见,所以需要自动切到一个可见的 tab, 向前找,找一圈\n const tabIndex = findIndex(localTabs, (tab: TabSource, index) =>\n tab.hash ? tab.hash === key : index === key\n );\n\n if (\n localTabs[tabIndex] &&\n !isVisible(localTabs[tabIndex], this.props.data)\n ) {\n let len = localTabs.length;\n let i = tabIndex - 1 + len;\n let tries = len - 1;\n\n while (tries--) {\n const index = i-- % len;\n if (isVisible(localTabs[index], data)) {\n let activeKey = localTabs[index].hash || index;\n this.setState({\n activeKey: (this.activeKey = activeKey)\n });\n break;\n }\n }\n }\n }\n\n @autobind\n handleAdd() {\n const localTabs = this.state.localTabs.concat();\n\n localTabs.push({\n title: `tab${this.newTabDefaultId++}`,\n body: 'tab'\n } as TabSource);\n\n this.setState(\n {\n localTabs: localTabs\n },\n () => {\n this.switchTo(this.state.localTabs.length - 1);\n }\n );\n }\n\n @autobind\n handleClose(index: number, key: string | number) {\n const originTabs = this.state.localTabs.concat();\n\n originTabs.splice(index, 1);\n\n this.setState({\n localTabs: originTabs\n });\n }\n\n @autobind\n handleEdit(index: number, text: string) {\n const originTabs = this.state.localTabs.concat();\n originTabs[index].title = text;\n\n this.setState({\n localTabs: originTabs\n });\n }\n\n @autobind\n async handleDragChange(e: any) {\n const activeTab = this.resolveTabByKey(this.activeKey);\n const originTabs: TabSource[] = this.state.localTabs.concat();\n\n originTabs.splice(e.newIndex, 0, originTabs.splice(e.oldIndex, 1)[0]);\n\n this.setState(\n {\n localTabs: originTabs\n },\n () => {\n if (activeTab) {\n const newActiveTabIndex = originTabs.indexOf(activeTab);\n this.switchTo(newActiveTabIndex);\n }\n }\n );\n }\n\n @autobind\n async handleSelect(key: any) {\n const {dispatchEvent, data, env, onSelect, id} = this.props;\n const {localTabs} = this.state;\n\n env.tracker?.({\n eventType: 'tabChange',\n eventData: {\n id,\n key\n }\n });\n // 获取激活元素项\n const tab = localTabs?.find(\n (item, index) => key === (item.hash ? item.hash : index)\n );\n\n const rendererEvent = await dispatchEvent(\n 'change',\n createObject(data, {\n value: tab?.hash ? tab?.hash : key + 1\n })\n );\n if (rendererEvent?.prevented) {\n return;\n }\n\n // 是 hash,需要更新到地址栏\n if (typeof key === 'string' && env) {\n env.updateLocation(`#${key}`);\n } else if (typeof this.state.activeKey === 'string' && env) {\n env.updateLocation(`#`);\n }\n\n this.setState({\n activeKey: (this.activeKey = key),\n prevKey: this.state.activeKey\n });\n\n if (typeof onSelect === 'string') {\n const selectFunc = str2AsyncFunction(onSelect, 'key', 'props');\n selectFunc && selectFunc(key, this.props);\n } else if (typeof onSelect === 'function') {\n onSelect(key, this.props);\n }\n }\n\n /**\n * 动作处理\n */\n doAction(action: Action, args: any) {\n const actionType = action?.actionType as string;\n let activeKey = args?.activeKey as number;\n // 处理非用户自定义key\n if (typeof args?.activeKey !== 'string') {\n activeKey--;\n }\n if (actionType === 'changeActiveKey') {\n this.handleSelect(activeKey);\n }\n }\n\n @autobind\n switchTo(index: number) {\n const localTabs = this.state.localTabs;\n\n Array.isArray(localTabs) &&\n localTabs[index] &&\n this.setState({\n activeKey: (this.activeKey = localTabs[index].hash || index)\n });\n }\n\n @autobind\n currentIndex(): number {\n // const {tabs} = this.props;\n const localTabs = this.state.localTabs;\n\n return Array.isArray(localTabs)\n ? findIndex(localTabs, (tab: TabSource, index) =>\n tab.hash\n ? tab.hash === this.state.activeKey\n : index === this.state.activeKey\n )\n : -1;\n }\n\n renderToolbar() {\n const {toolbar, render, classnames: cx, toolbarClassName} = this.props;\n\n return toolbar ? (\n <div className={cx(`Tabs-toolbar`, toolbarClassName)}>\n {render('toolbar', toolbar)}\n </div>\n ) : null;\n }\n\n renderTabs() {\n const {\n classnames: cx,\n classPrefix: ns,\n contentClassName,\n linksClassName,\n tabRender,\n className,\n render,\n data,\n mode: dMode,\n tabsMode,\n unmountOnExit,\n source,\n formStore,\n formMode,\n formHorizontal,\n subFormMode,\n subFormHorizontal,\n addable,\n closable,\n draggable,\n showTip,\n showTipClassName,\n editable,\n sidePosition,\n translate: __,\n addBtnText\n } = this.props;\n\n const mode = tabsMode || dMode;\n let mountOnEnter = this.props.mountOnEnter;\n\n // 如果在form下面,其他tabs默认需要渲染出来\n // 否则在其他 tab 下面的必填项检测不到\n if (formStore) {\n mountOnEnter = false;\n }\n\n const {localTabs: tabs, isFromSource} = this.state;\n let children: Array<JSX.Element | null> = [];\n\n // 是否从 source 数据中生成\n if (isFromSource) {\n children = tabs.map((tab: TabSource, index: number) =>\n isVisible(tab, tab.ctx) ? (\n <Tab\n {...(tab as any)}\n title={filter(tab.title, tab.ctx)}\n disabled={isDisabled(tab, tab.ctx)}\n key={index}\n eventKey={index}\n mountOnEnter={mountOnEnter}\n unmountOnExit={\n typeof tab.reload === 'boolean'\n ? tab.reload\n : typeof tab.unmountOnExit === 'boolean'\n ? tab.unmountOnExit\n : unmountOnExit\n }\n >\n {render(\n `item/${index}`,\n (tab as any)?.type ? (tab as any) : tab.tab || tab.body,\n {\n data: tab.ctx,\n formMode: tab.mode || subFormMode || formMode,\n formHorizontal:\n tab.horizontal || subFormHorizontal || formHorizontal\n }\n )}\n </Tab>\n ) : null\n );\n } else {\n children = tabs.map((tab, index) =>\n isVisible(tab, data) ? (\n <Tab\n {...(tab as any)}\n title={filter(tab.title, data)}\n disabled={isDisabled(tab, data)}\n key={index}\n eventKey={tab.hash || index}\n mountOnEnter={mountOnEnter}\n unmountOnExit={\n typeof tab.reload === 'boolean'\n ? tab.reload\n : typeof tab.unmountOnExit === 'boolean'\n ? tab.unmountOnExit\n : unmountOnExit\n }\n >\n {this.renderTab\n ? this.renderTab(tab, this.props, index)\n : tabRender\n ? tabRender(tab, this.props, index)\n : render(\n `tab/${index}`,\n (tab as any)?.type ? (tab as any) : tab.tab || tab.body,\n {\n formMode: tab.mode || subFormMode || formMode,\n formHorizontal:\n tab.horizontal || subFormHorizontal || formHorizontal\n }\n )}\n </Tab>\n ) : null\n );\n }\n\n return (\n <CTabs\n addBtnText={__(addBtnText || 'add')}\n classPrefix={ns}\n classnames={cx}\n mode={mode}\n closable={closable}\n className={className}\n contentClassName={contentClassName}\n linksClassName={linksClassName}\n onSelect={this.handleSelect}\n activeKey={this.state.activeKey}\n toolbar={this.renderToolbar()}\n addable={addable}\n onAdd={this.handleAdd}\n onClose={this.handleClose}\n draggable={draggable}\n onDragChange={this.handleDragChange}\n showTip={showTip}\n showTipClassName={showTipClassName}\n editable={editable}\n onEdit={this.handleEdit}\n sidePosition={sidePosition}\n >\n {children}\n </CTabs>\n );\n }\n\n render() {\n return this.renderTabs();\n }\n}\n@Renderer({\n type: 'tabs'\n})\nexport class TabsRenderer extends Tabs {\n static contextType = ScopedContext;\n\n constructor(props: TabsProps, context: IScopedContext) {\n super(props);\n\n const scoped = context;\n scoped.registerComponent(this);\n }\n\n componentWillUnmount() {\n super.componentWillUnmount?.();\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this);\n }\n}\n"
12
12
  ]
13
13
  }