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.
- package/README.md +1 -1
- package/lib/components/AssociatedSelection.d.ts +40 -40
- package/lib/components/Badge.d.ts +1 -1
- package/lib/components/Badge.js.map +1 -1
- package/lib/components/ChainedSelection.d.ts +40 -40
- package/lib/components/GroupedSelection.d.ts +40 -40
- package/lib/components/GroupedSelection.js +3 -2
- package/lib/components/GroupedSelection.js.map +2 -2
- package/lib/components/PickerContainer.d.ts +1 -0
- package/lib/components/PickerContainer.js +4 -4
- package/lib/components/PickerContainer.js.map +2 -2
- package/lib/components/Radios.d.ts +10 -10
- package/lib/components/ResultBox.d.ts +44 -40
- package/lib/components/ResultBox.js +40 -6
- package/lib/components/ResultBox.js.map +2 -2
- package/lib/components/ResultList.d.ts +43 -53
- package/lib/components/ResultList.js +34 -22
- package/lib/components/ResultList.js.map +2 -2
- package/lib/components/ResultTableList.d.ts +40 -40
- package/lib/components/ResultTableList.js +16 -17
- package/lib/components/ResultTableList.js.map +2 -2
- package/lib/components/ResultTreeList.d.ts +40 -40
- package/lib/components/Select.d.ts +498 -294
- package/lib/components/Select.js +58 -10
- package/lib/components/Select.js.map +2 -2
- package/lib/components/Selection.d.ts +41 -40
- package/lib/components/Selection.js.map +2 -2
- package/lib/components/TableSelection.d.ts +42 -40
- package/lib/components/TableSelection.js +7 -2
- package/lib/components/TableSelection.js.map +2 -2
- package/lib/components/TabsTransfer.d.ts +2 -2
- package/lib/components/TabsTransfer.js.map +1 -1
- package/lib/components/TooltipWrapper.d.ts +1 -1
- package/lib/components/TooltipWrapper.js.map +2 -2
- package/lib/components/Transfer.d.ts +40 -40
- package/lib/components/Transfer.js +1 -1
- package/lib/components/Transfer.js.map +2 -2
- package/lib/components/TransferDropDown.d.ts +43 -40
- package/lib/components/TransferDropDown.js +2 -2
- package/lib/components/TransferDropDown.js.map +2 -2
- package/lib/components/TreeSelection.d.ts +40 -40
- package/lib/components/TreeSelection.js +3 -2
- package/lib/components/TreeSelection.js.map +2 -2
- package/lib/components/formula/Editor.d.ts +45 -41
- package/lib/components/formula/Editor.js +8 -2
- package/lib/components/formula/Editor.js.map +2 -2
- package/lib/components/formula/Picker.d.ts +43 -41
- package/lib/components/formula/Picker.js +40 -20
- package/lib/components/formula/Picker.js.map +2 -2
- package/lib/components/formula/VariableList.d.ts +2 -0
- package/lib/components/formula/VariableList.js +15 -5
- package/lib/components/formula/VariableList.js.map +2 -2
- package/lib/components/index.d.ts +3 -1
- package/lib/components/index.js +5 -1
- package/lib/components/index.js.map +2 -2
- package/lib/components/schema-editor/SchemaVariableList.d.ts +1 -0
- package/lib/components/schema-editor/SchemaVariableList.js +2 -2
- package/lib/components/schema-editor/SchemaVariableList.js.map +2 -2
- package/lib/components/schema-editor/SchemaVariableListPicker.d.ts +1 -0
- package/lib/components/schema-editor/SchemaVariableListPicker.js +2 -2
- package/lib/components/schema-editor/SchemaVariableListPicker.js.map +2 -2
- package/lib/components/table/HeadCellFilter.js +4 -1
- package/lib/components/table/HeadCellFilter.js.map +2 -2
- package/lib/components/table/HeadCellSort.js +30 -24
- package/lib/components/table/HeadCellSort.js.map +2 -2
- package/lib/components/table/index.d.ts +6 -3
- package/lib/components/table/index.js +72 -86
- package/lib/components/table/index.js.map +2 -2
- package/lib/index.js +1 -1
- package/lib/locale/de-DE.js +1 -1
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +1 -1
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +1 -1
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.d.ts +21 -4
- package/lib/renderers/Action.js +44 -20
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/Breadcrumb.js +2 -2
- package/lib/renderers/Breadcrumb.js.map +2 -2
- package/lib/renderers/CRUD.js +3 -0
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Form/InputFormula.d.ts +5 -1
- package/lib/renderers/Form/InputFormula.js +2 -2
- package/lib/renderers/Form/InputFormula.js.map +2 -2
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputTag.d.ts +8 -0
- package/lib/renderers/Form/InputTag.js +2 -2
- package/lib/renderers/Form/InputTag.js.map +2 -2
- package/lib/renderers/Form/InputTree.d.ts +4 -0
- package/lib/renderers/Form/InputTree.js +2 -2
- package/lib/renderers/Form/InputTree.js.map +2 -2
- package/lib/renderers/Form/Picker.d.ts +1 -1
- package/lib/renderers/Form/Picker.js +38 -23
- package/lib/renderers/Form/Picker.js.map +2 -2
- package/lib/renderers/Form/Select.d.ts +19 -0
- package/lib/renderers/Form/Select.js +2 -2
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/Transfer.d.ts +1 -0
- package/lib/renderers/Form/Transfer.js +4 -0
- package/lib/renderers/Form/Transfer.js.map +2 -2
- package/lib/renderers/Form/wrapControl.js +10 -10
- package/lib/renderers/Form/wrapControl.js.map +2 -2
- package/lib/renderers/QRCode.d.ts +16 -0
- package/lib/renderers/QRCode.js +25 -1
- package/lib/renderers/QRCode.js.map +2 -2
- package/lib/renderers/Service.js +0 -1
- package/lib/renderers/Service.js.map +2 -2
- package/lib/renderers/Steps.d.ts +2 -2
- package/lib/renderers/Steps.js +1 -1
- package/lib/renderers/Steps.js.map +2 -2
- package/lib/renderers/Table/exportExcel.js +50 -36
- package/lib/renderers/Table/exportExcel.js.map +2 -2
- package/lib/renderers/Table/index.js +2 -1
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/renderers/Table-v2/HeadCellSearchDropdown.d.ts +1 -1
- package/lib/renderers/Table-v2/HeadCellSearchDropdown.js +38 -24
- package/lib/renderers/Table-v2/HeadCellSearchDropdown.js.map +2 -2
- package/lib/renderers/Table-v2/index.d.ts +10 -4
- package/lib/renderers/Table-v2/index.js +109 -58
- package/lib/renderers/Table-v2/index.js.map +2 -2
- package/lib/renderers/Tabs.d.ts +6 -2
- package/lib/renderers/Tabs.js +21 -0
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/store/table-v2.d.ts +210 -4
- package/lib/store/table-v2.js +82 -5
- package/lib/store/table-v2.js.map +2 -2
- package/lib/themes/ang-ie11.css +140 -44
- package/lib/themes/ang.css +140 -33
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +140 -44
- package/lib/themes/antd.css +140 -33
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +297 -197
- package/lib/themes/cxd.css +151 -38
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +140 -44
- package/lib/themes/dark.css +140 -33
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +297 -197
- package/lib/themes/default.css +151 -38
- package/lib/themes/default.css.map +1 -1
- package/lib/types.d.ts +1 -1
- package/lib/types.js.map +1 -1
- package/lib/utils/formula.js +7 -5
- package/lib/utils/formula.js.map +2 -2
- package/lib/utils/helper.d.ts +1 -0
- package/lib/utils/helper.js +11 -1
- package/lib/utils/helper.js.map +2 -2
- package/package.json +2 -2
- package/schema.json +103 -35
- package/scss/_properties.scss +11 -6
- package/scss/components/_formula.scss +45 -4
- package/scss/components/_modal.scss +1 -1
- package/scss/components/_result-box.scss +34 -2
- package/scss/components/form/_checks.scss +47 -44
- package/scss/components/form/_date.scss +28 -19
- package/scss/components/form/_icon-picker.scss +10 -6
- package/scss/components/form/_select.scss +77 -34
- package/scss/components/form/_selection.scss +9 -6
- package/scss/components/form/_switch.scss +1 -0
- package/scss/components/form/_text.scss +2 -0
- package/scss/components/form/_transfer.scss +2 -1
- package/scss/themes/_cxd-variables.scss +3 -1
- package/scss/themes/cxd.scss +9 -6
- package/sdk/ang-ie11.css +159 -46
- package/sdk/ang.css +159 -35
- package/sdk/antd-ie11.css +159 -46
- package/sdk/antd.css +159 -35
- package/sdk/barcode.js +51 -51
- package/sdk/charts.js +14 -14
- package/sdk/codemirror.js +7 -7
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +317 -199
- package/sdk/cxd.css +171 -40
- package/sdk/dark-ie11.css +159 -46
- package/sdk/dark.css +159 -35
- package/sdk/exceljs.js +1 -1
- package/sdk/locale/de-DE.js +2 -2
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +16 -16
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +317 -199
- package/sdk/sdk.css +171 -40
- package/sdk/sdk.js +1353 -1351
- package/sdk/thirds/hls.js/hls.js +1 -1
- package/sdk/thirds/mpegts.js/mpegts.js +1 -1
- package/sdk/tinymce.js +57 -57
- package/src/components/Badge.tsx +1 -1
- package/src/components/GroupedSelection.tsx +3 -2
- package/src/components/PickerContainer.tsx +13 -8
- package/src/components/ResultBox.tsx +95 -11
- package/src/components/ResultList.tsx +48 -51
- package/src/components/ResultTableList.tsx +32 -33
- package/src/components/Select.tsx +138 -17
- package/src/components/Selection.tsx +1 -0
- package/src/components/TableSelection.tsx +15 -8
- package/src/components/TabsTransfer.tsx +2 -2
- package/src/components/TooltipWrapper.tsx +20 -14
- package/src/components/Transfer.tsx +0 -4
- package/src/components/TransferDropDown.tsx +9 -1
- package/src/components/TreeSelection.tsx +2 -1
- package/src/components/formula/Editor.tsx +17 -2
- package/src/components/formula/Picker.tsx +44 -7
- package/src/components/formula/VariableList.tsx +36 -2
- package/src/components/index.tsx +4 -0
- package/src/components/schema-editor/SchemaVariableList.tsx +4 -2
- package/src/components/schema-editor/SchemaVariableListPicker.tsx +4 -1
- package/src/components/table/HeadCellFilter.tsx +4 -1
- package/src/components/table/HeadCellSort.tsx +1 -1
- package/src/components/table/index.tsx +66 -90
- package/src/locale/de-DE.ts +2 -2
- package/src/locale/en-US.ts +2 -2
- package/src/locale/zh-CN.ts +1 -1
- package/src/renderers/Action.tsx +64 -19
- package/src/renderers/Breadcrumb.tsx +11 -12
- package/src/renderers/CRUD.tsx +2 -0
- package/src/renderers/Form/InputFormula.tsx +9 -2
- package/src/renderers/Form/InputImage.tsx +4 -2
- package/src/renderers/Form/InputTag.tsx +14 -0
- package/src/renderers/Form/InputTree.tsx +7 -0
- package/src/renderers/Form/Picker.tsx +11 -1
- package/src/renderers/Form/Select.tsx +32 -1
- package/src/renderers/Form/Transfer.tsx +6 -0
- package/src/renderers/Form/wrapControl.tsx +10 -10
- package/src/renderers/QRCode.tsx +50 -1
- package/src/renderers/Service.tsx +0 -1
- package/src/renderers/Steps.tsx +5 -5
- package/src/renderers/Table/exportExcel.ts +29 -12
- package/src/renderers/Table/index.tsx +9 -7
- package/src/renderers/Table-v2/HeadCellSearchDropdown.tsx +14 -9
- package/src/renderers/Table-v2/index.tsx +130 -58
- package/src/renderers/Tabs.tsx +33 -3
- package/src/store/table-v2.ts +104 -7
- package/src/types.ts +2 -1
- package/src/utils/formula.ts +7 -5
- package/src/utils/helper.ts +12 -2
package/lib/renderers/QRCode.js
CHANGED
@@ -4,15 +4,39 @@ exports.QRCodeRenderer = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
5
5
|
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
6
6
|
var classnames_1 = (0, tslib_1.__importDefault)(require("classnames"));
|
7
|
+
var mapValues_1 = (0, tslib_1.__importDefault)(require("lodash/mapValues"));
|
7
8
|
var factory_1 = require("../factory");
|
8
9
|
var tpl_1 = require("../utils/tpl");
|
9
10
|
var qrcode_react_1 = require("qrcode.react");
|
10
11
|
var helper_1 = require("../utils/helper");
|
12
|
+
var tpl_builtin_1 = require("../utils/tpl-builtin");
|
11
13
|
var QRCode = /** @class */ (function (_super) {
|
12
14
|
(0, tslib_1.__extends)(QRCode, _super);
|
13
15
|
function QRCode() {
|
14
16
|
return _super !== null && _super.apply(this, arguments) || this;
|
15
17
|
}
|
18
|
+
/**
|
19
|
+
* 获取图片配置
|
20
|
+
*/
|
21
|
+
QRCode.prototype.getImageSettings = function () {
|
22
|
+
var _a = this.props, imageSettings = _a.imageSettings, data = _a.data;
|
23
|
+
if (!imageSettings ||
|
24
|
+
!(0, helper_1.isObject)(imageSettings) ||
|
25
|
+
!imageSettings.src ||
|
26
|
+
typeof imageSettings.src !== 'string') {
|
27
|
+
return undefined;
|
28
|
+
}
|
29
|
+
if ((0, tpl_builtin_1.isPureVariable)(imageSettings.src)) {
|
30
|
+
imageSettings.src = (0, tpl_builtin_1.resolveVariableAndFilter)(imageSettings.src, data, '| raw');
|
31
|
+
}
|
32
|
+
return (0, mapValues_1.default)(imageSettings, function (value, key) {
|
33
|
+
if (!!~['width', 'height', 'x', 'y'].indexOf(key)) {
|
34
|
+
/** 处理非数字格式的输入,QRCodeSVG内部会对空值进行默认赋值 */
|
35
|
+
return (0, helper_1.isNumeric)(value) ? Number(value) : null;
|
36
|
+
}
|
37
|
+
return value;
|
38
|
+
});
|
39
|
+
};
|
16
40
|
QRCode.prototype.render = function () {
|
17
41
|
var _a = this.props, className = _a.className, qrcodeClassName = _a.qrcodeClassName, codeSize = _a.codeSize, backgroundColor = _a.backgroundColor, foregroundColor = _a.foregroundColor, placeholder = _a.placeholder, level = _a.level, defaultValue = _a.defaultValue, data = _a.data, ns = _a.classPrefix;
|
18
42
|
var finalValue = (0, helper_1.getPropValue)(this.props, function () { return (0, tpl_1.filter)(defaultValue, data, '| raw') || undefined; });
|
@@ -22,7 +46,7 @@ var QRCode = /** @class */ (function (_super) {
|
|
22
46
|
// @ts-ignore 其实是支持的
|
23
47
|
, {
|
24
48
|
// @ts-ignore 其实是支持的
|
25
|
-
className: qrcodeClassName, value: finalValue, size: codeSize, bgColor: backgroundColor, fgColor: foregroundColor, level: level || 'L' }))));
|
49
|
+
className: qrcodeClassName, value: finalValue, size: codeSize, bgColor: backgroundColor, fgColor: foregroundColor, level: level || 'L', imageSettings: this.getImageSettings() }))));
|
26
50
|
};
|
27
51
|
QRCode.defaultProps = {
|
28
52
|
codeSize: 128,
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/QRCode.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,uEAA4B;AAC5B,sCAAmD;AAEnD,oCAAoC;AACpC,6CAAuC;AAEvC,
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport cx from 'classnames';\nimport {Renderer, RendererProps} from '../factory';\nimport {FormItem, FormControlProps} from './Form/Item';\nimport {filter} from '../utils/tpl';\nimport {QRCodeSVG} from 'qrcode.react';\nimport {BaseSchema, SchemaClassName} from '../Schema';\nimport {getPropValue} from '../utils/helper';\n\n/**\n * 二维码展示控件。\n * 文档:https://baidu.gitee.io/amis/docs/components/qrcode\n */\nexport interface QRCodeSchema extends BaseSchema {\n type: 'qrcode' | 'qr-code';\n\n /**\n * 关联字段名。\n */\n name?: string;\n\n /**\n * css 类名\n */\n qrcodeClassName?: SchemaClassName;\n\n /**\n * 二维码的宽高大小,默认 128\n * @default 128\n */\n codeSize?: number;\n\n /**\n * 背景色\n */\n backgroundColor?: string;\n\n /**\n * 前景色\n */\n foregroundColor?: string;\n\n /**\n * 二维码复杂级别\n */\n level?: 'L' | 'M' | 'Q' | 'H';\n\n /**\n * 占位符\n */\n placeholder?: string;\n}\n\nexport interface QRCodeProps\n extends FormControlProps,\n Omit<QRCodeSchema, 'type' | 'className'> {}\n\nexport default class QRCode extends React.Component<QRCodeProps, any> {\n static defaultProps: Partial<QRCodeProps> = {\n codeSize: 128,\n qrcodeClassName: '',\n backgroundColor: '#fff',\n foregroundColor: '#000',\n level: 'L',\n placeholder: '-'\n };\n\n render() {\n const {\n className,\n qrcodeClassName,\n codeSize,\n backgroundColor,\n foregroundColor,\n placeholder,\n level,\n defaultValue,\n data,\n classPrefix: ns\n } = this.props;\n\n const finalValue = getPropValue(\n this.props,\n () => filter(defaultValue, data, '| raw') || undefined\n );\n\n return (\n <div className={cx(`${ns}QrCode`, className)}>\n {!finalValue ? (\n <span className={`${ns}QrCode--placeholder`}>{placeholder}</span>\n ) : finalValue.length > 2953 ? (\n // https://github.com/zpao/qrcode.react/issues/69\n <span className=\"text-danger\">\n 二维码值过长,请设置2953个字符以下的文本\n </span>\n ) : (\n <QRCodeSVG\n // @ts-ignore 其实是支持的\n className={qrcodeClassName}\n value={finalValue}\n size={codeSize}\n bgColor={backgroundColor}\n fgColor={foregroundColor}\n level={level || 'L'}\n />\n )}\n </div>\n );\n }\n}\n\n@Renderer({\n test: /(^|\\/)qr\\-?code$/,\n name: 'qrcode'\n})\nexport class QRCodeRenderer extends QRCode {}\n"
|
11
|
+
"import React from 'react';\nimport cx from 'classnames';\nimport mapValues from 'lodash/mapValues';\nimport {Renderer, RendererProps} from '../factory';\nimport {FormItem, FormControlProps} from './Form/Item';\nimport {filter} from '../utils/tpl';\nimport {QRCodeSVG} from 'qrcode.react';\nimport {BaseSchema, SchemaClassName} from '../Schema';\nimport {getPropValue, isObject, isNumeric} from '../utils/helper';\nimport {isPureVariable, resolveVariableAndFilter} from '../utils/tpl-builtin';\n\nexport interface QRCodeImageSettings {\n src: string;\n height: number;\n width: number;\n excavate: boolean;\n x?: number;\n y?: number;\n}\n\n/**\n * 二维码展示控件。\n * 文档:https://baidu.gitee.io/amis/docs/components/qrcode\n */\nexport interface QRCodeSchema extends BaseSchema {\n type: 'qrcode' | 'qr-code';\n\n /**\n * 关联字段名。\n */\n name?: string;\n\n /**\n * css 类名\n */\n qrcodeClassName?: SchemaClassName;\n\n /**\n * 二维码的宽高大小,默认 128\n * @default 128\n */\n codeSize?: number;\n\n /**\n * 背景色\n */\n backgroundColor?: string;\n\n /**\n * 前景色\n */\n foregroundColor?: string;\n\n /**\n * 二维码复杂级别\n */\n level?: 'L' | 'M' | 'Q' | 'H';\n\n /**\n * 占位符\n */\n placeholder?: string;\n\n /**\n * 图片配置\n */\n imageSettings?: QRCodeImageSettings;\n}\n\nexport interface QRCodeProps\n extends FormControlProps,\n Omit<QRCodeSchema, 'type' | 'className'> {}\n\nexport default class QRCode extends React.Component<QRCodeProps, any> {\n static defaultProps: Partial<QRCodeProps> = {\n codeSize: 128,\n qrcodeClassName: '',\n backgroundColor: '#fff',\n foregroundColor: '#000',\n level: 'L',\n placeholder: '-'\n };\n\n /**\n * 获取图片配置\n */\n getImageSettings(): QRCodeImageSettings | undefined {\n const {imageSettings, data} = this.props;\n\n if (\n !imageSettings ||\n !isObject(imageSettings) ||\n !imageSettings.src ||\n typeof imageSettings.src !== 'string'\n ) {\n return undefined;\n }\n\n if (isPureVariable(imageSettings.src)) {\n imageSettings.src = resolveVariableAndFilter(\n imageSettings.src,\n data,\n '| raw'\n );\n }\n\n return mapValues(imageSettings, (value: any, key: string) => {\n if (!!~['width', 'height', 'x', 'y'].indexOf(key)) {\n /** 处理非数字格式的输入,QRCodeSVG内部会对空值进行默认赋值 */\n return isNumeric(value) ? Number(value) : null;\n }\n return value;\n });\n }\n\n render() {\n const {\n className,\n qrcodeClassName,\n codeSize,\n backgroundColor,\n foregroundColor,\n placeholder,\n level,\n defaultValue,\n data,\n classPrefix: ns\n } = this.props;\n\n const finalValue = getPropValue(\n this.props,\n () => filter(defaultValue, data, '| raw') || undefined\n );\n\n return (\n <div className={cx(`${ns}QrCode`, className)}>\n {!finalValue ? (\n <span className={`${ns}QrCode--placeholder`}>{placeholder}</span>\n ) : finalValue.length > 2953 ? (\n // https://github.com/zpao/qrcode.react/issues/69\n <span className=\"text-danger\">\n 二维码值过长,请设置2953个字符以下的文本\n </span>\n ) : (\n <QRCodeSVG\n // @ts-ignore 其实是支持的\n className={qrcodeClassName}\n value={finalValue}\n size={codeSize}\n bgColor={backgroundColor}\n fgColor={foregroundColor}\n level={level || 'L'}\n imageSettings={this.getImageSettings()}\n />\n )}\n </div>\n );\n }\n}\n\n@Renderer({\n test: /(^|\\/)qr\\-?code$/,\n name: 'qrcode'\n})\nexport class QRCodeRenderer extends QRCode {}\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/renderers/Service.js
CHANGED
@@ -416,7 +416,6 @@ var ServiceRenderer = /** @class */ (function (_super) {
|
|
416
416
|
return _super.prototype.receive.call(this, values);
|
417
417
|
};
|
418
418
|
ServiceRenderer.prototype.componentWillUnmount = function () {
|
419
|
-
_super.prototype.componentWillUnmount.call(this);
|
420
419
|
var scoped = this.context;
|
421
420
|
scoped.unRegisterComponent(this);
|
422
421
|
};
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Service.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 PropTypes from 'prop-types';\nimport {Renderer, RendererProps} from '../factory';\nimport {ServiceStore, IServiceStore} from '../store/service';\nimport {Api, SchemaNode, ApiObject, RendererData, Action} from '../types';\nimport {filter, evalExpression} from '../utils/tpl';\nimport cx from 'classnames';\nimport Scoped, {ScopedContext, IScopedContext} from '../Scoped';\nimport {observer} from 'mobx-react';\nimport {\n buildApi,\n isApiOutdated,\n isEffectiveApi,\n str2AsyncFunction\n} from '../utils/api';\nimport {Spinner} from '../components';\nimport {\n autobind,\n isEmpty,\n isObjectShallowModified,\n isVisible,\n qsstringify,\n createObject\n} from '../utils/helper';\nimport {\n BaseSchema,\n SchemaApi,\n SchemaCollection,\n SchemaExpression,\n SchemaMessage,\n SchemaName\n} from '../Schema';\nimport {IIRendererStore} from '../store';\n\nimport type {ScopedComponentType} from '../Scoped';\nimport type {ListenerAction} from '../actions/Action';\n\n/**\n * Service 服务类控件。\n * 文档:https://baidu.gitee.io/amis/docs/components/service\n */\nexport interface ServiceSchema extends BaseSchema {\n /**\n * 指定为 Service 数据拉取控件。\n */\n type: 'service';\n\n /**\n * 页面初始化的时候,可以设置一个 API 让其取拉取,发送数据会携带当前 data 数据(包含地址栏参数),获取得数据会合并到 data 中,供组件内使用。\n */\n api?: SchemaApi;\n\n /**\n * WebScocket 地址,用于实时获取数据\n */\n ws?: string;\n\n /**\n * 通过调用外部函数来获取数据\n */\n dataProvider?: string | Function;\n\n /**\n * 内容区域\n */\n body?: SchemaCollection;\n\n /**\n * @deprecated 改成 api 的 sendOn。\n */\n fetchOn?: SchemaExpression;\n\n /**\n * 是否默认就拉取?\n */\n initFetch?: boolean;\n\n /**\n * 是否默认就拉取?通过表达式来决定.\n *\n * @deprecated 改成 api 的 sendOn。\n */\n initFetchOn?: SchemaExpression;\n\n /**\n * 用来获取远程 Schema 的 api\n */\n schemaApi?: SchemaApi;\n\n /**\n * 是否默认加载 schemaApi\n */\n initFetchSchema?: boolean;\n\n /**\n * 用表达式来配置。\n * @deprecated 改成 api 的 sendOn。\n */\n initFetchSchemaOn?: SchemaExpression;\n\n /**\n * 是否轮询拉取\n */\n interval?: number;\n\n /**\n * 是否静默拉取\n */\n silentPolling?: boolean;\n\n /**\n * 关闭轮询的条件。\n */\n stopAutoRefreshWhen?: SchemaExpression;\n\n messages?: SchemaMessage;\n\n name?: SchemaName;\n}\n\nexport interface ServiceProps\n extends RendererProps,\n Omit<ServiceSchema, 'type' | 'className'> {\n store: IServiceStore;\n messages: SchemaMessage;\n}\nexport default class Service extends React.Component<ServiceProps> {\n timer: ReturnType<typeof setTimeout>;\n mounted: boolean;\n\n // 主要是用于关闭 socket\n socket: any;\n\n dataProviderUnsubscribe?: Function;\n\n static defaultProps: Partial<ServiceProps> = {\n messages: {\n fetchFailed: 'fetchFailed'\n }\n };\n\n static propsList: Array<string> = [];\n\n constructor(props: ServiceProps) {\n super(props);\n\n this.handleQuery = this.handleQuery.bind(this);\n this.handleAction = this.handleAction.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.reload = this.reload.bind(this);\n this.silentReload = this.silentReload.bind(this);\n this.initInterval = this.initInterval.bind(this);\n this.afterDataFetch = this.afterDataFetch.bind(this);\n this.afterSchemaFetch = this.afterSchemaFetch.bind(this);\n this.runDataProvider = this.runDataProvider.bind(this);\n this.dataProviderSetData = this.dataProviderSetData.bind(this);\n }\n\n componentDidMount() {\n this.mounted = true;\n this.initFetch();\n }\n\n componentDidUpdate(prevProps: ServiceProps) {\n const props = this.props;\n const store = props.store;\n\n const {fetchSuccess, fetchFailed} = props.messages!;\n\n isApiOutdated(prevProps.api, props.api, prevProps.data, props.data) &&\n store\n .fetchData(props.api as Api, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterDataFetch);\n\n isApiOutdated(\n prevProps.schemaApi,\n props.schemaApi,\n prevProps.data,\n props.data\n ) &&\n store\n .fetchSchema(props.schemaApi as Api, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterSchemaFetch);\n\n if (props.ws && prevProps.ws !== props.ws) {\n if (this.socket) {\n this.socket.close();\n }\n this.socket = this.fetchWSData(props.ws, store.data);\n }\n\n if (isObjectShallowModified(prevProps.defaultData, props.defaultData)) {\n store.reInitData(props.defaultData);\n }\n\n if (props.dataProvider !== prevProps.dataProvider) {\n this.runDataProvider();\n }\n }\n\n componentWillUnmount() {\n this.mounted = false;\n this.runDataProviderUnsubscribe();\n clearTimeout(this.timer);\n if (this.socket && this.socket.close) {\n this.socket.close();\n }\n }\n\n doAction(action: ListenerAction, args: any) {\n if (action?.actionType === 'rebuild') {\n const {\n schemaApi,\n store,\n dataProvider,\n messages: {fetchSuccess, fetchFailed}\n } = this.props;\n\n store.updateData(args);\n clearTimeout(this.timer);\n if (isEffectiveApi(schemaApi, store.data)) {\n store\n .fetchSchema(schemaApi, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterSchemaFetch);\n }\n\n if (dataProvider) {\n this.runDataProvider();\n }\n }\n }\n\n @autobind\n initFetch() {\n const {\n schemaApi,\n initFetchSchema,\n api,\n ws,\n initFetch,\n initFetchOn,\n dataProvider,\n store,\n messages: {fetchSuccess, fetchFailed}\n } = this.props;\n\n if (isEffectiveApi(schemaApi, store.data, initFetchSchema)) {\n store\n .fetchSchema(schemaApi, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterSchemaFetch);\n }\n\n if (isEffectiveApi(api, store.data, initFetch, initFetchOn)) {\n store\n .fetchInitData(api, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterDataFetch);\n }\n\n if (ws) {\n this.socket = this.fetchWSData(ws, store.data);\n }\n\n if (dataProvider) {\n this.runDataProvider();\n }\n }\n\n // 使用外部函数获取数据\n async runDataProvider() {\n this.runDataProviderUnsubscribe();\n const {dataProvider, store} = this.props;\n let dataProviderFunc = dataProvider;\n\n if (typeof dataProvider === 'string' && dataProvider) {\n dataProviderFunc = str2AsyncFunction(\n dataProvider,\n 'data',\n 'setData',\n 'env'\n )!;\n }\n if (typeof dataProviderFunc === 'function') {\n const unsubscribe = await dataProviderFunc(\n store.data,\n this.dataProviderSetData,\n this.props.env\n );\n if (typeof unsubscribe === 'function') {\n this.dataProviderUnsubscribe = unsubscribe;\n }\n }\n }\n\n // 运行销毁外部函数的方法\n runDataProviderUnsubscribe() {\n if (typeof this.dataProviderUnsubscribe === 'function') {\n try {\n this.dataProviderUnsubscribe();\n } catch (error) {\n console.error(error);\n }\n }\n }\n\n // 外部函数回调更新数据\n dataProviderSetData(data: any) {\n if (!this.mounted) {\n return;\n }\n const {store} = this.props;\n store.updateData(data, undefined, false);\n store.setHasRemoteData();\n }\n\n // 使用 websocket 获取使用,因为有异步所以放这里而不是 store 实现\n fetchWSData(ws: string | Api, data: any) {\n const {env, store} = this.props;\n const wsApi = buildApi(ws, data);\n\n env.wsFetcher(\n wsApi,\n (data: any) => {\n let returndata = data;\n if ('status' in data && 'data' in data) {\n returndata = data.data;\n if (data.status !== 0) {\n store.updateMessage(data.msg, true);\n env.notify('error', data.msg);\n return;\n }\n }\n store.updateData(returndata, undefined, false);\n store.setHasRemoteData();\n // 因为 WebSocket 只会获取纯数据,所以没有 msg 之类的\n this.afterDataFetch({ok: true, data: returndata});\n },\n (error: any) => {\n store.updateMessage(error, true);\n env.notify('error', error);\n }\n );\n }\n\n afterDataFetch(result: any) {\n // todo 应该统一这块\n // 初始化接口返回的是整个 response,\n // 保存 ajax 请求的时候返回时数据部分。\n const data = result?.hasOwnProperty('ok') ? result.data : result;\n const {onBulkChange, dispatchEvent} = this.props;\n\n dispatchEvent?.('fetchInited', data);\n\n if (!isEmpty(data) && onBulkChange) {\n onBulkChange(data);\n }\n\n this.initInterval(data);\n }\n\n afterSchemaFetch(schema: any) {\n const {onBulkChange, formStore, dispatchEvent} = this.props;\n\n dispatchEvent?.('fetchSchemaInited', schema);\n\n if (formStore && schema?.data && onBulkChange) {\n onBulkChange && onBulkChange(schema.data);\n }\n\n this.initInterval(schema);\n }\n\n initInterval(value: any) {\n const {interval, silentPolling, stopAutoRefreshWhen, data} = this.props;\n\n clearTimeout(this.timer);\n interval &&\n this.mounted &&\n (!stopAutoRefreshWhen ||\n /** 接口返回值需要同步到数据域中再判断,否则会多请求一轮 */\n !evalExpression(stopAutoRefreshWhen, createObject(data, value))) &&\n (this.timer = setTimeout(\n silentPolling ? this.silentReload : this.reload,\n Math.max(interval, 1000)\n ));\n return value;\n }\n\n reload(subpath?: string, query?: any, ctx?: RendererData, silent?: boolean) {\n if (query) {\n return this.receive(query);\n }\n\n const {\n schemaApi,\n initFetchSchema,\n api,\n initFetch,\n initFetchOn,\n store,\n dataProvider,\n messages: {fetchSuccess, fetchFailed}\n } = this.props;\n\n clearTimeout(this.timer);\n\n if (isEffectiveApi(schemaApi, store.data)) {\n store\n .fetchSchema(schemaApi, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterSchemaFetch);\n }\n\n if (isEffectiveApi(api, store.data)) {\n store\n .fetchData(api, store.data, {\n silent,\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterDataFetch);\n }\n\n if (dataProvider) {\n this.runDataProvider();\n }\n }\n\n silentReload(target?: string, query?: any) {\n this.reload(target, query, undefined, true);\n }\n\n receive(values: object) {\n const {store} = this.props;\n\n store.updateData(values);\n this.reload();\n }\n\n handleQuery(query: any) {\n if (this.props.api || this.props.schemaApi) {\n this.receive(query);\n } else {\n this.props.onQuery?.(query);\n }\n }\n\n reloadTarget(target: string, data?: any) {\n // 会被覆写\n }\n\n @autobind\n handleDialogConfirm(\n values: object[],\n action: Action,\n ctx: any,\n targets: Array<any>\n ) {\n const {store} = this.props;\n store.closeDialog(true);\n }\n\n @autobind\n handleDialogClose(confirmed = false) {\n const {store} = this.props;\n store.closeDialog(confirmed);\n }\n\n openFeedback(dialog: any, ctx: any) {\n return new Promise(resolve => {\n const {store} = this.props;\n\n store.setCurrentAction({\n type: 'button',\n actionType: 'dialog',\n dialog: dialog\n });\n store.openDialog(ctx, undefined, confirmed => {\n resolve(confirmed);\n });\n });\n }\n\n handleAction(\n e: React.UIEvent<any> | void,\n action: Action,\n data: object,\n throwErrors: boolean = false,\n delegate?: IScopedContext\n ) {\n const {onAction, store, env, api, translate: __} = this.props;\n\n if (api && action.actionType === 'ajax') {\n store.setCurrentAction(action);\n store\n .saveRemote(action.api as string, data, {\n successMessage: __(action.messages && action.messages.success),\n errorMessage: __(action.messages && action.messages.failed)\n })\n .then(async (payload: any) => {\n this.afterDataFetch(payload);\n\n if (action.feedback && isVisible(action.feedback, store.data)) {\n await this.openFeedback(action.feedback, store.data);\n }\n\n const redirect =\n action.redirect && filter(action.redirect, store.data);\n redirect && env.jumpTo(redirect, action);\n action.reload && this.reloadTarget(action.reload, store.data);\n })\n .catch(e => {\n if (throwErrors || action.countDown) {\n throw e;\n }\n });\n } else {\n onAction(e, action, data, throwErrors, delegate || this.context);\n }\n }\n\n handleChange(\n value: any,\n name: string,\n submit?: boolean,\n changePristine?: boolean\n ) {\n const {store, formStore, onChange} = this.props;\n\n // form 触发的 onChange,直接忽略\n if (typeof name !== 'string') {\n return;\n }\n\n (store as IIRendererStore).changeValue?.(name, value);\n\n // 如果在form底下,则继续向上派送。\n formStore && onChange?.(value, name, submit, changePristine);\n }\n\n renderBody() {\n const {render, store, body: schema, classnames: cx} = this.props;\n\n return render('body', store.schema || schema, {\n key: store.schemaKey || 'body',\n loading: store.loading,\n onQuery: this.handleQuery,\n onAction: this.handleAction,\n onChange: this.handleChange\n }) as JSX.Element;\n }\n\n render() {\n const {\n className,\n store,\n render,\n classPrefix: ns,\n classnames: cx\n } = this.props;\n\n return (\n <div className={cx(`${ns}Service`, className)}>\n {store.error ? (\n <div className={cx(`Alert Alert--danger`)}>\n <button\n className={cx('Alert-close')}\n onClick={() => store.updateMessage('')}\n type=\"button\"\n >\n <span>×</span>\n </button>\n {store.msg}\n </div>\n ) : null}\n\n {this.renderBody()}\n\n <Spinner size=\"lg\" overlay key=\"info\" show={store.loading} />\n\n {render(\n // 单独给 feedback 服务的,handleAction 里面先不要处理弹窗\n 'modal',\n {\n ...((store.action as Action) &&\n ((store.action as Action).dialog as object)),\n type: 'dialog'\n },\n {\n key: 'dialog',\n data: store.dialogData,\n onConfirm: this.handleDialogConfirm,\n onClose: this.handleDialogClose,\n show: store.dialogOpen\n }\n )}\n </div>\n );\n }\n}\n\n@Renderer({\n type: 'service',\n storeType: ServiceStore.name,\n isolateScope: true,\n storeExtendsData: (props: any) => (props.formStore ? false : true)\n})\nexport class ServiceRenderer extends Service {\n static contextType = ScopedContext;\n\n constructor(props: ServiceProps, context: IScopedContext) {\n super(props);\n\n const scoped = context;\n scoped.registerComponent(this as ScopedComponentType);\n }\n\n reload(subpath?: string, query?: any, ctx?: any, silent?: boolean) {\n const scoped = this.context as IScopedContext;\n if (subpath) {\n return scoped.reload(\n query ? `${subpath}?${qsstringify(query)}` : subpath,\n ctx\n );\n }\n\n return super.reload(subpath, query, ctx, silent);\n }\n\n receive(values: any, subPath?: string) {\n const scoped = this.context as IScopedContext;\n if (subPath) {\n return scoped.send(subPath, values);\n }\n\n return super.receive(values);\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this as ScopedComponentType);\n }\n\n reloadTarget(target: string, data?: any) {\n const scoped = this.context as IScopedContext;\n scoped.reload(target, data);\n }\n\n setData(values: object) {\n return this.props.store.updateData(values);\n }\n}\n"
|
11
|
+
"import React from 'react';\nimport PropTypes from 'prop-types';\nimport {Renderer, RendererProps} from '../factory';\nimport {ServiceStore, IServiceStore} from '../store/service';\nimport {Api, SchemaNode, ApiObject, RendererData, Action} from '../types';\nimport {filter, evalExpression} from '../utils/tpl';\nimport cx from 'classnames';\nimport Scoped, {ScopedContext, IScopedContext} from '../Scoped';\nimport {observer} from 'mobx-react';\nimport {\n buildApi,\n isApiOutdated,\n isEffectiveApi,\n str2AsyncFunction\n} from '../utils/api';\nimport {Spinner} from '../components';\nimport {\n autobind,\n isEmpty,\n isObjectShallowModified,\n isVisible,\n qsstringify,\n createObject\n} from '../utils/helper';\nimport {\n BaseSchema,\n SchemaApi,\n SchemaCollection,\n SchemaExpression,\n SchemaMessage,\n SchemaName\n} from '../Schema';\nimport {IIRendererStore} from '../store';\n\nimport type {ScopedComponentType} from '../Scoped';\nimport type {ListenerAction} from '../actions/Action';\n\n/**\n * Service 服务类控件。\n * 文档:https://baidu.gitee.io/amis/docs/components/service\n */\nexport interface ServiceSchema extends BaseSchema {\n /**\n * 指定为 Service 数据拉取控件。\n */\n type: 'service';\n\n /**\n * 页面初始化的时候,可以设置一个 API 让其取拉取,发送数据会携带当前 data 数据(包含地址栏参数),获取得数据会合并到 data 中,供组件内使用。\n */\n api?: SchemaApi;\n\n /**\n * WebScocket 地址,用于实时获取数据\n */\n ws?: string;\n\n /**\n * 通过调用外部函数来获取数据\n */\n dataProvider?: string | Function;\n\n /**\n * 内容区域\n */\n body?: SchemaCollection;\n\n /**\n * @deprecated 改成 api 的 sendOn。\n */\n fetchOn?: SchemaExpression;\n\n /**\n * 是否默认就拉取?\n */\n initFetch?: boolean;\n\n /**\n * 是否默认就拉取?通过表达式来决定.\n *\n * @deprecated 改成 api 的 sendOn。\n */\n initFetchOn?: SchemaExpression;\n\n /**\n * 用来获取远程 Schema 的 api\n */\n schemaApi?: SchemaApi;\n\n /**\n * 是否默认加载 schemaApi\n */\n initFetchSchema?: boolean;\n\n /**\n * 用表达式来配置。\n * @deprecated 改成 api 的 sendOn。\n */\n initFetchSchemaOn?: SchemaExpression;\n\n /**\n * 是否轮询拉取\n */\n interval?: number;\n\n /**\n * 是否静默拉取\n */\n silentPolling?: boolean;\n\n /**\n * 关闭轮询的条件。\n */\n stopAutoRefreshWhen?: SchemaExpression;\n\n messages?: SchemaMessage;\n\n name?: SchemaName;\n}\n\nexport interface ServiceProps\n extends RendererProps,\n Omit<ServiceSchema, 'type' | 'className'> {\n store: IServiceStore;\n messages: SchemaMessage;\n}\nexport default class Service extends React.Component<ServiceProps> {\n timer: ReturnType<typeof setTimeout>;\n mounted: boolean;\n\n // 主要是用于关闭 socket\n socket: any;\n\n dataProviderUnsubscribe?: Function;\n\n static defaultProps: Partial<ServiceProps> = {\n messages: {\n fetchFailed: 'fetchFailed'\n }\n };\n\n static propsList: Array<string> = [];\n\n constructor(props: ServiceProps) {\n super(props);\n\n this.handleQuery = this.handleQuery.bind(this);\n this.handleAction = this.handleAction.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.reload = this.reload.bind(this);\n this.silentReload = this.silentReload.bind(this);\n this.initInterval = this.initInterval.bind(this);\n this.afterDataFetch = this.afterDataFetch.bind(this);\n this.afterSchemaFetch = this.afterSchemaFetch.bind(this);\n this.runDataProvider = this.runDataProvider.bind(this);\n this.dataProviderSetData = this.dataProviderSetData.bind(this);\n }\n\n componentDidMount() {\n this.mounted = true;\n this.initFetch();\n }\n\n componentDidUpdate(prevProps: ServiceProps) {\n const props = this.props;\n const store = props.store;\n\n const {fetchSuccess, fetchFailed} = props.messages!;\n\n isApiOutdated(prevProps.api, props.api, prevProps.data, props.data) &&\n store\n .fetchData(props.api as Api, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterDataFetch);\n\n isApiOutdated(\n prevProps.schemaApi,\n props.schemaApi,\n prevProps.data,\n props.data\n ) &&\n store\n .fetchSchema(props.schemaApi as Api, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterSchemaFetch);\n\n if (props.ws && prevProps.ws !== props.ws) {\n if (this.socket) {\n this.socket.close();\n }\n this.socket = this.fetchWSData(props.ws, store.data);\n }\n\n if (isObjectShallowModified(prevProps.defaultData, props.defaultData)) {\n store.reInitData(props.defaultData);\n }\n\n if (props.dataProvider !== prevProps.dataProvider) {\n this.runDataProvider();\n }\n }\n\n componentWillUnmount() {\n this.mounted = false;\n this.runDataProviderUnsubscribe();\n clearTimeout(this.timer);\n if (this.socket && this.socket.close) {\n this.socket.close();\n }\n }\n\n doAction(action: ListenerAction, args: any) {\n if (action?.actionType === 'rebuild') {\n const {\n schemaApi,\n store,\n dataProvider,\n messages: {fetchSuccess, fetchFailed}\n } = this.props;\n\n store.updateData(args);\n clearTimeout(this.timer);\n if (isEffectiveApi(schemaApi, store.data)) {\n store\n .fetchSchema(schemaApi, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterSchemaFetch);\n }\n\n if (dataProvider) {\n this.runDataProvider();\n }\n }\n }\n\n @autobind\n initFetch() {\n const {\n schemaApi,\n initFetchSchema,\n api,\n ws,\n initFetch,\n initFetchOn,\n dataProvider,\n store,\n messages: {fetchSuccess, fetchFailed}\n } = this.props;\n\n if (isEffectiveApi(schemaApi, store.data, initFetchSchema)) {\n store\n .fetchSchema(schemaApi, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterSchemaFetch);\n }\n\n if (isEffectiveApi(api, store.data, initFetch, initFetchOn)) {\n store\n .fetchInitData(api, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterDataFetch);\n }\n\n if (ws) {\n this.socket = this.fetchWSData(ws, store.data);\n }\n\n if (dataProvider) {\n this.runDataProvider();\n }\n }\n\n // 使用外部函数获取数据\n async runDataProvider() {\n this.runDataProviderUnsubscribe();\n const {dataProvider, store} = this.props;\n let dataProviderFunc = dataProvider;\n\n if (typeof dataProvider === 'string' && dataProvider) {\n dataProviderFunc = str2AsyncFunction(\n dataProvider,\n 'data',\n 'setData',\n 'env'\n )!;\n }\n if (typeof dataProviderFunc === 'function') {\n const unsubscribe = await dataProviderFunc(\n store.data,\n this.dataProviderSetData,\n this.props.env\n );\n if (typeof unsubscribe === 'function') {\n this.dataProviderUnsubscribe = unsubscribe;\n }\n }\n }\n\n // 运行销毁外部函数的方法\n runDataProviderUnsubscribe() {\n if (typeof this.dataProviderUnsubscribe === 'function') {\n try {\n this.dataProviderUnsubscribe();\n } catch (error) {\n console.error(error);\n }\n }\n }\n\n // 外部函数回调更新数据\n dataProviderSetData(data: any) {\n if (!this.mounted) {\n return;\n }\n const {store} = this.props;\n store.updateData(data, undefined, false);\n store.setHasRemoteData();\n }\n\n // 使用 websocket 获取使用,因为有异步所以放这里而不是 store 实现\n fetchWSData(ws: string | Api, data: any) {\n const {env, store} = this.props;\n const wsApi = buildApi(ws, data);\n\n env.wsFetcher(\n wsApi,\n (data: any) => {\n let returndata = data;\n if ('status' in data && 'data' in data) {\n returndata = data.data;\n if (data.status !== 0) {\n store.updateMessage(data.msg, true);\n env.notify('error', data.msg);\n return;\n }\n }\n store.updateData(returndata, undefined, false);\n store.setHasRemoteData();\n // 因为 WebSocket 只会获取纯数据,所以没有 msg 之类的\n this.afterDataFetch({ok: true, data: returndata});\n },\n (error: any) => {\n store.updateMessage(error, true);\n env.notify('error', error);\n }\n );\n }\n\n afterDataFetch(result: any) {\n // todo 应该统一这块\n // 初始化接口返回的是整个 response,\n // 保存 ajax 请求的时候返回时数据部分。\n const data = result?.hasOwnProperty('ok') ? result.data : result;\n const {onBulkChange, dispatchEvent} = this.props;\n\n dispatchEvent?.('fetchInited', data);\n\n if (!isEmpty(data) && onBulkChange) {\n onBulkChange(data);\n }\n\n this.initInterval(data);\n }\n\n afterSchemaFetch(schema: any) {\n const {onBulkChange, formStore, dispatchEvent} = this.props;\n\n dispatchEvent?.('fetchSchemaInited', schema);\n\n if (formStore && schema?.data && onBulkChange) {\n onBulkChange && onBulkChange(schema.data);\n }\n\n this.initInterval(schema);\n }\n\n initInterval(value: any) {\n const {interval, silentPolling, stopAutoRefreshWhen, data} = this.props;\n\n clearTimeout(this.timer);\n interval &&\n this.mounted &&\n (!stopAutoRefreshWhen ||\n /** 接口返回值需要同步到数据域中再判断,否则会多请求一轮 */\n !evalExpression(stopAutoRefreshWhen, createObject(data, value))) &&\n (this.timer = setTimeout(\n silentPolling ? this.silentReload : this.reload,\n Math.max(interval, 1000)\n ));\n return value;\n }\n\n reload(subpath?: string, query?: any, ctx?: RendererData, silent?: boolean) {\n if (query) {\n return this.receive(query);\n }\n\n const {\n schemaApi,\n initFetchSchema,\n api,\n initFetch,\n initFetchOn,\n store,\n dataProvider,\n messages: {fetchSuccess, fetchFailed}\n } = this.props;\n\n clearTimeout(this.timer);\n\n if (isEffectiveApi(schemaApi, store.data)) {\n store\n .fetchSchema(schemaApi, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterSchemaFetch);\n }\n\n if (isEffectiveApi(api, store.data)) {\n store\n .fetchData(api, store.data, {\n silent,\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterDataFetch);\n }\n\n if (dataProvider) {\n this.runDataProvider();\n }\n }\n\n silentReload(target?: string, query?: any) {\n this.reload(target, query, undefined, true);\n }\n\n receive(values: object) {\n const {store} = this.props;\n\n store.updateData(values);\n this.reload();\n }\n\n handleQuery(query: any) {\n if (this.props.api || this.props.schemaApi) {\n this.receive(query);\n } else {\n this.props.onQuery?.(query);\n }\n }\n\n reloadTarget(target: string, data?: any) {\n // 会被覆写\n }\n\n @autobind\n handleDialogConfirm(\n values: object[],\n action: Action,\n ctx: any,\n targets: Array<any>\n ) {\n const {store} = this.props;\n store.closeDialog(true);\n }\n\n @autobind\n handleDialogClose(confirmed = false) {\n const {store} = this.props;\n store.closeDialog(confirmed);\n }\n\n openFeedback(dialog: any, ctx: any) {\n return new Promise(resolve => {\n const {store} = this.props;\n\n store.setCurrentAction({\n type: 'button',\n actionType: 'dialog',\n dialog: dialog\n });\n store.openDialog(ctx, undefined, confirmed => {\n resolve(confirmed);\n });\n });\n }\n\n handleAction(\n e: React.UIEvent<any> | void,\n action: Action,\n data: object,\n throwErrors: boolean = false,\n delegate?: IScopedContext\n ) {\n const {onAction, store, env, api, translate: __} = this.props;\n\n if (api && action.actionType === 'ajax') {\n store.setCurrentAction(action);\n store\n .saveRemote(action.api as string, data, {\n successMessage: __(action.messages && action.messages.success),\n errorMessage: __(action.messages && action.messages.failed)\n })\n .then(async (payload: any) => {\n this.afterDataFetch(payload);\n\n if (action.feedback && isVisible(action.feedback, store.data)) {\n await this.openFeedback(action.feedback, store.data);\n }\n\n const redirect =\n action.redirect && filter(action.redirect, store.data);\n redirect && env.jumpTo(redirect, action);\n action.reload && this.reloadTarget(action.reload, store.data);\n })\n .catch(e => {\n if (throwErrors || action.countDown) {\n throw e;\n }\n });\n } else {\n onAction(e, action, data, throwErrors, delegate || this.context);\n }\n }\n\n handleChange(\n value: any,\n name: string,\n submit?: boolean,\n changePristine?: boolean\n ) {\n const {store, formStore, onChange} = this.props;\n\n // form 触发的 onChange,直接忽略\n if (typeof name !== 'string') {\n return;\n }\n\n (store as IIRendererStore).changeValue?.(name, value);\n\n // 如果在form底下,则继续向上派送。\n formStore && onChange?.(value, name, submit, changePristine);\n }\n\n renderBody() {\n const {render, store, body: schema, classnames: cx} = this.props;\n\n return render('body', store.schema || schema, {\n key: store.schemaKey || 'body',\n loading: store.loading,\n onQuery: this.handleQuery,\n onAction: this.handleAction,\n onChange: this.handleChange\n }) as JSX.Element;\n }\n\n render() {\n const {\n className,\n store,\n render,\n classPrefix: ns,\n classnames: cx\n } = this.props;\n\n return (\n <div className={cx(`${ns}Service`, className)}>\n {store.error ? (\n <div className={cx(`Alert Alert--danger`)}>\n <button\n className={cx('Alert-close')}\n onClick={() => store.updateMessage('')}\n type=\"button\"\n >\n <span>×</span>\n </button>\n {store.msg}\n </div>\n ) : null}\n\n {this.renderBody()}\n\n <Spinner size=\"lg\" overlay key=\"info\" show={store.loading} />\n\n {render(\n // 单独给 feedback 服务的,handleAction 里面先不要处理弹窗\n 'modal',\n {\n ...((store.action as Action) &&\n ((store.action as Action).dialog as object)),\n type: 'dialog'\n },\n {\n key: 'dialog',\n data: store.dialogData,\n onConfirm: this.handleDialogConfirm,\n onClose: this.handleDialogClose,\n show: store.dialogOpen\n }\n )}\n </div>\n );\n }\n}\n\n@Renderer({\n type: 'service',\n storeType: ServiceStore.name,\n isolateScope: true,\n storeExtendsData: (props: any) => (props.formStore ? false : true)\n})\nexport class ServiceRenderer extends Service {\n static contextType = ScopedContext;\n\n constructor(props: ServiceProps, context: IScopedContext) {\n super(props);\n\n const scoped = context;\n scoped.registerComponent(this as ScopedComponentType);\n }\n\n reload(subpath?: string, query?: any, ctx?: any, silent?: boolean) {\n const scoped = this.context as IScopedContext;\n if (subpath) {\n return scoped.reload(\n query ? `${subpath}?${qsstringify(query)}` : subpath,\n ctx\n );\n }\n\n return super.reload(subpath, query, ctx, silent);\n }\n\n receive(values: any, subPath?: string) {\n const scoped = this.context as IScopedContext;\n if (subPath) {\n return scoped.send(subPath, values);\n }\n\n return super.receive(values);\n }\n\n componentWillUnmount() {\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this as ScopedComponentType);\n }\n\n reloadTarget(target: string, data?: any) {\n const scoped = this.context as IScopedContext;\n scoped.reload(target, data);\n }\n\n setData(values: object) {\n return this.props.store.updateData(values);\n }\n}\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/renderers/Steps.d.ts
CHANGED
@@ -54,8 +54,8 @@ export interface StepsSchema extends BaseSchema {
|
|
54
54
|
*/
|
55
55
|
labelPlacement?: 'horizontal' | 'vertical';
|
56
56
|
/**
|
57
|
-
|
58
|
-
|
57
|
+
* 点状步骤条
|
58
|
+
*/
|
59
59
|
progressDot?: boolean;
|
60
60
|
}
|
61
61
|
export interface StepsProps extends RendererProps, Omit<StepsSchema, 'className'> {
|
package/lib/renderers/Steps.js
CHANGED
@@ -12,7 +12,7 @@ var helper_1 = require("../utils/helper");
|
|
12
12
|
function StepsCmpt(props) {
|
13
13
|
var _a;
|
14
14
|
var className = props.className, steps = props.steps, status = props.status, mode = props.mode, labelPlacement = props.labelPlacement, progressDot = props.progressDot, data = props.data, source = props.source, config = props.config, render = props.render, useMobileUI = props.useMobileUI;
|
15
|
-
var stepsRow = (0, tpl_builtin_1.
|
15
|
+
var stepsRow = (0, tpl_builtin_1.resolveVariableAndFilter)(source, data, '| raw') ||
|
16
16
|
config ||
|
17
17
|
steps ||
|
18
18
|
[];
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Steps.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,sCAAmD;AAEnD,wEAAsD;AACtD,mEAGwC;AACxC,
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {Renderer, RendererProps} from '../factory';\nimport {BaseSchema, SchemaCollection} from '../Schema';\nimport Steps, {StepStatus} from '../components/Steps';\nimport {\n RemoteOptionsProps,\n withRemoteConfig\n} from '../components/WithRemoteConfig';\nimport {resolveVariable} from '../utils/tpl-builtin';\nimport {filter} from '../utils/tpl';\nimport {getPropValue} from '../utils/helper';\n\nexport type StepSchema = {\n /**\n * 标题\n */\n title: string | SchemaCollection;\n\n /**\n * 子标题\n */\n subTitle?: string | SchemaCollection;\n\n /**\n * 图标\n */\n icon?: string;\n\n value?: string | number;\n\n /**\n * 描述\n */\n description?: string | SchemaCollection;\n} & Omit<BaseSchema, 'type'>;\n\nexport interface StepsSchema extends BaseSchema {\n /**\n * 指定为 Steps 步骤条渲染器\n */\n type: 'steps';\n\n /**\n * 步骤\n */\n steps?: Array<StepSchema>;\n\n /**\n * API 或 数据映射\n */\n source?: string;\n\n /**\n * 指定当前步骤\n */\n value?: number | string;\n\n /**\n * 变量映射\n */\n name?: string;\n\n status?:\n | StepStatus\n | {\n [propName: string]: StepStatus;\n };\n\n /**\n * 展示模式\n */\n mode?: 'horizontal' | 'vertical';\n\n /**\n * 标签放置位置\n */\n
|
11
|
+
"import React from 'react';\nimport {Renderer, RendererProps} from '../factory';\nimport {BaseSchema, SchemaCollection} from '../Schema';\nimport Steps, {StepStatus} from '../components/Steps';\nimport {\n RemoteOptionsProps,\n withRemoteConfig\n} from '../components/WithRemoteConfig';\nimport {resolveVariable, resolveVariableAndFilter} from '../utils/tpl-builtin';\nimport {filter} from '../utils/tpl';\nimport {getPropValue} from '../utils/helper';\n\nexport type StepSchema = {\n /**\n * 标题\n */\n title: string | SchemaCollection;\n\n /**\n * 子标题\n */\n subTitle?: string | SchemaCollection;\n\n /**\n * 图标\n */\n icon?: string;\n\n value?: string | number;\n\n /**\n * 描述\n */\n description?: string | SchemaCollection;\n} & Omit<BaseSchema, 'type'>;\n\nexport interface StepsSchema extends BaseSchema {\n /**\n * 指定为 Steps 步骤条渲染器\n */\n type: 'steps';\n\n /**\n * 步骤\n */\n steps?: Array<StepSchema>;\n\n /**\n * API 或 数据映射\n */\n source?: string;\n\n /**\n * 指定当前步骤\n */\n value?: number | string;\n\n /**\n * 变量映射\n */\n name?: string;\n\n status?:\n | StepStatus\n | {\n [propName: string]: StepStatus;\n };\n\n /**\n * 展示模式\n */\n mode?: 'horizontal' | 'vertical';\n\n /**\n * 标签放置位置\n */\n labelPlacement?: 'horizontal' | 'vertical';\n\n /**\n * 点状步骤条\n */\n progressDot?: boolean;\n}\n\nexport interface StepsProps\n extends RendererProps,\n Omit<StepsSchema, 'className'> {}\n\nexport function StepsCmpt(props: StepsProps) {\n const {\n className,\n steps,\n status,\n mode,\n labelPlacement,\n progressDot,\n data,\n source,\n config,\n render,\n useMobileUI\n } = props;\n\n const stepsRow =\n (resolveVariableAndFilter(source, data, '| raw') as Array<StepSchema>) ||\n config ||\n steps ||\n [];\n const resolveRender = (val?: string | SchemaCollection) =>\n typeof val === 'string' ? filter(val, data) : val && render('inner', val);\n const value = getPropValue(props) ?? 0;\n const resolveValue =\n typeof value === 'string' && isNaN(+value)\n ? +(resolveVariable(value, data) as string) || +value\n : +value;\n const valueIndex = stepsRow.findIndex(\n item => item.value && item.value === resolveValue\n );\n const currentValue = valueIndex !== -1 ? valueIndex : resolveValue;\n const resolveSteps = stepsRow.map((step, i) => {\n const stepStatus = getStepStatus(step, i);\n return {\n ...step,\n status: stepStatus,\n title: resolveRender(step.title),\n subTitle: resolveRender(step.subTitle),\n description: resolveRender(step.description)\n };\n });\n\n function getStepStatus(step: StepSchema, i: number): StepStatus {\n let stepStatus;\n\n if (typeof status === 'string') {\n if (i === currentValue) {\n const resolveStatus = resolveVariable(status, data);\n stepStatus = resolveStatus || status || StepStatus.process;\n }\n } else if (typeof status === 'object') {\n const key = step.value;\n key && status[key] && (stepStatus = status[key]);\n }\n\n return stepStatus;\n }\n\n return (\n <Steps\n current={currentValue}\n steps={resolveSteps}\n className={className}\n status={status}\n mode={mode}\n progressDot={progressDot}\n labelPlacement={labelPlacement}\n useMobileUI={useMobileUI}\n ></Steps>\n );\n}\n\nconst StepsWithRemoteConfig = withRemoteConfig({\n adaptor: data => data.steps || data\n})(\n class extends React.Component<\n RemoteOptionsProps & React.ComponentProps<typeof StepsCmpt>\n > {\n render() {\n const {config, deferLoad, loading, updateConfig, ...rest} = this.props;\n return <StepsCmpt config={config} {...rest} />;\n }\n }\n);\n\n@Renderer({\n type: 'steps'\n})\nexport class StepsRenderer extends React.Component<StepsProps> {\n render() {\n return <StepsWithRemoteConfig {...this.props} />;\n }\n}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -29,9 +29,9 @@ var getAbsoluteUrl = (function () {
|
|
29
29
|
function exportExcel(ExcelJS, props, toolbar) {
|
30
30
|
var _a, _b;
|
31
31
|
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
32
|
-
var store, env, cx, __, data, columns, rows, tmpStore, filename, res, workbook, worksheet, exportColumnNames, filteredColumns, firstRowLabels, firstRow, remoteMappingCache, rowIndex,
|
33
|
-
return (0, tslib_1.__generator)(this, function (
|
34
|
-
switch (
|
32
|
+
var store, env, cx, __, data, columns, rows, tmpStore, filename, res, workbook, worksheet, exportColumnNames, _i, columns_1, column, filteredColumns, firstRowLabels, firstRow, remoteMappingCache, rowIndex, _c, rows_1, row, rowData, sheetRow, columIndex, _d, filteredColumns_1, column, name, value, type, imageData, imageDimensions, imageWidth, imageHeight, imageMaxSize, imageMatch, imageExt, imageId, linkURL, e_1, href, linkURL, body, text, absoluteURL, map, source, sourceValue, mapKey, res, viewValue, viewValue, _e, fromNow, _f, format, _g, valueFormat, ISODate, NormalDate, buffer, blob;
|
33
|
+
return (0, tslib_1.__generator)(this, function (_h) {
|
34
|
+
switch (_h.label) {
|
35
35
|
case 0:
|
36
36
|
store = props.store, env = props.env, cx = props.classnames, __ = props.translate, data = props.data;
|
37
37
|
columns = store.exportColumns || [];
|
@@ -40,7 +40,7 @@ function exportExcel(ExcelJS, props, toolbar) {
|
|
40
40
|
if (!(typeof toolbar === 'object' && toolbar.api)) return [3 /*break*/, 2];
|
41
41
|
return [4 /*yield*/, env.fetcher(toolbar.api, data)];
|
42
42
|
case 1:
|
43
|
-
res =
|
43
|
+
res = _h.sent();
|
44
44
|
if (!res.data) {
|
45
45
|
env.notify('warning', __('placeholder.noData'));
|
46
46
|
return [2 /*return*/];
|
@@ -58,7 +58,7 @@ function exportExcel(ExcelJS, props, toolbar) {
|
|
58
58
|
return [3 /*break*/, 3];
|
59
59
|
case 2:
|
60
60
|
rows = store.rows;
|
61
|
-
|
61
|
+
_h.label = 3;
|
62
62
|
case 3:
|
63
63
|
if (typeof toolbar === 'object' && toolbar.filename) {
|
64
64
|
filename = (0, tpl_1.filter)(toolbar.filename, data, '| raw');
|
@@ -79,6 +79,11 @@ function exportExcel(ExcelJS, props, toolbar) {
|
|
79
79
|
// 自定义导出列配置
|
80
80
|
if (toolbar.exportColumns && Array.isArray(toolbar.exportColumns)) {
|
81
81
|
columns = toolbar.exportColumns;
|
82
|
+
// 因为后面列 props 都是从 pristine 里获取,所以这里归一一下
|
83
|
+
for (_i = 0, columns_1 = columns; _i < columns_1.length; _i++) {
|
84
|
+
column = columns_1[_i];
|
85
|
+
column.pristine = column;
|
86
|
+
}
|
82
87
|
}
|
83
88
|
filteredColumns = exportColumnNames
|
84
89
|
? columns.filter(function (column) {
|
@@ -106,23 +111,24 @@ function exportExcel(ExcelJS, props, toolbar) {
|
|
106
111
|
};
|
107
112
|
remoteMappingCache = {};
|
108
113
|
rowIndex = 1;
|
109
|
-
|
110
|
-
|
114
|
+
_c = 0, rows_1 = rows;
|
115
|
+
_h.label = 4;
|
111
116
|
case 4:
|
112
|
-
if (!(
|
113
|
-
row = rows_1[
|
117
|
+
if (!(_c < rows_1.length)) return [3 /*break*/, 19];
|
118
|
+
row = rows_1[_c];
|
119
|
+
rowData = (0, helper_1.createObject)(data, row.data);
|
114
120
|
rowIndex += 1;
|
115
121
|
sheetRow = worksheet.getRow(rowIndex);
|
116
122
|
columIndex = 0;
|
117
|
-
|
118
|
-
|
123
|
+
_d = 0, filteredColumns_1 = filteredColumns;
|
124
|
+
_h.label = 5;
|
119
125
|
case 5:
|
120
|
-
if (!(
|
121
|
-
column = filteredColumns_1[
|
126
|
+
if (!(_d < filteredColumns_1.length)) return [3 /*break*/, 18];
|
127
|
+
column = filteredColumns_1[_d];
|
122
128
|
columIndex += 1;
|
123
129
|
name = column.name;
|
124
|
-
value = (0, helper_1.getVariable)(
|
125
|
-
if (typeof value === 'undefined' && !column.tpl) {
|
130
|
+
value = (0, helper_1.getVariable)(rowData, name);
|
131
|
+
if (typeof value === 'undefined' && !column.pristine.tpl) {
|
126
132
|
return [3 /*break*/, 17];
|
127
133
|
}
|
128
134
|
// 处理合并单元格
|
@@ -137,15 +143,15 @@ function exportExcel(ExcelJS, props, toolbar) {
|
|
137
143
|
}
|
138
144
|
type = column.type || 'plain';
|
139
145
|
if (!(type === 'image' && value)) return [3 /*break*/, 11];
|
140
|
-
|
146
|
+
_h.label = 6;
|
141
147
|
case 6:
|
142
|
-
|
148
|
+
_h.trys.push([6, 9, , 10]);
|
143
149
|
return [4 /*yield*/, (0, image_1.toDataURL)(value)];
|
144
150
|
case 7:
|
145
|
-
imageData =
|
151
|
+
imageData = _h.sent();
|
146
152
|
return [4 /*yield*/, (0, image_1.getImageDimensions)(imageData)];
|
147
153
|
case 8:
|
148
|
-
imageDimensions =
|
154
|
+
imageDimensions = _h.sent();
|
149
155
|
imageWidth = imageDimensions.width;
|
150
156
|
imageHeight = imageDimensions.height;
|
151
157
|
imageMaxSize = 100;
|
@@ -189,39 +195,47 @@ function exportExcel(ExcelJS, props, toolbar) {
|
|
189
195
|
});
|
190
196
|
return [3 /*break*/, 10];
|
191
197
|
case 9:
|
192
|
-
e_1 =
|
198
|
+
e_1 = _h.sent();
|
193
199
|
console.warn(e_1.stack);
|
194
200
|
return [3 /*break*/, 10];
|
195
201
|
case 10: return [3 /*break*/, 17];
|
196
202
|
case 11:
|
197
203
|
if (!(type == 'link')) return [3 /*break*/, 12];
|
198
|
-
|
204
|
+
href = column.pristine.href;
|
205
|
+
linkURL = (typeof href === 'string' && href
|
206
|
+
? (0, tpl_1.filter)(href, rowData, '| raw')
|
207
|
+
: undefined) || value;
|
208
|
+
body = column.pristine.body;
|
209
|
+
text = typeof body === 'string' && body
|
210
|
+
? (0, tpl_1.filter)(body, rowData, '| raw')
|
211
|
+
: undefined;
|
212
|
+
absoluteURL = getAbsoluteUrl(linkURL);
|
199
213
|
sheetRow.getCell(columIndex).value = {
|
200
|
-
text:
|
201
|
-
hyperlink:
|
214
|
+
text: text || absoluteURL,
|
215
|
+
hyperlink: absoluteURL
|
202
216
|
};
|
203
217
|
return [3 /*break*/, 17];
|
204
218
|
case 12:
|
205
219
|
if (!(type === 'mapping')) return [3 /*break*/, 16];
|
206
|
-
map = column.map;
|
207
|
-
source = column.source;
|
220
|
+
map = column.pristine.map;
|
221
|
+
source = column.pristine.source;
|
208
222
|
if (!source) return [3 /*break*/, 15];
|
209
223
|
sourceValue = source;
|
210
224
|
if ((0, tpl_builtin_1.isPureVariable)(source)) {
|
211
|
-
sourceValue = (0, tpl_builtin_1.resolveVariableAndFilter)(source,
|
225
|
+
sourceValue = (0, tpl_builtin_1.resolveVariableAndFilter)(source, rowData, '| raw');
|
212
226
|
}
|
213
227
|
mapKey = JSON.stringify(source);
|
214
228
|
if (!(mapKey in remoteMappingCache)) return [3 /*break*/, 13];
|
215
229
|
map = remoteMappingCache[mapKey];
|
216
230
|
return [3 /*break*/, 15];
|
217
|
-
case 13: return [4 /*yield*/, env.fetcher(sourceValue,
|
231
|
+
case 13: return [4 /*yield*/, env.fetcher(sourceValue, rowData)];
|
218
232
|
case 14:
|
219
|
-
res =
|
233
|
+
res = _h.sent();
|
220
234
|
if (res.data) {
|
221
235
|
remoteMappingCache[mapKey] = res.data;
|
222
236
|
map = res.data;
|
223
237
|
}
|
224
|
-
|
238
|
+
_h.label = 15;
|
225
239
|
case 15:
|
226
240
|
if (typeof value !== 'undefined' && map && ((_a = map[value]) !== null && _a !== void 0 ? _a : map['*'])) {
|
227
241
|
viewValue = (_b = map[value]) !== null && _b !== void 0 ? _b : (value === true && map['1']
|
@@ -238,7 +252,7 @@ function exportExcel(ExcelJS, props, toolbar) {
|
|
238
252
|
case 16:
|
239
253
|
if (type === 'date') {
|
240
254
|
viewValue = void 0;
|
241
|
-
|
255
|
+
_e = column.pristine, fromNow = _e.fromNow, _f = _e.format, format = _f === void 0 ? 'YYYY-MM-DD' : _f, _g = _e.valueFormat, valueFormat = _g === void 0 ? 'X' : _g;
|
242
256
|
if (value) {
|
243
257
|
ISODate = (0, moment_1.default)(value, moment_1.default.ISO_8601);
|
244
258
|
NormalDate = (0, moment_1.default)(value, valueFormat);
|
@@ -256,23 +270,23 @@ function exportExcel(ExcelJS, props, toolbar) {
|
|
256
270
|
}
|
257
271
|
}
|
258
272
|
else {
|
259
|
-
if (column.tpl) {
|
260
|
-
sheetRow.getCell(columIndex).value = (0, helper_1.removeHTMLTag)((0, tpl_1.filter)(column.tpl,
|
273
|
+
if (column.pristine.tpl) {
|
274
|
+
sheetRow.getCell(columIndex).value = (0, helper_1.removeHTMLTag)((0, tpl_1.filter)(column.pristine.tpl, rowData));
|
261
275
|
}
|
262
276
|
else {
|
263
277
|
sheetRow.getCell(columIndex).value = value;
|
264
278
|
}
|
265
279
|
}
|
266
|
-
|
280
|
+
_h.label = 17;
|
267
281
|
case 17:
|
268
|
-
|
282
|
+
_d++;
|
269
283
|
return [3 /*break*/, 5];
|
270
284
|
case 18:
|
271
|
-
|
285
|
+
_c++;
|
272
286
|
return [3 /*break*/, 4];
|
273
287
|
case 19: return [4 /*yield*/, workbook.xlsx.writeBuffer()];
|
274
288
|
case 20:
|
275
|
-
buffer =
|
289
|
+
buffer = _h.sent();
|
276
290
|
if (buffer) {
|
277
291
|
blob = new Blob([buffer], {
|
278
292
|
type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Table/exportExcel.ts"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"/**\n * 导出 Excel 功能\n */\n\nimport {filter} from '../../utils/tpl';\nimport './ColumnToggler';\nimport {TableStore} from '../../store/table';\nimport {saveAs} from 'file-saver';\nimport {getVariable, removeHTMLTag, createObject} from '../../utils/helper';\nimport {\n isPureVariable,\n resolveVariableAndFilter\n} from '../../utils/tpl-builtin';\nimport {BaseSchema} from '../../Schema';\nimport {toDataURL, getImageDimensions} from '../../utils/image';\nimport {TplSchema} from '../Tpl';\nimport {MappingSchema} from '../Mapping';\nimport {getSnapshot} from 'mobx-state-tree';\nimport {DateSchema} from '../Date';\nimport moment from 'moment';\nimport type {TableProps, ExportExcelToolbar} from './index';\n\n/**\n * 将 url 转成绝对地址\n */\nconst getAbsoluteUrl = (function () {\n let link: HTMLAnchorElement;\n return function (url: string) {\n if (!link) link = document.createElement('a');\n link.href = url;\n return link.href;\n };\n})();\n\nexport async function exportExcel(\n ExcelJS: any,\n props: TableProps,\n toolbar: ExportExcelToolbar\n) {\n const {store, env, classnames: cx, translate: __, data} = props;\n let columns = store.exportColumns || [];\n\n let rows = [];\n let tmpStore;\n let filename = 'data';\n // 支持配置 api 远程获取\n if (typeof toolbar === 'object' && toolbar.api) {\n const res = await env.fetcher(toolbar.api, data);\n if (!res.data) {\n env.notify('warning', __('placeholder.noData'));\n return;\n }\n if (Array.isArray(res.data)) {\n rows = res.data;\n } else {\n rows = res.data.rows || res.data.items;\n }\n // 因为很多方法是 store 里的,所以需要构建 store 来处理\n tmpStore = TableStore.create(getSnapshot(store));\n tmpStore.initRows(rows);\n rows = tmpStore.rows;\n } else {\n rows = store.rows;\n }\n\n if (typeof toolbar === 'object' && toolbar.filename) {\n filename = filter(toolbar.filename, data, '| raw');\n }\n\n if (rows.length === 0) {\n env.notify('warning', __('placeholder.noData'));\n return;\n }\n\n const workbook = new ExcelJS.Workbook();\n const worksheet = workbook.addWorksheet('sheet', {\n properties: {defaultColWidth: 15}\n });\n worksheet.views = [{state: 'frozen', xSplit: 0, ySplit: 1}];\n\n let exportColumnNames = toolbar.columns;\n\n if (isPureVariable(exportColumnNames)) {\n exportColumnNames = resolveVariableAndFilter(\n exportColumnNames,\n data,\n '| raw'\n );\n }\n\n // 自定义导出列配置\n if (toolbar.exportColumns && Array.isArray(toolbar.exportColumns)) {\n columns = toolbar.exportColumns;\n }\n\n const filteredColumns = exportColumnNames\n ? columns.filter(column => {\n const filterColumnsNames = exportColumnNames!;\n if (column.name && filterColumnsNames.indexOf(column.name) !== -1) {\n return true;\n }\n return false;\n })\n : columns;\n\n const firstRowLabels = filteredColumns.map(column => {\n return column.label;\n });\n const firstRow = worksheet.getRow(1);\n firstRow.values = firstRowLabels;\n worksheet.autoFilter = {\n from: {\n row: 1,\n column: 1\n },\n to: {\n row: 1,\n column: firstRowLabels.length\n }\n };\n // 用于 mapping source 的情况\n const remoteMappingCache: any = {};\n // 数据从第二行开始\n let rowIndex = 1;\n for (const row of rows) {\n rowIndex += 1;\n const sheetRow = worksheet.getRow(rowIndex);\n let columIndex = 0;\n for (const column of filteredColumns) {\n columIndex += 1;\n const name = column.name!;\n const value = getVariable(
|
11
|
+
"/**\n * 导出 Excel 功能\n */\n\nimport {filter} from '../../utils/tpl';\nimport './ColumnToggler';\nimport {TableStore} from '../../store/table';\nimport {saveAs} from 'file-saver';\nimport {getVariable, removeHTMLTag, createObject} from '../../utils/helper';\nimport {\n isPureVariable,\n resolveVariableAndFilter\n} from '../../utils/tpl-builtin';\nimport {BaseSchema} from '../../Schema';\nimport {toDataURL, getImageDimensions} from '../../utils/image';\nimport {TplSchema} from '../Tpl';\nimport {MappingSchema} from '../Mapping';\nimport {getSnapshot} from 'mobx-state-tree';\nimport {DateSchema} from '../Date';\nimport moment from 'moment';\nimport type {TableProps, ExportExcelToolbar} from './index';\n\n/**\n * 将 url 转成绝对地址\n */\nconst getAbsoluteUrl = (function () {\n let link: HTMLAnchorElement;\n return function (url: string) {\n if (!link) link = document.createElement('a');\n link.href = url;\n return link.href;\n };\n})();\n\nexport async function exportExcel(\n ExcelJS: any,\n props: TableProps,\n toolbar: ExportExcelToolbar\n) {\n const {store, env, classnames: cx, translate: __, data} = props;\n let columns = store.exportColumns || [];\n\n let rows = [];\n let tmpStore;\n let filename = 'data';\n // 支持配置 api 远程获取\n if (typeof toolbar === 'object' && toolbar.api) {\n const res = await env.fetcher(toolbar.api, data);\n if (!res.data) {\n env.notify('warning', __('placeholder.noData'));\n return;\n }\n if (Array.isArray(res.data)) {\n rows = res.data;\n } else {\n rows = res.data.rows || res.data.items;\n }\n // 因为很多方法是 store 里的,所以需要构建 store 来处理\n tmpStore = TableStore.create(getSnapshot(store));\n tmpStore.initRows(rows);\n rows = tmpStore.rows;\n } else {\n rows = store.rows;\n }\n\n if (typeof toolbar === 'object' && toolbar.filename) {\n filename = filter(toolbar.filename, data, '| raw');\n }\n\n if (rows.length === 0) {\n env.notify('warning', __('placeholder.noData'));\n return;\n }\n\n const workbook = new ExcelJS.Workbook();\n const worksheet = workbook.addWorksheet('sheet', {\n properties: {defaultColWidth: 15}\n });\n worksheet.views = [{state: 'frozen', xSplit: 0, ySplit: 1}];\n\n let exportColumnNames = toolbar.columns;\n\n if (isPureVariable(exportColumnNames)) {\n exportColumnNames = resolveVariableAndFilter(\n exportColumnNames,\n data,\n '| raw'\n );\n }\n\n // 自定义导出列配置\n if (toolbar.exportColumns && Array.isArray(toolbar.exportColumns)) {\n columns = toolbar.exportColumns;\n // 因为后面列 props 都是从 pristine 里获取,所以这里归一一下\n for (const column of columns) {\n column.pristine = column;\n }\n }\n\n const filteredColumns = exportColumnNames\n ? columns.filter(column => {\n const filterColumnsNames = exportColumnNames!;\n if (column.name && filterColumnsNames.indexOf(column.name) !== -1) {\n return true;\n }\n return false;\n })\n : columns;\n\n const firstRowLabels = filteredColumns.map(column => {\n return column.label;\n });\n const firstRow = worksheet.getRow(1);\n firstRow.values = firstRowLabels;\n worksheet.autoFilter = {\n from: {\n row: 1,\n column: 1\n },\n to: {\n row: 1,\n column: firstRowLabels.length\n }\n };\n // 用于 mapping source 的情况\n const remoteMappingCache: any = {};\n // 数据从第二行开始\n let rowIndex = 1;\n for (const row of rows) {\n const rowData = createObject(data, row.data);\n rowIndex += 1;\n const sheetRow = worksheet.getRow(rowIndex);\n let columIndex = 0;\n for (const column of filteredColumns) {\n columIndex += 1;\n const name = column.name!;\n const value = getVariable(rowData, name);\n if (typeof value === 'undefined' && !column.pristine.tpl) {\n continue;\n }\n // 处理合并单元格\n if (name in row.rowSpans) {\n if (row.rowSpans[name] === 0) {\n continue;\n } else {\n // start row, start column, end row, end column\n worksheet.mergeCells(\n rowIndex,\n columIndex,\n rowIndex + row.rowSpans[name] - 1,\n columIndex\n );\n }\n }\n\n const type = (column as BaseSchema).type || 'plain';\n // TODO: 这里很多组件都是拷贝对应渲染的逻辑实现的,导致\n if (type === 'image' && value) {\n try {\n const imageData = await toDataURL(value);\n const imageDimensions = await getImageDimensions(imageData);\n let imageWidth = imageDimensions.width;\n let imageHeight = imageDimensions.height;\n // 限制一下图片高宽\n const imageMaxSize = 100;\n if (imageWidth > imageHeight) {\n if (imageWidth > imageMaxSize) {\n imageHeight = (imageMaxSize * imageHeight) / imageWidth;\n imageWidth = imageMaxSize;\n }\n } else {\n if (imageHeight > imageMaxSize) {\n imageWidth = (imageMaxSize * imageWidth) / imageHeight;\n imageHeight = imageMaxSize;\n }\n }\n const imageMatch = imageData.match(/data:image\\/(.*);/);\n let imageExt = 'png';\n if (imageMatch) {\n imageExt = imageMatch[1];\n }\n // 目前 excel 只支持这些格式,所以其它格式直接输出 url\n if (imageExt != 'png' && imageExt != 'jpeg' && imageExt != 'gif') {\n sheetRow.getCell(columIndex).value = value;\n continue;\n }\n const imageId = workbook.addImage({\n base64: imageData,\n extension: imageExt\n });\n const linkURL = getAbsoluteUrl(value);\n worksheet.addImage(imageId, {\n // 这里坐标位置是从 0 开始的,所以要减一\n tl: {col: columIndex - 1, row: rowIndex - 1},\n ext: {\n width: imageWidth,\n height: imageHeight\n },\n hyperlinks: {\n tooltip: linkURL\n }\n });\n } catch (e) {\n console.warn(e.stack);\n }\n } else if (type == 'link') {\n const href = column.pristine.href;\n const linkURL =\n (typeof href === 'string' && href\n ? filter(href, rowData, '| raw')\n : undefined) || value;\n const body = column.pristine.body;\n // 没法支持嵌套了\n const text =\n typeof body === 'string' && body\n ? filter(body, rowData, '| raw')\n : undefined;\n\n const absoluteURL = getAbsoluteUrl(linkURL);\n sheetRow.getCell(columIndex).value = {\n text: text || absoluteURL,\n hyperlink: absoluteURL\n };\n } else if (type === 'mapping') {\n // 拷贝自 Mapping.tsx\n let map = column.pristine.map;\n const source = column.pristine.source;\n if (source) {\n let sourceValue = source;\n if (isPureVariable(source)) {\n sourceValue = resolveVariableAndFilter(\n source as string,\n rowData,\n '| raw'\n );\n }\n\n const mapKey = JSON.stringify(source);\n if (mapKey in remoteMappingCache) {\n map = remoteMappingCache[mapKey];\n } else {\n const res = await env.fetcher(sourceValue, rowData);\n if (res.data) {\n remoteMappingCache[mapKey] = res.data;\n map = res.data;\n }\n }\n }\n\n if (typeof value !== 'undefined' && map && (map[value] ?? map['*'])) {\n const viewValue =\n map[value] ??\n (value === true && map['1']\n ? map['1']\n : value === false && map['0']\n ? map['0']\n : map['*']); // 兼容平台旧用法:即 value 为 true 时映射 1 ,为 false 时映射 0\n sheetRow.getCell(columIndex).value = removeHTMLTag(viewValue);\n } else {\n sheetRow.getCell(columIndex).value = removeHTMLTag(value);\n }\n } else if (type === 'date') {\n let viewValue;\n const {\n fromNow,\n format = 'YYYY-MM-DD',\n valueFormat = 'X'\n } = column.pristine;\n if (value) {\n let ISODate = moment(value, moment.ISO_8601);\n let NormalDate = moment(value, valueFormat);\n\n viewValue = ISODate.isValid()\n ? ISODate.format(format)\n : NormalDate.isValid()\n ? NormalDate.format(format)\n : false;\n }\n\n if (fromNow) {\n viewValue = moment(value).fromNow();\n }\n if (viewValue) {\n sheetRow.getCell(columIndex).value = viewValue;\n }\n } else {\n if (column.pristine.tpl) {\n sheetRow.getCell(columIndex).value = removeHTMLTag(\n filter(column.pristine.tpl, rowData)\n );\n } else {\n sheetRow.getCell(columIndex).value = value;\n }\n }\n }\n }\n\n const buffer = await workbook.xlsx.writeBuffer();\n\n if (buffer) {\n var blob = new Blob([buffer], {\n type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n });\n saveAs(blob, filename + '.xlsx');\n }\n}\n"
|
12
12
|
]
|
13
13
|
}
|