amis 1.5.7 → 1.5.8-beta.2
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/.husky/pre-commit +1 -1
- package/lib/Schema.d.ts +3 -2
- package/lib/Schema.js.map +1 -1
- package/lib/components/AssociatedSelection.d.ts +84 -84
- package/lib/components/AssociatedSelection.js +2 -2
- package/lib/components/AssociatedSelection.js.map +2 -2
- package/lib/components/Avatar.d.ts +135 -0
- package/lib/components/Avatar.js +120 -0
- package/lib/components/Avatar.js.map +13 -0
- package/lib/components/BaiduMapPicker.js.map +2 -2
- package/lib/components/CalendarMobile.d.ts +547 -0
- package/lib/components/CalendarMobile.js +432 -0
- package/lib/components/CalendarMobile.js.map +13 -0
- package/lib/components/Card.d.ts +20 -20
- package/lib/components/ChainedSelection.d.ts +84 -84
- package/lib/components/ChainedSelection.js +15 -3
- package/lib/components/ChainedSelection.js.map +2 -2
- package/lib/components/ColorPicker.d.ts +84 -84
- package/lib/components/ColorPicker.js.map +2 -2
- package/lib/components/DatePicker.d.ts +84 -84
- package/lib/components/DatePicker.js +10 -4
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/DateRangePicker.d.ts +85 -84
- package/lib/components/DateRangePicker.js +21 -6
- package/lib/components/DateRangePicker.js.map +2 -2
- package/lib/components/GroupedSelection.d.ts +84 -84
- package/lib/components/GroupedSelection.js +14 -2
- package/lib/components/GroupedSelection.js.map +2 -2
- package/lib/components/MonthRangePicker.d.ts +85 -84
- package/lib/components/MonthRangePicker.js +19 -6
- package/lib/components/MonthRangePicker.js.map +2 -2
- package/lib/components/Overlay.d.ts +1 -1
- package/lib/components/Overlay.js.map +1 -1
- package/lib/components/Picker.js +9 -4
- package/lib/components/Picker.js.map +2 -2
- package/lib/components/PickerColumn.js +0 -1
- package/lib/components/PickerColumn.js.map +2 -2
- package/lib/components/PickerContainer.d.ts +3 -0
- package/lib/components/PickerContainer.js +12 -5
- package/lib/components/PickerContainer.js.map +2 -2
- package/lib/components/PopUp.d.ts +1 -0
- package/lib/components/PopUp.js +5 -5
- package/lib/components/PopUp.js.map +2 -2
- package/lib/components/ResultBox.js +2 -1
- package/lib/components/ResultBox.js.map +2 -2
- package/lib/components/ResultList.d.ts +9 -2
- package/lib/components/ResultList.js +22 -2
- package/lib/components/ResultList.js.map +2 -2
- package/lib/components/Select.d.ts +237 -237
- package/lib/components/Select.js +1 -1
- package/lib/components/Select.js.map +1 -1
- package/lib/components/Selection.d.ts +94 -86
- package/lib/components/Selection.js +11 -2
- package/lib/components/Selection.js.map +2 -2
- package/lib/components/Steps.js.map +2 -2
- package/lib/components/TableSelection.d.ts +85 -85
- package/lib/components/TableSelection.js +1 -9
- package/lib/components/TableSelection.js.map +2 -2
- package/lib/components/Tabs.js +31 -33
- package/lib/components/Tabs.js.map +2 -2
- package/lib/components/TabsTransfer.d.ts +87 -256
- package/lib/components/TabsTransfer.js +52 -9
- package/lib/components/TabsTransfer.js.map +2 -2
- package/lib/components/TabsTransferPicker.d.ts +1 -1
- package/lib/components/TabsTransferPicker.js +20 -18
- package/lib/components/TabsTransferPicker.js.map +2 -2
- package/lib/components/Timeline.d.ts +69 -0
- package/lib/components/Timeline.js +16 -0
- package/lib/components/Timeline.js.map +13 -0
- package/lib/components/TimelineItem.d.ts +516 -0
- package/lib/components/TimelineItem.js +41 -0
- package/lib/components/TimelineItem.js.map +13 -0
- package/lib/components/Transfer.d.ts +100 -98
- package/lib/components/Transfer.js +2 -3
- package/lib/components/Transfer.js.map +2 -2
- package/lib/components/TransferDropDown.d.ts +84 -84
- package/lib/components/TransferDropDown.js +1 -5
- package/lib/components/TransferDropDown.js.map +2 -2
- package/lib/components/TransferPicker.d.ts +1 -0
- package/lib/components/TransferPicker.js +19 -4
- package/lib/components/TransferPicker.js.map +2 -2
- package/lib/components/TreeSelection.d.ts +85 -85
- package/lib/components/TreeSelection.js +7 -1
- package/lib/components/TreeSelection.js.map +2 -2
- package/lib/components/calendar/Calendar.d.ts +5 -0
- package/lib/components/calendar/Calendar.js +15 -2
- package/lib/components/calendar/Calendar.js.map +2 -2
- package/lib/components/calendar/DaysView.d.ts +1 -0
- package/lib/components/calendar/DaysView.js +25 -13
- package/lib/components/calendar/DaysView.js.map +2 -2
- package/lib/components/calendar/MonthsView.d.ts +28 -0
- package/lib/components/calendar/MonthsView.js +79 -3
- package/lib/components/calendar/MonthsView.js.map +2 -2
- package/lib/components/calendar/QuartersView.d.ts +1 -0
- package/lib/components/calendar/QuartersView.js +2 -2
- package/lib/components/calendar/QuartersView.js.map +2 -2
- package/lib/components/calendar/TimeView.d.ts +5 -0
- package/lib/components/calendar/TimeView.js +8 -5
- package/lib/components/calendar/TimeView.js.map +2 -2
- package/lib/components/calendar/YearsView.js +6 -4
- package/lib/components/calendar/YearsView.js.map +2 -2
- package/lib/components/condition-builder/Field.js +1 -4
- package/lib/components/condition-builder/Field.js.map +2 -2
- package/lib/components/condition-builder/Func.js +1 -1
- package/lib/components/condition-builder/Func.js.map +2 -2
- package/lib/components/formula/Editor.d.ts +3 -0
- package/lib/components/formula/Editor.js +3 -2
- package/lib/components/formula/Editor.js.map +2 -2
- package/lib/components/formula/FuncList.js +2 -1
- package/lib/components/formula/FuncList.js.map +2 -2
- package/lib/components/formula/Picker.js +1 -1
- package/lib/components/formula/Picker.js.map +2 -2
- 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/components/virtual-list/SizeAndPositionManager.js.map +2 -2
- package/lib/components/virtual-list/index.js +1 -2
- package/lib/components/virtual-list/index.js.map +2 -2
- package/lib/factory.js +5 -0
- package/lib/factory.js.map +2 -2
- package/lib/icons/tree-down.js +7 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/index.js.map +2 -2
- package/lib/locale/de-DE.js +13 -2
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +13 -2
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +12 -1
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Avatar.d.ts +35 -26
- package/lib/renderers/Avatar.js +14 -19
- package/lib/renderers/Avatar.js.map +2 -2
- package/lib/renderers/Card.js +6 -5
- package/lib/renderers/Card.js.map +2 -2
- package/lib/renderers/Custom.js.map +2 -2
- package/lib/renderers/Each.js +5 -2
- package/lib/renderers/Each.js.map +2 -2
- package/lib/renderers/Flex.js +1 -5
- package/lib/renderers/Flex.js.map +2 -2
- package/lib/renderers/Form/ChartRadios.js.map +2 -2
- package/lib/renderers/Form/Checkboxes.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.js +2 -1
- package/lib/renderers/Form/DiffEditor.js.map +2 -2
- package/lib/renderers/Form/InputCity.d.ts +84 -84
- package/lib/renderers/Form/InputColor.d.ts +84 -84
- package/lib/renderers/Form/InputColor.js +1 -1
- package/lib/renderers/Form/InputColor.js.map +2 -2
- package/lib/renderers/Form/InputDate.js +6 -4
- package/lib/renderers/Form/InputDate.js.map +2 -2
- package/lib/renderers/Form/InputDateRange.js +1 -1
- package/lib/renderers/Form/InputDateRange.js.map +2 -2
- package/lib/renderers/Form/InputFormula.d.ts +4 -1
- package/lib/renderers/Form/InputFormula.js +2 -2
- package/lib/renderers/Form/InputFormula.js.map +2 -2
- package/lib/renderers/Form/InputImage.d.ts +1 -0
- package/lib/renderers/Form/InputImage.js +8 -4
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputMonthRange.js +1 -1
- package/lib/renderers/Form/InputMonthRange.js.map +2 -2
- package/lib/renderers/Form/InputQuarterRange.js +1 -1
- package/lib/renderers/Form/InputQuarterRange.js.map +2 -2
- package/lib/renderers/Form/InputYearRange.js +1 -1
- package/lib/renderers/Form/InputYearRange.js.map +2 -2
- package/lib/renderers/Form/Item.js +11 -4
- package/lib/renderers/Form/Item.js.map +2 -2
- package/lib/renderers/Form/NestedSelect.js +1 -1
- package/lib/renderers/Form/NestedSelect.js.map +2 -2
- package/lib/renderers/Form/Select.js +1 -1
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/TabsTransfer.d.ts +5 -32
- package/lib/renderers/Form/TabsTransfer.js +20 -1
- package/lib/renderers/Form/TabsTransfer.js.map +2 -2
- package/lib/renderers/Form/TabsTransferPicker.d.ts +5 -35
- package/lib/renderers/Form/TabsTransferPicker.js +21 -2
- package/lib/renderers/Form/TabsTransferPicker.js.map +2 -2
- package/lib/renderers/Form/Transfer.d.ts +15 -4
- package/lib/renderers/Form/Transfer.js +55 -18
- package/lib/renderers/Form/Transfer.js.map +2 -2
- package/lib/renderers/Form/TransferPicker.d.ts +3 -32
- package/lib/renderers/Form/TransferPicker.js +1 -1
- package/lib/renderers/Form/TransferPicker.js.map +2 -2
- package/lib/renderers/Form/TreeSelect.js.map +2 -2
- package/lib/renderers/IFrame.js +0 -2
- package/lib/renderers/IFrame.js.map +2 -2
- package/lib/renderers/Remark.d.ts +4 -0
- package/lib/renderers/Remark.js +38 -7
- package/lib/renderers/Remark.js.map +2 -2
- package/lib/renderers/Steps.js +5 -5
- package/lib/renderers/Steps.js.map +2 -2
- package/lib/renderers/Table/index.js +4 -1
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/renderers/Tabs.js +1 -1
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/renderers/Timeline.d.ts +65 -0
- package/lib/renderers/Timeline.js +54 -0
- package/lib/renderers/Timeline.js.map +13 -0
- package/lib/renderers/Video.js.map +2 -2
- package/lib/store/combo.js.map +2 -2
- package/lib/themes/ang-ie11.css +659 -25
- package/lib/themes/ang.css +659 -25
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +694 -25
- package/lib/themes/antd.css +694 -25
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +696 -25
- package/lib/themes/cxd.css +696 -25
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +660 -25
- package/lib/themes/dark.css +660 -25
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +696 -25
- package/lib/themes/default.css.map +1 -1
- package/lib/utils/RootClose.js +3 -1
- package/lib/utils/RootClose.js.map +2 -2
- package/lib/utils/helper.d.ts +1 -1
- package/lib/utils/helper.js +1 -1
- package/lib/utils/helper.js.map +2 -2
- package/package.json +13 -6
- package/schema.json +1042 -541
- package/scss/_properties.scss +8 -0
- package/scss/components/_avatar.scss +27 -9
- package/scss/components/_calendar.scss +280 -0
- package/scss/components/_card.scss +1 -1
- package/scss/components/_collapse-group.scss +1 -3
- package/scss/components/_formula.scss +30 -6
- package/scss/components/_modal.scss +18 -0
- package/scss/components/_panel.scss +45 -0
- package/scss/components/_popup.scss +10 -6
- package/scss/components/_timeline.scss +198 -0
- package/scss/components/form/_form.scss +168 -0
- package/scss/components/form/_result-list.scss +2 -0
- package/scss/components/form/_selection.scss +5 -4
- package/scss/themes/_antd-variables.scss +42 -0
- package/scss/themes/_common.scss +1 -0
- package/scss/themes/_cxd-variables.scss +47 -0
- package/scss/themes/_dark-variables.scss +1 -0
- package/sdk/ang-ie11.css +782 -23
- package/sdk/ang.css +791 -26
- package/sdk/antd-ie11.css +782 -23
- package/sdk/antd.css +826 -26
- package/sdk/charts.js +17 -17
- package/sdk/codemirror.js +7 -7
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +3 -3
- package/sdk/cxd-ie11.css +782 -23
- package/sdk/cxd.css +828 -26
- package/sdk/dark-ie11.css +783 -24
- package/sdk/dark.css +792 -26
- package/sdk/exceljs.js +1 -1
- package/sdk/locale/de-DE.js +13 -2
- 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 +782 -23
- package/sdk/sdk.css +828 -26
- package/sdk/sdk.js +1225 -1285
- package/sdk/thirds/hls.js/hls.js +18 -18
- package/sdk/thirds/mpegts.js/mpegts.js +2 -2
- package/sdk/tinymce.js +57 -57
- package/src/Schema.ts +3 -0
- package/src/components/AssociatedSelection.tsx +5 -1
- package/src/components/Avatar.tsx +253 -0
- package/src/components/BaiduMapPicker.tsx +19 -14
- package/src/components/CalendarMobile.tsx +563 -0
- package/src/components/ChainedSelection.tsx +16 -3
- package/src/components/ColorPicker.tsx +37 -39
- package/src/components/DatePicker.tsx +41 -35
- package/src/components/DateRangePicker.tsx +61 -16
- package/src/components/GroupedSelection.tsx +14 -2
- package/src/components/MonthRangePicker.tsx +57 -17
- package/src/components/Overlay.tsx +1 -1
- package/src/components/Picker.tsx +41 -36
- package/src/components/PickerColumn.tsx +22 -25
- package/src/components/PickerContainer.tsx +13 -1
- package/src/components/PopUp.tsx +34 -49
- package/src/components/ResultBox.tsx +4 -1
- package/src/components/ResultList.tsx +36 -6
- package/src/components/Select.tsx +1 -1
- package/src/components/Selection.tsx +21 -3
- package/src/components/Steps.tsx +23 -10
- package/src/components/TableSelection.tsx +1 -44
- package/src/components/Tabs.tsx +65 -54
- package/src/components/TabsTransfer.tsx +78 -9
- package/src/components/TabsTransferPicker.tsx +25 -13
- package/src/components/Timeline.tsx +31 -0
- package/src/components/TimelineItem.tsx +107 -0
- package/src/components/Transfer.tsx +11 -8
- package/src/components/TransferDropDown.tsx +1 -7
- package/src/components/TransferPicker.tsx +25 -4
- package/src/components/TreeSelection.tsx +7 -1
- package/src/components/calendar/Calendar.tsx +26 -6
- package/src/components/calendar/DaysView.tsx +79 -31
- package/src/components/calendar/MonthsView.tsx +116 -2
- package/src/components/calendar/QuartersView.tsx +3 -2
- package/src/components/calendar/TimeView.tsx +26 -16
- package/src/components/calendar/YearsView.tsx +14 -16
- package/src/components/condition-builder/Field.tsx +1 -3
- package/src/components/condition-builder/Func.tsx +1 -1
- package/src/components/formula/Editor.tsx +16 -11
- package/src/components/formula/FuncList.tsx +3 -1
- package/src/components/formula/Picker.tsx +2 -1
- package/src/components/icons.tsx +2 -0
- package/src/components/index.tsx +2 -0
- package/src/components/virtual-list/SizeAndPositionManager.ts +6 -3
- package/src/components/virtual-list/index.tsx +4 -6
- package/src/factory.tsx +6 -0
- package/src/icons/tree-down.svg +5 -0
- package/src/index.tsx +1 -0
- package/src/locale/de-DE.ts +13 -2
- package/src/locale/en-US.ts +13 -2
- package/src/locale/zh-CN.ts +12 -1
- package/src/renderers/Avatar.tsx +83 -74
- package/src/renderers/Card.tsx +10 -6
- package/src/renderers/Custom.tsx +6 -3
- package/src/renderers/Each.tsx +4 -4
- package/src/renderers/Flex.tsx +3 -7
- package/src/renderers/Form/ChartRadios.tsx +2 -7
- package/src/renderers/Form/Checkboxes.tsx +1 -1
- package/src/renderers/Form/DiffEditor.tsx +2 -3
- package/src/renderers/Form/InputColor.tsx +1 -1
- package/src/renderers/Form/InputDate.tsx +38 -19
- package/src/renderers/Form/InputDateRange.tsx +0 -1
- package/src/renderers/Form/InputFormula.tsx +9 -4
- package/src/renderers/Form/InputImage.tsx +9 -4
- package/src/renderers/Form/InputMonthRange.tsx +0 -1
- package/src/renderers/Form/InputQuarterRange.tsx +0 -1
- package/src/renderers/Form/InputYearRange.tsx +0 -1
- package/src/renderers/Form/Item.tsx +15 -4
- package/src/renderers/Form/NestedSelect.tsx +1 -1
- package/src/renderers/Form/Select.tsx +0 -1
- package/src/renderers/Form/TabsTransfer.tsx +28 -38
- package/src/renderers/Form/TabsTransferPicker.tsx +28 -46
- package/src/renderers/Form/Transfer.tsx +75 -24
- package/src/renderers/Form/TransferPicker.tsx +6 -38
- package/src/renderers/Form/TreeSelect.tsx +12 -14
- package/src/renderers/IFrame.tsx +0 -2
- package/src/renderers/Remark.tsx +67 -18
- package/src/renderers/Steps.tsx +11 -13
- package/src/renderers/Table/index.tsx +7 -1
- package/src/renderers/Tabs.tsx +6 -2
- package/src/renderers/Timeline.tsx +141 -0
- package/src/renderers/Video.tsx +4 -20
- package/src/store/combo.ts +1 -3
- package/src/utils/RootClose.ts +5 -1
- package/src/utils/helper.ts +1 -1
@@ -55,7 +55,7 @@ var AssociatedSelection = /** @class */ (function (_super) {
|
|
55
55
|
onDeferLoad === null || onDeferLoad === void 0 ? void 0 : onDeferLoad(option);
|
56
56
|
};
|
57
57
|
AssociatedSelection.prototype.render = function () {
|
58
|
-
var _a = this.props, cx = _a.classnames, className = _a.className, leftOptions = _a.leftOptions, options = _a.options, option2value = _a.option2value, rightMode = _a.rightMode, onChange = _a.onChange, columns = _a.columns, value = _a.value, disabled = _a.disabled, leftMode = _a.leftMode, cellRender = _a.cellRender, multiple = _a.multiple, onDeferLoad = _a.onDeferLoad;
|
58
|
+
var _a = this.props, cx = _a.classnames, className = _a.className, leftOptions = _a.leftOptions, options = _a.options, option2value = _a.option2value, rightMode = _a.rightMode, onChange = _a.onChange, columns = _a.columns, value = _a.value, disabled = _a.disabled, leftMode = _a.leftMode, cellRender = _a.cellRender, multiple = _a.multiple, onDeferLoad = _a.onDeferLoad, itemRender = _a.itemRender;
|
59
59
|
var selectdOption = Selection_1.BaseSelection.resolveSelected(this.state.leftValue, options, function (option) { return option.ref; });
|
60
60
|
var __ = this.props.translate;
|
61
61
|
return (react_1.default.createElement("div", { className: cx('AssociatedSelection', className) },
|
@@ -65,7 +65,7 @@ var AssociatedSelection = /** @class */ (function (_super) {
|
|
65
65
|
? undefined
|
66
66
|
: this.handleRetry.bind(this, selectdOption) },
|
67
67
|
react_1.default.createElement(icons_1.Icon, { icon: "reload", className: "icon" })),
|
68
|
-
selectdOption.loading ? (react_1.default.createElement("p", null, __('loading'))) : (react_1.default.createElement("p", null, __('Transfer.refreshIcon'))))) : rightMode === 'table' ? (react_1.default.createElement(TableSelection_1.default, { columns: columns, value: value, disabled: disabled, options: selectdOption.children || [], onChange: onChange, option2value: option2value, cellRender: cellRender, multiple: multiple })) : rightMode === 'tree' ? (react_1.default.createElement(TreeSelection_1.default, { value: value, disabled: disabled, options: selectdOption.children || [], onChange: onChange, option2value: option2value, multiple: multiple })) : rightMode === 'chained' ? (react_1.default.createElement(ChainedSelection_1.default, { value: value, disabled: disabled, options: selectdOption.children || [], onChange: onChange, option2value: option2value, multiple: multiple })) : (react_1.default.createElement(GroupedSelection_1.default, { value: value, disabled: disabled, options: selectdOption.children || [], onChange: onChange, option2value: option2value, multiple: multiple }))) : (react_1.default.createElement("div", { className: cx('AssociatedSelection-box') }, __('Transfer.configError')))) : (react_1.default.createElement("div", { className: cx('AssociatedSelection-box') }, __('Transfer.selectFromLeft'))))));
|
68
|
+
selectdOption.loading ? (react_1.default.createElement("p", null, __('loading'))) : (react_1.default.createElement("p", null, __('Transfer.refreshIcon'))))) : rightMode === 'table' ? (react_1.default.createElement(TableSelection_1.default, { columns: columns, value: value, disabled: disabled, options: selectdOption.children || [], onChange: onChange, option2value: option2value, cellRender: cellRender, multiple: multiple })) : rightMode === 'tree' ? (react_1.default.createElement(TreeSelection_1.default, { value: value, disabled: disabled, options: selectdOption.children || [], onChange: onChange, option2value: option2value, multiple: multiple, itemRender: itemRender })) : rightMode === 'chained' ? (react_1.default.createElement(ChainedSelection_1.default, { value: value, disabled: disabled, options: selectdOption.children || [], onChange: onChange, option2value: option2value, multiple: multiple, itemRender: itemRender })) : (react_1.default.createElement(GroupedSelection_1.default, { value: value, disabled: disabled, options: selectdOption.children || [], onChange: onChange, option2value: option2value, multiple: multiple, itemRender: itemRender }))) : (react_1.default.createElement("div", { className: cx('AssociatedSelection-box') }, __('Transfer.configError')))) : (react_1.default.createElement("div", { className: cx('AssociatedSelection-box') }, __('Transfer.selectFromLeft'))))));
|
69
69
|
};
|
70
70
|
var _a, _b;
|
71
71
|
(0, tslib_1.__decorate)([
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/components/AssociatedSelection.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";AAAA;;;;GAIG;;;;AAEH,6DAA0B;AAC1B,yCAA8D;AAC9D,mCAAyC;AACzC,0CAAyC;AACzC,kCAAmC;AACnC,iDAA8C;AAC9C,qFAAkD;AAClD,iFAA8C;AAC9C,+EAA4C;AAC5C,qFAAiD;AACjD,qFAAkD;AAClD,iCAA6B;AAC7B,oCAAqC;AAwBrC;IAAyC,oDAGxC;IAHD;QAAA,
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"/**\n * 关联多选框,仅支持两层关联选择。\n * 左边先点选,然后右边再次点选。\n * 可以满足,先从 tree 中选中一个元素,然后查出来一个列表再次勾选。\n */\n\nimport React from 'react';\nimport {BaseSelectionProps, BaseSelection} from './Selection';\nimport {Options, Option} from './Select';\nimport {autobind} from '../utils/helper';\nimport {themeable} from '../theme';\nimport {uncontrollable} from 'uncontrollable';\nimport GroupedSelection from './GroupedSelection';\nimport TableSelection from './TableSelection';\nimport TreeSelection from './TreeSelection';\nimport GroupedSelecton from './GroupedSelection';\nimport ChainedSelection from './ChainedSelection';\nimport {Icon} from './icons';\nimport {localeable} from '../locale';\n\nexport interface AssociatedSelectionProps extends BaseSelectionProps {\n leftOptions: Options;\n leftDefaultValue?: any;\n leftMode?: 'tree' | 'list' | 'group';\n rightMode?: 'table' | 'list' | 'group' | 'tree' | 'chained';\n columns?: Array<any>;\n cellRender?: (\n column: {\n name: string;\n label: string;\n [propName: string]: any;\n },\n option: Option,\n colIndex: number,\n rowIndex: number\n ) => JSX.Element;\n}\n\nexport interface AssociatedSelectionState {\n leftValue?: Option;\n}\n\nexport class AssociatedSelection extends BaseSelection<\n AssociatedSelectionProps,\n AssociatedSelectionState\n> {\n state: AssociatedSelectionState = {\n leftValue: this.props.leftDefaultValue\n };\n\n componentDidMount() {\n const leftValue = this.state.leftValue;\n const {options, onDeferLoad} = this.props;\n\n if (leftValue) {\n const selectdOption = BaseSelection.resolveSelected(\n leftValue,\n options,\n (option: Option) => option.ref\n );\n\n if (selectdOption && onDeferLoad && selectdOption.defer) {\n onDeferLoad(selectdOption);\n }\n }\n }\n\n @autobind\n leftOption2Value(option: Option) {\n return option.value;\n }\n\n @autobind\n handleLeftSelect(value: Option) {\n const {options, onDeferLoad} = this.props;\n this.setState({leftValue: value});\n\n const selectdOption = BaseSelection.resolveSelected(\n value,\n options,\n (option: Option) => option.ref\n );\n\n if (selectdOption && onDeferLoad && selectdOption.defer) {\n onDeferLoad(selectdOption);\n }\n }\n\n handleRetry(option: Option) {\n const {onDeferLoad} = this.props;\n onDeferLoad?.(option);\n }\n\n render() {\n const {\n classnames: cx,\n className,\n leftOptions,\n options,\n option2value,\n rightMode,\n onChange,\n columns,\n value,\n disabled,\n leftMode,\n cellRender,\n multiple,\n onDeferLoad\n } = this.props;\n\n const selectdOption = BaseSelection.resolveSelected(\n this.state.leftValue,\n options,\n (option: Option) => option.ref\n );\n const __ = this.props.translate;\n\n return (\n <div className={cx('AssociatedSelection', className)}>\n <div className={cx('AssociatedSelection-left')}>\n {leftMode === 'tree' ? (\n <TreeSelection\n option2value={this.leftOption2Value}\n options={leftOptions}\n value={this.state.leftValue}\n disabled={disabled}\n onChange={this.handleLeftSelect}\n multiple={false}\n clearable={false}\n onDeferLoad={onDeferLoad}\n />\n ) : (\n <GroupedSelecton\n option2value={this.leftOption2Value}\n options={leftOptions}\n value={this.state.leftValue}\n disabled={disabled}\n onChange={this.handleLeftSelect}\n multiple={false}\n clearable={false}\n />\n )}\n </div>\n <div className={cx('AssociatedSelection-right')}>\n {this.state.leftValue ? (\n selectdOption ? (\n selectdOption.defer && !selectdOption.loaded ? (\n <div className={cx('AssociatedSelection-box')}>\n <div\n className={cx(\n 'AssociatedSelection-reload',\n selectdOption.loading ? 'is-spin' : 'is-clickable'\n )}\n onClick={\n selectdOption.loading\n ? undefined\n : this.handleRetry.bind(this, selectdOption)\n }\n >\n <Icon icon=\"reload\" className=\"icon\" />\n </div>\n\n {selectdOption.loading ? (\n <p>{__('loading')}</p>\n ) : (\n <p>{__('Transfer.refreshIcon')}</p>\n )}\n </div>\n ) : rightMode === 'table' ? (\n <TableSelection\n columns={columns!}\n value={value}\n disabled={disabled}\n options={selectdOption.children || []}\n onChange={onChange}\n option2value={option2value}\n cellRender={cellRender}\n multiple={multiple}\n />\n ) : rightMode === 'tree' ? (\n <TreeSelection\n value={value}\n disabled={disabled}\n options={selectdOption.children || []}\n onChange={onChange}\n option2value={option2value}\n multiple={multiple}\n />\n ) : rightMode === 'chained' ? (\n <ChainedSelection\n value={value}\n disabled={disabled}\n options={selectdOption.children || []}\n onChange={onChange}\n option2value={option2value}\n multiple={multiple}\n />\n ) : (\n <GroupedSelection\n value={value}\n disabled={disabled}\n options={selectdOption.children || []}\n onChange={onChange}\n option2value={option2value}\n multiple={multiple}\n />\n )\n ) : (\n <div className={cx('AssociatedSelection-box')}>\n {__('Transfer.configError')}\n </div>\n )\n ) : (\n <div className={cx('AssociatedSelection-box')}>\n {__('Transfer.selectFromLeft')}\n </div>\n )}\n </div>\n </div>\n );\n }\n}\n\nexport default themeable(\n localeable(\n uncontrollable(AssociatedSelection, {\n value: 'onChange'\n })\n )\n);\n"
|
11
|
+
"/**\n * 关联多选框,仅支持两层关联选择。\n * 左边先点选,然后右边再次点选。\n * 可以满足,先从 tree 中选中一个元素,然后查出来一个列表再次勾选。\n */\n\nimport React from 'react';\nimport {BaseSelectionProps, BaseSelection} from './Selection';\nimport {Options, Option} from './Select';\nimport {autobind} from '../utils/helper';\nimport {themeable} from '../theme';\nimport {uncontrollable} from 'uncontrollable';\nimport GroupedSelection from './GroupedSelection';\nimport TableSelection from './TableSelection';\nimport TreeSelection from './TreeSelection';\nimport GroupedSelecton from './GroupedSelection';\nimport ChainedSelection from './ChainedSelection';\nimport {Icon} from './icons';\nimport {localeable} from '../locale';\n\nexport interface AssociatedSelectionProps extends BaseSelectionProps {\n leftOptions: Options;\n leftDefaultValue?: any;\n leftMode?: 'tree' | 'list' | 'group';\n rightMode?: 'table' | 'list' | 'group' | 'tree' | 'chained';\n columns?: Array<any>;\n cellRender?: (\n column: {\n name: string;\n label: string;\n [propName: string]: any;\n },\n option: Option,\n colIndex: number,\n rowIndex: number\n ) => JSX.Element;\n}\n\nexport interface AssociatedSelectionState {\n leftValue?: Option;\n}\n\nexport class AssociatedSelection extends BaseSelection<\n AssociatedSelectionProps,\n AssociatedSelectionState\n> {\n state: AssociatedSelectionState = {\n leftValue: this.props.leftDefaultValue\n };\n\n componentDidMount() {\n const leftValue = this.state.leftValue;\n const {options, onDeferLoad} = this.props;\n\n if (leftValue) {\n const selectdOption = BaseSelection.resolveSelected(\n leftValue,\n options,\n (option: Option) => option.ref\n );\n\n if (selectdOption && onDeferLoad && selectdOption.defer) {\n onDeferLoad(selectdOption);\n }\n }\n }\n\n @autobind\n leftOption2Value(option: Option) {\n return option.value;\n }\n\n @autobind\n handleLeftSelect(value: Option) {\n const {options, onDeferLoad} = this.props;\n this.setState({leftValue: value});\n\n const selectdOption = BaseSelection.resolveSelected(\n value,\n options,\n (option: Option) => option.ref\n );\n\n if (selectdOption && onDeferLoad && selectdOption.defer) {\n onDeferLoad(selectdOption);\n }\n }\n\n handleRetry(option: Option) {\n const {onDeferLoad} = this.props;\n onDeferLoad?.(option);\n }\n\n render() {\n const {\n classnames: cx,\n className,\n leftOptions,\n options,\n option2value,\n rightMode,\n onChange,\n columns,\n value,\n disabled,\n leftMode,\n cellRender,\n multiple,\n onDeferLoad,\n itemRender\n } = this.props;\n\n const selectdOption = BaseSelection.resolveSelected(\n this.state.leftValue,\n options,\n (option: Option) => option.ref\n );\n const __ = this.props.translate;\n\n return (\n <div className={cx('AssociatedSelection', className)}>\n <div className={cx('AssociatedSelection-left')}>\n {leftMode === 'tree' ? (\n <TreeSelection\n option2value={this.leftOption2Value}\n options={leftOptions}\n value={this.state.leftValue}\n disabled={disabled}\n onChange={this.handleLeftSelect}\n multiple={false}\n clearable={false}\n onDeferLoad={onDeferLoad}\n />\n ) : (\n <GroupedSelecton\n option2value={this.leftOption2Value}\n options={leftOptions}\n value={this.state.leftValue}\n disabled={disabled}\n onChange={this.handleLeftSelect}\n multiple={false}\n clearable={false}\n />\n )}\n </div>\n <div className={cx('AssociatedSelection-right')}>\n {this.state.leftValue ? (\n selectdOption ? (\n selectdOption.defer && !selectdOption.loaded ? (\n <div className={cx('AssociatedSelection-box')}>\n <div\n className={cx(\n 'AssociatedSelection-reload',\n selectdOption.loading ? 'is-spin' : 'is-clickable'\n )}\n onClick={\n selectdOption.loading\n ? undefined\n : this.handleRetry.bind(this, selectdOption)\n }\n >\n <Icon icon=\"reload\" className=\"icon\" />\n </div>\n\n {selectdOption.loading ? (\n <p>{__('loading')}</p>\n ) : (\n <p>{__('Transfer.refreshIcon')}</p>\n )}\n </div>\n ) : rightMode === 'table' ? (\n <TableSelection\n columns={columns!}\n value={value}\n disabled={disabled}\n options={selectdOption.children || []}\n onChange={onChange}\n option2value={option2value}\n cellRender={cellRender}\n multiple={multiple}\n />\n ) : rightMode === 'tree' ? (\n <TreeSelection\n value={value}\n disabled={disabled}\n options={selectdOption.children || []}\n onChange={onChange}\n option2value={option2value}\n multiple={multiple}\n itemRender={itemRender}\n />\n ) : rightMode === 'chained' ? (\n <ChainedSelection\n value={value}\n disabled={disabled}\n options={selectdOption.children || []}\n onChange={onChange}\n option2value={option2value}\n multiple={multiple}\n itemRender={itemRender}\n />\n ) : (\n <GroupedSelection\n value={value}\n disabled={disabled}\n options={selectdOption.children || []}\n onChange={onChange}\n option2value={option2value}\n multiple={multiple}\n itemRender={itemRender}\n />\n )\n ) : (\n <div className={cx('AssociatedSelection-box')}>\n {__('Transfer.configError')}\n </div>\n )\n ) : (\n <div className={cx('AssociatedSelection-box')}>\n {__('Transfer.selectFromLeft')}\n </div>\n )}\n </div>\n </div>\n );\n }\n}\n\nexport default themeable(\n localeable(\n uncontrollable(AssociatedSelection, {\n value: 'onChange'\n })\n )\n);\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -0,0 +1,135 @@
|
|
1
|
+
/// <reference types="hoist-non-react-statics" />
|
2
|
+
import * as React from 'react';
|
3
|
+
import { ClassNamesFn, ThemeProps } from '../theme';
|
4
|
+
/**
|
5
|
+
* Avatar 属性
|
6
|
+
*/
|
7
|
+
interface AvatarCmptProps extends ThemeProps {
|
8
|
+
style?: {
|
9
|
+
[prop: string]: any;
|
10
|
+
};
|
11
|
+
className?: string;
|
12
|
+
classnames: ClassNamesFn;
|
13
|
+
/**
|
14
|
+
* 图片地址
|
15
|
+
*/
|
16
|
+
src?: string | React.ReactNode;
|
17
|
+
/**
|
18
|
+
* 图标
|
19
|
+
*/
|
20
|
+
icon?: string | React.ReactNode;
|
21
|
+
/**
|
22
|
+
* 图片相对于容器的缩放方式
|
23
|
+
*/
|
24
|
+
fit?: 'fill' | 'contain' | 'cover' | 'none' | 'scale-down';
|
25
|
+
/**
|
26
|
+
* 形状
|
27
|
+
*/
|
28
|
+
shape?: 'circle' | 'square' | 'rounded';
|
29
|
+
/**
|
30
|
+
* 大小
|
31
|
+
*/
|
32
|
+
size?: number | 'small' | 'default' | 'large';
|
33
|
+
/**
|
34
|
+
* 文本
|
35
|
+
*/
|
36
|
+
text?: string;
|
37
|
+
/**
|
38
|
+
* 字符类型距离左右两侧边界单位像素
|
39
|
+
*/
|
40
|
+
gap?: number;
|
41
|
+
/**
|
42
|
+
* 图片无法显示时的替换文字地址
|
43
|
+
*/
|
44
|
+
alt?: string;
|
45
|
+
/**
|
46
|
+
* 图片是否允许拖动
|
47
|
+
*/
|
48
|
+
draggable?: boolean;
|
49
|
+
/**
|
50
|
+
* 图片CORS属性
|
51
|
+
*/
|
52
|
+
crossOrigin?: 'anonymous' | 'use-credentials' | '';
|
53
|
+
/**
|
54
|
+
* 图片加载失败的事件,返回 false 会关闭组件默认的
|
55
|
+
*/
|
56
|
+
onError?: (event: React.SyntheticEvent<HTMLImageElement, Event>) => boolean;
|
57
|
+
/**
|
58
|
+
*
|
59
|
+
*/
|
60
|
+
children?: JSX.Element | ((props?: any) => JSX.Element);
|
61
|
+
}
|
62
|
+
export interface AvatarState {
|
63
|
+
scale: number;
|
64
|
+
hasImg: boolean;
|
65
|
+
}
|
66
|
+
export declare class Avatar extends React.Component<AvatarCmptProps, AvatarState> {
|
67
|
+
static defaultProps: Partial<AvatarCmptProps>;
|
68
|
+
state: AvatarState;
|
69
|
+
avatarChildrenRef: React.RefObject<HTMLElement>;
|
70
|
+
avatarRef: React.RefObject<HTMLElement>;
|
71
|
+
constructor(props: AvatarCmptProps);
|
72
|
+
componentDidMount(): void;
|
73
|
+
componentDidUpdate(prevProps: AvatarCmptProps, prevState: AvatarState): void;
|
74
|
+
handleImageLoadError(event: React.SyntheticEvent<HTMLImageElement, Event>): void;
|
75
|
+
setScaleByGap(): void;
|
76
|
+
render(): JSX.Element;
|
77
|
+
}
|
78
|
+
declare const _default: {
|
79
|
+
new (props: (Pick<Omit<AvatarCmptProps, keyof ThemeProps>, never> & Partial<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, "style" | "text" | "children" | "icon" | "alt" | "src" | "size" | "draggable" | "onError" | "crossOrigin" | "shape" | "fit" | "gap">> & Partial<Pick<Partial<AvatarCmptProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps) | Readonly<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, never> & Partial<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, "style" | "text" | "children" | "icon" | "alt" | "src" | "size" | "draggable" | "onError" | "crossOrigin" | "shape" | "fit" | "gap">> & Partial<Pick<Partial<AvatarCmptProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>): {
|
80
|
+
render(): JSX.Element;
|
81
|
+
context: any;
|
82
|
+
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, never> & Partial<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, "style" | "text" | "children" | "icon" | "alt" | "src" | "size" | "draggable" | "onError" | "crossOrigin" | "shape" | "fit" | "gap">> & Partial<Pick<Partial<AvatarCmptProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
83
|
+
forceUpdate(callback?: (() => void) | undefined): void;
|
84
|
+
readonly props: Readonly<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, never> & Partial<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, "style" | "text" | "children" | "icon" | "alt" | "src" | "size" | "draggable" | "onError" | "crossOrigin" | "shape" | "fit" | "gap">> & Partial<Pick<Partial<AvatarCmptProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps> & Readonly<{
|
85
|
+
children?: React.ReactNode;
|
86
|
+
}>;
|
87
|
+
state: Readonly<{}>;
|
88
|
+
refs: {
|
89
|
+
[key: string]: React.ReactInstance;
|
90
|
+
};
|
91
|
+
componentDidMount?(): void;
|
92
|
+
shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, never> & Partial<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, "style" | "text" | "children" | "icon" | "alt" | "src" | "size" | "draggable" | "onError" | "crossOrigin" | "shape" | "fit" | "gap">> & Partial<Pick<Partial<AvatarCmptProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
93
|
+
componentWillUnmount?(): void;
|
94
|
+
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
95
|
+
getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, never> & Partial<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, "style" | "text" | "children" | "icon" | "alt" | "src" | "size" | "draggable" | "onError" | "crossOrigin" | "shape" | "fit" | "gap">> & Partial<Pick<Partial<AvatarCmptProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
|
96
|
+
componentDidUpdate?(prevProps: Readonly<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, never> & Partial<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, "style" | "text" | "children" | "icon" | "alt" | "src" | "size" | "draggable" | "onError" | "crossOrigin" | "shape" | "fit" | "gap">> & Partial<Pick<Partial<AvatarCmptProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
97
|
+
componentWillMount?(): void;
|
98
|
+
UNSAFE_componentWillMount?(): void;
|
99
|
+
componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, never> & Partial<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, "style" | "text" | "children" | "icon" | "alt" | "src" | "size" | "draggable" | "onError" | "crossOrigin" | "shape" | "fit" | "gap">> & Partial<Pick<Partial<AvatarCmptProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
100
|
+
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, never> & Partial<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, "style" | "text" | "children" | "icon" | "alt" | "src" | "size" | "draggable" | "onError" | "crossOrigin" | "shape" | "fit" | "gap">> & Partial<Pick<Partial<AvatarCmptProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
101
|
+
componentWillUpdate?(nextProps: Readonly<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, never> & Partial<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, "style" | "text" | "children" | "icon" | "alt" | "src" | "size" | "draggable" | "onError" | "crossOrigin" | "shape" | "fit" | "gap">> & Partial<Pick<Partial<AvatarCmptProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
102
|
+
UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, never> & Partial<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, "style" | "text" | "children" | "icon" | "alt" | "src" | "size" | "draggable" | "onError" | "crossOrigin" | "shape" | "fit" | "gap">> & Partial<Pick<Partial<AvatarCmptProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
103
|
+
};
|
104
|
+
new (props: Pick<Omit<AvatarCmptProps, keyof ThemeProps>, never> & Partial<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, "style" | "text" | "children" | "icon" | "alt" | "src" | "size" | "draggable" | "onError" | "crossOrigin" | "shape" | "fit" | "gap">> & Partial<Pick<Partial<AvatarCmptProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps, context: any): {
|
105
|
+
render(): JSX.Element;
|
106
|
+
context: any;
|
107
|
+
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, never> & Partial<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, "style" | "text" | "children" | "icon" | "alt" | "src" | "size" | "draggable" | "onError" | "crossOrigin" | "shape" | "fit" | "gap">> & Partial<Pick<Partial<AvatarCmptProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
108
|
+
forceUpdate(callback?: (() => void) | undefined): void;
|
109
|
+
readonly props: Readonly<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, never> & Partial<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, "style" | "text" | "children" | "icon" | "alt" | "src" | "size" | "draggable" | "onError" | "crossOrigin" | "shape" | "fit" | "gap">> & Partial<Pick<Partial<AvatarCmptProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps> & Readonly<{
|
110
|
+
children?: React.ReactNode;
|
111
|
+
}>;
|
112
|
+
state: Readonly<{}>;
|
113
|
+
refs: {
|
114
|
+
[key: string]: React.ReactInstance;
|
115
|
+
};
|
116
|
+
componentDidMount?(): void;
|
117
|
+
shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, never> & Partial<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, "style" | "text" | "children" | "icon" | "alt" | "src" | "size" | "draggable" | "onError" | "crossOrigin" | "shape" | "fit" | "gap">> & Partial<Pick<Partial<AvatarCmptProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
118
|
+
componentWillUnmount?(): void;
|
119
|
+
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
120
|
+
getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, never> & Partial<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, "style" | "text" | "children" | "icon" | "alt" | "src" | "size" | "draggable" | "onError" | "crossOrigin" | "shape" | "fit" | "gap">> & Partial<Pick<Partial<AvatarCmptProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
|
121
|
+
componentDidUpdate?(prevProps: Readonly<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, never> & Partial<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, "style" | "text" | "children" | "icon" | "alt" | "src" | "size" | "draggable" | "onError" | "crossOrigin" | "shape" | "fit" | "gap">> & Partial<Pick<Partial<AvatarCmptProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
122
|
+
componentWillMount?(): void;
|
123
|
+
UNSAFE_componentWillMount?(): void;
|
124
|
+
componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, never> & Partial<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, "style" | "text" | "children" | "icon" | "alt" | "src" | "size" | "draggable" | "onError" | "crossOrigin" | "shape" | "fit" | "gap">> & Partial<Pick<Partial<AvatarCmptProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
125
|
+
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, never> & Partial<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, "style" | "text" | "children" | "icon" | "alt" | "src" | "size" | "draggable" | "onError" | "crossOrigin" | "shape" | "fit" | "gap">> & Partial<Pick<Partial<AvatarCmptProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
126
|
+
componentWillUpdate?(nextProps: Readonly<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, never> & Partial<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, "style" | "text" | "children" | "icon" | "alt" | "src" | "size" | "draggable" | "onError" | "crossOrigin" | "shape" | "fit" | "gap">> & Partial<Pick<Partial<AvatarCmptProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
127
|
+
UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, never> & Partial<Pick<Omit<AvatarCmptProps, keyof ThemeProps>, "style" | "text" | "children" | "icon" | "alt" | "src" | "size" | "draggable" | "onError" | "crossOrigin" | "shape" | "fit" | "gap">> & Partial<Pick<Partial<AvatarCmptProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
128
|
+
};
|
129
|
+
displayName: string;
|
130
|
+
contextType: React.Context<string>;
|
131
|
+
ComposedComponent: React.ComponentType<typeof Avatar>;
|
132
|
+
} & import("hoist-non-react-statics").NonReactStatics<typeof Avatar, {}> & {
|
133
|
+
ComposedComponent: typeof Avatar;
|
134
|
+
};
|
135
|
+
export default _default;
|
@@ -0,0 +1,120 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.Avatar = void 0;
|
4
|
+
var tslib_1 = require("tslib");
|
5
|
+
var React = tslib_1.__importStar(require("react"));
|
6
|
+
var theme_1 = require("../theme");
|
7
|
+
var prefix = 'Avatar--';
|
8
|
+
var childPrefix = prefix + 'text';
|
9
|
+
var Avatar = /** @class */ (function (_super) {
|
10
|
+
(0, tslib_1.__extends)(Avatar, _super);
|
11
|
+
function Avatar(props) {
|
12
|
+
var _this = _super.call(this, props) || this;
|
13
|
+
_this.state = {
|
14
|
+
scale: 1,
|
15
|
+
hasImg: true
|
16
|
+
};
|
17
|
+
_this.avatarChildrenRef = React.createRef();
|
18
|
+
_this.avatarRef = React.createRef();
|
19
|
+
_this.handleImageLoadError = _this.handleImageLoadError.bind(_this);
|
20
|
+
return _this;
|
21
|
+
}
|
22
|
+
Avatar.prototype.componentDidMount = function () {
|
23
|
+
this.setScaleByGap();
|
24
|
+
};
|
25
|
+
Avatar.prototype.componentDidUpdate = function (prevProps, prevState) {
|
26
|
+
var _a = this.props, src = _a.src, gap = _a.gap, text = _a.text, children = _a.children;
|
27
|
+
var hasImg = this.state.hasImg;
|
28
|
+
if (prevProps.src !== src) {
|
29
|
+
this.setState({
|
30
|
+
hasImg: !!src
|
31
|
+
});
|
32
|
+
}
|
33
|
+
if ((prevState.hasImg && !hasImg)
|
34
|
+
|| (prevProps.text !== text)
|
35
|
+
|| (prevProps.children !== children)
|
36
|
+
|| (prevProps.gap !== gap)) {
|
37
|
+
this.setScaleByGap();
|
38
|
+
}
|
39
|
+
};
|
40
|
+
Avatar.prototype.handleImageLoadError = function (event) {
|
41
|
+
var onError = this.props.onError;
|
42
|
+
this.setState({
|
43
|
+
hasImg: onError ? !onError(event) : false
|
44
|
+
});
|
45
|
+
};
|
46
|
+
Avatar.prototype.setScaleByGap = function () {
|
47
|
+
var _a = this.props.gap, gap = _a === void 0 ? 4 : _a;
|
48
|
+
if (!this.avatarChildrenRef.current || !this.avatarRef.current) {
|
49
|
+
return;
|
50
|
+
}
|
51
|
+
var childrenWidth = this.avatarChildrenRef.current.offsetWidth;
|
52
|
+
var nodeWidth = this.avatarRef.current.offsetWidth;
|
53
|
+
if (childrenWidth && nodeWidth) {
|
54
|
+
if (gap * 2 < nodeWidth) {
|
55
|
+
var diff = nodeWidth - gap * 2;
|
56
|
+
this.setState({
|
57
|
+
scale: diff < childrenWidth ? diff / childrenWidth : 1
|
58
|
+
});
|
59
|
+
}
|
60
|
+
}
|
61
|
+
};
|
62
|
+
;
|
63
|
+
Avatar.prototype.render = function () {
|
64
|
+
var _a = this.props, _b = _a.style, style = _b === void 0 ? {} : _b, className = _a.className, shape = _a.shape, size = _a.size, src = _a.src, icon = _a.icon, alt = _a.alt, draggable = _a.draggable, crossOrigin = _a.crossOrigin, fit = _a.fit, text = _a.text, children = _a.children, cx = _a.classnames;
|
65
|
+
var _c = this.state, scale = _c.scale, hasImg = _c.hasImg;
|
66
|
+
var isImgRender = React.isValidElement(src);
|
67
|
+
var isIconRender = React.isValidElement(icon);
|
68
|
+
var childrenRender;
|
69
|
+
var sizeStyle = {};
|
70
|
+
var sizeClass = '';
|
71
|
+
if (typeof size === 'number') {
|
72
|
+
sizeStyle = {
|
73
|
+
height: size,
|
74
|
+
width: size,
|
75
|
+
lineHeight: size + 'px'
|
76
|
+
};
|
77
|
+
}
|
78
|
+
else if (typeof size === 'string') {
|
79
|
+
sizeClass = size === 'large'
|
80
|
+
? prefix + "lg"
|
81
|
+
: size === 'small' ? prefix + "sm" : '';
|
82
|
+
}
|
83
|
+
var scaleX = "scale(" + scale + ") translateX(-50%)";
|
84
|
+
var scaleStyle = {
|
85
|
+
msTransform: scaleX,
|
86
|
+
WebkitTransform: scaleX,
|
87
|
+
transform: scaleX
|
88
|
+
};
|
89
|
+
if (typeof src === 'string' && hasImg) {
|
90
|
+
var imgStyle = fit ? { objectFit: fit } : {};
|
91
|
+
childrenRender = (React.createElement("img", { style: imgStyle, src: src, alt: alt, draggable: draggable, onError: this.handleImageLoadError, crossOrigin: crossOrigin }));
|
92
|
+
}
|
93
|
+
else if (isImgRender) {
|
94
|
+
childrenRender = src;
|
95
|
+
}
|
96
|
+
else if (typeof text === 'string' || typeof text === 'number') {
|
97
|
+
childrenRender = (React.createElement("span", { className: cx(childPrefix), ref: this.avatarChildrenRef, style: scaleStyle }, text));
|
98
|
+
}
|
99
|
+
else if (typeof icon === 'string') {
|
100
|
+
childrenRender = (React.createElement("i", { className: icon }));
|
101
|
+
}
|
102
|
+
else if (isIconRender) {
|
103
|
+
childrenRender = icon;
|
104
|
+
}
|
105
|
+
else {
|
106
|
+
childrenRender = (React.createElement("span", { className: cx(childPrefix), ref: this.avatarChildrenRef, style: scaleStyle }, children));
|
107
|
+
}
|
108
|
+
return (React.createElement("span", { className: cx("Avatar", className, prefix + shape, sizeClass), style: (0, tslib_1.__assign)((0, tslib_1.__assign)({}, sizeStyle), style), ref: this.avatarRef }, childrenRender));
|
109
|
+
};
|
110
|
+
Avatar.defaultProps = {
|
111
|
+
shape: 'circle',
|
112
|
+
size: 'default',
|
113
|
+
fit: 'cover',
|
114
|
+
gap: 4
|
115
|
+
};
|
116
|
+
return Avatar;
|
117
|
+
}(React.Component));
|
118
|
+
exports.Avatar = Avatar;
|
119
|
+
exports.default = (0, theme_1.themeable)(Avatar);
|
120
|
+
//# sourceMappingURL=./components/Avatar.js.map
|
@@ -0,0 +1,13 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"file": "Avatar.js",
|
4
|
+
"sourceRoot": "",
|
5
|
+
"sources": [
|
6
|
+
"/src/components/Avatar.tsx"
|
7
|
+
],
|
8
|
+
"names": [],
|
9
|
+
"mappings": "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",
|
10
|
+
"sourcesContent": [
|
11
|
+
"import * as React from 'react';\nimport {ClassNamesFn, themeable, ThemeProps} from '../theme';\n\n/**\n * Avatar 属性\n */\ninterface AvatarCmptProps extends ThemeProps {\n style?: {\n [prop: string]: any\n };\n className?: string;\n classnames: ClassNamesFn;\n\n /**\n * 图片地址\n */\n src?: string | React.ReactNode;\n\n /**\n * 图标\n */\n icon?: string | React.ReactNode;\n\n /**\n * 图片相对于容器的缩放方式\n */\n fit?: 'fill' | 'contain' | 'cover' | 'none' | 'scale-down';\n\n /**\n * 形状\n */\n shape?: 'circle' | 'square' | 'rounded';\n\n /**\n * 大小\n */\n size?: number | 'small' | 'default' | 'large';\n\n /**\n * 文本\n */\n text?: string;\n\n /**\n * 字符类型距离左右两侧边界单位像素\n */\n gap?: number;\n\n /**\n * 图片无法显示时的替换文字地址\n */\n alt?: string;\n\n /**\n * 图片是否允许拖动\n */\n draggable?: boolean;\n\n /**\n * 图片CORS属性\n */\n crossOrigin?: 'anonymous' | 'use-credentials' | '';\n\n /**\n * 图片加载失败的事件,返回 false 会关闭组件默认的\n */\n onError?: (event: React.SyntheticEvent<HTMLImageElement, Event>) => boolean;\n\n /**\n * \n */\n children?: JSX.Element | ((props?: any) => JSX.Element)\n}\n\nconst prefix = 'Avatar--';\nconst childPrefix = prefix + 'text';\n\nexport interface AvatarState {\n scale: number;\n hasImg: boolean;\n}\n\nexport class Avatar extends React.Component<AvatarCmptProps, AvatarState> {\n static defaultProps: Partial<AvatarCmptProps> = {\n shape: 'circle',\n size: 'default',\n fit: 'cover',\n gap: 4\n };\n\n state: AvatarState = {\n scale: 1,\n hasImg: true\n };\n\n avatarChildrenRef: React.RefObject<HTMLElement>;\n avatarRef: React.RefObject<HTMLElement>;\n\n constructor(props: AvatarCmptProps) {\n super(props);\n \n this.avatarChildrenRef = React.createRef();\n this.avatarRef = React.createRef();\n\n this.handleImageLoadError = this.handleImageLoadError.bind(this);\n }\n\n componentDidMount() {\n this.setScaleByGap();\n }\n\n componentDidUpdate(prevProps: AvatarCmptProps, prevState: AvatarState) {\n const {src, gap, text, children} = this.props;\n const {hasImg} = this.state;\n if (prevProps.src !== src) {\n this.setState({\n hasImg: !!src\n });\n }\n if ((prevState.hasImg && !hasImg)\n || (prevProps.text !== text)\n || (prevProps.children !== children)\n || (prevProps.gap !== gap)) {\n this.setScaleByGap();\n }\n }\n\n handleImageLoadError(event: React.SyntheticEvent<HTMLImageElement, Event>) {\n const {onError} = this.props;\n this.setState({\n hasImg: onError ? !onError(event) : false\n });\n }\n\n setScaleByGap() {\n const {gap = 4} = this.props;\n if (!this.avatarChildrenRef.current || !this.avatarRef.current) {\n return;\n }\n const childrenWidth = this.avatarChildrenRef.current.offsetWidth;\n const nodeWidth = this.avatarRef.current.offsetWidth;\n if (childrenWidth && nodeWidth) {\n if (gap * 2 < nodeWidth) {\n const diff = nodeWidth - gap * 2;\n this.setState({\n scale: diff < childrenWidth ? diff / childrenWidth : 1\n });\n }\n }\n };\n\n render() {\n let {\n style = {},\n className,\n shape,\n size,\n src,\n icon,\n alt,\n draggable,\n crossOrigin,\n fit,\n text,\n children,\n classnames: cx\n } = this.props;\n\n const {scale, hasImg} = this.state;\n \n const isImgRender = React.isValidElement(src);\n const isIconRender = React.isValidElement(icon);\n \n let childrenRender;\n \n let sizeStyle = {};\n let sizeClass = '';\n \n if (typeof size === 'number') {\n sizeStyle = {\n height: size,\n width: size,\n lineHeight: size + 'px'\n };\n }\n else if (typeof size === 'string') {\n sizeClass = size === 'large'\n ? `${prefix}lg` \n : size === 'small' ? `${prefix}sm` : '';\n }\n \n const scaleX = `scale(${scale}) translateX(-50%)`;\n const scaleStyle = {\n msTransform: scaleX,\n WebkitTransform: scaleX,\n transform: scaleX\n };\n \n if (typeof src === 'string' && hasImg) {\n const imgStyle = fit ? {objectFit: fit} : {};\n childrenRender = (\n <img\n style={imgStyle}\n src={src}\n alt={alt}\n draggable={draggable}\n onError={this.handleImageLoadError}\n crossOrigin={crossOrigin}\n />\n );\n }\n else if (isImgRender) {\n childrenRender = src;\n }\n else if (typeof text === 'string' || typeof text === 'number') {\n childrenRender = (\n <span\n className={cx(childPrefix)}\n ref={this.avatarChildrenRef}\n style={scaleStyle}>\n {text}\n </span>\n );\n }\n else if (typeof icon === 'string') {\n childrenRender = (<i className={icon} />);\n }\n else if (isIconRender) {\n childrenRender = icon;\n }\n else {\n childrenRender = (\n <span\n className={cx(childPrefix)}\n ref={this.avatarChildrenRef}\n style={scaleStyle}>\n {children}\n </span>\n );\n }\n \n return (\n <span\n className={cx(`Avatar`, className, prefix + shape, sizeClass)}\n style={{...sizeStyle, ...style}}\n ref={this.avatarRef}>\n {childrenRender}\n </span>\n );\n } \n}\n\nexport default themeable(Avatar);\n"
|
12
|
+
]
|
13
|
+
}
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/components/BaiduMapPicker.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,kCAAiD;AACjD,0CAA2D;AAC3D,0EAAuC;AACvC,iCAA6B;AAI7B;;;;;;;;;;GAUG;AACH,IAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,IAAM,oBAAoB,GAAG,CAAC,CAAC;AAC/B,IAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,IAAM,oBAAoB,GAAG,CAAC,CAAC;AAC/B,IAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,IAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,IAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,IAAM,cAAc,GAAG,CAAC,CAAC;AA+BzB;IAAoC,+CAGnC;IAHD;QAAA,
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {ClassNamesFn, themeable} from '../theme';\nimport {loadScript, autobind, uuid} from '../utils/helper';\nimport debounce from 'lodash/debounce';\nimport {Icon} from './icons';\n\ndeclare const BMap: any;\n\n/**\n * 坐标常量说明:\n * COORDINATES_WGS84 = 1, WGS84坐标\n * COORDINATES_WGS84_MC = 2, WGS84的平面墨卡托坐标\n * COORDINATES_GCJ02 = 3,GCJ02坐标\n * COORDINATES_GCJ02_MC = 4, GCJ02的平面墨卡托坐标\n * COORDINATES_BD09 = 5, 百度bd09经纬度坐标\n * COORDINATES_BD09_MC = 6,百度bd09墨卡托坐标\n * COORDINATES_MAPBAR = 7,mapbar地图坐标\n * COORDINATES_51 = 8,51地图坐标\n */\nconst COORDINATES_WGS84 = 1;\nconst COORDINATES_WGS84_MC = 2;\nconst COORDINATES_GCJ02 = 3;\nconst COORDINATES_GCJ02_MC = 4;\nconst COORDINATES_BD09 = 5;\nconst COORDINATES_BD09_MC = 6;\nconst COORDINATES_MAPBAR = 7;\nconst COORDINATES_51 = 8;\n\ninterface MapPickerProps {\n ak: string;\n coordinatesType: string;\n classnames: ClassNamesFn;\n classPrefix: string;\n value?: {\n address: string;\n lat: number;\n lng: number;\n city?: string;\n };\n onChange: (value: any) => void;\n}\n\ninterface LocationItem {\n title?: string;\n address: string;\n lat: number;\n lng: number;\n city?: string;\n}\n\ninterface MapPickerState {\n inputValue: string;\n locIndex?: number;\n locs: Array<LocationItem>;\n sugs: Array<string>;\n}\n\nexport class BaiduMapPicker extends React.Component<\n MapPickerProps,\n MapPickerState\n> {\n state: MapPickerState = {\n inputValue: '',\n locs: [],\n locIndex: -1,\n sugs: []\n };\n\n id = uuid();\n mapRef: React.RefObject<HTMLDivElement> = React.createRef();\n placeholderInput?: HTMLInputElement;\n map: any;\n ac: any;\n search = debounce(\n () => {\n if (this.state.inputValue) {\n this.ac?.search(this.state.inputValue);\n } else {\n this.setState({\n sugs: []\n });\n }\n },\n 250,\n {\n trailing: true,\n leading: false\n }\n );\n convertor: any;\n\n componentDidMount() {\n if ((window as any).BMap) {\n this.initMap();\n } else {\n loadScript(\n `//api.map.baidu.com/api?v=3.0&ak=${this.props.ak}&callback={{callback}}`\n ).then(this.initMap);\n }\n }\n\n componentWillUnmount() {\n this.ac?.dispose();\n document.body.removeChild(this.placeholderInput!);\n\n delete this.placeholderInput;\n delete this.map;\n }\n\n @autobind\n async initMap() {\n const map = new BMap.Map(this.mapRef.current, {\n enableMapClick: false\n });\n this.map = map;\n this.convertor = new BMap.Convertor();\n\n const value = this.props.value;\n let point = value\n ? new BMap.Point(value.lng, value.lat)\n : new BMap.Point(116.404, 39.915);\n if (this.props.coordinatesType == 'gcj02') {\n point = await this.covertPoint(point
|
11
|
+
"import React from 'react';\nimport {ClassNamesFn, themeable} from '../theme';\nimport {loadScript, autobind, uuid} from '../utils/helper';\nimport debounce from 'lodash/debounce';\nimport {Icon} from './icons';\n\ndeclare const BMap: any;\n\n/**\n * 坐标常量说明:\n * COORDINATES_WGS84 = 1, WGS84坐标\n * COORDINATES_WGS84_MC = 2, WGS84的平面墨卡托坐标\n * COORDINATES_GCJ02 = 3,GCJ02坐标\n * COORDINATES_GCJ02_MC = 4, GCJ02的平面墨卡托坐标\n * COORDINATES_BD09 = 5, 百度bd09经纬度坐标\n * COORDINATES_BD09_MC = 6,百度bd09墨卡托坐标\n * COORDINATES_MAPBAR = 7,mapbar地图坐标\n * COORDINATES_51 = 8,51地图坐标\n */\nconst COORDINATES_WGS84 = 1;\nconst COORDINATES_WGS84_MC = 2;\nconst COORDINATES_GCJ02 = 3;\nconst COORDINATES_GCJ02_MC = 4;\nconst COORDINATES_BD09 = 5;\nconst COORDINATES_BD09_MC = 6;\nconst COORDINATES_MAPBAR = 7;\nconst COORDINATES_51 = 8;\n\ninterface MapPickerProps {\n ak: string;\n coordinatesType: string;\n classnames: ClassNamesFn;\n classPrefix: string;\n value?: {\n address: string;\n lat: number;\n lng: number;\n city?: string;\n };\n onChange: (value: any) => void;\n}\n\ninterface LocationItem {\n title?: string;\n address: string;\n lat: number;\n lng: number;\n city?: string;\n}\n\ninterface MapPickerState {\n inputValue: string;\n locIndex?: number;\n locs: Array<LocationItem>;\n sugs: Array<string>;\n}\n\nexport class BaiduMapPicker extends React.Component<\n MapPickerProps,\n MapPickerState\n> {\n state: MapPickerState = {\n inputValue: '',\n locs: [],\n locIndex: -1,\n sugs: []\n };\n\n id = uuid();\n mapRef: React.RefObject<HTMLDivElement> = React.createRef();\n placeholderInput?: HTMLInputElement;\n map: any;\n ac: any;\n search = debounce(\n () => {\n if (this.state.inputValue) {\n this.ac?.search(this.state.inputValue);\n } else {\n this.setState({\n sugs: []\n });\n }\n },\n 250,\n {\n trailing: true,\n leading: false\n }\n );\n convertor: any;\n\n componentDidMount() {\n if ((window as any).BMap) {\n this.initMap();\n } else {\n loadScript(\n `//api.map.baidu.com/api?v=3.0&ak=${this.props.ak}&callback={{callback}}`\n ).then(this.initMap);\n }\n }\n\n componentWillUnmount() {\n this.ac?.dispose();\n document.body.removeChild(this.placeholderInput!);\n\n delete this.placeholderInput;\n delete this.map;\n }\n\n @autobind\n async initMap() {\n const map = new BMap.Map(this.mapRef.current, {\n enableMapClick: false\n });\n this.map = map;\n this.convertor = new BMap.Convertor();\n\n const value = this.props.value;\n let point = value\n ? new BMap.Point(value.lng, value.lat)\n : new BMap.Point(116.404, 39.915);\n if (this.props.coordinatesType == 'gcj02') {\n point = await this.covertPoint(\n point,\n COORDINATES_GCJ02,\n COORDINATES_BD09\n );\n map.centerAndZoom(point, 15);\n } else {\n map.centerAndZoom(point, 15);\n }\n\n map.addControl(\n // @ts-ignore\n new BMap.NavigationControl({type: BMAP_NAVIGATION_CONTROL_SMALL})\n );\n\n const geolocationControl = new BMap.GeolocationControl();\n geolocationControl.addEventListener('locationSuccess', (e: any) => {\n this.getLocations(e.point);\n });\n map.addControl(geolocationControl);\n\n map.addEventListener('click', (e: any) => {\n this.getLocations(e.point, true);\n });\n\n const input = document.createElement('input');\n input.className = 'invisible';\n this.placeholderInput = input;\n document.body.appendChild(input);\n\n this.ac = new BMap.Autocomplete({\n input,\n location: map,\n onSearchComplete: (result: any) => {\n // 说明已经销毁了。\n if (!this.map) {\n return;\n }\n\n const sugs: Array<string> = [];\n\n const poiLength = result.getNumPois();\n if (poiLength) {\n for (let i = 0; i < poiLength; i++) {\n const poi = result.getPoi(i);\n sugs.push(\n [\n poi.province,\n poi.city,\n poi.district,\n poi.street,\n poi.business\n ].join(' ')\n );\n }\n this.setState({\n sugs\n });\n }\n }\n });\n\n value ? this.getLocations(point) : geolocationControl.location();\n }\n\n getLocations(point: any, select?: boolean) {\n const map = this.map;\n\n map.clearOverlays();\n const mk = new BMap.Marker(point);\n map.addOverlay(mk);\n map.panTo(point);\n\n var geoc = new BMap.Geocoder();\n geoc.getLocation(point, (rs: any) => {\n // 说明已经销毁了。\n if (!this.map) {\n return;\n }\n\n const index = 0;\n const locs: Array<LocationItem> = [];\n\n locs.push({\n title: '当前位置',\n address: rs.address,\n city: rs.addressComponents.city,\n lat: rs.point.lat,\n lng: rs.point.lng\n });\n\n if (Array.isArray(rs.surroundingPois)) {\n rs.surroundingPois.forEach((item: any) => {\n locs.push({\n title: item.title,\n address: item.address,\n city: item.city,\n lat: item.point.lat,\n lng: item.point.lng\n });\n });\n }\n\n this.setState(\n {\n locIndex: index,\n locs\n },\n () => {\n if (!select) {\n return;\n }\n\n this.triggerOnChange(locs[0]);\n }\n );\n });\n }\n\n @autobind\n handleChange(e: React.ChangeEvent<HTMLInputElement>) {\n this.setState(\n {\n inputValue: e.currentTarget.value\n },\n this.search\n );\n }\n\n @autobind\n handleSelect(e: React.MouseEvent<HTMLElement>) {\n const index = parseInt(e.currentTarget.getAttribute('data-index')!, 10);\n const loc = this.state.locs[index];\n\n this.setState(\n {\n locIndex: index\n },\n () => {\n const point = new BMap.Point(loc.lng, loc.lat);\n\n this.map.clearOverlays();\n const mk = new BMap.Marker(point);\n this.map.addOverlay(mk);\n this.map.panTo(point);\n\n this.triggerOnChange(loc);\n }\n );\n }\n\n covertPoint(point: any, from: number, to: number) {\n return new Promise((resolve, reject) => {\n this.convertor.translate([point], from, to, (res: any) => {\n if (res.status === 0 && res.points.length) {\n resolve(new BMap.Point(res.points[0].lng, res.points[0].lat));\n } else {\n reject();\n }\n });\n });\n }\n\n triggerOnChange(loc: LocationItem) {\n const point = new BMap.Point(loc.lng, loc.lat);\n if (this.props.coordinatesType == 'gcj02') {\n this.covertPoint(point, COORDINATES_BD09, COORDINATES_GCJ02).then(\n (convertedPoint: any) => {\n this.props?.onChange({\n address: loc.address.trim() || loc.title,\n lat: convertedPoint.lat,\n lng: convertedPoint.lng,\n city: loc.city\n });\n }\n );\n } else {\n this.props?.onChange({\n address: loc.address.trim() || loc.title,\n lat: loc.lat,\n lng: loc.lng,\n city: loc.city\n });\n }\n }\n\n @autobind\n handleSugSelect(e: React.MouseEvent<HTMLDivElement>) {\n const value = e.currentTarget.innerText;\n this.setState({\n inputValue: value\n });\n\n var local = new BMap.LocalSearch(this.map, {\n //智能搜索\n onSearchComplete: () => {\n const results = local.getResults();\n const poi = results.getPoi(0);\n this.setState({\n inputValue: poi.title,\n sugs: []\n });\n this.getLocations(poi.point, true);\n }\n });\n local.search(value);\n }\n\n render() {\n const {classnames: cx} = this.props;\n const {locIndex, locs, inputValue, sugs} = this.state;\n const hasSug = Array.isArray(sugs) && sugs.length;\n\n return (\n <div className={cx('MapPicker')}>\n <div className={cx('MapPicker-search TextControl-control')}>\n <div className={cx('TextControl-input')}>\n <input\n onChange={this.handleChange}\n value={inputValue}\n placeholder=\"搜索地点\"\n />\n </div>\n </div>\n\n <div\n ref={this.mapRef}\n className={cx('MapPicker-map', {\n invisible: hasSug\n })}\n />\n\n <div\n className={cx('MapPicker-result', {\n invisible: hasSug\n })}\n >\n {locs.map((item, index) => (\n <div\n onClick={this.handleSelect}\n key={index}\n data-index={index}\n className={cx('MapPicker-item')}\n >\n <div className={cx('MapPicker-itemTitle')}>{item.title}</div>\n <div className={cx('MapPicker-itemDesc')}>{item.address}</div>\n {locIndex === index ? (\n <Icon icon=\"success\" className=\"icon\" />\n ) : null}\n </div>\n ))}\n </div>\n\n {hasSug ? (\n <div className={cx('MapPicker-sug')}>\n {sugs.map(item => (\n <div\n onClick={this.handleSugSelect}\n className={cx('MapPicker-sugItem')}\n key={item}\n >\n {item}\n </div>\n ))}\n </div>\n ) : null}\n </div>\n );\n }\n}\n\nexport default themeable(BaiduMapPicker);\n"
|
12
12
|
]
|
13
13
|
}
|