amis 1.5.6-beta.4 → 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/AsideNav.d.ts +1 -1
- package/lib/components/AsideNav.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/Card.js +1 -1
- package/lib/components/Card.js.map +2 -2
- 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/CodeMirror.d.ts +26 -0
- package/lib/components/CodeMirror.js +104 -0
- package/lib/components/CodeMirror.js.map +13 -0
- package/lib/components/Collapse.d.ts +22 -21
- package/lib/components/Collapse.js +1 -1
- package/lib/components/Collapse.js.map +2 -2
- package/lib/components/ColorPicker.d.ts +85 -84
- package/lib/components/ColorPicker.js +15 -3
- package/lib/components/ColorPicker.js.map +2 -2
- package/lib/components/DatePicker.d.ts +84 -84
- package/lib/components/DatePicker.js +15 -5
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/DateRangePicker.d.ts +86 -84
- package/lib/components/DateRangePicker.js +22 -5
- 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 +86 -84
- package/lib/components/MonthRangePicker.js +20 -5
- 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 +5 -1
- package/lib/components/PickerContainer.js +14 -7
- package/lib/components/PickerContainer.js.map +2 -2
- package/lib/components/PopUp.d.ts +94 -0
- package/lib/components/PopUp.js +58 -0
- package/lib/components/PopUp.js.map +13 -0
- package/lib/components/Rating.d.ts +203 -73
- package/lib/components/Rating.js +147 -31
- package/lib/components/Rating.js.map +2 -2
- package/lib/components/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.d.ts +1 -0
- package/lib/components/Steps.js +5 -3
- 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 +21 -19
- 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 -1
- package/lib/components/TransferPicker.js +21 -19
- 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 +563 -0
- package/lib/components/formula/Editor.js +187 -0
- package/lib/components/formula/Editor.js.map +13 -0
- package/lib/components/formula/FuncList.d.ts +67 -0
- package/lib/components/formula/FuncList.js +36 -0
- package/lib/components/formula/FuncList.js.map +13 -0
- package/lib/components/formula/Picker.d.ts +493 -0
- package/lib/components/formula/Picker.js +48 -0
- package/lib/components/formula/Picker.js.map +13 -0
- package/lib/components/formula/VariableList.d.ts +9 -0
- package/lib/components/formula/VariableList.js +15 -0
- package/lib/components/formula/VariableList.js.map +13 -0
- package/lib/components/formula/plugin.d.ts +18 -0
- package/lib/components/formula/plugin.js +136 -0
- package/lib/components/formula/plugin.js.map +13 -0
- package/lib/components/icons.js +4 -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/helper.css +57 -57
- package/lib/helper.css.map +1 -1
- package/lib/icons/star.js +12 -0
- package/lib/icons/tree-down.js +7 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +3 -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/CRUD.js +1 -2
- package/lib/renderers/CRUD.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 +38 -0
- package/lib/renderers/Form/InputFormula.js +25 -0
- package/lib/renderers/Form/InputFormula.js.map +13 -0
- 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/InputRating.d.ts +37 -0
- package/lib/renderers/Form/InputRating.js +6 -2
- package/lib/renderers/Form/InputRating.js.map +2 -2
- package/lib/renderers/Form/InputYearRange.js +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.d.ts +1 -0
- package/lib/renderers/Form/TreeSelect.js +11 -8
- package/lib/renderers/Form/TreeSelect.js.map +2 -2
- package/lib/renderers/Form/index.js +2 -1
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/IFrame.js +0 -2
- package/lib/renderers/IFrame.js.map +2 -2
- package/lib/renderers/Json.js +7 -0
- package/lib/renderers/Json.js.map +2 -2
- package/lib/renderers/Nav.js +4 -1
- package/lib/renderers/Nav.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/TableRow.js +4 -1
- package/lib/renderers/Table/TableRow.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/store/formItem.js +6 -6
- package/lib/store/formItem.js.map +2 -2
- package/lib/store/table.js +1 -1
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +952 -23
- package/lib/themes/ang.css +952 -23
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +987 -23
- package/lib/themes/antd.css +987 -23
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +991 -24
- package/lib/themes/cxd.css +991 -24
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +953 -23
- package/lib/themes/dark.css +953 -23
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +991 -24
- 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/api.js +2 -2
- package/lib/utils/api.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 +12 -3
- package/schema.json +1224 -671
- package/scss/_properties.scss +11 -1
- package/scss/_variables.scss +1 -1
- 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 +146 -0
- package/scss/components/_modal.scss +18 -0
- package/scss/components/_panel.scss +45 -0
- package/scss/components/_popup.scss +127 -0
- package/scss/components/_steps.scss +60 -0
- package/scss/components/_timeline.scss +198 -0
- package/scss/components/form/_color.scss +4 -0
- package/scss/components/form/_date-range.scss +4 -0
- package/scss/components/form/_date.scss +3 -0
- package/scss/components/form/_form.scss +168 -0
- package/scss/components/form/_rating.scss +60 -21
- package/scss/components/form/_result-list.scss +2 -0
- package/scss/components/form/_selection.scss +5 -4
- package/scss/components/form/_tree-select.scss +4 -0
- package/scss/helper/background/_background-color.scss +1 -1
- package/scss/helper/border/_border-color.scss +1 -1
- package/scss/helper/typography/_text-color.scss +1 -1
- package/scss/themes/_antd-variables.scss +42 -0
- package/scss/themes/_common.scss +3 -0
- package/scss/themes/_cxd-variables.scss +50 -1
- package/scss/themes/_dark-variables.scss +1 -0
- package/sdk/ang-ie11.css +1692 -19
- package/sdk/ang.css +1705 -24
- package/sdk/antd-ie11.css +1692 -19
- package/sdk/antd.css +1740 -24
- package/sdk/charts.js +17 -17
- package/sdk/codemirror.js +14 -0
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +3 -3
- package/sdk/cxd-ie11.css +1693 -20
- package/sdk/cxd.css +1744 -25
- package/sdk/dark-ie11.css +1693 -20
- package/sdk/dark.css +1706 -24
- package/sdk/exceljs.js +1 -1
- package/sdk/helper.css +57 -57
- package/sdk/helper.css.map +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 +1693 -20
- package/sdk/sdk.css +1744 -25
- package/sdk/sdk.js +1235 -1275
- 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 +4 -0
- package/src/components/AsideNav.tsx +1 -1
- 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/Card.tsx +2 -2
- package/src/components/ChainedSelection.tsx +16 -3
- package/src/components/CodeMirror.tsx +99 -0
- package/src/components/Collapse.tsx +3 -2
- package/src/components/ColorPicker.tsx +43 -3
- package/src/components/DatePicker.tsx +44 -8
- package/src/components/DateRangePicker.tsx +64 -5
- package/src/components/GroupedSelection.tsx +14 -2
- package/src/components/MonthRangePicker.tsx +59 -5
- 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 +23 -7
- package/src/components/PopUp.tsx +118 -0
- package/src/components/Rating.tsx +235 -47
- 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 +27 -9
- 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 -14
- 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 +266 -0
- package/src/components/formula/FuncList.tsx +84 -0
- package/src/components/formula/Picker.tsx +87 -0
- package/src/components/formula/VariableList.tsx +49 -0
- package/src/components/formula/plugin.ts +177 -0
- package/src/components/icons.tsx +4 -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/star.svg +12 -0
- package/src/icons/tree-down.svg +5 -0
- package/src/index.tsx +2 -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/CRUD.tsx +1 -3
- 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 -2
- package/src/renderers/Form/InputDate.tsx +39 -18
- package/src/renderers/Form/InputDateRange.tsx +1 -0
- package/src/renderers/Form/InputFormula.tsx +80 -0
- package/src/renderers/Form/InputImage.tsx +9 -4
- package/src/renderers/Form/InputMonthRange.tsx +1 -0
- package/src/renderers/Form/InputQuarterRange.tsx +1 -0
- package/src/renderers/Form/InputRating.tsx +66 -3
- package/src/renderers/Form/InputYearRange.tsx +1 -0
- 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 +80 -63
- package/src/renderers/Form/index.tsx +2 -1
- package/src/renderers/IFrame.tsx +0 -2
- package/src/renderers/Json.tsx +5 -0
- package/src/renderers/Nav.tsx +4 -1
- package/src/renderers/Remark.tsx +67 -18
- package/src/renderers/Steps.tsx +13 -13
- package/src/renderers/Table/TableRow.tsx +3 -1
- 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/store/formItem.ts +2 -2
- package/src/store/table.ts +2 -1
- package/src/utils/RootClose.ts +5 -1
- package/src/utils/api.ts +5 -2
- package/src/utils/helper.ts +1 -1
package/lib/components/Rating.js
CHANGED
@@ -8,12 +8,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
exports.Rating = void 0;
|
9
9
|
var tslib_1 = require("tslib");
|
10
10
|
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
11
|
-
var classnames_1 = (0, tslib_1.__importDefault)(require("classnames"));
|
12
11
|
var theme_1 = require("../theme");
|
12
|
+
var helper_1 = require("../utils/helper");
|
13
|
+
var icons_1 = require("./icons");
|
13
14
|
var Rating = /** @class */ (function (_super) {
|
14
15
|
(0, tslib_1.__extends)(Rating, _super);
|
15
16
|
function Rating(props) {
|
16
17
|
var _this = _super.call(this, props) || this;
|
18
|
+
_this.starsNode = {};
|
17
19
|
_this.state = {
|
18
20
|
value: props.value || 0,
|
19
21
|
stars: [],
|
@@ -21,7 +23,10 @@ var Rating = /** @class */ (function (_super) {
|
|
21
23
|
halfStar: {
|
22
24
|
at: Math.floor(props.value),
|
23
25
|
hidden: props.half && props.value % 1 < 0.5
|
24
|
-
}
|
26
|
+
},
|
27
|
+
showColor: '',
|
28
|
+
showText: null,
|
29
|
+
hoverValue: null
|
25
30
|
};
|
26
31
|
_this.getRate = _this.getRate.bind(_this);
|
27
32
|
_this.getStars = _this.getStars.bind(_this);
|
@@ -29,6 +34,8 @@ var Rating = /** @class */ (function (_super) {
|
|
29
34
|
_this.mouseOver = _this.mouseOver.bind(_this);
|
30
35
|
_this.mouseLeave = _this.mouseLeave.bind(_this);
|
31
36
|
_this.handleClick = _this.handleClick.bind(_this);
|
37
|
+
_this.saveRef = _this.saveRef.bind(_this);
|
38
|
+
_this.handleStarMouseLeave = _this.handleStarMouseLeave.bind(_this);
|
32
39
|
return _this;
|
33
40
|
}
|
34
41
|
Rating.prototype.componentDidMount = function () {
|
@@ -36,6 +43,7 @@ var Rating = /** @class */ (function (_super) {
|
|
36
43
|
this.setState({
|
37
44
|
stars: this.getStars(value)
|
38
45
|
});
|
46
|
+
this.getShowColorAndText(value);
|
39
47
|
};
|
40
48
|
Rating.prototype.componentDidUpdate = function (prevProps) {
|
41
49
|
var props = this.props;
|
@@ -50,6 +58,47 @@ var Rating = /** @class */ (function (_super) {
|
|
50
58
|
});
|
51
59
|
}
|
52
60
|
};
|
61
|
+
Rating.prototype.sortKeys = function (map) {
|
62
|
+
return Object.keys(map).sort(function (a, b) { return Number(a) - Number(b); });
|
63
|
+
};
|
64
|
+
Rating.prototype.getShowColorAndText = function (value) {
|
65
|
+
var _a = this.props, colors = _a.colors, texts = _a.texts, half = _a.half;
|
66
|
+
if (!value)
|
67
|
+
return this.setState({
|
68
|
+
showText: null
|
69
|
+
});
|
70
|
+
// 对 value 取整
|
71
|
+
if (half) {
|
72
|
+
value = Math.floor(Number(value) * 2) / 2;
|
73
|
+
}
|
74
|
+
else {
|
75
|
+
value = Math.floor(value);
|
76
|
+
}
|
77
|
+
if (colors && typeof colors !== 'string') {
|
78
|
+
var keys = this.sortKeys(colors);
|
79
|
+
var showKey = keys.filter(function (item) { return Number(item) < value; }).length;
|
80
|
+
var showColor = keys[showKey] !== undefined && colors[keys[showKey]];
|
81
|
+
showColor &&
|
82
|
+
this.setState({
|
83
|
+
showColor: showColor
|
84
|
+
});
|
85
|
+
}
|
86
|
+
else if (colors && typeof colors === 'string') {
|
87
|
+
this.setState({
|
88
|
+
showColor: colors
|
89
|
+
});
|
90
|
+
}
|
91
|
+
if (texts && (0, helper_1.isObject)(texts)) {
|
92
|
+
var keys = this.sortKeys(texts);
|
93
|
+
var showKey = keys.filter(function (item) { return Number(item) < value; }).length;
|
94
|
+
var showText = keys[showKey] !== undefined &&
|
95
|
+
texts[keys[showKey]];
|
96
|
+
showText &&
|
97
|
+
this.setState({
|
98
|
+
showText: showText
|
99
|
+
});
|
100
|
+
}
|
101
|
+
};
|
53
102
|
Rating.prototype.getRate = function () {
|
54
103
|
var stars;
|
55
104
|
var value = this.state.value;
|
@@ -75,16 +124,24 @@ var Rating = /** @class */ (function (_super) {
|
|
75
124
|
}
|
76
125
|
return stars;
|
77
126
|
};
|
78
|
-
Rating.prototype.
|
127
|
+
Rating.prototype.saveRef = function (index) {
|
128
|
+
var _this = this;
|
129
|
+
return function (node) {
|
130
|
+
_this.starsNode[String(index)] = node;
|
131
|
+
};
|
132
|
+
};
|
133
|
+
Rating.prototype.mouseOver = function (event, index) {
|
79
134
|
var isClear = this.state.isClear;
|
80
135
|
if (isClear)
|
81
136
|
return;
|
82
|
-
var _a = this.props, readOnly = _a.readOnly,
|
137
|
+
var _a = this.props, readOnly = _a.readOnly, half = _a.half;
|
83
138
|
if (readOnly)
|
84
139
|
return;
|
85
|
-
var index = Number(event.target.getAttribute('data-index'));
|
86
140
|
if (half) {
|
87
|
-
var isAtHalf = this.moreThanHalf(event,
|
141
|
+
var isAtHalf = this.moreThanHalf(event, index);
|
142
|
+
var tmpValue = isAtHalf ? index + 1 : index + 0.5;
|
143
|
+
this.getShowColorAndText(tmpValue);
|
144
|
+
this.onHoverChange(tmpValue);
|
88
145
|
if (isAtHalf)
|
89
146
|
index = index + 1;
|
90
147
|
this.setState({
|
@@ -96,16 +153,27 @@ var Rating = /** @class */ (function (_super) {
|
|
96
153
|
}
|
97
154
|
else {
|
98
155
|
index = index + 1;
|
156
|
+
this.onHoverChange(index);
|
157
|
+
this.getShowColorAndText(index);
|
99
158
|
}
|
100
159
|
this.setState({
|
101
160
|
stars: this.getStars(index)
|
102
161
|
});
|
103
162
|
};
|
104
|
-
Rating.prototype.
|
105
|
-
var
|
106
|
-
var
|
107
|
-
|
108
|
-
|
163
|
+
Rating.prototype.onHoverChange = function (value) {
|
164
|
+
var onHoverChange = this.props.onHoverChange;
|
165
|
+
var hoverValue = this.state.hoverValue;
|
166
|
+
if (!hoverValue || (hoverValue && hoverValue !== value)) {
|
167
|
+
this.setState({
|
168
|
+
hoverValue: value
|
169
|
+
});
|
170
|
+
onHoverChange && onHoverChange(value);
|
171
|
+
}
|
172
|
+
};
|
173
|
+
Rating.prototype.moreThanHalf = function (event, index) {
|
174
|
+
var star = this.starsNode[index];
|
175
|
+
var leftPos = star.getBoundingClientRect().left;
|
176
|
+
return event.clientX - leftPos > star.clientWidth / 2;
|
109
177
|
};
|
110
178
|
Rating.prototype.mouseLeave = function () {
|
111
179
|
var _a = this.state, value = _a.value, isClear = _a.isClear;
|
@@ -113,7 +181,10 @@ var Rating = /** @class */ (function (_super) {
|
|
113
181
|
if (readOnly)
|
114
182
|
return;
|
115
183
|
if (isClear)
|
116
|
-
return this.setState({
|
184
|
+
return this.setState({
|
185
|
+
isClear: false,
|
186
|
+
hoverValue: null
|
187
|
+
});
|
117
188
|
if (half) {
|
118
189
|
this.setState({
|
119
190
|
halfStar: {
|
@@ -123,17 +194,36 @@ var Rating = /** @class */ (function (_super) {
|
|
123
194
|
});
|
124
195
|
}
|
125
196
|
this.setState({
|
126
|
-
stars: this.getStars()
|
197
|
+
stars: this.getStars(),
|
198
|
+
hoverValue: null
|
127
199
|
});
|
200
|
+
this.getShowColorAndText(value);
|
128
201
|
};
|
129
|
-
Rating.prototype.
|
130
|
-
var
|
202
|
+
Rating.prototype.handleStarMouseLeave = function (event, index) {
|
203
|
+
var star = this.starsNode[index];
|
204
|
+
var leftSideX = star.getBoundingClientRect().left;
|
205
|
+
var isClear = this.state.isClear;
|
206
|
+
if (isClear)
|
207
|
+
return this.setState({ isClear: false });
|
208
|
+
// leave star from left side
|
209
|
+
if (event.clientX <= leftSideX) {
|
210
|
+
this.getShowColorAndText(index);
|
211
|
+
this.setState({
|
212
|
+
stars: this.getStars(index),
|
213
|
+
halfStar: {
|
214
|
+
at: index,
|
215
|
+
hidden: true
|
216
|
+
}
|
217
|
+
});
|
218
|
+
}
|
219
|
+
};
|
220
|
+
Rating.prototype.handleClick = function (event, index) {
|
221
|
+
var _a = this.props, half = _a.half, readOnly = _a.readOnly, onChange = _a.onChange, allowClear = _a.allowClear;
|
131
222
|
if (readOnly)
|
132
223
|
return;
|
133
|
-
var index = Number(event.target.getAttribute('data-index'));
|
134
224
|
var value;
|
135
225
|
if (half) {
|
136
|
-
var isAtHalf = this.moreThanHalf(event,
|
226
|
+
var isAtHalf = this.moreThanHalf(event, index);
|
137
227
|
if (isAtHalf)
|
138
228
|
index = index + 1;
|
139
229
|
value = isAtHalf ? index : index + 0.5;
|
@@ -155,24 +245,45 @@ var Rating = /** @class */ (function (_super) {
|
|
155
245
|
stars: this.getStars(index),
|
156
246
|
isClear: isClear
|
157
247
|
});
|
248
|
+
this.getShowColorAndText(value);
|
158
249
|
onChange && onChange(value);
|
159
250
|
};
|
160
251
|
Rating.prototype.renderStars = function () {
|
161
252
|
var _this = this;
|
162
|
-
var _a = this.state, halfStar = _a.halfStar, stars = _a.stars;
|
163
|
-
var _b = this.props, char = _b.char, half = _b.half, disabled = _b.disabled, readOnly = _b.readOnly, cx = _b.classnames;
|
164
|
-
return stars.map(function (star, i) {
|
165
|
-
var
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
253
|
+
var _a = this.state, halfStar = _a.halfStar, stars = _a.stars, showColor = _a.showColor;
|
254
|
+
var _b = this.props, inactiveColor = _b.inactiveColor, char = _b.char, half = _b.half, disabled = _b.disabled, readOnly = _b.readOnly, charClassName = _b.charClassName, cx = _b.classnames;
|
255
|
+
return (react_1.default.createElement("ul", { onMouseLeave: this.mouseLeave }, stars.map(function (star, i) {
|
256
|
+
var isThisHalf = half && !halfStar.hidden && halfStar.at === i;
|
257
|
+
return (react_1.default.createElement("li", { ref: _this.saveRef(i), className: cx('Rating-star', charClassName, {
|
258
|
+
'is-half': isThisHalf,
|
259
|
+
'is-active': star.active,
|
260
|
+
'is-disabled': readOnly || disabled
|
261
|
+
}), key: i, style: {
|
262
|
+
color: star.active ? showColor : inactiveColor
|
263
|
+
}, onMouseOver: function (e) { return _this.mouseOver(e, i); }, onMouseMove: function (e) { return _this.mouseOver(e, i); }, onClick: function (e) { return _this.handleClick(e, i); }, onMouseLeave: function (e) { return _this.handleStarMouseLeave(e, i); } },
|
264
|
+
isThisHalf && (react_1.default.createElement("div", { className: cx('Rating-star-half'), style: {
|
265
|
+
color: showColor
|
266
|
+
} }, char)),
|
267
|
+
char));
|
268
|
+
})));
|
269
|
+
};
|
270
|
+
Rating.prototype.renderText = function () {
|
271
|
+
var _a;
|
272
|
+
var showText = this.state.showText;
|
273
|
+
var _b = this.props, textClassName = _b.textClassName, textPosition = _b.textPosition, cx = _b.classnames;
|
274
|
+
if (!showText)
|
275
|
+
return null;
|
276
|
+
return (react_1.default.createElement("span", { className: cx('Rating-text', textClassName, (_a = {},
|
277
|
+
_a["Rating-text--" + (textPosition === 'left' ? 'left' : 'right')] = textPosition,
|
278
|
+
_a)) }, showText));
|
172
279
|
};
|
173
280
|
Rating.prototype.render = function () {
|
174
|
-
var
|
175
|
-
return (react_1.default.createElement("div", { className: (
|
281
|
+
var _a = this.props, className = _a.className, textPosition = _a.textPosition, cx = _a.classnames;
|
282
|
+
return (react_1.default.createElement("div", { className: cx('Rating', className) }, textPosition === 'left' ? (react_1.default.createElement(react_1.default.Fragment, null,
|
283
|
+
this.renderText(),
|
284
|
+
this.renderStars())) : (react_1.default.createElement(react_1.default.Fragment, null,
|
285
|
+
this.renderStars(),
|
286
|
+
this.renderText()))));
|
176
287
|
};
|
177
288
|
Rating.defaultProps = {
|
178
289
|
containerClass: 'rating',
|
@@ -181,8 +292,13 @@ var Rating = /** @class */ (function (_super) {
|
|
181
292
|
allowClear: true,
|
182
293
|
value: 0,
|
183
294
|
count: 5,
|
184
|
-
char:
|
185
|
-
|
295
|
+
char: react_1.default.createElement(icons_1.Icon, { icon: "star", className: "icon" }),
|
296
|
+
colors: {
|
297
|
+
'2': '#abadb1',
|
298
|
+
'3': '#787b81',
|
299
|
+
'5': '#ffa900'
|
300
|
+
},
|
301
|
+
textPosition: 'right'
|
186
302
|
};
|
187
303
|
return Rating;
|
188
304
|
}(react_1.default.Component));
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/components/Rating.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";AAAA;;;;GAIG;;;;AAEH,6DAA0B;
|
9
|
+
"mappings": ";AAAA;;;;GAIG;;;;AAEH,6DAA0B;AAE1B,kCAAiD;AAEjD,0CAAyC;AACzC,iCAA6B;AA6B7B;IAA4B,uCAAiC;IAmB3D,gBAAY,KAAkB;QAA9B,YACE,kBAAM,KAAK,CAAC,SAyBb;QAvBC,KAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QAEpB,KAAI,CAAC,KAAK,GAAG;YACX,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC;YACvB,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE;gBACR,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;gBAC3B,MAAM,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,GAAG;aAC5C;YACD,SAAS,EAAE,EAAE;YACb,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;SACjB,CAAC;QAEF,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACvC,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACzC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACjD,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC3C,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC7C,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC/C,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACvC,KAAI,CAAC,oBAAoB,GAAG,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;;IACnE,CAAC;IAED,kCAAiB,GAAjB;QACS,IAAA,KAAK,GAAI,IAAI,CAAC,KAAK,MAAd,CAAe;QAC3B,IAAI,CAAC,QAAQ,CAAC;YACZ,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;SAC5B,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,mCAAkB,GAAlB,UAAmB,SAAsB;QACvC,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAEzB,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,EAAE;YACnC,IAAI,CAAC,QAAQ,CAAC;gBACZ,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;gBACjC,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,QAAQ,EAAE;oBACR,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;oBAC3B,MAAM,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,GAAG;iBAC5C;aACF,CAAC,CAAC;SACJ;IACH,CAAC;IAED,yBAAQ,GAAR,UAAS,GAAiC;QACxC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAC1B,UAAC,CAAkB,EAAE,CAAkB,IAAK,OAAA,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAArB,CAAqB,CAClE,CAAC;IACJ,CAAC;IAED,oCAAmB,GAAnB,UAAoB,KAAa;QACzB,IAAA,KAAwB,IAAI,CAAC,KAAK,EAAjC,MAAM,YAAA,EAAE,KAAK,WAAA,EAAE,IAAI,UAAc,CAAC;QAEzC,IAAI,CAAC,KAAK;YACR,OAAO,IAAI,CAAC,QAAQ,CAAC;gBACnB,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;QAEL,aAAa;QACb,IAAI,IAAI,EAAE;YACR,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;SAC3C;aAAM;YACL,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC3B;QAED,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YACxC,IAAM,IAAI,GAAa,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,EAApB,CAAoB,CAAC,CAAC,MAAM,CAAC;YAEjE,IAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACvE,SAAS;gBACP,IAAI,CAAC,QAAQ,CAAC;oBACZ,SAAS,WAAA;iBACV,CAAC,CAAC;SACN;aAAM,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC/C,IAAI,CAAC,QAAQ,CAAC;gBACZ,SAAS,EAAE,MAAM;aAClB,CAAC,CAAC;SACJ;QAED,IAAI,KAAK,IAAI,IAAA,iBAAQ,EAAC,KAAK,CAAC,EAAE;YAC5B,IAAM,IAAI,GAAa,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,EAApB,CAAoB,CAAC,CAAC,MAAM,CAAC;YACjE,IAAM,QAAQ,GACZ,IAAI,CAAC,OAAO,CAAC,KAAK,SAAS;gBAC3B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAuB,CAAC,CAAC;YAC7C,QAAQ;gBACN,IAAI,CAAC,QAAQ,CAAC;oBACZ,QAAQ,UAAA;iBACT,CAAC,CAAC;SACN;IACH,CAAC;IAED,wBAAO,GAAP;QACE,IAAI,KAAK,CAAC;QACH,IAAA,KAAK,GAAI,IAAI,CAAC,KAAK,MAAd,CAAe;QACpB,IAAA,IAAI,GAAI,IAAI,CAAC,KAAK,KAAd,CAAe;QAC1B,IAAI,IAAI,EAAE;YACR,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC3B;aAAM;YACL,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC3B;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yBAAQ,GAAR,UAAS,WAAoB;QAC3B,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE;YACtC,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;SAC9B;QACD,IAAI,KAAK,GAAG,EAAE,CAAC;QACR,IAAA,KAAK,GAAI,IAAI,CAAC,KAAK,MAAd,CAAe;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC9B,KAAK,CAAC,IAAI,CAAC;gBACT,MAAM,EAAE,CAAC,IAAI,WAAW,GAAG,CAAC;aAC7B,CAAC,CAAC;SACJ;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,wBAAO,GAAP,UAAQ,KAAa;QAArB,iBAIC;QAHC,OAAO,UAAC,IAAqB;YAC3B,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;QACvC,CAAC,CAAC;IACJ,CAAC;IAED,0BAAS,GAAT,UAAU,KAA6B,EAAE,KAAa;QAC7C,IAAA,OAAO,GAAI,IAAI,CAAC,KAAK,QAAd,CAAe;QAC7B,IAAI,OAAO;YAAE,OAAO;QAEd,IAAA,KAAmB,IAAI,CAAC,KAAK,EAA5B,QAAQ,cAAA,EAAE,IAAI,UAAc,CAAC;QAEpC,IAAI,QAAQ;YAAE,OAAO;QAErB,IAAI,IAAI,EAAE;YACR,IAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAEjD,IAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC;YAEpD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAE7B,IAAI,QAAQ;gBAAE,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC;gBACZ,QAAQ,EAAE;oBACR,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,QAAQ;iBACjB;aACF,CAAC,CAAC;SACJ;aAAM;YACL,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;YAClB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;SACjC;QACD,IAAI,CAAC,QAAQ,CAAC;YACZ,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,8BAAa,GAAb,UAAc,KAAa;QAClB,IAAA,aAAa,GAAI,IAAI,CAAC,KAAK,cAAd,CAAe;QAC5B,IAAA,UAAU,GAAI,IAAI,CAAC,KAAK,WAAd,CAAe;QAEhC,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,KAAK,CAAC,EAAE;YACvD,IAAI,CAAC,QAAQ,CAAC;gBACZ,UAAU,EAAE,KAAK;aAClB,CAAC,CAAC;YACH,aAAa,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;SACvC;IACH,CAAC;IAED,6BAAY,GAAZ,UAAa,KAAU,EAAE,KAAa;QACpC,IAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnC,IAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC;QAElD,OAAO,KAAK,CAAC,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACxD,CAAC;IAED,2BAAU,GAAV;QACQ,IAAA,KAAmB,IAAI,CAAC,KAAK,EAA5B,KAAK,WAAA,EAAE,OAAO,aAAc,CAAC;QAC9B,IAAA,KAAmB,IAAI,CAAC,KAAK,EAA5B,IAAI,UAAA,EAAE,QAAQ,cAAc,CAAC;QACpC,IAAI,QAAQ;YAAE,OAAO;QACrB,IAAI,OAAO;YACT,OAAO,IAAI,CAAC,QAAQ,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;QAEL,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,QAAQ,CAAC;gBACZ,QAAQ,EAAE;oBACR,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;oBACrB,MAAM,EAAE,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,gCAAgC;iBACzD;aACF,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,QAAQ,CAAC;YACZ,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;YACtB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,qCAAoB,GAApB,UAAqB,KAAU,EAAE,KAAa;QAC5C,IAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnC,IAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC;QAC7C,IAAA,OAAO,GAAI,IAAI,CAAC,KAAK,QAAd,CAAe;QAE7B,IAAI,OAAO;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC;QAEpD,4BAA4B;QAC5B,IAAI,KAAK,CAAC,OAAO,IAAI,SAAS,EAAE;YAC9B,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC;gBACZ,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC3B,QAAQ,EAAE;oBACR,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;SACJ;IACH,CAAC;IAED,4BAAW,GAAX,UAAY,KAA6B,EAAE,KAAa;QAChD,IAAA,KAAyC,IAAI,CAAC,KAAK,EAAlD,IAAI,UAAA,EAAE,QAAQ,cAAA,EAAE,QAAQ,cAAA,EAAE,UAAU,gBAAc,CAAC;QAC1D,IAAI,QAAQ;YAAE,OAAO;QAErB,IAAI,KAAK,CAAC;QACV,IAAI,IAAI,EAAE;YACR,IAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACjD,IAAI,QAAQ;gBAAE,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;YAChC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC;YACvC,IAAI,CAAC,QAAQ,CAAC;gBACZ,QAAQ,EAAE;oBACR,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,QAAQ;iBACjB;aACF,CAAC,CAAC;SACJ;aAAM;YACL,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;SAC3B;QAED,IAAM,OAAO,GAAG,UAAU,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QACzD,IAAI,OAAO;YAAE,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC;YACZ,KAAK,OAAA;YACL,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC3B,OAAO,SAAA;SACR,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAEhC,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,4BAAW,GAAX;QAAA,iBAkDC;QAjDO,IAAA,KAA+B,IAAI,CAAC,KAAK,EAAxC,QAAQ,cAAA,EAAE,KAAK,WAAA,EAAE,SAAS,eAAc,CAAC;QAC1C,IAAA,KAQF,IAAI,CAAC,KAAK,EAPZ,aAAa,mBAAA,EACb,IAAI,UAAA,EACJ,IAAI,UAAA,EACJ,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,aAAa,mBAAA,EACD,EAAE,gBACF,CAAC;QAEf,OAAO,CACL,sCAAI,YAAY,EAAE,IAAI,CAAC,UAAU,IAC9B,KAAK,CAAC,GAAG,CAAC,UAAC,IAAS,EAAE,CAAS;YAC9B,IAAM,UAAU,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;YAEjE,OAAO,CACL,sCACE,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EACpB,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE;oBAC1C,SAAS,EAAE,UAAU;oBACrB,WAAW,EAAE,IAAI,CAAC,MAAM;oBACxB,aAAa,EAAE,QAAQ,IAAI,QAAQ;iBACpC,CAAC,EACF,GAAG,EAAE,CAAC,EACN,KAAK,EAAE;oBACL,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa;iBAC/C,EACD,WAAW,EAAE,UAAA,CAAC,IAAI,OAAA,KAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAApB,CAAoB,EACtC,WAAW,EAAE,UAAA,CAAC,IAAI,OAAA,KAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAApB,CAAoB,EACtC,OAAO,EAAE,UAAA,CAAC,IAAI,OAAA,KAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAAtB,CAAsB,EACpC,YAAY,EAAE,UAAA,CAAC,IAAI,OAAA,KAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,EAA/B,CAA+B;gBAEjD,UAAU,IAAI,CACb,uCACE,SAAS,EAAE,EAAE,CAAC,kBAAkB,CAAC,EACjC,KAAK,EAAE;wBACL,KAAK,EAAE,SAAS;qBACjB,IAEA,IAAI,CACD,CACP;gBACA,IAAI,CACF,CACN,CAAC;QACJ,CAAC,CAAC,CACC,CACN,CAAC;IACJ,CAAC;IAED,2BAAU,GAAV;;QACS,IAAA,QAAQ,GAAI,IAAI,CAAC,KAAK,SAAd,CAAe;QACxB,IAAA,KAAgD,IAAI,CAAC,KAAK,EAAzD,aAAa,mBAAA,EAAE,YAAY,kBAAA,EAAc,EAAE,gBAAc,CAAC;QAEjE,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE3B,OAAO,CACL,wCACE,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,aAAa;gBACxC,GAAC,mBAAgB,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAE,IAC3D,YAAY;oBACd,IAED,QAAQ,CACJ,CACR,CAAC;IACJ,CAAC;IAED,uBAAM,GAAN;QACQ,IAAA,KAA4C,IAAI,CAAC,KAAK,EAArD,SAAS,eAAA,EAAE,YAAY,kBAAA,EAAc,EAAE,gBAAc,CAAC;QAE7D,OAAO,CACL,uCAAK,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,IACpC,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,CACzB;YACG,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,WAAW,EAAE,CAClB,CACJ,CAAC,CAAC,CAAC,CACF;YACG,IAAI,CAAC,WAAW,EAAE;YAClB,IAAI,CAAC,UAAU,EAAE,CACjB,CACJ,CACG,CACP,CAAC;IACJ,CAAC;IAhXM,mBAAY,GAAG;QACpB,cAAc,EAAE,QAAQ;QACxB,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,8BAAC,YAAI,IAAC,IAAI,EAAC,MAAM,EAAC,SAAS,EAAC,MAAM,GAAG;QAC3C,MAAM,EAAE;YACN,GAAG,EAAE,SAAS;YACd,GAAG,EAAE,SAAS;YACd,GAAG,EAAE,SAAS;SACf;QACD,YAAY,EAAE,OAA2B;KAC1C,CAAC;IAmWJ,aAAC;CAAA,AAlXD,CAA4B,eAAK,CAAC,SAAS,GAkX1C;AAlXY,wBAAM;AAoXnB,kBAAe,IAAA,iBAAS,EAAC,MAAM,CAAC,CAAC",
|
10
10
|
"sourcesContent": [
|
11
|
-
"/**\n * @file Rating\n * @description\n * @author fex\n */\n\nimport React from 'react';\nimport cx from 'classnames';\nimport {ClassNamesFn, themeable} from '../theme';\n\ninterface RatingProps {\n id?: string;\n key?: string | number;\n style?: React.CSSProperties;\n count: number;\n half: boolean;\n char: string;\n size: number;\n className?: string;\n onChange?: (value: any) => void;\n value: number;\n containerClass: string;\n readOnly: boolean;\n classPrefix: string;\n disabled?: boolean;\n allowClear?: boolean;\n classnames: ClassNamesFn;\n}\n\nexport class Rating extends React.Component<RatingProps, any> {\n static defaultProps = {\n containerClass: 'rating',\n readOnly: false,\n half: true,\n allowClear: true,\n value: 0,\n count: 5,\n char: '★',\n size: 24\n };\n\n constructor(props: RatingProps) {\n super(props);\n\n this.state = {\n value: props.value || 0,\n stars: [],\n isClear: false,\n halfStar: {\n at: Math.floor(props.value),\n hidden: props.half && props.value % 1 < 0.5\n }\n };\n\n this.getRate = this.getRate.bind(this);\n this.getStars = this.getStars.bind(this);\n this.moreThanHalf = this.moreThanHalf.bind(this);\n this.mouseOver = this.mouseOver.bind(this);\n this.mouseLeave = this.mouseLeave.bind(this);\n this.handleClick = this.handleClick.bind(this);\n }\n\n componentDidMount() {\n const {value} = this.state;\n this.setState({\n stars: this.getStars(value)\n });\n }\n\n componentDidUpdate(prevProps: RatingProps) {\n const props = this.props;\n\n if (props.value !== prevProps.value) {\n this.setState({\n stars: this.getStars(props.value),\n value: props.value,\n halfStar: {\n at: Math.floor(props.value),\n hidden: props.half && props.value % 1 < 0.5\n }\n });\n }\n }\n\n getRate() {\n let stars;\n const {value} = this.state;\n const {half} = this.props;\n if (half) {\n stars = Math.floor(value);\n } else {\n stars = Math.round(value);\n }\n return stars;\n }\n\n getStars(activeCount?: number) {\n if (typeof activeCount === 'undefined') {\n activeCount = this.getRate();\n }\n let stars = [];\n const {count} = this.props;\n for (let i = 0; i < count; i++) {\n stars.push({\n active: i <= activeCount - 1\n });\n }\n return stars;\n }\n\n mouseOver(event: React.ChangeEvent<any>) {\n const {isClear} = this.state;\n if (isClear) return;\n let {readOnly, size, half} = this.props;\n if (readOnly) return;\n let index = Number(event.target.getAttribute('data-index'));\n if (half) {\n const isAtHalf = this.moreThanHalf(event, size);\n if (isAtHalf) index = index + 1;\n this.setState({\n halfStar: {\n at: index,\n hidden: isAtHalf\n }\n });\n } else {\n index = index + 1;\n }\n this.setState({\n stars: this.getStars(index)\n });\n }\n\n moreThanHalf(event: any, size: number) {\n let {target} = event;\n let mouseAt = event.clientX - target.getBoundingClientRect().left;\n mouseAt = Math.round(Math.abs(mouseAt));\n return mouseAt > size / 2;\n }\n\n mouseLeave() {\n const {value, isClear} = this.state;\n const {half, readOnly} = this.props;\n if (readOnly) return;\n if (isClear) return this.setState({isClear: false});\n if (half) {\n this.setState({\n halfStar: {\n at: Math.floor(value),\n hidden: value % 1 === 0 // check value is decimal or not\n }\n });\n }\n this.setState({\n stars: this.getStars()\n });\n }\n\n handleClick(event: React.ChangeEvent<any>) {\n const {half, readOnly, onChange, size, allowClear} = this.props;\n if (readOnly) return;\n let index = Number(event.target.getAttribute('data-index'));\n\n let value;\n if (half) {\n const isAtHalf = this.moreThanHalf(event, size);\n if (isAtHalf) index = index + 1;\n value = isAtHalf ? index : index + 0.5;\n this.setState({\n halfStar: {\n at: index,\n hidden: isAtHalf\n }\n });\n } else {\n value = index = index + 1;\n }\n\n const isClear = allowClear && value === this.state.value;\n if (isClear) value = index = 0;\n this.setState({\n value,\n stars: this.getStars(index),\n isClear\n });\n onChange && onChange(value);\n }\n\n renderStars() {\n const {halfStar, stars} = this.state;\n const {char, half, disabled, readOnly, classnames: cx} = this.props;\n return stars.map((star: any, i: number) => {\n let className = cx('Rating', {\n 'Rating-half': half && !halfStar.hidden && halfStar.at === i,\n 'is-active': star.active,\n 'is-disabled': readOnly || disabled\n });\n\n return (\n <span\n className={className}\n key={i}\n data-index={i}\n data-forhalf={char}\n onMouseOver={this.mouseOver}\n onMouseMove={this.mouseOver}\n onMouseLeave={this.mouseLeave}\n onClick={this.handleClick}\n >\n {char}\n </span>\n );\n });\n }\n\n render() {\n let {className} = this.props;\n\n return (\n <div className={cx(className ? className : '')}>{this.renderStars()}</div>\n );\n }\n}\n\nexport default themeable(Rating);\n"
|
11
|
+
"/**\n * @file Rating\n * @description\n * @author fex\n */\n\nimport React from 'react';\nimport cx from 'classnames';\nimport {ClassNamesFn, themeable} from '../theme';\n\nimport {isObject} from '../utils/helper';\nimport {Icon} from './icons';\n\nexport type textPositionType = 'left' | 'right';\n\ninterface RatingProps {\n id?: string;\n key?: string | number;\n style?: React.CSSProperties;\n count: number;\n half: boolean;\n char: string | React.ReactNode;\n className?: string;\n charClassName?: string;\n textClassName?: string;\n onChange?: (value: number) => void;\n onHoverChange?: (value: number) => void;\n value: number;\n containerClass?: string;\n readOnly: boolean;\n classPrefix: string;\n disabled?: boolean;\n allowClear?: boolean;\n inactiveColor?: string;\n colors?: string | {[propName: string]: string};\n texts?: {[propName: string]: string};\n textPosition?: textPositionType;\n classnames: ClassNamesFn;\n}\n\nexport class Rating extends React.Component<RatingProps, any> {\n static defaultProps = {\n containerClass: 'rating',\n readOnly: false,\n half: true,\n allowClear: true,\n value: 0,\n count: 5,\n char: <Icon icon=\"star\" className=\"icon\" />,\n colors: {\n '2': '#abadb1',\n '3': '#787b81',\n '5': '#ffa900'\n },\n textPosition: 'right' as textPositionType\n };\n\n starsNode: Record<string, any>;\n\n constructor(props: RatingProps) {\n super(props);\n\n this.starsNode = {};\n\n this.state = {\n value: props.value || 0,\n stars: [],\n isClear: false,\n halfStar: {\n at: Math.floor(props.value),\n hidden: props.half && props.value % 1 < 0.5\n },\n showColor: '',\n showText: null,\n hoverValue: null\n };\n\n this.getRate = this.getRate.bind(this);\n this.getStars = this.getStars.bind(this);\n this.moreThanHalf = this.moreThanHalf.bind(this);\n this.mouseOver = this.mouseOver.bind(this);\n this.mouseLeave = this.mouseLeave.bind(this);\n this.handleClick = this.handleClick.bind(this);\n this.saveRef = this.saveRef.bind(this);\n this.handleStarMouseLeave = this.handleStarMouseLeave.bind(this);\n }\n\n componentDidMount() {\n const {value} = this.state;\n this.setState({\n stars: this.getStars(value)\n });\n\n this.getShowColorAndText(value);\n }\n\n componentDidUpdate(prevProps: RatingProps) {\n const props = this.props;\n\n if (props.value !== prevProps.value) {\n this.setState({\n stars: this.getStars(props.value),\n value: props.value,\n halfStar: {\n at: Math.floor(props.value),\n hidden: props.half && props.value % 1 < 0.5\n }\n });\n }\n }\n\n sortKeys(map: {[propName: number]: string}) {\n return Object.keys(map).sort(\n (a: number | string, b: number | string) => Number(a) - Number(b)\n );\n }\n\n getShowColorAndText(value: number) {\n const {colors, texts, half} = this.props;\n\n if (!value)\n return this.setState({\n showText: null\n });\n\n // 对 value 取整\n if (half) {\n value = Math.floor(Number(value) * 2) / 2;\n } else {\n value = Math.floor(value);\n }\n\n if (colors && typeof colors !== 'string') {\n const keys: string[] = this.sortKeys(colors);\n const showKey = keys.filter(item => Number(item) < value).length;\n\n const showColor = keys[showKey] !== undefined && colors[keys[showKey]];\n showColor &&\n this.setState({\n showColor\n });\n } else if (colors && typeof colors === 'string') {\n this.setState({\n showColor: colors\n });\n }\n\n if (texts && isObject(texts)) {\n const keys: string[] = this.sortKeys(texts);\n const showKey = keys.filter(item => Number(item) < value).length;\n const showText =\n keys[showKey] !== undefined &&\n texts[keys[showKey] as keyof typeof texts];\n showText &&\n this.setState({\n showText\n });\n }\n }\n\n getRate() {\n let stars;\n const {value} = this.state;\n const {half} = this.props;\n if (half) {\n stars = Math.floor(value);\n } else {\n stars = Math.round(value);\n }\n return stars;\n }\n\n getStars(activeCount?: number) {\n if (typeof activeCount === 'undefined') {\n activeCount = this.getRate();\n }\n let stars = [];\n const {count} = this.props;\n for (let i = 0; i < count; i++) {\n stars.push({\n active: i <= activeCount - 1\n });\n }\n return stars;\n }\n\n saveRef(index: number) {\n return (node: React.ReactNode) => {\n this.starsNode[String(index)] = node;\n };\n }\n\n mouseOver(event: React.ChangeEvent<any>, index: number) {\n const {isClear} = this.state;\n if (isClear) return;\n\n const {readOnly, half} = this.props;\n\n if (readOnly) return;\n\n if (half) {\n const isAtHalf = this.moreThanHalf(event, index);\n\n const tmpValue = isAtHalf ? index + 1 : index + 0.5;\n\n this.getShowColorAndText(tmpValue);\n this.onHoverChange(tmpValue);\n\n if (isAtHalf) index = index + 1;\n this.setState({\n halfStar: {\n at: index,\n hidden: isAtHalf\n }\n });\n } else {\n index = index + 1;\n this.onHoverChange(index);\n this.getShowColorAndText(index);\n }\n this.setState({\n stars: this.getStars(index)\n });\n }\n\n onHoverChange(value: number) {\n const {onHoverChange} = this.props;\n const {hoverValue} = this.state;\n\n if (!hoverValue || (hoverValue && hoverValue !== value)) {\n this.setState({\n hoverValue: value\n });\n onHoverChange && onHoverChange(value);\n }\n }\n\n moreThanHalf(event: any, index: number) {\n const star = this.starsNode[index];\n const leftPos = star.getBoundingClientRect().left;\n\n return event.clientX - leftPos > star.clientWidth / 2;\n }\n\n mouseLeave() {\n const {value, isClear} = this.state;\n const {half, readOnly} = this.props;\n if (readOnly) return;\n if (isClear)\n return this.setState({\n isClear: false,\n hoverValue: null\n });\n\n if (half) {\n this.setState({\n halfStar: {\n at: Math.floor(value),\n hidden: value % 1 === 0 // check value is decimal or not\n }\n });\n }\n this.setState({\n stars: this.getStars(),\n hoverValue: null\n });\n this.getShowColorAndText(value);\n }\n\n handleStarMouseLeave(event: any, index: number) {\n const star = this.starsNode[index];\n const leftSideX = star.getBoundingClientRect().left;\n const {isClear} = this.state;\n\n if (isClear) return this.setState({isClear: false});\n\n // leave star from left side\n if (event.clientX <= leftSideX) {\n this.getShowColorAndText(index);\n this.setState({\n stars: this.getStars(index),\n halfStar: {\n at: index,\n hidden: true\n }\n });\n }\n }\n\n handleClick(event: React.ChangeEvent<any>, index: number) {\n const {half, readOnly, onChange, allowClear} = this.props;\n if (readOnly) return;\n\n let value;\n if (half) {\n const isAtHalf = this.moreThanHalf(event, index);\n if (isAtHalf) index = index + 1;\n value = isAtHalf ? index : index + 0.5;\n this.setState({\n halfStar: {\n at: index,\n hidden: isAtHalf\n }\n });\n } else {\n value = index = index + 1;\n }\n\n const isClear = allowClear && value === this.state.value;\n if (isClear) value = index = 0;\n this.setState({\n value,\n stars: this.getStars(index),\n isClear\n });\n\n this.getShowColorAndText(value);\n\n onChange && onChange(value);\n }\n\n renderStars() {\n const {halfStar, stars, showColor} = this.state;\n const {\n inactiveColor,\n char,\n half,\n disabled,\n readOnly,\n charClassName,\n classnames: cx\n } = this.props;\n\n return (\n <ul onMouseLeave={this.mouseLeave}>\n {stars.map((star: any, i: number) => {\n const isThisHalf = half && !halfStar.hidden && halfStar.at === i;\n\n return (\n <li\n ref={this.saveRef(i)}\n className={cx('Rating-star', charClassName, {\n 'is-half': isThisHalf,\n 'is-active': star.active,\n 'is-disabled': readOnly || disabled\n })}\n key={i}\n style={{\n color: star.active ? showColor : inactiveColor\n }}\n onMouseOver={e => this.mouseOver(e, i)}\n onMouseMove={e => this.mouseOver(e, i)}\n onClick={e => this.handleClick(e, i)}\n onMouseLeave={e => this.handleStarMouseLeave(e, i)}\n >\n {isThisHalf && (\n <div\n className={cx('Rating-star-half')}\n style={{\n color: showColor\n }}\n >\n {char}\n </div>\n )}\n {char}\n </li>\n );\n })}\n </ul>\n );\n }\n\n renderText() {\n const {showText} = this.state;\n const {textClassName, textPosition, classnames: cx} = this.props;\n\n if (!showText) return null;\n\n return (\n <span\n className={cx('Rating-text', textClassName, {\n [`Rating-text--${textPosition === 'left' ? 'left' : 'right'}`]:\n textPosition\n })}\n >\n {showText}\n </span>\n );\n }\n\n render() {\n const {className, textPosition, classnames: cx} = this.props;\n\n return (\n <div className={cx('Rating', className)}>\n {textPosition === 'left' ? (\n <>\n {this.renderText()}\n {this.renderStars()}\n </>\n ) : (\n <>\n {this.renderStars()}\n {this.renderText()}\n </>\n )}\n </div>\n );\n }\n}\n\nexport default themeable(Rating);\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -9,6 +9,7 @@ var icons_1 = require("./icons");
|
|
9
9
|
var Input_1 = (0, tslib_1.__importDefault)(require("./Input"));
|
10
10
|
var helper_1 = require("../utils/helper");
|
11
11
|
var locale_1 = require("../locale");
|
12
|
+
var isPlainObject = require("lodash/isPlainObject");
|
12
13
|
var ResultBox = /** @class */ (function (_super) {
|
13
14
|
(0, tslib_1.__extends)(ResultBox, _super);
|
14
15
|
function ResultBox() {
|
@@ -75,7 +76,7 @@ var ResultBox = /** @class */ (function (_super) {
|
|
75
76
|
Array.isArray(result) && result.length ? (result.map(function (item, index) { return (react_1.default.createElement("div", { className: cx('ResultBox-value'), key: index },
|
76
77
|
react_1.default.createElement("span", { className: cx('ResultBox-valueLabel') }, itemRender(item)),
|
77
78
|
!disabled ? (react_1.default.createElement("a", { "data-index": index, onClick: _this.removeItem },
|
78
|
-
react_1.default.createElement(icons_1.Icon, { icon: "close", className: "icon" }))) : null)); })) : result && !Array.isArray(result) ? (react_1.default.createElement("span", { className: cx('ResultBox-singleValue') }, result)) : allowInput && !disabled ? null : (react_1.default.createElement("span", { className: cx('ResultBox-placeholder') }, __(placeholder || 'placeholder.noData'))),
|
79
|
+
react_1.default.createElement(icons_1.Icon, { icon: "close", className: "icon" }))) : null)); })) : result && !Array.isArray(result) ? (react_1.default.createElement("span", { className: cx('ResultBox-singleValue') }, isPlainObject(result) ? itemRender(result) : result)) : allowInput && !disabled ? null : (react_1.default.createElement("span", { className: cx('ResultBox-placeholder') }, __(placeholder || 'placeholder.noData'))),
|
79
80
|
allowInput && !disabled ? (react_1.default.createElement(Input_1.default, (0, tslib_1.__assign)({}, rest, { onKeyPress: onKeyPress, ref: this.inputRef, value: value || '', onChange: this.handleChange, placeholder: __(Array.isArray(result) && result.length
|
80
81
|
? inputPlaceholder
|
81
82
|
: placeholder), onFocus: this.handleFocus, onBlur: this.handleBlur }))) : null,
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/components/ResultBox.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,kCAA+C;AAC/C,6DAA0B;AAE1B,iDAA8C;AAC9C,iCAA6B;AAC7B,+DAA4B;AAC5B,0CAAkD;AAClD,oCAAkD;
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import {ThemeProps, themeable} from '../theme';\nimport React from 'react';\nimport {InputBoxProps} from './InputBox';\nimport {uncontrollable} from 'uncontrollable';\nimport {Icon} from './icons';\nimport Input from './Input';\nimport {autobind, ucFirst} from '../utils/helper';\nimport {LocaleProps, localeable} from '../locale';\n\nexport interface ResultBoxProps\n extends ThemeProps,\n LocaleProps,\n Omit<InputBoxProps, 'result' | 'prefix' | 'onChange' | 'translate'> {\n onChange?: (value: string) => void;\n onResultClick?: (e: React.MouseEvent<HTMLElement>) => void;\n result?: Array<any> | any;\n itemRender: (value: any) => JSX.Element | string;\n onResultChange?: (value: Array<any>) => void;\n allowInput?: boolean;\n inputPlaceholder: string;\n}\n\nexport class ResultBox extends React.Component<ResultBoxProps> {\n static defaultProps: Pick<\n ResultBoxProps,\n 'clearable' | 'placeholder' | 'itemRender' | 'inputPlaceholder'\n > = {\n clearable: false,\n placeholder: 'placeholder.noData',\n inputPlaceholder: 'placeholder.enter',\n itemRender: (option: any) => (\n <span>{`${option.scopeLabel || ''}${option.label}`}</span>\n )\n };\n\n state = {\n isFocused: false\n };\n\n inputRef: React.RefObject<any> = React.createRef();\n\n focus() {\n this.inputRef.current?.focus();\n }\n\n blur() {\n this.inputRef.current?.blur();\n }\n\n @autobind\n clearValue(e: React.MouseEvent<any>) {\n e.preventDefault();\n const onResultChange = this.props.onResultChange;\n onResultChange && onResultChange([]);\n }\n\n @autobind\n handleFocus(e: any) {\n const onFocus = this.props.onFocus;\n onFocus && onFocus(e);\n this.setState({\n isFocused: true\n });\n }\n\n @autobind\n handleBlur(e: any) {\n const onBlur = this.props.onBlur;\n onBlur && onBlur(e);\n this.setState({\n isFocused: false\n });\n }\n\n @autobind\n removeItem(e: React.MouseEvent<HTMLElement>) {\n e.stopPropagation();\n e.preventDefault();\n\n const {result, onResultChange} = this.props;\n const index = parseInt(e.currentTarget.getAttribute('data-index')!, 10);\n const newResult = Array.isArray(result) ? result.concat() : [];\n newResult.splice(index, 1);\n onResultChange && onResultChange(newResult);\n }\n\n @autobind\n handleChange(e: React.ChangeEvent<HTMLInputElement>) {\n const {onChange} = this.props;\n onChange?.(e.currentTarget.value);\n }\n\n render() {\n const {\n className,\n classnames: cx,\n classPrefix,\n clearable,\n disabled,\n hasError,\n result,\n value,\n placeholder,\n children,\n itemRender,\n allowInput,\n inputPlaceholder,\n onResultChange,\n onChange,\n onResultClick,\n translate: __,\n locale,\n onKeyPress,\n onFocus,\n onBlur,\n borderMode,\n ...rest\n } = this.props;\n const isFocused = this.state.isFocused;\n\n return (\n <div\n className={cx('ResultBox', className, {\n 'is-focused': isFocused,\n 'is-disabled': disabled,\n 'is-error': hasError,\n 'is-clickable': onResultClick,\n [`ResultBox--border${ucFirst(borderMode)}`]: borderMode\n })}\n onClick={onResultClick}\n tabIndex={!allowInput && !disabled && onFocus ? 0 : -1}\n onKeyPress={allowInput ? undefined : onKeyPress}\n onFocus={allowInput ? undefined : onFocus}\n onBlur={allowInput ? undefined : onBlur}\n >\n {Array.isArray(result) && result.length ? (\n result.map((item, index) => (\n <div className={cx('ResultBox-value')} key={index}>\n <span className={cx('ResultBox-valueLabel')}>\n {itemRender(item)}\n </span>\n {!disabled ? (\n <a data-index={index} onClick={this.removeItem}>\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n ) : null}\n </div>\n ))\n ) : result && !Array.isArray(result) ? (\n <span className={cx('ResultBox-singleValue')}
|
11
|
+
"import {ThemeProps, themeable} from '../theme';\nimport React from 'react';\nimport {InputBoxProps} from './InputBox';\nimport {uncontrollable} from 'uncontrollable';\nimport {Icon} from './icons';\nimport Input from './Input';\nimport {autobind, ucFirst} from '../utils/helper';\nimport {LocaleProps, localeable} from '../locale';\nimport isPlainObject = require('lodash/isPlainObject');\n\nexport interface ResultBoxProps\n extends ThemeProps,\n LocaleProps,\n Omit<InputBoxProps, 'result' | 'prefix' | 'onChange' | 'translate'> {\n onChange?: (value: string) => void;\n onResultClick?: (e: React.MouseEvent<HTMLElement>) => void;\n result?: Array<any> | any;\n itemRender: (value: any) => JSX.Element | string;\n onResultChange?: (value: Array<any>) => void;\n allowInput?: boolean;\n inputPlaceholder: string;\n}\n\nexport class ResultBox extends React.Component<ResultBoxProps> {\n static defaultProps: Pick<\n ResultBoxProps,\n 'clearable' | 'placeholder' | 'itemRender' | 'inputPlaceholder'\n > = {\n clearable: false,\n placeholder: 'placeholder.noData',\n inputPlaceholder: 'placeholder.enter',\n itemRender: (option: any) => (\n <span>{`${option.scopeLabel || ''}${option.label}`}</span>\n )\n };\n\n state = {\n isFocused: false\n };\n\n inputRef: React.RefObject<any> = React.createRef();\n\n focus() {\n this.inputRef.current?.focus();\n }\n\n blur() {\n this.inputRef.current?.blur();\n }\n\n @autobind\n clearValue(e: React.MouseEvent<any>) {\n e.preventDefault();\n const onResultChange = this.props.onResultChange;\n onResultChange && onResultChange([]);\n }\n\n @autobind\n handleFocus(e: any) {\n const onFocus = this.props.onFocus;\n onFocus && onFocus(e);\n this.setState({\n isFocused: true\n });\n }\n\n @autobind\n handleBlur(e: any) {\n const onBlur = this.props.onBlur;\n onBlur && onBlur(e);\n this.setState({\n isFocused: false\n });\n }\n\n @autobind\n removeItem(e: React.MouseEvent<HTMLElement>) {\n e.stopPropagation();\n e.preventDefault();\n\n const {result, onResultChange} = this.props;\n const index = parseInt(e.currentTarget.getAttribute('data-index')!, 10);\n const newResult = Array.isArray(result) ? result.concat() : [];\n newResult.splice(index, 1);\n onResultChange && onResultChange(newResult);\n }\n\n @autobind\n handleChange(e: React.ChangeEvent<HTMLInputElement>) {\n const {onChange} = this.props;\n onChange?.(e.currentTarget.value);\n }\n\n render() {\n const {\n className,\n classnames: cx,\n classPrefix,\n clearable,\n disabled,\n hasError,\n result,\n value,\n placeholder,\n children,\n itemRender,\n allowInput,\n inputPlaceholder,\n onResultChange,\n onChange,\n onResultClick,\n translate: __,\n locale,\n onKeyPress,\n onFocus,\n onBlur,\n borderMode,\n ...rest\n } = this.props;\n const isFocused = this.state.isFocused;\n\n return (\n <div\n className={cx('ResultBox', className, {\n 'is-focused': isFocused,\n 'is-disabled': disabled,\n 'is-error': hasError,\n 'is-clickable': onResultClick,\n [`ResultBox--border${ucFirst(borderMode)}`]: borderMode\n })}\n onClick={onResultClick}\n tabIndex={!allowInput && !disabled && onFocus ? 0 : -1}\n onKeyPress={allowInput ? undefined : onKeyPress}\n onFocus={allowInput ? undefined : onFocus}\n onBlur={allowInput ? undefined : onBlur}\n >\n {Array.isArray(result) && result.length ? (\n result.map((item, index) => (\n <div className={cx('ResultBox-value')} key={index}>\n <span className={cx('ResultBox-valueLabel')}>\n {itemRender(item)}\n </span>\n {!disabled ? (\n <a data-index={index} onClick={this.removeItem}>\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n ) : null}\n </div>\n ))\n ) : result && !Array.isArray(result) ? (\n <span className={cx('ResultBox-singleValue')}>\n {isPlainObject(result) ? itemRender(result) : result}\n </span>\n ) : allowInput && !disabled ? null : (\n <span className={cx('ResultBox-placeholder')}>\n {__(placeholder || 'placeholder.noData')}\n </span>\n )}\n\n {allowInput && !disabled ? (\n <Input\n {...rest}\n onKeyPress={onKeyPress}\n ref={this.inputRef}\n value={value || ''}\n onChange={this.handleChange}\n placeholder={__(\n Array.isArray(result) && result.length\n ? inputPlaceholder\n : placeholder\n )}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n />\n ) : null}\n\n {children}\n\n {clearable &&\n !disabled &&\n (Array.isArray(result) ? result.length : result) ? (\n <a onClick={this.clearValue} className={cx('ResultBox-clear')}>\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n ) : null}\n </div>\n );\n }\n}\n\nexport default themeable(\n localeable(\n uncontrollable(ResultBox, {\n value: 'onChange',\n result: 'onResultChange'\n })\n )\n);\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -10,15 +10,21 @@ import { LocaleProps } from '../locale';
|
|
10
10
|
export interface ResultListProps extends ThemeProps, LocaleProps {
|
11
11
|
className?: string;
|
12
12
|
value?: Array<Option>;
|
13
|
-
onChange?: (value: Array<Option
|
13
|
+
onChange?: (value: Array<Option>, optionModified?: boolean) => void;
|
14
14
|
sortable?: boolean;
|
15
15
|
disabled?: boolean;
|
16
16
|
title?: string;
|
17
17
|
placeholder: string;
|
18
|
-
itemRender: (option: Option) => JSX.Element;
|
18
|
+
itemRender: (option: Option, states: ItemRenderStates) => JSX.Element;
|
19
19
|
itemClassName?: string;
|
20
20
|
}
|
21
|
+
export interface ItemRenderStates {
|
22
|
+
index: number;
|
23
|
+
disabled?: boolean;
|
24
|
+
onChange: (value: any, name: string) => void;
|
25
|
+
}
|
21
26
|
export declare class ResultList extends React.Component<ResultListProps> {
|
27
|
+
static itemRender(option: any): JSX.Element;
|
22
28
|
static defaultProps: Pick<ResultListProps, 'placeholder' | 'itemRender'>;
|
23
29
|
id: string;
|
24
30
|
sortable?: Sortable;
|
@@ -28,6 +34,7 @@ export declare class ResultList extends React.Component<ResultListProps> {
|
|
28
34
|
handleRemove(e: React.MouseEvent<HTMLElement>): void;
|
29
35
|
initSortable(): void;
|
30
36
|
desposeSortable(): void;
|
37
|
+
handleValueChange(index: number, value: any, name: string): void;
|
31
38
|
render(): JSX.Element;
|
32
39
|
}
|
33
40
|
declare const _default: {
|
@@ -19,6 +19,9 @@ var ResultList = /** @class */ (function (_super) {
|
|
19
19
|
_this.id = (0, helper_1.guid)();
|
20
20
|
return _this;
|
21
21
|
}
|
22
|
+
ResultList.itemRender = function (option) {
|
23
|
+
return react_1.default.createElement("span", null, "" + (option.scopeLabel || '') + option.label);
|
24
|
+
};
|
22
25
|
ResultList.prototype.componentDidMount = function () {
|
23
26
|
this.props.sortable && this.initSortable();
|
24
27
|
};
|
@@ -89,6 +92,19 @@ var ResultList = /** @class */ (function (_super) {
|
|
89
92
|
(_a = this.sortable) === null || _a === void 0 ? void 0 : _a.destroy();
|
90
93
|
delete this.sortable;
|
91
94
|
};
|
95
|
+
ResultList.prototype.handleValueChange = function (index, value, name) {
|
96
|
+
var _a;
|
97
|
+
if (typeof name !== 'string') {
|
98
|
+
return;
|
99
|
+
}
|
100
|
+
var _b = this.props, list = _b.value, onChange = _b.onChange;
|
101
|
+
var result = Array.isArray(list) ? list.concat() : [];
|
102
|
+
if (!result[index]) {
|
103
|
+
return;
|
104
|
+
}
|
105
|
+
result.splice(index, 1, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, result[index]), (_a = {}, _a[name] = value, _a)));
|
106
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(result, true);
|
107
|
+
};
|
92
108
|
ResultList.prototype.render = function () {
|
93
109
|
var _this = this;
|
94
110
|
var _a = this.props, cx = _a.classnames, className = _a.className, value = _a.value, placeholder = _a.placeholder, itemRender = _a.itemRender, disabled = _a.disabled, title = _a.title, itemClassName = _a.itemClassName, sortable = _a.sortable, __ = _a.translate;
|
@@ -96,14 +112,18 @@ var ResultList = /** @class */ (function (_super) {
|
|
96
112
|
title ? react_1.default.createElement("div", { className: cx('Selections-title') }, title) : null,
|
97
113
|
Array.isArray(value) && value.length ? (react_1.default.createElement("div", { className: cx('Selections-items') }, value.map(function (option, index) { return (react_1.default.createElement("div", { className: cx('Selections-item', itemClassName, option === null || option === void 0 ? void 0 : option.className), key: index },
|
98
114
|
sortable && !disabled && value.length > 1 ? (react_1.default.createElement(icons_1.Icon, { className: cx('Selections-dragbar icon'), icon: "drag-bar" })) : null,
|
99
|
-
react_1.default.createElement("label", null, itemRender(option
|
115
|
+
react_1.default.createElement("label", null, itemRender(option, {
|
116
|
+
index: index,
|
117
|
+
disabled: disabled,
|
118
|
+
onChange: _this.handleValueChange.bind(_this, index)
|
119
|
+
})),
|
100
120
|
!disabled ? (react_1.default.createElement("a", { className: cx('Selections-delBtn'), "data-index": index, onClick: _this.handleRemove },
|
101
121
|
react_1.default.createElement(icons_1.Icon, { icon: "close", className: "icon" }))) : null)); }))) : (react_1.default.createElement("div", { className: cx('Selections-placeholder') }, __(placeholder)))));
|
102
122
|
};
|
103
123
|
var _a;
|
104
124
|
ResultList.defaultProps = {
|
105
125
|
placeholder: 'placeholder.selectData',
|
106
|
-
itemRender:
|
126
|
+
itemRender: ResultList.itemRender
|
107
127
|
};
|
108
128
|
(0, tslib_1.__decorate)([
|
109
129
|
helper_1.autobind,
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/components/ResultList.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA;;GAEG;AACH,6DAA0B;AAE1B,kCAA+C;AAC/C,iCAA6B;AAC7B,0CAA+C;AAC/C,uEAAkC;AAClC,uCAAsC;AACtC,oCAAkD;
|
9
|
+
"mappings": ";;;;AAAA;;GAEG;AACH,6DAA0B;AAE1B,kCAA+C;AAC/C,iCAA6B;AAC7B,0CAA+C;AAC/C,uEAAkC;AAClC,uCAAsC;AACtC,oCAAkD;AAoBlD;IAAgC,2CAAgC;IAAhE;QAAA,qEA4KC;QAnKC,QAAE,GAAG,IAAA,aAAI,GAAE,CAAC;;IAmKd,CAAC;IA3KQ,qBAAU,GAAjB,UAAkB,MAAW;QAC3B,OAAO,4CAAO,MAAG,MAAM,CAAC,UAAU,IAAI,EAAE,IAAG,MAAM,CAAC,KAAO,CAAQ,CAAC;IACpE,CAAC;IASD,sCAAiB,GAAjB;QACE,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7C,CAAC;IAED,uCAAkB,GAAlB;QACE,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YACvB,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;SACtC;aAAM;YACL,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;IACH,CAAC;IAED,yCAAoB,GAApB;QACE,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAGD,iCAAY,GAAZ,UAAa,CAAgC;QAC3C,IAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,YAAY,CAAE,EAAE,EAAE,CAAC,CAAC;QAClE,IAAA,KAAoB,IAAI,CAAC,KAAK,EAA7B,KAAK,WAAA,EAAE,QAAQ,cAAc,CAAC;QAErC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACzB,OAAO;SACR;QAED,IAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAChC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1B,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,QAAQ,CAAC,CAAC;IACvB,CAAC;IAED,iCAAY,GAAZ;QAAA,iBA4CC;QA3CC,IAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QAClC,IAAM,GAAG,GAAG,IAAA,uBAAW,EAAC,IAAI,CAAgB,CAAC;QAC7C,IAAM,SAAS,GAAG,GAAG,CAAC,aAAa,CACjC,MAAI,EAAE,qBAAkB,CACV,CAAC;QAEjB,IAAI,CAAC,SAAS,EAAE;YACd,OAAO;SACR;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAQ,CAAC,SAAS,EAAE;YACtC,KAAK,EAAE,gBAAc,IAAI,CAAC,EAAI;YAC9B,SAAS,EAAE,GAAG;YACd,MAAM,EAAE,MAAI,EAAE,uBAAoB;YAClC,UAAU,EAAK,EAAE,8BAA2B;YAC5C,KAAK,EAAE,UAAC,CAAM;;gBACZ,OAAO;gBACP,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,EAAE;oBAC7B,OAAO;iBACR;gBAED,MAAM;gBACN,IAAM,MAAM,GAAG,CAAC,CAAC,EAAiB,CAAC;gBACnC,IACE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ;oBACvB,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EACzC;oBACA,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;iBAChE;qBAAM,IAAI,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpD,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;iBAC5D;qBAAM;oBACL,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;iBAC5B;gBAED,IAAM,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,KAAK,CAAC;gBAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACzB,OAAO;iBACR;gBACD,IAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBAChC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClE,MAAA,MAAA,KAAI,CAAC,KAAK,EAAC,QAAQ,mDAAG,QAAQ,CAAC,CAAC;YAClC,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,oCAAe,GAAf;;QACE,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,sCAAiB,GAAjB,UAAkB,KAAa,EAAE,KAAU,EAAE,IAAY;;QACvD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,OAAO;SACR;QACK,IAAA,KAA0B,IAAI,CAAC,KAAK,EAA5B,IAAI,WAAA,EAAE,QAAQ,cAAc,CAAC;QAE3C,IAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAClB,OAAO;SACR;QACD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,kDACjB,MAAM,CAAC,KAAK,CAAC,gBACf,IAAI,IAAG,KAAK,OACb,CAAC;QACH,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,2BAAM,GAAN;QAAA,iBA6DC;QA5DO,IAAA,KAWF,IAAI,CAAC,KAAK,EAVA,EAAE,gBAAA,EACd,SAAS,eAAA,EACT,KAAK,WAAA,EACL,WAAW,iBAAA,EACX,UAAU,gBAAA,EACV,QAAQ,cAAA,EACR,KAAK,WAAA,EACL,aAAa,mBAAA,EACb,QAAQ,cAAA,EACG,EAAE,eACD,CAAC;QAEf,OAAO,CACL,uCAAK,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;YACxC,KAAK,CAAC,CAAC,CAAC,uCAAK,SAAS,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAG,KAAK,CAAO,CAAC,CAAC,CAAC,IAAI;YAEpE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CACtC,uCAAK,SAAS,EAAE,EAAE,CAAC,kBAAkB,CAAC,IACnC,KAAK,CAAC,GAAG,CAAC,UAAC,MAAM,EAAE,KAAK,IAAK,OAAA,CAC5B,uCACE,SAAS,EAAE,EAAE,CACX,iBAAiB,EACjB,aAAa,EACb,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAClB,EACD,GAAG,EAAE,KAAK;gBAET,QAAQ,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAC3C,8BAAC,YAAI,IACH,SAAS,EAAE,EAAE,CAAC,yBAAyB,CAAC,EACxC,IAAI,EAAC,UAAU,GACf,CACH,CAAC,CAAC,CAAC,IAAI;gBAER,6CACG,UAAU,CAAC,MAAM,EAAE;oBAClB,KAAK,OAAA;oBACL,QAAQ,UAAA;oBACR,QAAQ,EAAE,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,EAAE,KAAK,CAAC;iBACnD,CAAC,CACI;gBAEP,CAAC,QAAQ,CAAC,CAAC,CAAC,CACX,qCACE,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,gBACtB,KAAK,EACjB,OAAO,EAAE,KAAI,CAAC,YAAY;oBAE1B,8BAAC,YAAI,IAAC,IAAI,EAAC,OAAO,EAAC,SAAS,EAAC,MAAM,GAAG,CACpC,CACL,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,EAlC6B,CAkC7B,CAAC,CACE,CACP,CAAC,CAAC,CAAC,CACF,uCAAK,SAAS,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAG,EAAE,CAAC,WAAW,CAAC,CAAO,CACtE,CACG,CACP,CAAC;IACJ,CAAC;;IAvKM,uBAAY,GAAwD;QACzE,WAAW,EAAE,wBAAwB;QACrC,UAAU,EAAE,UAAU,CAAC,UAAU;KAClC,CAAC;IAsBF;QADC,iBAAQ;;0EACO,eAAK,oBAAL,eAAK,CAAC,UAAU;;kDAW/B;IAoIH,iBAAC;CAAA,AA5KD,CAAgC,eAAK,CAAC,SAAS,GA4K9C;AA5KY,gCAAU;AA8KvB,kBAAe,IAAA,iBAAS,EAAC,IAAA,mBAAU,EAAC,UAAU,CAAC,CAAC,CAAC",
|
10
10
|
"sourcesContent": [
|
11
|
-
"/**\n * 用来显示选择结果,垂直显示。支持移出、排序等操作。\n */\nimport React from 'react';\nimport {Option} from './Select';\nimport {ThemeProps, themeable} from '../theme';\nimport {Icon} from './icons';\nimport {autobind, guid} from '../utils/helper';\nimport Sortable from 'sortablejs';\nimport {findDOMNode} from 'react-dom';\nimport {LocaleProps, localeable} from '../locale';\n\nexport interface ResultListProps extends ThemeProps, LocaleProps {\n className?: string;\n value?: Array<Option>;\n onChange?: (value: Array<Option
|
11
|
+
"/**\n * 用来显示选择结果,垂直显示。支持移出、排序等操作。\n */\nimport React from 'react';\nimport {Option} from './Select';\nimport {ThemeProps, themeable} from '../theme';\nimport {Icon} from './icons';\nimport {autobind, guid} from '../utils/helper';\nimport Sortable from 'sortablejs';\nimport {findDOMNode} from 'react-dom';\nimport {LocaleProps, localeable} from '../locale';\n\nexport interface ResultListProps extends ThemeProps, LocaleProps {\n className?: string;\n value?: Array<Option>;\n onChange?: (value: Array<Option>, optionModified?: boolean) => void;\n sortable?: boolean;\n disabled?: boolean;\n title?: string;\n placeholder: string;\n itemRender: (option: Option, states: ItemRenderStates) => JSX.Element;\n itemClassName?: string;\n}\n\nexport interface ItemRenderStates {\n index: number;\n disabled?: boolean;\n onChange: (value: any, name: string) => void;\n}\n\nexport class ResultList extends React.Component<ResultListProps> {\n static itemRender(option: any) {\n return <span>{`${option.scopeLabel || ''}${option.label}`}</span>;\n }\n static defaultProps: Pick<ResultListProps, 'placeholder' | 'itemRender'> = {\n placeholder: 'placeholder.selectData',\n itemRender: ResultList.itemRender\n };\n\n id = guid();\n sortable?: Sortable;\n\n componentDidMount() {\n this.props.sortable && this.initSortable();\n }\n\n componentDidUpdate() {\n if (this.props.sortable) {\n this.sortable || this.initSortable();\n } else {\n this.desposeSortable();\n }\n }\n\n componentWillUnmount() {\n this.desposeSortable();\n }\n\n @autobind\n handleRemove(e: React.MouseEvent<HTMLElement>) {\n const index = parseInt(e.currentTarget.getAttribute('data-index')!, 10);\n const {value, onChange} = this.props;\n\n if (!Array.isArray(value)) {\n return;\n }\n\n const newValue = value.concat();\n newValue.splice(index, 1);\n onChange?.(newValue);\n }\n\n initSortable() {\n const ns = this.props.classPrefix;\n const dom = findDOMNode(this) as HTMLElement;\n const container = dom.querySelector(\n `.${ns}Selections-items`\n ) as HTMLElement;\n\n if (!container) {\n return;\n }\n\n this.sortable = new Sortable(container, {\n group: `selections-${this.id}`,\n animation: 150,\n handle: `.${ns}Selections-dragbar`,\n ghostClass: `${ns}Selections-item--dragging`,\n onEnd: (e: any) => {\n // 没有移动\n if (e.newIndex === e.oldIndex) {\n return;\n }\n\n // 换回来\n const parent = e.to as HTMLElement;\n if (\n e.newIndex < e.oldIndex &&\n e.oldIndex < parent.childNodes.length - 1\n ) {\n parent.insertBefore(e.item, parent.childNodes[e.oldIndex + 1]);\n } else if (e.oldIndex < parent.childNodes.length - 1) {\n parent.insertBefore(e.item, parent.childNodes[e.oldIndex]);\n } else {\n parent.appendChild(e.item);\n }\n\n const value = this.props.value;\n if (!Array.isArray(value)) {\n return;\n }\n const newValue = value.concat();\n newValue.splice(e.newIndex, 0, newValue.splice(e.oldIndex, 1)[0]);\n this.props.onChange?.(newValue);\n }\n });\n }\n\n desposeSortable() {\n this.sortable?.destroy();\n delete this.sortable;\n }\n\n handleValueChange(index: number, value: any, name: string) {\n if (typeof name !== 'string') {\n return;\n }\n const {value: list, onChange} = this.props;\n\n const result = Array.isArray(list) ? list.concat() : [];\n if (!result[index]) {\n return;\n }\n result.splice(index, 1, {\n ...result[index],\n [name]: value\n });\n onChange?.(result, true);\n }\n\n render() {\n const {\n classnames: cx,\n className,\n value,\n placeholder,\n itemRender,\n disabled,\n title,\n itemClassName,\n sortable,\n translate: __\n } = this.props;\n\n return (\n <div className={cx('Selections', className)}>\n {title ? <div className={cx('Selections-title')}>{title}</div> : null}\n\n {Array.isArray(value) && value.length ? (\n <div className={cx('Selections-items')}>\n {value.map((option, index) => (\n <div\n className={cx(\n 'Selections-item',\n itemClassName,\n option?.className\n )}\n key={index}\n >\n {sortable && !disabled && value.length > 1 ? (\n <Icon\n className={cx('Selections-dragbar icon')}\n icon=\"drag-bar\"\n />\n ) : null}\n\n <label>\n {itemRender(option, {\n index,\n disabled,\n onChange: this.handleValueChange.bind(this, index)\n })}\n </label>\n\n {!disabled ? (\n <a\n className={cx('Selections-delBtn')}\n data-index={index}\n onClick={this.handleRemove}\n >\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n ) : null}\n </div>\n ))}\n </div>\n ) : (\n <div className={cx('Selections-placeholder')}>{__(placeholder)}</div>\n )}\n </div>\n );\n }\n}\n\nexport default themeable(localeable(ResultList));\n"
|
12
12
|
]
|
13
13
|
}
|