amis 1.5.5 → 1.5.6
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/Root.js +1 -1
- package/lib/Root.js.map +2 -2
- package/lib/Schema.d.ts +1 -1
- package/lib/Schema.js.map +1 -1
- package/lib/SchemaRenderer.js +4 -4
- package/lib/SchemaRenderer.js.map +2 -2
- package/lib/components/AsideNav.d.ts +1 -1
- package/lib/components/AsideNav.js.map +1 -1
- package/lib/components/Card.d.ts +20 -20
- package/lib/components/Card.js +1 -1
- package/lib/components/Card.js.map +2 -2
- package/lib/components/CodeMirror.d.ts +26 -0
- package/lib/components/CodeMirror.js +104 -0
- package/lib/components/CodeMirror.js.map +13 -0
- package/lib/components/Collapse.d.ts +22 -21
- package/lib/components/Collapse.js +5 -7
- package/lib/components/Collapse.js.map +2 -2
- package/lib/components/CollapseGroup.d.ts +20 -20
- package/lib/components/CollapseGroup.js +5 -3
- package/lib/components/CollapseGroup.js.map +2 -2
- package/lib/components/ColorPicker.d.ts +85 -84
- package/lib/components/ColorPicker.js +15 -3
- package/lib/components/ColorPicker.js.map +2 -2
- package/lib/components/DatePicker.d.ts +84 -84
- package/lib/components/DatePicker.js +7 -3
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/DateRangePicker.d.ts +85 -84
- package/lib/components/DateRangePicker.js +5 -3
- package/lib/components/DateRangePicker.js.map +2 -2
- package/lib/components/LocationPicker.d.ts +84 -84
- package/lib/components/MonthRangePicker.d.ts +85 -84
- package/lib/components/MonthRangePicker.js +5 -3
- package/lib/components/MonthRangePicker.js.map +2 -2
- package/lib/components/PickerContainer.d.ts +2 -1
- package/lib/components/PickerContainer.js +3 -3
- package/lib/components/PickerContainer.js.map +2 -2
- package/lib/components/PopUp.d.ts +93 -0
- package/lib/components/PopUp.js +58 -0
- package/lib/components/PopUp.js.map +13 -0
- package/lib/components/Rating.d.ts +203 -73
- package/lib/components/Rating.js +147 -31
- package/lib/components/Rating.js.map +2 -2
- package/lib/components/Select.d.ts +237 -237
- package/lib/components/Steps.d.ts +1 -0
- package/lib/components/Steps.js +5 -3
- package/lib/components/Steps.js.map +2 -2
- package/lib/components/Tabs.d.ts +20 -20
- package/lib/components/TabsTransferPicker.js +1 -1
- package/lib/components/TabsTransferPicker.js.map +2 -2
- package/lib/components/TransferPicker.d.ts +0 -1
- package/lib/components/TransferPicker.js +2 -15
- package/lib/components/TransferPicker.js.map +2 -2
- package/lib/components/formula/Editor.d.ts +560 -0
- package/lib/components/formula/Editor.js +186 -0
- package/lib/components/formula/Editor.js.map +13 -0
- package/lib/components/formula/FuncList.d.ts +67 -0
- package/lib/components/formula/FuncList.js +35 -0
- package/lib/components/formula/FuncList.js.map +13 -0
- package/lib/components/formula/Picker.d.ts +493 -0
- package/lib/components/formula/Picker.js +48 -0
- package/lib/components/formula/Picker.js.map +13 -0
- package/lib/components/formula/VariableList.d.ts +9 -0
- package/lib/components/formula/VariableList.js +15 -0
- package/lib/components/formula/VariableList.js.map +13 -0
- package/lib/components/formula/plugin.d.ts +18 -0
- package/lib/components/formula/plugin.js +136 -0
- package/lib/components/formula/plugin.js.map +13 -0
- package/lib/components/icons.js +2 -0
- package/lib/components/icons.js.map +2 -2
- package/lib/components/index.d.ts +2 -1
- package/lib/components/index.js +4 -2
- package/lib/components/index.js.map +2 -2
- package/lib/helper.css +57 -57
- package/lib/helper.css.map +1 -1
- package/lib/icons/star.js +12 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/index.js.map +2 -2
- package/lib/renderers/Collapse.js +8 -2
- package/lib/renderers/Collapse.js.map +2 -2
- package/lib/renderers/CollapseGroup.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 +2 -2
- package/lib/renderers/Form/InputColor.js.map +2 -2
- package/lib/renderers/Form/InputDate.js +2 -2
- package/lib/renderers/Form/InputDate.js.map +2 -2
- package/lib/renderers/Form/InputDateRange.js +2 -2
- package/lib/renderers/Form/InputDateRange.js.map +2 -2
- package/lib/renderers/Form/InputFile.js +1 -1
- package/lib/renderers/Form/InputFile.js.map +2 -2
- package/lib/renderers/Form/InputFormula.d.ts +35 -0
- package/lib/renderers/Form/InputFormula.js +25 -0
- package/lib/renderers/Form/InputFormula.js.map +13 -0
- package/lib/renderers/Form/InputImage.js +1 -1
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputMonthRange.js +2 -2
- package/lib/renderers/Form/InputMonthRange.js.map +2 -2
- package/lib/renderers/Form/InputQuarterRange.js +2 -2
- package/lib/renderers/Form/InputQuarterRange.js.map +2 -2
- package/lib/renderers/Form/InputRating.d.ts +37 -0
- package/lib/renderers/Form/InputRating.js +6 -2
- package/lib/renderers/Form/InputRating.js.map +2 -2
- package/lib/renderers/Form/InputYearRange.js +2 -2
- package/lib/renderers/Form/InputYearRange.js.map +2 -2
- package/lib/renderers/Form/TreeSelect.d.ts +1 -0
- package/lib/renderers/Form/TreeSelect.js +11 -8
- package/lib/renderers/Form/TreeSelect.js.map +2 -2
- package/lib/renderers/Json.js +7 -0
- package/lib/renderers/Json.js.map +2 -2
- package/lib/renderers/Steps.js +2 -2
- package/lib/renderers/Steps.js.map +2 -2
- package/lib/store/formItem.js +11 -1
- package/lib/store/formItem.js.map +2 -2
- package/lib/themes/ang-ie11.css +305 -10
- package/lib/themes/ang.css +305 -10
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +305 -10
- package/lib/themes/antd.css +305 -10
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +306 -10
- package/lib/themes/cxd.css +306 -10
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +305 -10
- package/lib/themes/dark.css +305 -10
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +306 -10
- package/lib/themes/default.css.map +1 -1
- package/lib/utils/api.js +2 -2
- package/lib/utils/api.js.map +2 -2
- package/lib/utils/helper.js +2 -7
- package/lib/utils/helper.js.map +2 -2
- package/package.json +5 -3
- package/schema.json +59 -7
- package/scss/_properties.scss +3 -1
- package/scss/_variables.scss +1 -1
- package/scss/components/_formula.scss +122 -0
- package/scss/components/_popup.scss +123 -0
- package/scss/components/_steps.scss +60 -0
- package/scss/components/form/_color.scss +4 -0
- package/scss/components/form/_date-range.scss +4 -0
- package/scss/components/form/_date.scss +3 -0
- package/scss/components/form/_rating.scss +60 -21
- package/scss/components/form/_tree-select.scss +4 -0
- package/scss/helper/background/_background-color.scss +1 -1
- package/scss/helper/border/_border-color.scss +1 -1
- package/scss/helper/typography/_text-color.scss +1 -1
- package/scss/themes/_common.scss +2 -0
- package/scss/themes/_cxd-variables.scss +2 -0
- package/sdk/ang-ie11.css +922 -8
- package/sdk/ang.css +926 -10
- package/sdk/antd-ie11.css +922 -8
- package/sdk/antd.css +926 -10
- package/sdk/charts.js +17 -17
- package/sdk/codemirror.js +14 -0
- package/sdk/color-picker.js +65 -69
- package/sdk/cropperjs.js +3 -3
- package/sdk/cxd-ie11.css +922 -8
- package/sdk/cxd.css +927 -10
- package/sdk/dark-ie11.css +922 -8
- package/sdk/dark.css +926 -10
- package/sdk/exceljs.js +1 -1
- package/sdk/helper.css +57 -57
- package/sdk/helper.css.map +1 -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 +922 -8
- package/sdk/sdk.css +927 -10
- package/sdk/sdk.js +1345 -1235
- 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/Root.tsx +1 -0
- package/src/Schema.ts +1 -0
- package/src/SchemaRenderer.tsx +4 -0
- package/src/components/AsideNav.tsx +1 -1
- package/src/components/Card.tsx +2 -2
- package/src/components/CodeMirror.tsx +99 -0
- package/src/components/Collapse.tsx +22 -14
- package/src/components/CollapseGroup.tsx +9 -11
- package/src/components/ColorPicker.tsx +45 -3
- package/src/components/DatePicker.tsx +33 -3
- package/src/components/DateRangePicker.tsx +17 -3
- package/src/components/MonthRangePicker.tsx +18 -4
- package/src/components/PickerContainer.tsx +10 -6
- package/src/components/PopUp.tsx +133 -0
- package/src/components/Rating.tsx +235 -47
- package/src/components/Steps.tsx +8 -3
- package/src/components/TabsTransferPicker.tsx +1 -1
- package/src/components/TransferPicker.tsx +1 -11
- package/src/components/formula/Editor.tsx +261 -0
- package/src/components/formula/FuncList.tsx +82 -0
- package/src/components/formula/Picker.tsx +86 -0
- package/src/components/formula/VariableList.tsx +49 -0
- package/src/components/formula/plugin.ts +177 -0
- package/src/components/icons.tsx +2 -0
- package/src/components/index.tsx +2 -0
- package/src/icons/star.svg +12 -0
- package/src/index.tsx +1 -0
- package/src/renderers/Collapse.tsx +27 -27
- package/src/renderers/CollapseGroup.tsx +13 -12
- package/src/renderers/Form/InputColor.tsx +2 -3
- package/src/renderers/Form/InputDate.tsx +2 -0
- package/src/renderers/Form/InputDateRange.tsx +2 -0
- package/src/renderers/Form/InputFile.tsx +1 -1
- package/src/renderers/Form/InputFormula.tsx +75 -0
- package/src/renderers/Form/InputImage.tsx +1 -1
- package/src/renderers/Form/InputMonthRange.tsx +2 -0
- package/src/renderers/Form/InputQuarterRange.tsx +2 -0
- package/src/renderers/Form/InputRating.tsx +66 -3
- package/src/renderers/Form/InputYearRange.tsx +2 -0
- package/src/renderers/Form/TreeSelect.tsx +82 -63
- package/src/renderers/Json.tsx +5 -0
- package/src/renderers/Steps.tsx +4 -2
- package/src/store/formItem.ts +15 -0
- package/src/utils/api.ts +5 -2
- package/src/utils/helper.ts +5 -14
@@ -1,5 +1,6 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { FormControlProps, FormBaseControl } from './Item';
|
3
|
+
import { textPositionType } from '../../components/Rating';
|
3
4
|
/**
|
4
5
|
* Rating
|
5
6
|
* 文档:https://baidu.gitee.io/amis/docs/components/form/rating
|
@@ -18,6 +19,42 @@ export interface RatingControlSchema extends FormBaseControl {
|
|
18
19
|
* 是否允许再次点击后清除
|
19
20
|
*/
|
20
21
|
allowClear?: boolean;
|
22
|
+
/**
|
23
|
+
* 是否只读
|
24
|
+
*/
|
25
|
+
readonly?: boolean;
|
26
|
+
/**
|
27
|
+
* 星星被选中的颜色
|
28
|
+
*/
|
29
|
+
colors?: string | {
|
30
|
+
[propName: string]: string;
|
31
|
+
};
|
32
|
+
/**
|
33
|
+
* 未被选中的星星的颜色
|
34
|
+
*/
|
35
|
+
inactiveColor?: string;
|
36
|
+
/**
|
37
|
+
* 星星被选中时的提示文字
|
38
|
+
*/
|
39
|
+
texts?: {
|
40
|
+
[propName: string]: string;
|
41
|
+
};
|
42
|
+
/**
|
43
|
+
* 文字的位置
|
44
|
+
*/
|
45
|
+
textPosition?: textPositionType;
|
46
|
+
/**
|
47
|
+
* 自定义字符
|
48
|
+
*/
|
49
|
+
char?: string;
|
50
|
+
/**
|
51
|
+
* 自定义字符类名
|
52
|
+
*/
|
53
|
+
charClassName?: string;
|
54
|
+
/**
|
55
|
+
* 自定义文字类名
|
56
|
+
*/
|
57
|
+
textClassName?: string;
|
21
58
|
}
|
22
59
|
export interface RatingProps extends FormControlProps {
|
23
60
|
value: number;
|
@@ -11,9 +11,13 @@ var RatingControl = /** @class */ (function (_super) {
|
|
11
11
|
return _super !== null && _super.apply(this, arguments) || this;
|
12
12
|
}
|
13
13
|
RatingControl.prototype.render = function () {
|
14
|
-
var _a = this.props, className = _a.className, value = _a.value, count = _a.count, half = _a.half, readOnly = _a.readOnly, disabled = _a.disabled, onChange = _a.onChange,
|
14
|
+
var _a = this.props, className = _a.className, value = _a.value, count = _a.count, half = _a.half, readOnly = _a.readOnly, disabled = _a.disabled, onChange = _a.onChange, onHoverChange = _a.onHoverChange, allowClear = _a.allowClear, char = _a.char, inactiveColor = _a.inactiveColor, colors = _a.colors, texts = _a.texts, charClassName = _a.charClassName, textClassName = _a.textClassName, textPosition = _a.textPosition, cx = _a.classnames;
|
15
15
|
return (react_1.default.createElement("div", { className: cx('RatingControl', className) },
|
16
|
-
react_1.default.createElement(Rating_1.default, { classnames: cx, value: value, disabled: disabled, count: count, half: half, allowClear: allowClear, readOnly: readOnly,
|
16
|
+
react_1.default.createElement(Rating_1.default, { classnames: cx, value: value, disabled: disabled, count: count, half: half, allowClear: allowClear, readOnly: readOnly, char: char, inactiveColor: inactiveColor, colors: colors, texts: texts, charClassName: charClassName, textClassName: textClassName, textPosition: textPosition, onChange: function (value) {
|
17
|
+
onChange && onChange(value);
|
18
|
+
}, onHoverChange: function (value) {
|
19
|
+
onHoverChange && onHoverChange(value);
|
20
|
+
} })));
|
17
21
|
};
|
18
22
|
RatingControl.defaultProps = {
|
19
23
|
value: 0,
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/InputRating.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,+BAAmE;AACnE,
|
9
|
+
"mappings": ";;;;AAAA,6DAA0B;AAC1B,+BAAmE;AACnE,gFAAiE;AA4EjE;IAA2C,8CAAiC;IAA5E;;IAwDA,CAAC;IAhDC,8BAAM,GAAN;QACQ,IAAA,KAkBF,IAAI,CAAC,KAAK,EAjBZ,SAAS,eAAA,EACT,KAAK,WAAA,EACL,KAAK,WAAA,EACL,IAAI,UAAA,EACJ,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,aAAa,mBAAA,EACb,UAAU,gBAAA,EACV,IAAI,UAAA,EACJ,aAAa,mBAAA,EACb,MAAM,YAAA,EACN,KAAK,WAAA,EACL,aAAa,mBAAA,EACb,aAAa,mBAAA,EACb,YAAY,kBAAA,EACA,EAAE,gBACF,CAAC;QAEf,OAAO,CACL,uCAAK,SAAS,EAAE,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC;YAC5C,8BAAC,gBAAM,IACL,UAAU,EAAE,EAAE,EACd,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,UAAC,KAAa;oBACtB,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC9B,CAAC,EACD,aAAa,EAAE,UAAC,KAAa;oBAC3B,aAAa,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;gBACxC,CAAC,GACD,CACE,CACP,CAAC;IACJ,CAAC;IAtDM,0BAAY,GAAyB;QAC1C,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,KAAK;KAChB,CAAC;IAkDJ,oBAAC;CAAA,AAxDD,CAA2C,eAAK,CAAC,SAAS,GAwDzD;kBAxDoB,aAAa;AA8DlC;IAA2C,sDAAa;IAAxD;;IAA0D,CAAC;IAA9C,qBAAqB;QAJjC,IAAA,eAAQ,EAAC;YACR,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,KAAK;SACnB,CAAC;OACW,qBAAqB,CAAyB;IAAD,4BAAC;CAAA,AAA3D,CAA2C,aAAa,GAAG;AAA9C,sDAAqB",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport Rating from '../../components/Rating';\n\n/**\n * Rating\n * 文档:https://baidu.gitee.io/amis/docs/components/form/rating\n */\nexport interface RatingControlSchema extends FormBaseControl {\n type: 'input-rating';\n\n /**\n * 分数\n */\n count?: number;\n\n /**\n * 允许半颗星\n */\n half?: boolean;\n\n /**\n * 是否允许再次点击后清除\n */\n allowClear?: boolean;\n}\n\nexport interface RatingProps extends FormControlProps {\n value: number;\n count: number;\n half: boolean;\n readOnly: boolean;\n}\n\nexport default class RatingControl extends React.Component<RatingProps, any> {\n static defaultProps: Partial<RatingProps> = {\n value: 0,\n count: 5,\n half: false,\n readOnly: false\n };\n\n render() {\n const {\n className,\n value,\n count,\n half,\n readOnly,\n disabled,\n onChange,\n
|
11
|
+
"import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport Rating, {textPositionType} from '../../components/Rating';\n\n/**\n * Rating\n * 文档:https://baidu.gitee.io/amis/docs/components/form/rating\n */\nexport interface RatingControlSchema extends FormBaseControl {\n type: 'input-rating';\n\n /**\n * 分数\n */\n count?: number;\n\n /**\n * 允许半颗星\n */\n half?: boolean;\n\n /**\n * 是否允许再次点击后清除\n */\n allowClear?: boolean;\n\n /**\n * 是否只读\n */\n readonly?: boolean;\n\n /**\n * 星星被选中的颜色\n */\n // colors?: string | {\n // [propName: string | number]: string;\n // };\n\n colors?: string | {[propName: string]: string};\n\n /**\n * 未被选中的星星的颜色\n */\n inactiveColor?: string;\n\n /**\n * 星星被选中时的提示文字\n */\n texts?: {[propName: string]: string};\n\n /**\n * 文字的位置\n */\n textPosition?: textPositionType;\n\n /**\n * 自定义字符\n */\n char?: string;\n\n /**\n * 自定义字符类名\n */\n charClassName?: string;\n\n /**\n * 自定义文字类名\n */\n textClassName?: string;\n}\n\nexport interface RatingProps extends FormControlProps {\n value: number;\n count: number;\n half: boolean;\n readOnly: boolean;\n}\n\nexport default class RatingControl extends React.Component<RatingProps, any> {\n static defaultProps: Partial<RatingProps> = {\n value: 0,\n count: 5,\n half: false,\n readOnly: false\n };\n\n render() {\n const {\n className,\n value,\n count,\n half,\n readOnly,\n disabled,\n onChange,\n onHoverChange,\n allowClear,\n char,\n inactiveColor,\n colors,\n texts,\n charClassName,\n textClassName,\n textPosition,\n classnames: cx\n } = this.props;\n\n return (\n <div className={cx('RatingControl', className)}>\n <Rating\n classnames={cx}\n value={value}\n disabled={disabled}\n count={count}\n half={half}\n allowClear={allowClear}\n readOnly={readOnly}\n char={char}\n inactiveColor={inactiveColor}\n colors={colors}\n texts={texts}\n charClassName={charClassName}\n textClassName={textClassName}\n textPosition={textPosition}\n onChange={(value: number) => {\n onChange && onChange(value);\n }}\n onHoverChange={(value: number) => {\n onHoverChange && onHoverChange(value);\n }}\n />\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'input-rating',\n sizeMutable: false\n})\nexport class RatingControlRenderer extends RatingControl {}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -14,9 +14,9 @@ var YearRangeControl = /** @class */ (function (_super) {
|
|
14
14
|
return _super !== null && _super.apply(this, arguments) || this;
|
15
15
|
}
|
16
16
|
YearRangeControl.prototype.render = function () {
|
17
|
-
var _a = this.props, className = _a.className, ns = _a.classPrefix, defaultValue = _a.defaultValue, defaultData = _a.defaultData, minDate = _a.minDate, maxDate = _a.maxDate, minDuration = _a.minDuration, maxDuration = _a.maxDuration, data = _a.data, format = _a.format, rest = (0, tslib_1.__rest)(_a, ["className", "classPrefix", "defaultValue", "defaultData", "minDate", "maxDate", "minDuration", "maxDuration", "data", "format"]);
|
17
|
+
var _a = this.props, className = _a.className, ns = _a.classPrefix, defaultValue = _a.defaultValue, defaultData = _a.defaultData, minDate = _a.minDate, maxDate = _a.maxDate, minDuration = _a.minDuration, maxDuration = _a.maxDuration, data = _a.data, format = _a.format, env = _a.env, rest = (0, tslib_1.__rest)(_a, ["className", "classPrefix", "defaultValue", "defaultData", "minDate", "maxDate", "minDuration", "maxDuration", "data", "format", "env"]);
|
18
18
|
return (react_1.default.createElement("div", { className: (0, classnames_1.default)(ns + "DateRangeControl", className) },
|
19
|
-
react_1.default.createElement(DateRangePicker_1.default, (0, tslib_1.__assign)({ viewMode: "years", format: "YYYY", inputFormat: "YYYY", placeholder: "YearRange.placeholder", ranges: "thisyear,lastYear", classPrefix: ns, data: data }, rest, { minDate: minDate ? (0, tpl_builtin_1.filterDate)(minDate, data, format) : undefined, maxDate: maxDate ? (0, tpl_builtin_1.filterDate)(maxDate, data, format) : undefined, minDuration: minDuration ? (0, tpl_builtin_1.parseDuration)(minDuration) : undefined, maxDuration: maxDuration ? (0, tpl_builtin_1.parseDuration)(maxDuration) : undefined }))));
|
19
|
+
react_1.default.createElement(DateRangePicker_1.default, (0, tslib_1.__assign)({ viewMode: "years", format: "YYYY", inputFormat: "YYYY", placeholder: "YearRange.placeholder", ranges: "thisyear,lastYear", classPrefix: ns, data: data }, rest, { minDate: minDate ? (0, tpl_builtin_1.filterDate)(minDate, data, format) : undefined, maxDate: maxDate ? (0, tpl_builtin_1.filterDate)(maxDate, data, format) : undefined, minDuration: minDuration ? (0, tpl_builtin_1.parseDuration)(minDuration) : undefined, maxDuration: maxDuration ? (0, tpl_builtin_1.parseDuration)(maxDuration) : undefined, useMobileUI: env.useMobileUI }))));
|
20
20
|
};
|
21
21
|
return YearRangeControl;
|
22
22
|
}(InputDateRange_1.default));
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/InputYearRange.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,+BAAgC;AAChC,uEAA4B;AAC5B,uDAAkE;AAClE,iFAAwE;AACxE,kGAA+D;AAU/D;IAA8C,iDAAc;IAA5D;;
|
9
|
+
"mappings": ";;;;AAAA,6DAA0B;AAC1B,+BAAgC;AAChC,uEAA4B;AAC5B,uDAAkE;AAClE,iFAAwE;AACxE,kGAA+D;AAU/D;IAA8C,iDAAc;IAA5D;;IAqCA,CAAC;IApCC,iCAAM,GAAN;QACE,IAAM,KAaF,IAAI,CAAC,KAAK,EAZZ,SAAS,eAAA,EACI,EAAE,iBAAA,EACf,YAAY,kBAAA,EACZ,WAAW,iBAAA,EACX,OAAO,aAAA,EACP,OAAO,aAAA,EACP,WAAW,iBAAA,EACX,WAAW,iBAAA,EACX,IAAI,UAAA,EACJ,MAAM,YAAA,EACN,GAAG,SAAA,EACA,IAAI,2BAZH,wIAaL,CAAa,CAAC;QAEf,OAAO,CACL,uCAAK,SAAS,EAAE,IAAA,oBAAE,EAAI,EAAE,qBAAkB,EAAE,SAAS,CAAC;YACpD,8BAAC,yBAAe,0BACd,QAAQ,EAAC,OAAO,EAChB,MAAM,EAAC,MAAM,EACb,WAAW,EAAC,MAAM,EAClB,WAAW,EAAC,uBAAuB,EACnC,MAAM,EAAC,mBAAmB,EAC1B,WAAW,EAAE,EAAE,EACf,IAAI,EAAE,IAAI,IACN,IAAI,IACR,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAA,wBAAU,EAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAChE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAA,wBAAU,EAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAChE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,IAAA,2BAAa,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,EACjE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,IAAA,2BAAa,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,EACjE,WAAW,EAAE,GAAG,CAAC,WAAW,IAC5B,CACE,CACP,CAAC;IACJ,CAAC;IACH,uBAAC;AAAD,CAAC,AArCD,CAA8C,wBAAc,GAqC3D;;AAKD;IAA8C,yDAAgB;IAA9D;;IASA,CAAC;IARQ,qCAAY,GAAG;QACpB,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,GAAG;QACd,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,MAAM;QACnB,UAAU,EAAE,MAAM;KACnB,CAAC;IARS,wBAAwB;QAHpC,IAAA,eAAQ,EAAC;YACR,IAAI,EAAE,kBAAkB;SACzB,CAAC;OACW,wBAAwB,CASpC;IAAD,+BAAC;CAAA,AATD,CAA8C,gBAAgB,GAS7D;AATY,4DAAwB",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {FormItem} from './Item';\nimport cx from 'classnames';\nimport {filterDate, parseDuration} from '../../utils/tpl-builtin';\nimport InputDateRange, {DateRangeControlSchema} from './InputDateRange';\nimport DateRangePicker from '../../components/DateRangePicker';\n/**\n * YearRange 年份范围控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/input-year-range\n */\nexport interface YearRangeControlSchema\n extends Omit<DateRangeControlSchema, 'type'> {\n type: 'input-year-range';\n}\n\nexport default class YearRangeControl extends InputDateRange {\n render() {\n const {\n className,\n classPrefix: ns,\n defaultValue,\n defaultData,\n minDate,\n maxDate,\n minDuration,\n maxDuration,\n data,\n format,\n ...rest\n } = this.props;\n\n return (\n <div className={cx(`${ns}DateRangeControl`, className)}>\n <DateRangePicker\n viewMode=\"years\"\n format=\"YYYY\"\n inputFormat=\"YYYY\"\n placeholder=\"YearRange.placeholder\"\n ranges=\"thisyear,lastYear\"\n classPrefix={ns}\n data={data}\n {...rest}\n minDate={minDate ? filterDate(minDate, data, format) : undefined}\n maxDate={maxDate ? filterDate(maxDate, data, format) : undefined}\n minDuration={minDuration ? parseDuration(minDuration) : undefined}\n maxDuration={maxDuration ? parseDuration(maxDuration) : undefined}\n />\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'input-year-range'\n})\nexport class YearRangeControlRenderer extends YearRangeControl {\n static defaultProps = {\n format: 'X',\n joinValues: true,\n delimiter: ',',\n timeFormat: '',\n inputFormat: 'YYYY',\n dateFormat: 'YYYY'\n };\n}\n"
|
11
|
+
"import React from 'react';\nimport {FormItem} from './Item';\nimport cx from 'classnames';\nimport {filterDate, parseDuration} from '../../utils/tpl-builtin';\nimport InputDateRange, {DateRangeControlSchema} from './InputDateRange';\nimport DateRangePicker from '../../components/DateRangePicker';\n/**\n * YearRange 年份范围控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/input-year-range\n */\nexport interface YearRangeControlSchema\n extends Omit<DateRangeControlSchema, 'type'> {\n type: 'input-year-range';\n}\n\nexport default class YearRangeControl extends InputDateRange {\n render() {\n const {\n className,\n classPrefix: ns,\n defaultValue,\n defaultData,\n minDate,\n maxDate,\n minDuration,\n maxDuration,\n data,\n format,\n env,\n ...rest\n } = this.props;\n\n return (\n <div className={cx(`${ns}DateRangeControl`, className)}>\n <DateRangePicker\n viewMode=\"years\"\n format=\"YYYY\"\n inputFormat=\"YYYY\"\n placeholder=\"YearRange.placeholder\"\n ranges=\"thisyear,lastYear\"\n classPrefix={ns}\n data={data}\n {...rest}\n minDate={minDate ? filterDate(minDate, data, format) : undefined}\n maxDate={maxDate ? filterDate(maxDate, data, format) : undefined}\n minDuration={minDuration ? parseDuration(minDuration) : undefined}\n maxDuration={maxDuration ? parseDuration(maxDuration) : undefined}\n useMobileUI={env.useMobileUI}\n />\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'input-year-range'\n})\nexport class YearRangeControlRenderer extends YearRangeControl {\n static defaultProps = {\n format: 'X',\n joinValues: true,\n delimiter: ',',\n timeFormat: '',\n inputFormat: 'YYYY',\n dateFormat: 'YYYY'\n };\n}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -5,6 +5,7 @@ var tslib_1 = require("tslib");
|
|
5
5
|
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
6
6
|
var Overlay_1 = (0, tslib_1.__importDefault)(require("../../components/Overlay"));
|
7
7
|
var PopOver_1 = (0, tslib_1.__importDefault)(require("../../components/PopOver"));
|
8
|
+
var PopUp_1 = (0, tslib_1.__importDefault)(require("../../components/PopUp"));
|
8
9
|
var Options_1 = require("./Options");
|
9
10
|
var Tree_1 = (0, tslib_1.__importDefault)(require("../../components/Tree"));
|
10
11
|
var match_sorter_1 = require("match-sorter");
|
@@ -254,19 +255,17 @@ var TreeSelectControl = /** @class */ (function (_super) {
|
|
254
255
|
: item[labelField || 'label']);
|
255
256
|
};
|
256
257
|
TreeSelectControl.prototype.renderOuter = function () {
|
257
|
-
var _this = this;
|
258
258
|
var _a = this.props, value = _a.value, enableNodePath = _a.enableNodePath, _b = _a.pathSeparator, pathSeparator = _b === void 0 ? '/' : _b, disabled = _a.disabled, joinValues = _a.joinValues, extractValue = _a.extractValue, delimiter = _a.delimiter, placeholder = _a.placeholder, options = _a.options, multiple = _a.multiple, valueField = _a.valueField, initiallyOpen = _a.initiallyOpen, unfoldedLevel = _a.unfoldedLevel, withChildren = _a.withChildren, rootLabel = _a.rootLabel, cascade = _a.cascade, rootValue = _a.rootValue, showIcon = _a.showIcon, showRadio = _a.showRadio, popOverContainer = _a.popOverContainer, onlyChildren = _a.onlyChildren, ns = _a.classPrefix, optionsPlaceholder = _a.optionsPlaceholder, searchable = _a.searchable, autoComplete = _a.autoComplete, maxLength = _a.maxLength, minLength = _a.minLength, labelField = _a.labelField, nodePath = _a.nodePath, onAdd = _a.onAdd, creatable = _a.creatable, createTip = _a.createTip, addControls = _a.addControls, onEdit = _a.onEdit, editable = _a.editable, editTip = _a.editTip, editControls = _a.editControls, removable = _a.removable, removeTip = _a.removeTip, onDelete = _a.onDelete, rootCreatable = _a.rootCreatable, rootCreateTip = _a.rootCreateTip, __ = _a.translate, deferLoad = _a.deferLoad, expandTreeOptions = _a.expandTreeOptions;
|
259
259
|
var filtedOptions = !(0, api_1.isEffectiveApi)(autoComplete) && searchable && this.state.inputValue
|
260
260
|
? this.filterOptions(options, this.state.inputValue)
|
261
261
|
: options;
|
262
|
-
return (react_1.default.createElement(
|
263
|
-
react_1.default.createElement(PopOver_1.default, { classPrefix: ns, className: ns + "TreeSelect-popover", style: {
|
264
|
-
minWidth: this.target ? this.target.offsetWidth : undefined
|
265
|
-
}, onHide: this.close, overlay: true },
|
266
|
-
react_1.default.createElement(Tree_1.default, { classPrefix: ns, onlyChildren: onlyChildren, labelField: labelField, valueField: valueField, disabled: disabled, onChange: this.handleChange, joinValues: joinValues, extractValue: extractValue, delimiter: delimiter, placeholder: __(optionsPlaceholder), options: filtedOptions, highlightTxt: this.state.inputValue, multiple: multiple, initiallyOpen: initiallyOpen, unfoldedLevel: unfoldedLevel, withChildren: withChildren, rootLabel: __(rootLabel), rootValue: rootValue, showIcon: showIcon, showRadio: showRadio, cascade: cascade, foldedField: "collapsed", hideRoot: true, value: value || '', nodePath: nodePath, enableNodePath: enableNodePath, pathSeparator: pathSeparator, maxLength: maxLength, minLength: minLength, onAdd: onAdd, creatable: creatable, createTip: createTip, rootCreatable: rootCreatable, rootCreateTip: rootCreateTip, onEdit: onEdit, editable: editable, editTip: editTip, removable: removable, removeTip: removeTip, onDelete: onDelete, bultinCUD: !addControls && !editControls, onDeferLoad: deferLoad, onExpandTree: expandTreeOptions }))));
|
262
|
+
return (react_1.default.createElement(Tree_1.default, { classPrefix: ns, onlyChildren: onlyChildren, labelField: labelField, valueField: valueField, disabled: disabled, onChange: this.handleChange, joinValues: joinValues, extractValue: extractValue, delimiter: delimiter, placeholder: __(optionsPlaceholder), options: filtedOptions, highlightTxt: this.state.inputValue, multiple: multiple, initiallyOpen: initiallyOpen, unfoldedLevel: unfoldedLevel, withChildren: withChildren, rootLabel: __(rootLabel), rootValue: rootValue, showIcon: showIcon, showRadio: showRadio, cascade: cascade, foldedField: "collapsed", hideRoot: true, value: value || '', nodePath: nodePath, enableNodePath: enableNodePath, pathSeparator: pathSeparator, maxLength: maxLength, minLength: minLength, onAdd: onAdd, creatable: creatable, createTip: createTip, rootCreatable: rootCreatable, rootCreateTip: rootCreateTip, onEdit: onEdit, editable: editable, editTip: editTip, removable: removable, removeTip: removeTip, onDelete: onDelete, bultinCUD: !addControls && !editControls, onDeferLoad: deferLoad, onExpandTree: expandTreeOptions }));
|
267
263
|
};
|
268
264
|
TreeSelectControl.prototype.render = function () {
|
269
|
-
var
|
265
|
+
var _this = this;
|
266
|
+
var _a = this.props, className = _a.className, disabled = _a.disabled, inline = _a.inline, loading = _a.loading, multiple = _a.multiple, value = _a.value, clearable = _a.clearable, ns = _a.classPrefix, cx = _a.classnames, searchable = _a.searchable, autoComplete = _a.autoComplete, selectedOptions = _a.selectedOptions, placeholder = _a.placeholder, popOverContainer = _a.popOverContainer, env = _a.env, __ = _a.translate;
|
267
|
+
var isOpened = this.state.isOpened;
|
268
|
+
var useMobileUI = env.useMobileUI;
|
270
269
|
return (react_1.default.createElement("div", { ref: this.container, className: cx("TreeSelectControl", className) },
|
271
270
|
react_1.default.createElement(ResultBox_1.default, { disabled: disabled, ref: this.targetRef, placeholder: __(placeholder || '空'), className: cx("TreeSelect", {
|
272
271
|
'TreeSelect--inline': inline,
|
@@ -281,7 +280,11 @@ var TreeSelectControl = /** @class */ (function (_super) {
|
|
281
280
|
: selectedOptions.length
|
282
281
|
? this.renderItem(selectedOptions[0])
|
283
282
|
: '', onResultClick: this.handleOutClick, value: this.state.inputValue, onChange: this.handleInputChange, onResultChange: this.handleResultChange, itemRender: this.renderItem, onKeyPress: this.handleKeyPress, onFocus: this.handleFocus, onBlur: this.handleBlur, onKeyDown: this.handleInputKeyDown, clearable: clearable, allowInput: searchable || (0, api_1.isEffectiveApi)(autoComplete), inputPlaceholder: '' }, loading ? react_1.default.createElement(Spinner_1.default, { size: "sm" }) : undefined),
|
284
|
-
|
283
|
+
!(useMobileUI && (0, helper_1.isMobile)()) && isOpened ? (react_1.default.createElement(Overlay_1.default, { container: popOverContainer || (function () { return _this.container.current; }), target: function () { return _this.target; }, show: true },
|
284
|
+
react_1.default.createElement(PopOver_1.default, { classPrefix: ns, className: ns + "TreeSelect-popover", style: {
|
285
|
+
minWidth: this.target ? this.target.offsetWidth : undefined
|
286
|
+
}, onHide: this.close, overlay: true }, this.renderOuter()))) : null,
|
287
|
+
useMobileUI && (0, helper_1.isMobile)() && (react_1.default.createElement(PopUp_1.default, { className: cx(ns + "TreeSelect-popup"), isShow: isOpened, onHide: this.close }, this.renderOuter()))));
|
285
288
|
};
|
286
289
|
var _a, _b, _c;
|
287
290
|
TreeSelectControl.defaultProps = {
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/TreeSelect.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 Overlay from '../../components/Overlay';\nimport PopOver from '../../components/PopOver';\n\nimport {\n OptionsControl,\n OptionsControlProps,\n Option,\n FormOptionsControl\n} from './Options';\nimport {Icon} from '../../components/icons';\nimport TreeSelector from '../../components/Tree';\nimport {matchSorter} from 'match-sorter';\nimport debouce from 'lodash/debounce';\nimport find from 'lodash/find';\nimport {Api} from '../../types';\nimport {isEffectiveApi} from '../../utils/api';\nimport Spinner from '../../components/Spinner';\nimport ResultBox from '../../components/ResultBox';\nimport {autobind, getTreeAncestors} from '../../utils/helper';\nimport {findDOMNode} from 'react-dom';\nimport {normalizeOptions} from '../../components/Select';\n\n/**\n * Tree 下拉选择框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/tree\n */\nexport interface TreeSelectControlSchema extends FormOptionsControl {\n type: 'tree-select';\n\n /**\n * 是否隐藏顶级\n */\n hideRoot?: boolean;\n\n /**\n * 顶级选项的名称\n */\n rootLabel?: string;\n\n /**\n * 顶级选项的值\n */\n rootValue?: any;\n\n /**\n * 显示图标\n */\n showIcon?: boolean;\n\n /**\n * 父子之间是否完全独立。\n */\n cascade?: boolean;\n\n /**\n * 选父级的时候是否把子节点的值也包含在内。\n */\n withChildren?: boolean;\n\n /**\n * 选父级的时候,是否只把子节点的值包含在内\n */\n onlyChildren?: boolean;\n\n /**\n * 顶级节点是否可以创建子节点\n */\n rootCreatable?: boolean;\n\n /**\n * 是否隐藏选择框中已选中节点的祖先节点的文本信息\n */\n hideNodePathLabel?: boolean;\n\n /**\n * 是否开启节点路径模式\n */\n enableNodePath?: boolean;\n\n /**\n * 开启节点路径模式后,节点路径的分隔符\n */\n pathSeparator?: string;\n}\n\nexport interface TreeSelectProps extends OptionsControlProps {\n placeholder?: any;\n autoComplete?: Api;\n hideNodePathLabel?: boolean;\n enableNodePath?: boolean;\n pathSeparator?: string;\n}\n\nexport interface TreeSelectState {\n isOpened: boolean;\n isFocused: boolean;\n inputValue: string;\n}\n\nexport default class TreeSelectControl extends React.Component<\n TreeSelectProps,\n TreeSelectState\n> {\n static defaultProps = {\n placeholder: 'Select.placeholder',\n optionsPlaceholder: 'placeholder.noData',\n multiple: false,\n clearable: true,\n rootLabel: '顶级',\n rootValue: '',\n showIcon: true,\n joinValues: true,\n extractValue: false,\n delimiter: ',',\n resetValue: '',\n hideNodePathLabel: false,\n enableNodePath: false,\n pathSeparator: '/'\n };\n\n container: React.RefObject<HTMLDivElement> = React.createRef();\n\n input: React.RefObject<any> = React.createRef();\n\n cache: {\n [propName: string]: any;\n } = {};\n\n target: HTMLElement | null;\n targetRef = (ref: any) =>\n (this.target = ref ? (findDOMNode(ref) as HTMLElement) : null);\n\n constructor(props: TreeSelectProps) {\n super(props);\n\n this.state = {\n inputValue: '',\n isOpened: false,\n isFocused: false\n };\n\n this.open = this.open.bind(this);\n this.close = this.close.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.clearValue = this.clearValue.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.handleKeyPress = this.handleKeyPress.bind(this);\n this.handleInputChange = this.handleInputChange.bind(this);\n this.handleInputKeyDown = this.handleInputKeyDown.bind(this);\n\n this.loadRemote = debouce(this.loadRemote.bind(this), 250, {\n trailing: true,\n leading: false\n });\n }\n\n componentDidMount() {\n this.loadRemote('');\n }\n\n open(fn?: () => void) {\n if (this.props.disabled) {\n return;\n }\n\n this.setState(\n {\n isOpened: true\n },\n fn\n );\n }\n\n close() {\n this.setState(\n {\n isOpened: false,\n inputValue: this.props.multiple ? this.state.inputValue : ''\n },\n () => this.loadRemote(this.state.inputValue)\n );\n }\n\n handleFocus() {\n this.setState({\n isFocused: true\n });\n }\n\n handleBlur() {\n this.setState({\n isFocused: false\n });\n }\n\n handleKeyPress(e: React.KeyboardEvent) {\n if (e.key === ' ') {\n this.handleOutClick(e as any);\n e.preventDefault();\n }\n }\n\n validate(): any {\n const {value, minLength, maxLength, delimiter, translate: __} = this.props;\n\n let curValue = Array.isArray(value)\n ? value\n : (value ? String(value) : '').split(delimiter || ',');\n if (minLength && curValue.length < minLength) {\n return __(\n '已选择数量低于设定的最小个数${minLength},请选择更多的选项。',\n {minLength}\n );\n } else if (maxLength && curValue.length > maxLength) {\n return __(\n '已选择数量超出设定的最大个数{{maxLength}},请取消选择超出的选项。',\n {maxLength}\n );\n }\n }\n\n removeItem(index: number, e?: React.MouseEvent<HTMLElement>) {\n const {\n selectedOptions,\n joinValues,\n extractValue,\n delimiter,\n valueField,\n onChange,\n disabled\n } = this.props;\n\n e && e.stopPropagation();\n\n if (disabled) {\n return;\n }\n\n const items = selectedOptions.concat();\n items.splice(index, 1);\n\n let value: any = items;\n\n if (joinValues) {\n value = items\n .map((item: any) => item[valueField || 'value'])\n .join(delimiter || ',');\n } else if (extractValue) {\n value = items.map((item: any) => item[valueField || 'value']);\n }\n\n onChange(value);\n }\n\n handleChange(value: any) {\n const {onChange, multiple} = this.props;\n\n if (!multiple) {\n this.close();\n }\n\n multiple || !this.state.inputValue\n ? onChange(value)\n : this.setState(\n {\n inputValue: ''\n },\n () => onChange(value)\n );\n }\n\n handleInputChange(value: string) {\n const {autoComplete, data} = this.props;\n\n this.setState(\n {\n inputValue: value\n },\n isEffectiveApi(autoComplete, data)\n ? () => this.loadRemote(this.state.inputValue)\n : undefined\n );\n }\n\n handleInputKeyDown(event: React.KeyboardEvent) {\n const inputValue = this.state.inputValue;\n const {multiple, selectedOptions} = this.props;\n\n if (\n event.key === 'Backspace' &&\n !inputValue &&\n selectedOptions.length &&\n multiple\n ) {\n this.removeItem(selectedOptions.length - 1);\n }\n }\n\n clearValue() {\n const {onChange, resetValue} = this.props;\n\n onChange(typeof resetValue === 'undefined' ? '' : resetValue);\n }\n\n filterOptions(options: Array<Option>, keywords: string): Array<Option> {\n const {labelField, valueField} = this.props;\n\n return options.map(option => {\n option = {\n ...option\n };\n option.visible = !!matchSorter([option], keywords, {\n keys: [labelField || 'label', valueField || 'value']\n }).length;\n\n if (!option.visible && option.children) {\n option.children = this.filterOptions(option.children, keywords);\n const visibleCount = option.children.filter(\n item => item.visible\n ).length;\n option.visible = !!visibleCount;\n }\n\n option.visible && (option.collapsed = false);\n return option;\n });\n }\n\n async loadRemote(input: string) {\n const {autoComplete, env, data, setOptions, setLoading} = this.props;\n\n if (!isEffectiveApi(autoComplete, data)) {\n return;\n } else if (!env || !env.fetcher) {\n throw new Error('fetcher is required');\n }\n\n if (this.cache[input] || ~input.indexOf(\"'\") /*中文没输完 233*/) {\n let options = this.cache[input] || [];\n let combinedOptions = this.mergeOptions(options);\n setOptions(combinedOptions);\n\n return Promise.resolve({\n options: combinedOptions\n });\n }\n\n setLoading(true);\n\n try {\n const ret: any = await env.fetcher(autoComplete, {\n ...data,\n term: input,\n value: input\n });\n\n let options = (ret.data && (ret.data as any).options) || ret.data || [];\n this.cache[input] = options;\n let combinedOptions = this.mergeOptions(options);\n setOptions(combinedOptions);\n\n return {\n options: combinedOptions\n };\n } finally {\n setLoading(false);\n }\n }\n\n mergeOptions(options: Array<object>) {\n const {selectedOptions} = this.props;\n let combinedOptions = normalizeOptions(options).concat();\n\n if (Array.isArray(selectedOptions) && selectedOptions.length) {\n selectedOptions.forEach(option => {\n if (\n !find(combinedOptions, (item: Option) => item.value == option.value)\n ) {\n combinedOptions.push({\n ...option,\n visible: false\n });\n }\n });\n }\n return combinedOptions;\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n @autobind\n handleOutClick(e: React.MouseEvent<any>) {\n e.defaultPrevented ||\n this.setState({\n isOpened: true\n });\n }\n\n @autobind\n handleResultChange(value: Array<Option>) {\n const {\n joinValues,\n extractValue,\n delimiter,\n valueField,\n onChange,\n multiple\n } = this.props;\n\n let newValue: any = Array.isArray(value) ? value.concat() : [];\n\n if (!multiple && !newValue.length) {\n onChange('');\n return;\n }\n\n if (joinValues || extractValue) {\n newValue = value.map(item => item[valueField || 'value']);\n }\n\n if (joinValues) {\n newValue = newValue.join(delimiter || ',');\n }\n\n onChange(newValue);\n }\n\n @autobind\n renderItem(item: Option) {\n const {labelField, options, hideNodePathLabel} = this.props;\n\n if (hideNodePathLabel) {\n return item[labelField || 'label'];\n }\n\n // 将所有祖先节点也展现出来\n const ancestors = getTreeAncestors(options, item, true);\n return `${\n ancestors\n ? ancestors.map(item => `${item[labelField || 'label']}`).join(' / ')\n : item[labelField || 'label']\n }`;\n }\n\n renderOuter() {\n const {\n value,\n enableNodePath,\n pathSeparator = '/',\n disabled,\n joinValues,\n extractValue,\n delimiter,\n placeholder,\n options,\n multiple,\n valueField,\n initiallyOpen,\n unfoldedLevel,\n withChildren,\n rootLabel,\n cascade,\n rootValue,\n showIcon,\n showRadio,\n popOverContainer,\n onlyChildren,\n classPrefix: ns,\n optionsPlaceholder,\n searchable,\n autoComplete,\n maxLength,\n minLength,\n labelField,\n nodePath,\n onAdd,\n creatable,\n createTip,\n addControls,\n onEdit,\n editable,\n editTip,\n editControls,\n removable,\n removeTip,\n onDelete,\n rootCreatable,\n rootCreateTip,\n translate: __,\n deferLoad,\n expandTreeOptions\n } = this.props;\n\n let filtedOptions =\n !isEffectiveApi(autoComplete) && searchable && this.state.inputValue\n ? this.filterOptions(options, this.state.inputValue)\n : options;\n\n return (\n <Overlay\n container={popOverContainer || (() => this.container.current)}\n target={() => this.target}\n show\n >\n <PopOver\n classPrefix={ns}\n className={`${ns}TreeSelect-popover`}\n style={{\n minWidth: this.target ? this.target.offsetWidth : undefined\n }}\n onHide={this.close}\n overlay\n >\n <TreeSelector\n classPrefix={ns}\n onlyChildren={onlyChildren}\n labelField={labelField}\n valueField={valueField}\n disabled={disabled}\n onChange={this.handleChange}\n joinValues={joinValues}\n extractValue={extractValue}\n delimiter={delimiter}\n placeholder={__(optionsPlaceholder)}\n options={filtedOptions}\n highlightTxt={this.state.inputValue}\n multiple={multiple}\n initiallyOpen={initiallyOpen}\n unfoldedLevel={unfoldedLevel}\n withChildren={withChildren}\n rootLabel={__(rootLabel)}\n rootValue={rootValue}\n showIcon={showIcon}\n showRadio={showRadio}\n cascade={cascade}\n foldedField=\"collapsed\"\n hideRoot\n value={value || ''}\n nodePath={nodePath}\n enableNodePath={enableNodePath}\n pathSeparator={pathSeparator}\n maxLength={maxLength}\n minLength={minLength}\n onAdd={onAdd}\n creatable={creatable}\n createTip={createTip}\n rootCreatable={rootCreatable}\n rootCreateTip={rootCreateTip}\n onEdit={onEdit}\n editable={editable}\n editTip={editTip}\n removable={removable}\n removeTip={removeTip}\n onDelete={onDelete}\n bultinCUD={!addControls && !editControls}\n onDeferLoad={deferLoad}\n onExpandTree={expandTreeOptions}\n />\n </PopOver>\n </Overlay>\n );\n }\n\n render() {\n const {\n className,\n disabled,\n inline,\n loading,\n multiple,\n value,\n clearable,\n classPrefix: ns,\n classnames: cx,\n searchable,\n autoComplete,\n selectedOptions,\n placeholder,\n translate: __\n } = this.props;\n\n return (\n <div ref={this.container} className={cx(`TreeSelectControl`, className)}>\n <ResultBox\n disabled={disabled}\n ref={this.targetRef}\n placeholder={__(placeholder || '空')}\n className={cx(`TreeSelect`, {\n 'TreeSelect--inline': inline,\n 'TreeSelect--single': !multiple,\n 'TreeSelect--multi': multiple,\n 'TreeSelect--searchable':\n searchable || isEffectiveApi(autoComplete),\n 'is-opened': this.state.isOpened,\n 'is-focused': this.state.isFocused,\n 'is-disabled': disabled\n })}\n result={\n multiple\n ? selectedOptions\n : selectedOptions.length\n ? this.renderItem(selectedOptions[0])\n : ''\n }\n onResultClick={this.handleOutClick}\n value={this.state.inputValue}\n onChange={this.handleInputChange}\n onResultChange={this.handleResultChange}\n itemRender={this.renderItem}\n onKeyPress={this.handleKeyPress}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onKeyDown={this.handleInputKeyDown}\n clearable={clearable}\n allowInput={searchable || isEffectiveApi(autoComplete)}\n inputPlaceholder={''}\n >\n {loading ? <Spinner size=\"sm\" /> : undefined}\n </ResultBox>\n {this.state.isOpened ? this.renderOuter() : null}\n </div>\n );\n }\n}\n\n@OptionsControl({\n type: 'tree-select'\n})\nexport class TreeSelectControlRenderer extends TreeSelectControl {}\n"
|
11
|
+
"import React from 'react';\nimport Overlay from '../../components/Overlay';\nimport PopOver from '../../components/PopOver';\nimport PopUp from '../../components/PopUp';\n\nimport {\n OptionsControl,\n OptionsControlProps,\n Option,\n FormOptionsControl\n} from './Options';\nimport {Icon} from '../../components/icons';\nimport TreeSelector from '../../components/Tree';\nimport {matchSorter} from 'match-sorter';\nimport debouce from 'lodash/debounce';\nimport find from 'lodash/find';\nimport {Api} from '../../types';\nimport {isEffectiveApi} from '../../utils/api';\nimport Spinner from '../../components/Spinner';\nimport ResultBox from '../../components/ResultBox';\nimport {autobind, getTreeAncestors, isMobile} from '../../utils/helper';\nimport {findDOMNode} from 'react-dom';\nimport {normalizeOptions} from '../../components/Select';\n\n/**\n * Tree 下拉选择框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/tree\n */\nexport interface TreeSelectControlSchema extends FormOptionsControl {\n type: 'tree-select';\n\n /**\n * 是否隐藏顶级\n */\n hideRoot?: boolean;\n\n /**\n * 顶级选项的名称\n */\n rootLabel?: string;\n\n /**\n * 顶级选项的值\n */\n rootValue?: any;\n\n /**\n * 显示图标\n */\n showIcon?: boolean;\n\n /**\n * 父子之间是否完全独立。\n */\n cascade?: boolean;\n\n /**\n * 选父级的时候是否把子节点的值也包含在内。\n */\n withChildren?: boolean;\n\n /**\n * 选父级的时候,是否只把子节点的值包含在内\n */\n onlyChildren?: boolean;\n\n /**\n * 顶级节点是否可以创建子节点\n */\n rootCreatable?: boolean;\n\n /**\n * 是否隐藏选择框中已选中节点的祖先节点的文本信息\n */\n hideNodePathLabel?: boolean;\n\n /**\n * 是否开启节点路径模式\n */\n enableNodePath?: boolean;\n\n /**\n * 开启节点路径模式后,节点路径的分隔符\n */\n pathSeparator?: string;\n}\n\nexport interface TreeSelectProps extends OptionsControlProps {\n placeholder?: any;\n autoComplete?: Api;\n hideNodePathLabel?: boolean;\n enableNodePath?: boolean;\n pathSeparator?: string;\n useMobileUI?: boolean;\n}\n\nexport interface TreeSelectState {\n isOpened: boolean;\n isFocused: boolean;\n inputValue: string;\n}\n\nexport default class TreeSelectControl extends React.Component<\n TreeSelectProps,\n TreeSelectState\n> {\n static defaultProps = {\n placeholder: 'Select.placeholder',\n optionsPlaceholder: 'placeholder.noData',\n multiple: false,\n clearable: true,\n rootLabel: '顶级',\n rootValue: '',\n showIcon: true,\n joinValues: true,\n extractValue: false,\n delimiter: ',',\n resetValue: '',\n hideNodePathLabel: false,\n enableNodePath: false,\n pathSeparator: '/'\n };\n\n container: React.RefObject<HTMLDivElement> = React.createRef();\n\n input: React.RefObject<any> = React.createRef();\n\n cache: {\n [propName: string]: any;\n } = {};\n\n target: HTMLElement | null;\n targetRef = (ref: any) =>\n (this.target = ref ? (findDOMNode(ref) as HTMLElement) : null);\n\n constructor(props: TreeSelectProps) {\n super(props);\n\n this.state = {\n inputValue: '',\n isOpened: false,\n isFocused: false\n };\n\n this.open = this.open.bind(this);\n this.close = this.close.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.clearValue = this.clearValue.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.handleKeyPress = this.handleKeyPress.bind(this);\n this.handleInputChange = this.handleInputChange.bind(this);\n this.handleInputKeyDown = this.handleInputKeyDown.bind(this);\n\n this.loadRemote = debouce(this.loadRemote.bind(this), 250, {\n trailing: true,\n leading: false\n });\n }\n\n componentDidMount() {\n this.loadRemote('');\n }\n\n open(fn?: () => void) {\n if (this.props.disabled) {\n return;\n }\n\n this.setState(\n {\n isOpened: true\n },\n fn\n );\n }\n\n close() {\n this.setState(\n {\n isOpened: false,\n inputValue: this.props.multiple ? this.state.inputValue : ''\n },\n () => this.loadRemote(this.state.inputValue)\n );\n }\n\n handleFocus() {\n this.setState({\n isFocused: true\n });\n }\n\n handleBlur() {\n this.setState({\n isFocused: false\n });\n }\n\n handleKeyPress(e: React.KeyboardEvent) {\n if (e.key === ' ') {\n this.handleOutClick(e as any);\n e.preventDefault();\n }\n }\n\n validate(): any {\n const {value, minLength, maxLength, delimiter, translate: __} = this.props;\n\n let curValue = Array.isArray(value)\n ? value\n : (value ? String(value) : '').split(delimiter || ',');\n if (minLength && curValue.length < minLength) {\n return __(\n '已选择数量低于设定的最小个数${minLength},请选择更多的选项。',\n {minLength}\n );\n } else if (maxLength && curValue.length > maxLength) {\n return __(\n '已选择数量超出设定的最大个数{{maxLength}},请取消选择超出的选项。',\n {maxLength}\n );\n }\n }\n\n removeItem(index: number, e?: React.MouseEvent<HTMLElement>) {\n const {\n selectedOptions,\n joinValues,\n extractValue,\n delimiter,\n valueField,\n onChange,\n disabled\n } = this.props;\n\n e && e.stopPropagation();\n\n if (disabled) {\n return;\n }\n\n const items = selectedOptions.concat();\n items.splice(index, 1);\n\n let value: any = items;\n\n if (joinValues) {\n value = items\n .map((item: any) => item[valueField || 'value'])\n .join(delimiter || ',');\n } else if (extractValue) {\n value = items.map((item: any) => item[valueField || 'value']);\n }\n\n onChange(value);\n }\n\n handleChange(value: any) {\n const {onChange, multiple} = this.props;\n\n if (!multiple) {\n this.close();\n }\n\n multiple || !this.state.inputValue\n ? onChange(value)\n : this.setState(\n {\n inputValue: ''\n },\n () => onChange(value)\n );\n }\n\n handleInputChange(value: string) {\n const {autoComplete, data} = this.props;\n\n this.setState(\n {\n inputValue: value\n },\n isEffectiveApi(autoComplete, data)\n ? () => this.loadRemote(this.state.inputValue)\n : undefined\n );\n }\n\n handleInputKeyDown(event: React.KeyboardEvent) {\n const inputValue = this.state.inputValue;\n const {multiple, selectedOptions} = this.props;\n\n if (\n event.key === 'Backspace' &&\n !inputValue &&\n selectedOptions.length &&\n multiple\n ) {\n this.removeItem(selectedOptions.length - 1);\n }\n }\n\n clearValue() {\n const {onChange, resetValue} = this.props;\n\n onChange(typeof resetValue === 'undefined' ? '' : resetValue);\n }\n\n filterOptions(options: Array<Option>, keywords: string): Array<Option> {\n const {labelField, valueField} = this.props;\n\n return options.map(option => {\n option = {\n ...option\n };\n option.visible = !!matchSorter([option], keywords, {\n keys: [labelField || 'label', valueField || 'value']\n }).length;\n\n if (!option.visible && option.children) {\n option.children = this.filterOptions(option.children, keywords);\n const visibleCount = option.children.filter(\n item => item.visible\n ).length;\n option.visible = !!visibleCount;\n }\n\n option.visible && (option.collapsed = false);\n return option;\n });\n }\n\n async loadRemote(input: string) {\n const {autoComplete, env, data, setOptions, setLoading} = this.props;\n\n if (!isEffectiveApi(autoComplete, data)) {\n return;\n } else if (!env || !env.fetcher) {\n throw new Error('fetcher is required');\n }\n\n if (this.cache[input] || ~input.indexOf(\"'\") /*中文没输完 233*/) {\n let options = this.cache[input] || [];\n let combinedOptions = this.mergeOptions(options);\n setOptions(combinedOptions);\n\n return Promise.resolve({\n options: combinedOptions\n });\n }\n\n setLoading(true);\n\n try {\n const ret: any = await env.fetcher(autoComplete, {\n ...data,\n term: input,\n value: input\n });\n\n let options = (ret.data && (ret.data as any).options) || ret.data || [];\n this.cache[input] = options;\n let combinedOptions = this.mergeOptions(options);\n setOptions(combinedOptions);\n\n return {\n options: combinedOptions\n };\n } finally {\n setLoading(false);\n }\n }\n\n mergeOptions(options: Array<object>) {\n const {selectedOptions} = this.props;\n let combinedOptions = normalizeOptions(options).concat();\n\n if (Array.isArray(selectedOptions) && selectedOptions.length) {\n selectedOptions.forEach(option => {\n if (\n !find(combinedOptions, (item: Option) => item.value == option.value)\n ) {\n combinedOptions.push({\n ...option,\n visible: false\n });\n }\n });\n }\n return combinedOptions;\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n @autobind\n handleOutClick(e: React.MouseEvent<any>) {\n e.defaultPrevented ||\n this.setState({\n isOpened: true\n });\n }\n\n @autobind\n handleResultChange(value: Array<Option>) {\n const {\n joinValues,\n extractValue,\n delimiter,\n valueField,\n onChange,\n multiple\n } = this.props;\n\n let newValue: any = Array.isArray(value) ? value.concat() : [];\n\n if (!multiple && !newValue.length) {\n onChange('');\n return;\n }\n\n if (joinValues || extractValue) {\n newValue = value.map(item => item[valueField || 'value']);\n }\n\n if (joinValues) {\n newValue = newValue.join(delimiter || ',');\n }\n\n onChange(newValue);\n }\n\n @autobind\n renderItem(item: Option) {\n const {labelField, options, hideNodePathLabel} = this.props;\n\n if (hideNodePathLabel) {\n return item[labelField || 'label'];\n }\n\n // 将所有祖先节点也展现出来\n const ancestors = getTreeAncestors(options, item, true);\n return `${\n ancestors\n ? ancestors.map(item => `${item[labelField || 'label']}`).join(' / ')\n : item[labelField || 'label']\n }`;\n }\n\n renderOuter() {\n const {\n value,\n enableNodePath,\n pathSeparator = '/',\n disabled,\n joinValues,\n extractValue,\n delimiter,\n placeholder,\n options,\n multiple,\n valueField,\n initiallyOpen,\n unfoldedLevel,\n withChildren,\n rootLabel,\n cascade,\n rootValue,\n showIcon,\n showRadio,\n popOverContainer,\n onlyChildren,\n classPrefix: ns,\n optionsPlaceholder,\n searchable,\n autoComplete,\n maxLength,\n minLength,\n labelField,\n nodePath,\n onAdd,\n creatable,\n createTip,\n addControls,\n onEdit,\n editable,\n editTip,\n editControls,\n removable,\n removeTip,\n onDelete,\n rootCreatable,\n rootCreateTip,\n translate: __,\n deferLoad,\n expandTreeOptions\n } = this.props;\n\n let filtedOptions =\n !isEffectiveApi(autoComplete) && searchable && this.state.inputValue\n ? this.filterOptions(options, this.state.inputValue)\n : options;\n\n return (\n <TreeSelector\n classPrefix={ns}\n onlyChildren={onlyChildren}\n labelField={labelField}\n valueField={valueField}\n disabled={disabled}\n onChange={this.handleChange}\n joinValues={joinValues}\n extractValue={extractValue}\n delimiter={delimiter}\n placeholder={__(optionsPlaceholder)}\n options={filtedOptions}\n highlightTxt={this.state.inputValue}\n multiple={multiple}\n initiallyOpen={initiallyOpen}\n unfoldedLevel={unfoldedLevel}\n withChildren={withChildren}\n rootLabel={__(rootLabel)}\n rootValue={rootValue}\n showIcon={showIcon}\n showRadio={showRadio}\n cascade={cascade}\n foldedField=\"collapsed\"\n hideRoot\n value={value || ''}\n nodePath={nodePath}\n enableNodePath={enableNodePath}\n pathSeparator={pathSeparator}\n maxLength={maxLength}\n minLength={minLength}\n onAdd={onAdd}\n creatable={creatable}\n createTip={createTip}\n rootCreatable={rootCreatable}\n rootCreateTip={rootCreateTip}\n onEdit={onEdit}\n editable={editable}\n editTip={editTip}\n removable={removable}\n removeTip={removeTip}\n onDelete={onDelete}\n bultinCUD={!addControls && !editControls}\n onDeferLoad={deferLoad}\n onExpandTree={expandTreeOptions}\n />\n );\n }\n\n render() {\n const {\n className,\n disabled,\n inline,\n loading,\n multiple,\n value,\n clearable,\n classPrefix: ns,\n classnames: cx,\n searchable,\n autoComplete,\n selectedOptions,\n placeholder,\n popOverContainer,\n env,\n translate: __\n } = this.props;\n\n const { isOpened } = this.state;\n const { useMobileUI } = env;\n return (\n <div ref={this.container} className={cx(`TreeSelectControl`, className)}>\n <ResultBox\n disabled={disabled}\n ref={this.targetRef}\n placeholder={__(placeholder || '空')}\n className={cx(`TreeSelect`, {\n 'TreeSelect--inline': inline,\n 'TreeSelect--single': !multiple,\n 'TreeSelect--multi': multiple,\n 'TreeSelect--searchable':\n searchable || isEffectiveApi(autoComplete),\n 'is-opened': this.state.isOpened,\n 'is-focused': this.state.isFocused,\n 'is-disabled': disabled\n })}\n result={\n multiple\n ? selectedOptions\n : selectedOptions.length\n ? this.renderItem(selectedOptions[0])\n : ''\n }\n onResultClick={this.handleOutClick}\n value={this.state.inputValue}\n onChange={this.handleInputChange}\n onResultChange={this.handleResultChange}\n itemRender={this.renderItem}\n onKeyPress={this.handleKeyPress}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onKeyDown={this.handleInputKeyDown}\n clearable={clearable}\n allowInput={searchable || isEffectiveApi(autoComplete)}\n inputPlaceholder={''}\n >\n {loading ? <Spinner size=\"sm\" /> : undefined}\n </ResultBox>\n { !(useMobileUI && isMobile()) && isOpened ? (\n <Overlay\n container={popOverContainer || (() => this.container.current)}\n target={() => this.target}\n show\n >\n <PopOver\n classPrefix={ns}\n className={`${ns}TreeSelect-popover`}\n style={{\n minWidth: this.target ? this.target.offsetWidth : undefined\n }}\n onHide={this.close}\n overlay\n >\n {this.renderOuter()}\n </PopOver>\n </Overlay>\n ) : null}\n {\n useMobileUI && isMobile() && (\n <PopUp\n className={cx(`${ns}TreeSelect-popup`)}\n isShow={isOpened}\n onHide={this.close}\n >\n {this.renderOuter()}\n </PopUp>\n )\n }\n </div>\n );\n }\n}\n\n@OptionsControl({\n type: 'tree-select'\n})\nexport class TreeSelectControlRenderer extends TreeSelectControl {}\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/renderers/Json.js
CHANGED
@@ -37,6 +37,13 @@ var JSONField = /** @class */ (function (_super) {
|
|
37
37
|
if (source !== undefined && (0, tpl_builtin_1.isPureVariable)(source)) {
|
38
38
|
data = (0, tpl_builtin_1.resolveVariableAndFilter)(source, this.props.data, '| raw');
|
39
39
|
}
|
40
|
+
else if (typeof value === 'string') {
|
41
|
+
// 尝试解析 json
|
42
|
+
try {
|
43
|
+
data = JSON.parse(value);
|
44
|
+
}
|
45
|
+
catch (e) { }
|
46
|
+
}
|
40
47
|
var jsonThemeValue = jsonTheme;
|
41
48
|
if ((0, tpl_builtin_1.isPureVariable)(jsonTheme)) {
|
42
49
|
jsonThemeValue = (0, tpl_builtin_1.resolveVariableAndFilter)(jsonTheme, this.props.data, '| raw');
|
@@ -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;AAyC9E;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 /**\n * 是否显示数据类型\n */\n displayDataTypes?: 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 displayDataTypes: false\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 displayDataTypes,\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 }\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 displayDataTypes={displayDataTypes}\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"
|
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 /**\n * 是否显示数据类型\n */\n displayDataTypes?: 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 displayDataTypes: false\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 displayDataTypes,\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 // 尝试解析 json\n try {\n data = JSON.parse(value);\n } catch (e) {}\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 displayDataTypes={displayDataTypes}\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/Steps.js
CHANGED
@@ -11,7 +11,7 @@ var tpl_1 = require("../utils/tpl");
|
|
11
11
|
var helper_1 = require("../utils/helper");
|
12
12
|
function StepsCmpt(props) {
|
13
13
|
var _a;
|
14
|
-
var className = props.className, steps = props.steps, status = props.status, mode = props.mode, data = props.data, source = props.source, config = props.config, render = props.render;
|
14
|
+
var className = props.className, steps = props.steps, status = props.status, mode = props.mode, data = props.data, source = props.source, config = props.config, render = props.render, env = props.env;
|
15
15
|
var stepsRow = (0, tpl_builtin_1.resolveVariable)(source, data) ||
|
16
16
|
config ||
|
17
17
|
steps ||
|
@@ -43,7 +43,7 @@ function StepsCmpt(props) {
|
|
43
43
|
}
|
44
44
|
return stepStatus;
|
45
45
|
}
|
46
|
-
return (react_1.default.createElement(Steps_1.default, { current: currentValue, steps: resolveSteps, className: className, status: status, mode: mode }));
|
46
|
+
return (react_1.default.createElement(Steps_1.default, { current: currentValue, steps: resolveSteps, className: className, status: status, mode: mode, useMobileUI: env.useMobileUI }));
|
47
47
|
}
|
48
48
|
exports.StepsCmpt = StepsCmpt;
|
49
49
|
var StepsWithRemoteConfig = (0, WithRemoteConfig_1.withRemoteConfig)({
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Steps.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,sCAAmD;AAEnD,wEAAsD;AACtD,mEAGwC;AACxC,oDAAqD;AACrD,oCAAoC;AACpC,0CAA6C;AAkE7C,SAAgB,SAAS,CAAC,KAAiB;;IAEvC,IAAA,SAAS,
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {Renderer, RendererProps} from '../factory';\nimport {BaseSchema, SchemaCollection} from '../Schema';\nimport Steps, {StepStatus} from '../components/Steps';\nimport {\n RemoteOptionsProps,\n withRemoteConfig\n} from '../components/WithRemoteConfig';\nimport {resolveVariable} from '../utils/tpl-builtin';\nimport {filter} from '../utils/tpl';\nimport {getPropValue} from '../utils/helper';\n\nexport type StepSchema = {\n /**\n * 标题\n */\n title: string | SchemaCollection;\n\n /**\n * 子标题\n */\n subTitle?: string | SchemaCollection;\n\n /**\n * 图标\n */\n icon?: string;\n\n value?: string | number;\n\n /**\n * 描述\n */\n description?: string | SchemaCollection;\n} & Omit<BaseSchema, 'type'>;\n\nexport interface StepsSchema extends BaseSchema {\n /**\n * 指定为 Steps 步骤条渲染器\n */\n type: 'steps';\n\n /**\n * 步骤\n */\n steps?: Array<StepSchema>;\n\n /**\n * API 或 数据映射\n */\n source?: string;\n\n /**\n * 指定当前步骤\n */\n value?: number | string;\n\n /**\n * 变量映射\n */\n name?: string;\n\n status?: StepStatus | {\n [propName: string]: StepStatus;\n };\n\n /**\n * 展示模式\n */\n mode?: 'horizontal' | 'vertical';\n}\n\nexport interface StepsProps\n extends RendererProps,\n Omit<StepsSchema, 'className'> {}\n\nexport function StepsCmpt(props: StepsProps) {\n const {\n className,\n steps,\n status,\n mode,\n data,\n source,\n config,\n render\n } = props;\n
|
11
|
+
"import React from 'react';\nimport {Renderer, RendererProps} from '../factory';\nimport {BaseSchema, SchemaCollection} from '../Schema';\nimport Steps, {StepStatus} from '../components/Steps';\nimport {\n RemoteOptionsProps,\n withRemoteConfig\n} from '../components/WithRemoteConfig';\nimport {resolveVariable} from '../utils/tpl-builtin';\nimport {filter} from '../utils/tpl';\nimport {getPropValue} from '../utils/helper';\n\nexport type StepSchema = {\n /**\n * 标题\n */\n title: string | SchemaCollection;\n\n /**\n * 子标题\n */\n subTitle?: string | SchemaCollection;\n\n /**\n * 图标\n */\n icon?: string;\n\n value?: string | number;\n\n /**\n * 描述\n */\n description?: string | SchemaCollection;\n} & Omit<BaseSchema, 'type'>;\n\nexport interface StepsSchema extends BaseSchema {\n /**\n * 指定为 Steps 步骤条渲染器\n */\n type: 'steps';\n\n /**\n * 步骤\n */\n steps?: Array<StepSchema>;\n\n /**\n * API 或 数据映射\n */\n source?: string;\n\n /**\n * 指定当前步骤\n */\n value?: number | string;\n\n /**\n * 变量映射\n */\n name?: string;\n\n status?: StepStatus | {\n [propName: string]: StepStatus;\n };\n\n /**\n * 展示模式\n */\n mode?: 'horizontal' | 'vertical';\n}\n\nexport interface StepsProps\n extends RendererProps,\n Omit<StepsSchema, 'className'> {}\n\nexport function StepsCmpt(props: StepsProps) {\n const {\n className,\n steps,\n status,\n mode,\n data,\n source,\n config,\n render,\n env\n } = props;\n\n const stepsRow =\n (resolveVariable(source, data) as Array<StepSchema>) ||\n config ||\n steps ||\n [];\n const resolveRender = (val?: string | SchemaCollection) => typeof val === 'string'\n ? filter(val, data)\n : val && render('inner', val);\n const value = getPropValue(props) ?? 0;\n const resolveValue =\n typeof value === 'string' && isNaN(+value)\n ? +(resolveVariable(value, data) as string) || +value\n : +value;\n const valueIndex = stepsRow.findIndex(\n item => item.value && item.value === resolveValue\n );\n const currentValue = valueIndex !== -1 ? valueIndex : resolveValue;\n const resolveSteps = stepsRow.map((step, i) => {\n const stepStatus = getStepStatus(step, i);\n return {\n ...step,\n status: stepStatus,\n title: resolveRender(step.title),\n subTitle: resolveRender(step.subTitle),\n description: resolveRender(step.description)\n }\n });\n\n function getStepStatus(\n step: StepSchema,\n i: number\n ): StepStatus {\n let stepStatus;\n\n if (typeof status === 'string') {\n if (i === currentValue) {\n const resolveStatus = resolveVariable(status, data);\n stepStatus = resolveStatus || status || StepStatus.process;\n }\n } else if (typeof status === 'object') {\n const key = step.value;\n key && status[key] && (stepStatus = status[key]);\n }\n\n return stepStatus;\n }\n\n return (\n <Steps\n current={currentValue}\n steps={resolveSteps}\n className={className}\n status={status}\n mode={mode}\n useMobileUI={env.useMobileUI}\n ></Steps>\n );\n}\n\nconst StepsWithRemoteConfig = withRemoteConfig({\n adaptor: data => data.steps || data\n})(\n class extends React.Component<\n RemoteOptionsProps & React.ComponentProps<typeof StepsCmpt>\n > {\n render() {\n const {config, deferLoad, loading, updateConfig, ...rest} = this.props;\n return <StepsCmpt config={config} {...rest} />;\n }\n }\n);\n\n@Renderer({\n type: 'steps'\n})\nexport class StepsRenderer extends React.Component<StepsProps> {\n render() {\n return <StepsWithRemoteConfig {...this.props} />;\n }\n}\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/store/formItem.js
CHANGED
@@ -433,7 +433,7 @@ exports.FormItemStore = node_1.StoreNode.named('FormItemStore')
|
|
433
433
|
});
|
434
434
|
});
|
435
435
|
var tryDeferLoadLeftOptions = (0, mobx_state_tree_1.flow)(function (option, api, data, config) {
|
436
|
-
var leftOptions, indexes, json, options;
|
436
|
+
var leftOptions, indexes, json, options, children_1;
|
437
437
|
var _a;
|
438
438
|
return (0, tslib_1.__generator)(this, function (_b) {
|
439
439
|
switch (_b.label) {
|
@@ -467,6 +467,16 @@ exports.FormItemStore = node_1.StoreNode.named('FormItemStore')
|
|
467
467
|
setOptions([
|
468
468
|
(0, tslib_1.__assign)((0, tslib_1.__assign)({}, self.options[0]), { leftOptions: (0, helper_1.spliceTree)(leftOptions, indexes, 1, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, option), { loading: false, loaded: true, children: options })) })
|
469
469
|
], undefined, data);
|
470
|
+
// 插入新的子节点,用于之后BaseSelection.resolveSelected查找
|
471
|
+
if (Array.isArray(self.options[0].children)) {
|
472
|
+
children_1 = self.options[0].children.concat();
|
473
|
+
(0, helper_2.flattenTree)(self.options[0].leftOptions).forEach(function (item) {
|
474
|
+
if (!(0, helper_1.findTree)(self.options[0].children, function (node) { return node.ref === item.value; })) {
|
475
|
+
children_1.push({ ref: item.value, defer: true });
|
476
|
+
}
|
477
|
+
});
|
478
|
+
setOptions([(0, tslib_1.__assign)((0, tslib_1.__assign)({}, self.options[0]), { children: children_1 })], undefined, data);
|
479
|
+
}
|
470
480
|
return [2 /*return*/, json];
|
471
481
|
}
|
472
482
|
});
|