@wavemaker/app-rn-runtime 11.7.0-next.42251 → 11.7.0-rc.5524

Sign up to get free protection for your applications and to get access to all the features.
Files changed (89) hide show
  1. app-rn-runtime/components/basic/anchor/anchor.component.js +3 -1
  2. app-rn-runtime/components/basic/anchor/anchor.component.js.map +1 -1
  3. app-rn-runtime/components/basic/anchor/anchor.props.js +1 -0
  4. app-rn-runtime/components/basic/anchor/anchor.props.js.map +1 -1
  5. app-rn-runtime/components/basic/button/button.component.js +3 -1
  6. app-rn-runtime/components/basic/button/button.component.js.map +1 -1
  7. app-rn-runtime/components/basic/button/button.styles.js +2 -1
  8. app-rn-runtime/components/basic/button/button.styles.js.map +1 -1
  9. app-rn-runtime/components/basic/label/label.component.js +17 -9
  10. app-rn-runtime/components/basic/label/label.component.js.map +1 -1
  11. app-rn-runtime/components/basic/search/search.component.js +8 -2
  12. app-rn-runtime/components/basic/search/search.component.js.map +1 -1
  13. app-rn-runtime/components/basic/search/search.props.js +1 -0
  14. app-rn-runtime/components/basic/search/search.props.js.map +1 -1
  15. app-rn-runtime/components/chart/basechart.component.js +1 -0
  16. app-rn-runtime/components/chart/basechart.component.js.map +1 -1
  17. app-rn-runtime/components/chart/stack-chart/stack-chart.component.js +17 -10
  18. app-rn-runtime/components/chart/stack-chart/stack-chart.component.js.map +1 -1
  19. app-rn-runtime/components/container/container.component.js +1 -10
  20. app-rn-runtime/components/container/container.component.js.map +1 -1
  21. app-rn-runtime/components/container/container.props.js +0 -1
  22. app-rn-runtime/components/container/container.props.js.map +1 -1
  23. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js +1 -1
  24. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  25. app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js +14 -1
  26. app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
  27. app-rn-runtime/components/container/tabs/tabs.component.js +3 -0
  28. app-rn-runtime/components/container/tabs/tabs.component.js.map +1 -1
  29. app-rn-runtime/components/data/form/form-action/form-action.component.js +1 -0
  30. app-rn-runtime/components/data/form/form-action/form-action.component.js.map +1 -1
  31. app-rn-runtime/components/data/form/form-action/form-action.props.js +1 -0
  32. app-rn-runtime/components/data/form/form-action/form-action.props.js.map +1 -1
  33. app-rn-runtime/components/data/form/form-field/form-field.component.js +11 -0
  34. app-rn-runtime/components/data/form/form-field/form-field.component.js.map +1 -1
  35. app-rn-runtime/components/data/form/form-field/form-field.props.js +3 -0
  36. app-rn-runtime/components/data/form/form-field/form-field.props.js.map +1 -1
  37. app-rn-runtime/components/data/form/form.component.js +26 -4
  38. app-rn-runtime/components/data/form/form.component.js.map +1 -1
  39. app-rn-runtime/components/data/form/form.props.js +3 -0
  40. app-rn-runtime/components/data/form/form.props.js.map +1 -1
  41. app-rn-runtime/components/data/list/list.component.js +42 -38
  42. app-rn-runtime/components/data/list/list.component.js.map +1 -1
  43. app-rn-runtime/components/data/list/list.props.js +2 -0
  44. app-rn-runtime/components/data/list/list.props.js.map +1 -1
  45. app-rn-runtime/components/data/list/list.styles.js +5 -1
  46. app-rn-runtime/components/data/list/list.styles.js.map +1 -1
  47. app-rn-runtime/components/dialogs/dialogcontent/dialogcontent.component.js +4 -0
  48. app-rn-runtime/components/dialogs/dialogcontent/dialogcontent.component.js.map +1 -1
  49. app-rn-runtime/components/input/baseinput/baseinput.component.js +1 -1
  50. app-rn-runtime/components/input/baseinput/baseinput.component.js.map +1 -1
  51. app-rn-runtime/components/input/baseinput/baseinput.props.js +2 -0
  52. app-rn-runtime/components/input/baseinput/baseinput.props.js.map +1 -1
  53. app-rn-runtime/components/input/checkboxset/checkboxset.component.js +13 -4
  54. app-rn-runtime/components/input/checkboxset/checkboxset.component.js.map +1 -1
  55. app-rn-runtime/components/input/checkboxset/checkboxset.props.js +1 -0
  56. app-rn-runtime/components/input/checkboxset/checkboxset.props.js.map +1 -1
  57. app-rn-runtime/components/input/radioset/radioset.component.js +49 -23
  58. app-rn-runtime/components/input/radioset/radioset.component.js.map +1 -1
  59. app-rn-runtime/components/input/radioset/radioset.props.js +1 -0
  60. app-rn-runtime/components/input/radioset/radioset.props.js.map +1 -1
  61. app-rn-runtime/components/input/radioset/radioset.styles.js +35 -2
  62. app-rn-runtime/components/input/radioset/radioset.styles.js.map +1 -1
  63. app-rn-runtime/components/input/slider/slider.component.js +3 -2
  64. app-rn-runtime/components/input/slider/slider.component.js.map +1 -1
  65. app-rn-runtime/components/input/text/text.component.js +4 -2
  66. app-rn-runtime/components/input/text/text.component.js.map +1 -1
  67. app-rn-runtime/components/input/toggle/toggle.component.js +3 -2
  68. app-rn-runtime/components/input/toggle/toggle.component.js.map +1 -1
  69. app-rn-runtime/components/navigation/popover/popover.component.js +4 -0
  70. app-rn-runtime/components/navigation/popover/popover.component.js.map +1 -1
  71. app-rn-runtime/components/page/left-panel/left-panel.component.js +4 -0
  72. app-rn-runtime/components/page/left-panel/left-panel.component.js.map +1 -1
  73. app-rn-runtime/core/accessibility.js +2 -2
  74. app-rn-runtime/core/accessibility.js.map +1 -1
  75. app-rn-runtime/core/base.component.js +12 -3
  76. app-rn-runtime/core/base.component.js.map +1 -1
  77. app-rn-runtime/core/components/textinput.component.js +147 -14
  78. app-rn-runtime/core/components/textinput.component.js.map +1 -1
  79. app-rn-runtime/core/event-notifier.js +21 -7
  80. app-rn-runtime/core/event-notifier.js.map +1 -1
  81. app-rn-runtime/core/formatters.js +14 -1
  82. app-rn-runtime/core/formatters.js.map +1 -1
  83. app-rn-runtime/package.json +4 -3
  84. app-rn-runtime/runtime/App.js +5 -3
  85. app-rn-runtime/runtime/App.js.map +1 -1
  86. app-rn-runtime/runtime/base-fragment.component.js +5 -1
  87. app-rn-runtime/runtime/base-fragment.component.js.map +1 -1
  88. app-rn-runtime/styles/background.component.js +15 -4
  89. app-rn-runtime/styles/background.component.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","TouchableOpacity","find","forEach","isEqual","WmCheckboxsetProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmIcon","AccessibilityWidgetType","getAccessibilityProps","WmCheckboxsetState","constructor","arguments","_defineProperty","WmCheckboxset","props","onPress","item","invokeEventCallback","proxy","state","disabled","readonly","selected","selectedValue","selectedItem","dataItems","d","key","oldValue","datavalue","push","datafield","validate","updateState","computeDisplayValue","undefined","renderChild","index","displayText","displayexp","displayfield","createElement","_extends","getTestPropsForAction","style","styles","bind","CHECKBOX","checked","accessibilityRole","accessibilityLabel","iconclass","checkicon","uncheckicon","getTestPropsForLabel","text","displayValue","filter","map","updateDatavalue","value","Promise","resolve","renderGroupby","groupedData","length","groupObj","groupHeaderTitle","renderCheckboxses","data","items","renderWidget","root","groupby"],"sources":["checkboxset.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, TouchableOpacity } from 'react-native';\nimport { find, forEach, isEqual } from 'lodash';\nimport { Checkbox } from 'react-native-paper';\n\nimport WmCheckboxsetProps from './checkboxset.props';\nimport {\n DEFAULT_CLASS,\n \n WmCheckboxsetStyles,\n} from './checkboxset.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 { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nexport class WmCheckboxsetState extends BaseDatasetState<WmCheckboxsetProps> {\n isValid: boolean = true;\n}\n\nexport default class WmCheckboxset extends BaseDatasetComponent<WmCheckboxsetProps, WmCheckboxsetState, WmCheckboxsetStyles> {\n constructor(props: WmCheckboxsetProps) {\n super(props, DEFAULT_CLASS, new WmCheckboxsetProps());\n }\n\n onPress(item: any) {\n this.invokeEventCallback('onTap', [null, this.proxy]);\n if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n item.selected = !item.selected;\n const selectedValue: any = [];\n const selectedItem = find(this.state.dataItems, d => isEqual(d.key, item.key));\n const oldValue = this.state.props.datavalue;\n selectedItem.selected = item.selected;\n forEach(this.state.dataItems, (item) => {\n if (item.selected) {\n selectedValue.push(item.datafield);\n }\n });\n this.validate(selectedValue);\n this.updateState({ props: { datavalue: selectedValue }} as WmCheckboxsetState,\n () => {\n this.computeDisplayValue();\n this.invokeEventCallback('onChange', [ undefined, this.proxy, selectedValue, oldValue ]);\n });\n }\n\n renderChild(item: any, index: any) {\n const props = this.state.props;\n const displayText = item.displayexp || item.displayfield;\n return (\n <TouchableOpacity {...this.getTestPropsForAction(index + '')}\n style={this.styles.item}\n onPress={this.onPress.bind(this, item)} key={item.key} {...getAccessibilityProps(AccessibilityWidgetType.CHECKBOX, {...props, checked: item.selected})} accessibilityRole='checkbox' accessibilityLabel={`Checkbox for ${displayText}`}>\n <WmIcon iconclass=\"wi wi-check\" styles={item.selected? this.styles.checkicon : this.styles.uncheckicon} disabled={props.readonly || props.disabled}/>\n <Text {...this.getTestPropsForLabel(index + '')} style={this.styles.text}>{displayText}</Text>\n </TouchableOpacity>)\n }\n\n computeDisplayValue() {\n this.updateState({\n props: {\n displayValue: ((this.state.dataItems || [] as any)\n .filter((item: any) => item.selected)\n .map((item: any) => item.displayexp || item.displayfield)) || ''\n }\n } as WmCheckboxsetState);\n }\n\n updateDatavalue(value: any) {\n this.updateState({ props: { datavalue: value }} as WmCheckboxsetState);\n return Promise.resolve();\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.renderCheckboxses(groupObj.data)}\n </View>)\n })\n : null}\n </View>\n );\n }\n\n renderCheckboxses(items: any) {\n const props = this.state.props;\n return(<View>\n {items && items.length\n ? items.map((item: any, index: any) => this.renderChild(item, index))\n : null}\n </View>)\n }\n renderWidget(props: WmCheckboxsetProps) {\n const items = this.state.dataItems;\n return (\n <View style={this.styles.root}>\n {props.groupby && this.renderGroupby()}\n {!props.groupby && this.renderCheckboxses(items)}\n </View>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Text","View","TouchableOpacity","find","forEach","isEqual","isEmpty","ScrollView","WmCheckboxsetProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmIcon","AccessibilityWidgetType","getAccessibilityProps","WmCheckboxsetState","constructor","arguments","_defineProperty","WmCheckboxset","props","onPress","item","invokeEventCallback","proxy","state","disabled","readonly","selected","selectedValue","selectedItem","dataItems","d","key","oldValue","datavalue","push","datafield","validate","updateState","computeDisplayValue","undefined","renderChild","index","displayText","displayexp","displayfield","createElement","_extends","getTestPropsForAction","style","styles","bind","CHECKBOX","checked","accessibilityRole","accessibilityLabel","iconclass","checkicon","uncheckicon","template","renderitempartial","dataObject","getTestPropsForLabel","text","displayValue","filter","map","updateDatavalue","value","Promise","resolve","setTemplate","partialName","renderGroupby","groupedData","length","groupObj","groupHeaderTitle","renderCheckboxses","data","items","renderWidget","root","horizontal","groupby"],"sources":["checkboxset.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, TouchableOpacity } from 'react-native';\nimport { find, forEach, isEqual, isEmpty } from 'lodash';\nimport { Checkbox } from 'react-native-paper';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport WmCheckboxsetProps from './checkboxset.props';\nimport {\n DEFAULT_CLASS,\n \n WmCheckboxsetStyles,\n} from './checkboxset.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 { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nexport class WmCheckboxsetState extends BaseDatasetState<WmCheckboxsetProps> {\n isValid: boolean = true;\n template: string = \"\";\n}\n\nexport default class WmCheckboxset extends BaseDatasetComponent<WmCheckboxsetProps, WmCheckboxsetState, WmCheckboxsetStyles> {\n constructor(props: WmCheckboxsetProps) {\n super(props, DEFAULT_CLASS, new WmCheckboxsetProps());\n }\n\n onPress(item: any) {\n this.invokeEventCallback('onTap', [null, this.proxy]);\n if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n item.selected = !item.selected;\n const selectedValue: any = [];\n const selectedItem = find(this.state.dataItems, d => isEqual(d.key, item.key));\n const oldValue = this.state.props.datavalue;\n selectedItem.selected = item.selected;\n forEach(this.state.dataItems, (item) => {\n if (item.selected) {\n selectedValue.push(item.datafield);\n }\n });\n this.validate(selectedValue);\n this.updateState({ props: { datavalue: selectedValue }} as WmCheckboxsetState,\n () => {\n this.computeDisplayValue();\n this.invokeEventCallback('onChange', [ undefined, this.proxy, selectedValue, oldValue ]);\n });\n }\n\n renderChild(item: any, index: any) {\n const props = this.state.props;\n const displayText = item.displayexp || item.displayfield;\n return (\n <TouchableOpacity {...this.getTestPropsForAction(index + '')}\n style={this.styles.item}\n onPress={this.onPress.bind(this, item)} key={item.key} {...getAccessibilityProps(AccessibilityWidgetType.CHECKBOX, {...props, checked: item.selected})} accessibilityRole='checkbox' accessibilityLabel={`Checkbox for ${displayText}`}>\n <WmIcon iconclass=\"wi wi-check\" styles={item.selected? this.styles.checkicon : this.styles.uncheckicon} disabled={props.readonly || props.disabled}/>\n {!isEmpty(this.state.template) && this.props.renderitempartial ?\n this.props.renderitempartial(item.dataObject, index, this.state.template) :\n <Text {...this.getTestPropsForLabel(index + '')} style={this.styles.text}>{displayText}</Text>}\n </TouchableOpacity>)\n }\n\n computeDisplayValue() {\n this.updateState({\n props: {\n displayValue: ((this.state.dataItems || [] as any)\n .filter((item: any) => item.selected)\n .map((item: any) => item.displayexp || item.displayfield)) || ''\n }\n } as WmCheckboxsetState);\n }\n\n updateDatavalue(value: any) {\n this.updateState({ props: { datavalue: value }} as WmCheckboxsetState);\n return Promise.resolve();\n }\n\n setTemplate(partialName: any) {\n this.updateState({ template: partialName} as WmCheckboxsetState);\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.renderCheckboxses(groupObj.data)}\n </View>)\n })\n : null}\n </View>\n );\n }\n\n renderCheckboxses(items: any) {\n const props = this.state.props;\n return(<View>\n {items && items.length\n ? items.map((item: any, index: any) => this.renderChild(item, index))\n : null}\n </View>)\n }\n renderWidget(props: WmCheckboxsetProps) {\n const items = this.state.dataItems;\n return (\n <ScrollView style={this.styles.root}>\n <ScrollView horizontal={true}>\n {props.groupby && this.renderGroupby()}\n {!props.groupby && this.renderCheckboxses(items)}\n </ScrollView>\n </ScrollView>\n );\n }\n}\n"],"mappings":"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"}
@@ -8,6 +8,7 @@ export default class WmCheckboxsetProps extends BaseDatasetProps {
8
8
  _defineProperty(this, "dataset", 'Option 1, Option 2, Option 3');
9
9
  _defineProperty(this, "displayValue", '');
10
10
  _defineProperty(this, "required", false);
11
+ _defineProperty(this, "renderitempartial", void 0);
11
12
  }
12
13
  }
13
14
  //# sourceMappingURL=checkboxset.props.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BaseDatasetProps","WmCheckboxsetProps","constructor","arguments","_defineProperty"],"sources":["checkboxset.props.ts"],"sourcesContent":["import BaseDatasetProps from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.props';\n\nexport default class WmCheckboxsetProps extends BaseDatasetProps {\n dataset: any = 'Option 1, Option 2, Option 3';\n displayValue: any = '';\n required: boolean = false;\n}\n"],"mappings":";;;AAAA,OAAOA,gBAAgB,MAAM,0EAA0E;AAEvG,eAAe,MAAMC,kBAAkB,SAASD,gBAAgB,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,kBAChD,8BAA8B;IAAAA,eAAA,uBACzB,EAAE;IAAAA,eAAA,mBACF,KAAK;EAAA;AAC3B"}
1
+ {"version":3,"names":["BaseDatasetProps","WmCheckboxsetProps","constructor","arguments","_defineProperty"],"sources":["checkboxset.props.ts"],"sourcesContent":["import BaseDatasetProps from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.props';\n\nexport default class WmCheckboxsetProps extends BaseDatasetProps {\n dataset: any = 'Option 1, Option 2, Option 3';\n displayValue: any = '';\n required: boolean = false;\n renderitempartial?: (item: any, index: number, partialName: string)=> React.ReactNode;\n}\n"],"mappings":";;;AAAA,OAAOA,gBAAgB,MAAM,0EAA0E;AAEvG,eAAe,MAAMC,kBAAkB,SAASD,gBAAgB,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,kBAChD,8BAA8B;IAAAA,eAAA,uBACzB,EAAE;IAAAA,eAAA,mBACF,KAAK;IAAAA,eAAA;EAAA;AAE3B"}
@@ -1,39 +1,68 @@
1
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); }
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; }
3
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
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); }
2
5
  import React from 'react';
3
- import { View, Text } from 'react-native';
4
- import { RadioButton } from 'react-native-paper';
6
+ import { View, Text, TouchableOpacity } from 'react-native';
5
7
  import WmRadiosetProps from './radioset.props';
6
8
  import { DEFAULT_CLASS } from './radioset.styles';
7
9
  import { BaseDatasetComponent, BaseDatasetState } from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';
8
- export class WmRadiosetState extends BaseDatasetState {}
10
+ import WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';
11
+ import { find, isEqual } from 'lodash-es';
12
+ import { isEmpty } from 'lodash';
13
+ export class WmRadiosetState extends BaseDatasetState {
14
+ constructor() {
15
+ super(...arguments);
16
+ _defineProperty(this, "template", '');
17
+ }
18
+ }
9
19
  export default class WmRadioset extends BaseDatasetComponent {
10
20
  constructor(props) {
11
21
  super(props, DEFAULT_CLASS, new WmRadiosetProps());
12
22
  }
13
- onPress(value) {
23
+ onPress(item) {
14
24
  this.invokeEventCallback('onTap', [null, this.proxy]);
15
- this.onValueChange(value);
25
+ if (this.state.props.disabled || this.state.props.readonly) {
26
+ return;
27
+ }
28
+ item.selected = true;
29
+ let selectedValue = "";
30
+ const selectedItem = find(this.state.dataItems, d => isEqual(d.key, item.key));
31
+ const oldValue = this.state.props.datavalue;
32
+ selectedItem.selected = item.selected;
33
+ selectedValue = selectedItem.selected ? selectedItem.datafield : null;
34
+ this.validate(selectedValue);
35
+ this.updateState({
36
+ props: {
37
+ datavalue: selectedValue
38
+ }
39
+ }, () => {
40
+ this.computeDisplayValue();
41
+ this.invokeEventCallback('onChange', [undefined, this.proxy, selectedValue, oldValue]);
42
+ });
16
43
  }
17
44
  renderChild(item, index, colWidth) {
18
45
  const displayText = item.displayexp || item.displayfield;
19
46
  const value = this.state.props.datafield === 'All Fields' ? this.getItemKey(item.datafield) : item.datafield;
20
- const selected = value === this.state.props.datavalue;
21
- return /*#__PURE__*/React.createElement(View, {
22
- style: [this.styles.item, selected ? this.styles.selectedItem : null, {
47
+ return /*#__PURE__*/React.createElement(TouchableOpacity, _extends({
48
+ style: [this.styles.item, item.selected ? this.styles.selectedItem : null, {
23
49
  width: colWidth
24
50
  }],
51
+ onPress: this.onPress.bind(this, item),
25
52
  key: item.key
26
- }, /*#__PURE__*/React.createElement(RadioButton.Android, _extends({}, this.getTestProps('' + index), {
27
- value: value,
28
- color: 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}`,
33
- disabled: this.state.props.readonly || this.state.props.disabled
34
- })), /*#__PURE__*/React.createElement(Text, {
53
+ }, this.getTestPropsForAction()), /*#__PURE__*/React.createElement(WmIcon, _extends({}, this.getTestProps('' + index), {
54
+ iconclass: "wi wi-fiber-manual-record",
55
+ styles: item.selected ? this.styles.checkedRadio : this.styles.uncheckedRadio,
56
+ disabled: this.state.props.readonly || this.state.props.disabled,
57
+ accessibilitylabel: `Radio button for ${displayText}`
58
+ })), !isEmpty(this.state.template) && this.props.renderitempartial ? this.props.renderitempartial(item.dataObject, index, this.state.template) : /*#__PURE__*/React.createElement(Text, _extends({
35
59
  style: this.styles.radioLabel
36
- }, displayText));
60
+ }, this.getTestPropsForLabel('caption')), displayText));
61
+ }
62
+ setTemplate(partialName) {
63
+ this.updateState({
64
+ template: partialName
65
+ });
37
66
  }
38
67
  renderGroupby() {
39
68
  const groupedData = this.state.groupedData;
@@ -51,12 +80,9 @@ export default class WmRadioset extends BaseDatasetComponent {
51
80
  const props = this.state.props;
52
81
  const noOfColumns = props.itemsperrow.xs || 1;
53
82
  const colWidth = Math.round(100 / noOfColumns) + '%';
54
- return /*#__PURE__*/React.createElement(RadioButton.Group, {
55
- onValueChange: this.onPress.bind(this),
56
- value: this.state.props.datafield === 'All Fields' ? this.getItemKey(props.datavalue) : props.datavalue
57
- }, /*#__PURE__*/React.createElement(View, {
83
+ return /*#__PURE__*/React.createElement(View, {
58
84
  style: this.styles.group
59
- }, items && items.length ? items.map((item, index) => this.renderChild(item, index, colWidth)) : null));
85
+ }, items && items.length ? items.map((item, index) => this.renderChild(item, index, colWidth)) : null);
60
86
  }
61
87
  renderWidget(props) {
62
88
  const items = this.state.dataItems;
@@ -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","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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"}
1
+ {"version":3,"names":["React","View","Text","TouchableOpacity","WmRadiosetProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmIcon","find","isEqual","isEmpty","WmRadiosetState","constructor","arguments","_defineProperty","WmRadioset","props","onPress","item","invokeEventCallback","proxy","state","disabled","readonly","selected","selectedValue","selectedItem","dataItems","d","key","oldValue","datavalue","datafield","validate","updateState","computeDisplayValue","undefined","renderChild","index","colWidth","displayText","displayexp","displayfield","value","getItemKey","createElement","_extends","style","styles","width","bind","getTestPropsForAction","getTestProps","iconclass","checkedRadio","uncheckedRadio","accessibilitylabel","template","renderitempartial","dataObject","radioLabel","getTestPropsForLabel","setTemplate","partialName","renderGroupby","groupedData","accessibilityRole","length","map","groupObj","groupHeaderTitle","renderRadioButtons","data","items","noOfColumns","itemsperrow","xs","Math","round","group","renderWidget","root","groupby"],"sources":["radioset.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, DimensionValue, TouchableOpacity } 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 WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmSkeleton, { createSkeleton } from '../../basic/skeleton/skeleton.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { find, forEach, isEqual } from 'lodash-es';\nimport { isEmpty } from 'lodash';\n\nexport class WmRadiosetState extends BaseDatasetState<WmRadiosetProps> {\n template: string = '';\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(item: any) {\n this.invokeEventCallback('onTap', [null, this.proxy]);\n if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n item.selected = true;\n let selectedValue: any = \"\";\n const selectedItem = find(this.state.dataItems, d => isEqual(d.key, item.key));\n const oldValue = this.state.props.datavalue;\n selectedItem.selected = item.selected;\n selectedValue = selectedItem.selected ? selectedItem.datafield : null;\n this.validate(selectedValue);\n this.updateState({ props: { datavalue: selectedValue }} as WmRadiosetState,() => {\n this.computeDisplayValue();\n this.invokeEventCallback('onChange', [ undefined, this.proxy, selectedValue, oldValue ]);\n });\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 return (\n <TouchableOpacity style={[\n this.styles.item,\n item.selected ? this.styles.selectedItem : null,\n {width: colWidth}]} onPress={this.onPress.bind(this, item)} key={item.key} {...this.getTestPropsForAction()}>\n <WmIcon {...this.getTestProps('' + index)} iconclass=\"wi wi-fiber-manual-record\" styles={item.selected ? this.styles.checkedRadio : this.styles.uncheckedRadio} disabled={this.state.props.readonly || this.state.props.disabled} accessibilitylabel={`Radio button for ${displayText}`}></WmIcon>\n {!isEmpty(this.state.template) && this.props.renderitempartial ?\n this.props.renderitempartial(item.dataObject, index, this.state.template) : <Text style={this.styles.radioLabel} {...this.getTestPropsForLabel('caption')}>{displayText}</Text>}\n </TouchableOpacity>)\n }\n\n setTemplate(partialName: any) {\n this.updateState({ template: partialName } as WmRadiosetState);\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(\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 }\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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"}
@@ -12,6 +12,7 @@ export default class WmRadiosetProps extends BaseDatasetProps {
12
12
  md: 1,
13
13
  lg: 1
14
14
  });
15
+ _defineProperty(this, "renderitempartial", void 0);
15
16
  }
16
17
  }
17
18
  //# sourceMappingURL=radioset.props.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BaseDatasetProps","WmRadiosetProps","constructor","arguments","_defineProperty","xs","sm","md","lg"],"sources":["radioset.props.ts"],"sourcesContent":["import BaseDatasetProps from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.props';\n\nexport default class WmRadiosetProps extends BaseDatasetProps {\n dataset: any = 'Option 1, Option 2, Option 3';\n itemsperrow = {\n xs: 1,\n sm: 1,\n md: 1,\n lg: 1,\n };\n}\n"],"mappings":";;;AAAA,OAAOA,gBAAgB,MAAM,0EAA0E;AAEvG,eAAe,MAAMC,eAAe,SAASD,gBAAgB,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,kBAC7C,8BAA8B;IAAAA,eAAA,sBAC9B;MACbC,EAAE,EAAE,CAAC;MACLC,EAAE,EAAE,CAAC;MACLC,EAAE,EAAE,CAAC;MACLC,EAAE,EAAE;IACP,CAAC;EAAA;AACF"}
1
+ {"version":3,"names":["BaseDatasetProps","WmRadiosetProps","constructor","arguments","_defineProperty","xs","sm","md","lg"],"sources":["radioset.props.ts"],"sourcesContent":["import BaseDatasetProps from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.props';\n\nexport default class WmRadiosetProps extends BaseDatasetProps {\n dataset: any = 'Option 1, Option 2, Option 3';\n itemsperrow = {\n xs: 1,\n sm: 1,\n md: 1,\n lg: 1,\n };\n renderitempartial?: (item: any, index: number, partialName: string)=> React.ReactNode;\n}\n"],"mappings":";;;AAAA,OAAOA,gBAAgB,MAAM,0EAA0E;AAEvG,eAAe,MAAMC,eAAe,SAASD,gBAAgB,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,kBAC7C,8BAA8B;IAAAA,eAAA,sBAC9B;MACbC,EAAE,EAAE,CAAC;MACLC,EAAE,EAAE,CAAC;MACLC,EAAE,EAAE,CAAC;MACLC,EAAE,EAAE;IACP,CAAC;IAAAJ,eAAA;EAAA;AAEF"}
@@ -21,14 +21,16 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
21
21
  },
22
22
  item: {
23
23
  flexDirection: 'row',
24
- alignContent: 'center'
24
+ alignContent: 'center',
25
+ marginTop: 8
25
26
  },
26
27
  selectedItem: {},
27
28
  radioLabel: {
28
29
  alignSelf: 'center',
29
30
  fontFamily: themeVariables.baseFont,
30
31
  fontSize: 16,
31
- color: themeVariables.labelDefaultColor
32
+ color: themeVariables.labelDefaultColor,
33
+ marginLeft: 8
32
34
  },
33
35
  skeleton: {
34
36
  root: {
@@ -36,6 +38,37 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
36
38
  height: 16,
37
39
  borderRadius: 4
38
40
  }
41
+ },
42
+ uncheckedRadio: {
43
+ root: {
44
+ width: 20,
45
+ height: 20,
46
+ borderRadius: 10,
47
+ borderStyle: "solid",
48
+ borderWidth: 2,
49
+ borderColor: themeVariables.checkedBorderColor
50
+ },
51
+ text: {},
52
+ icon: {
53
+ opacity: 0
54
+ }
55
+ },
56
+ checkedRadio: {
57
+ root: {
58
+ width: 20,
59
+ height: 20,
60
+ borderRadius: 10,
61
+ borderStyle: "solid",
62
+ borderWidth: 2,
63
+ borderColor: themeVariables.checkedBorderColor
64
+ },
65
+ text: {
66
+ fontSize: 16
67
+ },
68
+ icon: {
69
+ color: themeVariables.checkedColor,
70
+ padding: 0
71
+ }
39
72
  }
40
73
  });
41
74
  addStyle(DEFAULT_CLASS + '-disabled', '', {
@@ -1 +1 @@
1
- {"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","color","checkedColor","text","group","flexDirection","flexWrap","groupHeaderTitle","backgroundColor","groupHeadingBgColor","fontSize","paddingLeft","paddingRight","lineHeight","fontFamily","baseFont","item","alignContent","selectedItem","radioLabel","alignSelf","labelDefaultColor","skeleton","width","height","borderRadius","checkedDisabledColor","opacity"],"sources":["radioset.styles.ts"],"sourcesContent":["import BASE_THEME, { AllStyle } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport type WmRadiosetStyles = BaseStyles & {\n group: AllStyle,\n groupHeaderTitle: AllStyle;\n item: AllStyle;\n selectedItem: AllStyle;\n radioLabel: AllStyle;\n skeleton: WmSkeletonStyles;\n};\n\nexport const DEFAULT_CLASS = 'app-radioset';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmRadiosetStyles = defineStyles({\n root: {\n color: themeVariables.checkedColor\n },\n text: {},\n group: {\n flexDirection: 'row',\n flexWrap: 'wrap'\n },\n groupHeaderTitle: {\n backgroundColor: themeVariables.groupHeadingBgColor,\n fontSize: 16,\n paddingLeft: 8,\n paddingRight: 8,\n lineHeight: 40,\n fontFamily: themeVariables.baseFont\n } as AllStyle,\n item: {\n flexDirection: 'row',\n alignContent: 'center',\n } as AllStyle,\n selectedItem: {} as AllStyle,\n radioLabel: {\n alignSelf: 'center',\n fontFamily: themeVariables.baseFont,\n fontSize: 16,\n color: themeVariables.labelDefaultColor\n } as AllStyle,\n skeleton: {\n root: {\n width: '100%',\n height: 16,\n borderRadius: 4\n }\n } as any as WmSkeletonStyles\n });\n\n addStyle(DEFAULT_CLASS + '-disabled', '', {\n root : {\n color: themeVariables.checkedDisabledColor,\n opacity: 0.8\n }\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n});\n"],"mappings":"AAAA,OAAOA,UAAU,MAAoB,wCAAwC;AAC7E,SAAqBC,YAAY,QAAQ,+CAA+C;AAYxF,OAAO,MAAMC,aAAa,GAAG,cAAc;AAC3CF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACrD,MAAMC,aAA+B,GAAGL,YAAY,CAAC;IACjDM,IAAI,EAAE;MACJC,KAAK,EAAEJ,cAAc,CAACK;IACxB,CAAC;IACDC,IAAI,EAAE,CAAC,CAAC;IACRC,KAAK,EAAE;MACLC,aAAa,EAAE,KAAK;MACpBC,QAAQ,EAAE;IACZ,CAAC;IACDC,gBAAgB,EAAE;MAChBC,eAAe,EAAEX,cAAc,CAACY,mBAAmB;MACnDC,QAAQ,EAAE,EAAE;MACZC,WAAW,EAAE,CAAC;MACdC,YAAY,EAAE,CAAC;MACfC,UAAU,EAAE,EAAE;MACdC,UAAU,EAAEjB,cAAc,CAACkB;IAC7B,CAAa;IACbC,IAAI,EAAE;MACJX,aAAa,EAAE,KAAK;MACpBY,YAAY,EAAE;IAChB,CAAa;IACbC,YAAY,EAAE,CAAC,CAAa;IAC5BC,UAAU,EAAE;MACRC,SAAS,EAAE,QAAQ;MACnBN,UAAU,EAAEjB,cAAc,CAACkB,QAAQ;MACnCL,QAAQ,EAAE,EAAE;MACZT,KAAK,EAAEJ,cAAc,CAACwB;IAC1B,CAAa;IACbC,QAAQ,EAAE;MACRtB,IAAI,EAAE;QACJuB,KAAK,EAAE,MAAM;QACbC,MAAM,EAAE,EAAE;QACVC,YAAY,EAAE;MAChB;IACF;EACJ,CAAC,CAAC;EAEF3B,QAAQ,CAACH,aAAa,GAAG,WAAW,EAAE,EAAE,EAAE;IACxCK,IAAI,EAAG;MACLC,KAAK,EAAEJ,cAAc,CAAC6B,oBAAoB;MAC1CC,OAAO,EAAE;IACX;EACF,CAAC,CAAC;EAEF7B,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;AAC5C,CAAC,CAAC"}
1
+ {"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","color","checkedColor","text","group","flexDirection","flexWrap","groupHeaderTitle","backgroundColor","groupHeadingBgColor","fontSize","paddingLeft","paddingRight","lineHeight","fontFamily","baseFont","item","alignContent","marginTop","selectedItem","radioLabel","alignSelf","labelDefaultColor","marginLeft","skeleton","width","height","borderRadius","uncheckedRadio","borderStyle","borderWidth","borderColor","checkedBorderColor","icon","opacity","checkedRadio","padding","checkedDisabledColor"],"sources":["radioset.styles.ts"],"sourcesContent":["import BASE_THEME, { AllStyle } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\nimport { WmIconStyles } from '@wavemaker/app-rn-runtime/components/basic/icon/icon.styles';\n\nexport type WmRadiosetStyles = BaseStyles & {\n group: AllStyle,\n groupHeaderTitle: AllStyle;\n item: AllStyle;\n selectedItem: AllStyle;\n radioLabel: AllStyle;\n skeleton: WmSkeletonStyles;\n uncheckedRadio: WmIconStyles;\n checkedRadio: WmIconStyles;\n};\n\nexport const DEFAULT_CLASS = 'app-radioset';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmRadiosetStyles = defineStyles({\n root: {\n color: themeVariables.checkedColor\n },\n text: {},\n group: {\n flexDirection: 'row',\n flexWrap: 'wrap'\n },\n groupHeaderTitle: {\n backgroundColor: themeVariables.groupHeadingBgColor,\n fontSize: 16,\n paddingLeft: 8,\n paddingRight: 8,\n lineHeight: 40,\n fontFamily: themeVariables.baseFont\n } as AllStyle,\n item: {\n flexDirection: 'row',\n alignContent: 'center',\n marginTop: 8\n } as AllStyle,\n selectedItem: {} as AllStyle,\n radioLabel: {\n alignSelf: 'center',\n fontFamily: themeVariables.baseFont,\n fontSize: 16,\n color: themeVariables.labelDefaultColor,\n marginLeft: 8\n } as AllStyle,\n skeleton: {\n root: {\n width: '100%',\n height: 16,\n borderRadius: 4\n }\n } as any as WmSkeletonStyles,\n uncheckedRadio: {\n root: {\n width: 20,\n height: 20,\n borderRadius: 10,\n borderStyle: \"solid\",\n borderWidth: 2,\n borderColor: themeVariables.checkedBorderColor,\n },\n text: {},\n icon: {\n opacity: 0,\n }\n } as WmIconStyles,\n checkedRadio : {\n root: {\n width: 20,\n height: 20,\n borderRadius: 10,\n borderStyle: \"solid\",\n borderWidth: 2,\n borderColor: themeVariables.checkedBorderColor,\n },\n text: {\n fontSize: 16,\n },\n icon : {\n color: themeVariables.checkedColor,\n padding: 0,\n }\n } as WmIconStyles\n});\n\n addStyle(DEFAULT_CLASS + '-disabled', '', {\n root : {\n color: themeVariables.checkedDisabledColor,\n opacity: 0.8\n }\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n});\n"],"mappings":"AAAA,OAAOA,UAAU,MAAoB,wCAAwC;AAC7E,SAAqBC,YAAY,QAAQ,+CAA+C;AAexF,OAAO,MAAMC,aAAa,GAAG,cAAc;AAC3CF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACrD,MAAMC,aAA+B,GAAGL,YAAY,CAAC;IACjDM,IAAI,EAAE;MACJC,KAAK,EAAEJ,cAAc,CAACK;IACxB,CAAC;IACDC,IAAI,EAAE,CAAC,CAAC;IACRC,KAAK,EAAE;MACLC,aAAa,EAAE,KAAK;MACpBC,QAAQ,EAAE;IACZ,CAAC;IACDC,gBAAgB,EAAE;MAChBC,eAAe,EAAEX,cAAc,CAACY,mBAAmB;MACnDC,QAAQ,EAAE,EAAE;MACZC,WAAW,EAAE,CAAC;MACdC,YAAY,EAAE,CAAC;MACfC,UAAU,EAAE,EAAE;MACdC,UAAU,EAAEjB,cAAc,CAACkB;IAC7B,CAAa;IACbC,IAAI,EAAE;MACJX,aAAa,EAAE,KAAK;MACpBY,YAAY,EAAE,QAAQ;MACtBC,SAAS,EAAE;IACb,CAAa;IACbC,YAAY,EAAE,CAAC,CAAa;IAC5BC,UAAU,EAAE;MACRC,SAAS,EAAE,QAAQ;MACnBP,UAAU,EAAEjB,cAAc,CAACkB,QAAQ;MACnCL,QAAQ,EAAE,EAAE;MACZT,KAAK,EAAEJ,cAAc,CAACyB,iBAAiB;MACvCC,UAAU,EAAE;IAChB,CAAa;IACbC,QAAQ,EAAE;MACRxB,IAAI,EAAE;QACJyB,KAAK,EAAE,MAAM;QACbC,MAAM,EAAE,EAAE;QACVC,YAAY,EAAE;MAChB;IACF,CAA4B;IAC5BC,cAAc,EAAE;MACd5B,IAAI,EAAE;QACJyB,KAAK,EAAE,EAAE;QACTC,MAAM,EAAE,EAAE;QACVC,YAAY,EAAE,EAAE;QAChBE,WAAW,EAAE,OAAO;QACpBC,WAAW,EAAE,CAAC;QACdC,WAAW,EAAElC,cAAc,CAACmC;MAC9B,CAAC;MACD7B,IAAI,EAAE,CAAC,CAAC;MACR8B,IAAI,EAAE;QACJC,OAAO,EAAE;MACX;IACF,CAAiB;IACjBC,YAAY,EAAG;MACbnC,IAAI,EAAE;QACJyB,KAAK,EAAE,EAAE;QACTC,MAAM,EAAE,EAAE;QACVC,YAAY,EAAE,EAAE;QAChBE,WAAW,EAAE,OAAO;QACpBC,WAAW,EAAE,CAAC;QACdC,WAAW,EAAElC,cAAc,CAACmC;MAC9B,CAAC;MACD7B,IAAI,EAAE;QACJO,QAAQ,EAAE;MACZ,CAAC;MACDuB,IAAI,EAAG;QACLhC,KAAK,EAAEJ,cAAc,CAACK,YAAY;QAClCkC,OAAO,EAAE;MACX;IACN;EACF,CAAC,CAAC;EAEAtC,QAAQ,CAACH,aAAa,GAAG,WAAW,EAAE,EAAE,EAAE;IACxCK,IAAI,EAAG;MACLC,KAAK,EAAEJ,cAAc,CAACwC,oBAAoB;MAC1CH,OAAO,EAAE;IACX;EACF,CAAC,CAAC;EAEFpC,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;AAC5C,CAAC,CAAC"}
@@ -144,9 +144,10 @@ export default class WmSlider extends BaseComponent {
144
144
  }]
145
145
  }]
146
146
  }, /*#__PURE__*/React.createElement(BackgroundComponent, {
147
- size: this.styles.thumb.backgroundSize,
147
+ size: this.styles.thumb.backgroundSize || 'contain',
148
148
  position: this.styles.thumb.backgroundPosition,
149
- image: this.styles.thumb.backgroundImage
149
+ image: this.styles.thumb.backgroundImage,
150
+ repeat: this.styles.thumb.backgroundRepeat || 'no-repeat'
150
151
  }))));
151
152
  }
152
153
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","TouchableOpacity","Animated","debounce","isNumber","isNil","Gesture","GestureDetector","BackgroundComponent","BaseComponent","BaseComponentState","WmSliderProps","DEFAULT_CLASS","isWebPreviewMode","WmSliderState","constructor","arguments","_defineProperty","WmSlider","props","Value","Pan","value","state","datavalue","updateState","onFieldChange","e","layout","nativeEvent","track","top","y","left","x","width","height","computePosition","configureGesture","trackGesture","knobGesture","getValueFromGesture","positionX","factor","step","maxvalue","minvalue","Math","round","max","min","gesture","maxPointers","minDistance","onChange","absoluteX","forceUpdate","onEnd","getDataValue","onPropertyChange","name","$new","$old","invokeEventCallback","setProp","_this$state$track","_this$position","position","setValue","isNaN","renderWidget","_this$state$track2","createElement","style","styles","root","_background","flexDirection","justifyContent","_extends","getTestProps","text","minimumValue","maximumValue","activeOpacity","onLayout","onLayoutChange","minimumTrack","transform","translateX","interpolate","inputRange","outputRange","maximumTrack","thumb","size","backgroundSize","backgroundPosition","image","backgroundImage"],"sources":["slider.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, LayoutChangeEvent, TouchableOpacity, Animated, Easing } from 'react-native';\nimport { debounce, isNumber, isNil } from 'lodash';\nimport { Gesture, GestureDetector, PanGesture } from 'react-native-gesture-handler';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmSliderProps from './slider.props';\nimport { DEFAULT_CLASS, WmSliderStyles } from './slider.styles';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class WmSliderState extends BaseComponentState<WmSliderProps> {\n track?: {\n top: number,\n left: number,\n width: number,\n height: number\n };\n}\n\nexport default class WmSlider extends BaseComponent<WmSliderProps, WmSliderState, WmSliderStyles> {\n valueBeforeSlide: number = 0;\n private position = new Animated.Value(0);\n private trackGesture = Gesture.Pan();\n private knobGesture = Gesture.Pan();\n\n constructor(props: WmSliderProps) {\n super(props, DEFAULT_CLASS, new WmSliderProps());\n this.configureGesture(this.trackGesture);\n this.configureGesture(this.knobGesture);\n }\n\n getValueFromGesture(positionX: number) {\n if (this.state.track) {\n const factor = (positionX - this.state.track.left) / this.state.track.width;\n const props = this.state.props;\n const step = props.step || (props.maxvalue - props.minvalue) / 100;\n let value = Math.round((factor * props.maxvalue + props.minvalue) / step) * step;\n return Math.max(Math.min(props.maxvalue, value), props.minvalue);\n }\n return 0;\n };\n\n configureGesture(gesture: PanGesture) {\n gesture\n .maxPointers(1)\n .minDistance(0)\n .onChange(e => {\n const value = this.getValueFromGesture(e.absoluteX);\n this.computePosition(value);\n this.forceUpdate();\n })\n .onEnd(e => {\n if (this.state.track) {\n const value = this.getValueFromGesture(e.absoluteX);\n this.onChange(value);\n this.forceUpdate();\n }\n })\n }\n\n getDataValue() {\n if (isNil(this.props.datavalue)) {\n return this.state.props.minvalue + (this.state.props.maxvalue - this.state.props.minvalue)/2;\n }\n return Math.min(Math.max(this.props.datavalue, this.state.props.minvalue), this.state.props.maxvalue);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch(name) {\n case 'datavalue':\n if (isNumber($new) && isNumber($old)) {\n this.invokeEventCallback('onChange', [null, this, $new, $old]);\n }\n case 'maxvalue':\n case 'minvalue': \n this.setProp('datavalue', this.getDataValue() || 0)\n this.computePosition(this.state.props.datavalue);\n }\n }\n\n onChange = debounce((value: number) => {\n if (this.state.props.datavalue !== value) {\n this.updateState({\n props : {\n datavalue: value\n }\n } as WmSliderState);\n this.props.onFieldChange &&\n this.props.onFieldChange(\n 'datavalue',\n value,\n this.state.props.datavalue\n );\n }\n }, 200);\n\n computePosition(datavalue: number) {\n const props = this.state.props;\n const width = this.state.track?.width || 0;\n const value = ((datavalue - props.minvalue) / props.maxvalue) * (width);\n this.position?.setValue(isNaN(value) ? 0 : value);\n }\n\n onLayoutChange = (e: LayoutChangeEvent) => {\n const layout = e.nativeEvent.layout;\n this.updateState({\n track: {\n top: isWebPreviewMode() ? (layout as any).top : layout.y,\n left: isWebPreviewMode() ? (layout as any).left : layout.x,\n width: layout.width,\n height: layout.height\n }\n } as WmSliderState, () => this.computePosition(this.state.props.datavalue));\n }\n\n renderWidget(props: WmSliderProps) {\n const width = this.state.track?.width || 0;\n return (\n <View style={this.styles.root}>\n {this._background}\n <View style={{flexDirection:'row', justifyContent:'space-between'}}>\n <Text {...this.getTestProps('min')} style={[this.styles.text, this.styles.minimumValue]}>{props.minvalue}</Text>\n <Text {...this.getTestProps('value')} style={[this.styles.text, this.styles.value]}>{props.datavalue}</Text>\n <Text {...this.getTestProps('max')} style={[this.styles.text, this.styles.maximumValue]}>{props.maxvalue}</Text>\n </View>\n <GestureDetector gesture={this.trackGesture}>\n <TouchableOpacity\n activeOpacity={1} \n style={this.styles.track}\n onLayout={this.onLayoutChange}\n {...this.getTestProps()}>\n <Animated.View style={[this.styles.minimumTrack, {\n width: width,\n transform: [{\n translateX: this.position.interpolate({\n inputRange: [0, width],\n outputRange: [-width, 0]\n })\n }]\n }]}></Animated.View>\n <Animated.View style={[this.styles.maximumTrack, {\n width: width,\n transform: [{\n translateX: this.position\n }]\n }]}></Animated.View>\n </TouchableOpacity>\n </GestureDetector>\n <GestureDetector gesture={this.knobGesture}>\n <Animated.View style={[this.styles.thumb, {\n transform: [{\n translateX: this.position\n }]\n }]}>\n <BackgroundComponent\n size={(this.styles.thumb as any).backgroundSize}\n position={(this.styles.thumb as any).backgroundPosition}\n image={(this.styles.thumb as any).backgroundImage}> \n </BackgroundComponent>\n </Animated.View>\n </GestureDetector>\n </View>);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","View","Text","TouchableOpacity","Animated","debounce","isNumber","isNil","Gesture","GestureDetector","BackgroundComponent","BaseComponent","BaseComponentState","WmSliderProps","DEFAULT_CLASS","isWebPreviewMode","WmSliderState","constructor","arguments","_defineProperty","WmSlider","props","Value","Pan","value","state","datavalue","updateState","onFieldChange","e","layout","nativeEvent","track","top","y","left","x","width","height","computePosition","configureGesture","trackGesture","knobGesture","getValueFromGesture","positionX","factor","step","maxvalue","minvalue","Math","round","max","min","gesture","maxPointers","minDistance","onChange","absoluteX","forceUpdate","onEnd","getDataValue","onPropertyChange","name","$new","$old","invokeEventCallback","setProp","_this$state$track","_this$position","position","setValue","isNaN","renderWidget","_this$state$track2","createElement","style","styles","root","_background","flexDirection","justifyContent","_extends","getTestProps","text","minimumValue","maximumValue","activeOpacity","onLayout","onLayoutChange","minimumTrack","transform","translateX","interpolate","inputRange","outputRange","maximumTrack","thumb","size","backgroundSize","backgroundPosition","image","backgroundImage","repeat","backgroundRepeat"],"sources":["slider.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, LayoutChangeEvent, TouchableOpacity, Animated, Easing } from 'react-native';\nimport { debounce, isNumber, isNil } from 'lodash';\nimport { Gesture, GestureDetector, PanGesture } from 'react-native-gesture-handler';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmSliderProps from './slider.props';\nimport { DEFAULT_CLASS, WmSliderStyles } from './slider.styles';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class WmSliderState extends BaseComponentState<WmSliderProps> {\n track?: {\n top: number,\n left: number,\n width: number,\n height: number\n };\n}\n\nexport default class WmSlider extends BaseComponent<WmSliderProps, WmSliderState, WmSliderStyles> {\n valueBeforeSlide: number = 0;\n private position = new Animated.Value(0);\n private trackGesture = Gesture.Pan();\n private knobGesture = Gesture.Pan();\n\n constructor(props: WmSliderProps) {\n super(props, DEFAULT_CLASS, new WmSliderProps());\n this.configureGesture(this.trackGesture);\n this.configureGesture(this.knobGesture);\n }\n\n getValueFromGesture(positionX: number) {\n if (this.state.track) {\n const factor = (positionX - this.state.track.left) / this.state.track.width;\n const props = this.state.props;\n const step = props.step || (props.maxvalue - props.minvalue) / 100;\n let value = Math.round((factor * props.maxvalue + props.minvalue) / step) * step;\n return Math.max(Math.min(props.maxvalue, value), props.minvalue);\n }\n return 0;\n };\n\n configureGesture(gesture: PanGesture) {\n gesture\n .maxPointers(1)\n .minDistance(0)\n .onChange(e => {\n const value = this.getValueFromGesture(e.absoluteX);\n this.computePosition(value);\n this.forceUpdate();\n })\n .onEnd(e => {\n if (this.state.track) {\n const value = this.getValueFromGesture(e.absoluteX);\n this.onChange(value);\n this.forceUpdate();\n }\n })\n }\n\n getDataValue() {\n if (isNil(this.props.datavalue)) {\n return this.state.props.minvalue + (this.state.props.maxvalue - this.state.props.minvalue)/2;\n }\n return Math.min(Math.max(this.props.datavalue, this.state.props.minvalue), this.state.props.maxvalue);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch(name) {\n case 'datavalue':\n if (isNumber($new) && isNumber($old)) {\n this.invokeEventCallback('onChange', [null, this, $new, $old]);\n }\n case 'maxvalue':\n case 'minvalue': \n this.setProp('datavalue', this.getDataValue() || 0)\n this.computePosition(this.state.props.datavalue);\n }\n }\n\n onChange = debounce((value: number) => {\n if (this.state.props.datavalue !== value) {\n this.updateState({\n props : {\n datavalue: value\n }\n } as WmSliderState);\n this.props.onFieldChange &&\n this.props.onFieldChange(\n 'datavalue',\n value,\n this.state.props.datavalue\n );\n }\n }, 200);\n\n computePosition(datavalue: number) {\n const props = this.state.props;\n const width = this.state.track?.width || 0;\n const value = ((datavalue - props.minvalue) / props.maxvalue) * (width);\n this.position?.setValue(isNaN(value) ? 0 : value);\n }\n\n onLayoutChange = (e: LayoutChangeEvent) => {\n const layout = e.nativeEvent.layout;\n this.updateState({\n track: {\n top: isWebPreviewMode() ? (layout as any).top : layout.y,\n left: isWebPreviewMode() ? (layout as any).left : layout.x,\n width: layout.width,\n height: layout.height\n }\n } as WmSliderState, () => this.computePosition(this.state.props.datavalue));\n }\n\n renderWidget(props: WmSliderProps) {\n const width = this.state.track?.width || 0;\n return (\n <View style={this.styles.root}>\n {this._background}\n <View style={{flexDirection:'row', justifyContent:'space-between'}}>\n <Text {...this.getTestProps('min')} style={[this.styles.text, this.styles.minimumValue]}>{props.minvalue}</Text>\n <Text {...this.getTestProps('value')} style={[this.styles.text, this.styles.value]}>{props.datavalue}</Text>\n <Text {...this.getTestProps('max')} style={[this.styles.text, this.styles.maximumValue]}>{props.maxvalue}</Text>\n </View>\n <GestureDetector gesture={this.trackGesture}>\n <TouchableOpacity\n activeOpacity={1} \n style={this.styles.track}\n onLayout={this.onLayoutChange}\n {...this.getTestProps()}>\n <Animated.View style={[this.styles.minimumTrack, {\n width: width,\n transform: [{\n translateX: this.position.interpolate({\n inputRange: [0, width],\n outputRange: [-width, 0]\n })\n }]\n }]}></Animated.View>\n <Animated.View style={[this.styles.maximumTrack, {\n width: width,\n transform: [{\n translateX: this.position\n }]\n }]}></Animated.View>\n </TouchableOpacity>\n </GestureDetector>\n <GestureDetector gesture={this.knobGesture}>\n <Animated.View style={[this.styles.thumb, {\n transform: [{\n translateX: this.position\n }]\n }]}>\n <BackgroundComponent\n size={(this.styles.thumb as any).backgroundSize || 'contain'}\n position={(this.styles.thumb as any).backgroundPosition}\n image={(this.styles.thumb as any).backgroundImage}\n repeat={(this.styles.thumb as any).backgroundRepeat || 'no-repeat'}> \n </BackgroundComponent>\n </Animated.View>\n </GestureDetector>\n </View>);\n }\n}\n"],"mappings":"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"}
@@ -39,12 +39,14 @@ export default class WmText extends BaseInputComponent {
39
39
  floatingLabelStyle: this.styles.floatingLabel,
40
40
  activeFloatingLabelStyle: this.styles.activeFloatingLabel,
41
41
  placeholderTextColor: this.styles.placeholderText.color,
42
- style: [this.styles.root, this.state.isValid ? {} : this.styles.invalid],
42
+ style: [this.styles.root, this.styles.text, this.state.isValid ? {} : this.styles.invalid],
43
43
  keyboardType: this.state.keyboardType,
44
44
  autoComplete: props.autocomplete ? 'username' : 'off',
45
45
  autoFocus: props.autofocus,
46
46
  editable: props.disabled || props.readonly ? false : true,
47
- secureTextEntry: props.type === 'password' ? true : false,
47
+ secureTextEntry: props.type === 'password' && !props.maskchar ? true : false,
48
+ displayformat: props.displayformat,
49
+ maskchar: props.maskchar,
48
50
  maxLength: props.maxchars,
49
51
  placeholder: props.placeholder,
50
52
  onBlur: this.onBlur.bind(this),
@@ -1 +1 @@
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":";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;AAC/B,SAASC,uBAAuB,EAAEC,qBAAqB,QAAQ,8CAA8C;AAE7G,OAAO,MAAMC,WAAW,SAASJ,cAAc,CAAc;AAG7D,eAAe,MAAMK,MAAM,SAASN,kBAAkB,CAAyC;EAE7FO,WAAWA,CAACC,KAAkB,EAAE;IAC9B,KAAK,CAACA,KAAK,EAAEV,aAAa,EAAE,IAAID,WAAW,CAAC,CAAC,EAAE,IAAIQ,WAAW,CAAC,CAAC,CAAC;EACnE;EAEOI,iBAAiBA,CAAA,EAAuB;IAC7C,MAAMC,OAAO,GAAG,EAAE;IAClB,IAAI,IAAI,CAACC,KAAK,CAACH,KAAK,CAACI,aAAa,EAAE;MAClCF,OAAO,CAACG,IAAI,CAAC,qBAAqB,CAAC;IACrC;IACAH,OAAO,CAACG,IAAI,CAAC,KAAK,CAACJ,iBAAiB,CAAC,CAAC,CAAC;IACvC,OAAOC,OAAO,CAACI,IAAI,CAAC,GAAG,CAAC;EAC1B;EAEAC,YAAYA,CAACP,KAAkB,EAAE;IAAA,IAAAQ,qBAAA;IAC/B,IAAIC,IAAS,GAAG,CAAC,CAAC;IAClB,MAAMC,SAAS,GAAGtB,QAAQ,CAACuB,EAAE,KAAK,KAAK,GAAG,OAAO,GAAG,cAAc;IAClEF,IAAI,CAACC,SAAS,CAAC,GAAG,EAAAF,qBAAA,OAAI,CAACL,KAAK,CAACS,SAAS,cAAAJ,qBAAA,uBAApBA,qBAAA,CAAsBK,QAAQ,CAAC,CAAC,KAAI,EAAE;IACxD,oBACI1B,KAAA,CAAA2B,aAAA,CAACvB,WAAW,EAAAwB,QAAA,KACN,IAAI,CAACC,oBAAoB,CAAC,CAAC,EAC3BpB,qBAAqB,CACvBD,uBAAuB,CAACsB,IAAI,EAC5BjB,KACF,CAAC;MACDkB,GAAG,EAAGA,GAAQ,IAAK;QAAC,IAAI,CAACC,SAAS,GAAGD,GAAG;QACtC;QACF,IAAIA,GAAG,IAAI,CAACxB,MAAM,CAACwB,GAAG,CAACE,cAAc,CAAC,IAAI,CAAC1B,MAAM,CAACwB,GAAG,CAACG,YAAY,CAAC,EAAE;UACnE;UACAH,GAAG,CAACE,cAAc,GAAGF,GAAG,CAACG,YAAY,GAAG,IAAI,CAACC,MAAM;QACrD;MAAC;IAAE,GACCb,IAAI;MACRc,aAAa,EAAEvB,KAAK,CAACI,aAAc;MACnCoB,kBAAkB,EAAE,IAAI,CAACC,MAAM,CAACF,aAAc;MAC9CG,wBAAwB,EAAE,IAAI,CAACD,MAAM,CAACE,mBAAoB;MAC1DC,oBAAoB,EAAE,IAAI,CAACH,MAAM,CAACI,eAAe,CAACC,KAAa;MAC/DC,KAAK,EAAE,CAAC,IAAI,CAACN,MAAM,CAACO,IAAI,EAAE,IAAI,CAAC7B,KAAK,CAAC8B,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAACR,MAAM,CAACS,OAAO,CAAE;MACzEC,YAAY,EAAE,IAAI,CAAChC,KAAK,CAACgC,YAAa;MACtCC,YAAY,EAAEpC,KAAK,CAACqC,YAAY,GAAG,UAAU,GAAG,KAAM;MACtDC,SAAS,EAAEtC,KAAK,CAACuC,SAAU;MAC3BC,QAAQ,EAAExC,KAAK,CAACyC,QAAQ,IAAIzC,KAAK,CAAC0C,QAAQ,GAAG,KAAK,GAAG,IAAK;MAC1DC,eAAe,EAAE3C,KAAK,CAAC4C,IAAI,KAAK,UAAU,GAAG,IAAI,GAAG,KAAM;MAC1DC,SAAS,EAAE7C,KAAK,CAAC8C,QAAS;MAC1BC,WAAW,EAAE/C,KAAK,CAAC+C,WAAY;MAC/BC,MAAM,EAAE,IAAI,CAACA,MAAM,CAACC,IAAI,CAAC,IAAI,CAAE;MAC/BC,OAAO,EAAE,IAAI,CAACA,OAAO,CAACD,IAAI,CAAC,IAAI,CAAE;MACjCE,UAAU,EAAE,IAAI,CAACA,UAAU,CAACF,IAAI,CAAC,IAAI,CAAE;MACvCG,YAAY,EAAE,IAAI,CAACA,YAAY,CAACH,IAAI,CAAC,IAAI,CAAE;MAC3CI,QAAQ,EAAE,IAAI,CAACC,YAAY,CAACL,IAAI,CAAC,IAAI,CAAE;MACvCM,qBAAqB,EAAE,IAAI,CAAC9B,MAAM,CAAC+B,IAAI,CAACC,UAAU,KAAK;IAAO,EAC/D,CAAC;EAER;AACF"}
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","text","isValid","invalid","keyboardType","autoComplete","autocomplete","autoFocus","autofocus","editable","disabled","readonly","secureTextEntry","type","maskchar","displayformat","maxLength","maxchars","placeholder","onBlur","bind","onFocus","onKeyPress","onChangeText","onChange","invokeChange","allowContentSelection","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.styles.text, 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' && !props.maskchar ? true : false}\n displayformat={props.displayformat}\n maskchar={props.maskchar}\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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"}
@@ -129,9 +129,10 @@ export default class WmToggle extends BaseComponent {
129
129
  }]
130
130
  }]
131
131
  }, /*#__PURE__*/React.createElement(BackgroundComponent, {
132
- size: styles.handle.backgroundSize,
132
+ size: styles.handle.backgroundSize || 'contain',
133
133
  position: styles.handle.backgroundPosition,
134
- image: styles.handle.backgroundImage
134
+ image: styles.handle.backgroundImage,
135
+ repeat: styles.handle.backgroundRepeat || 'no-repeat'
135
136
  })));
136
137
  }
137
138
  }
@@ -1 +1 @@
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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"}
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","repeat","backgroundRepeat"],"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 || 'contain'}\n position={styles.handle.backgroundPosition}\n image={styles.handle.backgroundImage}\n repeat={styles.handle.backgroundRepeat || 'no-repeat'}> \n </BackgroundComponent>\n </Animated.View>\n </TouchableOpacity>\n );\n }\n}\n"],"mappings":"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"}
@@ -111,6 +111,10 @@ export default class WmPopover extends BaseComponent {
111
111
  }), this.state.isOpened ? /*#__PURE__*/React.createElement(ModalConsumer, null, modalService => {
112
112
  modalService.showModal(this.prepareModalOptions( /*#__PURE__*/React.createElement(ScrollView, {
113
113
  style: this.theme.mergeStyle(styles.popover, dimensions),
114
+ onScroll: event => {
115
+ this.notify('scroll', [event]);
116
+ },
117
+ scrollEventThrottle: 48,
114
118
  accessible: props.type !== "dropdown",
115
119
  accessibilityViewIsModal: true
116
120
  }, props.title ? /*#__PURE__*/React.createElement(Text, {