@wavemaker-ai/app-rn-runtime 1.0.0-rc.330 → 1.0.0-rc.334
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/basic/anchor/anchor.component.js +4 -4
- package/components/basic/anchor/anchor.component.js.map +1 -1
- package/components/basic/anchor/anchor.props.js +1 -0
- package/components/basic/anchor/anchor.props.js.map +1 -1
- package/components/basic/icon/icon.component.js +31 -4
- package/components/basic/icon/icon.component.js.map +1 -1
- package/components/basic/icon/svg-url-icon.component.js +80 -0
- package/components/basic/icon/svg-url-icon.component.js.map +1 -0
- package/components/basic/search/search.component.js +8 -2
- package/components/basic/search/search.component.js.map +1 -1
- package/components/basic/search/search.props.js +3 -0
- package/components/basic/search/search.props.js.map +1 -1
- package/components/basic/spinner/spinner.component.js +1 -0
- package/components/basic/spinner/spinner.component.js.map +1 -1
- package/components/basic/spinner/spinner.props.js +1 -0
- package/components/basic/spinner/spinner.props.js.map +1 -1
- package/components/chart/area-chart/area-chart.component.js +12 -6
- package/components/chart/area-chart/area-chart.component.js.map +1 -1
- package/components/chart/bar-chart/bar-chart.component.js +14 -7
- package/components/chart/bar-chart/bar-chart.component.js.map +1 -1
- package/components/chart/basechart.props.js +1 -0
- package/components/chart/basechart.props.js.map +1 -1
- package/components/chart/basechart.styles.js +0 -1
- package/components/chart/basechart.styles.js.map +1 -1
- package/components/chart/bubble-chart/bubble-chart.component.js +25 -6
- package/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
- package/components/chart/line-chart/line-chart.component.js +12 -6
- package/components/chart/line-chart/line-chart.component.js.map +1 -1
- package/components/chart/pie-chart/pie-chart.component.js +24 -4
- package/components/chart/pie-chart/pie-chart.component.js.map +1 -1
- package/components/chart/pie-chart/pie-chart.props.js +1 -1
- package/components/chart/pie-chart/pie-chart.props.js.map +1 -1
- package/components/container/accordion/accordion.component.js +11 -3
- package/components/container/accordion/accordion.component.js.map +1 -1
- package/components/container/accordion/accordion.props.js +2 -0
- package/components/container/accordion/accordion.props.js.map +1 -1
- package/components/container/accordion/accordionpane/accordionpane.props.js +1 -0
- package/components/container/accordion/accordionpane/accordionpane.props.js.map +1 -1
- package/components/container/panel/panel.component.js +3 -1
- package/components/container/panel/panel.component.js.map +1 -1
- package/components/container/panel/panel.props.js +2 -0
- package/components/container/panel/panel.props.js.map +1 -1
- package/components/container/wizard/wizard.component.js +7 -3
- package/components/container/wizard/wizard.component.js.map +1 -1
- package/components/container/wizard/wizard.props.js +1 -0
- package/components/container/wizard/wizard.props.js.map +1 -1
- package/components/container/wizard/wizardstep/wizardstep.props.js +3 -0
- package/components/container/wizard/wizardstep/wizardstep.props.js.map +1 -1
- package/components/data/form/form-field/form-field.component.js +37 -17
- package/components/data/form/form-field/form-field.component.js.map +1 -1
- package/components/data/form/form.component.js +3 -2
- package/components/data/form/form.component.js.map +1 -1
- package/components/data/form/form.props.js +1 -0
- package/components/data/form/form.props.js.map +1 -1
- package/components/data/list/list.component.js +5 -3
- package/components/data/list/list.component.js.map +1 -1
- package/components/data/list/list.props.js +2 -0
- package/components/data/list/list.props.js.map +1 -1
- package/components/input/basedataset/basedataset.component.js +2 -1
- package/components/input/basedataset/basedataset.component.js.map +1 -1
- package/components/input/basedataset/basedataset.props.js +1 -0
- package/components/input/basedataset/basedataset.props.js.map +1 -1
- package/components/input/epoch/base-datetime.component.js +4 -1
- package/components/input/epoch/base-datetime.component.js.map +1 -1
- package/components/input/fileupload/fileupload.component.js +1 -0
- package/components/input/fileupload/fileupload.component.js.map +1 -1
- package/components/input/fileupload/fileupload.props.js +1 -0
- package/components/input/fileupload/fileupload.props.js.map +1 -1
- package/components/input/rating/rating.component.js +4 -2
- package/components/input/rating/rating.component.js.map +1 -1
- package/components/input/rating/rating.props.js +4 -0
- package/components/input/rating/rating.props.js.map +1 -1
- package/components/input/select/select.component.js +9 -2
- package/components/input/select/select.component.js.map +1 -1
- package/components/input/switch/switch.component.js +2 -1
- package/components/input/switch/switch.component.js.map +1 -1
- package/components/input/text/text.component.js +24 -4
- package/components/input/text/text.component.js.map +1 -1
- package/components/input/text/text.props.js +2 -0
- package/components/input/text/text.props.js.map +1 -1
- package/components/navigation/basenav/basenav.component.js +2 -0
- package/components/navigation/basenav/basenav.component.js.map +1 -1
- package/components/navigation/basenav/basenav.props.js +1 -0
- package/components/navigation/basenav/basenav.props.js.map +1 -1
- package/components/navigation/menu/menu.component.js +3 -0
- package/components/navigation/menu/menu.component.js.map +1 -1
- package/components/navigation/menu/menu.props.js +2 -0
- package/components/navigation/menu/menu.props.js.map +1 -1
- package/components/navigation/popover/popover.component.js +1 -0
- package/components/navigation/popover/popover.component.js.map +1 -1
- package/components/navigation/popover/popover.props.js +1 -0
- package/components/navigation/popover/popover.props.js.map +1 -1
- package/components/page/tabbar/tabbar.component.js +2 -1
- package/components/page/tabbar/tabbar.component.js.map +1 -1
- package/components-prism/basic/search/search.component.js +6 -4
- package/components-prism/basic/search/search.component.js.map +1 -1
- package/components-prism/basic/search/search.props.js +2 -0
- package/components-prism/basic/search/search.props.js.map +1 -1
- package/core/components/floatinglabel.component.js +2 -2
- package/core/components/floatinglabel.component.js.map +1 -1
- package/core/components/textinput.component.js +1 -0
- package/core/components/textinput.component.js.map +1 -1
- package/core/utils.js +16 -0
- package/core/utils.js.map +1 -1
- package/npm-shrinkwrap.json +446 -400
- package/package-lock.json +446 -400
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Dimensions","Platform","StatusBar","Text","View","ScrollView","find","isEmpty","isString","injector","WmSelectProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmIcon","ModalConsumer","WmButton","Tappable","AccessibilityWidgetType","getAccessibilityProps","BackgroundComponent","createSkeleton","SafeAreaInsetsContext","WmSelectState","constructor","args","_defineProperty","WmSelect","props","top","bottom","left","right","view","isMounted","measureInWindow","px","py","width","height","_appConfig$edgeToEdge","windowDimensions","get","position","popoverwidth","state","selectWidth","parseInt","isRTL","appConfig","isEdgeToEdge","edgeToEdgeConfig","isEdgeToEdgeApp","statusBarHeight","OS","currentHeight","needsStatusBarAdjustment","safeAreaInsets","yOffset","updateState","positionReady","_this$state$props$cla","isDropdown","classname","includes","computePosition","isOpened","componentWillUnmount","_super$componentWillU","call","onPress","event","disabled","isComputing","setState","isinputFocused","showPopover","invokeEventCallback","proxy","onPropertyChange","name","$new","$old","isNaN","displayValue","placeholder","prepareModalOptions","content","styles","modalService","o","modalOptions","modalStyle","modal","contentStyle","modalContent","isModal","centered","onClose","hide","isDefaultValue","validate","setTimeout","triggerValidation","hideModal","focus","_this$widgetRef","widgetRef","renderSkeletonForText","theme","textSkeleton","root","renderSelect","select","foundationStyle","getStyle","split","pop","createElement","_extends","style","mergeStyle","isValid","invalid","backgroundColor","disabledText","_showSkeleton","justifyContent","focused","ref","onLayout","nativeEvent","layout","SELECT","backgroundImage","image","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","text","color","placeholderText","getTestPropsForInput","bind","importantForAccessibility","arrowButtonSkeleton","arrowButton","iconclass","onTap","hint","accessible","isSelected","item","val","datafield","dataObject","datavalue","onItemSelect","isPlaceholder","onChange","renderSelectItem","index","isLast","selected","getTestPropsForAction","accessibilityProps","expanded","disableTouchEffect","disabletoucheffect","selectItem","lastSelectItem","selectedItem","getTestPropsForLabel","selectItemText","selectedItemText","displayexp","displayfield","id","getTestId","checkIcon","opacity","updateDefaultQueryModel","dataItems","length","componentDidMount","onDataItemsUpdate","renderWidget","_this$state$props$cla2","dropdown","Consumer","insets","handleLayout","rootWrapper","_background","items","showModal","maxHeight","contentContainerStyle","dropDownContent","key","map"],"sources":["select.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Dimensions, Platform, StatusBar, Text, View } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { find, isEmpty, isString } from 'lodash';\nimport injector from '@wavemaker-ai/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker-ai/app-rn-runtime/core/AppConfig';\n\nimport WmSelectProps from './select.props';\nimport { DEFAULT_CLASS, WmSelectStyles } from './select.styles';\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker-ai/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmIcon from '@wavemaker-ai/app-rn-runtime/components/basic/icon/icon.component';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker-ai/app-rn-runtime/core/modal.service';\nimport WmButton from '@wavemaker-ai/app-rn-runtime/components/basic/button/button.component';\nimport { Tappable } from '@wavemaker-ai/app-rn-runtime/core/tappable.component';\nimport ThemeVariables from '@wavemaker-ai/app-rn-runtime/styles/theme.variables';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker-ai/app-rn-runtime/core/accessibility';\nimport { BackgroundComponent } from '@wavemaker-ai/app-rn-runtime/styles/background.component';\nimport { createSkeleton } from '@wavemaker-ai/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\nimport { PopoverPosition } from '../../navigation/popover/popover.component';\nimport { SafeAreaInsetsContext, EdgeInsets } from 'react-native-safe-area-context';\n\nexport class WmSelectState extends BaseDatasetState<WmSelectProps> {\n modalOptions = {} as ModalOptions;\n isOpened: boolean = false;\n selectedValue: any = '';\n position={} as PopoverPosition;\n selectWidth:number = 0;\n positionReady:boolean = false;\n isinputFocused:boolean = false;\n}\n\nexport default class WmSelect extends BaseDatasetComponent<WmSelectProps, WmSelectState, WmSelectStyles> {\n constructor(props: WmSelectProps) {\n super(props, DEFAULT_CLASS, new WmSelectProps(), new WmSelectState());\n }\n view: View = null as any;\n public widgetRef: Text | null = null;\n private isDefaultValue: boolean = true;\n private safeAreaInsets = { top: 0, bottom: 0, left: 0, right: 0 };\n private isMounted: boolean = true;\n private isComputing: boolean = false;\n\n componentWillUnmount() {\n this.isMounted = false;\n super.componentWillUnmount?.();\n }\n\n onPress(event: any) {\n if (this.state.props.disabled) {\n return;\n }\n if (!this.state.isOpened && !this.isComputing) {\n this.isComputing = true;\n this.setState({ isinputFocused:true} as WmSelectState)\n try {\n this.showPopover();\n } finally {\n this.isComputing = false;\n }\n }\n this.invokeEventCallback('onFocus', [event, this.proxy]);\n }\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case 'datavalue':\n if (isNaN($new) && isEmpty($new)) {\n this.updateState({\n props: {\n displayValue: this.state.props.placeholder || ''\n }\n } as WmSelectState);\n }\n }\n }\n\n private computePosition = () => {\n if (!this.view || !this.isMounted) return;\n\n this.view.measureInWindow((px, py, width, height) => {\n const windowDimensions = Dimensions.get('window');\n const position = {} as PopoverPosition;\n\n let popoverwidth = this.state.selectWidth as any;\n if (popoverwidth && isString(popoverwidth)) {\n popoverwidth = parseInt(popoverwidth);\n }\n\n this.isRTL ? position.right = px : position.left = px;\n\n if (px + popoverwidth > windowDimensions.width) {\n this.isRTL\n ? (position.right = px + width - popoverwidth)\n : (position.left = px + width - popoverwidth);\n }\n\n const appConfig = injector.get<AppConfig>('APP_CONFIG');\n const isEdgeToEdge = !!appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp;\n const statusBarHeight = Platform.OS === 'android' ? (StatusBar.currentHeight || 0) : 0;\n const needsStatusBarAdjustment = Platform.OS === 'android' && this.safeAreaInsets.top > 0;\n const yOffset = Platform.OS === 'ios' && !isEdgeToEdge ? this.safeAreaInsets.top : 0;\n\n position.top = py + height - yOffset + (needsStatusBarAdjustment ? statusBarHeight : 0);\n\n this.updateState({\n position,\n positionReady: true,\n selectWidth: width\n } as WmSelectState);\n });\n };\n\n prepareModalOptions(content: React.ReactNode, styles: WmSelectStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.modalStyle = styles.modal;\n o.contentStyle = {...styles.modalContent,...this.state.position};\n o.content = content;\n o.isModal = true;\n o.centered = true;\n o.onClose = () => {\n this.hide = () => {};\n if (this.isDefaultValue && this.state.props.displayValue === '') {\n this.validate(this.state.props.displayValue);\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n }, 0);\n }\n this.invokeEventCallback('onBlur', [{}, this.proxy]);\n this.setState({\n isOpened: false,\n positionReady: false,\n modalOptions: {} as ModalOptions ,\n isinputFocused:false\n } as WmSelectState);\n };\n this.hide = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n public showPopover = () => {\n const isDropdown = this.state.props.classname?.includes('select-dropdown');\n if (isDropdown) {\n this.computePosition();\n }\n this.updateState({ isOpened: true } as WmSelectState);\n };\n\n public hide = () => {};\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n private renderSkeletonForText(){\n return createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.textSkeleton.root\n });\n }\n\n renderSelect() {\n const props = this.state.props;\n const select = this.styles.root as any;\n const foundationStyle = this.theme.getStyle('app-input');\n const classname = this.state.props.classname ? this.state.props.classname.split(\" \").pop() : '';\n return (\n /*\n * onLayout function is required.\n * https://github.com/naoufal/react-native-accordion/pull/19/files\n */\n <View\n style={[this.theme.mergeStyle(this.styles.root, foundationStyle?.root, this.theme.getStyle(`${classname}`)), this.state.isValid ? {} : this.styles.invalid,\n { backgroundColor: props.disabled ? this.styles.disabledText.backgroundColor : this.styles.root.backgroundColor},\n this._showSkeleton ? { justifyContent: 'space-between' } : {},\n props.disabled ? this.theme.mergeStyle(this.styles.root, foundationStyle?.disabled, this.theme.getStyle(`${classname}`).disabled) : {},\n this.state.isinputFocused ? this.theme.mergeStyle(this.styles.root, foundationStyle?.focused, this.theme.getStyle(`${classname}`).focused) : {}\n ]}\n ref={(ref) => {\n this.view = ref as View;\n }}\n onLayout={(event) => {this.updateState({selectWidth : event.nativeEvent.layout.width} as any)}}\n {...getAccessibilityProps(AccessibilityWidgetType.SELECT, props)}>\n {select.backgroundImage ? (<BackgroundComponent\n image={select.backgroundImage}\n position={select.backgroundPosition || 'center'}\n size={select.backgroundSize || 'contain'}\n repeat={select.backgroundRepeat || 'no-repeat'}\n resizeMode={select.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}\n ></BackgroundComponent>) : null }\n {this._showSkeleton && (this.state.props.displayValue || props.placeholder)? this.renderSkeletonForText() : <Text\n style={[this.styles.text,\n this.state.props.displayValue ? {} : {color: this.styles.placeholderText.color}]}\n ref={(ref) => {\n this.widgetRef = ref;\n }}\n {...this.getTestPropsForInput()}\n onPress={this.onPress.bind(this)}\n importantForAccessibility='no'>\n {this.state.props.displayValue || props.placeholder || ' '}\n </Text>}\n <WmButton\n styles={this._showSkeleton ? this.styles.arrowButtonSkeleton.root : this.styles.arrowButton}\n iconclass={'wi wi-keyboard-arrow-down'}\n onTap={this.onPress.bind(this)}\n hint={props?.hint}\n accessible={false}\n />\n </View>\n );\n }\n\n isSelected(item: any) {\n const val = this.state.props.datafield === 'All Fields' ? item.dataObject : item.datafield;\n return this.state.props.datavalue === val;\n }\n\n onItemSelect(item: any, isPlaceholder?: boolean) {\n this.isDefaultValue = false;\n this.onChange(isPlaceholder ? '' : this.state.props.datafield === 'All Fields' ? item.dataObject : item.datafield);\n this.hide();\n }\n\n renderSelectItem(item: any, index: number, isPlaceholder: boolean, isLast: boolean) {\n let selected = this.isSelected(item);\n return (\n <Tappable {...this.getTestPropsForAction('selectitem'+index)} onTap={this.onItemSelect.bind(this, item, isPlaceholder)}\n accessibilityProps={{...getAccessibilityProps(\n AccessibilityWidgetType.SELECT,\n {...this.props, expanded: this.state.isOpened}\n )}}\n disableTouchEffect={this.state.props.disabletoucheffect}>\n <View style={[this.styles.selectItem, isLast ? this.styles.lastSelectItem : null, selected ? this.styles.selectedItem : null ]}>\n <Text {...this.getTestPropsForLabel('label'+index)} style={[this.styles.selectItemText, {color: isPlaceholder ? this.styles.placeholderText.color : selected ? this.styles.selectedItemText.color : this.styles.selectItemText.color}]}>\n {isPlaceholder ? this.state.props.placeholder : (item.displayexp || item.displayfield)}\n </Text>\n <WmIcon id={this.getTestId('checkicon' + index)} iconclass='wi wi-check' styles={this.theme.mergeStyle(this.styles.checkIcon, {\n root: {\n opacity: !isPlaceholder && selected ? 1 : 0\n }\n })}></WmIcon>\n </View>\n </Tappable>\n );\n }\n\n updateDefaultQueryModel() {\n if (this.state.dataItems && this.state.dataItems.length && this.isDefaultValue) {\n const selectedItem = find(this.state.dataItems, (item) => item.selected);\n selectedItem && this.updateState({\n props: {\n displayValue: selectedItem.displayexp || selectedItem.displayfield || ''\n }\n } as WmSelectState);\n }\n }\n\n componentDidMount() {\n super.componentDidMount();\n this.updateDefaultQueryModel();\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.updateDefaultQueryModel();\n }\n\n renderWidget(props: WmSelectProps) {\n let isDropdown = this.state.props.classname?.includes('select-dropdown');\n const styles = this.theme.mergeStyle( this.styles,this.theme.getStyle('select-dropdown'));\n if (isDropdown && this.state.selectWidth) {\n styles.modalContent.width = this.styles.dropdown.width || this.state.selectWidth;\n }\n\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets) => {\n if (insets) {\n this.safeAreaInsets = insets;\n }\n return (\n <View\n onLayout={(event) => {\n this.handleLayout(event);\n }}\n style={[this.styles.rootWrapper]}>\n {this._background}\n {this.renderSelect()}\n {this.state.isOpened && (isDropdown ? this.state.positionReady : true) ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n const items = this.state.dataItems;\n modalService.showModal(\n this.prepareModalOptions(\n <ScrollView style={ isDropdown ?[{width : this.state.selectWidth},this.styles.dropdown]:{width: '100%', maxHeight: Dimensions.get('window').height - 64 - (StatusBar.currentHeight || 0)}}\n contentContainerStyle={this.styles.dropDownContent}>\n {props.placeholder ?\n <View key={props.name + '_placeholder'} style={this.styles.placeholderText}>\n {this.renderSelectItem({}, 0, true, false)}\n </View>\n : null}\n {items && items.map((item: any, index: number) => (\n <View key={item.key}>\n {this.renderSelectItem(item, index, false, index === items.length - 1)}\n </View>\n ))}\n </ScrollView>,\n isDropdown?styles:this.styles,\n modalService\n )\n );\n return null;\n }}\n </ModalConsumer>\n ) : null}\n </View>\n );\n }}\n </SafeAreaInsetsContext.Consumer>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","Dimensions","Platform","StatusBar","Text","View","ScrollView","find","isEmpty","isString","injector","WmSelectProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmIcon","ModalConsumer","WmButton","Tappable","AccessibilityWidgetType","getAccessibilityProps","BackgroundComponent","createSkeleton","SafeAreaInsetsContext","WmSelectState","constructor","args","_defineProperty","WmSelect","props","top","bottom","left","right","view","isMounted","measureInWindow","px","py","width","height","_appConfig$edgeToEdge","windowDimensions","get","position","popoverwidth","state","selectWidth","parseInt","isRTL","appConfig","isEdgeToEdge","edgeToEdgeConfig","isEdgeToEdgeApp","statusBarHeight","OS","currentHeight","needsStatusBarAdjustment","safeAreaInsets","yOffset","updateState","positionReady","_this$state$props$cla","isDropdown","classname","includes","computePosition","isOpened","componentWillUnmount","_super$componentWillU","call","onPress","event","disabled","isComputing","setState","isinputFocused","showPopover","invokeEventCallback","proxy","onPropertyChange","name","$new","$old","isNaN","displayValue","placeholder","prepareModalOptions","content","styles","modalService","o","modalOptions","modalStyle","modal","contentStyle","modalContent","isModal","centered","onClose","hide","isDefaultValue","validate","setTimeout","triggerValidation","hideModal","focus","_this$widgetRef","widgetRef","renderSkeletonForText","theme","textSkeleton","root","renderSelect","_this$styles$root","select","foundationStyle","getStyle","split","pop","createElement","_extends","style","mergeStyle","isValid","invalid","backgroundColor","disabledText","_showSkeleton","justifyContent","focused","minHeight","undefined","ref","onLayout","nativeEvent","layout","SELECT","backgroundImage","image","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","text","color","placeholderText","getTestPropsForInput","bind","importantForAccessibility","arrowButtonSkeleton","arrowButton","iconclass","onTap","hint","accessible","isSelected","item","val","datafield","dataObject","datavalue","onItemSelect","isPlaceholder","onChange","renderSelectItem","index","isLast","selected","getTestPropsForAction","accessibilityProps","expanded","disableTouchEffect","disabletoucheffect","selectItem","lastSelectItem","selectedItem","getTestPropsForLabel","selectItemText","selectedItemText","displayexp","displayfield","id","getTestId","checkIcon","opacity","updateDefaultQueryModel","dataItems","length","componentDidMount","onDataItemsUpdate","renderWidget","_this$state$props$cla2","dropdown","Consumer","insets","_this$styles$root2","_this$styles$root3","handleLayout","rootWrapper","flexGrow","flexShrink","_background","items","showModal","maxHeight","contentContainerStyle","dropDownContent","key","map"],"sources":["select.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Dimensions, Platform, StatusBar, Text, View } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { find, isEmpty, isString } from 'lodash';\nimport injector from '@wavemaker-ai/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker-ai/app-rn-runtime/core/AppConfig';\n\nimport WmSelectProps from './select.props';\nimport { DEFAULT_CLASS, WmSelectStyles } from './select.styles';\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker-ai/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmIcon from '@wavemaker-ai/app-rn-runtime/components/basic/icon/icon.component';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker-ai/app-rn-runtime/core/modal.service';\nimport WmButton from '@wavemaker-ai/app-rn-runtime/components/basic/button/button.component';\nimport { Tappable } from '@wavemaker-ai/app-rn-runtime/core/tappable.component';\nimport ThemeVariables from '@wavemaker-ai/app-rn-runtime/styles/theme.variables';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker-ai/app-rn-runtime/core/accessibility';\nimport { BackgroundComponent } from '@wavemaker-ai/app-rn-runtime/styles/background.component';\nimport { createSkeleton } from '@wavemaker-ai/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\nimport { PopoverPosition } from '../../navigation/popover/popover.component';\nimport { SafeAreaInsetsContext, EdgeInsets } from 'react-native-safe-area-context';\n\nexport class WmSelectState extends BaseDatasetState<WmSelectProps> {\n modalOptions = {} as ModalOptions;\n isOpened: boolean = false;\n selectedValue: any = '';\n position={} as PopoverPosition;\n selectWidth:number = 0;\n positionReady:boolean = false;\n isinputFocused:boolean = false;\n}\n\nexport default class WmSelect extends BaseDatasetComponent<WmSelectProps, WmSelectState, WmSelectStyles> {\n constructor(props: WmSelectProps) {\n super(props, DEFAULT_CLASS, new WmSelectProps(), new WmSelectState());\n }\n view: View = null as any;\n public widgetRef: Text | null = null;\n private isDefaultValue: boolean = true;\n private safeAreaInsets = { top: 0, bottom: 0, left: 0, right: 0 };\n private isMounted: boolean = true;\n private isComputing: boolean = false;\n\n componentWillUnmount() {\n this.isMounted = false;\n super.componentWillUnmount?.();\n }\n\n onPress(event: any) {\n if (this.state.props.disabled) {\n return;\n }\n if (!this.state.isOpened && !this.isComputing) {\n this.isComputing = true;\n this.setState({ isinputFocused:true} as WmSelectState)\n try {\n this.showPopover();\n } finally {\n this.isComputing = false;\n }\n }\n this.invokeEventCallback('onFocus', [event, this.proxy]);\n }\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case 'datavalue':\n if (isNaN($new) && isEmpty($new)) {\n this.updateState({\n props: {\n displayValue: this.state.props.placeholder || ''\n }\n } as WmSelectState);\n }\n }\n }\n\n private computePosition = () => {\n if (!this.view || !this.isMounted) return;\n\n this.view.measureInWindow((px, py, width, height) => {\n const windowDimensions = Dimensions.get('window');\n const position = {} as PopoverPosition;\n\n let popoverwidth = this.state.selectWidth as any;\n if (popoverwidth && isString(popoverwidth)) {\n popoverwidth = parseInt(popoverwidth);\n }\n\n this.isRTL ? position.right = px : position.left = px;\n\n if (px + popoverwidth > windowDimensions.width) {\n this.isRTL\n ? (position.right = px + width - popoverwidth)\n : (position.left = px + width - popoverwidth);\n }\n\n const appConfig = injector.get<AppConfig>('APP_CONFIG');\n const isEdgeToEdge = !!appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp;\n const statusBarHeight = Platform.OS === 'android' ? (StatusBar.currentHeight || 0) : 0;\n const needsStatusBarAdjustment = Platform.OS === 'android' && this.safeAreaInsets.top > 0;\n const yOffset = Platform.OS === 'ios' && !isEdgeToEdge ? this.safeAreaInsets.top : 0;\n\n position.top = py + height - yOffset + (needsStatusBarAdjustment ? statusBarHeight : 0);\n\n this.updateState({\n position,\n positionReady: true,\n selectWidth: width\n } as WmSelectState);\n });\n };\n\n prepareModalOptions(content: React.ReactNode, styles: WmSelectStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.modalStyle = styles.modal;\n o.contentStyle = {...styles.modalContent,...this.state.position};\n o.content = content;\n o.isModal = true;\n o.centered = true;\n o.onClose = () => {\n this.hide = () => {};\n if (this.isDefaultValue && this.state.props.displayValue === '') {\n this.validate(this.state.props.displayValue);\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n }, 0);\n }\n this.invokeEventCallback('onBlur', [{}, this.proxy]);\n this.setState({\n isOpened: false,\n positionReady: false,\n modalOptions: {} as ModalOptions ,\n isinputFocused:false\n } as WmSelectState);\n };\n this.hide = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n public showPopover = () => {\n const isDropdown = this.state.props.classname?.includes('select-dropdown');\n if (isDropdown) {\n this.computePosition();\n }\n this.updateState({ isOpened: true } as WmSelectState);\n };\n\n public hide = () => {};\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n private renderSkeletonForText(){\n return createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.textSkeleton.root\n });\n }\n\n renderSelect() {\n const props = this.state.props;\n const select = this.styles.root as any;\n const foundationStyle = this.theme.getStyle('app-input');\n const classname = this.state.props.classname ? this.state.props.classname.split(\" \").pop() : '';\n return (\n /*\n * onLayout function is required.\n * https://github.com/naoufal/react-native-accordion/pull/19/files\n */\n <View\n style={[this.theme.mergeStyle(this.styles.root, foundationStyle?.root, this.theme.getStyle(`${classname}`)), this.state.isValid ? {} : this.styles.invalid,\n { backgroundColor: props.disabled ? this.styles.disabledText.backgroundColor : this.styles.root.backgroundColor},\n this._showSkeleton ? { justifyContent: 'space-between' } : {},\n props.disabled ? this.theme.mergeStyle(this.styles.root, foundationStyle?.disabled, this.theme.getStyle(`${classname}`).disabled) : {},\n this.state.isinputFocused ? this.theme.mergeStyle(this.styles.root, foundationStyle?.focused, this.theme.getStyle(`${classname}`).focused) : {},\n this.styles.root?.minHeight !== undefined ? { minHeight: this.styles.root.minHeight } : {}\n ]}\n ref={(ref) => {\n this.view = ref as View;\n }}\n onLayout={(event) => {this.updateState({selectWidth : event.nativeEvent.layout.width} as any)}}\n {...getAccessibilityProps(AccessibilityWidgetType.SELECT, props)}>\n {select.backgroundImage ? (<BackgroundComponent\n image={select.backgroundImage}\n position={select.backgroundPosition || 'center'}\n size={select.backgroundSize || 'contain'}\n repeat={select.backgroundRepeat || 'no-repeat'}\n resizeMode={select.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}\n ></BackgroundComponent>) : null }\n {this._showSkeleton && (this.state.props.displayValue || props.placeholder)? this.renderSkeletonForText() : <Text\n style={[this.styles.text,\n this.state.props.displayValue ? {} : {color: this.styles.placeholderText.color}]}\n ref={(ref) => {\n this.widgetRef = ref;\n }}\n {...this.getTestPropsForInput()}\n onPress={this.onPress.bind(this)}\n importantForAccessibility='no'>\n {this.state.props.displayValue || props.placeholder || ' '}\n </Text>}\n <WmButton\n styles={this._showSkeleton ? this.styles.arrowButtonSkeleton.root : this.styles.arrowButton}\n iconclass={'wi wi-keyboard-arrow-down'}\n onTap={this.onPress.bind(this)}\n hint={props?.hint}\n accessible={false}\n />\n </View>\n );\n }\n\n isSelected(item: any) {\n const val = this.state.props.datafield === 'All Fields' ? item.dataObject : item.datafield;\n return this.state.props.datavalue === val;\n }\n\n onItemSelect(item: any, isPlaceholder?: boolean) {\n this.isDefaultValue = false;\n this.onChange(isPlaceholder ? '' : this.state.props.datafield === 'All Fields' ? item.dataObject : item.datafield);\n this.hide();\n }\n\n renderSelectItem(item: any, index: number, isPlaceholder: boolean, isLast: boolean) {\n let selected = this.isSelected(item);\n return (\n <Tappable {...this.getTestPropsForAction('selectitem'+index)} onTap={this.onItemSelect.bind(this, item, isPlaceholder)}\n accessibilityProps={{...getAccessibilityProps(\n AccessibilityWidgetType.SELECT,\n {...this.props, expanded: this.state.isOpened}\n )}}\n disableTouchEffect={this.state.props.disabletoucheffect}>\n <View style={[this.styles.selectItem, isLast ? this.styles.lastSelectItem : null, selected ? this.styles.selectedItem : null ]}>\n <Text {...this.getTestPropsForLabel('label'+index)} style={[this.styles.selectItemText, {color: isPlaceholder ? this.styles.placeholderText.color : selected ? this.styles.selectedItemText.color : this.styles.selectItemText.color}]}>\n {isPlaceholder ? this.state.props.placeholder : (item.displayexp || item.displayfield)}\n </Text>\n <WmIcon id={this.getTestId('checkicon' + index)} iconclass='wi wi-check' styles={this.theme.mergeStyle(this.styles.checkIcon, {\n root: {\n opacity: !isPlaceholder && selected ? 1 : 0\n }\n })}></WmIcon>\n </View>\n </Tappable>\n );\n }\n\n updateDefaultQueryModel() {\n if (this.state.dataItems && this.state.dataItems.length && this.isDefaultValue) {\n const selectedItem = find(this.state.dataItems, (item) => item.selected);\n selectedItem && this.updateState({\n props: {\n displayValue: selectedItem.displayexp || selectedItem.displayfield || ''\n }\n } as WmSelectState);\n }\n }\n\n componentDidMount() {\n super.componentDidMount();\n this.updateDefaultQueryModel();\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.updateDefaultQueryModel();\n }\n\n renderWidget(props: WmSelectProps) {\n let isDropdown = this.state.props.classname?.includes('select-dropdown');\n const styles = this.theme.mergeStyle( this.styles,this.theme.getStyle('select-dropdown'));\n if (isDropdown && this.state.selectWidth) {\n styles.modalContent.width = this.styles.dropdown.width || this.state.selectWidth;\n }\n\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets) => {\n if (insets) {\n this.safeAreaInsets = insets;\n }\n return (\n <View\n onLayout={(event) => {\n this.handleLayout(event);\n }}\n style={[this.styles.rootWrapper, { flexGrow: this.styles.root?.flexGrow, flexShrink: this.styles.root?.flexShrink }]}>\n {this._background}\n {this.renderSelect()}\n {this.state.isOpened && (isDropdown ? this.state.positionReady : true) ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n const items = this.state.dataItems;\n modalService.showModal(\n this.prepareModalOptions(\n <ScrollView style={ isDropdown ?[{width : this.state.selectWidth},this.styles.dropdown]:{width: '100%', maxHeight: Dimensions.get('window').height - 64 - (StatusBar.currentHeight || 0)}}\n contentContainerStyle={this.styles.dropDownContent}>\n {props.placeholder ?\n <View key={props.name + '_placeholder'} style={this.styles.placeholderText}>\n {this.renderSelectItem({}, 0, true, false)}\n </View>\n : null}\n {items && items.map((item: any, index: number) => (\n <View key={item.key}>\n {this.renderSelectItem(item, index, false, index === items.length - 1)}\n </View>\n ))}\n </ScrollView>,\n isDropdown?styles:this.styles,\n modalService\n )\n );\n return null;\n }}\n </ModalConsumer>\n ) : null}\n </View>\n );\n }}\n </SafeAreaInsetsContext.Consumer>\n );\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AAC1E,SAASC,UAAU,QAAQ,8BAA8B;AACzD,SAASC,IAAI,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,QAAQ;AAChD,OAAOC,QAAQ,MAAM,4CAA4C;AAGjE,OAAOC,aAAa,MAAM,gBAAgB;AAC1C,SAASC,aAAa,QAAwB,iBAAiB;AAC/D,SACEC,oBAAoB,EACpBC,gBAAgB,QACX,iFAAiF;AACxF,OAAOC,MAAM,MAAM,mEAAmE;AACtF,SAASC,aAAa,QAAoC,iDAAiD;AAC3G,OAAOC,QAAQ,MAAM,uEAAuE;AAC5F,SAASC,QAAQ,QAAQ,sDAAsD;AAE/E,SAASC,uBAAuB,EAAEC,qBAAqB,QAAQ,iDAAiD;AAChH,SAASC,mBAAmB,QAAQ,0DAA0D;AAC9F,SAASC,cAAc,QAAQ,2EAA2E;AAG1G,SAASC,qBAAqB,QAAoB,gCAAgC;AAElF,OAAO,MAAMC,aAAa,SAASV,gBAAgB,CAAgB;EAAAW,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,uBAClD,CAAC,CAAC;IAAAA,eAAA,mBACG,KAAK;IAAAA,eAAA,wBACJ,EAAE;IAAAA,eAAA,mBACd,CAAC,CAAC;IAAAA,eAAA,sBACU,CAAC;IAAAA,eAAA,wBACE,KAAK;IAAAA,eAAA,yBACJ,KAAK;EAAA;AAChC;AAEA,eAAe,MAAMC,QAAQ,SAASf,oBAAoB,CAA+C;EACvGY,WAAWA,CAACI,KAAoB,EAAE;IAChC,KAAK,CAACA,KAAK,EAAEjB,aAAa,EAAE,IAAID,aAAa,CAAC,CAAC,EAAE,IAAIa,aAAa,CAAC,CAAC,CAAC;IAACG,eAAA,eAE3D,IAAI;IAAAA,eAAA,oBACe,IAAI;IAAAA,eAAA,yBACF,IAAI;IAAAA,eAAA,yBACb;MAAEG,GAAG,EAAE,CAAC;MAAEC,MAAM,EAAE,CAAC;MAAEC,IAAI,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAE,CAAC;IAAAN,eAAA,oBACpC,IAAI;IAAAA,eAAA,sBACF,KAAK;IAAAA,eAAA,0BAqCV,MAAM;MAC9B,IAAI,CAAC,IAAI,CAACO,IAAI,IAAI,CAAC,IAAI,CAACC,SAAS,EAAE;MAEnC,IAAI,CAACD,IAAI,CAACE,eAAe,CAAC,CAACC,EAAE,EAAEC,EAAE,EAAEC,KAAK,EAAEC,MAAM,KAAK;QAAA,IAAAC,qBAAA;QACnD,MAAMC,gBAAgB,GAAGzC,UAAU,CAAC0C,GAAG,CAAC,QAAQ,CAAC;QACjD,MAAMC,QAAQ,GAAG,CAAC,CAAoB;QAEtC,IAAIC,YAAY,GAAG,IAAI,CAACC,KAAK,CAACC,WAAkB;QAChD,IAAIF,YAAY,IAAIpC,QAAQ,CAACoC,YAAY,CAAC,EAAE;UAC1CA,YAAY,GAAGG,QAAQ,CAACH,YAAY,CAAC;QACvC;QAEA,IAAI,CAACI,KAAK,GAAGL,QAAQ,CAACX,KAAK,GAAGI,EAAE,GAAGO,QAAQ,CAACZ,IAAI,GAAGK,EAAE;QAErD,IAAIA,EAAE,GAAGQ,YAAY,GAAGH,gBAAgB,CAACH,KAAK,EAAE;UAC9C,IAAI,CAACU,KAAK,GACLL,QAAQ,CAACX,KAAK,GAAGI,EAAE,GAAGE,KAAK,GAAGM,YAAY,GAC1CD,QAAQ,CAACZ,IAAI,GAAGK,EAAE,GAAGE,KAAK,GAAGM,YAAa;QACjD;QAEA,MAAMK,SAAS,GAAGxC,QAAQ,CAACiC,GAAG,CAAY,YAAY,CAAC;QACvD,MAAMQ,YAAY,GAAG,CAAC,EAACD,SAAS,aAATA,SAAS,gBAAAT,qBAAA,GAATS,SAAS,CAAEE,gBAAgB,cAAAX,qBAAA,eAA3BA,qBAAA,CAA6BY,eAAe;QACnE,MAAMC,eAAe,GAAGpD,QAAQ,CAACqD,EAAE,KAAK,SAAS,GAAIpD,SAAS,CAACqD,aAAa,IAAI,CAAC,GAAI,CAAC;QACtF,MAAMC,wBAAwB,GAAGvD,QAAQ,CAACqD,EAAE,KAAK,SAAS,IAAI,IAAI,CAACG,cAAc,CAAC5B,GAAG,GAAG,CAAC;QACzF,MAAM6B,OAAO,GAAGzD,QAAQ,CAACqD,EAAE,KAAK,KAAK,IAAI,CAACJ,YAAY,GAAG,IAAI,CAACO,cAAc,CAAC5B,GAAG,GAAG,CAAC;QAEpFc,QAAQ,CAACd,GAAG,GAAGQ,EAAE,GAAGE,MAAM,GAAGmB,OAAO,IAAIF,wBAAwB,GAAGH,eAAe,GAAG,CAAC,CAAC;QAEvF,IAAI,CAACM,WAAW,CAAC;UACfhB,QAAQ;UACRiB,aAAa,EAAE,IAAI;UACnBd,WAAW,EAAER;QACf,CAAkB,CAAC;MACrB,CAAC,CAAC;IACJ,CAAC;IAAAZ,eAAA,sBA6BoB,MAAM;MAAA,IAAAmC,qBAAA;MACzB,MAAMC,UAAU,IAAAD,qBAAA,GAAG,IAAI,CAAChB,KAAK,CAACjB,KAAK,CAACmC,SAAS,cAAAF,qBAAA,uBAA1BA,qBAAA,CAA4BG,QAAQ,CAAC,iBAAiB,CAAC;MAC1E,IAAIF,UAAU,EAAE;QACd,IAAI,CAACG,eAAe,CAAC,CAAC;MACxB;MACA,IAAI,CAACN,WAAW,CAAC;QAAEO,QAAQ,EAAE;MAAK,CAAkB,CAAC;IACvD,CAAC;IAAAxC,eAAA,eAEa,MAAM,CAAC,CAAC;EAlHtB;EAQAyC,oBAAoBA,CAAA,EAAG;IAAA,IAAAC,qBAAA;IACrB,IAAI,CAAClC,SAAS,GAAG,KAAK;IACtB,CAAAkC,qBAAA,QAAK,CAACD,oBAAoB,cAAAC,qBAAA,eAA1BA,qBAAA,CAAAC,IAAA,KAA6B,CAAC;EAChC;EAEAC,OAAOA,CAACC,KAAU,EAAE;IAClB,IAAI,IAAI,CAAC1B,KAAK,CAACjB,KAAK,CAAC4C,QAAQ,EAAE;MAC7B;IACF;IACA,IAAI,CAAC,IAAI,CAAC3B,KAAK,CAACqB,QAAQ,IAAI,CAAC,IAAI,CAACO,WAAW,EAAE;MAC7C,IAAI,CAACA,WAAW,GAAG,IAAI;MACvB,IAAI,CAACC,QAAQ,CAAC;QAAEC,cAAc,EAAC;MAAI,CAAkB,CAAC;MACtD,IAAI;QACF,IAAI,CAACC,WAAW,CAAC,CAAC;MACpB,CAAC,SAAS;QACR,IAAI,CAACH,WAAW,GAAG,KAAK;MAC1B;IACF;IACA,IAAI,CAACI,mBAAmB,CAAC,SAAS,EAAE,CAACN,KAAK,EAAE,IAAI,CAACO,KAAK,CAAC,CAAC;EAC1D;EAEAC,gBAAgBA,CAACC,IAAY,EAAEC,IAAS,EAAEC,IAAS,EAAQ;IACzD,KAAK,CAACH,gBAAgB,CAACC,IAAI,EAAEC,IAAI,EAAEC,IAAI,CAAC;IACtC,QAAOF,IAAI;MACT,KAAK,WAAW;QACd,IAAIG,KAAK,CAACF,IAAI,CAAC,IAAI1E,OAAO,CAAC0E,IAAI,CAAC,EAAE;UAChC,IAAI,CAACtB,WAAW,CAAC;YACf/B,KAAK,EAAE;cACLwD,YAAY,EAAE,IAAI,CAACvC,KAAK,CAACjB,KAAK,CAACyD,WAAW,IAAI;YAChD;UACF,CAAkB,CAAC;QACrB;IACJ;EACJ;EAsCAC,mBAAmBA,CAACC,OAAwB,EAAEC,MAAsB,EAAEC,YAA0B,EAAE;IAChG,MAAMC,CAAC,GAAG,IAAI,CAAC7C,KAAK,CAAC8C,YAAY;IACjCD,CAAC,CAACE,UAAU,GAAGJ,MAAM,CAACK,KAAK;IAC3BH,CAAC,CAACI,YAAY,GAAG;MAAC,GAAGN,MAAM,CAACO,YAAY;MAAC,GAAG,IAAI,CAAClD,KAAK,CAACF;IAAQ,CAAC;IAChE+C,CAAC,CAACH,OAAO,GAAGA,OAAO;IACnBG,CAAC,CAACM,OAAO,GAAG,IAAI;IAChBN,CAAC,CAACO,QAAQ,GAAG,IAAI;IACjBP,CAAC,CAACQ,OAAO,GAAG,MAAM;MAChB,IAAI,CAACC,IAAI,GAAG,MAAM,CAAC,CAAC;MACpB,IAAI,IAAI,CAACC,cAAc,IAAI,IAAI,CAACvD,KAAK,CAACjB,KAAK,CAACwD,YAAY,KAAK,EAAE,EAAE;QAC/D,IAAI,CAACiB,QAAQ,CAAC,IAAI,CAACxD,KAAK,CAACjB,KAAK,CAACwD,YAAY,CAAC;QAC5CkB,UAAU,CAAC,MAAM;UACf,IAAI,CAAC1E,KAAK,CAAC2E,iBAAiB,IAAI,IAAI,CAAC3E,KAAK,CAAC2E,iBAAiB,CAAC,CAAC;QAChE,CAAC,EAAE,CAAC,CAAC;MACP;MACA,IAAI,CAAC1B,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;MACpD,IAAI,CAACJ,QAAQ,CAAC;QACZR,QAAQ,EAAE,KAAK;QACfN,aAAa,EAAE,KAAK;QACpB+B,YAAY,EAAE,CAAC,CAAiB;QAChChB,cAAc,EAAC;MACjB,CAAkB,CAAC;IACrB,CAAC;IACD,IAAI,CAACwB,IAAI,GAAG,MAAMV,YAAY,CAACe,SAAS,CAAC,IAAI,CAAC3D,KAAK,CAAC8C,YAAY,CAAC;IACjE,OAAOD,CAAC;EACV;EAYAe,KAAKA,CAAA,EAAG;IAAA,IAAAC,eAAA;IACN,IAAI,aAAJ,IAAI,gBAAAA,eAAA,GAAJ,IAAI,CAAEC,SAAS,cAAAD,eAAA,eAAfA,eAAA,CAAiBD,KAAK,CAAC,CAAC;EAC1B;EAEQG,qBAAqBA,CAAA,EAAE;IAC7B,OAAOvF,cAAc,CAAC,IAAI,CAACwF,KAAK,EAAE,CAAC,CAAC,EAAsB;MACxD,GAAG,IAAI,CAACrB,MAAM,CAACsB,YAAY,CAACC;IAC9B,CAAC,CAAC;EACJ;EAEAC,YAAYA,CAAA,EAAG;IAAA,IAAAC,iBAAA;IACb,MAAMrF,KAAK,GAAG,IAAI,CAACiB,KAAK,CAACjB,KAAK;IAC9B,MAAMsF,MAAM,GAAG,IAAI,CAAC1B,MAAM,CAACuB,IAAW;IACtC,MAAMI,eAAe,GAAG,IAAI,CAACN,KAAK,CAACO,QAAQ,CAAC,WAAW,CAAC;IACxD,MAAMrD,SAAS,GAAG,IAAI,CAAClB,KAAK,CAACjB,KAAK,CAACmC,SAAS,GAAG,IAAI,CAAClB,KAAK,CAACjB,KAAK,CAACmC,SAAS,CAACsD,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,CAAC,GAAG,EAAE;IAC/F;MAAA;MACE;AACN;AACA;AACA;MACMvH,KAAA,CAAAwH,aAAA,CAACnH,IAAI,EAAAoH,QAAA;QACHC,KAAK,EAAE,CAAC,IAAI,CAACZ,KAAK,CAACa,UAAU,CAAC,IAAI,CAAClC,MAAM,CAACuB,IAAI,EAAEI,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEJ,IAAI,EAAE,IAAI,CAACF,KAAK,CAACO,QAAQ,CAAC,GAAGrD,SAAS,EAAE,CAAC,CAAC,EAAE,IAAI,CAAClB,KAAK,CAAC8E,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAACnC,MAAM,CAACoC,OAAO,EACxJ;UAAEC,eAAe,EAAEjG,KAAK,CAAC4C,QAAQ,GAAG,IAAI,CAACgB,MAAM,CAACsC,YAAY,CAACD,eAAe,GAAG,IAAI,CAACrC,MAAM,CAACuB,IAAI,CAACc;QAAe,CAAC,EAChH,IAAI,CAACE,aAAa,GAAG;UAAEC,cAAc,EAAE;QAAgB,CAAC,GAAG,CAAC,CAAC,EAC7DpG,KAAK,CAAC4C,QAAQ,GAAG,IAAI,CAACqC,KAAK,CAACa,UAAU,CAAC,IAAI,CAAClC,MAAM,CAACuB,IAAI,EAAEI,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAE3C,QAAQ,EAAE,IAAI,CAACqC,KAAK,CAACO,QAAQ,CAAC,GAAGrD,SAAS,EAAE,CAAC,CAACS,QAAQ,CAAC,GAAG,CAAC,CAAC,EACtI,IAAI,CAAC3B,KAAK,CAAC8B,cAAc,GAAG,IAAI,CAACkC,KAAK,CAACa,UAAU,CAAC,IAAI,CAAClC,MAAM,CAACuB,IAAI,EAAEI,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEc,OAAO,EAAE,IAAI,CAACpB,KAAK,CAACO,QAAQ,CAAC,GAAGrD,SAAS,EAAE,CAAC,CAACkE,OAAO,CAAC,GAAG,CAAC,CAAC,EAC/I,EAAAhB,iBAAA,OAAI,CAACzB,MAAM,CAACuB,IAAI,cAAAE,iBAAA,uBAAhBA,iBAAA,CAAkBiB,SAAS,MAAKC,SAAS,GAAG;UAAED,SAAS,EAAE,IAAI,CAAC1C,MAAM,CAACuB,IAAI,CAACmB;QAAU,CAAC,GAAG,CAAC,CAAC,CAC1F;QACFE,GAAG,EAAGA,GAAG,IAAK;UACZ,IAAI,CAACnG,IAAI,GAAGmG,GAAW;QACzB,CAAE;QACFC,QAAQ,EAAG9D,KAAK,IAAK;UAAC,IAAI,CAACZ,WAAW,CAAC;YAACb,WAAW,EAAGyB,KAAK,CAAC+D,WAAW,CAACC,MAAM,CAACjG;UAAK,CAAQ,CAAC;QAAA;MAAE,GAC3FnB,qBAAqB,CAACD,uBAAuB,CAACsH,MAAM,EAAE5G,KAAK,CAAC,GAC7DsF,MAAM,CAACuB,eAAe,gBAAI1I,KAAA,CAAAwH,aAAA,CAACnG,mBAAmB;QAC7CsH,KAAK,EAAExB,MAAM,CAACuB,eAAgB;QAC9B9F,QAAQ,EAAEuE,MAAM,CAACyB,kBAAkB,IAAI,QAAS;QAChDC,IAAI,EAAE1B,MAAM,CAAC2B,cAAc,IAAI,SAAU;QACzCC,MAAM,EAAE5B,MAAM,CAAC6B,gBAAgB,IAAI,WAAY;QAC/CC,UAAU,EAAE9B,MAAM,CAAC+B,oBAAqB;QACxCxB,KAAK,EAAE;UAACyB,YAAY,EAAE,IAAI,CAAC1D,MAAM,CAACuB,IAAI,CAACmC;QAAY;MAAE,CACjC,CAAC,GAAI,IAAI,EAC9B,IAAI,CAACnB,aAAa,KAAK,IAAI,CAAClF,KAAK,CAACjB,KAAK,CAACwD,YAAY,IAAIxD,KAAK,CAACyD,WAAW,CAAC,GAAE,IAAI,CAACuB,qBAAqB,CAAC,CAAC,gBAAG7G,KAAA,CAAAwH,aAAA,CAACpH,IAAI,EAAAqH,QAAA;QAC/GC,KAAK,EAAE,CAAC,IAAI,CAACjC,MAAM,CAAC2D,IAAI,EACtB,IAAI,CAACtG,KAAK,CAACjB,KAAK,CAACwD,YAAY,GAAG,CAAC,CAAC,GAAG;UAACgE,KAAK,EAAE,IAAI,CAAC5D,MAAM,CAAC6D,eAAe,CAACD;QAAK,CAAC,CAAE;QACnFhB,GAAG,EAAGA,GAAG,IAAK;UACZ,IAAI,CAACzB,SAAS,GAAGyB,GAAG;QACtB;MAAE,GACE,IAAI,CAACkB,oBAAoB,CAAC,CAAC;QAC/BhF,OAAO,EAAE,IAAI,CAACA,OAAO,CAACiF,IAAI,CAAC,IAAI,CAAE;QACjCC,yBAAyB,EAAC;MAAI,IAC7B,IAAI,CAAC3G,KAAK,CAACjB,KAAK,CAACwD,YAAY,IAAIxD,KAAK,CAACyD,WAAW,IAAI,GACnD,CAAC,eACPtF,KAAA,CAAAwH,aAAA,CAACvG,QAAQ;QACPwE,MAAM,EAAE,IAAI,CAACuC,aAAa,GAAG,IAAI,CAACvC,MAAM,CAACiE,mBAAmB,CAAC1C,IAAI,GAAG,IAAI,CAACvB,MAAM,CAACkE,WAAY;QAC5FC,SAAS,EAAE,2BAA4B;QACvCC,KAAK,EAAE,IAAI,CAACtF,OAAO,CAACiF,IAAI,CAAC,IAAI,CAAE;QAC/BM,IAAI,EAAEjI,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEiI,IAAK;QAClBC,UAAU,EAAE;MAAM,CACnB,CACC;IAAC;EAEX;EAEAC,UAAUA,CAACC,IAAS,EAAE;IACpB,MAAMC,GAAG,GAAG,IAAI,CAACpH,KAAK,CAACjB,KAAK,CAACsI,SAAS,KAAK,YAAY,GAAIF,IAAI,CAACG,UAAU,GAAGH,IAAI,CAACE,SAAS;IAC3F,OAAO,IAAI,CAACrH,KAAK,CAACjB,KAAK,CAACwI,SAAS,KAAKH,GAAG;EAC3C;EAEAI,YAAYA,CAACL,IAAS,EAAEM,aAAuB,EAAE;IAC/C,IAAI,CAAClE,cAAc,GAAG,KAAK;IAC3B,IAAI,CAACmE,QAAQ,CAACD,aAAa,GAAG,EAAE,GAAG,IAAI,CAACzH,KAAK,CAACjB,KAAK,CAACsI,SAAS,KAAK,YAAY,GAAIF,IAAI,CAACG,UAAU,GAAGH,IAAI,CAACE,SAAS,CAAC;IACnH,IAAI,CAAC/D,IAAI,CAAC,CAAC;EACb;EAEAqE,gBAAgBA,CAACR,IAAS,EAAES,KAAa,EAAEH,aAAsB,EAAEI,MAAe,EAAE;IAClF,IAAIC,QAAQ,GAAG,IAAI,CAACZ,UAAU,CAACC,IAAI,CAAC;IACpC,oBACEjK,KAAA,CAAAwH,aAAA,CAACtG,QAAQ,EAAAuG,QAAA,KAAK,IAAI,CAACoD,qBAAqB,CAAC,YAAY,GAACH,KAAK,CAAC;MAAEb,KAAK,EAAE,IAAI,CAACS,YAAY,CAACd,IAAI,CAAC,IAAI,EAAES,IAAI,EAAEM,aAAa,CAAE;MACvHO,kBAAkB,EAAE;QAAC,GAAG1J,qBAAqB,CAC3CD,uBAAuB,CAACsH,MAAM,EAC9B;UAAC,GAAG,IAAI,CAAC5G,KAAK;UAAEkJ,QAAQ,EAAE,IAAI,CAACjI,KAAK,CAACqB;QAAQ,CAC/C;MAAC,CAAE;MACH6G,kBAAkB,EAAE,IAAI,CAAClI,KAAK,CAACjB,KAAK,CAACoJ;IAAmB,iBACtDjL,KAAA,CAAAwH,aAAA,CAACnH,IAAI;MAACqH,KAAK,EAAE,CAAC,IAAI,CAACjC,MAAM,CAACyF,UAAU,EAAEP,MAAM,GAAI,IAAI,CAAClF,MAAM,CAAC0F,cAAc,GAAI,IAAI,EAAEP,QAAQ,GAAG,IAAI,CAACnF,MAAM,CAAC2F,YAAY,GAAG,IAAI;IAAG,gBAC/HpL,KAAA,CAAAwH,aAAA,CAACpH,IAAI,EAAAqH,QAAA,KAAM,IAAI,CAAC4D,oBAAoB,CAAC,OAAO,GAACX,KAAK,CAAC;MAAEhD,KAAK,EAAE,CAAC,IAAI,CAACjC,MAAM,CAAC6F,cAAc,EAAG;QAACjC,KAAK,EAAEkB,aAAa,GAAG,IAAI,CAAC9E,MAAM,CAAC6D,eAAe,CAACD,KAAK,GAAGuB,QAAQ,GAAG,IAAI,CAACnF,MAAM,CAAC8F,gBAAgB,CAAClC,KAAK,GAAG,IAAI,CAAC5D,MAAM,CAAC6F,cAAc,CAACjC;MAAK,CAAC;IAAE,IACtOkB,aAAa,GAAG,IAAI,CAACzH,KAAK,CAACjB,KAAK,CAACyD,WAAW,GAAI2E,IAAI,CAACuB,UAAU,IAAIvB,IAAI,CAACwB,YACrE,CAAC,eACPzL,KAAA,CAAAwH,aAAA,CAACzG,MAAM;MAAC2K,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,WAAW,GAAGjB,KAAK,CAAE;MAACd,SAAS,EAAC,aAAa;MAACnE,MAAM,EAAE,IAAI,CAACqB,KAAK,CAACa,UAAU,CAAC,IAAI,CAAClC,MAAM,CAACmG,SAAS,EAAE;QAC5H5E,IAAI,EAAE;UACJ6E,OAAO,EAAE,CAACtB,aAAa,IAAIK,QAAQ,GAAI,CAAC,GAAG;QAC7C;MACF,CAAC;IAAE,CAAS,CACR,CACE,CAAC;EAEf;EAEAkB,uBAAuBA,CAAA,EAAG;IACxB,IAAI,IAAI,CAAChJ,KAAK,CAACiJ,SAAS,IAAI,IAAI,CAACjJ,KAAK,CAACiJ,SAAS,CAACC,MAAM,IAAI,IAAI,CAAC3F,cAAc,EAAE;MAC9E,MAAM+E,YAAY,GAAG7K,IAAI,CAAC,IAAI,CAACuC,KAAK,CAACiJ,SAAS,EAAG9B,IAAI,IAAKA,IAAI,CAACW,QAAQ,CAAC;MACxEQ,YAAY,IAAI,IAAI,CAACxH,WAAW,CAAC;QAC/B/B,KAAK,EAAE;UACPwD,YAAY,EAAE+F,YAAY,CAACI,UAAU,IAAIJ,YAAY,CAACK,YAAY,IAAI;QACxE;MACA,CAAkB,CAAC;IACrB;EACF;EAEAQ,iBAAiBA,CAAA,EAAG;IAClB,KAAK,CAACA,iBAAiB,CAAC,CAAC;IACzB,IAAI,CAACH,uBAAuB,CAAC,CAAC;EAChC;EAEAI,iBAAiBA,CAAA,EAAG;IAClB,KAAK,CAACA,iBAAiB,CAAC,CAAC;IACzB,IAAI,CAACJ,uBAAuB,CAAC,CAAC;EAChC;EAEAK,YAAYA,CAACtK,KAAoB,EAAE;IAAA,IAAAuK,sBAAA;IACjC,IAAIrI,UAAU,IAAAqI,sBAAA,GAAG,IAAI,CAACtJ,KAAK,CAACjB,KAAK,CAACmC,SAAS,cAAAoI,sBAAA,uBAA1BA,sBAAA,CAA4BnI,QAAQ,CAAC,iBAAiB,CAAC;IACxE,MAAMwB,MAAM,GAAG,IAAI,CAACqB,KAAK,CAACa,UAAU,CAAE,IAAI,CAAClC,MAAM,EAAC,IAAI,CAACqB,KAAK,CAACO,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACzF,IAAItD,UAAU,IAAI,IAAI,CAACjB,KAAK,CAACC,WAAW,EAAE;MACtC0C,MAAM,CAACO,YAAY,CAACzD,KAAK,GAAG,IAAI,CAACkD,MAAM,CAAC4G,QAAQ,CAAC9J,KAAK,IAAI,IAAI,CAACO,KAAK,CAACC,WAAW;IACpF;IAEA,oBACE/C,KAAA,CAAAwH,aAAA,CAACjG,qBAAqB,CAAC+K,QAAQ,QAC3BC,MAAM,IAAK;MAAA,IAAAC,kBAAA,EAAAC,kBAAA;MACX,IAAIF,MAAM,EAAE;QACV,IAAI,CAAC7I,cAAc,GAAG6I,MAAM;MAC9B;MACA,oBACEvM,KAAA,CAAAwH,aAAA,CAACnH,IAAI;QACHiI,QAAQ,EAAG9D,KAAK,IAAK;UACnB,IAAI,CAACkI,YAAY,CAAClI,KAAK,CAAC;QAC1B,CAAE;QACFkD,KAAK,EAAE,CAAC,IAAI,CAACjC,MAAM,CAACkH,WAAW,EAAE;UAAEC,QAAQ,GAAAJ,kBAAA,GAAE,IAAI,CAAC/G,MAAM,CAACuB,IAAI,cAAAwF,kBAAA,uBAAhBA,kBAAA,CAAkBI,QAAQ;UAAEC,UAAU,GAAAJ,kBAAA,GAAE,IAAI,CAAChH,MAAM,CAACuB,IAAI,cAAAyF,kBAAA,uBAAhBA,kBAAA,CAAkBI;QAAW,CAAC;MAAE,GACpH,IAAI,CAACC,WAAW,EAChB,IAAI,CAAC7F,YAAY,CAAC,CAAC,EACnB,IAAI,CAACnE,KAAK,CAACqB,QAAQ,KAAKJ,UAAU,GAAG,IAAI,CAACjB,KAAK,CAACe,aAAa,GAAG,IAAI,CAAC,gBACtE7D,KAAA,CAAAwH,aAAA,CAACxG,aAAa,QACV0E,YAA0B,IAAK;QAC/B,MAAMqH,KAAK,GAAG,IAAI,CAACjK,KAAK,CAACiJ,SAAS;QAClCrG,YAAY,CAACsH,SAAS,CACpB,IAAI,CAACzH,mBAAmB,cACtBvF,KAAA,CAAAwH,aAAA,CAAClH,UAAU;UAACoH,KAAK,EAAG3D,UAAU,GAAE,CAAC;YAACxB,KAAK,EAAG,IAAI,CAACO,KAAK,CAACC;UAAW,CAAC,EAAC,IAAI,CAAC0C,MAAM,CAAC4G,QAAQ,CAAC,GAAC;YAAC9J,KAAK,EAAE,MAAM;YAAE0K,SAAS,EAAEhN,UAAU,CAAC0C,GAAG,CAAC,QAAQ,CAAC,CAACH,MAAM,GAAG,EAAE,IAAIrC,SAAS,CAACqD,aAAa,IAAI,CAAC;UAAC,CAAE;UAC1L0J,qBAAqB,EAAE,IAAI,CAACzH,MAAM,CAAC0H;QAAgB,GAChDtL,KAAK,CAACyD,WAAW,gBAChBtF,KAAA,CAAAwH,aAAA,CAACnH,IAAI;UAAC+M,GAAG,EAAEvL,KAAK,CAACoD,IAAI,GAAG,cAAe;UAACyC,KAAK,EAAE,IAAI,CAACjC,MAAM,CAAC6D;QAAgB,GACxE,IAAI,CAACmB,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CACrC,CAAC,GACL,IAAI,EACLsC,KAAK,IAAIA,KAAK,CAACM,GAAG,CAAC,CAACpD,IAAS,EAAES,KAAa,kBAC3C1K,KAAA,CAAAwH,aAAA,CAACnH,IAAI;UAAC+M,GAAG,EAAEnD,IAAI,CAACmD;QAAI,GACjB,IAAI,CAAC3C,gBAAgB,CAACR,IAAI,EAAES,KAAK,EAAE,KAAK,EAAEA,KAAK,KAAKqC,KAAK,CAACf,MAAM,GAAG,CAAC,CACjE,CACP,CACO,CAAC,EACbjI,UAAU,GAAC0B,MAAM,GAAC,IAAI,CAACA,MAAM,EAC7BC,YACF,CACF,CAAC;QACD,OAAO,IAAI;MACb,CACa,CAAC,GACd,IACA,CAAC;IAET,CAC8B,CAAC;EAErC;AACF","ignoreList":[]}
|
|
@@ -67,10 +67,11 @@ export default class WmSwitch extends BaseDatasetComponent {
|
|
|
67
67
|
onTap: this.state.props.disabled ? undefined : this.onTap.bind(this, null, item),
|
|
68
68
|
styles: [this.styles.button, this.styles[btnClass], isSelected ? this.styles.selectedButton : null],
|
|
69
69
|
key: item.key
|
|
70
|
-
}), this.state.props.iconclass ? /*#__PURE__*/React.createElement(WmIcon, {
|
|
70
|
+
}), this.state.props.iconclass || this.state.props.iconurl ? /*#__PURE__*/React.createElement(WmIcon, {
|
|
71
71
|
id: this.getTestId('icon' + index),
|
|
72
72
|
styles: isSelected ? this.styles.selectedLoadingIcon : this.styles.loadingIcon,
|
|
73
73
|
iconclass: item.icon,
|
|
74
|
+
iconurl: item.iconUrl,
|
|
74
75
|
caption: displayText,
|
|
75
76
|
accessible: false
|
|
76
77
|
}) : /*#__PURE__*/React.createElement(View, null, this._showSkeleton ? createSkeleton(this.theme, {}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Text","View","isEqual","find","WmSwitchProps","DEFAULT_CLASS","WmIcon","BaseDatasetComponent","BaseDatasetState","Tappable","AccessibilityWidgetType","getAccessibilityProps","createSkeleton","WmSwitchState","WmSwitch","constructor","props","onChange","value","oldVal","state","datavalue","validate","datafield","selectedItem","dataItems","item","key","dataObject","updateState","isDefault","invokeEvent","invokeEventCallback","undefined","proxy","onTap","event","getItemKey","renderChild","index","btnClass","length","displayText","displayexp","displayfield","isSelected","accessibilityProps","accessibilityRole","accessibilityState","selected","createElement","_extends","disableTouchEffect","disabletoucheffect","getTestPropsForAction","disabled","bind","styles","button","selectedButton","iconclass","id","getTestId","selectedLoadingIcon","loadingIcon","icon","caption","accessible","_showSkeleton","theme","text","textSkeleton","root","getTestPropsForLabel","style","selectedButtonText","color","renderItems","items","map","renderWidget","onLayout","handleLayout","SWITCH"],"sources":["switch.component.tsx"],"sourcesContent":["import React, { useRef } from 'react';\nimport {DimensionValue, LayoutChangeEvent, Text, View} from \"react-native\";\nimport { isEqual, find } from 'lodash';\n\nimport WmSwitchProps from './switch.props';\nimport { DEFAULT_CLASS, WmSwitchStyles } from './switch.styles';\nimport WmIcon from '@wavemaker-ai/app-rn-runtime/components/basic/icon/icon.component';\nimport { BaseDatasetComponent, BaseDatasetState } from '../basedataset/basedataset.component';\nimport { Tappable } from '@wavemaker-ai/app-rn-runtime/core/tappable.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker-ai/app-rn-runtime/core/accessibility';\nimport { createSkeleton } from '@wavemaker-ai/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport class WmSwitchState extends BaseDatasetState<WmSwitchProps> {}\n\nexport default class WmSwitch extends BaseDatasetComponent<WmSwitchProps, WmSwitchState, WmSwitchStyles> {\n constructor(props: WmSwitchProps) {\n super(props, DEFAULT_CLASS, new WmSwitchProps());\n }\n\n onChange(value: any) {\n if (!value) {\n return;\n }\n const oldVal = this.state.props.datavalue;\n this.validate(value);\n if (value === oldVal) {\n return;\n }\n if (this.state.props.datafield === 'All Fields') {\n const selectedItem = find(this.state.dataItems, (item) => isEqual(item.key, value));\n value = selectedItem && selectedItem.dataObject;\n }\n // @ts-ignore\n this.updateState({props: {datavalue: value}, isDefault: false},\n () => {\n if (!this.props.invokeEvent) {\n this.invokeEventCallback('onChange', [undefined, this.proxy, value, oldVal]);\n }\n });\n }\n\n onTap(event: any, item: any) {\n const value = this.state.props.datafield === 'All Fields' ? this.getItemKey(item.datafield) : item.datafield;\n this.onChange(value);\n this.invokeEventCallback('onTap', [ event, this.proxy ]);\n }\n renderChild(item: any, index: any) {\n let btnClass = 'button';\n const props = this.state.props;\n if(index === 0) {\n btnClass = 'firstButton';\n } else if (index+1 === this.state.dataItems.length) {\n btnClass = 'lastButton';\n }\n const displayText = item.displayexp || item.displayfield;\n const isSelected = this.state.props.datafield === 'All Fields' ? isEqual(props.datavalue, item.datafield) : this.state.props.datavalue === item.datafield;\n const accessibilityProps = {\n accessibilityRole: 'button',\n accessibilityState: {\n selected: isSelected,\n }};\n return (\n <Tappable\n disableTouchEffect={this.state.props.disabletoucheffect}\n {...this.getTestPropsForAction('button'+index)}\n accessibilityProps={accessibilityProps}\n onTap={this.state.props.disabled ? undefined : this.onTap.bind(this, null, item)}\n styles={[\n this.styles.button,\n this.styles[btnClass],\n isSelected ? this.styles.selectedButton : null]}\n key={item.key}>\n {this.state.props.iconclass ?\n (<WmIcon\n id={this.getTestId('icon' + index)}\n styles={isSelected ? this.styles.selectedLoadingIcon : this.styles.loadingIcon}\n iconclass={item.icon}\n caption={displayText}\n accessible={false}></WmIcon>)\n : (<View>\n {\n this._showSkeleton ? createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.text,\n ...this.styles.textSkeleton.root\n }) : <Text\n {...this.getTestPropsForLabel('label' + index)}\n style={[ isSelected ? this.styles.selectedButtonText : this.styles.text,\n {color: isSelected ? this.styles.selectedButton.color : this.styles.button.color }]}>\n {displayText}\n </Text>\n }\n </View>)}\n </Tappable>\n );\n };\n\n renderItems() {\n const items = this.state.dataItems;\n if(this._showSkeleton) {\n return [{}, {}, {}].map((item: any, index: any) => this.renderChild(item, index))\n }\n return items && items.length ?\n items.map((item: any, index: any) => this.renderChild(item, index)): null\n }\n\n renderWidget(props: WmSwitchProps) {\n return (<View style={this.styles.root} onLayout={(event) => this.handleLayout(event)} {...getAccessibilityProps(AccessibilityWidgetType.SWITCH, props)}>\n {this.renderItems()}\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","Text","View","isEqual","find","WmSwitchProps","DEFAULT_CLASS","WmIcon","BaseDatasetComponent","BaseDatasetState","Tappable","AccessibilityWidgetType","getAccessibilityProps","createSkeleton","WmSwitchState","WmSwitch","constructor","props","onChange","value","oldVal","state","datavalue","validate","datafield","selectedItem","dataItems","item","key","dataObject","updateState","isDefault","invokeEvent","invokeEventCallback","undefined","proxy","onTap","event","getItemKey","renderChild","index","btnClass","length","displayText","displayexp","displayfield","isSelected","accessibilityProps","accessibilityRole","accessibilityState","selected","createElement","_extends","disableTouchEffect","disabletoucheffect","getTestPropsForAction","disabled","bind","styles","button","selectedButton","iconclass","iconurl","id","getTestId","selectedLoadingIcon","loadingIcon","icon","iconUrl","caption","accessible","_showSkeleton","theme","text","textSkeleton","root","getTestPropsForLabel","style","selectedButtonText","color","renderItems","items","map","renderWidget","onLayout","handleLayout","SWITCH"],"sources":["switch.component.tsx"],"sourcesContent":["import React, { useRef } from 'react';\nimport {DimensionValue, LayoutChangeEvent, Text, View} from \"react-native\";\nimport { isEqual, find } from 'lodash';\n\nimport WmSwitchProps from './switch.props';\nimport { DEFAULT_CLASS, WmSwitchStyles } from './switch.styles';\nimport WmIcon from '@wavemaker-ai/app-rn-runtime/components/basic/icon/icon.component';\nimport { BaseDatasetComponent, BaseDatasetState } from '../basedataset/basedataset.component';\nimport { Tappable } from '@wavemaker-ai/app-rn-runtime/core/tappable.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker-ai/app-rn-runtime/core/accessibility';\nimport { createSkeleton } from '@wavemaker-ai/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport class WmSwitchState extends BaseDatasetState<WmSwitchProps> {}\n\nexport default class WmSwitch extends BaseDatasetComponent<WmSwitchProps, WmSwitchState, WmSwitchStyles> {\n constructor(props: WmSwitchProps) {\n super(props, DEFAULT_CLASS, new WmSwitchProps());\n }\n\n onChange(value: any) {\n if (!value) {\n return;\n }\n const oldVal = this.state.props.datavalue;\n this.validate(value);\n if (value === oldVal) {\n return;\n }\n if (this.state.props.datafield === 'All Fields') {\n const selectedItem = find(this.state.dataItems, (item) => isEqual(item.key, value));\n value = selectedItem && selectedItem.dataObject;\n }\n // @ts-ignore\n this.updateState({props: {datavalue: value}, isDefault: false},\n () => {\n if (!this.props.invokeEvent) {\n this.invokeEventCallback('onChange', [undefined, this.proxy, value, oldVal]);\n }\n });\n }\n\n onTap(event: any, item: any) {\n const value = this.state.props.datafield === 'All Fields' ? this.getItemKey(item.datafield) : item.datafield;\n this.onChange(value);\n this.invokeEventCallback('onTap', [ event, this.proxy ]);\n }\n renderChild(item: any, index: any) {\n let btnClass = 'button';\n const props = this.state.props;\n if(index === 0) {\n btnClass = 'firstButton';\n } else if (index+1 === this.state.dataItems.length) {\n btnClass = 'lastButton';\n }\n const displayText = item.displayexp || item.displayfield;\n const isSelected = this.state.props.datafield === 'All Fields' ? isEqual(props.datavalue, item.datafield) : this.state.props.datavalue === item.datafield;\n const accessibilityProps = {\n accessibilityRole: 'button',\n accessibilityState: {\n selected: isSelected,\n }};\n return (\n <Tappable\n disableTouchEffect={this.state.props.disabletoucheffect}\n {...this.getTestPropsForAction('button'+index)}\n accessibilityProps={accessibilityProps}\n onTap={this.state.props.disabled ? undefined : this.onTap.bind(this, null, item)}\n styles={[\n this.styles.button,\n this.styles[btnClass],\n isSelected ? this.styles.selectedButton : null]}\n key={item.key}>\n {(this.state.props.iconclass || this.state.props.iconurl) ?\n (<WmIcon\n id={this.getTestId('icon' + index)}\n styles={isSelected ? this.styles.selectedLoadingIcon : this.styles.loadingIcon}\n iconclass={item.icon}\n iconurl={item.iconUrl}\n caption={displayText}\n accessible={false}></WmIcon>)\n : (<View>\n {\n this._showSkeleton ? createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.text,\n ...this.styles.textSkeleton.root\n }) : <Text\n {...this.getTestPropsForLabel('label' + index)}\n style={[ isSelected ? this.styles.selectedButtonText : this.styles.text,\n {color: isSelected ? this.styles.selectedButton.color : this.styles.button.color }]}>\n {displayText}\n </Text>\n }\n </View>)}\n </Tappable>\n );\n };\n\n renderItems() {\n const items = this.state.dataItems;\n if(this._showSkeleton) {\n return [{}, {}, {}].map((item: any, index: any) => this.renderChild(item, index))\n }\n return items && items.length ?\n items.map((item: any, index: any) => this.renderChild(item, index)): null\n }\n\n renderWidget(props: WmSwitchProps) {\n return (<View style={this.styles.root} onLayout={(event) => this.handleLayout(event)} {...getAccessibilityProps(AccessibilityWidgetType.SWITCH, props)}>\n {this.renderItems()}\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -63,14 +63,31 @@ export default class WmText extends BaseInputComponent {
|
|
|
63
63
|
const foundationStyle = this.theme.getStyle('app-input');
|
|
64
64
|
const classname = this.state.props.classname ? this.state.props.classname.split(" ").pop() : '';
|
|
65
65
|
opts[valueExpr] = ((_this$state$textValue = this.state.textValue) === null || _this$state$textValue === void 0 ? void 0 : _this$state$textValue.toString()) || '';
|
|
66
|
-
const hasLeading = !!props.leadingiconclass;
|
|
67
|
-
const hasTrailing = !!props.trailingiconclass;
|
|
66
|
+
const hasLeading = !!(props.leadingiconclass || props.leadingiconurl);
|
|
67
|
+
const hasTrailing = !!(props.trailingiconclass || props.trailingiconurl);
|
|
68
68
|
const mergedRoot = this.theme.mergeStyle(this.styles.root, foundationStyle === null || foundationStyle === void 0 ? void 0 : foundationStyle.root, Platform.OS === 'web' ? this.styles.inputWeb : null);
|
|
69
69
|
const basePadding = (_ref = (_mergedRoot$padding = mergedRoot === null || mergedRoot === void 0 ? void 0 : mergedRoot.padding) !== null && _mergedRoot$padding !== void 0 ? _mergedRoot$padding : mergedRoot === null || mergedRoot === void 0 ? void 0 : mergedRoot.paddingLeft) !== null && _ref !== void 0 ? _ref : 16;
|
|
70
70
|
const hassupportingtext = !!props.hint;
|
|
71
71
|
const inputHeight = (_mergedRoot$height = mergedRoot.height) !== null && _mergedRoot$height !== void 0 ? _mergedRoot$height : mergedRoot.minHeight;
|
|
72
|
+
// inputContainer is the actual outermost element in the flex chain (this.styles.root
|
|
73
|
+
// is applied to the inner WMTextInput instead) — without forwarding these, a
|
|
74
|
+
// fill/hug-resolved or form-field-shared flexGrow/alignSelf never reaches anything
|
|
75
|
+
// that can actually grow/stretch within the parent layout.
|
|
76
|
+
const {
|
|
77
|
+
flexGrow,
|
|
78
|
+
flexShrink,
|
|
79
|
+
flexBasis,
|
|
80
|
+
minHeight,
|
|
81
|
+
alignSelf
|
|
82
|
+
} = this.styles.root || {};
|
|
72
83
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(View, {
|
|
73
|
-
style: this.styles.inputContainer
|
|
84
|
+
style: [this.styles.inputContainer, {
|
|
85
|
+
flexGrow,
|
|
86
|
+
flexShrink,
|
|
87
|
+
flexBasis,
|
|
88
|
+
minHeight,
|
|
89
|
+
alignSelf
|
|
90
|
+
}]
|
|
74
91
|
}, /*#__PURE__*/React.createElement(WMTextInput, _extends({}, this.getTestPropsForInput(), getAccessibilityProps(AccessibilityWidgetType.TEXT, props), {
|
|
75
92
|
ref: ref => {
|
|
76
93
|
this.widgetRef = ref;
|
|
@@ -112,7 +129,8 @@ export default class WmText extends BaseInputComponent {
|
|
|
112
129
|
allowContentSelection: this.styles.text.userSelect === 'text',
|
|
113
130
|
autoCapitalize: props.autocapitalize,
|
|
114
131
|
handleLayout: this.handleLayout,
|
|
115
|
-
leadingiconclass: props.leadingiconclass
|
|
132
|
+
leadingiconclass: props.leadingiconclass,
|
|
133
|
+
leadingiconurl: props.leadingiconurl
|
|
116
134
|
})), hasLeading && /*#__PURE__*/React.createElement(View, {
|
|
117
135
|
style: [this.styles.iconWrapper, {
|
|
118
136
|
left: basePadding
|
|
@@ -122,6 +140,7 @@ export default class WmText extends BaseInputComponent {
|
|
|
122
140
|
id: this.getTestId('leading-icon'),
|
|
123
141
|
name: `${props.name}_leading_icon`,
|
|
124
142
|
iconclass: props.leadingiconclass,
|
|
143
|
+
iconurl: props.leadingiconurl,
|
|
125
144
|
styles: this.styles.leadingIcon,
|
|
126
145
|
accessible: true,
|
|
127
146
|
onTap: this.leadingIconClick.bind(this)
|
|
@@ -134,6 +153,7 @@ export default class WmText extends BaseInputComponent {
|
|
|
134
153
|
id: this.getTestId('trailing-icon'),
|
|
135
154
|
name: `${props.name}_trailing_icon`,
|
|
136
155
|
iconclass: props.trailingiconclass,
|
|
156
|
+
iconurl: props.trailingiconurl,
|
|
137
157
|
styles: this.styles.trailingIcon,
|
|
138
158
|
accessible: true,
|
|
139
159
|
onTap: this.trailingIconClick.bind(this)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Platform","View","Text","WmTextProps","DEFAULT_CLASS","WMTextInput","BaseInputComponent","BaseInputState","isNull","AccessibilityWidgetType","getAccessibilityProps","createSkeleton","WmIcon","WmTextState","WmText","constructor","props","getStyleClassName","classes","state","floatinglabel","push","join","onChangeText","text","uppercase","s","String","toUpperCase","renderSkeleton","skeletonWidth","skeletonHeight","skeletonwidth","_this$styles$root","styles","root","width","skeletonheight","_this$styles$root2","height","theme","skeleton","leadingIconClick","invokeEventCallback","proxy","trailingIconClick","renderWidget","_this$state$textValue","_ref","_mergedRoot$padding","_mergedRoot$height","_this$theme$getStyle","_this$theme$getStyle2","_props$maxchars","opts","valueExpr","OS","foundationStyle","getStyle","classname","split","pop","textValue","toString","hasLeading","leadingiconclass","hasTrailing","trailingiconclass","mergedRoot","mergeStyle","inputWeb","basePadding","padding","paddingLeft","hassupportingtext","hint","inputHeight","minHeight","createElement","Fragment","style","inputContainer","_extends","getTestPropsForInput","TEXT","ref","widgetRef","selectionStart","selectionEnd","cursor","floatingLabel","inputheight","undefined","floatingLabelStyle","activeFloatingLabelStyle","activeFloatingLabel","focused","variant","labelBackground","backgroundColor","inactiveFloatingLabelStyle","inactiveFloatingLabel","placeholderTextColor","placeholderText","color","isInputFocused","isValid","invalid","disabled","inputWithLeadingIcon","inputWithTrailingIcon","keyboardType","autoComplete","autocomplete","autoFocus","autofocus","editable","readonly","secureTextEntry","type","maskchar","displayformat","background","_background","maxLength","maxchars","placeholder","onBlur","bind","onFocus","onKeyPress","onChange","invokeChange","allowContentSelection","userSelect","autoCapitalize","autocapitalize","handleLayout","iconWrapper","left","pointerEvents","id","getTestId","name","iconclass","leadingIcon","accessible","onTap","right","trailingIcon"],"sources":["text.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Platform, View, Text } from 'react-native';\n\nimport WmTextProps from './text.props';\nimport { DEFAULT_CLASS, WmTextStyles } from './text.styles';\nimport { WMTextInput } from '@wavemaker-ai/app-rn-runtime/core/components/textinput.component';\nimport { BaseInputComponent, BaseInputState } from \"@wavemaker-ai/app-rn-runtime/components/input/baseinput/baseinput.component\";\nimport { isNull } from 'lodash';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker-ai/app-rn-runtime/core/accessibility';\nimport { createSkeleton } from '@wavemaker-ai/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport WmIcon from '@wavemaker-ai/app-rn-runtime/components/basic/icon/icon.component';\n\nexport class WmTextState extends BaseInputState<WmTextProps> {\n}\n\nexport default class WmText extends BaseInputComponent<WmTextProps, WmTextState, WmTextStyles> {\n\n constructor(props: WmTextProps) {\n super(props, DEFAULT_CLASS, new WmTextProps(), new WmTextState());\n }\n\n public getStyleClassName(): string | undefined {\n const classes = [];\n if (this.state.props.floatinglabel) {\n classes.push('app-text-with-label');\n }\n classes.push(super.getStyleClassName());\n return classes.join(' ');\n }\n\n public onChangeText(text: any) {\n if (!this.props.uppercase) {\n super.onChangeText(text);\n return;\n }\n const s = text == null ? '' : String(text);\n super.onChangeText(s ? s.toUpperCase() : s);\n }\n\n public renderSkeleton(props: WmTextProps): React.ReactNode { \n let skeletonWidth, skeletonHeight;\n\n if(this.props.skeletonwidth == \"0\") {\n skeletonWidth = 0\n } else {\n skeletonWidth = this.props.skeletonwidth || this.styles.root?.width\n }\n\n if(this.props.skeletonheight == \"0\") {\n skeletonHeight = 0\n } else {\n skeletonHeight = this.props.skeletonheight || this.styles.root?.height;\n }\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 private leadingIconClick() {\n this.invokeEventCallback('onLeadingiconclick', [this.proxy]);\n }\n\n private trailingIconClick() {\n this.invokeEventCallback('onTrailingiconclick', [this.proxy]);\n }\n\n renderWidget(props: WmTextProps) {\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n const foundationStyle = this.theme.getStyle('app-input');\n const classname = this.state.props.classname ? this.state.props.classname.split(\" \").pop() : '';\n opts[valueExpr] = this.state.textValue?.toString() || '';\n\n const hasLeading = !!props.leadingiconclass;\n const hasTrailing = !!props.trailingiconclass;\n\n const mergedRoot = this.theme.mergeStyle(this.styles.root, foundationStyle?.root, Platform.OS === 'web' ? this.styles.inputWeb : null);\n const basePadding = mergedRoot?.padding ?? mergedRoot?.paddingLeft ?? 16;\n const hassupportingtext = !!(props.hint);\n const inputHeight = mergedRoot.height ?? mergedRoot.minHeight;\n\n return (\n <>\n <View style={this.styles.inputContainer}>\n <WMTextInput\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(\n AccessibilityWidgetType.TEXT,\n props\n )}\n ref={(ref: any) => {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 {...opts}\n floatingLabel={props.floatinglabel}\n inputheight={typeof inputHeight === 'number' ? inputHeight : undefined}\n floatingLabelStyle={{\n ...this.styles.floatingLabel}}\n activeFloatingLabelStyle={this.theme.mergeStyle(this.styles.activeFloatingLabel,\n this.theme.getStyle('app-text-with-label')?.activeFloatingLabel,\n this.theme.getStyle(`${classname}`)?.focused) \n }\n variant={props.variant as 'filled' | 'outlined' | undefined}\n labelBackground={props.variant != 'filled' ? (mergedRoot?.backgroundColor as string) : undefined}\n inactiveFloatingLabelStyle={this.styles.inactiveFloatingLabel}\n placeholderTextColor={this.styles.placeholderText.color as any}\n isInputFocused={ this.state.isInputFocused }\n style={[this.theme.mergeStyle(this.styles.root, foundationStyle?.root),\n this.theme.mergeStyle(this.styles.text, foundationStyle?.text, this.theme.getStyle(`${classname}`)),\n this.state.isValid ? {} : this.theme.mergeStyle(this.styles.invalid, foundationStyle?.invalid),\n this.state.isInputFocused ? this.theme.mergeStyle(this.styles.root, this.styles.focused, foundationStyle?.focused, this.theme.getStyle(`${classname}`).focused) : {},\n this.state.props.disabled ? this.theme.mergeStyle(this.styles.root, foundationStyle?.disabled, this.theme.getStyle(`${classname}`).disabled) : {},\n hasLeading ? this.styles.inputWithLeadingIcon : {},\n hasTrailing ? this.styles.inputWithTrailingIcon : {},\n Platform.OS === 'web' ? this.styles.inputWeb : null //added to override the bordercolor getting applied only in web.\n ]}\n keyboardType={this.state.keyboardType}\n autoComplete={props.autocomplete === \"true\" ? \"username\" : props.autocomplete === \"false\" ? \"off\" : props.autocomplete}\n autoFocus={props.autofocus}\n editable={props.disabled || props.readonly ? false : true}\n secureTextEntry={props.type === 'password' && !props.maskchar ? true : false}\n displayformat={props.displayformat}\n background={this._background}\n maskchar={props.maskchar}\n maxLength={props.maxchars ?? undefined} \n placeholder={props.placeholder}\n onBlur={this.onBlur.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onKeyPress={this.onKeyPress.bind(this)}\n onChangeText={this.onChangeText.bind(this)}\n onChange={this.invokeChange.bind(this)}\n allowContentSelection={this.styles.text.userSelect === 'text'}\n autoCapitalize={props.autocapitalize}\n handleLayout={this.handleLayout}\n leadingiconclass={props.leadingiconclass}\n />\n {hasLeading && (\n <View\n style={[this.styles.iconWrapper, { left: basePadding as any }]}\n pointerEvents=\"none\"\n >\n <WmIcon\n id={this.getTestId('leading-icon')}\n name={`${props.name}_leading_icon`}\n iconclass={props.leadingiconclass}\n styles={this.styles.leadingIcon}\n accessible={true}\n onTap={this.leadingIconClick.bind(this)}\n />\n </View>\n )}\n {hasTrailing && (\n <View\n style={this.theme.mergeStyle(this.styles.iconWrapper, { right: basePadding as any })}\n pointerEvents=\"none\"\n >\n <WmIcon\n id={this.getTestId('trailing-icon')}\n name={`${props.name}_trailing_icon`}\n iconclass={props.trailingiconclass}\n styles={this.styles.trailingIcon}\n accessible={true}\n onTap={this.trailingIconClick.bind(this)}\n />\n </View>\n )}\n </View>\n {hassupportingtext && (\n <Text>\n {props.hint}\n </Text>\n )\n }\n </>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","Platform","View","Text","WmTextProps","DEFAULT_CLASS","WMTextInput","BaseInputComponent","BaseInputState","isNull","AccessibilityWidgetType","getAccessibilityProps","createSkeleton","WmIcon","WmTextState","WmText","constructor","props","getStyleClassName","classes","state","floatinglabel","push","join","onChangeText","text","uppercase","s","String","toUpperCase","renderSkeleton","skeletonWidth","skeletonHeight","skeletonwidth","_this$styles$root","styles","root","width","skeletonheight","_this$styles$root2","height","theme","skeleton","leadingIconClick","invokeEventCallback","proxy","trailingIconClick","renderWidget","_this$state$textValue","_ref","_mergedRoot$padding","_mergedRoot$height","_this$theme$getStyle","_this$theme$getStyle2","_props$maxchars","opts","valueExpr","OS","foundationStyle","getStyle","classname","split","pop","textValue","toString","hasLeading","leadingiconclass","leadingiconurl","hasTrailing","trailingiconclass","trailingiconurl","mergedRoot","mergeStyle","inputWeb","basePadding","padding","paddingLeft","hassupportingtext","hint","inputHeight","minHeight","flexGrow","flexShrink","flexBasis","alignSelf","createElement","Fragment","style","inputContainer","_extends","getTestPropsForInput","TEXT","ref","widgetRef","selectionStart","selectionEnd","cursor","floatingLabel","inputheight","undefined","floatingLabelStyle","activeFloatingLabelStyle","activeFloatingLabel","focused","variant","labelBackground","backgroundColor","inactiveFloatingLabelStyle","inactiveFloatingLabel","placeholderTextColor","placeholderText","color","isInputFocused","isValid","invalid","disabled","inputWithLeadingIcon","inputWithTrailingIcon","keyboardType","autoComplete","autocomplete","autoFocus","autofocus","editable","readonly","secureTextEntry","type","maskchar","displayformat","background","_background","maxLength","maxchars","placeholder","onBlur","bind","onFocus","onKeyPress","onChange","invokeChange","allowContentSelection","userSelect","autoCapitalize","autocapitalize","handleLayout","iconWrapper","left","pointerEvents","id","getTestId","name","iconclass","iconurl","leadingIcon","accessible","onTap","right","trailingIcon"],"sources":["text.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Platform, View, Text } from 'react-native';\n\nimport WmTextProps from './text.props';\nimport { DEFAULT_CLASS, WmTextStyles } from './text.styles';\nimport { WMTextInput } from '@wavemaker-ai/app-rn-runtime/core/components/textinput.component';\nimport { BaseInputComponent, BaseInputState } from \"@wavemaker-ai/app-rn-runtime/components/input/baseinput/baseinput.component\";\nimport { isNull } from 'lodash';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker-ai/app-rn-runtime/core/accessibility';\nimport { createSkeleton } from '@wavemaker-ai/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport WmIcon from '@wavemaker-ai/app-rn-runtime/components/basic/icon/icon.component';\n\nexport class WmTextState extends BaseInputState<WmTextProps> {\n}\n\nexport default class WmText extends BaseInputComponent<WmTextProps, WmTextState, WmTextStyles> {\n\n constructor(props: WmTextProps) {\n super(props, DEFAULT_CLASS, new WmTextProps(), new WmTextState());\n }\n\n public getStyleClassName(): string | undefined {\n const classes = [];\n if (this.state.props.floatinglabel) {\n classes.push('app-text-with-label');\n }\n classes.push(super.getStyleClassName());\n return classes.join(' ');\n }\n\n public onChangeText(text: any) {\n if (!this.props.uppercase) {\n super.onChangeText(text);\n return;\n }\n const s = text == null ? '' : String(text);\n super.onChangeText(s ? s.toUpperCase() : s);\n }\n\n public renderSkeleton(props: WmTextProps): React.ReactNode { \n let skeletonWidth, skeletonHeight;\n\n if(this.props.skeletonwidth == \"0\") {\n skeletonWidth = 0\n } else {\n skeletonWidth = this.props.skeletonwidth || this.styles.root?.width\n }\n\n if(this.props.skeletonheight == \"0\") {\n skeletonHeight = 0\n } else {\n skeletonHeight = this.props.skeletonheight || this.styles.root?.height;\n }\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 private leadingIconClick() {\n this.invokeEventCallback('onLeadingiconclick', [this.proxy]);\n }\n\n private trailingIconClick() {\n this.invokeEventCallback('onTrailingiconclick', [this.proxy]);\n }\n\n renderWidget(props: WmTextProps) {\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n const foundationStyle = this.theme.getStyle('app-input');\n const classname = this.state.props.classname ? this.state.props.classname.split(\" \").pop() : '';\n opts[valueExpr] = this.state.textValue?.toString() || '';\n\n const hasLeading = !!(props.leadingiconclass || props.leadingiconurl);\n const hasTrailing = !!(props.trailingiconclass || props.trailingiconurl);\n\n const mergedRoot = this.theme.mergeStyle(this.styles.root, foundationStyle?.root, Platform.OS === 'web' ? this.styles.inputWeb : null);\n const basePadding = mergedRoot?.padding ?? mergedRoot?.paddingLeft ?? 16;\n const hassupportingtext = !!(props.hint);\n const inputHeight = mergedRoot.height ?? mergedRoot.minHeight;\n // inputContainer is the actual outermost element in the flex chain (this.styles.root\n // is applied to the inner WMTextInput instead) — without forwarding these, a\n // fill/hug-resolved or form-field-shared flexGrow/alignSelf never reaches anything\n // that can actually grow/stretch within the parent layout.\n const { flexGrow, flexShrink, flexBasis, minHeight, alignSelf } = this.styles.root || {};\n\n return (\n <>\n <View style={[this.styles.inputContainer, { flexGrow, flexShrink, flexBasis, minHeight, alignSelf }]}>\n <WMTextInput\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(\n AccessibilityWidgetType.TEXT,\n props\n )}\n ref={(ref: any) => {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 {...opts}\n floatingLabel={props.floatinglabel}\n inputheight={typeof inputHeight === 'number' ? inputHeight : undefined}\n floatingLabelStyle={{\n ...this.styles.floatingLabel}}\n activeFloatingLabelStyle={this.theme.mergeStyle(this.styles.activeFloatingLabel,\n this.theme.getStyle('app-text-with-label')?.activeFloatingLabel,\n this.theme.getStyle(`${classname}`)?.focused) \n }\n variant={props.variant as 'filled' | 'outlined' | undefined}\n labelBackground={props.variant != 'filled' ? (mergedRoot?.backgroundColor as string) : undefined}\n inactiveFloatingLabelStyle={this.styles.inactiveFloatingLabel}\n placeholderTextColor={this.styles.placeholderText.color as any}\n isInputFocused={ this.state.isInputFocused }\n style={[this.theme.mergeStyle(this.styles.root, foundationStyle?.root),\n this.theme.mergeStyle(this.styles.text, foundationStyle?.text, this.theme.getStyle(`${classname}`)),\n this.state.isValid ? {} : this.theme.mergeStyle(this.styles.invalid, foundationStyle?.invalid),\n this.state.isInputFocused ? this.theme.mergeStyle(this.styles.root, this.styles.focused, foundationStyle?.focused, this.theme.getStyle(`${classname}`).focused) : {},\n this.state.props.disabled ? this.theme.mergeStyle(this.styles.root, foundationStyle?.disabled, this.theme.getStyle(`${classname}`).disabled) : {},\n hasLeading ? this.styles.inputWithLeadingIcon : {},\n hasTrailing ? this.styles.inputWithTrailingIcon : {},\n Platform.OS === 'web' ? this.styles.inputWeb : null //added to override the bordercolor getting applied only in web.\n ]}\n keyboardType={this.state.keyboardType}\n autoComplete={props.autocomplete === \"true\" ? \"username\" : props.autocomplete === \"false\" ? \"off\" : props.autocomplete}\n autoFocus={props.autofocus}\n editable={props.disabled || props.readonly ? false : true}\n secureTextEntry={props.type === 'password' && !props.maskchar ? true : false}\n displayformat={props.displayformat}\n background={this._background}\n maskchar={props.maskchar}\n maxLength={props.maxchars ?? undefined} \n placeholder={props.placeholder}\n onBlur={this.onBlur.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onKeyPress={this.onKeyPress.bind(this)}\n onChangeText={this.onChangeText.bind(this)}\n onChange={this.invokeChange.bind(this)}\n allowContentSelection={this.styles.text.userSelect === 'text'}\n autoCapitalize={props.autocapitalize}\n handleLayout={this.handleLayout}\n leadingiconclass={props.leadingiconclass}\n leadingiconurl={props.leadingiconurl}\n />\n {hasLeading && (\n <View\n style={[this.styles.iconWrapper, { left: basePadding as any }]}\n pointerEvents=\"none\"\n >\n <WmIcon\n id={this.getTestId('leading-icon')}\n name={`${props.name}_leading_icon`}\n iconclass={props.leadingiconclass}\n iconurl={props.leadingiconurl}\n styles={this.styles.leadingIcon}\n accessible={true}\n onTap={this.leadingIconClick.bind(this)}\n />\n </View>\n )}\n {hasTrailing && (\n <View\n style={this.theme.mergeStyle(this.styles.iconWrapper, { right: basePadding as any })}\n pointerEvents=\"none\"\n >\n <WmIcon\n id={this.getTestId('trailing-icon')}\n name={`${props.name}_trailing_icon`}\n iconclass={props.trailingiconclass}\n iconurl={props.trailingiconurl}\n styles={this.styles.trailingIcon}\n accessible={true}\n onTap={this.trailingIconClick.bind(this)}\n />\n </View>\n )}\n </View>\n {hassupportingtext && (\n <Text>\n {props.hint}\n </Text>\n )\n }\n </>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,6 +16,8 @@ export default class WmTextProps extends BaseInputProps {
|
|
|
16
16
|
_defineProperty(this, "variant", void 0);
|
|
17
17
|
_defineProperty(this, "leadingiconclass", void 0);
|
|
18
18
|
_defineProperty(this, "trailingiconclass", void 0);
|
|
19
|
+
_defineProperty(this, "leadingiconurl", void 0);
|
|
20
|
+
_defineProperty(this, "trailingiconurl", void 0);
|
|
19
21
|
_defineProperty(this, "moveUp", void 0);
|
|
20
22
|
}
|
|
21
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseInputProps","WmTextProps","constructor","args","_defineProperty"],"sources":["text.props.ts"],"sourcesContent":["import BaseInputProps from \"@wavemaker-ai/app-rn-runtime/components/input/baseinput/baseinput.props\";\n\nexport default class WmTextProps extends BaseInputProps {\n floatinglabel?: string;\n placeholder: string = 'Enter text';\n skeletonheight?: string = null as any;\n skeletonwidth?: string = null as any;\n autocapitalize?: string = 'none';\n uppercase?: boolean = false;\n returnkeytype: 'auto' | 'next' | 'done' = 'auto';\n onSubmitEditing: Function = () => {};\n variant?: string;\n leadingiconclass?: string;\n trailingiconclass?: string;\n moveUp?: boolean;\n}\n"],"mappings":";;;AAAA,OAAOA,cAAc,MAAM,yEAAyE;AAEpG,eAAe,MAAMC,WAAW,SAASD,cAAc,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA,sBAEhC,YAAY;IAAAA,eAAA,yBACR,IAAI;IAAAA,eAAA,wBACL,IAAI;IAAAA,eAAA,yBACH,MAAM;IAAAA,eAAA,oBACV,KAAK;IAAAA,eAAA,wBACe,MAAM;IAAAA,eAAA,0BACnB,MAAM,CAAC,CAAC;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;EAAA;
|
|
1
|
+
{"version":3,"names":["BaseInputProps","WmTextProps","constructor","args","_defineProperty"],"sources":["text.props.ts"],"sourcesContent":["import BaseInputProps from \"@wavemaker-ai/app-rn-runtime/components/input/baseinput/baseinput.props\";\n\nexport default class WmTextProps extends BaseInputProps {\n floatinglabel?: string;\n placeholder: string = 'Enter text';\n skeletonheight?: string = null as any;\n skeletonwidth?: string = null as any;\n autocapitalize?: string = 'none';\n uppercase?: boolean = false;\n returnkeytype: 'auto' | 'next' | 'done' = 'auto';\n onSubmitEditing: Function = () => {};\n variant?: string;\n leadingiconclass?: string;\n trailingiconclass?: string;\n leadingiconurl?: string;\n trailingiconurl?: string;\n moveUp?: boolean;\n}\n"],"mappings":";;;AAAA,OAAOA,cAAc,MAAM,yEAAyE;AAEpG,eAAe,MAAMC,WAAW,SAASD,cAAc,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA,sBAEhC,YAAY;IAAAA,eAAA,yBACR,IAAI;IAAAA,eAAA,wBACL,IAAI;IAAAA,eAAA,yBACH,MAAM;IAAAA,eAAA,oBACV,KAAK;IAAAA,eAAA,wBACe,MAAM;IAAAA,eAAA,0BACnB,MAAM,CAAC,CAAC;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;EAAA;AAOvC","ignoreList":[]}
|
|
@@ -43,6 +43,7 @@ export class BaseNavComponent extends BaseComponent {
|
|
|
43
43
|
key: `${name}_item${i}`,
|
|
44
44
|
label: this.getValue(d, this.state.props.itemlabel),
|
|
45
45
|
icon: this.getValue(d, this.state.props.itemicon),
|
|
46
|
+
iconUrl: this.getValue(d, this.state.props.itemiconurl),
|
|
46
47
|
link: this.getValue(d, this.state.props.itemlink),
|
|
47
48
|
badge: this.getValue(d, this.state.props.itembadge),
|
|
48
49
|
isactive: this.getValue(d, this.state.props.isactive),
|
|
@@ -62,6 +63,7 @@ export class BaseNavComponent extends BaseComponent {
|
|
|
62
63
|
break;
|
|
63
64
|
case 'itemlabel':
|
|
64
65
|
case 'itemicon':
|
|
66
|
+
case 'itemiconurl':
|
|
65
67
|
case 'itemlink':
|
|
66
68
|
case 'itemchildren':
|
|
67
69
|
this.setDataItems();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseComponent","BaseComponentState","DEFAULT_CLASS","isArray","BaseNavState","constructor","args","_defineProperty","BaseNavComponent","props","defaultClass","defaultProps","defaultState","getValue","item","val","setDataItems","dataset","state","name","dataItems","split","map","s","i","key","label","data","d","itemlabel","icon","itemicon","link","itemlink","badge","itembadge","isactive","childnavigation","itemchildren","updateState","onPropertyChange","$new","$old"],"sources":["basenav.component.ts"],"sourcesContent":["import { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { BaseNavProps } from './basenav.props';\nimport { DEFAULT_CLASS, BaseNavStyles } from './basenav.styles';\nimport { isArray } from 'lodash-es';\n\nexport interface NavigationDataItem {\n key: string;\n label: string;\n icon?: string;\n leftIcon?: string;\n link?: string;\n badge?: string;\n isactive?: string;\n data: any;\n childnavigation?: any;\n}\n\nexport class BaseNavState <T extends BaseNavProps> extends BaseComponentState<T> {\n dataItems = [] as NavigationDataItem[];\n}\n\nexport abstract class BaseNavComponent< T extends BaseNavProps, S extends BaseNavState<T>, L extends BaseNavStyles> extends BaseComponent<T, S, L> {\n\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n\n getValue(item: any, val?: string | ((item: any) => string)) {\n if (typeof val === 'string') {\n return item[val];\n } else if (typeof val === 'function') {\n return val(item);\n }\n return null;\n }\n\n setDataItems(dataset: any = this.state.props.dataset) {\n const name = this.props.name;\n let dataItems = [] as NavigationDataItem[];\n if (typeof dataset === 'string') {\n dataItems = dataset.split(',').map((s, i) => {\n return {\n key: `${name}_item${i}`,\n label: s,\n data: s\n } as NavigationDataItem;\n });\n } else if (dataset) {\n if (!isArray(dataset)) {\n dataset = [dataset];\n }\n dataItems = (dataset as any[]).map((d, i) => {\n return {\n key: `${name}_item${i}`,\n label: this.getValue(d, this.state.props.itemlabel),\n icon: this.getValue(d, this.state.props.itemicon),\n link: this.getValue(d, this.state.props.itemlink),\n badge: this.getValue(d, this.state.props.itembadge),\n isactive: this.getValue(d, this.state.props.isactive),\n data: d,\n childnavigation: this.state.props.itemchildren ? d[this.state.props.itemchildren] : null\n } as NavigationDataItem;\n });\n }\n this.updateState({dataItems: dataItems} as S);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'dataset':\n this.setDataItems($new);\n break;\n case 'itemlabel':\n case 'itemicon':\n case 'itemlink':\n case 'itemchildren':\n this.setDataItems();\n break;\n }\n }\n}\n"],"mappings":";;;AAAA,SAASA,aAAa,EAAEC,kBAAkB,QAAQ,kDAAkD;AAEpG,SAASC,aAAa,QAAuB,kBAAkB;AAC/D,SAASC,OAAO,QAAQ,WAAW;
|
|
1
|
+
{"version":3,"names":["BaseComponent","BaseComponentState","DEFAULT_CLASS","isArray","BaseNavState","constructor","args","_defineProperty","BaseNavComponent","props","defaultClass","defaultProps","defaultState","getValue","item","val","setDataItems","dataset","state","name","dataItems","split","map","s","i","key","label","data","d","itemlabel","icon","itemicon","iconUrl","itemiconurl","link","itemlink","badge","itembadge","isactive","childnavigation","itemchildren","updateState","onPropertyChange","$new","$old"],"sources":["basenav.component.ts"],"sourcesContent":["import { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { BaseNavProps } from './basenav.props';\nimport { DEFAULT_CLASS, BaseNavStyles } from './basenav.styles';\nimport { isArray } from 'lodash-es';\n\nexport interface NavigationDataItem {\n key: string;\n label: string;\n icon?: string;\n iconUrl?: string;\n leftIcon?: string;\n link?: string;\n badge?: string;\n isactive?: string;\n data: any;\n childnavigation?: any;\n}\n\nexport class BaseNavState <T extends BaseNavProps> extends BaseComponentState<T> {\n dataItems = [] as NavigationDataItem[];\n}\n\nexport abstract class BaseNavComponent< T extends BaseNavProps, S extends BaseNavState<T>, L extends BaseNavStyles> extends BaseComponent<T, S, L> {\n\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n\n getValue(item: any, val?: string | ((item: any) => string)) {\n if (typeof val === 'string') {\n return item[val];\n } else if (typeof val === 'function') {\n return val(item);\n }\n return null;\n }\n\n setDataItems(dataset: any = this.state.props.dataset) {\n const name = this.props.name;\n let dataItems = [] as NavigationDataItem[];\n if (typeof dataset === 'string') {\n dataItems = dataset.split(',').map((s, i) => {\n return {\n key: `${name}_item${i}`,\n label: s,\n data: s\n } as NavigationDataItem;\n });\n } else if (dataset) {\n if (!isArray(dataset)) {\n dataset = [dataset];\n }\n dataItems = (dataset as any[]).map((d, i) => {\n return {\n key: `${name}_item${i}`,\n label: this.getValue(d, this.state.props.itemlabel),\n icon: this.getValue(d, this.state.props.itemicon),\n iconUrl: this.getValue(d, this.state.props.itemiconurl),\n link: this.getValue(d, this.state.props.itemlink),\n badge: this.getValue(d, this.state.props.itembadge),\n isactive: this.getValue(d, this.state.props.isactive),\n data: d,\n childnavigation: this.state.props.itemchildren ? d[this.state.props.itemchildren] : null\n } as NavigationDataItem;\n });\n }\n this.updateState({dataItems: dataItems} as S);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'dataset':\n this.setDataItems($new);\n break;\n case 'itemlabel':\n case 'itemicon':\n case 'itemiconurl':\n case 'itemlink':\n case 'itemchildren':\n this.setDataItems();\n break;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,6 +9,7 @@ export class BaseNavProps extends BaseProps {
|
|
|
9
9
|
_defineProperty(this, "itemlabel", 'label');
|
|
10
10
|
_defineProperty(this, "itemlink", 'link');
|
|
11
11
|
_defineProperty(this, "itemicon", 'icon');
|
|
12
|
+
_defineProperty(this, "itemiconurl", null);
|
|
12
13
|
_defineProperty(this, "itembadge", null);
|
|
13
14
|
_defineProperty(this, "isactive", null);
|
|
14
15
|
_defineProperty(this, "itemchildren", null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseProps","BaseNavProps","constructor","args","_defineProperty","label"],"sources":["basenav.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker-ai/app-rn-runtime/core/base.component';\n\nexport class BaseNavProps extends BaseProps {\n dataset?: any = null as any;\n itemlabel?: string | ((item: any) => string) = 'label' as any;\n itemlink?: string | ((item: any) => string) = 'link' as any;\n itemicon?: string | ((item: any) => string) = 'icon' as any;\n itembadge?: string | ((item: any) => string) = null as any;\n isactive?: string | ((item: any) => string) = null as any;\n itemchildren?: string = null as any;\n getDisplayExpression? = (label: string) => null as any;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,kDAAkD;AAE5E,OAAO,MAAMC,YAAY,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,kBAC1B,IAAI;IAAAA,eAAA,oBAC2B,OAAO;IAAAA,eAAA,mBACR,MAAM;IAAAA,eAAA,mBACN,MAAM;IAAAA,eAAA,
|
|
1
|
+
{"version":3,"names":["BaseProps","BaseNavProps","constructor","args","_defineProperty","label"],"sources":["basenav.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker-ai/app-rn-runtime/core/base.component';\n\nexport class BaseNavProps extends BaseProps {\n dataset?: any = null as any;\n itemlabel?: string | ((item: any) => string) = 'label' as any;\n itemlink?: string | ((item: any) => string) = 'link' as any;\n itemicon?: string | ((item: any) => string) = 'icon' as any;\n itemiconurl?: string | ((item: any) => string) = null as any;\n itembadge?: string | ((item: any) => string) = null as any;\n isactive?: string | ((item: any) => string) = null as any;\n itemchildren?: string = null as any;\n getDisplayExpression? = (label: string) => null as any;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,kDAAkD;AAE5E,OAAO,MAAMC,YAAY,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,kBAC1B,IAAI;IAAAA,eAAA,oBAC2B,OAAO;IAAAA,eAAA,mBACR,MAAM;IAAAA,eAAA,mBACN,MAAM;IAAAA,eAAA,sBACH,IAAI;IAAAA,eAAA,oBACN,IAAI;IAAAA,eAAA,mBACL,IAAI;IAAAA,eAAA,uBAC1B,IAAI;IAAAA,eAAA,+BACHC,KAAa,IAAK,IAAW;EAAA;AACxD","ignoreList":[]}
|
|
@@ -31,6 +31,7 @@ export default class WmMenu extends BaseNavComponent {
|
|
|
31
31
|
return /*#__PURE__*/React.createElement(WmAnchor, {
|
|
32
32
|
id: this.getTestId('menuitem' + index),
|
|
33
33
|
iconclass: item.icon,
|
|
34
|
+
iconurl: item.iconUrl,
|
|
34
35
|
caption: getDisplayLabel(item.label),
|
|
35
36
|
hyperlink: item.link,
|
|
36
37
|
styles: this.styles.menuItem,
|
|
@@ -48,7 +49,9 @@ export default class WmMenu extends BaseNavComponent {
|
|
|
48
49
|
contentanimation: animationMap[props.animateitems || 'scale'],
|
|
49
50
|
caption: props.caption,
|
|
50
51
|
lefticonclass: props.lefticonclass,
|
|
52
|
+
lefticonurl: props.lefticonurl,
|
|
51
53
|
iconclass: props.iconclass,
|
|
54
|
+
iconurl: props.iconurl,
|
|
52
55
|
listener: this.listener,
|
|
53
56
|
popoverheight: this.styles.menu.height || null,
|
|
54
57
|
popoverwidth: this.styles.menu.width || null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","WmAnchor","BaseNavComponent","BaseNavState","WmPopover","WmMenuProps","DEFAULT_CLASS","WmMenuState","animationMap","slide","fade","scale","WmMenu","constructor","props","_defineProperty","onComponentInit","c","popOverRef","renderMenuItem","item","index","getDisplayLabel","getDisplayExpression","label","createElement","id","getTestId","iconclass","icon","caption","hyperlink","link","styles","menuItem","onTap","invokeEventCallback","hide","renderWidget","menuItems","state","dataItems","contentanimation","animateitems","lefticonclass","listener","popoverheight","menu","height","popoverwidth","width","iconposition","type","style","map","key"],"sources":["menu.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\n\nimport WmAnchor from '@wavemaker-ai/app-rn-runtime/components/basic/anchor/anchor.component';\nimport { LifecycleListener } from '@wavemaker-ai/app-rn-runtime/core/base.component';\n\nimport { BaseNavComponent, BaseNavState, NavigationDataItem } from '../basenav/basenav.component';\nimport WmPopover from '../popover/popover.component';\nimport WmMenuProps from './menu.props';\nimport { DEFAULT_CLASS, WmMenuStyles } from './menu.styles';\n\nexport class WmMenuState <T extends WmMenuProps> extends BaseNavState<T> {}\n\nconst animationMap: any = {\n slide: 'slideInDown',\n fade: 'fadeIn',\n scale: 'zoomIn'\n};\n\nexport default class WmMenu extends BaseNavComponent<WmMenuProps, WmMenuState<WmMenuProps>, WmMenuStyles> {\n\n private popOverRef: WmPopover = null as any;\n\n private listener: LifecycleListener = {\n onComponentInit: (c) => {\n if (c instanceof WmPopover) {\n this.popOverRef = c;\n }\n }\n };\n\n constructor(props: WmMenuProps) {\n super(props, DEFAULT_CLASS, new WmMenuProps(), new WmMenuState());\n }\n\n renderMenuItem(item: NavigationDataItem, index: number) {\n const getDisplayLabel = this.props.getDisplayExpression || ((label: string) => label);\n return (\n <WmAnchor\n id={this.getTestId('menuitem' + index)}\n iconclass={item.icon as string}\n caption={getDisplayLabel(item.label)}\n hyperlink={item.link}\n styles={this.styles.menuItem}\n onTap={() => {\n this.invokeEventCallback('onSelect', [null, this, item]);\n this.popOverRef.hide();\n }}></WmAnchor>\n );\n }\n\n renderWidget(props: WmMenuProps) {\n const menuItems = this.state.dataItems;\n return (\n <WmPopover\n id={this.getTestId('menu')}\n styles={this.styles}\n contentanimation={animationMap[props.animateitems || 'scale']}\n caption={props.caption}\n lefticonclass={props.lefticonclass}\n iconclass={props.iconclass}\n listener={this.listener}\n popoverheight={this.styles.menu.height as string | number | undefined || null}\n popoverwidth={this.styles.menu.width as string | number | undefined || null}\n iconposition=\"right\"\n type='dropdown'>\n <View style={{...this.styles.menu}}>\n {menuItems.map((item, index) => (\n <View key={item.key}>\n {this.renderMenuItem(item, index)}\n </View>\n ))}\n </View>\n </WmPopover>\n );\n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AAEnC,OAAOC,QAAQ,MAAM,uEAAuE;AAG5F,SAASC,gBAAgB,EAAEC,YAAY,QAA4B,8BAA8B;AACjG,OAAOC,SAAS,MAAM,8BAA8B;AACpD,OAAOC,WAAW,MAAM,cAAc;AACtC,SAASC,aAAa,QAAsB,eAAe;AAE3D,OAAO,MAAMC,WAAW,SAAiCJ,YAAY,CAAI;AAEzE,MAAMK,YAAiB,GAAG;EACxBC,KAAK,EAAE,aAAa;EACpBC,IAAI,EAAE,QAAQ;EACdC,KAAK,EAAE;AACT,CAAC;AAED,eAAe,MAAMC,MAAM,SAASV,gBAAgB,CAAsD;EAYxGW,WAAWA,CAACC,KAAkB,EAAE;IAC9B,KAAK,CAACA,KAAK,EAAER,aAAa,EAAE,IAAID,WAAW,CAAC,CAAC,EAAE,IAAIE,WAAW,CAAC,CAAC,CAAC;IAACQ,eAAA,qBAXpC,IAAI;IAAAA,eAAA,mBAEE;MACpCC,eAAe,EAAGC,CAAC,IAAK;QACtB,IAAIA,CAAC,YAAYb,SAAS,EAAE;UAC1B,IAAI,CAACc,UAAU,GAAGD,CAAC;QACrB;MACF;IACF,CAAC;EAID;EAEAE,cAAcA,CAACC,IAAwB,EAAEC,KAAa,EAAE;IACtD,MAAMC,eAAe,GAAG,IAAI,CAACR,KAAK,CAACS,oBAAoB,KAAMC,KAAa,IAAKA,KAAK,CAAC;IACrF,oBACEzB,KAAA,CAAA0B,aAAA,CAACxB,QAAQ;MACPyB,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,UAAU,GAAGN,KAAK,CAAE;MACvCO,SAAS,EAAER,IAAI,CAACS,IAAe;MAC/BC,OAAO,
|
|
1
|
+
{"version":3,"names":["React","View","WmAnchor","BaseNavComponent","BaseNavState","WmPopover","WmMenuProps","DEFAULT_CLASS","WmMenuState","animationMap","slide","fade","scale","WmMenu","constructor","props","_defineProperty","onComponentInit","c","popOverRef","renderMenuItem","item","index","getDisplayLabel","getDisplayExpression","label","createElement","id","getTestId","iconclass","icon","iconurl","iconUrl","caption","hyperlink","link","styles","menuItem","onTap","invokeEventCallback","hide","renderWidget","menuItems","state","dataItems","contentanimation","animateitems","lefticonclass","lefticonurl","listener","popoverheight","menu","height","popoverwidth","width","iconposition","type","style","map","key"],"sources":["menu.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\n\nimport WmAnchor from '@wavemaker-ai/app-rn-runtime/components/basic/anchor/anchor.component';\nimport { LifecycleListener } from '@wavemaker-ai/app-rn-runtime/core/base.component';\n\nimport { BaseNavComponent, BaseNavState, NavigationDataItem } from '../basenav/basenav.component';\nimport WmPopover from '../popover/popover.component';\nimport WmMenuProps from './menu.props';\nimport { DEFAULT_CLASS, WmMenuStyles } from './menu.styles';\n\nexport class WmMenuState <T extends WmMenuProps> extends BaseNavState<T> {}\n\nconst animationMap: any = {\n slide: 'slideInDown',\n fade: 'fadeIn',\n scale: 'zoomIn'\n};\n\nexport default class WmMenu extends BaseNavComponent<WmMenuProps, WmMenuState<WmMenuProps>, WmMenuStyles> {\n\n private popOverRef: WmPopover = null as any;\n\n private listener: LifecycleListener = {\n onComponentInit: (c) => {\n if (c instanceof WmPopover) {\n this.popOverRef = c;\n }\n }\n };\n\n constructor(props: WmMenuProps) {\n super(props, DEFAULT_CLASS, new WmMenuProps(), new WmMenuState());\n }\n\n renderMenuItem(item: NavigationDataItem, index: number) {\n const getDisplayLabel = this.props.getDisplayExpression || ((label: string) => label);\n return (\n <WmAnchor\n id={this.getTestId('menuitem' + index)}\n iconclass={item.icon as string}\n iconurl={item.iconUrl as string}\n caption={getDisplayLabel(item.label)}\n hyperlink={item.link}\n styles={this.styles.menuItem}\n onTap={() => {\n this.invokeEventCallback('onSelect', [null, this, item]);\n this.popOverRef.hide();\n }}></WmAnchor>\n );\n }\n\n renderWidget(props: WmMenuProps) {\n const menuItems = this.state.dataItems;\n return (\n <WmPopover\n id={this.getTestId('menu')}\n styles={this.styles}\n contentanimation={animationMap[props.animateitems || 'scale']}\n caption={props.caption}\n lefticonclass={props.lefticonclass}\n lefticonurl={props.lefticonurl}\n iconclass={props.iconclass}\n iconurl={props.iconurl}\n listener={this.listener}\n popoverheight={this.styles.menu.height as string | number | undefined || null}\n popoverwidth={this.styles.menu.width as string | number | undefined || null}\n iconposition=\"right\"\n type='dropdown'>\n <View style={{...this.styles.menu}}>\n {menuItems.map((item, index) => (\n <View key={item.key}>\n {this.renderMenuItem(item, index)}\n </View>\n ))}\n </View>\n </WmPopover>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,7 +9,9 @@ export default class WmMenuProps extends BaseNavProps {
|
|
|
9
9
|
_defineProperty(this, "caption", '');
|
|
10
10
|
_defineProperty(this, "dataset", 'Menu Item 1, Menu Item 2, Menu Item 3');
|
|
11
11
|
_defineProperty(this, "iconclass", 'fa fa-caret-down');
|
|
12
|
+
_defineProperty(this, "iconurl", void 0);
|
|
12
13
|
_defineProperty(this, "lefticonclass", void 0);
|
|
14
|
+
_defineProperty(this, "lefticonurl", void 0);
|
|
13
15
|
}
|
|
14
16
|
}
|
|
15
17
|
//# sourceMappingURL=menu.props.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseNavProps","WmMenuProps","constructor","args","_defineProperty"],"sources":["menu.props.ts"],"sourcesContent":["import { BaseNavProps } from '@wavemaker-ai/app-rn-runtime/components/navigation/basenav/basenav.props';\n\nexport default class WmMenuProps extends BaseNavProps {\n animateitems?: string = 'slide';\n caption?: string = '' as any;\n dataset: any = 'Menu Item 1, Menu Item 2, Menu Item 3';\n iconclass? = 'fa fa-caret-down';\n lefticonclass?: string;\n}\n"],"mappings":";;;AAAA,SAASA,YAAY,QAAQ,0EAA0E;AAEvG,eAAe,MAAMC,WAAW,SAASD,YAAY,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,uBAC5B,OAAO;IAAAA,eAAA,kBACZ,EAAE;IAAAA,eAAA,kBACN,uCAAuC;IAAAA,eAAA,oBACzC,kBAAkB;IAAAA,eAAA;EAAA;
|
|
1
|
+
{"version":3,"names":["BaseNavProps","WmMenuProps","constructor","args","_defineProperty"],"sources":["menu.props.ts"],"sourcesContent":["import { BaseNavProps } from '@wavemaker-ai/app-rn-runtime/components/navigation/basenav/basenav.props';\n\nexport default class WmMenuProps extends BaseNavProps {\n animateitems?: string = 'slide';\n caption?: string = '' as any;\n dataset: any = 'Menu Item 1, Menu Item 2, Menu Item 3';\n iconclass? = 'fa fa-caret-down';\n iconurl?: string;\n lefticonclass?: string;\n lefticonurl?: string;\n}\n"],"mappings":";;;AAAA,SAASA,YAAY,QAAQ,0EAA0E;AAEvG,eAAe,MAAMC,WAAW,SAASD,YAAY,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,uBAC5B,OAAO;IAAAA,eAAA,kBACZ,EAAE;IAAAA,eAAA,kBACN,uCAAuC;IAAAA,eAAA,oBACzC,kBAAkB;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;EAAA;AAIjC","ignoreList":[]}
|
|
@@ -200,6 +200,7 @@ export default class WmPopover extends BaseComponent {
|
|
|
200
200
|
caption: props.caption,
|
|
201
201
|
badgevalue: props.badgevalue,
|
|
202
202
|
lefticonclass: props.lefticonclass,
|
|
203
|
+
lefticonurl: props.lefticonurl,
|
|
203
204
|
iconclass: props.iconclass,
|
|
204
205
|
iconposition: props.iconposition,
|
|
205
206
|
iconheight: props.iconheight,
|