@wavemaker/app-rn-runtime 11.5.2-next.141017 → 11.5.2-next.141021
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.
- app-rn-runtime/components/advanced/carousel/carousel.component.js +4 -2
- app-rn-runtime/components/advanced/carousel/carousel.component.js.map +1 -1
- app-rn-runtime/components/advanced/webview/webview.component.js +6 -3
- app-rn-runtime/components/advanced/webview/webview.component.js.map +1 -1
- app-rn-runtime/components/advanced/webview/webview.props.js +3 -0
- app-rn-runtime/components/advanced/webview/webview.props.js.map +1 -1
- app-rn-runtime/components/basic/anchor/anchor.component.js +3 -2
- app-rn-runtime/components/basic/anchor/anchor.component.js.map +1 -1
- app-rn-runtime/components/basic/anchor/anchor.props.js +3 -0
- app-rn-runtime/components/basic/anchor/anchor.props.js.map +1 -1
- app-rn-runtime/components/basic/animatedview.component.js +5 -3
- app-rn-runtime/components/basic/animatedview.component.js.map +1 -1
- app-rn-runtime/components/basic/button/button.component.js +9 -2
- app-rn-runtime/components/basic/button/button.component.js.map +1 -1
- app-rn-runtime/components/basic/button/button.props.js +3 -0
- app-rn-runtime/components/basic/button/button.props.js.map +1 -1
- app-rn-runtime/components/basic/icon/icon.component.js +3 -2
- app-rn-runtime/components/basic/icon/icon.component.js.map +1 -1
- app-rn-runtime/components/basic/icon/icon.props.js +3 -0
- app-rn-runtime/components/basic/icon/icon.props.js.map +1 -1
- app-rn-runtime/components/basic/label/label.component.js +7 -5
- app-rn-runtime/components/basic/label/label.component.js.map +1 -1
- app-rn-runtime/components/basic/label/label.props.js +3 -0
- app-rn-runtime/components/basic/label/label.props.js.map +1 -1
- app-rn-runtime/components/basic/message/message.component.js +3 -2
- app-rn-runtime/components/basic/message/message.component.js.map +1 -1
- app-rn-runtime/components/basic/message/message.props.js +3 -0
- app-rn-runtime/components/basic/message/message.props.js.map +1 -1
- app-rn-runtime/components/basic/picture/picture.component.js +3 -2
- app-rn-runtime/components/basic/picture/picture.component.js.map +1 -1
- app-rn-runtime/components/basic/picture/picture.props.js +3 -0
- app-rn-runtime/components/basic/picture/picture.props.js.map +1 -1
- app-rn-runtime/components/basic/progress-bar/progress-bar.component.js +3 -3
- app-rn-runtime/components/basic/progress-bar/progress-bar.component.js.map +1 -1
- app-rn-runtime/components/basic/progress-bar/progress-bar.props.js +2 -0
- app-rn-runtime/components/basic/progress-bar/progress-bar.props.js.map +1 -1
- app-rn-runtime/components/basic/progress-circle/progress-circle.component.js +3 -2
- app-rn-runtime/components/basic/progress-circle/progress-circle.component.js.map +1 -1
- app-rn-runtime/components/basic/progress-circle/progress-circle.props.js +2 -0
- app-rn-runtime/components/basic/progress-circle/progress-circle.props.js.map +1 -1
- app-rn-runtime/components/basic/search/search.component.js +2 -1
- app-rn-runtime/components/basic/search/search.component.js.map +1 -1
- app-rn-runtime/components/basic/search/search.props.js +3 -0
- app-rn-runtime/components/basic/search/search.props.js.map +1 -1
- app-rn-runtime/components/basic/video/video.component.js +4 -2
- app-rn-runtime/components/basic/video/video.component.js.map +1 -1
- app-rn-runtime/components/basic/video/video.props.js +3 -0
- app-rn-runtime/components/basic/video/video.props.js.map +1 -1
- app-rn-runtime/components/chart/area-chart/area-chart.component.js +4 -2
- app-rn-runtime/components/chart/area-chart/area-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/bar-chart/bar-chart.component.js +4 -2
- app-rn-runtime/components/chart/bar-chart/bar-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/basechart.props.js +3 -0
- app-rn-runtime/components/chart/basechart.props.js.map +1 -1
- app-rn-runtime/components/chart/bubble-chart/bubble-chart.component.js +4 -2
- app-rn-runtime/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/line-chart/line-chart.component.js +4 -2
- app-rn-runtime/components/chart/line-chart/line-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/line-chart/line-chart.props.js.map +1 -1
- app-rn-runtime/components/chart/pie-chart/pie-chart.component.js +6 -3
- app-rn-runtime/components/chart/pie-chart/pie-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/stack-chart/stack-chart.component.js +5 -3
- app-rn-runtime/components/chart/stack-chart/stack-chart.component.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizard.component.js +3 -3
- app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.props.js +3 -0
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.props.js.map +1 -1
- app-rn-runtime/components/data/form/form-field/form-field.component.js +5 -1
- app-rn-runtime/components/data/form/form-field/form-field.component.js.map +1 -1
- app-rn-runtime/components/device/barcodescanner/barcodescanner.component.js +4 -1
- app-rn-runtime/components/device/barcodescanner/barcodescanner.component.js.map +1 -1
- app-rn-runtime/components/device/barcodescanner/barcodescanner.props.js +3 -0
- app-rn-runtime/components/device/barcodescanner/barcodescanner.props.js.map +1 -1
- app-rn-runtime/components/device/camera/camera.component.js +4 -1
- app-rn-runtime/components/device/camera/camera.component.js.map +1 -1
- app-rn-runtime/components/device/camera/camera.props.js +3 -0
- app-rn-runtime/components/device/camera/camera.props.js.map +1 -1
- app-rn-runtime/components/input/basedataset/basedataset.props.js +4 -0
- app-rn-runtime/components/input/basedataset/basedataset.props.js.map +1 -1
- app-rn-runtime/components/input/baseinput/baseinput.component.js +2 -2
- app-rn-runtime/components/input/baseinput/baseinput.component.js.map +1 -1
- app-rn-runtime/components/input/baseinput/baseinput.props.js +4 -0
- app-rn-runtime/components/input/baseinput/baseinput.props.js.map +1 -1
- app-rn-runtime/components/input/basenumber/basenumber.component.js +6 -6
- app-rn-runtime/components/input/basenumber/basenumber.component.js.map +1 -1
- app-rn-runtime/components/input/basenumber/basenumber.props.js +4 -0
- app-rn-runtime/components/input/basenumber/basenumber.props.js.map +1 -1
- app-rn-runtime/components/input/checkbox/checkbox.component.js +8 -1
- app-rn-runtime/components/input/checkbox/checkbox.component.js.map +1 -1
- app-rn-runtime/components/input/checkboxset/checkboxset.component.js +8 -1
- app-rn-runtime/components/input/checkboxset/checkboxset.component.js.map +1 -1
- app-rn-runtime/components/input/chips/chips.component.js +5 -1
- app-rn-runtime/components/input/chips/chips.component.js.map +1 -1
- app-rn-runtime/components/input/currency/currency.component.js +2 -1
- app-rn-runtime/components/input/currency/currency.component.js.map +1 -1
- app-rn-runtime/components/input/epoch/base-datetime.component.js +7 -3
- app-rn-runtime/components/input/epoch/base-datetime.component.js.map +1 -1
- app-rn-runtime/components/input/epoch/datetime/datetime.props.js +4 -0
- app-rn-runtime/components/input/epoch/datetime/datetime.props.js.map +1 -1
- app-rn-runtime/components/input/fileupload/fileupload.component.js +2 -0
- app-rn-runtime/components/input/fileupload/fileupload.component.js.map +1 -1
- app-rn-runtime/components/input/fileupload/fileupload.props.js +2 -0
- app-rn-runtime/components/input/fileupload/fileupload.props.js.map +1 -1
- app-rn-runtime/components/input/number/number.component.js +2 -1
- app-rn-runtime/components/input/number/number.component.js.map +1 -1
- app-rn-runtime/components/input/radioset/radioset.component.js +7 -2
- app-rn-runtime/components/input/radioset/radioset.component.js.map +1 -1
- app-rn-runtime/components/input/select/select.component.js +7 -3
- app-rn-runtime/components/input/select/select.component.js.map +1 -1
- app-rn-runtime/components/input/switch/switch.component.js +5 -1
- app-rn-runtime/components/input/switch/switch.component.js.map +1 -1
- app-rn-runtime/components/input/text/text.component.js +2 -1
- app-rn-runtime/components/input/text/text.component.js.map +1 -1
- app-rn-runtime/components/input/textarea/textarea.component.js +2 -1
- app-rn-runtime/components/input/textarea/textarea.component.js.map +1 -1
- app-rn-runtime/components/input/toggle/toggle.component.js +6 -1
- app-rn-runtime/components/input/toggle/toggle.component.js.map +1 -1
- app-rn-runtime/components/input/toggle/toggle.props.js +4 -0
- app-rn-runtime/components/input/toggle/toggle.props.js.map +1 -1
- app-rn-runtime/components/navigation/navitem/navitem.component.js +8 -5
- app-rn-runtime/components/navigation/navitem/navitem.component.js.map +1 -1
- app-rn-runtime/components/navigation/navitem/navitem.props.js +3 -0
- app-rn-runtime/components/navigation/navitem/navitem.props.js.map +1 -1
- app-rn-runtime/components/navigation/popover/popover.component.js +6 -3
- app-rn-runtime/components/navigation/popover/popover.component.js.map +1 -1
- app-rn-runtime/components/navigation/popover/popover.props.js +3 -0
- app-rn-runtime/components/navigation/popover/popover.props.js.map +1 -1
- app-rn-runtime/core/accessibility.js +149 -0
- app-rn-runtime/core/accessibility.js.map +1 -0
- app-rn-runtime/core/base.component.js +10 -1
- app-rn-runtime/core/base.component.js.map +1 -1
- app-rn-runtime/core/tappable.component.js +1 -1
- app-rn-runtime/core/tappable.component.js.map +1 -1
- app-rn-runtime/core/utils.js +11 -0
- app-rn-runtime/core/utils.js.map +1 -1
- app-rn-runtime/gestures/swipe.animation.js +34 -1
- app-rn-runtime/gestures/swipe.animation.js.map +1 -1
- app-rn-runtime/package.json +3 -3
- app-rn-runtime/runtime/App.js +4 -0
- app-rn-runtime/runtime/App.js.map +1 -1
- app-rn-runtime/runtime/base-page.component.js +1 -1
- app-rn-runtime/runtime/base-page.component.js.map +1 -1
- app-rn-runtime/runtime/services/app-security.service.js +2 -1
- app-rn-runtime/runtime/services/app-security.service.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Platform","isNull","WmNumberProps","DEFAULT_CLASS","WMTextInput","BaseNumberComponent","BaseNumberState","WmNumberState","constructor","arguments","_defineProperty","WmNumber","props","getStyleClassName","classes","state","floatinglabel","push","join","renderWidget","_this$state$textValue","opts","valueExpr","OS","textValue","toString","createElement","_extends","getTestPropsForInput","ref","widgetRef","selectionStart","selectionEnd","cursor","floatingLabel","floatingLabelStyle","styles","activeFloatingLabelStyle","activeFloatingLabel","style","root","isValid","invalid","keyboardType","placeholderTextColor","placeholderText","color","autoFocus","autofocus","editable","disabled","readonly","placeholder","value","onBlur","bind","onFocus","onKeyPress","validateInputEntry","onChangeText","text","onChange","invokeChange","allowContentSelection","userSelect"],"sources":["number.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Platform } from 'react-native';\nimport { isNull } from 'lodash';\n\nimport WmNumberProps from './number.props';\nimport { DEFAULT_CLASS, WmNumberStyles } from './number.styles';\nimport { WMTextInput } from '@wavemaker/app-rn-runtime/core/components/textinput.component';\nimport {\n BaseNumberComponent,\n BaseNumberState\n} from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.component';\n\nexport class WmNumberState extends BaseNumberState<WmNumberProps> {\n keyboardType: any;\n}\n\nexport default class WmNumber extends BaseNumberComponent<WmNumberProps, WmNumberState, WmNumberStyles> {\n\n constructor(props: WmNumberProps) {\n super(props, DEFAULT_CLASS, new WmNumberProps(), new WmNumberState());\n }\n\n public getStyleClassName(): string | undefined {\n const classes = [];\n if (this.state.props.floatinglabel) {\n classes.push('app-number-with-label'); \n }\n classes.push(super.getStyleClassName());\n return classes.join(' ');\n }\n\n renderWidget(props: WmNumberProps) {\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n opts[valueExpr] = this.state.textValue?.toString() || '';\n return (<WMTextInput\n {...this.getTestPropsForInput()}\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 floatingLabelStyle={this.styles.floatingLabel}\n activeFloatingLabelStyle={this.styles.activeFloatingLabel}\n style={[this.styles.root, this.state.isValid ? {} : this.styles.invalid]}\n keyboardType=\"numeric\"\n placeholderTextColor={this.styles.placeholderText.color as any}\n autoFocus={props.autofocus}\n editable={props.disabled || props.readonly ? false : true}\n placeholder={props.placeholder}\n value={this.state.textValue}\n onBlur={this.onBlur.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onKeyPress={this.validateInputEntry.bind(this)}\n onChangeText={(text) => {\n this.onChangeText.bind(this)(text, 'number');\n }}\n onChange={this.invokeChange.bind(this)}\n allowContentSelection={this.styles.text.userSelect === 'text'}\n />);\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,MAAM,QAAQ,QAAQ;AAE/B,OAAOC,aAAa,MAAM,gBAAgB;AAC1C,SAASC,aAAa,QAAwB,iBAAiB;AAC/D,SAASC,WAAW,QAAQ,+DAA+D;AAC3F,SACEC,mBAAmB,EACnBC,eAAe,QACV,4EAA4E;
|
|
1
|
+
{"version":3,"names":["React","Platform","isNull","WmNumberProps","DEFAULT_CLASS","WMTextInput","BaseNumberComponent","BaseNumberState","AccessibilityWidgetType","getAccessibilityProps","WmNumberState","constructor","arguments","_defineProperty","WmNumber","props","getStyleClassName","classes","state","floatinglabel","push","join","renderWidget","_this$state$textValue","opts","valueExpr","OS","textValue","toString","createElement","_extends","getTestPropsForInput","NUMBER","ref","widgetRef","selectionStart","selectionEnd","cursor","floatingLabel","floatingLabelStyle","styles","activeFloatingLabelStyle","activeFloatingLabel","style","root","isValid","invalid","keyboardType","placeholderTextColor","placeholderText","color","autoFocus","autofocus","editable","disabled","readonly","placeholder","value","onBlur","bind","onFocus","onKeyPress","validateInputEntry","onChangeText","text","onChange","invokeChange","allowContentSelection","userSelect"],"sources":["number.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Platform } from 'react-native';\nimport { isNull } from 'lodash';\n\nimport WmNumberProps from './number.props';\nimport { DEFAULT_CLASS, WmNumberStyles } from './number.styles';\nimport { WMTextInput } from '@wavemaker/app-rn-runtime/core/components/textinput.component';\nimport {\n BaseNumberComponent,\n BaseNumberState\n} from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nexport class WmNumberState extends BaseNumberState<WmNumberProps> {\n keyboardType: any;\n}\n\nexport default class WmNumber extends BaseNumberComponent<WmNumberProps, WmNumberState, WmNumberStyles> {\n\n constructor(props: WmNumberProps) {\n super(props, DEFAULT_CLASS, new WmNumberProps(), new WmNumberState());\n }\n\n public getStyleClassName(): string | undefined {\n const classes = [];\n if (this.state.props.floatinglabel) {\n classes.push('app-number-with-label'); \n }\n classes.push(super.getStyleClassName());\n return classes.join(' ');\n }\n\n renderWidget(props: WmNumberProps) {\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n opts[valueExpr] = this.state.textValue?.toString() || '';\n return (<WMTextInput\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(AccessibilityWidgetType.NUMBER, props)}\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 floatingLabelStyle={this.styles.floatingLabel}\n activeFloatingLabelStyle={this.styles.activeFloatingLabel}\n style={[this.styles.root, this.state.isValid ? {} : this.styles.invalid]}\n keyboardType=\"numeric\"\n placeholderTextColor={this.styles.placeholderText.color as any}\n autoFocus={props.autofocus}\n editable={props.disabled || props.readonly ? false : true}\n placeholder={props.placeholder}\n value={this.state.textValue}\n onBlur={this.onBlur.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onKeyPress={this.validateInputEntry.bind(this)}\n onChangeText={(text) => {\n this.onChangeText.bind(this)(text, 'number');\n }}\n onChange={this.invokeChange.bind(this)}\n allowContentSelection={this.styles.text.userSelect === 'text'}\n />);\n }\n}\n"],"mappings":"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"}
|
|
@@ -26,7 +26,10 @@ export default class WmRadioset extends BaseDatasetComponent {
|
|
|
26
26
|
}, /*#__PURE__*/React.createElement(RadioButton.Android, _extends({}, this.getTestProps('' + index), {
|
|
27
27
|
value: value,
|
|
28
28
|
color: this.styles.root.color,
|
|
29
|
-
uncheckedColor: this.styles.root.color
|
|
29
|
+
uncheckedColor: this.styles.root.color
|
|
30
|
+
// {...getAccessibilityProps(AccessibilityWidgetType.RADIOSET, {...this.state.props, selected: this.state.props.datafield === 'All Fields' ? this.getItemKey(item.datafield) : item.datafield})}
|
|
31
|
+
,
|
|
32
|
+
accessibilityLabel: `Radio button for ${displayText}`,
|
|
30
33
|
disabled: this.state.props.readonly || this.state.props.disabled
|
|
31
34
|
})), /*#__PURE__*/React.createElement(Text, {
|
|
32
35
|
style: this.styles.radioLabel
|
|
@@ -34,7 +37,9 @@ export default class WmRadioset extends BaseDatasetComponent {
|
|
|
34
37
|
}
|
|
35
38
|
renderGroupby() {
|
|
36
39
|
const groupedData = this.state.groupedData;
|
|
37
|
-
return /*#__PURE__*/React.createElement(View,
|
|
40
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
41
|
+
accessibilityRole: "radiogroup"
|
|
42
|
+
}, groupedData && groupedData.length ? groupedData.map((groupObj, index) => {
|
|
38
43
|
return /*#__PURE__*/React.createElement(View, {
|
|
39
44
|
key: groupObj.key
|
|
40
45
|
}, /*#__PURE__*/React.createElement(Text, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","Text","RadioButton","WmRadiosetProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmRadiosetState","WmRadioset","constructor","props","onPress","value","invokeEventCallback","proxy","onValueChange","renderChild","item","index","colWidth","displayText","displayexp","displayfield","state","datafield","getItemKey","selected","datavalue","createElement","style","styles","selectedItem","width","key","Android","_extends","getTestProps","color","root","uncheckedColor","disabled","readonly","radioLabel","renderGroupby","groupedData","length","map","groupObj","groupHeaderTitle","renderRadioButtons","data","items","noOfColumns","itemsperrow","xs","Math","round","Group","bind","group","renderWidget","dataItems","groupby"],"sources":["radioset.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, DimensionValue } from 'react-native';\nimport { RadioButton } from 'react-native-paper';\n\nimport WmRadiosetProps from './radioset.props';\nimport { DEFAULT_CLASS, WmRadiosetStyles } from './radioset.styles';\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmSkeleton, { createSkeleton } from '../../basic/skeleton/skeleton.component';\n\nexport class WmRadiosetState extends BaseDatasetState<WmRadiosetProps> {\n}\n\nexport default class WmRadioset extends BaseDatasetComponent<WmRadiosetProps, WmRadiosetState, WmRadiosetStyles> {\n\n constructor(props: WmRadiosetProps) {\n super(props, DEFAULT_CLASS, new WmRadiosetProps());\n }\n\n onPress(value: any) {\n this.invokeEventCallback('onTap', [null, this.proxy]);\n this.onValueChange(value);\n }\n\n renderChild(item: any, index: any, colWidth: DimensionValue) {\n const displayText = item.displayexp || item.displayfield;\n const value = this.state.props.datafield === 'All Fields' ? this.getItemKey(item.datafield) : item.datafield;\n const selected = value === this.state.props.datavalue;\n return (\n <View style={[\n this.styles.item,\n selected ? this.styles.selectedItem : null,\n {width: colWidth}]} key={item.key}>\n <RadioButton.Android\n {...this.getTestProps('' + index)}\n value={value}\n color={this.styles.root.color as string}\n uncheckedColor={this.styles.root.color as string}\n disabled={this.state.props.readonly || this.state.props.disabled}\n />\n <Text style={this.styles.radioLabel}>{displayText}</Text>\n </View>)\n }\n\n renderGroupby() {\n const groupedData = this.state.groupedData;\n return (\n <View>\n {groupedData && groupedData.length\n ? groupedData.map((groupObj: any, index: any) => {\n return(\n <View key={groupObj.key}>\n <Text style={this.styles.groupHeaderTitle}>{groupObj.key}</Text>\n {this.renderRadioButtons(groupObj.data)}\n </View>)\n })\n : null}\n </View>\n );\n }\n\n renderRadioButtons(items: any) {\n const props = this.state.props;\n const noOfColumns = props.itemsperrow.xs || 1;\n const colWidth = Math.round(100/ noOfColumns) + '%' as DimensionValue;\n return(<RadioButton.Group onValueChange={this.onPress.bind(this)} value={this.state.props.datafield === 'All Fields'? this.getItemKey(props.datavalue) : props.datavalue}>\n <View style={this.styles.group}>\n {items && items.length ?\n items.map((item: any, index: any) => this.renderChild(item, index, colWidth)): null}\n </View>\n </RadioButton.Group>)\n }\n\n renderWidget(props: WmRadiosetProps) {\n const items = this.state.dataItems;\n return (\n <View style={this.styles.root}>\n {props.groupby && this.renderGroupby()}\n {!props.groupby && this.renderRadioButtons(items)}\n </View>\n );\n }\n}\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,QAAwB,cAAc;AACzD,SAASC,WAAW,QAAQ,oBAAoB;AAEhD,OAAOC,eAAe,MAAM,kBAAkB;AAC9C,SAASC,aAAa,QAA0B,mBAAmB;AACnE,SACEC,oBAAoB,EACpBC,gBAAgB,QACX,8EAA8E;
|
|
1
|
+
{"version":3,"names":["React","View","Text","RadioButton","WmRadiosetProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmRadiosetState","WmRadioset","constructor","props","onPress","value","invokeEventCallback","proxy","onValueChange","renderChild","item","index","colWidth","displayText","displayexp","displayfield","state","datafield","getItemKey","selected","datavalue","createElement","style","styles","selectedItem","width","key","Android","_extends","getTestProps","color","root","uncheckedColor","accessibilityLabel","disabled","readonly","radioLabel","renderGroupby","groupedData","accessibilityRole","length","map","groupObj","groupHeaderTitle","renderRadioButtons","data","items","noOfColumns","itemsperrow","xs","Math","round","Group","bind","group","renderWidget","dataItems","groupby"],"sources":["radioset.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, DimensionValue } from 'react-native';\nimport { RadioButton } from 'react-native-paper';\n\nimport WmRadiosetProps from './radioset.props';\nimport { DEFAULT_CLASS, WmRadiosetStyles } from './radioset.styles';\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmSkeleton, { createSkeleton } from '../../basic/skeleton/skeleton.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nexport class WmRadiosetState extends BaseDatasetState<WmRadiosetProps> {\n}\n\nexport default class WmRadioset extends BaseDatasetComponent<WmRadiosetProps, WmRadiosetState, WmRadiosetStyles> {\n\n constructor(props: WmRadiosetProps) {\n super(props, DEFAULT_CLASS, new WmRadiosetProps());\n }\n\n onPress(value: any) {\n this.invokeEventCallback('onTap', [null, this.proxy]);\n this.onValueChange(value);\n }\n\n renderChild(item: any, index: any, colWidth: DimensionValue) {\n const displayText = item.displayexp || item.displayfield;\n const value = this.state.props.datafield === 'All Fields' ? this.getItemKey(item.datafield) : item.datafield;\n const selected = value === this.state.props.datavalue;\n return (\n <View style={[\n this.styles.item,\n selected ? this.styles.selectedItem : null,\n {width: colWidth}]} key={item.key}>\n <RadioButton.Android\n {...this.getTestProps('' + index)}\n value={value}\n color={this.styles.root.color as string}\n uncheckedColor={this.styles.root.color as string}\n // {...getAccessibilityProps(AccessibilityWidgetType.RADIOSET, {...this.state.props, selected: this.state.props.datafield === 'All Fields' ? this.getItemKey(item.datafield) : item.datafield})}\n accessibilityLabel={`Radio button for ${displayText}`}\n disabled={this.state.props.readonly || this.state.props.disabled}\n />\n <Text style={this.styles.radioLabel}>{displayText}</Text>\n </View>)\n }\n\n renderGroupby() {\n const groupedData = this.state.groupedData;\n return (\n <View accessibilityRole='radiogroup'>\n {groupedData && groupedData.length\n ? groupedData.map((groupObj: any, index: any) => {\n return(\n <View key={groupObj.key}>\n <Text style={this.styles.groupHeaderTitle}>{groupObj.key}</Text>\n {this.renderRadioButtons(groupObj.data)}\n </View>)\n })\n : null}\n </View>\n );\n }\n\n renderRadioButtons(items: any) {\n const props = this.state.props;\n const noOfColumns = props.itemsperrow.xs || 1;\n const colWidth = Math.round(100/ noOfColumns) + '%' as DimensionValue;\n return(<RadioButton.Group onValueChange={this.onPress.bind(this)} value={this.state.props.datafield === 'All Fields'? this.getItemKey(props.datavalue) : props.datavalue}>\n <View style={this.styles.group}>\n {items && items.length ?\n items.map((item: any, index: any) => this.renderChild(item, index, colWidth)): null}\n </View>\n </RadioButton.Group>)\n }\n\n renderWidget(props: WmRadiosetProps) {\n const items = this.state.dataItems;\n return (\n <View style={this.styles.root}>\n {props.groupby && this.renderGroupby()}\n {!props.groupby && this.renderRadioButtons(items)}\n </View>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ import { ModalConsumer } from '@wavemaker/app-rn-runtime/core/modal.service';
|
|
|
13
13
|
import WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';
|
|
14
14
|
import { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';
|
|
15
15
|
import ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';
|
|
16
|
+
import { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';
|
|
16
17
|
export class WmSelectState extends BaseDatasetState {
|
|
17
18
|
constructor() {
|
|
18
19
|
super(...arguments);
|
|
@@ -92,7 +93,7 @@ export default class WmSelect extends BaseDatasetComponent {
|
|
|
92
93
|
* onLayout function is required.
|
|
93
94
|
* https://github.com/naoufal/react-native-accordion/pull/19/files
|
|
94
95
|
*/
|
|
95
|
-
React.createElement(View, {
|
|
96
|
+
React.createElement(View, _extends({}, getAccessibilityProps(AccessibilityWidgetType.SELECT, props), {
|
|
96
97
|
style: [this.styles.root, this.state.isValid ? {} : this.styles.invalid, {
|
|
97
98
|
backgroundColor: props.disabled ? this.styles.disabledText.backgroundColor : this.styles.root.backgroundColor
|
|
98
99
|
}],
|
|
@@ -100,7 +101,7 @@ export default class WmSelect extends BaseDatasetComponent {
|
|
|
100
101
|
this.view = ref;
|
|
101
102
|
},
|
|
102
103
|
onLayout: () => {}
|
|
103
|
-
}, /*#__PURE__*/React.createElement(Text, _extends({
|
|
104
|
+
}), /*#__PURE__*/React.createElement(Text, _extends({
|
|
104
105
|
style: [this.styles.text, this.state.props.displayValue ? {} : {
|
|
105
106
|
color: this.styles.placeholderText.color
|
|
106
107
|
}],
|
|
@@ -129,7 +130,10 @@ export default class WmSelect extends BaseDatasetComponent {
|
|
|
129
130
|
let selected = this.isSelected(item);
|
|
130
131
|
return /*#__PURE__*/React.createElement(Tappable, _extends({}, this.getTestPropsForAction(index + ''), {
|
|
131
132
|
onTap: this.onItemSelect.bind(this, item, isPlaceholder)
|
|
132
|
-
}
|
|
133
|
+
}, getAccessibilityProps(AccessibilityWidgetType.SELECT, {
|
|
134
|
+
...this.props,
|
|
135
|
+
expanded: this.state.isOpened
|
|
136
|
+
})), /*#__PURE__*/React.createElement(View, {
|
|
133
137
|
style: [this.styles.selectItem, isLast ? this.styles.lastSelectItem : null, selected ? this.styles.selectedItem : null]
|
|
134
138
|
}, /*#__PURE__*/React.createElement(Text, _extends({}, this.getTestPropsForLabel(index + ''), {
|
|
135
139
|
style: [this.styles.selectItemText, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","ScrollView","Text","View","find","isEmpty","WmSelectProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmIcon","ModalConsumer","WmButton","Tappable","ThemeVariables","WmSelectState","constructor","arguments","_defineProperty","WmSelect","props","updateState","isOpened","onPress","event","state","disabled","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","triggerValidation","setState","hideModal","focus","_this$widgetRef","widgetRef","renderSelect","createElement","style","root","isValid","invalid","backgroundColor","disabledText","ref","view","onLayout","_extends","text","color","placeholderText","getTestPropsForInput","bind","arrowButton","iconclass","onTap","isSelected","item","val","datafield","dataObject","datavalue","onItemSelect","isPlaceholder","onChange","renderSelectItem","index","isLast","selected","getTestPropsForAction","selectItem","lastSelectItem","selectedItem","getTestPropsForLabel","selectItemText","selectedItemText","displayexp","displayfield","id","getTestId","theme","mergeStyle","checkIcon","opacity","updateDefaultQueryModel","dataItems","length","componentDidMount","onDataItemsUpdate","renderWidget","items","showModal","width","maxHeight","INSTANCE","maxModalHeight","contentContainerStyle","dropDownContent","key","map"],"sources":["select.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ScrollView, Text, View } from 'react-native';\nimport { find, isEmpty } from 'lodash';\n\nimport WmSelectProps from './select.props';\nimport { DEFAULT_CLASS, WmSelectStyles } from './select.styles';\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\n\nexport class WmSelectState extends BaseDatasetState<WmSelectProps> {\n modalOptions = {} as ModalOptions;\n isOpened: boolean = false;\n selectedValue: any = '';\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\n onPress(event: any) {\n if (this.state.props.disabled) {\n return;\n }\n if (!this.state.isOpened) {\n this.showPopover();\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 prepareModalOptions(content: React.ReactNode, styles: WmSelectStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.modalStyle = styles.modal;\n o.contentStyle = {...styles.modalContent};\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 this.props.triggerValidation && this.props.triggerValidation();\n }\n this.invokeEventCallback('onBlur', [{}, this.proxy]);\n this.setState({ isOpened: false, modalOptions: {} as ModalOptions } as WmSelectState);\n };\n this.hide = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n public showPopover = () => {\n this.updateState({ isOpened: true } as WmSelectState);\n };\n\n public hide = () => {};\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n renderSelect() {\n const props = this.state.props;\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.styles.root, this.state.isValid ? {} : this.styles.invalid, { backgroundColor: props.disabled ? this.styles.disabledText.backgroundColor : this.styles.root.backgroundColor}]}\n ref={(ref) => {\n this.view = ref as View;\n }}\n onLayout={() => {}}>\n <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 {this.state.props.displayValue || props.placeholder || ' '}\n </Text>\n <WmButton\n styles={this.styles.arrowButton}\n iconclass={'wi wi-keyboard-arrow-down'}\n onTap={this.onPress.bind(this)}\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(index + '')} onTap={this.onItemSelect.bind(this, item, isPlaceholder)}>\n <View style={[this.styles.selectItem, isLast ? this.styles.lastSelectItem : null, selected ? this.styles.selectedItem : null ]}>\n <Text {...this.getTestPropsForLabel(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 return (\n <View>\n {this.renderSelect()}\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n const items = this.state.dataItems;\n modalService.showModal(\n this.prepareModalOptions(\n <ScrollView style={{width: '100%', maxHeight: ThemeVariables.INSTANCE.maxModalHeight}} 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 this.styles,\n modalService\n )\n );\n return null;\n }}\n </ModalConsumer>\n ) : null}\n </View>\n );\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","ScrollView","Text","View","find","isEmpty","WmSelectProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmIcon","ModalConsumer","WmButton","Tappable","ThemeVariables","AccessibilityWidgetType","getAccessibilityProps","WmSelectState","constructor","arguments","_defineProperty","WmSelect","props","updateState","isOpened","onPress","event","state","disabled","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","triggerValidation","setState","hideModal","focus","_this$widgetRef","widgetRef","renderSelect","createElement","_extends","SELECT","style","root","isValid","invalid","backgroundColor","disabledText","ref","view","onLayout","text","color","placeholderText","getTestPropsForInput","bind","arrowButton","iconclass","onTap","isSelected","item","val","datafield","dataObject","datavalue","onItemSelect","isPlaceholder","onChange","renderSelectItem","index","isLast","selected","getTestPropsForAction","expanded","selectItem","lastSelectItem","selectedItem","getTestPropsForLabel","selectItemText","selectedItemText","displayexp","displayfield","id","getTestId","theme","mergeStyle","checkIcon","opacity","updateDefaultQueryModel","dataItems","length","componentDidMount","onDataItemsUpdate","renderWidget","items","showModal","width","maxHeight","INSTANCE","maxModalHeight","contentContainerStyle","dropDownContent","key","map"],"sources":["select.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ScrollView, Text, View } from 'react-native';\nimport { find, isEmpty } from 'lodash';\n\nimport WmSelectProps from './select.props';\nimport { DEFAULT_CLASS, WmSelectStyles } from './select.styles';\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nexport class WmSelectState extends BaseDatasetState<WmSelectProps> {\n modalOptions = {} as ModalOptions;\n isOpened: boolean = false;\n selectedValue: any = '';\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\n onPress(event: any) {\n if (this.state.props.disabled) {\n return;\n }\n if (!this.state.isOpened) {\n this.showPopover();\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 prepareModalOptions(content: React.ReactNode, styles: WmSelectStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.modalStyle = styles.modal;\n o.contentStyle = {...styles.modalContent};\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 this.props.triggerValidation && this.props.triggerValidation();\n }\n this.invokeEventCallback('onBlur', [{}, this.proxy]);\n this.setState({ isOpened: false, modalOptions: {} as ModalOptions } as WmSelectState);\n };\n this.hide = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n public showPopover = () => {\n this.updateState({ isOpened: true } as WmSelectState);\n };\n\n public hide = () => {};\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n renderSelect() {\n const props = this.state.props;\n return (\n /*\n * onLayout function is required.\n * https://github.com/naoufal/react-native-accordion/pull/19/files\n */\n <View\n {...getAccessibilityProps(\n AccessibilityWidgetType.SELECT,\n props\n )}\n style={[this.styles.root, this.state.isValid ? {} : this.styles.invalid, { backgroundColor: props.disabled ? this.styles.disabledText.backgroundColor : this.styles.root.backgroundColor}]}\n ref={(ref) => {\n this.view = ref as View;\n }}\n onLayout={() => {}}>\n <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 {this.state.props.displayValue || props.placeholder || ' '}\n </Text>\n <WmButton\n styles={this.styles.arrowButton}\n iconclass={'wi wi-keyboard-arrow-down'}\n onTap={this.onPress.bind(this)}\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(index + '')} onTap={this.onItemSelect.bind(this, item, isPlaceholder)} {...getAccessibilityProps(\n AccessibilityWidgetType.SELECT,\n {...this.props, expanded: this.state.isOpened}\n )}>\n <View style={[this.styles.selectItem, isLast ? this.styles.lastSelectItem : null, selected ? this.styles.selectedItem : null ]}>\n <Text {...this.getTestPropsForLabel(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 return (\n <View>\n {this.renderSelect()}\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n const items = this.state.dataItems;\n modalService.showModal(\n this.prepareModalOptions(\n <ScrollView style={{width: '100%', maxHeight: ThemeVariables.INSTANCE.maxModalHeight}} 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 this.styles,\n modalService\n )\n );\n return null;\n }}\n </ModalConsumer>\n ) : null}\n </View>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ import { DEFAULT_CLASS } from './switch.styles';
|
|
|
7
7
|
import WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';
|
|
8
8
|
import { BaseDatasetComponent, BaseDatasetState } from '../basedataset/basedataset.component';
|
|
9
9
|
import { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';
|
|
10
|
+
import { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';
|
|
10
11
|
export class WmSwitchState extends BaseDatasetState {}
|
|
11
12
|
export default class WmSwitch extends BaseDatasetComponent {
|
|
12
13
|
constructor(props) {
|
|
@@ -52,7 +53,10 @@ export default class WmSwitch extends BaseDatasetComponent {
|
|
|
52
53
|
}
|
|
53
54
|
const displayText = item.displayexp || item.displayfield;
|
|
54
55
|
const isSelected = this.state.props.datafield === 'All Fields' ? isEqual(props.datavalue, item.datafield) : this.state.props.datavalue === item.datafield;
|
|
55
|
-
return /*#__PURE__*/React.createElement(Tappable, _extends({}, this.getTestPropsForAction(index + ''), {
|
|
56
|
+
return /*#__PURE__*/React.createElement(Tappable, _extends({}, this.getTestPropsForAction(index + ''), getAccessibilityProps(AccessibilityWidgetType.SWITCH, {
|
|
57
|
+
...this.state.props,
|
|
58
|
+
selected: isSelected
|
|
59
|
+
}), {
|
|
56
60
|
onTap: this.state.props.disabled ? undefined : this.onTap.bind(this, null, item),
|
|
57
61
|
styles: [this.styles.button, this.styles[btnClass], isSelected ? this.styles.selectedButton : null],
|
|
58
62
|
key: item.key
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Text","View","isEqual","find","WmSwitchProps","DEFAULT_CLASS","WmIcon","BaseDatasetComponent","BaseDatasetState","Tappable","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","createElement","_extends","getTestPropsForAction","disabled","bind","styles","button","selectedButton","iconclass","id","getTestId","loadingIcon","icon","caption","getTestPropsForLabel","style","text","color","renderWidget","items","root","map"],"sources":["switch.component.tsx"],"sourcesContent":["import React from 'react';\nimport {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/app-rn-runtime/components/basic/icon/icon.component';\nimport { BaseDatasetComponent, BaseDatasetState } from '../basedataset/basedataset.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\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\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 return (\n <Tappable \n {...this.getTestPropsForAction(index + '')}\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={this.styles.loadingIcon}\n iconclass={item.icon}\n caption={displayText}></WmIcon>)\n : (<View>\n <Text \n {...this.getTestPropsForLabel('' + index)}\n style={[this.styles.text, \n {color: isSelected ? this.styles.selectedButton.color : this.styles.button.color }]}>\n {displayText}\n </Text>\n </View>)}\n </Tappable>\n );\n };\n\n renderWidget(props: WmSwitchProps) {\n const items = this.state.dataItems;\n return (<View style={this.styles.root}>\n {items && items.length ?\n items.map((item: any, index: any) => this.renderChild(item, index)): null}\n </View>);\n }\n}\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAQC,IAAI,EAAEC,IAAI,QAAO,cAAc;AACvC,SAASC,OAAO,EAAEC,IAAI,QAAQ,QAAQ;AAEtC,OAAOC,aAAa,MAAM,gBAAgB;AAC1C,SAASC,aAAa,QAAwB,iBAAiB;AAC/D,OAAOC,MAAM,MAAM,gEAAgE;AACnF,SAASC,oBAAoB,EAAEC,gBAAgB,QAAQ,sCAAsC;AAC7F,SAASC,QAAQ,QAAQ,mDAAmD;
|
|
1
|
+
{"version":3,"names":["React","Text","View","isEqual","find","WmSwitchProps","DEFAULT_CLASS","WmIcon","BaseDatasetComponent","BaseDatasetState","Tappable","AccessibilityWidgetType","getAccessibilityProps","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","createElement","_extends","getTestPropsForAction","SWITCH","selected","disabled","bind","styles","button","selectedButton","iconclass","id","getTestId","loadingIcon","icon","caption","getTestPropsForLabel","style","text","color","renderWidget","items","root","map"],"sources":["switch.component.tsx"],"sourcesContent":["import React from 'react';\nimport {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/app-rn-runtime/components/basic/icon/icon.component';\nimport { BaseDatasetComponent, BaseDatasetState } from '../basedataset/basedataset.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \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\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 return (\n <Tappable \n {...this.getTestPropsForAction(index + '')}\n {...getAccessibilityProps(AccessibilityWidgetType.SWITCH, {...this.state.props, selected: isSelected})}\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={this.styles.loadingIcon}\n iconclass={item.icon}\n caption={displayText}></WmIcon>)\n : (<View>\n <Text \n {...this.getTestPropsForLabel('' + index)}\n style={[this.styles.text, \n {color: isSelected ? this.styles.selectedButton.color : this.styles.button.color }]}>\n {displayText}\n </Text>\n </View>)}\n </Tappable>\n );\n };\n\n renderWidget(props: WmSwitchProps) {\n const items = this.state.dataItems;\n return (<View style={this.styles.root}>\n {items && items.length ?\n items.map((item: any, index: any) => this.renderChild(item, index)): null}\n </View>);\n }\n}\n"],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import { DEFAULT_CLASS } from './text.styles';
|
|
|
6
6
|
import { WMTextInput } from '@wavemaker/app-rn-runtime/core/components/textinput.component';
|
|
7
7
|
import { BaseInputComponent, BaseInputState } from "@wavemaker/app-rn-runtime/components/input/baseinput/baseinput.component";
|
|
8
8
|
import { isNull } from 'lodash';
|
|
9
|
+
import { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';
|
|
9
10
|
export class WmTextState extends BaseInputState {}
|
|
10
11
|
export default class WmText extends BaseInputComponent {
|
|
11
12
|
constructor(props) {
|
|
@@ -24,7 +25,7 @@ export default class WmText extends BaseInputComponent {
|
|
|
24
25
|
let opts = {};
|
|
25
26
|
const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';
|
|
26
27
|
opts[valueExpr] = ((_this$state$textValue = this.state.textValue) === null || _this$state$textValue === void 0 ? void 0 : _this$state$textValue.toString()) || '';
|
|
27
|
-
return /*#__PURE__*/React.createElement(WMTextInput, _extends({}, this.getTestPropsForInput(), {
|
|
28
|
+
return /*#__PURE__*/React.createElement(WMTextInput, _extends({}, this.getTestPropsForInput(), getAccessibilityProps(AccessibilityWidgetType.TEXT, props), {
|
|
28
29
|
ref: ref => {
|
|
29
30
|
this.widgetRef = ref;
|
|
30
31
|
// @ts-ignore
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Platform","WmTextProps","DEFAULT_CLASS","WMTextInput","BaseInputComponent","BaseInputState","isNull","WmTextState","WmText","constructor","props","getStyleClassName","classes","state","floatinglabel","push","join","renderWidget","_this$state$textValue","opts","valueExpr","OS","textValue","toString","createElement","_extends","getTestPropsForInput","ref","widgetRef","selectionStart","selectionEnd","cursor","floatingLabel","floatingLabelStyle","styles","activeFloatingLabelStyle","activeFloatingLabel","placeholderTextColor","placeholderText","color","style","root","isValid","invalid","keyboardType","autoComplete","autocomplete","autoFocus","autofocus","editable","disabled","readonly","secureTextEntry","type","maxLength","maxchars","placeholder","onBlur","bind","onFocus","onKeyPress","onChangeText","onChange","invokeChange","allowContentSelection","text","userSelect"],"sources":["text.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Platform } from 'react-native';\n\nimport WmTextProps from './text.props';\nimport { DEFAULT_CLASS, WmTextStyles } from './text.styles';\nimport { WMTextInput } from '@wavemaker/app-rn-runtime/core/components/textinput.component';\nimport { BaseInputComponent, BaseInputState } from \"@wavemaker/app-rn-runtime/components/input/baseinput/baseinput.component\";\nimport { isNull } from 'lodash';\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 renderWidget(props: WmTextProps) {\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n opts[valueExpr] = this.state.textValue?.toString() || '';\n return (\n <WMTextInput\n {...this.getTestPropsForInput()}\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 floatingLabelStyle={this.styles.floatingLabel}\n activeFloatingLabelStyle={this.styles.activeFloatingLabel}\n placeholderTextColor={this.styles.placeholderText.color as any}\n style={[this.styles.root, this.state.isValid ? {} : this.styles.invalid]}\n keyboardType={this.state.keyboardType}\n autoComplete={props.autocomplete ? 'username' : 'off'}\n autoFocus={props.autofocus}\n editable={props.disabled || props.readonly ? false : true}\n secureTextEntry={props.type === 'password' ? true : false}\n maxLength={props.maxchars}\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 />\n );\n }\n}\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAQ,cAAc;AAEvC,OAAOC,WAAW,MAAM,cAAc;AACtC,SAASC,aAAa,QAAsB,eAAe;AAC3D,SAASC,WAAW,QAAQ,+DAA+D;AAC3F,SAASC,kBAAkB,EAAEC,cAAc,QAAQ,0EAA0E;AAC7H,SAASC,MAAM,QAAQ,QAAQ;
|
|
1
|
+
{"version":3,"names":["React","Platform","WmTextProps","DEFAULT_CLASS","WMTextInput","BaseInputComponent","BaseInputState","isNull","AccessibilityWidgetType","getAccessibilityProps","WmTextState","WmText","constructor","props","getStyleClassName","classes","state","floatinglabel","push","join","renderWidget","_this$state$textValue","opts","valueExpr","OS","textValue","toString","createElement","_extends","getTestPropsForInput","TEXT","ref","widgetRef","selectionStart","selectionEnd","cursor","floatingLabel","floatingLabelStyle","styles","activeFloatingLabelStyle","activeFloatingLabel","placeholderTextColor","placeholderText","color","style","root","isValid","invalid","keyboardType","autoComplete","autocomplete","autoFocus","autofocus","editable","disabled","readonly","secureTextEntry","type","maxLength","maxchars","placeholder","onBlur","bind","onFocus","onKeyPress","onChangeText","onChange","invokeChange","allowContentSelection","text","userSelect"],"sources":["text.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Platform } from 'react-native';\n\nimport WmTextProps from './text.props';\nimport { DEFAULT_CLASS, WmTextStyles } from './text.styles';\nimport { WMTextInput } from '@wavemaker/app-rn-runtime/core/components/textinput.component';\nimport { BaseInputComponent, BaseInputState } from \"@wavemaker/app-rn-runtime/components/input/baseinput/baseinput.component\";\nimport { isNull } from 'lodash';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \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 renderWidget(props: WmTextProps) {\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n opts[valueExpr] = this.state.textValue?.toString() || '';\n return (\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 floatingLabelStyle={this.styles.floatingLabel}\n activeFloatingLabelStyle={this.styles.activeFloatingLabel}\n placeholderTextColor={this.styles.placeholderText.color as any}\n style={[this.styles.root, this.state.isValid ? {} : this.styles.invalid]}\n keyboardType={this.state.keyboardType}\n autoComplete={props.autocomplete ? 'username' : 'off'}\n autoFocus={props.autofocus}\n editable={props.disabled || props.readonly ? false : true}\n secureTextEntry={props.type === 'password' ? true : false}\n maxLength={props.maxchars}\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 />\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import { DEFAULT_CLASS } from './textarea.styles';
|
|
|
6
6
|
import { BaseInputComponent, BaseInputState } from '@wavemaker/app-rn-runtime/components/input/baseinput/baseinput.component';
|
|
7
7
|
import { WMTextInput } from '@wavemaker/app-rn-runtime/core/components/textinput.component';
|
|
8
8
|
import { isNull } from 'lodash';
|
|
9
|
+
import { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';
|
|
9
10
|
export class WmTextareaState extends BaseInputState {}
|
|
10
11
|
export default class WmTextarea extends BaseInputComponent {
|
|
11
12
|
constructor(props) {
|
|
@@ -24,7 +25,7 @@ export default class WmTextarea extends BaseInputComponent {
|
|
|
24
25
|
let opts = {};
|
|
25
26
|
const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';
|
|
26
27
|
opts[valueExpr] = ((_this$state$textValue = this.state.textValue) === null || _this$state$textValue === void 0 ? void 0 : _this$state$textValue.toString()) || '';
|
|
27
|
-
return /*#__PURE__*/React.createElement(WMTextInput, _extends({}, this.getTestPropsForInput(), {
|
|
28
|
+
return /*#__PURE__*/React.createElement(WMTextInput, _extends({}, this.getTestPropsForInput(), getAccessibilityProps(AccessibilityWidgetType.TEXTAREA, props), {
|
|
28
29
|
ref: ref => {
|
|
29
30
|
this.widgetRef = ref;
|
|
30
31
|
// @ts-ignore
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Platform","WmTextareaProps","DEFAULT_CLASS","BaseInputComponent","BaseInputState","WMTextInput","isNull","WmTextareaState","WmTextarea","constructor","props","getStyleClassName","classes","state","floatinglabel","push","join","renderWidget","_this$state$textValue","opts","valueExpr","OS","textValue","toString","createElement","_extends","getTestPropsForInput","ref","widgetRef","selectionStart","selectionEnd","cursor","placeholderTextColor","styles","placeholderText","color","style","root","text","isValid","invalid","multiline","numberOfLines","keyboardType","floatingLabel","floatingLabelStyle","activeFloatingLabelStyle","activeFloatingLabel","autoComplete","autocomplete","autoFocus","autofocus","editable","disabled","readonly","maxLength","maxchars","placeholder","onBlur","bind","onFocus","onKeyPress","onChangeText","onChange","invokeChange","allowContentSelection","userSelect"],"sources":["textarea.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Platform, TextInput, View } from 'react-native';\nimport WmTextareaProps from './textarea.props';\nimport { DEFAULT_CLASS, WmTextareaStyles } from './textarea.styles';\nimport {\n BaseInputComponent,\n BaseInputState\n} from '@wavemaker/app-rn-runtime/components/input/baseinput/baseinput.component';\nimport { WMTextInput } from '@wavemaker/app-rn-runtime/core/components/textinput.component';\nimport { isNull } from 'lodash';\n\nexport class WmTextareaState extends BaseInputState<WmTextareaProps> {}\n\nexport default class WmTextarea extends BaseInputComponent<WmTextareaProps, WmTextareaState, WmTextareaStyles> {\n\n constructor(props: WmTextareaProps) {\n super(props, DEFAULT_CLASS, new WmTextareaProps(), new WmTextareaState());\n }\n\n public getStyleClassName(): string | undefined {\n const classes = [];\n if (this.state.props.floatinglabel) {\n classes.push('app-textarea-with-label'); \n }\n classes.push(super.getStyleClassName());\n return classes.join(' ');\n }\n\n renderWidget(props: WmTextareaProps) {\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n opts[valueExpr] = this.state.textValue?.toString() || '';\n return ( <WMTextInput\n {...this.getTestPropsForInput()}\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 placeholderTextColor={this.styles.placeholderText.color as any}\n style={[this.styles.root, this.styles.text, this.state.isValid ? {} : this.styles.invalid]}\n multiline={true}\n numberOfLines={4}\n keyboardType={this.state.keyboardType}\n {...opts}\n floatingLabel={props.floatinglabel}\n floatingLabelStyle={this.styles.floatingLabel}\n activeFloatingLabelStyle={this.styles.activeFloatingLabel}\n autoComplete={props.autocomplete ? 'username' : 'off'}\n autoFocus={props.autofocus}\n editable={props.disabled || props.readonly ? false : true}\n maxLength={props.maxchars}\n placeholder={props.placeholder || 'Place your text'}\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 />);\n }\n}\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAyB,cAAc;AACxD,OAAOC,eAAe,MAAM,kBAAkB;AAC9C,SAASC,aAAa,QAA0B,mBAAmB;AACnE,SACEC,kBAAkB,EAClBC,cAAc,QACT,0EAA0E;AACjF,SAASC,WAAW,QAAQ,+DAA+D;AAC3F,SAASC,MAAM,QAAQ,QAAQ;
|
|
1
|
+
{"version":3,"names":["React","Platform","WmTextareaProps","DEFAULT_CLASS","BaseInputComponent","BaseInputState","WMTextInput","isNull","AccessibilityWidgetType","getAccessibilityProps","WmTextareaState","WmTextarea","constructor","props","getStyleClassName","classes","state","floatinglabel","push","join","renderWidget","_this$state$textValue","opts","valueExpr","OS","textValue","toString","createElement","_extends","getTestPropsForInput","TEXTAREA","ref","widgetRef","selectionStart","selectionEnd","cursor","placeholderTextColor","styles","placeholderText","color","style","root","text","isValid","invalid","multiline","numberOfLines","keyboardType","floatingLabel","floatingLabelStyle","activeFloatingLabelStyle","activeFloatingLabel","autoComplete","autocomplete","autoFocus","autofocus","editable","disabled","readonly","maxLength","maxchars","placeholder","onBlur","bind","onFocus","onKeyPress","onChangeText","onChange","invokeChange","allowContentSelection","userSelect"],"sources":["textarea.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Platform, TextInput, View } from 'react-native';\nimport WmTextareaProps from './textarea.props';\nimport { DEFAULT_CLASS, WmTextareaStyles } from './textarea.styles';\nimport {\n BaseInputComponent,\n BaseInputState\n} from '@wavemaker/app-rn-runtime/components/input/baseinput/baseinput.component';\nimport { WMTextInput } from '@wavemaker/app-rn-runtime/core/components/textinput.component';\nimport { isNull } from 'lodash';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nexport class WmTextareaState extends BaseInputState<WmTextareaProps> {}\n\nexport default class WmTextarea extends BaseInputComponent<WmTextareaProps, WmTextareaState, WmTextareaStyles> {\n\n constructor(props: WmTextareaProps) {\n super(props, DEFAULT_CLASS, new WmTextareaProps(), new WmTextareaState());\n }\n\n public getStyleClassName(): string | undefined {\n const classes = [];\n if (this.state.props.floatinglabel) {\n classes.push('app-textarea-with-label'); \n }\n classes.push(super.getStyleClassName());\n return classes.join(' ');\n }\n\n renderWidget(props: WmTextareaProps) {\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n opts[valueExpr] = this.state.textValue?.toString() || '';\n return ( <WMTextInput\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(\n AccessibilityWidgetType.TEXTAREA,\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 placeholderTextColor={this.styles.placeholderText.color as any}\n style={[this.styles.root, this.styles.text, this.state.isValid ? {} : this.styles.invalid]}\n multiline={true}\n numberOfLines={4}\n keyboardType={this.state.keyboardType}\n {...opts}\n floatingLabel={props.floatinglabel}\n floatingLabelStyle={this.styles.floatingLabel}\n activeFloatingLabelStyle={this.styles.activeFloatingLabel}\n autoComplete={props.autocomplete ? 'username' : 'off'}\n autoFocus={props.autofocus}\n editable={props.disabled || props.readonly ? false : true}\n maxLength={props.maxchars}\n placeholder={props.placeholder || 'Place your text'}\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 />);\n }\n}\n"],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ import { TouchableOpacity, Animated, Easing } from 'react-native';
|
|
|
7
7
|
import { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';
|
|
8
8
|
import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
|
|
9
9
|
import { unStringify, validateField } from '@wavemaker/app-rn-runtime/core/utils';
|
|
10
|
+
import { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';
|
|
10
11
|
import WmToggleProps from './toggle.props';
|
|
11
12
|
import { DEFAULT_CLASS } from './toggle.styles';
|
|
12
13
|
export class WmToggleState extends BaseComponentState {
|
|
@@ -96,7 +97,11 @@ export default class WmToggle extends BaseComponent {
|
|
|
96
97
|
return /*#__PURE__*/React.createElement(TouchableOpacity, _extends({
|
|
97
98
|
onLayout: e => {
|
|
98
99
|
this.onLayoutChange(e);
|
|
99
|
-
}
|
|
100
|
+
}
|
|
101
|
+
}, getAccessibilityProps(AccessibilityWidgetType.TOGGLE, {
|
|
102
|
+
...this.props,
|
|
103
|
+
selected: this.state.isSwitchOn
|
|
104
|
+
}), {
|
|
100
105
|
onPress: () => {
|
|
101
106
|
if (this.props.disabled) {
|
|
102
107
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","TouchableOpacity","Animated","Easing","BackgroundComponent","BaseComponent","BaseComponentState","unStringify","validateField","WmToggleProps","DEFAULT_CLASS","WmToggleState","constructor","arguments","_defineProperty","WmToggle","props","Value","onPropertyChange","name","$new","$old","value","state","checkedvalue","updateState","isSwitchOn","updateDatavalue","datavalue","validate","validationObj","isValid","errorType","onToggleSwitch","oldValue","dataValue","uncheckedvalue","sequence","timing","scaleValue","toValue","duration","useNativeDriver","animationValue","easing","linear","start","onFieldChange","invokeEventCallback","proxy","onLayoutChange","event","width","nativeEvent","layout","setState","viewWidth","renderWidget","styles","theme","mergeStyle","getStyle","createElement","_extends","onLayout","e","onPress","disabled","setTimeout","readonly","getTestPropsForAction","style","root","_background","View","handle","transform","translateX","interpolate","inputRange","outputRange","scale","size","backgroundSize","position","backgroundPosition","image","backgroundImage"],"sources":["toggle.component.tsx"],"sourcesContent":["import React from 'react';\nimport { TouchableOpacity, Animated, Easing, LayoutChangeEvent } from 'react-native';\n\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport {unStringify, validateField} from '@wavemaker/app-rn-runtime/core/utils';\n\nimport WmToggleProps from './toggle.props';\nimport { DEFAULT_CLASS, WmToggleStyles } from './toggle.styles';\n\nexport class WmToggleState extends BaseComponentState<WmToggleProps> {\n isSwitchOn: boolean = false;\n isValid: boolean = true;\n errorType = '';\n viewWidth: number = 0;\n}\n\nexport default class WmToggle extends BaseComponent<WmToggleProps, WmToggleState, WmToggleStyles> {\n\n private animationValue = new Animated.Value(0);\n private scaleValue = new Animated.Value(1);\n\n constructor(props: WmToggleProps) {\n super(props, DEFAULT_CLASS, new WmToggleProps(), new WmToggleState());\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'datavalue':\n let value =\n unStringify($new) ===\n unStringify(this.state.props.checkedvalue, true);\n this.updateState({ isSwitchOn: value } as WmToggleState);\n break;\n }\n }\n\n updateDatavalue(value: any) {\n this.updateState({ props: { datavalue: value }} as WmToggleState);\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.updateState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as WmToggleState);\n }\n\n onToggleSwitch(value: any) {\n const oldValue = this.state.props.datavalue;\n this.validate(value);\n this.updateState({ isSwitchOn: value } as WmToggleState);\n const dataValue = value === true ? this.state.props.checkedvalue : this.state.props.uncheckedvalue;\n Animated.sequence([\n Animated.timing(this.scaleValue, {\n toValue: 1.6,\n duration: 300,\n useNativeDriver: true,\n }),\n Animated.timing(this.animationValue, {\n toValue: value ? 1 : 0,\n duration: 300,\n easing: Easing.linear,\n useNativeDriver: true,\n }),\n ]).start(() => {\n Animated.timing(this.scaleValue, {\n toValue: value ? 1.5 : 1,\n duration: 0,\n useNativeDriver: true,\n }).start();\n });\n // @ts-ignore\n this.updateState({ props: { datavalue: dataValue } },\n ()=> {\n if (!this.props.onFieldChange) {\n this.invokeEventCallback('onChange', [null, this.proxy, dataValue, oldValue]);\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', dataValue, oldValue);\n }\n this.invokeEventCallback('onBlur', [ null, this.proxy ]);\n });\n }\n\n onLayoutChange(event: LayoutChangeEvent){\n let width = event.nativeEvent.layout.width;\n this.setState({\n viewWidth: width,\n } as WmToggleState);\n }\n\n renderWidget(props: WmToggleProps) {\n const styles = this.theme.mergeStyle(this.styles, \n this.theme.getStyle(this.state.isSwitchOn ? 'app-toggle-on' : 'app-toggle-off'));\n return (\n <TouchableOpacity \n onLayout={(e) => {\n this.onLayoutChange(e);\n }}\n onPress={() => {\n if (this.props.disabled) {\n return;\n }\n // Added setTimeout to smooth animation\n setTimeout(() => {\n if (!props.readonly) {\n this.invokeEventCallback('onFocus', [null, this]);\n }\n this.invokeEventCallback('onTap', [null, this]);\n }, 500);\n this.onToggleSwitch(!this.state.isSwitchOn);\n }}{...this.getTestPropsForAction()}\n style={styles.root}>\n {this._background}\n <Animated.View\n style={[\n styles.handle,\n {\n transform: [\n {\n translateX: this.animationValue.interpolate({\n inputRange: [0, 1],\n outputRange: [0, this.state.viewWidth - (this.styles.handle.width as number+ 18)],\n }),\n },\n {scale : this.scaleValue}\n ],\n },\n ]}>\n <BackgroundComponent\n size={styles.handle.backgroundSize}\n position={styles.handle.backgroundPosition}\n image={styles.handle.backgroundImage}> \n </BackgroundComponent>\n </Animated.View>\n </TouchableOpacity>\n );\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","TouchableOpacity","Animated","Easing","BackgroundComponent","BaseComponent","BaseComponentState","unStringify","validateField","AccessibilityWidgetType","getAccessibilityProps","WmToggleProps","DEFAULT_CLASS","WmToggleState","constructor","arguments","_defineProperty","WmToggle","props","Value","onPropertyChange","name","$new","$old","value","state","checkedvalue","updateState","isSwitchOn","updateDatavalue","datavalue","validate","validationObj","isValid","errorType","onToggleSwitch","oldValue","dataValue","uncheckedvalue","sequence","timing","scaleValue","toValue","duration","useNativeDriver","animationValue","easing","linear","start","onFieldChange","invokeEventCallback","proxy","onLayoutChange","event","width","nativeEvent","layout","setState","viewWidth","renderWidget","styles","theme","mergeStyle","getStyle","createElement","_extends","onLayout","e","TOGGLE","selected","onPress","disabled","setTimeout","readonly","getTestPropsForAction","style","root","_background","View","handle","transform","translateX","interpolate","inputRange","outputRange","scale","size","backgroundSize","position","backgroundPosition","image","backgroundImage"],"sources":["toggle.component.tsx"],"sourcesContent":["import React from 'react';\nimport { TouchableOpacity, Animated, Easing, LayoutChangeEvent } from 'react-native';\n\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { unStringify, validateField} from '@wavemaker/app-rn-runtime/core/utils';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nimport WmToggleProps from './toggle.props';\nimport { DEFAULT_CLASS, WmToggleStyles } from './toggle.styles';\n\nexport class WmToggleState extends BaseComponentState<WmToggleProps> {\n isSwitchOn: boolean = false;\n isValid: boolean = true;\n errorType = '';\n viewWidth: number = 0;\n}\n\nexport default class WmToggle extends BaseComponent<WmToggleProps, WmToggleState, WmToggleStyles> {\n\n private animationValue = new Animated.Value(0);\n private scaleValue = new Animated.Value(1);\n\n constructor(props: WmToggleProps) {\n super(props, DEFAULT_CLASS, new WmToggleProps(), new WmToggleState());\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'datavalue':\n let value =\n unStringify($new) ===\n unStringify(this.state.props.checkedvalue, true);\n this.updateState({ isSwitchOn: value } as WmToggleState);\n break;\n }\n }\n\n updateDatavalue(value: any) {\n this.updateState({ props: { datavalue: value }} as WmToggleState);\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.updateState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as WmToggleState);\n }\n\n onToggleSwitch(value: any) {\n const oldValue = this.state.props.datavalue;\n this.validate(value);\n this.updateState({ isSwitchOn: value } as WmToggleState);\n const dataValue = value === true ? this.state.props.checkedvalue : this.state.props.uncheckedvalue;\n Animated.sequence([\n Animated.timing(this.scaleValue, {\n toValue: 1.6,\n duration: 300,\n useNativeDriver: true,\n }),\n Animated.timing(this.animationValue, {\n toValue: value ? 1 : 0,\n duration: 300,\n easing: Easing.linear,\n useNativeDriver: true,\n }),\n ]).start(() => {\n Animated.timing(this.scaleValue, {\n toValue: value ? 1.5 : 1,\n duration: 0,\n useNativeDriver: true,\n }).start();\n });\n // @ts-ignore\n this.updateState({ props: { datavalue: dataValue } },\n ()=> {\n if (!this.props.onFieldChange) {\n this.invokeEventCallback('onChange', [null, this.proxy, dataValue, oldValue]);\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', dataValue, oldValue);\n }\n this.invokeEventCallback('onBlur', [ null, this.proxy ]);\n });\n }\n\n onLayoutChange(event: LayoutChangeEvent){\n let width = event.nativeEvent.layout.width;\n this.setState({\n viewWidth: width,\n } as WmToggleState);\n }\n\n renderWidget(props: WmToggleProps) {\n const styles = this.theme.mergeStyle(this.styles, \n this.theme.getStyle(this.state.isSwitchOn ? 'app-toggle-on' : 'app-toggle-off'));\n return (\n <TouchableOpacity \n onLayout={(e) => {\n this.onLayoutChange(e);\n }}\n {...getAccessibilityProps(AccessibilityWidgetType.TOGGLE, {...this.props, selected: this.state.isSwitchOn})}\n onPress={() => {\n if (this.props.disabled) {\n return;\n }\n // Added setTimeout to smooth animation\n setTimeout(() => {\n if (!props.readonly) {\n this.invokeEventCallback('onFocus', [null, this]);\n }\n this.invokeEventCallback('onTap', [null, this]);\n }, 500);\n this.onToggleSwitch(!this.state.isSwitchOn);\n }}{...this.getTestPropsForAction()}\n style={styles.root}>\n {this._background}\n <Animated.View\n style={[\n styles.handle,\n {\n transform: [\n {\n translateX: this.animationValue.interpolate({\n inputRange: [0, 1],\n outputRange: [0, this.state.viewWidth - (this.styles.handle.width as number+ 18)],\n }),\n },\n {scale : this.scaleValue}\n ],\n },\n ]}>\n <BackgroundComponent\n size={styles.handle.backgroundSize}\n position={styles.handle.backgroundPosition}\n image={styles.handle.backgroundImage}> \n </BackgroundComponent>\n </Animated.View>\n </TouchableOpacity>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -10,6 +10,10 @@ export default class WmToggleProps extends BaseProps {
|
|
|
10
10
|
_defineProperty(this, "datavalue", void 0);
|
|
11
11
|
_defineProperty(this, "readonly", false);
|
|
12
12
|
_defineProperty(this, "onFieldChange", void 0);
|
|
13
|
+
_defineProperty(this, "accessibilitylabel", undefined);
|
|
14
|
+
_defineProperty(this, "hint", undefined);
|
|
15
|
+
_defineProperty(this, "accessibilityrole", "togglebutton");
|
|
16
|
+
_defineProperty(this, "accessibilitylabelledby", undefined);
|
|
13
17
|
_defineProperty(this, "invokeEvent", void 0);
|
|
14
18
|
}
|
|
15
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseProps","WmToggleProps","constructor","arguments","_defineProperty"],"sources":["toggle.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmToggleProps extends BaseProps {\n checkedvalue: any = true;\n uncheckedvalue: any = false;\n datavalue: any;\n readonly? = false;\n onFieldChange: any;\n invokeEvent?: Function;\n}\n"],"mappings":";;;
|
|
1
|
+
{"version":3,"names":["BaseProps","WmToggleProps","constructor","arguments","_defineProperty","undefined"],"sources":["toggle.props.ts"],"sourcesContent":["import {AccessibilityRole} from 'react-native';\nimport { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmToggleProps extends BaseProps {\n checkedvalue: any = true;\n uncheckedvalue: any = false;\n datavalue: any;\n readonly? = false;\n onFieldChange: any;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = \"togglebutton\";\n accessibilitylabelledby?: string = undefined;\n invokeEvent?: Function;\n}\n"],"mappings":";;;AACA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,aAAa,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,uBAC/B,IAAI;IAAAA,eAAA,yBACF,KAAK;IAAAA,eAAA;IAAAA,eAAA,mBAEf,KAAK;IAAAA,eAAA;IAAAA,eAAA,6BAEaC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA,4BACe,cAAc;IAAAA,eAAA,kCACnBC,SAAS;IAAAD,eAAA;EAAA;AAE9C"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
1
2
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
3
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
3
4
|
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
@@ -8,6 +9,7 @@ import WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.c
|
|
|
8
9
|
import WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';
|
|
9
10
|
import WmNavItemProps from './navitem.props';
|
|
10
11
|
import { DEFAULT_CLASS } from './navitem.styles';
|
|
12
|
+
import { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';
|
|
11
13
|
export class WmNavItemState extends BaseComponentState {
|
|
12
14
|
constructor() {
|
|
13
15
|
super(...arguments);
|
|
@@ -25,15 +27,16 @@ export default class WmNavItem extends BaseComponent {
|
|
|
25
27
|
const getDisplayLabel = this.props.getDisplayExpression || (label => label);
|
|
26
28
|
let child = props.children;
|
|
27
29
|
if (props.view === 'anchor') {
|
|
28
|
-
child = /*#__PURE__*/React.createElement(WmAnchor, {
|
|
29
|
-
id: this.getTestId('navlink')
|
|
30
|
+
child = /*#__PURE__*/React.createElement(WmAnchor, _extends({
|
|
31
|
+
id: this.getTestId('navlink')
|
|
32
|
+
}, getAccessibilityProps(AccessibilityWidgetType.NAV, props), {
|
|
30
33
|
styles: this.styles.navAnchorItem,
|
|
31
34
|
caption: getDisplayLabel(props.item.label),
|
|
32
35
|
hyperlink: props.item.link,
|
|
33
36
|
badgevalue: props.item.badge,
|
|
34
37
|
iconclass: props.item.icon,
|
|
35
38
|
onTap: this.onSelectItem.bind(this, props.onSelect, props.item)
|
|
36
|
-
});
|
|
39
|
+
}));
|
|
37
40
|
}
|
|
38
41
|
if (props.view === 'dropdown') {
|
|
39
42
|
child = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
@@ -45,13 +48,13 @@ export default class WmNavItem extends BaseComponent {
|
|
|
45
48
|
}
|
|
46
49
|
}, /*#__PURE__*/React.createElement(View, {
|
|
47
50
|
style: this.styles.dropdownNav
|
|
48
|
-
}, /*#__PURE__*/React.createElement(WmAnchor, {
|
|
51
|
+
}, /*#__PURE__*/React.createElement(WmAnchor, _extends({
|
|
49
52
|
id: this.getTestId('navlink'),
|
|
50
53
|
styles: this.styles.navAnchorItem,
|
|
51
54
|
caption: getDisplayLabel(props.item.label),
|
|
52
55
|
iconclass: props.item.icon,
|
|
53
56
|
onTap: this.onSelectItem.bind(this, props.onSelect, props.item)
|
|
54
|
-
}), /*#__PURE__*/React.createElement(WmIcon, {
|
|
57
|
+
}, getAccessibilityProps(AccessibilityWidgetType.NAV, props))), /*#__PURE__*/React.createElement(WmIcon, {
|
|
55
58
|
id: this.getTestId('icon'),
|
|
56
59
|
styles: this.styles.caretIcon,
|
|
57
60
|
iconclass: this.state.collapsed ? 'fa fa-sort-down' : 'fa fa-sort-up'
|