amis 1.6.2 → 1.6.3
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/Schema.d.ts +3 -2
- package/lib/Schema.js.map +1 -1
- package/lib/components/CalendarMobile.d.ts +84 -84
- package/lib/components/Card.d.ts +20 -20
- package/lib/components/Collapse.js +3 -2
- package/lib/components/Collapse.js.map +2 -2
- package/lib/components/ColorPicker.d.ts +84 -84
- package/lib/components/ColorPicker.js +1 -1
- package/lib/components/ColorPicker.js.map +2 -2
- package/lib/components/DatePicker.d.ts +84 -84
- package/lib/components/DatePicker.js +1 -1
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/DateRangePicker.d.ts +84 -84
- package/lib/components/DateRangePicker.js +2 -2
- package/lib/components/DateRangePicker.js.map +2 -2
- package/lib/components/Editor.d.ts +84 -84
- package/lib/components/ListGroup.d.ts +21 -21
- package/lib/components/LocationPicker.d.ts +84 -84
- package/lib/components/LocationPicker.js +1 -1
- package/lib/components/LocationPicker.js.map +2 -2
- package/lib/components/MonthRangePicker.d.ts +84 -84
- package/lib/components/PickerContainer.d.ts +1 -0
- package/lib/components/PickerContainer.js +2 -2
- package/lib/components/PickerContainer.js.map +2 -2
- package/lib/components/ResultBox.js +1 -1
- package/lib/components/ResultBox.js.map +2 -2
- package/lib/components/Select.d.ts +237 -237
- package/lib/components/Tabs.d.ts +3 -2
- package/lib/components/Tabs.js.map +2 -2
- package/lib/components/calendar/Calendar.js +1 -2
- package/lib/components/calendar/Calendar.js.map +2 -2
- package/lib/components/condition-builder/Expression.d.ts +2 -0
- package/lib/components/condition-builder/Expression.js +2 -2
- package/lib/components/condition-builder/Expression.js.map +2 -2
- package/lib/components/condition-builder/Group.d.ts +3 -0
- package/lib/components/condition-builder/Group.js +3 -3
- package/lib/components/condition-builder/Group.js.map +2 -2
- package/lib/components/condition-builder/GroupOrItem.d.ts +2 -0
- package/lib/components/condition-builder/GroupOrItem.js +2 -2
- package/lib/components/condition-builder/GroupOrItem.js.map +2 -2
- package/lib/components/condition-builder/Item.d.ts +2 -0
- package/lib/components/condition-builder/Item.js +4 -4
- package/lib/components/condition-builder/Item.js.map +2 -2
- package/lib/components/condition-builder/Value.d.ts +2 -0
- package/lib/components/condition-builder/Value.js +15 -2
- package/lib/components/condition-builder/Value.js.map +2 -2
- package/lib/components/condition-builder/index.d.ts +3 -0
- package/lib/components/condition-builder/index.js +2 -2
- package/lib/components/condition-builder/index.js.map +2 -2
- package/lib/components/formula/Editor.d.ts +88 -84
- package/lib/components/formula/Editor.js +22 -25
- package/lib/components/formula/Editor.js.map +2 -2
- package/lib/components/formula/FuncList.d.ts +3 -0
- package/lib/components/formula/FuncList.js +19 -9
- package/lib/components/formula/FuncList.js.map +2 -2
- package/lib/components/formula/Picker.d.ts +44 -0
- package/lib/components/formula/Picker.js +33 -8
- package/lib/components/formula/Picker.js.map +2 -2
- package/lib/components/formula/VariableList.d.ts +8 -1
- package/lib/components/formula/VariableList.js +13 -4
- package/lib/components/formula/VariableList.js.map +2 -2
- package/lib/components/icons.d.ts +3 -1
- package/lib/components/icons.js +7 -1
- package/lib/components/icons.js.map +2 -2
- package/lib/env.d.ts +4 -0
- package/lib/env.js.map +2 -2
- package/lib/factory.d.ts +4 -0
- package/lib/factory.js +5 -1
- package/lib/factory.js.map +2 -2
- package/lib/helper.css.map +1 -1
- package/lib/icons/function.js +7 -0
- package/lib/icons/input-clear.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 +8 -1
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +5 -1
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +8 -1
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Breadcrumb.js.map +2 -2
- package/lib/renderers/CRUD.js +4 -3
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Calendar.d.ts +45 -0
- package/lib/renderers/Calendar.js +21 -0
- package/lib/renderers/Calendar.js.map +13 -0
- package/lib/renderers/Card.js +2 -2
- package/lib/renderers/Card.js.map +2 -2
- package/lib/renderers/Form/ConditionBuilder.d.ts +8 -0
- package/lib/renderers/Form/ConditionBuilder.js.map +2 -2
- package/lib/renderers/Form/IconPicker.d.ts +2 -0
- package/lib/renderers/Form/IconPicker.js +22 -2
- package/lib/renderers/Form/IconPicker.js.map +2 -2
- package/lib/renderers/Form/InputCity.d.ts +84 -84
- package/lib/renderers/Form/InputColor.d.ts +84 -84
- package/lib/renderers/Form/InputColor.js +1 -1
- package/lib/renderers/Form/InputColor.js.map +2 -2
- package/lib/renderers/Form/InputDate.d.ts +0 -18
- package/lib/renderers/Form/InputDate.js +1 -1
- package/lib/renderers/Form/InputDate.js.map +2 -2
- package/lib/renderers/Form/InputDateRange.js +1 -1
- package/lib/renderers/Form/InputDateRange.js.map +2 -2
- package/lib/renderers/Form/InputFormula.d.ts +42 -0
- package/lib/renderers/Form/InputFormula.js +6 -2
- package/lib/renderers/Form/InputFormula.js.map +2 -2
- package/lib/renderers/Form/InputText.d.ts +5 -0
- package/lib/renderers/Form/InputText.js +22 -4
- package/lib/renderers/Form/InputText.js.map +2 -2
- package/lib/renderers/Form/Picker.js +1 -1
- package/lib/renderers/Form/Picker.js.map +2 -2
- package/lib/renderers/Form/Textarea.d.ts +12 -0
- package/lib/renderers/Form/Textarea.js +31 -15
- package/lib/renderers/Form/Textarea.js.map +2 -2
- package/lib/renderers/Form/Transfer.d.ts +1 -1
- package/lib/renderers/Form/Transfer.js +7 -1
- package/lib/renderers/Form/Transfer.js.map +2 -2
- package/lib/renderers/Form/index.js +4 -0
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/IFrame.js +8 -3
- package/lib/renderers/IFrame.js.map +2 -2
- package/lib/renderers/Tpl.js +1 -1
- package/lib/renderers/Tpl.js.map +2 -2
- package/lib/schemaExtend.js +11 -8
- package/lib/schemaExtend.js.map +2 -2
- package/lib/themes/ang-ie11.css +427 -141
- package/lib/themes/ang.css +427 -141
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +427 -141
- package/lib/themes/antd.css +427 -141
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +432 -152
- package/lib/themes/cxd.css +432 -152
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +427 -141
- package/lib/themes/dark.css +427 -141
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +432 -152
- package/lib/themes/default.css.map +1 -1
- package/lib/utils/api.js +22 -9
- package/lib/utils/api.js.map +2 -2
- package/lib/utils/helper.d.ts +1 -0
- package/lib/utils/helper.js +10 -1
- package/lib/utils/helper.js.map +2 -2
- package/package.json +2 -2
- package/schema.json +201 -66
- package/scss/_mixins.scss +10 -5
- package/scss/_properties.scss +11 -0
- package/scss/components/_collapse-group.scss +4 -0
- package/scss/components/_condition-builder.scss +8 -1
- package/scss/components/_formula.scss +247 -74
- package/scss/components/_result-box.scss +0 -13
- package/scss/components/form/_color.scss +0 -2
- package/scss/components/form/_date-range.scss +14 -7
- package/scss/components/form/_date.scss +14 -7
- package/scss/components/form/_form.scss +1 -0
- package/scss/components/form/_icon-picker.scss +2 -0
- package/scss/components/form/_location.scss +0 -1
- package/scss/components/form/_picker.scss +0 -1
- package/scss/components/form/_text.scss +6 -7
- package/scss/components/form/_textarea.scss +16 -0
- package/scss/components/form/_transfer.scss +2 -1
- package/scss/themes/_cxd-variables.scss +5 -3
- package/scss/themes/cxd.scss +0 -13
- package/sdk/ang-ie11.css +467 -126
- package/sdk/ang.css +486 -141
- package/sdk/antd-ie11.css +467 -126
- package/sdk/antd.css +486 -141
- package/sdk/charts.js +17 -17
- package/sdk/codemirror.js +7 -7
- package/sdk/color-picker.js +65 -69
- package/sdk/cropperjs.js +3 -3
- package/sdk/cxd-ie11.css +474 -142
- package/sdk/cxd.css +491 -153
- package/sdk/dark-ie11.css +467 -126
- package/sdk/dark.css +486 -141
- package/sdk/exceljs.js +1 -1
- package/sdk/helper.css.map +1 -1
- package/sdk/locale/de-DE.js +8 -1
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +20 -16
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +474 -142
- package/sdk/sdk.css +491 -153
- package/sdk/sdk.js +1351 -1273
- package/sdk/thirds/hls.js/hls.js +18 -18
- package/sdk/thirds/mpegts.js/mpegts.js +2 -2
- package/sdk/tinymce.js +57 -57
- package/src/Schema.ts +3 -0
- package/src/components/Collapse.tsx +4 -1
- package/src/components/ColorPicker.tsx +1 -1
- package/src/components/DatePicker.tsx +1 -1
- package/src/components/DateRangePicker.tsx +2 -2
- package/src/components/LocationPicker.tsx +1 -1
- package/src/components/PickerContainer.tsx +3 -1
- package/src/components/ResultBox.tsx +1 -1
- package/src/components/Tabs.tsx +4 -2
- package/src/components/calendar/Calendar.tsx +1 -2
- package/src/components/condition-builder/Expression.tsx +5 -2
- package/src/components/condition-builder/Group.tsx +8 -2
- package/src/components/condition-builder/GroupOrItem.tsx +5 -1
- package/src/components/condition-builder/Item.tsx +7 -1
- package/src/components/condition-builder/Value.tsx +17 -4
- package/src/components/condition-builder/index.tsx +8 -1
- package/src/components/formula/Editor.tsx +43 -23
- package/src/components/formula/FuncList.tsx +74 -44
- package/src/components/formula/Picker.tsx +161 -23
- package/src/components/formula/VariableList.tsx +54 -9
- package/src/components/icons.tsx +7 -1
- package/src/env.tsx +5 -0
- package/src/factory.tsx +9 -1
- package/src/icons/function.svg +4 -0
- package/src/icons/input-clear.svg +1 -0
- package/src/index.tsx +1 -0
- package/src/locale/de-DE.ts +8 -1
- package/src/locale/en-US.ts +5 -1
- package/src/locale/zh-CN.ts +8 -1
- package/src/renderers/Breadcrumb.tsx +0 -1
- package/src/renderers/CRUD.tsx +6 -3
- package/src/renderers/Calendar.tsx +43 -0
- package/src/renderers/Card.tsx +12 -2
- package/src/renderers/Form/ConditionBuilder.tsx +11 -0
- package/src/renderers/Form/IconPicker.tsx +29 -0
- package/src/renderers/Form/InputColor.tsx +1 -1
- package/src/renderers/Form/InputDate.tsx +1 -21
- package/src/renderers/Form/InputDateRange.tsx +1 -1
- package/src/renderers/Form/InputFormula.tsx +103 -3
- package/src/renderers/Form/InputText.tsx +30 -5
- package/src/renderers/Form/Picker.tsx +1 -1
- package/src/renderers/Form/Textarea.tsx +46 -22
- package/src/renderers/Form/Transfer.tsx +6 -1
- package/src/renderers/Form/index.tsx +16 -1
- package/src/renderers/IFrame.tsx +8 -10
- package/src/renderers/Tpl.tsx +3 -1
- package/src/schemaExtend.ts +11 -7
- package/src/utils/api.ts +25 -10
- package/src/utils/helper.ts +11 -1
@@ -0,0 +1,21 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.CalendarRenderer = void 0;
|
4
|
+
var tslib_1 = require("tslib");
|
5
|
+
var factory_1 = require("../factory");
|
6
|
+
var InputDate_1 = require("./Form/InputDate");
|
7
|
+
var CalendarRenderer = /** @class */ (function (_super) {
|
8
|
+
(0, tslib_1.__extends)(CalendarRenderer, _super);
|
9
|
+
function CalendarRenderer() {
|
10
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
11
|
+
}
|
12
|
+
CalendarRenderer.defaultProps = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, InputDate_1.DateControlRenderer.defaultProps), { embed: true });
|
13
|
+
CalendarRenderer = (0, tslib_1.__decorate)([
|
14
|
+
(0, factory_1.Renderer)({
|
15
|
+
type: 'calendar'
|
16
|
+
})
|
17
|
+
], CalendarRenderer);
|
18
|
+
return CalendarRenderer;
|
19
|
+
}(InputDate_1.DateControlRenderer));
|
20
|
+
exports.CalendarRenderer = CalendarRenderer;
|
21
|
+
//# sourceMappingURL=./renderers/Calendar.js.map
|
@@ -0,0 +1,13 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"file": "Calendar.js",
|
4
|
+
"sourceRoot": "",
|
5
|
+
"sources": [
|
6
|
+
"/src/renderers/Calendar.tsx"
|
7
|
+
],
|
8
|
+
"names": [],
|
9
|
+
"mappings": ";;;;AACA,sCAAoC;AAEpC,8CAAqD;AAkCrD;IAAsC,iDAAmB;IAAzD;;IAKA,CAAC;IAJQ,6BAAY,mDACd,+BAAmB,CAAC,YAAY,KACnC,KAAK,EAAE,IAAI,IACZ;IAJU,gBAAgB;QAH5B,IAAA,kBAAQ,EAAC;YACR,IAAI,EAAE,UAAU;SACjB,CAAC;OACW,gBAAgB,CAK5B;IAAD,uBAAC;CAAA,AALD,CAAsC,+BAAmB,GAKxD;AALY,4CAAgB",
|
10
|
+
"sourcesContent": [
|
11
|
+
"import React from 'react';\nimport {Renderer} from '../factory';\nimport {SchemaObject, BaseSchema} from '../Schema';\nimport {DateControlRenderer} from './Form/InputDate';\n\ninterface scheduleItem {\n startTime: string;\n endTime: string;\n content: any;\n className?: string;\n}\n\nexport interface CalendarSchema extends BaseSchema {\n /**\n * 指定为日历选择控件\n */\n type: 'calendar';\n\n /**\n * 日程\n */\n schedules?: Array<scheduleItem> | string;\n\n /**\n * 日程显示颜色自定义\n */\n scheduleClassNames?: Array<string>;\n\n /**\n * 日程点击展示\n */\n scheduleAction?: SchemaObject;\n}\n\n@Renderer({\n type: 'calendar'\n})\nexport class CalendarRenderer extends DateControlRenderer {\n static defaultProps = {\n ...DateControlRenderer.defaultProps,\n embed: true\n }\n}\n"
|
12
|
+
]
|
13
|
+
}
|
package/lib/renderers/Card.js
CHANGED
@@ -32,7 +32,7 @@ var CardRenderer = /** @class */ (function (_super) {
|
|
32
32
|
return href || itemAction || onCheck || (checkOnItemClick && checkable);
|
33
33
|
};
|
34
34
|
CardRenderer.prototype.handleClick = function (e) {
|
35
|
-
var _a = this.props, item = _a.item, href = _a.href, data = _a.data, env = _a.env, blank = _a.blank, itemAction = _a.itemAction, onAction = _a.onAction;
|
35
|
+
var _a = this.props, item = _a.item, href = _a.href, data = _a.data, env = _a.env, blank = _a.blank, itemAction = _a.itemAction, onAction = _a.onAction, onCheck = _a.onCheck, selectable = _a.selectable;
|
36
36
|
if (href) {
|
37
37
|
env.jumpTo((0, tpl_1.filter)(href, data), {
|
38
38
|
type: 'button',
|
@@ -45,7 +45,7 @@ var CardRenderer = /** @class */ (function (_super) {
|
|
45
45
|
onAction && onAction(e, itemAction, (item === null || item === void 0 ? void 0 : item.data) || data);
|
46
46
|
return;
|
47
47
|
}
|
48
|
-
|
48
|
+
selectable && (onCheck === null || onCheck === void 0 ? void 0 : onCheck(item));
|
49
49
|
};
|
50
50
|
CardRenderer.prototype.handleAction = function (e, action, ctx) {
|
51
51
|
var _a = this.props, onAction = _a.onAction, item = _a.item;
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Card.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 {Renderer, RendererProps} from '../factory';\nimport {SchemaNode, Schema, Action, PlainObject} from '../types';\nimport {filter, evalExpression} from '../utils/tpl';\nimport Checkbox from '../components/Checkbox';\nimport {padArr, isVisible, isDisabled, noop, hashCode} from '../utils/helper';\nimport {resolveVariable, resolveVariableAndFilter} from '../utils/tpl-builtin';\nimport QuickEdit, {SchemaQuickEdit} from './QuickEdit';\nimport PopOver, {SchemaPopOver} from './PopOver';\nimport {TableCell} from './Table';\nimport Copyable, {SchemaCopyable} from './Copyable';\nimport omit = require('lodash/omit');\nimport {\n BaseSchema,\n SchemaClassName,\n SchemaExpression,\n SchemaObject,\n SchemaTpl,\n SchemaUrlPath\n} from '../Schema';\nimport {ActionSchema} from './Action';\nimport {Card} from '../components/Card';\nimport {findDOMNode} from 'react-dom';\nimport {IItem} from '../store/list';\nimport {Icon} from '../components/icons';\n\nexport type CardBodyField = SchemaObject & {\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\n/**\n * Card 卡片渲染器。\n * 文档:https://baidu.gitee.io/amis/docs/components/card\n */\nexport interface CardSchema extends BaseSchema {\n /**\n * 指定为 card 类型\n */\n type: 'card';\n\n /**\n * 头部配置\n */\n header?: {\n className?: SchemaClassName;\n\n /**\n * 标题\n */\n title?: SchemaTpl;\n titleClassName?: SchemaClassName;\n\n /**\n * 副标题\n */\n subTitle?: SchemaTpl;\n subTitleClassName?: SchemaClassName;\n subTitlePlaceholder?: string;\n\n /**\n * 描述\n */\n description?: SchemaTpl;\n\n /**\n * 描述占位内容\n */\n descriptionPlaceholder?: string;\n\n /**\n * 描述占位类名\n */\n descriptionClassName?: SchemaClassName;\n\n /**\n * @deprecated 建议用 description\n */\n desc?: SchemaTpl;\n\n /**\n * @deprecated 建议用 descriptionPlaceholder\n */\n descPlaceholder?: SchemaTpl;\n\n /**\n * @deprecated 建议用 descriptionClassName\n */\n descClassName?: SchemaClassName;\n\n /**\n * 图片地址\n */\n avatar?: SchemaUrlPath;\n\n avatarText?: SchemaTpl;\n avatarTextBackground?: String[];\n avatarTextClassName?: SchemaClassName;\n\n /**\n * 图片包括层类名\n */\n avatarClassName?: SchemaClassName;\n\n /**\n * 图片类名。\n */\n imageClassName?: SchemaClassName;\n\n /**\n * 是否点亮\n */\n highlight?: SchemaExpression;\n highlightClassName?: SchemaClassName;\n\n /**\n * 链接地址\n */\n href?: SchemaTpl;\n\n /**\n * 是否新窗口打开\n */\n blank?: boolean;\n };\n\n /**\n * 内容区域\n */\n body?: Array<CardBodyField>;\n\n /**\n * 多媒体区域\n */\n media?: {\n className?: SchemaClassName;\n\n /**\n * 多媒体类型\n */\n type?: 'image' | 'video';\n\n /**\n * 多媒体链接地址\n */\n url?: SchemaUrlPath;\n\n /**\n * 多媒体区域位置\n */\n position?: 'top' | 'left' | 'right' | 'bottom';\n\n /**\n * 类型为video时是否自动播放\n */\n autoPlay?: boolean;\n\n /**\n * 类型为video时是否是直播\n */\n isLive?: boolean;\n\n /**\n * 类型为video时视频封面\n */\n poster?: SchemaUrlPath;\n };\n\n /**\n * 底部按钮集合。\n */\n actions?: Array<ActionSchema>;\n\n /**\n * 工具栏按钮\n */\n toolbar?: Array<ActionSchema>;\n\n /**\n * 次要说明\n */\n secondary?: SchemaTpl;\n}\nexport interface CardProps\n extends RendererProps,\n Omit<CardSchema, 'className'> {\n onCheck: (item: IItem) => void;\n actionsCount: number;\n itemIndex?: number;\n dragging?: boolean;\n selectable?: boolean;\n selected?: boolean;\n checkable?: boolean;\n multiple?: boolean;\n hideCheckToggler?: boolean;\n item: IItem;\n checkOnItemClick?: boolean;\n}\n\n@Renderer({\n type: 'card'\n})\nexport class CardRenderer extends React.Component<CardProps> {\n static defaultProps = {\n className: '',\n avatarClassName: '',\n headerClassName: '',\n footerClassName: '',\n secondaryClassName: '',\n avatarTextClassName: '',\n bodyClassName: '',\n actionsCount: 4,\n titleClassName: '',\n highlightClassName: '',\n subTitleClassName: '',\n descClassName: '',\n descriptionClassName: '',\n imageClassName: '',\n highlight: false,\n blank: true,\n dragging: false,\n selectable: false,\n checkable: true,\n selected: false,\n hideCheckToggler: false\n };\n\n static propsList: Array<string> = [\n 'avatarClassName',\n 'avatarTextClassName',\n 'bodyClassName',\n 'actionsCount',\n 'titleClassName',\n 'highlightClassName',\n 'subTitleClassName',\n 'descClassName',\n 'descriptionClassName',\n 'imageClassName',\n 'hideCheckToggler'\n ];\n\n constructor(props: CardProps) {\n super(props);\n\n this.handleClick = this.handleClick.bind(this);\n this.handleAction = this.handleAction.bind(this);\n this.handleCheck = this.handleCheck.bind(this);\n this.getPopOverContainer = this.getPopOverContainer.bind(this);\n this.handleQuickChange = this.handleQuickChange.bind(this);\n }\n\n isHaveLink() {\n const {href, itemAction, onCheck, checkOnItemClick, checkable} = this.props;\n return href || itemAction || onCheck || (checkOnItemClick && checkable);\n }\n\n handleClick(e: React.MouseEvent<HTMLDivElement>) {\n const {item, href, data, env, blank, itemAction, onAction} = this.props;\n\n if (href) {\n env.jumpTo(filter(href, data), {\n type: 'button',\n actionType: 'url',\n blank\n });\n return;\n }\n\n if (itemAction) {\n onAction && onAction(e, itemAction, item?.data || data);\n return;\n }\n\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\n onAction && onAction(e, action, ctx || item.data);\n }\n\n handleCheck(e: React.MouseEvent<any>) {\n const item = this.props.item;\n this.props.onCheck && this.props.onCheck(item);\n }\n\n getPopOverContainer() {\n return findDOMNode(this);\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 renderToolbar() {\n const {\n selectable,\n checkable,\n selected,\n checkOnItemClick,\n multiple,\n hideCheckToggler,\n classnames: cx,\n toolbar,\n render,\n dragging,\n data,\n header\n } = this.props;\n\n const toolbars: Array<JSX.Element> = [];\n\n if (header) {\n const {highlightClassName, highlight: highlightTpl} = header;\n const highlight = !!evalExpression(highlightTpl!, data as object);\n if (highlight) {\n toolbars.push(\n <i className={cx('Card-highlight', highlightClassName)} />\n );\n }\n }\n\n if (selectable && !hideCheckToggler) {\n toolbars.push(\n <Checkbox\n key=\"check\"\n className={cx('Card-checkbox')}\n type={multiple ? 'checkbox' : 'radio'}\n disabled={!checkable}\n checked={selected}\n onChange={checkOnItemClick ? noop : this.handleCheck}\n />\n );\n }\n\n if (Array.isArray(toolbar)) {\n toolbar.forEach((action, index) =>\n toolbars.push(\n render(\n `toolbar/${index}`,\n {\n type: 'button',\n level: 'link',\n size: 'sm',\n ...(action as any)\n },\n {\n key: index\n }\n )\n )\n );\n }\n\n if (dragging) {\n toolbars.push(\n <div className={cx('Card-dragBtn')}>\n <Icon icon=\"drag-bar\" className=\"icon\" />\n </div>\n );\n }\n\n return toolbars.length ? (\n <div className={cx('Card-toolbar')}>{toolbars}</div>\n ) : null;\n }\n\n renderActions() {\n const {\n actions,\n render,\n dragging,\n actionsCount,\n data,\n classnames: cx\n } = this.props;\n\n if (Array.isArray(actions)) {\n const group = padArr(\n actions.filter(item => isVisible(item, data)),\n actionsCount\n );\n return group.map((actions, groupIndex) => (\n <div key={groupIndex} className={cx('Card-actions')}>\n {actions.map((action, index) => {\n const size = action.size || 'sm';\n\n return render(\n `action/${index}`,\n {\n level: 'link',\n type: 'button',\n ...action,\n size\n },\n {\n isMenuItem: true,\n key: index,\n index,\n disabled: dragging || isDisabled(action, data),\n className: cx(\n 'Card-action',\n action.className || `${size ? `Card-action--${size}` : ''}`\n ),\n componentClass: 'a',\n onAction: this.handleAction\n }\n );\n })}\n </div>\n ));\n }\n return;\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 (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, classnames: cx, itemIndex} = props;\n const data = this.props.data;\n if (!isVisible(field, data)) {\n return;\n }\n\n const $$id = field.$$id ? `${field.$$id}-field` : '';\n\n return (\n <div className={cx('Card-field')} key={key}>\n {field && field.label ? (\n <label className={cx('Card-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: 'card-item-field'\n },\n {\n className: cx('Card-fieldValue', field.className),\n rowIndex: itemIndex,\n colIndex: key,\n value: field.name ? resolveVariable(field.name, data) : undefined,\n popOverContainer: this.getPopOverContainer,\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 }\n\n if (Array.isArray(body)) {\n return body.map((child, index) =>\n this.renderChild(child, `body/${index}`, index)\n );\n }\n\n return this.renderChild(body, 'body');\n }\n\n rederTitle() {\n const {render, data, header} = this.props;\n if (header) {\n const {title: titleTpl} = header || {};\n const title = filter(titleTpl, data);\n return title ? render('title', titleTpl!) : undefined;\n }\n return;\n }\n\n renderSubTitle() {\n const {render, data, header} = this.props;\n if (header) {\n const {subTitle: subTitleTpl} = header || {};\n\n const subTitle = filter(subTitleTpl, data);\n return subTitle ? render('sub-title', subTitleTpl!) : undefined;\n }\n return;\n }\n\n renderSubTitlePlaceholder() {\n const {render, header, classnames: cx} = this.props;\n if (header) {\n const {subTitlePlaceholder} = header || {};\n\n return subTitlePlaceholder\n ? render('sub-title', subTitlePlaceholder, {\n className: cx('Card-placeholder')\n })\n : undefined;\n }\n return;\n }\n\n renderDesc() {\n const {render, data, header} = this.props;\n\n if (header) {\n const {desc: descTpl, description: descriptionTpl} = header || {};\n const desc = filter(descriptionTpl! || descTpl!, data);\n return desc\n ? render('desc', descriptionTpl! || descTpl!, {\n className: !desc ? 'text-muted' : null\n })\n : undefined;\n }\n return;\n }\n\n renderDescPlaceholder() {\n const {render, header} = this.props;\n\n if (header) {\n const descPlaceholder =\n header.descriptionPlaceholder || header.descPlaceholder;\n return descPlaceholder\n ? render('desc', descPlaceholder, {\n className: !descPlaceholder ? 'text-muted' : null\n })\n : undefined;\n }\n return;\n }\n\n renderAvatar() {\n const {data, header} = this.props;\n if (header) {\n const {avatar: avatarTpl} = header || {};\n const avatar = filter(avatarTpl, data, '| raw');\n return avatar ? avatar : undefined;\n }\n return;\n }\n\n renderAvatarText() {\n const {render, data, header} = this.props;\n if (header) {\n const {avatarText: avatarTextTpl} = header || {};\n\n const avatarText = filter(avatarTextTpl, data);\n\n return avatarText ? render('avatarText', avatarTextTpl!) : undefined;\n }\n return;\n }\n\n renderSecondary() {\n const {render, data, secondary: secondaryTextTpl} = this.props;\n\n const secondary = filter(secondaryTextTpl, data);\n return secondary ? render('secondary', secondaryTextTpl!) : undefined;\n }\n\n renderAvatarTextStyle() {\n const {header, data} = this.props;\n if (header) {\n const {avatarText: avatarTextTpl, avatarTextBackground} = header;\n const avatarText = filter(avatarTextTpl, data);\n const avatarTextStyle: PlainObject = {};\n if (avatarText && avatarTextBackground && avatarTextBackground.length) {\n avatarTextStyle['background'] =\n avatarTextBackground[\n Math.abs(hashCode(avatarText)) % avatarTextBackground.length\n ];\n }\n return avatarTextStyle;\n }\n return;\n }\n\n renderMedia() {\n const {media, classnames: cx, render, region, data} = this.props;\n if (media) {\n const {type, url, className, autoPlay, isLive, poster} = media;\n const mediaUrl = resolveVariableAndFilter(url, data, '| raw');\n\n if (type === 'image' && mediaUrl) {\n return (\n <img\n className={cx('Card-multiMedia-img', className)}\n src={mediaUrl}\n />\n );\n } else if (type === 'video' && mediaUrl) {\n return (\n <div className={cx('Card-multiMedia-video', className)}>\n {\n render(region, {\n type: type,\n autoPlay: autoPlay,\n poster: poster,\n src: mediaUrl,\n isLive: isLive\n }) as JSX.Element\n }\n </div>\n );\n }\n }\n return;\n }\n\n render() {\n const {\n header,\n className,\n avatarClassName,\n avatarTextClassName,\n descClassName,\n descriptionClassName,\n titleClassName,\n subTitleClassName,\n bodyClassName,\n imageClassName,\n headerClassName,\n secondaryClassName,\n footerClassName,\n mediaClassName,\n media,\n ...rest\n } = this.props;\n\n const headerCn = header?.className || headerClassName;\n const titleCn = header?.titleClassName || titleClassName;\n const subTitleCn = header?.subTitleClassName || subTitleClassName;\n const descCn = header?.descClassName || descClassName;\n const descriptionCn =\n header?.descriptionClassName || descriptionClassName || descCn;\n const avatarTextCn = header?.avatarTextClassName || avatarTextClassName;\n const avatarCn = header?.avatarClassName || avatarClassName;\n const imageCn = header?.imageClassName || imageClassName;\n const mediaPosition = media?.position;\n\n return (\n <Card\n {...rest}\n title={this.rederTitle()}\n subTitle={this.renderSubTitle()}\n subTitlePlaceholder={this.renderSubTitlePlaceholder()}\n description={this.renderDesc()}\n descriptionPlaceholder={this.renderDescPlaceholder()}\n children={this.renderBody()}\n actions={this.renderActions()}\n avatar={this.renderAvatar()}\n avatarText={this.renderAvatarText()}\n secondary={this.renderSecondary()}\n toolbar={this.renderToolbar()}\n avatarClassName={avatarCn}\n avatarTextStyle={this.renderAvatarTextStyle()}\n avatarTextClassName={avatarTextCn}\n className={className}\n titleClassName={titleCn}\n media={this.renderMedia()}\n subTitleClassName={subTitleCn}\n mediaPosition={mediaPosition}\n descriptionClassName={descriptionCn}\n imageClassName={imageCn}\n headerClassName={headerCn}\n footerClassName={footerClassName}\n secondaryClassName={secondaryClassName}\n bodyClassName={bodyClassName}\n onClick={this.isHaveLink() ? this.handleClick : undefined}\n ></Card>\n );\n }\n}\n\n@Renderer({\n type: 'card-item-field'\n})\n@QuickEdit()\n@PopOver()\n@Copyable()\nexport class CardItemFieldRenderer extends TableCell {\n static defaultProps = {\n ...TableCell.defaultProps,\n wrapperComponent: 'div'\n };\n\n static propsList = [\n 'quickEdit',\n 'quickEditEnabledOn',\n 'popOver',\n 'copyable',\n 'inline',\n ...TableCell.propsList\n ];\n\n render() {\n let {\n type,\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 {Renderer, RendererProps} from '../factory';\nimport {SchemaNode, Schema, Action, PlainObject} from '../types';\nimport {filter, evalExpression} from '../utils/tpl';\nimport Checkbox from '../components/Checkbox';\nimport {padArr, isVisible, isDisabled, noop, hashCode} from '../utils/helper';\nimport {resolveVariable, resolveVariableAndFilter} from '../utils/tpl-builtin';\nimport QuickEdit, {SchemaQuickEdit} from './QuickEdit';\nimport PopOver, {SchemaPopOver} from './PopOver';\nimport {TableCell} from './Table';\nimport Copyable, {SchemaCopyable} from './Copyable';\nimport omit = require('lodash/omit');\nimport {\n BaseSchema,\n SchemaClassName,\n SchemaExpression,\n SchemaObject,\n SchemaTpl,\n SchemaUrlPath\n} from '../Schema';\nimport {ActionSchema} from './Action';\nimport {Card} from '../components/Card';\nimport {findDOMNode} from 'react-dom';\nimport {IItem} from '../store/list';\nimport {Icon} from '../components/icons';\n\nexport type CardBodyField = SchemaObject & {\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\n/**\n * Card 卡片渲染器。\n * 文档:https://baidu.gitee.io/amis/docs/components/card\n */\nexport interface CardSchema extends BaseSchema {\n /**\n * 指定为 card 类型\n */\n type: 'card';\n\n /**\n * 头部配置\n */\n header?: {\n className?: SchemaClassName;\n\n /**\n * 标题\n */\n title?: SchemaTpl;\n titleClassName?: SchemaClassName;\n\n /**\n * 副标题\n */\n subTitle?: SchemaTpl;\n subTitleClassName?: SchemaClassName;\n subTitlePlaceholder?: string;\n\n /**\n * 描述\n */\n description?: SchemaTpl;\n\n /**\n * 描述占位内容\n */\n descriptionPlaceholder?: string;\n\n /**\n * 描述占位类名\n */\n descriptionClassName?: SchemaClassName;\n\n /**\n * @deprecated 建议用 description\n */\n desc?: SchemaTpl;\n\n /**\n * @deprecated 建议用 descriptionPlaceholder\n */\n descPlaceholder?: SchemaTpl;\n\n /**\n * @deprecated 建议用 descriptionClassName\n */\n descClassName?: SchemaClassName;\n\n /**\n * 图片地址\n */\n avatar?: SchemaUrlPath;\n\n avatarText?: SchemaTpl;\n avatarTextBackground?: String[];\n avatarTextClassName?: SchemaClassName;\n\n /**\n * 图片包括层类名\n */\n avatarClassName?: SchemaClassName;\n\n /**\n * 图片类名。\n */\n imageClassName?: SchemaClassName;\n\n /**\n * 是否点亮\n */\n highlight?: SchemaExpression;\n highlightClassName?: SchemaClassName;\n\n /**\n * 链接地址\n */\n href?: SchemaTpl;\n\n /**\n * 是否新窗口打开\n */\n blank?: boolean;\n };\n\n /**\n * 内容区域\n */\n body?: Array<CardBodyField>;\n\n /**\n * 多媒体区域\n */\n media?: {\n className?: SchemaClassName;\n\n /**\n * 多媒体类型\n */\n type?: 'image' | 'video';\n\n /**\n * 多媒体链接地址\n */\n url?: SchemaUrlPath;\n\n /**\n * 多媒体区域位置\n */\n position?: 'top' | 'left' | 'right' | 'bottom';\n\n /**\n * 类型为video时是否自动播放\n */\n autoPlay?: boolean;\n\n /**\n * 类型为video时是否是直播\n */\n isLive?: boolean;\n\n /**\n * 类型为video时视频封面\n */\n poster?: SchemaUrlPath;\n };\n\n /**\n * 底部按钮集合。\n */\n actions?: Array<ActionSchema>;\n\n /**\n * 工具栏按钮\n */\n toolbar?: Array<ActionSchema>;\n\n /**\n * 次要说明\n */\n secondary?: SchemaTpl;\n}\nexport interface CardProps\n extends RendererProps,\n Omit<CardSchema, 'className'> {\n onCheck: (item: IItem) => void;\n actionsCount: number;\n itemIndex?: number;\n dragging?: boolean;\n selectable?: boolean;\n selected?: boolean;\n checkable?: boolean;\n multiple?: boolean;\n hideCheckToggler?: boolean;\n item: IItem;\n checkOnItemClick?: boolean;\n}\n\n@Renderer({\n type: 'card'\n})\nexport class CardRenderer extends React.Component<CardProps> {\n static defaultProps = {\n className: '',\n avatarClassName: '',\n headerClassName: '',\n footerClassName: '',\n secondaryClassName: '',\n avatarTextClassName: '',\n bodyClassName: '',\n actionsCount: 4,\n titleClassName: '',\n highlightClassName: '',\n subTitleClassName: '',\n descClassName: '',\n descriptionClassName: '',\n imageClassName: '',\n highlight: false,\n blank: true,\n dragging: false,\n selectable: false,\n checkable: true,\n selected: false,\n hideCheckToggler: false\n };\n\n static propsList: Array<string> = [\n 'avatarClassName',\n 'avatarTextClassName',\n 'bodyClassName',\n 'actionsCount',\n 'titleClassName',\n 'highlightClassName',\n 'subTitleClassName',\n 'descClassName',\n 'descriptionClassName',\n 'imageClassName',\n 'hideCheckToggler'\n ];\n\n constructor(props: CardProps) {\n super(props);\n\n this.handleClick = this.handleClick.bind(this);\n this.handleAction = this.handleAction.bind(this);\n this.handleCheck = this.handleCheck.bind(this);\n this.getPopOverContainer = this.getPopOverContainer.bind(this);\n this.handleQuickChange = this.handleQuickChange.bind(this);\n }\n\n isHaveLink() {\n const {href, itemAction, onCheck, checkOnItemClick, checkable} = this.props;\n return href || itemAction || onCheck || (checkOnItemClick && checkable);\n }\n\n handleClick(e: React.MouseEvent<HTMLDivElement>) {\n const {\n item,\n href,\n data,\n env,\n blank,\n itemAction,\n onAction,\n onCheck,\n selectable\n } = this.props;\n\n if (href) {\n env.jumpTo(filter(href, data), {\n type: 'button',\n actionType: 'url',\n blank\n });\n return;\n }\n\n if (itemAction) {\n onAction && onAction(e, itemAction, item?.data || data);\n return;\n }\n\n selectable && onCheck?.(item);\n }\n\n handleAction(e: React.UIEvent<any>, action: Action, ctx: object) {\n const {onAction, item} = this.props;\n\n onAction && onAction(e, action, ctx || item.data);\n }\n\n handleCheck(e: React.MouseEvent<any>) {\n const item = this.props.item;\n this.props.onCheck && this.props.onCheck(item);\n }\n\n getPopOverContainer() {\n return findDOMNode(this);\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 renderToolbar() {\n const {\n selectable,\n checkable,\n selected,\n checkOnItemClick,\n multiple,\n hideCheckToggler,\n classnames: cx,\n toolbar,\n render,\n dragging,\n data,\n header\n } = this.props;\n\n const toolbars: Array<JSX.Element> = [];\n\n if (header) {\n const {highlightClassName, highlight: highlightTpl} = header;\n const highlight = !!evalExpression(highlightTpl!, data as object);\n if (highlight) {\n toolbars.push(\n <i className={cx('Card-highlight', highlightClassName)} />\n );\n }\n }\n\n if (selectable && !hideCheckToggler) {\n toolbars.push(\n <Checkbox\n key=\"check\"\n className={cx('Card-checkbox')}\n type={multiple ? 'checkbox' : 'radio'}\n disabled={!checkable}\n checked={selected}\n onChange={checkOnItemClick ? noop : this.handleCheck}\n />\n );\n }\n\n if (Array.isArray(toolbar)) {\n toolbar.forEach((action, index) =>\n toolbars.push(\n render(\n `toolbar/${index}`,\n {\n type: 'button',\n level: 'link',\n size: 'sm',\n ...(action as any)\n },\n {\n key: index\n }\n )\n )\n );\n }\n\n if (dragging) {\n toolbars.push(\n <div className={cx('Card-dragBtn')}>\n <Icon icon=\"drag-bar\" className=\"icon\" />\n </div>\n );\n }\n\n return toolbars.length ? (\n <div className={cx('Card-toolbar')}>{toolbars}</div>\n ) : null;\n }\n\n renderActions() {\n const {\n actions,\n render,\n dragging,\n actionsCount,\n data,\n classnames: cx\n } = this.props;\n\n if (Array.isArray(actions)) {\n const group = padArr(\n actions.filter(item => isVisible(item, data)),\n actionsCount\n );\n return group.map((actions, groupIndex) => (\n <div key={groupIndex} className={cx('Card-actions')}>\n {actions.map((action, index) => {\n const size = action.size || 'sm';\n\n return render(\n `action/${index}`,\n {\n level: 'link',\n type: 'button',\n ...action,\n size\n },\n {\n isMenuItem: true,\n key: index,\n index,\n disabled: dragging || isDisabled(action, data),\n className: cx(\n 'Card-action',\n action.className || `${size ? `Card-action--${size}` : ''}`\n ),\n componentClass: 'a',\n onAction: this.handleAction\n }\n );\n })}\n </div>\n ));\n }\n return;\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 (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, classnames: cx, itemIndex} = props;\n const data = this.props.data;\n if (!isVisible(field, data)) {\n return;\n }\n\n const $$id = field.$$id ? `${field.$$id}-field` : '';\n\n return (\n <div className={cx('Card-field')} key={key}>\n {field && field.label ? (\n <label className={cx('Card-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: 'card-item-field'\n },\n {\n className: cx('Card-fieldValue', field.className),\n rowIndex: itemIndex,\n colIndex: key,\n value: field.name ? resolveVariable(field.name, data) : undefined,\n popOverContainer: this.getPopOverContainer,\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 }\n\n if (Array.isArray(body)) {\n return body.map((child, index) =>\n this.renderChild(child, `body/${index}`, index)\n );\n }\n\n return this.renderChild(body, 'body');\n }\n\n rederTitle() {\n const {render, data, header} = this.props;\n if (header) {\n const {title: titleTpl} = header || {};\n const title = filter(titleTpl, data);\n return title ? render('title', titleTpl!) : undefined;\n }\n return;\n }\n\n renderSubTitle() {\n const {render, data, header} = this.props;\n if (header) {\n const {subTitle: subTitleTpl} = header || {};\n\n const subTitle = filter(subTitleTpl, data);\n return subTitle ? render('sub-title', subTitleTpl!) : undefined;\n }\n return;\n }\n\n renderSubTitlePlaceholder() {\n const {render, header, classnames: cx} = this.props;\n if (header) {\n const {subTitlePlaceholder} = header || {};\n\n return subTitlePlaceholder\n ? render('sub-title', subTitlePlaceholder, {\n className: cx('Card-placeholder')\n })\n : undefined;\n }\n return;\n }\n\n renderDesc() {\n const {render, data, header} = this.props;\n\n if (header) {\n const {desc: descTpl, description: descriptionTpl} = header || {};\n const desc = filter(descriptionTpl! || descTpl!, data);\n return desc\n ? render('desc', descriptionTpl! || descTpl!, {\n className: !desc ? 'text-muted' : null\n })\n : undefined;\n }\n return;\n }\n\n renderDescPlaceholder() {\n const {render, header} = this.props;\n\n if (header) {\n const descPlaceholder =\n header.descriptionPlaceholder || header.descPlaceholder;\n return descPlaceholder\n ? render('desc', descPlaceholder, {\n className: !descPlaceholder ? 'text-muted' : null\n })\n : undefined;\n }\n return;\n }\n\n renderAvatar() {\n const {data, header} = this.props;\n if (header) {\n const {avatar: avatarTpl} = header || {};\n const avatar = filter(avatarTpl, data, '| raw');\n return avatar ? avatar : undefined;\n }\n return;\n }\n\n renderAvatarText() {\n const {render, data, header} = this.props;\n if (header) {\n const {avatarText: avatarTextTpl} = header || {};\n\n const avatarText = filter(avatarTextTpl, data);\n\n return avatarText ? render('avatarText', avatarTextTpl!) : undefined;\n }\n return;\n }\n\n renderSecondary() {\n const {render, data, secondary: secondaryTextTpl} = this.props;\n\n const secondary = filter(secondaryTextTpl, data);\n return secondary ? render('secondary', secondaryTextTpl!) : undefined;\n }\n\n renderAvatarTextStyle() {\n const {header, data} = this.props;\n if (header) {\n const {avatarText: avatarTextTpl, avatarTextBackground} = header;\n const avatarText = filter(avatarTextTpl, data);\n const avatarTextStyle: PlainObject = {};\n if (avatarText && avatarTextBackground && avatarTextBackground.length) {\n avatarTextStyle['background'] =\n avatarTextBackground[\n Math.abs(hashCode(avatarText)) % avatarTextBackground.length\n ];\n }\n return avatarTextStyle;\n }\n return;\n }\n\n renderMedia() {\n const {media, classnames: cx, render, region, data} = this.props;\n if (media) {\n const {type, url, className, autoPlay, isLive, poster} = media;\n const mediaUrl = resolveVariableAndFilter(url, data, '| raw');\n\n if (type === 'image' && mediaUrl) {\n return (\n <img\n className={cx('Card-multiMedia-img', className)}\n src={mediaUrl}\n />\n );\n } else if (type === 'video' && mediaUrl) {\n return (\n <div className={cx('Card-multiMedia-video', className)}>\n {\n render(region, {\n type: type,\n autoPlay: autoPlay,\n poster: poster,\n src: mediaUrl,\n isLive: isLive\n }) as JSX.Element\n }\n </div>\n );\n }\n }\n return;\n }\n\n render() {\n const {\n header,\n className,\n avatarClassName,\n avatarTextClassName,\n descClassName,\n descriptionClassName,\n titleClassName,\n subTitleClassName,\n bodyClassName,\n imageClassName,\n headerClassName,\n secondaryClassName,\n footerClassName,\n mediaClassName,\n media,\n ...rest\n } = this.props;\n\n const headerCn = header?.className || headerClassName;\n const titleCn = header?.titleClassName || titleClassName;\n const subTitleCn = header?.subTitleClassName || subTitleClassName;\n const descCn = header?.descClassName || descClassName;\n const descriptionCn =\n header?.descriptionClassName || descriptionClassName || descCn;\n const avatarTextCn = header?.avatarTextClassName || avatarTextClassName;\n const avatarCn = header?.avatarClassName || avatarClassName;\n const imageCn = header?.imageClassName || imageClassName;\n const mediaPosition = media?.position;\n\n return (\n <Card\n {...rest}\n title={this.rederTitle()}\n subTitle={this.renderSubTitle()}\n subTitlePlaceholder={this.renderSubTitlePlaceholder()}\n description={this.renderDesc()}\n descriptionPlaceholder={this.renderDescPlaceholder()}\n children={this.renderBody()}\n actions={this.renderActions()}\n avatar={this.renderAvatar()}\n avatarText={this.renderAvatarText()}\n secondary={this.renderSecondary()}\n toolbar={this.renderToolbar()}\n avatarClassName={avatarCn}\n avatarTextStyle={this.renderAvatarTextStyle()}\n avatarTextClassName={avatarTextCn}\n className={className}\n titleClassName={titleCn}\n media={this.renderMedia()}\n subTitleClassName={subTitleCn}\n mediaPosition={mediaPosition}\n descriptionClassName={descriptionCn}\n imageClassName={imageCn}\n headerClassName={headerCn}\n footerClassName={footerClassName}\n secondaryClassName={secondaryClassName}\n bodyClassName={bodyClassName}\n onClick={this.isHaveLink() ? this.handleClick : undefined}\n ></Card>\n );\n }\n}\n\n@Renderer({\n type: 'card-item-field'\n})\n@QuickEdit()\n@PopOver()\n@Copyable()\nexport class CardItemFieldRenderer extends TableCell {\n static defaultProps = {\n ...TableCell.defaultProps,\n wrapperComponent: 'div'\n };\n\n static propsList = [\n 'quickEdit',\n 'quickEditEnabledOn',\n 'popOver',\n 'copyable',\n 'inline',\n ...TableCell.propsList\n ];\n\n render() {\n let {\n type,\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
|
}
|
@@ -28,6 +28,14 @@ export interface ConditionBuilderControlSchema extends FormBaseControl {
|
|
28
28
|
* 通过远程拉取配置项
|
29
29
|
*/
|
30
30
|
source?: SchemaApi | SchemaTokenizeableString;
|
31
|
+
/**
|
32
|
+
* 展现模式
|
33
|
+
*/
|
34
|
+
builderMode?: 'simple' | 'full';
|
35
|
+
/**
|
36
|
+
* 是否显示并或切换键按钮,只在简单模式下有用
|
37
|
+
*/
|
38
|
+
showANDOR?: boolean;
|
31
39
|
}
|
32
40
|
export interface ConditionBuilderProps extends FormControlProps, Omit<ConditionBuilderControlSchema, 'type' | 'className' | 'descriptionClassName' | 'inputClassName'> {
|
33
41
|
}
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/ConditionBuilder.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,+BAAmE;AAGnE,gGAAwE;
|
9
|
+
"mappings": ";;;;AAAA,6DAA0B;AAC1B,+BAAmE;AAGnE,gGAAwE;AAGxE,sEAG2C;AAkD3C;IAAqD,wDAA0C;IAA/F;;IAUA,CAAC;IATC,wCAAM,GAAN;QACE,IAAM,KAAuC,IAAI,CAAC,KAAK,EAAhD,SAAS,eAAA,EAAc,EAAE,gBAAA,EAAK,IAAI,2BAAnC,2BAAoC,CAAa,CAAC;QAExD,OAAO,CACL,uCAAK,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE,SAAS,CAAC;YACtD,8BAAC,iCAAiC,4BAAK,IAAI,EAAI,CAC3C,CACP,CAAC;IACJ,CAAC;IACH,8BAAC;AAAD,CAAC,AAVD,CAAqD,eAAK,CAAC,aAAa,GAUvE;;AAED,IAAM,iCAAiC,GAAG,IAAA,mCAAgB,EAAC;IACzD,OAAO,EAAE,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,MAAM,IAAI,IAAI,EAAnB,CAAmB;CACrC,CAAC;IACc,wCAEb;IAFD;;IAaA,CAAC;IAVC,wBAAM,GAAN;QACE,IAAM,KAAkD,IAAI,CAAC,KAAK,EAA3D,OAAO,aAAA,EAAE,MAAM,YAAA,EAAE,SAAS,eAAA,EAAE,QAAQ,cAAA,EAAK,IAAI,2BAA9C,8CAA+C,CAAa,CAAC;QACnE,OAAO,CACL,8BAAC,eAAgB,4BACX,IAAI,IACR,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EACnC,QAAQ,EAAE,QAAQ,IAAI,OAAO,IAC7B,CACH,CAAC;IACJ,CAAC;IACH,cAAC;AAAD,CAAC,AAbD,CAAc,eAAK,CAAC,SAAS,GAc9B,CAAC;AAMF;IAA8C,yDAAuB;IAArE;;IAAuE,CAAC;IAA3D,wBAAwB;QAJpC,IAAA,eAAQ,EAAC;YACR,IAAI,EAAE,mBAAmB;YACzB,UAAU,EAAE,KAAK;SAClB,CAAC;OACW,wBAAwB,CAAmC;IAAD,+BAAC;CAAA,AAAxE,CAA8C,uBAAuB,GAAG;AAA3D,4DAAwB",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport {Funcs, Fields} from '../../components/condition-builder/types';\nimport {Config} from '../../components/condition-builder/config';\nimport ConditionBuilder from '../../components/condition-builder/index';\nimport {SchemaApi, SchemaTokenizeableString} from '../../Schema';\nimport {\n RemoteOptionsProps,\n withRemoteConfig\n} from '../../components/WithRemoteConfig';\n\n/**\n * 条件组合控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/condition-builder\n */\nexport interface ConditionBuilderControlSchema extends FormBaseControl {\n /**\n * 指定为\n */\n type: 'condition-builder';\n\n /**\n * 函数集合\n */\n funcs?: Funcs;\n\n /**\n * 字段集合\n */\n fields: Fields;\n\n /**\n * 其他配置\n */\n config?: Config;\n\n /**\n * 通过远程拉取配置项\n */\n source?: SchemaApi | SchemaTokenizeableString;\n}\n\nexport interface ConditionBuilderProps\n extends FormControlProps,\n Omit<\n ConditionBuilderControlSchema,\n 'type' | 'className' | 'descriptionClassName' | 'inputClassName'\n > {}\n\nexport default class ConditionBuilderControl extends React.PureComponent<ConditionBuilderProps> {\n render() {\n const {className, classnames: cx, ...rest} = this.props;\n\n return (\n <div className={cx(`ConditionBuilderControl`, className)}>\n <ConditionBuilderWithRemoteOptions {...rest} />\n </div>\n );\n }\n}\n\nconst ConditionBuilderWithRemoteOptions = withRemoteConfig({\n adaptor: data => data.fields || data\n})(\n class extends React.Component<\n RemoteOptionsProps & React.ComponentProps<typeof ConditionBuilder>\n > {\n render() {\n const {loading, config, deferLoad, disabled, ...rest} = this.props;\n return (\n <ConditionBuilder\n {...rest}\n fields={config || rest.fields || []}\n disabled={disabled || loading}\n />\n );\n }\n }\n);\n\n@FormItem({\n type: 'condition-builder',\n strictMode: false\n})\nexport class ConditionBuilderRenderer extends ConditionBuilderControl {}\n"
|
11
|
+
"import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport {Funcs, Fields} from '../../components/condition-builder/types';\nimport {Config} from '../../components/condition-builder/config';\nimport ConditionBuilder from '../../components/condition-builder/index';\nimport {SchemaApi, SchemaTokenizeableString} from '../../Schema';\nimport FormulaPicker from '../../components/formula/Picker';\nimport {\n RemoteOptionsProps,\n withRemoteConfig\n} from '../../components/WithRemoteConfig';\n\n/**\n * 条件组合控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/condition-builder\n */\nexport interface ConditionBuilderControlSchema extends FormBaseControl {\n /**\n * 指定为\n */\n type: 'condition-builder';\n\n /**\n * 函数集合\n */\n funcs?: Funcs;\n\n /**\n * 字段集合\n */\n fields: Fields;\n\n /**\n * 其他配置\n */\n config?: Config;\n\n /**\n * 通过远程拉取配置项\n */\n source?: SchemaApi | SchemaTokenizeableString;\n\n /**\n * 展现模式\n */\n builderMode?: 'simple' | 'full';\n\n /**\n * 是否显示并或切换键按钮,只在简单模式下有用\n */\n showANDOR?: boolean;\n}\n\nexport interface ConditionBuilderProps\n extends FormControlProps,\n Omit<\n ConditionBuilderControlSchema,\n 'type' | 'className' | 'descriptionClassName' | 'inputClassName'\n > {}\n\nexport default class ConditionBuilderControl extends React.PureComponent<ConditionBuilderProps> {\n render() {\n const {className, classnames: cx, ...rest} = this.props;\n\n return (\n <div className={cx(`ConditionBuilderControl`, className)}>\n <ConditionBuilderWithRemoteOptions {...rest} />\n </div>\n );\n }\n}\n\nconst ConditionBuilderWithRemoteOptions = withRemoteConfig({\n adaptor: data => data.fields || data\n})(\n class extends React.Component<\n RemoteOptionsProps & React.ComponentProps<typeof ConditionBuilder>\n > {\n render() {\n const {loading, config, deferLoad, disabled, ...rest} = this.props;\n return (\n <ConditionBuilder\n {...rest}\n fields={config || rest.fields || []}\n disabled={disabled || loading}\n />\n );\n }\n }\n);\n\n@FormItem({\n type: 'condition-builder',\n strictMode: false\n})\nexport class ConditionBuilderRenderer extends ConditionBuilderControl {}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -12,6 +12,7 @@ export interface IconPickerProps extends FormControlProps {
|
|
12
12
|
placeholder?: string;
|
13
13
|
resetValue?: any;
|
14
14
|
noDataTip?: string;
|
15
|
+
clearable?: boolean;
|
15
16
|
}
|
16
17
|
export interface IconPickerState {
|
17
18
|
isOpen?: boolean;
|
@@ -39,6 +40,7 @@ export default class IconPickerControl extends React.PureComponent<IconPickerPro
|
|
39
40
|
handleKeyDown(evt: React.KeyboardEvent<HTMLInputElement>): void;
|
40
41
|
handleChange(value: any): void;
|
41
42
|
handleStateChange(changes: StateChangeOptions<any>): void;
|
43
|
+
handleClear(): void;
|
42
44
|
renderFontIcons(): JSX.Element;
|
43
45
|
render(): JSX.Element;
|
44
46
|
}
|
@@ -10,6 +10,7 @@ var downshift_1 = tslib_1.__importStar(require("downshift"));
|
|
10
10
|
var helper_1 = require("../../utils/helper");
|
11
11
|
var IconPickerIcons_1 = require("./IconPickerIcons");
|
12
12
|
var Item_1 = require("./Item");
|
13
|
+
var icons_1 = require("../../components/icons");
|
13
14
|
var IconPickerControl = /** @class */ (function (_super) {
|
14
15
|
(0, tslib_1.__extends)(IconPickerControl, _super);
|
15
16
|
function IconPickerControl() {
|
@@ -134,9 +135,20 @@ var IconPickerControl = /** @class */ (function (_super) {
|
|
134
135
|
break;
|
135
136
|
}
|
136
137
|
};
|
138
|
+
IconPickerControl.prototype.handleClear = function () {
|
139
|
+
var _this = this;
|
140
|
+
var _a = this.props, onChange = _a.onChange, resetValue = _a.resetValue;
|
141
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(resetValue);
|
142
|
+
this.setState({
|
143
|
+
inputValue: resetValue,
|
144
|
+
isFocused: true
|
145
|
+
}, function () {
|
146
|
+
_this.focus();
|
147
|
+
});
|
148
|
+
};
|
137
149
|
IconPickerControl.prototype.renderFontIcons = function () {
|
138
150
|
var _this = this;
|
139
|
-
var _a = this.props, className = _a.className, inputOnly = _a.inputOnly, placeholder = _a.placeholder, cx = _a.classnames, name = _a.name, value = _a.value, noDataTip = _a.noDataTip, disabled = _a.disabled, __ = _a.translate;
|
151
|
+
var _a = this.props, className = _a.className, inputOnly = _a.inputOnly, placeholder = _a.placeholder, cx = _a.classnames, name = _a.name, value = _a.value, noDataTip = _a.noDataTip, disabled = _a.disabled, clearable = _a.clearable, __ = _a.translate;
|
140
152
|
var options = this.formatOptions();
|
141
153
|
var vendors = this.getVendors();
|
142
154
|
return (react_1.default.createElement(downshift_1.default, { isOpen: this.state.isOpen, inputValue: this.state.inputValue, onChange: this.handleChange, onOuterClick: this.handleBlur, onStateChange: this.handleStateChange, selectedItem: [value] }, function (_a) {
|
@@ -159,7 +171,9 @@ var IconPickerControl = /** @class */ (function (_super) {
|
|
159
171
|
onChange: _this.handleInputChange,
|
160
172
|
onKeyDown: _this.handleKeyDown,
|
161
173
|
value: _this.state.inputValue
|
162
|
-
}), { autoComplete: "off", disabled: disabled, size: 10 }))
|
174
|
+
}), { autoComplete: "off", disabled: disabled, size: 10 })),
|
175
|
+
clearable && !disabled && value ? (react_1.default.createElement("a", { onClick: _this.handleClear, className: cx('IconPickerControl-clear') },
|
176
|
+
react_1.default.createElement(icons_1.Icon, { icon: "input-clear", className: "icon" }))) : null),
|
163
177
|
isOpen ? (react_1.default.createElement("div", { className: cx('IconPickerControl-sugsPanel') },
|
164
178
|
vendors.length > 1 ? (react_1.default.createElement("div", { className: cx('IconPickerControl-tabs') }, vendors.map(function (vendor, index) { return (react_1.default.createElement("div", { className: cx('IconPickerControl-tab', {
|
165
179
|
active: _this.state.vendorIndex === index
|
@@ -266,6 +280,12 @@ var IconPickerControl = /** @class */ (function (_super) {
|
|
266
280
|
(0, tslib_1.__metadata)("design:paramtypes", [typeof (_c = typeof downshift_1.StateChangeOptions !== "undefined" && downshift_1.StateChangeOptions) === "function" ? _c : Object]),
|
267
281
|
(0, tslib_1.__metadata)("design:returntype", void 0)
|
268
282
|
], IconPickerControl.prototype, "handleStateChange", null);
|
283
|
+
(0, tslib_1.__decorate)([
|
284
|
+
helper_1.autobind,
|
285
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
286
|
+
(0, tslib_1.__metadata)("design:paramtypes", []),
|
287
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
288
|
+
], IconPickerControl.prototype, "handleClear", null);
|
269
289
|
return IconPickerControl;
|
270
290
|
}(react_1.default.PureComponent));
|
271
291
|
exports.default = IconPickerControl;
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/IconPicker.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,uEAA4B;AAC5B,6CAAyC;AACzC,iEAA8B;AAC9B,kEAAwD;AACxD,6CAA4C;AAC5C,qDAAwC;AACxC,+BAAmE;
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport cx from 'classnames';\nimport {matchSorter} from 'match-sorter';\nimport keycode from 'keycode';\nimport Downshift, {StateChangeOptions} from 'downshift';\nimport {autobind} from '../../utils/helper';\nimport {ICONS} from './IconPickerIcons';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport {Option} from '../../components/Select';\n\n/**\n * 图标选择器\n * 文档:https://baidu.gitee.io/amis/docs/components/form/icon-picker\n */\nexport interface IconPickerControlSchema extends FormBaseControl {\n type: 'icon-picker';\n\n // 这就不应该成为一个 amis 控件。。。\n}\n\nexport interface IconPickerProps extends FormControlProps {\n placeholder?: string;\n resetValue?: any;\n noDataTip?: string;\n}\n\nexport interface IconPickerState {\n isOpen?: boolean;\n inputValue?: string;\n isFocused?: boolean;\n vendorIndex?: number;\n}\n\nexport default class IconPickerControl extends React.PureComponent<\n IconPickerProps,\n IconPickerState\n> {\n input?: HTMLInputElement;\n\n state: IconPickerState = {\n isOpen: false,\n inputValue: '',\n isFocused: false,\n vendorIndex: 0\n };\n\n static defaultProps: Pick<\n IconPickerProps,\n 'resetValue' | 'placeholder' | 'noDataTip'\n > = {\n resetValue: '',\n placeholder: '',\n noDataTip: '未找到匹配的图标'\n };\n\n componentDidUpdate(prevProps: IconPickerProps) {\n const props = this.props;\n\n if (prevProps.value !== props.value) {\n this.setState({\n inputValue: ''\n });\n }\n }\n\n @autobind\n changeVendor(index: number) {\n this.setState(\n {\n vendorIndex: index\n },\n this.formatOptions\n );\n }\n\n @autobind\n formatOptions() {\n let vendorIndex = this.state.vendorIndex || 0;\n let {prefix, icons} = ICONS[vendorIndex];\n return icons.map((icon: string) => ({\n label: prefix + icon,\n value: prefix + icon\n }));\n }\n\n @autobind\n getVendors() {\n return ICONS.map(icons => icons.name);\n }\n\n @autobind\n inputRef(ref: any) {\n this.input = ref;\n }\n\n @autobind\n focus() {\n if (!this.input) {\n return;\n }\n\n this.input.focus();\n\n const len = this.input.value.length;\n len && this.input.setSelectionRange(len, len);\n }\n\n @autobind\n handleClick() {\n if (this.props.disabled) {\n return;\n }\n\n this.focus();\n this.setState({\n isOpen: true\n });\n }\n\n @autobind\n handleFocus(e: any) {\n this.setState({\n isOpen: true,\n isFocused: true\n });\n\n this.props.onFocus && this.props.onFocus(e);\n }\n\n @autobind\n handleBlur(e: any) {\n const {onBlur, trimContents, value, onChange} = this.props;\n\n this.setState(\n {\n isFocused: false\n },\n () => {\n if (trimContents && value && typeof value === 'string') {\n onChange(value.trim());\n }\n }\n );\n\n onBlur && onBlur(e);\n }\n\n @autobind\n handleInputChange(evt: React.ChangeEvent<HTMLInputElement>) {\n let value = evt.currentTarget.value;\n\n this.setState({\n inputValue: value\n });\n }\n\n @autobind\n handleKeyDown(evt: React.KeyboardEvent<HTMLInputElement>) {\n const code = keycode(evt.keyCode);\n if (code !== 'backspace') {\n return;\n }\n\n const {onChange} = this.props;\n\n if (!this.state.inputValue) {\n onChange('');\n this.setState({\n inputValue: ''\n });\n }\n }\n\n @autobind\n handleChange(value: any) {\n const {onChange, disabled} = this.props;\n\n if (disabled) {\n return;\n }\n\n onChange(value);\n this.setState({\n isFocused: false,\n inputValue: ''\n });\n }\n\n @autobind\n handleStateChange(changes: StateChangeOptions<any>) {\n switch (changes.type) {\n case Downshift.stateChangeTypes.itemMouseEnter:\n case Downshift.stateChangeTypes.changeInput:\n this.setState({\n isOpen: true\n });\n break;\n default:\n const state: IconPickerState = {};\n if (typeof changes.isOpen !== 'undefined') {\n state.isOpen = changes.isOpen;\n }\n\n if (this.state.isOpen && changes.isOpen === false) {\n state.inputValue = '';\n }\n\n this.setState(state);\n break;\n }\n }\n\n renderFontIcons() {\n const {\n className,\n inputOnly,\n placeholder,\n classnames: cx,\n name,\n value,\n noDataTip,\n disabled,\n translate: __\n } = this.props;\n const options = this.formatOptions();\n const vendors = this.getVendors();\n\n return (\n <Downshift\n isOpen={this.state.isOpen}\n inputValue={this.state.inputValue}\n onChange={this.handleChange}\n onOuterClick={this.handleBlur}\n onStateChange={this.handleStateChange}\n selectedItem={[value]}\n >\n {({getInputProps, getItemProps, isOpen, inputValue}) => {\n let filteredOptions =\n inputValue && isOpen\n ? matchSorter(options, inputValue, {keys: ['label', 'value']})\n : options;\n\n return (\n <div\n className={cx(\n `IconPickerControl-input IconPickerControl-input--withAC`,\n inputOnly ? className : '',\n {\n 'is-opened': isOpen\n }\n )}\n onClick={this.handleClick}\n >\n <div className={cx('IconPickerControl-valueWrap')}>\n {placeholder && !value && !this.state.inputValue ? (\n <div className={cx('IconPickerControl-placeholder')}>\n {placeholder}\n </div>\n ) : null}\n\n {!value || (inputValue && isOpen) ? null : (\n <div className={cx('IconPickerControl-value')}>\n <i className={cx(value)} />\n {value}\n </div>\n )}\n\n <input\n {...getInputProps({\n name,\n ref: this.inputRef,\n onFocus: this.handleFocus,\n onChange: this.handleInputChange,\n onKeyDown: this.handleKeyDown,\n value: this.state.inputValue\n })}\n autoComplete=\"off\"\n disabled={disabled}\n size={10}\n />\n </div>\n {isOpen ? (\n <div className={cx('IconPickerControl-sugsPanel')}>\n {vendors.length > 1 ? (\n <div className={cx('IconPickerControl-tabs')}>\n {vendors.map((vendor: string, index: number) => (\n <div\n className={cx('IconPickerControl-tab', {\n active: this.state.vendorIndex === index\n })}\n onClick={() => this.changeVendor(index)}\n key={index}\n >\n {vendor}\n </div>\n ))}\n </div>\n ) : null}\n\n {filteredOptions.length ? (\n <div\n className={cx(\n 'IconPickerControl-sugs',\n vendors.length > 1\n ? 'IconPickerControl-multiVendor'\n : 'IconPickerControl-singleVendor'\n )}\n >\n {filteredOptions.map((option: Option, index: number) => (\n <div\n {...getItemProps({\n item: option.value,\n className: cx(`IconPickerControl-sugItem`, {\n 'is-active': value === option.value\n })\n })}\n key={index}\n >\n <i\n className={cx(`${option.value}`)}\n title={`${option.value}`}\n />\n </div>\n ))}\n </div>\n ) : (\n <div\n className={cx(\n vendors.length > 1\n ? 'IconPickerControl-multiVendor'\n : 'IconPickerControl-singleVendor'\n )}\n >\n {__(noDataTip)}\n </div>\n )}\n </div>\n ) : null}\n </div>\n );\n }}\n </Downshift>\n );\n }\n\n render(): JSX.Element {\n const {className, classPrefix: ns, inputOnly, disabled} = this.props;\n\n let input = this.renderFontIcons();\n\n if (inputOnly) {\n return input;\n }\n\n return (\n <div\n className={cx(className, `${ns}IconPickerControl`, {\n 'is-focused': this.state.isFocused,\n 'is-disabled': disabled\n })}\n >\n {input}\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'icon-picker'\n})\nexport class IconPickerControlRenderer extends IconPickerControl {}\n"
|
11
|
+
"import React from 'react';\nimport cx from 'classnames';\nimport {matchSorter} from 'match-sorter';\nimport keycode from 'keycode';\nimport Downshift, {StateChangeOptions} from 'downshift';\nimport {autobind} from '../../utils/helper';\nimport {ICONS} from './IconPickerIcons';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport {Option} from '../../components/Select';\nimport {Icon} from '../../components/icons';\n\n/**\n * 图标选择器\n * 文档:https://baidu.gitee.io/amis/docs/components/form/icon-picker\n */\nexport interface IconPickerControlSchema extends FormBaseControl {\n type: 'icon-picker';\n\n // 这就不应该成为一个 amis 控件。。。\n}\n\nexport interface IconPickerProps extends FormControlProps {\n placeholder?: string;\n resetValue?: any;\n noDataTip?: string;\n clearable?: boolean;\n}\n\nexport interface IconPickerState {\n isOpen?: boolean;\n inputValue?: string;\n isFocused?: boolean;\n vendorIndex?: number;\n}\n\nexport default class IconPickerControl extends React.PureComponent<\n IconPickerProps,\n IconPickerState\n> {\n input?: HTMLInputElement;\n\n state: IconPickerState = {\n isOpen: false,\n inputValue: '',\n isFocused: false,\n vendorIndex: 0\n };\n\n static defaultProps: Pick<\n IconPickerProps,\n 'resetValue' | 'placeholder' | 'noDataTip'\n > = {\n resetValue: '',\n placeholder: '',\n noDataTip: '未找到匹配的图标'\n };\n\n componentDidUpdate(prevProps: IconPickerProps) {\n const props = this.props;\n\n if (prevProps.value !== props.value) {\n this.setState({\n inputValue: ''\n });\n }\n }\n\n @autobind\n changeVendor(index: number) {\n this.setState(\n {\n vendorIndex: index\n },\n this.formatOptions\n );\n }\n\n @autobind\n formatOptions() {\n let vendorIndex = this.state.vendorIndex || 0;\n let {prefix, icons} = ICONS[vendorIndex];\n return icons.map((icon: string) => ({\n label: prefix + icon,\n value: prefix + icon\n }));\n }\n\n @autobind\n getVendors() {\n return ICONS.map(icons => icons.name);\n }\n\n @autobind\n inputRef(ref: any) {\n this.input = ref;\n }\n\n @autobind\n focus() {\n if (!this.input) {\n return;\n }\n\n this.input.focus();\n\n const len = this.input.value.length;\n len && this.input.setSelectionRange(len, len);\n }\n\n @autobind\n handleClick() {\n if (this.props.disabled) {\n return;\n }\n\n this.focus();\n this.setState({\n isOpen: true\n });\n }\n\n @autobind\n handleFocus(e: any) {\n this.setState({\n isOpen: true,\n isFocused: true\n });\n\n this.props.onFocus && this.props.onFocus(e);\n }\n\n @autobind\n handleBlur(e: any) {\n const {onBlur, trimContents, value, onChange} = this.props;\n\n this.setState(\n {\n isFocused: false\n },\n () => {\n if (trimContents && value && typeof value === 'string') {\n onChange(value.trim());\n }\n }\n );\n\n onBlur && onBlur(e);\n }\n\n @autobind\n handleInputChange(evt: React.ChangeEvent<HTMLInputElement>) {\n let value = evt.currentTarget.value;\n\n this.setState({\n inputValue: value\n });\n }\n\n @autobind\n handleKeyDown(evt: React.KeyboardEvent<HTMLInputElement>) {\n const code = keycode(evt.keyCode);\n if (code !== 'backspace') {\n return;\n }\n\n const {onChange} = this.props;\n\n if (!this.state.inputValue) {\n onChange('');\n this.setState({\n inputValue: ''\n });\n }\n }\n\n @autobind\n handleChange(value: any) {\n const {onChange, disabled} = this.props;\n\n if (disabled) {\n return;\n }\n\n onChange(value);\n this.setState({\n isFocused: false,\n inputValue: ''\n });\n }\n\n @autobind\n handleStateChange(changes: StateChangeOptions<any>) {\n switch (changes.type) {\n case Downshift.stateChangeTypes.itemMouseEnter:\n case Downshift.stateChangeTypes.changeInput:\n this.setState({\n isOpen: true\n });\n break;\n default:\n const state: IconPickerState = {};\n if (typeof changes.isOpen !== 'undefined') {\n state.isOpen = changes.isOpen;\n }\n\n if (this.state.isOpen && changes.isOpen === false) {\n state.inputValue = '';\n }\n\n this.setState(state);\n break;\n }\n }\n\n @autobind\n handleClear() {\n const {onChange, resetValue} = this.props;\n\n onChange?.(resetValue);\n\n this.setState(\n {\n inputValue: resetValue,\n isFocused: true\n },\n () => {\n this.focus();\n }\n );\n }\n\n renderFontIcons() {\n const {\n className,\n inputOnly,\n placeholder,\n classnames: cx,\n name,\n value,\n noDataTip,\n disabled,\n clearable,\n translate: __\n } = this.props;\n const options = this.formatOptions();\n const vendors = this.getVendors();\n\n return (\n <Downshift\n isOpen={this.state.isOpen}\n inputValue={this.state.inputValue}\n onChange={this.handleChange}\n onOuterClick={this.handleBlur}\n onStateChange={this.handleStateChange}\n selectedItem={[value]}\n >\n {({getInputProps, getItemProps, isOpen, inputValue}) => {\n let filteredOptions =\n inputValue && isOpen\n ? matchSorter(options, inputValue, {keys: ['label', 'value']})\n : options;\n\n return (\n <div\n className={cx(\n `IconPickerControl-input IconPickerControl-input--withAC`,\n inputOnly ? className : '',\n {\n 'is-opened': isOpen\n }\n )}\n onClick={this.handleClick}\n >\n <div className={cx('IconPickerControl-valueWrap')}>\n {placeholder && !value && !this.state.inputValue ? (\n <div className={cx('IconPickerControl-placeholder')}>\n {placeholder}\n </div>\n ) : null}\n\n {!value || (inputValue && isOpen) ? null : (\n <div className={cx('IconPickerControl-value')}>\n <i className={cx(value)} />\n {value}\n </div>\n )}\n\n <input\n {...getInputProps({\n name,\n ref: this.inputRef,\n onFocus: this.handleFocus,\n onChange: this.handleInputChange,\n onKeyDown: this.handleKeyDown,\n value: this.state.inputValue\n })}\n autoComplete=\"off\"\n disabled={disabled}\n size={10}\n />\n\n {clearable && !disabled && value ? (\n <a\n onClick={this.handleClear}\n className={cx('IconPickerControl-clear')}\n >\n <Icon icon=\"input-clear\" className=\"icon\" />\n </a>\n ) : null}\n </div>\n {isOpen ? (\n <div className={cx('IconPickerControl-sugsPanel')}>\n {vendors.length > 1 ? (\n <div className={cx('IconPickerControl-tabs')}>\n {vendors.map((vendor: string, index: number) => (\n <div\n className={cx('IconPickerControl-tab', {\n active: this.state.vendorIndex === index\n })}\n onClick={() => this.changeVendor(index)}\n key={index}\n >\n {vendor}\n </div>\n ))}\n </div>\n ) : null}\n\n {filteredOptions.length ? (\n <div\n className={cx(\n 'IconPickerControl-sugs',\n vendors.length > 1\n ? 'IconPickerControl-multiVendor'\n : 'IconPickerControl-singleVendor'\n )}\n >\n {filteredOptions.map((option: Option, index: number) => (\n <div\n {...getItemProps({\n item: option.value,\n className: cx(`IconPickerControl-sugItem`, {\n 'is-active': value === option.value\n })\n })}\n key={index}\n >\n <i\n className={cx(`${option.value}`)}\n title={`${option.value}`}\n />\n </div>\n ))}\n </div>\n ) : (\n <div\n className={cx(\n vendors.length > 1\n ? 'IconPickerControl-multiVendor'\n : 'IconPickerControl-singleVendor'\n )}\n >\n {__(noDataTip)}\n </div>\n )}\n </div>\n ) : null}\n </div>\n );\n }}\n </Downshift>\n );\n }\n\n render(): JSX.Element {\n const {className, classPrefix: ns, inputOnly, disabled} = this.props;\n\n let input = this.renderFontIcons();\n\n if (inputOnly) {\n return input;\n }\n\n return (\n <div\n className={cx(className, `${ns}IconPickerControl`, {\n 'is-focused': this.state.isFocused,\n 'is-disabled': disabled\n })}\n >\n {input}\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'icon-picker'\n})\nexport class IconPickerControlRenderer extends IconPickerControl {}\n"
|
12
12
|
]
|
13
13
|
}
|