amis 1.3.5-beta.7 → 1.4.2-beta.11
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/README.md +1 -1
- package/lib/Schema.d.ts +26 -2
- package/lib/Schema.js.map +1 -1
- package/lib/components/Alert.js +3 -1
- package/lib/components/Alert.js.map +2 -2
- package/lib/components/AnchorNav.d.ts +22 -21
- package/lib/components/AnchorNav.js +7 -3
- package/lib/components/AnchorNav.js.map +2 -2
- package/lib/components/ArrayInput.d.ts +84 -84
- package/lib/components/AssociatedSelection.d.ts +930 -0
- package/lib/components/AssociatedSelection.js +89 -0
- package/lib/components/AssociatedSelection.js.map +13 -0
- package/lib/components/Badge.d.ts +16 -3
- package/lib/components/Badge.js +54 -5
- package/lib/components/Badge.js.map +2 -2
- package/lib/components/Button.d.ts +24 -22
- package/lib/components/Button.js +13 -7
- package/lib/components/Button.js.map +2 -2
- package/lib/components/{ChainedCheckboxes.d.ts → ChainedSelection.d.ts} +267 -98
- package/lib/components/{ChainedCheckboxes.js → ChainedSelection.js} +30 -24
- package/lib/components/ChainedSelection.js.map +13 -0
- package/lib/components/Checkbox.d.ts +1 -1
- package/lib/components/Checkbox.js +1 -1
- package/lib/components/Checkbox.js.map +2 -2
- package/lib/components/Collapse.js +1 -1
- package/lib/components/Collapse.js.map +2 -2
- package/lib/components/ColorPicker.d.ts +84 -84
- package/lib/components/DatePicker.d.ts +84 -84
- package/lib/components/DatePicker.js +1 -1
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/DateRangePicker.d.ts +84 -84
- package/lib/components/DateRangePicker.js +1 -1
- package/lib/components/DateRangePicker.js.map +2 -2
- package/lib/components/Drawer.js +1 -1
- package/lib/components/Drawer.js.map +2 -2
- package/lib/components/Editor.d.ts +84 -84
- package/lib/components/GroupedSelection.d.ts +907 -0
- package/lib/components/GroupedSelection.js +48 -0
- package/lib/components/GroupedSelection.js.map +13 -0
- package/lib/components/InputBox.js +1 -1
- package/lib/components/InputBox.js.map +2 -2
- package/lib/components/Link.d.ts +84 -0
- package/lib/components/Link.js +43 -0
- package/lib/components/Link.js.map +13 -0
- package/lib/components/ListGroup.d.ts +21 -21
- package/lib/components/Modal.js +1 -1
- package/lib/components/Modal.js.map +2 -2
- package/lib/components/ModalManager.js +1 -1
- package/lib/components/ModalManager.js.map +2 -2
- package/lib/components/MonthRangePicker.d.ts +84 -84
- package/lib/components/MonthRangePicker.js +1 -1
- package/lib/components/MonthRangePicker.js.map +2 -2
- package/lib/components/NumberInput.d.ts +20 -20
- package/lib/components/PickerColumn.d.ts +514 -0
- package/lib/components/PickerColumn.js +279 -0
- package/lib/components/PickerColumn.js.map +13 -0
- package/lib/components/PickerContainer.d.ts +513 -0
- package/lib/components/PickerContainer.js +96 -0
- package/lib/components/PickerContainer.js.map +13 -0
- package/lib/components/Radios.d.ts +22 -21
- package/lib/components/Radios.js +1 -0
- package/lib/components/Radios.js.map +2 -2
- package/lib/components/Rating.d.ts +21 -21
- package/lib/components/ResultBox.d.ts +84 -84
- package/lib/components/RichText.d.ts +6 -1
- package/lib/components/RichText.js +207 -8
- package/lib/components/RichText.js.map +2 -2
- package/lib/components/SearchBox.d.ts +84 -84
- package/lib/components/SearchBox.js +4 -4
- package/lib/components/SearchBox.js.map +2 -2
- package/lib/components/Select.d.ts +252 -237
- package/lib/components/Select.js +28 -4
- package/lib/components/Select.js.map +2 -2
- package/lib/components/{Checkboxes.d.ts → Selection.d.ts} +273 -98
- package/lib/components/Selection.js +134 -0
- package/lib/components/Selection.js.map +13 -0
- package/lib/components/SparkLine.d.ts +85 -84
- package/lib/components/SparkLine.js +2 -2
- package/lib/components/SparkLine.js.map +2 -2
- package/lib/components/Steps.d.ts +3 -3
- package/lib/components/Steps.js.map +1 -1
- package/lib/components/{TableCheckboxes.d.ts → TableSelection.d.ts} +266 -96
- package/lib/components/{TableCheckboxes.js → TableSelection.js} +30 -30
- package/lib/components/TableSelection.js.map +13 -0
- package/lib/components/Tabs.d.ts +20 -20
- package/lib/components/TabsTransfer.d.ts +84 -84
- package/lib/components/TabsTransfer.js +9 -9
- package/lib/components/TabsTransfer.js.map +2 -2
- package/lib/components/TabsTransferPicker.d.ts +489 -0
- package/lib/components/TabsTransferPicker.js +60 -0
- package/lib/components/TabsTransferPicker.js.map +13 -0
- package/lib/components/Toast.js +2 -2
- package/lib/components/Toast.js.map +2 -2
- package/lib/components/Transfer.d.ts +908 -274
- package/lib/components/Transfer.js +31 -24
- package/lib/components/Transfer.js.map +2 -2
- package/lib/components/TransferDropDown.d.ts +487 -0
- package/lib/components/TransferDropDown.js +59 -0
- package/lib/components/TransferDropDown.js.map +13 -0
- package/lib/components/TransferPicker.d.ts +489 -0
- package/lib/components/TransferPicker.js +60 -0
- package/lib/components/TransferPicker.js.map +13 -0
- package/lib/components/Tree.d.ts +84 -84
- package/lib/components/Tree.js +5 -3
- package/lib/components/Tree.js.map +2 -2
- package/lib/components/{TreeCheckboxes.d.ts → TreeSelection.d.ts} +269 -99
- package/lib/components/{TreeCheckboxes.js → TreeSelection.js} +36 -32
- package/lib/components/TreeSelection.js.map +13 -0
- package/lib/components/WithRemoteConfig.d.ts +8 -0
- package/lib/components/WithRemoteConfig.js +29 -3
- package/lib/components/WithRemoteConfig.js.map +2 -2
- package/lib/components/calendar/DaysView.js +2 -2
- package/lib/components/calendar/DaysView.js.map +2 -2
- package/lib/components/condition-builder/Field.js +5 -3
- package/lib/components/condition-builder/Field.js.map +2 -2
- package/lib/components/condition-builder/Func.js +2 -2
- package/lib/components/condition-builder/Func.js.map +2 -2
- package/lib/components/condition-builder/InputSwitch.js +2 -2
- package/lib/components/condition-builder/InputSwitch.js.map +2 -2
- package/lib/components/condition-builder/Item.js +3 -3
- package/lib/components/condition-builder/Item.js.map +2 -2
- package/lib/components/condition-builder/Value.js +2 -1
- package/lib/components/condition-builder/Value.js.map +2 -2
- package/lib/components/condition-builder/types.d.ts +5 -0
- package/lib/components/condition-builder/types.js.map +1 -1
- package/lib/components/icons.js +14 -0
- package/lib/components/icons.js.map +2 -2
- package/lib/components/index.d.ts +8 -8
- package/lib/components/index.js +16 -16
- package/lib/components/index.js.map +2 -2
- package/lib/envOverwrite.js.map +2 -2
- package/lib/factory.d.ts +9 -1
- package/lib/factory.js +13 -6
- package/lib/factory.js.map +2 -2
- package/lib/helper.css.map +1 -1
- package/lib/hooks/index.d.ts +5 -0
- package/lib/hooks/index.js +14 -0
- package/lib/hooks/index.js.map +13 -0
- package/lib/hooks/use-set-state.d.ts +2 -0
- package/lib/hooks/use-set-state.js +15 -0
- package/lib/hooks/use-set-state.js.map +13 -0
- package/lib/hooks/use-touch.d.ts +16 -0
- package/lib/hooks/use-touch.js +73 -0
- package/lib/hooks/use-touch.js.map +13 -0
- package/lib/hooks/use-update-effect.d.ts +3 -0
- package/lib/hooks/use-update-effect.js +17 -0
- package/lib/hooks/use-update-effect.js.map +13 -0
- package/lib/icons/clock.js +10 -0
- package/lib/icons/loading-outline.js +7 -0
- package/lib/icons/status-close.js +11 -0
- package/lib/icons/status-fail.js +11 -0
- package/lib/icons/status-info.js +10 -0
- package/lib/icons/status-success.js +11 -0
- package/lib/icons/status-warning.js +10 -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 +5 -0
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +6 -1
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +9 -4
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.d.ts +17 -1
- package/lib/renderers/Action.js +21 -8
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/AnchorNav.d.ts +1 -0
- package/lib/renderers/AnchorNav.js +2 -2
- package/lib/renderers/AnchorNav.js.map +2 -2
- package/lib/renderers/Avatar.js +3 -3
- package/lib/renderers/Avatar.js.map +2 -2
- package/lib/renderers/Breadcrumb.js +1 -1
- package/lib/renderers/Breadcrumb.js.map +2 -2
- package/lib/renderers/CRUD.d.ts +9 -0
- package/lib/renderers/CRUD.js +48 -23
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Card.d.ts +4 -0
- package/lib/renderers/Card.js +29 -23
- package/lib/renderers/Card.js.map +2 -2
- package/lib/renderers/Chart.js +1 -1
- package/lib/renderers/Chart.js.map +2 -2
- package/lib/renderers/Collapse.d.ts +1 -1
- package/lib/renderers/Collapse.js +8 -3
- package/lib/renderers/Collapse.js.map +2 -2
- package/lib/renderers/Dialog.d.ts +0 -252
- package/lib/renderers/Dialog.js +1 -4
- package/lib/renderers/Dialog.js.map +2 -2
- package/lib/renderers/Drawer.js +0 -3
- package/lib/renderers/Drawer.js.map +2 -2
- package/lib/renderers/DropDownButton.d.ts +13 -1
- package/lib/renderers/DropDownButton.js +9 -5
- package/lib/renderers/DropDownButton.js.map +2 -2
- package/lib/renderers/Form/Checkbox.d.ts +5 -0
- package/lib/renderers/Form/Checkbox.js +4 -0
- package/lib/renderers/Form/Checkbox.js.map +2 -2
- package/lib/renderers/Form/Combo.js +2 -2
- package/lib/renderers/Form/Combo.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.d.ts +4 -5
- package/lib/renderers/Form/Editor.d.ts +3 -4
- package/lib/renderers/Form/Editor.js +1 -1
- package/lib/renderers/Form/Editor.js.map +2 -2
- package/lib/renderers/Form/InputCity.d.ts +84 -84
- package/lib/renderers/Form/InputCity.js +7 -6
- package/lib/renderers/Form/InputCity.js.map +2 -2
- package/lib/renderers/Form/InputColor.d.ts +84 -84
- package/lib/renderers/Form/InputExcel.d.ts +5 -0
- package/lib/renderers/Form/InputExcel.js +24 -3
- package/lib/renderers/Form/InputExcel.js.map +2 -2
- package/lib/renderers/Form/InputFile.js +12 -6
- package/lib/renderers/Form/InputFile.js.map +2 -2
- package/lib/renderers/Form/InputImage.d.ts +8 -0
- package/lib/renderers/Form/InputImage.js +18 -8
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputTable.d.ts +23 -5
- package/lib/renderers/Form/InputTable.js +32 -3
- package/lib/renderers/Form/InputTable.js.map +2 -2
- package/lib/renderers/Form/Item.d.ts +1 -1
- package/lib/renderers/Form/Item.js.map +1 -1
- package/lib/renderers/Form/Options.js +19 -6
- package/lib/renderers/Form/Options.js.map +2 -2
- package/lib/renderers/Form/Picker.js +2 -2
- package/lib/renderers/Form/Picker.js.map +2 -2
- package/lib/renderers/Form/Select.d.ts +41 -4
- package/lib/renderers/Form/Select.js +23 -3
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/TabsTransferPicker.d.ts +48 -0
- package/lib/renderers/Form/TabsTransferPicker.js +29 -0
- package/lib/renderers/Form/TabsTransferPicker.js.map +13 -0
- package/lib/renderers/Form/Transfer.js +3 -2
- package/lib/renderers/Form/Transfer.js.map +2 -2
- package/lib/renderers/Form/TransferPicker.d.ts +48 -0
- package/lib/renderers/Form/TransferPicker.js +29 -0
- package/lib/renderers/Form/TransferPicker.js.map +13 -0
- package/lib/renderers/Form/TreeSelect.js +2 -2
- package/lib/renderers/Form/TreeSelect.js.map +2 -2
- package/lib/renderers/Form/index.js +1 -1
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/Form/wrapControl.js +15 -3
- package/lib/renderers/Form/wrapControl.js.map +2 -2
- package/lib/renderers/IFrame.js +3 -5
- package/lib/renderers/IFrame.js.map +2 -2
- package/lib/renderers/Image.d.ts +1 -0
- package/lib/renderers/Image.js +15 -1
- package/lib/renderers/Image.js.map +2 -2
- package/lib/renderers/Json.d.ts +4 -0
- package/lib/renderers/Json.js +7 -12
- package/lib/renderers/Json.js.map +2 -2
- package/lib/renderers/Link.d.ts +18 -3
- package/lib/renderers/Link.js +27 -15
- package/lib/renderers/Link.js.map +2 -2
- package/lib/renderers/List.js +1 -1
- package/lib/renderers/List.js.map +2 -2
- package/lib/renderers/Log.d.ts +2 -2
- package/lib/renderers/Log.js +7 -1
- package/lib/renderers/Log.js.map +2 -2
- package/lib/renderers/Mapping.d.ts +9 -2
- package/lib/renderers/Mapping.js +18 -6
- package/lib/renderers/Mapping.js.map +2 -2
- package/lib/renderers/Nav.d.ts +81 -25
- package/lib/renderers/Nav.js +292 -31
- package/lib/renderers/Nav.js.map +2 -2
- package/lib/renderers/Page.js +4 -1
- package/lib/renderers/Page.js.map +2 -2
- package/lib/renderers/Portlet.d.ts +125 -0
- package/lib/renderers/Portlet.js +156 -0
- package/lib/renderers/Portlet.js.map +13 -0
- package/lib/renderers/Property.js +2 -1
- package/lib/renderers/Property.js.map +2 -2
- package/lib/renderers/SearchBox.d.ts +6 -1
- package/lib/renderers/SearchBox.js +19 -5
- package/lib/renderers/SearchBox.js.map +2 -2
- package/lib/renderers/Service.d.ts +10 -1
- package/lib/renderers/Service.js +85 -3
- package/lib/renderers/Service.js.map +2 -2
- package/lib/renderers/SparkLine.d.ts +4 -0
- package/lib/renderers/SparkLine.js.map +2 -2
- package/lib/renderers/Steps.d.ts +4 -4
- package/lib/renderers/Steps.js +5 -2
- package/lib/renderers/Steps.js.map +2 -2
- package/lib/renderers/Table/ColumnToggler.d.ts +113 -0
- package/lib/renderers/Table/ColumnToggler.js +216 -0
- package/lib/renderers/Table/ColumnToggler.js.map +13 -0
- package/lib/renderers/Table/ItemActionsWrapper.d.ts +11 -0
- package/lib/renderers/Table/ItemActionsWrapper.js +31 -0
- package/lib/renderers/Table/ItemActionsWrapper.js.map +13 -0
- package/lib/renderers/Table/TableBody.d.ts +5 -1
- package/lib/renderers/Table/TableBody.js.map +1 -1
- package/lib/renderers/Table/TableCell.js +3 -1
- package/lib/renderers/Table/TableCell.js.map +2 -2
- package/lib/renderers/Table/TableContent.d.ts +5 -2
- package/lib/renderers/Table/TableContent.js +21 -1
- package/lib/renderers/Table/TableContent.js.map +2 -2
- package/lib/renderers/Table/index.d.ts +27 -5
- package/lib/renderers/Table/index.js +251 -101
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/renderers/Tabs.js +9 -1
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/renderers/WebComponent.js +1 -1
- package/lib/renderers/WebComponent.js.map +2 -2
- package/lib/store/app.d.ts +0 -1
- package/lib/store/combo.d.ts +2 -18
- package/lib/store/crud.d.ts +0 -1
- package/lib/store/crud.js +3 -7
- package/lib/store/crud.js.map +2 -2
- package/lib/store/form.d.ts +1 -2
- package/lib/store/form.js +5 -6
- package/lib/store/form.js.map +2 -2
- package/lib/store/modal.d.ts +1 -1
- package/lib/store/modal.js +4 -0
- package/lib/store/modal.js.map +2 -2
- package/lib/store/root.d.ts +0 -1
- package/lib/store/service.d.ts +0 -1
- package/lib/store/service.js +5 -17
- package/lib/store/service.js.map +2 -2
- package/lib/store/table.d.ts +260 -5
- package/lib/store/table.js +83 -7
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +1360 -244
- package/lib/themes/ang.css +1360 -244
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +1360 -244
- package/lib/themes/antd.css +1360 -244
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +1960 -517
- package/lib/themes/cxd.css +1960 -517
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +1360 -244
- package/lib/themes/dark.css +1360 -244
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +1960 -517
- package/lib/themes/default.css.map +1 -1
- package/lib/types.d.ts +37 -0
- package/lib/types.js +0 -5
- package/lib/types.js.map +2 -2
- package/lib/utils/api.d.ts +3 -2
- package/lib/utils/api.js +43 -15
- package/lib/utils/api.js.map +2 -2
- package/lib/utils/attachmentAdpator.d.ts +7 -0
- package/lib/utils/attachmentAdpator.js +82 -0
- package/lib/utils/attachmentAdpator.js.map +13 -0
- package/lib/utils/dom.d.ts +4 -0
- package/lib/utils/dom.js +11 -1
- package/lib/utils/dom.js.map +2 -2
- package/lib/utils/handleAction.d.ts +7 -0
- package/lib/utils/handleAction.js +30 -0
- package/lib/utils/handleAction.js.map +13 -0
- package/lib/utils/helper.d.ts +3 -1
- package/lib/utils/helper.js +14 -5
- package/lib/utils/helper.js.map +2 -2
- package/lib/utils/icon.js +3 -0
- package/lib/utils/icon.js.map +2 -2
- package/lib/utils/tpl-builtin.d.ts +1 -1
- package/lib/utils/tpl-builtin.js +25 -15
- package/lib/utils/tpl-builtin.js.map +2 -2
- package/lib/utils/validations.js +62 -5
- package/lib/utils/validations.js.map +2 -2
- package/package.json +1 -2
- package/schema.json +3638 -1030
- package/scss/_mixins.scss +27 -0
- package/scss/_properties.scss +88 -13
- package/scss/_utilities.scss +4 -0
- package/scss/base/_normalize.scss +2 -0
- package/scss/components/_anchor-nav.scss +88 -29
- package/scss/components/_badge.scss +67 -2
- package/scss/components/_button.scss +34 -3
- package/scss/components/_card.scss +8 -14
- package/scss/components/_collapse.scss +41 -8
- package/scss/components/_column-toggler.scss +234 -0
- package/scss/components/_dropdown.scss +2 -1
- package/scss/components/_image-gallery.scss +1 -1
- package/scss/components/_images.scss +2 -1
- package/scss/components/_link.scss +6 -0
- package/scss/components/_mapping.scss +6 -0
- package/scss/components/_markdown.scss +266 -0
- package/scss/components/_nav.scss +236 -154
- package/scss/components/_page.scss +5 -4
- package/scss/components/_picker-columns.scss +123 -0
- package/scss/components/_popover.scss +17 -0
- package/scss/components/_portlet.scss +51 -0
- package/scss/components/_progress.scss +2 -0
- package/scss/components/_spinner.scss +6 -2
- package/scss/components/_status.scss +1 -1
- package/scss/components/_steps.scss +1 -1
- package/scss/components/_table.scss +51 -1
- package/scss/components/form/_checks.scss +0 -351
- package/scss/components/form/_color.scss +1 -0
- package/scss/components/form/_date-range.scss +2 -0
- package/scss/components/form/_date.scss +2 -0
- package/scss/components/form/_fieldset.scss +6 -3
- package/scss/components/form/_file.scss +5 -4
- package/scss/components/form/_group.scss +4 -0
- package/scss/components/form/_image.scss +7 -2
- package/scss/components/form/_list.scss +1 -0
- package/scss/components/form/_location.scss +1 -1
- package/scss/components/form/_selection.scss +354 -0
- package/scss/components/form/_text.scss +13 -0
- package/scss/components/form/_textarea.scss +10 -0
- package/scss/components/form/_transfer.scss +77 -18
- package/scss/themes/_common.scss +7 -0
- package/scss/themes/_cxd-colors.scss +56 -0
- package/scss/themes/_cxd-variables.scss +219 -91
- package/scss/themes/cxd.scss +370 -0
- package/sdk/ang-ie11.css +1752 -431
- package/sdk/ang.css +1706 -323
- package/sdk/antd-ie11.css +1739 -420
- package/sdk/antd.css +1706 -323
- package/sdk/charts.js +13 -13
- package/sdk/color-picker.js +65 -69
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +3015 -1397
- package/sdk/cxd.css +2402 -651
- package/sdk/dark-ie11.css +1750 -429
- package/sdk/dark.css +1706 -323
- package/sdk/exceljs.js +1 -1
- package/sdk/helper.css.map +1 -1
- package/sdk/ie11-patch.css +1 -0
- package/sdk/locale/de-DE.js +5 -0
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +20 -30
- package/sdk/rich-text.js +62 -64
- package/sdk/sdk-ie11.css +3015 -1397
- package/sdk/sdk.css +2402 -651
- package/sdk/sdk.js +1278 -1220
- 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/Schema.ts +32 -0
- package/src/components/Alert.tsx +3 -1
- package/src/components/AnchorNav.tsx +15 -4
- package/src/components/{AssociatedCheckboxes.tsx → AssociatedSelection.tsx} +41 -37
- package/src/components/Badge.tsx +126 -23
- package/src/components/Button.tsx +23 -7
- package/src/components/{ChainedCheckboxes.tsx → ChainedSelection.tsx} +57 -40
- package/src/components/Checkbox.tsx +5 -2
- package/src/components/Collapse.tsx +14 -9
- package/src/components/DatePicker.tsx +1 -1
- package/src/components/DateRangePicker.tsx +23 -11
- package/src/components/Drawer.tsx +3 -2
- package/src/components/{ListCheckboxes.tsx → GroupedSelection.tsx} +26 -21
- package/src/components/InputBox.tsx +1 -1
- package/src/components/Link.tsx +85 -0
- package/src/components/Modal.tsx +3 -2
- package/src/components/ModalManager.ts +1 -1
- package/src/components/MonthRangePicker.tsx +10 -2
- package/src/components/PickerColumn.tsx +429 -0
- package/src/components/PickerContainer.tsx +128 -0
- package/src/components/Radios.tsx +3 -8
- package/src/components/RichText.tsx +244 -3
- package/src/components/SearchBox.tsx +4 -5
- package/src/components/Select.tsx +61 -5
- package/src/components/{Checkboxes.tsx → Selection.tsx} +75 -21
- package/src/components/SparkLine.tsx +4 -1
- package/src/components/Steps.tsx +3 -3
- package/src/components/{TableCheckboxes.tsx → TableSelection.tsx} +46 -25
- package/src/components/TabsTransfer.tsx +13 -7
- package/src/components/TabsTransferPicker.tsx +85 -0
- package/src/components/Toast.tsx +5 -5
- package/src/components/Transfer.tsx +71 -50
- package/src/components/TransferDropDown.tsx +117 -0
- package/src/components/TransferPicker.tsx +84 -0
- package/src/components/Tree.tsx +6 -8
- package/src/components/{TreeCheckboxes.tsx → TreeSelection.tsx} +33 -26
- package/src/components/WithRemoteConfig.tsx +44 -4
- package/src/components/calendar/DaysView.tsx +2 -2
- package/src/components/condition-builder/Field.tsx +6 -7
- package/src/components/condition-builder/Func.tsx +3 -3
- package/src/components/condition-builder/InputSwitch.tsx +3 -3
- package/src/components/condition-builder/Item.tsx +5 -12
- package/src/components/condition-builder/Value.tsx +3 -0
- package/src/components/condition-builder/types.ts +6 -0
- package/src/components/icons.tsx +15 -0
- package/src/components/index.tsx +13 -13
- package/src/envOverwrite.ts +0 -1
- package/src/factory.tsx +31 -6
- package/src/hooks/index.ts +5 -0
- package/src/hooks/use-set-state.ts +19 -0
- package/src/hooks/use-touch.ts +100 -0
- package/src/hooks/use-update-effect.ts +16 -0
- package/src/icons/clock.svg +1 -0
- package/src/icons/loading-outline.svg +4 -0
- package/src/icons/status-close.svg +10 -0
- package/src/icons/status-fail.svg +10 -0
- package/src/icons/status-info.svg +8 -0
- package/src/icons/status-success.svg +10 -0
- package/src/icons/status-warning.svg +8 -0
- package/src/index.tsx +3 -0
- package/src/locale/de-DE.ts +5 -0
- package/src/locale/en-US.ts +6 -1
- package/src/locale/zh-CN.ts +9 -4
- package/src/renderers/Action.tsx +99 -15
- package/src/renderers/AnchorNav.tsx +4 -0
- package/src/renderers/Avatar.tsx +8 -4
- package/src/renderers/Breadcrumb.tsx +5 -1
- package/src/renderers/CRUD.tsx +70 -56
- package/src/renderers/Card.tsx +63 -34
- package/src/renderers/Chart.tsx +6 -2
- package/src/renderers/Collapse.tsx +9 -3
- package/src/renderers/Dialog.tsx +1 -5
- package/src/renderers/Drawer.tsx +0 -4
- package/src/renderers/DropDownButton.tsx +34 -12
- package/src/renderers/Form/Checkbox.tsx +8 -0
- package/src/renderers/Form/Combo.tsx +2 -3
- package/src/renderers/Form/Editor.tsx +19 -20
- package/src/renderers/Form/InputCity.tsx +4 -8
- package/src/renderers/Form/InputExcel.tsx +28 -3
- package/src/renderers/Form/InputFile.tsx +30 -20
- package/src/renderers/Form/InputImage.tsx +39 -13
- package/src/renderers/Form/InputTable.tsx +88 -9
- package/src/renderers/Form/Item.tsx +1 -1
- package/src/renderers/Form/Options.tsx +32 -7
- package/src/renderers/Form/Picker.tsx +3 -2
- package/src/renderers/Form/Select.tsx +144 -21
- package/src/renderers/Form/TabsTransferPicker.tsx +123 -0
- package/src/renderers/Form/Transfer.tsx +3 -2
- package/src/renderers/Form/TransferPicker.tsx +123 -0
- package/src/renderers/Form/TreeSelect.tsx +25 -0
- package/src/renderers/Form/index.tsx +1 -1
- package/src/renderers/Form/wrapControl.tsx +28 -3
- package/src/renderers/IFrame.tsx +4 -5
- package/src/renderers/Image.tsx +10 -0
- package/src/renderers/Json.tsx +19 -10
- package/src/renderers/Link.tsx +53 -14
- package/src/renderers/List.tsx +1 -1
- package/src/renderers/Log.tsx +16 -3
- package/src/renderers/Mapping.tsx +27 -11
- package/src/renderers/Nav.tsx +392 -60
- package/src/renderers/Page.tsx +3 -1
- package/src/renderers/Portlet.tsx +423 -0
- package/src/renderers/Property.tsx +3 -2
- package/src/renderers/SearchBox.tsx +23 -4
- package/src/renderers/Service.tsx +101 -3
- package/src/renderers/SparkLine.tsx +5 -0
- package/src/renderers/Steps.tsx +12 -9
- package/src/renderers/Table/ColumnToggler.tsx +544 -0
- package/src/renderers/Table/ItemActionsWrapper.tsx +44 -0
- package/src/renderers/Table/TableBody.tsx +1 -1
- package/src/renderers/Table/TableCell.tsx +16 -1
- package/src/renderers/Table/TableContent.tsx +41 -3
- package/src/renderers/Table/index.tsx +318 -92
- package/src/renderers/Tabs.tsx +9 -1
- package/src/renderers/WebComponent.tsx +2 -2
- package/src/store/crud.ts +3 -8
- package/src/store/form.ts +5 -10
- package/src/store/modal.ts +4 -0
- package/src/store/service.ts +5 -23
- package/src/store/table.ts +103 -4
- package/src/types.ts +57 -0
- package/src/utils/api.ts +63 -23
- package/src/utils/attachmentAdpator.ts +90 -0
- package/src/utils/dom.tsx +12 -0
- package/src/utils/handleAction.ts +41 -0
- package/src/utils/helper.ts +12 -3
- package/src/utils/icon.tsx +4 -0
- package/src/utils/tpl-builtin.ts +48 -17
- package/src/utils/validations.ts +80 -12
- package/dump.rdb +0 -0
- package/lib/components/AssociatedCheckboxes.d.ts +0 -762
- package/lib/components/AssociatedCheckboxes.js +0 -90
- package/lib/components/AssociatedCheckboxes.js.map +0 -13
- package/lib/components/ChainedCheckboxes.js.map +0 -13
- package/lib/components/Checkboxes.js +0 -101
- package/lib/components/Checkboxes.js.map +0 -13
- package/lib/components/ListCheckboxes.d.ts +0 -739
- package/lib/components/ListCheckboxes.js +0 -48
- package/lib/components/ListCheckboxes.js.map +0 -13
- package/lib/components/ListRadios.d.ts +0 -763
- package/lib/components/ListRadios.js +0 -86
- package/lib/components/ListRadios.js.map +0 -13
- package/lib/components/TableCheckboxes.js.map +0 -13
- package/lib/components/TreeCheckboxes.js.map +0 -13
- package/lib/components/TreeRadios.d.ts +0 -838
- package/lib/components/TreeRadios.js +0 -116
- package/lib/components/TreeRadios.js.map +0 -13
- package/src/components/ListRadios.tsx +0 -159
- package/src/components/TreeRadios.tsx +0 -202
@@ -0,0 +1,90 @@
|
|
1
|
+
/**
|
2
|
+
* 处理接口返回附件的情况,好几个地方用
|
3
|
+
* @param response
|
4
|
+
* @param __
|
5
|
+
* @returns
|
6
|
+
*/
|
7
|
+
|
8
|
+
export default function attachmentAdpator(response: any, __: Function) {
|
9
|
+
if (response && response.headers && response.headers['content-disposition']) {
|
10
|
+
const disposition = response.headers['content-disposition'];
|
11
|
+
let filename = '';
|
12
|
+
|
13
|
+
if (disposition && disposition.indexOf('attachment') !== -1) {
|
14
|
+
// disposition 有可能是 attachment; filename="??.xlsx"; filename*=UTF-8''%E4%B8%AD%E6%96%87.xlsx
|
15
|
+
// 这种情况下最后一个才是正确的文件名
|
16
|
+
let filenameRegex = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)$/;
|
17
|
+
|
18
|
+
let matches = disposition.match(filenameRegex);
|
19
|
+
if (matches && matches.length) {
|
20
|
+
filename = matches[1].replace(`UTF-8''`, '').replace(/['"]/g, '');
|
21
|
+
}
|
22
|
+
|
23
|
+
// 很可能是中文被 url-encode 了
|
24
|
+
if (filename && filename.replace(/[^%]/g, '').length > 2) {
|
25
|
+
filename = decodeURIComponent(filename);
|
26
|
+
}
|
27
|
+
|
28
|
+
let type = response.headers['content-type'];
|
29
|
+
let blob =
|
30
|
+
response.data.toString() === '[object Blob]'
|
31
|
+
? response.data
|
32
|
+
: new Blob([response.data], {type: type});
|
33
|
+
if (typeof (window.navigator as any).msSaveBlob !== 'undefined') {
|
34
|
+
// IE workaround for "HTML7007: One or more blob URLs were revoked by closing the blob for which they were created. These URLs will no longer resolve as the data backing the URL has been freed."
|
35
|
+
(window.navigator as any).msSaveBlob(blob, filename);
|
36
|
+
} else {
|
37
|
+
let URL = window.URL || (window as any).webkitURL;
|
38
|
+
let downloadUrl = URL.createObjectURL(blob);
|
39
|
+
if (filename) {
|
40
|
+
// use HTML5 a[download] attribute to specify filename
|
41
|
+
let a = document.createElement('a');
|
42
|
+
// safari doesn't support this yet
|
43
|
+
if (typeof a.download === 'undefined') {
|
44
|
+
(window as any).location = downloadUrl;
|
45
|
+
} else {
|
46
|
+
a.href = downloadUrl;
|
47
|
+
a.download = filename;
|
48
|
+
document.body.appendChild(a);
|
49
|
+
a.click();
|
50
|
+
}
|
51
|
+
} else {
|
52
|
+
(window as any).location = downloadUrl;
|
53
|
+
}
|
54
|
+
setTimeout(function () {
|
55
|
+
URL.revokeObjectURL(downloadUrl);
|
56
|
+
}, 100); // cleanup
|
57
|
+
}
|
58
|
+
|
59
|
+
return {
|
60
|
+
...response,
|
61
|
+
data: {
|
62
|
+
status: 0,
|
63
|
+
msg: __('Embed.downloading')
|
64
|
+
}
|
65
|
+
};
|
66
|
+
}
|
67
|
+
} else if (response.data.toString() === '[object Blob]') {
|
68
|
+
return new Promise((resolve, reject) => {
|
69
|
+
let reader = new FileReader();
|
70
|
+
reader.addEventListener('loadend', e => {
|
71
|
+
const text = reader.result as string;
|
72
|
+
|
73
|
+
try {
|
74
|
+
resolve({
|
75
|
+
...response,
|
76
|
+
data: {
|
77
|
+
...JSON.parse(text)
|
78
|
+
}
|
79
|
+
});
|
80
|
+
} catch (e) {
|
81
|
+
reject(e);
|
82
|
+
}
|
83
|
+
});
|
84
|
+
|
85
|
+
reader.readAsText(response.data);
|
86
|
+
});
|
87
|
+
}
|
88
|
+
|
89
|
+
return response;
|
90
|
+
}
|
package/src/utils/dom.tsx
CHANGED
@@ -267,3 +267,15 @@ export function calculatePosition(
|
|
267
267
|
activePlacement
|
268
268
|
};
|
269
269
|
}
|
270
|
+
|
271
|
+
/**
|
272
|
+
* 专门用来获取样式的像素值,默认返回 0
|
273
|
+
*/
|
274
|
+
export function getStyleNumber(element: HTMLElement, styleName: string) {
|
275
|
+
if (!element) {
|
276
|
+
return 0;
|
277
|
+
}
|
278
|
+
return (
|
279
|
+
parseInt(getComputedStyle(element).getPropertyValue(styleName), 10) || 0
|
280
|
+
);
|
281
|
+
}
|
@@ -0,0 +1,41 @@
|
|
1
|
+
/**
|
2
|
+
* 后续好多地方可能都要支持 action,所以提取公共功能
|
3
|
+
*/
|
4
|
+
|
5
|
+
import {RendererProps} from '../factory';
|
6
|
+
import {ActionSchema, AjaxActionSchema} from '../renderers/Action';
|
7
|
+
import {normalizeApi, str2function} from './api';
|
8
|
+
|
9
|
+
export default function handleAction(
|
10
|
+
e: React.MouseEvent<any>,
|
11
|
+
action: ActionSchema,
|
12
|
+
props: RendererProps,
|
13
|
+
data?: any
|
14
|
+
) {
|
15
|
+
// https://reactjs.org/docs/legacy-event-pooling.html
|
16
|
+
e.persist();
|
17
|
+
|
18
|
+
const onAction = props.onAction;
|
19
|
+
let onClick: any = action.onClick;
|
20
|
+
|
21
|
+
if (typeof onClick === 'string') {
|
22
|
+
onClick = str2function(onClick, 'event', 'props');
|
23
|
+
}
|
24
|
+
const result: any = onClick && onClick(e, props);
|
25
|
+
|
26
|
+
if (e.isDefaultPrevented() || result === false || !onAction) {
|
27
|
+
return;
|
28
|
+
}
|
29
|
+
|
30
|
+
e.preventDefault();
|
31
|
+
|
32
|
+
// download 是一种 ajax 的简写
|
33
|
+
if (action.actionType === 'download') {
|
34
|
+
action.actionType = 'ajax';
|
35
|
+
const api = normalizeApi((action as AjaxActionSchema).api);
|
36
|
+
api.responseType = 'blob';
|
37
|
+
(action as AjaxActionSchema).api = api;
|
38
|
+
}
|
39
|
+
|
40
|
+
onAction(e, action, data || props.data);
|
41
|
+
}
|
package/src/utils/helper.ts
CHANGED
@@ -16,6 +16,14 @@ import {
|
|
16
16
|
} from './tpl-builtin';
|
17
17
|
import {isObservable} from 'mobx';
|
18
18
|
|
19
|
+
export function isMobile() {
|
20
|
+
return (window as any).matchMedia?.('(max-width: 768px)').matches;
|
21
|
+
}
|
22
|
+
|
23
|
+
export function range(num: number, min: number, max: number): number {
|
24
|
+
return Math.min(Math.max(num, min), max);
|
25
|
+
}
|
26
|
+
|
19
27
|
// 方便取值的时候能够把上层的取到,但是获取的时候不会全部把所有的数据获取到。
|
20
28
|
export function createObject(
|
21
29
|
superProps?: {[propName: string]: any},
|
@@ -181,7 +189,8 @@ export function getVariable(
|
|
181
189
|
export function setVariable(
|
182
190
|
data: {[propName: string]: any},
|
183
191
|
key: string,
|
184
|
-
value: any
|
192
|
+
value: any,
|
193
|
+
convertKeyToPath?: boolean
|
185
194
|
) {
|
186
195
|
data = data || {};
|
187
196
|
|
@@ -190,7 +199,7 @@ export function setVariable(
|
|
190
199
|
return;
|
191
200
|
}
|
192
201
|
|
193
|
-
const parts = keyToPath(key);
|
202
|
+
const parts = convertKeyToPath !== false ? keyToPath(key) : [key];
|
194
203
|
const last = parts.pop() as string;
|
195
204
|
|
196
205
|
while (parts.length) {
|
@@ -1617,7 +1626,7 @@ export function detectPropValueChanged<
|
|
1617
1626
|
|
1618
1627
|
// 去掉字符串中的 html 标签,不完全准确但效率比较高
|
1619
1628
|
export function removeHTMLTag(str: string) {
|
1620
|
-
return str.replace(/<\/?[^>]+(>|$)/g, '');
|
1629
|
+
return typeof str === 'string' ? str.replace(/<\/?[^>]+(>|$)/g, '') : str;
|
1621
1630
|
}
|
1622
1631
|
|
1623
1632
|
/**
|
package/src/utils/icon.tsx
CHANGED
package/src/utils/tpl-builtin.ts
CHANGED
@@ -383,10 +383,26 @@ export const filters: {
|
|
383
383
|
first: input => input && input[0],
|
384
384
|
nth: (input, nth = 0) => input && input[nth],
|
385
385
|
last: input => input && (input.length ? input[input.length - 1] : null),
|
386
|
-
minus
|
387
|
-
stripNumber(
|
388
|
-
|
389
|
-
|
386
|
+
minus(input, step = 1) {
|
387
|
+
return stripNumber(
|
388
|
+
(Number(input) || 0) - Number(getStrOrVariable(step, this))
|
389
|
+
);
|
390
|
+
},
|
391
|
+
plus(input, step = 1) {
|
392
|
+
return stripNumber(
|
393
|
+
(Number(input) || 0) + Number(getStrOrVariable(step, this))
|
394
|
+
);
|
395
|
+
},
|
396
|
+
times(input, step = 1) {
|
397
|
+
return stripNumber(
|
398
|
+
(Number(input) || 0) * Number(getStrOrVariable(step, this))
|
399
|
+
);
|
400
|
+
},
|
401
|
+
division(input, step = 1) {
|
402
|
+
return stripNumber(
|
403
|
+
(Number(input) || 0) / Number(getStrOrVariable(step, this))
|
404
|
+
);
|
405
|
+
},
|
390
406
|
count: (input: any) =>
|
391
407
|
Array.isArray(input) || typeof input === 'string' ? input.length : 0,
|
392
408
|
sum: (input, field) => {
|
@@ -866,10 +882,13 @@ export function resolveMapping(
|
|
866
882
|
export function dataMapping(
|
867
883
|
to: any,
|
868
884
|
from: PlainObject = {},
|
869
|
-
ignoreFunction: boolean | ((key: string, value: any) => boolean) = false
|
885
|
+
ignoreFunction: boolean | ((key: string, value: any) => boolean) = false,
|
886
|
+
convertKeyToPath?: boolean
|
870
887
|
): any {
|
871
888
|
if (Array.isArray(to)) {
|
872
|
-
return to.map(item =>
|
889
|
+
return to.map(item =>
|
890
|
+
dataMapping(item, from, ignoreFunction, convertKeyToPath)
|
891
|
+
);
|
873
892
|
} else if (typeof to === 'string') {
|
874
893
|
return resolveMapping(to, from);
|
875
894
|
} else if (!isPlainObject(to)) {
|
@@ -883,7 +902,7 @@ export function dataMapping(
|
|
883
902
|
|
884
903
|
if (typeof ignoreFunction === 'function' && ignoreFunction(key, value)) {
|
885
904
|
// 如果被ignore,不做数据映射处理。
|
886
|
-
setVariable(ret, key, value);
|
905
|
+
setVariable(ret, key, value, convertKeyToPath);
|
887
906
|
} else if (key === '&' && value === '$$') {
|
888
907
|
ret = {
|
889
908
|
...ret,
|
@@ -900,7 +919,8 @@ export function dataMapping(
|
|
900
919
|
dataMapping(
|
901
920
|
value[keys[0]],
|
902
921
|
createObject(from, raw),
|
903
|
-
ignoreFunction
|
922
|
+
ignoreFunction,
|
923
|
+
convertKeyToPath
|
904
924
|
)
|
905
925
|
)
|
906
926
|
: resolveMapping(value, from);
|
@@ -919,10 +939,10 @@ export function dataMapping(
|
|
919
939
|
};
|
920
940
|
}
|
921
941
|
} else if (value === '$$') {
|
922
|
-
setVariable(ret, key, from);
|
942
|
+
setVariable(ret, key, from, convertKeyToPath);
|
923
943
|
} else if (value && value[0] === '$') {
|
924
944
|
const v = resolveMapping(value, from);
|
925
|
-
setVariable(ret, key, v);
|
945
|
+
setVariable(ret, key, v, convertKeyToPath);
|
926
946
|
|
927
947
|
if (v === '__undefined') {
|
928
948
|
deleteVariable(ret, key);
|
@@ -952,26 +972,37 @@ export function dataMapping(
|
|
952
972
|
const mapping = value[keys[0]];
|
953
973
|
|
954
974
|
(ret as PlainObject)[key] = arr.map((raw: object) =>
|
955
|
-
dataMapping(
|
975
|
+
dataMapping(
|
976
|
+
mapping,
|
977
|
+
createObject(from, raw),
|
978
|
+
ignoreFunction,
|
979
|
+
convertKeyToPath
|
980
|
+
)
|
956
981
|
);
|
957
982
|
} else if (isPlainObject(value)) {
|
958
|
-
setVariable(
|
983
|
+
setVariable(
|
984
|
+
ret,
|
985
|
+
key,
|
986
|
+
dataMapping(value, from, ignoreFunction, convertKeyToPath),
|
987
|
+
convertKeyToPath
|
988
|
+
);
|
959
989
|
} else if (Array.isArray(value)) {
|
960
990
|
setVariable(
|
961
991
|
ret,
|
962
992
|
key,
|
963
993
|
value.map((value: any) =>
|
964
994
|
isPlainObject(value)
|
965
|
-
? dataMapping(value, from, ignoreFunction)
|
995
|
+
? dataMapping(value, from, ignoreFunction, convertKeyToPath)
|
966
996
|
: resolveMapping(value, from)
|
967
|
-
)
|
997
|
+
),
|
998
|
+
convertKeyToPath
|
968
999
|
);
|
969
1000
|
} else if (typeof value == 'string' && ~value.indexOf('$')) {
|
970
|
-
setVariable(ret, key, resolveMapping(value, from));
|
1001
|
+
setVariable(ret, key, resolveMapping(value, from), convertKeyToPath);
|
971
1002
|
} else if (typeof value === 'function' && ignoreFunction !== true) {
|
972
|
-
setVariable(ret, key, value(from));
|
1003
|
+
setVariable(ret, key, value(from), convertKeyToPath);
|
973
1004
|
} else {
|
974
|
-
setVariable(ret, key, value);
|
1005
|
+
setVariable(ret, key, value, convertKeyToPath);
|
975
1006
|
|
976
1007
|
if (value === '__undefined') {
|
977
1008
|
deleteVariable(ret, key);
|
package/src/utils/validations.ts
CHANGED
@@ -14,6 +14,79 @@ const makeRegexp = (reg: string | RegExp) => {
|
|
14
14
|
|
15
15
|
return /^$/;
|
16
16
|
};
|
17
|
+
import memoize from 'lodash/memoize';
|
18
|
+
import isPlainObject from 'lodash/isPlainObject';
|
19
|
+
|
20
|
+
const makeUrlRegexp = memoize(function (options: any) {
|
21
|
+
options = {
|
22
|
+
schemes: ['http', 'https', 'ftp', 'sftp'],
|
23
|
+
allowLocal: true,
|
24
|
+
allowDataUrl: false,
|
25
|
+
...(isPlainObject(options) ? options : {})
|
26
|
+
};
|
27
|
+
|
28
|
+
// https://github.com/ansman/validate.js/blob/master/validate.js#L1098-L1164
|
29
|
+
let {schemes, allowLocal, allowDataUrl} = options;
|
30
|
+
|
31
|
+
if (!Array.isArray(schemes)) {
|
32
|
+
schemes = ['http', 'https', 'ftp', 'sftp'];
|
33
|
+
}
|
34
|
+
|
35
|
+
let regex =
|
36
|
+
'^' +
|
37
|
+
// protocol identifier
|
38
|
+
'(?:(?:' +
|
39
|
+
schemes.join('|') +
|
40
|
+
')://)' +
|
41
|
+
// user:pass authentication
|
42
|
+
'(?:\\S+(?::\\S*)?@)?' +
|
43
|
+
'(?:';
|
44
|
+
|
45
|
+
var tld = '(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))';
|
46
|
+
|
47
|
+
if (allowLocal) {
|
48
|
+
tld += '?';
|
49
|
+
} else {
|
50
|
+
regex +=
|
51
|
+
// IP address exclusion
|
52
|
+
// private & local networks
|
53
|
+
'(?!(?:10|127)(?:\\.\\d{1,3}){3})' +
|
54
|
+
'(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})' +
|
55
|
+
'(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})';
|
56
|
+
}
|
57
|
+
|
58
|
+
regex +=
|
59
|
+
// IP address dotted notation octets
|
60
|
+
// excludes loopback network 0.0.0.0
|
61
|
+
// excludes reserved space >= 224.0.0.0
|
62
|
+
// excludes network & broacast addresses
|
63
|
+
// (first & last IP address of each class)
|
64
|
+
'(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])' +
|
65
|
+
'(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}' +
|
66
|
+
'(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))' +
|
67
|
+
'|' +
|
68
|
+
// host name
|
69
|
+
'(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)' +
|
70
|
+
// domain name
|
71
|
+
'(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*' +
|
72
|
+
tld +
|
73
|
+
')' +
|
74
|
+
// port number
|
75
|
+
'(?::\\d{2,5})?' +
|
76
|
+
// resource path
|
77
|
+
'(?:[/?#]\\S*)?' +
|
78
|
+
'$';
|
79
|
+
|
80
|
+
if (allowDataUrl) {
|
81
|
+
// RFC 2397
|
82
|
+
var mediaType = '\\w+\\/[-+.\\w]+(?:;[\\w=]+)*';
|
83
|
+
var urlchar = "[A-Za-z0-9-_.!~\\*'();\\/?:@&=+$,%]*";
|
84
|
+
var dataurl = 'data:(?:' + mediaType + ')?(?:;base64)?,' + urlchar;
|
85
|
+
regex = '(?:' + regex + ')|(?:^' + dataurl + '$)';
|
86
|
+
}
|
87
|
+
|
88
|
+
return new RegExp(regex, 'i');
|
89
|
+
});
|
17
90
|
|
18
91
|
export interface ValidateFn {
|
19
92
|
(
|
@@ -55,12 +128,8 @@ export const validations: {
|
|
55
128
|
/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i
|
56
129
|
);
|
57
130
|
},
|
58
|
-
isUrl: function (values, value) {
|
59
|
-
return validations.matchRegexp(
|
60
|
-
values,
|
61
|
-
value,
|
62
|
-
/^(https?|s?ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i
|
63
|
-
);
|
131
|
+
isUrl: function (values, value, options) {
|
132
|
+
return validations.matchRegexp(values, value, makeUrlRegexp(options));
|
64
133
|
},
|
65
134
|
isTrue: function (values, value) {
|
66
135
|
return value === true;
|
@@ -282,9 +351,8 @@ export function validate(
|
|
282
351
|
}
|
283
352
|
|
284
353
|
const fn = validations[ruleName];
|
285
|
-
const args = (
|
286
|
-
? rules[ruleName]
|
287
|
-
: [rules[ruleName]]
|
354
|
+
const args = (
|
355
|
+
Array.isArray(rules[ruleName]) ? rules[ruleName] : [rules[ruleName]]
|
288
356
|
).map((item: any) => {
|
289
357
|
if (typeof item === 'string' && isPureVariable(item)) {
|
290
358
|
return resolveVariableAndFilter(item, values, '|raw');
|
@@ -356,9 +424,9 @@ const splitValidations = function (str: string): Array<string> {
|
|
356
424
|
.map(str => (/^__\d+$/.test(str) ? placeholder[str] : str.trim()));
|
357
425
|
};
|
358
426
|
|
359
|
-
export function str2rules(
|
360
|
-
|
361
|
-
|
427
|
+
export function str2rules(validations: string | {[propName: string]: any}): {
|
428
|
+
[propName: string]: any;
|
429
|
+
} {
|
362
430
|
if (typeof validations === 'string') {
|
363
431
|
return validations
|
364
432
|
? splitValidations(validations).reduce(function (
|
package/dump.rdb
DELETED
Binary file
|