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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/lib/components/Badge.d.ts +15 -2
  2. package/lib/components/Badge.js +47 -4
  3. package/lib/components/Badge.js.map +2 -2
  4. package/lib/components/Button.d.ts +24 -22
  5. package/lib/components/Button.js +13 -7
  6. package/lib/components/Button.js.map +2 -2
  7. package/lib/components/Checkbox.d.ts +1 -1
  8. package/lib/components/Checkbox.js +1 -1
  9. package/lib/components/Checkbox.js.map +2 -2
  10. package/lib/components/Drawer.js +1 -1
  11. package/lib/components/Drawer.js.map +2 -2
  12. package/lib/components/Modal.js +1 -1
  13. package/lib/components/Modal.js.map +2 -2
  14. package/lib/components/RichText.d.ts +6 -1
  15. package/lib/components/RichText.js +243 -8
  16. package/lib/components/RichText.js.map +2 -2
  17. package/lib/components/Select.d.ts +7 -0
  18. package/lib/components/Select.js.map +2 -2
  19. package/lib/components/Steps.d.ts +3 -3
  20. package/lib/components/Steps.js.map +1 -1
  21. package/lib/components/WithRemoteConfig.d.ts +8 -0
  22. package/lib/components/WithRemoteConfig.js +28 -2
  23. package/lib/components/WithRemoteConfig.js.map +2 -2
  24. package/lib/components/calendar/DaysView.js +2 -2
  25. package/lib/components/calendar/DaysView.js.map +2 -2
  26. package/lib/components/condition-builder/Field.js +0 -1
  27. package/lib/components/condition-builder/Field.js.map +2 -2
  28. package/lib/components/condition-builder/Value.js +2 -1
  29. package/lib/components/condition-builder/Value.js.map +2 -2
  30. package/lib/components/condition-builder/types.d.ts +5 -0
  31. package/lib/components/condition-builder/types.js.map +1 -1
  32. package/lib/components/icons.js +2 -0
  33. package/lib/components/icons.js.map +2 -2
  34. package/lib/factory.d.ts +5 -1
  35. package/lib/factory.js +9 -4
  36. package/lib/factory.js.map +2 -2
  37. package/lib/helper.css.map +1 -1
  38. package/lib/icons/loading-outline.js +7 -0
  39. package/lib/index.js +1 -1
  40. package/lib/locale/de-DE.js +1 -0
  41. package/lib/locale/de-DE.js.map +2 -2
  42. package/lib/locale/en-US.js +2 -1
  43. package/lib/locale/en-US.js.map +2 -2
  44. package/lib/locale/zh-CN.js +2 -1
  45. package/lib/locale/zh-CN.js.map +2 -2
  46. package/lib/renderers/Action.d.ts +9 -1
  47. package/lib/renderers/Action.js +5 -5
  48. package/lib/renderers/Action.js.map +2 -2
  49. package/lib/renderers/CRUD.d.ts +2 -2
  50. package/lib/renderers/CRUD.js +11 -20
  51. package/lib/renderers/CRUD.js.map +2 -2
  52. package/lib/renderers/Collapse.d.ts +1 -1
  53. package/lib/renderers/Collapse.js +5 -1
  54. package/lib/renderers/Collapse.js.map +2 -2
  55. package/lib/renderers/Dialog.d.ts +0 -252
  56. package/lib/renderers/Dialog.js +1 -1
  57. package/lib/renderers/Dialog.js.map +2 -2
  58. package/lib/renderers/DropDownButton.d.ts +8 -0
  59. package/lib/renderers/DropDownButton.js +6 -4
  60. package/lib/renderers/DropDownButton.js.map +2 -2
  61. package/lib/renderers/Form/ButtonGroupSelect.js +3 -0
  62. package/lib/renderers/Form/ButtonGroupSelect.js.map +2 -2
  63. package/lib/renderers/Form/DiffEditor.d.ts +0 -2
  64. package/lib/renderers/Form/Editor.d.ts +0 -2
  65. package/lib/renderers/Form/Editor.js +1 -1
  66. package/lib/renderers/Form/Editor.js.map +2 -2
  67. package/lib/renderers/Form/InputExcel.d.ts +5 -0
  68. package/lib/renderers/Form/InputExcel.js +24 -3
  69. package/lib/renderers/Form/InputExcel.js.map +2 -2
  70. package/lib/renderers/Form/InputImage.d.ts +8 -0
  71. package/lib/renderers/Form/InputImage.js +2 -1
  72. package/lib/renderers/Form/InputImage.js.map +2 -2
  73. package/lib/renderers/Form/InputTable.d.ts +23 -5
  74. package/lib/renderers/Form/InputTable.js +32 -3
  75. package/lib/renderers/Form/InputTable.js.map +2 -2
  76. package/lib/renderers/Json.js +5 -1
  77. package/lib/renderers/Json.js.map +2 -2
  78. package/lib/renderers/Nav.d.ts +52 -22
  79. package/lib/renderers/Nav.js +100 -15
  80. package/lib/renderers/Nav.js.map +2 -2
  81. package/lib/renderers/Page.js +4 -1
  82. package/lib/renderers/Page.js.map +2 -2
  83. package/lib/renderers/Service.d.ts +10 -1
  84. package/lib/renderers/Service.js +85 -3
  85. package/lib/renderers/Service.js.map +2 -2
  86. package/lib/renderers/Steps.d.ts +4 -4
  87. package/lib/renderers/Steps.js +5 -2
  88. package/lib/renderers/Steps.js.map +2 -2
  89. package/lib/renderers/Table/TableBody.d.ts +1 -1
  90. package/lib/renderers/Table/TableBody.js +5 -1
  91. package/lib/renderers/Table/TableBody.js.map +2 -2
  92. package/lib/renderers/Table/TableContent.d.ts +1 -1
  93. package/lib/renderers/Table/TableContent.js +4 -0
  94. package/lib/renderers/Table/TableContent.js.map +2 -2
  95. package/lib/renderers/Table/index.d.ts +8 -3
  96. package/lib/renderers/Table/index.js +80 -45
  97. package/lib/renderers/Table/index.js.map +2 -2
  98. package/lib/store/app.d.ts +0 -1
  99. package/lib/store/combo.d.ts +0 -2
  100. package/lib/store/crud.d.ts +3 -3
  101. package/lib/store/crud.js +41 -36
  102. package/lib/store/crud.js.map +2 -2
  103. package/lib/store/form.d.ts +0 -1
  104. package/lib/store/modal.d.ts +1 -1
  105. package/lib/store/modal.js +4 -0
  106. package/lib/store/modal.js.map +2 -2
  107. package/lib/store/root.d.ts +0 -1
  108. package/lib/store/service.d.ts +0 -1
  109. package/lib/store/service.js +0 -13
  110. package/lib/store/service.js.map +2 -2
  111. package/lib/store/table.d.ts +1 -2
  112. package/lib/store/table.js +44 -3
  113. package/lib/store/table.js.map +2 -2
  114. package/lib/themes/ang-ie11.css +597 -57
  115. package/lib/themes/ang.css +597 -57
  116. package/lib/themes/ang.css.map +1 -1
  117. package/lib/themes/antd-ie11.css +597 -57
  118. package/lib/themes/antd.css +597 -57
  119. package/lib/themes/antd.css.map +1 -1
  120. package/lib/themes/cxd-ie11.css +705 -177
  121. package/lib/themes/cxd.css +705 -177
  122. package/lib/themes/cxd.css.map +1 -1
  123. package/lib/themes/dark-ie11.css +597 -57
  124. package/lib/themes/dark.css +597 -57
  125. package/lib/themes/dark.css.map +1 -1
  126. package/lib/themes/default.css +705 -177
  127. package/lib/themes/default.css.map +1 -1
  128. package/lib/utils/api.js +12 -0
  129. package/lib/utils/api.js.map +2 -2
  130. package/lib/utils/attachmentAdpator.d.ts +7 -0
  131. package/lib/utils/attachmentAdpator.js +82 -0
  132. package/lib/utils/attachmentAdpator.js.map +13 -0
  133. package/lib/utils/helper.js.map +2 -2
  134. package/lib/utils/validations.js +62 -5
  135. package/lib/utils/validations.js.map +2 -2
  136. package/package.json +46 -39
  137. package/schema.json +343 -44
  138. package/scss/_mixins.scss +29 -0
  139. package/scss/_properties.scss +27 -11
  140. package/scss/components/_badge.scss +67 -2
  141. package/scss/components/_button.scss +35 -3
  142. package/scss/components/_image-gallery.scss +1 -1
  143. package/scss/components/_markdown.scss +266 -0
  144. package/scss/components/_nav.scss +109 -35
  145. package/scss/components/_spinner.scss +6 -2
  146. package/scss/components/form/_group.scss +4 -0
  147. package/scss/themes/_common.scss +1 -0
  148. package/scss/themes/_cxd-variables.scss +20 -20
  149. package/sdk/ang-ie11.css +741 -59
  150. package/sdk/ang.css +755 -59
  151. package/sdk/antd-ie11.css +731 -51
  152. package/sdk/antd.css +755 -59
  153. package/sdk/charts.js +13 -13
  154. package/sdk/color-picker.js +67 -67
  155. package/sdk/cropperjs.js +2 -2
  156. package/sdk/cxd-ie11.css +1200 -520
  157. package/sdk/cxd.css +863 -179
  158. package/sdk/dark-ie11.css +741 -59
  159. package/sdk/dark.css +755 -59
  160. package/sdk/exceljs.js +1 -1
  161. package/sdk/helper.css.map +1 -1
  162. package/sdk/locale/de-DE.js +1 -0
  163. package/sdk/markdown.js +69 -69
  164. package/sdk/papaparse.js +1 -1
  165. package/sdk/renderers/Form/CityDB.js +1 -1
  166. package/sdk/rest.js +22 -24
  167. package/sdk/rich-text.js +62 -64
  168. package/sdk/sdk-ie11.css +1200 -520
  169. package/sdk/sdk.css +863 -179
  170. package/sdk/sdk.js +1118 -1112
  171. package/sdk/thirds/hls.js/hls.js +1 -1
  172. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  173. package/sdk/tinymce.js +57 -57
  174. package/sdk.zip +0 -0
  175. package/src/components/Badge.tsx +111 -20
  176. package/src/components/Button.tsx +23 -7
  177. package/src/components/Checkbox.tsx +5 -2
  178. package/src/components/Drawer.tsx +3 -2
  179. package/src/components/Modal.tsx +3 -2
  180. package/src/components/RichText.tsx +284 -3
  181. package/src/components/Select.tsx +1 -0
  182. package/src/components/Steps.tsx +3 -3
  183. package/src/components/WithRemoteConfig.tsx +37 -2
  184. package/src/components/calendar/DaysView.tsx +2 -2
  185. package/src/components/condition-builder/Field.tsx +1 -2
  186. package/src/components/condition-builder/Value.tsx +3 -0
  187. package/src/components/condition-builder/types.ts +6 -0
  188. package/src/components/icons.tsx +2 -0
  189. package/src/factory.tsx +13 -3
  190. package/src/icons/loading-outline.svg +4 -0
  191. package/src/locale/de-DE.ts +1 -0
  192. package/src/locale/en-US.ts +2 -1
  193. package/src/locale/zh-CN.ts +2 -1
  194. package/src/renderers/Action.tsx +66 -13
  195. package/src/renderers/CRUD.tsx +13 -33
  196. package/src/renderers/Collapse.tsx +5 -1
  197. package/src/renderers/Dialog.tsx +1 -1
  198. package/src/renderers/DropDownButton.tsx +21 -4
  199. package/src/renderers/Form/ButtonGroupSelect.tsx +3 -0
  200. package/src/renderers/Form/Editor.tsx +19 -20
  201. package/src/renderers/Form/InputExcel.tsx +28 -3
  202. package/src/renderers/Form/InputImage.tsx +23 -8
  203. package/src/renderers/Form/InputTable.tsx +88 -9
  204. package/src/renderers/Json.tsx +10 -1
  205. package/src/renderers/Nav.tsx +165 -36
  206. package/src/renderers/Page.tsx +3 -1
  207. package/src/renderers/Service.tsx +101 -3
  208. package/src/renderers/Steps.tsx +12 -9
  209. package/src/renderers/Table/TableBody.tsx +3 -2
  210. package/src/renderers/Table/TableContent.tsx +3 -1
  211. package/src/renderers/Table/index.tsx +61 -13
  212. package/src/store/crud.ts +34 -38
  213. package/src/store/modal.ts +4 -0
  214. package/src/store/service.ts +0 -19
  215. package/src/store/table.ts +48 -0
  216. package/src/utils/api.ts +11 -0
  217. package/src/utils/attachmentAdpator.ts +90 -0
  218. package/src/utils/helper.ts +1 -0
  219. package/src/utils/validations.ts +80 -12
@@ -5,6 +5,7 @@ var tslib_1 = require("tslib");
5
5
  var react_1 = (0, tslib_1.__importDefault)(require("react"));
6
6
  var TableRow_1 = require("./TableRow");
7
7
  var tpl_1 = require("../../utils/tpl");
8
+ var mobx_react_1 = require("mobx-react");
8
9
  var helper_1 = require("../../utils/helper");
9
10
  var TableBody = /** @class */ (function (_super) {
10
11
  (0, tslib_1.__extends)(TableBody, _super);
@@ -34,7 +35,7 @@ var TableBody = /** @class */ (function (_super) {
34
35
  : rowClassName), columns: footableColumns, renderCell: renderCell, render: render, onAction: onAction, onCheck: onCheck, footableMode: true, footableColSpan: columns.length, onQuickChange: onQuickChange, ignoreFootableContent: ignoreFootableContent }, rowProps)));
35
36
  }
36
37
  }
37
- else if (item.children.length) {
38
+ else if (item.children.length && item.expanded) {
38
39
  // 嵌套表格
39
40
  doms.push.apply(doms, _this.renderRows(item.children, columns, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, rowProps), { parent: item })));
40
41
  }
@@ -93,6 +94,9 @@ var TableBody = /** @class */ (function (_super) {
93
94
  this.renderRows(rows, columns, rowsProps),
94
95
  this.renderSummary('affix', affixRow))) : null));
95
96
  };
97
+ TableBody = (0, tslib_1.__decorate)([
98
+ mobx_react_1.observer
99
+ ], TableBody);
96
100
  return TableBody;
97
101
  }(react_1.default.Component));
98
102
  exports.TableBody = TableBody;
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Table/TableBody.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 {ClassNamesFn} from '../../theme';\nimport {IColumn, IRow} from '../../store/table';\nimport {SchemaNode, Action} from '../../types';\nimport {TableRow} from './TableRow';\nimport {filter} from '../../utils/tpl';\nimport {observer} from 'mobx-react';\nimport {trace, reaction} from 'mobx';\nimport {createObject, flattenTree} from '../../utils/helper';\nimport {LocaleProps} from '../../locale';\nimport {ActionSchema} from '../Action';\n\nexport interface TableBodyProps extends LocaleProps {\n className?: string;\n rowsProps?: any;\n tableClassName?: string;\n classnames: ClassNamesFn;\n columns: Array<IColumn>;\n rows: Array<IRow>;\n render: (region: string, node: SchemaNode, props?: any) => JSX.Element;\n renderCell: (\n region: string,\n column: IColumn,\n item: IRow,\n props: any\n ) => React.ReactNode;\n onCheck: (item: IRow) => void;\n onQuickChange?: (\n item: IRow,\n values: object,\n saveImmediately?: boolean | any,\n savePristine?: boolean\n ) => void;\n footable?: boolean;\n ignoreFootableContent?: boolean;\n footableColumns: Array<IColumn>;\n checkOnItemClick?: boolean;\n buildItemProps?: (item: IRow, index: number) => any;\n onAction?: (e: React.UIEvent<any>, action: Action, ctx: object) => void;\n rowClassNameExpr?: string;\n rowClassName?: string;\n data?: any;\n prefixRow?: Array<any>;\n affixRow?: Array<any>;\n itemAction?: ActionSchema;\n}\n\nexport class TableBody extends React.Component<TableBodyProps> {\n renderRows(\n rows: Array<any>,\n columns = this.props.columns,\n rowProps: any = {}\n ): any {\n const {\n rowClassName,\n rowClassNameExpr,\n onAction,\n buildItemProps,\n checkOnItemClick,\n classnames: cx,\n render,\n renderCell,\n onCheck,\n onQuickChange,\n footable,\n ignoreFootableContent,\n footableColumns,\n itemAction\n } = this.props;\n\n return rows.map((item: IRow, rowIndex: number) => {\n const itemProps = buildItemProps ? buildItemProps(item, rowIndex) : null;\n\n const doms = [\n <TableRow\n {...itemProps}\n itemAction={itemAction}\n classnames={cx}\n checkOnItemClick={checkOnItemClick}\n key={item.id}\n itemIndex={rowIndex}\n item={item}\n itemClassName={cx(\n rowClassNameExpr\n ? filter(rowClassNameExpr, item.data)\n : rowClassName,\n {\n 'is-last': item.depth > 1 && rowIndex === rows.length - 1\n }\n )}\n columns={columns}\n renderCell={renderCell}\n render={render}\n onAction={onAction}\n onCheck={onCheck}\n // todo 先注释 quickEditEnabled={item.depth === 1}\n onQuickChange={onQuickChange}\n {...rowProps}\n />\n ];\n\n if (footable && footableColumns.length) {\n if (item.depth === 1) {\n doms.push(\n <TableRow\n {...itemProps}\n itemAction={itemAction}\n classnames={cx}\n checkOnItemClick={checkOnItemClick}\n key={`foot-${item.id}`}\n itemIndex={rowIndex}\n item={item}\n itemClassName={cx(\n rowClassNameExpr\n ? filter(rowClassNameExpr, item.data)\n : rowClassName\n )}\n columns={footableColumns}\n renderCell={renderCell}\n render={render}\n onAction={onAction}\n onCheck={onCheck}\n footableMode\n footableColSpan={columns.length}\n onQuickChange={onQuickChange}\n ignoreFootableContent={ignoreFootableContent}\n {...rowProps}\n />\n );\n }\n } else if (item.children.length) {\n // 嵌套表格\n doms.push(\n ...this.renderRows(item.children, columns, {\n ...rowProps,\n parent: item\n })\n );\n }\n return doms;\n });\n }\n\n renderSummaryRow(\n position: 'prefix' | 'affix',\n items?: Array<any>,\n rowIndex?: number\n ) {\n const {columns, render, data, classnames: cx, rows} = this.props;\n\n if (!(Array.isArray(items) && items.length)) {\n return null;\n }\n\n const filterColumns = columns.filter(item => item.toggable);\n const result: any[] = [];\n\n for (let index = 0; index < filterColumns.length; index++) {\n const item = items[filterColumns[index].rawIndex];\n item && result.push({...item});\n }\n\n // 如果是勾选栏,让它和下一列合并。\n if (columns[0].type === '__checkme' && result[0]) {\n result[0].colSpan = (result[0].colSpan || 1) + 1;\n }\n\n // 如果是展开栏,让它和下一列合并。\n if (columns[0].type === '__expandme' && result[0]) {\n result[0].colSpan = (result[0].colSpan || 1) + 1;\n }\n\n // 缺少的单元格补齐\n const appendLen =\n columns.length - result.reduce((p, c) => p + (c.colSpan || 1), 0);\n\n if (appendLen) {\n const item = result.pop();\n result.push({\n ...item,\n colSpan: (item.colSpan || 1) + appendLen\n });\n }\n const ctx = createObject(data, {\n items: rows.map(row => row.locals)\n });\n\n return (\n <tr\n className={cx('Table-tr', 'is-summary')}\n key={`summary-${position}-${rowIndex || 0}`}\n >\n {result.map((item, index) => {\n const Com = item.isHead ? 'th' : 'td';\n return (\n <Com\n key={index}\n colSpan={item.colSpan}\n className={item.cellClassName}\n >\n {render(`summary-row/${index}`, item, {\n data: ctx\n })}\n </Com>\n );\n })}\n </tr>\n );\n }\n\n renderSummary(position: 'prefix' | 'affix', items?: Array<any>) {\n return Array.isArray(items)\n ? items.some(i => Array.isArray(i))\n ? items.map((i, rowIndex) =>\n this.renderSummaryRow(\n position,\n Array.isArray(i) ? i : [i],\n rowIndex\n )\n )\n : this.renderSummaryRow(position, items)\n : null;\n }\n\n render() {\n const {\n classnames: cx,\n className,\n render,\n rows,\n columns,\n rowsProps,\n prefixRow,\n affixRow,\n translate: __\n } = this.props;\n\n return (\n <tbody className={className}>\n {rows.length ? (\n <>\n {this.renderSummary('prefix', prefixRow)}\n {this.renderRows(rows, columns, rowsProps)}\n {this.renderSummary('affix', affixRow)}\n </>\n ) : null}\n </tbody>\n );\n }\n}\n"
11
+ "import React from 'react';\nimport {ClassNamesFn} from '../../theme';\nimport {IColumn, IRow} from '../../store/table';\nimport {SchemaNode, Action} from '../../types';\nimport {TableRow} from './TableRow';\nimport {filter} from '../../utils/tpl';\nimport {observer} from 'mobx-react';\nimport {trace, reaction} from 'mobx';\nimport {createObject, flattenTree} from '../../utils/helper';\nimport {LocaleProps} from '../../locale';\nimport {ActionSchema} from '../Action';\n\nexport interface TableBodyProps extends LocaleProps {\n className?: string;\n rowsProps?: any;\n tableClassName?: string;\n classnames: ClassNamesFn;\n columns: Array<IColumn>;\n rows: Array<IRow>;\n render: (region: string, node: SchemaNode, props?: any) => JSX.Element;\n renderCell: (\n region: string,\n column: IColumn,\n item: IRow,\n props: any\n ) => React.ReactNode;\n onCheck: (item: IRow, value: boolean, shift?: boolean) => void;\n onQuickChange?: (\n item: IRow,\n values: object,\n saveImmediately?: boolean | any,\n savePristine?: boolean\n ) => void;\n footable?: boolean;\n ignoreFootableContent?: boolean;\n footableColumns: Array<IColumn>;\n checkOnItemClick?: boolean;\n buildItemProps?: (item: IRow, index: number) => any;\n onAction?: (e: React.UIEvent<any>, action: Action, ctx: object) => void;\n rowClassNameExpr?: string;\n rowClassName?: string;\n data?: any;\n prefixRow?: Array<any>;\n affixRow?: Array<any>;\n itemAction?: ActionSchema;\n}\n\n@observer\nexport class TableBody extends React.Component<TableBodyProps> {\n renderRows(\n rows: Array<any>,\n columns = this.props.columns,\n rowProps: any = {}\n ): any {\n const {\n rowClassName,\n rowClassNameExpr,\n onAction,\n buildItemProps,\n checkOnItemClick,\n classnames: cx,\n render,\n renderCell,\n onCheck,\n onQuickChange,\n footable,\n ignoreFootableContent,\n footableColumns,\n itemAction\n } = this.props;\n\n return rows.map((item: IRow, rowIndex: number) => {\n const itemProps = buildItemProps ? buildItemProps(item, rowIndex) : null;\n\n const doms = [\n <TableRow\n {...itemProps}\n itemAction={itemAction}\n classnames={cx}\n checkOnItemClick={checkOnItemClick}\n key={item.id}\n itemIndex={rowIndex}\n item={item}\n itemClassName={cx(\n rowClassNameExpr\n ? filter(rowClassNameExpr, item.data)\n : rowClassName,\n {\n 'is-last': item.depth > 1 && rowIndex === rows.length - 1\n }\n )}\n columns={columns}\n renderCell={renderCell}\n render={render}\n onAction={onAction}\n onCheck={onCheck}\n // todo 先注释 quickEditEnabled={item.depth === 1}\n onQuickChange={onQuickChange}\n {...rowProps}\n />\n ];\n\n if (footable && footableColumns.length) {\n if (item.depth === 1) {\n doms.push(\n <TableRow\n {...itemProps}\n itemAction={itemAction}\n classnames={cx}\n checkOnItemClick={checkOnItemClick}\n key={`foot-${item.id}`}\n itemIndex={rowIndex}\n item={item}\n itemClassName={cx(\n rowClassNameExpr\n ? filter(rowClassNameExpr, item.data)\n : rowClassName\n )}\n columns={footableColumns}\n renderCell={renderCell}\n render={render}\n onAction={onAction}\n onCheck={onCheck}\n footableMode\n footableColSpan={columns.length}\n onQuickChange={onQuickChange}\n ignoreFootableContent={ignoreFootableContent}\n {...rowProps}\n />\n );\n }\n } else if (item.children.length && item.expanded) {\n // 嵌套表格\n doms.push(\n ...this.renderRows(item.children, columns, {\n ...rowProps,\n parent: item\n })\n );\n }\n return doms;\n });\n }\n\n renderSummaryRow(\n position: 'prefix' | 'affix',\n items?: Array<any>,\n rowIndex?: number\n ) {\n const {columns, render, data, classnames: cx, rows} = this.props;\n\n if (!(Array.isArray(items) && items.length)) {\n return null;\n }\n\n const filterColumns = columns.filter(item => item.toggable);\n const result: any[] = [];\n\n for (let index = 0; index < filterColumns.length; index++) {\n const item = items[filterColumns[index].rawIndex];\n item && result.push({...item});\n }\n\n // 如果是勾选栏,让它和下一列合并。\n if (columns[0].type === '__checkme' && result[0]) {\n result[0].colSpan = (result[0].colSpan || 1) + 1;\n }\n\n // 如果是展开栏,让它和下一列合并。\n if (columns[0].type === '__expandme' && result[0]) {\n result[0].colSpan = (result[0].colSpan || 1) + 1;\n }\n\n // 缺少的单元格补齐\n const appendLen =\n columns.length - result.reduce((p, c) => p + (c.colSpan || 1), 0);\n\n if (appendLen) {\n const item = result.pop();\n result.push({\n ...item,\n colSpan: (item.colSpan || 1) + appendLen\n });\n }\n const ctx = createObject(data, {\n items: rows.map(row => row.locals)\n });\n\n return (\n <tr\n className={cx('Table-tr', 'is-summary')}\n key={`summary-${position}-${rowIndex || 0}`}\n >\n {result.map((item, index) => {\n const Com = item.isHead ? 'th' : 'td';\n return (\n <Com\n key={index}\n colSpan={item.colSpan}\n className={item.cellClassName}\n >\n {render(`summary-row/${index}`, item, {\n data: ctx\n })}\n </Com>\n );\n })}\n </tr>\n );\n }\n\n renderSummary(position: 'prefix' | 'affix', items?: Array<any>) {\n return Array.isArray(items)\n ? items.some(i => Array.isArray(i))\n ? items.map((i, rowIndex) =>\n this.renderSummaryRow(\n position,\n Array.isArray(i) ? i : [i],\n rowIndex\n )\n )\n : this.renderSummaryRow(position, items)\n : null;\n }\n\n render() {\n const {\n classnames: cx,\n className,\n render,\n rows,\n columns,\n rowsProps,\n prefixRow,\n affixRow,\n translate: __\n } = this.props;\n\n return (\n <tbody className={className}>\n {rows.length ? (\n <>\n {this.renderSummary('prefix', prefixRow)}\n {this.renderRows(rows, columns, rowsProps)}\n {this.renderSummary('affix', affixRow)}\n </>\n ) : null}\n </tbody>\n );\n }\n}\n"
12
12
  ]
13
13
  }
@@ -24,7 +24,7 @@ export interface TableContentProps extends LocaleProps {
24
24
  tableRef: (table?: HTMLTableElement | null) => void;
25
25
  renderHeadCell: (column: IColumn, props?: any) => JSX.Element;
26
26
  renderCell: (region: string, column: IColumn, item: IRow, props: any) => React.ReactNode;
27
- onCheck: (item: IRow) => void;
27
+ onCheck: (item: IRow, value: boolean, shift?: boolean) => void;
28
28
  onQuickChange?: (item: IRow, values: object, saveImmediately?: boolean | any, savePristine?: boolean) => void;
29
29
  footable?: boolean;
30
30
  footableColumns: Array<IColumn>;
@@ -4,6 +4,7 @@ exports.TableContent = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var react_1 = (0, tslib_1.__importDefault)(require("react"));
6
6
  var TableBody_1 = require("./TableBody");
7
+ var mobx_react_1 = require("mobx-react");
7
8
  var TableContent = /** @class */ (function (_super) {
8
9
  (0, tslib_1.__extends)(TableContent, _super);
9
10
  function TableContent() {
@@ -30,6 +31,9 @@ var TableContent = /** @class */ (function (_super) {
30
31
  react_1.default.createElement("tr", { className: cx('Table-placeholder') },
31
32
  react_1.default.createElement("td", { colSpan: columns.length }, render('placeholder', translate(placeholder || 'placeholder.noData')))))) : (react_1.default.createElement(TableBody_1.TableBody, { itemAction: itemAction, classnames: cx, render: render, renderCell: renderCell, onCheck: onCheck, onQuickChange: onQuickChange, footable: footable, footableColumns: footableColumns, checkOnItemClick: checkOnItemClick, buildItemProps: buildItemProps, onAction: onAction, rowClassNameExpr: rowClassNameExpr, rowClassName: rowClassName, rows: rows, columns: columns, locale: locale, translate: translate, prefixRow: prefixRow, affixRow: affixRow, data: data })))));
32
33
  };
34
+ TableContent = (0, tslib_1.__decorate)([
35
+ mobx_react_1.observer
36
+ ], TableContent);
33
37
  return TableContent;
34
38
  }(react_1.default.Component));
35
39
  exports.TableContent = TableContent;
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Table/TableContent.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 {ClassNamesFn} from '../../theme';\nimport {IColumn, IRow} from '../../store/table';\nimport {SchemaNode, Action} from '../../types';\nimport {TableBody} from './TableBody';\nimport {LocaleProps} from '../../locale';\nimport {ActionSchema} from '../Action';\n\nexport interface TableContentProps extends LocaleProps {\n className?: string;\n tableClassName?: string;\n classnames: ClassNamesFn;\n columns: Array<IColumn>;\n columnsGroup: Array<{\n label: string;\n index: number;\n colSpan: number;\n rowSpan: number;\n has: Array<any>;\n }>;\n rows: Array<IRow>;\n placeholder?: string;\n render: (region: string, node: SchemaNode, props?: any) => JSX.Element;\n onMouseMove: (event: React.MouseEvent) => void;\n onScroll: (event: React.UIEvent) => void;\n tableRef: (table?: HTMLTableElement | null) => void;\n renderHeadCell: (column: IColumn, props?: any) => JSX.Element;\n renderCell: (\n region: string,\n column: IColumn,\n item: IRow,\n props: any\n ) => React.ReactNode;\n onCheck: (item: IRow) => void;\n onQuickChange?: (\n item: IRow,\n values: object,\n saveImmediately?: boolean | any,\n savePristine?: boolean\n ) => void;\n footable?: boolean;\n footableColumns: Array<IColumn>;\n checkOnItemClick?: boolean;\n buildItemProps?: (item: IRow, index: number) => any;\n onAction?: (e: React.UIEvent<any>, action: Action, ctx: object) => void;\n rowClassNameExpr?: string;\n rowClassName?: string;\n data?: any;\n prefixRow?: Array<any>;\n affixRow?: Array<any>;\n itemAction?: ActionSchema;\n}\n\nexport class TableContent extends React.Component<TableContentProps> {\n render() {\n const {\n placeholder,\n classnames: cx,\n render,\n className,\n columns,\n columnsGroup,\n onMouseMove,\n onScroll,\n tableRef,\n rows,\n renderHeadCell,\n renderCell,\n onCheck,\n rowClassName,\n onQuickChange,\n footable,\n footableColumns,\n checkOnItemClick,\n buildItemProps,\n onAction,\n rowClassNameExpr,\n data,\n prefixRow,\n locale,\n translate,\n itemAction,\n affixRow\n } = this.props;\n\n const tableClassName = cx('Table-table', this.props.tableClassName);\n const hideHeader = columns.every(column => !column.label);\n\n return (\n <div\n onMouseMove={onMouseMove}\n className={cx('Table-content', className)}\n onScroll={onScroll}\n >\n <table ref={tableRef} className={tableClassName}>\n <thead>\n {columnsGroup.length ? (\n <tr>\n {columnsGroup.map((item, index) => (\n <th\n key={index}\n data-index={item.index}\n colSpan={item.colSpan}\n rowSpan={item.rowSpan}\n >\n {item.label ? render('tpl', item.label) : null}\n </th>\n ))}\n </tr>\n ) : null}\n <tr className={hideHeader ? 'fake-hide' : ''}>\n {columns.map(column =>\n columnsGroup.find(group => ~group.has.indexOf(column))\n ?.rowSpan === 2\n ? null\n : renderHeadCell(column, {\n 'data-index': column.index,\n 'key': column.index\n })\n )}\n </tr>\n </thead>\n {!rows.length ? (\n <tbody>\n <tr className={cx('Table-placeholder')}>\n <td colSpan={columns.length}>\n {render(\n 'placeholder',\n translate(placeholder || 'placeholder.noData')\n )}\n </td>\n </tr>\n </tbody>\n ) : (\n <TableBody\n itemAction={itemAction}\n classnames={cx}\n render={render}\n renderCell={renderCell}\n onCheck={onCheck}\n onQuickChange={onQuickChange}\n footable={footable}\n footableColumns={footableColumns}\n checkOnItemClick={checkOnItemClick}\n buildItemProps={buildItemProps}\n onAction={onAction}\n rowClassNameExpr={rowClassNameExpr}\n rowClassName={rowClassName}\n rows={rows}\n columns={columns}\n locale={locale}\n translate={translate}\n prefixRow={prefixRow}\n affixRow={affixRow}\n data={data}\n ></TableBody>\n )}\n </table>\n </div>\n );\n }\n}\n"
11
+ "import React from 'react';\nimport {ClassNamesFn} from '../../theme';\nimport {IColumn, IRow} from '../../store/table';\nimport {SchemaNode, Action} from '../../types';\nimport {TableBody} from './TableBody';\nimport {LocaleProps} from '../../locale';\nimport {observer} from 'mobx-react';\nimport {ActionSchema} from '../Action';\n\nexport interface TableContentProps extends LocaleProps {\n className?: string;\n tableClassName?: string;\n classnames: ClassNamesFn;\n columns: Array<IColumn>;\n columnsGroup: Array<{\n label: string;\n index: number;\n colSpan: number;\n rowSpan: number;\n has: Array<any>;\n }>;\n rows: Array<IRow>;\n placeholder?: string;\n render: (region: string, node: SchemaNode, props?: any) => JSX.Element;\n onMouseMove: (event: React.MouseEvent) => void;\n onScroll: (event: React.UIEvent) => void;\n tableRef: (table?: HTMLTableElement | null) => void;\n renderHeadCell: (column: IColumn, props?: any) => JSX.Element;\n renderCell: (\n region: string,\n column: IColumn,\n item: IRow,\n props: any\n ) => React.ReactNode;\n onCheck: (item: IRow, value: boolean, shift?: boolean) => void;\n onQuickChange?: (\n item: IRow,\n values: object,\n saveImmediately?: boolean | any,\n savePristine?: boolean\n ) => void;\n footable?: boolean;\n footableColumns: Array<IColumn>;\n checkOnItemClick?: boolean;\n buildItemProps?: (item: IRow, index: number) => any;\n onAction?: (e: React.UIEvent<any>, action: Action, ctx: object) => void;\n rowClassNameExpr?: string;\n rowClassName?: string;\n data?: any;\n prefixRow?: Array<any>;\n affixRow?: Array<any>;\n itemAction?: ActionSchema;\n}\n\n@observer\nexport class TableContent extends React.Component<TableContentProps> {\n render() {\n const {\n placeholder,\n classnames: cx,\n render,\n className,\n columns,\n columnsGroup,\n onMouseMove,\n onScroll,\n tableRef,\n rows,\n renderHeadCell,\n renderCell,\n onCheck,\n rowClassName,\n onQuickChange,\n footable,\n footableColumns,\n checkOnItemClick,\n buildItemProps,\n onAction,\n rowClassNameExpr,\n data,\n prefixRow,\n locale,\n translate,\n itemAction,\n affixRow\n } = this.props;\n\n const tableClassName = cx('Table-table', this.props.tableClassName);\n const hideHeader = columns.every(column => !column.label);\n\n return (\n <div\n onMouseMove={onMouseMove}\n className={cx('Table-content', className)}\n onScroll={onScroll}\n >\n <table ref={tableRef} className={tableClassName}>\n <thead>\n {columnsGroup.length ? (\n <tr>\n {columnsGroup.map((item, index) => (\n <th\n key={index}\n data-index={item.index}\n colSpan={item.colSpan}\n rowSpan={item.rowSpan}\n >\n {item.label ? render('tpl', item.label) : null}\n </th>\n ))}\n </tr>\n ) : null}\n <tr className={hideHeader ? 'fake-hide' : ''}>\n {columns.map(column =>\n columnsGroup.find(group => ~group.has.indexOf(column))\n ?.rowSpan === 2\n ? null\n : renderHeadCell(column, {\n 'data-index': column.index,\n 'key': column.index\n })\n )}\n </tr>\n </thead>\n {!rows.length ? (\n <tbody>\n <tr className={cx('Table-placeholder')}>\n <td colSpan={columns.length}>\n {render(\n 'placeholder',\n translate(placeholder || 'placeholder.noData')\n )}\n </td>\n </tr>\n </tbody>\n ) : (\n <TableBody\n itemAction={itemAction}\n classnames={cx}\n render={render}\n renderCell={renderCell}\n onCheck={onCheck}\n onQuickChange={onQuickChange}\n footable={footable}\n footableColumns={footableColumns}\n checkOnItemClick={checkOnItemClick}\n buildItemProps={buildItemProps}\n onAction={onAction}\n rowClassNameExpr={rowClassNameExpr}\n rowClassName={rowClassName}\n rows={rows}\n columns={columns}\n locale={locale}\n translate={translate}\n prefixRow={prefixRow}\n affixRow={affixRow}\n data={data}\n ></TableBody>\n )}\n </table>\n </div>\n );\n }\n}\n"
12
12
  ]
13
13
  }
@@ -4,7 +4,7 @@ import { SchemaNode, Action } from '../../types';
4
4
  import { ITableStore, IColumn, IRow } from '../../store/table';
5
5
  import Sortable from 'sortablejs';
6
6
  import { TableCell } from './TableCell';
7
- import { BaseSchema, SchemaClassName, SchemaObject, SchemaTokenizeableString } from '../../Schema';
7
+ import { BaseSchema, SchemaApi, SchemaClassName, SchemaObject, SchemaTokenizeableString } from '../../Schema';
8
8
  import { SchemaPopOver } from '../PopOver';
9
9
  import { SchemaQuickEdit } from '../QuickEdit';
10
10
  import { SchemaCopyable } from '../Copyable';
@@ -246,6 +246,11 @@ export interface TableProps extends RendererProps {
246
246
  canAccessSuperData?: boolean;
247
247
  reUseRow?: boolean;
248
248
  }
249
+ declare type ExportExcelToolbar = SchemaNode & {
250
+ api?: SchemaApi;
251
+ columns?: string[];
252
+ filename?: string;
253
+ };
249
254
  export default class Table extends React.Component<TableProps, object> {
250
255
  static propsList: Array<string>;
251
256
  static defaultProps: Partial<TableProps>;
@@ -279,7 +284,7 @@ export default class Table extends React.Component<TableProps, object> {
279
284
  componentWillUnmount(): void;
280
285
  subFormRef(form: any, x: number, y: number): void;
281
286
  handleAction(e: React.UIEvent<any>, action: Action, ctx: object): void;
282
- handleCheck(item: IRow): void;
287
+ handleCheck(item: IRow, value: boolean, shift?: boolean): void;
283
288
  handleCheckAll(): void;
284
289
  handleQuickChange(item: IRow, values: object, saveImmediately?: boolean | any, savePristine?: boolean, resetOnFailed?: boolean): void;
285
290
  handleSave(): Promise<void>;
@@ -326,7 +331,7 @@ export default class Table extends React.Component<TableProps, object> {
326
331
  renderToolbar(toolbar: SchemaNode): JSX.Element | null | undefined;
327
332
  renderColumnsToggler(config?: any): JSX.Element | null;
328
333
  renderDragToggler(): JSX.Element | null;
329
- renderExportExcel(toolbar: SchemaNode): JSX.Element | null;
334
+ renderExportExcel(toolbar: ExportExcelToolbar): JSX.Element | null;
330
335
  renderActions(region: string): JSX.Element | null;
331
336
  renderHeader(editable?: boolean): JSX.Element | JSX.Element[] | null;
332
337
  renderFooter(): JSX.Element | JSX.Element[] | null;
@@ -224,8 +224,14 @@ var Table = /** @class */ (function (_super) {
224
224
  // todo
225
225
  onAction(e, action, ctx);
226
226
  };
227
- Table.prototype.handleCheck = function (item) {
228
- item.toggle();
227
+ Table.prototype.handleCheck = function (item, value, shift) {
228
+ var store = this.props.store;
229
+ if (shift) {
230
+ store.toggleShift(item);
231
+ }
232
+ else {
233
+ item.toggle();
234
+ }
229
235
  this.syncSelected();
230
236
  };
231
237
  Table.prototype.handleCheckAll = function () {
@@ -931,7 +937,7 @@ var Table = /** @class */ (function (_super) {
931
937
  }
932
938
  return (react_1.default.createElement(Button_1.default, { classPrefix: ns, onClick: function () {
933
939
  Promise.resolve().then(function () { return new Promise(function(resolve){require(['exceljs'], function(ret) {resolve(tslib_1.__importStar(ret));})}); }).then(function (ExcelJS) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
934
- var rows, tmpStore, filename, res, workbook, worksheet, firstRowLabels, firstRow, rowIndex, _i, rows_1, row, sheetRow, columIndex, cols, _a, cols_1, column, name, value, type, imageData, imageDimensions, imageWidth, imageHeight, imageMaxSize, imageMatch, imageExt, imageId, linkURL, e_1, linkURL, map, viewValue, buffer, blob;
940
+ var rows, tmpStore, filename, res, workbook, worksheet, filteredColumns, firstRowLabels, firstRow, remoteMappingCache, rowIndex, _i, rows_1, row, sheetRow, columIndex, _a, filteredColumns_1, column, name, value, type, imageData, imageDimensions, imageWidth, imageHeight, imageMaxSize, imageMatch, imageExt, imageId, linkURL, e_1, linkURL, map, source, sourceValue, mapKey, res, viewValue, buffer, blob;
935
941
  var _b, _c;
936
942
  return (0, tslib_1.__generator)(this, function (_d) {
937
943
  switch (_d.label) {
@@ -973,7 +979,16 @@ var Table = /** @class */ (function (_super) {
973
979
  properties: { defaultColWidth: 15 }
974
980
  });
975
981
  worksheet.views = [{ state: 'frozen', xSplit: 0, ySplit: 1 }];
976
- firstRowLabels = columns.map(function (column) {
982
+ filteredColumns = toolbar.columns
983
+ ? columns.filter(function (column) {
984
+ var filterColumnsNames = toolbar.columns;
985
+ if (filterColumnsNames.indexOf(column.name) !== -1) {
986
+ return true;
987
+ }
988
+ return false;
989
+ })
990
+ : columns;
991
+ firstRowLabels = filteredColumns.map(function (column) {
977
992
  return column.label;
978
993
  });
979
994
  firstRow = worksheet.getRow(1);
@@ -988,32 +1003,32 @@ var Table = /** @class */ (function (_super) {
988
1003
  column: firstRowLabels.length
989
1004
  }
990
1005
  };
1006
+ remoteMappingCache = {};
991
1007
  rowIndex = 1;
992
1008
  _i = 0, rows_1 = rows;
993
1009
  _d.label = 4;
994
1010
  case 4:
995
- if (!(_i < rows_1.length)) return [3 /*break*/, 14];
1011
+ if (!(_i < rows_1.length)) return [3 /*break*/, 19];
996
1012
  row = rows_1[_i];
997
1013
  rowIndex += 1;
998
1014
  sheetRow = worksheet.getRow(rowIndex);
999
1015
  columIndex = 0;
1000
- cols = columns;
1001
- _a = 0, cols_1 = cols;
1016
+ _a = 0, filteredColumns_1 = filteredColumns;
1002
1017
  _d.label = 5;
1003
1018
  case 5:
1004
- if (!(_a < cols_1.length)) return [3 /*break*/, 13];
1005
- column = cols_1[_a];
1019
+ if (!(_a < filteredColumns_1.length)) return [3 /*break*/, 18];
1020
+ column = filteredColumns_1[_a];
1006
1021
  columIndex += 1;
1007
1022
  name = column.name;
1008
1023
  value = (0, helper_1.getVariable)(row.data, name);
1009
1024
  if (typeof value === 'undefined' &&
1010
1025
  !column.tpl) {
1011
- return [3 /*break*/, 12];
1026
+ return [3 /*break*/, 17];
1012
1027
  }
1013
1028
  // 处理合并单元格
1014
1029
  if (name in row.rowSpans) {
1015
1030
  if (row.rowSpans[name] === 0) {
1016
- return [3 /*break*/, 12];
1031
+ return [3 /*break*/, 17];
1017
1032
  }
1018
1033
  else {
1019
1034
  // start row, start column, end row, end column
@@ -1056,7 +1071,7 @@ var Table = /** @class */ (function (_super) {
1056
1071
  imageExt != 'jpeg' &&
1057
1072
  imageExt != 'gif') {
1058
1073
  sheetRow.getCell(columIndex).value = value;
1059
- return [3 /*break*/, 12];
1074
+ return [3 /*break*/, 17];
1060
1075
  }
1061
1076
  imageId = workbook.addImage({
1062
1077
  base64: imageData,
@@ -1079,48 +1094,68 @@ var Table = /** @class */ (function (_super) {
1079
1094
  e_1 = _d.sent();
1080
1095
  console.warn(e_1.stack);
1081
1096
  return [3 /*break*/, 10];
1082
- case 10: return [3 /*break*/, 12];
1097
+ case 10: return [3 /*break*/, 17];
1083
1098
  case 11:
1084
- if (type == 'link') {
1085
- linkURL = getAbsoluteUrl(value);
1086
- sheetRow.getCell(columIndex).value = {
1087
- text: value,
1088
- hyperlink: linkURL
1089
- };
1099
+ if (!(type == 'link')) return [3 /*break*/, 12];
1100
+ linkURL = getAbsoluteUrl(value);
1101
+ sheetRow.getCell(columIndex).value = {
1102
+ text: value,
1103
+ hyperlink: linkURL
1104
+ };
1105
+ return [3 /*break*/, 17];
1106
+ case 12:
1107
+ if (!(type === 'mapping')) return [3 /*break*/, 16];
1108
+ map = column.map;
1109
+ source = column.source;
1110
+ if (!source) return [3 /*break*/, 15];
1111
+ sourceValue = source;
1112
+ if ((0, tpl_builtin_1.isPureVariable)(source)) {
1113
+ sourceValue = (0, tpl_builtin_1.resolveVariableAndFilter)(source, data, '| raw');
1090
1114
  }
1091
- else if (type === 'mapping') {
1092
- map = column.map;
1093
- if (typeof value !== 'undefined' &&
1094
- map &&
1095
- ((_b = map[value]) !== null && _b !== void 0 ? _b : map['*'])) {
1096
- viewValue = (_c = map[value]) !== null && _c !== void 0 ? _c : (value === true && map['1']
1097
- ? map['1']
1098
- : value === false && map['0']
1099
- ? map['0']
1100
- : map['*']);
1101
- sheetRow.getCell(columIndex).value = viewValue;
1102
- }
1103
- else {
1104
- sheetRow.getCell(columIndex).value = value;
1105
- }
1115
+ mapKey = JSON.stringify(source);
1116
+ if (!(mapKey in remoteMappingCache)) return [3 /*break*/, 13];
1117
+ map = remoteMappingCache[mapKey];
1118
+ return [3 /*break*/, 15];
1119
+ case 13: return [4 /*yield*/, env.fetcher(sourceValue, data)];
1120
+ case 14:
1121
+ res = _d.sent();
1122
+ if (res.data) {
1123
+ remoteMappingCache[mapKey] = res.data;
1124
+ map = res.data;
1125
+ }
1126
+ _d.label = 15;
1127
+ case 15:
1128
+ if (typeof value !== 'undefined' &&
1129
+ map &&
1130
+ ((_b = map[value]) !== null && _b !== void 0 ? _b : map['*'])) {
1131
+ viewValue = (_c = map[value]) !== null && _c !== void 0 ? _c : (value === true && map['1']
1132
+ ? map['1']
1133
+ : value === false && map['0']
1134
+ ? map['0']
1135
+ : map['*']);
1136
+ sheetRow.getCell(columIndex).value =
1137
+ (0, helper_1.removeHTMLTag)(viewValue);
1106
1138
  }
1107
1139
  else {
1108
- if (column.tpl) {
1109
- sheetRow.getCell(columIndex).value = (0, helper_1.removeHTMLTag)((0, tpl_1.filter)(column.tpl, row.data));
1110
- }
1111
- else {
1112
- sheetRow.getCell(columIndex).value = value;
1113
- }
1140
+ sheetRow.getCell(columIndex).value = (0, helper_1.removeHTMLTag)(value);
1114
1141
  }
1115
- _d.label = 12;
1116
- case 12:
1142
+ return [3 /*break*/, 17];
1143
+ case 16:
1144
+ if (column.tpl) {
1145
+ sheetRow.getCell(columIndex).value = (0, helper_1.removeHTMLTag)((0, tpl_1.filter)(column.tpl, row.data));
1146
+ }
1147
+ else {
1148
+ sheetRow.getCell(columIndex).value = value;
1149
+ }
1150
+ _d.label = 17;
1151
+ case 17:
1117
1152
  _a++;
1118
1153
  return [3 /*break*/, 5];
1119
- case 13:
1154
+ case 18:
1120
1155
  _i++;
1121
1156
  return [3 /*break*/, 4];
1122
- case 14: return [4 /*yield*/, workbook.xlsx.writeBuffer()];
1123
- case 15:
1157
+ case 19: return [4 /*yield*/, workbook.xlsx.writeBuffer()];
1158
+ case 20:
1124
1159
  buffer = _d.sent();
1125
1160
  if (buffer) {
1126
1161
  blob = new Blob([buffer], {