amis 1.5.8-beta.2 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/CalendarMobile.js +5 -5
- package/lib/components/CalendarMobile.js.map +2 -2
- package/lib/components/Card.d.ts +20 -20
- package/lib/components/Cascader.d.ts +123 -0
- package/lib/components/Cascader.js +487 -0
- package/lib/components/Cascader.js.map +13 -0
- package/lib/components/CityArea.d.ts +527 -0
- package/lib/components/CityArea.js +177 -0
- package/lib/components/CityArea.js.map +13 -0
- package/lib/components/ColorPicker.js +4 -3
- package/lib/components/ColorPicker.js.map +2 -2
- package/lib/components/DatePicker.d.ts +85 -84
- package/lib/components/DatePicker.js +7 -6
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/DateRangePicker.js +8 -11
- package/lib/components/DateRangePicker.js.map +2 -2
- package/lib/components/MonthRangePicker.js +5 -8
- package/lib/components/MonthRangePicker.js.map +2 -2
- package/lib/components/Picker.d.ts +1 -0
- package/lib/components/Picker.js +10 -6
- package/lib/components/Picker.js.map +2 -2
- package/lib/components/PickerColumn.d.ts +1 -0
- package/lib/components/PickerColumn.js +21 -17
- package/lib/components/PickerColumn.js.map +2 -2
- package/lib/components/PopOverContainer.d.ts +1 -0
- package/lib/components/PopOverContainer.js +5 -3
- package/lib/components/PopOverContainer.js.map +2 -2
- package/lib/components/PopUp.d.ts +1040 -28
- package/lib/components/PopUp.js +32 -8
- package/lib/components/PopUp.js.map +2 -2
- package/lib/components/ResultBox.d.ts +85 -84
- package/lib/components/ResultBox.js +7 -3
- package/lib/components/ResultBox.js.map +2 -2
- package/lib/components/Select.js +9 -6
- package/lib/components/Select.js.map +2 -2
- package/lib/components/TransferDropDown.d.ts +85 -84
- package/lib/components/TransferDropDown.js +9 -6
- package/lib/components/TransferDropDown.js.map +2 -2
- package/lib/components/calendar/Calendar.d.ts +14 -0
- package/lib/components/calendar/Calendar.js +62 -5
- package/lib/components/calendar/Calendar.js.map +2 -2
- package/lib/components/calendar/DaysView.d.ts +20 -0
- package/lib/components/calendar/DaysView.js +51 -4
- package/lib/components/calendar/DaysView.js.map +2 -2
- package/lib/components/calendar/MonthsView.d.ts +7 -1
- package/lib/components/calendar/MonthsView.js +41 -52
- package/lib/components/calendar/MonthsView.js.map +2 -2
- package/lib/components/calendar/TimeView.d.ts +27 -20
- package/lib/components/calendar/TimeView.js +40 -4
- package/lib/components/calendar/TimeView.js.map +2 -2
- package/lib/components/calendar/YearsView.d.ts +6 -0
- package/lib/components/calendar/YearsView.js +15 -6
- package/lib/components/calendar/YearsView.js.map +2 -2
- package/lib/index.js +1 -1
- package/lib/locale/de-DE.js +4 -0
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +4 -0
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +4 -0
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/DropDownButton.d.ts +11 -2
- package/lib/renderers/DropDownButton.js +30 -12
- package/lib/renderers/DropDownButton.js.map +2 -2
- package/lib/renderers/Form/CityDB.js +526 -2
- package/lib/renderers/Form/CityDB.js.map +2 -2
- package/lib/renderers/Form/InputCity.d.ts +85 -84
- package/lib/renderers/Form/InputCity.js +4 -2
- package/lib/renderers/Form/InputCity.js.map +2 -2
- package/lib/renderers/Form/InputColor.js +6 -2
- package/lib/renderers/Form/InputColor.js.map +2 -2
- package/lib/renderers/Form/InputDate.js +5 -2
- package/lib/renderers/Form/InputDate.js.map +2 -2
- package/lib/renderers/Form/InputDateRange.js +6 -2
- package/lib/renderers/Form/InputDateRange.js.map +2 -2
- package/lib/renderers/Form/Item.d.ts +10 -14
- package/lib/renderers/Form/Item.js +7 -5
- package/lib/renderers/Form/Item.js.map +2 -2
- package/lib/renderers/Form/NestedSelect.d.ts +1 -0
- package/lib/renderers/Form/NestedSelect.js +7 -3
- package/lib/renderers/Form/NestedSelect.js.map +2 -2
- package/lib/renderers/Form/Select.d.ts +2 -0
- package/lib/renderers/Form/Select.js +7 -4
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/TreeSelect.js +4 -4
- package/lib/renderers/Form/TreeSelect.js.map +2 -2
- package/lib/renderers/Remark.js +2 -1
- package/lib/renderers/Remark.js.map +2 -2
- package/lib/schemaExtend.js +23 -9
- package/lib/schemaExtend.js.map +2 -2
- package/lib/themes/ang-ie11.css +312 -29
- package/lib/themes/ang.css +312 -29
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +312 -29
- package/lib/themes/antd.css +312 -29
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +315 -41
- package/lib/themes/cxd.css +315 -41
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +312 -29
- package/lib/themes/dark.css +312 -29
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +315 -41
- package/lib/themes/default.css.map +1 -1
- package/lib/utils/helper.d.ts +1 -6
- package/lib/utils/helper.js +6 -17
- package/lib/utils/helper.js.map +2 -2
- package/package.json +1 -2
- package/schema.json +2192 -20
- package/scss/_properties.scss +10 -6
- package/scss/components/_calendar.scss +9 -2
- package/scss/components/_cascader.scss +102 -0
- package/scss/components/_city-area.scss +27 -0
- package/scss/components/_dropdown.scss +39 -9
- package/scss/components/_picker-columns.scss +15 -5
- package/scss/components/_popup.scss +35 -12
- package/scss/components/_result-box.scss +31 -0
- package/scss/components/form/_checks.scss +2 -0
- package/scss/components/form/_color.scss +2 -2
- package/scss/components/form/_date-range.scss +1 -1
- package/scss/components/form/_date.scss +46 -1
- package/scss/components/form/_nested-select.scss +3 -0
- package/scss/components/form/_select.scss +32 -3
- package/scss/components/form/_transfer.scss +3 -0
- package/scss/components/form/_tree-select.scss +1 -1
- package/scss/themes/_common.scss +2 -0
- package/scss/themes/_cxd-variables.scss +3 -3
- package/scss/themes/cxd.scss +0 -12
- package/sdk/ang-ie11.css +368 -29
- package/sdk/ang.css +367 -30
- package/sdk/antd-ie11.css +368 -29
- package/sdk/antd.css +367 -30
- package/sdk/charts.js +18 -18
- package/sdk/codemirror.js +7 -7
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +3 -3
- package/sdk/cxd-ie11.css +370 -42
- package/sdk/cxd.css +370 -44
- package/sdk/dark-ie11.css +368 -29
- package/sdk/dark.css +367 -30
- package/sdk/exceljs.js +1 -1
- package/sdk/locale/de-DE.js +4 -0
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +18 -18
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +370 -42
- package/sdk/sdk.css +370 -44
- package/sdk/sdk.js +1309 -1227
- 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/components/CalendarMobile.tsx +5 -5
- package/src/components/Cascader.tsx +564 -0
- package/src/components/CityArea.tsx +315 -0
- package/src/components/ColorPicker.tsx +5 -2
- package/src/components/DatePicker.tsx +15 -5
- package/src/components/DateRangePicker.tsx +52 -43
- package/src/components/MonthRangePicker.tsx +44 -38
- package/src/components/Picker.tsx +27 -12
- package/src/components/PickerColumn.tsx +28 -18
- package/src/components/PopOverContainer.tsx +31 -17
- package/src/components/PopUp.tsx +55 -13
- package/src/components/ResultBox.tsx +10 -1
- package/src/components/Select.tsx +20 -23
- package/src/components/TransferDropDown.tsx +19 -5
- package/src/components/calendar/Calendar.tsx +86 -9
- package/src/components/calendar/DaysView.tsx +86 -2
- package/src/components/calendar/MonthsView.tsx +56 -63
- package/src/components/calendar/TimeView.tsx +82 -29
- package/src/components/calendar/YearsView.tsx +25 -6
- package/src/locale/de-DE.ts +4 -0
- package/src/locale/en-US.ts +4 -0
- package/src/locale/zh-CN.ts +4 -0
- package/src/renderers/DropDownButton.tsx +69 -35
- package/src/renderers/Form/CityDB.ts +526 -2
- package/src/renderers/Form/InputCity.tsx +23 -3
- package/src/renderers/Form/InputColor.tsx +21 -2
- package/src/renderers/Form/InputDate.tsx +10 -1
- package/src/renderers/Form/InputDateRange.tsx +9 -1
- package/src/renderers/Form/Item.tsx +14 -4
- package/src/renderers/Form/NestedSelect.tsx +31 -3
- package/src/renderers/Form/Select.tsx +15 -2
- package/src/renderers/Form/TreeSelect.tsx +10 -6
- package/src/renderers/Remark.tsx +2 -1
- package/src/schemaExtend.ts +22 -10
- package/src/utils/helper.ts +6 -16
@@ -7,6 +7,7 @@ var Item_1 = require("./Item");
|
|
7
7
|
var theme_1 = require("../../theme");
|
8
8
|
var Spinner_1 = (0, tslib_1.__importDefault)(require("../../components/Spinner"));
|
9
9
|
var Select_1 = (0, tslib_1.__importDefault)(require("../../components/Select"));
|
10
|
+
var CityArea_1 = (0, tslib_1.__importDefault)(require("../../components/CityArea"));
|
10
11
|
var helper_1 = require("../../utils/helper");
|
11
12
|
var Options_1 = require("./Options");
|
12
13
|
var locale_1 = require("../../locale");
|
@@ -265,8 +266,9 @@ var LocationControl = /** @class */ (function (_super) {
|
|
265
266
|
return _super !== null && _super.apply(this, arguments) || this;
|
266
267
|
}
|
267
268
|
LocationControl.prototype.render = function () {
|
268
|
-
var _a = this.props, value = _a.value, onChange = _a.onChange, allowCity = _a.allowCity, allowDistrict = _a.allowDistrict, extractValue = _a.extractValue, joinValues = _a.joinValues, allowStreet = _a.allowStreet, disabled = _a.disabled, searchable = _a.searchable;
|
269
|
-
|
269
|
+
var _a = this.props, value = _a.value, onChange = _a.onChange, allowCity = _a.allowCity, allowDistrict = _a.allowDistrict, extractValue = _a.extractValue, joinValues = _a.joinValues, allowStreet = _a.allowStreet, disabled = _a.disabled, searchable = _a.searchable, env = _a.env, useMobileUI = _a.useMobileUI;
|
270
|
+
var mobileUI = useMobileUI && (0, helper_1.isMobile)();
|
271
|
+
return mobileUI ? (react_1.default.createElement(CityArea_1.default, { value: value, popOverContainer: env && env.getModalContainer ? env.getModalContainer : undefined, onChange: onChange, allowCity: allowCity, allowDistrict: allowDistrict, extractValue: extractValue, joinValues: joinValues, allowStreet: allowStreet, disabled: disabled, useMobileUI: useMobileUI })) : (react_1.default.createElement(ThemedCity, { searchable: searchable, value: value, onChange: onChange, allowCity: allowCity, allowDistrict: allowDistrict, extractValue: extractValue, joinValues: joinValues, allowStreet: allowStreet, disabled: disabled }));
|
270
272
|
};
|
271
273
|
return LocationControl;
|
272
274
|
}(react_1.default.Component));
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/InputCity.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,+BAAmE;AACnE,qCAAgE;AAChE,kFAA+C;AAC/C,gFAA6C;AAC7C,
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport {ClassNamesFn, themeable, ThemeProps} from '../../theme';\nimport Spinner from '../../components/Spinner';\nimport Select from '../../components/Select';\nimport {autobind} from '../../utils/helper';\nimport {Option} from './Options';\nimport {localeable, LocaleProps} from '../../locale';\n\n/**\n * City 城市选择框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/city\n */\nexport interface InputCityControlSchema extends FormBaseControl {\n /**\n * 指定为城市选择框。\n */\n type: 'input-city';\n\n /**\n * 开启后只会存城市的 code 信息\n */\n extractValue?: boolean;\n\n /**\n * 是否将各个信息拼接成字符串。\n */\n joinValues?: boolean;\n\n /**\n * 拼接的符号是啥?\n */\n delimiter?: string;\n\n /**\n * 允许选择城市?\n */\n allowCity?: boolean;\n\n /**\n * 允许选择地区?\n */\n allowDistrict?: boolean;\n\n /**\n * 允许选择街道?\n */\n allowStreet?: boolean;\n\n /**\n * 是否显示搜索框\n */\n searchable?: boolean;\n}\n\nexport interface CityPickerProps\n extends Omit<InputCityControlSchema, 'type' | 'className'>,\n LocaleProps,\n ThemeProps {\n value: any;\n onChange: (value: any) => void;\n\n extractValue: boolean;\n delimiter: string;\n allowCity: boolean;\n allowDistrict: boolean;\n allowStreet: boolean;\n}\n\nexport interface CityPickerState {\n code: number;\n province: string;\n provinceCode: number;\n city: string;\n cityCode: number;\n district: string;\n districtCode: number;\n street: string;\n\n db?: {\n province: Array<string>;\n city: {\n [propName: number]: Array<number>;\n };\n district: {\n [propName: number]:\n | {\n [propName: number]: Array<number>;\n }\n | Array<number>;\n };\n [propName: string]: any;\n };\n}\n\nexport class CityPicker extends React.Component<\n CityPickerProps,\n CityPickerState\n> {\n static defaultProps = {\n joinValues: true,\n extractValue: true,\n delimiter: ',',\n allowCity: true,\n allowDistrict: true,\n allowStreet: false\n };\n\n state: CityPickerState = {\n code: 0,\n province: '',\n provinceCode: 0,\n city: '',\n cityCode: 0,\n district: '',\n districtCode: 0,\n street: ''\n };\n\n componentDidMount() {\n this.loadDb(() => this.syncIn());\n }\n\n componentDidUpdate(prevProps: CityPickerProps) {\n const props = this.props;\n\n if (props.value !== prevProps.value) {\n this.loadDb(() => this.syncIn(props));\n }\n }\n\n loadDb(callback?: () => void) {\n if (this.state.db) {\n callback?.();\n return;\n }\n\n import('./CityDB').then(db => {\n this.setState(\n {\n db: {\n ...db.default,\n province: db.province as any,\n city: db.city,\n district: db.district\n }\n },\n callback\n );\n });\n\n // require.ensure(['./CityDB'], (db: any) =>\n // this.setState(\n // {\n // db: {\n // ...db.default,\n // province: db.province,\n // city: db.city,\n // district: db.district\n // }\n // },\n // callback\n // )\n // );\n }\n\n @autobind\n handleProvinceChange(option: Option) {\n this.setState(\n {\n province: option.label as string,\n provinceCode: option.value as number,\n city: '',\n cityCode: 0,\n district: '',\n districtCode: 0,\n street: '',\n code: option.value\n },\n this.syncOut\n );\n }\n\n @autobind\n handleCityChange(option: Option) {\n if (option.value % 100) {\n return this.handleDistrictChange(option, {\n cityCode: option.value as number\n });\n }\n\n this.setState(\n {\n city: option.label as string,\n cityCode: option.value as number,\n district: '',\n districtCode: 0,\n street: '',\n code: option.value\n },\n this.syncOut\n );\n }\n\n @autobind\n handleDistrictChange(\n option: Option,\n otherStates: Partial<CityPickerState> = {}\n ) {\n this.setState(\n {\n ...(otherStates as any),\n district: option.label as string,\n districtCode: option.value as number,\n street: '',\n code: option.value as number\n },\n this.syncOut\n );\n }\n\n @autobind\n handleStreetChange(e: React.ChangeEvent<HTMLInputElement>) {\n this.setState({\n street: e.currentTarget.value\n });\n }\n\n @autobind\n handleStreetEnd() {\n this.syncOut();\n }\n\n @autobind\n syncIn(props = this.props) {\n const db = this.state.db!;\n const {value, delimiter} = props;\n\n if (!db) {\n return;\n }\n\n const state = {\n code: 0,\n province: '',\n provinceCode: 0,\n city: '',\n cityCode: 0,\n district: '',\n districtCode: 0,\n street: ''\n };\n\n let code =\n (value && value.code) ||\n (typeof value === 'number' && value) ||\n (typeof value === 'string' && /(\\d{6})/.test(value) && RegExp.$1);\n\n if (code && db[code]) {\n code = parseInt(code, 10);\n state.code = code;\n\n const provinceCode = code - (code % 10000);\n if (db[provinceCode]) {\n state.provinceCode = provinceCode;\n state.province = db[provinceCode];\n }\n\n const cityCode = code - (code % 100);\n if (db[cityCode]) {\n state.cityCode = cityCode;\n state.city = db[cityCode];\n } else if (~db.city[provinceCode]?.indexOf(code)) {\n state.cityCode = code;\n state.city = db[code];\n }\n\n if (code % 100) {\n state.district = db[code];\n state.districtCode = code;\n }\n } else if (value) {\n // todo 模糊查找\n }\n\n if (value && value.street) {\n state.street = value.street;\n } else if (typeof value === 'string' && ~value.indexOf(delimiter)) {\n state.street = value.slice(value.indexOf(delimiter) + delimiter.length);\n }\n\n this.setState(state);\n }\n\n @autobind\n syncOut() {\n const {onChange, allowStreet, joinValues, extractValue, delimiter} =\n this.props;\n\n const {code, province, city, district, street} = this.state;\n\n if (typeof extractValue === 'undefined' ? joinValues : extractValue) {\n code\n ? onChange(\n allowStreet && street\n ? [code, street].join(delimiter)\n : String(code)\n )\n : onChange('');\n } else {\n onChange({\n code,\n province,\n city,\n district,\n street\n });\n }\n }\n\n render() {\n const {\n classnames: cx,\n className,\n disabled,\n allowCity,\n allowDistrict,\n allowStreet,\n searchable,\n translate: __\n } = this.props;\n\n const {provinceCode, cityCode, districtCode, street, db} = this.state;\n\n return db ? (\n <div className={cx('CityPicker', className)}>\n <Select\n searchable={searchable}\n disabled={disabled}\n options={db.province.map(item => ({\n label: db[item],\n value: item\n }))}\n value={provinceCode}\n onChange={this.handleProvinceChange}\n />\n\n {provinceCode &&\n allowDistrict &&\n Array.isArray(db.district[provinceCode]) ? (\n <Select\n searchable={searchable}\n disabled={disabled}\n options={(db.district[provinceCode] as Array<number>).map(item => ({\n label: db[item],\n value: item\n }))}\n value={districtCode}\n onChange={this.handleDistrictChange}\n />\n ) : allowCity &&\n db.city[provinceCode] &&\n db.city[provinceCode].length ? (\n <Select\n searchable={searchable}\n disabled={disabled}\n options={db.city[provinceCode].map(item => ({\n label: db[item],\n value: item\n }))}\n value={cityCode}\n onChange={this.handleCityChange}\n />\n ) : null}\n\n {cityCode &&\n allowDistrict &&\n (db.district[provinceCode]?.[cityCode] as any)?.length ? (\n <Select\n searchable={searchable}\n disabled={disabled}\n options={(db.district[provinceCode][cityCode] as Array<number>).map(\n item => ({\n label: db[item],\n value: item\n })\n )}\n value={districtCode}\n onChange={this.handleDistrictChange}\n />\n ) : null}\n\n {allowStreet && provinceCode ? (\n <input\n className={cx('CityPicker-input')}\n value={street}\n onChange={this.handleStreetChange}\n onBlur={this.handleStreetEnd}\n placeholder={__('City.street')}\n disabled={disabled}\n />\n ) : null}\n </div>\n ) : (\n <Spinner show size=\"sm\" />\n );\n }\n}\n\nconst ThemedCity = themeable(localeable(CityPicker));\nexport default ThemedCity;\n\nexport interface LocationControlProps extends FormControlProps {\n allowCity?: boolean;\n allowDistrict?: boolean;\n extractValue?: boolean;\n joinValues?: boolean;\n allowStreet?: boolean;\n}\nexport class LocationControl extends React.Component<LocationControlProps> {\n render() {\n const {\n value,\n onChange,\n allowCity,\n allowDistrict,\n extractValue,\n joinValues,\n allowStreet,\n disabled,\n searchable\n } = this.props;\n return (\n <ThemedCity\n searchable={searchable}\n value={value}\n onChange={onChange}\n allowCity={allowCity}\n allowDistrict={allowDistrict}\n extractValue={extractValue}\n joinValues={joinValues}\n allowStreet={allowStreet}\n disabled={disabled}\n />\n );\n }\n}\n\n@FormItem({\n type: 'input-city',\n sizeMutable: false\n})\nexport class CheckboxControlRenderer extends LocationControl {}\n"
|
11
|
+
"import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport {ClassNamesFn, themeable, ThemeProps} from '../../theme';\nimport Spinner from '../../components/Spinner';\nimport Select from '../../components/Select';\nimport CityArea from '../../components/CityArea';\nimport {autobind, isMobile} from '../../utils/helper';\nimport {Option} from './Options';\nimport {localeable, LocaleProps} from '../../locale';\n\n/**\n * City 城市选择框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/city\n */\nexport interface InputCityControlSchema extends FormBaseControl {\n /**\n * 指定为城市选择框。\n */\n type: 'input-city';\n\n /**\n * 开启后只会存城市的 code 信息\n */\n extractValue?: boolean;\n\n /**\n * 是否将各个信息拼接成字符串。\n */\n joinValues?: boolean;\n\n /**\n * 拼接的符号是啥?\n */\n delimiter?: string;\n\n /**\n * 允许选择城市?\n */\n allowCity?: boolean;\n\n /**\n * 允许选择地区?\n */\n allowDistrict?: boolean;\n\n /**\n * 允许选择街道?\n */\n allowStreet?: boolean;\n\n /**\n * 是否显示搜索框\n */\n searchable?: boolean;\n}\n\nexport interface CityPickerProps\n extends Omit<InputCityControlSchema, 'type' | 'className'>,\n LocaleProps,\n ThemeProps {\n value: any;\n onChange: (value: any) => void;\n\n extractValue: boolean;\n delimiter: string;\n allowCity: boolean;\n allowDistrict: boolean;\n allowStreet: boolean;\n useMobileUI?: boolean;\n}\n\nexport interface CityPickerState {\n code: number;\n province: string;\n provinceCode: number;\n city: string;\n cityCode: number;\n district: string;\n districtCode: number;\n street: string;\n\n db?: {\n province: Array<string>;\n city: {\n [propName: number]: Array<number>;\n };\n district: {\n [propName: number]:\n | {\n [propName: number]: Array<number>;\n }\n | Array<number>;\n };\n [propName: string]: any;\n };\n}\n\nexport class CityPicker extends React.Component<\n CityPickerProps,\n CityPickerState\n> {\n static defaultProps = {\n joinValues: true,\n extractValue: true,\n delimiter: ',',\n allowCity: true,\n allowDistrict: true,\n allowStreet: false\n };\n\n state: CityPickerState = {\n code: 0,\n province: '',\n provinceCode: 0,\n city: '',\n cityCode: 0,\n district: '',\n districtCode: 0,\n street: ''\n };\n\n componentDidMount() {\n this.loadDb(() => this.syncIn());\n }\n\n componentDidUpdate(prevProps: CityPickerProps) {\n const props = this.props;\n\n if (props.value !== prevProps.value) {\n this.loadDb(() => this.syncIn(props));\n }\n }\n\n loadDb(callback?: () => void) {\n if (this.state.db) {\n callback?.();\n return;\n }\n\n import('./CityDB').then(db => {\n this.setState(\n {\n db: {\n ...db.default,\n province: db.province as any,\n city: db.city,\n district: db.district\n }\n },\n callback\n );\n });\n\n // require.ensure(['./CityDB'], (db: any) =>\n // this.setState(\n // {\n // db: {\n // ...db.default,\n // province: db.province,\n // city: db.city,\n // district: db.district\n // }\n // },\n // callback\n // )\n // );\n }\n\n @autobind\n handleProvinceChange(option: Option) {\n this.setState(\n {\n province: option.label as string,\n provinceCode: option.value as number,\n city: '',\n cityCode: 0,\n district: '',\n districtCode: 0,\n street: '',\n code: option.value\n },\n this.syncOut\n );\n }\n\n @autobind\n handleCityChange(option: Option) {\n if (option.value % 100) {\n return this.handleDistrictChange(option, {\n cityCode: option.value as number\n });\n }\n\n this.setState(\n {\n city: option.label as string,\n cityCode: option.value as number,\n district: '',\n districtCode: 0,\n street: '',\n code: option.value\n },\n this.syncOut\n );\n }\n\n @autobind\n handleDistrictChange(\n option: Option,\n otherStates: Partial<CityPickerState> = {}\n ) {\n this.setState(\n {\n ...(otherStates as any),\n district: option.label as string,\n districtCode: option.value as number,\n street: '',\n code: option.value as number\n },\n this.syncOut\n );\n }\n\n @autobind\n handleStreetChange(e: React.ChangeEvent<HTMLInputElement>) {\n this.setState({\n street: e.currentTarget.value\n });\n }\n\n @autobind\n handleStreetEnd() {\n this.syncOut();\n }\n\n @autobind\n syncIn(props = this.props) {\n const db = this.state.db!;\n const {value, delimiter} = props;\n\n if (!db) {\n return;\n }\n\n const state = {\n code: 0,\n province: '',\n provinceCode: 0,\n city: '',\n cityCode: 0,\n district: '',\n districtCode: 0,\n street: ''\n };\n\n let code =\n (value && value.code) ||\n (typeof value === 'number' && value) ||\n (typeof value === 'string' && /(\\d{6})/.test(value) && RegExp.$1);\n\n if (code && db[code]) {\n code = parseInt(code, 10);\n state.code = code;\n\n const provinceCode = code - (code % 10000);\n if (db[provinceCode]) {\n state.provinceCode = provinceCode;\n state.province = db[provinceCode];\n }\n\n const cityCode = code - (code % 100);\n if (db[cityCode]) {\n state.cityCode = cityCode;\n state.city = db[cityCode];\n } else if (~db.city[provinceCode]?.indexOf(code)) {\n state.cityCode = code;\n state.city = db[code];\n }\n\n if (code % 100) {\n state.district = db[code];\n state.districtCode = code;\n }\n } else if (value) {\n // todo 模糊查找\n }\n\n if (value && value.street) {\n state.street = value.street;\n } else if (typeof value === 'string' && ~value.indexOf(delimiter)) {\n state.street = value.slice(value.indexOf(delimiter) + delimiter.length);\n }\n\n this.setState(state);\n }\n\n @autobind\n syncOut() {\n const {onChange, allowStreet, joinValues, extractValue, delimiter} =\n this.props;\n\n const {code, province, city, district, street} = this.state;\n\n if (typeof extractValue === 'undefined' ? joinValues : extractValue) {\n code\n ? onChange(\n allowStreet && street\n ? [code, street].join(delimiter)\n : String(code)\n )\n : onChange('');\n } else {\n onChange({\n code,\n province,\n city,\n district,\n street\n });\n }\n }\n\n render() {\n const {\n classnames: cx,\n className,\n disabled,\n allowCity,\n allowDistrict,\n allowStreet,\n searchable,\n translate: __\n } = this.props;\n\n const {provinceCode, cityCode, districtCode, street, db} = this.state;\n\n return db ? (\n <div className={cx('CityPicker', className)}>\n <Select\n searchable={searchable}\n disabled={disabled}\n options={db.province.map(item => ({\n label: db[item],\n value: item\n }))}\n value={provinceCode}\n onChange={this.handleProvinceChange}\n />\n\n {provinceCode &&\n allowDistrict &&\n Array.isArray(db.district[provinceCode]) ? (\n <Select\n searchable={searchable}\n disabled={disabled}\n options={(db.district[provinceCode] as Array<number>).map(item => ({\n label: db[item],\n value: item\n }))}\n value={districtCode}\n onChange={this.handleDistrictChange}\n />\n ) : allowCity &&\n db.city[provinceCode] &&\n db.city[provinceCode].length ? (\n <Select\n searchable={searchable}\n disabled={disabled}\n options={db.city[provinceCode].map(item => ({\n label: db[item],\n value: item\n }))}\n value={cityCode}\n onChange={this.handleCityChange}\n />\n ) : null}\n\n {cityCode &&\n allowDistrict &&\n (db.district[provinceCode]?.[cityCode] as any)?.length ? (\n <Select\n searchable={searchable}\n disabled={disabled}\n options={(db.district[provinceCode][cityCode] as Array<number>).map(\n item => ({\n label: db[item],\n value: item\n })\n )}\n value={districtCode}\n onChange={this.handleDistrictChange}\n />\n ) : null}\n\n {allowStreet && provinceCode ? (\n <input\n className={cx('CityPicker-input')}\n value={street}\n onChange={this.handleStreetChange}\n onBlur={this.handleStreetEnd}\n placeholder={__('City.street')}\n disabled={disabled}\n />\n ) : null}\n </div>\n ) : (\n <Spinner show size=\"sm\" />\n );\n }\n}\n\nconst ThemedCity = themeable(localeable(CityPicker));\nexport default ThemedCity;\n\nexport interface LocationControlProps extends FormControlProps {\n allowCity?: boolean;\n allowDistrict?: boolean;\n extractValue?: boolean;\n joinValues?: boolean;\n allowStreet?: boolean;\n}\nexport class LocationControl extends React.Component<LocationControlProps> {\n render() {\n const {\n value,\n onChange,\n allowCity,\n allowDistrict,\n extractValue,\n joinValues,\n allowStreet,\n disabled,\n searchable,\n env,\n useMobileUI\n } = this.props;\n const mobileUI = useMobileUI && isMobile();\n return mobileUI ? (\n <CityArea\n value={value}\n popOverContainer={\n env && env.getModalContainer ? env.getModalContainer : undefined\n }\n onChange={onChange}\n allowCity={allowCity}\n allowDistrict={allowDistrict}\n extractValue={extractValue}\n joinValues={joinValues}\n allowStreet={allowStreet}\n disabled={disabled}\n useMobileUI={useMobileUI}\n />\n ) : (\n <ThemedCity\n searchable={searchable}\n value={value}\n onChange={onChange}\n allowCity={allowCity}\n allowDistrict={allowDistrict}\n extractValue={extractValue}\n joinValues={joinValues}\n allowStreet={allowStreet}\n disabled={disabled}\n />\n );\n }\n}\n\n@FormItem({\n type: 'input-city',\n sizeMutable: false\n})\nexport class CheckboxControlRenderer extends LocationControl {}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -5,6 +5,7 @@ var tslib_1 = require("tslib");
|
|
5
5
|
var react_1 = tslib_1.__importStar(require("react"));
|
6
6
|
var classnames_1 = (0, tslib_1.__importDefault)(require("classnames"));
|
7
7
|
var Item_1 = require("./Item");
|
8
|
+
var helper_1 = require("../../utils/helper");
|
8
9
|
exports.ColorPicker = react_1.default.lazy(function () { return Promise.resolve().then(function () { return new Promise(function(resolve){require(['../../components/ColorPicker'], function(ret) {resolve(tslib_1.__importStar(ret));})}); }); });
|
9
10
|
var ColorControl = /** @class */ (function (_super) {
|
10
11
|
(0, tslib_1.__extends)(ColorControl, _super);
|
@@ -16,10 +17,13 @@ var ColorControl = /** @class */ (function (_super) {
|
|
16
17
|
return _this;
|
17
18
|
}
|
18
19
|
ColorControl.prototype.render = function () {
|
19
|
-
var _a = this.props, className = _a.className, ns = _a.classPrefix, value = _a.value, env = _a.env, rest = (0, tslib_1.__rest)(_a, ["className", "classPrefix", "value", "env"]);
|
20
|
+
var _a = this.props, className = _a.className, ns = _a.classPrefix, value = _a.value, env = _a.env, useMobileUI = _a.useMobileUI, rest = (0, tslib_1.__rest)(_a, ["className", "classPrefix", "value", "env", "useMobileUI"]);
|
21
|
+
var mobileUI = useMobileUI && (0, helper_1.isMobile)();
|
20
22
|
return (react_1.default.createElement("div", { className: (0, classnames_1.default)(ns + "ColorControl", className) },
|
21
23
|
react_1.default.createElement(react_1.Suspense, { fallback: react_1.default.createElement("div", null, "...") },
|
22
|
-
react_1.default.createElement(exports.ColorPicker, (0, tslib_1.__assign)({ classPrefix: ns }, rest, {
|
24
|
+
react_1.default.createElement(exports.ColorPicker, (0, tslib_1.__assign)({ classPrefix: ns }, rest, { useMobileUI: useMobileUI, popOverContainer: mobileUI && env && env.getModalContainer
|
25
|
+
? env.getModalContainer
|
26
|
+
: undefined, value: value || '' })))));
|
23
27
|
};
|
24
28
|
ColorControl.defaultProps = {
|
25
29
|
format: 'hex',
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/InputColor.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,0DAAsC;AACtC,uEAA4B;AAE5B,+BAAmE;
|
9
|
+
"mappings": ";;;;AAAA,0DAAsC;AACtC,uEAA4B;AAE5B,+BAAmE;AAEnE,6CAA4C;AAE/B,QAAA,WAAW,GAAG,eAAK,CAAC,IAAI,CACnC,cAAM,qFAAO,8BAA8B,QAArC,CAAsC,CAC7C,CAAC;AAiDF;IAA0C,6CAGzC;IAHD;QAAA,qEAwCC;QAhCC,WAAK,GAAsB;YACzB,IAAI,EAAE,KAAK;SACZ,CAAC;;IA8BJ,CAAC;IA5BC,6BAAM,GAAN;QACE,IAAM,KAOF,IAAI,CAAC,KAAK,EANZ,SAAS,eAAA,EACI,EAAE,iBAAA,EACf,KAAK,WAAA,EACL,GAAG,SAAA,EACH,WAAW,iBAAA,EACR,IAAI,2BANH,2DAOL,CAAa,CAAC;QACf,IAAM,QAAQ,GAAG,WAAW,IAAI,IAAA,iBAAQ,GAAE,CAAC;QAC3C,OAAO,CACL,uCAAK,SAAS,EAAE,IAAA,oBAAE,EAAI,EAAE,iBAAc,EAAE,SAAS,CAAC;YAChD,8BAAC,gBAAQ,IAAC,QAAQ,EAAE,iDAAc;gBAChC,8BAAC,mBAAW,0BACV,WAAW,EAAE,EAAE,IACX,IAAI,IACR,WAAW,EAAE,WAAW,EACxB,gBAAgB,EACd,QAAQ,IAAI,GAAG,IAAI,GAAG,CAAC,iBAAiB;wBACtC,CAAC,CAAC,GAAG,CAAC,iBAAiB;wBACvB,CAAC,CAAC,SAAS,EAEf,KAAK,EAAE,KAAK,IAAI,EAAE,IAClB,CACO,CACP,CACP,CAAC;IACJ,CAAC;IAnCM,yBAAY,GAAwB;QACzC,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,IAAI;KAChB,CAAC;IAiCJ,mBAAC;CAAA,AAxCD,CAA0C,eAAK,CAAC,aAAa,GAwC5D;kBAxCoB,YAAY;AA6CjC;IAA0C,qDAAY;IAAtD;;IAAwD,CAAC;IAA5C,oBAAoB;QAHhC,IAAA,eAAQ,EAAC;YACR,IAAI,EAAE,aAAa;SACpB,CAAC;OACW,oBAAoB,CAAwB;IAAD,2BAAC;CAAA,AAAzD,CAA0C,YAAY,GAAG;AAA5C,oDAAoB",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React, {Suspense} from 'react';\nimport cx from 'classnames';\n\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport type {PresetColor} from '../../components/ColorPicker';\n\nexport const ColorPicker = React.lazy(\n () => import('../../components/ColorPicker')\n);\n\n/**\n * Color 颜色选择框\n * 文档:https://baidu.gitee.io/amis/docs/components/form/color\n */\nexport interface InputColorControlSchema extends FormBaseControl {\n /**\n * 指定为颜色选择框\n */\n type: 'input-color';\n\n /**\n * 是否显示清除按钮\n */\n clearable?: boolean;\n\n /**\n * 颜色格式\n */\n format?: 'hex' | 'rgb' | 'rgba' | 'hsl';\n\n /**\n * 选中颜色后是否关闭弹出层。\n */\n closeOnSelect?: boolean;\n\n /**\n * 预设颜色,用户可以直接从预设中选。\n */\n presetColors?: Array<PresetColor>;\n\n /**\n * 是否允许用户输入颜色。\n */\n allowCustomColor?: boolean;\n}\n\nexport interface ColorProps\n extends FormControlProps,\n Omit<\n InputColorControlSchema,\n 'type' | 'className' | 'descriptionClassName' | 'inputClassName'\n > {}\n\nexport interface ColorControlState {\n open: boolean;\n}\n\nexport default class ColorControl extends React.PureComponent<\n ColorProps,\n ColorControlState\n> {\n static defaultProps: Partial<ColorProps> = {\n format: 'hex',\n clearable: true\n };\n state: ColorControlState = {\n open: false\n };\n\n render() {\n const {className
|
11
|
+
"import React, {Suspense} from 'react';\nimport cx from 'classnames';\n\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport type {PresetColor} from '../../components/ColorPicker';\nimport {isMobile} from '../../utils/helper';\n\nexport const ColorPicker = React.lazy(\n () => import('../../components/ColorPicker')\n);\n\n/**\n * Color 颜色选择框\n * 文档:https://baidu.gitee.io/amis/docs/components/form/color\n */\nexport interface InputColorControlSchema extends FormBaseControl {\n /**\n * 指定为颜色选择框\n */\n type: 'input-color';\n\n /**\n * 是否显示清除按钮\n */\n clearable?: boolean;\n\n /**\n * 颜色格式\n */\n format?: 'hex' | 'rgb' | 'rgba' | 'hsl';\n\n /**\n * 选中颜色后是否关闭弹出层。\n */\n closeOnSelect?: boolean;\n\n /**\n * 预设颜色,用户可以直接从预设中选。\n */\n presetColors?: Array<PresetColor>;\n\n /**\n * 是否允许用户输入颜色。\n */\n allowCustomColor?: boolean;\n}\n\nexport interface ColorProps\n extends FormControlProps,\n Omit<\n InputColorControlSchema,\n 'type' | 'className' | 'descriptionClassName' | 'inputClassName'\n > {}\n\nexport interface ColorControlState {\n open: boolean;\n}\n\nexport default class ColorControl extends React.PureComponent<\n ColorProps,\n ColorControlState\n> {\n static defaultProps: Partial<ColorProps> = {\n format: 'hex',\n clearable: true\n };\n state: ColorControlState = {\n open: false\n };\n\n render() {\n const {\n className,\n classPrefix: ns,\n value,\n env,\n useMobileUI,\n ...rest\n } = this.props;\n const mobileUI = useMobileUI && isMobile();\n return (\n <div className={cx(`${ns}ColorControl`, className)}>\n <Suspense fallback={<div>...</div>}>\n <ColorPicker\n classPrefix={ns}\n {...rest}\n useMobileUI={useMobileUI}\n popOverContainer={\n mobileUI && env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n }\n value={value || ''}\n />\n </Suspense>\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'input-color'\n})\nexport class ColorControlRenderer extends ColorControl {}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -90,12 +90,15 @@ var DateControl = /** @class */ (function (_super) {
|
|
90
90
|
onAction(null, scheduleAction || defaultscheduleAction, (0, helper_1.createObject)(data, scheduleData));
|
91
91
|
};
|
92
92
|
DateControl.prototype.render = function () {
|
93
|
-
var _a = this.props, className = _a.className, defaultValue = _a.defaultValue, defaultData = _a.defaultData, cx = _a.classnames, minDate = _a.minDate, maxDate = _a.maxDate, type = _a.type, format = _a.format, timeFormat = _a.timeFormat, valueFormat = _a.valueFormat, env = _a.env, largeMode = _a.largeMode, render = _a.render, rest = (0, tslib_1.__rest)(_a, ["className", "defaultValue", "defaultData", "classnames", "minDate", "maxDate", "type", "format", "timeFormat", "valueFormat", "env", "largeMode", "render"]);
|
93
|
+
var _a = this.props, className = _a.className, defaultValue = _a.defaultValue, defaultData = _a.defaultData, cx = _a.classnames, minDate = _a.minDate, maxDate = _a.maxDate, type = _a.type, format = _a.format, timeFormat = _a.timeFormat, valueFormat = _a.valueFormat, env = _a.env, largeMode = _a.largeMode, render = _a.render, useMobileUI = _a.useMobileUI, rest = (0, tslib_1.__rest)(_a, ["className", "defaultValue", "defaultData", "classnames", "minDate", "maxDate", "type", "format", "timeFormat", "valueFormat", "env", "largeMode", "render", "useMobileUI"]);
|
94
94
|
if (type === 'time' && timeFormat) {
|
95
95
|
format = timeFormat;
|
96
96
|
}
|
97
|
+
var mobileUI = useMobileUI && (0, helper_1.isMobile)();
|
97
98
|
return (react_1.default.createElement("div", { className: cx("DateControl", className) },
|
98
|
-
react_1.default.createElement(DatePicker_1.default, (0, tslib_1.__assign)({}, rest, {
|
99
|
+
react_1.default.createElement(DatePicker_1.default, (0, tslib_1.__assign)({}, rest, { useMobileUI: useMobileUI, popOverContainer: mobileUI && env && env.getModalContainer
|
100
|
+
? env.getModalContainer
|
101
|
+
: undefined, timeFormat: timeFormat, format: valueFormat || format }, this.state, { classnames: cx, schedules: this.state.schedules, largeMode: largeMode, onScheduleClick: this.onScheduleClick.bind(this) }))));
|
99
102
|
};
|
100
103
|
DateControl.defaultProps = {
|
101
104
|
format: 'X',
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/InputDate.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,+BAAmE;AAEnE,uDAIiC;AACjC,+DAA4B;AAC5B,+BAA6B;AAC7B,wFAAqD;AAErD,
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport cx from 'classnames';\nimport {\n filterDate,\n isPureVariable,\n resolveVariableAndFilter\n} from '../../utils/tpl-builtin';\nimport moment from 'moment';\nimport 'moment/locale/zh-cn';\nimport DatePicker from '../../components/DatePicker';\nimport {SchemaObject} from '../../Schema';\nimport {createObject, anyChanged} from '../../utils/helper';\n\nexport interface InputDateBaseControlSchema extends FormBaseControl {\n /**\n * 指定为日期选择控件\n */\n type:\n | 'input-date'\n | 'input-datetime'\n | 'input-time'\n | 'input-month'\n | 'input-quarter'\n | 'input-year';\n\n /**\n * 是否显示清除按钮\n */\n clearable?: boolean;\n\n /**\n * 日期存储格式\n */\n format?: string;\n\n /**\n * 日期展示格式\n */\n inputFormat?: string;\n\n /**\n * 设定是否存储 utc 时间。\n */\n utc?: boolean;\n\n /**\n * 是否为内联模式?\n */\n emebed?: boolean;\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n}\n\n/**\n * Date日期选择控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/date\n */\nexport interface DateControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为日期选择控件\n */\n type: 'input-date';\n\n /**\n * 日期存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 日期展示格式\n * @default YYYY-MM-DD\n */\n inputFormat?: string;\n\n /**\n * 点选日期后是否关闭弹窗\n */\n closeOnSelect?: boolean;\n\n /**\n * 限制最小日期\n */\n minDate?: string;\n\n /**\n * 限制最大日期\n */\n maxDate?: string;\n\n /**\n * 日程\n */\n schedules?:\n | Array<{\n startTime: Date;\n endTime: Date;\n content: any;\n className?: string;\n }>\n | string;\n /**\n * 日程显示颜色自定义\n */\n scheduleClassNames?: Array<string>;\n /**\n * 日程点击展示\n */\n scheduleAction?: SchemaObject;\n}\n\n/**\n * Datetime日期时间选择控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/datetime\n */\nexport interface DateTimeControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为日期时间选择控件\n */\n type: 'input-datetime';\n\n /**\n * 日期存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 日期展示格式\n * @default YYYY-MM-DD HH:mm\n */\n inputFormat?: string;\n\n /**\n * 时间的格式。\n *\n * @default HH:mm\n */\n timeFormat?: string;\n\n /**\n * 限制最小日期\n */\n minDate?: string;\n\n /**\n * 限制最大日期\n */\n maxDate?: string;\n\n /**\n * 不记得了\n */\n timeConstraints?: any;\n}\n\n/**\n * Time 时间选择控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/time\n */\nexport interface TimeControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为日期时间选择控件\n */\n type: 'input-time';\n\n /**\n * 日期存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 日期展示格式\n * @default YYYY-MM-DD HH:mm\n */\n inputFormat?: string;\n\n /**\n * 时间的格式。\n *\n * @default HH:mm\n */\n timeFormat?: string;\n\n /**\n * 不记得了\n */\n timeConstraints?: any;\n}\n\n/**\n * Month 月份选择控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/Month\n */\nexport interface MonthControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为月份时间选择控件\n */\n type: 'input-month';\n\n /**\n * 月份存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 月份展示格式\n * @default YYYY-MM\n */\n inputFormat?: string;\n}\n\n/**\n * 季度选择控件\n */\nexport interface QuarterControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为月份时间选择控件\n */\n type: 'input-quarter';\n\n /**\n * 月份存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 月份展示格式\n * @default YYYY-MM\n */\n inputFormat?: string;\n}\n\n/**\n * 年份选择控件\n */\nexport interface YearControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为月份时间选择控件\n */\n type: 'input-year';\n\n /**\n * 月份存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 月份展示格式\n * @default YYYY-MM\n */\n inputFormat?: string;\n}\n\nexport interface DateProps extends FormControlProps {\n inputFormat?: string;\n timeFormat?: string;\n format?: string;\n valueFormat?: string;\n timeConstraints?: {\n hours?: {\n min: number;\n max: number;\n step: number;\n };\n minutes?: {\n min: number;\n max: number;\n step: number;\n };\n seconds: {\n min: number;\n max: number;\n step: number;\n };\n };\n closeOnSelect?: boolean;\n disabled: boolean;\n iconClassName?: string;\n utc?: boolean; // 设定是否存储 utc 时间。\n minDate?: string;\n maxDate?: string;\n}\n\ninterface DateControlState {\n minDate?: moment.Moment;\n maxDate?: moment.Moment;\n schedules?: Array<{\n startTime: Date;\n endTime: Date;\n content: any;\n className?: string;\n }>;\n}\n\nexport default class DateControl extends React.PureComponent<\n DateProps,\n DateControlState\n> {\n static defaultProps = {\n format: 'X',\n viewMode: 'days',\n inputFormat: 'YYYY-MM-DD',\n timeConstraints: {\n minutes: {\n step: 1\n }\n },\n clearable: true\n };\n\n constructor(props: DateProps) {\n super(props);\n\n const {\n minDate,\n maxDate,\n value,\n defaultValue,\n setPrinstineValue,\n data,\n format,\n utc\n } = props;\n\n if (defaultValue && value === defaultValue) {\n const date = filterDate(defaultValue, data, format);\n setPrinstineValue((utc ? moment.utc(date) : date).format(format));\n }\n\n let schedulesData = props.schedules;\n if (typeof schedulesData === 'string') {\n const resolved = resolveVariableAndFilter(schedulesData, data, '| raw');\n if (Array.isArray(resolved)) {\n schedulesData = resolved;\n }\n }\n\n this.state = {\n minDate: minDate ? filterDate(minDate, data, format) : undefined,\n maxDate: maxDate ? filterDate(maxDate, data, format) : undefined,\n schedules: schedulesData\n };\n }\n\n componentDidUpdate(prevProps: DateProps) {\n const props = this.props;\n\n if (prevProps.defaultValue !== props.defaultValue) {\n const date = filterDate(props.defaultValue, props.data, props.format);\n props.setPrinstineValue(\n (props.utc ? moment.utc(date) : date).format(props.format)\n );\n }\n\n if (\n prevProps.minDate !== props.minDate ||\n prevProps.maxDate !== props.maxDate ||\n prevProps.data !== props.data\n ) {\n this.setState({\n minDate: props.minDate\n ? filterDate(props.minDate, props.data, this.props.format)\n : undefined,\n maxDate: props.maxDate\n ? filterDate(props.maxDate, props.data, this.props.format)\n : undefined\n });\n }\n\n if (\n anyChanged(['schedules', 'data'], prevProps, props) &&\n typeof props.schedules === 'string' &&\n isPureVariable(props.schedules)\n ) {\n const schedulesData = resolveVariableAndFilter(\n props.schedules,\n props.data,\n '| raw'\n );\n const preSchedulesData = resolveVariableAndFilter(\n prevProps.schedules,\n prevProps.data,\n '| raw'\n );\n if (Array.isArray(schedulesData) && preSchedulesData !== schedulesData) {\n this.setState({\n schedules: schedulesData\n });\n }\n }\n }\n\n // 日程点击事件\n onScheduleClick(scheduleData: any) {\n const {scheduleAction, onAction, data, translate: __} = this.props;\n const defaultscheduleAction = {\n actionType: 'dialog',\n dialog: {\n title: __('Schedule'),\n actions: [],\n body: {\n type: 'table',\n columns: [\n {\n name: 'time',\n label: __('Time')\n },\n {\n name: 'content',\n label: __('Content')\n }\n ],\n data: '${scheduleData}'\n }\n }\n };\n\n onAction &&\n onAction(\n null,\n scheduleAction || defaultscheduleAction,\n createObject(data, scheduleData)\n );\n }\n\n render() {\n let {\n className,\n defaultValue,\n defaultData,\n classnames: cx,\n minDate,\n maxDate,\n type,\n format,\n timeFormat,\n valueFormat,\n env,\n largeMode,\n render,\n ...rest\n } = this.props;\n\n if (type === 'time' && timeFormat) {\n format = timeFormat;\n }\n\n return (\n <div className={cx(`DateControl`, className)}>\n <DatePicker\n {...rest}\n timeFormat={timeFormat}\n format={valueFormat || format}\n {...this.state}\n classnames={cx}\n schedules={this.state.schedules}\n largeMode={largeMode}\n onScheduleClick={this.onScheduleClick.bind(this)}\n />\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'input-date',\n weight: -150\n})\nexport class DateControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'Date.placeholder',\n dateFormat: 'YYYY-MM-DD',\n timeFormat: '',\n strictMode: false\n };\n}\n\n@FormItem({\n type: 'input-datetime'\n})\nexport class DatetimeControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'DateTime.placeholder',\n inputFormat: 'YYYY-MM-DD HH:mm:ss',\n dateFormat: 'LL',\n timeFormat: 'HH:mm:ss',\n closeOnSelect: false,\n strictMode: false\n };\n}\n\n@FormItem({\n type: 'input-time'\n})\nexport class TimeControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'Time.placeholder',\n inputFormat: 'HH:mm',\n dateFormat: '',\n timeFormat: 'HH:mm',\n viewMode: 'time',\n closeOnSelect: false\n };\n}\n\n@FormItem({\n type: 'input-month'\n})\nexport class MonthControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'Month.placeholder',\n inputFormat: 'YYYY-MM',\n dateFormat: 'MM',\n timeFormat: '',\n viewMode: 'months',\n closeOnSelect: true\n };\n}\n\n@FormItem({\n type: 'input-quarter'\n})\nexport class QuarterControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'Quarter.placeholder',\n inputFormat: 'YYYY [Q]Q',\n dateFormat: 'YYYY [Q]Q',\n timeFormat: '',\n viewMode: 'quarters',\n closeOnSelect: true\n };\n}\n\n@FormItem({\n type: 'input-year'\n})\nexport class YearControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'Year.placeholder',\n inputFormat: 'YYYY',\n dateFormat: 'YYYY',\n timeFormat: '',\n viewMode: 'years',\n closeOnSelect: true\n };\n}\n"
|
11
|
+
"import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport cx from 'classnames';\nimport {\n filterDate,\n isPureVariable,\n resolveVariableAndFilter\n} from '../../utils/tpl-builtin';\nimport moment from 'moment';\nimport 'moment/locale/zh-cn';\nimport DatePicker from '../../components/DatePicker';\nimport {SchemaObject} from '../../Schema';\nimport {createObject, anyChanged, isMobile} from '../../utils/helper';\n\nexport interface InputDateBaseControlSchema extends FormBaseControl {\n /**\n * 指定为日期选择控件\n */\n type:\n | 'input-date'\n | 'input-datetime'\n | 'input-time'\n | 'input-month'\n | 'input-quarter'\n | 'input-year';\n\n /**\n * 是否显示清除按钮\n */\n clearable?: boolean;\n\n /**\n * 日期存储格式\n */\n format?: string;\n\n /**\n * 日期展示格式\n */\n inputFormat?: string;\n\n /**\n * 设定是否存储 utc 时间。\n */\n utc?: boolean;\n\n /**\n * 是否为内联模式?\n */\n emebed?: boolean;\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n}\n\n/**\n * Date日期选择控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/date\n */\nexport interface DateControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为日期选择控件\n */\n type: 'input-date';\n\n /**\n * 日期存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 日期展示格式\n * @default YYYY-MM-DD\n */\n inputFormat?: string;\n\n /**\n * 点选日期后是否关闭弹窗\n */\n closeOnSelect?: boolean;\n\n /**\n * 限制最小日期\n */\n minDate?: string;\n\n /**\n * 限制最大日期\n */\n maxDate?: string;\n\n /**\n * 日程\n */\n schedules?:\n | Array<{\n startTime: Date;\n endTime: Date;\n content: any;\n className?: string;\n }>\n | string;\n /**\n * 日程显示颜色自定义\n */\n scheduleClassNames?: Array<string>;\n /**\n * 日程点击展示\n */\n scheduleAction?: SchemaObject;\n}\n\n/**\n * Datetime日期时间选择控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/datetime\n */\nexport interface DateTimeControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为日期时间选择控件\n */\n type: 'input-datetime';\n\n /**\n * 日期存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 日期展示格式\n * @default YYYY-MM-DD HH:mm\n */\n inputFormat?: string;\n\n /**\n * 时间的格式。\n *\n * @default HH:mm\n */\n timeFormat?: string;\n\n /**\n * 限制最小日期\n */\n minDate?: string;\n\n /**\n * 限制最大日期\n */\n maxDate?: string;\n\n /**\n * 不记得了\n */\n timeConstraints?: any;\n}\n\n/**\n * Time 时间选择控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/time\n */\nexport interface TimeControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为日期时间选择控件\n */\n type: 'input-time';\n\n /**\n * 日期存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 日期展示格式\n * @default YYYY-MM-DD HH:mm\n */\n inputFormat?: string;\n\n /**\n * 时间的格式。\n *\n * @default HH:mm\n */\n timeFormat?: string;\n\n /**\n * 不记得了\n */\n timeConstraints?: any;\n}\n\n/**\n * Month 月份选择控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/Month\n */\nexport interface MonthControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为月份时间选择控件\n */\n type: 'input-month';\n\n /**\n * 月份存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 月份展示格式\n * @default YYYY-MM\n */\n inputFormat?: string;\n}\n\n/**\n * 季度选择控件\n */\nexport interface QuarterControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为月份时间选择控件\n */\n type: 'input-quarter';\n\n /**\n * 月份存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 月份展示格式\n * @default YYYY-MM\n */\n inputFormat?: string;\n}\n\n/**\n * 年份选择控件\n */\nexport interface YearControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为月份时间选择控件\n */\n type: 'input-year';\n\n /**\n * 月份存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 月份展示格式\n * @default YYYY-MM\n */\n inputFormat?: string;\n}\n\nexport interface DateProps extends FormControlProps {\n inputFormat?: string;\n timeFormat?: string;\n format?: string;\n valueFormat?: string;\n timeConstraints?: {\n hours?: {\n min: number;\n max: number;\n step: number;\n };\n minutes?: {\n min: number;\n max: number;\n step: number;\n };\n seconds: {\n min: number;\n max: number;\n step: number;\n };\n };\n closeOnSelect?: boolean;\n disabled: boolean;\n iconClassName?: string;\n utc?: boolean; // 设定是否存储 utc 时间。\n minDate?: string;\n maxDate?: string;\n}\n\ninterface DateControlState {\n minDate?: moment.Moment;\n maxDate?: moment.Moment;\n schedules?: Array<{\n startTime: Date;\n endTime: Date;\n content: any;\n className?: string;\n }>;\n}\n\nexport default class DateControl extends React.PureComponent<\n DateProps,\n DateControlState\n> {\n static defaultProps = {\n format: 'X',\n viewMode: 'days',\n inputFormat: 'YYYY-MM-DD',\n timeConstraints: {\n minutes: {\n step: 1\n }\n },\n clearable: true\n };\n\n constructor(props: DateProps) {\n super(props);\n\n const {\n minDate,\n maxDate,\n value,\n defaultValue,\n setPrinstineValue,\n data,\n format,\n utc\n } = props;\n\n if (defaultValue && value === defaultValue) {\n const date = filterDate(defaultValue, data, format);\n setPrinstineValue((utc ? moment.utc(date) : date).format(format));\n }\n\n let schedulesData = props.schedules;\n if (typeof schedulesData === 'string') {\n const resolved = resolveVariableAndFilter(schedulesData, data, '| raw');\n if (Array.isArray(resolved)) {\n schedulesData = resolved;\n }\n }\n\n this.state = {\n minDate: minDate ? filterDate(minDate, data, format) : undefined,\n maxDate: maxDate ? filterDate(maxDate, data, format) : undefined,\n schedules: schedulesData\n };\n }\n\n componentDidUpdate(prevProps: DateProps) {\n const props = this.props;\n\n if (prevProps.defaultValue !== props.defaultValue) {\n const date = filterDate(props.defaultValue, props.data, props.format);\n props.setPrinstineValue(\n (props.utc ? moment.utc(date) : date).format(props.format)\n );\n }\n\n if (\n prevProps.minDate !== props.minDate ||\n prevProps.maxDate !== props.maxDate ||\n prevProps.data !== props.data\n ) {\n this.setState({\n minDate: props.minDate\n ? filterDate(props.minDate, props.data, this.props.format)\n : undefined,\n maxDate: props.maxDate\n ? filterDate(props.maxDate, props.data, this.props.format)\n : undefined\n });\n }\n\n if (\n anyChanged(['schedules', 'data'], prevProps, props) &&\n typeof props.schedules === 'string' &&\n isPureVariable(props.schedules)\n ) {\n const schedulesData = resolveVariableAndFilter(\n props.schedules,\n props.data,\n '| raw'\n );\n const preSchedulesData = resolveVariableAndFilter(\n prevProps.schedules,\n prevProps.data,\n '| raw'\n );\n if (Array.isArray(schedulesData) && preSchedulesData !== schedulesData) {\n this.setState({\n schedules: schedulesData\n });\n }\n }\n }\n\n // 日程点击事件\n onScheduleClick(scheduleData: any) {\n const {scheduleAction, onAction, data, translate: __} = this.props;\n const defaultscheduleAction = {\n actionType: 'dialog',\n dialog: {\n title: __('Schedule'),\n actions: [],\n body: {\n type: 'table',\n columns: [\n {\n name: 'time',\n label: __('Time')\n },\n {\n name: 'content',\n label: __('Content')\n }\n ],\n data: '${scheduleData}'\n }\n }\n };\n\n onAction &&\n onAction(\n null,\n scheduleAction || defaultscheduleAction,\n createObject(data, scheduleData)\n );\n }\n\n render() {\n let {\n className,\n defaultValue,\n defaultData,\n classnames: cx,\n minDate,\n maxDate,\n type,\n format,\n timeFormat,\n valueFormat,\n env,\n largeMode,\n render,\n useMobileUI,\n ...rest\n } = this.props;\n\n if (type === 'time' && timeFormat) {\n format = timeFormat;\n }\n\n const mobileUI = useMobileUI && isMobile();\n\n return (\n <div className={cx(`DateControl`, className)}>\n <DatePicker\n {...rest}\n useMobileUI={useMobileUI}\n popOverContainer={\n mobileUI && env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n }\n timeFormat={timeFormat}\n format={valueFormat || format}\n {...this.state}\n classnames={cx}\n schedules={this.state.schedules}\n largeMode={largeMode}\n onScheduleClick={this.onScheduleClick.bind(this)}\n />\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'input-date',\n weight: -150\n})\nexport class DateControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'Date.placeholder',\n dateFormat: 'YYYY-MM-DD',\n timeFormat: '',\n strictMode: false\n };\n}\n\n@FormItem({\n type: 'input-datetime'\n})\nexport class DatetimeControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'DateTime.placeholder',\n inputFormat: 'YYYY-MM-DD HH:mm:ss',\n dateFormat: 'LL',\n timeFormat: 'HH:mm:ss',\n closeOnSelect: false,\n strictMode: false\n };\n}\n\n@FormItem({\n type: 'input-time'\n})\nexport class TimeControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'Time.placeholder',\n inputFormat: 'HH:mm',\n dateFormat: '',\n timeFormat: 'HH:mm',\n viewMode: 'time',\n closeOnSelect: false\n };\n}\n\n@FormItem({\n type: 'input-month'\n})\nexport class MonthControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'Month.placeholder',\n inputFormat: 'YYYY-MM',\n dateFormat: 'MM',\n timeFormat: '',\n viewMode: 'months',\n closeOnSelect: true\n };\n}\n\n@FormItem({\n type: 'input-quarter'\n})\nexport class QuarterControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'Quarter.placeholder',\n inputFormat: 'YYYY [Q]Q',\n dateFormat: 'YYYY [Q]Q',\n timeFormat: '',\n viewMode: 'quarters',\n closeOnSelect: true\n };\n}\n\n@FormItem({\n type: 'input-year'\n})\nexport class YearControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'Year.placeholder',\n inputFormat: 'YYYY',\n dateFormat: 'YYYY',\n timeFormat: '',\n viewMode: 'years',\n closeOnSelect: true\n };\n}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -8,6 +8,7 @@ var classnames_1 = (0, tslib_1.__importDefault)(require("classnames"));
|
|
8
8
|
var tpl_builtin_1 = require("../../utils/tpl-builtin");
|
9
9
|
require("moment/locale/zh-cn");
|
10
10
|
var DateRangePicker_1 = tslib_1.__importStar(require("../../components/DateRangePicker"));
|
11
|
+
var helper_1 = require("../../utils/helper");
|
11
12
|
var DateRangeControl = /** @class */ (function (_super) {
|
12
13
|
(0, tslib_1.__extends)(DateRangeControl, _super);
|
13
14
|
function DateRangeControl(props) {
|
@@ -39,9 +40,12 @@ var DateRangeControl = /** @class */ (function (_super) {
|
|
39
40
|
}
|
40
41
|
};
|
41
42
|
DateRangeControl.prototype.render = function () {
|
42
|
-
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"]);
|
43
|
+
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, useMobileUI = _a.useMobileUI, rest = (0, tslib_1.__rest)(_a, ["className", "classPrefix", "defaultValue", "defaultData", "minDate", "maxDate", "minDuration", "maxDuration", "data", "format", "env", "useMobileUI"]);
|
44
|
+
var mobileUI = useMobileUI && (0, helper_1.isMobile)();
|
43
45
|
return (react_1.default.createElement("div", { className: (0, classnames_1.default)(ns + "DateRangeControl", className) },
|
44
|
-
react_1.default.createElement(DateRangePicker_1.default, (0, tslib_1.__assign)({}, rest, {
|
46
|
+
react_1.default.createElement(DateRangePicker_1.default, (0, tslib_1.__assign)({}, rest, { useMobileUI: useMobileUI, classPrefix: ns, popOverContainer: mobileUI && env && env.getModalContainer
|
47
|
+
? env.getModalContainer
|
48
|
+
: undefined, data: data, format: format, 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 }))));
|
45
49
|
};
|
46
50
|
DateRangeControl.defaultProps = {
|
47
51
|
format: 'X',
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/InputDateRange.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,+BAAmE;AACnE,uEAA4B;AAC5B,uDAAkE;AAClE,+BAA6B;AAC7B,+FAE0C;
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport cx from 'classnames';\nimport {filterDate, parseDuration} from '../../utils/tpl-builtin';\nimport 'moment/locale/zh-cn';\nimport DateRangePicker, {\n DateRangePicker as BaseDateRangePicker\n} from '../../components/DateRangePicker';\n\n/**\n * DateRange 日期范围控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/date-range\n */\nexport interface DateRangeControlSchema extends FormBaseControl {\n /**\n * 指定为日期范围控件\n */\n type: 'input-date-range' | 'input-datetime-range' | 'input-time-range';\n\n /**\n * 分割符, 因为有两个值,开始时间和结束时间,所以要有连接符。默认为英文逗号。\n *\n */\n delimiter?: string;\n\n /**\n * 默认 `X` 即时间戳格式,用来提交的时间格式。更多格式类型请参考 moment.\n */\n format?: string;\n\n /**\n * 默认 `YYYY-MM-DD` 用来配置显示的时间格式。\n */\n inputFormat?: string;\n\n /**\n * 开启后将选中的选项 value 的值用连接符拼接起来,作为当前表单项的值。如: `value1,value2` 否则为 `[value1, value2]`\n */\n joinValues?: boolean;\n\n /**\n * 最大日期限制,支持变量 $xxx 来取值,或者用相对值如:* `-2mins` 2分钟前\\n * `+2days` 2天后\\n* `-10week` 十周前\\n可用单位: `min`、`hour`、`day`、`week`、`month`、`year`。所有单位支持复数形式。\n */\n maxDate?: string;\n\n /**\n * 最小日期限制,支持变量 $xxx 来取值,或者用相对值如:* `-2mins` 2分钟前\\n * `+2days` 2天后\\n* `-10week` 十周前\\n可用单位: `min`、`hour`、`day`、`week`、`month`、`year`。所有单位支持复数形式。\n */\n minDate?: string;\n\n /**\n * 最大跨度,比如 2days\n */\n maxDuration?: string;\n\n /**\n * 最小跨度,比如 2days\n */\n minDuration?: string;\n\n /**\n * 这里面 value 需要特殊说明一下,因为支持相对值。* `-2mins` 2分钟前\\n * `+2days` 2天后\\n* `-10week` 十周前\\n可用单位: `min`、`hour`、`day`、`week`、`month`、`year`。所有单位支持复数形式。\n */\n value?: any;\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 开启后变成非弹出模式,即内联模式。\n */\n embed?: boolean;\n}\n\nexport interface DateRangeProps\n extends FormControlProps,\n Omit<\n DateRangeControlSchema,\n 'type' | 'className' | 'descriptionClassName' | 'inputClassName'\n > {\n delimiter: string;\n format: string;\n joinValues: boolean;\n}\n\nexport default class DateRangeControl extends React.Component<DateRangeProps> {\n static defaultProps = {\n format: 'X',\n joinValues: true,\n delimiter: ','\n };\n\n constructor(props: DateRangeProps) {\n super(props);\n\n const {\n defaultValue,\n setPrinstineValue,\n delimiter,\n format,\n data,\n value,\n joinValues,\n utc\n } = props;\n\n if (defaultValue && value === defaultValue) {\n let arr =\n typeof defaultValue === 'string'\n ? defaultValue.split(delimiter)\n : defaultValue;\n setPrinstineValue(\n BaseDateRangePicker.formatValue(\n {\n startDate: filterDate(arr[0], data, format),\n endDate: filterDate(arr[1], data, format)\n },\n format,\n joinValues,\n delimiter,\n utc\n )\n );\n }\n }\n\n componentDidUpdate(prevProps: DateRangeProps) {\n const {\n defaultValue,\n delimiter,\n joinValues,\n setPrinstineValue,\n data,\n utc,\n format\n } = this.props;\n\n if (prevProps.defaultValue !== defaultValue) {\n let arr =\n typeof defaultValue === 'string'\n ? defaultValue.split(delimiter)\n : defaultValue;\n\n setPrinstineValue(\n arr\n ? BaseDateRangePicker.formatValue(\n {\n startDate: filterDate(arr[0], data, format),\n endDate: filterDate(arr[1], data, format)\n },\n format,\n joinValues,\n delimiter,\n utc\n )\n : undefined\n );\n }\n }\n\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
|
11
|
+
"import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport cx from 'classnames';\nimport {filterDate, parseDuration} from '../../utils/tpl-builtin';\nimport 'moment/locale/zh-cn';\nimport DateRangePicker, {\n DateRangePicker as BaseDateRangePicker\n} from '../../components/DateRangePicker';\nimport {isMobile} from '../../utils/helper';\n\n/**\n * DateRange 日期范围控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/date-range\n */\nexport interface DateRangeControlSchema extends FormBaseControl {\n /**\n * 指定为日期范围控件\n */\n type: 'input-date-range' | 'input-datetime-range' | 'input-time-range';\n\n /**\n * 分割符, 因为有两个值,开始时间和结束时间,所以要有连接符。默认为英文逗号。\n *\n */\n delimiter?: string;\n\n /**\n * 默认 `X` 即时间戳格式,用来提交的时间格式。更多格式类型请参考 moment.\n */\n format?: string;\n\n /**\n * 默认 `YYYY-MM-DD` 用来配置显示的时间格式。\n */\n inputFormat?: string;\n\n /**\n * 开启后将选中的选项 value 的值用连接符拼接起来,作为当前表单项的值。如: `value1,value2` 否则为 `[value1, value2]`\n */\n joinValues?: boolean;\n\n /**\n * 最大日期限制,支持变量 $xxx 来取值,或者用相对值如:* `-2mins` 2分钟前\\n * `+2days` 2天后\\n* `-10week` 十周前\\n可用单位: `min`、`hour`、`day`、`week`、`month`、`year`。所有单位支持复数形式。\n */\n maxDate?: string;\n\n /**\n * 最小日期限制,支持变量 $xxx 来取值,或者用相对值如:* `-2mins` 2分钟前\\n * `+2days` 2天后\\n* `-10week` 十周前\\n可用单位: `min`、`hour`、`day`、`week`、`month`、`year`。所有单位支持复数形式。\n */\n minDate?: string;\n\n /**\n * 最大跨度,比如 2days\n */\n maxDuration?: string;\n\n /**\n * 最小跨度,比如 2days\n */\n minDuration?: string;\n\n /**\n * 这里面 value 需要特殊说明一下,因为支持相对值。* `-2mins` 2分钟前\\n * `+2days` 2天后\\n* `-10week` 十周前\\n可用单位: `min`、`hour`、`day`、`week`、`month`、`year`。所有单位支持复数形式。\n */\n value?: any;\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 开启后变成非弹出模式,即内联模式。\n */\n embed?: boolean;\n}\n\nexport interface DateRangeProps\n extends FormControlProps,\n Omit<\n DateRangeControlSchema,\n 'type' | 'className' | 'descriptionClassName' | 'inputClassName'\n > {\n delimiter: string;\n format: string;\n joinValues: boolean;\n}\n\nexport default class DateRangeControl extends React.Component<DateRangeProps> {\n static defaultProps = {\n format: 'X',\n joinValues: true,\n delimiter: ','\n };\n\n constructor(props: DateRangeProps) {\n super(props);\n\n const {\n defaultValue,\n setPrinstineValue,\n delimiter,\n format,\n data,\n value,\n joinValues,\n utc\n } = props;\n\n if (defaultValue && value === defaultValue) {\n let arr =\n typeof defaultValue === 'string'\n ? defaultValue.split(delimiter)\n : defaultValue;\n setPrinstineValue(\n BaseDateRangePicker.formatValue(\n {\n startDate: filterDate(arr[0], data, format),\n endDate: filterDate(arr[1], data, format)\n },\n format,\n joinValues,\n delimiter,\n utc\n )\n );\n }\n }\n\n componentDidUpdate(prevProps: DateRangeProps) {\n const {\n defaultValue,\n delimiter,\n joinValues,\n setPrinstineValue,\n data,\n utc,\n format\n } = this.props;\n\n if (prevProps.defaultValue !== defaultValue) {\n let arr =\n typeof defaultValue === 'string'\n ? defaultValue.split(delimiter)\n : defaultValue;\n\n setPrinstineValue(\n arr\n ? BaseDateRangePicker.formatValue(\n {\n startDate: filterDate(arr[0], data, format),\n endDate: filterDate(arr[1], data, format)\n },\n format,\n joinValues,\n delimiter,\n utc\n )\n : undefined\n );\n }\n }\n\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 useMobileUI,\n ...rest\n } = this.props;\n const mobileUI = useMobileUI && isMobile();\n return (\n <div className={cx(`${ns}DateRangeControl`, className)}>\n <DateRangePicker\n {...rest}\n useMobileUI={useMobileUI}\n classPrefix={ns}\n popOverContainer={\n mobileUI && env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n }\n data={data}\n format={format}\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-date-range'\n})\nexport class DateRangeControlRenderer extends DateRangeControl {\n static defaultProps = {\n ...DateRangeControl.defaultProps,\n timeFormat: ''\n };\n}\n\n@FormItem({\n type: 'input-datetime-range',\n sizeMutable: false\n})\nexport class DateTimeRangeControlRenderer extends DateRangeControl {\n static defaultProps = {\n ...DateRangeControl.defaultProps,\n timeFormat: 'HH:mm',\n inputFormat: 'YYYY-MM-DD HH:mm'\n };\n}\n\n@FormItem({\n type: 'input-time-range',\n sizeMutable: false\n})\nexport class TimeRangeControlRenderer extends DateRangeControl {\n static defaultProps = {\n ...DateRangeControl.defaultProps,\n format: 'HH:mm',\n timeFormat: 'HH:mm',\n inputFormat: 'HH:mm',\n viewMode: 'time',\n ranges: ''\n };\n}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -353,12 +353,8 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
353
353
|
storeType: string;
|
354
354
|
} & import("mobx-state-tree/dist/internal").NonEmptyObject & {
|
355
355
|
readonly fetcher: any;
|
356
|
-
readonly notify: any;
|
357
|
-
|
358
|
-
*/
|
359
|
-
readonly isCancel: (value: any) => boolean; /**
|
360
|
-
* 输入提示,聚焦的时候显示
|
361
|
-
*/
|
356
|
+
readonly notify: any;
|
357
|
+
readonly isCancel: (value: any) => boolean;
|
362
358
|
readonly __: import("../../locale").TranslateFn<any>;
|
363
359
|
getStoreById(id: string): {
|
364
360
|
id: string;
|
@@ -440,7 +436,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
440
436
|
addStore(store: {
|
441
437
|
[propName: string]: any;
|
442
438
|
storeType: string;
|
443
|
-
id: string;
|
439
|
+
id: string; /**
|
440
|
+
* 描述内容,支持 Html 片段。
|
441
|
+
*/
|
444
442
|
path: string;
|
445
443
|
parentId?: string | undefined;
|
446
444
|
}): {
|
@@ -521,12 +519,8 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
521
519
|
storeType: import("mobx-state-tree").IType<string | undefined, string, string>;
|
522
520
|
}, {
|
523
521
|
readonly fetcher: any;
|
524
|
-
readonly notify: any;
|
525
|
-
|
526
|
-
*/
|
527
|
-
readonly isCancel: (value: any) => boolean; /**
|
528
|
-
* 输入提示,聚焦的时候显示
|
529
|
-
*/
|
522
|
+
readonly notify: any;
|
523
|
+
readonly isCancel: (value: any) => boolean;
|
530
524
|
readonly __: import("../../locale").TranslateFn<any>;
|
531
525
|
getStoreById(id: string): {
|
532
526
|
id: string;
|
@@ -608,7 +602,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
608
602
|
addStore(store: {
|
609
603
|
[propName: string]: any;
|
610
604
|
storeType: string;
|
611
|
-
id: string;
|
605
|
+
id: string; /**
|
606
|
+
* 描述内容,支持 Html 片段。
|
607
|
+
*/
|
612
608
|
path: string;
|
613
609
|
parentId?: string | undefined;
|
614
610
|
}): {
|
@@ -67,11 +67,12 @@ var FormItemWrap = /** @class */ (function (_super) {
|
|
67
67
|
};
|
68
68
|
FormItemWrap.prototype.renderControl = function () {
|
69
69
|
var _a;
|
70
|
-
var _b = this.props, inputClassName = _b.inputClassName, model = _b.formItem, cx = _b.classnames, children = _b.children, type = _b.type, renderControl = _b.renderControl, formItemConfig = _b.formItemConfig, sizeMutable = _b.sizeMutable, size = _b.size, defaultSize = _b.defaultSize, rest = (0, tslib_1.__rest)(_b, ["inputClassName", "formItem", "classnames", "children", "type", "renderControl", "formItemConfig", "sizeMutable", "size", "defaultSize"]);
|
70
|
+
var _b = this.props, inputClassName = _b.inputClassName, model = _b.formItem, cx = _b.classnames, children = _b.children, type = _b.type, renderControl = _b.renderControl, formItemConfig = _b.formItemConfig, sizeMutable = _b.sizeMutable, size = _b.size, defaultSize = _b.defaultSize, useMobileUI = _b.useMobileUI, rest = (0, tslib_1.__rest)(_b, ["inputClassName", "formItem", "classnames", "children", "type", "renderControl", "formItemConfig", "sizeMutable", "size", "defaultSize", "useMobileUI"]);
|
71
|
+
var mobileUI = useMobileUI && (0, helper_1.isMobile)();
|
71
72
|
if (renderControl) {
|
72
73
|
var controlSize = size || defaultSize;
|
73
74
|
return renderControl((0, tslib_1.__assign)((0, tslib_1.__assign)({}, rest), { onOpenDialog: this.handleOpenDialog, type: type, classnames: cx, formItem: model, className: cx("Form-control", (_a = {
|
74
|
-
'is-inline': !!rest.inline,
|
75
|
+
'is-inline': !!rest.inline && !mobileUI,
|
75
76
|
'is-error': model && !model.valid
|
76
77
|
},
|
77
78
|
_a["Form-control--withSize Form-control--size" + (0, helper_1.ucFirst)(controlSize)] = sizeMutable !== false &&
|
@@ -526,10 +527,11 @@ function asFormItem(config) {
|
|
526
527
|
};
|
527
528
|
class_1.prototype.renderControl = function () {
|
528
529
|
var _a;
|
529
|
-
var _b = this.props, inputClassName = _b.inputClassName, model = _b.formItem, cx = _b.classnames, children = _b.children, type = _b.type, size = _b.size, defaultSize = _b.defaultSize, rest = (0, tslib_1.__rest)(_b, ["inputClassName", "formItem", "classnames", "children", "type", "size", "defaultSize"]);
|
530
|
+
var _b = this.props, inputClassName = _b.inputClassName, model = _b.formItem, cx = _b.classnames, children = _b.children, type = _b.type, size = _b.size, defaultSize = _b.defaultSize, useMobileUI = _b.useMobileUI, rest = (0, tslib_1.__rest)(_b, ["inputClassName", "formItem", "classnames", "children", "type", "size", "defaultSize", "useMobileUI"]);
|
530
531
|
var controlSize = size || defaultSize;
|
531
|
-
|
532
|
-
|
532
|
+
var mobileUI = useMobileUI && (0, helper_1.isMobile)();
|
533
|
+
return (react_1.default.createElement(Control, (0, tslib_1.__assign)({}, rest, { useMobileUI: useMobileUI, onOpenDialog: this.handleOpenDialog, size: config.sizeMutable !== false ? undefined : size, onFocus: this.handleFocus, onBlur: this.handleBlur, type: type, classnames: cx, ref: isSFC ? undefined : this.refFn, forwardedRef: isSFC ? this.refFn : undefined, formItem: model, className: cx("Form-control", (_a = {
|
534
|
+
'is-inline': !!rest.inline && !mobileUI,
|
533
535
|
'is-error': model && !model.valid
|
534
536
|
},
|
535
537
|
_a["Form-control--withSize Form-control--size" + (0, helper_1.ucFirst)(controlSize)] = config.sizeMutable !== false &&
|