amis 1.8.0-beta.0 → 1.8.0-beta.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 (95) hide show
  1. package/lib/components/DatePicker.d.ts +3 -0
  2. package/lib/components/DatePicker.js +41 -7
  3. package/lib/components/DatePicker.js.map +2 -2
  4. package/lib/components/Progress.js +12 -9
  5. package/lib/components/Progress.js.map +2 -2
  6. package/lib/components/calendar/Calendar.js +16 -12
  7. package/lib/components/calendar/Calendar.js.map +2 -2
  8. package/lib/components/formula/Editor.d.ts +3 -1
  9. package/lib/components/formula/Editor.js +20 -2
  10. package/lib/components/formula/Editor.js.map +2 -2
  11. package/lib/components/formula/Picker.d.ts +5 -0
  12. package/lib/components/formula/Picker.js +19 -4
  13. package/lib/components/formula/Picker.js.map +2 -2
  14. package/lib/factory.js +2 -2
  15. package/lib/factory.js.map +2 -2
  16. package/lib/index.js +1 -1
  17. package/lib/renderers/Dialog.d.ts +4 -0
  18. package/lib/renderers/Dialog.js +4 -3
  19. package/lib/renderers/Dialog.js.map +2 -2
  20. package/lib/renderers/DropDownButton.d.ts +2 -0
  21. package/lib/renderers/DropDownButton.js +13 -4
  22. package/lib/renderers/DropDownButton.js.map +2 -2
  23. package/lib/renderers/Form/InputFormula.d.ts +4 -0
  24. package/lib/renderers/Form/InputFormula.js +2 -2
  25. package/lib/renderers/Form/InputFormula.js.map +2 -2
  26. package/lib/renderers/Form/InputTable.js +4 -2
  27. package/lib/renderers/Form/InputTable.js.map +2 -2
  28. package/lib/renderers/Page.js +2 -3
  29. package/lib/renderers/Page.js.map +2 -2
  30. package/lib/renderers/Progress.d.ts +1 -1
  31. package/lib/renderers/Progress.js +1 -1
  32. package/lib/renderers/Progress.js.map +2 -2
  33. package/lib/renderers/Table/TableRow.js +1 -1
  34. package/lib/renderers/Table/TableRow.js.map +2 -2
  35. package/lib/store/table.js +2 -2
  36. package/lib/store/table.js.map +2 -2
  37. package/lib/themes/ang-ie11.css +34 -7
  38. package/lib/themes/ang.css +34 -7
  39. package/lib/themes/ang.css.map +1 -1
  40. package/lib/themes/antd-ie11.css +34 -7
  41. package/lib/themes/antd.css +34 -7
  42. package/lib/themes/antd.css.map +1 -1
  43. package/lib/themes/cxd-ie11.css +34 -7
  44. package/lib/themes/cxd.css +34 -7
  45. package/lib/themes/cxd.css.map +1 -1
  46. package/lib/themes/dark-ie11.css +34 -7
  47. package/lib/themes/dark.css +34 -7
  48. package/lib/themes/dark.css.map +1 -1
  49. package/lib/themes/default-ie11.css +34 -7
  50. package/lib/themes/default.css +34 -7
  51. package/lib/themes/default.css.map +1 -1
  52. package/package.json +1 -1
  53. package/schema.json +20 -8
  54. package/scss/components/_formula.scss +18 -0
  55. package/scss/components/_progress.scss +3 -8
  56. package/scss/components/form/_date.scss +13 -0
  57. package/sdk/ang-ie11.css +40 -8
  58. package/sdk/ang.css +40 -8
  59. package/sdk/antd-ie11.css +40 -8
  60. package/sdk/antd.css +40 -8
  61. package/sdk/barcode.js +51 -51
  62. package/sdk/charts.js +14 -14
  63. package/sdk/codemirror.js +7 -7
  64. package/sdk/color-picker.js +65 -65
  65. package/sdk/cropperjs.js +2 -2
  66. package/sdk/cxd-ie11.css +40 -8
  67. package/sdk/cxd.css +40 -8
  68. package/sdk/dark-ie11.css +40 -8
  69. package/sdk/dark.css +40 -8
  70. package/sdk/exceljs.js +1 -1
  71. package/sdk/markdown.js +69 -69
  72. package/sdk/papaparse.js +1 -1
  73. package/sdk/renderers/Form/CityDB.js +1 -1
  74. package/sdk/rest.js +17 -17
  75. package/sdk/rich-text.js +62 -62
  76. package/sdk/sdk-ie11.css +40 -8
  77. package/sdk/sdk.css +40 -8
  78. package/sdk/sdk.js +1248 -1248
  79. package/sdk/thirds/hls.js/hls.js +1 -1
  80. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  81. package/sdk/tinymce.js +57 -57
  82. package/src/components/DatePicker.tsx +56 -18
  83. package/src/components/Progress.tsx +8 -12
  84. package/src/components/calendar/Calendar.tsx +17 -12
  85. package/src/components/formula/Editor.tsx +34 -3
  86. package/src/components/formula/Picker.tsx +28 -1
  87. package/src/factory.tsx +2 -2
  88. package/src/renderers/Dialog.tsx +17 -3
  89. package/src/renderers/DropDownButton.tsx +14 -3
  90. package/src/renderers/Form/InputFormula.tsx +7 -0
  91. package/src/renderers/Form/InputTable.tsx +6 -2
  92. package/src/renderers/Page.tsx +1 -2
  93. package/src/renderers/Progress.tsx +2 -2
  94. package/src/renderers/Table/TableRow.tsx +1 -1
  95. package/src/store/table.ts +2 -2
@@ -11,8 +11,8 @@ var InputFormulaRenderer = /** @class */ (function (_super) {
11
11
  return _super !== null && _super.apply(this, arguments) || this;
12
12
  }
13
13
  InputFormulaRenderer.prototype.render = function () {
14
- var _a = this.props, selectedOptions = _a.selectedOptions, disabled = _a.disabled, onChange = _a.onChange, evalMode = _a.evalMode, variables = _a.variables, variableMode = _a.variableMode, functions = _a.functions, header = _a.header, label = _a.label, value = _a.value, clearable = _a.clearable, className = _a.className, ns = _a.classPrefix, cx = _a.classnames, borderMode = _a.borderMode, placeholder = _a.placeholder, inputMode = _a.inputMode, btnLabel = _a.btnLabel, level = _a.level, btnSize = _a.btnSize, icon = _a.icon, title = _a.title, variableClassName = _a.variableClassName, functionClassName = _a.functionClassName, data = _a.data;
15
- return (react_1.default.createElement(Picker_1.default, { className: className, value: value, disabled: disabled, onChange: onChange, evalMode: evalMode, variables: variables, variableMode: variableMode, functions: functions, header: header || label || '', borderMode: borderMode, placeholder: placeholder, mode: inputMode, btnLabel: btnLabel, level: level, btnSize: btnSize, icon: icon, title: title, clearable: clearable, variableClassName: variableClassName, functionClassName: functionClassName, data: data }));
14
+ var _a = this.props, selectedOptions = _a.selectedOptions, disabled = _a.disabled, onChange = _a.onChange, evalMode = _a.evalMode, variables = _a.variables, variableMode = _a.variableMode, functions = _a.functions, header = _a.header, label = _a.label, value = _a.value, clearable = _a.clearable, className = _a.className, ns = _a.classPrefix, cx = _a.classnames, _b = _a.allowInput, allowInput = _b === void 0 ? true : _b, borderMode = _a.borderMode, placeholder = _a.placeholder, inputMode = _a.inputMode, btnLabel = _a.btnLabel, level = _a.level, btnSize = _a.btnSize, icon = _a.icon, title = _a.title, variableClassName = _a.variableClassName, functionClassName = _a.functionClassName, data = _a.data;
15
+ return (react_1.default.createElement(Picker_1.default, { className: className, value: value, disabled: disabled, allowInput: allowInput, onChange: onChange, evalMode: evalMode, variables: variables, variableMode: variableMode, functions: functions, header: header || label || '', borderMode: borderMode, placeholder: placeholder, mode: inputMode, btnLabel: btnLabel, level: level, btnSize: btnSize, icon: icon, title: title, clearable: clearable, variableClassName: variableClassName, functionClassName: functionClassName, data: data }));
16
16
  };
17
17
  InputFormulaRenderer.defaultProps = {
18
18
  inputMode: 'input-button',
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Form/InputFormula.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": ";;;;AAAA,6DAA0B;AAK1B,6DAAmE;AACnE,wFAA4D;AA8G5D;IAA0C,qDAAkC;IAA5E;;IA+DA,CAAC;IAtDC,qCAAM,GAAN;QACM,IAAA,KA0BA,IAAI,CAAC,KAAK,EAzBZ,eAAe,qBAAA,EACf,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,SAAS,eAAA,EACT,YAAY,kBAAA,EACZ,SAAS,eAAA,EACT,MAAM,YAAA,EACN,KAAK,WAAA,EACL,KAAK,WAAA,EACL,SAAS,eAAA,EACT,SAAS,eAAA,EACI,EAAE,iBAAA,EACH,EAAE,gBAAA,EACd,UAAU,gBAAA,EACV,WAAW,iBAAA,EACX,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,KAAK,WAAA,EACL,OAAO,aAAA,EACP,IAAI,UAAA,EACJ,KAAK,WAAA,EACL,iBAAiB,uBAAA,EACjB,iBAAiB,uBAAA,EACjB,IAAI,UACQ,CAAC;QACf,OAAO,CACL,8BAAC,gBAAa,IACZ,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,IAAI,KAAK,IAAI,EAAE,EAC7B,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,iBAAiB,EACpC,iBAAiB,EAAE,iBAAiB,EACpC,IAAI,EAAE,IAAI,GACV,CACH,CAAC;IACJ,CAAC;IA7DM,iCAAY,GAGf;QACF,SAAS,EAAE,cAAc;QACzB,UAAU,EAAE,MAAM;KAClB,CAAA;IAPS,oBAAoB;QAHhC,IAAA,cAAQ,EAAC;YACR,IAAI,EAAE,eAAe;SACtB,CAAC;OACW,oBAAoB,CA+DhC;IAAD,2BAAC;CAAA,AA/DD,CAA0C,eAAK,CAAC,SAAS,GA+DxD;AA/DY,oDAAoB",
9
+ "mappings": ";;;;AAAA,6DAA0B;AAK1B,6DAAmE;AACnE,wFAA4D;AAmH5D;IAA0C,qDAAkC;IAA5E;;IAiEA,CAAC;IAxDC,qCAAM,GAAN;QACM,IAAA,KA2BA,IAAI,CAAC,KAAK,EA1BZ,eAAe,qBAAA,EACf,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,SAAS,eAAA,EACT,YAAY,kBAAA,EACZ,SAAS,eAAA,EACT,MAAM,YAAA,EACN,KAAK,WAAA,EACL,KAAK,WAAA,EACL,SAAS,eAAA,EACT,SAAS,eAAA,EACI,EAAE,iBAAA,EACH,EAAE,gBAAA,EACd,kBAAiB,EAAjB,UAAU,mBAAG,IAAI,KAAA,EACjB,UAAU,gBAAA,EACV,WAAW,iBAAA,EACX,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,KAAK,WAAA,EACL,OAAO,aAAA,EACP,IAAI,UAAA,EACJ,KAAK,WAAA,EACL,iBAAiB,uBAAA,EACjB,iBAAiB,uBAAA,EACjB,IAAI,UACQ,CAAC;QACf,OAAO,CACL,8BAAC,gBAAa,IACZ,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,IAAI,KAAK,IAAI,EAAE,EAC7B,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,iBAAiB,EACpC,iBAAiB,EAAE,iBAAiB,EACpC,IAAI,EAAE,IAAI,GACV,CACH,CAAC;IACJ,CAAC;IA/DM,iCAAY,GAGf;QACF,SAAS,EAAE,cAAc;QACzB,UAAU,EAAE,MAAM;KAClB,CAAA;IAPS,oBAAoB;QAHhC,IAAA,cAAQ,EAAC;YACR,IAAI,EAAE,eAAe;SACtB,CAAC;OACW,oBAAoB,CAiEhC;IAAD,2BAAC;CAAA,AAjED,CAA0C,eAAK,CAAC,SAAS,GAiExD;AAjEY,oDAAoB",
10
10
  "sourcesContent": [
11
- "import React from 'react';\n\nimport ResultBox from '../../components/ResultBox';\nimport Spinner from '../../components/Spinner';\nimport {SchemaApi, SchemaTokenizeableString} from '../../Schema';\nimport FormItem, {FormBaseControl, FormControlProps} from './Item';\nimport FormulaPicker from '../../components/formula/Picker';\nimport {autobind} from '../../utils/helper';\n\nimport type {FuncGroup, VariableItem} from '../../components/formula/Editor';\nimport type {SchemaIcon} from '../../Schema';\n\n/**\n * InputFormula 公式编辑器\n * 文档:https://baidu.gitee.io/amis/zh-CN/components/form/input-formula\n */\nexport interface InputFormulaControlSchema extends FormBaseControl {\n type: 'input-formula';\n\n /**\n * evalMode 即直接就是表达式,否则\n * 需要 ${这里面才是表达式}\n * 默认为 true\n */\n evalMode?: boolean;\n\n /**\n * 用于提示的变量集合,默认为空\n */\n variables: Array<VariableItem>;\n\n /**\n * 变量展现模式,可选值:'tabs' | 'tree'\n */\n variableMode?: 'tabs' | 'tree';\n\n /**\n * 函数集合,默认不需要传,即 amis-formula 里面那个函数\n * 如果有扩充,则需要传。\n */\n functions: Array<FuncGroup>;\n\n /**\n * 编辑器标题\n */\n title?: string;\n\n /**\n * 顶部标题,默认为表达式\n */\n header: string;\n\n /**\n * 控件模式\n */\n inputMode?: 'button' | 'input-button';\n\n /**\n * 按钮图标\n */\n icon?: SchemaIcon;\n\n /**\n * 按钮Label,inputMode为button时生效\n */\n btnLabel?: string;\n\n /**\n * 按钮样式\n */\n level?:\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'link'\n | 'primary'\n | 'dark'\n | 'light';\n\n /**\n * 按钮大小\n */\n btnSize?: 'xs' | 'sm' | 'md' | 'lg';\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 输入框占位符\n */\n placeholder?: string;\n\n /**\n * 变量面板CSS样式类名\n */\n variableClassName?: string;\n\n /**\n * 函数面板CSS样式类名\n */\n functionClassName?: string;\n}\n\nexport interface InputFormulaProps\n extends FormControlProps,\n Omit<\n InputFormulaControlSchema,\n 'options' | 'inputClassName' | 'className' | 'descriptionClassName'\n > {}\n\n@FormItem({\n type: 'input-formula'\n})\nexport class InputFormulaRenderer extends React.Component<InputFormulaProps> {\n static defaultProps: Pick<\n InputFormulaControlSchema,\n 'inputMode' | 'borderMode'\n > = {\n inputMode: 'input-button',\n borderMode: 'full'\n };\n\n render() {\n let {\n selectedOptions,\n disabled,\n onChange,\n evalMode,\n variables,\n variableMode,\n functions,\n header,\n label,\n value,\n clearable,\n className,\n classPrefix: ns,\n classnames: cx,\n borderMode,\n placeholder,\n inputMode,\n btnLabel,\n level,\n btnSize,\n icon,\n title,\n variableClassName,\n functionClassName,\n data\n } = this.props;\n return (\n <FormulaPicker\n className={className}\n value={value}\n disabled={disabled}\n onChange={onChange}\n evalMode={evalMode}\n variables={variables}\n variableMode={variableMode}\n functions={functions}\n header={header || label || ''}\n borderMode={borderMode}\n placeholder={placeholder}\n mode={inputMode}\n btnLabel={btnLabel}\n level={level}\n btnSize={btnSize}\n icon={icon}\n title={title}\n clearable={clearable}\n variableClassName={variableClassName}\n functionClassName={functionClassName}\n data={data}\n />\n );\n }\n}\n"
11
+ "import React from 'react';\n\nimport ResultBox from '../../components/ResultBox';\nimport Spinner from '../../components/Spinner';\nimport {SchemaApi, SchemaTokenizeableString} from '../../Schema';\nimport FormItem, {FormBaseControl, FormControlProps} from './Item';\nimport FormulaPicker from '../../components/formula/Picker';\nimport {autobind} from '../../utils/helper';\n\nimport type {FuncGroup, VariableItem} from '../../components/formula/Editor';\nimport type {SchemaIcon} from '../../Schema';\n\n/**\n * InputFormula 公式编辑器\n * 文档:https://baidu.gitee.io/amis/zh-CN/components/form/input-formula\n */\nexport interface InputFormulaControlSchema extends FormBaseControl {\n type: 'input-formula';\n\n /**\n * evalMode 即直接就是表达式,否则\n * 需要 ${这里面才是表达式}\n * 默认为 true\n */\n evalMode?: boolean;\n\n /**\n * 用于提示的变量集合,默认为空\n */\n variables: Array<VariableItem>;\n\n /**\n * 变量展现模式,可选值:'tabs' | 'tree'\n */\n variableMode?: 'tabs' | 'tree';\n\n /**\n * 函数集合,默认不需要传,即 amis-formula 里面那个函数\n * 如果有扩充,则需要传。\n */\n functions: Array<FuncGroup>;\n\n /**\n * 编辑器标题\n */\n title?: string;\n\n /**\n * 顶部标题,默认为表达式\n */\n header: string;\n\n /**\n * 控件模式\n */\n inputMode?: 'button' | 'input-button';\n\n /**\n * 外层input是否允许输入,否需要点击fx在弹窗中输入\n */\n allowInput?: boolean;\n\n /**\n * 按钮图标\n */\n icon?: SchemaIcon;\n\n /**\n * 按钮Label,inputMode为button时生效\n */\n btnLabel?: string;\n\n /**\n * 按钮样式\n */\n level?:\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'link'\n | 'primary'\n | 'dark'\n | 'light';\n\n /**\n * 按钮大小\n */\n btnSize?: 'xs' | 'sm' | 'md' | 'lg';\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 输入框占位符\n */\n placeholder?: string;\n\n /**\n * 变量面板CSS样式类名\n */\n variableClassName?: string;\n\n /**\n * 函数面板CSS样式类名\n */\n functionClassName?: string;\n}\n\nexport interface InputFormulaProps\n extends FormControlProps,\n Omit<\n InputFormulaControlSchema,\n 'options' | 'inputClassName' | 'className' | 'descriptionClassName'\n > {}\n\n@FormItem({\n type: 'input-formula'\n})\nexport class InputFormulaRenderer extends React.Component<InputFormulaProps> {\n static defaultProps: Pick<\n InputFormulaControlSchema,\n 'inputMode' | 'borderMode'\n > = {\n inputMode: 'input-button',\n borderMode: 'full'\n };\n\n render() {\n let {\n selectedOptions,\n disabled,\n onChange,\n evalMode,\n variables,\n variableMode,\n functions,\n header,\n label,\n value,\n clearable,\n className,\n classPrefix: ns,\n classnames: cx,\n allowInput = true,\n borderMode,\n placeholder,\n inputMode,\n btnLabel,\n level,\n btnSize,\n icon,\n title,\n variableClassName,\n functionClassName,\n data\n } = this.props;\n return (\n <FormulaPicker\n className={className}\n value={value}\n disabled={disabled}\n allowInput={allowInput}\n onChange={onChange}\n evalMode={evalMode}\n variables={variables}\n variableMode={variableMode}\n functions={functions}\n header={header || label || ''}\n borderMode={borderMode}\n placeholder={placeholder}\n mode={inputMode}\n btnLabel={btnLabel}\n level={level}\n btnSize={btnSize}\n icon={icon}\n title={title}\n clearable={clearable}\n variableClassName={variableClassName}\n functionClassName={functionClassName}\n data={data}\n />\n );\n }\n}\n"
12
12
  ]
13
13
  }
@@ -574,7 +574,7 @@ var FormTable = /** @class */ (function (_super) {
574
574
  };
575
575
  FormTable.prototype.render = function () {
576
576
  var _this = this;
577
- var _a = this.props, className = _a.className, value = _a.value, showAddBtn = _a.showAddBtn, disabled = _a.disabled, render = _a.render, placeholder = _a.placeholder, draggable = _a.draggable, addable = _a.addable, columnsTogglable = _a.columnsTogglable, combineNum = _a.combineNum, combineFromIndex = _a.combineFromIndex, __ = _a.translate, canAccessSuperData = _a.canAccessSuperData, expandConfig = _a.expandConfig, affixRow = _a.affixRow, prefixRow = _a.prefixRow, formInited = _a.formInited, perPage = _a.perPage, cx = _a.classnames;
577
+ var _a = this.props, className = _a.className, value = _a.value, showAddBtn = _a.showAddBtn, disabled = _a.disabled, render = _a.render, placeholder = _a.placeholder, draggable = _a.draggable, addable = _a.addable, columnsTogglable = _a.columnsTogglable, combineNum = _a.combineNum, combineFromIndex = _a.combineFromIndex, __ = _a.translate, canAccessSuperData = _a.canAccessSuperData, expandConfig = _a.expandConfig, affixRow = _a.affixRow, prefixRow = _a.prefixRow, formInited = _a.formInited, perPage = _a.perPage, cx = _a.classnames, rowClassName = _a.rowClassName, rowClassNameExpr = _a.rowClassNameExpr;
578
578
  if (formInited === false) {
579
579
  return null;
580
580
  }
@@ -614,7 +614,9 @@ var FormTable = /** @class */ (function (_super) {
614
614
  expandConfig: expandConfig,
615
615
  canAccessSuperData: canAccessSuperData,
616
616
  reUseRow: false,
617
- offset: offset
617
+ offset: offset,
618
+ rowClassName: rowClassName,
619
+ rowClassNameExpr: rowClassNameExpr
618
620
  }),
619
621
  (addable && showAddBtn !== false) || showPager ? (react_1.default.createElement("div", { className: cx('InputTable-toolbar') },
620
622
  addable && showAddBtn !== false ? (react_1.default.createElement(Button_1.default, { disabled: disabled, size: "sm", onClick: function () { return _this.addItem(_this.state.items.length); } },
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Form/InputTable.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 {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport Button from '../../components/Button';\nimport {\n createObject,\n getTree,\n getVariable,\n setVariable,\n spliceTree\n} from '../../utils/helper';\nimport {RendererData, Action, Api, Payload, ApiObject} from '../../types';\nimport {isEffectiveApi} from '../../utils/api';\nimport {filter} from '../../utils/tpl';\nimport omit from 'lodash/omit';\nimport {dataMapping} from '../../utils/tpl-builtin';\nimport findIndex from 'lodash/findIndex';\nimport {SimpleMap} from '../../utils/SimpleMap';\nimport {Icon} from '../../components/icons';\nimport {TableSchema} from '../Table';\nimport {SchemaApi} from '../../Schema';\nimport find from 'lodash/find';\n\nexport interface TableControlSchema\n extends FormBaseControl,\n Omit<TableSchema, 'type'> {\n type: 'input-table';\n\n /**\n * 可新增\n */\n addable?: boolean;\n\n /**\n * 可复制新增\n */\n copyable?: boolean;\n\n /**\n * 复制按钮文字\n */\n copyBtnLabel?: string;\n\n /**\n * 复制按钮图标\n */\n copyBtnIcon?: string;\n\n /**\n * 是否显示复制按钮\n */\n copyAddBtn?: boolean;\n\n /**\n * 是否可以拖拽排序\n */\n draggable?: boolean;\n\n /**\n * 新增 API\n */\n addApi?: SchemaApi;\n\n /**\n * 新增按钮文字\n */\n addBtnLabel?: string;\n\n /**\n * 新增按钮图标\n */\n addBtnIcon?: string;\n\n /**\n * 显示新增按钮\n */\n showAddBtn?: boolean;\n\n /**\n * 可否删除\n */\n removable?: boolean;\n\n /**\n * 删除的 API\n */\n deleteApi?: SchemaApi;\n\n /**\n * 可否编辑\n */\n editable?: boolean;\n\n /**\n * 更新按钮名称\n */\n editBtnLabel?: string;\n\n /**\n * 更新按钮图标\n */\n editBtnIcon?: string;\n\n /**\n * 确认按钮文字\n */\n confirmBtnLabel?: string;\n\n /**\n * 确认按钮图标\n */\n confirmBtnIcon?: string;\n\n /**\n * 取消按钮文字\n */\n cancelBtnLabel?: string;\n\n /**\n * 取消按钮图标\n */\n cancelBtnIcon?: string;\n\n /**\n * 删除按钮文字\n */\n deleteBtnLabel?: string;\n\n /**\n * 删除按钮图标\n */\n deleteBtnIcon?: string;\n\n /**\n * 更新 API\n */\n updateApi?: SchemaApi;\n\n /**\n * 初始值,新增的时候\n */\n scaffold?: any;\n\n /**\n * 删除确认文字\n */\n deleteConfirmText?: string;\n\n /**\n * 值字段\n */\n valueField?: string;\n\n /**\n * 是否为确认的编辑模式。\n */\n needConfirm?: boolean;\n\n /**\n * 是否可以访问父级数据,正常 combo 已经关联到数组成员,是不能访问父级数据的。\n */\n canAccessSuperData?: boolean;\n\n /**\n * 是否显示序号\n */\n showIndex?: boolean;\n\n /**\n * 分页个数,默认不分页\n */\n perPage?: number;\n}\n\nexport interface TableProps\n extends FormControlProps,\n Omit<\n TableControlSchema,\n 'type' | 'className' | 'descriptionClassName' | 'inputClassName'\n > {}\n\nexport interface TableState {\n items: Array<any>;\n raw?: any;\n columns: Array<any>;\n editIndex: number;\n isCreateMode?: boolean;\n page?: number;\n}\n\nexport default class FormTable extends React.Component<TableProps, TableState> {\n static defaultProps = {\n placeholder: '空',\n scaffold: {},\n addBtnIcon: 'plus',\n copyBtnIcon: 'copy',\n editBtnIcon: 'pencil',\n deleteBtnIcon: 'minus',\n confirmBtnIcon: 'check',\n cancelBtnIcon: 'close',\n valueField: ''\n };\n\n static propsList: Array<string> = [\n 'onChange',\n 'name',\n 'columns',\n 'label',\n 'scaffold',\n 'showAddBtn',\n 'addable',\n 'removable',\n 'copyable',\n 'editable',\n 'addApi',\n 'updateApi',\n 'deleteApi',\n 'needConfirm',\n 'canAccessSuperData',\n 'formStore'\n ];\n\n entries: SimpleMap<any, number>;\n entityId: number = 1;\n subForms: any = {};\n rowPrinstine: Array<any> = [];\n editting: any = {};\n constructor(props: TableProps) {\n super(props);\n\n this.state = {\n columns: this.buildColumns(props),\n editIndex: -1,\n items: Array.isArray(props.value) ? props.value.concat() : []\n };\n\n this.entries = new SimpleMap();\n this.buildItemProps = this.buildItemProps.bind(this);\n this.confirmEdit = this.confirmEdit.bind(this);\n this.cancelEdit = this.cancelEdit.bind(this);\n this.handleSaveTableOrder = this.handleSaveTableOrder.bind(this);\n this.handleTableSave = this.handleTableSave.bind(this);\n this.getEntryId = this.getEntryId.bind(this);\n this.subFormRef = this.subFormRef.bind(this);\n this.handlePageChange = this.handlePageChange.bind(this);\n this.emitValue = this.emitValue.bind(this);\n }\n\n componentDidUpdate(nextProps: TableProps) {\n const props = this.props;\n let toUpdate: any = null;\n\n if (props.columns !== nextProps.columns) {\n toUpdate = {\n ...toUpdate,\n columns: this.buildColumns(props)\n };\n }\n\n if (props.value !== nextProps.value) {\n toUpdate = {\n ...toUpdate,\n items: Array.isArray(props.value) ? props.value.concat() : [],\n editIndex: -1,\n raw: undefined\n };\n }\n\n toUpdate && this.setState(toUpdate);\n }\n\n componentWillUnmount() {\n this.entries.dispose();\n }\n\n subFormRef(form: any, x: number, y: number) {\n this.subForms[`${x}-${y}`] = form;\n }\n\n async validate(): Promise<string | void> {\n const {value, minLength, maxLength, translate: __, columns} = this.props;\n\n // todo: 如果当前正在编辑中,表单提交了,应该先让正在编辑的东西提交然后再做验证。\n if (~this.state.editIndex) {\n return __('Table.editing');\n }\n\n if (minLength && (!Array.isArray(value) || value.length < minLength)) {\n return __('Combo.minLength', {minLength});\n } else if (maxLength && Array.isArray(value) && value.length > maxLength) {\n return __('Combo.maxLength', {maxLength});\n } else {\n const subForms: Array<any> = [];\n Object.keys(this.subForms).forEach(\n key => this.subForms[key] && subForms.push(this.subForms[key])\n );\n if (subForms.length) {\n const results = await Promise.all(\n subForms.map(item => item.validate())\n );\n\n let msg = ~results.indexOf(false) ? __('Form.validateFailed') : '';\n let uniqueColumn = '';\n\n if (\n !msg &&\n Array.isArray(columns) &&\n Array.isArray(value) &&\n columns.some(item => {\n if (item.unique && item.name) {\n let exists: Array<any> = [];\n\n return value.some((obj: any) => {\n const value = getVariable(obj, item.name);\n\n if (~exists.indexOf(value)) {\n uniqueColumn = `${item.label || item.name}`;\n return true;\n }\n\n exists.push(value);\n return false;\n });\n }\n\n return false;\n })\n ) {\n msg = __('InputTable.uniqueError', {\n label: uniqueColumn\n });\n }\n\n return msg;\n }\n }\n }\n\n emitValue() {\n const items = this.state.items.filter(item => !item.__isPlaceholder);\n const {onChange} = this.props;\n onChange?.(items);\n }\n\n async doAction(action: Action, ctx: RendererData, ...rest: Array<any>) {\n const {\n onAction,\n valueField,\n env,\n onChange,\n editable,\n needConfirm,\n addable,\n addApi,\n translate: __\n } = this.props;\n\n if (action.actionType === 'add') {\n if (addable === false) {\n return;\n }\n\n const items = this.state.items.concat();\n\n if (addApi || action.payload) {\n let toAdd = null;\n\n if (isEffectiveApi(addApi, ctx)) {\n const payload = await env.fetcher(addApi, ctx);\n if (payload && !payload.ok) {\n env.notify('error', payload.msg || __('fetchFailed'));\n return;\n } else if (payload && payload.ok) {\n toAdd = payload.data;\n }\n } else {\n toAdd = dataMapping(action.payload, ctx);\n }\n\n toAdd = Array.isArray(toAdd) ? toAdd : [toAdd];\n toAdd.forEach((toAdd: any) => {\n if (\n !valueField ||\n !find(\n items,\n item => item[valueField as string] == toAdd[valueField as string]\n )\n ) {\n // 不要重复加入\n items.push(toAdd);\n }\n });\n\n this.setState(\n {\n items\n },\n () => {\n this.emitValue();\n\n if (toAdd.length === 1 && needConfirm !== false) {\n this.startEdit(items.length - 1, true);\n }\n }\n );\n\n return;\n } else {\n return this.addItem(items.length - 1);\n }\n } else if (\n action.actionType === 'remove' ||\n action.actionType === 'delete'\n ) {\n if (!valueField) {\n return env.alert(__('Table.valueField'));\n } else if (!action.payload) {\n return env.alert(__('Table.playload'));\n }\n\n const items = this.state.items.concat();\n let toRemove: any = dataMapping(action.payload, ctx);\n toRemove = Array.isArray(toRemove) ? toRemove : [toRemove];\n\n toRemove.forEach((toRemove: any) => {\n const idx = findIndex(\n items,\n item => item[valueField as string] == toRemove[valueField as string]\n );\n if (~idx) {\n items.splice(idx, 1);\n }\n });\n\n this.setState(\n {\n items\n },\n () => this.emitValue()\n );\n\n // todo 如果配置删除 Api 怎么办?\n return;\n }\n\n return onAction && onAction(action, ctx, ...rest);\n }\n\n copyItem(index: number) {\n const {needConfirm} = this.props;\n const items = this.state.items.concat();\n\n items.splice(index + 1, 0, items[index]);\n index = Math.min(index + 1, items.length - 1);\n this.setState(\n {\n items\n },\n () => {\n if (needConfirm === false) {\n this.emitValue();\n } else {\n this.startEdit(index, true);\n }\n }\n );\n }\n\n addItem(index: number) {\n const {needConfirm, scaffold, columns} = this.props;\n const items = this.state.items.concat();\n let value: any = {\n __isPlaceholder: true\n };\n\n if (Array.isArray(columns)) {\n columns.forEach(column => {\n if (\n typeof column.value !== 'undefined' &&\n typeof column.name === 'string'\n ) {\n setVariable(value, column.name, column.value);\n }\n });\n }\n\n value = {\n ...value,\n ...scaffold\n };\n\n if (needConfirm === false) {\n delete value.__isPlaceholder;\n }\n\n items.splice(index + 1, 0, value);\n index = Math.min(index + 1, items.length - 1);\n\n this.setState(\n {\n items\n },\n () => {\n if (needConfirm === false) {\n this.emitValue();\n } else {\n this.startEdit(index, true);\n }\n }\n );\n }\n\n startEdit(index: number, isCreate: boolean = false) {\n this.setState({\n editIndex: index,\n isCreateMode: isCreate,\n raw: this.state.items[index],\n\n columns: this.buildColumns(this.props, isCreate)\n });\n }\n\n async confirmEdit() {\n const {addApi, updateApi, data, env, translate: __} = this.props;\n\n // form 是 lazyChange 的,先让他们 flush, 即把未提交的数据提交。\n const subForms: Array<any> = [];\n Object.keys(this.subForms).forEach(\n key => this.subForms[key] && subForms.push(this.subForms[key])\n );\n subForms.forEach(form => form.flush());\n\n const items = this.state.items.concat();\n let item = {\n ...items[this.state.editIndex]\n };\n const isNew = item.__isPlaceholder;\n\n let remote: Payload | null = null;\n if (isNew && isEffectiveApi(addApi, createObject(data, item))) {\n remote = await env.fetcher(addApi, createObject(data, item));\n } else if (isEffectiveApi(updateApi, createObject(data, item))) {\n remote = await env.fetcher(updateApi, createObject(data, item));\n }\n\n if (remote && !remote.ok) {\n env.notify('error', remote.msg || __('saveFailed'));\n return;\n } else if (remote && remote.ok) {\n item = {\n ...(((isNew ? addApi : updateApi) as ApiObject).replaceData\n ? {}\n : item),\n ...remote.data\n };\n }\n\n delete item.__isPlaceholder;\n items.splice(this.state.editIndex, 1, item);\n\n this.setState(\n {\n editIndex: -1,\n items: items,\n raw: undefined\n },\n this.emitValue\n );\n }\n\n cancelEdit() {\n let items = this.state.items.concat();\n\n if (this.state.isCreateMode) {\n items = items.filter(item => !item.__isPlaceholder);\n } else if (this.state.raw) {\n items.splice(this.state.editIndex, 1, this.state.raw);\n }\n\n this.setState(\n {\n editIndex: -1,\n raw: undefined,\n items: items\n },\n this.emitValue\n );\n }\n\n async removeItem(index: number) {\n const {\n value,\n onChange,\n deleteApi,\n deleteConfirmText,\n env,\n data,\n translate: __\n } = this.props;\n\n let newValue = Array.isArray(value) ? value.concat() : [];\n const item = newValue[index];\n\n if (!item) {\n return;\n }\n\n const ctx = createObject(data, item);\n if (isEffectiveApi(deleteApi, ctx)) {\n const confirmed = await env.confirm(\n deleteConfirmText ? filter(deleteConfirmText, ctx) : __('deleteConfirm')\n );\n if (!confirmed) {\n // 如果不确认,则跳过!\n return;\n }\n\n const result = await env.fetcher(deleteApi, ctx);\n\n if (!result.ok) {\n env.notify('error', __('deleteFailed'));\n return;\n }\n }\n\n this.removeEntry(item);\n newValue.splice(index, 1);\n onChange(newValue);\n }\n\n buildItemProps(item: any, index: number) {\n if (this.props.needConfirm === false) {\n return {\n quickEditEnabled: true\n };\n } else if (\n !this.props.editable &&\n !this.props.addable &&\n !this.state.isCreateMode\n ) {\n return null;\n }\n\n const perPage = this.props.perPage;\n const page = this.state.page || 1;\n let offset = 0;\n if (typeof perPage === 'number' && perPage) {\n offset = (page - 1) * perPage;\n }\n\n return {\n quickEditEnabled: this.state.editIndex === index + offset\n };\n }\n\n buildColumns(props: TableProps, isCreateMode = false): Array<any> {\n const env = this.props.env;\n let columns: Array<any> = Array.isArray(props.columns)\n ? props.columns.concat()\n : [];\n const ns = this.props.classPrefix;\n const __ = this.props.translate;\n const needConfirm = this.props.needConfirm;\n const showIndex = this.props.showIndex;\n\n let btns = [];\n if (props.addable && props.showAddBtn !== false) {\n btns.push({\n children: ({\n key,\n rowIndex,\n offset\n }: {\n key: any;\n rowIndex: number;\n offset: number;\n }) =>\n ~this.state.editIndex && needConfirm !== false ? null : (\n <Button\n classPrefix={ns}\n size=\"sm\"\n key={key}\n level=\"link\"\n tooltip={__('Table.addRow')}\n tooltipContainer={\n env && env.getModalContainer ? env.getModalContainer : undefined\n }\n onClick={this.addItem.bind(this, rowIndex + offset, undefined)}\n >\n {props.addBtnLabel ? <span>{props.addBtnLabel}</span> : null}\n {props.addBtnIcon ? (\n <Icon icon={props.addBtnIcon} className=\"icon\" />\n ) : null}\n </Button>\n )\n });\n }\n\n if (props.copyable && props.showCopyBtn !== false) {\n btns.push({\n children: ({\n key,\n rowIndex,\n offset\n }: {\n key: any;\n rowIndex: number;\n offset: number;\n }) =>\n ~this.state.editIndex && needConfirm !== false ? null : (\n <Button\n classPrefix={ns}\n size=\"sm\"\n key={key}\n level=\"link\"\n tooltip={__('Table.copyRow')}\n tooltipContainer={\n env && env.getModalContainer ? env.getModalContainer : undefined\n }\n onClick={this.copyItem.bind(this, rowIndex + offset, undefined)}\n >\n {props.copyBtnLabel ? <span>{props.copyBtnLabel}</span> : null}\n {props.copyBtnIcon ? (\n <Icon icon={props.copyBtnIcon} className=\"icon\" />\n ) : null}\n </Button>\n )\n });\n }\n\n if (props.needConfirm === false) {\n columns = columns.map(column => {\n const quickEdit = column.quickEdit;\n\n return quickEdit === false\n ? omit(column, ['quickEdit'])\n : {\n ...column,\n quickEdit: {\n ...this.columnToQuickEdit(column),\n ...quickEdit,\n saveImmediately: true,\n mode: 'inline'\n }\n };\n });\n } else if (props.addable || props.editable || isCreateMode) {\n columns = columns.map(column => {\n const quickEdit =\n !isCreateMode && column.hasOwnProperty('quickEditOnUpdate')\n ? column.quickEditOnUpdate\n : column.quickEdit;\n\n return quickEdit === false\n ? omit(column, ['quickEdit'])\n : {\n ...column,\n quickEdit: {\n ...this.columnToQuickEdit(column),\n ...quickEdit,\n saveImmediately: true,\n mode: 'inline'\n }\n };\n });\n\n props.editable &&\n btns.push({\n children: ({\n key,\n rowIndex,\n data,\n offset\n }: {\n key: any;\n rowIndex: number;\n data: any;\n offset: number;\n }) =>\n ~this.state.editIndex || (data && data.__isPlaceholder) ? null : (\n <Button\n classPrefix={ns}\n size=\"sm\"\n key={key}\n level=\"link\"\n tooltip={__('Table.editRow')}\n tooltipContainer={\n env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n }\n onClick={() => this.startEdit(rowIndex + offset)}\n >\n {props.updateBtnLabel || props.editBtnLabel ? (\n <span>{props.updateBtnLabel || props.editBtnLabel}</span>\n ) : null}\n {/* 兼容之前的写法 */}\n {typeof props.updateBtnIcon !== 'undefined' ? (\n props.updateBtnIcon ? (\n <Icon icon={props.updateBtnIcon} className=\"icon\" />\n ) : null\n ) : props.editBtnIcon ? (\n <Icon icon={props.editBtnIcon} className=\"icon\" />\n ) : null}\n </Button>\n )\n });\n\n btns.push({\n children: ({\n key,\n rowIndex,\n offset\n }: {\n key: any;\n rowIndex: number;\n offset: number;\n }) =>\n this.state.editIndex === rowIndex + offset ? (\n <Button\n classPrefix={ns}\n size=\"sm\"\n key={key}\n level=\"link\"\n tooltip={__('save')}\n tooltipContainer={\n env && env.getModalContainer ? env.getModalContainer : undefined\n }\n onClick={this.confirmEdit}\n >\n {props.confirmBtnLabel ? (\n <span>{props.confirmBtnLabel}</span>\n ) : null}\n {props.confirmBtnIcon ? (\n <Icon icon={props.confirmBtnIcon} className=\"icon\" />\n ) : null}\n </Button>\n ) : null\n });\n\n btns.push({\n children: ({\n key,\n rowIndex,\n offset\n }: {\n key: any;\n rowIndex: number;\n offset: number;\n }) =>\n this.state.editIndex === rowIndex + offset ? (\n <Button\n classPrefix={ns}\n size=\"sm\"\n key={key}\n level=\"link\"\n tooltip={__('cancel')}\n tooltipContainer={\n env && env.getModalContainer ? env.getModalContainer : undefined\n }\n onClick={this.cancelEdit}\n >\n {props.cancelBtnLabel ? (\n <span>{props.cancelBtnLabel}</span>\n ) : null}\n {props.cancelBtnIcon ? (\n <Icon icon={props.cancelBtnIcon} className=\"icon\" />\n ) : null}\n </Button>\n ) : null\n });\n }\n\n if (props.removable) {\n btns.push({\n children: ({\n key,\n rowIndex,\n data,\n offset\n }: {\n key: any;\n rowIndex: number;\n data: any;\n offset: number;\n }) =>\n (~this.state.editIndex || (data && data.__isPlaceholder)) &&\n needConfirm !== false ? null : (\n <Button\n classPrefix={ns}\n size=\"sm\"\n key={key}\n level=\"link\"\n tooltip={__('Table.deleteRow')}\n tooltipContainer={\n env && env.getModalContainer ? env.getModalContainer : undefined\n }\n onClick={this.removeItem.bind(this, rowIndex + offset)}\n >\n {props.deleteBtnLabel ? (\n <span>{props.deleteBtnLabel}</span>\n ) : null}\n {props.deleteBtnIcon ? (\n <Icon icon={props.deleteBtnIcon} className=\"icon\" />\n ) : null}\n </Button>\n )\n });\n }\n\n if (btns.length) {\n let operation = columns.find(item => item.type === 'operation');\n\n if (!operation) {\n operation = {\n type: 'operation',\n buttons: [],\n label: __('Table.operation'),\n className: 'v-middle nowrap',\n fixed: 'right',\n width: '1%',\n innerClassName: 'm-n'\n };\n columns.push(operation);\n }\n\n operation.buttons = Array.isArray(operation.buttons)\n ? operation.buttons.concat()\n : [];\n operation.buttons.unshift.apply(operation.buttons, btns);\n }\n\n if (showIndex) {\n columns.unshift({\n label: __('Table.index'),\n width: '1%',\n children: (props: any) => {\n return <td>{props.offset + props.data.index + 1}</td>;\n }\n });\n }\n\n return columns;\n }\n\n columnToQuickEdit(column: any) {\n const quickEdit: any = {\n type: 'input-text'\n };\n\n if (\n (column.type &&\n /^input\\-|(?:select|picker|checkbox|checkboxes|editor|transfer|radios)$/i.test(\n column.type\n )) ||\n ~['textarea', 'combo', 'condition-builder', 'group'].indexOf(column.type)\n ) {\n return {\n ...column,\n label: ''\n };\n }\n\n return quickEdit;\n }\n\n handleTableSave(\n rows: Array<object> | object,\n diff: Array<object> | object,\n rowIndexes: Array<string> | string\n ) {\n const {perPage} = this.props;\n\n if (~this.state.editIndex) {\n const items = this.state.items.concat();\n const origin = items[this.state.editIndex];\n\n if (!origin) {\n return;\n }\n\n const value: any = {\n ...rows\n };\n this.entries.set(value, this.entries.get(origin) || this.entityId++);\n this.entries.delete(origin);\n items.splice(this.state.editIndex, 1, value);\n\n this.setState({\n items\n });\n return;\n }\n\n const page = this.state.page;\n let items = this.state.items.concat();\n\n if (Array.isArray(rows)) {\n (rowIndexes as Array<string>).forEach((rowIndex, index) => {\n const indexes = rowIndex.split('.').map(item => parseInt(item, 10));\n\n if (page && page > 1 && typeof perPage === 'number') {\n indexes[0] += (page - 1) * perPage;\n }\n const origin = getTree(items, indexes);\n\n const data = {\n ...origin,\n ...(diff as Array<object>)[index]\n };\n\n items = spliceTree(items, indexes, 1, data);\n });\n } else {\n const indexes = (rowIndexes as string)\n .split('.')\n .map(item => parseInt(item, 10));\n\n if (page && page > 1 && typeof perPage === 'number') {\n indexes[0] += (page - 1) * perPage;\n }\n\n const origin = getTree(items, indexes);\n const data = {\n ...origin,\n ...diff\n };\n\n items = spliceTree(items, indexes, 1, data);\n this.entries.set(data, this.entries.get(origin) || this.entityId++);\n // this.entries.delete(origin); // 反正最后都会清理的,先不删了吧。\n }\n\n this.setState(\n {\n items\n },\n this.emitValue\n );\n }\n\n handleSaveTableOrder(moved: Array<object>, rows: Array<object>) {\n const {onChange} = this.props;\n\n onChange(rows.map((item: object) => ({...item})));\n }\n\n handlePageChange(page: number) {\n this.setState({page});\n }\n\n removeEntry(entry: any) {\n if (this.entries.has(entry)) {\n this.entries.delete(entry);\n }\n }\n\n getEntryId(entry: any) {\n if (!this.entries.has(entry)) {\n this.entries.set(entry, this.entityId++);\n }\n\n return String(this.entries.get(entry));\n }\n\n render() {\n const {\n className,\n value,\n showAddBtn,\n disabled,\n render,\n placeholder,\n draggable,\n addable,\n columnsTogglable,\n combineNum,\n combineFromIndex,\n translate: __,\n canAccessSuperData,\n expandConfig,\n affixRow,\n prefixRow,\n formInited,\n perPage,\n classnames: cx\n } = this.props;\n\n if (formInited === false) {\n return null;\n }\n\n let items = this.state.items;\n\n let showPager = false;\n const page = this.state.page || 1;\n let offset = 0;\n let lastPage = 1;\n if (typeof perPage === 'number' && perPage && items.length > perPage) {\n lastPage = Math.ceil(items.length / perPage);\n items = items.slice((page - 1) * perPage, page * perPage);\n showPager = true;\n offset = (page - 1) * perPage;\n }\n\n return (\n <div className={cx('InputTable', className)}>\n {render(\n 'body',\n {\n type: 'table',\n placeholder: __(placeholder),\n columns: this.state.columns,\n affixHeader: false,\n prefixRow,\n affixRow\n },\n {\n value: undefined,\n saveImmediately: true,\n disabled,\n draggable: draggable && !~this.state.editIndex,\n items: items,\n getEntryId: this.getEntryId,\n onSave: this.handleTableSave,\n onSaveOrder: this.handleSaveTableOrder,\n buildItemProps: this.buildItemProps,\n quickEditFormRef: this.subFormRef,\n columnsTogglable: columnsTogglable,\n combineNum: combineNum,\n combineFromIndex: combineFromIndex,\n expandConfig,\n canAccessSuperData,\n reUseRow: false,\n offset\n }\n )}\n {(addable && showAddBtn !== false) || showPager ? (\n <div className={cx('InputTable-toolbar')}>\n {addable && showAddBtn !== false ? (\n <Button\n disabled={disabled}\n size=\"sm\"\n onClick={() => this.addItem(this.state.items.length)}\n >\n <Icon icon=\"plus\" className=\"icon\" />\n <span>{__('Combo.add')}</span>\n </Button>\n ) : null}\n\n {showPager\n ? render(\n 'pager',\n {\n type: 'pagination'\n },\n {\n activePage: page,\n lastPage: lastPage,\n onPageChange: this.handlePageChange,\n className: 'InputTable-pager'\n }\n )\n : null}\n </div>\n ) : null}\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'input-table'\n})\nexport class TableControlRenderer extends FormTable {}\n"
11
+ "import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport Button from '../../components/Button';\nimport {\n createObject,\n getTree,\n getVariable,\n setVariable,\n spliceTree\n} from '../../utils/helper';\nimport {RendererData, Action, Api, Payload, ApiObject} from '../../types';\nimport {isEffectiveApi} from '../../utils/api';\nimport {filter} from '../../utils/tpl';\nimport omit from 'lodash/omit';\nimport {dataMapping} from '../../utils/tpl-builtin';\nimport findIndex from 'lodash/findIndex';\nimport {SimpleMap} from '../../utils/SimpleMap';\nimport {Icon} from '../../components/icons';\nimport {TableSchema} from '../Table';\nimport {SchemaApi} from '../../Schema';\nimport find from 'lodash/find';\n\nexport interface TableControlSchema\n extends FormBaseControl,\n Omit<TableSchema, 'type'> {\n type: 'input-table';\n\n /**\n * 可新增\n */\n addable?: boolean;\n\n /**\n * 可复制新增\n */\n copyable?: boolean;\n\n /**\n * 复制按钮文字\n */\n copyBtnLabel?: string;\n\n /**\n * 复制按钮图标\n */\n copyBtnIcon?: string;\n\n /**\n * 是否显示复制按钮\n */\n copyAddBtn?: boolean;\n\n /**\n * 是否可以拖拽排序\n */\n draggable?: boolean;\n\n /**\n * 新增 API\n */\n addApi?: SchemaApi;\n\n /**\n * 新增按钮文字\n */\n addBtnLabel?: string;\n\n /**\n * 新增按钮图标\n */\n addBtnIcon?: string;\n\n /**\n * 显示新增按钮\n */\n showAddBtn?: boolean;\n\n /**\n * 可否删除\n */\n removable?: boolean;\n\n /**\n * 删除的 API\n */\n deleteApi?: SchemaApi;\n\n /**\n * 可否编辑\n */\n editable?: boolean;\n\n /**\n * 更新按钮名称\n */\n editBtnLabel?: string;\n\n /**\n * 更新按钮图标\n */\n editBtnIcon?: string;\n\n /**\n * 确认按钮文字\n */\n confirmBtnLabel?: string;\n\n /**\n * 确认按钮图标\n */\n confirmBtnIcon?: string;\n\n /**\n * 取消按钮文字\n */\n cancelBtnLabel?: string;\n\n /**\n * 取消按钮图标\n */\n cancelBtnIcon?: string;\n\n /**\n * 删除按钮文字\n */\n deleteBtnLabel?: string;\n\n /**\n * 删除按钮图标\n */\n deleteBtnIcon?: string;\n\n /**\n * 更新 API\n */\n updateApi?: SchemaApi;\n\n /**\n * 初始值,新增的时候\n */\n scaffold?: any;\n\n /**\n * 删除确认文字\n */\n deleteConfirmText?: string;\n\n /**\n * 值字段\n */\n valueField?: string;\n\n /**\n * 是否为确认的编辑模式。\n */\n needConfirm?: boolean;\n\n /**\n * 是否可以访问父级数据,正常 combo 已经关联到数组成员,是不能访问父级数据的。\n */\n canAccessSuperData?: boolean;\n\n /**\n * 是否显示序号\n */\n showIndex?: boolean;\n\n /**\n * 分页个数,默认不分页\n */\n perPage?: number;\n}\n\nexport interface TableProps\n extends FormControlProps,\n Omit<\n TableControlSchema,\n 'type' | 'className' | 'descriptionClassName' | 'inputClassName'\n > {}\n\nexport interface TableState {\n items: Array<any>;\n raw?: any;\n columns: Array<any>;\n editIndex: number;\n isCreateMode?: boolean;\n page?: number;\n}\n\nexport default class FormTable extends React.Component<TableProps, TableState> {\n static defaultProps = {\n placeholder: '空',\n scaffold: {},\n addBtnIcon: 'plus',\n copyBtnIcon: 'copy',\n editBtnIcon: 'pencil',\n deleteBtnIcon: 'minus',\n confirmBtnIcon: 'check',\n cancelBtnIcon: 'close',\n valueField: ''\n };\n\n static propsList: Array<string> = [\n 'onChange',\n 'name',\n 'columns',\n 'label',\n 'scaffold',\n 'showAddBtn',\n 'addable',\n 'removable',\n 'copyable',\n 'editable',\n 'addApi',\n 'updateApi',\n 'deleteApi',\n 'needConfirm',\n 'canAccessSuperData',\n 'formStore'\n ];\n\n entries: SimpleMap<any, number>;\n entityId: number = 1;\n subForms: any = {};\n rowPrinstine: Array<any> = [];\n editting: any = {};\n constructor(props: TableProps) {\n super(props);\n\n this.state = {\n columns: this.buildColumns(props),\n editIndex: -1,\n items: Array.isArray(props.value) ? props.value.concat() : []\n };\n\n this.entries = new SimpleMap();\n this.buildItemProps = this.buildItemProps.bind(this);\n this.confirmEdit = this.confirmEdit.bind(this);\n this.cancelEdit = this.cancelEdit.bind(this);\n this.handleSaveTableOrder = this.handleSaveTableOrder.bind(this);\n this.handleTableSave = this.handleTableSave.bind(this);\n this.getEntryId = this.getEntryId.bind(this);\n this.subFormRef = this.subFormRef.bind(this);\n this.handlePageChange = this.handlePageChange.bind(this);\n this.emitValue = this.emitValue.bind(this);\n }\n\n componentDidUpdate(nextProps: TableProps) {\n const props = this.props;\n let toUpdate: any = null;\n\n if (props.columns !== nextProps.columns) {\n toUpdate = {\n ...toUpdate,\n columns: this.buildColumns(props)\n };\n }\n\n if (props.value !== nextProps.value) {\n toUpdate = {\n ...toUpdate,\n items: Array.isArray(props.value) ? props.value.concat() : [],\n editIndex: -1,\n raw: undefined\n };\n }\n\n toUpdate && this.setState(toUpdate);\n }\n\n componentWillUnmount() {\n this.entries.dispose();\n }\n\n subFormRef(form: any, x: number, y: number) {\n this.subForms[`${x}-${y}`] = form;\n }\n\n async validate(): Promise<string | void> {\n const {value, minLength, maxLength, translate: __, columns} = this.props;\n\n // todo: 如果当前正在编辑中,表单提交了,应该先让正在编辑的东西提交然后再做验证。\n if (~this.state.editIndex) {\n return __('Table.editing');\n }\n\n if (minLength && (!Array.isArray(value) || value.length < minLength)) {\n return __('Combo.minLength', {minLength});\n } else if (maxLength && Array.isArray(value) && value.length > maxLength) {\n return __('Combo.maxLength', {maxLength});\n } else {\n const subForms: Array<any> = [];\n Object.keys(this.subForms).forEach(\n key => this.subForms[key] && subForms.push(this.subForms[key])\n );\n if (subForms.length) {\n const results = await Promise.all(\n subForms.map(item => item.validate())\n );\n\n let msg = ~results.indexOf(false) ? __('Form.validateFailed') : '';\n let uniqueColumn = '';\n\n if (\n !msg &&\n Array.isArray(columns) &&\n Array.isArray(value) &&\n columns.some(item => {\n if (item.unique && item.name) {\n let exists: Array<any> = [];\n\n return value.some((obj: any) => {\n const value = getVariable(obj, item.name);\n\n if (~exists.indexOf(value)) {\n uniqueColumn = `${item.label || item.name}`;\n return true;\n }\n\n exists.push(value);\n return false;\n });\n }\n\n return false;\n })\n ) {\n msg = __('InputTable.uniqueError', {\n label: uniqueColumn\n });\n }\n\n return msg;\n }\n }\n }\n\n emitValue() {\n const items = this.state.items.filter(item => !item.__isPlaceholder);\n const {onChange} = this.props;\n onChange?.(items);\n }\n\n async doAction(action: Action, ctx: RendererData, ...rest: Array<any>) {\n const {\n onAction,\n valueField,\n env,\n onChange,\n editable,\n needConfirm,\n addable,\n addApi,\n translate: __\n } = this.props;\n\n if (action.actionType === 'add') {\n if (addable === false) {\n return;\n }\n\n const items = this.state.items.concat();\n\n if (addApi || action.payload) {\n let toAdd = null;\n\n if (isEffectiveApi(addApi, ctx)) {\n const payload = await env.fetcher(addApi, ctx);\n if (payload && !payload.ok) {\n env.notify('error', payload.msg || __('fetchFailed'));\n return;\n } else if (payload && payload.ok) {\n toAdd = payload.data;\n }\n } else {\n toAdd = dataMapping(action.payload, ctx);\n }\n\n toAdd = Array.isArray(toAdd) ? toAdd : [toAdd];\n toAdd.forEach((toAdd: any) => {\n if (\n !valueField ||\n !find(\n items,\n item => item[valueField as string] == toAdd[valueField as string]\n )\n ) {\n // 不要重复加入\n items.push(toAdd);\n }\n });\n\n this.setState(\n {\n items\n },\n () => {\n this.emitValue();\n\n if (toAdd.length === 1 && needConfirm !== false) {\n this.startEdit(items.length - 1, true);\n }\n }\n );\n\n return;\n } else {\n return this.addItem(items.length - 1);\n }\n } else if (\n action.actionType === 'remove' ||\n action.actionType === 'delete'\n ) {\n if (!valueField) {\n return env.alert(__('Table.valueField'));\n } else if (!action.payload) {\n return env.alert(__('Table.playload'));\n }\n\n const items = this.state.items.concat();\n let toRemove: any = dataMapping(action.payload, ctx);\n toRemove = Array.isArray(toRemove) ? toRemove : [toRemove];\n\n toRemove.forEach((toRemove: any) => {\n const idx = findIndex(\n items,\n item => item[valueField as string] == toRemove[valueField as string]\n );\n if (~idx) {\n items.splice(idx, 1);\n }\n });\n\n this.setState(\n {\n items\n },\n () => this.emitValue()\n );\n\n // todo 如果配置删除 Api 怎么办?\n return;\n }\n\n return onAction && onAction(action, ctx, ...rest);\n }\n\n copyItem(index: number) {\n const {needConfirm} = this.props;\n const items = this.state.items.concat();\n\n items.splice(index + 1, 0, items[index]);\n index = Math.min(index + 1, items.length - 1);\n this.setState(\n {\n items\n },\n () => {\n if (needConfirm === false) {\n this.emitValue();\n } else {\n this.startEdit(index, true);\n }\n }\n );\n }\n\n addItem(index: number) {\n const {needConfirm, scaffold, columns} = this.props;\n const items = this.state.items.concat();\n let value: any = {\n __isPlaceholder: true\n };\n\n if (Array.isArray(columns)) {\n columns.forEach(column => {\n if (\n typeof column.value !== 'undefined' &&\n typeof column.name === 'string'\n ) {\n setVariable(value, column.name, column.value);\n }\n });\n }\n\n value = {\n ...value,\n ...scaffold\n };\n\n if (needConfirm === false) {\n delete value.__isPlaceholder;\n }\n\n items.splice(index + 1, 0, value);\n index = Math.min(index + 1, items.length - 1);\n\n this.setState(\n {\n items\n },\n () => {\n if (needConfirm === false) {\n this.emitValue();\n } else {\n this.startEdit(index, true);\n }\n }\n );\n }\n\n startEdit(index: number, isCreate: boolean = false) {\n this.setState({\n editIndex: index,\n isCreateMode: isCreate,\n raw: this.state.items[index],\n\n columns: this.buildColumns(this.props, isCreate)\n });\n }\n\n async confirmEdit() {\n const {addApi, updateApi, data, env, translate: __} = this.props;\n\n // form 是 lazyChange 的,先让他们 flush, 即把未提交的数据提交。\n const subForms: Array<any> = [];\n Object.keys(this.subForms).forEach(\n key => this.subForms[key] && subForms.push(this.subForms[key])\n );\n subForms.forEach(form => form.flush());\n\n const items = this.state.items.concat();\n let item = {\n ...items[this.state.editIndex]\n };\n const isNew = item.__isPlaceholder;\n\n let remote: Payload | null = null;\n if (isNew && isEffectiveApi(addApi, createObject(data, item))) {\n remote = await env.fetcher(addApi, createObject(data, item));\n } else if (isEffectiveApi(updateApi, createObject(data, item))) {\n remote = await env.fetcher(updateApi, createObject(data, item));\n }\n\n if (remote && !remote.ok) {\n env.notify('error', remote.msg || __('saveFailed'));\n return;\n } else if (remote && remote.ok) {\n item = {\n ...(((isNew ? addApi : updateApi) as ApiObject).replaceData\n ? {}\n : item),\n ...remote.data\n };\n }\n\n delete item.__isPlaceholder;\n items.splice(this.state.editIndex, 1, item);\n\n this.setState(\n {\n editIndex: -1,\n items: items,\n raw: undefined\n },\n this.emitValue\n );\n }\n\n cancelEdit() {\n let items = this.state.items.concat();\n\n if (this.state.isCreateMode) {\n items = items.filter(item => !item.__isPlaceholder);\n } else if (this.state.raw) {\n items.splice(this.state.editIndex, 1, this.state.raw);\n }\n\n this.setState(\n {\n editIndex: -1,\n raw: undefined,\n items: items\n },\n this.emitValue\n );\n }\n\n async removeItem(index: number) {\n const {\n value,\n onChange,\n deleteApi,\n deleteConfirmText,\n env,\n data,\n translate: __\n } = this.props;\n\n let newValue = Array.isArray(value) ? value.concat() : [];\n const item = newValue[index];\n\n if (!item) {\n return;\n }\n\n const ctx = createObject(data, item);\n if (isEffectiveApi(deleteApi, ctx)) {\n const confirmed = await env.confirm(\n deleteConfirmText ? filter(deleteConfirmText, ctx) : __('deleteConfirm')\n );\n if (!confirmed) {\n // 如果不确认,则跳过!\n return;\n }\n\n const result = await env.fetcher(deleteApi, ctx);\n\n if (!result.ok) {\n env.notify('error', __('deleteFailed'));\n return;\n }\n }\n\n this.removeEntry(item);\n newValue.splice(index, 1);\n onChange(newValue);\n }\n\n buildItemProps(item: any, index: number) {\n if (this.props.needConfirm === false) {\n return {\n quickEditEnabled: true\n };\n } else if (\n !this.props.editable &&\n !this.props.addable &&\n !this.state.isCreateMode\n ) {\n return null;\n }\n\n const perPage = this.props.perPage;\n const page = this.state.page || 1;\n let offset = 0;\n if (typeof perPage === 'number' && perPage) {\n offset = (page - 1) * perPage;\n }\n\n return {\n quickEditEnabled: this.state.editIndex === index + offset\n };\n }\n\n buildColumns(props: TableProps, isCreateMode = false): Array<any> {\n const env = this.props.env;\n let columns: Array<any> = Array.isArray(props.columns)\n ? props.columns.concat()\n : [];\n const ns = this.props.classPrefix;\n const __ = this.props.translate;\n const needConfirm = this.props.needConfirm;\n const showIndex = this.props.showIndex;\n\n let btns = [];\n if (props.addable && props.showAddBtn !== false) {\n btns.push({\n children: ({\n key,\n rowIndex,\n offset\n }: {\n key: any;\n rowIndex: number;\n offset: number;\n }) =>\n ~this.state.editIndex && needConfirm !== false ? null : (\n <Button\n classPrefix={ns}\n size=\"sm\"\n key={key}\n level=\"link\"\n tooltip={__('Table.addRow')}\n tooltipContainer={\n env && env.getModalContainer ? env.getModalContainer : undefined\n }\n onClick={this.addItem.bind(this, rowIndex + offset, undefined)}\n >\n {props.addBtnLabel ? <span>{props.addBtnLabel}</span> : null}\n {props.addBtnIcon ? (\n <Icon icon={props.addBtnIcon} className=\"icon\" />\n ) : null}\n </Button>\n )\n });\n }\n\n if (props.copyable && props.showCopyBtn !== false) {\n btns.push({\n children: ({\n key,\n rowIndex,\n offset\n }: {\n key: any;\n rowIndex: number;\n offset: number;\n }) =>\n ~this.state.editIndex && needConfirm !== false ? null : (\n <Button\n classPrefix={ns}\n size=\"sm\"\n key={key}\n level=\"link\"\n tooltip={__('Table.copyRow')}\n tooltipContainer={\n env && env.getModalContainer ? env.getModalContainer : undefined\n }\n onClick={this.copyItem.bind(this, rowIndex + offset, undefined)}\n >\n {props.copyBtnLabel ? <span>{props.copyBtnLabel}</span> : null}\n {props.copyBtnIcon ? (\n <Icon icon={props.copyBtnIcon} className=\"icon\" />\n ) : null}\n </Button>\n )\n });\n }\n\n if (props.needConfirm === false) {\n columns = columns.map(column => {\n const quickEdit = column.quickEdit;\n\n return quickEdit === false\n ? omit(column, ['quickEdit'])\n : {\n ...column,\n quickEdit: {\n ...this.columnToQuickEdit(column),\n ...quickEdit,\n saveImmediately: true,\n mode: 'inline'\n }\n };\n });\n } else if (props.addable || props.editable || isCreateMode) {\n columns = columns.map(column => {\n const quickEdit =\n !isCreateMode && column.hasOwnProperty('quickEditOnUpdate')\n ? column.quickEditOnUpdate\n : column.quickEdit;\n\n return quickEdit === false\n ? omit(column, ['quickEdit'])\n : {\n ...column,\n quickEdit: {\n ...this.columnToQuickEdit(column),\n ...quickEdit,\n saveImmediately: true,\n mode: 'inline'\n }\n };\n });\n\n props.editable &&\n btns.push({\n children: ({\n key,\n rowIndex,\n data,\n offset\n }: {\n key: any;\n rowIndex: number;\n data: any;\n offset: number;\n }) =>\n ~this.state.editIndex || (data && data.__isPlaceholder) ? null : (\n <Button\n classPrefix={ns}\n size=\"sm\"\n key={key}\n level=\"link\"\n tooltip={__('Table.editRow')}\n tooltipContainer={\n env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n }\n onClick={() => this.startEdit(rowIndex + offset)}\n >\n {props.updateBtnLabel || props.editBtnLabel ? (\n <span>{props.updateBtnLabel || props.editBtnLabel}</span>\n ) : null}\n {/* 兼容之前的写法 */}\n {typeof props.updateBtnIcon !== 'undefined' ? (\n props.updateBtnIcon ? (\n <Icon icon={props.updateBtnIcon} className=\"icon\" />\n ) : null\n ) : props.editBtnIcon ? (\n <Icon icon={props.editBtnIcon} className=\"icon\" />\n ) : null}\n </Button>\n )\n });\n\n btns.push({\n children: ({\n key,\n rowIndex,\n offset\n }: {\n key: any;\n rowIndex: number;\n offset: number;\n }) =>\n this.state.editIndex === rowIndex + offset ? (\n <Button\n classPrefix={ns}\n size=\"sm\"\n key={key}\n level=\"link\"\n tooltip={__('save')}\n tooltipContainer={\n env && env.getModalContainer ? env.getModalContainer : undefined\n }\n onClick={this.confirmEdit}\n >\n {props.confirmBtnLabel ? (\n <span>{props.confirmBtnLabel}</span>\n ) : null}\n {props.confirmBtnIcon ? (\n <Icon icon={props.confirmBtnIcon} className=\"icon\" />\n ) : null}\n </Button>\n ) : null\n });\n\n btns.push({\n children: ({\n key,\n rowIndex,\n offset\n }: {\n key: any;\n rowIndex: number;\n offset: number;\n }) =>\n this.state.editIndex === rowIndex + offset ? (\n <Button\n classPrefix={ns}\n size=\"sm\"\n key={key}\n level=\"link\"\n tooltip={__('cancel')}\n tooltipContainer={\n env && env.getModalContainer ? env.getModalContainer : undefined\n }\n onClick={this.cancelEdit}\n >\n {props.cancelBtnLabel ? (\n <span>{props.cancelBtnLabel}</span>\n ) : null}\n {props.cancelBtnIcon ? (\n <Icon icon={props.cancelBtnIcon} className=\"icon\" />\n ) : null}\n </Button>\n ) : null\n });\n }\n\n if (props.removable) {\n btns.push({\n children: ({\n key,\n rowIndex,\n data,\n offset\n }: {\n key: any;\n rowIndex: number;\n data: any;\n offset: number;\n }) =>\n (~this.state.editIndex || (data && data.__isPlaceholder)) &&\n needConfirm !== false ? null : (\n <Button\n classPrefix={ns}\n size=\"sm\"\n key={key}\n level=\"link\"\n tooltip={__('Table.deleteRow')}\n tooltipContainer={\n env && env.getModalContainer ? env.getModalContainer : undefined\n }\n onClick={this.removeItem.bind(this, rowIndex + offset)}\n >\n {props.deleteBtnLabel ? (\n <span>{props.deleteBtnLabel}</span>\n ) : null}\n {props.deleteBtnIcon ? (\n <Icon icon={props.deleteBtnIcon} className=\"icon\" />\n ) : null}\n </Button>\n )\n });\n }\n\n if (btns.length) {\n let operation = columns.find(item => item.type === 'operation');\n\n if (!operation) {\n operation = {\n type: 'operation',\n buttons: [],\n label: __('Table.operation'),\n className: 'v-middle nowrap',\n fixed: 'right',\n width: '1%',\n innerClassName: 'm-n'\n };\n columns.push(operation);\n }\n\n operation.buttons = Array.isArray(operation.buttons)\n ? operation.buttons.concat()\n : [];\n operation.buttons.unshift.apply(operation.buttons, btns);\n }\n\n if (showIndex) {\n columns.unshift({\n label: __('Table.index'),\n width: '1%',\n children: (props: any) => {\n return <td>{props.offset + props.data.index + 1}</td>;\n }\n });\n }\n\n return columns;\n }\n\n columnToQuickEdit(column: any) {\n const quickEdit: any = {\n type: 'input-text'\n };\n\n if (\n (column.type &&\n /^input\\-|(?:select|picker|checkbox|checkboxes|editor|transfer|radios)$/i.test(\n column.type\n )) ||\n ~['textarea', 'combo', 'condition-builder', 'group'].indexOf(column.type)\n ) {\n return {\n ...column,\n label: ''\n };\n }\n\n return quickEdit;\n }\n\n handleTableSave(\n rows: Array<object> | object,\n diff: Array<object> | object,\n rowIndexes: Array<string> | string\n ) {\n const {perPage} = this.props;\n\n if (~this.state.editIndex) {\n const items = this.state.items.concat();\n const origin = items[this.state.editIndex];\n\n if (!origin) {\n return;\n }\n\n const value: any = {\n ...rows\n };\n this.entries.set(value, this.entries.get(origin) || this.entityId++);\n this.entries.delete(origin);\n items.splice(this.state.editIndex, 1, value);\n\n this.setState({\n items\n });\n return;\n }\n\n const page = this.state.page;\n let items = this.state.items.concat();\n\n if (Array.isArray(rows)) {\n (rowIndexes as Array<string>).forEach((rowIndex, index) => {\n const indexes = rowIndex.split('.').map(item => parseInt(item, 10));\n\n if (page && page > 1 && typeof perPage === 'number') {\n indexes[0] += (page - 1) * perPage;\n }\n const origin = getTree(items, indexes);\n\n const data = {\n ...origin,\n ...(diff as Array<object>)[index]\n };\n\n items = spliceTree(items, indexes, 1, data);\n });\n } else {\n const indexes = (rowIndexes as string)\n .split('.')\n .map(item => parseInt(item, 10));\n\n if (page && page > 1 && typeof perPage === 'number') {\n indexes[0] += (page - 1) * perPage;\n }\n\n const origin = getTree(items, indexes);\n const data = {\n ...origin,\n ...diff\n };\n\n items = spliceTree(items, indexes, 1, data);\n this.entries.set(data, this.entries.get(origin) || this.entityId++);\n // this.entries.delete(origin); // 反正最后都会清理的,先不删了吧。\n }\n\n this.setState(\n {\n items\n },\n this.emitValue\n );\n }\n\n handleSaveTableOrder(moved: Array<object>, rows: Array<object>) {\n const {onChange} = this.props;\n\n onChange(rows.map((item: object) => ({...item})));\n }\n\n handlePageChange(page: number) {\n this.setState({page});\n }\n\n removeEntry(entry: any) {\n if (this.entries.has(entry)) {\n this.entries.delete(entry);\n }\n }\n\n getEntryId(entry: any) {\n if (!this.entries.has(entry)) {\n this.entries.set(entry, this.entityId++);\n }\n\n return String(this.entries.get(entry));\n }\n\n render() {\n const {\n className,\n value,\n showAddBtn,\n disabled,\n render,\n placeholder,\n draggable,\n addable,\n columnsTogglable,\n combineNum,\n combineFromIndex,\n translate: __,\n canAccessSuperData,\n expandConfig,\n affixRow,\n prefixRow,\n formInited,\n perPage,\n classnames: cx,\n rowClassName,\n rowClassNameExpr\n } = this.props;\n\n if (formInited === false) {\n return null;\n }\n\n let items = this.state.items;\n\n let showPager = false;\n const page = this.state.page || 1;\n let offset = 0;\n let lastPage = 1;\n if (typeof perPage === 'number' && perPage && items.length > perPage) {\n lastPage = Math.ceil(items.length / perPage);\n items = items.slice((page - 1) * perPage, page * perPage);\n showPager = true;\n offset = (page - 1) * perPage;\n }\n\n return (\n <div className={cx('InputTable', className)}>\n {render(\n 'body',\n {\n type: 'table',\n placeholder: __(placeholder),\n columns: this.state.columns,\n affixHeader: false,\n prefixRow,\n affixRow\n },\n {\n value: undefined,\n saveImmediately: true,\n disabled,\n draggable: draggable && !~this.state.editIndex,\n items: items,\n getEntryId: this.getEntryId,\n onSave: this.handleTableSave,\n onSaveOrder: this.handleSaveTableOrder,\n buildItemProps: this.buildItemProps,\n quickEditFormRef: this.subFormRef,\n columnsTogglable: columnsTogglable,\n combineNum: combineNum,\n combineFromIndex: combineFromIndex,\n expandConfig,\n canAccessSuperData,\n reUseRow: false,\n offset,\n rowClassName,\n rowClassNameExpr\n }\n )}\n {(addable && showAddBtn !== false) || showPager ? (\n <div className={cx('InputTable-toolbar')}>\n {addable && showAddBtn !== false ? (\n <Button\n disabled={disabled}\n size=\"sm\"\n onClick={() => this.addItem(this.state.items.length)}\n >\n <Icon icon=\"plus\" className=\"icon\" />\n <span>{__('Combo.add')}</span>\n </Button>\n ) : null}\n\n {showPager\n ? render(\n 'pager',\n {\n type: 'pagination'\n },\n {\n activePage: page,\n lastPage: lastPage,\n onPageChange: this.handlePageChange,\n className: 'InputTable-pager'\n }\n )\n : null}\n </div>\n ) : null}\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'input-table'\n})\nexport class TableControlRenderer extends FormTable {}\n"
12
12
  ]
13
13
  }
@@ -473,7 +473,7 @@ var PageRenderer = /** @class */ (function (_super) {
473
473
  };
474
474
  PageRenderer.prototype.handleAction = function (e, action, ctx, throwErrors, delegate) {
475
475
  if (throwErrors === void 0) { throwErrors = false; }
476
- var scoped = this.context;
476
+ var scoped = delegate || this.context;
477
477
  if (action.actionType === 'reload') {
478
478
  action.target && scoped.reload(action.target, ctx);
479
479
  }
@@ -489,8 +489,7 @@ var PageRenderer = /** @class */ (function (_super) {
489
489
  _super.prototype.handleAction.call(this, e, action, ctx, throwErrors, delegate);
490
490
  if (action.reload &&
491
491
  ~['url', 'link', 'jump'].indexOf(action.actionType)) {
492
- var scoped_1 = delegate || this.context;
493
- scoped_1.reload(action.reload, ctx);
492
+ scoped.reload(action.reload, ctx);
494
493
  }
495
494
  }
496
495
  };
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Page.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 {observer} from 'mobx-react';\nimport {ServiceStore, IServiceStore} from '../store/service';\nimport {\n Api,\n SchemaNode,\n Action,\n Location,\n ApiObject,\n FunctionPropertyNames\n} from '../types';\nimport {filter, evalExpression} from '../utils/tpl';\nimport {isVisible, autobind, bulkBindFunctions} from '../utils/helper';\nimport {ScopedContext, IScopedContext} from '../Scoped';\nimport Alert from '../components/Alert2';\nimport {isApiOutdated, isEffectiveApi} from '../utils/api';\nimport {Spinner} from '../components';\nimport {\n BaseSchema,\n SchemaCollection,\n SchemaClassName,\n SchemaDefaultData,\n SchemaApi,\n SchemaExpression,\n SchemaName,\n SchemaMessage\n} from '../Schema';\nimport {SchemaRemark} from './Remark';\nimport {onAction} from 'mobx-state-tree';\nimport mapValues from 'lodash/mapValues';\nimport {resolveVariable} from '../utils/tpl-builtin';\nimport {buildStyle} from '../utils/style';\n\n/**\n * 样式属性名及值\n */\ninterface Declaration {\n [property: string]: string;\n}\n\n/**\n * css 定义\n */\ninterface CSSRule {\n [selector: string]: Declaration; // 定义\n}\n\n/**\n * amis Page 渲染器。详情请见:https://baidu.gitee.io/amis/docs/components/page\n */\nexport interface PageSchema extends BaseSchema {\n /**\n * 指定为 page 渲染器。\n */\n type: 'page';\n\n /**\n * 页面标题\n */\n title?: string;\n\n /**\n * 页面副标题\n */\n subTitle?: string;\n\n /**\n * 页面描述, 标题旁边会出现个小图标,放上去会显示这个属性配置的内容。\n */\n remark?: SchemaRemark;\n\n /**\n * 内容区域\n */\n body?: SchemaCollection;\n\n /**\n * 内容区 css 类名\n */\n bodyClassName?: SchemaClassName;\n\n /**\n * 边栏区域\n */\n aside?: SchemaCollection;\n\n /**\n * 边栏是否允许拖动\n */\n asideResizor?: boolean;\n\n /**\n * 边栏最小宽度\n */\n asideMinWidth?: number;\n\n /**\n * 边栏最小宽度\n */\n asideMaxWidth?: number;\n\n /**\n * 边栏区 css 类名\n */\n asideClassName?: SchemaClassName;\n\n /**\n * 配置容器 className\n */\n className?: SchemaClassName;\n\n /**\n * 自定义页面级别样式表\n */\n css?: CSSRule;\n\n /**\n * 移动端下的样式表\n */\n mobileCSS?: CSSRule;\n\n /**\n * 页面级别的初始数据\n */\n data?: SchemaDefaultData;\n\n /**\n * 配置 header 容器 className\n */\n headerClassName?: SchemaClassName;\n\n /**\n * 页面初始化的时候,可以设置一个 API 让其取拉取,发送数据会携带当前 data 数据(包含地址栏参数),获取得数据会合并到 data 中,供组件内使用。\n */\n initApi?: SchemaApi;\n\n /**\n * 是否默认就拉取?\n */\n initFetch?: boolean;\n\n /**\n * 是否默认就拉取表达式\n */\n initFetchOn?: SchemaExpression;\n\n messages?: SchemaMessage;\n\n name?: SchemaName;\n\n /**\n * 页面顶部区域,当存在 title 时在右上角显示。\n */\n toolbar?: SchemaCollection;\n\n /**\n * 配置 toolbar 容器 className\n */\n toolbarClassName?: SchemaClassName;\n\n definitions?: any; // todo\n\n /**\n * 配置轮询间隔,配置后 initApi 将轮询加载。\n */\n interval?: number;\n\n /**\n * 是否要静默加载,也就是说不显示进度\n */\n silentPolling?: boolean;\n\n /**\n * 配置停止轮询的条件。\n */\n stopAutoRefreshWhen?: SchemaExpression;\n // primaryField?: string, // 指定主键的字段名,默认为 `id`\n\n /**\n * 是否显示错误信息,默认是显示的。\n */\n showErrorMsg?: boolean;\n\n /**\n * css 变量\n */\n cssVars?: any;\n\n /**\n * 默认不设置自动感觉内容来决定要不要展示这些区域\n * 如果配置了,以配置为主。\n */\n regions?: Array<'aside' | 'body' | 'toolbar' | 'header'>;\n\n /**\n * 自定义样式\n */\n style?: {\n [propName: string]: any;\n };\n}\n\nexport interface PageProps\n extends RendererProps,\n Omit<PageSchema, 'type' | 'className'> {\n data: any;\n store: IServiceStore;\n location?: Location;\n}\n\nexport default class Page extends React.Component<PageProps> {\n timer: ReturnType<typeof setTimeout>;\n mounted: boolean;\n style: HTMLStyleElement;\n varStyle: HTMLStyleElement;\n startX: number;\n startWidth: number;\n codeWrap: HTMLElement;\n\n static defaultProps = {\n asideClassName: '',\n bodyClassName: '',\n headerClassName: '',\n initFetch: true,\n // primaryField: 'id',\n toolbarClassName: '',\n messages: {}\n };\n\n static propsList: Array<keyof PageProps> = [\n 'title',\n 'subTitle',\n 'initApi',\n 'initFetchOn',\n 'initFetch',\n 'headerClassName',\n 'bodyClassName',\n 'asideClassName',\n 'toolbarClassName',\n 'toolbar',\n 'body',\n 'aside',\n 'messages',\n 'style',\n 'showErrorMsg'\n ];\n\n constructor(props: PageProps) {\n super(props);\n\n // autobind 会让继承里面的 super 指向有问题,所以先这样!\n bulkBindFunctions<Page /*为毛 this 的类型自动识别不出来?*/>(this, [\n 'handleAction',\n 'handleChange',\n 'handleQuery',\n 'handleDialogConfirm',\n 'handleDialogClose',\n 'handleDrawerConfirm',\n 'handleDrawerClose',\n 'handleClick',\n 'reload',\n 'silentReload',\n 'initInterval'\n ]);\n\n this.style = document.createElement('style');\n this.style.setAttribute('data-page', '');\n document.getElementsByTagName('head')[0].appendChild(this.style);\n this.updateStyle();\n\n this.varStyle = document.createElement('style');\n this.style.setAttribute('data-vars', '');\n document.getElementsByTagName('head')[0].appendChild(this.varStyle);\n this.updateVarStyle();\n }\n\n /**\n * 构建 css\n */\n updateStyle() {\n if (this.props.css || this.props.mobileCSS) {\n this.style.innerHTML = `\n ${this.buildCSS(this.props.css)}\n\n @media (max-width: 768px) {\n ${this.buildCSS(this.props.mobileCSS)}\n }\n `;\n } else {\n this.style.innerHTML = '';\n }\n }\n\n buildCSS(cssRules?: CSSRule) {\n if (!cssRules) {\n return '';\n }\n let css = '';\n\n for (const selector in cssRules) {\n const declaration = cssRules[selector];\n let declarationStr = '';\n for (const property in declaration) {\n declarationStr += ` ${property}: ${declaration[property]};\\n`;\n }\n\n css += `\n ${selector} {\n ${declarationStr}\n }\n `;\n }\n return css;\n }\n\n /**\n * 构建用于 css 变量的内联样式\n */\n updateVarStyle() {\n const cssVars = this.props.cssVars;\n let cssVarsContent = '';\n if (cssVars) {\n for (const key in cssVars) {\n if (key.startsWith('--')) {\n if (key.indexOf(':') !== -1) {\n continue;\n }\n const value = cssVars[key];\n // 这是为了防止 xss,可能还有别的\n if (\n typeof value === 'string' &&\n (value.indexOf('expression(') !== -1 || value.indexOf(';') !== -1)\n ) {\n continue;\n }\n cssVarsContent += `${key}: ${value}; \\n`;\n }\n }\n this.varStyle.innerHTML = `\n :root {\n ${cssVarsContent}\n }\n `;\n }\n }\n\n componentDidMount() {\n const {initApi, initFetch, initFetchOn, store, messages} = this.props;\n\n this.mounted = true;\n\n if (isEffectiveApi(initApi, store.data, initFetch, initFetchOn)) {\n store\n .fetchInitData(initApi, store.data, {\n successMessage: messages && messages.fetchSuccess,\n errorMessage: messages && messages.fetchFailed\n })\n .then(this.initInterval);\n }\n }\n\n componentDidUpdate(prevProps: PageProps) {\n const props = this.props;\n const store = props.store;\n const initApi = props.initApi;\n\n if (\n // 前一次不构成条件,这次更新构成了条件,则需要重新拉取\n (props.initFetchOn && props.initFetch && !prevProps.initFetch) ||\n // 构成了条件,同时 url 里面有变量,且上次和这次还不一样,则需要重新拉取。\n (props.initFetch !== false &&\n isApiOutdated(prevProps.initApi, initApi, prevProps.data, props.data))\n ) {\n const messages = props.messages;\n isEffectiveApi(initApi, store.data) &&\n store\n .fetchData(initApi as Api, store.data, {\n successMessage: messages && messages.fetchSuccess,\n errorMessage: messages && messages.fetchFailed\n })\n .then(this.initInterval);\n } else if (\n JSON.stringify(props.css) !== JSON.stringify(prevProps.css) ||\n JSON.stringify(props.mobileCSS) !== JSON.stringify(prevProps.mobileCSS)\n ) {\n this.updateStyle();\n } else if (\n JSON.stringify(props.cssVars) !== JSON.stringify(prevProps.cssVars)\n ) {\n this.updateVarStyle();\n } else if (props.defaultData !== prevProps.defaultData) {\n store.reInitData(props.defaultData);\n }\n }\n\n componentWillUnmount() {\n this.mounted = false;\n clearTimeout(this.timer);\n if (this.style) {\n this.style.parentNode?.removeChild(this.style);\n }\n if (this.varStyle) {\n this.varStyle.parentNode?.removeChild(this.varStyle);\n }\n }\n\n reloadTarget(target: string, data?: any) {\n // 会被覆写\n }\n\n handleAction(\n e: React.UIEvent<any> | void,\n action: Action,\n ctx: object,\n throwErrors: boolean = false,\n delegate?: IScopedContext\n ): any {\n const {env, store, messages, onAction} = this.props;\n\n if (action.actionType === 'dialog') {\n store.setCurrentAction(action);\n store.openDialog(ctx);\n } else if (action.actionType === 'drawer') {\n store.setCurrentAction(action);\n store.openDrawer(ctx);\n } else if (action.actionType === 'ajax') {\n store.setCurrentAction(action);\n return store\n .saveRemote(action.api as string, ctx, {\n successMessage:\n (action.messages && action.messages.success) ||\n (messages && messages.saveSuccess),\n errorMessage:\n (action.messages && action.messages.failed) ||\n (messages && messages.saveSuccess)\n })\n .then(async () => {\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(() => {});\n } else {\n return onAction(e, action, ctx, throwErrors, delegate || this.context);\n }\n }\n\n handleQuery(query: any) {\n this.receive(query);\n }\n\n handleDialogConfirm(values: object[], action: Action, ...args: Array<any>) {\n const {store} = this.props;\n\n if (action.mergeData && values.length === 1 && values[0]) {\n store.updateData(values[0]);\n }\n\n const dialog = store.action.dialog as any;\n if (\n dialog &&\n dialog.onConfirm &&\n dialog.onConfirm(values, action, ...args) === false\n ) {\n return;\n }\n\n store.closeDialog(true);\n }\n\n handleDialogClose(confirmed = false) {\n const {store} = this.props;\n store.closeDialog(confirmed);\n }\n\n handleDrawerConfirm(values: object[], action: Action, ...args: Array<any>) {\n const {store} = this.props;\n\n if (action.mergeData && values.length === 1 && values[0]) {\n store.updateData(values[0]);\n }\n\n const dialog = store.action.dialog as any;\n if (\n dialog &&\n dialog.onConfirm &&\n dialog.onConfirm(values, action, ...args) === false\n ) {\n return;\n }\n\n store.closeDrawer();\n }\n\n handleDrawerClose() {\n const {store} = this.props;\n store.closeDrawer();\n }\n\n handleClick(e: any) {\n const target: HTMLElement = e.target as HTMLElement;\n const {env} = this.props;\n const link =\n target.tagName === 'A' && target.hasAttribute('data-link')\n ? target.getAttribute('data-link')\n : target.closest('a[data-link]')?.getAttribute('data-link');\n\n if (env && link) {\n env.jumpTo(link);\n e.preventDefault();\n }\n }\n\n @autobind\n handleResizeMouseDown(e: React.MouseEvent) {\n // todo 可能 ie 不正确\n let isRightMB = e.nativeEvent.which == 3;\n\n if (isRightMB) {\n return;\n }\n\n this.codeWrap = e.currentTarget.parentElement as HTMLElement;\n document.addEventListener('mousemove', this.handleResizeMouseMove);\n document.addEventListener('mouseup', this.handleResizeMouseUp);\n this.startX = e.clientX;\n this.startWidth = this.codeWrap.offsetWidth;\n }\n\n @autobind\n handleResizeMouseMove(e: MouseEvent) {\n const {asideMinWidth = 160, asideMaxWidth = 350} = this.props;\n const dx = e.clientX - this.startX;\n const mx = this.startWidth + dx;\n const width = Math.min(Math.max(mx, asideMinWidth), asideMaxWidth);\n this.codeWrap.style.cssText += `width: ${width}px`;\n }\n\n @autobind\n handleResizeMouseUp() {\n document.removeEventListener('mousemove', this.handleResizeMouseMove);\n document.removeEventListener('mouseup', this.handleResizeMouseUp);\n }\n\n openFeedback(dialog: any, ctx: any) {\n return new Promise(resolve => {\n const {store} = this.props;\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 reload(subpath?: any, query?: any, ctx?: any, silent?: boolean) {\n if (query) {\n return this.receive(query);\n }\n\n const {store, initApi} = this.props;\n\n clearTimeout(this.timer);\n isEffectiveApi(initApi, store.data) &&\n store\n .fetchData(initApi, store.data, {\n silent\n })\n .then(this.initInterval);\n }\n\n receive(values: object) {\n const {store} = this.props;\n\n store.updateData(values);\n this.reload();\n }\n\n silentReload(target?: string, query?: any) {\n this.reload(query, undefined, undefined, true);\n }\n\n initInterval(value: any) {\n const {interval, silentPolling, stopAutoRefreshWhen, data} = this.props;\n\n interval &&\n this.mounted &&\n (!stopAutoRefreshWhen || !evalExpression(stopAutoRefreshWhen, data)) &&\n (this.timer = setTimeout(\n silentPolling ? this.silentReload : this.reload,\n Math.max(interval, 1000)\n ));\n return value;\n }\n\n handleChange(\n value: any,\n name: string,\n submit?: boolean,\n changePristine?: boolean\n ) {\n const {store, onChange} = this.props;\n\n if (typeof name === 'string' && name) {\n store.changeValue(name, value, changePristine);\n }\n\n onChange?.apply(null, arguments);\n }\n\n renderHeader() {\n const {\n title,\n subTitle,\n remark,\n remarkPlacement,\n headerClassName,\n toolbarClassName,\n toolbar,\n render,\n store,\n initApi,\n env,\n classnames: cx,\n regions,\n translate: __\n } = this.props;\n\n const subProps = {\n onAction: this.handleAction,\n onQuery: initApi ? this.handleQuery : undefined\n };\n let header, right;\n\n if (\n Array.isArray(regions) ? ~regions.indexOf('header') : title || subTitle\n ) {\n header = (\n <div className={cx(`Page-header`, headerClassName)}>\n {title ? (\n <h2 className={cx('Page-title')}>\n {render('title', title, subProps)}\n {remark\n ? render('remark', {\n type: 'remark',\n tooltip: remark,\n placement: remarkPlacement || 'bottom',\n container:\n env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </h2>\n ) : null}\n {subTitle && (\n <small className={cx('Page-subTitle')}>\n {render('subTitle', subTitle, subProps)}\n </small>\n )}\n </div>\n );\n }\n\n if (Array.isArray(regions) ? ~regions.indexOf('toolbar') : toolbar) {\n right = (\n <div className={cx(`Page-toolbar`, toolbarClassName)}>\n {render('toolbar', toolbar || '', subProps)}\n </div>\n );\n }\n\n if (header && right) {\n return (\n <div className={cx('Page-headerRow')}>\n {header}\n {right}\n </div>\n );\n }\n\n return header || right;\n }\n\n render() {\n const {\n className,\n store,\n body,\n bodyClassName,\n render,\n aside,\n asideClassName,\n classnames: cx,\n header,\n showErrorMsg,\n initApi,\n regions,\n style,\n data,\n asideResizor,\n translate: __\n } = this.props;\n\n const subProps = {\n onAction: this.handleAction,\n onQuery: initApi ? this.handleQuery : undefined,\n onChange: this.handleChange,\n pageLoading: store.loading\n };\n\n const hasAside = Array.isArray(regions)\n ? ~regions.indexOf('aside')\n : aside && (!Array.isArray(aside) || aside.length);\n\n const styleVar = buildStyle(style, data);\n\n return (\n <div\n className={cx(`Page`, hasAside ? `Page--withSidebar` : '', className)}\n onClick={this.handleClick}\n style={styleVar}\n >\n {hasAside ? (\n <div\n className={cx(\n `Page-aside`,\n asideResizor ? 'relative' : 'Page-aside--withWidth',\n asideClassName\n )}\n >\n {render('aside', aside || '', {\n ...subProps,\n ...(typeof aside === 'string'\n ? {\n inline: false,\n className: `Page-asideTplWrapper`\n }\n : null)\n })}\n {asideResizor ? (\n <div\n onMouseDown={this.handleResizeMouseDown}\n className={cx(`Page-asideResizor`)}\n ></div>\n ) : null}\n </div>\n ) : null}\n\n <div className={cx('Page-content')}>\n <div className={cx('Page-main')}>\n {this.renderHeader()}\n <div className={cx(`Page-body`, bodyClassName)}>\n <Spinner size=\"lg\" overlay key=\"info\" show={store.loading} />\n\n {store.error && showErrorMsg !== false ? (\n <Alert\n level=\"danger\"\n showCloseButton\n onClose={store.clearMessage}\n >\n {store.msg}\n </Alert>\n ) : null}\n\n {(Array.isArray(regions) ? ~regions.indexOf('body') : body)\n ? render('body', body || '', subProps)\n : null}\n </div>\n </div>\n </div>\n\n {render(\n 'dialog',\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 onAction: this.handleAction,\n onQuery: initApi ? this.handleQuery : undefined\n }\n )}\n\n {render(\n 'drawer',\n {\n ...((store.action as Action) &&\n ((store.action as Action).drawer as object)),\n type: 'drawer'\n },\n {\n key: 'drawer',\n data: store.drawerData,\n onConfirm: this.handleDrawerConfirm,\n onClose: this.handleDrawerClose,\n show: store.drawerOpen,\n onAction: this.handleAction,\n onQuery: initApi ? this.handleQuery : undefined\n }\n )}\n </div>\n );\n }\n}\n\n@Renderer({\n type: 'page',\n storeType: ServiceStore.name,\n isolateScope: true\n})\nexport class PageRenderer extends Page {\n static contextType = ScopedContext;\n\n constructor(props: PageProps, context: IScopedContext) {\n super(props);\n\n const scoped = context;\n scoped.registerComponent(this);\n }\n\n componentWillUnmount() {\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this);\n super.componentWillUnmount();\n }\n\n reloadTarget(target: string, data?: any) {\n const scoped = this.context as IScopedContext;\n scoped.reload(target, data);\n }\n\n handleAction(\n e: React.UIEvent<any>,\n action: Action,\n ctx: object,\n throwErrors: boolean = false,\n delegate?: IScopedContext\n ) {\n const scoped = this.context as IScopedContext;\n\n if (action.actionType === 'reload') {\n action.target && scoped.reload(action.target, ctx);\n } else if (action.target) {\n action.target.split(',').forEach(name => {\n let target = scoped.getComponentByName(name);\n target &&\n target.doAction &&\n target.doAction(\n {\n ...action,\n target: undefined\n },\n ctx\n );\n });\n } else {\n super.handleAction(e, action, ctx, throwErrors, delegate);\n\n if (\n action.reload &&\n ~['url', 'link', 'jump'].indexOf(action.actionType!)\n ) {\n const scoped = delegate || (this.context as IScopedContext);\n scoped.reload(action.reload, ctx);\n }\n }\n }\n\n handleDialogConfirm(values: object[], action: Action, ...rest: Array<any>) {\n super.handleDialogConfirm(values, action, ...rest);\n const scoped = this.context;\n const store = this.props.store;\n const dialogAction = store.action as Action;\n const reload = action.reload ?? dialogAction.reload;\n\n if (reload) {\n scoped.reload(reload, store.data);\n } else {\n // 没有设置,则自动让页面中 crud 刷新。\n scoped\n .getComponents()\n .filter((item: any) => item.props.type === 'crud')\n .forEach((item: any) => item.reload && item.reload());\n }\n }\n\n handleDrawerConfirm(values: object[], action: Action, ...rest: Array<any>) {\n super.handleDrawerConfirm(values, action);\n const scoped = this.context as IScopedContext;\n const store = this.props.store;\n const drawerAction = store.action as Action;\n const reload = action.reload ?? drawerAction.reload;\n\n // 稍等会,等动画结束。\n setTimeout(() => {\n if (reload) {\n scoped.reload(reload, store.data);\n } else {\n // 没有设置,则自动让页面中 crud 刷新。\n scoped\n .getComponents()\n .filter((item: any) => item.props.type === 'crud')\n .forEach((item: any) => item.reload && item.reload());\n }\n }, 300);\n }\n}\n"
11
+ "import React from 'react';\nimport PropTypes from 'prop-types';\nimport {Renderer, RendererProps} from '../factory';\nimport {observer} from 'mobx-react';\nimport {ServiceStore, IServiceStore} from '../store/service';\nimport {\n Api,\n SchemaNode,\n Action,\n Location,\n ApiObject,\n FunctionPropertyNames\n} from '../types';\nimport {filter, evalExpression} from '../utils/tpl';\nimport {isVisible, autobind, bulkBindFunctions} from '../utils/helper';\nimport {ScopedContext, IScopedContext} from '../Scoped';\nimport Alert from '../components/Alert2';\nimport {isApiOutdated, isEffectiveApi} from '../utils/api';\nimport {Spinner} from '../components';\nimport {\n BaseSchema,\n SchemaCollection,\n SchemaClassName,\n SchemaDefaultData,\n SchemaApi,\n SchemaExpression,\n SchemaName,\n SchemaMessage\n} from '../Schema';\nimport {SchemaRemark} from './Remark';\nimport {onAction} from 'mobx-state-tree';\nimport mapValues from 'lodash/mapValues';\nimport {resolveVariable} from '../utils/tpl-builtin';\nimport {buildStyle} from '../utils/style';\n\n/**\n * 样式属性名及值\n */\ninterface Declaration {\n [property: string]: string;\n}\n\n/**\n * css 定义\n */\ninterface CSSRule {\n [selector: string]: Declaration; // 定义\n}\n\n/**\n * amis Page 渲染器。详情请见:https://baidu.gitee.io/amis/docs/components/page\n */\nexport interface PageSchema extends BaseSchema {\n /**\n * 指定为 page 渲染器。\n */\n type: 'page';\n\n /**\n * 页面标题\n */\n title?: string;\n\n /**\n * 页面副标题\n */\n subTitle?: string;\n\n /**\n * 页面描述, 标题旁边会出现个小图标,放上去会显示这个属性配置的内容。\n */\n remark?: SchemaRemark;\n\n /**\n * 内容区域\n */\n body?: SchemaCollection;\n\n /**\n * 内容区 css 类名\n */\n bodyClassName?: SchemaClassName;\n\n /**\n * 边栏区域\n */\n aside?: SchemaCollection;\n\n /**\n * 边栏是否允许拖动\n */\n asideResizor?: boolean;\n\n /**\n * 边栏最小宽度\n */\n asideMinWidth?: number;\n\n /**\n * 边栏最小宽度\n */\n asideMaxWidth?: number;\n\n /**\n * 边栏区 css 类名\n */\n asideClassName?: SchemaClassName;\n\n /**\n * 配置容器 className\n */\n className?: SchemaClassName;\n\n /**\n * 自定义页面级别样式表\n */\n css?: CSSRule;\n\n /**\n * 移动端下的样式表\n */\n mobileCSS?: CSSRule;\n\n /**\n * 页面级别的初始数据\n */\n data?: SchemaDefaultData;\n\n /**\n * 配置 header 容器 className\n */\n headerClassName?: SchemaClassName;\n\n /**\n * 页面初始化的时候,可以设置一个 API 让其取拉取,发送数据会携带当前 data 数据(包含地址栏参数),获取得数据会合并到 data 中,供组件内使用。\n */\n initApi?: SchemaApi;\n\n /**\n * 是否默认就拉取?\n */\n initFetch?: boolean;\n\n /**\n * 是否默认就拉取表达式\n */\n initFetchOn?: SchemaExpression;\n\n messages?: SchemaMessage;\n\n name?: SchemaName;\n\n /**\n * 页面顶部区域,当存在 title 时在右上角显示。\n */\n toolbar?: SchemaCollection;\n\n /**\n * 配置 toolbar 容器 className\n */\n toolbarClassName?: SchemaClassName;\n\n definitions?: any; // todo\n\n /**\n * 配置轮询间隔,配置后 initApi 将轮询加载。\n */\n interval?: number;\n\n /**\n * 是否要静默加载,也就是说不显示进度\n */\n silentPolling?: boolean;\n\n /**\n * 配置停止轮询的条件。\n */\n stopAutoRefreshWhen?: SchemaExpression;\n // primaryField?: string, // 指定主键的字段名,默认为 `id`\n\n /**\n * 是否显示错误信息,默认是显示的。\n */\n showErrorMsg?: boolean;\n\n /**\n * css 变量\n */\n cssVars?: any;\n\n /**\n * 默认不设置自动感觉内容来决定要不要展示这些区域\n * 如果配置了,以配置为主。\n */\n regions?: Array<'aside' | 'body' | 'toolbar' | 'header'>;\n\n /**\n * 自定义样式\n */\n style?: {\n [propName: string]: any;\n };\n}\n\nexport interface PageProps\n extends RendererProps,\n Omit<PageSchema, 'type' | 'className'> {\n data: any;\n store: IServiceStore;\n location?: Location;\n}\n\nexport default class Page extends React.Component<PageProps> {\n timer: ReturnType<typeof setTimeout>;\n mounted: boolean;\n style: HTMLStyleElement;\n varStyle: HTMLStyleElement;\n startX: number;\n startWidth: number;\n codeWrap: HTMLElement;\n\n static defaultProps = {\n asideClassName: '',\n bodyClassName: '',\n headerClassName: '',\n initFetch: true,\n // primaryField: 'id',\n toolbarClassName: '',\n messages: {}\n };\n\n static propsList: Array<keyof PageProps> = [\n 'title',\n 'subTitle',\n 'initApi',\n 'initFetchOn',\n 'initFetch',\n 'headerClassName',\n 'bodyClassName',\n 'asideClassName',\n 'toolbarClassName',\n 'toolbar',\n 'body',\n 'aside',\n 'messages',\n 'style',\n 'showErrorMsg'\n ];\n\n constructor(props: PageProps) {\n super(props);\n\n // autobind 会让继承里面的 super 指向有问题,所以先这样!\n bulkBindFunctions<Page /*为毛 this 的类型自动识别不出来?*/>(this, [\n 'handleAction',\n 'handleChange',\n 'handleQuery',\n 'handleDialogConfirm',\n 'handleDialogClose',\n 'handleDrawerConfirm',\n 'handleDrawerClose',\n 'handleClick',\n 'reload',\n 'silentReload',\n 'initInterval'\n ]);\n\n this.style = document.createElement('style');\n this.style.setAttribute('data-page', '');\n document.getElementsByTagName('head')[0].appendChild(this.style);\n this.updateStyle();\n\n this.varStyle = document.createElement('style');\n this.style.setAttribute('data-vars', '');\n document.getElementsByTagName('head')[0].appendChild(this.varStyle);\n this.updateVarStyle();\n }\n\n /**\n * 构建 css\n */\n updateStyle() {\n if (this.props.css || this.props.mobileCSS) {\n this.style.innerHTML = `\n ${this.buildCSS(this.props.css)}\n\n @media (max-width: 768px) {\n ${this.buildCSS(this.props.mobileCSS)}\n }\n `;\n } else {\n this.style.innerHTML = '';\n }\n }\n\n buildCSS(cssRules?: CSSRule) {\n if (!cssRules) {\n return '';\n }\n let css = '';\n\n for (const selector in cssRules) {\n const declaration = cssRules[selector];\n let declarationStr = '';\n for (const property in declaration) {\n declarationStr += ` ${property}: ${declaration[property]};\\n`;\n }\n\n css += `\n ${selector} {\n ${declarationStr}\n }\n `;\n }\n return css;\n }\n\n /**\n * 构建用于 css 变量的内联样式\n */\n updateVarStyle() {\n const cssVars = this.props.cssVars;\n let cssVarsContent = '';\n if (cssVars) {\n for (const key in cssVars) {\n if (key.startsWith('--')) {\n if (key.indexOf(':') !== -1) {\n continue;\n }\n const value = cssVars[key];\n // 这是为了防止 xss,可能还有别的\n if (\n typeof value === 'string' &&\n (value.indexOf('expression(') !== -1 || value.indexOf(';') !== -1)\n ) {\n continue;\n }\n cssVarsContent += `${key}: ${value}; \\n`;\n }\n }\n this.varStyle.innerHTML = `\n :root {\n ${cssVarsContent}\n }\n `;\n }\n }\n\n componentDidMount() {\n const {initApi, initFetch, initFetchOn, store, messages} = this.props;\n\n this.mounted = true;\n\n if (isEffectiveApi(initApi, store.data, initFetch, initFetchOn)) {\n store\n .fetchInitData(initApi, store.data, {\n successMessage: messages && messages.fetchSuccess,\n errorMessage: messages && messages.fetchFailed\n })\n .then(this.initInterval);\n }\n }\n\n componentDidUpdate(prevProps: PageProps) {\n const props = this.props;\n const store = props.store;\n const initApi = props.initApi;\n\n if (\n // 前一次不构成条件,这次更新构成了条件,则需要重新拉取\n (props.initFetchOn && props.initFetch && !prevProps.initFetch) ||\n // 构成了条件,同时 url 里面有变量,且上次和这次还不一样,则需要重新拉取。\n (props.initFetch !== false &&\n isApiOutdated(prevProps.initApi, initApi, prevProps.data, props.data))\n ) {\n const messages = props.messages;\n isEffectiveApi(initApi, store.data) &&\n store\n .fetchData(initApi as Api, store.data, {\n successMessage: messages && messages.fetchSuccess,\n errorMessage: messages && messages.fetchFailed\n })\n .then(this.initInterval);\n } else if (\n JSON.stringify(props.css) !== JSON.stringify(prevProps.css) ||\n JSON.stringify(props.mobileCSS) !== JSON.stringify(prevProps.mobileCSS)\n ) {\n this.updateStyle();\n } else if (\n JSON.stringify(props.cssVars) !== JSON.stringify(prevProps.cssVars)\n ) {\n this.updateVarStyle();\n } else if (props.defaultData !== prevProps.defaultData) {\n store.reInitData(props.defaultData);\n }\n }\n\n componentWillUnmount() {\n this.mounted = false;\n clearTimeout(this.timer);\n if (this.style) {\n this.style.parentNode?.removeChild(this.style);\n }\n if (this.varStyle) {\n this.varStyle.parentNode?.removeChild(this.varStyle);\n }\n }\n\n reloadTarget(target: string, data?: any) {\n // 会被覆写\n }\n\n handleAction(\n e: React.UIEvent<any> | void,\n action: Action,\n ctx: object,\n throwErrors: boolean = false,\n delegate?: IScopedContext\n ): any {\n const {env, store, messages, onAction} = this.props;\n\n if (action.actionType === 'dialog') {\n store.setCurrentAction(action);\n store.openDialog(ctx);\n } else if (action.actionType === 'drawer') {\n store.setCurrentAction(action);\n store.openDrawer(ctx);\n } else if (action.actionType === 'ajax') {\n store.setCurrentAction(action);\n return store\n .saveRemote(action.api as string, ctx, {\n successMessage:\n (action.messages && action.messages.success) ||\n (messages && messages.saveSuccess),\n errorMessage:\n (action.messages && action.messages.failed) ||\n (messages && messages.saveSuccess)\n })\n .then(async () => {\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(() => {});\n } else {\n return onAction(e, action, ctx, throwErrors, delegate || this.context);\n }\n }\n\n handleQuery(query: any) {\n this.receive(query);\n }\n\n handleDialogConfirm(values: object[], action: Action, ...args: Array<any>) {\n const {store} = this.props;\n\n if (action.mergeData && values.length === 1 && values[0]) {\n store.updateData(values[0]);\n }\n\n const dialog = store.action.dialog as any;\n if (\n dialog &&\n dialog.onConfirm &&\n dialog.onConfirm(values, action, ...args) === false\n ) {\n return;\n }\n\n store.closeDialog(true);\n }\n\n handleDialogClose(confirmed = false) {\n const {store} = this.props;\n store.closeDialog(confirmed);\n }\n\n handleDrawerConfirm(values: object[], action: Action, ...args: Array<any>) {\n const {store} = this.props;\n\n if (action.mergeData && values.length === 1 && values[0]) {\n store.updateData(values[0]);\n }\n\n const dialog = store.action.dialog as any;\n if (\n dialog &&\n dialog.onConfirm &&\n dialog.onConfirm(values, action, ...args) === false\n ) {\n return;\n }\n\n store.closeDrawer();\n }\n\n handleDrawerClose() {\n const {store} = this.props;\n store.closeDrawer();\n }\n\n handleClick(e: any) {\n const target: HTMLElement = e.target as HTMLElement;\n const {env} = this.props;\n const link =\n target.tagName === 'A' && target.hasAttribute('data-link')\n ? target.getAttribute('data-link')\n : target.closest('a[data-link]')?.getAttribute('data-link');\n\n if (env && link) {\n env.jumpTo(link);\n e.preventDefault();\n }\n }\n\n @autobind\n handleResizeMouseDown(e: React.MouseEvent) {\n // todo 可能 ie 不正确\n let isRightMB = e.nativeEvent.which == 3;\n\n if (isRightMB) {\n return;\n }\n\n this.codeWrap = e.currentTarget.parentElement as HTMLElement;\n document.addEventListener('mousemove', this.handleResizeMouseMove);\n document.addEventListener('mouseup', this.handleResizeMouseUp);\n this.startX = e.clientX;\n this.startWidth = this.codeWrap.offsetWidth;\n }\n\n @autobind\n handleResizeMouseMove(e: MouseEvent) {\n const {asideMinWidth = 160, asideMaxWidth = 350} = this.props;\n const dx = e.clientX - this.startX;\n const mx = this.startWidth + dx;\n const width = Math.min(Math.max(mx, asideMinWidth), asideMaxWidth);\n this.codeWrap.style.cssText += `width: ${width}px`;\n }\n\n @autobind\n handleResizeMouseUp() {\n document.removeEventListener('mousemove', this.handleResizeMouseMove);\n document.removeEventListener('mouseup', this.handleResizeMouseUp);\n }\n\n openFeedback(dialog: any, ctx: any) {\n return new Promise(resolve => {\n const {store} = this.props;\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 reload(subpath?: any, query?: any, ctx?: any, silent?: boolean) {\n if (query) {\n return this.receive(query);\n }\n\n const {store, initApi} = this.props;\n\n clearTimeout(this.timer);\n isEffectiveApi(initApi, store.data) &&\n store\n .fetchData(initApi, store.data, {\n silent\n })\n .then(this.initInterval);\n }\n\n receive(values: object) {\n const {store} = this.props;\n\n store.updateData(values);\n this.reload();\n }\n\n silentReload(target?: string, query?: any) {\n this.reload(query, undefined, undefined, true);\n }\n\n initInterval(value: any) {\n const {interval, silentPolling, stopAutoRefreshWhen, data} = this.props;\n\n interval &&\n this.mounted &&\n (!stopAutoRefreshWhen || !evalExpression(stopAutoRefreshWhen, data)) &&\n (this.timer = setTimeout(\n silentPolling ? this.silentReload : this.reload,\n Math.max(interval, 1000)\n ));\n return value;\n }\n\n handleChange(\n value: any,\n name: string,\n submit?: boolean,\n changePristine?: boolean\n ) {\n const {store, onChange} = this.props;\n\n if (typeof name === 'string' && name) {\n store.changeValue(name, value, changePristine);\n }\n\n onChange?.apply(null, arguments);\n }\n\n renderHeader() {\n const {\n title,\n subTitle,\n remark,\n remarkPlacement,\n headerClassName,\n toolbarClassName,\n toolbar,\n render,\n store,\n initApi,\n env,\n classnames: cx,\n regions,\n translate: __\n } = this.props;\n\n const subProps = {\n onAction: this.handleAction,\n onQuery: initApi ? this.handleQuery : undefined\n };\n let header, right;\n\n if (\n Array.isArray(regions) ? ~regions.indexOf('header') : title || subTitle\n ) {\n header = (\n <div className={cx(`Page-header`, headerClassName)}>\n {title ? (\n <h2 className={cx('Page-title')}>\n {render('title', title, subProps)}\n {remark\n ? render('remark', {\n type: 'remark',\n tooltip: remark,\n placement: remarkPlacement || 'bottom',\n container:\n env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </h2>\n ) : null}\n {subTitle && (\n <small className={cx('Page-subTitle')}>\n {render('subTitle', subTitle, subProps)}\n </small>\n )}\n </div>\n );\n }\n\n if (Array.isArray(regions) ? ~regions.indexOf('toolbar') : toolbar) {\n right = (\n <div className={cx(`Page-toolbar`, toolbarClassName)}>\n {render('toolbar', toolbar || '', subProps)}\n </div>\n );\n }\n\n if (header && right) {\n return (\n <div className={cx('Page-headerRow')}>\n {header}\n {right}\n </div>\n );\n }\n\n return header || right;\n }\n\n render() {\n const {\n className,\n store,\n body,\n bodyClassName,\n render,\n aside,\n asideClassName,\n classnames: cx,\n header,\n showErrorMsg,\n initApi,\n regions,\n style,\n data,\n asideResizor,\n translate: __\n } = this.props;\n\n const subProps = {\n onAction: this.handleAction,\n onQuery: initApi ? this.handleQuery : undefined,\n onChange: this.handleChange,\n pageLoading: store.loading\n };\n\n const hasAside = Array.isArray(regions)\n ? ~regions.indexOf('aside')\n : aside && (!Array.isArray(aside) || aside.length);\n\n const styleVar = buildStyle(style, data);\n\n return (\n <div\n className={cx(`Page`, hasAside ? `Page--withSidebar` : '', className)}\n onClick={this.handleClick}\n style={styleVar}\n >\n {hasAside ? (\n <div\n className={cx(\n `Page-aside`,\n asideResizor ? 'relative' : 'Page-aside--withWidth',\n asideClassName\n )}\n >\n {render('aside', aside || '', {\n ...subProps,\n ...(typeof aside === 'string'\n ? {\n inline: false,\n className: `Page-asideTplWrapper`\n }\n : null)\n })}\n {asideResizor ? (\n <div\n onMouseDown={this.handleResizeMouseDown}\n className={cx(`Page-asideResizor`)}\n ></div>\n ) : null}\n </div>\n ) : null}\n\n <div className={cx('Page-content')}>\n <div className={cx('Page-main')}>\n {this.renderHeader()}\n <div className={cx(`Page-body`, bodyClassName)}>\n <Spinner size=\"lg\" overlay key=\"info\" show={store.loading} />\n\n {store.error && showErrorMsg !== false ? (\n <Alert\n level=\"danger\"\n showCloseButton\n onClose={store.clearMessage}\n >\n {store.msg}\n </Alert>\n ) : null}\n\n {(Array.isArray(regions) ? ~regions.indexOf('body') : body)\n ? render('body', body || '', subProps)\n : null}\n </div>\n </div>\n </div>\n\n {render(\n 'dialog',\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 onAction: this.handleAction,\n onQuery: initApi ? this.handleQuery : undefined\n }\n )}\n\n {render(\n 'drawer',\n {\n ...((store.action as Action) &&\n ((store.action as Action).drawer as object)),\n type: 'drawer'\n },\n {\n key: 'drawer',\n data: store.drawerData,\n onConfirm: this.handleDrawerConfirm,\n onClose: this.handleDrawerClose,\n show: store.drawerOpen,\n onAction: this.handleAction,\n onQuery: initApi ? this.handleQuery : undefined\n }\n )}\n </div>\n );\n }\n}\n\n@Renderer({\n type: 'page',\n storeType: ServiceStore.name,\n isolateScope: true\n})\nexport class PageRenderer extends Page {\n static contextType = ScopedContext;\n\n constructor(props: PageProps, context: IScopedContext) {\n super(props);\n\n const scoped = context;\n scoped.registerComponent(this);\n }\n\n componentWillUnmount() {\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this);\n super.componentWillUnmount();\n }\n\n reloadTarget(target: string, data?: any) {\n const scoped = this.context as IScopedContext;\n scoped.reload(target, data);\n }\n\n handleAction(\n e: React.UIEvent<any>,\n action: Action,\n ctx: object,\n throwErrors: boolean = false,\n delegate?: IScopedContext\n ) {\n const scoped = delegate || (this.context as IScopedContext);\n\n if (action.actionType === 'reload') {\n action.target && scoped.reload(action.target, ctx);\n } else if (action.target) {\n action.target.split(',').forEach(name => {\n let target = scoped.getComponentByName(name);\n target &&\n target.doAction &&\n target.doAction(\n {\n ...action,\n target: undefined\n },\n ctx\n );\n });\n } else {\n super.handleAction(e, action, ctx, throwErrors, delegate);\n\n if (\n action.reload &&\n ~['url', 'link', 'jump'].indexOf(action.actionType!)\n ) {\n scoped.reload(action.reload, ctx);\n }\n }\n }\n\n handleDialogConfirm(values: object[], action: Action, ...rest: Array<any>) {\n super.handleDialogConfirm(values, action, ...rest);\n const scoped = this.context;\n const store = this.props.store;\n const dialogAction = store.action as Action;\n const reload = action.reload ?? dialogAction.reload;\n\n if (reload) {\n scoped.reload(reload, store.data);\n } else {\n // 没有设置,则自动让页面中 crud 刷新。\n scoped\n .getComponents()\n .filter((item: any) => item.props.type === 'crud')\n .forEach((item: any) => item.reload && item.reload());\n }\n }\n\n handleDrawerConfirm(values: object[], action: Action, ...rest: Array<any>) {\n super.handleDrawerConfirm(values, action);\n const scoped = this.context as IScopedContext;\n const store = this.props.store;\n const drawerAction = store.action as Action;\n const reload = action.reload ?? drawerAction.reload;\n\n // 稍等会,等动画结束。\n setTimeout(() => {\n if (reload) {\n scoped.reload(reload, store.data);\n } else {\n // 没有设置,则自动让页面中 crud 刷新。\n scoped\n .getComponents()\n .filter((item: any) => item.props.type === 'crud')\n .forEach((item: any) => item.reload && item.reload());\n }\n }, 300);\n }\n}\n"
12
12
  ]
13
13
  }