@wavemaker/app-rn-runtime 12.0.0-next.140534 → 12.0.0-next.141130
Sign up to get free protection for your applications and to get access to all the features.
- app-rn-runtime/components/advanced/carousel/carousel.component.js +5 -32
- app-rn-runtime/components/advanced/carousel/carousel.component.js.map +1 -1
- app-rn-runtime/components/advanced/carousel/carousel.props.js +0 -1
- app-rn-runtime/components/advanced/carousel/carousel.props.js.map +1 -1
- app-rn-runtime/components/advanced/carousel/carousel.styles.js +0 -15
- app-rn-runtime/components/advanced/carousel/carousel.styles.js.map +1 -1
- app-rn-runtime/components/advanced/webview/webview.component.js.map +1 -1
- app-rn-runtime/components/basic/anchor/anchor.component.js +5 -15
- app-rn-runtime/components/basic/anchor/anchor.component.js.map +1 -1
- app-rn-runtime/components/basic/anchor/anchor.styles.js +0 -3
- app-rn-runtime/components/basic/anchor/anchor.styles.js.map +1 -1
- app-rn-runtime/components/basic/animatedview.component.js +2 -6
- app-rn-runtime/components/basic/animatedview.component.js.map +1 -1
- app-rn-runtime/components/basic/audio/audio.component.js.map +1 -1
- app-rn-runtime/components/basic/button/button.component.js +6 -20
- app-rn-runtime/components/basic/button/button.component.js.map +1 -1
- app-rn-runtime/components/basic/icon/icon.component.js +6 -14
- app-rn-runtime/components/basic/icon/icon.component.js.map +1 -1
- app-rn-runtime/components/basic/label/label.component.js +3 -13
- app-rn-runtime/components/basic/label/label.component.js.map +1 -1
- app-rn-runtime/components/basic/label/label.styles.js.map +1 -1
- app-rn-runtime/components/basic/message/message.component.js.map +1 -1
- app-rn-runtime/components/basic/picture/picture.component.js +2 -1
- app-rn-runtime/components/basic/picture/picture.component.js.map +1 -1
- app-rn-runtime/components/basic/progress-bar/progress-bar.component.js +2 -2
- app-rn-runtime/components/basic/progress-bar/progress-bar.component.js.map +1 -1
- app-rn-runtime/components/basic/progress-circle/progress-circle.component.js +5 -5
- app-rn-runtime/components/basic/progress-circle/progress-circle.component.js.map +1 -1
- app-rn-runtime/components/basic/search/search.component.js +0 -12
- app-rn-runtime/components/basic/search/search.component.js.map +1 -1
- app-rn-runtime/components/basic/search/search.props.js +0 -2
- app-rn-runtime/components/basic/search/search.props.js.map +1 -1
- app-rn-runtime/components/basic/search/search.styles.js +0 -6
- app-rn-runtime/components/basic/search/search.styles.js.map +1 -1
- app-rn-runtime/components/basic/skeleton/skeleton.component.js +3 -4
- app-rn-runtime/components/basic/skeleton/skeleton.component.js.map +1 -1
- app-rn-runtime/components/basic/skeleton/skeleton.props.js +1 -9
- app-rn-runtime/components/basic/skeleton/skeleton.props.js.map +1 -1
- app-rn-runtime/components/basic/spinner/spinner.component.js +3 -2
- app-rn-runtime/components/basic/spinner/spinner.component.js.map +1 -1
- app-rn-runtime/components/basic/spinner/spinner.styles.js +2 -3
- app-rn-runtime/components/basic/spinner/spinner.styles.js.map +1 -1
- app-rn-runtime/components/basic/video/video.component.js.map +1 -1
- app-rn-runtime/components/basic/video/video.styles.js +1 -4
- app-rn-runtime/components/basic/video/video.styles.js.map +1 -1
- app-rn-runtime/components/chart/area-chart/area-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/area-chart/area-chart.styles.js +1 -7
- app-rn-runtime/components/chart/area-chart/area-chart.styles.js.map +1 -1
- app-rn-runtime/components/chart/bar-chart/bar-chart.styles.js +1 -7
- app-rn-runtime/components/chart/bar-chart/bar-chart.styles.js.map +1 -1
- app-rn-runtime/components/chart/basechart.component.js +2 -54
- app-rn-runtime/components/chart/basechart.component.js.map +1 -1
- app-rn-runtime/components/chart/basechart.props.js +2 -3
- app-rn-runtime/components/chart/basechart.props.js.map +1 -1
- app-rn-runtime/components/chart/basechart.styles.js +0 -4
- app-rn-runtime/components/chart/basechart.styles.js.map +1 -1
- app-rn-runtime/components/chart/bubble-chart/bubble-chart.component.js +3 -15
- app-rn-runtime/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/bubble-chart/bubble-chart.styles.js +1 -7
- app-rn-runtime/components/chart/bubble-chart/bubble-chart.styles.js.map +1 -1
- app-rn-runtime/components/chart/column-chart/column-chart.styles.js +1 -7
- app-rn-runtime/components/chart/column-chart/column-chart.styles.js.map +1 -1
- app-rn-runtime/components/chart/donut-chart/donut-chart.styles.js +1 -7
- app-rn-runtime/components/chart/donut-chart/donut-chart.styles.js.map +1 -1
- app-rn-runtime/components/chart/line-chart/line-chart.props.js +0 -2
- app-rn-runtime/components/chart/line-chart/line-chart.props.js.map +1 -1
- app-rn-runtime/components/chart/line-chart/line-chart.styles.js +1 -7
- app-rn-runtime/components/chart/line-chart/line-chart.styles.js.map +1 -1
- app-rn-runtime/components/chart/pie-chart/pie-chart.component.js +1 -4
- app-rn-runtime/components/chart/pie-chart/pie-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/pie-chart/pie-chart.styles.js +1 -7
- app-rn-runtime/components/chart/pie-chart/pie-chart.styles.js.map +1 -1
- app-rn-runtime/components/chart/stack-chart/stack-chart.component.js +11 -37
- app-rn-runtime/components/chart/stack-chart/stack-chart.component.js.map +1 -1
- app-rn-runtime/components/container/accordion/accordion.component.js +5 -47
- app-rn-runtime/components/container/accordion/accordion.component.js.map +1 -1
- app-rn-runtime/components/container/accordion/accordion.props.js.map +1 -1
- app-rn-runtime/components/container/accordion/accordion.styles.js +0 -5
- app-rn-runtime/components/container/accordion/accordion.styles.js.map +1 -1
- app-rn-runtime/components/container/accordion/accordionpane/accordionpane.component.js +1 -4
- app-rn-runtime/components/container/accordion/accordionpane/accordionpane.component.js.map +1 -1
- app-rn-runtime/components/container/container.component.js +2 -36
- app-rn-runtime/components/container/container.component.js.map +1 -1
- app-rn-runtime/components/container/container.styles.js +0 -7
- app-rn-runtime/components/container/container.styles.js.map +1 -1
- app-rn-runtime/components/container/layoutgrid/gridcolumn/gridcolumn.component.js.map +1 -1
- app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.component.js +1 -5
- app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.component.js.map +1 -1
- app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.styles.js +1 -6
- app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.styles.js.map +1 -1
- app-rn-runtime/components/container/layoutgrid/layoutgrid.component.js +2 -27
- app-rn-runtime/components/container/layoutgrid/layoutgrid.component.js.map +1 -1
- app-rn-runtime/components/container/layoutgrid/layoutgrid.props.js.map +1 -1
- app-rn-runtime/components/container/layoutgrid/layoutgrid.styles.js +1 -4
- app-rn-runtime/components/container/layoutgrid/layoutgrid.styles.js.map +1 -1
- app-rn-runtime/components/container/linearlayout/linearlayout.component.js +5 -31
- app-rn-runtime/components/container/linearlayout/linearlayout.component.js.map +1 -1
- app-rn-runtime/components/container/linearlayout/linearlayout.props.js.map +1 -1
- app-rn-runtime/components/container/linearlayout/linearlayout.styles.js +1 -4
- app-rn-runtime/components/container/linearlayout/linearlayout.styles.js.map +1 -1
- app-rn-runtime/components/container/panel/panel.component.js +6 -46
- app-rn-runtime/components/container/panel/panel.component.js.map +1 -1
- app-rn-runtime/components/container/panel/panel.props.js.map +1 -1
- app-rn-runtime/components/container/panel/panel.styles.js +0 -3
- app-rn-runtime/components/container/panel/panel.styles.js.map +1 -1
- app-rn-runtime/components/container/partial-host.component.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js +4 -3
- app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabheader/tabheader.props.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js +1 -4
- app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabpane/tabpane.props.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabs.component.js +3 -31
- app-rn-runtime/components/container/tabs/tabs.component.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabs.props.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabs.styles.js +1 -4
- app-rn-runtime/components/container/tabs/tabs.styles.js.map +1 -1
- app-rn-runtime/components/container/tile/tile.component.js +1 -23
- app-rn-runtime/components/container/tile/tile.component.js.map +1 -1
- app-rn-runtime/components/container/tile/tile.props.js.map +1 -1
- app-rn-runtime/components/container/tile/tile.styles.js +1 -6
- app-rn-runtime/components/container/tile/tile.styles.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizard.component.js +13 -54
- app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizard.props.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizard.styles.js +0 -3
- app-rn-runtime/components/container/wizard/wizard.styles.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js +1 -4
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
- app-rn-runtime/components/data/card/card-content/card-content.component.js +2 -6
- app-rn-runtime/components/data/card/card-content/card-content.component.js.map +1 -1
- app-rn-runtime/components/data/card/card-content/card-content.styles.js +1 -4
- app-rn-runtime/components/data/card/card-content/card-content.styles.js.map +1 -1
- app-rn-runtime/components/data/card/card.component.js +0 -18
- app-rn-runtime/components/data/card/card.component.js.map +1 -1
- app-rn-runtime/components/data/card/card.styles.js +0 -3
- app-rn-runtime/components/data/card/card.styles.js.map +1 -1
- app-rn-runtime/components/data/form/form-field/form-field.component.js.map +1 -1
- app-rn-runtime/components/data/form/form.component.js +1 -1
- app-rn-runtime/components/data/form/form.component.js.map +1 -1
- app-rn-runtime/components/data/form/form.props.js +0 -1
- app-rn-runtime/components/data/form/form.props.js.map +1 -1
- app-rn-runtime/components/data/list/list-template/list-template.component.js +1 -15
- app-rn-runtime/components/data/list/list-template/list-template.component.js.map +1 -1
- app-rn-runtime/components/data/list/list-template/list-template.props.js +0 -1
- app-rn-runtime/components/data/list/list-template/list-template.props.js.map +1 -1
- app-rn-runtime/components/data/list/list-template/list-template.styles.js +1 -11
- app-rn-runtime/components/data/list/list-template/list-template.styles.js.map +1 -1
- app-rn-runtime/components/data/list/list.component.js +33 -54
- app-rn-runtime/components/data/list/list.component.js.map +1 -1
- app-rn-runtime/components/data/list/list.props.js +0 -1
- app-rn-runtime/components/data/list/list.props.js.map +1 -1
- app-rn-runtime/components/data/list/list.styles.js +0 -9
- app-rn-runtime/components/data/list/list.styles.js.map +1 -1
- app-rn-runtime/components/dialogs/dialog/dialog.component.js +3 -5
- app-rn-runtime/components/dialogs/dialog/dialog.component.js.map +1 -1
- app-rn-runtime/components/dialogs/dialog/dialog.styles.js.map +1 -1
- app-rn-runtime/components/input/basedataset/basedataset.component.js.map +1 -1
- app-rn-runtime/components/input/baseinput/baseinput.component.js +4 -11
- app-rn-runtime/components/input/baseinput/baseinput.component.js.map +1 -1
- app-rn-runtime/components/input/baseinput/baseinput.props.js +0 -1
- app-rn-runtime/components/input/baseinput/baseinput.props.js.map +1 -1
- app-rn-runtime/components/input/basenumber/basenumber.component.js +12 -25
- app-rn-runtime/components/input/basenumber/basenumber.component.js.map +1 -1
- app-rn-runtime/components/input/basenumber/basenumber.props.js +0 -2
- app-rn-runtime/components/input/basenumber/basenumber.props.js.map +1 -1
- app-rn-runtime/components/input/checkbox/checkbox.component.js +6 -5
- app-rn-runtime/components/input/checkbox/checkbox.component.js.map +1 -1
- app-rn-runtime/components/input/checkbox/checkbox.styles.js.map +1 -1
- app-rn-runtime/components/input/checkboxset/checkboxset.component.js +2 -23
- app-rn-runtime/components/input/checkboxset/checkboxset.component.js.map +1 -1
- app-rn-runtime/components/input/checkboxset/checkboxset.props.js +0 -1
- app-rn-runtime/components/input/checkboxset/checkboxset.props.js.map +1 -1
- app-rn-runtime/components/input/checkboxset/checkboxset.styles.js.map +1 -1
- app-rn-runtime/components/input/chips/chips.component.js +2 -3
- app-rn-runtime/components/input/chips/chips.component.js.map +1 -1
- app-rn-runtime/components/input/currency/currency.component.js +1 -16
- app-rn-runtime/components/input/currency/currency.component.js.map +1 -1
- app-rn-runtime/components/input/epoch/base-datetime.component.js +5 -22
- app-rn-runtime/components/input/epoch/base-datetime.component.js.map +1 -1
- app-rn-runtime/components/input/epoch/wheel-date-picker.component.js +12 -123
- app-rn-runtime/components/input/epoch/wheel-date-picker.component.js.map +1 -1
- app-rn-runtime/components/input/epoch/wheelpicker/wheelpicker.component.js.map +1 -1
- app-rn-runtime/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js +0 -4
- app-rn-runtime/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js.map +1 -1
- app-rn-runtime/components/input/epoch/wheelpickermodal/date/date-picker-modal.props.js +0 -2
- app-rn-runtime/components/input/epoch/wheelpickermodal/date/date-picker-modal.props.js.map +1 -1
- app-rn-runtime/components/input/fileupload/fileupload.component.js +2 -4
- app-rn-runtime/components/input/fileupload/fileupload.component.js.map +1 -1
- app-rn-runtime/components/input/fileupload/fileupload.props.js +0 -1
- app-rn-runtime/components/input/fileupload/fileupload.props.js.map +1 -1
- app-rn-runtime/components/input/number/number.component.js +3 -6
- app-rn-runtime/components/input/number/number.component.js.map +1 -1
- app-rn-runtime/components/input/radioset/radioset.component.js +6 -26
- app-rn-runtime/components/input/radioset/radioset.component.js.map +1 -1
- app-rn-runtime/components/input/radioset/radioset.props.js +0 -1
- app-rn-runtime/components/input/radioset/radioset.props.js.map +1 -1
- app-rn-runtime/components/input/radioset/radioset.styles.js.map +1 -1
- app-rn-runtime/components/input/select/select.component.js +9 -23
- app-rn-runtime/components/input/select/select.component.js.map +1 -1
- app-rn-runtime/components/input/switch/switch.component.js +2 -2
- app-rn-runtime/components/input/switch/switch.component.js.map +1 -1
- app-rn-runtime/components/input/text/text.component.js +0 -21
- app-rn-runtime/components/input/text/text.component.js.map +1 -1
- app-rn-runtime/components/input/text/text.props.js +0 -2
- app-rn-runtime/components/input/text/text.props.js.map +1 -1
- app-rn-runtime/components/input/text/text.styles.js.map +1 -1
- app-rn-runtime/components/input/textarea/textarea.component.js +0 -21
- app-rn-runtime/components/input/textarea/textarea.component.js.map +1 -1
- app-rn-runtime/components/input/textarea/textarea.props.js +0 -2
- app-rn-runtime/components/input/textarea/textarea.props.js.map +1 -1
- app-rn-runtime/components/input/toggle/toggle.component.js +4 -2
- app-rn-runtime/components/input/toggle/toggle.component.js.map +1 -1
- app-rn-runtime/components/navigation/appnavbar/appnavbar.component.js +2 -2
- app-rn-runtime/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
- app-rn-runtime/components/navigation/basenav/basenav.component.js.map +1 -1
- app-rn-runtime/components/navigation/navitem/navitem.component.js +3 -2
- app-rn-runtime/components/navigation/navitem/navitem.component.js.map +1 -1
- app-rn-runtime/components/navigation/popover/popover.component.js.map +1 -1
- app-rn-runtime/components/page/page-content/page-content.component.js +2 -27
- app-rn-runtime/components/page/page-content/page-content.component.js.map +1 -1
- app-rn-runtime/components/page/page-content/page-content.props.js +2 -2
- app-rn-runtime/components/page/page-content/page-content.props.js.map +1 -1
- app-rn-runtime/components/page/page-content/page-content.styles.js +1 -6
- app-rn-runtime/components/page/page-content/page-content.styles.js.map +1 -1
- app-rn-runtime/components/page/page.component.js.map +1 -1
- app-rn-runtime/components/page/page.props.js.map +1 -1
- app-rn-runtime/components/page/page.styles.js +1 -7
- app-rn-runtime/components/page/page.styles.js.map +1 -1
- app-rn-runtime/components/page/partial/partial.component.js +0 -21
- app-rn-runtime/components/page/partial/partial.component.js.map +1 -1
- app-rn-runtime/components/page/partial/partial.props.js.map +1 -1
- app-rn-runtime/components/page/partial/partial.styles.js +1 -6
- app-rn-runtime/components/page/partial/partial.styles.js.map +1 -1
- app-rn-runtime/components/page/tabbar/curve.js.map +1 -1
- app-rn-runtime/components/page/tabbar/tabbar.component.js.map +1 -1
- app-rn-runtime/components/page/tabbar/tabbar.props.js +0 -1
- app-rn-runtime/components/page/tabbar/tabbar.props.js.map +1 -1
- app-rn-runtime/components/prefab/prefab-container.component.js +0 -22
- app-rn-runtime/components/prefab/prefab-container.component.js.map +1 -1
- app-rn-runtime/components/prefab/prefab-container.props.js.map +1 -1
- app-rn-runtime/components/prefab/prefab-container.styles.js +1 -6
- app-rn-runtime/components/prefab/prefab-container.styles.js.map +1 -1
- app-rn-runtime/core/base.component.js +3 -5
- app-rn-runtime/core/base.component.js.map +1 -1
- app-rn-runtime/core/components/textinput.component.js +3 -4
- app-rn-runtime/core/components/textinput.component.js.map +1 -1
- app-rn-runtime/core/formatters.js.map +1 -1
- app-rn-runtime/core/key.extractor.js.map +1 -1
- app-rn-runtime/core/props.provider.js +0 -4
- app-rn-runtime/core/props.provider.js.map +1 -1
- app-rn-runtime/core/storage.service.js.map +1 -1
- app-rn-runtime/core/tappable.component.js +25 -26
- app-rn-runtime/core/tappable.component.js.map +1 -1
- app-rn-runtime/core/utils.js +4 -87
- app-rn-runtime/core/utils.js.map +1 -1
- app-rn-runtime/package.json +7 -30
- app-rn-runtime/runtime/App.js +1 -2
- app-rn-runtime/runtime/App.js.map +1 -1
- app-rn-runtime/runtime/App.navigator.js.map +1 -1
- app-rn-runtime/runtime/base-fragment.component.js +13 -43
- app-rn-runtime/runtime/base-fragment.component.js.map +1 -1
- app-rn-runtime/runtime/base-page.component.js.map +1 -1
- app-rn-runtime/runtime/base-partial.component.js.map +1 -1
- app-rn-runtime/runtime/base-prefab.component.js.map +1 -1
- app-rn-runtime/runtime/navigator/stack.navigator.js.map +1 -1
- app-rn-runtime/runtime/services/app-i18n.service.js +0 -10
- app-rn-runtime/runtime/services/app-i18n.service.js.map +1 -1
- app-rn-runtime/runtime/services/app-security.service.js +1 -25
- app-rn-runtime/runtime/services/app-security.service.js.map +1 -1
- app-rn-runtime/runtime/services/app-spinner.service.js +1 -1
- app-rn-runtime/runtime/services/app-spinner.service.js.map +1 -1
- app-rn-runtime/runtime/services/webprocess.service.js.map +1 -1
- app-rn-runtime/runtime/watcher.js.map +1 -1
- app-rn-runtime/styles/background.component.js +0 -1
- app-rn-runtime/styles/background.component.js.map +1 -1
- app-rn-runtime/styles/style-prop.validator.js.map +1 -1
- app-rn-runtime/styles/theme.js.map +1 -1
- app-rn-runtime/styles/theme.variables.js +0 -1
- app-rn-runtime/styles/theme.variables.js.map +1 -1
- app-rn-runtime/variables/base-variable.js.map +1 -1
- app-rn-runtime/variables/device/file/upload-file.operation.js.map +1 -1
- app-rn-runtime/variables/device-variable.js.map +1 -1
- app-rn-runtime/variables/service-variable.js.map +1 -1
- app-rn-runtime/core/ui-preferences.context.js +0 -7
- app-rn-runtime/core/ui-preferences.context.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Image","View","isNumber","Tappable","BaseComponent","BaseComponentState","ImageSizeEstimator","isFullPathUrl","AccessibilityWidgetType","getAccessibilityProps","WmPictureProps","DEFAULT_CLASS","Animatedview","createSkeleton","WmPictureState","constructor","args","_defineProperty","WmPicture","props","e","imageWidth","nativeEvent","layout","width","imageHeight","height","styles","root","includes","state","naturalImageHeight","naturalImageWidth","updateState","loadImage","image","loadAsset","imageSrc","default","resolveAssetSource","cancel","getSize","cleanup","splice","indexOf","push","onPropertyChange","name","$new","$old","_pictureSource","_picturePlaceHolder","createShape","shape","picture","borderRadius","theme","getStyle","getElementToShow","imgSrc","shapeStyles","elementToshow","source","imgStyle","resizemode","createElement","uri","_extends","getTestProps","style","resizeMode","PICTURE","renderSkeleton","_this$styles$root","_shapeStyles$root","_shapeStyles$picture","_this$styles$root2","_shapeStyles$root2","_shapeStyles$picture2","_this$styles$root3","_shapeStyles$picture3","_shapeStyles$root3","_this$styles$root4","skeletonWidth","skeletonwidth","skeletonHeight","skeletonheight","skeleton","renderWidget","_shapeStyles$picture4","picturesource","pictureplaceholder","isSvg","_background","overflow","onLayout","onViewLayoutChange","getTestPropsForAction","rippleColor","target","entryanimation","animation","delay","animationdelay"],"sources":["picture.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Image, LayoutChangeEvent, View } from 'react-native';\n// import { NumberProp, SvgUri } from 'react-native-svg';\nimport { isNumber, isString } from 'lodash-es';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport ImageSizeEstimator from '@wavemaker/app-rn-runtime/core/imageSizeEstimator';\nimport { isFullPathUrl } from '@wavemaker/app-rn-runtime/core/utils';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nimport WmPictureProps from './picture.props';\nimport { DEFAULT_CLASS, WmPictureStyles } from './picture.styles';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport WmSkeleton, { createSkeleton } from '../skeleton/skeleton.component';\n\nexport class WmPictureState extends BaseComponentState<WmPictureProps> {\n naturalImageWidth: number = 0;\n naturalImageHeight: number = 0;\n imageWidth: number = 0;\n imageHeight: number = 0;\n}\n\nexport default class WmPicture extends BaseComponent<WmPictureProps, WmPictureState, WmPictureStyles> {\n\n private _pictureSource = null as any;\n private _picturePlaceHolder = null as any;\n\n constructor(props: WmPictureProps) {\n super(props, DEFAULT_CLASS, new WmPictureProps());\n }\n\n loadImage(image: string | undefined) {\n if (!image || !this.loadAsset) {\n return null;\n }\n const imageSrc = this.loadAsset(image) as any;\n if (imageSrc && typeof imageSrc === 'object' && typeof imageSrc.default === 'function') {\n return null;\n }\n if (isNumber(imageSrc)) {\n const {width, height} = Image.resolveAssetSource(imageSrc);\n this.updateState({\n naturalImageWidth: width,\n naturalImageHeight: height\n } as WmPictureState);\n } else if (imageSrc !== null) {\n const cancel = ImageSizeEstimator.getSize(imageSrc, (width: number, height: number) => {\n this.updateState({\n naturalImageWidth: width,\n naturalImageHeight: height\n } as WmPictureState);\n this.cleanup.splice(this.cleanup.indexOf(cancel), 1);\n });\n this.cleanup.push(cancel);\n }\n return imageSrc;\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch(name) {\n case 'picturesource':\n this._pictureSource = null;\n case 'pictureplaceholder':\n this._picturePlaceHolder = null;\n break;\n }\n }\n\n onViewLayoutChange = (e: LayoutChangeEvent) => {\n let imageWidth = e.nativeEvent.layout.width;\n let imageHeight = e.nativeEvent.layout.height;\n if (!imageWidth && !imageHeight) {\n return;\n }\n if (!this.styles.root.height\n || (typeof this.styles.root.height === 'string'\n && !this.styles.root.height.includes('%'))) {\n imageHeight = 0;\n }\n if (imageWidth && !imageHeight) {\n imageHeight = imageWidth * this.state.naturalImageHeight / this.state.naturalImageWidth;\n } else if (imageHeight && !imageWidth) {\n imageWidth = imageHeight * this.state.naturalImageWidth / this.state.naturalImageHeight;\n }\n this.updateState({\n imageWidth: imageWidth,\n imageHeight: imageHeight\n } as WmPictureState);\n };\n\n createShape(shape: string | undefined, imageWidth?: number | string): WmPictureStyles {\n if (shape) {\n switch(shape) {\n case 'circle':\n return {\n picture: {\n borderRadius: isNumber(imageWidth) ? imageWidth / 2 : 4\n }\n } as WmPictureStyles;\n case 'rounded' :\n return (this.theme.getStyle('rounded-image') as WmPictureStyles);\n case 'thumbnail' :\n return (this.theme.getStyle('thumbnail-image') as WmPictureStyles);\n }\n }\n return {} as WmPictureStyles;\n }\n\n getElementToShow(props: WmPictureProps, imgSrc: any, shapeStyles: WmPictureStyles) {\n let elementToshow, source;\n if (imgSrc && typeof imgSrc === 'object' && typeof imgSrc?.default === 'function') {\n let imgStyle : any = {};\n if (props.resizemode === 'contain') {\n imgStyle['width'] = '100%';\n imgStyle['height'] = '100%';\n }\n elementToshow = React.createElement(imgSrc?.default, imgStyle);\n //} else if (!isWebPreviewMode() && props.isSvg) {\n // svg from uri\n // elementToshow = <SvgUri testID={this.getTestId('picture')} width={this.styles.root.width as NumberProp} height={this.styles.root.height as NumberProp} uri={imgSrc}/>;\n } else if (isFullPathUrl(imgSrc)) {\n source = {\n uri: imgSrc\n };\n } else {\n source = imgSrc;\n }\n if (this.state.naturalImageWidth) {\n elementToshow = (\n <Image\n {...this.getTestProps('picture')}\n style={[this.styles.picture, shapeStyles.picture]}\n resizeMode={props.resizemode}\n source={source}\n {...getAccessibilityProps(AccessibilityWidgetType.PICTURE, props)}\n />\n );\n }\n return elementToshow;\n }\n\n public renderSkeleton(props: WmPictureProps){\n const imageWidth = this.state.imageWidth;\n const imageHeight = this.state.imageHeight;\n const shapeStyles = this.createShape(this.props.shape, imageWidth);\n const skeletonWidth = this.props.skeletonwidth || this.styles.root?.width || shapeStyles.root?.width || shapeStyles.picture?.width || imageWidth;\n const skeletonHeight = this.props.skeletonheight || this.styles.root?.height || shapeStyles.root?.height || shapeStyles.picture?.height || imageHeight;\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n borderRadius: this.props.shape == 'circle' && this.styles.root?.width ? 25 : shapeStyles.picture?.borderRadius || shapeStyles.root?.borderRadius || this.styles.root?.borderRadius || 4,\n width: skeletonWidth as DimensionValue,\n height: skeletonHeight as DimensionValue\n });\n }\n\n renderWidget(props: WmPictureProps) {\n const imageWidth = this.state.imageWidth;\n const imageHeight = this.state.imageHeight;\n const shapeStyles = this.createShape(props.shape, imageWidth);\n this._pictureSource = this._pictureSource || this.loadImage(props.picturesource);\n this._picturePlaceHolder = this._picturePlaceHolder || this.loadImage(props.pictureplaceholder);\n const imgSrc: any = this._pictureSource || this._picturePlaceHolder;\n let elementToshow;\n if (imgSrc) {\n elementToshow = this.getElementToShow(props, imgSrc, shapeStyles);\n }\n return imgSrc && (this.state.naturalImageWidth || props.isSvg) ? (\n <View style={[{\n width: imageWidth,\n height: imageHeight\n }, this.styles.root, shapeStyles.root, shapeStyles.picture]}>\n {this._background}\n <View style={[{overflow: 'hidden', width: '100%',\n height: '100%'}]} onLayout={this.onViewLayoutChange}>\n <Tappable\n {...this.getTestPropsForAction()}\n rippleColor={this.styles.root.rippleColor}\n target={this} styles={{width: imageWidth ? null : '100%', height: imageHeight ? null : '100%'}}>\n <Animatedview entryanimation={props.animation} delay={props.animationdelay} style={[{\n height: imageHeight,\n width: imageWidth,\n borderRadius: shapeStyles.picture?.borderRadius\n }]}>\n {this.state.imageWidth ? elementToshow : null}\n </Animatedview>\n </Tappable>\n </View>\n </View>\n ): null;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","Image","View","isNumber","Tappable","BaseComponent","BaseComponentState","ImageSizeEstimator","isFullPathUrl","AccessibilityWidgetType","getAccessibilityProps","WmPictureProps","DEFAULT_CLASS","Animatedview","createSkeleton","WmPictureState","constructor","args","_defineProperty","WmPicture","props","e","imageWidth","nativeEvent","layout","width","imageHeight","height","styles","root","includes","state","naturalImageHeight","naturalImageWidth","updateState","loadImage","image","loadAsset","imageSrc","default","resolveAssetSource","cancel","getSize","cleanup","splice","indexOf","push","onPropertyChange","name","$new","$old","_pictureSource","_picturePlaceHolder","createShape","shape","picture","borderRadius","theme","getStyle","getElementToShow","imgSrc","shapeStyles","elementToshow","source","imgStyle","resizemode","createElement","uri","_extends","testID","getTestId","style","resizeMode","PICTURE","renderSkeleton","_this$styles$root","_shapeStyles$root","_shapeStyles$picture","_this$styles$root2","_shapeStyles$root2","_shapeStyles$picture2","_this$styles$root3","_shapeStyles$picture3","_shapeStyles$root3","_this$styles$root4","skeletonWidth","skeletonwidth","skeletonHeight","skeletonheight","skeleton","renderWidget","_shapeStyles$picture4","picturesource","pictureplaceholder","isSvg","_background","overflow","onLayout","onViewLayoutChange","getTestPropsForAction","rippleColor","target","entryanimation","animation","delay","animationdelay"],"sources":["picture.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Image, LayoutChangeEvent, View } from 'react-native';\n// import { NumberProp, SvgUri } from 'react-native-svg';\nimport { isNumber, isString } from 'lodash-es';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport ImageSizeEstimator from '@wavemaker/app-rn-runtime/core/imageSizeEstimator';\nimport { isFullPathUrl } from '@wavemaker/app-rn-runtime/core/utils';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nimport WmPictureProps from './picture.props';\nimport { DEFAULT_CLASS, WmPictureStyles } from './picture.styles';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport WmSkeleton, { createSkeleton } from '../skeleton/skeleton.component';\n\nexport class WmPictureState extends BaseComponentState<WmPictureProps> {\n naturalImageWidth: number = 0;\n naturalImageHeight: number = 0;\n imageWidth: number = 0;\n imageHeight: number = 0;\n}\n\nexport default class WmPicture extends BaseComponent<WmPictureProps, WmPictureState, WmPictureStyles> {\n\n private _pictureSource = null as any;\n private _picturePlaceHolder = null as any;\n\n constructor(props: WmPictureProps) {\n super(props, DEFAULT_CLASS, new WmPictureProps());\n }\n\n loadImage(image: string | undefined) {\n if (!image || !this.loadAsset) {\n return null;\n }\n const imageSrc = this.loadAsset(image) as any;\n if (imageSrc && typeof imageSrc === 'object' && typeof imageSrc.default === 'function') {\n return null;\n }\n if (isNumber(imageSrc)) {\n const {width, height} = Image.resolveAssetSource(imageSrc);\n this.updateState({\n naturalImageWidth: width,\n naturalImageHeight: height\n } as WmPictureState);\n } else if (imageSrc !== null) {\n const cancel = ImageSizeEstimator.getSize(imageSrc, (width: number, height: number) => {\n this.updateState({\n naturalImageWidth: width,\n naturalImageHeight: height\n } as WmPictureState);\n this.cleanup.splice(this.cleanup.indexOf(cancel), 1);\n });\n this.cleanup.push(cancel);\n }\n return imageSrc;\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch(name) {\n case 'picturesource':\n this._pictureSource = null;\n case 'pictureplaceholder':\n this._picturePlaceHolder = null;\n break;\n }\n }\n\n onViewLayoutChange = (e: LayoutChangeEvent) => {\n let imageWidth = e.nativeEvent.layout.width;\n let imageHeight = e.nativeEvent.layout.height;\n if (!imageWidth && !imageHeight) {\n return;\n }\n if (!this.styles.root.height\n || (typeof this.styles.root.height === 'string'\n && !this.styles.root.height.includes('%'))) {\n imageHeight = 0;\n }\n if (imageWidth && !imageHeight) {\n imageHeight = imageWidth * this.state.naturalImageHeight / this.state.naturalImageWidth;\n } else if (imageHeight && !imageWidth) {\n imageWidth = imageHeight * this.state.naturalImageWidth / this.state.naturalImageHeight;\n }\n this.updateState({\n imageWidth: imageWidth,\n imageHeight: imageHeight\n } as WmPictureState);\n };\n\n createShape(shape: string | undefined, imageWidth?: number | string): WmPictureStyles {\n if (shape) {\n switch(shape) {\n case 'circle':\n return {\n picture: {\n borderRadius: isNumber(imageWidth) ? imageWidth / 2 : 4\n }\n } as WmPictureStyles;\n case 'rounded' :\n return (this.theme.getStyle('rounded-image') as WmPictureStyles);\n case 'thumbnail' :\n return (this.theme.getStyle('thumbnail-image') as WmPictureStyles);\n }\n }\n return {} as WmPictureStyles;\n }\n\n getElementToShow(props: WmPictureProps, imgSrc: any, shapeStyles: WmPictureStyles) {\n let elementToshow, source;\n if (imgSrc && typeof imgSrc === 'object' && typeof imgSrc?.default === 'function') {\n let imgStyle : any = {};\n if (props.resizemode === 'contain') {\n imgStyle['width'] = '100%';\n imgStyle['height'] = '100%';\n }\n elementToshow = React.createElement(imgSrc?.default, imgStyle);\n //} else if (!isWebPreviewMode() && props.isSvg) {\n // svg from uri\n // elementToshow = <SvgUri testID={this.getTestId('picture')} width={this.styles.root.width as NumberProp} height={this.styles.root.height as NumberProp} uri={imgSrc}/>;\n } else if (isFullPathUrl(imgSrc)) {\n source = {\n uri: imgSrc\n };\n } else {\n source = imgSrc;\n }\n if (this.state.naturalImageWidth) {\n elementToshow = (\n <Image\n testID={this.getTestId('picture')}\n style={[this.styles.picture, shapeStyles.picture]}\n resizeMode={props.resizemode}\n source={source}\n {...getAccessibilityProps(AccessibilityWidgetType.PICTURE, props)}\n />\n );\n }\n return elementToshow;\n }\n\n public renderSkeleton(props: WmPictureProps){\n const imageWidth = this.state.imageWidth;\n const imageHeight = this.state.imageHeight;\n const shapeStyles = this.createShape(this.props.shape, imageWidth);\n const skeletonWidth = this.props.skeletonwidth || this.styles.root?.width || shapeStyles.root?.width || shapeStyles.picture?.width || imageWidth;\n const skeletonHeight = this.props.skeletonheight || this.styles.root?.height || shapeStyles.root?.height || shapeStyles.picture?.height || imageHeight;\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n borderRadius: this.props.shape == 'circle' && this.styles.root?.width ? 25 : shapeStyles.picture?.borderRadius || shapeStyles.root?.borderRadius || this.styles.root?.borderRadius || 4,\n width: skeletonWidth as DimensionValue,\n height: skeletonHeight as DimensionValue\n });\n }\n\n renderWidget(props: WmPictureProps) {\n const imageWidth = this.state.imageWidth;\n const imageHeight = this.state.imageHeight;\n const shapeStyles = this.createShape(props.shape, imageWidth);\n this._pictureSource = this._pictureSource || this.loadImage(props.picturesource);\n this._picturePlaceHolder = this._picturePlaceHolder || this.loadImage(props.pictureplaceholder);\n const imgSrc: any = this._pictureSource || this._picturePlaceHolder;\n let elementToshow;\n if (imgSrc) {\n elementToshow = this.getElementToShow(props, imgSrc, shapeStyles);\n }\n return imgSrc && (this.state.naturalImageWidth || props.isSvg) ? (\n <View style={[{\n width: imageWidth,\n height: imageHeight\n }, this.styles.root, shapeStyles.root, shapeStyles.picture]}>\n {this._background}\n <View style={[{overflow: 'hidden', width: '100%',\n height: '100%'}]} onLayout={this.onViewLayoutChange}>\n <Tappable\n {...this.getTestPropsForAction()}\n rippleColor={this.styles.root.rippleColor}\n target={this} styles={{width: imageWidth ? null : '100%', height: imageHeight ? null : '100%'}}>\n <Animatedview entryanimation={props.animation} delay={props.animationdelay} style={[{\n height: imageHeight,\n width: imageWidth,\n borderRadius: shapeStyles.picture?.borderRadius\n }]}>\n {this.state.imageWidth ? elementToshow : null}\n </Animatedview>\n </Tappable>\n </View>\n </View>\n ): null;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -29,7 +29,7 @@ export default class WmProgressBar extends BaseComponent {
|
|
29
29
|
const valuePercent = `${Math.round(value * 100)}%`;
|
30
30
|
return /*#__PURE__*/React.createElement(View, {
|
31
31
|
style: styles.root
|
32
|
-
}, this._background, /*#__PURE__*/React.createElement(Tappable, {
|
32
|
+
}, this._background, /*#__PURE__*/React.createElement(Tappable, _extends({}, this.getTestPropsForAction(), {
|
33
33
|
target: this,
|
34
34
|
styles: {
|
35
35
|
root: {
|
@@ -37,7 +37,7 @@ export default class WmProgressBar extends BaseComponent {
|
|
37
37
|
height: '100%'
|
38
38
|
}
|
39
39
|
}
|
40
|
-
}, /*#__PURE__*/React.createElement(ProgressBar, _extends({},
|
40
|
+
}), /*#__PURE__*/React.createElement(ProgressBar, _extends({}, getAccessibilityProps(AccessibilityWidgetType.PROGRESSBAR, props), {
|
41
41
|
progress: value,
|
42
42
|
color: styles.progressValue.color,
|
43
43
|
style: [styles.progressBar, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","View","ProgressBar","LinearGradient","ExpoLinearGradient","Tappable","BaseComponent","BaseComponentState","AccessibilityWidgetType","getAccessibilityProps","WmProgressBarProps","DEFAULT_CLASS","parseLinearGradient","WmProgressBarState","WmProgressBar","constructor","props","renderWidget","_styles$root","_styles$progressBar","value","datavalue","minvalue","maxvalue","styles","theme","mergeStyle","getStyle","type","hasLinearGradient","color1","color2","start","end","root","progressBar","backgroundColor","gradientColors","valuePercent","Math","round","createElement","style","_background","
|
1
|
+
{"version":3,"names":["React","View","ProgressBar","LinearGradient","ExpoLinearGradient","Tappable","BaseComponent","BaseComponentState","AccessibilityWidgetType","getAccessibilityProps","WmProgressBarProps","DEFAULT_CLASS","parseLinearGradient","WmProgressBarState","WmProgressBar","constructor","props","renderWidget","_styles$root","_styles$progressBar","value","datavalue","minvalue","maxvalue","styles","theme","mergeStyle","getStyle","type","hasLinearGradient","color1","color2","start","end","root","progressBar","backgroundColor","gradientColors","valuePercent","Math","round","createElement","style","_background","_extends","getTestPropsForAction","target","width","height","PROGRESSBAR","progress","color","progressValue","colors","position","borderRadius","Fragment"],"sources":["progress-bar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { ProgressBar } from 'react-native-paper';\nimport { LinearGradient as ExpoLinearGradient } from 'expo-linear-gradient';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nimport WmProgressBarProps from './progress-bar.props';\nimport { DEFAULT_CLASS, WmProgressBarStyles } from './progress-bar.styles';\nimport { parseLinearGradient } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class WmProgressBarState extends BaseComponentState<WmProgressBarProps> {}\n\nexport default class WmProgressBar extends BaseComponent<WmProgressBarProps, WmProgressBarState, WmProgressBarStyles> {\n\n constructor(props: WmProgressBarProps) {\n super(props, DEFAULT_CLASS, new WmProgressBarProps());\n }\n\n renderWidget(props: WmProgressBarProps) {\n let value = (props.datavalue - props.minvalue) / (props.maxvalue - props.minvalue);\n const styles = this.theme.mergeStyle(this.theme.getStyle(`app-${props.type}-progress-bar`), this.styles);\n const {hasLinearGradient, color1, color2, start, end} = parseLinearGradient(styles?.root?.progressBar?.backgroundColor as string);\n const gradientColors = [color1, color2];\n const valuePercent = `${Math.round(value * 100)}%`;\n\n return (\n <View style={styles.root}>\n {this._background}\n <Tappable {...this.getTestPropsForAction()} target={this} styles={{root:{width: '100%', height: '100%'}}}>\n <ProgressBar\n {...getAccessibilityProps(AccessibilityWidgetType.PROGRESSBAR, props)}\n progress={value}\n color={styles.progressValue.color}\n style={[styles.progressBar, {height: styles.root.height || styles.progressBar.height}]}></ProgressBar>\n {hasLinearGradient ? (\n <ExpoLinearGradient\n colors={gradientColors}\n start={start}\n end={end}\n style={[\n {\n width: valuePercent as any,\n height: styles.root.height || styles.progressBar.height,\n position: 'absolute',\n borderRadius: styles?.progressBar?.borderRadius || 0,\n },\n ]}\n />\n ) : (\n <></>\n )}\n </Tappable>\n </View>); \n }\n\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -46,7 +46,7 @@ export default class WmProgressCircle extends BaseComponent {
|
|
46
46
|
return /*#__PURE__*/React.createElement(View, _extends({
|
47
47
|
style: styles.root,
|
48
48
|
onLayout: this.onLayout.bind(this)
|
49
|
-
}, getAccessibilityProps(AccessibilityWidgetType.PROGRESSCIRCLE, props)
|
49
|
+
}, getAccessibilityProps(AccessibilityWidgetType.PROGRESSCIRCLE, props)), this._background, /*#__PURE__*/React.createElement(Tappable, _extends({}, this.getTestPropsForAction(), {
|
50
50
|
target: this,
|
51
51
|
styles: {
|
52
52
|
root: {
|
@@ -54,7 +54,7 @@ export default class WmProgressCircle extends BaseComponent {
|
|
54
54
|
height: '100%'
|
55
55
|
}
|
56
56
|
}
|
57
|
-
}, /*#__PURE__*/React.createElement(AnimatedCircularProgress, {
|
57
|
+
}), /*#__PURE__*/React.createElement(AnimatedCircularProgress, {
|
58
58
|
fill: value,
|
59
59
|
width: styles.progressValue.height,
|
60
60
|
backgroundWidth: styles.progressValue.height,
|
@@ -67,11 +67,11 @@ export default class WmProgressCircle extends BaseComponent {
|
|
67
67
|
style: {
|
68
68
|
alignItems: 'center'
|
69
69
|
}
|
70
|
-
}, /*#__PURE__*/React.createElement(Text,
|
70
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
71
71
|
style: styles.text
|
72
|
-
},
|
72
|
+
}, showText ? props.title || value : ''), showText && props.subtitle ? /*#__PURE__*/React.createElement(Text, {
|
73
73
|
style: styles.subTitle
|
74
|
-
},
|
74
|
+
}, props.subtitle) : null))));
|
75
75
|
}
|
76
76
|
}
|
77
77
|
//# sourceMappingURL=progress-circle.component.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","View","Text","isNumber","AnimatedCircularProgress","Tappable","BaseComponent","BaseComponentState","AccessibilityWidgetType","getAccessibilityProps","WmProgressCircleProps","DEFAULT_CLASS","WmProgressCircleState","constructor","args","_defineProperty","WmProgressCircle","props","onLayout","e","width","nativeEvent","layout","height","radius","state","Math","min","updateState","renderWidget","value","datavalue","minvalue","maxvalue","styles","theme","mergeStyle","getStyle","type","showText","captionplacement","createElement","_extends","style","root","bind","PROGRESSCIRCLE","
|
1
|
+
{"version":3,"names":["React","View","Text","isNumber","AnimatedCircularProgress","Tappable","BaseComponent","BaseComponentState","AccessibilityWidgetType","getAccessibilityProps","WmProgressCircleProps","DEFAULT_CLASS","WmProgressCircleState","constructor","args","_defineProperty","WmProgressCircle","props","onLayout","e","width","nativeEvent","layout","height","radius","state","Math","min","updateState","renderWidget","value","datavalue","minvalue","maxvalue","styles","theme","mergeStyle","getStyle","type","showText","captionplacement","createElement","_extends","style","root","bind","PROGRESSCIRCLE","_background","getTestPropsForAction","target","fill","progressValue","backgroundWidth","rotation","tintColor","backgroundColor","lineCap","buttStyle","progressCircle","size","alignItems","text","title","subtitle","subTitle"],"sources":["progress-circle.component.tsx"],"sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, View, Text } from 'react-native';\nimport { isNumber } from 'lodash';\nimport { AnimatedCircularProgress } from 'react-native-circular-progress';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nimport WmProgressCircleProps from './progress-circle.props';\nimport { DEFAULT_CLASS, WmProgressCircleStyles } from './progress-circle.styles';\n\n\nexport class WmProgressCircleState extends BaseComponentState<WmProgressCircleProps> {\n radius = 10;\n}\n\nexport default class WmProgressCircle extends BaseComponent<WmProgressCircleProps, WmProgressCircleState, WmProgressCircleStyles> {\n\n constructor(props: WmProgressCircleProps) {\n super(props, DEFAULT_CLASS, new WmProgressCircleProps(), new WmProgressCircleState());\n }\n\n onLayout(e: LayoutChangeEvent) {\n const width = e.nativeEvent.layout.width;\n const height = e.nativeEvent.layout.height;\n let radius = this.state.radius;\n if (!width) {\n radius = height;\n } else if (!height) {\n radius = width;\n } else {\n radius = Math.min(width, height);\n }\n this.updateState({\n radius: radius\n } as WmProgressCircleState);\n }\n\n renderWidget(props: WmProgressCircleProps) {\n let value = 0;\n if (isNumber(props.datavalue) && isNumber(props.minvalue) && isNumber(props.maxvalue)) {\n value = (+props.datavalue - (+props.minvalue)) / (+props.maxvalue - (+props.minvalue)) * 100;\n }\n const styles = this.theme.mergeStyle(this.theme.getStyle(`app-${props.type}-progress-circle`), this.styles);\n const showText = props.captionplacement !== 'hidden';\n return (\n <View style={styles.root} onLayout={this.onLayout.bind(this)} {...getAccessibilityProps(AccessibilityWidgetType.PROGRESSCIRCLE, props)}>\n {this._background}\n <Tappable {...this.getTestPropsForAction()} target={this} styles={{root:{width: '100%', height: '100%'}}}>\n <AnimatedCircularProgress\n fill={value}\n width={styles.progressValue.height}\n backgroundWidth={styles.progressValue.height}\n rotation={0}\n tintColor={styles.progressValue.backgroundColor}\n lineCap={styles.progressValue.buttStyle || \"butt\"}\n backgroundColor={styles.progressCircle.backgroundColor}\n size={this.state.radius}>\n {(fill) => (<View style={{alignItems: 'center'}}>\n <Text style={styles.text}>{ showText ? props.title || value : '' }</Text>\n {showText && props.subtitle ? (<Text style={styles.subTitle}>{ props.subtitle }</Text>) : null}\n </View>)} \n </AnimatedCircularProgress>\n </Tappable>\n </View>); \n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -18,7 +18,6 @@ import { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';
|
|
18
18
|
import WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';
|
19
19
|
import { get, isArray, isEmpty, isObject } from "lodash-es";
|
20
20
|
import { AssetProvider } from '@wavemaker/app-rn-runtime/core/asset.provider';
|
21
|
-
import { createSkeleton } from '../skeleton/skeleton.component';
|
22
21
|
export class WmSearchState extends BaseDatasetState {
|
23
22
|
constructor(...args) {
|
24
23
|
super(...args);
|
@@ -271,17 +270,6 @@ export default class WmSearch extends BaseDatasetComponent {
|
|
271
270
|
}
|
272
271
|
this.hide();
|
273
272
|
}
|
274
|
-
renderSkeleton(props) {
|
275
|
-
const {
|
276
|
-
skeletonwidth,
|
277
|
-
skeletonheight
|
278
|
-
} = this.props;
|
279
|
-
return createSkeleton(this.theme, this.styles.skeleton, {
|
280
|
-
...this.styles.root,
|
281
|
-
width: skeletonwidth,
|
282
|
-
height: skeletonheight
|
283
|
-
});
|
284
|
-
}
|
285
273
|
renderSearchBar() {
|
286
274
|
var _this$state$dataItems;
|
287
275
|
const props = this.state.props;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Keyboard","Platform","Text","TextInput","View","ScrollView","find","isNull","WmSearchProps","DEFAULT_CLASS","ModalConsumer","DataProvider","AccessibilityWidgetType","getAccessibilityProps","BaseDatasetComponent","BaseDatasetState","WmAnchor","WmPicture","Tappable","WmButton","get","isArray","isEmpty","isObject","AssetProvider","createSkeleton","WmSearchState","constructor","args","_defineProperty","top","left","WmSearch","props","Promise","resolve","position","view","measure","x","y","width","height","px","py","updateState","computePosition","then","isOpened","dataProvider","datavalue","query","clearSearch","invokeEventCallback","hide","dataItems","state","map","item","selected","type","updateFilteredData","queryText","_filteredData","filterOptions","entries","filteredData","minchars","length","_this$dataProvider","searchkey","updateRequired","undefined","init","invokeVariable","response","dataSet","setDataItems","filter","result","dataObject","data","isFocused","showPopover","focus","_this$widgetRef","widgetRef","onChange","value","isDefaultQuery","prevQuery","searchon","validate","setTimeout","invokeEvent","proxy","invokeChange","e","OS","cursor","target","selectionStart","onFocus","disabled","_this$state$props$que","onBlur","triggerValidation","prepareModalOptions","content","styles","modalService","o","modalOptions","modalContentSTyles","searchInputWidth","modalContent","borderWidth","modalStyle","modal","contentStyle","isModal","onClose","dismiss","setState","hideModal","searchIconPress","onItemSelect","displayexp","displayfield","datafield","updateDatavalue","prevDatavalue","queryModel","renderSkeleton","skeletonwidth","skeletonheight","theme","skeleton","root","renderSearchBar","_this$state$dataItems","opts","valueExpr","createElement","style","ref","onLayout","searchInputWrapper","_extends","text","isValid","invalid","focusedText","selectionEnd","getTestPropsForInput","SEARCH","placeholderTextColor","placeholderText","color","placeholder","autoFocus","autofocus","editable","readonly","onChangeText","bind","nativeEvent","layout","showclear","onTap","id","getTestId","clearButton","iconclass","showSearchIcon","searchButton","reset","renderSearchItem","index","imageStyles","imagewidth","getTestProps","searchItem","template","renderitempartial","Fragment","name","picturesource","imgSrc","getTestPropsForLabel","searchItemText","updateDefaultQueryModel","selectedItem","onDataItemsUpdate","componentDidMount","onPropertyChange","$new","$old","dataset","setTemplate","partialName","renderWidget","showModal","maxHeight","contentContainerStyle","dropDownContent","loadAsset","key","limit","caption","datacompletemsg","dataCompleteItem"],"sources":["search.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Keyboard, Platform, Text, TextInput, View } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { find, isNull } from 'lodash';\n\nimport WmSearchProps from './search.props';\nimport { DEFAULT_CLASS, WmSearchStyles } from './search.styles';\nimport { ModalConsumer, ModalOptions, ModalService} from \"@wavemaker/app-rn-runtime/core/modal.service\";\nimport { DataProvider } from '@wavemaker/app-rn-runtime/components/basic/search/local-data-provider';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport { get, isArray, isEmpty, isObject } from \"lodash-es\";\nimport { AssetProvider } from '@wavemaker/app-rn-runtime/core/asset.provider';\nimport { createSkeleton } from '../skeleton/skeleton.component';\n\nexport class WmSearchState extends BaseDatasetState<WmSearchProps> {\n isOpened: boolean = false;\n modalOptions = {} as ModalOptions;\n template: string = \"\";\n position = {\n top: 0,\n left: 0\n } as DropdownPosition;\n data: any = [];\n}\n\nexport interface DropdownPosition {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\n\nexport default class WmSearch extends BaseDatasetComponent<WmSearchProps, WmSearchState, WmSearchStyles> {\n view: View = null as any;\n private prevDatavalue: any;\n private queryModel: any;\n private searchInputWidth: any;\n private isDefaultQuery: boolean = true;\n private dataProvider: DataProvider;\n public widgetRef: TextInput | null = null;\n private cursor: any = 0;\n private isFocused: boolean = false;\n private updateRequired: any;\n\n constructor(props: WmSearchProps) {\n super(props, DEFAULT_CLASS, new WmSearchProps(), new WmSearchState());\n this.dataProvider = new DataProvider();\n if (this.props.datavalue) {\n this.updateState({\n props: {\n query: this.props.datavalue\n }\n } as WmSearchState);\n }\n }\n\n computePosition = () => {\n return new Promise<void>((resolve) => {\n const position = {} as DropdownPosition;\n this.view.measure((x = 0, y = 0, width = 0, height = 0, px = 0, py = 0) => {\n position.left = px;\n position.top = py + height;\n this.updateState({ position: position } as WmSearchState, resolve);\n });\n });\n }\n\n clearSearch() {\n this.invokeEventCallback('onClear', [null, this]);\n this.hide();\n this.updateState({\n props: {\n query: ''\n },\n dataItems: this.state.dataItems ? this.state.dataItems.map((item: any) => {\n item.selected = false;\n return item;\n }) : []\n } as WmSearchState, () => {\n if (this.state.props.type === 'autocomplete') {\n this.updateFilteredData('');\n }\n });\n }\n\n updateFilteredData(queryText: string = '') {\n const props = this.state.props;\n const filterOptions = {\n query: queryText,\n props: props,\n entries: this.state.dataItems\n };\n let filteredData: Array<any> = [];\n if (props.minchars && queryText.length < props.minchars) {\n filteredData = [];\n } else if (props.type === 'search' && !queryText) {\n filteredData = [];\n } else {\n if (this.props.searchkey && this.updateRequired === undefined) {\n this.updateRequired = this.dataProvider.init(this);\n }\n // for service variables invoke the variable with params.\n if (this.props.searchkey && this.updateRequired && this.state.props.query !== queryText) {\n this.dataProvider.invokeVariable(this, queryText).then((response: any) => {\n if (response) {\n response = response.dataSet;\n if (isEmpty(response)) {\n filteredData = [];\n } else {\n if (isObject(response) && !isArray(response)) {\n response = [response];\n }\n this.setDataItems(response);\n }\n }\n }, () => {});\n return;\n }\n filteredData = this.dataProvider?.filter(filterOptions);\n }\n this.updateState({\n props: { result: filteredData?.map( (item: any) => item.dataObject), query: queryText },\n data: filteredData,\n } as WmSearchState);\n if (!this.state.isOpened && this.isFocused) {\n this.showPopover && this.showPopover();\n }\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n onChange(value: any) {\n this.isDefaultQuery = false;\n const prevQuery = this.state.props.query;\n if (this.state.props.searchon === 'onsearchiconclick') {\n this.updateState({\n props: {result: [], query: value},\n data: []\n } as WmSearchState);\n } else {\n this.updateFilteredData(value);\n }\n if (value === '') {\n this.validate(value);\n this.updateState({\n props: {\n datavalue: '',\n },\n } as WmSearchState);\n if (value === prevQuery) {\n return;\n }\n }\n setTimeout(() => {\n if (this.props.invokeEvent) {\n this.props.invokeEvent('onChange', [undefined, this.proxy, value, prevQuery]);\n }\n this.invokeEventCallback('onChange', [ undefined, this.proxy, value, prevQuery ]);\n }, 300);\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.updateState({ props: { query: e.target.value } } as WmSearchState);\n }\n }\n\n onFocus() {\n this.isFocused = true;\n if (!this.state.props.disabled && this.state.props.type === 'autocomplete') {\n this.cursor = this.state.props.query?.length || 0;\n this.updateFilteredData(this.state.props.query || '');\n }\n this.invokeEventCallback('onFocus', [null, this]);\n }\n\n onBlur() {\n this.isFocused = false;\n this.validate(this.state.props.datavalue);\n if (!this.state.props.datavalue) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n })\n }\n this.invokeEventCallback('onBlur', [null, this]);\n }\n\n public showPopover = () => {\n this.computePosition().then(() => {\n this.updateState({ isOpened: true } as WmSearchState);\n });\n };\n\n public hide = () => {};\n\n prepareModalOptions(content: React.ReactNode, styles: WmSearchStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n const modalContentSTyles = {\n width: this.searchInputWidth - 2 * (styles.modalContent.borderWidth || 0),\n left: (this.state.position.left || 0) + 2 * (styles.modalContent.borderWidth || 0) };\n o.modalStyle = {...styles.modal};\n o.contentStyle = {...styles.modalContent, ...this.state.position, ...modalContentSTyles};\n o.content = content;\n o.isModal = true;\n o.onClose = () => {\n this.hide = () => {};\n Keyboard.dismiss();\n if (this.state.isOpened) {\n this.setState({isOpened: false, modalOptions: {} as ModalOptions} as WmSearchState);\n }\n };\n this.hide = () => {\n modalService.hideModal(this.state.modalOptions);\n if (this.state.isOpened) {\n this.setState({ isOpened: false, modalOptions: {} as ModalOptions } as WmSearchState);\n }\n }\n return o;\n }\n\n searchIconPress() {\n this.isFocused = false;\n if (this.state.props.searchon === 'onsearchiconclick') {\n this.updateFilteredData(this.state.props.query);\n } else {\n this.onItemSelect(this.state.data[0]);\n }\n }\n\n onItemSelect(item: any) {\n this.isFocused = false;\n this.updateState({ props: {\n query: item.displayexp || item.displayfield\n }\n } as WmSearchState);\n this.validate(item.datafield);\n this.updateDatavalue(item.datafield);\n this.prevDatavalue = item.datafield;\n this.queryModel = item;\n if (get(this.props, 'formfield')) {\n // @ts-ignore\n this.props.invokeEvent('onSelect', [null, this, item.datafield]);\n // @ts-ignore\n this.props.invokeEvent('onSubmit', [null, this]);\n } else {\n this.invokeEventCallback('onSelect', [null, this, item.datafield]);\n this.invokeEventCallback('onSubmit', [null, this]);\n }\n this.hide();\n }\n\n public renderSkeleton(props: WmSearchProps): React.ReactNode {\n const {skeletonwidth, skeletonheight} = this.props;\n \n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: skeletonwidth as DimensionValue,\n height: skeletonheight as DimensionValue,\n })\n }\n\n renderSearchBar() {\n const props = this.state.props;\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n opts[valueExpr] = this.state.props.query || '';\n return(\n /*\n * onLayout function is required.\n * https://github.com/naoufal/react-native-accordion/pull/19/files\n */\n <View style={this.styles.root} ref={ref => {this.view = ref as View}} onLayout={() => {}}>\n <View style={this.styles.searchInputWrapper}>\n <TextInput style={[this.styles.text, this.state.isValid ? {} : this.styles.invalid, this.state.isOpened && this.state.dataItems?.length > 0? this.styles.focusedText : null]}\n ref={ref => {this.widgetRef = ref;\n // @ts-ignore\n if (ref && !isNull(ref.selectionStart) && !isNull(ref.selectionEnd)) {\n // @ts-ignore\n ref.selectionStart = ref.selectionEnd = this.cursor;\n }}}\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(AccessibilityWidgetType.SEARCH, props)}\n placeholderTextColor={this.styles.placeholderText.color as any}\n placeholder={props.placeholder || 'Search'}\n autoFocus={props.autofocus}\n editable={props.disabled || props.readonly ? false : true}\n onChangeText={this.onChange.bind(this)}\n onChange={this.invokeChange.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onLayout={e => {this.searchInputWidth = e.nativeEvent.layout.width}}\n onBlur={this.onBlur.bind(this)}\n {...opts}>\n </TextInput>\n {props.showclear && this.state.props.query ? <WmButton onTap={this.clearSearch.bind(this)}\n id={this.getTestId('clear')}\n styles={this.styles.clearButton} iconclass={'wi wi-clear'}></WmButton> : null}\n </View>\n {props.showSearchIcon && props.type === 'search' ? <WmButton styles={this.styles.searchButton}\n id={this.getTestId('search')}\n iconclass={'wm-sl-l sl-search'} onTap={this.searchIconPress.bind(this)}></WmButton> : null}\n </View>\n );\n }\n\n reset() {\n if (this.state.props.query) {\n this.updateState({\n props: {\n query: ''\n }\n } as WmSearchState);\n }\n }\n\n renderSearchItem(item: any, index: number) {\n const props = this.state.props;\n const imageStyles = { root: {height:props.imagewidth, width:props.imagewidth}}\n return (\n <Tappable onTap={this.onItemSelect.bind(this, item)} {...this.getTestProps(`action${index}`)}>\n <View style={this.styles.searchItem}>\n {!isEmpty(this.state.template) && this.props.renderitempartial ?\n this.props.renderitempartial(item.dataObject, index, this.state.template) : (<>\n <WmPicture id={this.getTestId(`picture${index}`)} styles={imageStyles} name={props.name + '_image'} picturesource={item.imgSrc}></WmPicture>\n <Text {...this.getTestPropsForLabel(index + '')} style={this.styles.searchItemText}>{item.displayexp || item.displayfield}</Text>\n </>)}\n </View>\n </Tappable>\n );\n }\n\n updateDefaultQueryModel() {\n if (this.state.dataItems && this.state.dataItems.length && this.isDefaultQuery) {\n const selectedItem = find(this.state.dataItems, (item) => item.selected);\n this.updateState({ props: {\n query: selectedItem ? (selectedItem.displayexp || selectedItem.displayfield) : ''\n }\n } as WmSearchState);\n }\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.isFocused && this.state.dataItems.length && this.updateFilteredData(this.state.props.query);\n this.updateDefaultQueryModel();\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this.updateDefaultQueryModel();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'dataset':\n if (!isEmpty($new) && isObject($new) && !isArray($new)) {\n $new = [$new];\n this.updateState({\n props: {\n dataset: $new\n }\n } as WmSearchState);\n }\n break;\n }\n super.onPropertyChange(name, $new, $old);\n }\n\n setTemplate(partialName: any) {\n this.updateState({ template: partialName} as WmSearchState);\n }\n\n renderWidget(props: WmSearchProps) {\n const result = this.state.data;\n return (\n <View>\n {this.renderSearchBar()}\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions((\n <ScrollView style={{width: '100%', maxHeight: 200}} contentContainerStyle={this.styles.dropDownContent}>\n <AssetProvider value={this.loadAsset}>\n {result && result.map((item: any, index: any) => (\n <View key={item.key}>\n {\n (!props.limit) || (props.limit && index+1 <= props.limit) ?\n this.renderSearchItem(item, index)\n : null\n }\n {\n index === result.length - 1 ?\n <WmAnchor caption={props.datacompletemsg} styles={this.styles.dataCompleteItem}></WmAnchor> : null\n }\n </View>\n ))}\n </AssetProvider>\n </ScrollView>\n ), this.styles, modalService));\n return null;\n }}\n </ModalConsumer>) : null}\n </View>\n\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","Keyboard","Platform","Text","TextInput","View","ScrollView","find","isNull","WmSearchProps","DEFAULT_CLASS","ModalConsumer","DataProvider","AccessibilityWidgetType","getAccessibilityProps","BaseDatasetComponent","BaseDatasetState","WmAnchor","WmPicture","Tappable","WmButton","get","isArray","isEmpty","isObject","AssetProvider","WmSearchState","constructor","args","_defineProperty","top","left","WmSearch","props","Promise","resolve","position","view","measure","x","y","width","height","px","py","updateState","computePosition","then","isOpened","dataProvider","datavalue","query","clearSearch","invokeEventCallback","hide","dataItems","state","map","item","selected","type","updateFilteredData","queryText","_filteredData","filterOptions","entries","filteredData","minchars","length","_this$dataProvider","searchkey","updateRequired","undefined","init","invokeVariable","response","dataSet","setDataItems","filter","result","dataObject","data","isFocused","showPopover","focus","_this$widgetRef","widgetRef","onChange","value","isDefaultQuery","prevQuery","searchon","validate","setTimeout","invokeEvent","proxy","invokeChange","e","OS","cursor","target","selectionStart","onFocus","disabled","_this$state$props$que","onBlur","triggerValidation","prepareModalOptions","content","styles","modalService","o","modalOptions","modalContentSTyles","searchInputWidth","modalContent","borderWidth","modalStyle","modal","contentStyle","isModal","onClose","dismiss","setState","hideModal","searchIconPress","onItemSelect","displayexp","displayfield","datafield","updateDatavalue","prevDatavalue","queryModel","renderSearchBar","_this$state$dataItems","opts","valueExpr","createElement","style","root","ref","onLayout","searchInputWrapper","_extends","text","isValid","invalid","focusedText","selectionEnd","getTestPropsForInput","SEARCH","placeholderTextColor","placeholderText","color","placeholder","autoFocus","autofocus","editable","readonly","onChangeText","bind","nativeEvent","layout","showclear","onTap","id","getTestId","clearButton","iconclass","showSearchIcon","searchButton","reset","renderSearchItem","index","imageStyles","imagewidth","getTestProps","searchItem","template","renderitempartial","Fragment","name","picturesource","imgSrc","getTestPropsForLabel","searchItemText","updateDefaultQueryModel","selectedItem","onDataItemsUpdate","componentDidMount","onPropertyChange","$new","$old","dataset","setTemplate","partialName","renderWidget","showModal","maxHeight","contentContainerStyle","dropDownContent","loadAsset","key","limit","caption","datacompletemsg","dataCompleteItem"],"sources":["search.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Keyboard, Platform, Text, TextInput, View } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { find, isNull } from 'lodash';\n\nimport WmSearchProps from './search.props';\nimport { DEFAULT_CLASS, WmSearchStyles } from './search.styles';\nimport { ModalConsumer, ModalOptions, ModalService} from \"@wavemaker/app-rn-runtime/core/modal.service\";\nimport { DataProvider } from '@wavemaker/app-rn-runtime/components/basic/search/local-data-provider';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport { get, isArray, isEmpty, isObject } from \"lodash-es\";\nimport { AssetProvider } from '@wavemaker/app-rn-runtime/core/asset.provider';\n\nexport class WmSearchState extends BaseDatasetState<WmSearchProps> {\n isOpened: boolean = false;\n modalOptions = {} as ModalOptions;\n template: string = \"\";\n position = {\n top: 0,\n left: 0\n } as DropdownPosition;\n data: any = [];\n}\n\nexport interface DropdownPosition {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\n\nexport default class WmSearch extends BaseDatasetComponent<WmSearchProps, WmSearchState, WmSearchStyles> {\n view: View = null as any;\n private prevDatavalue: any;\n private queryModel: any;\n private searchInputWidth: any;\n private isDefaultQuery: boolean = true;\n private dataProvider: DataProvider;\n public widgetRef: TextInput | null = null;\n private cursor: any = 0;\n private isFocused: boolean = false;\n private updateRequired: any;\n\n constructor(props: WmSearchProps) {\n super(props, DEFAULT_CLASS, new WmSearchProps(), new WmSearchState());\n this.dataProvider = new DataProvider();\n if (this.props.datavalue) {\n this.updateState({\n props: {\n query: this.props.datavalue\n }\n } as WmSearchState);\n }\n }\n\n computePosition = () => {\n return new Promise<void>((resolve) => {\n const position = {} as DropdownPosition;\n this.view.measure((x = 0, y = 0, width = 0, height = 0, px = 0, py = 0) => {\n position.left = px;\n position.top = py + height;\n this.updateState({ position: position } as WmSearchState, resolve);\n });\n });\n }\n\n clearSearch() {\n this.invokeEventCallback('onClear', [null, this]);\n this.hide();\n this.updateState({\n props: {\n query: ''\n },\n dataItems: this.state.dataItems ? this.state.dataItems.map((item: any) => {\n item.selected = false;\n return item;\n }) : []\n } as WmSearchState, () => {\n if (this.state.props.type === 'autocomplete') {\n this.updateFilteredData('');\n }\n });\n }\n\n updateFilteredData(queryText: string = '') {\n const props = this.state.props;\n const filterOptions = {\n query: queryText,\n props: props,\n entries: this.state.dataItems\n };\n let filteredData: Array<any> = [];\n if (props.minchars && queryText.length < props.minchars) {\n filteredData = [];\n } else if (props.type === 'search' && !queryText) {\n filteredData = [];\n } else {\n if (this.props.searchkey && this.updateRequired === undefined) {\n this.updateRequired = this.dataProvider.init(this);\n }\n // for service variables invoke the variable with params.\n if (this.props.searchkey && this.updateRequired && this.state.props.query !== queryText) {\n this.dataProvider.invokeVariable(this, queryText).then((response: any) => {\n if (response) {\n response = response.dataSet;\n if (isEmpty(response)) {\n filteredData = [];\n } else {\n if (isObject(response) && !isArray(response)) {\n response = [response];\n }\n this.setDataItems(response);\n }\n }\n }, () => {});\n return;\n }\n filteredData = this.dataProvider?.filter(filterOptions);\n }\n this.updateState({\n props: { result: filteredData?.map( (item: any) => item.dataObject), query: queryText },\n data: filteredData,\n } as WmSearchState);\n if (!this.state.isOpened && this.isFocused) {\n this.showPopover && this.showPopover();\n }\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n onChange(value: any) {\n this.isDefaultQuery = false;\n const prevQuery = this.state.props.query;\n if (this.state.props.searchon === 'onsearchiconclick') {\n this.updateState({\n props: {result: [], query: value},\n data: []\n } as WmSearchState);\n } else {\n this.updateFilteredData(value);\n }\n if (value === '') {\n this.validate(value);\n this.updateState({\n props: {\n datavalue: '',\n },\n } as WmSearchState);\n if (value === prevQuery) {\n return;\n }\n }\n setTimeout(() => {\n if (this.props.invokeEvent) {\n this.props.invokeEvent('onChange', [undefined, this.proxy, value, prevQuery]);\n }\n this.invokeEventCallback('onChange', [ undefined, this.proxy, value, prevQuery ]);\n }, 300);\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.updateState({ props: { query: e.target.value } } as WmSearchState);\n }\n }\n\n onFocus() {\n this.isFocused = true;\n if (!this.state.props.disabled && this.state.props.type === 'autocomplete') {\n this.cursor = this.state.props.query?.length || 0;\n this.updateFilteredData(this.state.props.query || '');\n }\n this.invokeEventCallback('onFocus', [null, this]);\n }\n\n onBlur() {\n this.isFocused = false;\n this.validate(this.state.props.datavalue);\n if (!this.state.props.datavalue) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n })\n }\n this.invokeEventCallback('onBlur', [null, this]);\n }\n\n public showPopover = () => {\n this.computePosition().then(() => {\n this.updateState({ isOpened: true } as WmSearchState);\n });\n };\n\n public hide = () => {};\n\n prepareModalOptions(content: React.ReactNode, styles: WmSearchStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n const modalContentSTyles = {\n width: this.searchInputWidth - 2 * (styles.modalContent.borderWidth || 0),\n left: (this.state.position.left || 0) + 2 * (styles.modalContent.borderWidth || 0) };\n o.modalStyle = {...styles.modal};\n o.contentStyle = {...styles.modalContent, ...this.state.position, ...modalContentSTyles};\n o.content = content;\n o.isModal = true;\n o.onClose = () => {\n this.hide = () => {};\n Keyboard.dismiss();\n if (this.state.isOpened) {\n this.setState({isOpened: false, modalOptions: {} as ModalOptions} as WmSearchState);\n }\n };\n this.hide = () => {\n modalService.hideModal(this.state.modalOptions);\n if (this.state.isOpened) {\n this.setState({ isOpened: false, modalOptions: {} as ModalOptions } as WmSearchState);\n }\n }\n return o;\n }\n\n searchIconPress() {\n this.isFocused = false;\n if (this.state.props.searchon === 'onsearchiconclick') {\n this.updateFilteredData(this.state.props.query);\n } else {\n this.onItemSelect(this.state.data[0]);\n }\n }\n\n onItemSelect(item: any) {\n this.isFocused = false;\n this.updateState({ props: {\n query: item.displayexp || item.displayfield\n }\n } as WmSearchState);\n this.validate(item.datafield);\n this.updateDatavalue(item.datafield);\n this.prevDatavalue = item.datafield;\n this.queryModel = item;\n if (get(this.props, 'formfield')) {\n // @ts-ignore\n this.props.invokeEvent('onSelect', [null, this, item.datafield]);\n // @ts-ignore\n this.props.invokeEvent('onSubmit', [null, this]);\n } else {\n this.invokeEventCallback('onSelect', [null, this, item.datafield]);\n this.invokeEventCallback('onSubmit', [null, this]);\n }\n this.hide();\n }\n\n renderSearchBar() {\n const props = this.state.props;\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n opts[valueExpr] = this.state.props.query || '';\n return(\n /*\n * onLayout function is required.\n * https://github.com/naoufal/react-native-accordion/pull/19/files\n */\n <View style={this.styles.root} ref={ref => {this.view = ref as View}} onLayout={() => {}}>\n <View style={this.styles.searchInputWrapper}>\n <TextInput style={[this.styles.text, this.state.isValid ? {} : this.styles.invalid, this.state.isOpened && this.state.dataItems?.length > 0? this.styles.focusedText : null]}\n ref={ref => {this.widgetRef = ref;\n // @ts-ignore\n if (ref && !isNull(ref.selectionStart) && !isNull(ref.selectionEnd)) {\n // @ts-ignore\n ref.selectionStart = ref.selectionEnd = this.cursor;\n }}}\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(AccessibilityWidgetType.SEARCH, props)}\n placeholderTextColor={this.styles.placeholderText.color as any}\n placeholder={props.placeholder || 'Search'}\n autoFocus={props.autofocus}\n editable={props.disabled || props.readonly ? false : true}\n onChangeText={this.onChange.bind(this)}\n onChange={this.invokeChange.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onLayout={e => {this.searchInputWidth = e.nativeEvent.layout.width}}\n onBlur={this.onBlur.bind(this)}\n {...opts}>\n </TextInput>\n {props.showclear && this.state.props.query ? <WmButton onTap={this.clearSearch.bind(this)}\n id={this.getTestId('clear')}\n styles={this.styles.clearButton} iconclass={'wi wi-clear'}></WmButton> : null}\n </View>\n {props.showSearchIcon && props.type === 'search' ? <WmButton styles={this.styles.searchButton}\n id={this.getTestId('search')}\n iconclass={'wm-sl-l sl-search'} onTap={this.searchIconPress.bind(this)}></WmButton> : null}\n </View>\n );\n }\n\n reset() {\n if (this.state.props.query) {\n this.updateState({\n props: {\n query: ''\n }\n } as WmSearchState);\n }\n }\n\n renderSearchItem(item: any, index: number) {\n const props = this.state.props;\n const imageStyles = { root: {height:props.imagewidth, width:props.imagewidth}}\n return (\n <Tappable onTap={this.onItemSelect.bind(this, item)} {...this.getTestProps(`action${index}`)}>\n <View style={this.styles.searchItem}>\n {!isEmpty(this.state.template) && this.props.renderitempartial ?\n this.props.renderitempartial(item.dataObject, index, this.state.template) : (<>\n <WmPicture id={this.getTestId(`picture${index}`)} styles={imageStyles} name={props.name + '_image'} picturesource={item.imgSrc}></WmPicture>\n <Text {...this.getTestPropsForLabel(index + '')} style={this.styles.searchItemText}>{item.displayexp || item.displayfield}</Text>\n </>)}\n </View>\n </Tappable>\n );\n }\n\n updateDefaultQueryModel() {\n if (this.state.dataItems && this.state.dataItems.length && this.isDefaultQuery) {\n const selectedItem = find(this.state.dataItems, (item) => item.selected);\n this.updateState({ props: {\n query: selectedItem ? (selectedItem.displayexp || selectedItem.displayfield) : ''\n }\n } as WmSearchState);\n }\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.isFocused && this.state.dataItems.length && this.updateFilteredData(this.state.props.query);\n this.updateDefaultQueryModel();\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this.updateDefaultQueryModel();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'dataset':\n if (!isEmpty($new) && isObject($new) && !isArray($new)) {\n $new = [$new];\n this.updateState({\n props: {\n dataset: $new\n }\n } as WmSearchState);\n }\n break;\n }\n super.onPropertyChange(name, $new, $old);\n }\n\n setTemplate(partialName: any) {\n this.updateState({ template: partialName} as WmSearchState);\n }\n\n renderWidget(props: WmSearchProps) {\n const result = this.state.data;\n return (\n <View>\n {this.renderSearchBar()}\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions((\n <ScrollView style={{width: '100%', maxHeight: 200}} contentContainerStyle={this.styles.dropDownContent}>\n <AssetProvider value={this.loadAsset}>\n {result && result.map((item: any, index: any) => (\n <View key={item.key}>\n {\n (!props.limit) || (props.limit && index+1 <= props.limit) ?\n this.renderSearchItem(item, index)\n : null\n }\n {\n index === result.length - 1 ?\n <WmAnchor caption={props.datacompletemsg} styles={this.styles.dataCompleteItem}></WmAnchor> : null\n }\n </View>\n ))}\n </AssetProvider>\n </ScrollView>\n ), this.styles, modalService));\n return null;\n }}\n </ModalConsumer>) : null}\n </View>\n\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -28,8 +28,6 @@ export default class WmSearchProps extends BaseDatasetProps {
|
|
28
28
|
_defineProperty(this, "hint", undefined);
|
29
29
|
_defineProperty(this, "accessibilityrole", 'search');
|
30
30
|
_defineProperty(this, "renderitempartial", void 0);
|
31
|
-
_defineProperty(this, "skeletonheight", null);
|
32
|
-
_defineProperty(this, "skeletonwidth", null);
|
33
31
|
}
|
34
32
|
}
|
35
33
|
//# sourceMappingURL=search.props.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["BaseDatasetProps","WmSearchProps","constructor","args","_defineProperty","undefined"],"sources":["search.props.ts"],"sourcesContent":["import BaseDatasetProps from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.props';\nimport {BaseComponent} from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport { AccessibilityRole } from 'react-native';\n\nexport default class WmSearchProps extends BaseDatasetProps {\n autofocus: boolean = false;\n query?: string = '';\n searchkey?: any;\n type: 'search' | 'autocomplete' = 'search';\n datacompletemsg?: string = 'No more data to load';\n placeholder?: string = 'Search';\n limit?: number = null as any;\n minchars?: number = null as any;\n imagewidth?: any = 32;\n imageheight?: any = 32;\n searchon?: string = 'typing';\n onSubmit?: any;\n onChange?: Function = null as any;\n result?: any;\n showclear: boolean = false;\n showSearchIcon: boolean = true; // internal property\n invokeEvent?: Function;\n formFieldInstance?: BaseComponent<any, any, any>;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = 'search';\n renderitempartial?: (item: any, index: number, partialName: string)=> React.ReactNode;\n
|
1
|
+
{"version":3,"names":["BaseDatasetProps","WmSearchProps","constructor","args","_defineProperty","undefined"],"sources":["search.props.ts"],"sourcesContent":["import BaseDatasetProps from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.props';\nimport {BaseComponent} from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport { AccessibilityRole } from 'react-native';\n\nexport default class WmSearchProps extends BaseDatasetProps {\n autofocus: boolean = false;\n query?: string = '';\n searchkey?: any;\n type: 'search' | 'autocomplete' = 'search';\n datacompletemsg?: string = 'No more data to load';\n placeholder?: string = 'Search';\n limit?: number = null as any;\n minchars?: number = null as any;\n imagewidth?: any = 32;\n imageheight?: any = 32;\n searchon?: string = 'typing';\n onSubmit?: any;\n onChange?: Function = null as any;\n result?: any;\n showclear: boolean = false;\n showSearchIcon: boolean = true; // internal property\n invokeEvent?: Function;\n formFieldInstance?: BaseComponent<any, any, any>;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = 'search';\n renderitempartial?: (item: any, index: number, partialName: string)=> React.ReactNode;\n}\n"],"mappings":";;;AAAA,OAAOA,gBAAgB,MAAM,0EAA0E;AAIvG,eAAe,MAAMC,aAAa,SAASD,gBAAgB,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,oBACrC,KAAK;IAAAA,eAAA,gBACT,EAAE;IAAAA,eAAA;IAAAA,eAAA,eAEe,QAAQ;IAAAA,eAAA,0BACf,sBAAsB;IAAAA,eAAA,sBAC1B,QAAQ;IAAAA,eAAA,gBACd,IAAI;IAAAA,eAAA,mBACD,IAAI;IAAAA,eAAA,qBACL,EAAE;IAAAA,eAAA,sBACD,EAAE;IAAAA,eAAA,mBACF,QAAQ;IAAAA,eAAA;IAAAA,eAAA,mBAEN,IAAI;IAAAA,eAAA;IAAAA,eAAA,oBAEL,KAAK;IAAAA,eAAA,yBACA,IAAI;IAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,6BAGFC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA,4BACe,QAAQ;IAAAA,eAAA;EAAA;AAElD","ignoreList":[]}
|
@@ -108,12 +108,6 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
|
|
108
108
|
},
|
109
109
|
placeholderText: {
|
110
110
|
color: themeVariables.inputPlaceholderColor
|
111
|
-
},
|
112
|
-
skeleton: {
|
113
|
-
root: {
|
114
|
-
width: '100%',
|
115
|
-
height: '100%'
|
116
|
-
}
|
117
111
|
}
|
118
112
|
});
|
119
113
|
addStyle(DEFAULT_CLASS, '', defaultStyles);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["Platform","BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","flexDirection","borderRadius","text","minHeight","paddingTop","paddingBottom","paddingLeft","paddingRight","width","borderWidth","borderRightWidth","borderTopLeftRadius","borderBottomLeftRadius","borderColor","searchBorderColor","backgroundColor","searchBgContainerColor","invalid","borderBottomColor","inputInvalidBorderColor","focusedText","modal","transparent","height","modalContent","position","borderStyle","dropDownContent","searchInputWrapper","alignItems","justifyContent","flex","clearButton","marginLeft","padding","alignSelf","searchButton","borderTopRightRadius","borderBottomRightRadius","searchButtonColor","rippleColor","icon","fontSize","color","searchButtonTextColor","marginRight","searchItem","marginBottom","paddingHorizontal","paddingVertical","searchItemBorderColor","searchItemTextColor","searchItemText","fontFamily","baseFont","dataCompleteItem","searchDataCompleteItemBgColor","textDecorationLine","placeholderText","inputPlaceholderColor","skeleton","inputDisabledBgColor","OS","textAlign","borderLeftWidth","left"],"sources":["search.styles.ts"],"sourcesContent":["import { Platform, TextStyle } from 'react-native';\nimport BASE_THEME, { AllStyle } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { WmButtonStyles } from '@wavemaker/app-rn-runtime/components/basic/button/button.styles';\nimport { WmSkeletonStyles } from '../skeleton/skeleton.styles';\n\nexport type WmSearchStyles = BaseStyles & {\n focusedText: TextStyle,\n modal: AllStyle;\n modalContent: AllStyle;\n searchItem: AllStyle;\n dropDownContent: AllStyle;\n searchItemText: AllStyle;\n clearButton: WmButtonStyles;\n searchButton: WmButtonStyles;\n searchInputWrapper: AllStyle;\n placeholderText: AllStyle;\n invalid: AllStyle;\n skeleton: WmSkeletonStyles;\n};\n\nexport const DEFAULT_CLASS = 'app-search';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmSearchStyles = defineStyles({\n root: {\n flexDirection: 'row',\n borderRadius: 28,\n },\n text: {\n minHeight: 56,\n paddingTop: 8,\n paddingBottom: 8,\n paddingLeft: 24,\n paddingRight: 14,\n width: '100%',\n borderWidth: 1,\n borderRightWidth: 0,\n borderTopLeftRadius: 28,\n borderBottomLeftRadius: 28,\n borderColor: themeVariables.searchBorderColor,\n backgroundColor: themeVariables.searchBgContainerColor,\n },\n invalid: {\n borderBottomColor: themeVariables.inputInvalidBorderColor,\n },\n focusedText : {\n borderBottomLeftRadius: 28,\n },\n modal: {\n backgroundColor: themeVariables.transparent,\n height: '100%'\n },\n modalContent: {\n backgroundColor: themeVariables.searchBgContainerColor,\n borderRadius: 6,\n position: 'absolute',\n borderStyle: 'solid',\n borderColor: themeVariables.searchBorderColor,\n width: '90%'\n },\n dropDownContent: {\n width: '100%'\n },\n searchInputWrapper: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n flex: 1\n },\n clearButton: {\n root: {\n marginLeft: -40,\n padding: 0,\n width: 36,\n alignItems: 'center',\n alignSelf: 'center',\n justifyContent: 'center',\n backgroundColor: 'transparent'\n }\n } as WmButtonStyles,\n searchButton: {\n root: {\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: 0,\n borderTopRightRadius: 28,\n borderBottomRightRadius: 28,\n backgroundColor: themeVariables.searchButtonColor,\n height: 56,\n rippleColor: themeVariables.rippleColor\n },\n icon: {\n icon: {\n fontSize: 24,\n color: themeVariables.searchButtonTextColor,\n marginRight: 4\n }\n }\n } as WmButtonStyles,\n searchItem: {\n width: '100%',\n marginBottom: 4,\n paddingHorizontal: 16,\n paddingVertical: 8,\n borderBottomColor: themeVariables.searchItemBorderColor,\n flexDirection: 'row',\n alignItems: 'center',\n color: themeVariables.searchItemTextColor\n },\n searchItemText: {\n fontSize: 16,\n paddingLeft: 8,\n fontFamily: themeVariables.baseFont\n },\n dataCompleteItem: {\n root: {\n backgroundColor: themeVariables.searchDataCompleteItemBgColor,\n justifyContent: 'center',\n padding: 8\n },\n text: {\n fontSize: 12,\n textDecorationLine: 'none',\n color: themeVariables.searchItemTextColor\n }\n },\n placeholderText: {\n color: themeVariables.inputPlaceholderColor\n },\n skeleton: {\n root: {\n width: '100%',\n height: '100%',\n }\n } as any as WmSkeletonStyles\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle(DEFAULT_CLASS + '-disabled', '', {\n text : {\n backgroundColor: themeVariables.inputDisabledBgColor\n }\n });\n\n addStyle(DEFAULT_CLASS + '-rtl', '', Platform.OS=='android'?{\n text : {\n textAlign: 'right',\n borderWidth: 1,\n borderLeftWidth: 0,\n borderRightWidth: 1,\n borderTopRightRadius: 6,\n borderBottomRightRadius: 6,\n },\n searchButton: {\n root: {\n borderTopRightRadius: 4,\n borderBottomRightRadius: 4,\n },\n }\n }:Platform.OS=='web'?{\n text : {\n textAlign: 'right',\n borderWidth: 1,\n borderRightWidth: 1,\n borderLeftWidth: 0,\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderTopRightRadius: 6,\n borderBottomRightRadius: 6,\n },\n searchButton: {\n root: {\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n borderTopLeftRadius: 4,\n borderBottomLeftRadius: 4,\n },\n },\n clearButton: {\n root: {\n left: 0,\n position: 'absolute',\n marginLeft: 0\n }\n } as WmButtonStyles,\n }:{\n text : {\n textAlign: 'right',\n }\n });\n\n addStyle('app-autocomplete', '', {\n text: {\n borderRightWidth: 1,\n borderTopRightRadius: 4,\n borderBottomRightRadius: 4,\n }\n } as WmSearchStyles);\n});\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["Platform","BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","flexDirection","borderRadius","text","minHeight","paddingTop","paddingBottom","paddingLeft","paddingRight","width","borderWidth","borderRightWidth","borderTopLeftRadius","borderBottomLeftRadius","borderColor","searchBorderColor","backgroundColor","searchBgContainerColor","invalid","borderBottomColor","inputInvalidBorderColor","focusedText","modal","transparent","height","modalContent","position","borderStyle","dropDownContent","searchInputWrapper","alignItems","justifyContent","flex","clearButton","marginLeft","padding","alignSelf","searchButton","borderTopRightRadius","borderBottomRightRadius","searchButtonColor","rippleColor","icon","fontSize","color","searchButtonTextColor","marginRight","searchItem","marginBottom","paddingHorizontal","paddingVertical","searchItemBorderColor","searchItemTextColor","searchItemText","fontFamily","baseFont","dataCompleteItem","searchDataCompleteItemBgColor","textDecorationLine","placeholderText","inputPlaceholderColor","inputDisabledBgColor","OS","textAlign","borderLeftWidth","left"],"sources":["search.styles.ts"],"sourcesContent":["import { Platform, TextStyle } from 'react-native';\nimport BASE_THEME, { AllStyle } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { WmButtonStyles } from '@wavemaker/app-rn-runtime/components/basic/button/button.styles';\n\nexport type WmSearchStyles = BaseStyles & {\n focusedText: TextStyle,\n modal: AllStyle;\n modalContent: AllStyle;\n searchItem: AllStyle;\n dropDownContent: AllStyle;\n searchItemText: AllStyle;\n clearButton: WmButtonStyles;\n searchButton: WmButtonStyles;\n searchInputWrapper: AllStyle;\n placeholderText: AllStyle;\n invalid: AllStyle;\n};\n\nexport const DEFAULT_CLASS = 'app-search';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmSearchStyles = defineStyles({\n root: {\n flexDirection: 'row',\n borderRadius: 28,\n },\n text: {\n minHeight: 56,\n paddingTop: 8,\n paddingBottom: 8,\n paddingLeft: 24,\n paddingRight: 14,\n width: '100%',\n borderWidth: 1,\n borderRightWidth: 0,\n borderTopLeftRadius: 28,\n borderBottomLeftRadius: 28,\n borderColor: themeVariables.searchBorderColor,\n backgroundColor: themeVariables.searchBgContainerColor,\n },\n invalid: {\n borderBottomColor: themeVariables.inputInvalidBorderColor,\n },\n focusedText : {\n borderBottomLeftRadius: 28,\n },\n modal: {\n backgroundColor: themeVariables.transparent,\n height: '100%'\n },\n modalContent: {\n backgroundColor: themeVariables.searchBgContainerColor,\n borderRadius: 6,\n position: 'absolute',\n borderStyle: 'solid',\n borderColor: themeVariables.searchBorderColor,\n width: '90%'\n },\n dropDownContent: {\n width: '100%'\n },\n searchInputWrapper: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n flex: 1\n },\n clearButton: {\n root: {\n marginLeft: -40,\n padding: 0,\n width: 36,\n alignItems: 'center',\n alignSelf: 'center',\n justifyContent: 'center',\n backgroundColor: 'transparent'\n }\n } as WmButtonStyles,\n searchButton: {\n root: {\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: 0,\n borderTopRightRadius: 28,\n borderBottomRightRadius: 28,\n backgroundColor: themeVariables.searchButtonColor,\n height: 56,\n rippleColor: themeVariables.rippleColor\n },\n icon: {\n icon: {\n fontSize: 24,\n color: themeVariables.searchButtonTextColor,\n marginRight: 4\n }\n }\n } as WmButtonStyles,\n searchItem: {\n width: '100%',\n marginBottom: 4,\n paddingHorizontal: 16,\n paddingVertical: 8,\n borderBottomColor: themeVariables.searchItemBorderColor,\n flexDirection: 'row',\n alignItems: 'center',\n color: themeVariables.searchItemTextColor\n },\n searchItemText: {\n fontSize: 16,\n paddingLeft: 8,\n fontFamily: themeVariables.baseFont\n },\n dataCompleteItem: {\n root: {\n backgroundColor: themeVariables.searchDataCompleteItemBgColor,\n justifyContent: 'center',\n padding: 8\n },\n text: {\n fontSize: 12,\n textDecorationLine: 'none',\n color: themeVariables.searchItemTextColor\n }\n },\n placeholderText: {\n color: themeVariables.inputPlaceholderColor\n }\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle(DEFAULT_CLASS + '-disabled', '', {\n text : {\n backgroundColor: themeVariables.inputDisabledBgColor\n }\n });\n\n addStyle(DEFAULT_CLASS + '-rtl', '', Platform.OS=='android'?{\n text : {\n textAlign: 'right',\n borderWidth: 1,\n borderLeftWidth: 0,\n borderRightWidth: 1,\n borderTopRightRadius: 6,\n borderBottomRightRadius: 6,\n },\n searchButton: {\n root: {\n borderTopRightRadius: 4,\n borderBottomRightRadius: 4,\n },\n }\n }:Platform.OS=='web'?{\n text : {\n textAlign: 'right',\n borderWidth: 1,\n borderRightWidth: 1,\n borderLeftWidth: 0,\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderTopRightRadius: 6,\n borderBottomRightRadius: 6,\n },\n searchButton: {\n root: {\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n borderTopLeftRadius: 4,\n borderBottomLeftRadius: 4,\n },\n },\n clearButton: {\n root: {\n left: 0,\n position: 'absolute',\n marginLeft: 0\n }\n } as WmButtonStyles,\n }:{\n text : {\n textAlign: 'right',\n }\n });\n\n addStyle('app-autocomplete', '', {\n text: {\n borderRightWidth: 1,\n borderTopRightRadius: 4,\n borderBottomRightRadius: 4,\n }\n } as WmSearchStyles);\n});\n"],"mappings":"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","ignoreList":[]}
|
@@ -99,7 +99,7 @@ export default class WmSkeleton extends BaseComponent {
|
|
99
99
|
},
|
100
100
|
onLayout: this.onLayoutChange,
|
101
101
|
style: this.styles.root
|
102
|
-
},
|
102
|
+
}, this.state.animate ? /*#__PURE__*/React.createElement(Animated.View, {
|
103
103
|
style: [StyleSheet.absoluteFill, this.styles.animatedView, {
|
104
104
|
transform: [{
|
105
105
|
translateX
|
@@ -124,7 +124,7 @@ export default class WmSkeleton extends BaseComponent {
|
|
124
124
|
})) : null);
|
125
125
|
}
|
126
126
|
}
|
127
|
-
export const createSkeleton = (theme, skeletonStyles, wrapper
|
127
|
+
export const createSkeleton = (theme, skeletonStyles, wrapper) => {
|
128
128
|
const style = {};
|
129
129
|
const addStyleProp = propName => {
|
130
130
|
if (!isUndefined(wrapper[propName])) {
|
@@ -142,8 +142,7 @@ export const createSkeleton = (theme, skeletonStyles, wrapper, children) => {
|
|
142
142
|
return /*#__PURE__*/React.createElement(WmSkeleton, {
|
143
143
|
styles: theme.mergeStyle(skeletonStyles, {
|
144
144
|
root: style
|
145
|
-
})
|
146
|
-
children: children
|
145
|
+
})
|
147
146
|
});
|
148
147
|
};
|
149
148
|
//# sourceMappingURL=skeleton.component.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","View","Animated","Easing","StyleSheet","LinearGradient","BaseComponent","BaseComponentState","WmSkeletonProps","DEFAULT_CLASS","isUndefined","WmSkeletonState","constructor","args","_defineProperty","left","top","width","height","AnimationRunner","Value","run","counter","timing","animationValue","duration","time","speed","toValue","useNativeDriver","easing","linear","start","event","finished","setValue","stop","Math","max","getValue","WmSkeleton","props","_this$skeletonloaderR","skeletonloaderRef","measure","x","y","px","py","layout","setState","animate","componentDidMount","animationRunner","componentWillUnmount","renderWidget","_this$styles$gradient","_this$styles$gradient2","_this$styles$gradient3","outpuRange","state","deg","translateX","interpolate","inputRange","outputRange","createElement","ref","onLayout","onLayoutChange","style","styles","root","children","absoluteFill","animatedView","transform","rotate","end","colors","gradientForeground","backgroundColor","toString","gradient","locations","createSkeleton","theme","skeletonStyles","wrapper","addStyleProp","propName","mergeStyle"],"sources":["skeleton.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Animated, Easing, StyleSheet, LayoutChangeEvent, ColorValue, ViewStyle } from 'react-native';\nimport { LinearGradient } from 'expo-linear-gradient';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { Theme } from '@wavemaker/app-rn-runtime/styles/theme';\n\nimport WmSkeletonProps from './skeleton.props';\nimport { DEFAULT_CLASS, WmSkeletonStyles } from './skeleton.styles';\nimport { isUndefined } from 'lodash-es';\n\nexport class WmSkeletonState extends BaseComponentState<WmSkeletonProps> {\n layout = {\n left: 0,\n top: 0,\n width: 0,\n height: 0,\n };\n animate = false;\n}\n\nclass AnimationRunner {\n private time: number = 1000;\n public speed = 1;\n private counter = 0;\n private animationValue = new Animated.Value(0.2);\n\n public run() {\n if (this.counter == 0) {\n return;\n }\n Animated.timing(this.animationValue, {\n duration: this.time * this.speed,\n toValue: 1,\n useNativeDriver: true,\n easing: Easing.linear,\n }).start((event) => {\n if (event.finished) {\n this.animationValue.setValue(0)\n this.run();\n }\n });\n }\n\n public start() {\n this.counter++;\n if (this.counter == 1) {\n this.run();\n }\n }\n\n public stop() {\n this.counter = Math.max(--this.counter, 0);\n }\n\n public getValue() {\n return this.animationValue;\n }\n}\n\nexport default class WmSkeleton extends BaseComponent<WmSkeletonProps, WmSkeletonState, WmSkeletonStyles> {\n\n private skeletonloaderRef: any = null;\n private animationRunner = new AnimationRunner();\n\n constructor(props: WmSkeletonProps) {\n super(props, DEFAULT_CLASS, new WmSkeletonProps(), new WmSkeletonState());\n }\n\n componentDidMount(): void {\n this.animationRunner.start();\n }\n\n componentWillUnmount(): void {\n this.animationRunner.stop();\n }\n\n onLayoutChange = (event: LayoutChangeEvent) => {\n this.skeletonloaderRef?.measure((x: number, y: number, width: number, height: number, px: number, py: number) => {\n let layout = {\n left: px,\n top: py,\n width: width,\n height: height,\n };\n this.setState({\n layout: {\n ...layout as any\n }, animate: true\n });\n });\n }\n\n renderWidget(props: WmSkeletonProps) {\n let outpuRange = [-this.state.layout.width-this.state.layout.left, this.state.layout.width + this.state.layout.height];\n let deg = -20;\n let translateX = this.animationRunner.getValue().interpolate({\n inputRange: [0, 1],\n outputRange: [-50, 400]\n });\n return (\n <View ref={(ref) => { this.skeletonloaderRef = ref; }} onLayout={this.onLayoutChange}\n style={this.styles.root} >\n {props.children}\n {this.state.animate ?\n <Animated.View\n style={[\n StyleSheet.absoluteFill,\n this.styles.animatedView,\n { \n transform: [\n { translateX },\n { rotate: deg + 'deg' }\n ]\n }]}>\n <LinearGradient\n start={{ x: 0, y: 0 }}\n end={{ x: 1, y: 0 }}\n colors={[this.styles.gradientForeground.backgroundColor?.toString() as string,\n this.styles.gradient.backgroundColor?.toString() as string,\n this.styles.gradientForeground.backgroundColor?.toString() as string]}\n locations={[0, 0.5, 1]}\n style={[this.styles.gradient, {backgroundColor: this.styles.animatedView.backgroundColor}]} />\n </Animated.View> : null}\n </View>);\n }\n}\n\nexport const createSkeleton = (theme: Theme, skeletonStyles: WmSkeletonStyles, wrapper: ViewStyle, children?: React.ReactNode) => {\n const style = {} as ViewStyle;\n const addStyleProp = (propName: any) => {\n if (!isUndefined((wrapper as any)[propName])) {\n (style as any)[propName] = (wrapper as any)[propName];\n }\n };\n addStyleProp('width');\n addStyleProp('height');\n addStyleProp('borderRadius');\n addStyleProp('borderRadius');\n addStyleProp('marginTop');\n addStyleProp('marginBottom');\n addStyleProp('marginLeft');\n addStyleProp('marginRight');\n return(<WmSkeleton styles={theme.mergeStyle(skeletonStyles, {root: style})} children={children}/>);\n};\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","View","Animated","Easing","StyleSheet","LinearGradient","BaseComponent","BaseComponentState","WmSkeletonProps","DEFAULT_CLASS","isUndefined","WmSkeletonState","constructor","args","_defineProperty","left","top","width","height","AnimationRunner","Value","run","counter","timing","animationValue","duration","time","speed","toValue","useNativeDriver","easing","linear","start","event","finished","setValue","stop","Math","max","getValue","WmSkeleton","props","_this$skeletonloaderR","skeletonloaderRef","measure","x","y","px","py","layout","setState","animate","componentDidMount","animationRunner","componentWillUnmount","renderWidget","_this$styles$gradient","_this$styles$gradient2","_this$styles$gradient3","outpuRange","state","deg","translateX","interpolate","inputRange","outputRange","createElement","ref","onLayout","onLayoutChange","style","styles","root","absoluteFill","animatedView","transform","rotate","end","colors","gradientForeground","backgroundColor","toString","gradient","locations","createSkeleton","theme","skeletonStyles","wrapper","addStyleProp","propName","mergeStyle"],"sources":["skeleton.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Animated, Easing, StyleSheet, LayoutChangeEvent, ColorValue, ViewStyle } from 'react-native';\nimport { LinearGradient } from 'expo-linear-gradient';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { Theme } from '@wavemaker/app-rn-runtime/styles/theme';\n\nimport WmSkeletonProps from './skeleton.props';\nimport { DEFAULT_CLASS, WmSkeletonStyles } from './skeleton.styles';\nimport { isUndefined } from 'lodash-es';\n\nexport class WmSkeletonState extends BaseComponentState<WmSkeletonProps> {\n layout = {\n left: 0,\n top: 0,\n width: 0,\n height: 0,\n };\n animate = false;\n}\n\nclass AnimationRunner {\n private time: number = 1000;\n public speed = 1;\n private counter = 0;\n private animationValue = new Animated.Value(0.2);\n\n public run() {\n if (this.counter == 0) {\n return;\n }\n Animated.timing(this.animationValue, {\n duration: this.time * this.speed,\n toValue: 1,\n useNativeDriver: true,\n easing: Easing.linear,\n }).start((event) => {\n if (event.finished) {\n this.animationValue.setValue(0)\n this.run();\n }\n });\n }\n\n public start() {\n this.counter++;\n if (this.counter == 1) {\n this.run();\n }\n }\n\n public stop() {\n this.counter = Math.max(--this.counter, 0);\n }\n\n public getValue() {\n return this.animationValue;\n }\n}\n\nexport default class WmSkeleton extends BaseComponent<WmSkeletonProps, WmSkeletonState, WmSkeletonStyles> {\n\n private skeletonloaderRef: any = null;\n private animationRunner = new AnimationRunner();\n\n constructor(props: WmSkeletonProps) {\n super(props, DEFAULT_CLASS, new WmSkeletonProps(), new WmSkeletonState());\n }\n\n componentDidMount(): void {\n this.animationRunner.start();\n }\n\n componentWillUnmount(): void {\n this.animationRunner.stop();\n }\n\n onLayoutChange = (event: LayoutChangeEvent) => {\n this.skeletonloaderRef?.measure((x: number, y: number, width: number, height: number, px: number, py: number) => {\n let layout = {\n left: px,\n top: py,\n width: width,\n height: height,\n };\n this.setState({\n layout: {\n ...layout as any\n }, animate: true\n });\n });\n }\n\n renderWidget(props: WmSkeletonProps) {\n let outpuRange = [-this.state.layout.width-this.state.layout.left, this.state.layout.width + this.state.layout.height];\n let deg = -20;\n let translateX = this.animationRunner.getValue().interpolate({\n inputRange: [0, 1],\n outputRange: [-50, 400]\n });\n return (\n <View ref={(ref) => { this.skeletonloaderRef = ref; }} onLayout={this.onLayoutChange}\n style={this.styles.root} >\n {this.state.animate ?\n <Animated.View\n style={[\n StyleSheet.absoluteFill,\n this.styles.animatedView,\n { \n transform: [\n { translateX },\n { rotate: deg + 'deg' }\n ]\n }]}>\n <LinearGradient\n start={{ x: 0, y: 0 }}\n end={{ x: 1, y: 0 }}\n colors={[this.styles.gradientForeground.backgroundColor?.toString() as string,\n this.styles.gradient.backgroundColor?.toString() as string,\n this.styles.gradientForeground.backgroundColor?.toString() as string]}\n locations={[0, 0.5, 1]}\n style={[this.styles.gradient, {backgroundColor: this.styles.animatedView.backgroundColor}]} />\n </Animated.View> : null}\n </View>);\n }\n}\n\nexport const createSkeleton = (theme: Theme, skeletonStyles: WmSkeletonStyles, wrapper: ViewStyle) => {\n const style = {} as ViewStyle;\n const addStyleProp = (propName: any) => {\n if (!isUndefined((wrapper as any)[propName])) {\n (style as any)[propName] = (wrapper as any)[propName];\n }\n };\n addStyleProp('width');\n addStyleProp('height');\n addStyleProp('borderRadius');\n addStyleProp('borderRadius');\n addStyleProp('marginTop');\n addStyleProp('marginBottom');\n addStyleProp('marginLeft');\n addStyleProp('marginRight');\n return(<WmSkeleton styles={theme.mergeStyle(skeletonStyles, {root: style})}/>);\n};\n"],"mappings":"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","ignoreList":[]}
|