amis 1.5.6 → 1.6.1-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.husky/pre-commit +1 -1
- package/README.md +1 -0
- package/lib/RootRenderer.d.ts +2 -0
- package/lib/RootRenderer.js +19 -1
- package/lib/RootRenderer.js.map +2 -2
- package/lib/Schema.d.ts +3 -2
- package/lib/Schema.js.map +1 -1
- package/lib/SchemaRenderer.js +52 -1
- package/lib/SchemaRenderer.js.map +2 -2
- package/lib/Scoped.d.ts +2 -0
- package/lib/Scoped.js +27 -1
- package/lib/Scoped.js.map +2 -2
- package/lib/actions/Action.d.ts +33 -0
- package/lib/actions/Action.js +100 -0
- package/lib/actions/Action.js.map +13 -0
- package/lib/actions/AjaxAction.d.ts +14 -0
- package/lib/actions/AjaxAction.js +68 -0
- package/lib/actions/AjaxAction.js.map +13 -0
- package/lib/actions/BreakAction.d.ts +12 -0
- package/lib/actions/BreakAction.js +28 -0
- package/lib/actions/BreakAction.js.map +13 -0
- package/lib/actions/BroadcastAction.d.ts +12 -0
- package/lib/actions/BroadcastAction.js +40 -0
- package/lib/actions/BroadcastAction.js.map +13 -0
- package/lib/actions/CmptAction.d.ts +12 -0
- package/lib/actions/CmptAction.js +40 -0
- package/lib/actions/CmptAction.js.map +13 -0
- package/lib/actions/ContinueAction.d.ts +12 -0
- package/lib/actions/ContinueAction.js +28 -0
- package/lib/actions/ContinueAction.js.map +13 -0
- package/lib/actions/CopyAction.d.ts +12 -0
- package/lib/actions/CopyAction.js +35 -0
- package/lib/actions/CopyAction.js.map +13 -0
- package/lib/actions/CustomAction.d.ts +12 -0
- package/lib/actions/CustomAction.js +43 -0
- package/lib/actions/CustomAction.js.map +13 -0
- package/lib/actions/DialogAction.d.ts +12 -0
- package/lib/actions/DialogAction.js +31 -0
- package/lib/actions/DialogAction.js.map +13 -0
- package/lib/actions/DrawerAction.d.ts +12 -0
- package/lib/actions/DrawerAction.js +31 -0
- package/lib/actions/DrawerAction.js.map +13 -0
- package/lib/actions/EmailAction.d.ts +12 -0
- package/lib/actions/EmailAction.js +37 -0
- package/lib/actions/EmailAction.js.map +13 -0
- package/lib/actions/LoopAction.d.ts +12 -0
- package/lib/actions/LoopAction.js +93 -0
- package/lib/actions/LoopAction.js.map +13 -0
- package/lib/actions/OpenPageAction.d.ts +12 -0
- package/lib/actions/OpenPageAction.js +33 -0
- package/lib/actions/OpenPageAction.js.map +13 -0
- package/lib/actions/ParallelAction.d.ts +5 -0
- package/lib/actions/ParallelAction.js +33 -0
- package/lib/actions/ParallelAction.js.map +13 -0
- package/lib/actions/SwitchAction.d.ts +8 -0
- package/lib/actions/SwitchAction.js +45 -0
- package/lib/actions/SwitchAction.js.map +13 -0
- package/lib/actions/index.d.ts +18 -0
- package/lib/actions/index.js +22 -0
- package/lib/actions/index.js.map +13 -0
- package/lib/components/AnchorNav.d.ts +20 -20
- 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/Button.d.ts +20 -20
- package/lib/components/CalendarMobile.d.ts +573 -0
- package/lib/components/CalendarMobile.js +486 -0
- package/lib/components/CalendarMobile.js.map +13 -0
- package/lib/components/Cascader.d.ts +123 -0
- package/lib/components/Cascader.js +487 -0
- package/lib/components/Cascader.js.map +13 -0
- package/lib/components/ChainedSelection.d.ts +84 -84
- package/lib/components/ChainedSelection.js +15 -3
- package/lib/components/ChainedSelection.js.map +2 -2
- package/lib/components/CityArea.d.ts +527 -0
- package/lib/components/CityArea.js +177 -0
- package/lib/components/CityArea.js.map +13 -0
- package/lib/components/Collapse.d.ts +20 -20
- package/lib/components/ColorPicker.d.ts +84 -84
- package/lib/components/ColorPicker.js +4 -3
- package/lib/components/ColorPicker.js.map +2 -2
- package/lib/components/DatePicker.d.ts +85 -84
- package/lib/components/DatePicker.js +21 -8
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/DateRangePicker.d.ts +85 -84
- package/lib/components/DateRangePicker.js +19 -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/InputBox.d.ts +21 -21
- package/lib/components/ListGroup.d.ts +21 -21
- package/lib/components/ListMenu.d.ts +84 -84
- package/lib/components/MonthRangePicker.d.ts +85 -84
- package/lib/components/MonthRangePicker.js +18 -7
- 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.d.ts +1 -0
- package/lib/components/Picker.js +16 -7
- package/lib/components/Picker.js.map +2 -2
- package/lib/components/PickerColumn.d.ts +1 -0
- package/lib/components/PickerColumn.js +21 -18
- 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/PopOverContainer.d.ts +1 -0
- package/lib/components/PopOverContainer.js +5 -3
- package/lib/components/PopOverContainer.js.map +2 -2
- package/lib/components/PopUp.d.ts +1041 -28
- package/lib/components/PopUp.js +32 -8
- package/lib/components/PopUp.js.map +2 -2
- package/lib/components/Radios.d.ts +21 -21
- package/lib/components/Rating.d.ts +21 -21
- package/lib/components/ResultBox.d.ts +85 -84
- package/lib/components/ResultBox.js +9 -4
- 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 +238 -238
- package/lib/components/Select.js +13 -9
- package/lib/components/Select.js.map +2 -2
- 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 +517 -0
- package/lib/components/TimelineItem.js +40 -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 +85 -84
- package/lib/components/TransferDropDown.js +9 -10
- 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/Tree.d.ts +84 -84
- 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 +19 -0
- package/lib/components/calendar/Calendar.js +71 -1
- package/lib/components/calendar/Calendar.js.map +2 -2
- package/lib/components/calendar/DaysView.d.ts +21 -0
- package/lib/components/calendar/DaysView.js +76 -17
- package/lib/components/calendar/DaysView.js.map +2 -2
- package/lib/components/calendar/MonthsView.d.ts +34 -0
- package/lib/components/calendar/MonthsView.js +68 -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 +30 -18
- package/lib/components/calendar/TimeView.js +47 -8
- package/lib/components/calendar/TimeView.js.map +2 -2
- package/lib/components/calendar/YearsView.d.ts +6 -0
- package/lib/components/calendar/YearsView.js +21 -10
- 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/formula/plugin.js +0 -1
- package/lib/components/formula/plugin.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/env.d.ts +4 -0
- package/lib/env.js.map +2 -2
- package/lib/factory.d.ts +2 -1
- package/lib/factory.js +83 -0
- package/lib/factory.js.map +2 -2
- package/lib/helper.css.map +1 -1
- package/lib/icons/tree-down.js +7 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.js +4 -1
- package/lib/index.js.map +2 -2
- package/lib/locale/de-DE.js +17 -2
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +17 -2
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +16 -1
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.d.ts +1 -1
- package/lib/renderers/Action.js +26 -10
- package/lib/renderers/Action.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.d.ts +1 -1
- package/lib/renderers/Custom.js +1 -1
- package/lib/renderers/Custom.js.map +2 -2
- package/lib/renderers/DropDownButton.d.ts +11 -2
- package/lib/renderers/DropDownButton.js +30 -12
- package/lib/renderers/DropDownButton.js.map +2 -2
- package/lib/renderers/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/CityDB.js +526 -2
- package/lib/renderers/Form/CityDB.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.d.ts +6 -0
- package/lib/renderers/Form/DiffEditor.js +2 -1
- package/lib/renderers/Form/DiffEditor.js.map +2 -2
- package/lib/renderers/Form/Editor.d.ts +6 -0
- package/lib/renderers/Form/InputCity.d.ts +85 -84
- package/lib/renderers/Form/InputCity.js +4 -2
- package/lib/renderers/Form/InputCity.js.map +2 -2
- package/lib/renderers/Form/InputColor.d.ts +84 -84
- package/lib/renderers/Form/InputColor.js +6 -2
- package/lib/renderers/Form/InputColor.js.map +2 -2
- package/lib/renderers/Form/InputDate.js +10 -5
- package/lib/renderers/Form/InputDate.js.map +2 -2
- package/lib/renderers/Form/InputDateRange.js +6 -2
- package/lib/renderers/Form/InputDateRange.js.map +2 -2
- package/lib/renderers/Form/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.d.ts +10 -14
- package/lib/renderers/Form/Item.js +18 -9
- package/lib/renderers/Form/Item.js.map +2 -2
- package/lib/renderers/Form/NestedSelect.d.ts +1 -0
- package/lib/renderers/Form/NestedSelect.js +8 -4
- package/lib/renderers/Form/NestedSelect.js.map +2 -2
- package/lib/renderers/Form/Options.js +9 -7
- package/lib/renderers/Form/Options.js.map +2 -2
- package/lib/renderers/Form/Select.d.ts +2 -0
- package/lib/renderers/Form/Select.js +9 -6
- 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 +4 -4
- package/lib/renderers/Form/TreeSelect.js.map +2 -2
- package/lib/renderers/Form/index.js +10 -2
- 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/Link.d.ts +1 -1
- package/lib/renderers/Link.js +27 -6
- package/lib/renderers/Link.js.map +2 -2
- package/lib/renderers/Nav.d.ts +21 -21
- package/lib/renderers/Nav.js +4 -1
- package/lib/renderers/Nav.js.map +2 -2
- package/lib/renderers/Remark.d.ts +5 -1
- package/lib/renderers/Remark.js +39 -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/schemaExtend.js +23 -9
- package/lib/schemaExtend.js.map +2 -2
- package/lib/store/combo.js.map +2 -2
- package/lib/store/formItem.js +7 -7
- 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 +1149 -53
- package/lib/themes/ang.css +1149 -53
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +1187 -53
- package/lib/themes/antd.css +1187 -53
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +1190 -71
- package/lib/themes/cxd.css +1190 -71
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +1152 -53
- package/lib/themes/dark.css +1152 -53
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +1190 -71
- 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 +14 -3
- package/lib/utils/api.js.map +2 -2
- package/lib/utils/debug.d.ts +26 -0
- package/lib/utils/debug.js +351 -0
- package/lib/utils/debug.js.map +13 -0
- package/lib/utils/helper.d.ts +1 -6
- package/lib/utils/helper.js +6 -17
- package/lib/utils/helper.js.map +2 -2
- package/lib/utils/renderer-event.d.ts +38 -0
- package/lib/utils/renderer-event.js +28 -0
- package/lib/utils/renderer-event.js.map +13 -0
- package/package.json +12 -6
- package/schema.json +3483 -810
- package/scss/_properties.scss +20 -6
- package/scss/_variables.scss +1 -0
- package/scss/components/_avatar.scss +27 -9
- package/scss/components/_calendar.scss +291 -0
- package/scss/components/_card.scss +1 -1
- package/scss/components/_cascader.scss +102 -0
- package/scss/components/_city-area.scss +27 -0
- package/scss/components/_collapse-group.scss +1 -3
- package/scss/components/_debug.scss +167 -0
- package/scss/components/_dropdown.scss +39 -9
- package/scss/components/_formula.scss +30 -6
- package/scss/components/_modal.scss +18 -0
- package/scss/components/_panel.scss +45 -0
- package/scss/components/_picker-columns.scss +15 -5
- package/scss/components/_popup.scss +43 -16
- package/scss/components/_result-box.scss +31 -0
- package/scss/components/_timeline.scss +198 -0
- package/scss/components/form/_checks.scss +2 -0
- package/scss/components/form/_color.scss +2 -2
- package/scss/components/form/_date-range.scss +34 -1
- package/scss/components/form/_date.scss +46 -1
- package/scss/components/form/_form.scss +170 -0
- package/scss/components/form/_nested-select.scss +3 -0
- package/scss/components/form/_result-list.scss +2 -0
- package/scss/components/form/_select.scss +32 -3
- package/scss/components/form/_selection.scss +5 -4
- package/scss/components/form/_transfer.scss +3 -0
- package/scss/components/form/_tree-select.scss +1 -1
- package/scss/themes/_antd-variables.scss +45 -0
- package/scss/themes/_common.scss +5 -0
- package/scss/themes/_cxd-variables.scss +51 -2
- package/scss/themes/_dark-variables.scss +4 -0
- package/scss/themes/cxd.scss +0 -19
- package/sdk/ang-ie11.css +1450 -142
- package/sdk/ang.css +1473 -159
- package/sdk/antd-ie11.css +1451 -142
- package/sdk/antd.css +1511 -159
- package/sdk/charts.js +15 -15
- package/sdk/codemirror.js +7 -7
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +1449 -159
- package/sdk/cxd.css +1514 -179
- package/sdk/dark-ie11.css +1450 -142
- package/sdk/dark.css +1476 -159
- package/sdk/exceljs.js +1 -1
- package/sdk/helper.css.map +1 -1
- package/sdk/locale/de-DE.js +17 -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 +1449 -159
- package/sdk/sdk.css +1514 -179
- package/sdk/sdk.js +1311 -1253
- package/sdk/thirds/hls.js/hls.js +1 -1
- package/sdk/thirds/mpegts.js/mpegts.js +1 -1
- package/sdk/tinymce.js +57 -57
- package/src/RootRenderer.tsx +27 -1
- package/src/Schema.ts +3 -0
- package/src/SchemaRenderer.tsx +70 -4
- package/src/Scoped.tsx +46 -4
- package/src/actions/Action.ts +138 -0
- package/src/actions/AjaxAction.ts +58 -0
- package/src/actions/BreakAction.ts +27 -0
- package/src/actions/BroadcastAction.ts +41 -0
- package/src/actions/CmptAction.ts +36 -0
- package/src/actions/ContinueAction.ts +27 -0
- package/src/actions/CopyAction.ts +41 -0
- package/src/actions/CustomAction.ts +46 -0
- package/src/actions/DialogAction.ts +28 -0
- package/src/actions/DrawerAction.ts +28 -0
- package/src/actions/EmailAction.ts +38 -0
- package/src/actions/LoopAction.ts +77 -0
- package/src/actions/OpenPageAction.ts +39 -0
- package/src/actions/ParallelAction.ts +26 -0
- package/src/actions/SwitchAction.ts +35 -0
- package/src/actions/index.ts +20 -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 +658 -0
- package/src/components/Cascader.tsx +564 -0
- package/src/components/ChainedSelection.tsx +16 -3
- package/src/components/CityArea.tsx +315 -0
- package/src/components/ColorPicker.tsx +41 -40
- package/src/components/DatePicker.tsx +80 -34
- package/src/components/DateRangePicker.tsx +85 -30
- package/src/components/GroupedSelection.tsx +14 -2
- package/src/components/MonthRangePicker.tsx +78 -31
- package/src/components/Overlay.tsx +1 -1
- package/src/components/Picker.tsx +55 -35
- package/src/components/PickerColumn.tsx +43 -36
- package/src/components/PickerContainer.tsx +13 -1
- package/src/components/PopOverContainer.tsx +31 -17
- package/src/components/PopUp.tsx +84 -57
- package/src/components/ResultBox.tsx +14 -2
- package/src/components/ResultList.tsx +36 -6
- package/src/components/Select.tsx +24 -26
- 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 +36 -0
- package/src/components/TimelineItem.tsx +140 -0
- package/src/components/Transfer.tsx +11 -8
- package/src/components/TransferDropDown.tsx +20 -12
- package/src/components/TransferPicker.tsx +25 -4
- package/src/components/TreeSelection.tsx +7 -1
- package/src/components/calendar/Calendar.tsx +101 -4
- package/src/components/calendar/DaysView.tsx +165 -33
- package/src/components/calendar/MonthsView.tsx +108 -1
- package/src/components/calendar/QuartersView.tsx +3 -2
- package/src/components/calendar/TimeView.tsx +104 -41
- package/src/components/calendar/YearsView.tsx +34 -17
- 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/formula/plugin.ts +0 -2
- 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/env.tsx +22 -0
- package/src/factory.tsx +93 -1
- package/src/icons/tree-down.svg +5 -0
- package/src/index.tsx +5 -0
- package/src/locale/de-DE.ts +17 -2
- package/src/locale/en-US.ts +17 -2
- package/src/locale/zh-CN.ts +16 -1
- package/src/renderers/Action.tsx +11 -2
- 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 +7 -4
- package/src/renderers/DropDownButton.tsx +69 -35
- 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/CityDB.ts +526 -2
- package/src/renderers/Form/DiffEditor.tsx +2 -3
- package/src/renderers/Form/InputCity.tsx +23 -3
- package/src/renderers/Form/InputColor.tsx +21 -2
- package/src/renderers/Form/InputDate.tsx +48 -20
- package/src/renderers/Form/InputDateRange.tsx +9 -2
- 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 +29 -8
- package/src/renderers/Form/NestedSelect.tsx +32 -4
- package/src/renderers/Form/Options.tsx +15 -7
- package/src/renderers/Form/Select.tsx +21 -5
- 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 +18 -16
- package/src/renderers/Form/index.tsx +9 -2
- package/src/renderers/IFrame.tsx +0 -2
- package/src/renderers/Link.tsx +18 -3
- package/src/renderers/Nav.tsx +4 -1
- package/src/renderers/Remark.tsx +68 -18
- package/src/renderers/Steps.tsx +11 -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/schemaExtend.ts +22 -10
- package/src/store/combo.ts +1 -3
- package/src/store/formItem.ts +3 -3
- package/src/store/table.ts +2 -1
- package/src/utils/RootClose.ts +5 -1
- package/src/utils/api.ts +15 -2
- package/src/utils/debug.tsx +438 -0
- package/src/utils/helper.ts +6 -16
- package/src/utils/renderer-event.ts +75 -0
package/lib/renderers/Tabs.js
CHANGED
@@ -225,7 +225,7 @@ var Tabs = /** @class */ (function (_super) {
|
|
225
225
|
var _this = this;
|
226
226
|
var _a = this.props, cx = _a.classnames, ns = _a.classPrefix, contentClassName = _a.contentClassName, linksClassName = _a.linksClassName, tabRender = _a.tabRender, className = _a.className, render = _a.render, data = _a.data, dMode = _a.mode, tabsMode = _a.tabsMode, unmountOnExit = _a.unmountOnExit, source = _a.source, formStore = _a.formStore, formMode = _a.formMode, formHorizontal = _a.formHorizontal, subFormMode = _a.subFormMode, subFormHorizontal = _a.subFormHorizontal, scrollable = _a.scrollable;
|
227
227
|
var mode = tabsMode || dMode;
|
228
|
-
var arr = (0, tpl_builtin_1.
|
228
|
+
var arr = (0, tpl_builtin_1.resolveVariableAndFilter)(source, data, '| raw');
|
229
229
|
var mountOnEnter = this.props.mountOnEnter;
|
230
230
|
// 如果在form下面,其他tabs默认需要渲染出来
|
231
231
|
// 否则在其他 tab 下面的必填项检测不到
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Tabs.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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",
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {Renderer, RendererProps} from '../factory';\nimport {Action, Schema, SchemaNode} from '../types';\nimport find from 'lodash/find';\nimport {\n isVisible,\n autobind,\n isDisabled,\n isObject,\n createObject,\n getVariable\n} from '../utils/helper';\nimport findIndex from 'lodash/findIndex';\nimport {Tabs as CTabs, Tab} from '../components/Tabs';\nimport {ClassNamesFn} from '../theme';\nimport {\n BaseSchema,\n SchemaClassName,\n SchemaCollection,\n SchemaIcon\n} from '../Schema';\nimport {ActionSchema} from './Action';\nimport {filter} from '../utils/tpl';\nimport {resolveVariable, tokenize} from '../utils/tpl-builtin';\nimport {FormSchemaHorizontal} from './Form/index';\nimport {str2AsyncFunction} from '../utils/api';\n\nexport interface TabSchema extends Omit<BaseSchema, 'type'> {\n /**\n * Tab 标题\n */\n title?: string;\n\n /**\n * 内容\n * @deprecated 用 body 属性\n */\n tab?: SchemaCollection;\n\n /**\n * 内容\n */\n body?: SchemaCollection;\n\n /**\n * 徽标\n */\n badge?: number;\n\n /**\n * 设置以后将跟url的hash对应\n */\n hash?: string;\n\n /**\n * 按钮图标\n */\n icon?: SchemaIcon;\n\n iconPosition?: 'left' | 'right';\n\n /**\n * 设置以后内容每次都会重新渲染\n */\n reload?: boolean;\n\n /**\n * 点开时才加载卡片内容\n */\n mountOnEnter?: boolean;\n\n /**\n * 卡片隐藏就销毁卡片节点。\n */\n unmountOnExit?: boolean;\n\n /**\n * 配置子表单项默认的展示方式。\n */\n mode?: 'normal' | 'inline' | 'horizontal';\n /**\n * 如果是水平排版,这个属性可以细化水平排版的左右宽度占比。\n */\n horizontal?: FormSchemaHorizontal;\n}\n\n/**\n * 选项卡控件。\n * 文档:https://baidu.gitee.io/amis/docs/components/tabs\n */\nexport interface TabsSchema extends BaseSchema {\n type: 'tabs';\n\n /**\n * 选项卡成员。当配置了 source 时,选项卡成员,将会根据目标数据进行重复。\n */\n tabs: Array<TabSchema>;\n\n /**\n * 关联已有数据,选项卡直接根据目标数据重复。\n */\n source?: string;\n\n /**\n * 类名\n */\n tabsClassName?: SchemaClassName;\n\n /**\n * 展示形式\n */\n tabsMode?: '' | 'line' | 'card' | 'radio' | 'vertical' | 'tiled';\n\n /**\n * 内容类名\n */\n contentClassName?: SchemaClassName;\n\n /**\n * 链接外层类名\n */\n linksClassName?: SchemaClassName;\n\n /**\n * 卡片是否只有在点开的时候加载?\n */\n mountOnEnter?: boolean;\n\n /**\n * 卡片隐藏的时候是否销毁卡片内容\n */\n unmountOnExit?: boolean;\n\n /**\n * 可以在右侧配置点其他功能按钮。\n */\n toolbar?: ActionSchema;\n\n /**\n * 配置子表单项默认的展示方式。\n */\n subFormMode?: 'normal' | 'inline' | 'horizontal';\n /**\n * 如果是水平排版,这个属性可以细化水平排版的左右宽度占比。\n */\n subFormHorizontal?: FormSchemaHorizontal;\n /**\n * 是否支持溢出滚动\n */\n scrollable?: boolean;\n}\n\nexport interface TabsProps\n extends RendererProps,\n Omit<TabsSchema, 'className' | 'contentClassName'> {\n activeKey?: string | number;\n location?: any;\n tabRender?: (tab: TabSchema, props: TabsProps, index: number) => JSX.Element;\n}\n\nexport interface TabsState {\n activeKey: any;\n prevKey: any;\n}\n\nexport default class Tabs extends React.Component<TabsProps, TabsState> {\n static defaultProps: Partial<TabsProps> = {\n className: '',\n mode: '',\n mountOnEnter: true,\n unmountOnExit: false\n };\n\n renderTab?: (tab: TabSchema, props: TabsProps, index: number) => JSX.Element;\n activeKey: any;\n\n constructor(props: TabsProps) {\n super(props);\n\n const location = props.location || window.location;\n const tabs = props.tabs;\n let activeKey: any = 0;\n\n if (typeof props.activeKey !== 'undefined') {\n activeKey = props.activeKey;\n } else if (location && Array.isArray(tabs)) {\n const hash = location.hash.substring(1);\n const tab: TabSchema = find(tabs, tab => tab.hash === hash) as TabSchema;\n\n if (tab) {\n activeKey = tab.hash;\n } else if (props.defaultActiveKey) {\n activeKey = tokenize(props.defaultActiveKey, props.data);\n }\n\n activeKey = activeKey || (tabs[0] && tabs[0].hash) || 0;\n }\n\n this.state = {\n prevKey: undefined,\n activeKey: (this.activeKey = activeKey)\n };\n }\n\n componentDidMount() {\n this.autoJumpToNeighbour(this.activeKey);\n\n let {name, value, onChange, source, tabs, data} = this.props;\n\n // 如果没有配置 name ,说明不需要同步表单值\n if (\n !name ||\n typeof onChange !== 'function' ||\n // 如果关联某个变量数据,则不启用\n source\n ) {\n return;\n }\n\n value = value ?? getVariable(data, name);\n\n // 如果有值,切到对应的 tab\n if (value && Array.isArray(tabs)) {\n const key = this.resolveKeyByValue(value);\n key !== undefined && this.handleSelect(key);\n } else {\n const tab = this.resolveTabByKey(this.activeKey);\n if (tab && value !== ((tab as any).value ?? tab.title)) {\n onChange((tab as any).value ?? tab.title, name);\n }\n }\n }\n\n componentDidUpdate(preProps: TabsProps, prevState: any) {\n const props = this.props;\n\n if (props.location && props.location.hash !== preProps.location.hash) {\n const hash = props.location.hash.substring(1);\n if (!hash) {\n return;\n }\n\n const tab: TabSchema = find(\n props.tabs,\n tab => tab.hash === hash\n ) as TabSchema;\n if (tab && tab.hash && tab.hash !== this.state.activeKey) {\n this.setState({\n activeKey: (this.activeKey = tab.hash),\n prevKey: this.state.activeKey\n });\n }\n } else if (\n Array.isArray(props.tabs) &&\n Array.isArray(preProps.tabs) &&\n JSON.stringify(props.tabs.map(item => item.hash)) !==\n JSON.stringify(preProps.tabs.map(item => item.hash))\n ) {\n let activeKey: any = this.state.activeKey;\n const location = props.location;\n let tab: TabSchema | null = null;\n\n if (location && Array.isArray(props.tabs)) {\n const hash = location.hash.substring(1);\n tab = find(props.tabs, tab => tab.hash === hash) as TabSchema;\n }\n\n if (tab) {\n activeKey = tab.hash;\n } else if (\n !props.tabs ||\n !props.tabs.some((item, index) =>\n item.hash ? item.hash === activeKey : index === activeKey\n )\n ) {\n activeKey = (props.tabs && props.tabs[0] && props.tabs[0].hash) || 0;\n }\n\n this.setState({\n prevKey: undefined,\n activeKey: (this.activeKey = activeKey)\n });\n }\n\n this.autoJumpToNeighbour(this.activeKey);\n\n let {name, value, onChange, source, data} = this.props;\n\n // 如果没有配置 name ,说明不需要同步表单值\n if (\n !name ||\n typeof onChange !== 'function' ||\n // 如果关联某个变量数据,则不启用\n source\n ) {\n return;\n }\n\n let key: any;\n value = value ?? getVariable(data, name);\n const prevValue =\n preProps.value ?? getVariable(preProps.data, preProps.name);\n if (\n value !== prevValue &&\n (key = this.resolveKeyByValue(value)) !== undefined &&\n key !== this.activeKey\n ) {\n this.handleSelect(key);\n } else if (this.activeKey !== prevState.activeKey) {\n const tab = this.resolveTabByKey(this.activeKey);\n if (tab && value !== ((tab as any).value ?? tab.title)) {\n onChange((tab as any).value ?? tab.title, name);\n }\n }\n }\n\n resolveTabByKey(key: any) {\n const tabs = this.props.tabs;\n\n if (!Array.isArray(tabs)) {\n return;\n }\n\n return find(tabs, (tab: TabSchema, index) =>\n tab.hash ? tab.hash === key : index === key\n );\n }\n\n resolveKeyByValue(value: any) {\n const tabs = this.props.tabs;\n\n if (!Array.isArray(tabs)) {\n return;\n }\n\n const tab: TabSchema = find(\n tabs,\n tab => ((tab as any).value ?? tab.title) === value\n ) as TabSchema;\n\n return tab && tab.hash ? tab.hash : tabs.indexOf(tab);\n }\n\n @autobind\n autoJumpToNeighbour(key: any) {\n const {tabs, data} = this.props;\n\n if (!Array.isArray(tabs)) {\n return;\n }\n\n // 当前 tab 可能不可见,所以需要自动切到一个可见的 tab, 向前找,找一圈\n const tabIndex = findIndex(tabs, (tab: TabSchema, index) =>\n tab.hash ? tab.hash === key : index === key\n );\n\n if (tabs[tabIndex] && !isVisible(tabs[tabIndex], this.props.data)) {\n let len = tabs.length;\n let i = tabIndex - 1 + len;\n let tries = len - 1;\n\n while (tries--) {\n const index = i-- % len;\n if (isVisible(tabs[index], data)) {\n let activeKey = tabs[index].hash || index;\n this.setState({\n activeKey: (this.activeKey = activeKey)\n });\n break;\n }\n }\n }\n }\n\n @autobind\n handleSelect(key: any) {\n const {env, onSelect, id} = this.props;\n\n env.tracker?.({\n eventType: 'tabChange',\n eventData: {\n id,\n key\n }\n });\n\n // 是 hash,需要更新到地址栏\n if (typeof key === 'string' && env) {\n env.updateLocation(`#${key}`);\n } else if (typeof this.state.activeKey === 'string' && env) {\n env.updateLocation(`#`);\n }\n\n this.setState({\n activeKey: (this.activeKey = key),\n prevKey: this.state.activeKey\n });\n\n if (typeof onSelect === 'string') {\n const selectFunc = str2AsyncFunction(onSelect, 'key', 'props');\n selectFunc && selectFunc(key, this.props);\n } else if (typeof onSelect === 'function') {\n onSelect(key, this.props);\n }\n }\n\n @autobind\n switchTo(index: number) {\n const {tabs} = this.props;\n\n Array.isArray(tabs) &&\n tabs[index] &&\n this.setState({\n activeKey: (this.activeKey = tabs[index].hash || index)\n });\n }\n\n @autobind\n currentIndex(): number {\n const {tabs} = this.props;\n\n return Array.isArray(tabs)\n ? findIndex(tabs, (tab: TabSchema, index) =>\n tab.hash\n ? tab.hash === this.state.activeKey\n : index === this.state.activeKey\n )\n : -1;\n }\n\n renderToolbar() {\n const {toolbar, render, classnames: cx, toolbarClassName} = this.props;\n\n return toolbar ? (\n <div className={cx(`Tabs-toolbar`, toolbarClassName)}>\n {render('toolbar', toolbar)}\n </div>\n ) : null;\n }\n\n renderTabs() {\n const {\n classnames: cx,\n classPrefix: ns,\n contentClassName,\n linksClassName,\n tabRender,\n className,\n render,\n data,\n mode: dMode,\n tabsMode,\n unmountOnExit,\n source,\n formStore,\n formMode,\n formHorizontal,\n subFormMode,\n subFormHorizontal,\n scrollable\n } = this.props;\n\n const mode = tabsMode || dMode;\n const arr = resolveVariable(source, data);\n let mountOnEnter = this.props.mountOnEnter;\n\n // 如果在form下面,其他tabs默认需要渲染出来\n // 否则在其他 tab 下面的必填项检测不到\n if (formStore) {\n mountOnEnter = false;\n }\n\n let tabs = this.props.tabs;\n if (!tabs) {\n return null;\n }\n\n tabs = Array.isArray(tabs) ? tabs : [tabs];\n let children: Array<JSX.Element | null> = [];\n\n if (Array.isArray(arr)) {\n arr.forEach((value, index) => {\n const ctx = createObject(\n data,\n isObject(value) ? {index, ...value} : {item: value, index}\n );\n\n children.push(\n ...tabs.map((tab, tabIndex) =>\n isVisible(tab, ctx) ? (\n <Tab\n {...(tab as any)}\n title={filter(tab.title, ctx)}\n disabled={isDisabled(tab, ctx)}\n key={`${index * 1000 + tabIndex}`}\n eventKey={index * 1000 + tabIndex}\n mountOnEnter={mountOnEnter}\n unmountOnExit={\n typeof tab.reload === 'boolean'\n ? tab.reload\n : typeof tab.unmountOnExit === 'boolean'\n ? tab.unmountOnExit\n : unmountOnExit\n }\n >\n {render(\n `item/${index}/${tabIndex}`,\n (tab as any)?.type ? (tab as any) : tab.tab || tab.body,\n {\n data: ctx,\n formMode: tab.mode || subFormMode || formMode,\n formHorizontal:\n tab.horizontal || subFormHorizontal || formHorizontal\n }\n )}\n </Tab>\n ) : null\n )\n );\n });\n } else {\n children = tabs.map((tab, index) =>\n isVisible(tab, data) ? (\n <Tab\n {...(tab as any)}\n title={filter(tab.title, data)}\n disabled={isDisabled(tab, data)}\n key={index}\n eventKey={tab.hash || index}\n mountOnEnter={mountOnEnter}\n unmountOnExit={\n typeof tab.reload === 'boolean'\n ? tab.reload\n : typeof tab.unmountOnExit === 'boolean'\n ? tab.unmountOnExit\n : unmountOnExit\n }\n >\n {this.renderTab\n ? this.renderTab(tab, this.props, index)\n : tabRender\n ? tabRender(tab, this.props, index)\n : render(\n `tab/${index}`,\n (tab as any)?.type ? (tab as any) : tab.tab || tab.body,\n {\n formMode: tab.mode || subFormMode || formMode,\n formHorizontal:\n tab.horizontal || subFormHorizontal || formHorizontal\n }\n )}\n </Tab>\n ) : null\n );\n }\n\n return (\n <CTabs\n classPrefix={ns}\n classnames={cx}\n mode={mode}\n className={className}\n contentClassName={contentClassName}\n linksClassName={linksClassName}\n onSelect={this.handleSelect}\n activeKey={this.state.activeKey}\n toolbar={this.renderToolbar()}\n scrollable={scrollable}\n >\n {children}\n </CTabs>\n );\n }\n\n render() {\n return this.renderTabs();\n }\n}\n@Renderer({\n type: 'tabs'\n})\nexport class TabsRenderer extends Tabs {}\n"
|
11
|
+
"import React from 'react';\nimport {Renderer, RendererProps} from '../factory';\nimport {Action, Schema, SchemaNode} from '../types';\nimport find from 'lodash/find';\nimport {\n isVisible,\n autobind,\n isDisabled,\n isObject,\n createObject,\n getVariable\n} from '../utils/helper';\nimport findIndex from 'lodash/findIndex';\nimport {Tabs as CTabs, Tab} from '../components/Tabs';\nimport {ClassNamesFn} from '../theme';\nimport {\n BaseSchema,\n SchemaClassName,\n SchemaCollection,\n SchemaIcon\n} from '../Schema';\nimport {ActionSchema} from './Action';\nimport {filter} from '../utils/tpl';\nimport {\n resolveVariable,\n tokenize,\n resolveVariableAndFilter\n} from '../utils/tpl-builtin';\nimport {FormSchemaHorizontal} from './Form/index';\nimport {str2AsyncFunction} from '../utils/api';\n\nexport interface TabSchema extends Omit<BaseSchema, 'type'> {\n /**\n * Tab 标题\n */\n title?: string;\n\n /**\n * 内容\n * @deprecated 用 body 属性\n */\n tab?: SchemaCollection;\n\n /**\n * 内容\n */\n body?: SchemaCollection;\n\n /**\n * 徽标\n */\n badge?: number;\n\n /**\n * 设置以后将跟url的hash对应\n */\n hash?: string;\n\n /**\n * 按钮图标\n */\n icon?: SchemaIcon;\n\n iconPosition?: 'left' | 'right';\n\n /**\n * 设置以后内容每次都会重新渲染\n */\n reload?: boolean;\n\n /**\n * 点开时才加载卡片内容\n */\n mountOnEnter?: boolean;\n\n /**\n * 卡片隐藏就销毁卡片节点。\n */\n unmountOnExit?: boolean;\n\n /**\n * 配置子表单项默认的展示方式。\n */\n mode?: 'normal' | 'inline' | 'horizontal';\n /**\n * 如果是水平排版,这个属性可以细化水平排版的左右宽度占比。\n */\n horizontal?: FormSchemaHorizontal;\n}\n\n/**\n * 选项卡控件。\n * 文档:https://baidu.gitee.io/amis/docs/components/tabs\n */\nexport interface TabsSchema extends BaseSchema {\n type: 'tabs';\n\n /**\n * 选项卡成员。当配置了 source 时,选项卡成员,将会根据目标数据进行重复。\n */\n tabs: Array<TabSchema>;\n\n /**\n * 关联已有数据,选项卡直接根据目标数据重复。\n */\n source?: string;\n\n /**\n * 类名\n */\n tabsClassName?: SchemaClassName;\n\n /**\n * 展示形式\n */\n tabsMode?: '' | 'line' | 'card' | 'radio' | 'vertical' | 'tiled';\n\n /**\n * 内容类名\n */\n contentClassName?: SchemaClassName;\n\n /**\n * 链接外层类名\n */\n linksClassName?: SchemaClassName;\n\n /**\n * 卡片是否只有在点开的时候加载?\n */\n mountOnEnter?: boolean;\n\n /**\n * 卡片隐藏的时候是否销毁卡片内容\n */\n unmountOnExit?: boolean;\n\n /**\n * 可以在右侧配置点其他功能按钮。\n */\n toolbar?: ActionSchema;\n\n /**\n * 配置子表单项默认的展示方式。\n */\n subFormMode?: 'normal' | 'inline' | 'horizontal';\n /**\n * 如果是水平排版,这个属性可以细化水平排版的左右宽度占比。\n */\n subFormHorizontal?: FormSchemaHorizontal;\n /**\n * 是否支持溢出滚动\n */\n scrollable?: boolean;\n}\n\nexport interface TabsProps\n extends RendererProps,\n Omit<TabsSchema, 'className' | 'contentClassName'> {\n activeKey?: string | number;\n location?: any;\n tabRender?: (tab: TabSchema, props: TabsProps, index: number) => JSX.Element;\n}\n\nexport interface TabsState {\n activeKey: any;\n prevKey: any;\n}\n\nexport default class Tabs extends React.Component<TabsProps, TabsState> {\n static defaultProps: Partial<TabsProps> = {\n className: '',\n mode: '',\n mountOnEnter: true,\n unmountOnExit: false\n };\n\n renderTab?: (tab: TabSchema, props: TabsProps, index: number) => JSX.Element;\n activeKey: any;\n\n constructor(props: TabsProps) {\n super(props);\n\n const location = props.location || window.location;\n const tabs = props.tabs;\n let activeKey: any = 0;\n\n if (typeof props.activeKey !== 'undefined') {\n activeKey = props.activeKey;\n } else if (location && Array.isArray(tabs)) {\n const hash = location.hash.substring(1);\n const tab: TabSchema = find(tabs, tab => tab.hash === hash) as TabSchema;\n\n if (tab) {\n activeKey = tab.hash;\n } else if (props.defaultActiveKey) {\n activeKey = tokenize(props.defaultActiveKey, props.data);\n }\n\n activeKey = activeKey || (tabs[0] && tabs[0].hash) || 0;\n }\n\n this.state = {\n prevKey: undefined,\n activeKey: (this.activeKey = activeKey)\n };\n }\n\n componentDidMount() {\n this.autoJumpToNeighbour(this.activeKey);\n\n let {name, value, onChange, source, tabs, data} = this.props;\n\n // 如果没有配置 name ,说明不需要同步表单值\n if (\n !name ||\n typeof onChange !== 'function' ||\n // 如果关联某个变量数据,则不启用\n source\n ) {\n return;\n }\n\n value = value ?? getVariable(data, name);\n\n // 如果有值,切到对应的 tab\n if (value && Array.isArray(tabs)) {\n const key = this.resolveKeyByValue(value);\n key !== undefined && this.handleSelect(key);\n } else {\n const tab = this.resolveTabByKey(this.activeKey);\n if (tab && value !== ((tab as any).value ?? tab.title)) {\n onChange((tab as any).value ?? tab.title, name);\n }\n }\n }\n\n componentDidUpdate(preProps: TabsProps, prevState: any) {\n const props = this.props;\n\n if (props.location && props.location.hash !== preProps.location.hash) {\n const hash = props.location.hash.substring(1);\n if (!hash) {\n return;\n }\n\n const tab: TabSchema = find(\n props.tabs,\n tab => tab.hash === hash\n ) as TabSchema;\n if (tab && tab.hash && tab.hash !== this.state.activeKey) {\n this.setState({\n activeKey: (this.activeKey = tab.hash),\n prevKey: this.state.activeKey\n });\n }\n } else if (\n Array.isArray(props.tabs) &&\n Array.isArray(preProps.tabs) &&\n JSON.stringify(props.tabs.map(item => item.hash)) !==\n JSON.stringify(preProps.tabs.map(item => item.hash))\n ) {\n let activeKey: any = this.state.activeKey;\n const location = props.location;\n let tab: TabSchema | null = null;\n\n if (location && Array.isArray(props.tabs)) {\n const hash = location.hash.substring(1);\n tab = find(props.tabs, tab => tab.hash === hash) as TabSchema;\n }\n\n if (tab) {\n activeKey = tab.hash;\n } else if (\n !props.tabs ||\n !props.tabs.some((item, index) =>\n item.hash ? item.hash === activeKey : index === activeKey\n )\n ) {\n activeKey = (props.tabs && props.tabs[0] && props.tabs[0].hash) || 0;\n }\n\n this.setState({\n prevKey: undefined,\n activeKey: (this.activeKey = activeKey)\n });\n }\n\n this.autoJumpToNeighbour(this.activeKey);\n\n let {name, value, onChange, source, data} = this.props;\n\n // 如果没有配置 name ,说明不需要同步表单值\n if (\n !name ||\n typeof onChange !== 'function' ||\n // 如果关联某个变量数据,则不启用\n source\n ) {\n return;\n }\n\n let key: any;\n value = value ?? getVariable(data, name);\n const prevValue =\n preProps.value ?? getVariable(preProps.data, preProps.name);\n if (\n value !== prevValue &&\n (key = this.resolveKeyByValue(value)) !== undefined &&\n key !== this.activeKey\n ) {\n this.handleSelect(key);\n } else if (this.activeKey !== prevState.activeKey) {\n const tab = this.resolveTabByKey(this.activeKey);\n if (tab && value !== ((tab as any).value ?? tab.title)) {\n onChange((tab as any).value ?? tab.title, name);\n }\n }\n }\n\n resolveTabByKey(key: any) {\n const tabs = this.props.tabs;\n\n if (!Array.isArray(tabs)) {\n return;\n }\n\n return find(tabs, (tab: TabSchema, index) =>\n tab.hash ? tab.hash === key : index === key\n );\n }\n\n resolveKeyByValue(value: any) {\n const tabs = this.props.tabs;\n\n if (!Array.isArray(tabs)) {\n return;\n }\n\n const tab: TabSchema = find(\n tabs,\n tab => ((tab as any).value ?? tab.title) === value\n ) as TabSchema;\n\n return tab && tab.hash ? tab.hash : tabs.indexOf(tab);\n }\n\n @autobind\n autoJumpToNeighbour(key: any) {\n const {tabs, data} = this.props;\n\n if (!Array.isArray(tabs)) {\n return;\n }\n\n // 当前 tab 可能不可见,所以需要自动切到一个可见的 tab, 向前找,找一圈\n const tabIndex = findIndex(tabs, (tab: TabSchema, index) =>\n tab.hash ? tab.hash === key : index === key\n );\n\n if (tabs[tabIndex] && !isVisible(tabs[tabIndex], this.props.data)) {\n let len = tabs.length;\n let i = tabIndex - 1 + len;\n let tries = len - 1;\n\n while (tries--) {\n const index = i-- % len;\n if (isVisible(tabs[index], data)) {\n let activeKey = tabs[index].hash || index;\n this.setState({\n activeKey: (this.activeKey = activeKey)\n });\n break;\n }\n }\n }\n }\n\n @autobind\n handleSelect(key: any) {\n const {env, onSelect, id} = this.props;\n\n env.tracker?.({\n eventType: 'tabChange',\n eventData: {\n id,\n key\n }\n });\n\n // 是 hash,需要更新到地址栏\n if (typeof key === 'string' && env) {\n env.updateLocation(`#${key}`);\n } else if (typeof this.state.activeKey === 'string' && env) {\n env.updateLocation(`#`);\n }\n\n this.setState({\n activeKey: (this.activeKey = key),\n prevKey: this.state.activeKey\n });\n\n if (typeof onSelect === 'string') {\n const selectFunc = str2AsyncFunction(onSelect, 'key', 'props');\n selectFunc && selectFunc(key, this.props);\n } else if (typeof onSelect === 'function') {\n onSelect(key, this.props);\n }\n }\n\n @autobind\n switchTo(index: number) {\n const {tabs} = this.props;\n\n Array.isArray(tabs) &&\n tabs[index] &&\n this.setState({\n activeKey: (this.activeKey = tabs[index].hash || index)\n });\n }\n\n @autobind\n currentIndex(): number {\n const {tabs} = this.props;\n\n return Array.isArray(tabs)\n ? findIndex(tabs, (tab: TabSchema, index) =>\n tab.hash\n ? tab.hash === this.state.activeKey\n : index === this.state.activeKey\n )\n : -1;\n }\n\n renderToolbar() {\n const {toolbar, render, classnames: cx, toolbarClassName} = this.props;\n\n return toolbar ? (\n <div className={cx(`Tabs-toolbar`, toolbarClassName)}>\n {render('toolbar', toolbar)}\n </div>\n ) : null;\n }\n\n renderTabs() {\n const {\n classnames: cx,\n classPrefix: ns,\n contentClassName,\n linksClassName,\n tabRender,\n className,\n render,\n data,\n mode: dMode,\n tabsMode,\n unmountOnExit,\n source,\n formStore,\n formMode,\n formHorizontal,\n subFormMode,\n subFormHorizontal,\n scrollable\n } = this.props;\n\n const mode = tabsMode || dMode;\n const arr = resolveVariableAndFilter(source, data, '| raw');\n let mountOnEnter = this.props.mountOnEnter;\n\n // 如果在form下面,其他tabs默认需要渲染出来\n // 否则在其他 tab 下面的必填项检测不到\n if (formStore) {\n mountOnEnter = false;\n }\n\n let tabs = this.props.tabs;\n if (!tabs) {\n return null;\n }\n\n tabs = Array.isArray(tabs) ? tabs : [tabs];\n let children: Array<JSX.Element | null> = [];\n\n if (Array.isArray(arr)) {\n arr.forEach((value, index) => {\n const ctx = createObject(\n data,\n isObject(value) ? {index, ...value} : {item: value, index}\n );\n\n children.push(\n ...tabs.map((tab, tabIndex) =>\n isVisible(tab, ctx) ? (\n <Tab\n {...(tab as any)}\n title={filter(tab.title, ctx)}\n disabled={isDisabled(tab, ctx)}\n key={`${index * 1000 + tabIndex}`}\n eventKey={index * 1000 + tabIndex}\n mountOnEnter={mountOnEnter}\n unmountOnExit={\n typeof tab.reload === 'boolean'\n ? tab.reload\n : typeof tab.unmountOnExit === 'boolean'\n ? tab.unmountOnExit\n : unmountOnExit\n }\n >\n {render(\n `item/${index}/${tabIndex}`,\n (tab as any)?.type ? (tab as any) : tab.tab || tab.body,\n {\n data: ctx,\n formMode: tab.mode || subFormMode || formMode,\n formHorizontal:\n tab.horizontal || subFormHorizontal || formHorizontal\n }\n )}\n </Tab>\n ) : null\n )\n );\n });\n } else {\n children = tabs.map((tab, index) =>\n isVisible(tab, data) ? (\n <Tab\n {...(tab as any)}\n title={filter(tab.title, data)}\n disabled={isDisabled(tab, data)}\n key={index}\n eventKey={tab.hash || index}\n mountOnEnter={mountOnEnter}\n unmountOnExit={\n typeof tab.reload === 'boolean'\n ? tab.reload\n : typeof tab.unmountOnExit === 'boolean'\n ? tab.unmountOnExit\n : unmountOnExit\n }\n >\n {this.renderTab\n ? this.renderTab(tab, this.props, index)\n : tabRender\n ? tabRender(tab, this.props, index)\n : render(\n `tab/${index}`,\n (tab as any)?.type ? (tab as any) : tab.tab || tab.body,\n {\n formMode: tab.mode || subFormMode || formMode,\n formHorizontal:\n tab.horizontal || subFormHorizontal || formHorizontal\n }\n )}\n </Tab>\n ) : null\n );\n }\n\n return (\n <CTabs\n classPrefix={ns}\n classnames={cx}\n mode={mode}\n className={className}\n contentClassName={contentClassName}\n linksClassName={linksClassName}\n onSelect={this.handleSelect}\n activeKey={this.state.activeKey}\n toolbar={this.renderToolbar()}\n scrollable={scrollable}\n >\n {children}\n </CTabs>\n );\n }\n\n render() {\n return this.renderTabs();\n }\n}\n@Renderer({\n type: 'tabs'\n})\nexport class TabsRenderer extends Tabs {}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -0,0 +1,65 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { RendererProps } from '../factory';
|
3
|
+
import { BaseSchema, SchemaApi, SchemaCollection, SchemaTokenizeableString } from '../Schema';
|
4
|
+
export interface TimelineItemSchema extends Omit<BaseSchema, 'type'> {
|
5
|
+
/**
|
6
|
+
* 时间点
|
7
|
+
*/
|
8
|
+
time: string;
|
9
|
+
/**
|
10
|
+
* 时间节点标题
|
11
|
+
*/
|
12
|
+
title?: SchemaCollection;
|
13
|
+
/**
|
14
|
+
* 详细内容
|
15
|
+
*/
|
16
|
+
detail?: string;
|
17
|
+
/**
|
18
|
+
* detail折叠时文案
|
19
|
+
*/
|
20
|
+
detailCollapsedText?: string;
|
21
|
+
/**
|
22
|
+
* detail展开时文案
|
23
|
+
*/
|
24
|
+
detailExpandedText?: string;
|
25
|
+
/**
|
26
|
+
* 时间点圆圈颜色
|
27
|
+
*/
|
28
|
+
color?: string;
|
29
|
+
/**
|
30
|
+
* 图标
|
31
|
+
*/
|
32
|
+
icon?: SchemaCollection;
|
33
|
+
}
|
34
|
+
export interface TimelineSchema extends BaseSchema {
|
35
|
+
/**
|
36
|
+
* 指定为 Timeline 时间轴渲染器
|
37
|
+
*/
|
38
|
+
type: 'timeline';
|
39
|
+
/**
|
40
|
+
* 节点数据
|
41
|
+
*/
|
42
|
+
items?: Array<TimelineItemSchema>;
|
43
|
+
/**
|
44
|
+
* API 或 数据映射
|
45
|
+
*/
|
46
|
+
source?: SchemaApi | SchemaTokenizeableString;
|
47
|
+
/**
|
48
|
+
* 文字相对于时间轴展示方向
|
49
|
+
*/
|
50
|
+
mode?: 'left' | 'right' | 'alternate';
|
51
|
+
/**
|
52
|
+
* 展示方向
|
53
|
+
*/
|
54
|
+
direction?: 'horizontal' | 'vertical';
|
55
|
+
/**
|
56
|
+
* 节点倒序
|
57
|
+
*/
|
58
|
+
reverse?: boolean;
|
59
|
+
}
|
60
|
+
export interface TimelineProps extends RendererProps, Omit<TimelineSchema, 'className'> {
|
61
|
+
}
|
62
|
+
export declare function TimelineCmpt(props: TimelineProps): JSX.Element;
|
63
|
+
export declare class TimelineRenderer extends React.Component<TimelineProps> {
|
64
|
+
render(): JSX.Element;
|
65
|
+
}
|
@@ -0,0 +1,54 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.TimelineRenderer = exports.TimelineCmpt = void 0;
|
4
|
+
var tslib_1 = require("tslib");
|
5
|
+
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
6
|
+
var factory_1 = require("../factory");
|
7
|
+
var Timeline_1 = (0, tslib_1.__importDefault)(require("../components/Timeline"));
|
8
|
+
var tpl_1 = require("../utils/tpl");
|
9
|
+
var WithRemoteConfig_1 = require("../components/WithRemoteConfig");
|
10
|
+
function TimelineCmpt(props) {
|
11
|
+
var items = props.items, mode = props.mode, direction = props.direction, reverse = props.reverse, data = props.data, config = props.config, source = props.source, render = props.render;
|
12
|
+
// 获取源数据
|
13
|
+
var timelineItemsRow = config || items || [];
|
14
|
+
// 渲染内容
|
15
|
+
var resolveRender = function (region, val) { return typeof val === 'string'
|
16
|
+
? (0, tpl_1.filter)(val, data)
|
17
|
+
: (val && render(region, val)); };
|
18
|
+
// 处理源数据
|
19
|
+
var resolveTimelineItems = timelineItemsRow === null || timelineItemsRow === void 0 ? void 0 : timelineItemsRow.map(function (timelineItem) {
|
20
|
+
return (0, tslib_1.__assign)((0, tslib_1.__assign)({}, timelineItem), { icon: resolveRender('icon', timelineItem.icon), title: resolveRender('title', timelineItem.title) });
|
21
|
+
});
|
22
|
+
return (react_1.default.createElement(Timeline_1.default, { items: resolveTimelineItems, direction: direction, reverse: reverse, mode: mode }));
|
23
|
+
}
|
24
|
+
exports.TimelineCmpt = TimelineCmpt;
|
25
|
+
var TimelineWithRemoteConfig = (0, WithRemoteConfig_1.withRemoteConfig)({
|
26
|
+
adaptor: function (data) { return data.items || data; }
|
27
|
+
})(/** @class */ (function (_super) {
|
28
|
+
(0, tslib_1.__extends)(class_1, _super);
|
29
|
+
function class_1() {
|
30
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
31
|
+
}
|
32
|
+
class_1.prototype.render = function () {
|
33
|
+
var _a = this.props, config = _a.config, deferLoad = _a.deferLoad, loading = _a.loading, updateConfig = _a.updateConfig, rest = (0, tslib_1.__rest)(_a, ["config", "deferLoad", "loading", "updateConfig"]);
|
34
|
+
return react_1.default.createElement(TimelineCmpt, (0, tslib_1.__assign)({ config: config }, rest));
|
35
|
+
};
|
36
|
+
return class_1;
|
37
|
+
}(react_1.default.Component)));
|
38
|
+
var TimelineRenderer = /** @class */ (function (_super) {
|
39
|
+
(0, tslib_1.__extends)(TimelineRenderer, _super);
|
40
|
+
function TimelineRenderer() {
|
41
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
42
|
+
}
|
43
|
+
TimelineRenderer.prototype.render = function () {
|
44
|
+
return react_1.default.createElement(TimelineWithRemoteConfig, (0, tslib_1.__assign)({}, this.props));
|
45
|
+
};
|
46
|
+
TimelineRenderer = (0, tslib_1.__decorate)([
|
47
|
+
(0, factory_1.Renderer)({
|
48
|
+
type: 'timeline'
|
49
|
+
})
|
50
|
+
], TimelineRenderer);
|
51
|
+
return TimelineRenderer;
|
52
|
+
}(react_1.default.Component));
|
53
|
+
exports.TimelineRenderer = TimelineRenderer;
|
54
|
+
//# sourceMappingURL=./renderers/Timeline.js.map
|
@@ -0,0 +1,13 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"file": "Timeline.js",
|
4
|
+
"sourceRoot": "",
|
5
|
+
"sources": [
|
6
|
+
"/src/renderers/Timeline.tsx"
|
7
|
+
],
|
8
|
+
"names": [],
|
9
|
+
"mappings": ";;;;AAAA,6DAA0B;AAC1B,sCAAmD;AAGnD,iFAA8C;AAC9C,oCAAoC;AACpC,mEAAsF;AA2EtF,SAAgB,YAAY,CAAC,KAAoB;IAE7C,IAAA,KAAK,GAQH,KAAK,MARF,EACL,IAAI,GAOF,KAAK,KAPH,EACJ,SAAS,GAMP,KAAK,UANE,EACT,OAAO,GAKL,KAAK,QALA,EACP,IAAI,GAIF,KAAK,KAJH,EACJ,MAAM,GAGJ,KAAK,OAHD,EACN,MAAM,GAEJ,KAAK,OAFD,EACN,MAAM,GACJ,KAAK,OADD,CACE;IAEV,QAAQ;IACR,IAAM,gBAAgB,GAA8B,MAAM,IAAI,KAAK,IAAI,EAAE,CAAC;IAE1E,OAAO;IACP,IAAM,aAAa,GAAG,UAAC,MAAc,EAAE,GAAsB,IAAK,OAAA,OAAO,GAAG,KAAK,QAAQ;QACvE,CAAC,CAAC,IAAA,YAAM,EAAC,GAAG,EAAE,IAAI,CAAC;QACnB,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAFkB,CAElB,CAAC;IAEjD,QAAQ;IACR,IAAM,oBAAoB,GACvB,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,GAAG,CAAC,UAAC,YAAgC;QACtD,uDACK,YAAY,KACf,IAAI,EAAE,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,EAC9C,KAAK,EAAE,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,IAClD;IACH,CAAC,CAAC,CAAC;IAGL,OAAO,CAAC,8BAAC,kBAAQ,IACP,KAAK,EAAI,oBAAoB,EAC7B,SAAS,EAAI,SAAS,EACtB,OAAO,EAAI,OAAO,EAClB,IAAI,EAAI,IAAI,GACZ,CAAC,CAAA;AACb,CAAC;AArCD,oCAqCC;AAED,IAAM,wBAAwB,GAAG,IAAA,mCAAgB,EAAC;IAChD,OAAO,EAAE,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,KAAK,IAAI,IAAI,EAAlB,CAAkB;CACpC,CAAC;IACc,wCAEb;IAFD;;IAOA,CAAC;IAJC,wBAAM,GAAN;QACE,IAAM,KAAsD,IAAI,CAAC,KAAK,EAA/D,MAAM,YAAA,EAAE,SAAS,eAAA,EAAE,OAAO,aAAA,EAAE,YAAY,kBAAA,EAAK,IAAI,2BAAlD,kDAAmD,CAAa,CAAC;QACvE,OAAO,8BAAC,YAAY,0BAAC,MAAM,EAAE,MAAM,IAAM,IAAI,EAAI,CAAC;IACpD,CAAC;IACH,cAAC;AAAD,CAAC,AAPD,CAAc,eAAK,CAAC,SAAS,GAQ9B,CAAC;AAKF;IAAsC,iDAA8B;IAApE;;IAIA,CAAC;IAHC,iCAAM,GAAN;QACE,OAAQ,8BAAC,wBAAwB,4BAAK,IAAI,CAAC,KAAK,EAAI,CAAC;IACvD,CAAC;IAHU,gBAAgB;QAH5B,IAAA,kBAAQ,EAAC;YACR,IAAI,EAAE,UAAU;SACjB,CAAC;OACW,gBAAgB,CAI5B;IAAD,uBAAC;CAAA,AAJD,CAAsC,eAAK,CAAC,SAAS,GAIpD;AAJY,4CAAgB",
|
10
|
+
"sourcesContent": [
|
11
|
+
"import React from 'react';\nimport {Renderer, RendererProps} from '../factory';\nimport {BaseSchema, SchemaApi, SchemaCollection, SchemaTokenizeableString} from '../Schema';\nimport {resolveVariable} from '../utils/tpl-builtin';\nimport Timeline from '../components/Timeline';\nimport {filter} from '../utils/tpl';\nimport { RemoteOptionsProps, withRemoteConfig } from '../components/WithRemoteConfig';\n\nexport interface TimelineItemSchema extends Omit<BaseSchema, 'type'> {\n /**\n * 时间点\n */\n time: string;\n\n /**\n * 时间节点标题\n */\n title?: SchemaCollection;\n\n /**\n * 详细内容\n */\n detail?: string;\n\n /**\n * detail折叠时文案\n */\n detailCollapsedText?: string;\n\n /**\n * detail展开时文案\n */\n detailExpandedText?: string;\n\n /**\n * 时间点圆圈颜色\n */\n color?: string;\n\n /**\n * 图标\n */\n icon?: SchemaCollection;\n}\n\nexport interface TimelineSchema extends BaseSchema {\n /**\n * 指定为 Timeline 时间轴渲染器\n */\n type: 'timeline';\n\n /**\n * 节点数据\n */\n items?: Array<TimelineItemSchema>;\n\n /**\n * API 或 数据映射\n */\n source?: SchemaApi | SchemaTokenizeableString;\n\n /**\n * 文字相对于时间轴展示方向\n */\n mode?: 'left' | 'right' | 'alternate';\n\n /**\n * 展示方向\n */\n direction?: 'horizontal' | 'vertical'\n\n /**\n * 节点倒序\n */\n reverse?: boolean,\n}\n\nexport interface TimelineProps\n extends RendererProps,\n Omit<TimelineSchema, 'className'> {}\n\nexport function TimelineCmpt(props: TimelineProps) {\n const {\n items,\n mode,\n direction,\n reverse,\n data,\n config,\n source,\n render\n } = props;\n\n // 获取源数据\n const timelineItemsRow: Array<TimelineItemSchema> = config || items || [];\n\n // 渲染内容\n const resolveRender = (region: string, val?: SchemaCollection) => typeof val === 'string'\n ? filter(val, data)\n : (val && render(region, val));\n\n // 处理源数据\n const resolveTimelineItems =\n timelineItemsRow?.map((timelineItem: TimelineItemSchema) => {\n return {\n ...timelineItem,\n icon: resolveRender('icon', timelineItem.icon),\n title: resolveRender('title', timelineItem.title),\n }\n });\n\n\n return (<Timeline\n items = {resolveTimelineItems}\n direction = {direction}\n reverse = {reverse}\n mode = {mode}\n />)\n}\n\nconst TimelineWithRemoteConfig = withRemoteConfig({\n adaptor: data => data.items || data\n})(\n class extends React.Component<\n RemoteOptionsProps & React.ComponentProps<typeof TimelineCmpt>\n > {\n render() {\n const {config, deferLoad, loading, updateConfig, ...rest} = this.props;\n return <TimelineCmpt config={config} {...rest} />;\n }\n }\n);\n\n@Renderer({\n type: 'timeline'\n})\nexport class TimelineRenderer extends React.Component<TimelineProps> {\n render() {\n return <TimelineWithRemoteConfig {...this.props} />;\n }\n}\n"
|
12
|
+
]
|
13
|
+
}
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Video.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";AAAA;;;GAGG;;;;AAEH,6DAA0B;AAE1B,2CAOqB;AACrB,0CAAqD;AACrD,sCAAmD;AACnD,oDAAqD;AACrD,oCAAoC;AACpC,aAAa;AACb,4CAA0C;AAiG1C,IAAM,WAAW,GAA4B,UAAA,GAAG;IAC9C,OAAA,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;QACd,CAAC,CAAC,GAAG;aACA,KAAK,CAAC,GAAG,CAAC;aACV,OAAO,EAAE;aACT,MAAM,CACL,UAAC,OAAO,EAAE,KAAK,EAAE,KAAK;YACpB,OAAA,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC;QAA1D,CAA0D,EAC5D,CAAC,CACF;QACL,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC;AATrB,CASqB,CAAC;AAexB,kCAAkC;AAElC;IAA+B,0CAAoC;IAAnE;QAAA,qEAyIC;QAvIC,YAAM,GAAG,KAAK,CAAC;;IAuIjB,CAAC;IAnIC,qCAAiB,GAAjB;QACM,IAAA,KASA,IAAI,CAAC,KAAK,EARZ,GAAG,SAAA,EACH,KAAK,WAAA,EACL,MAAM,YAAA,EACN,OAAO,aAAA,EACP,MAAM,YAAA,EACN,QAAQ,cAAA,EACR,OAAO,aAAA,EACP,QAAQ,cACI,CAAC;QAEf,IAAI,CAAC,OAAO,CAAC;YACX,KAAK,OAAA;YACL,OAAO,SAAA;YACP,GAAG,KAAA;YACH,MAAM,QAAA;YACN,MAAM,QAAA;YACN,OAAO,SAAA;YACP,QAAQ,UAAA;YACR,QAAQ,UAAA;SACT,CAAC,CAAC;IACL,CAAC;IAED,sCAAkB,GAAlB,UAAmB,SAAyB;;QAC1C,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAEvB,IAAA,QAAQ,GAQN,KAAK,SARC,EACR,OAAO,GAOL,KAAK,QAPA,EACP,GAAG,GAMD,KAAK,IANJ,EACH,QAAQ,GAKN,KAAK,SALC,EACR,MAAM,GAIJ,KAAK,OAJD,EACN,MAAM,GAGJ,KAAK,OAHD,EACN,KAAK,GAEH,KAAK,MAFF,EACL,OAAO,GACL,KAAK,QADA,CACC;QAEV,IAAI,GAAG,KAAK,SAAS,CAAC,GAAG,EAAE;YACzB,QAAQ,CAAC,EAAE,CAAC,CAAC;YACb,MAAA,IAAI,CAAC,YAAY,0CAAE,OAAO,EAAE,CAAC;YAC7B,MAAA,IAAI,CAAC,WAAW,+CAAhB,IAAI,CAAgB,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC;gBACX,KAAK,OAAA;gBACL,OAAO,SAAA;gBACP,GAAG,KAAA;gBACH,MAAM,QAAA;gBACN,MAAM,QAAA;gBACN,OAAO,SAAA;gBACP,QAAQ,UAAA;gBACR,QAAQ,UAAA;aACT,CAAC,CAAC;SACJ;IACH,CAAC;IAED,wCAAoB,GAApB;;QACE,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC5B,MAAA,MAAA,IAAI,CAAC,KAAK,EAAC,QAAQ,mDAAG,EAAE,CAAC,CAAC;SAC3B;IACH,CAAC;IAED,2BAAO,GAAP,UAAQ,EASF;QATN,iBA8DC;YA7DC,KAAK,WAAA,EACL,OAAO,aAAA,EACP,GAAG,SAAA,EACH,MAAM,YAAA,EACN,MAAM,YAAA,EACN,OAAO,aAAA,EACP,QAAQ,cAAA,EACR,QAAQ,cAAA;QAER,8EAAO,WAAW,OAAE,IAAI,CAAC,UAAC,MAAW;YACnC,KAAK,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAExD,IAAI,YAAY,GAAG,MAAM,CAAC,YAAY,CACpC;gBACE,IAAI,EAAE,KAAK;gBACX,GAAG,EAAE,GAAG;gBACR,MAAM,EAAE,MAAM;aACf,EACD,MAAM,CACP,CAAC;YACF,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACvC,KAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YAEjC,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC,+BAA+B,CACxD,UAAC,SAAc;gBACb,IAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC;gBAExC,IAAI,IAAI,KAAK,MAAM,EAAE;oBACnB,YAAY,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC;oBACzB,IAAI,CAAC,KAAI,CAAC,MAAM,EAAE;wBAChB,KAAI,CAAC,MAAM,GAAG,IAAI,CAAC;wBACnB,YAAY,CAAC,IAAI,EAAE,CAAC;qBACrB;oBAED,YAAY,CAAC,IAAI,EAAE,CAAC;iBACrB;qBAAM,IAAI,IAAI,KAAK,OAAO,EAAE;oBAC3B,YAAY,CAAC,KAAK,EAAE,CAAC;oBAErB,IAAI,MAAM,EAAE;wBACV,KAAI,CAAC,KAAK,GAAG,UAAU,CAAC;4BACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;4BAChB,YAAY,CAAC,MAAM,EAAE,CAAC;4BACtB,KAAI,CAAC,MAAM,GAAG,KAAK,CAAC;wBACtB,CAAC,EAAE,KAAK,CAAC,CAAC;qBACX;iBACF;YACH,CAAC,CACF,CAAC;YAEF,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE;gBACjD,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;YACH,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;gBACnC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACnB,YAAY,CAAC,MAAM,EAAE,CAAC;YACxB,CAAC,CAAC,CAAC;YAEH,IAAI,QAAQ,EAAE;gBACZ,UAAU,CAAC,cAAM,OAAA,OAAO,CAAC,IAAI,EAAE,EAAd,CAAc,EAAE,GAAG,CAAC,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0BAAM,GAAN;QACE,OAAO,CACL,0CAAQ,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,aAAa,GAAI,CACxE,CAAC;IACJ,CAAC;IACH,gBAAC;AAAD,CAAC,AAzID,CAA+B,eAAK,CAAC,SAAS,GAyI7C;AAzIY,8BAAS;AAsJtB;IAA+B,0CAAoC;IAAnE;QAAA,qEAsFC;QApFC,YAAM,GAAG,KAAK,CAAC;;IAoFjB,CAAC;IAlFC,qCAAiB,GAAjB;QACM,IAAA,KAA2D,IAAI,CAAC,KAAK,EAApE,GAAG,SAAA,EAAE,KAAK,WAAA,EAAE,MAAM,YAAA,EAAE,OAAO,aAAA,EAAE,MAAM,YAAA,EAAE,QAAQ,cAAA,EAAE,OAAO,aAAc,CAAC;QAC1E,IAAI,CAAC,OAAO,CAAC;YACX,KAAK,OAAA;YACL,OAAO,SAAA;YACP,GAAG,KAAA;YACH,QAAQ,UAAA;YACR,OAAO,SAAA;SACR,CAAC,CAAC;IACL,CAAC;IAED,wCAAoB,GAApB;QACE,IAAI,IAAI,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;SACxB;IACH,CAAC;IAED,sCAAkB,GAAlB,UAAmB,SAAyB;;QAC1C,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACpB,IAAA,QAAQ,GAAkD,KAAK,SAAvD,EAAE,OAAO,GAAyC,KAAK,QAA9C,EAAE,GAAG,GAAoC,KAAK,IAAzC,EAAE,MAAM,GAA4B,KAAK,OAAjC,EAAE,MAAM,GAAoB,KAAK,OAAzB,EAAE,KAAK,GAAa,KAAK,MAAlB,EAAE,OAAO,GAAI,KAAK,QAAT,CAAU;QAErE,IAAI,GAAG,KAAK,SAAS,CAAC,GAAG,EAAE;YACzB,MAAA,IAAI,CAAC,GAAG,0CAAE,QAAQ,EAAE,CAAC;YACrB,MAAA,IAAI,CAAC,GAAG,0CAAE,WAAW,EAAE,CAAC;YACxB,MAAA,IAAI,CAAC,WAAW,+CAAhB,IAAI,CAAgB,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC;gBACX,KAAK,OAAA;gBACL,OAAO,SAAA;gBACP,GAAG,KAAA;gBACH,QAAQ,UAAA;gBACR,OAAO,SAAA;aACR,CAAC,CAAC;SACJ;IACH,CAAC;IAED,2BAAO,GAAP,UAAQ,EAA6C;QAArD,iBAmCC;YAnCQ,KAAK,WAAA,EAAE,OAAO,aAAA,EAAE,GAAG,SAAA,EAAE,QAAQ,cAAA,EAAE,OAAO,aAAA;QAC7C,aAAa;QACb,8EAAO,QAAQ,OAAE,IAAI,CAAC,UAAC,EAAmB;gBAAT,GAAG,aAAA;YAClC,uCAAuC;YACvC,IAAI,GAAG,CAAC,WAAW,EAAE,EAAE;gBACrB,KAAK,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAExD,IAAI,KAAG,GAAG,CAAC,KAAI,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC;oBAC5B,aAAa,EAAE,KAAK;iBACrB,CAAC,CAAC,CAAC;gBACJ,KAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACvB,KAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAEpB,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC,+BAA+B,CACxD,UAAC,SAAc;oBACb,IAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC;oBAExC,IAAI,IAAI,KAAK,MAAM,EAAE;wBACnB,IAAI,CAAC,KAAI,CAAC,MAAM,EAAE;4BAChB,KAAI,CAAC,MAAM,GAAG,IAAI,CAAC;4BACnB,KAAG,CAAC,SAAS,EAAE,CAAC;yBACjB;wBAED,KAAK,CAAC,IAAI,EAAE,CAAC;qBACd;yBAAM,IAAI,IAAI,KAAK,OAAO,EAAE;wBAC3B,KAAK,CAAC,KAAK,EAAE,CAAC;wBACd,KAAG,CAAC,QAAQ,EAAE,CAAC;wBACf,KAAI,CAAC,MAAM,GAAG,KAAK,CAAC;qBACrB;gBACH,CAAC,CACF,CAAC;gBAEF,QAAQ,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aAC3C;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0BAAM,GAAN;QACE,OAAO,CACL,0CACE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EACnB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,uBAAuB,GAChD,CACH,CAAC;IACJ,CAAC;IACH,gBAAC;AAAD,CAAC,AAtFD,CAA+B,eAAK,CAAC,SAAS,GAsF7C;AAtFY,8BAAS;AAoGtB;IAAmC,sCAAuC;IAaxE,eAAY,KAAiB;QAA7B,YACE,kBAAM,KAAK,CAAC,SAab;QAXC,KAAI,CAAC,KAAK,GAAG;YACX,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,EAAE;SACf,CAAC;QAEF,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACzC,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC3C,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC3C,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACnD,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;;IAC3C,CAAC;IAED,6BAAa,GAAb,UAAc,CAAQ;QAAtB,iBAYC;QAXC,IAAI,KAAK,GAAQ,IAAI,KAAK,EAAE,CAAC;QAC7B,KAAK,CAAC,MAAM,GAAG;YACb,KAAI,CAAC,QAAQ,CAAC;gBACZ,UAAU,EAAE;oBACV,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;iBACrB;aACF,CAAC,CAAC;YACH,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QAC9B,CAAC,CAAC;QACF,KAAK,CAAC,GAAG,GAAI,CAAC,CAAC,MAAsB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,wBAAQ,GAAR,UAAS,GAAQ;QACf,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;IACtB,CAAC;IAED,yBAAS,GAAT,UAAU,GAAQ;QAChB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;IACvB,CAAC;IAED,yBAAS,GAAT,UAAU,MAAW;QAArB,iBA+CC;QA9CC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QAED,MAAM,CAAC,sBAAsB,CAAC,UAAC,KAAU;YACvC,KAAI,CAAC,QAAQ,CAAC;gBACZ,UAAU,EAAE,KAAK;aAClB,CAAC,CAAC;YAEH,uBAAuB;YACvB,SAAS;YACT,wBAAwB;YACxB,8BAA8B;YAC9B,gCAAgC;YAChC,QAAQ;YACR,8BAA8B;YAC9B,MAAM;YAEN,6BAA6B;YAC7B,IAAI;YAEJ,IAAI,CAAC,KAAI,CAAC,QAAQ,IAAI,CAAC,KAAI,CAAC,KAAK,EAAE;gBACjC,OAAO;aACR;YAED,IAAM,kBAAkB,GAAG,KAAI,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,CAAC;YAC9D,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAM,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC;YACzB,IAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;YACzB,OAAO,KAAK,GAAG,GAAG,GAAG,CAAC,EAAE;gBACtB,IACE,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;oBAChB,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,kBAAkB,EACzD;oBACA,MAAM;iBACP;gBAED,KAAK,EAAE,CAAC;aACT;YAED,IAAI,KAAI,CAAC,YAAY,KAAK,KAAK,EAAE;gBAC/B,KAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;aAC/B;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iCAAiB,GAAjB,UAAkB,KAAa;QACtB,IAAa,EAAE,GAAI,IAAI,CAAC,KAAK,YAAd,CAAe;QACrC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACrC,OAAO;SACR;QACD,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAI,EAAE,gBAAa,CAAC,CAAC;QAElE,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;YACzC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC;YACxD,IAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,YAAY,CACzB,OAAO,EACP,aAAU,IAAI,CAAC,KAAK,GAAG,CAAC,sBAAe,IAAI,CAAC,MAAM,GAAG,CAAC,oBACpD,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,mBACpB,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,SAAK,CAC9C,CAAC;SACH;IACH,CAAC;IAED,2BAAW,GAAX,UAAY,KAAa;QACvB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YACxD,OAAO;SACR;QACD,IAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,CAAC;QAC9D,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,kBAAkB,CAAC,CAAC;QAC/C,MAAM,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,uBAAO,GAAP,UAAQ,CAAQ;QACd,mBAAmB;QACnB,CAAC,CAAC,cAAc,EAAE,CAAC;IACrB,CAAC;IAED,wBAAQ,GAAR,UAAS,KAAc;QACrB,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,IAAI,CAAC,QAAQ,CAAC;YACZ,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;QAEH,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,EAAE,CAAC;IAClB,CAAC;IAED,4BAAY,GAAZ;QAAA,iBAoFC;QAnFK,IAAA,KAQA,IAAI,CAAC,KAAK,EAPZ,MAAM,YAAA,EACN,eAAe,qBAAA,EACf,YAAY,kBAAA,EACZ,IAAI,UAAA,EACJ,SAAS,eAAA,EACI,EAAE,iBAAA,EACH,EAAE,gBACF,CAAC;QAEf,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YACnD,MAAM,GAAG,IAAA,6BAAe,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SACxC;QAED,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,IAAI,CAAC;SACb;QAED,IAAM,KAAK,GAAkB,EAAE,CAAC;QAChC,IAAM,KAAK,GAAkB,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAA,IAAI;YAC9B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YAE9B,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,IAAI;gBACV,GAAG,EAAE,MAAO,CAAC,IAAI,CAAC;aACnB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACjB,OAAO,IAAI,CAAC;SACb;QAED,OAAO,CACL,uCACE,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE,eAAe,CAAC,EACzD,GAAG,EAAE,IAAI,CAAC,QAAQ;YAEjB,IAAA,eAAM,EAAC,KAAK,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,UAAC,KAAK,EAAE,CAAC;gBACxC,IAAI,SAAS,GAAI,YAAuB,GAAG,KAAK,CAAC,MAAM,CAAC;gBACxD,IAAI,UAAU,GAAG,EAAE,CAAC;gBAEpB,OAAO,SAAS,EAAE,EAAE;oBAClB,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBACrB;gBAED,OAAO,CACL,uCAAK,SAAS,EAAC,aAAa,EAAC,GAAG,EAAE,CAAC;oBACjC,uCAAK,SAAS,EAAK,EAAE,aAAQ,EAAE,oBAAiB;wBAC7C,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,GAAG,IAAK,OAAA,CACxB,uCACE,SAAS,EAAK,EAAE,8BAAyB,EAAE,gBAAa,EACxD,GAAG,EAAE,GAAG,EACR,OAAO,EAAE;gCACP,OAAA,KAAI,CAAC,WAAW,CAAC,CAAC,GAAI,YAAuB,GAAG,GAAG,CAAC;4BAApD,CAAoD;4BAGrD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CACV,uCAAK,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAC,QAAQ,EAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAI,CACvD,CAAC,CAAC,CAAC,IAAI;4BACR,uCAAK,SAAS,EAAK,EAAE,qBAAkB,IAAG,IAAI,CAAC,IAAI,CAAO,CACtD,CACP,EAbyB,CAazB,CAAC;wBAGA,UAAU,CAAC,SAAS;4BAClB,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,KAAK,IAAK,OAAA,CAC3B,uCACE,SAAS,EAAK,EAAE,0BAAuB,EACvC,GAAG,EAAE,WAAS,KAAO,GACrB,CACH,EAL4B,CAK5B,CAAC;4BACJ,CAAC,CAAC,IAAI,CAEN,CACF,CACP,CAAC;YACJ,CAAC,CAAC;YACD,SAAS,CAAC,CAAC,CAAC,CACX,wCAAM,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAK,EAAE,iBAAc,GAAI,CAC9D,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,CAAC;IACJ,CAAC;IAED,4BAAY,GAAZ;QACM,IAAA,KAgBA,IAAI,CAAC,KAAK,EAfZ,MAAM,YAAA,EACN,QAAQ,cAAA,EACR,KAAK,WAAA,EACL,IAAI,UAAA,EACJ,IAAI,UAAA,EACJ,UAAU,gBAAA,EACV,MAAM,YAAA,EACN,MAAM,YAAA,EACN,gBAAgB,sBAAA,EAChB,SAAS,eAAA,EACT,eAAe,qBAAA,EACF,EAAE,iBAAA,EACf,WAAW,iBAAA,EACX,KAAK,WAAA,EACO,EAAE,gBACF,CAAC;QAEf,IAAI,MAAM,GACR,IAAA,YAAM,EAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAA,qBAAY,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpE,IAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QACzC,IAAI,SAAS,GACX,UAAU,CAAC,QAAQ;YACnB,gBAAgB;YAChB,UAAU,CAAC,QAAQ,GAAG,gBAAgB,CAAC;QACzC,IAAI,GAAG,GAAG,IAAA,YAAM,EAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,IAAI,UAAU,CAAC;QACf,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAE/B,IACE,CAAC,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC;YAC5C,SAAS,KAAK,aAAa,EAC3B;YACA,UAAU,GAAG,CACX,8BAAC,SAAS,IACR,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,IAAI,CAAC,QAAQ,GACvB,CACH,CAAC;SACH;aAAM,IACL,CAAC,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnC,SAAS,KAAK,uBAAuB,EACrC;YACA,UAAU,GAAG,8BAAC,SAAS,IAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,GAAI,CAAC;SACxE;aAAM;YACL,UAAU,GAAG,0CAAQ,GAAG,EAAE,GAAG,GAAI,CAAC;SACnC;QAED,OAAO,CACL,uCAAK,SAAS,EAAE,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;YACjD,8BAAC,oBAAM,IACL,GAAG,EAAE,IAAI,CAAC,SAAS,EACnB,MAAM,EAAE,IAAA,YAAM,EAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,EACrC,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW;gBAEvB,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CACvB,8BAAC,wBAAU;oBACT,8BAAC,oCAAsB,IAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,GAAI,CACzC,CACd,CAAC,CAAC,CAAC,IAAI;gBACR,8BAAC,2BAAa,IAAC,QAAQ,EAAC,QAAQ,GAAG;gBAClC,UAAU;gBACX,8BAAC,sBAAQ,IAAC,QAAQ,SAAG,CACd;YAER,KAAK,CAAC,CAAC,CAAC,uCAAK,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,IAAG,KAAK,CAAO,CAAC,CAAC,CAAC,IAAI;YAC/D,SAAS,CAAC,CAAC,CAAC,CACX,qCAAG,SAAS,EAAE,YAAU,EAAE,iBAAc;;gBAC9B,gBAAgB;0BACtB,CACL,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,CAAC;IACJ,CAAC;IAED,qCAAqB,GAArB;QACM,IAAA,KAA6D,IAAI,CAAC,KAAK,EAAtE,MAAM,YAAA,EAAE,IAAI,UAAA,EAAE,MAAM,YAAA,EAAE,kBAAkB,wBAAA,EAAc,EAAE,gBAAc,CAAC;QAC5E,IAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC;QAC/C,IAAI,kBAAkB,GAAG,EAAE,CAAC;QAE5B,IACE,UAAU;YACV,kBAAkB;YAClB,CAAC,kBAAkB,CAAC,KAAK,IAAI,kBAAkB,CAAC,MAAM,CAAC;YACvD,CAAC,kBAAkB,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK;gBAC1C,kBAAkB,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,EAChD;YACA,kBAAkB,GAAG,cAAc,CAAC;SACrC;QAED,OAAO,CACL,uCAAK,SAAS,EAAC,YAAY;YACzB,uCAAK,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC;gBACxB,uCAAK,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC;oBAC5B,uCAAK,SAAS,EAAE,EAAE,CAAC,qBAAqB,CAAC;wBACvC,uCACE,MAAM,EAAE,IAAI,CAAC,aAAoB,EACjC,SAAS,EAAC,QAAQ,EAClB,GAAG,EAAC,QAAQ,EACZ,GAAG,EAAE,IAAA,YAAM,EAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,GAClC;wBACF,qCAAG,SAAS,EAAC,QAAQ;;4BAChB,GAAG;4BACN,wCAAM,SAAS,EAAE,kBAAkB;gCAChC,UAAU,CAAC,KAAK,IAAI,GAAG;;gCAAK,UAAU,CAAC,MAAM,IAAI,GAAG,CAChD;4BACN,kBAAkB,CAAC,CAAC,CAAC,CACpB;gCACG,GAAG;;gCACG,GAAG;gCACV,wCAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC;oCAChC,kBAAkB,CAAC,KAAK,IAAI,GAAG;;oCAAI,GAAG;oCACtC,kBAAkB,CAAC,MAAM,IAAI,GAAG,CAC5B,CACF,CACR,CAAC,CAAC,CAAC,IAAI,CACN,CACA,CACF;gBACN,uCAAK,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC;oBAC5B,uCAAK,SAAS,EAAE,EAAE,CAAC,qBAAqB,CAAC,IACtC,IAAI,CAAC,YAAY,EAAE,CAChB,CACF,CACF,CACF,CACP,CAAC;IACJ,CAAC;IAED,sBAAM,GAAN;QACM,IAAA,KAA4D,IAAI,CAAC,KAAK,EAArE,WAAW,iBAAA,EAAE,SAAS,eAAA,EAAe,EAAE,iBAAA,EAAc,EAAE,gBAAc,CAAC;QAE3E,OAAO,CACL,uCAAK,SAAS,EAAE,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAc;YACjE,IAAI,CAAC,YAAY,EAAE;YACnB,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAC7D,CACP,CAAC;IACJ,CAAC;IA1XM,kBAAY,GAAG;QACpB,YAAY,EAAE,CAAC;QACf,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,MAAM;KACpB,CAAC;IAsXJ,YAAC;CAAA,AA5XD,CAAmC,eAAK,CAAC,SAAS,GA4XjD;kBA5XoB,KAAK;AAiY1B;IAAmC,8CAAK;IAAxC;;IAA0C,CAAC;IAA9B,aAAa;QAHzB,IAAA,kBAAQ,EAAC;YACR,IAAI,EAAE,OAAO;SACd,CAAC;OACW,aAAa,CAAiB;IAAD,oBAAC;CAAA,AAA3C,CAAmC,KAAK,GAAG;AAA9B,sCAAa",
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"/**\n * @file video\n * @author fex\n */\n\nimport React from 'react';\n\nimport {\n Player,\n Shortcut,\n BigPlayButton,\n ControlBar,\n PlaybackRateMenuButton\n // @ts-ignore\n} from 'video-react';\nimport {getPropValue, padArr} from '../utils/helper';\nimport {Renderer, RendererProps} from '../factory';\nimport {resolveVariable} from '../utils/tpl-builtin';\nimport {filter} from '../utils/tpl';\n// import css\nimport 'video-react/dist/video-react.css';\nimport {BaseSchema, SchemaClassName, SchemaUrlPath} from '../Schema';\n\n/**\n * 视频播放器\n * 文档:https://baidu.gitee.io/amis/docs/components/video\n */\nexport interface VideoSchema extends BaseSchema {\n /**\n * 指定为视频类型\n */\n type: 'video';\n\n /**\n * 是否自动播放\n */\n autoPlay?: boolean;\n\n /**\n * 如果显示切帧,通过此配置项可以控制每行显示多少帧\n */\n columnsCount?: number;\n\n /**\n * 设置后,可以显示切帧.点击帧的时候会将视频跳到对应时间。\n *\n * frames: {\n * '01:22': 'http://domain/xxx.jpg'\n * }\n */\n frames?: {\n [propName: string]: string;\n };\n\n /**\n * 配置帧列表容器className\n */\n framesClassName?: SchemaClassName;\n\n /**\n * 如果是实时的,请标记一下\n */\n isLive?: boolean;\n\n /**\n * 点击帧画面时是否跳转视频对应的点\n *\n * @default true\n */\n jumpFrame?: boolean;\n\n /**\n * 是否初始静音\n */\n muted?: boolean;\n\n /**\n * 配置播放器 className\n */\n playerClassName?: SchemaClassName;\n\n /**\n * 视频封面地址\n */\n poster?: SchemaUrlPath;\n\n /**\n * 是否将视频和封面分开显示\n */\n splitPoster?: boolean;\n\n /**\n * 视频播放地址\n */\n src?: SchemaUrlPath;\n\n /**\n * 视频类型如: video/x-flv\n */\n videoType?: string;\n\n /**\n * 视频比率\n */\n aspectRatio?: 'auto' | '4:3' | '16:9';\n\n /**\n * 视频速率\n */\n rates?: Array<number>;\n\n /**\n * 跳转到帧时,往前多少秒。\n */\n jumpBufferDuration?: number;\n}\n\nconst str2seconds: (str: string) => number = str =>\n str.indexOf(':')\n ? str\n .split(':')\n .reverse()\n .reduce(\n (seconds, value, index) =>\n seconds + (parseInt(value, 10) || 0) * Math.pow(60, index),\n 0\n )\n : parseInt(str, 10);\n\nexport interface FlvSourceProps {\n src?: string;\n type?: string;\n video?: any;\n config?: object;\n manager?: any;\n isLive?: boolean;\n autoPlay?: boolean;\n actions?: any;\n order?: number;\n setError: (error: string) => void;\n}\n\n// let currentPlaying: any = null;\n\nexport class FlvSource extends React.Component<FlvSourceProps, any> {\n mpegtsPlayer: any;\n loaded = false;\n timer: any;\n unsubscribe: any;\n\n componentDidMount() {\n let {\n src,\n video,\n config,\n manager,\n isLive,\n autoPlay,\n actions,\n setError\n } = this.props;\n\n this.initFlv({\n video,\n manager,\n src,\n isLive,\n config,\n actions,\n setError,\n autoPlay\n });\n }\n\n componentDidUpdate(prevProps: FlvSourceProps) {\n const props = this.props;\n let {\n autoPlay,\n actions,\n src,\n setError,\n isLive,\n config,\n video,\n manager\n } = props;\n\n if (src !== prevProps.src) {\n setError('');\n this.mpegtsPlayer?.destroy();\n this.unsubscribe?.();\n this.loaded = false;\n this.initFlv({\n video,\n manager,\n src,\n isLive,\n config,\n actions,\n setError,\n autoPlay\n });\n }\n }\n\n componentWillUnmount() {\n if (this.mpegtsPlayer) {\n this.mpegtsPlayer.destroy();\n this.props.setError?.('');\n }\n }\n\n initFlv({\n video,\n manager,\n src,\n isLive,\n config,\n actions,\n setError,\n autoPlay\n }: any) {\n import('mpegts.js').then((mpegts: any) => {\n video = video || (manager.video && manager.video.video);\n\n let mpegtsPlayer = mpegts.createPlayer(\n {\n type: 'flv',\n url: src,\n isLive: isLive\n },\n config\n );\n mpegtsPlayer.attachMediaElement(video);\n this.mpegtsPlayer = mpegtsPlayer;\n\n this.unsubscribe = manager.subscribeToOperationStateChange(\n (operation: any) => {\n const type = operation.operation.action;\n\n if (type === 'play') {\n clearTimeout(this.timer);\n if (!this.loaded) {\n this.loaded = true;\n mpegtsPlayer.load();\n }\n\n mpegtsPlayer.play();\n } else if (type === 'pause') {\n mpegtsPlayer.pause();\n\n if (isLive) {\n this.timer = setTimeout(() => {\n actions.seek(0);\n mpegtsPlayer.unload();\n this.loaded = false;\n }, 30000);\n }\n }\n }\n );\n\n mpegtsPlayer.on(mpegts.Events.RECOVERED_EARLY_EOF, () => {\n setError('直播已经结束');\n });\n mpegtsPlayer.on(mpegts.Events.ERROR, () => {\n setError('视频加载失败');\n mpegtsPlayer.unload();\n });\n\n if (autoPlay) {\n setTimeout(() => actions.play(), 200);\n }\n });\n }\n\n render() {\n return (\n <source src={this.props.src} type={this.props.type || 'video/x-flv'} />\n );\n }\n}\n\nexport interface HlsSourceProps {\n src?: string;\n type?: string;\n video?: any;\n config?: object;\n manager?: any;\n isLive?: boolean;\n autoPlay?: boolean;\n actions?: any;\n order?: number;\n}\nexport class HlsSource extends React.Component<HlsSourceProps, any> {\n hls: any;\n loaded = false;\n unsubscribe: any;\n componentDidMount() {\n let {src, video, config, manager, isLive, autoPlay, actions} = this.props;\n this.initHls({\n video,\n manager,\n src,\n autoPlay,\n actions\n });\n }\n\n componentWillUnmount() {\n if (this.hls) {\n this.hls.stopLoad();\n this.hls.detachMedia();\n }\n }\n\n componentDidUpdate(prevProps: HlsSourceProps) {\n const props = this.props;\n let {autoPlay, actions, src, isLive, config, video, manager} = props;\n\n if (src !== prevProps.src) {\n this.hls?.stopLoad();\n this.hls?.detachMedia();\n this.unsubscribe?.();\n this.loaded = false;\n this.initHls({\n video,\n manager,\n src,\n autoPlay,\n actions\n });\n }\n }\n\n initHls({video, manager, src, autoPlay, actions}: any) {\n // @ts-ignore\n import('hls.js').then(({default: Hls}: any) => {\n // load hls video source base on hls.js\n if (Hls.isSupported()) {\n video = video || (manager.video && manager.video.video);\n\n let hls = (this.hls = new Hls({\n autoStartLoad: false\n }));\n hls.attachMedia(video);\n hls.loadSource(src);\n\n this.unsubscribe = manager.subscribeToOperationStateChange(\n (operation: any) => {\n const type = operation.operation.action;\n\n if (type === 'play') {\n if (!this.loaded) {\n this.loaded = true;\n hls.startLoad();\n }\n\n video.play();\n } else if (type === 'pause') {\n video.pause();\n hls.stopLoad();\n this.loaded = false;\n }\n }\n );\n\n autoPlay && setTimeout(actions.play, 200);\n }\n });\n }\n\n render() {\n return (\n <source\n src={this.props.src}\n type={this.props.type || 'application/x-mpegURL'}\n />\n );\n }\n}\n\nexport interface VideoProps\n extends RendererProps,\n Omit<VideoSchema, 'className'> {\n columnsCount: number;\n}\n\nexport interface VideoState {\n posterInfo?: any;\n videoState?: any;\n error?: string;\n}\n\nexport default class Video extends React.Component<VideoProps, VideoState> {\n static defaultProps = {\n columnsCount: 8,\n isLive: false,\n jumpFrame: true,\n aspectRatio: 'auto'\n };\n\n frameDom: any;\n cursorDom: any;\n player: any;\n times: Array<number>;\n currentIndex: number;\n constructor(props: VideoProps) {\n super(props);\n\n this.state = {\n posterInfo: null,\n videoState: {}\n };\n\n this.frameRef = this.frameRef.bind(this);\n this.cursorRef = this.cursorRef.bind(this);\n this.playerRef = this.playerRef.bind(this);\n this.onImageLoaded = this.onImageLoaded.bind(this);\n this.onClick = this.onClick.bind(this);\n this.setError = this.setError.bind(this);\n }\n\n onImageLoaded(e: Event) {\n let image: any = new Image();\n image.onload = () => {\n this.setState({\n posterInfo: {\n width: image.width,\n height: image.height\n }\n });\n image = image.onload = null;\n };\n image.src = (e.target as HTMLElement).getAttribute('src');\n }\n\n frameRef(dom: any) {\n this.frameDom = dom;\n }\n\n cursorRef(dom: any) {\n this.cursorDom = dom;\n }\n\n playerRef(player: any) {\n this.player = player;\n\n if (!player) {\n return;\n }\n\n player.subscribeToStateChange((state: any) => {\n this.setState({\n videoState: state\n });\n\n // if (!state.paused) {\n // if (\n // currentPlaying &&\n // currentPlaying.video &&\n // currentPlaying !== player\n // ) {\n // currentPlaying.pause();\n // }\n\n // currentPlaying = player;\n // }\n\n if (!this.frameDom || !this.times) {\n return;\n }\n\n const jumpBufferDuration = this.props.jumpBufferDuration || 0;\n let index = 0;\n const times = this.times;\n const len = times.length;\n while (index < len - 1) {\n if (\n times[index + 1] &&\n state.currentTime < times[index + 1] - jumpBufferDuration\n ) {\n break;\n }\n\n index++;\n }\n\n if (this.currentIndex !== index) {\n this.moveCursorToIndex(index);\n }\n });\n }\n\n moveCursorToIndex(index: number) {\n const {classPrefix: ns} = this.props;\n if (!this.frameDom || !this.cursorDom) {\n return;\n }\n const items = this.frameDom.querySelectorAll(`.${ns}Video-frame`);\n\n if (items && items.length && items[index]) {\n this.currentIndex = index;\n const item = items[index];\n const frameRect = this.frameDom.getBoundingClientRect();\n const rect = item.getBoundingClientRect();\n this.cursorDom.setAttribute(\n 'style',\n `width: ${rect.width - 4}px; height: ${rect.height - 4}px; left: ${\n rect.left + 2 - frameRect.left\n }px; top: ${rect.top + 2 - frameRect.top}px;`\n );\n }\n }\n\n jumpToIndex(index: number) {\n if (!this.times || !this.player || !this.props.jumpFrame) {\n return;\n }\n const jumpBufferDuration = this.props.jumpBufferDuration || 0;\n const times = this.times;\n const player = this.player;\n\n player.seek(times[index] - jumpBufferDuration);\n player.play();\n }\n\n onClick(e: Event) {\n // 避免把所在 form 给提交了。\n e.preventDefault();\n }\n\n setError(error?: string) {\n const player = this.player;\n\n this.setState({\n error: error\n });\n\n player?.pause();\n }\n\n renderFrames() {\n let {\n frames,\n framesClassName,\n columnsCount,\n data,\n jumpFrame,\n classPrefix: ns,\n classnames: cx\n } = this.props;\n\n if (typeof frames === 'string' && frames[0] === '$') {\n frames = resolveVariable(frames, data);\n }\n\n if (!frames) {\n return null;\n }\n\n const items: Array<object> = [];\n const times: Array<number> = (this.times = []);\n Object.keys(frames).forEach(time => {\n times.push(str2seconds(time));\n\n items.push({\n time: time,\n src: frames![time]\n });\n });\n\n if (!items.length) {\n return null;\n }\n\n return (\n <div\n className={cx(`pos-rlt Video-frameList`, framesClassName)}\n ref={this.frameRef}\n >\n {padArr(items, columnsCount).map((items, i) => {\n let restCount = (columnsCount as number) - items.length;\n let blankArray = [];\n\n while (restCount--) {\n blankArray.push('');\n }\n\n return (\n <div className=\"pull-in-xxs\" key={i}>\n <div className={`${ns}Hbox ${ns}Video-frameItem`}>\n {items.map((item, key) => (\n <div\n className={`${ns}Hbox-col Wrapper--xxs ${ns}Video-frame`}\n key={key}\n onClick={() =>\n this.jumpToIndex(i * (columnsCount as number) + key)\n }\n >\n {item.src ? (\n <img className=\"w-full\" alt=\"poster\" src={item.src} />\n ) : null}\n <div className={`${ns}Video-frameLabel`}>{item.time}</div>\n </div>\n ))}\n\n {\n /* 补充空白 */ restCount\n ? blankArray.map((_, index) => (\n <div\n className={`${ns}Hbox-col Wrapper--xxs`}\n key={`blank_${index}`}\n />\n ))\n : null\n }\n </div>\n </div>\n );\n })}\n {jumpFrame ? (\n <span ref={this.cursorRef} className={`${ns}Video-cursor`} />\n ) : null}\n </div>\n );\n }\n\n renderPlayer() {\n let {\n poster,\n autoPlay,\n muted,\n name,\n data,\n amisConfig,\n locals,\n isLive,\n minVideoDuration,\n videoType,\n playerClassName,\n classPrefix: ns,\n aspectRatio,\n rates,\n classnames: cx\n } = this.props;\n\n let source =\n filter(this.props.src, data, '| raw') || getPropValue(this.props);\n const videoState = this.state.videoState;\n let highlight =\n videoState.duration &&\n minVideoDuration &&\n videoState.duration < minVideoDuration;\n let src = filter(source, data, '| raw');\n let sourceNode;\n const error = this.state.error;\n\n if (\n (src && /\\.flv(?:$|\\?)/.test(src) && isLive) ||\n videoType === 'video/x-flv'\n ) {\n sourceNode = (\n <FlvSource\n autoPlay={autoPlay}\n order={999.0}\n isLive={isLive}\n src={src}\n setError={this.setError}\n />\n );\n } else if (\n (src && /\\.m3u8(?:$|\\?)/.test(src)) ||\n videoType === 'application/x-mpegURL'\n ) {\n sourceNode = <HlsSource autoPlay={autoPlay} order={999.0} src={src} />;\n } else {\n sourceNode = <source src={src} />;\n }\n\n return (\n <div className={cx('Video-player', playerClassName)}>\n <Player\n ref={this.playerRef}\n poster={filter(poster, data, '| raw')}\n src={src}\n autoPlay={autoPlay}\n muted={muted}\n aspectRatio={aspectRatio}\n >\n {rates && rates.length ? (\n <ControlBar>\n <PlaybackRateMenuButton rates={rates} order={7.1} />\n </ControlBar>\n ) : null}\n <BigPlayButton position=\"center\" />\n {sourceNode}\n <Shortcut disabled />\n </Player>\n\n {error ? <div className={cx('Video-error')}>{error}</div> : null}\n {highlight ? (\n <p className={`m-t-xs ${ns}Text--danger`}>\n 视频时长小于 {minVideoDuration} 秒\n </p>\n ) : null}\n </div>\n );\n }\n\n renderPosterAndPlayer() {\n let {poster, data, locals, minPosterDimension, classnames: cx} = this.props;\n const posterInfo = this.state.posterInfo || {};\n let dimensionClassName = '';\n\n if (\n posterInfo &&\n minPosterDimension &&\n (minPosterDimension.width || minPosterDimension.height) &&\n (minPosterDimension.width > posterInfo.width ||\n minPosterDimension.height > posterInfo.height)\n ) {\n dimensionClassName = `Text--danger`;\n }\n\n return (\n <div className=\"pull-in-xs\">\n <div className={cx('Hbox')}>\n <div className={cx('Hbox-col')}>\n <div className={cx('Wrapper Wrapper--xs')}>\n <img\n onLoad={this.onImageLoaded as any}\n className=\"w-full\"\n alt=\"poster\"\n src={filter(poster, data, '| raw')}\n />\n <p className=\"m-t-xs\">\n 封面{' '}\n <span className={dimensionClassName}>\n {posterInfo.width || '-'} x {posterInfo.height || '-'}\n </span>\n {dimensionClassName ? (\n <span>\n {' '}\n 封面尺寸小于{' '}\n <span className={cx('Text--danger')}>\n {minPosterDimension.width || '-'} x{' '}\n {minPosterDimension.height || '-'}\n </span>\n </span>\n ) : null}\n </p>\n </div>\n </div>\n <div className={cx('Hbox-col')}>\n <div className={cx('Wrapper Wrapper--xs')}>\n {this.renderPlayer()}\n </div>\n </div>\n </div>\n </div>\n );\n }\n\n render() {\n let {splitPoster, className, classPrefix: ns, classnames: cx} = this.props;\n\n return (\n <div className={cx(`Video`, className)} onClick={this.onClick as any}>\n {this.renderFrames()}\n {splitPoster ? this.renderPosterAndPlayer() : this.renderPlayer()}\n </div>\n );\n }\n}\n\n@Renderer({\n type: 'video'\n})\nexport class VideoRenderer extends Video {}\n"
|
11
|
+
"/**\n * @file video\n * @author fex\n */\n\nimport React from 'react';\n\nimport {\n Player,\n Shortcut,\n BigPlayButton,\n ControlBar,\n PlaybackRateMenuButton\n // @ts-ignore\n} from 'video-react';\nimport {getPropValue, padArr} from '../utils/helper';\nimport {Renderer, RendererProps} from '../factory';\nimport {resolveVariable} from '../utils/tpl-builtin';\nimport {filter} from '../utils/tpl';\n// import css\nimport 'video-react/dist/video-react.css';\nimport {BaseSchema, SchemaClassName, SchemaUrlPath} from '../Schema';\n\n/**\n * 视频播放器\n * 文档:https://baidu.gitee.io/amis/docs/components/video\n */\nexport interface VideoSchema extends BaseSchema {\n /**\n * 指定为视频类型\n */\n type: 'video';\n\n /**\n * 是否自动播放\n */\n autoPlay?: boolean;\n\n /**\n * 如果显示切帧,通过此配置项可以控制每行显示多少帧\n */\n columnsCount?: number;\n\n /**\n * 设置后,可以显示切帧.点击帧的时候会将视频跳到对应时间。\n *\n * frames: {\n * '01:22': 'http://domain/xxx.jpg'\n * }\n */\n frames?: {\n [propName: string]: string;\n };\n\n /**\n * 配置帧列表容器className\n */\n framesClassName?: SchemaClassName;\n\n /**\n * 如果是实时的,请标记一下\n */\n isLive?: boolean;\n\n /**\n * 点击帧画面时是否跳转视频对应的点\n *\n * @default true\n */\n jumpFrame?: boolean;\n\n /**\n * 是否初始静音\n */\n muted?: boolean;\n\n /**\n * 配置播放器 className\n */\n playerClassName?: SchemaClassName;\n\n /**\n * 视频封面地址\n */\n poster?: SchemaUrlPath;\n\n /**\n * 是否将视频和封面分开显示\n */\n splitPoster?: boolean;\n\n /**\n * 视频播放地址\n */\n src?: SchemaUrlPath;\n\n /**\n * 视频类型如: video/x-flv\n */\n videoType?: string;\n\n /**\n * 视频比率\n */\n aspectRatio?: 'auto' | '4:3' | '16:9';\n\n /**\n * 视频速率\n */\n rates?: Array<number>;\n\n /**\n * 跳转到帧时,往前多少秒。\n */\n jumpBufferDuration?: number;\n}\n\nconst str2seconds: (str: string) => number = str =>\n str.indexOf(':')\n ? str\n .split(':')\n .reverse()\n .reduce(\n (seconds, value, index) =>\n seconds + (parseInt(value, 10) || 0) * Math.pow(60, index),\n 0\n )\n : parseInt(str, 10);\n\nexport interface FlvSourceProps {\n src?: string;\n type?: string;\n video?: any;\n config?: object;\n manager?: any;\n isLive?: boolean;\n autoPlay?: boolean;\n actions?: any;\n order?: number;\n setError: (error: string) => void;\n}\n\n// let currentPlaying: any = null;\n\nexport class FlvSource extends React.Component<FlvSourceProps, any> {\n mpegtsPlayer: any;\n loaded = false;\n timer: any;\n unsubscribe: any;\n\n componentDidMount() {\n let {src, video, config, manager, isLive, autoPlay, actions, setError} =\n this.props;\n\n this.initFlv({\n video,\n manager,\n src,\n isLive,\n config,\n actions,\n setError,\n autoPlay\n });\n }\n\n componentDidUpdate(prevProps: FlvSourceProps) {\n const props = this.props;\n let {autoPlay, actions, src, setError, isLive, config, video, manager} =\n props;\n\n if (src !== prevProps.src) {\n setError('');\n this.mpegtsPlayer?.destroy();\n this.unsubscribe?.();\n this.loaded = false;\n this.initFlv({\n video,\n manager,\n src,\n isLive,\n config,\n actions,\n setError,\n autoPlay\n });\n }\n }\n\n componentWillUnmount() {\n if (this.mpegtsPlayer) {\n this.mpegtsPlayer.destroy();\n this.props.setError?.('');\n }\n }\n\n initFlv({\n video,\n manager,\n src,\n isLive,\n config,\n actions,\n setError,\n autoPlay\n }: any) {\n import('mpegts.js').then((mpegts: any) => {\n video = video || (manager.video && manager.video.video);\n\n let mpegtsPlayer = mpegts.createPlayer(\n {\n type: 'flv',\n url: src,\n isLive: isLive\n },\n config\n );\n mpegtsPlayer.attachMediaElement(video);\n this.mpegtsPlayer = mpegtsPlayer;\n\n this.unsubscribe = manager.subscribeToOperationStateChange(\n (operation: any) => {\n const type = operation.operation.action;\n\n if (type === 'play') {\n clearTimeout(this.timer);\n if (!this.loaded) {\n this.loaded = true;\n mpegtsPlayer.load();\n }\n\n mpegtsPlayer.play();\n } else if (type === 'pause') {\n mpegtsPlayer.pause();\n\n if (isLive) {\n this.timer = setTimeout(() => {\n actions.seek(0);\n mpegtsPlayer.unload();\n this.loaded = false;\n }, 30000);\n }\n }\n }\n );\n\n mpegtsPlayer.on(mpegts.Events.RECOVERED_EARLY_EOF, () => {\n setError('直播已经结束');\n });\n mpegtsPlayer.on(mpegts.Events.ERROR, () => {\n setError('视频加载失败');\n mpegtsPlayer.unload();\n });\n\n if (autoPlay) {\n setTimeout(() => actions.play(), 200);\n }\n });\n }\n\n render() {\n return (\n <source src={this.props.src} type={this.props.type || 'video/x-flv'} />\n );\n }\n}\n\nexport interface HlsSourceProps {\n src?: string;\n type?: string;\n video?: any;\n config?: object;\n manager?: any;\n isLive?: boolean;\n autoPlay?: boolean;\n actions?: any;\n order?: number;\n}\nexport class HlsSource extends React.Component<HlsSourceProps, any> {\n hls: any;\n loaded = false;\n unsubscribe: any;\n componentDidMount() {\n let {src, video, config, manager, isLive, autoPlay, actions} = this.props;\n this.initHls({\n video,\n manager,\n src,\n autoPlay,\n actions\n });\n }\n\n componentWillUnmount() {\n if (this.hls) {\n this.hls.stopLoad();\n this.hls.detachMedia();\n }\n }\n\n componentDidUpdate(prevProps: HlsSourceProps) {\n const props = this.props;\n let {autoPlay, actions, src, isLive, config, video, manager} = props;\n\n if (src !== prevProps.src) {\n this.hls?.stopLoad();\n this.hls?.detachMedia();\n this.unsubscribe?.();\n this.loaded = false;\n this.initHls({\n video,\n manager,\n src,\n autoPlay,\n actions\n });\n }\n }\n\n initHls({video, manager, src, autoPlay, actions}: any) {\n // @ts-ignore\n import('hls.js').then(({default: Hls}: any) => {\n // load hls video source base on hls.js\n if (Hls.isSupported()) {\n video = video || (manager.video && manager.video.video);\n\n let hls = (this.hls = new Hls({\n autoStartLoad: false\n }));\n hls.attachMedia(video);\n hls.loadSource(src);\n\n this.unsubscribe = manager.subscribeToOperationStateChange(\n (operation: any) => {\n const type = operation.operation.action;\n\n if (type === 'play') {\n if (!this.loaded) {\n this.loaded = true;\n hls.startLoad();\n }\n\n video.play();\n } else if (type === 'pause') {\n video.pause();\n hls.stopLoad();\n this.loaded = false;\n }\n }\n );\n\n autoPlay && setTimeout(actions.play, 200);\n }\n });\n }\n\n render() {\n return (\n <source\n src={this.props.src}\n type={this.props.type || 'application/x-mpegURL'}\n />\n );\n }\n}\n\nexport interface VideoProps\n extends RendererProps,\n Omit<VideoSchema, 'className'> {\n columnsCount: number;\n}\n\nexport interface VideoState {\n posterInfo?: any;\n videoState?: any;\n error?: string;\n}\n\nexport default class Video extends React.Component<VideoProps, VideoState> {\n static defaultProps = {\n columnsCount: 8,\n isLive: false,\n jumpFrame: true,\n aspectRatio: 'auto'\n };\n\n frameDom: any;\n cursorDom: any;\n player: any;\n times: Array<number>;\n currentIndex: number;\n constructor(props: VideoProps) {\n super(props);\n\n this.state = {\n posterInfo: null,\n videoState: {}\n };\n\n this.frameRef = this.frameRef.bind(this);\n this.cursorRef = this.cursorRef.bind(this);\n this.playerRef = this.playerRef.bind(this);\n this.onImageLoaded = this.onImageLoaded.bind(this);\n this.onClick = this.onClick.bind(this);\n this.setError = this.setError.bind(this);\n }\n\n onImageLoaded(e: Event) {\n let image: any = new Image();\n image.onload = () => {\n this.setState({\n posterInfo: {\n width: image.width,\n height: image.height\n }\n });\n image = image.onload = null;\n };\n image.src = (e.target as HTMLElement).getAttribute('src');\n }\n\n frameRef(dom: any) {\n this.frameDom = dom;\n }\n\n cursorRef(dom: any) {\n this.cursorDom = dom;\n }\n\n playerRef(player: any) {\n this.player = player;\n\n if (!player) {\n return;\n }\n\n player.subscribeToStateChange((state: any) => {\n this.setState({\n videoState: state\n });\n\n // if (!state.paused) {\n // if (\n // currentPlaying &&\n // currentPlaying.video &&\n // currentPlaying !== player\n // ) {\n // currentPlaying.pause();\n // }\n\n // currentPlaying = player;\n // }\n\n if (!this.frameDom || !this.times) {\n return;\n }\n\n const jumpBufferDuration = this.props.jumpBufferDuration || 0;\n let index = 0;\n const times = this.times;\n const len = times.length;\n while (index < len - 1) {\n if (\n times[index + 1] &&\n state.currentTime < times[index + 1] - jumpBufferDuration\n ) {\n break;\n }\n\n index++;\n }\n\n if (this.currentIndex !== index) {\n this.moveCursorToIndex(index);\n }\n });\n }\n\n moveCursorToIndex(index: number) {\n const {classPrefix: ns} = this.props;\n if (!this.frameDom || !this.cursorDom) {\n return;\n }\n const items = this.frameDom.querySelectorAll(`.${ns}Video-frame`);\n\n if (items && items.length && items[index]) {\n this.currentIndex = index;\n const item = items[index];\n const frameRect = this.frameDom.getBoundingClientRect();\n const rect = item.getBoundingClientRect();\n this.cursorDom.setAttribute(\n 'style',\n `width: ${rect.width - 4}px; height: ${rect.height - 4}px; left: ${\n rect.left + 2 - frameRect.left\n }px; top: ${rect.top + 2 - frameRect.top}px;`\n );\n }\n }\n\n jumpToIndex(index: number) {\n if (!this.times || !this.player || !this.props.jumpFrame) {\n return;\n }\n const jumpBufferDuration = this.props.jumpBufferDuration || 0;\n const times = this.times;\n const player = this.player;\n\n player.seek(times[index] - jumpBufferDuration);\n player.play();\n }\n\n onClick(e: Event) {\n // 避免把所在 form 给提交了。\n e.preventDefault();\n }\n\n setError(error?: string) {\n const player = this.player;\n\n this.setState({\n error: error\n });\n\n player?.pause();\n }\n\n renderFrames() {\n let {\n frames,\n framesClassName,\n columnsCount,\n data,\n jumpFrame,\n classPrefix: ns,\n classnames: cx\n } = this.props;\n\n if (typeof frames === 'string' && frames[0] === '$') {\n frames = resolveVariable(frames, data);\n }\n\n if (!frames) {\n return null;\n }\n\n const items: Array<object> = [];\n const times: Array<number> = (this.times = []);\n Object.keys(frames).forEach(time => {\n times.push(str2seconds(time));\n\n items.push({\n time: time,\n src: frames![time]\n });\n });\n\n if (!items.length) {\n return null;\n }\n\n return (\n <div\n className={cx(`pos-rlt Video-frameList`, framesClassName)}\n ref={this.frameRef}\n >\n {padArr(items, columnsCount).map((items, i) => {\n let restCount = (columnsCount as number) - items.length;\n let blankArray = [];\n\n while (restCount--) {\n blankArray.push('');\n }\n\n return (\n <div className=\"pull-in-xxs\" key={i}>\n <div className={`${ns}Hbox ${ns}Video-frameItem`}>\n {items.map((item, key) => (\n <div\n className={`${ns}Hbox-col Wrapper--xxs ${ns}Video-frame`}\n key={key}\n onClick={() =>\n this.jumpToIndex(i * (columnsCount as number) + key)\n }\n >\n {item.src ? (\n <img className=\"w-full\" alt=\"poster\" src={item.src} />\n ) : null}\n <div className={`${ns}Video-frameLabel`}>{item.time}</div>\n </div>\n ))}\n\n {\n /* 补充空白 */ restCount\n ? blankArray.map((_, index) => (\n <div\n className={`${ns}Hbox-col Wrapper--xxs`}\n key={`blank_${index}`}\n />\n ))\n : null\n }\n </div>\n </div>\n );\n })}\n {jumpFrame ? (\n <span ref={this.cursorRef} className={`${ns}Video-cursor`} />\n ) : null}\n </div>\n );\n }\n\n renderPlayer() {\n let {\n poster,\n autoPlay,\n muted,\n name,\n data,\n amisConfig,\n locals,\n isLive,\n minVideoDuration,\n videoType,\n playerClassName,\n classPrefix: ns,\n aspectRatio,\n rates,\n classnames: cx\n } = this.props;\n\n let source =\n filter(this.props.src, data, '| raw') || getPropValue(this.props);\n const videoState = this.state.videoState;\n let highlight =\n videoState.duration &&\n minVideoDuration &&\n videoState.duration < minVideoDuration;\n let src = filter(source, data, '| raw');\n let sourceNode;\n const error = this.state.error;\n\n if (\n (src && /\\.flv(?:$|\\?)/.test(src) && isLive) ||\n videoType === 'video/x-flv'\n ) {\n sourceNode = (\n <FlvSource\n autoPlay={autoPlay}\n order={999.0}\n isLive={isLive}\n src={src}\n setError={this.setError}\n />\n );\n } else if (\n (src && /\\.m3u8(?:$|\\?)/.test(src)) ||\n videoType === 'application/x-mpegURL'\n ) {\n sourceNode = <HlsSource autoPlay={autoPlay} order={999.0} src={src} />;\n } else {\n sourceNode = <source src={src} />;\n }\n\n return (\n <div className={cx('Video-player', playerClassName)}>\n <Player\n ref={this.playerRef}\n poster={filter(poster, data, '| raw')}\n src={src}\n autoPlay={autoPlay}\n muted={muted}\n aspectRatio={aspectRatio}\n >\n {rates && rates.length ? (\n <ControlBar>\n <PlaybackRateMenuButton rates={rates} order={7.1} />\n </ControlBar>\n ) : null}\n <BigPlayButton position=\"center\" />\n {sourceNode}\n <Shortcut disabled />\n </Player>\n\n {error ? <div className={cx('Video-error')}>{error}</div> : null}\n {highlight ? (\n <p className={`m-t-xs ${ns}Text--danger`}>\n 视频时长小于 {minVideoDuration} 秒\n </p>\n ) : null}\n </div>\n );\n }\n\n renderPosterAndPlayer() {\n let {poster, data, locals, minPosterDimension, classnames: cx} = this.props;\n const posterInfo = this.state.posterInfo || {};\n let dimensionClassName = '';\n\n if (\n posterInfo &&\n minPosterDimension &&\n (minPosterDimension.width || minPosterDimension.height) &&\n (minPosterDimension.width > posterInfo.width ||\n minPosterDimension.height > posterInfo.height)\n ) {\n dimensionClassName = `Text--danger`;\n }\n\n return (\n <div className=\"pull-in-xs\">\n <div className={cx('Hbox')}>\n <div className={cx('Hbox-col')}>\n <div className={cx('Wrapper Wrapper--xs')}>\n <img\n onLoad={this.onImageLoaded as any}\n className=\"w-full\"\n alt=\"poster\"\n src={filter(poster, data, '| raw')}\n />\n <p className=\"m-t-xs\">\n 封面{' '}\n <span className={dimensionClassName}>\n {posterInfo.width || '-'} x {posterInfo.height || '-'}\n </span>\n {dimensionClassName ? (\n <span>\n {' '}\n 封面尺寸小于{' '}\n <span className={cx('Text--danger')}>\n {minPosterDimension.width || '-'} x{' '}\n {minPosterDimension.height || '-'}\n </span>\n </span>\n ) : null}\n </p>\n </div>\n </div>\n <div className={cx('Hbox-col')}>\n <div className={cx('Wrapper Wrapper--xs')}>\n {this.renderPlayer()}\n </div>\n </div>\n </div>\n </div>\n );\n }\n\n render() {\n let {splitPoster, className, classPrefix: ns, classnames: cx} = this.props;\n\n return (\n <div className={cx(`Video`, className)} onClick={this.onClick as any}>\n {this.renderFrames()}\n {splitPoster ? this.renderPosterAndPlayer() : this.renderPlayer()}\n </div>\n );\n }\n}\n\n@Renderer({\n type: 'video'\n})\nexport class VideoRenderer extends Video {}\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/schemaExtend.js
CHANGED
@@ -14,14 +14,22 @@ var helper_1 = require("./utils/helper");
|
|
14
14
|
var arr = [];
|
15
15
|
Object.keys(value).forEach(function (key) {
|
16
16
|
var valueType = typeof value[key];
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
17
|
+
if (key.endsWith('___tmp')) {
|
18
|
+
arr.push({
|
19
|
+
key: key.replace('___tmp', ''),
|
20
|
+
value: ''
|
21
|
+
});
|
22
|
+
}
|
23
|
+
else {
|
24
|
+
arr.push({
|
25
|
+
key: key || '',
|
26
|
+
value: valueType === 'string' ||
|
27
|
+
valueType === 'number' ||
|
28
|
+
valueType === 'boolean'
|
29
|
+
? value[key]
|
30
|
+
: JSON.stringify(value[key])
|
31
|
+
});
|
32
|
+
}
|
25
33
|
});
|
26
34
|
return arr;
|
27
35
|
}, pipeOut: function (value) {
|
@@ -36,7 +44,13 @@ var helper_1 = require("./utils/helper");
|
|
36
44
|
value = JSON.parse(value);
|
37
45
|
}
|
38
46
|
catch (e) { }
|
39
|
-
|
47
|
+
// 如果先输入了 a 作为 key,想输入 aa 的时候会先进入这里,导致无法输入 aa,因此当遇到 key 相同的时候加个 ___tmp 后缀
|
48
|
+
if (key in obj && typeof value === 'undefined') {
|
49
|
+
obj[key + '___tmp'] = '';
|
50
|
+
}
|
51
|
+
else {
|
52
|
+
obj[key] = value;
|
53
|
+
}
|
40
54
|
});
|
41
55
|
return obj;
|
42
56
|
}, items: [
|
package/lib/schemaExtend.js.map
CHANGED
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/schemaExtend.ts"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;AAIA,qCAA0C;AAC1C,yCAAwC;AAExC,4BAA4B;AAC5B,IAAA,yBAAe,EAAC,UAAU,MAAc,EAAE,QAAQ,EAAE,KAAW;;IAC7D,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;QACxC,uDACK,MAAM,KACT,QAAQ,EAAE,IAAI,EACd,MAAM,EAAE,UAAC,KAAU;gBACjB,IAAI,CAAC,IAAA,iBAAQ,EAAC,KAAK,CAAC,EAAE;oBACpB,OAAO,EAAE,CAAC;iBACX;gBACD,IAAM,GAAG,GAAe,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAA,GAAG;oBAC5B,IAAM,SAAS,GAAG,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpC,GAAG,CAAC,IAAI,CAAC;
|
9
|
+
"mappings": ";;;AAIA,qCAA0C;AAC1C,yCAAwC;AAExC,4BAA4B;AAC5B,IAAA,yBAAe,EAAC,UAAU,MAAc,EAAE,QAAQ,EAAE,KAAW;;IAC7D,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;QACxC,uDACK,MAAM,KACT,QAAQ,EAAE,IAAI,EACd,MAAM,EAAE,UAAC,KAAU;gBACjB,IAAI,CAAC,IAAA,iBAAQ,EAAC,KAAK,CAAC,EAAE;oBACpB,OAAO,EAAE,CAAC;iBACX;gBACD,IAAM,GAAG,GAAe,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAA,GAAG;oBAC5B,IAAM,SAAS,GAAG,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpC,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;wBAC1B,GAAG,CAAC,IAAI,CAAC;4BACP,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;4BAC9B,KAAK,EAAE,EAAE;yBACV,CAAC,CAAC;qBACJ;yBAAM;wBACL,GAAG,CAAC,IAAI,CAAC;4BACP,GAAG,EAAE,GAAG,IAAI,EAAE;4BACd,KAAK,EACH,SAAS,KAAK,QAAQ;gCACtB,SAAS,KAAK,QAAQ;gCACtB,SAAS,KAAK,SAAS;gCACrB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;gCACZ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;yBACjC,CAAC,CAAC;qBACJ;gBACH,CAAC,CAAC,CAAC;gBACH,OAAO,GAAG,CAAC;YACb,CAAC,EACD,OAAO,EAAE,UAAC,KAAU;gBAClB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACzB,OAAO,KAAK,CAAC;iBACd;gBACD,IAAM,GAAG,GAAQ,EAAE,CAAC;gBACpB,KAAK,CAAC,OAAO,CAAC,UAAC,IAAS;oBACtB,IAAM,GAAG,GAAW,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;oBACnC,IAAI,KAAK,GAAQ,IAAI,CAAC,KAAK,CAAC;oBAC5B,IAAI;wBACF,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;qBAC3B;oBAAC,OAAO,CAAC,EAAE,GAAE;oBACd,yEAAyE;oBACzE,IAAI,GAAG,IAAI,GAAG,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;wBAC9C,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC;qBAC1B;yBAAM;wBACL,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;qBAClB;gBACH,CAAC,CAAC,CAAC;gBACH,OAAO,GAAG,CAAC;YACb,CAAC,EACD,KAAK,EAAE;gBACL;oBACE,WAAW,EAAE,MAAA,MAAM,CAAC,cAAc,mCAAI,KAAK;oBAC3C,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,KAAK;oBACX,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,WAAW,EAAE,MAAA,MAAM,CAAC,gBAAgB,mCAAI,OAAO;oBAC/C,IAAI,EAAE,MAAM,CAAC,SAAS,IAAI,YAAY;oBACtC,IAAI,EAAE,OAAO;iBACd;aACF,IACD;KACH;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC,CAAC",
|
10
10
|
"sourcesContent": [
|
11
|
-
"/**\n * 扩展 Schema,目前用于实现 input-kv\n */\nimport {Schema} from './types';\nimport {addSchemaFilter} from './factory';\nimport {isObject} from './utils/helper';\n\n// input-kv 实际上是 combo 的一种扩展\naddSchemaFilter(function (schema: Schema, renderer, props?: any) {\n if (schema && schema.type === 'input-kv') {\n return {\n ...schema,\n multiple: true,\n pipeIn: (value: any) => {\n if (!isObject(value)) {\n return [];\n }\n const arr: Array<any> = [];\n Object.keys(value).forEach(key => {\n const valueType = typeof value[key];\n arr.push({\n key: key || '',\n
|
11
|
+
"/**\n * 扩展 Schema,目前用于实现 input-kv\n */\nimport {Schema} from './types';\nimport {addSchemaFilter} from './factory';\nimport {isObject} from './utils/helper';\n\n// input-kv 实际上是 combo 的一种扩展\naddSchemaFilter(function (schema: Schema, renderer, props?: any) {\n if (schema && schema.type === 'input-kv') {\n return {\n ...schema,\n multiple: true,\n pipeIn: (value: any) => {\n if (!isObject(value)) {\n return [];\n }\n const arr: Array<any> = [];\n Object.keys(value).forEach(key => {\n const valueType = typeof value[key];\n if (key.endsWith('___tmp')) {\n arr.push({\n key: key.replace('___tmp', ''),\n value: ''\n });\n } else {\n arr.push({\n key: key || '',\n value:\n valueType === 'string' ||\n valueType === 'number' ||\n valueType === 'boolean'\n ? value[key]\n : JSON.stringify(value[key])\n });\n }\n });\n return arr;\n },\n pipeOut: (value: any) => {\n if (!Array.isArray(value)) {\n return value;\n }\n const obj: any = {};\n value.forEach((item: any) => {\n const key: string = item.key || '';\n let value: any = item.value;\n try {\n value = JSON.parse(value);\n } catch (e) {}\n // 如果先输入了 a 作为 key,想输入 aa 的时候会先进入这里,导致无法输入 aa,因此当遇到 key 相同的时候加个 ___tmp 后缀\n if (key in obj && typeof value === 'undefined') {\n obj[key + '___tmp'] = '';\n } else {\n obj[key] = value;\n }\n });\n return obj;\n },\n items: [\n {\n placeholder: schema.keyPlaceholder ?? 'Key',\n type: 'input-text',\n unique: true,\n name: 'key',\n required: true\n },\n {\n placeholder: schema.valuePlaceholder ?? 'Value',\n type: schema.valueType || 'input-text',\n name: 'value'\n }\n ]\n };\n }\n\n return schema;\n});\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/store/combo.js.map
CHANGED
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/store/combo.ts"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;AAAA,mDAA+E;AAC/E,yCAA4D;AAE5D,+BAA6D;AAC7D,qCAAuC;AAE1B,QAAA,WAAW,GAAG,uBAAK;KAC7B,KAAK,CAAC,aAAa,EAAE;IACpB,IAAI,EAAE,uBAAK,CAAC,UAAU;IACtB,QAAQ,EAAE,uBAAK,CAAC,KAAK,CAAC,uBAAK,CAAC,MAAM,CAAC;CACpC,CAAC;KACD,KAAK,CAAC,UAAA,IAAI,IAAI,OAAA,CAAC;IACd,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import {types, SnapshotIn, isAlive, onAction, Instance} from 'mobx-state-tree';\nimport {IIRendererStore, iRendererStore} from './iRenderer';\nimport {FormItemStore} from './formItem';\nimport {FormStore, IFormStore, IFormItemStore} from './form';\nimport {getStoreById} from './manager';\n\nexport const UniqueGroup = types\n .model('UniqueGroup', {\n name: types.identifier,\n itemsRef: types.array(types.string)\n })\n .views(self => ({\n get items() {\n return self.itemsRef.map(
|
11
|
+
"import {types, SnapshotIn, isAlive, onAction, Instance} from 'mobx-state-tree';\nimport {IIRendererStore, iRendererStore} from './iRenderer';\nimport {FormItemStore} from './formItem';\nimport {FormStore, IFormStore, IFormItemStore} from './form';\nimport {getStoreById} from './manager';\n\nexport const UniqueGroup = types\n .model('UniqueGroup', {\n name: types.identifier,\n itemsRef: types.array(types.string)\n })\n .views(self => ({\n get items() {\n return self.itemsRef.map(id => getStoreById(id) as any as IFormItemStore);\n }\n }))\n .actions(self => ({\n removeItem(item: IFormItemStore) {\n self.itemsRef.replace(self.itemsRef.filter(id => id !== item.id));\n },\n\n addItem(item: IFormItemStore) {\n self.itemsRef.push(item.id);\n }\n }));\n\nexport type IUniqueGroup = typeof UniqueGroup.Type;\n\nexport const ComboStore = iRendererStore\n .named('ComboStore')\n .props({\n uniques: types.map(UniqueGroup),\n multiple: false,\n formsRef: types.optional(types.array(types.string), []),\n minLength: 0,\n maxLength: 0,\n length: 0,\n activeKey: 0\n })\n .views(self => {\n function getForms() {\n return self.formsRef.map(item => getStoreById(item) as IFormStore);\n }\n\n return {\n get forms() {\n return getForms();\n },\n\n get addable() {\n if (self.maxLength && self.length >= self.maxLength) {\n return false;\n }\n\n if (self.uniques.size) {\n let isFull = false;\n self.uniques.forEach(item => {\n if (isFull || !item.items.length) {\n return;\n }\n\n let total = item.items[0].options.length;\n let current = item.items.reduce((total, item) => {\n return total + item.selectedOptions.length;\n }, 0);\n\n isFull = total && current >= total ? true : false;\n });\n\n if (isFull) {\n return false;\n }\n }\n\n return true;\n },\n\n get removable() {\n if (self.minLength && self.minLength >= self.length) {\n return false;\n }\n\n return true;\n },\n\n /**\n * name 值有两种类型:\n * 1. 数字索引,出现在多条模式下,这个时候,需要返回当前索引下的form,并且用于下一层的遍历搜索\n * 2. 普通的表单项 name 值,出现在单条模式下,当前这层查找已经结束,所以要返回当前找到的items,而不能返回form\n *\n * @param name 查找的name\n */\n getItemsByName(name: string): any {\n const forms = getForms();\n return self.multiple\n ? [forms[parseInt(name, 10)]]\n : forms[0].getItemsByName(name);\n }\n };\n })\n .actions(self => {\n function config(setting: {\n multiple?: boolean;\n minLength?: number;\n maxLength?: number;\n length?: number;\n }) {\n typeof setting.multiple !== 'undefined' &&\n (self.multiple = setting.multiple);\n typeof setting.minLength !== 'undefined' &&\n (self.minLength = parseInt(setting.minLength as any, 10));\n typeof setting.maxLength !== 'undefined' &&\n (self.maxLength = parseInt(setting.maxLength as any, 10));\n typeof setting.length !== 'undefined' && (self.length = setting.length);\n }\n\n function bindUniuqueItem(item: IFormItemStore) {\n if (!self.uniques.has(item.name)) {\n self.uniques.put({\n name: item.name\n });\n }\n let group: IUniqueGroup = self.uniques.get(item.name) as IUniqueGroup;\n group.addItem(item);\n }\n\n function unBindUniuqueItem(item: IFormItemStore) {\n let group: IUniqueGroup = self.uniques.get(item.name) as IUniqueGroup;\n group.removeItem(item);\n if (!group.items.length) {\n self.uniques.delete(item.name);\n }\n }\n\n function addForm(form: IFormStore) {\n self.formsRef.push(form.id);\n }\n\n function onChildStoreDispose(child: IFormStore) {\n if (child.storeType === FormStore.name) {\n const idx = self.formsRef.indexOf(child.id);\n if (~idx) {\n self.formsRef.splice(idx, 1);\n child.items.forEach(item => {\n if (item.unique) {\n unBindUniuqueItem(item);\n }\n });\n\n self.forms.forEach(form =>\n form.items.forEach(\n item => item.unique && item.syncOptions(undefined, form.data)\n )\n );\n }\n }\n self.removeChildId(child.id);\n }\n\n function setActiveKey(key: number) {\n self.activeKey = key;\n }\n\n return {\n config,\n setActiveKey,\n bindUniuqueItem,\n unBindUniuqueItem,\n addForm,\n onChildStoreDispose\n };\n });\n\nexport type IComboStore = Instance<typeof ComboStore>;\nexport type SComboStore = SnapshotIn<typeof ComboStore>;\n"
|
12
12
|
]
|
13
13
|
}
|