amis 1.3.5-beta.3 → 1.4.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.
- package/lib/components/Badge.d.ts +15 -2
- package/lib/components/Badge.js +47 -4
- package/lib/components/Badge.js.map +2 -2
- package/lib/components/Button.d.ts +24 -22
- package/lib/components/Button.js +13 -7
- package/lib/components/Button.js.map +2 -2
- package/lib/components/Checkbox.d.ts +1 -1
- package/lib/components/Checkbox.js +1 -1
- package/lib/components/Checkbox.js.map +2 -2
- package/lib/components/Drawer.js +1 -1
- package/lib/components/Drawer.js.map +2 -2
- package/lib/components/Modal.js +1 -1
- package/lib/components/Modal.js.map +2 -2
- package/lib/components/RichText.d.ts +6 -4
- package/lib/components/RichText.js +241 -27
- package/lib/components/RichText.js.map +2 -2
- package/lib/components/Select.d.ts +7 -0
- package/lib/components/Select.js.map +2 -2
- package/lib/components/Steps.d.ts +3 -3
- package/lib/components/Steps.js.map +1 -1
- package/lib/components/WithRemoteConfig.d.ts +8 -0
- package/lib/components/WithRemoteConfig.js +28 -2
- package/lib/components/WithRemoteConfig.js.map +2 -2
- package/lib/components/calendar/DaysView.js +2 -2
- package/lib/components/calendar/DaysView.js.map +2 -2
- package/lib/components/condition-builder/Field.js +0 -1
- package/lib/components/condition-builder/Field.js.map +2 -2
- package/lib/components/condition-builder/Value.js +2 -1
- package/lib/components/condition-builder/Value.js.map +2 -2
- package/lib/components/condition-builder/types.d.ts +5 -0
- package/lib/components/condition-builder/types.js.map +1 -1
- package/lib/components/icons.js +2 -0
- package/lib/components/icons.js.map +2 -2
- package/lib/factory.d.ts +5 -1
- package/lib/factory.js +9 -4
- package/lib/factory.js.map +2 -2
- package/lib/helper.css.map +1 -1
- package/lib/icons/loading-outline.js +7 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/index.js.map +2 -2
- package/lib/locale/de-DE.js +1 -0
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +2 -1
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +2 -1
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.d.ts +15 -1
- package/lib/renderers/Action.js +13 -6
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/CRUD.d.ts +2 -2
- package/lib/renderers/CRUD.js +11 -20
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Card.js +11 -11
- package/lib/renderers/Card.js.map +2 -2
- package/lib/renderers/Collapse.d.ts +1 -1
- package/lib/renderers/Collapse.js +5 -1
- package/lib/renderers/Collapse.js.map +2 -2
- package/lib/renderers/Dialog.d.ts +0 -252
- package/lib/renderers/Dialog.js +3 -2
- package/lib/renderers/Dialog.js.map +2 -2
- package/lib/renderers/Drawer.js +2 -1
- package/lib/renderers/Drawer.js.map +2 -2
- package/lib/renderers/DropDownButton.d.ts +8 -0
- package/lib/renderers/DropDownButton.js +6 -4
- package/lib/renderers/DropDownButton.js.map +2 -2
- package/lib/renderers/Form/ButtonGroupSelect.js +3 -0
- package/lib/renderers/Form/ButtonGroupSelect.js.map +2 -2
- package/lib/renderers/Form/Combo.d.ts +2 -0
- package/lib/renderers/Form/Combo.js +16 -1
- package/lib/renderers/Form/Combo.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.d.ts +0 -2
- package/lib/renderers/Form/Editor.d.ts +0 -2
- package/lib/renderers/Form/Editor.js +1 -1
- package/lib/renderers/Form/Editor.js.map +2 -2
- package/lib/renderers/Form/InputExcel.d.ts +5 -0
- package/lib/renderers/Form/InputExcel.js +24 -3
- package/lib/renderers/Form/InputExcel.js.map +2 -2
- package/lib/renderers/Form/InputImage.d.ts +8 -0
- package/lib/renderers/Form/InputImage.js +2 -1
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputNumber.d.ts +19 -5
- package/lib/renderers/Form/InputNumber.js +69 -7
- package/lib/renderers/Form/InputNumber.js.map +2 -2
- package/lib/renderers/Form/InputRange.js +7 -2
- package/lib/renderers/Form/InputRange.js.map +2 -2
- package/lib/renderers/Form/InputTable.d.ts +23 -5
- package/lib/renderers/Form/InputTable.js +32 -3
- package/lib/renderers/Form/InputTable.js.map +2 -2
- package/lib/renderers/Form/Options.js +3 -1
- package/lib/renderers/Form/Options.js.map +2 -2
- package/lib/renderers/Form/index.js +0 -10
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/Form/wrapControl.js +3 -3
- package/lib/renderers/Form/wrapControl.js.map +2 -2
- package/lib/renderers/Json.js +5 -1
- package/lib/renderers/Json.js.map +2 -2
- package/lib/renderers/List.d.ts +5 -0
- package/lib/renderers/List.js +20 -14
- package/lib/renderers/List.js.map +2 -2
- package/lib/renderers/Nav.d.ts +52 -22
- package/lib/renderers/Nav.js +100 -15
- package/lib/renderers/Nav.js.map +2 -2
- package/lib/renderers/Page.d.ts +6 -0
- package/lib/renderers/Page.js +11 -3
- package/lib/renderers/Page.js.map +2 -2
- package/lib/renderers/Service.d.ts +10 -1
- package/lib/renderers/Service.js +85 -3
- package/lib/renderers/Service.js.map +2 -2
- package/lib/renderers/Steps.d.ts +4 -4
- package/lib/renderers/Steps.js +5 -2
- package/lib/renderers/Steps.js.map +2 -2
- package/lib/renderers/Table/TableBody.d.ts +5 -3
- package/lib/renderers/Table/TableBody.js +17 -11
- package/lib/renderers/Table/TableBody.js.map +2 -2
- package/lib/renderers/Table/TableCell.js +6 -2
- package/lib/renderers/Table/TableCell.js.map +2 -2
- package/lib/renderers/Table/TableContent.d.ts +3 -1
- package/lib/renderers/Table/TableContent.js +6 -2
- package/lib/renderers/Table/TableContent.js.map +2 -2
- package/lib/renderers/Table/TableRow.d.ts +1 -1
- package/lib/renderers/Table/TableRow.js +14 -13
- package/lib/renderers/Table/TableRow.js.map +2 -2
- package/lib/renderers/Table/index.d.ts +28 -3
- package/lib/renderers/Table/index.js +92 -52
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/schemaExtend.d.ts +1 -0
- package/lib/schemaExtend.js +59 -0
- package/lib/schemaExtend.js.map +13 -0
- package/lib/store/app.d.ts +0 -1
- package/lib/store/combo.d.ts +0 -2
- package/lib/store/crud.d.ts +3 -3
- package/lib/store/crud.js +41 -36
- package/lib/store/crud.js.map +2 -2
- package/lib/store/form.d.ts +0 -1
- package/lib/store/formItem.js +10 -6
- package/lib/store/formItem.js.map +2 -2
- package/lib/store/modal.d.ts +1 -1
- package/lib/store/modal.js +4 -0
- package/lib/store/modal.js.map +2 -2
- package/lib/store/root.d.ts +0 -1
- package/lib/store/service.d.ts +0 -1
- package/lib/store/service.js +0 -13
- package/lib/store/service.js.map +2 -2
- package/lib/store/table.d.ts +1 -2
- package/lib/store/table.js +44 -3
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +624 -71
- package/lib/themes/ang.css +624 -71
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +624 -71
- package/lib/themes/antd.css +624 -71
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +732 -191
- package/lib/themes/cxd.css +732 -191
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +624 -71
- package/lib/themes/dark.css +624 -71
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +732 -191
- package/lib/themes/default.css.map +1 -1
- package/lib/utils/api.js +12 -0
- package/lib/utils/api.js.map +2 -2
- package/lib/utils/attachmentAdpator.d.ts +7 -0
- package/lib/utils/attachmentAdpator.js +82 -0
- package/lib/utils/attachmentAdpator.js.map +13 -0
- package/lib/utils/helper.d.ts +2 -0
- package/lib/utils/helper.js +14 -1
- package/lib/utils/helper.js.map +2 -2
- package/lib/utils/resize-sensor.js +6 -0
- package/lib/utils/resize-sensor.js.map +2 -2
- package/lib/utils/tpl-builtin.d.ts +1 -0
- package/lib/utils/tpl-builtin.js +24 -8
- package/lib/utils/tpl-builtin.js.map +2 -2
- package/lib/utils/validations.js +62 -5
- package/lib/utils/validations.js.map +2 -2
- package/package.json +1 -2
- package/schema.json +561 -171
- package/scss/_mixins.scss +29 -0
- package/scss/_properties.scss +29 -11
- package/scss/components/_badge.scss +67 -2
- package/scss/components/_button.scss +35 -3
- package/scss/components/_image-gallery.scss +1 -1
- package/scss/components/_list.scss +8 -0
- package/scss/components/_markdown.scss +266 -0
- package/scss/components/_nav.scss +109 -35
- package/scss/components/_spinner.scss +6 -2
- package/scss/components/_table.scss +4 -0
- package/scss/components/form/_form.scss +3 -17
- package/scss/components/form/_group.scss +4 -0
- package/scss/components/form/_number.scss +12 -1
- package/scss/themes/_common.scss +1 -0
- package/scss/themes/_cxd-variables.scss +20 -20
- package/sdk/ang-ie11.css +769 -76
- package/sdk/ang.css +785 -76
- package/sdk/antd-ie11.css +759 -68
- package/sdk/antd.css +785 -76
- package/sdk/charts.js +13 -13
- package/sdk/color-picker.js +67 -67
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +1243 -552
- package/sdk/cxd.css +893 -196
- package/sdk/dark-ie11.css +769 -76
- package/sdk/dark.css +785 -76
- package/sdk/exceljs.js +1 -1
- package/sdk/helper.css.map +1 -1
- package/sdk/locale/de-DE.js +1 -0
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +22 -24
- package/sdk/rich-text.js +62 -64
- package/sdk/sdk-ie11.css +1243 -552
- package/sdk/sdk.css +893 -196
- package/sdk/sdk.js +1123 -1111
- package/sdk/thirds/hls.js/hls.js +1 -1
- package/sdk/thirds/mpegts.js/mpegts.js +1 -1
- package/sdk/tinymce.js +57 -57
- package/sdk.zip +0 -0
- package/src/components/Badge.tsx +111 -20
- package/src/components/Button.tsx +23 -7
- package/src/components/Checkbox.tsx +5 -2
- package/src/components/Drawer.tsx +3 -2
- package/src/components/Modal.tsx +3 -2
- package/src/components/RichText.tsx +280 -24
- package/src/components/Select.tsx +1 -0
- package/src/components/Steps.tsx +3 -3
- package/src/components/WithRemoteConfig.tsx +37 -2
- package/src/components/calendar/DaysView.tsx +2 -2
- package/src/components/condition-builder/Field.tsx +1 -2
- package/src/components/condition-builder/Value.tsx +3 -0
- package/src/components/condition-builder/types.ts +6 -0
- package/src/components/icons.tsx +2 -0
- package/src/factory.tsx +13 -3
- package/src/icons/loading-outline.svg +4 -0
- package/src/index.tsx +2 -0
- package/src/locale/de-DE.ts +1 -0
- package/src/locale/en-US.ts +2 -1
- package/src/locale/zh-CN.ts +2 -1
- package/src/renderers/Action.tsx +84 -14
- package/src/renderers/CRUD.tsx +13 -33
- package/src/renderers/Card.tsx +21 -15
- package/src/renderers/Collapse.tsx +5 -1
- package/src/renderers/Dialog.tsx +3 -2
- package/src/renderers/Drawer.tsx +2 -1
- package/src/renderers/DropDownButton.tsx +21 -4
- package/src/renderers/Form/ButtonGroupSelect.tsx +3 -0
- package/src/renderers/Form/Combo.tsx +7 -0
- package/src/renderers/Form/Editor.tsx +19 -20
- package/src/renderers/Form/InputExcel.tsx +28 -3
- package/src/renderers/Form/InputImage.tsx +23 -8
- package/src/renderers/Form/InputNumber.tsx +113 -18
- package/src/renderers/Form/InputRange.tsx +5 -2
- package/src/renderers/Form/InputTable.tsx +88 -9
- package/src/renderers/Form/Options.tsx +3 -1
- package/src/renderers/Form/index.tsx +0 -15
- package/src/renderers/Form/wrapControl.tsx +2 -2
- package/src/renderers/Json.tsx +10 -1
- package/src/renderers/List.tsx +32 -19
- package/src/renderers/Nav.tsx +165 -36
- package/src/renderers/Page.tsx +20 -1
- package/src/renderers/Service.tsx +101 -3
- package/src/renderers/Steps.tsx +12 -9
- package/src/renderers/Table/TableBody.tsx +29 -10
- package/src/renderers/Table/TableCell.tsx +15 -1
- package/src/renderers/Table/TableContent.tsx +7 -1
- package/src/renderers/Table/TableRow.tsx +18 -17
- package/src/renderers/Table/index.tsx +112 -27
- package/src/schemaExtend.ts +66 -0
- package/src/store/crud.ts +34 -38
- package/src/store/formItem.ts +10 -6
- package/src/store/modal.ts +4 -0
- package/src/store/service.ts +0 -19
- package/src/store/table.ts +48 -0
- package/src/utils/api.ts +11 -0
- package/src/utils/attachmentAdpator.ts +90 -0
- package/src/utils/helper.ts +16 -0
- package/src/utils/resize-sensor.ts +7 -0
- package/src/utils/tpl-builtin.ts +36 -17
- package/src/utils/validations.ts +80 -12
package/lib/renderers/Json.js
CHANGED
@@ -47,13 +47,17 @@ var JSONField = /** @class */ (function (_super) {
|
|
47
47
|
};
|
48
48
|
}
|
49
49
|
}
|
50
|
+
var jsonThemeValue = jsonTheme;
|
51
|
+
if ((0, tpl_builtin_1.isPureVariable)(jsonTheme)) {
|
52
|
+
jsonThemeValue = (0, tpl_builtin_1.resolveVariableAndFilter)(jsonTheme, this.props.data, '| raw');
|
53
|
+
}
|
50
54
|
// JsonView 只支持对象,所以不是对象格式需要转成对象格式。
|
51
55
|
if (data && ~['string', 'number'].indexOf(typeof data)) {
|
52
56
|
data = (_a = {},
|
53
57
|
_a[typeof data] = data,
|
54
58
|
_a);
|
55
59
|
}
|
56
|
-
return (react_1.default.createElement("div", { className: cx('JsonField', className) }, typeof data === 'undefined' || data === null ? (placeholder) : (react_1.default.createElement(react_json_view_1.default, { name: false, src: data, theme: (_b =
|
60
|
+
return (react_1.default.createElement("div", { className: cx('JsonField', className) }, typeof data === 'undefined' || data === null ? (placeholder) : (react_1.default.createElement(react_json_view_1.default, { name: false, src: data, theme: (_b = jsonThemeValue) !== null && _b !== void 0 ? _b : 'rjv-default', shouldCollapse: this.shouldExpandNode, enableClipboard: false, iconStyle: "square", onEdit: name && mutable ? this.emitChange : false, onDelete: name && mutable ? this.emitChange : false, onAdd: name && mutable ? this.emitChange : false }))));
|
57
61
|
};
|
58
62
|
var _a;
|
59
63
|
JSONField.defaultProps = {
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Json.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,sCAAmD;AAEnD,8EAA2D;AAC3D,0CAA6D;AAE7D,oDAA8E;AAoC9E;IAA+B,0CAAkC;IAAjE;;
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {Renderer, RendererProps} from '../factory';\n\nimport JsonView, {InteractionProps} from 'react-json-view';\nimport {autobind, getPropValue, noop} from '../utils/helper';\nimport {BaseSchema} from '../Schema';\nimport {resolveVariableAndFilter, isPureVariable} from '../utils/tpl-builtin';\n/**\n * JSON 数据展示控件。\n * 文档:https://baidu.gitee.io/amis/docs/components/json\n */\nexport interface JsonSchema extends BaseSchema {\n /**\n * 指定为Json展示类型\n */\n type: 'json' | 'static-json';\n\n /**\n * 默认展开的级别\n */\n levelExpand?: number;\n\n /**\n * 支持从数据链取值\n */\n source?: string;\n\n /**\n * 是否可修改\n */\n mutable?: boolean;\n}\n\nexport interface JSONProps extends RendererProps, JsonSchema {\n levelExpand: number;\n className?: string;\n placeholder?: string;\n jsonTheme: string;\n hideRoot?: boolean;\n source?: string;\n}\n\nexport class JSONField extends React.Component<JSONProps, object> {\n static defaultProps: Partial<JSONProps> = {\n placeholder: '-',\n levelExpand: 1,\n source: ''\n };\n\n @autobind\n emitChange(e: InteractionProps) {\n const {onChange, name} = this.props;\n\n if (!name || !onChange) {\n return false;\n }\n\n onChange(e.updated_src, name);\n return true;\n }\n\n @autobind\n shouldExpandNode({namespace}: {namespace: Array<string | null>}) {\n const {levelExpand} = this.props;\n\n if (typeof levelExpand !== 'number') {\n return false;\n }\n\n return namespace.length > levelExpand;\n }\n\n render() {\n const {\n className,\n jsonTheme,\n classnames: cx,\n placeholder,\n source,\n levelExpand,\n mutable,\n name\n } = this.props;\n\n const value = getPropValue(this.props);\n\n let data = value;\n if (source !== undefined && isPureVariable(source)) {\n data = resolveVariableAndFilter(source, this.props.data, '| raw');\n } else if (typeof value === 'string') {\n try {\n data = JSON.parse(value);\n } catch (e) {\n data = {\n error: e.message\n };\n }\n }\n\n // JsonView 只支持对象,所以不是对象格式需要转成对象格式。\n if (data && ~['string', 'number'].indexOf(typeof data)) {\n data = {\n [typeof data]: data\n };\n }\n\n return (\n <div className={cx('JsonField', className)}>\n {typeof data === 'undefined' || data === null ? (\n placeholder\n ) : (\n <JsonView\n name={false}\n src={data}\n theme={(
|
11
|
+
"import React from 'react';\nimport {Renderer, RendererProps} from '../factory';\n\nimport JsonView, {InteractionProps} from 'react-json-view';\nimport {autobind, getPropValue, noop} from '../utils/helper';\nimport {BaseSchema} from '../Schema';\nimport {resolveVariableAndFilter, isPureVariable} from '../utils/tpl-builtin';\n/**\n * JSON 数据展示控件。\n * 文档:https://baidu.gitee.io/amis/docs/components/json\n */\nexport interface JsonSchema extends BaseSchema {\n /**\n * 指定为Json展示类型\n */\n type: 'json' | 'static-json';\n\n /**\n * 默认展开的级别\n */\n levelExpand?: number;\n\n /**\n * 支持从数据链取值\n */\n source?: string;\n\n /**\n * 是否可修改\n */\n mutable?: boolean;\n}\n\nexport interface JSONProps extends RendererProps, JsonSchema {\n levelExpand: number;\n className?: string;\n placeholder?: string;\n jsonTheme: string;\n hideRoot?: boolean;\n source?: string;\n}\n\nexport class JSONField extends React.Component<JSONProps, object> {\n static defaultProps: Partial<JSONProps> = {\n placeholder: '-',\n levelExpand: 1,\n source: ''\n };\n\n @autobind\n emitChange(e: InteractionProps) {\n const {onChange, name} = this.props;\n\n if (!name || !onChange) {\n return false;\n }\n\n onChange(e.updated_src, name);\n return true;\n }\n\n @autobind\n shouldExpandNode({namespace}: {namespace: Array<string | null>}) {\n const {levelExpand} = this.props;\n\n if (typeof levelExpand !== 'number') {\n return false;\n }\n\n return namespace.length > levelExpand;\n }\n\n render() {\n const {\n className,\n jsonTheme,\n classnames: cx,\n placeholder,\n source,\n levelExpand,\n mutable,\n name\n } = this.props;\n\n const value = getPropValue(this.props);\n\n let data = value;\n if (source !== undefined && isPureVariable(source)) {\n data = resolveVariableAndFilter(source, this.props.data, '| raw');\n } else if (typeof value === 'string') {\n try {\n data = JSON.parse(value);\n } catch (e) {\n data = {\n error: e.message\n };\n }\n }\n\n let jsonThemeValue = jsonTheme;\n if (isPureVariable(jsonTheme)) {\n jsonThemeValue = resolveVariableAndFilter(\n jsonTheme,\n this.props.data,\n '| raw'\n );\n }\n\n // JsonView 只支持对象,所以不是对象格式需要转成对象格式。\n if (data && ~['string', 'number'].indexOf(typeof data)) {\n data = {\n [typeof data]: data\n };\n }\n\n return (\n <div className={cx('JsonField', className)}>\n {typeof data === 'undefined' || data === null ? (\n placeholder\n ) : (\n <JsonView\n name={false}\n src={data}\n theme={(jsonThemeValue as any) ?? 'rjv-default'}\n shouldCollapse={this.shouldExpandNode}\n enableClipboard={false}\n iconStyle=\"square\"\n onEdit={name && mutable ? this.emitChange : false}\n onDelete={name && mutable ? this.emitChange : false}\n onAdd={name && mutable ? this.emitChange : false}\n />\n )}\n </div>\n );\n }\n}\n\n@Renderer({\n type: 'json'\n})\nexport class JSONFieldRenderer extends JSONField {}\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/renderers/List.d.ts
CHANGED
@@ -152,6 +152,10 @@ export interface ListSchema extends BaseSchema {
|
|
152
152
|
* 大小
|
153
153
|
*/
|
154
154
|
size?: 'sm' | 'base';
|
155
|
+
/**
|
156
|
+
* 点击列表项的行为
|
157
|
+
*/
|
158
|
+
itemAction?: ActionSchema;
|
155
159
|
}
|
156
160
|
export interface Column {
|
157
161
|
type: string;
|
@@ -224,6 +228,7 @@ export interface ListItemProps extends RendererProps, Omit<ListItemSchema, 'type
|
|
224
228
|
itemIndex?: number;
|
225
229
|
checkable?: boolean;
|
226
230
|
checkOnItemClick?: boolean;
|
231
|
+
itemAction?: ActionSchema;
|
227
232
|
}
|
228
233
|
export declare class ListItem extends React.Component<ListItemProps> {
|
229
234
|
static defaultProps: Partial<ListItemProps>;
|
package/lib/renderers/List.js
CHANGED
@@ -380,7 +380,7 @@ var List = /** @class */ (function (_super) {
|
|
380
380
|
List.prototype.render = function () {
|
381
381
|
var _a;
|
382
382
|
var _this = this;
|
383
|
-
var _b = this.props, className = _b.className, itemClassName = _b.itemClassName, store = _b.store, placeholder = _b.placeholder, render = _b.render, multiple = _b.multiple, listItem = _b.listItem, onAction = _b.onAction, hideCheckToggler = _b.hideCheckToggler, checkOnItemClick = _b.checkOnItemClick, affixHeader = _b.affixHeader, cx = _b.classnames, size = _b.size, __ = _b.translate;
|
383
|
+
var _b = this.props, className = _b.className, itemClassName = _b.itemClassName, store = _b.store, placeholder = _b.placeholder, render = _b.render, multiple = _b.multiple, listItem = _b.listItem, onAction = _b.onAction, hideCheckToggler = _b.hideCheckToggler, checkOnItemClick = _b.checkOnItemClick, itemAction = _b.itemAction, affixHeader = _b.affixHeader, cx = _b.classnames, size = _b.size, __ = _b.translate;
|
384
384
|
this.renderedToolbars = [];
|
385
385
|
var heading = this.renderHeading();
|
386
386
|
var header = this.renderHeader();
|
@@ -408,6 +408,7 @@ var List = /** @class */ (function (_super) {
|
|
408
408
|
itemIndex: item.index,
|
409
409
|
hideCheckToggler: hideCheckToggler,
|
410
410
|
checkOnItemClick: checkOnItemClick,
|
411
|
+
itemAction: itemAction,
|
411
412
|
selected: item.checked,
|
412
413
|
onCheck: _this.handleCheck,
|
413
414
|
dragging: store.dragging,
|
@@ -475,16 +476,14 @@ var ListItem = /** @class */ (function (_super) {
|
|
475
476
|
return _this;
|
476
477
|
}
|
477
478
|
ListItem.prototype.handleClick = function (e) {
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
e.currentTarget.contains(formItem))) {
|
479
|
+
if ((0, helper_1.isClickOnInput)(e)) {
|
480
|
+
return;
|
481
|
+
}
|
482
|
+
var _a = this.props, itemAction = _a.itemAction, onAction = _a.onAction, item = _a.item;
|
483
|
+
if (itemAction) {
|
484
|
+
onAction && onAction(e, itemAction, item === null || item === void 0 ? void 0 : item.data);
|
485
485
|
return;
|
486
486
|
}
|
487
|
-
var item = this.props.item;
|
488
487
|
this.props.onCheck && this.props.onCheck(item);
|
489
488
|
};
|
490
489
|
ListItem.prototype.handleCheck = function () {
|
@@ -542,8 +541,7 @@ var ListItem = /** @class */ (function (_super) {
|
|
542
541
|
))}
|
543
542
|
</div>
|
544
543
|
);
|
545
|
-
} else */ if (typeof node === 'string' ||
|
546
|
-
typeof node === 'number') {
|
544
|
+
} else */ if (typeof node === 'string' || typeof node === 'number') {
|
547
545
|
return render(region, node, { key: key });
|
548
546
|
}
|
549
547
|
var childNode = node;
|
@@ -592,12 +590,16 @@ var ListItem = /** @class */ (function (_super) {
|
|
592
590
|
return this.renderChild(body, 'body');
|
593
591
|
};
|
594
592
|
ListItem.prototype.render = function () {
|
595
|
-
var _a = this.props, className = _a.className, data = _a.data, avatarTpl = _a.avatar, titleTpl = _a.title, titleClassName = _a.titleClassName, subTitleTpl = _a.subTitle, descTpl = _a.desc, avatarClassName = _a.avatarClassName, checkOnItemClick = _a.checkOnItemClick, render = _a.render, checkable = _a.checkable, cx = _a.classnames, actionsPosition = _a.actionsPosition;
|
593
|
+
var _a = this.props, className = _a.className, data = _a.data, avatarTpl = _a.avatar, titleTpl = _a.title, titleClassName = _a.titleClassName, subTitleTpl = _a.subTitle, descTpl = _a.desc, avatarClassName = _a.avatarClassName, checkOnItemClick = _a.checkOnItemClick, render = _a.render, checkable = _a.checkable, cx = _a.classnames, actionsPosition = _a.actionsPosition, itemAction = _a.itemAction;
|
596
594
|
var avatar = (0, tpl_1.filter)(avatarTpl, data);
|
597
595
|
var title = (0, tpl_1.filter)(titleTpl, data);
|
598
596
|
var subTitle = (0, tpl_1.filter)(subTitleTpl, data);
|
599
597
|
var desc = (0, tpl_1.filter)(descTpl, data);
|
600
|
-
return (react_1.default.createElement("div", { onClick: checkOnItemClick && checkable
|
598
|
+
return (react_1.default.createElement("div", { onClick: (checkOnItemClick && checkable) || itemAction
|
599
|
+
? this.handleClick
|
600
|
+
: undefined, className: cx("ListItem ListItem--actions-at-" + (actionsPosition || 'right'), {
|
601
|
+
'ListItem--hasItemAction': itemAction
|
602
|
+
}, className) },
|
601
603
|
this.renderLeft(),
|
602
604
|
this.renderRight(),
|
603
605
|
avatar ? (react_1.default.createElement("span", { className: cx('ListItem-avatar', avatarClassName) },
|
@@ -613,7 +615,11 @@ var ListItem = /** @class */ (function (_super) {
|
|
613
615
|
avatarClassName: 'thumb-sm avatar m-r',
|
614
616
|
titleClassName: 'h5'
|
615
617
|
};
|
616
|
-
ListItem.propsList = [
|
618
|
+
ListItem.propsList = [
|
619
|
+
'avatarClassName',
|
620
|
+
'titleClassName',
|
621
|
+
'itemAction'
|
622
|
+
];
|
617
623
|
return ListItem;
|
618
624
|
}(react_1.default.Component));
|
619
625
|
exports.ListItem = ListItem;
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/List.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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",
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {findDOMNode} from 'react-dom';\nimport {Renderer, RendererProps} from '../factory';\nimport {SchemaNode, Schema, Action} from '../types';\nimport {filter} from '../utils/tpl';\nimport cx from 'classnames';\nimport Button from '../components/Button';\nimport Checkbox from '../components/Checkbox';\nimport {ListStore, IListStore, IItem} from '../store/list';\nimport {observer} from 'mobx-react';\nimport omit = require('lodash/omit');\nimport {\n anyChanged,\n getScrollParent,\n difference,\n isVisible,\n isDisabled,\n noop\n} from '../utils/helper';\nimport {\n isPureVariable,\n resolveVariable,\n resolveVariableAndFilter\n} from '../utils/tpl-builtin';\nimport QuickEdit, {SchemaQuickEdit} from './QuickEdit';\nimport PopOver, {SchemaPopOver} from './PopOver';\nimport Sortable from 'sortablejs';\nimport {TableCell} from './Table';\nimport Copyable, {SchemaCopyable} from './Copyable';\nimport {Icon} from '../components/icons';\nimport {\n BaseSchema,\n SchemaClassName,\n SchemaCollection,\n SchemaExpression,\n SchemaObject,\n SchemaTokenizeableString,\n SchemaTpl,\n SchemaUrlPath\n} from '../Schema';\nimport {ActionSchema} from './Action';\nimport {SchemaRemark} from './Remark';\n\n/**\n * 不指定类型默认就是文本\n */\nexport type ListBodyFieldObject = {\n /**\n * 列标题\n */\n label?: string;\n\n /**\n * label 类名\n */\n labelClassName?: SchemaClassName;\n\n /**\n * 绑定字段名\n */\n name?: string;\n\n /**\n * 配置查看详情功能\n */\n popOver?: SchemaPopOver;\n\n /**\n * 配置快速编辑功能\n */\n quickEdit?: SchemaQuickEdit;\n\n /**\n * 配置点击复制功能\n */\n copyable?: SchemaCopyable;\n};\n\nexport type ListBodyField = SchemaObject & ListBodyFieldObject;\n\nexport interface ListItemSchema extends Omit<BaseSchema, 'type'> {\n actions?: Array<ActionSchema>;\n\n /**\n * 操作位置,默认在右侧,可以设置成左侧。\n */\n actionsPosition?: 'left' | 'right';\n\n /**\n * 图片地址\n */\n avatar?: SchemaUrlPath;\n\n /**\n * 内容区域\n */\n body?: Array<ListBodyField | ListBodyFieldObject>;\n\n /**\n * 描述\n */\n desc?: SchemaTpl;\n\n /**\n * tooltip 说明\n */\n remark?: SchemaRemark;\n\n /**\n * 标题\n */\n title?: SchemaTpl;\n\n /**\n * 副标题\n */\n subTitle?: SchemaTpl;\n}\n\n/**\n * List 列表展示控件。\n * 文档:https://baidu.gitee.io/amis/docs/components/card\n */\nexport interface ListSchema extends BaseSchema {\n /**\n * 指定为 List 列表展示控件。\n */\n type: 'list' | 'static-list';\n\n /**\n * 标题\n */\n title?: SchemaTpl;\n\n /**\n * 底部区域\n */\n footer?: SchemaCollection;\n\n /**\n * 底部区域类名\n */\n footerClassName?: SchemaClassName;\n\n /**\n * 顶部区域\n */\n header?: SchemaCollection;\n\n /**\n * 顶部区域类名\n */\n headerClassName?: SchemaClassName;\n\n /**\n * 单条数据展示内容配置\n */\n listItem?: ListItemSchema;\n\n /**\n * 数据源: 绑定当前环境变量\n *\n * @default ${items}\n */\n source?: SchemaTokenizeableString;\n\n /**\n * 是否显示底部\n */\n showFooter?: boolean;\n\n /**\n * 是否显示头部\n */\n showHeader?: boolean;\n\n /**\n * 无数据提示\n *\n * @default 暂无数据\n */\n placeholder?: SchemaTpl;\n\n /**\n * 是否隐藏勾选框\n */\n hideCheckToggler?: boolean;\n\n /**\n * 是否固顶\n */\n affixHeader?: boolean;\n\n /**\n * 配置某项是否可以点选\n */\n itemCheckableOn?: SchemaExpression;\n\n /**\n * 配置某项是否可拖拽排序,前提是要开启拖拽功能\n */\n itemDraggableOn?: SchemaExpression;\n\n /**\n * 点击卡片的时候是否勾选卡片。\n */\n checkOnItemClick?: boolean;\n\n /**\n * 可以用来作为值的字段\n */\n valueField?: string;\n\n /**\n * 大小\n */\n size?: 'sm' | 'base';\n}\n\nexport interface Column {\n type: string;\n [propName: string]: any;\n}\n\nexport interface ListProps\n extends RendererProps,\n Omit<ListSchema, 'type' | 'className'> {\n store: IListStore;\n selectable?: boolean;\n selected?: Array<any>;\n draggable?: boolean;\n onSelect: (\n selectedItems: Array<object>,\n unSelectedItems: Array<object>\n ) => void;\n onSave?: (\n items: Array<object> | object,\n diff: Array<object> | object,\n rowIndexes: Array<number> | number,\n unModifiedItems?: Array<object>,\n rowOrigins?: Array<object> | object,\n resetOnFailed?: boolean\n ) => void;\n onSaveOrder?: (moved: Array<object>, items: Array<object>) => void;\n onQuery: (values: object) => void;\n}\n\nexport default class List extends React.Component<ListProps, object> {\n static propsList: Array<keyof ListProps> = [\n 'header',\n 'headerToolbarRender',\n 'footer',\n 'footerToolbarRender',\n 'placeholder',\n 'source',\n 'selectable',\n 'headerClassName',\n 'footerClassName',\n 'hideQuickSaveBtn',\n 'hideCheckToggler',\n 'itemCheckableOn',\n 'itemDraggableOn',\n 'actions',\n 'items',\n 'valueField'\n ];\n static defaultProps: Partial<ListProps> = {\n className: '',\n placeholder: 'placeholder.noData',\n source: '$items',\n selectable: false,\n headerClassName: '',\n footerClassName: '',\n affixHeader: true\n };\n\n dragTip?: HTMLElement;\n sortable?: Sortable;\n parentNode?: any;\n body?: any;\n renderedToolbars: Array<string>;\n\n constructor(props: ListProps) {\n super(props);\n\n this.handleAction = this.handleAction.bind(this);\n this.handleCheck = this.handleCheck.bind(this);\n this.handleCheckAll = this.handleCheckAll.bind(this);\n this.handleQuickChange = this.handleQuickChange.bind(this);\n this.handleSave = this.handleSave.bind(this);\n this.handleSaveOrder = this.handleSaveOrder.bind(this);\n this.reset = this.reset.bind(this);\n this.dragTipRef = this.dragTipRef.bind(this);\n this.getPopOverContainer = this.getPopOverContainer.bind(this);\n this.affixDetect = this.affixDetect.bind(this);\n this.bodyRef = this.bodyRef.bind(this);\n this.renderToolbar = this.renderToolbar.bind(this);\n\n const {\n store,\n selectable,\n draggable,\n orderBy,\n orderDir,\n multiple,\n hideCheckToggler,\n itemCheckableOn,\n itemDraggableOn\n } = props;\n\n store.update({\n multiple,\n selectable,\n draggable,\n orderBy,\n orderDir,\n hideCheckToggler,\n itemCheckableOn,\n itemDraggableOn\n });\n\n List.syncItems(store, this.props) && this.syncSelected();\n }\n\n static syncItems(store: IListStore, props: ListProps, prevProps?: ListProps) {\n const source = props.source;\n const value = props.value || props.items;\n let items: Array<object> = [];\n let updateItems = false;\n\n if (\n Array.isArray(value) &&\n (!prevProps || (prevProps.value || prevProps.items) !== value)\n ) {\n items = value;\n updateItems = true;\n } else if (typeof source === 'string') {\n const resolved = resolveVariableAndFilter(source, props.data, '| raw');\n const prev = prevProps\n ? resolveVariableAndFilter(source, prevProps.data, '| raw')\n : null;\n\n if (prev && prev === resolved) {\n updateItems = false;\n } else if (Array.isArray(resolved)) {\n items = resolved;\n updateItems = true;\n }\n }\n\n updateItems && store.initItems(items);\n Array.isArray(props.selected) &&\n store.updateSelected(props.selected, props.valueField);\n return updateItems;\n }\n\n componentDidMount() {\n let parent: HTMLElement | Window | null = getScrollParent(\n findDOMNode(this) as HTMLElement\n );\n if (!parent || parent === document.body) {\n parent = window;\n }\n\n this.parentNode = parent;\n this.affixDetect();\n parent.addEventListener('scroll', this.affixDetect);\n window.addEventListener('resize', this.affixDetect);\n }\n\n componentDidUpdate(prevProps: ListProps) {\n const props = this.props;\n const store = props.store;\n\n if (\n anyChanged(\n [\n 'selectable',\n 'draggable',\n 'orderBy',\n 'orderDir',\n 'multiple',\n 'hideCheckToggler',\n 'itemCheckableOn',\n 'itemDraggableOn'\n ],\n prevProps,\n props\n )\n ) {\n store.update({\n multiple: props.multiple,\n selectable: props.selectable,\n draggable: props.draggable,\n orderBy: props.orderBy,\n orderDir: props.orderDir,\n hideCheckToggler: props.hideCheckToggler,\n itemCheckableOn: props.itemCheckableOn,\n itemDraggableOn: props.itemDraggableOn\n });\n }\n\n if (\n anyChanged(['source', 'value', 'items'], prevProps, props) ||\n (!props.value &&\n !props.items &&\n (props.data !== prevProps.data ||\n (typeof props.source === 'string' && isPureVariable(props.source))))\n ) {\n List.syncItems(store, props, prevProps) && this.syncSelected();\n } else if (prevProps.selected !== props.selected) {\n store.updateSelected(props.selected || [], props.valueField);\n }\n }\n\n componentWillUnmount() {\n const parent = this.parentNode;\n parent && parent.removeEventListener('scroll', this.affixDetect);\n window.removeEventListener('resize', this.affixDetect);\n }\n\n bodyRef(ref: HTMLDivElement) {\n this.body = ref;\n }\n\n affixDetect() {\n if (!this.props.affixHeader || !this.body) {\n return;\n }\n\n const ns = this.props.classPrefix;\n const dom = findDOMNode(this) as HTMLElement;\n const afixedDom = dom.querySelector(`.${ns}List-fixedTop`) as HTMLElement;\n\n if (!afixedDom) {\n return;\n }\n\n const clip = (this.body as HTMLElement).getBoundingClientRect();\n const offsetY =\n this.props.affixOffsetTop ?? this.props.env.affixOffsetTop ?? 0;\n const affixed = clip.top < offsetY && clip.top + clip.height - 40 > offsetY;\n\n this.body.offsetWidth &&\n (afixedDom.style.cssText = `top: ${offsetY}px;width: ${this.body.offsetWidth}px;`);\n affixed ? afixedDom.classList.add('in') : afixedDom.classList.remove('in');\n // store.markHeaderAffix(clip.top < offsetY && (clip.top + clip.height - 40) > offsetY);\n }\n\n getPopOverContainer() {\n return findDOMNode(this);\n }\n\n handleAction(e: React.UIEvent<any>, action: Action, ctx: object) {\n const {onAction} = this.props;\n\n // todo\n onAction(e, action, ctx);\n }\n\n handleCheck(item: IItem) {\n item.toggle();\n this.syncSelected();\n }\n\n handleCheckAll() {\n const {store} = this.props;\n\n store.toggleAll();\n this.syncSelected();\n }\n\n syncSelected() {\n const {store, onSelect} = this.props;\n\n onSelect &&\n onSelect(\n store.selectedItems.map(item => item.data),\n store.unSelectedItems.map(item => item.data)\n );\n }\n\n handleQuickChange(\n item: IItem,\n values: object,\n saveImmediately?: boolean | any,\n savePristine?: boolean,\n resetOnFailed?: boolean\n ) {\n item.change(values, savePristine);\n\n if (!saveImmediately || savePristine) {\n return;\n }\n\n if (saveImmediately && saveImmediately.api) {\n this.props.onAction(\n null,\n {\n actionType: 'ajax',\n api: saveImmediately.api\n },\n values\n );\n return;\n }\n\n const {onSave, primaryField} = this.props;\n\n if (!onSave) {\n return;\n }\n\n onSave(\n item.data,\n difference(item.data, item.pristine, ['id', primaryField]),\n item.index,\n undefined,\n item.pristine,\n resetOnFailed\n );\n }\n\n handleSave() {\n const {store, onSave, primaryField} = this.props;\n\n if (!onSave || !store.modifiedItems.length) {\n return;\n }\n\n const items = store.modifiedItems.map(item => item.data);\n const itemIndexes = store.modifiedItems.map(item => item.index);\n const diff = store.modifiedItems.map(item =>\n difference(item.data, item.pristine, ['id', primaryField])\n );\n const unModifiedItems = store.items\n .filter(item => !item.modified)\n .map(item => item.data);\n onSave(\n items,\n diff,\n itemIndexes,\n unModifiedItems,\n store.modifiedItems.map(item => item.pristine)\n );\n }\n\n handleSaveOrder() {\n const {store, onSaveOrder} = this.props;\n\n if (!onSaveOrder || !store.movedItems.length) {\n return;\n }\n\n onSaveOrder(\n store.movedItems.map(item => item.data),\n store.items.map(item => item.data)\n );\n }\n\n reset() {\n const {store} = this.props;\n\n store.reset();\n }\n\n bulkUpdate(value: object, items: Array<object>) {\n const {store} = this.props;\n\n const items2 = store.items.filter(item => ~items.indexOf(item.pristine));\n items2.forEach(item => item.change(value));\n }\n\n getSelected() {\n const {store} = this.props;\n\n return store.selectedItems.map(item => item.data);\n }\n\n dragTipRef(ref: any) {\n if (!this.dragTip && ref) {\n this.initDragging();\n } else if (this.dragTip && !ref) {\n this.destroyDragging();\n }\n\n this.dragTip = ref;\n }\n\n initDragging() {\n const store = this.props.store;\n const dom = findDOMNode(this) as HTMLElement;\n const ns = this.props.classPrefix;\n this.sortable = new Sortable(\n dom.querySelector(`.${ns}List-items`) as HTMLElement,\n {\n group: 'table',\n animation: 150,\n handle: `.${ns}ListItem-dragBtn`,\n ghostClass: 'is-dragging',\n onEnd: (e: any) => {\n // 没有移动\n if (e.newIndex === e.oldIndex) {\n return;\n }\n\n const parent = e.to as HTMLElement;\n if (e.oldIndex < parent.childNodes.length - 1) {\n parent.insertBefore(e.item, parent.childNodes[e.oldIndex]);\n } else {\n parent.appendChild(e.item);\n }\n\n store.exchange(e.oldIndex, e.newIndex);\n }\n }\n );\n }\n\n destroyDragging() {\n this.sortable && this.sortable.destroy();\n }\n\n renderActions(region: string) {\n let {\n actions,\n render,\n store,\n multiple,\n selectable,\n env,\n classPrefix: ns,\n classnames: cx\n } = this.props;\n\n let btn;\n actions = Array.isArray(actions) ? actions.concat() : [];\n\n if (\n !~this.renderedToolbars.indexOf('check-all') &&\n (btn = this.renderCheckAll())\n ) {\n actions.unshift({\n type: 'button',\n children: btn\n });\n }\n\n if (\n region === 'header' &&\n !~this.renderedToolbars.indexOf('drag-toggler') &&\n (btn = this.renderDragToggler())\n ) {\n actions.unshift({\n type: 'button',\n children: btn\n });\n }\n\n return Array.isArray(actions) && actions.length ? (\n <div className={cx('List-actions')}>\n {actions.map((action, key) =>\n render(\n `action/${key}`,\n {\n type: 'button',\n ...action\n },\n {\n onAction: this.handleAction,\n key,\n btnDisabled: store.dragging\n }\n )\n )}\n </div>\n ) : null;\n }\n\n renderHeading() {\n let {title, store, hideQuickSaveBtn, classnames: cx, data} = this.props;\n\n if (title || (store.modified && !hideQuickSaveBtn) || store.moved) {\n return (\n <div className={cx('List-heading')}>\n {store.modified && !hideQuickSaveBtn ? (\n <span>\n {`当前有 ${store.modified} 条记录修改了内容, 但并没有提交。请选择:`}\n <button\n type=\"button\"\n className={cx('Button Button--xs Button--success m-l-sm')}\n onClick={this.handleSave}\n >\n <Icon icon=\"check\" className=\"icon m-r-xs\" />\n 提交\n </button>\n <button\n type=\"button\"\n className={cx('Button Button--xs Button--danger m-l-sm')}\n onClick={this.reset}\n >\n <Icon icon=\"close\" className=\"icon m-r-xs\" />\n 放弃\n </button>\n </span>\n ) : store.moved ? (\n <span>\n {`当前有 ${store.moved} 条记录修改了顺序, 但并没有提交。请选择:`}\n <button\n type=\"button\"\n className={cx('Button Button--xs Button--success m-l-sm')}\n onClick={this.handleSaveOrder}\n >\n <Icon icon=\"check\" className=\"icon m-r-xs\" />\n 提交\n </button>\n <button\n type=\"button\"\n className={cx('Button Button--xs Button--danger m-l-sm')}\n onClick={this.reset}\n >\n <Icon icon=\"close\" className=\"icon m-r-xs\" />\n 放弃\n </button>\n </span>\n ) : title ? (\n filter(title, data)\n ) : (\n ''\n )}\n </div>\n );\n }\n\n return null;\n }\n\n renderHeader() {\n const {\n header,\n headerClassName,\n headerToolbar,\n headerToolbarRender,\n render,\n showHeader,\n store,\n classnames: cx\n } = this.props;\n\n if (showHeader === false) {\n return null;\n }\n\n const child = headerToolbarRender\n ? headerToolbarRender(\n {\n ...this.props,\n selectedItems: store.selectedItems.map(item => item.data),\n items: store.items.map(item => item.data),\n unSelectedItems: store.unSelectedItems.map(item => item.data)\n },\n this.renderToolbar\n )\n : null;\n const actions = this.renderActions('header');\n const toolbarNode =\n actions || child || store.dragging ? (\n <div\n className={cx('List-toolbar', headerClassName)}\n key=\"header-toolbar\"\n >\n {actions}\n {child}\n {store.dragging ? (\n <div className={cx('List-dragTip')} ref={this.dragTipRef}>\n 请拖动左边的按钮进行排序\n </div>\n ) : null}\n </div>\n ) : null;\n const headerNode =\n header && (!Array.isArray(header) || header.length) ? (\n <div className={cx('List-header', headerClassName)} key=\"header\">\n {render('header', header)}\n </div>\n ) : null;\n return headerNode && toolbarNode\n ? [headerNode, toolbarNode]\n : headerNode || toolbarNode || null;\n }\n\n renderFooter() {\n const {\n footer,\n footerClassName,\n footerToolbar,\n footerToolbarRender,\n render,\n showFooter,\n store,\n classnames: cx\n } = this.props;\n\n if (showFooter === false) {\n return null;\n }\n\n const child = footerToolbarRender\n ? footerToolbarRender(\n {\n ...this.props,\n selectedItems: store.selectedItems.map(item => item.data),\n items: store.items.map(item => item.data),\n unSelectedItems: store.unSelectedItems.map(item => item.data)\n },\n this.renderToolbar\n )\n : null;\n const actions = this.renderActions('footer');\n\n const toolbarNode =\n actions || child ? (\n <div\n className={cx('List-toolbar', footerClassName)}\n key=\"footer-toolbar\"\n >\n {actions}\n {child}\n </div>\n ) : null;\n const footerNode =\n footer && (!Array.isArray(footer) || footer.length) ? (\n <div className={cx('List-footer', footerClassName)} key=\"footer\">\n {render('footer', footer)}\n </div>\n ) : null;\n return footerNode && toolbarNode\n ? [toolbarNode, footerNode]\n : footerNode || toolbarNode || null;\n }\n\n renderCheckAll() {\n const {store, multiple, selectable} = this.props;\n\n if (\n !store.selectable ||\n !multiple ||\n !selectable ||\n store.dragging ||\n !store.items.length\n ) {\n return null;\n }\n\n return (\n <Button\n key=\"checkall\"\n tooltip=\"切换全选\"\n onClick={this.handleCheckAll}\n size=\"sm\"\n level={store.allChecked ? 'info' : 'default'}\n >\n 全选\n </Button>\n );\n }\n\n renderDragToggler() {\n const {store, multiple, selectable, env} = this.props;\n\n if (!store.draggable || store.items.length < 2) {\n return null;\n }\n\n return (\n <Button\n iconOnly\n key=\"dragging-toggle\"\n tooltip=\"对列表进行排序操作\"\n tooltipContainer={\n env && env.getModalContainer ? env.getModalContainer : undefined\n }\n size=\"sm\"\n active={store.dragging}\n onClick={(e: React.MouseEvent<any>) => {\n e.preventDefault();\n store.toggleDragging();\n store.dragging && store.clear();\n }}\n >\n <Icon icon=\"exchange\" className=\"icon r90\" />\n </Button>\n );\n }\n\n renderToolbar(toolbar: SchemaNode, index: number) {\n const type = (toolbar as Schema).type || (toolbar as string);\n\n if (type === 'drag-toggler') {\n this.renderedToolbars.push(type);\n return this.renderDragToggler();\n } else if (type === 'check-all') {\n this.renderedToolbars.push(type);\n return this.renderCheckAll();\n }\n\n return void 0;\n }\n\n render() {\n const {\n className,\n itemClassName,\n store,\n placeholder,\n render,\n multiple,\n listItem,\n onAction,\n hideCheckToggler,\n checkOnItemClick,\n affixHeader,\n classnames: cx,\n size,\n translate: __\n } = this.props;\n\n this.renderedToolbars = [];\n const heading = this.renderHeading();\n const header = this.renderHeader();\n\n return (\n <div\n className={cx('List', className, {\n [`List--${size}`]: size,\n 'List--unsaved': !!store.modified || !!store.moved\n })}\n ref={this.bodyRef}\n >\n {affixHeader && heading && header ? (\n <div className={cx('List-fixedTop')}>\n {header}\n {heading}\n </div>\n ) : null}\n\n {header}\n {heading}\n {store.items.length ? (\n <div className={cx('List-items')}>\n {store.items.map((item, index) =>\n render(\n `${index}`,\n {\n type: 'list-item',\n ...listItem\n },\n {\n key: item.index,\n className: cx(itemClassName, {\n 'is-checked': item.checked,\n 'is-modified': item.modified,\n 'is-moved': item.moved\n }),\n selectable: store.selectable,\n checkable: item.checkable,\n multiple,\n item,\n itemIndex: item.index,\n hideCheckToggler,\n checkOnItemClick,\n selected: item.checked,\n onCheck: this.handleCheck,\n dragging: store.dragging,\n onAction,\n data: item.locals,\n onQuickChange: store.dragging ? null : this.handleQuickChange,\n popOverContainer: this.getPopOverContainer\n }\n )\n )}\n </div>\n ) : (\n <div className={cx('List-placeholder')}>\n {render('placeholder', __(placeholder))}\n </div>\n )}\n\n {this.renderFooter()}\n </div>\n );\n }\n}\n\n@Renderer({\n type: 'list',\n storeType: ListStore.name\n})\nexport class ListRenderer extends List {\n dragging: boolean;\n selectable: boolean;\n selected: boolean;\n title?: string;\n subTitle?: string;\n desc?: string;\n avatar?: string;\n avatarClassName?: string;\n body?: SchemaNode;\n actions?: Array<Action>;\n onCheck: (item: IItem) => void;\n}\n\nexport interface ListItemProps\n extends RendererProps,\n Omit<ListItemSchema, 'type' | 'className'> {\n hideCheckToggler?: boolean;\n item: IItem;\n itemIndex?: number;\n checkable?: boolean;\n checkOnItemClick?: boolean;\n}\nexport class ListItem extends React.Component<ListItemProps> {\n static defaultProps: Partial<ListItemProps> = {\n avatarClassName: 'thumb-sm avatar m-r',\n titleClassName: 'h5'\n };\n\n static propsList: Array<string> = ['avatarClassName', 'titleClassName'];\n\n constructor(props: ListItemProps) {\n super(props);\n this.itemRender = this.itemRender.bind(this);\n this.handleAction = this.handleAction.bind(this);\n this.handleQuickChange = this.handleQuickChange.bind(this);\n this.handleClick = this.handleClick.bind(this);\n this.handleCheck = this.handleCheck.bind(this);\n }\n\n handleClick(e: React.MouseEvent<HTMLDivElement>) {\n const target: HTMLElement = e.target as HTMLElement;\n const ns = this.props.classPrefix;\n let formItem;\n\n if (\n !e.currentTarget.contains(target) ||\n ~['INPUT', 'TEXTAREA'].indexOf(target.tagName) ||\n ((formItem = target.closest(`button, a, .${ns}Form-item`)) &&\n e.currentTarget.contains(formItem))\n ) {\n return;\n }\n\n const item = this.props.item;\n this.props.onCheck && this.props.onCheck(item);\n }\n\n handleCheck() {\n const item = this.props.item;\n this.props.onCheck && this.props.onCheck(item);\n }\n\n handleAction(e: React.UIEvent<any>, action: Action, ctx: object) {\n const {onAction, item} = this.props;\n onAction && onAction(e, action, ctx || item.data);\n }\n\n handleQuickChange(\n values: object,\n saveImmediately?: boolean,\n savePristine?: boolean,\n resetOnFailed?: boolean\n ) {\n const {onQuickChange, item} = this.props;\n onQuickChange &&\n onQuickChange(item, values, saveImmediately, savePristine, resetOnFailed);\n }\n\n renderLeft() {\n const {\n dragging,\n selectable,\n selected,\n checkable,\n multiple,\n hideCheckToggler,\n checkOnItemClick,\n classnames: cx,\n classPrefix: ns\n } = this.props;\n\n if (dragging) {\n return (\n <div className={cx('ListItem-dragBtn')}>\n <Icon icon=\"drag-bar\" className=\"icon\" />\n </div>\n );\n } else if (selectable && !hideCheckToggler) {\n return (\n <div className={cx('ListItem-checkBtn')}>\n <Checkbox\n classPrefix={ns}\n type={multiple ? 'checkbox' : 'radio'}\n disabled={!checkable}\n checked={selected}\n onChange={checkOnItemClick ? noop : this.handleCheck}\n inline\n />\n </div>\n );\n }\n\n return null;\n }\n\n renderRight() {\n const {actions, render, data, dragging, classnames: cx} = this.props;\n\n if (Array.isArray(actions)) {\n return (\n <div className={cx('ListItem-actions')}>\n {actions.map((action, index) => {\n if (!isVisible(action, data)) {\n return null;\n }\n\n return render(\n `action/${index}`,\n {\n size: 'sm',\n level: 'link',\n type: 'button',\n ...(action as any) // todo 等后面修复了干掉 https://github.com/microsoft/TypeScript/pull/38577\n },\n {\n key: index,\n disabled: dragging || isDisabled(action, data),\n onAction: this.handleAction\n }\n );\n })}\n </div>\n );\n }\n\n return null;\n }\n\n renderChild(\n node: SchemaNode,\n region: string = 'body',\n key: any = 0\n ): React.ReactNode {\n const {render} = this.props;\n\n /*if (Array.isArray(node)) {\n return (\n <div className=\"hbox\" key={key}>\n {node.map((item, index) => (\n <div key={index} className=\"col\">{this.renderChild(item, `${region}/${index}`)}</div>\n ))}\n </div>\n );\n } else */ if (\n typeof node === 'string' ||\n typeof node === 'number'\n ) {\n return render(region, node, {key}) as JSX.Element;\n }\n\n const childNode: Schema = node as Schema;\n\n if (childNode.type === 'hbox' || childNode.type === 'grid') {\n return render(region, node, {\n key,\n itemRender: this.itemRender\n }) as JSX.Element;\n }\n\n return this.renderFeild(region, childNode, key, this.props);\n }\n\n itemRender(field: any, index: number, props: any) {\n return this.renderFeild(`column/${index}`, field, index, props);\n }\n\n renderFeild(region: string, field: any, key: any, props: any) {\n const render = props.render || this.props.render;\n const data = this.props.data;\n const cx = this.props.classnames;\n const itemIndex = this.props.itemIndex;\n\n const $$id = field.$$id ? `${field.$$id}-field` : '';\n\n if (!isVisible(field, data)) {\n return null;\n }\n\n return (\n <div key={key} className={cx('ListItem-field')}>\n {field && field.label ? (\n <label className={cx('ListItem-fieldLabel', field.labelClassName)}>\n {field.label}\n </label>\n ) : null}\n\n {\n render(\n region,\n {\n ...field,\n field: field,\n $$id,\n type: 'list-item-field'\n },\n {\n rowIndex: itemIndex,\n colIndex: key,\n className: cx('ListItem-fieldValue', field.className),\n value: field.name ? resolveVariable(field.name, data) : undefined,\n onAction: this.handleAction,\n onQuickChange: this.handleQuickChange\n }\n ) as JSX.Element\n }\n </div>\n );\n }\n\n renderBody() {\n const {body} = this.props;\n\n if (!body) {\n return null;\n } else if (Array.isArray(body)) {\n return body.map((child, index) =>\n this.renderChild(\n {\n type: 'plain',\n ...(typeof child === 'string' ? {type: 'tpl', tpl: child} : child)\n },\n `body/${index}`,\n index\n )\n );\n }\n\n return this.renderChild(body, 'body');\n }\n\n render() {\n const {\n className,\n data,\n avatar: avatarTpl,\n title: titleTpl,\n titleClassName,\n subTitle: subTitleTpl,\n desc: descTpl,\n avatarClassName,\n checkOnItemClick,\n render,\n checkable,\n classnames: cx,\n actionsPosition\n } = this.props;\n\n const avatar = filter(avatarTpl, data);\n const title = filter(titleTpl, data);\n const subTitle = filter(subTitleTpl, data);\n const desc = filter(descTpl, data);\n\n return (\n <div\n onClick={checkOnItemClick && checkable ? this.handleClick : undefined}\n className={cx(\n `ListItem ListItem--actions-at-${actionsPosition || 'right'}`,\n className\n )}\n >\n {this.renderLeft()}\n {this.renderRight()}\n {avatar ? (\n <span className={cx('ListItem-avatar', avatarClassName)}>\n <img src={avatar} alt=\"...\" />\n </span>\n ) : null}\n <div className={cx('ListItem-content')}>\n {title ? (\n <p className={cx('ListItem-title', titleClassName)}>{title}</p>\n ) : null}\n {subTitle ? (\n <div>\n <small className={cx('ListItem-subtitle')}>{subTitle}</small>\n </div>\n ) : null}\n {desc ? render('description', desc) : null}\n {this.renderBody()}\n </div>\n </div>\n );\n }\n}\n\n@Renderer({\n test: /(^|\\/)(?:list|list-group)\\/(?:.*\\/)?list-item$/,\n name: 'list-item'\n})\nexport class ListItemRenderer extends ListItem {\n static propsList = ['multiple', ...ListItem.propsList];\n}\n\n@Renderer({\n type: 'list-item-field'\n})\n@QuickEdit()\n@PopOver()\n@Copyable()\nexport class ListItemFieldRenderer extends TableCell {\n static defaultProps = {\n ...TableCell.defaultProps,\n wrapperComponent: 'div'\n };\n static propsList = [\n 'quickEdit',\n 'quickEditEnabledOn',\n 'popOver',\n 'copyable',\n 'inline',\n ...TableCell.propsList\n ];\n\n render() {\n let {\n className,\n render,\n style,\n wrapperComponent: Component,\n labelClassName,\n value,\n data,\n children,\n width,\n innerClassName,\n label,\n tabIndex,\n onKeyUp,\n field,\n ...rest\n } = this.props;\n\n const schema = {\n ...field,\n className: innerClassName,\n type: (field && field.type) || 'plain'\n };\n\n let body = children\n ? children\n : render('field', schema, {\n ...omit(rest, Object.keys(schema)),\n value,\n data\n });\n\n if (width) {\n style = style || {};\n style.width = style.width || width;\n body = (\n <div style={{width: !/%/.test(String(width)) ? width : ''}}>{body}</div>\n );\n }\n\n if (!Component) {\n return body as JSX.Element;\n }\n\n return (\n <Component\n style={style}\n className={className}\n tabIndex={tabIndex}\n onKeyUp={onKeyUp}\n >\n {body}\n </Component>\n );\n }\n}\n"
|
11
|
+
"import React from 'react';\nimport {findDOMNode} from 'react-dom';\nimport {Renderer, RendererProps} from '../factory';\nimport {SchemaNode, Schema, Action} from '../types';\nimport {filter} from '../utils/tpl';\nimport cx from 'classnames';\nimport Button from '../components/Button';\nimport Checkbox from '../components/Checkbox';\nimport {ListStore, IListStore, IItem} from '../store/list';\nimport {observer} from 'mobx-react';\nimport omit = require('lodash/omit');\nimport {\n anyChanged,\n getScrollParent,\n difference,\n isVisible,\n isDisabled,\n noop,\n isClickOnInput\n} from '../utils/helper';\nimport {\n isPureVariable,\n resolveVariable,\n resolveVariableAndFilter\n} from '../utils/tpl-builtin';\nimport QuickEdit, {SchemaQuickEdit} from './QuickEdit';\nimport PopOver, {SchemaPopOver} from './PopOver';\nimport Sortable from 'sortablejs';\nimport {TableCell} from './Table';\nimport Copyable, {SchemaCopyable} from './Copyable';\nimport {Icon} from '../components/icons';\nimport {\n BaseSchema,\n SchemaClassName,\n SchemaCollection,\n SchemaExpression,\n SchemaObject,\n SchemaTokenizeableString,\n SchemaTpl,\n SchemaUrlPath\n} from '../Schema';\nimport {ActionSchema} from './Action';\nimport {SchemaRemark} from './Remark';\n\n/**\n * 不指定类型默认就是文本\n */\nexport type ListBodyFieldObject = {\n /**\n * 列标题\n */\n label?: string;\n\n /**\n * label 类名\n */\n labelClassName?: SchemaClassName;\n\n /**\n * 绑定字段名\n */\n name?: string;\n\n /**\n * 配置查看详情功能\n */\n popOver?: SchemaPopOver;\n\n /**\n * 配置快速编辑功能\n */\n quickEdit?: SchemaQuickEdit;\n\n /**\n * 配置点击复制功能\n */\n copyable?: SchemaCopyable;\n};\n\nexport type ListBodyField = SchemaObject & ListBodyFieldObject;\n\nexport interface ListItemSchema extends Omit<BaseSchema, 'type'> {\n actions?: Array<ActionSchema>;\n\n /**\n * 操作位置,默认在右侧,可以设置成左侧。\n */\n actionsPosition?: 'left' | 'right';\n\n /**\n * 图片地址\n */\n avatar?: SchemaUrlPath;\n\n /**\n * 内容区域\n */\n body?: Array<ListBodyField | ListBodyFieldObject>;\n\n /**\n * 描述\n */\n desc?: SchemaTpl;\n\n /**\n * tooltip 说明\n */\n remark?: SchemaRemark;\n\n /**\n * 标题\n */\n title?: SchemaTpl;\n\n /**\n * 副标题\n */\n subTitle?: SchemaTpl;\n}\n\n/**\n * List 列表展示控件。\n * 文档:https://baidu.gitee.io/amis/docs/components/card\n */\nexport interface ListSchema extends BaseSchema {\n /**\n * 指定为 List 列表展示控件。\n */\n type: 'list' | 'static-list';\n\n /**\n * 标题\n */\n title?: SchemaTpl;\n\n /**\n * 底部区域\n */\n footer?: SchemaCollection;\n\n /**\n * 底部区域类名\n */\n footerClassName?: SchemaClassName;\n\n /**\n * 顶部区域\n */\n header?: SchemaCollection;\n\n /**\n * 顶部区域类名\n */\n headerClassName?: SchemaClassName;\n\n /**\n * 单条数据展示内容配置\n */\n listItem?: ListItemSchema;\n\n /**\n * 数据源: 绑定当前环境变量\n *\n * @default ${items}\n */\n source?: SchemaTokenizeableString;\n\n /**\n * 是否显示底部\n */\n showFooter?: boolean;\n\n /**\n * 是否显示头部\n */\n showHeader?: boolean;\n\n /**\n * 无数据提示\n *\n * @default 暂无数据\n */\n placeholder?: SchemaTpl;\n\n /**\n * 是否隐藏勾选框\n */\n hideCheckToggler?: boolean;\n\n /**\n * 是否固顶\n */\n affixHeader?: boolean;\n\n /**\n * 配置某项是否可以点选\n */\n itemCheckableOn?: SchemaExpression;\n\n /**\n * 配置某项是否可拖拽排序,前提是要开启拖拽功能\n */\n itemDraggableOn?: SchemaExpression;\n\n /**\n * 点击卡片的时候是否勾选卡片。\n */\n checkOnItemClick?: boolean;\n\n /**\n * 可以用来作为值的字段\n */\n valueField?: string;\n\n /**\n * 大小\n */\n size?: 'sm' | 'base';\n\n /**\n * 点击列表项的行为\n */\n itemAction?: ActionSchema;\n}\n\nexport interface Column {\n type: string;\n [propName: string]: any;\n}\n\nexport interface ListProps\n extends RendererProps,\n Omit<ListSchema, 'type' | 'className'> {\n store: IListStore;\n selectable?: boolean;\n selected?: Array<any>;\n draggable?: boolean;\n onSelect: (\n selectedItems: Array<object>,\n unSelectedItems: Array<object>\n ) => void;\n onSave?: (\n items: Array<object> | object,\n diff: Array<object> | object,\n rowIndexes: Array<number> | number,\n unModifiedItems?: Array<object>,\n rowOrigins?: Array<object> | object,\n resetOnFailed?: boolean\n ) => void;\n onSaveOrder?: (moved: Array<object>, items: Array<object>) => void;\n onQuery: (values: object) => void;\n}\n\nexport default class List extends React.Component<ListProps, object> {\n static propsList: Array<keyof ListProps> = [\n 'header',\n 'headerToolbarRender',\n 'footer',\n 'footerToolbarRender',\n 'placeholder',\n 'source',\n 'selectable',\n 'headerClassName',\n 'footerClassName',\n 'hideQuickSaveBtn',\n 'hideCheckToggler',\n 'itemCheckableOn',\n 'itemDraggableOn',\n 'actions',\n 'items',\n 'valueField'\n ];\n static defaultProps: Partial<ListProps> = {\n className: '',\n placeholder: 'placeholder.noData',\n source: '$items',\n selectable: false,\n headerClassName: '',\n footerClassName: '',\n affixHeader: true\n };\n\n dragTip?: HTMLElement;\n sortable?: Sortable;\n parentNode?: any;\n body?: any;\n renderedToolbars: Array<string>;\n\n constructor(props: ListProps) {\n super(props);\n\n this.handleAction = this.handleAction.bind(this);\n this.handleCheck = this.handleCheck.bind(this);\n this.handleCheckAll = this.handleCheckAll.bind(this);\n this.handleQuickChange = this.handleQuickChange.bind(this);\n this.handleSave = this.handleSave.bind(this);\n this.handleSaveOrder = this.handleSaveOrder.bind(this);\n this.reset = this.reset.bind(this);\n this.dragTipRef = this.dragTipRef.bind(this);\n this.getPopOverContainer = this.getPopOverContainer.bind(this);\n this.affixDetect = this.affixDetect.bind(this);\n this.bodyRef = this.bodyRef.bind(this);\n this.renderToolbar = this.renderToolbar.bind(this);\n\n const {\n store,\n selectable,\n draggable,\n orderBy,\n orderDir,\n multiple,\n hideCheckToggler,\n itemCheckableOn,\n itemDraggableOn\n } = props;\n\n store.update({\n multiple,\n selectable,\n draggable,\n orderBy,\n orderDir,\n hideCheckToggler,\n itemCheckableOn,\n itemDraggableOn\n });\n\n List.syncItems(store, this.props) && this.syncSelected();\n }\n\n static syncItems(store: IListStore, props: ListProps, prevProps?: ListProps) {\n const source = props.source;\n const value = props.value || props.items;\n let items: Array<object> = [];\n let updateItems = false;\n\n if (\n Array.isArray(value) &&\n (!prevProps || (prevProps.value || prevProps.items) !== value)\n ) {\n items = value;\n updateItems = true;\n } else if (typeof source === 'string') {\n const resolved = resolveVariableAndFilter(source, props.data, '| raw');\n const prev = prevProps\n ? resolveVariableAndFilter(source, prevProps.data, '| raw')\n : null;\n\n if (prev && prev === resolved) {\n updateItems = false;\n } else if (Array.isArray(resolved)) {\n items = resolved;\n updateItems = true;\n }\n }\n\n updateItems && store.initItems(items);\n Array.isArray(props.selected) &&\n store.updateSelected(props.selected, props.valueField);\n return updateItems;\n }\n\n componentDidMount() {\n let parent: HTMLElement | Window | null = getScrollParent(\n findDOMNode(this) as HTMLElement\n );\n if (!parent || parent === document.body) {\n parent = window;\n }\n\n this.parentNode = parent;\n this.affixDetect();\n parent.addEventListener('scroll', this.affixDetect);\n window.addEventListener('resize', this.affixDetect);\n }\n\n componentDidUpdate(prevProps: ListProps) {\n const props = this.props;\n const store = props.store;\n\n if (\n anyChanged(\n [\n 'selectable',\n 'draggable',\n 'orderBy',\n 'orderDir',\n 'multiple',\n 'hideCheckToggler',\n 'itemCheckableOn',\n 'itemDraggableOn'\n ],\n prevProps,\n props\n )\n ) {\n store.update({\n multiple: props.multiple,\n selectable: props.selectable,\n draggable: props.draggable,\n orderBy: props.orderBy,\n orderDir: props.orderDir,\n hideCheckToggler: props.hideCheckToggler,\n itemCheckableOn: props.itemCheckableOn,\n itemDraggableOn: props.itemDraggableOn\n });\n }\n\n if (\n anyChanged(['source', 'value', 'items'], prevProps, props) ||\n (!props.value &&\n !props.items &&\n (props.data !== prevProps.data ||\n (typeof props.source === 'string' && isPureVariable(props.source))))\n ) {\n List.syncItems(store, props, prevProps) && this.syncSelected();\n } else if (prevProps.selected !== props.selected) {\n store.updateSelected(props.selected || [], props.valueField);\n }\n }\n\n componentWillUnmount() {\n const parent = this.parentNode;\n parent && parent.removeEventListener('scroll', this.affixDetect);\n window.removeEventListener('resize', this.affixDetect);\n }\n\n bodyRef(ref: HTMLDivElement) {\n this.body = ref;\n }\n\n affixDetect() {\n if (!this.props.affixHeader || !this.body) {\n return;\n }\n\n const ns = this.props.classPrefix;\n const dom = findDOMNode(this) as HTMLElement;\n const afixedDom = dom.querySelector(`.${ns}List-fixedTop`) as HTMLElement;\n\n if (!afixedDom) {\n return;\n }\n\n const clip = (this.body as HTMLElement).getBoundingClientRect();\n const offsetY =\n this.props.affixOffsetTop ?? this.props.env.affixOffsetTop ?? 0;\n const affixed = clip.top < offsetY && clip.top + clip.height - 40 > offsetY;\n\n this.body.offsetWidth &&\n (afixedDom.style.cssText = `top: ${offsetY}px;width: ${this.body.offsetWidth}px;`);\n affixed ? afixedDom.classList.add('in') : afixedDom.classList.remove('in');\n // store.markHeaderAffix(clip.top < offsetY && (clip.top + clip.height - 40) > offsetY);\n }\n\n getPopOverContainer() {\n return findDOMNode(this);\n }\n\n handleAction(e: React.UIEvent<any>, action: Action, ctx: object) {\n const {onAction} = this.props;\n\n // todo\n onAction(e, action, ctx);\n }\n\n handleCheck(item: IItem) {\n item.toggle();\n this.syncSelected();\n }\n\n handleCheckAll() {\n const {store} = this.props;\n\n store.toggleAll();\n this.syncSelected();\n }\n\n syncSelected() {\n const {store, onSelect} = this.props;\n\n onSelect &&\n onSelect(\n store.selectedItems.map(item => item.data),\n store.unSelectedItems.map(item => item.data)\n );\n }\n\n handleQuickChange(\n item: IItem,\n values: object,\n saveImmediately?: boolean | any,\n savePristine?: boolean,\n resetOnFailed?: boolean\n ) {\n item.change(values, savePristine);\n\n if (!saveImmediately || savePristine) {\n return;\n }\n\n if (saveImmediately && saveImmediately.api) {\n this.props.onAction(\n null,\n {\n actionType: 'ajax',\n api: saveImmediately.api\n },\n values\n );\n return;\n }\n\n const {onSave, primaryField} = this.props;\n\n if (!onSave) {\n return;\n }\n\n onSave(\n item.data,\n difference(item.data, item.pristine, ['id', primaryField]),\n item.index,\n undefined,\n item.pristine,\n resetOnFailed\n );\n }\n\n handleSave() {\n const {store, onSave, primaryField} = this.props;\n\n if (!onSave || !store.modifiedItems.length) {\n return;\n }\n\n const items = store.modifiedItems.map(item => item.data);\n const itemIndexes = store.modifiedItems.map(item => item.index);\n const diff = store.modifiedItems.map(item =>\n difference(item.data, item.pristine, ['id', primaryField])\n );\n const unModifiedItems = store.items\n .filter(item => !item.modified)\n .map(item => item.data);\n onSave(\n items,\n diff,\n itemIndexes,\n unModifiedItems,\n store.modifiedItems.map(item => item.pristine)\n );\n }\n\n handleSaveOrder() {\n const {store, onSaveOrder} = this.props;\n\n if (!onSaveOrder || !store.movedItems.length) {\n return;\n }\n\n onSaveOrder(\n store.movedItems.map(item => item.data),\n store.items.map(item => item.data)\n );\n }\n\n reset() {\n const {store} = this.props;\n\n store.reset();\n }\n\n bulkUpdate(value: object, items: Array<object>) {\n const {store} = this.props;\n\n const items2 = store.items.filter(item => ~items.indexOf(item.pristine));\n items2.forEach(item => item.change(value));\n }\n\n getSelected() {\n const {store} = this.props;\n\n return store.selectedItems.map(item => item.data);\n }\n\n dragTipRef(ref: any) {\n if (!this.dragTip && ref) {\n this.initDragging();\n } else if (this.dragTip && !ref) {\n this.destroyDragging();\n }\n\n this.dragTip = ref;\n }\n\n initDragging() {\n const store = this.props.store;\n const dom = findDOMNode(this) as HTMLElement;\n const ns = this.props.classPrefix;\n this.sortable = new Sortable(\n dom.querySelector(`.${ns}List-items`) as HTMLElement,\n {\n group: 'table',\n animation: 150,\n handle: `.${ns}ListItem-dragBtn`,\n ghostClass: 'is-dragging',\n onEnd: (e: any) => {\n // 没有移动\n if (e.newIndex === e.oldIndex) {\n return;\n }\n\n const parent = e.to as HTMLElement;\n if (e.oldIndex < parent.childNodes.length - 1) {\n parent.insertBefore(e.item, parent.childNodes[e.oldIndex]);\n } else {\n parent.appendChild(e.item);\n }\n\n store.exchange(e.oldIndex, e.newIndex);\n }\n }\n );\n }\n\n destroyDragging() {\n this.sortable && this.sortable.destroy();\n }\n\n renderActions(region: string) {\n let {\n actions,\n render,\n store,\n multiple,\n selectable,\n env,\n classPrefix: ns,\n classnames: cx\n } = this.props;\n\n let btn;\n actions = Array.isArray(actions) ? actions.concat() : [];\n\n if (\n !~this.renderedToolbars.indexOf('check-all') &&\n (btn = this.renderCheckAll())\n ) {\n actions.unshift({\n type: 'button',\n children: btn\n });\n }\n\n if (\n region === 'header' &&\n !~this.renderedToolbars.indexOf('drag-toggler') &&\n (btn = this.renderDragToggler())\n ) {\n actions.unshift({\n type: 'button',\n children: btn\n });\n }\n\n return Array.isArray(actions) && actions.length ? (\n <div className={cx('List-actions')}>\n {actions.map((action, key) =>\n render(\n `action/${key}`,\n {\n type: 'button',\n ...action\n },\n {\n onAction: this.handleAction,\n key,\n btnDisabled: store.dragging\n }\n )\n )}\n </div>\n ) : null;\n }\n\n renderHeading() {\n let {title, store, hideQuickSaveBtn, classnames: cx, data} = this.props;\n\n if (title || (store.modified && !hideQuickSaveBtn) || store.moved) {\n return (\n <div className={cx('List-heading')}>\n {store.modified && !hideQuickSaveBtn ? (\n <span>\n {`当前有 ${store.modified} 条记录修改了内容, 但并没有提交。请选择:`}\n <button\n type=\"button\"\n className={cx('Button Button--xs Button--success m-l-sm')}\n onClick={this.handleSave}\n >\n <Icon icon=\"check\" className=\"icon m-r-xs\" />\n 提交\n </button>\n <button\n type=\"button\"\n className={cx('Button Button--xs Button--danger m-l-sm')}\n onClick={this.reset}\n >\n <Icon icon=\"close\" className=\"icon m-r-xs\" />\n 放弃\n </button>\n </span>\n ) : store.moved ? (\n <span>\n {`当前有 ${store.moved} 条记录修改了顺序, 但并没有提交。请选择:`}\n <button\n type=\"button\"\n className={cx('Button Button--xs Button--success m-l-sm')}\n onClick={this.handleSaveOrder}\n >\n <Icon icon=\"check\" className=\"icon m-r-xs\" />\n 提交\n </button>\n <button\n type=\"button\"\n className={cx('Button Button--xs Button--danger m-l-sm')}\n onClick={this.reset}\n >\n <Icon icon=\"close\" className=\"icon m-r-xs\" />\n 放弃\n </button>\n </span>\n ) : title ? (\n filter(title, data)\n ) : (\n ''\n )}\n </div>\n );\n }\n\n return null;\n }\n\n renderHeader() {\n const {\n header,\n headerClassName,\n headerToolbar,\n headerToolbarRender,\n render,\n showHeader,\n store,\n classnames: cx\n } = this.props;\n\n if (showHeader === false) {\n return null;\n }\n\n const child = headerToolbarRender\n ? headerToolbarRender(\n {\n ...this.props,\n selectedItems: store.selectedItems.map(item => item.data),\n items: store.items.map(item => item.data),\n unSelectedItems: store.unSelectedItems.map(item => item.data)\n },\n this.renderToolbar\n )\n : null;\n const actions = this.renderActions('header');\n const toolbarNode =\n actions || child || store.dragging ? (\n <div\n className={cx('List-toolbar', headerClassName)}\n key=\"header-toolbar\"\n >\n {actions}\n {child}\n {store.dragging ? (\n <div className={cx('List-dragTip')} ref={this.dragTipRef}>\n 请拖动左边的按钮进行排序\n </div>\n ) : null}\n </div>\n ) : null;\n const headerNode =\n header && (!Array.isArray(header) || header.length) ? (\n <div className={cx('List-header', headerClassName)} key=\"header\">\n {render('header', header)}\n </div>\n ) : null;\n return headerNode && toolbarNode\n ? [headerNode, toolbarNode]\n : headerNode || toolbarNode || null;\n }\n\n renderFooter() {\n const {\n footer,\n footerClassName,\n footerToolbar,\n footerToolbarRender,\n render,\n showFooter,\n store,\n classnames: cx\n } = this.props;\n\n if (showFooter === false) {\n return null;\n }\n\n const child = footerToolbarRender\n ? footerToolbarRender(\n {\n ...this.props,\n selectedItems: store.selectedItems.map(item => item.data),\n items: store.items.map(item => item.data),\n unSelectedItems: store.unSelectedItems.map(item => item.data)\n },\n this.renderToolbar\n )\n : null;\n const actions = this.renderActions('footer');\n\n const toolbarNode =\n actions || child ? (\n <div\n className={cx('List-toolbar', footerClassName)}\n key=\"footer-toolbar\"\n >\n {actions}\n {child}\n </div>\n ) : null;\n const footerNode =\n footer && (!Array.isArray(footer) || footer.length) ? (\n <div className={cx('List-footer', footerClassName)} key=\"footer\">\n {render('footer', footer)}\n </div>\n ) : null;\n return footerNode && toolbarNode\n ? [toolbarNode, footerNode]\n : footerNode || toolbarNode || null;\n }\n\n renderCheckAll() {\n const {store, multiple, selectable} = this.props;\n\n if (\n !store.selectable ||\n !multiple ||\n !selectable ||\n store.dragging ||\n !store.items.length\n ) {\n return null;\n }\n\n return (\n <Button\n key=\"checkall\"\n tooltip=\"切换全选\"\n onClick={this.handleCheckAll}\n size=\"sm\"\n level={store.allChecked ? 'info' : 'default'}\n >\n 全选\n </Button>\n );\n }\n\n renderDragToggler() {\n const {store, multiple, selectable, env} = this.props;\n\n if (!store.draggable || store.items.length < 2) {\n return null;\n }\n\n return (\n <Button\n iconOnly\n key=\"dragging-toggle\"\n tooltip=\"对列表进行排序操作\"\n tooltipContainer={\n env && env.getModalContainer ? env.getModalContainer : undefined\n }\n size=\"sm\"\n active={store.dragging}\n onClick={(e: React.MouseEvent<any>) => {\n e.preventDefault();\n store.toggleDragging();\n store.dragging && store.clear();\n }}\n >\n <Icon icon=\"exchange\" className=\"icon r90\" />\n </Button>\n );\n }\n\n renderToolbar(toolbar: SchemaNode, index: number) {\n const type = (toolbar as Schema).type || (toolbar as string);\n\n if (type === 'drag-toggler') {\n this.renderedToolbars.push(type);\n return this.renderDragToggler();\n } else if (type === 'check-all') {\n this.renderedToolbars.push(type);\n return this.renderCheckAll();\n }\n\n return void 0;\n }\n\n render() {\n const {\n className,\n itemClassName,\n store,\n placeholder,\n render,\n multiple,\n listItem,\n onAction,\n hideCheckToggler,\n checkOnItemClick,\n itemAction,\n affixHeader,\n classnames: cx,\n size,\n translate: __\n } = this.props;\n\n this.renderedToolbars = [];\n const heading = this.renderHeading();\n const header = this.renderHeader();\n\n return (\n <div\n className={cx('List', className, {\n [`List--${size}`]: size,\n 'List--unsaved': !!store.modified || !!store.moved\n })}\n ref={this.bodyRef}\n >\n {affixHeader && heading && header ? (\n <div className={cx('List-fixedTop')}>\n {header}\n {heading}\n </div>\n ) : null}\n\n {header}\n {heading}\n {store.items.length ? (\n <div className={cx('List-items')}>\n {store.items.map((item, index) =>\n render(\n `${index}`,\n {\n type: 'list-item',\n ...listItem\n },\n {\n key: item.index,\n className: cx(itemClassName, {\n 'is-checked': item.checked,\n 'is-modified': item.modified,\n 'is-moved': item.moved\n }),\n selectable: store.selectable,\n checkable: item.checkable,\n multiple,\n item,\n itemIndex: item.index,\n hideCheckToggler,\n checkOnItemClick,\n itemAction,\n selected: item.checked,\n onCheck: this.handleCheck,\n dragging: store.dragging,\n onAction,\n data: item.locals,\n onQuickChange: store.dragging ? null : this.handleQuickChange,\n popOverContainer: this.getPopOverContainer\n }\n )\n )}\n </div>\n ) : (\n <div className={cx('List-placeholder')}>\n {render('placeholder', __(placeholder))}\n </div>\n )}\n\n {this.renderFooter()}\n </div>\n );\n }\n}\n\n@Renderer({\n type: 'list',\n storeType: ListStore.name\n})\nexport class ListRenderer extends List {\n dragging: boolean;\n selectable: boolean;\n selected: boolean;\n title?: string;\n subTitle?: string;\n desc?: string;\n avatar?: string;\n avatarClassName?: string;\n body?: SchemaNode;\n actions?: Array<Action>;\n onCheck: (item: IItem) => void;\n}\n\nexport interface ListItemProps\n extends RendererProps,\n Omit<ListItemSchema, 'type' | 'className'> {\n hideCheckToggler?: boolean;\n item: IItem;\n itemIndex?: number;\n checkable?: boolean;\n checkOnItemClick?: boolean;\n itemAction?: ActionSchema;\n}\nexport class ListItem extends React.Component<ListItemProps> {\n static defaultProps: Partial<ListItemProps> = {\n avatarClassName: 'thumb-sm avatar m-r',\n titleClassName: 'h5'\n };\n\n static propsList: Array<string> = [\n 'avatarClassName',\n 'titleClassName',\n 'itemAction'\n ];\n\n constructor(props: ListItemProps) {\n super(props);\n this.itemRender = this.itemRender.bind(this);\n this.handleAction = this.handleAction.bind(this);\n this.handleQuickChange = this.handleQuickChange.bind(this);\n this.handleClick = this.handleClick.bind(this);\n this.handleCheck = this.handleCheck.bind(this);\n }\n\n handleClick(e: React.MouseEvent<HTMLDivElement>) {\n if (isClickOnInput(e)) {\n return;\n }\n const {itemAction, onAction, item} = this.props;\n if (itemAction) {\n onAction && onAction(e, itemAction, item?.data);\n return;\n }\n\n this.props.onCheck && this.props.onCheck(item);\n }\n\n handleCheck() {\n const item = this.props.item;\n this.props.onCheck && this.props.onCheck(item);\n }\n\n handleAction(e: React.UIEvent<any>, action: Action, ctx: object) {\n const {onAction, item} = this.props;\n onAction && onAction(e, action, ctx || item.data);\n }\n\n handleQuickChange(\n values: object,\n saveImmediately?: boolean,\n savePristine?: boolean,\n resetOnFailed?: boolean\n ) {\n const {onQuickChange, item} = this.props;\n onQuickChange &&\n onQuickChange(item, values, saveImmediately, savePristine, resetOnFailed);\n }\n\n renderLeft() {\n const {\n dragging,\n selectable,\n selected,\n checkable,\n multiple,\n hideCheckToggler,\n checkOnItemClick,\n classnames: cx,\n classPrefix: ns\n } = this.props;\n\n if (dragging) {\n return (\n <div className={cx('ListItem-dragBtn')}>\n <Icon icon=\"drag-bar\" className=\"icon\" />\n </div>\n );\n } else if (selectable && !hideCheckToggler) {\n return (\n <div className={cx('ListItem-checkBtn')}>\n <Checkbox\n classPrefix={ns}\n type={multiple ? 'checkbox' : 'radio'}\n disabled={!checkable}\n checked={selected}\n onChange={checkOnItemClick ? noop : this.handleCheck}\n inline\n />\n </div>\n );\n }\n\n return null;\n }\n\n renderRight() {\n const {actions, render, data, dragging, classnames: cx} = this.props;\n\n if (Array.isArray(actions)) {\n return (\n <div className={cx('ListItem-actions')}>\n {actions.map((action, index) => {\n if (!isVisible(action, data)) {\n return null;\n }\n\n return render(\n `action/${index}`,\n {\n size: 'sm',\n level: 'link',\n type: 'button',\n ...(action as any) // todo 等后面修复了干掉 https://github.com/microsoft/TypeScript/pull/38577\n },\n {\n key: index,\n disabled: dragging || isDisabled(action, data),\n onAction: this.handleAction\n }\n );\n })}\n </div>\n );\n }\n\n return null;\n }\n\n renderChild(\n node: SchemaNode,\n region: string = 'body',\n key: any = 0\n ): React.ReactNode {\n const {render} = this.props;\n\n /*if (Array.isArray(node)) {\n return (\n <div className=\"hbox\" key={key}>\n {node.map((item, index) => (\n <div key={index} className=\"col\">{this.renderChild(item, `${region}/${index}`)}</div>\n ))}\n </div>\n );\n } else */ if (typeof node === 'string' || typeof node === 'number') {\n return render(region, node, {key}) as JSX.Element;\n }\n\n const childNode: Schema = node as Schema;\n\n if (childNode.type === 'hbox' || childNode.type === 'grid') {\n return render(region, node, {\n key,\n itemRender: this.itemRender\n }) as JSX.Element;\n }\n\n return this.renderFeild(region, childNode, key, this.props);\n }\n\n itemRender(field: any, index: number, props: any) {\n return this.renderFeild(`column/${index}`, field, index, props);\n }\n\n renderFeild(region: string, field: any, key: any, props: any) {\n const render = props.render || this.props.render;\n const data = this.props.data;\n const cx = this.props.classnames;\n const itemIndex = this.props.itemIndex;\n\n const $$id = field.$$id ? `${field.$$id}-field` : '';\n\n if (!isVisible(field, data)) {\n return null;\n }\n\n return (\n <div key={key} className={cx('ListItem-field')}>\n {field && field.label ? (\n <label className={cx('ListItem-fieldLabel', field.labelClassName)}>\n {field.label}\n </label>\n ) : null}\n\n {\n render(\n region,\n {\n ...field,\n field: field,\n $$id,\n type: 'list-item-field'\n },\n {\n rowIndex: itemIndex,\n colIndex: key,\n className: cx('ListItem-fieldValue', field.className),\n value: field.name ? resolveVariable(field.name, data) : undefined,\n onAction: this.handleAction,\n onQuickChange: this.handleQuickChange\n }\n ) as JSX.Element\n }\n </div>\n );\n }\n\n renderBody() {\n const {body} = this.props;\n\n if (!body) {\n return null;\n } else if (Array.isArray(body)) {\n return body.map((child, index) =>\n this.renderChild(\n {\n type: 'plain',\n ...(typeof child === 'string' ? {type: 'tpl', tpl: child} : child)\n },\n `body/${index}`,\n index\n )\n );\n }\n\n return this.renderChild(body, 'body');\n }\n\n render() {\n const {\n className,\n data,\n avatar: avatarTpl,\n title: titleTpl,\n titleClassName,\n subTitle: subTitleTpl,\n desc: descTpl,\n avatarClassName,\n checkOnItemClick,\n render,\n checkable,\n classnames: cx,\n actionsPosition,\n itemAction\n } = this.props;\n\n const avatar = filter(avatarTpl, data);\n const title = filter(titleTpl, data);\n const subTitle = filter(subTitleTpl, data);\n const desc = filter(descTpl, data);\n\n return (\n <div\n onClick={\n (checkOnItemClick && checkable) || itemAction\n ? this.handleClick\n : undefined\n }\n className={cx(\n `ListItem ListItem--actions-at-${actionsPosition || 'right'}`,\n {\n 'ListItem--hasItemAction': itemAction\n },\n className\n )}\n >\n {this.renderLeft()}\n {this.renderRight()}\n {avatar ? (\n <span className={cx('ListItem-avatar', avatarClassName)}>\n <img src={avatar} alt=\"...\" />\n </span>\n ) : null}\n <div className={cx('ListItem-content')}>\n {title ? (\n <p className={cx('ListItem-title', titleClassName)}>{title}</p>\n ) : null}\n {subTitle ? (\n <div>\n <small className={cx('ListItem-subtitle')}>{subTitle}</small>\n </div>\n ) : null}\n {desc ? render('description', desc) : null}\n {this.renderBody()}\n </div>\n </div>\n );\n }\n}\n\n@Renderer({\n test: /(^|\\/)(?:list|list-group)\\/(?:.*\\/)?list-item$/,\n name: 'list-item'\n})\nexport class ListItemRenderer extends ListItem {\n static propsList = ['multiple', ...ListItem.propsList];\n}\n\n@Renderer({\n type: 'list-item-field'\n})\n@QuickEdit()\n@PopOver()\n@Copyable()\nexport class ListItemFieldRenderer extends TableCell {\n static defaultProps = {\n ...TableCell.defaultProps,\n wrapperComponent: 'div'\n };\n static propsList = [\n 'quickEdit',\n 'quickEditEnabledOn',\n 'popOver',\n 'copyable',\n 'inline',\n ...TableCell.propsList\n ];\n\n render() {\n let {\n className,\n render,\n style,\n wrapperComponent: Component,\n labelClassName,\n value,\n data,\n children,\n width,\n innerClassName,\n label,\n tabIndex,\n onKeyUp,\n field,\n ...rest\n } = this.props;\n\n const schema = {\n ...field,\n className: innerClassName,\n type: (field && field.type) || 'plain'\n };\n\n let body = children\n ? children\n : render('field', schema, {\n ...omit(rest, Object.keys(schema)),\n value,\n data\n });\n\n if (width) {\n style = style || {};\n style.width = style.width || width;\n body = (\n <div style={{width: !/%/.test(String(width)) ? width : ''}}>{body}</div>\n );\n }\n\n if (!Component) {\n return body as JSX.Element;\n }\n\n return (\n <Component\n style={style}\n className={className}\n tabIndex={tabIndex}\n onKeyUp={onKeyUp}\n >\n {body}\n </Component>\n );\n }\n}\n"
|
12
12
|
]
|
13
13
|
}
|