@wavemaker/app-rn-runtime 11.12.0-rc.219 → 11.12.0-rc.6240

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.
Files changed (67) hide show
  1. package/components/basic/audio/audio.component.js +47 -52
  2. package/components/basic/audio/audio.component.js.map +1 -1
  3. package/components/basic/video/video.component.js +64 -89
  4. package/components/basic/video/video.component.js.map +1 -1
  5. package/components/device/barcodescanner/barcodescanner.component.js +18 -26
  6. package/components/device/barcodescanner/barcodescanner.component.js.map +1 -1
  7. package/components/device/camera/camera.component.js +19 -28
  8. package/components/device/camera/camera.component.js.map +1 -1
  9. package/components/input/fileupload/fileupload.component.js +13 -17
  10. package/components/input/fileupload/fileupload.component.js.map +1 -1
  11. package/components/page/page-content/page-content.component.js +18 -2
  12. package/components/page/page-content/page-content.component.js.map +1 -1
  13. package/components/page/tabbar/tabbar.component.js +4 -3
  14. package/components/page/tabbar/tabbar.component.js.map +1 -1
  15. package/core/base.component.js +2 -1
  16. package/core/base.component.js.map +1 -1
  17. package/core/device/calendar-service.js +1 -7
  18. package/core/device/calendar-service.js.map +1 -1
  19. package/core/device/camera-service.js +0 -6
  20. package/core/device/camera-service.js.map +1 -1
  21. package/core/device/contacts-service.js +1 -7
  22. package/core/device/contacts-service.js.map +1 -1
  23. package/core/device/location-service.js +1 -7
  24. package/core/device/location-service.js.map +1 -1
  25. package/core/device/scan-service.js +0 -6
  26. package/core/device/scan-service.js.map +1 -1
  27. package/core/utils.js +6 -0
  28. package/core/utils.js.map +1 -1
  29. package/npm-shrinkwrap.json +52 -48
  30. package/package-lock.json +52 -48
  31. package/package.json +2 -2
  32. package/runtime/services/device/calendar-service.js +5 -9
  33. package/runtime/services/device/calendar-service.js.map +1 -1
  34. package/runtime/services/device/camera-service.js +22 -39
  35. package/runtime/services/device/camera-service.js.map +1 -1
  36. package/runtime/services/device/contacts-service.js +5 -6
  37. package/runtime/services/device/contacts-service.js.map +1 -1
  38. package/runtime/services/device/location-service.js +4 -4
  39. package/runtime/services/device/location-service.js.map +1 -1
  40. package/runtime/services/device/permissions.js +39 -34
  41. package/runtime/services/device/permissions.js.map +1 -1
  42. package/runtime/services/device/scan-service.js +3 -4
  43. package/runtime/services/device/scan-service.js.map +1 -1
  44. package/variables/device/calendar/create-event.operation.js +1 -12
  45. package/variables/device/calendar/create-event.operation.js.map +1 -1
  46. package/variables/device/calendar/delete-event.operation.js +1 -12
  47. package/variables/device/calendar/delete-event.operation.js.map +1 -1
  48. package/variables/device/calendar/get-events.operation.js +1 -12
  49. package/variables/device/calendar/get-events.operation.js.map +1 -1
  50. package/variables/device/camera/capture-image.operation.js +1 -8
  51. package/variables/device/camera/capture-image.operation.js.map +1 -1
  52. package/variables/device/camera/capture-video.operation.js +1 -7
  53. package/variables/device/camera/capture-video.operation.js.map +1 -1
  54. package/variables/device/contacts/get-contacts.operation.js +1 -12
  55. package/variables/device/contacts/get-contacts.operation.js.map +1 -1
  56. package/variables/device/device/current-geo-position.operation.js +1 -12
  57. package/variables/device/device/current-geo-position.operation.js.map +1 -1
  58. package/variables/device/file/upload-file.operation.js +3 -17
  59. package/variables/device/file/upload-file.operation.js.map +1 -1
  60. package/variables/device/scan/scan.operation.js +1 -12
  61. package/variables/device/scan/scan.operation.js.map +1 -1
  62. package/core/device/av-service.js +0 -8
  63. package/core/device/av-service.js.map +0 -1
  64. package/core/device/fileupload-service.js +0 -8
  65. package/core/device/fileupload-service.js.map +0 -1
  66. package/runtime/services/device/permission-service.js +0 -5
  67. package/runtime/services/device/permission-service.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","BaseComponent","BaseComponentState","ScanConsumer","ScanPluginConsumer","WmBarcodescannerProps","DEFAULT_CLASS","WmButton","PermissionConsumer","WmBarcodescannerState","WmBarcodescanner","constructor","props","_defineProperty","onScanTap","params","barcodeFormat","state","barcodeformat","scanPluginService","permissionService","scanner","scanBarcode","then","res","updateState","datavalue","text","invokeEventCallback","proxy","renderWidget","accessibilityProps","accessible","accessibilitylabel","caption","accessibilityrole","hint","createElement","scanService","style","styles","root","onLayout","event","handleLayout","_background","_extends","id","getTestId","iconclass","button","onTap","bind","iconsize"],"sources":["barcodescanner.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { ScanInput, ScanOutput } from '@wavemaker/app-rn-runtime/variables/device/scan/scan.operation';\nimport { ScanConsumer, ScanPluginConsumer, ScanPluginService, ScanService } from '@wavemaker/app-rn-runtime/core/device/scan-service';\n\nimport WmBarcodescannerProps from './barcodescanner.props';\nimport { DEFAULT_CLASS, WmBarcodescannerStyles } from './barcodescanner.styles';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport { PermissionConsumer, PermissionService } from '@wavemaker/app-rn-runtime/runtime/services/device/permission-service';\n\nexport class WmBarcodescannerState extends BaseComponentState<WmBarcodescannerProps> {}\n\nexport default class WmBarcodescanner extends BaseComponent<WmBarcodescannerProps, WmBarcodescannerState, WmBarcodescannerStyles> {\n private scanPluginService: ScanPluginService = null as any;\n private permissionService: PermissionService = null as any;\n private scanner: ScanService = null as any;\n constructor(props: WmBarcodescannerProps) {\n super(props, DEFAULT_CLASS, new WmBarcodescannerProps());\n }\n\n onScanTap() {\n const params: ScanInput = {\n barcodeFormat: this.state.props.barcodeformat,\n scanPluginService: this.scanPluginService,\n permissionService: this.permissionService\n };\n this.scanner.scanBarcode(params).then((res: ScanOutput) => {\n this.updateState({\n props: {\n datavalue: res.text\n }\n } as WmBarcodescannerState, () => {\n this.invokeEventCallback('onSuccess', [null, this.proxy]);\n });\n })\n }\n\n renderWidget(props: WmBarcodescannerProps) {\n const accessibilityProps = {\n accessible: props.accessible, \n accessibilitylabel: props.accessibilitylabel || props.caption,\n accessibilityrole: props.accessibilityrole,\n hint: props.hint,\n }\n return (\n <PermissionConsumer>\n {(permissionService: PermissionService) => {\n this.permissionService = permissionService;\n return (<ScanPluginConsumer>\n {(scanPluginService: any) => {\n this.scanPluginService = scanPluginService; \n return <ScanConsumer>\n {(scanService: ScanService) => {\n this.scanner = scanService;\n return <View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n {this._background}\n <WmButton id={this.getTestId('button')} iconclass={props.iconclass} styles={this.styles.button} onTap={this.onScanTap.bind(this)} caption={props.caption} iconsize={props.iconsize} {...accessibilityProps}></WmButton>\n </View>\n }}\n </ScanConsumer>\n }}\n </ScanPluginConsumer>)\n }}\n </PermissionConsumer>\n );\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,SAASC,YAAY,EAAEC,kBAAkB,QAAwC,oDAAoD;AAErI,OAAOC,qBAAqB,MAAM,wBAAwB;AAC1D,SAASC,aAAa,QAAgC,yBAAyB;AAC/E,OAAOC,QAAQ,MAAM,oEAAoE;AACzF,SAASC,kBAAkB,QAA2B,sEAAsE;AAE5H,OAAO,MAAMC,qBAAqB,SAASP,kBAAkB,CAAwB;AAErF,eAAe,MAAMQ,gBAAgB,SAAST,aAAa,CAAuE;EAIhIU,WAAWA,CAACC,KAA4B,EAAE;IACxC,KAAK,CAACA,KAAK,EAAEN,aAAa,EAAE,IAAID,qBAAqB,CAAC,CAAC,CAAC;IAACQ,eAAA,4BAJZ,IAAI;IAAAA,eAAA,4BACJ,IAAI;IAAAA,eAAA,kBACpB,IAAI;EAGnC;EAEAC,SAASA,CAAA,EAAG;IACV,MAAMC,MAAiB,GAAG;MACxBC,aAAa,EAAE,IAAI,CAACC,KAAK,CAACL,KAAK,CAACM,aAAa;MAC7CC,iBAAiB,EAAE,IAAI,CAACA,iBAAiB;MACzCC,iBAAiB,EAAE,IAAI,CAACA;IAC1B,CAAC;IACD,IAAI,CAACC,OAAO,CAACC,WAAW,CAACP,MAAM,CAAC,CAACQ,IAAI,CAAEC,GAAe,IAAK;MACzD,IAAI,CAACC,WAAW,CAAC;QACfb,KAAK,EAAE;UACLc,SAAS,EAAEF,GAAG,CAACG;QACjB;MACF,CAAC,EAA2B,MAAM;QAChC,IAAI,CAACC,mBAAmB,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;MAC3D,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEAC,YAAYA,CAAClB,KAA4B,EAAE;IACzC,MAAMmB,kBAAkB,GAAG;MACzBC,UAAU,EAAEpB,KAAK,CAACoB,UAAU;MAC5BC,kBAAkB,EAAErB,KAAK,CAACqB,kBAAkB,IAAIrB,KAAK,CAACsB,OAAO;MAC7DC,iBAAiB,EAAEvB,KAAK,CAACuB,iBAAiB;MAC1CC,IAAI,EAAExB,KAAK,CAACwB;IACd,CAAC;IACD,oBACErC,KAAA,CAAAsC,aAAA,CAAC7B,kBAAkB,QACjBY,iBAAoC,IAAK;MACzC,IAAI,CAACA,iBAAiB,GAAGA,iBAAiB;MAC1C,oBAAQrB,KAAA,CAAAsC,aAAA,CAACjC,kBAAkB,QACzBe,iBAAsB,IAAK;QAC3B,IAAI,CAACA,iBAAiB,GAAGA,iBAAiB;QAC1C,oBAAOpB,KAAA,CAAAsC,aAAA,CAAClC,YAAY,QAClBmC,WAAwB,IAAK;UAC9B,IAAI,CAACjB,OAAO,GAAGiB,WAAW;UAC1B,oBAAOvC,KAAA,CAAAsC,aAAA,CAACrC,IAAI;YAACuC,KAAK,EAAE,IAAI,CAACC,MAAM,CAACC,IAAK;YAACC,QAAQ,EAAGC,KAAK,IAAK,IAAI,CAACC,YAAY,CAACD,KAAK;UAAE,GACjF,IAAI,CAACE,WAAW,eACjB9C,KAAA,CAAAsC,aAAA,CAAC9B,QAAQ,EAAAuC,QAAA;YAACC,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,QAAQ,CAAE;YAACC,SAAS,EAAErC,KAAK,CAACqC,SAAU;YAACT,MAAM,EAAE,IAAI,CAACA,MAAM,CAACU,MAAO;YAACC,KAAK,EAAE,IAAI,CAACrC,SAAS,CAACsC,IAAI,CAAC,IAAI,CAAE;YAAClB,OAAO,EAAEtB,KAAK,CAACsB,OAAQ;YAACmB,QAAQ,EAAEzC,KAAK,CAACyC;UAAS,GAAKtB,kBAAkB,CAAY,CAClN,CAAC;QACN,CACY,CAAC;MACjB,CACoB,CAAC;IACvB,CACoB,CAAC;EAEzB;AACF","ignoreList":[]}
1
+ {"version":3,"names":["React","View","BaseComponent","BaseComponentState","ScanConsumer","WmBarcodescannerProps","DEFAULT_CLASS","WmButton","WmBarcodescannerState","WmBarcodescanner","constructor","props","_defineProperty","onScanTap","params","barcodeFormat","state","barcodeformat","scanner","scanBarcode","then","res","updateState","datavalue","text","invokeEventCallback","proxy","renderWidget","accessibilityProps","accessible","accessibilitylabel","caption","accessibilityrole","hint","createElement","scanService","_extends","style","styles","root","onLayout","event","handleLayout","_background","id","getTestId","iconclass","button","onTap","bind","iconsize"],"sources":["barcodescanner.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { ScanInput, ScanOutput } from '@wavemaker/app-rn-runtime/variables/device/scan/scan.operation';\nimport { ScanConsumer, ScanService } from '@wavemaker/app-rn-runtime/core/device/scan-service';\n\nimport WmBarcodescannerProps from './barcodescanner.props';\nimport { DEFAULT_CLASS, WmBarcodescannerStyles } from './barcodescanner.styles';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\n\nexport class WmBarcodescannerState extends BaseComponentState<WmBarcodescannerProps> {}\n\nexport default class WmBarcodescanner extends BaseComponent<WmBarcodescannerProps, WmBarcodescannerState, WmBarcodescannerStyles> {\n private scanner: ScanService = null as any;\n constructor(props: WmBarcodescannerProps) {\n super(props, DEFAULT_CLASS, new WmBarcodescannerProps());\n }\n\n onScanTap() {\n const params: ScanInput = {\n barcodeFormat: this.state.props.barcodeformat\n };\n this.scanner.scanBarcode(params).then((res: ScanOutput) => {\n this.updateState({\n props: {\n datavalue: res.text\n }\n } as WmBarcodescannerState, () => {\n this.invokeEventCallback('onSuccess', [null, this.proxy]);\n });\n })\n }\n\n renderWidget(props: WmBarcodescannerProps) {\n const accessibilityProps = {\n accessible: props.accessible, \n accessibilitylabel: props.accessibilitylabel || props.caption,\n accessibilityrole: props.accessibilityrole,\n hint: props.hint,\n }\n return (\n <ScanConsumer>\n {(scanService: ScanService) => {\n this.scanner = scanService;\n return <View style={this.styles.root} onLayout={(event) => this.handleLayout(event)} {...accessibilityProps}>\n {this._background}\n <WmButton id={this.getTestId('button')} iconclass={props.iconclass} styles={this.styles.button} onTap={this.onScanTap.bind(this)} caption={props.caption} iconsize={props.iconsize} accessibilitylabel={props.accessibilitylabel} hint={props.hint} accessibilityrole={props.accessibilityrole}></WmButton>\n </View>\n }}\n </ScanConsumer>\n );\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,SAASC,YAAY,QAAqB,oDAAoD;AAE9F,OAAOC,qBAAqB,MAAM,wBAAwB;AAC1D,SAASC,aAAa,QAAgC,yBAAyB;AAC/E,OAAOC,QAAQ,MAAM,oEAAoE;AAEzF,OAAO,MAAMC,qBAAqB,SAASL,kBAAkB,CAAwB;AAErF,eAAe,MAAMM,gBAAgB,SAASP,aAAa,CAAuE;EAEhIQ,WAAWA,CAACC,KAA4B,EAAE;IACxC,KAAK,CAACA,KAAK,EAAEL,aAAa,EAAE,IAAID,qBAAqB,CAAC,CAAC,CAAC;IAACO,eAAA,kBAF5B,IAAI;EAGnC;EAEAC,SAASA,CAAA,EAAG;IACV,MAAMC,MAAiB,GAAG;MACxBC,aAAa,EAAE,IAAI,CAACC,KAAK,CAACL,KAAK,CAACM;IAClC,CAAC;IACD,IAAI,CAACC,OAAO,CAACC,WAAW,CAACL,MAAM,CAAC,CAACM,IAAI,CAAEC,GAAe,IAAK;MACzD,IAAI,CAACC,WAAW,CAAC;QACfX,KAAK,EAAE;UACLY,SAAS,EAAEF,GAAG,CAACG;QACjB;MACF,CAAC,EAA2B,MAAM;QAChC,IAAI,CAACC,mBAAmB,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;MAC3D,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEAC,YAAYA,CAAChB,KAA4B,EAAE;IACzC,MAAMiB,kBAAkB,GAAG;MACzBC,UAAU,EAAElB,KAAK,CAACkB,UAAU;MAC5BC,kBAAkB,EAAEnB,KAAK,CAACmB,kBAAkB,IAAInB,KAAK,CAACoB,OAAO;MAC7DC,iBAAiB,EAAErB,KAAK,CAACqB,iBAAiB;MAC1CC,IAAI,EAAEtB,KAAK,CAACsB;IACd,CAAC;IACD,oBACEjC,KAAA,CAAAkC,aAAA,CAAC9B,YAAY,QACT+B,WAAwB,IAAK;MAC7B,IAAI,CAACjB,OAAO,GAAGiB,WAAW;MAC1B,oBAAOnC,KAAA,CAAAkC,aAAA,CAACjC,IAAI,EAAAmC,QAAA;QAACC,KAAK,EAAE,IAAI,CAACC,MAAM,CAACC,IAAK;QAACC,QAAQ,EAAGC,KAAK,IAAK,IAAI,CAACC,YAAY,CAACD,KAAK;MAAE,GAAKb,kBAAkB,GACxG,IAAI,CAACe,WAAW,eACjB3C,KAAA,CAAAkC,aAAA,CAAC3B,QAAQ;QAACqC,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,QAAQ,CAAE;QAACC,SAAS,EAAEnC,KAAK,CAACmC,SAAU;QAACR,MAAM,EAAE,IAAI,CAACA,MAAM,CAACS,MAAO;QAACC,KAAK,EAAE,IAAI,CAACnC,SAAS,CAACoC,IAAI,CAAC,IAAI,CAAE;QAAClB,OAAO,EAAEpB,KAAK,CAACoB,OAAQ;QAACmB,QAAQ,EAAEvC,KAAK,CAACuC,QAAS;QAACpB,kBAAkB,EAAEnB,KAAK,CAACmB,kBAAmB;QAACG,IAAI,EAAEtB,KAAK,CAACsB,IAAK;QAACD,iBAAiB,EAAErB,KAAK,CAACqB;MAAkB,CAAW,CACtS,CAAC;IACT,CACY,CAAC;EAEnB;AACF","ignoreList":[]}
@@ -9,13 +9,11 @@ import WmCameraProps from './camera.props';
9
9
  import { DEFAULT_CLASS } from './camera.styles';
10
10
  import WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';
11
11
  import { CameraConsumer } from "@wavemaker/app-rn-runtime/core/device/camera-service";
12
- import { PermissionConsumer } from '@wavemaker/app-rn-runtime/runtime/services/device/permission-service';
13
12
  export class WmCameraState extends BaseComponentState {}
14
13
  export default class WmCamera extends BaseComponent {
15
14
  constructor(props) {
16
15
  super(props, DEFAULT_CLASS, new WmCameraProps());
17
16
  _defineProperty(this, "camera", null);
18
- _defineProperty(this, "permissionService", null);
19
17
  _defineProperty(this, "localFile", '');
20
18
  }
21
19
  onCameraTap() {
@@ -26,17 +24,13 @@ export default class WmCamera extends BaseComponent {
26
24
  imageQuality: props.imagequality,
27
25
  imageEncodingType: props.imageencodingtype,
28
26
  imageTargetWidth: props.imagetargetwidth,
29
- imageTargetHeight: props.imagetargetheight,
30
- permissionService: this.permissionService
27
+ imageTargetHeight: props.imagetargetheight
31
28
  };
32
29
  this.camera.captureImage(params).then(res => {
33
30
  this.updateModel(null, res.imagePath, res.content);
34
31
  });
35
32
  } else {
36
- const params = {
37
- permissionService: this.permissionService
38
- };
39
- this.camera.captureVideo(params).then(res => {
33
+ this.camera.captureVideo().then(res => {
40
34
  this.updateModel(null, res.videoPath, res.content);
41
35
  });
42
36
  }
@@ -58,26 +52,23 @@ export default class WmCamera extends BaseComponent {
58
52
  accessibilityrole: props.accessibilityrole,
59
53
  hint: props.hint
60
54
  };
61
- return /*#__PURE__*/React.createElement(PermissionConsumer, null, permissionService => {
62
- this.permissionService = permissionService;
63
- return /*#__PURE__*/React.createElement(CameraConsumer, null, cameraService => {
64
- {
65
- this._background;
66
- }
67
- this.camera = cameraService;
68
- return /*#__PURE__*/React.createElement(View, {
69
- style: this.styles.root,
70
- onLayout: event => this.handleLayout(event)
71
- }, /*#__PURE__*/React.createElement(WmButton, _extends({
72
- id: this.getTestId('button'),
73
- caption: props.caption,
74
- iconclass: props.iconclass,
75
- iconsize: props.iconsize,
76
- iconposition: props.caption ? '' : 'left',
77
- styles: this.styles.button,
78
- onTap: this.onCameraTap.bind(this)
79
- }, accessibilityProps)));
80
- });
55
+ return /*#__PURE__*/React.createElement(CameraConsumer, null, cameraService => {
56
+ {
57
+ this._background;
58
+ }
59
+ this.camera = cameraService;
60
+ return /*#__PURE__*/React.createElement(View, {
61
+ style: this.styles.root,
62
+ onLayout: event => this.handleLayout(event)
63
+ }, /*#__PURE__*/React.createElement(WmButton, _extends({
64
+ id: this.getTestId('button'),
65
+ caption: props.caption,
66
+ iconclass: props.iconclass,
67
+ iconsize: props.iconsize,
68
+ iconposition: props.caption ? '' : 'left',
69
+ styles: this.styles.button,
70
+ onTap: this.onCameraTap.bind(this)
71
+ }, accessibilityProps)));
81
72
  });
82
73
  }
83
74
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","BaseComponent","BaseComponentState","WmCameraProps","DEFAULT_CLASS","WmButton","CameraConsumer","PermissionConsumer","WmCameraState","WmCamera","constructor","props","_defineProperty","onCameraTap","state","capturetype","params","allowImageEdit","allowedit","imageQuality","imagequality","imageEncodingType","imageencodingtype","imageTargetWidth","imagetargetwidth","imageTargetHeight","imagetargetheight","permissionService","camera","captureImage","then","res","updateModel","imagePath","content","captureVideo","videoPath","$event","value","startsWith","localFile","updateState","datavalue","localFilePath","invokeEventCallback","bind","proxy","renderWidget","accessibilityProps","accessible","accessibilitylabel","caption","accessibilityrole","hint","createElement","cameraService","_background","style","styles","root","onLayout","event","handleLayout","_extends","id","getTestId","iconclass","iconsize","iconposition","button","onTap"],"sources":["camera.component.tsx"],"sourcesContent":["import React from 'react';\nimport { AccessibilityRole, View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmCameraProps from './camera.props';\nimport { DEFAULT_CLASS, WmCameraStyles } from './camera.styles';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport { CaptureImageOutput } from '@wavemaker/app-rn-runtime/variables/device/camera/capture-image.operation';\nimport { CameraConsumer, CameraInput, CameraService, CameraVideoInput } from \"@wavemaker/app-rn-runtime/core/device/camera-service\";\nimport { CaptureVideoOutput } from '@wavemaker/app-rn-runtime/variables/device/camera/capture-video.operation';\nimport { PermissionConsumer, PermissionService } from '@wavemaker/app-rn-runtime/runtime/services/device/permission-service';\n\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nexport class WmCameraState extends BaseComponentState<WmCameraProps> {}\n\nexport default class WmCamera extends BaseComponent<WmCameraProps, WmCameraState, WmCameraStyles> {\n private camera: CameraService = null as any;\n private permissionService: PermissionService = null as any;\n public localFile: string = '';\n constructor(props: WmCameraProps) {\n super(props, DEFAULT_CLASS, new WmCameraProps());\n }\n\n onCameraTap() {\n const props = this.state.props;\n if (props.capturetype === 'IMAGE') {\n const params: CameraInput = {\n allowImageEdit: props.allowedit,\n imageQuality: props.imagequality,\n imageEncodingType: props.imageencodingtype,\n imageTargetWidth: props.imagetargetwidth,\n imageTargetHeight: props.imagetargetheight,\n permissionService: this.permissionService\n };\n\n this.camera.captureImage(params).then((res: CaptureImageOutput) => {\n this.updateModel(null, res.imagePath, res.content);\n });\n } else {\n const params: CameraVideoInput = {\n permissionService: this.permissionService\n };\n this.camera.captureVideo(params).then((res: CaptureVideoOutput) => {\n this.updateModel(null, res.videoPath, res.content);\n });\n }\n\n }\n\n private updateModel($event: any, value: any, content: string) {\n value = (value.startsWith('file://') ? '' : 'file://') + value;\n this.localFile = content;\n this.updateState({\n props: {\n datavalue: value,\n localFilePath: value\n }\n } as WmCameraState, this.invokeEventCallback.bind(this, 'onSuccess', [null, this.proxy, value, this.localFile]));\n }\n\n renderWidget(props: WmCameraProps) {\n const accessibilityProps = {\n accessible: props.accessible, \n accessibilitylabel: props.accessibilitylabel || props.caption,\n accessibilityrole: props.accessibilityrole,\n hint: props.hint,\n }\n return (\n <PermissionConsumer>\n {(permissionService: PermissionService) => {\n this.permissionService = permissionService;\n return (<CameraConsumer>\n {(cameraService: CameraService) => {\n {this._background}\n this.camera = cameraService;\n return <View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n <WmButton id={this.getTestId('button')} caption={props.caption} iconclass={props.iconclass} iconsize={props.iconsize} iconposition={props.caption ? '' : 'left'} styles={this.styles.button} onTap={this.onCameraTap.bind(this)} {...accessibilityProps}></WmButton>\n </View>\n }}\n </CameraConsumer>)\n }}\n </PermissionConsumer>\n );\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAA4BC,IAAI,QAAQ,cAAc;AACtD,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,aAAa,MAAM,gBAAgB;AAC1C,SAASC,aAAa,QAAwB,iBAAiB;AAC/D,OAAOC,QAAQ,MAAM,oEAAoE;AAEzF,SAASC,cAAc,QAAsD,sDAAsD;AAEnI,SAASC,kBAAkB,QAA2B,sEAAsE;AAI5H,OAAO,MAAMC,aAAa,SAASN,kBAAkB,CAAgB;AAErE,eAAe,MAAMO,QAAQ,SAASR,aAAa,CAA+C;EAIhGS,WAAWA,CAACC,KAAoB,EAAE;IAChC,KAAK,CAACA,KAAK,EAAEP,aAAa,EAAE,IAAID,aAAa,CAAC,CAAC,CAAC;IAACS,eAAA,iBAJnB,IAAI;IAAAA,eAAA,4BACW,IAAI;IAAAA,eAAA,oBACxB,EAAE;EAG7B;EAEAC,WAAWA,CAAA,EAAG;IACZ,MAAMF,KAAK,GAAG,IAAI,CAACG,KAAK,CAACH,KAAK;IAC9B,IAAIA,KAAK,CAACI,WAAW,KAAK,OAAO,EAAE;MACjC,MAAMC,MAAmB,GAAG;QAC1BC,cAAc,EAAEN,KAAK,CAACO,SAAS;QAC/BC,YAAY,EAAER,KAAK,CAACS,YAAY;QAChCC,iBAAiB,EAAEV,KAAK,CAACW,iBAAiB;QAC1CC,gBAAgB,EAAEZ,KAAK,CAACa,gBAAgB;QACxCC,iBAAiB,EAAEd,KAAK,CAACe,iBAAiB;QAC1CC,iBAAiB,EAAE,IAAI,CAACA;MAC1B,CAAC;MAED,IAAI,CAACC,MAAM,CAACC,YAAY,CAACb,MAAM,CAAC,CAACc,IAAI,CAAEC,GAAuB,IAAK;QACjE,IAAI,CAACC,WAAW,CAAC,IAAI,EAAED,GAAG,CAACE,SAAS,EAAEF,GAAG,CAACG,OAAO,CAAC;MACpD,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,MAAMlB,MAAwB,GAAG;QAC/BW,iBAAiB,EAAE,IAAI,CAACA;MAC1B,CAAC;MACD,IAAI,CAACC,MAAM,CAACO,YAAY,CAACnB,MAAM,CAAC,CAACc,IAAI,CAAEC,GAAuB,IAAK;QACjE,IAAI,CAACC,WAAW,CAAC,IAAI,EAAED,GAAG,CAACK,SAAS,EAAEL,GAAG,CAACG,OAAO,CAAC;MACpD,CAAC,CAAC;IACJ;EAEF;EAEQF,WAAWA,CAACK,MAAW,EAAEC,KAAU,EAAEJ,OAAe,EAAE;IAC5DI,KAAK,GAAG,CAACA,KAAK,CAACC,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,SAAS,IAAID,KAAK;IAC9D,IAAI,CAACE,SAAS,GAAGN,OAAO;IACxB,IAAI,CAACO,WAAW,CAAC;MACf9B,KAAK,EAAE;QACL+B,SAAS,EAAEJ,KAAK;QAChBK,aAAa,EAAEL;MACjB;IACF,CAAC,EAAmB,IAAI,CAACM,mBAAmB,CAACC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,EAAER,KAAK,EAAE,IAAI,CAACE,SAAS,CAAC,CAAC,CAAC;EAClH;EAEAO,YAAYA,CAACpC,KAAoB,EAAE;IACjC,MAAMqC,kBAAkB,GAAG;MACzBC,UAAU,EAAEtC,KAAK,CAACsC,UAAU;MAC5BC,kBAAkB,EAAEvC,KAAK,CAACuC,kBAAkB,IAAIvC,KAAK,CAACwC,OAAO;MAC7DC,iBAAiB,EAAEzC,KAAK,CAACyC,iBAAiB;MAC1CC,IAAI,EAAE1C,KAAK,CAAC0C;IACd,CAAC;IACD,oBACEtD,KAAA,CAAAuD,aAAA,CAAC/C,kBAAkB,QACfoB,iBAAoC,IAAK;MACzC,IAAI,CAACA,iBAAiB,GAAGA,iBAAiB;MAC1C,oBAAQ5B,KAAA,CAAAuD,aAAA,CAAChD,cAAc,QACjBiD,aAA4B,IAAK;QACnC;UAAC,IAAI,CAACC,WAAW;QAAA;QACjB,IAAI,CAAC5B,MAAM,GAAG2B,aAAa;QAC3B,oBAAOxD,KAAA,CAAAuD,aAAA,CAACtD,IAAI;UAACyD,KAAK,EAAE,IAAI,CAACC,MAAM,CAACC,IAAK;UAACC,QAAQ,EAAGC,KAAK,IAAK,IAAI,CAACC,YAAY,CAACD,KAAK;QAAE,gBAClF9D,KAAA,CAAAuD,aAAA,CAACjD,QAAQ,EAAA0D,QAAA;UAACC,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,QAAQ,CAAE;UAACd,OAAO,EAAExC,KAAK,CAACwC,OAAQ;UAACe,SAAS,EAAEvD,KAAK,CAACuD,SAAU;UAACC,QAAQ,EAAExD,KAAK,CAACwD,QAAS;UAACC,YAAY,EAAEzD,KAAK,CAACwC,OAAO,GAAG,EAAE,GAAG,MAAO;UAACO,MAAM,EAAE,IAAI,CAACA,MAAM,CAACW,MAAO;UAACC,KAAK,EAAE,IAAI,CAACzD,WAAW,CAACgC,IAAI,CAAC,IAAI;QAAE,GAAKG,kBAAkB,CAAY,CAC/P,CAAC;MACT,CACc,CAAC;IACnB,CACkB,CAAC;EAEzB;AACF","ignoreList":[]}
1
+ {"version":3,"names":["React","View","BaseComponent","BaseComponentState","WmCameraProps","DEFAULT_CLASS","WmButton","CameraConsumer","WmCameraState","WmCamera","constructor","props","_defineProperty","onCameraTap","state","capturetype","params","allowImageEdit","allowedit","imageQuality","imagequality","imageEncodingType","imageencodingtype","imageTargetWidth","imagetargetwidth","imageTargetHeight","imagetargetheight","camera","captureImage","then","res","updateModel","imagePath","content","captureVideo","videoPath","$event","value","startsWith","localFile","updateState","datavalue","localFilePath","invokeEventCallback","bind","proxy","renderWidget","accessibilityProps","accessible","accessibilitylabel","caption","accessibilityrole","hint","createElement","cameraService","_background","style","styles","root","onLayout","event","handleLayout","_extends","id","getTestId","iconclass","iconsize","iconposition","button","onTap"],"sources":["camera.component.tsx"],"sourcesContent":["import React from 'react';\nimport { AccessibilityRole, View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmCameraProps from './camera.props';\nimport { DEFAULT_CLASS, WmCameraStyles } from './camera.styles';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport { CaptureImageOutput } from '@wavemaker/app-rn-runtime/variables/device/camera/capture-image.operation';\nimport { CameraConsumer, CameraInput, CameraService } from \"@wavemaker/app-rn-runtime/core/device/camera-service\";\nimport { CaptureVideoOutput } from '@wavemaker/app-rn-runtime/variables/device/camera/capture-video.operation';\n\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nexport class WmCameraState extends BaseComponentState<WmCameraProps> {}\n\nexport default class WmCamera extends BaseComponent<WmCameraProps, WmCameraState, WmCameraStyles> {\n private camera: CameraService = null as any;\n public localFile: string = '';\n constructor(props: WmCameraProps) {\n super(props, DEFAULT_CLASS, new WmCameraProps());\n }\n\n onCameraTap() {\n const props = this.state.props;\n if (props.capturetype === 'IMAGE') {\n const params: CameraInput = {\n allowImageEdit: props.allowedit,\n imageQuality: props.imagequality,\n imageEncodingType: props.imageencodingtype,\n imageTargetWidth: props.imagetargetwidth,\n imageTargetHeight: props.imagetargetheight\n };\n\n this.camera.captureImage(params).then((res: CaptureImageOutput) => {\n this.updateModel(null, res.imagePath, res.content);\n });\n } else {\n this.camera.captureVideo().then((res: CaptureVideoOutput) => {\n this.updateModel(null, res.videoPath, res.content);\n });\n }\n\n }\n\n private updateModel($event: any, value: any, content: string) {\n value = (value.startsWith('file://') ? '' : 'file://') + value;\n this.localFile = content;\n this.updateState({\n props: {\n datavalue: value,\n localFilePath: value\n }\n } as WmCameraState, this.invokeEventCallback.bind(this, 'onSuccess', [null, this.proxy, value, this.localFile]));\n }\n\n renderWidget(props: WmCameraProps) {\n const accessibilityProps = {\n accessible: props.accessible, \n accessibilitylabel: props.accessibilitylabel || props.caption,\n accessibilityrole: props.accessibilityrole,\n hint: props.hint,\n }\n return (\n <CameraConsumer>\n {(cameraService: CameraService) => {\n {this._background}\n this.camera = cameraService;\n return <View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n <WmButton id={this.getTestId('button')} caption={props.caption} iconclass={props.iconclass} iconsize={props.iconsize} iconposition={props.caption ? '' : 'left'} styles={this.styles.button} onTap={this.onCameraTap.bind(this)} {...accessibilityProps}></WmButton>\n </View>\n }}\n </CameraConsumer>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -4,12 +4,12 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
4
4
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
5
5
  import React from 'react';
6
6
  import { Platform, View } from 'react-native';
7
+ import * as DocumentPicker from 'expo-document-picker';
7
8
  import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
8
9
  import WmFileuploadProps from './fileupload.props';
9
10
  import { DEFAULT_CLASS } from './fileupload.styles';
10
11
  import WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';
11
12
  import { getMimeType } from '@wavemaker/app-rn-runtime/core/utils';
12
- import { FileUploadPluginConsumer } from '@wavemaker/app-rn-runtime/core/device/fileupload-service';
13
13
  export class WmFileuploadState extends BaseComponentState {
14
14
  constructor(...args) {
15
15
  super(...args);
@@ -24,11 +24,10 @@ const namedParameters = {
24
24
  export default class WmFileupload extends BaseComponent {
25
25
  constructor(props) {
26
26
  super(props, DEFAULT_CLASS, new WmFileuploadProps());
27
- _defineProperty(this, "fileUploadService", null);
28
27
  }
29
28
  onTap(props) {
30
29
  namedParameters.type = getMimeType(props.contenttype);
31
- this.fileUploadService.getDocumentAsync(namedParameters).then(response => {
30
+ DocumentPicker.getDocumentAsync(namedParameters).then(response => {
32
31
  let selectedFile;
33
32
  if (Platform.OS !== 'web') {
34
33
  selectedFile = response.assets[0];
@@ -51,20 +50,17 @@ export default class WmFileupload extends BaseComponent {
51
50
  hint: props.hint,
52
51
  accessibilityrole: props.accessibilityrole
53
52
  };
54
- return /*#__PURE__*/React.createElement(FileUploadPluginConsumer, null, fileUploadPluginService => {
55
- this.fileUploadService = fileUploadPluginService;
56
- return /*#__PURE__*/React.createElement(View, {
57
- style: this.styles.root,
58
- onLayout: event => this.handleLayout(event)
59
- }, this._background, /*#__PURE__*/React.createElement(WmButton, _extends({
60
- id: this.getTestId(),
61
- iconclass: props.iconclass,
62
- caption: props.caption,
63
- styles: this.styles.button,
64
- iconsize: props.iconsize,
65
- onTap: () => this.onTap.bind(this)(props)
66
- }, accessibilityProps)));
67
- });
53
+ return /*#__PURE__*/React.createElement(View, {
54
+ style: this.styles.root,
55
+ onLayout: event => this.handleLayout(event)
56
+ }, this._background, /*#__PURE__*/React.createElement(WmButton, _extends({
57
+ id: this.getTestId(),
58
+ iconclass: props.iconclass,
59
+ caption: props.caption,
60
+ styles: this.styles.button,
61
+ iconsize: props.iconsize,
62
+ onTap: () => this.onTap.bind(this)(props)
63
+ }, accessibilityProps)));
68
64
  }
69
65
  }
70
66
  //# sourceMappingURL=fileupload.component.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Platform","View","BaseComponent","BaseComponentState","WmFileuploadProps","DEFAULT_CLASS","WmButton","getMimeType","FileUploadPluginConsumer","WmFileuploadState","constructor","args","_defineProperty","namedParameters","copyToCacheDirectory","multiple","type","WmFileupload","props","onTap","contenttype","fileUploadService","getDocumentAsync","then","response","selectedFile","OS","assets","mimeType","file","invokeEventCallback","proxy","updateState","selectedFiles","bind","renderWidget","accessibilityProps","accessible","accessibilitylabel","hint","accessibilityrole","createElement","fileUploadPluginService","style","styles","root","onLayout","event","handleLayout","_background","_extends","id","getTestId","iconclass","caption","button","iconsize"],"sources":["fileupload.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Platform, View } from 'react-native';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmFileuploadProps from './fileupload.props';\nimport { DEFAULT_CLASS, WmFileuploadStyles } from './fileupload.styles';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport { getMimeType } from '@wavemaker/app-rn-runtime/core/utils';\nimport { FileUploadPluginConsumer, FileUploadPluginService } from '@wavemaker/app-rn-runtime/core/device/fileupload-service';\n\nexport interface SelectFileOutput {\n mimeType: string;\n name: string;\n size: number;\n type: 'cancel' | 'success';\n uri: string;\n}\n\nexport class WmFileuploadState extends BaseComponentState<WmFileuploadProps> {\n selectedFiles: any;\n}\n\ntype NamedParametersType = {\n copyToCacheDirectory: boolean,\n multiple: boolean,\n type: string | string[]\n};\n\nconst namedParameters: NamedParametersType = {\n copyToCacheDirectory: false,\n multiple: false,\n type: '*/*'\n};\n\nexport default class WmFileupload extends BaseComponent<WmFileuploadProps, WmFileuploadState, WmFileuploadStyles> {\n public fileUploadService: any = null as any;\n\n constructor(props: WmFileuploadProps) {\n super(props, DEFAULT_CLASS, new WmFileuploadProps());\n }\n\n onTap(props: WmFileuploadProps) {\n namedParameters.type = getMimeType(props.contenttype);\n this.fileUploadService.getDocumentAsync(namedParameters).then((response: any) => {\n let selectedFile;\n if (Platform.OS !== 'web') {\n selectedFile = response.assets[0];\n selectedFile.type = selectedFile.mimeType;\n } else {\n selectedFile = [response.assets[0].file];\n }\n this.invokeEventCallback('onBeforeselect', [null, this.proxy, selectedFile]);\n\n this.updateState({\n props: {\n selectedFiles: selectedFile\n }\n } as WmFileuploadState, this.invokeEventCallback.bind(this, 'onSelect', [null, this.proxy, selectedFile]));\n });\n }\n\n renderWidget(props: WmFileuploadProps) {\n const accessibilityProps = {\n accessible: props.accessible,\n accessibilitylabel: props.accessibilitylabel,\n hint: props.hint,\n accessibilityrole: props.accessibilityrole,\n };\n return (\n <FileUploadPluginConsumer>\n {(fileUploadPluginService: FileUploadPluginService) => {\n this.fileUploadService = fileUploadPluginService;\n return (\n <View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n {this._background}\n <WmButton id={this.getTestId()} iconclass={props.iconclass} caption={props.caption} styles={this.styles.button} iconsize={props.iconsize} onTap={() => this.onTap.bind(this)(props)} {...accessibilityProps}></WmButton>\n </View>\n )}}\n </FileUploadPluginConsumer>\n )\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Platform","View","DocumentPicker","BaseComponent","BaseComponentState","WmFileuploadProps","DEFAULT_CLASS","WmButton","getMimeType","WmFileuploadState","constructor","args","_defineProperty","namedParameters","copyToCacheDirectory","multiple","type","WmFileupload","props","onTap","contenttype","getDocumentAsync","then","response","selectedFile","OS","assets","mimeType","file","invokeEventCallback","proxy","updateState","selectedFiles","bind","renderWidget","accessibilityProps","accessible","accessibilitylabel","hint","accessibilityrole","createElement","style","styles","root","onLayout","event","handleLayout","_background","_extends","id","getTestId","iconclass","caption","button","iconsize"],"sources":["fileupload.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Platform, View } from 'react-native';\nimport * as DocumentPicker from 'expo-document-picker';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmFileuploadProps from './fileupload.props';\nimport { DEFAULT_CLASS, WmFileuploadStyles } from './fileupload.styles';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport { getMimeType } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport interface SelectFileOutput {\n mimeType: string;\n name: string;\n size: number;\n type: 'cancel' | 'success';\n uri: string;\n}\n\nexport class WmFileuploadState extends BaseComponentState<WmFileuploadProps> {\n selectedFiles: any;\n}\n\ntype NamedParametersType = {\n copyToCacheDirectory: boolean,\n multiple: boolean,\n type: string | string[]\n};\n\nconst namedParameters: NamedParametersType = {\n copyToCacheDirectory: false,\n multiple: false,\n type: '*/*'\n};\n\nexport default class WmFileupload extends BaseComponent<WmFileuploadProps, WmFileuploadState, WmFileuploadStyles> {\n\n constructor(props: WmFileuploadProps) {\n super(props, DEFAULT_CLASS, new WmFileuploadProps());\n }\n\n onTap(props: WmFileuploadProps) {\n namedParameters.type = getMimeType(props.contenttype);\n DocumentPicker.getDocumentAsync(namedParameters).then((response: any) => {\n let selectedFile;\n if (Platform.OS !== 'web') {\n selectedFile = response.assets[0];\n selectedFile.type = selectedFile.mimeType;\n } else {\n selectedFile = [response.assets[0].file];\n }\n this.invokeEventCallback('onBeforeselect', [null, this.proxy, selectedFile]);\n\n this.updateState({\n props: {\n selectedFiles: selectedFile\n }\n } as WmFileuploadState, this.invokeEventCallback.bind(this, 'onSelect', [null, this.proxy, selectedFile]));\n });\n }\n\n renderWidget(props: WmFileuploadProps) {\n const accessibilityProps = {\n accessible: props.accessible,\n accessibilitylabel: props.accessibilitylabel,\n hint: props.hint,\n accessibilityrole: props.accessibilityrole,\n };\n\n return <View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n {this._background}\n <WmButton id={this.getTestId()} iconclass={props.iconclass} caption={props.caption} styles={this.styles.button} iconsize={props.iconsize} onTap={() => this.onTap.bind(this)(props)} {...accessibilityProps}></WmButton>\n </View>\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -17,6 +17,7 @@ export class WmPageContentState extends BaseComponentState {
17
17
  constructor(...args) {
18
18
  super(...args);
19
19
  _defineProperty(this, "navHeightForRender", 0);
20
+ _defineProperty(this, "bottomTabHeightForRender", 0);
20
21
  }
21
22
  }
22
23
  export default class WmPageContent extends BaseComponent {
@@ -51,7 +52,8 @@ export default class WmPageContent extends BaseComponent {
51
52
  this.scrollRef = /*#__PURE__*/createRef();
52
53
  this.state = {
53
54
  ...this.state,
54
- navHeightForRender: 0
55
+ navHeightForRender: 0,
56
+ bottomTabHeightForRender: 0
55
57
  };
56
58
  this.subscribe('scrollToPosition', args => {
57
59
  this.scrollTo(args);
@@ -76,6 +78,19 @@ export default class WmPageContent extends BaseComponent {
76
78
  navHeightForRender: this.context.navHeight.value
77
79
  });
78
80
  }
81
+ this._unsubscribeNavHeight = this.subscribe('updateBottomTabHeight', bottomTabHeightValue => {
82
+ if (this.state.bottomTabHeightForRender !== bottomTabHeightValue) {
83
+ this.setState({
84
+ bottomTabHeightForRender: bottomTabHeightValue
85
+ });
86
+ }
87
+ return null;
88
+ });
89
+ if (this.context && this.context.bottomTabHeight) {
90
+ this.setState({
91
+ bottomTabHeightForRender: this.context.bottomTabHeight.value
92
+ });
93
+ }
79
94
  }
80
95
  componentWillUnmount() {
81
96
  super.componentWillUnmount();
@@ -140,6 +155,7 @@ export default class WmPageContent extends BaseComponent {
140
155
  const paddingTopVal = isNumber(paddingTop) ? paddingTop : 0;
141
156
  const paddingBottomVal = isNumber(paddingBottom) ? paddingBottom : 0;
142
157
  const navHeightVal = this.props.onscroll == 'topnav' || this.props.onscroll == 'topnav-bottomnav' ? this.state.navHeightForRender : 0;
158
+ const bottomTabHeightVal = this.props.onscroll == 'topnav-bottomnav' ? this.state.bottomTabHeightForRender : 0;
143
159
  return /*#__PURE__*/React.createElement(KeyboardAvoidingView, {
144
160
  behavior: Platform.OS === 'ios' ? 'padding' : undefined,
145
161
  keyboardVerticalOffset: verticalOffset,
@@ -153,7 +169,7 @@ export default class WmPageContent extends BaseComponent {
153
169
  contentContainerStyle: [this.styles.root, {
154
170
  backgroundColor: 'transparent',
155
171
  paddingTop: navHeightVal + paddingTopVal,
156
- paddingBottom: this.context && this.context.bottomTabHeight ? this.context.bottomTabHeight.value + paddingBottomVal : paddingBottomVal
172
+ paddingBottom: bottomTabHeightVal + paddingBottomVal
157
173
  }],
158
174
  onLayout: this.handleScrollViewLayout,
159
175
  showsVerticalScrollIndicator: showScrollbar,
@@ -1 +1 @@
1
- {"version":3,"names":["React","createRef","KeyboardAvoidingView","Platform","View","isWebPreviewMode","HideMode","BaseComponent","BaseComponentState","WmPageContentProps","DEFAULT_CLASS","WmLottie","SafeAreaInsetsContext","Animated","StickyWrapperContext","isNumber","WmPageContentState","constructor","args","_defineProperty","WmPageContent","props","event","context","_event$nativeEvent","onScrollEndDrag","scrollDirection","scrollPosition","nativeEvent","contentOffset","y","value","invokeEventCallback","proxy","scrollRef","requestAnimationFrame","notify","hideMode","DONOT_ADD_TO_DOM","state","navHeightForRender","subscribe","scrollTo","_this$scrollRef","current","scrollToEnd","componentDidMount","_unsubscribeNavHeight","navHeightValue","setState","navHeight","componentWillUnmount","position","_this$scrollRef2","x","animated","renderSkeleton","skeletonanimationresource","createElement","style","width","styles","root","content","skeleton","source","loop","autoplay","speed","skeletonanimationspeed","renderWidget","showScrollbar","scrollbarColor","borderRadiusStyles","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","scrollable","height","backgroundColor","_showSkeleton","_background","Consumer","insets","top","bottom","left","right","_this$styles","_this$styles2","_this$styles3","_this$styles4","keyboardOffset","consumenotch","verticalOffset","OS","keyboardverticaloffset","paddingTop","padding","paddingBottom","paddingTopVal","paddingBottomVal","navHeightVal","onscroll","behavior","undefined","keyboardVerticalOffset","flex","ScrollView","keyboardShouldPersistTaps","keyboardpersisttaps","testID","getTestId","ref","contentContainerStyle","bottomTabHeight","onLayout","handleScrollViewLayout","showsVerticalScrollIndicator","onScroll","alwaysBounceVertical","alwaysBounceHorizontal","bounces","overScrollMode","removeClippedSubviews","handleOnScrollEndDrag","children"],"sources":["page-content.component.tsx"],"sourcesContent":["import React, { createRef, RefObject, useEffect, useState } from 'react';\nimport { KeyboardAvoidingView, Platform, View } from 'react-native';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { HideMode } from '@wavemaker/app-rn-runtime/core/if.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmPageContentProps from './page-content.props';\nimport { DEFAULT_CLASS, WmPageContentStyles } from './page-content.styles';\nimport WmLottie from '@wavemaker/app-rn-runtime/components/basic/lottie/lottie.component';\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport Animated from 'react-native-reanimated';\nimport { StickyWrapperContextType, StickyWrapperContext } from '@wavemaker/app-rn-runtime/core/sticky-wrapper';\nimport { isNumber } from 'lodash-es';\n\nexport class WmPageContentState extends BaseComponentState<WmPageContentProps> {\n navHeightForRender = 0;\n}\nexport default class WmPageContent extends BaseComponent<WmPageContentProps, WmPageContentState, WmPageContentStyles> {\n private scrollRef: RefObject<any>;\n static contextType = StickyWrapperContext;\n private _unsubscribeNavHeight : any;\n\n constructor(props: WmPageContentProps) {\n super(props, DEFAULT_CLASS, new WmPageContentProps());\n this.hideMode = HideMode.DONOT_ADD_TO_DOM;\n this.scrollRef = createRef();\n \n this.state = {\n ...this.state,\n navHeightForRender: 0,\n };\n\n this.subscribe('scrollToPosition', (args: any) => {\n this.scrollTo(args);\n });\n\n this.subscribe('scrollToEnd', () => {\n this.scrollRef?.current?.scrollToEnd();\n });\n }\n\n componentDidMount() {\n super.componentDidMount();\n this._unsubscribeNavHeight = this.subscribe('updateNavHeight', (navHeightValue: number) => {\n if (this.state.navHeightForRender !== navHeightValue) {\n this.setState({ navHeightForRender: navHeightValue });\n }\n return null;\n });\n if (this.context && (this.context as StickyWrapperContextType).navHeight) {\n this.setState({ navHeightForRender: (this.context as StickyWrapperContextType).navHeight.value });\n }\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n if (this._unsubscribeNavHeight) this._unsubscribeNavHeight();\n }\n\n public scrollTo(position: {x: number, y: number}){\n this.scrollRef?.current?.scrollTo({\n x: position.x,\n y: position.y,\n animated: true\n });\n }\n\n private handleOnScrollEndDrag = (event: any) => {\n if(this.context) {\n const { onScrollEndDrag, scrollDirection } = this.context as StickyWrapperContextType;\n const scrollPosition = event?.nativeEvent?.contentOffset?.y;\n if (scrollPosition >= 0) {\n if(scrollDirection.value > 0) {\n this.invokeEventCallback('onSwipeup', [null, this.proxy]);\n }else {\n this.invokeEventCallback('onSwipedown', [null, this.proxy]);\n }\n onScrollEndDrag(this.scrollRef);\n }\n }\n }\n\n public renderSkeleton(props: WmPageContentProps): React.ReactNode {\n if(this.props.skeletonanimationresource) {\n return <View style={[{width: '100%'}, this.styles.root]}>\n <WmLottie styles={{ content: {...this.styles.root, ...this.styles.skeleton.root} }} source={this.props.skeletonanimationresource} loop={true} autoplay={true} speed={this.props.skeletonanimationspeed}/>\n </View>\n } \n return null;\n }\n\n private handleScrollViewLayout = () => {\n requestAnimationFrame(() => {\n this.notify('updateStickyHeaders', []);\n });\n }\n\n renderWidget(props: WmPageContentProps) {\n const showScrollbar = (this.styles.root as any).scrollbarColor != 'transparent';\n const borderRadiusStyles = {\n borderRadius: this.styles.root.borderRadius,\n borderTopLeftRadius: this.styles.root.borderTopLeftRadius,\n borderTopRightRadius: this.styles.root.borderTopRightRadius,\n borderBottomLeftRadius: this.styles.root.borderBottomLeftRadius,\n borderBottomRightRadius: this.styles.root.borderBottomRightRadius,\n };\n return (props.scrollable || isWebPreviewMode()) ? (\n <View style={{height: '100%', width: '100%',\n ...borderRadiusStyles,\n backgroundColor: this._showSkeleton && this.styles.skeleton.root.backgroundColor ? this.styles.skeleton.root.backgroundColor : this.styles.root.backgroundColor\n \n }}>\n {this._background}\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const keyboardOffset = props.consumenotch ? (insets?.bottom || 0) : 0;\n const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + props.keyboardverticaloffset : keyboardOffset;\n const paddingTop = this.styles?.root?.paddingTop || this.styles?.root?.padding;\n const paddingBottom = this.styles?.root?.paddingBottom || this.styles?.root?.padding;\n const paddingTopVal = isNumber(paddingTop) ? paddingTop : 0;\n const paddingBottomVal = isNumber(paddingBottom) ? paddingBottom : 0;\n const navHeightVal = (this.props.onscroll == 'topnav' || this.props.onscroll == 'topnav-bottomnav') ? this.state.navHeightForRender : 0;\n return (\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={verticalOffset}\n style={{ flex: 1 }}>\n <Animated.ScrollView\n keyboardShouldPersistTaps={props.keyboardpersisttaps}\n testID={this.getTestId(\"page_content_scrollview\")}\n ref={this.scrollRef}\n contentContainerStyle={[\n this.styles.root, {backgroundColor: 'transparent', \n paddingTop: navHeightVal + paddingTopVal, \n paddingBottom: this.context && (this.context as StickyWrapperContextType).bottomTabHeight ? \n (this.context as StickyWrapperContextType).bottomTabHeight.value + paddingBottomVal\n : paddingBottomVal\n }\n ]}\n onLayout={this.handleScrollViewLayout}\n showsVerticalScrollIndicator={showScrollbar}\n onScroll={this.context && (this.context as StickyWrapperContextType).onScroll ? \n (this.context as StickyWrapperContextType).onScroll \n : ()=>{}\n }\n alwaysBounceVertical={false}\n alwaysBounceHorizontal={false}\n bounces={false}\n overScrollMode=\"never\"\n removeClippedSubviews={Platform.OS == 'android'}\n onScrollEndDrag={this.handleOnScrollEndDrag}\n >\n {props.children}\n </Animated.ScrollView>\n </KeyboardAvoidingView>\n )\n }}\n </SafeAreaInsetsContext.Consumer>\n </View> \n ) : (\n <View style={[this.styles.root,\n {backgroundColor: this._showSkeleton ?\n this.styles.skeleton.root.backgroundColor : \n this.styles.root.backgroundColor}]}>\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const keyboardOffset = props.consumenotch ? (insets?.bottom || 0) : 0;\n const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + props.keyboardverticaloffset : keyboardOffset;\n return (\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={verticalOffset}\n style={{ flex: 1 }}>\n {this._background}\n {props.children}\n </KeyboardAvoidingView>\n )}}\n </SafeAreaInsetsContext.Consumer>\n </View>\n );\n }\n}"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","createRef","KeyboardAvoidingView","Platform","View","isWebPreviewMode","HideMode","BaseComponent","BaseComponentState","WmPageContentProps","DEFAULT_CLASS","WmLottie","SafeAreaInsetsContext","Animated","StickyWrapperContext","isNumber","WmPageContentState","constructor","args","_defineProperty","WmPageContent","props","event","context","_event$nativeEvent","onScrollEndDrag","scrollDirection","scrollPosition","nativeEvent","contentOffset","y","value","invokeEventCallback","proxy","scrollRef","requestAnimationFrame","notify","hideMode","DONOT_ADD_TO_DOM","state","navHeightForRender","bottomTabHeightForRender","subscribe","scrollTo","_this$scrollRef","current","scrollToEnd","componentDidMount","_unsubscribeNavHeight","navHeightValue","setState","navHeight","bottomTabHeightValue","bottomTabHeight","componentWillUnmount","position","_this$scrollRef2","x","animated","renderSkeleton","skeletonanimationresource","createElement","style","width","styles","root","content","skeleton","source","loop","autoplay","speed","skeletonanimationspeed","renderWidget","showScrollbar","scrollbarColor","borderRadiusStyles","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","scrollable","height","backgroundColor","_showSkeleton","_background","Consumer","insets","top","bottom","left","right","_this$styles","_this$styles2","_this$styles3","_this$styles4","keyboardOffset","consumenotch","verticalOffset","OS","keyboardverticaloffset","paddingTop","padding","paddingBottom","paddingTopVal","paddingBottomVal","navHeightVal","onscroll","bottomTabHeightVal","behavior","undefined","keyboardVerticalOffset","flex","ScrollView","keyboardShouldPersistTaps","keyboardpersisttaps","testID","getTestId","ref","contentContainerStyle","onLayout","handleScrollViewLayout","showsVerticalScrollIndicator","onScroll","alwaysBounceVertical","alwaysBounceHorizontal","bounces","overScrollMode","removeClippedSubviews","handleOnScrollEndDrag","children"],"sources":["page-content.component.tsx"],"sourcesContent":["import React, { createRef, RefObject, useEffect, useState } from 'react';\nimport { KeyboardAvoidingView, Platform, View } from 'react-native';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { HideMode } from '@wavemaker/app-rn-runtime/core/if.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmPageContentProps from './page-content.props';\nimport { DEFAULT_CLASS, WmPageContentStyles } from './page-content.styles';\nimport WmLottie from '@wavemaker/app-rn-runtime/components/basic/lottie/lottie.component';\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport Animated from 'react-native-reanimated';\nimport { StickyWrapperContextType, StickyWrapperContext } from '@wavemaker/app-rn-runtime/core/sticky-wrapper';\nimport { isNumber } from 'lodash-es';\n\nexport class WmPageContentState extends BaseComponentState<WmPageContentProps> {\n navHeightForRender = 0;\n bottomTabHeightForRender = 0;\n}\nexport default class WmPageContent extends BaseComponent<WmPageContentProps, WmPageContentState, WmPageContentStyles> {\n private scrollRef: RefObject<any>;\n static contextType = StickyWrapperContext;\n private _unsubscribeNavHeight : any;\n\n constructor(props: WmPageContentProps) {\n super(props, DEFAULT_CLASS, new WmPageContentProps());\n this.hideMode = HideMode.DONOT_ADD_TO_DOM;\n this.scrollRef = createRef();\n \n this.state = {\n ...this.state,\n navHeightForRender: 0,\n bottomTabHeightForRender: 0,\n };\n\n this.subscribe('scrollToPosition', (args: any) => {\n this.scrollTo(args);\n });\n\n this.subscribe('scrollToEnd', () => {\n this.scrollRef?.current?.scrollToEnd();\n });\n }\n\n componentDidMount() {\n super.componentDidMount();\n this._unsubscribeNavHeight = this.subscribe('updateNavHeight', (navHeightValue: number) => {\n if (this.state.navHeightForRender !== navHeightValue) {\n this.setState({ navHeightForRender: navHeightValue });\n }\n return null;\n });\n if (this.context && (this.context as StickyWrapperContextType).navHeight) {\n this.setState({ navHeightForRender: (this.context as StickyWrapperContextType).navHeight.value });\n }\n\n this._unsubscribeNavHeight = this.subscribe('updateBottomTabHeight', (bottomTabHeightValue: number) => {\n if (this.state.bottomTabHeightForRender !== bottomTabHeightValue) {\n this.setState({ bottomTabHeightForRender: bottomTabHeightValue });\n }\n return null;\n });\n if (this.context && (this.context as StickyWrapperContextType).bottomTabHeight) {\n this.setState({ bottomTabHeightForRender: (this.context as StickyWrapperContextType).bottomTabHeight.value });\n }\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n if (this._unsubscribeNavHeight) this._unsubscribeNavHeight();\n }\n\n public scrollTo(position: {x: number, y: number}){\n this.scrollRef?.current?.scrollTo({\n x: position.x,\n y: position.y,\n animated: true\n });\n }\n\n private handleOnScrollEndDrag = (event: any) => {\n if(this.context) {\n const { onScrollEndDrag, scrollDirection } = this.context as StickyWrapperContextType;\n const scrollPosition = event?.nativeEvent?.contentOffset?.y;\n if (scrollPosition >= 0) {\n if(scrollDirection.value > 0) {\n this.invokeEventCallback('onSwipeup', [null, this.proxy]);\n }else {\n this.invokeEventCallback('onSwipedown', [null, this.proxy]);\n }\n onScrollEndDrag(this.scrollRef);\n }\n }\n }\n\n public renderSkeleton(props: WmPageContentProps): React.ReactNode {\n if(this.props.skeletonanimationresource) {\n return <View style={[{width: '100%'}, this.styles.root]}>\n <WmLottie styles={{ content: {...this.styles.root, ...this.styles.skeleton.root} }} source={this.props.skeletonanimationresource} loop={true} autoplay={true} speed={this.props.skeletonanimationspeed}/>\n </View>\n } \n return null;\n }\n\n private handleScrollViewLayout = () => {\n requestAnimationFrame(() => {\n this.notify('updateStickyHeaders', []);\n });\n }\n\n renderWidget(props: WmPageContentProps) {\n const showScrollbar = (this.styles.root as any).scrollbarColor != 'transparent';\n const borderRadiusStyles = {\n borderRadius: this.styles.root.borderRadius,\n borderTopLeftRadius: this.styles.root.borderTopLeftRadius,\n borderTopRightRadius: this.styles.root.borderTopRightRadius,\n borderBottomLeftRadius: this.styles.root.borderBottomLeftRadius,\n borderBottomRightRadius: this.styles.root.borderBottomRightRadius,\n };\n return (props.scrollable || isWebPreviewMode()) ? (\n <View style={{height: '100%', width: '100%',\n ...borderRadiusStyles,\n backgroundColor: this._showSkeleton && this.styles.skeleton.root.backgroundColor ? this.styles.skeleton.root.backgroundColor : this.styles.root.backgroundColor\n \n }}>\n {this._background}\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const keyboardOffset = props.consumenotch ? (insets?.bottom || 0) : 0;\n const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + props.keyboardverticaloffset : keyboardOffset;\n const paddingTop = this.styles?.root?.paddingTop || this.styles?.root?.padding;\n const paddingBottom = this.styles?.root?.paddingBottom || this.styles?.root?.padding;\n const paddingTopVal = isNumber(paddingTop) ? paddingTop : 0;\n const paddingBottomVal = isNumber(paddingBottom) ? paddingBottom : 0;\n const navHeightVal = (this.props.onscroll == 'topnav' || this.props.onscroll == 'topnav-bottomnav') ? this.state.navHeightForRender : 0;\n const bottomTabHeightVal = this.props.onscroll == 'topnav-bottomnav' ? this.state.bottomTabHeightForRender : 0;\n return (\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={verticalOffset}\n style={{ flex: 1 }}>\n <Animated.ScrollView\n keyboardShouldPersistTaps={props.keyboardpersisttaps}\n testID={this.getTestId(\"page_content_scrollview\")}\n ref={this.scrollRef}\n contentContainerStyle={[\n this.styles.root, {backgroundColor: 'transparent', \n paddingTop: navHeightVal + paddingTopVal, \n paddingBottom: bottomTabHeightVal + paddingBottomVal\n }\n ]}\n onLayout={this.handleScrollViewLayout}\n showsVerticalScrollIndicator={showScrollbar}\n onScroll={this.context && (this.context as StickyWrapperContextType).onScroll ? \n (this.context as StickyWrapperContextType).onScroll \n : ()=>{}\n }\n alwaysBounceVertical={false}\n alwaysBounceHorizontal={false}\n bounces={false}\n overScrollMode=\"never\"\n removeClippedSubviews={Platform.OS == 'android'}\n onScrollEndDrag={this.handleOnScrollEndDrag}\n >\n {props.children}\n </Animated.ScrollView>\n </KeyboardAvoidingView>\n )\n }}\n </SafeAreaInsetsContext.Consumer>\n </View> \n ) : (\n <View style={[this.styles.root,\n {backgroundColor: this._showSkeleton ?\n this.styles.skeleton.root.backgroundColor : \n this.styles.root.backgroundColor}]}>\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const keyboardOffset = props.consumenotch ? (insets?.bottom || 0) : 0;\n const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + props.keyboardverticaloffset : keyboardOffset;\n return (\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={verticalOffset}\n style={{ flex: 1 }}>\n {this._background}\n {props.children}\n </KeyboardAvoidingView>\n )}}\n </SafeAreaInsetsContext.Consumer>\n </View>\n );\n }\n}"],"mappings":"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","ignoreList":[]}
@@ -184,9 +184,10 @@ export default class WmTabbar extends BaseNavComponent {
184
184
  this.baseView = ref;
185
185
  },
186
186
  onLayout: event => {
187
- if (this.context && this.context.bottomTabHeight) {
187
+ if (this.context && this.context.bottomTabHeight && props.hideonscroll) {
188
188
  bottomTabHeightValue = event.nativeEvent.layout.height || 0;
189
189
  this.context.bottomTabHeight.value = bottomTabHeightValue;
190
+ this.notify('updateBottomTabHeight', [bottomTabHeightValue], true);
190
191
  }
191
192
  this.handleLayout(event);
192
193
  }
@@ -238,7 +239,7 @@ export default class WmTabbar extends BaseNavComponent {
238
239
  translateY: this.translateY
239
240
  }]
240
241
  } : {};
241
- return /*#__PURE__*/React.createElement(FixedView, {
242
+ return props.hideonscroll ? /*#__PURE__*/React.createElement(FixedView, {
242
243
  name: this.props.name,
243
244
  style: {
244
245
  ...{
@@ -250,7 +251,7 @@ export default class WmTabbar extends BaseNavComponent {
250
251
  },
251
252
  theme: this.theme,
252
253
  animated: props.hideonscroll || false
253
- }, this._background, this.renderContent(props));
254
+ }, this._background, this.renderContent(props)) : this.renderContent(props);
254
255
  }
255
256
  }
256
257
  _defineProperty(WmTabbar, "contextType", StickyWrapperContext);
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","TouchableOpacity","Dimensions","Keyboard","Animated","Easing","ThemeProvider","ModalConsumer","WmIcon","NavigationServiceConsumer","BaseNavComponent","BaseNavState","WmTabbarProps","DEFAULT_CLASS","Svg","Path","getPathDown","ThemeVariables","FixedView","SafeAreaInsetsContext","injector","StickyWrapperContext","scale","n","WmTabbarState","constructor","args","_defineProperty","WmTabbar","props","Value","get","width","cleanup","push","addListener","keyBoardShown","forceUpdate","remove","onPropertyChange","name","$new","$old","destroyScrollListner","subscribeToPageScroll","renderTabItem","item","testId","onSelect","floating","isActive","getDisplayLabel","getDisplayExpression","label","increasedGap","Number","indexBeforeMid","state","dataItems","length","classname","indexOf","styles","tabItem","paddingRight","createElement","_extends","getTestPropsForAction","style","centerHubItem","key","onPress","activeTabItem","theme","mergeStyle","tabIcon","centerHubIcon","activeTabIcon","iconclass","icon","tabLabel","centerHubLabel","activeTabLabel","numberOfLines","onItemSelect","navigationService","link","openUrl","invokeEventCallback","proxy","prepareModalOptions","content","o","modalOptions","modalStyle","bottom","tabbarHeight","contentStyle","modalContent","isVisible","animateWithTiming","value","duratiion","timing","translateY","toValue","easing","linear","duration","useNativeDriver","start","tabbarHeightWithInsets","subscribe","event","_this$getLayout","_this$insets","contentOffset","layoutMeasurement","contentSize","nativeEvent","scrollPosition","y","getLayout","height","visibleContentHeight","endReached","bottomInsets","insets","e","Math","abs","scrollDelta","scrollDirection","componentWillUnmount","renderContent","max","tabItems","tabItemsLength","bottomTabHeightValue","isClippedTabbar","middleIndex","floor","returnpathDown","maxWidth","root","moreItems","moreItemsCount","ceil","j","i","row","Consumer","top","left","right","_this$appConfig","paddingBottomVal","paddingBottom","padding","isEdgeToEdgeApp","appConfig","edgeToEdgeConfig","stylesWithFs","backgroundColor","menu","ref","baseView","onLayout","context","bottomTabHeight","layout","handleLayout","zIndex","position","INSTANCE","transparent","fill","tabbarBackgroundColor","d","Fragment","modalService","showMore","showModal","moreMenu","map","a","moreMenuRow","index","hideModal","testID","filter","morebuttonlabel","morebuttoniconclass","updateState","renderWidget","isFixed","animateStyle","hideonscroll","transform","animated","_background"],"sources":["tabbar.component.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { Text, View, TouchableOpacity, Dimensions, Keyboard, Animated, Easing, LayoutChangeEvent, \n NativeSyntheticEvent, NativeScrollEvent\n} from 'react-native';\nimport { ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport NavigationService, { NavigationServiceConsumer } from '@wavemaker/app-rn-runtime/core/navigation.service';\nimport { BaseNavProps } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.props';\nimport { BaseNavComponent, BaseNavState, NavigationDataItem } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.component';\n\nimport WmTabbarProps from './tabbar.props';\nimport { DEFAULT_CLASS, WmTabbarStyles } from './tabbar.styles';\nimport Svg, { Path } from 'react-native-svg';\nimport { getPathDown } from './curve';\n// import { scale } from 'react-native-size-scaling';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { FixedView } from '@wavemaker/app-rn-runtime/core/fixed-view.component';\nimport { EdgeInsets, SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { StickyWrapperContext, StickyWrapperContextType } from '@wavemaker/app-rn-runtime/core/sticky-wrapper';\n\ninterface TabDataItem extends NavigationDataItem {\n floating: boolean;\n indexBeforeMid: number;\n}\n\ninterface CustomScrollEvent {\n scrollDirection: number;\n scrollDelta: number;\n}\n\nconst scale = (n: number) => n;\n\nclass WmTabbarState<T extends BaseNavProps> extends BaseNavState<T> {\n showMore = false;\n modalOptions = {} as ModalOptions;\n dataItems: TabDataItem[] = [];\n}\n\nexport default class WmTabbar extends BaseNavComponent<WmTabbarProps, WmTabbarState<WmTabbarProps>, WmTabbarStyles> {\n\n private tabbarHeight = 0;\n private keyBoardShown = false;\n private destroyScrollListner: Function = null as any;\n private translateY = new Animated.Value(0);\n private insets: EdgeInsets | null = null;\n private appConfig = injector.get<AppConfig>('APP_CONFIG');\n private tabbarHeightWithInsets: number = 0;\n static contextType = StickyWrapperContext;\n\n constructor(props: WmTabbarProps) {\n super(props, DEFAULT_CLASS, new WmTabbarProps(), new WmTabbarState());\n this.cleanup.push(Keyboard.addListener('keyboardWillShow', () => {\n this.keyBoardShown = true;\n this.forceUpdate();\n }).remove);\n this.cleanup.push(Keyboard.addListener('keyboardWillHide', () => {\n this.keyBoardShown = false;\n this.forceUpdate();\n }).remove);\n }\n\n private maxWidth = Dimensions.get(\"window\").width; \n private returnpathDown: any;\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name){\n case 'hideonscroll':\n this.destroyScrollListner && this.destroyScrollListner();\n if($new) {\n this.subscribeToPageScroll();\n }\n break;\n }\n }\n\n renderTabItem(item: TabDataItem, testId: string, props: WmTabbarProps, onSelect: Function, floating = false) {\n\n const isActive = props.isActive && props.isActive(item);\n const getDisplayLabel = this.props.getDisplayExpression || ((label: string) => label);\n let increasedGap = Number(testId) === item?.indexBeforeMid && (this.state.dataItems.length % 2!=0) && ((props.classname || '').indexOf('clipped-tabbar') >= 0)\n ? [this.styles.tabItem, { paddingRight: 70 }]\n : [this.styles.tabItem];\n \n return (\n <TouchableOpacity \n {...this.getTestPropsForAction('item' + testId)}\n style={[increasedGap, floating? this.styles.centerHubItem: {}]}\n key={`${item.label}_${testId}`}\n onPress={() => onSelect && onSelect()}>\n <View key={item.key}>\n <View style={[isActive && !floating ? this.styles.activeTabItem : {}]}>\n <WmIcon\n styles={this.theme.mergeStyle({}, this.styles.tabIcon, floating? this.styles.centerHubIcon: {}, isActive ? this.styles.activeTabIcon : {})}\n iconclass={item.icon}\n ></WmIcon>\n </View>\n </View>\n <Text style={[this.styles.tabLabel, floating? this.styles.centerHubLabel: {}, isActive ? this.styles.activeTabLabel : {}]} numberOfLines={1}>\n {getDisplayLabel(item.label)}\n </Text>\n </TouchableOpacity>\n );\n }\n \n onItemSelect(item: NavigationDataItem, navigationService: NavigationService) {\n item.link && navigationService.openUrl(item.link);\n this.invokeEventCallback('onSelect', [null, this.proxy, item]);\n }\n\n prepareModalOptions(content: ReactNode) {\n const o = this.state.modalOptions;\n o.content = content;\n o.modalStyle = {\n bottom: this.tabbarHeight\n };\n o.contentStyle = this.styles.modalContent; \n return o;\n }\n\n isVisible(): boolean {\n return super.isVisible() && !this.keyBoardShown;\n }\n\n animateWithTiming(value: number, duratiion: number): void {\n Animated.timing(this.translateY, {\n toValue: value, \n easing: Easing.linear,\n duration: duratiion, \n useNativeDriver: false\n }).start()\n }\n\n subscribeToPageScroll(){\n this.tabbarHeightWithInsets = 0;\n this.destroyScrollListner = this.subscribe('scroll', (event: NativeSyntheticEvent<NativeScrollEvent>)=>{\n const { contentOffset, layoutMeasurement, contentSize } = event.nativeEvent ;\n const scrollPosition = contentOffset.y ;\n this.tabbarHeightWithInsets = this.tabbarHeightWithInsets ? this.tabbarHeightWithInsets : this.getLayout()?.height ;\n const visibleContentHeight = layoutMeasurement.height ;\n const endReached = (scrollPosition + visibleContentHeight + this.tabbarHeightWithInsets) + 8 >= contentSize.height ;\n const bottomInsets = this.insets?.bottom || 0\n const e = event.nativeEvent as any as CustomScrollEvent;\n if(Math.abs(e?.scrollDelta) >= 2){\n if(e?.scrollDirection > 0){\n this.animateWithTiming(0, 100)\n }else if(e?.scrollDirection < 0) {\n this.animateWithTiming(this.tabbarHeightWithInsets + bottomInsets, 100)\n }\n }\n if(endReached){\n this.animateWithTiming(0, 0)\n }\n })\n }\n\n componentWillUnmount(): void {\n this.destroyScrollListner && this.destroyScrollListner();\n }\n\n renderContent(props: WmTabbarProps){\n let max = 5;\n const tabItems = this.state.dataItems;\n const tabItemsLength = tabItems.length;\n let bottomTabHeightValue;\n const isClippedTabbar = ((props.classname || '').indexOf('clipped-tabbar') >= 0) && (tabItemsLength % 2 !== 0);\n if (isClippedTabbar && tabItemsLength % 2 !== 0) {\n const middleIndex = Math.floor(tabItemsLength / 2);\n tabItems[middleIndex]['floating'] = true;\n tabItems[middleIndex - 1]['indexBeforeMid'] = middleIndex-1;\n }\n this.returnpathDown = getPathDown(this.maxWidth, 65 ,60,this.styles.root.height as number);\n const moreItems = [] as any[][];\n if (tabItems.length > max) {\n const moreItemsCount = Math.ceil((tabItems.length + 1 - max)/ max) * max;\n let j = 0;\n for (let i = max-1; i < moreItemsCount;) {\n const row = [];\n for (let j = 0; j < max; j++) {\n row[j] = tabItems[i++] || {key: 'tabItem' + i} as TabDataItem;\n }\n moreItems.push(row);\n }\n max = max - 1;\n }\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n this.insets = insets;\n const paddingBottomVal = this.styles.root.paddingBottom || this.styles.root.padding;\n const isEdgeToEdgeApp = !!this.appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp;\n const stylesWithFs = isEdgeToEdgeApp ? {height: this.styles.root.height as number + (insets?.bottom || 0) as number, \n paddingBottom: (paddingBottomVal || 0) as number + (insets?.bottom || 0) as number , backgroundColor: this.styles.root.backgroundColor || this.styles.menu.backgroundColor} : {}\n return (\n <NavigationServiceConsumer>\n {(navigationService) =>(\n <View style={[this.styles.root, stylesWithFs]} \n ref={(ref)=> {this.baseView = ref as any}}\n onLayout={(event: LayoutChangeEvent) => {\n if(this.context && (this.context as StickyWrapperContextType).bottomTabHeight) {\n bottomTabHeightValue = event.nativeEvent.layout.height || 0;\n (this.context as StickyWrapperContextType).bottomTabHeight.value = bottomTabHeightValue;\n }\n this.handleLayout(event);\n }}\n >\n {isClippedTabbar ? (\n <Svg width={this.maxWidth} height={scale(this.styles.root.height as number)} style={{zIndex: -1,position: 'absolute',backgroundColor: ThemeVariables.INSTANCE.transparent}}>\n <Path fill={ThemeVariables.INSTANCE.tabbarBackgroundColor} {...{ d: this.returnpathDown }}/>\n </Svg>\n ): <></>} \n <ModalConsumer>\n {(modalService: ModalService) => {\n if (this.state.showMore) {\n modalService.showModal(this.prepareModalOptions((\n <ThemeProvider value={this.theme} >\n <View style={this.styles.moreMenu}>\n {moreItems.map((a, i) =>\n (<View key={i} style={this.styles.moreMenuRow}>\n {a.map((item, index) => this.renderTabItem(item, i + '', props, () => this.onItemSelect(item, navigationService)))}\n </View>)\n )}\n </View>\n </ThemeProvider>)));\n } else {\n modalService.hideModal(this.state.modalOptions);\n }\n return null;\n }}\n </ModalConsumer>\n <View \n testID=\"test_tabbar-menu\"\n style={this.styles.menu}\n onLayout={e => { this.tabbarHeight = e.nativeEvent.layout.height}}> \n {tabItems.filter((item, i) => i < max)\n .map((item, i) => this.renderTabItem(item, i + '', props, () => this.onItemSelect(item, navigationService), item.floating))}\n {tabItems.length > max && (\n this.renderTabItem({\n label: props.morebuttonlabel,\n icon: props.morebuttoniconclass\n } as TabDataItem, 6666 +'', props, () => {\n this.updateState({showMore: !this.state.showMore} as WmTabbarState<WmTabbarProps>);\n })\n )}\n </View>\n </View>)}\n </NavigationServiceConsumer>\n )}}\n </SafeAreaInsetsContext.Consumer>\n )\n }\n\n renderWidget(props: WmTabbarProps) {\n this.isFixed = true;\n const animateStyle = props.hideonscroll ? {transform: [{translateY: this.translateY}]} : {};\n return (\n <FixedView \n name={this.props.name}\n style={{...{bottom: 0, width:'100%', zIndex: 11}, ...animateStyle}} \n theme={this.theme}\n animated={props.hideonscroll || false}>\n {this._background}\n {this.renderContent(props)}\n </FixedView>\n ) \n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Text","View","TouchableOpacity","Dimensions","Keyboard","Animated","Easing","ThemeProvider","ModalConsumer","WmIcon","NavigationServiceConsumer","BaseNavComponent","BaseNavState","WmTabbarProps","DEFAULT_CLASS","Svg","Path","getPathDown","ThemeVariables","FixedView","SafeAreaInsetsContext","injector","StickyWrapperContext","scale","n","WmTabbarState","constructor","args","_defineProperty","WmTabbar","props","Value","get","width","cleanup","push","addListener","keyBoardShown","forceUpdate","remove","onPropertyChange","name","$new","$old","destroyScrollListner","subscribeToPageScroll","renderTabItem","item","testId","onSelect","floating","isActive","getDisplayLabel","getDisplayExpression","label","increasedGap","Number","indexBeforeMid","state","dataItems","length","classname","indexOf","styles","tabItem","paddingRight","createElement","_extends","getTestPropsForAction","style","centerHubItem","key","onPress","activeTabItem","theme","mergeStyle","tabIcon","centerHubIcon","activeTabIcon","iconclass","icon","tabLabel","centerHubLabel","activeTabLabel","numberOfLines","onItemSelect","navigationService","link","openUrl","invokeEventCallback","proxy","prepareModalOptions","content","o","modalOptions","modalStyle","bottom","tabbarHeight","contentStyle","modalContent","isVisible","animateWithTiming","value","duratiion","timing","translateY","toValue","easing","linear","duration","useNativeDriver","start","tabbarHeightWithInsets","subscribe","event","_this$getLayout","_this$insets","contentOffset","layoutMeasurement","contentSize","nativeEvent","scrollPosition","y","getLayout","height","visibleContentHeight","endReached","bottomInsets","insets","e","Math","abs","scrollDelta","scrollDirection","componentWillUnmount","renderContent","max","tabItems","tabItemsLength","bottomTabHeightValue","isClippedTabbar","middleIndex","floor","returnpathDown","maxWidth","root","moreItems","moreItemsCount","ceil","j","i","row","Consumer","top","left","right","_this$appConfig","paddingBottomVal","paddingBottom","padding","isEdgeToEdgeApp","appConfig","edgeToEdgeConfig","stylesWithFs","backgroundColor","menu","ref","baseView","onLayout","context","bottomTabHeight","hideonscroll","layout","notify","handleLayout","zIndex","position","INSTANCE","transparent","fill","tabbarBackgroundColor","d","Fragment","modalService","showMore","showModal","moreMenu","map","a","moreMenuRow","index","hideModal","testID","filter","morebuttonlabel","morebuttoniconclass","updateState","renderWidget","isFixed","animateStyle","transform","animated","_background"],"sources":["tabbar.component.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { Text, View, TouchableOpacity, Dimensions, Keyboard, Animated, Easing, LayoutChangeEvent, \n NativeSyntheticEvent, NativeScrollEvent\n} from 'react-native';\nimport { ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport NavigationService, { NavigationServiceConsumer } from '@wavemaker/app-rn-runtime/core/navigation.service';\nimport { BaseNavProps } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.props';\nimport { BaseNavComponent, BaseNavState, NavigationDataItem } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.component';\n\nimport WmTabbarProps from './tabbar.props';\nimport { DEFAULT_CLASS, WmTabbarStyles } from './tabbar.styles';\nimport Svg, { Path } from 'react-native-svg';\nimport { getPathDown } from './curve';\n// import { scale } from 'react-native-size-scaling';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { FixedView } from '@wavemaker/app-rn-runtime/core/fixed-view.component';\nimport { EdgeInsets, SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { StickyWrapperContext, StickyWrapperContextType } from '@wavemaker/app-rn-runtime/core/sticky-wrapper';\n\ninterface TabDataItem extends NavigationDataItem {\n floating: boolean;\n indexBeforeMid: number;\n}\n\ninterface CustomScrollEvent {\n scrollDirection: number;\n scrollDelta: number;\n}\n\nconst scale = (n: number) => n;\n\nclass WmTabbarState<T extends BaseNavProps> extends BaseNavState<T> {\n showMore = false;\n modalOptions = {} as ModalOptions;\n dataItems: TabDataItem[] = [];\n}\n\nexport default class WmTabbar extends BaseNavComponent<WmTabbarProps, WmTabbarState<WmTabbarProps>, WmTabbarStyles> {\n\n private tabbarHeight = 0;\n private keyBoardShown = false;\n private destroyScrollListner: Function = null as any;\n private translateY = new Animated.Value(0);\n private insets: EdgeInsets | null = null;\n private appConfig = injector.get<AppConfig>('APP_CONFIG');\n private tabbarHeightWithInsets: number = 0;\n static contextType = StickyWrapperContext;\n\n constructor(props: WmTabbarProps) {\n super(props, DEFAULT_CLASS, new WmTabbarProps(), new WmTabbarState());\n this.cleanup.push(Keyboard.addListener('keyboardWillShow', () => {\n this.keyBoardShown = true;\n this.forceUpdate();\n }).remove);\n this.cleanup.push(Keyboard.addListener('keyboardWillHide', () => {\n this.keyBoardShown = false;\n this.forceUpdate();\n }).remove);\n }\n\n private maxWidth = Dimensions.get(\"window\").width; \n private returnpathDown: any;\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name){\n case 'hideonscroll':\n this.destroyScrollListner && this.destroyScrollListner();\n if($new) {\n this.subscribeToPageScroll();\n }\n break;\n }\n }\n\n renderTabItem(item: TabDataItem, testId: string, props: WmTabbarProps, onSelect: Function, floating = false) {\n\n const isActive = props.isActive && props.isActive(item);\n const getDisplayLabel = this.props.getDisplayExpression || ((label: string) => label);\n let increasedGap = Number(testId) === item?.indexBeforeMid && (this.state.dataItems.length % 2!=0) && ((props.classname || '').indexOf('clipped-tabbar') >= 0)\n ? [this.styles.tabItem, { paddingRight: 70 }]\n : [this.styles.tabItem];\n \n return (\n <TouchableOpacity \n {...this.getTestPropsForAction('item' + testId)}\n style={[increasedGap, floating? this.styles.centerHubItem: {}]}\n key={`${item.label}_${testId}`}\n onPress={() => onSelect && onSelect()}>\n <View key={item.key}>\n <View style={[isActive && !floating ? this.styles.activeTabItem : {}]}>\n <WmIcon\n styles={this.theme.mergeStyle({}, this.styles.tabIcon, floating? this.styles.centerHubIcon: {}, isActive ? this.styles.activeTabIcon : {})}\n iconclass={item.icon}\n ></WmIcon>\n </View>\n </View>\n <Text style={[this.styles.tabLabel, floating? this.styles.centerHubLabel: {}, isActive ? this.styles.activeTabLabel : {}]} numberOfLines={1}>\n {getDisplayLabel(item.label)}\n </Text>\n </TouchableOpacity>\n );\n }\n \n onItemSelect(item: NavigationDataItem, navigationService: NavigationService) {\n item.link && navigationService.openUrl(item.link);\n this.invokeEventCallback('onSelect', [null, this.proxy, item]);\n }\n\n prepareModalOptions(content: ReactNode) {\n const o = this.state.modalOptions;\n o.content = content;\n o.modalStyle = {\n bottom: this.tabbarHeight\n };\n o.contentStyle = this.styles.modalContent; \n return o;\n }\n\n isVisible(): boolean {\n return super.isVisible() && !this.keyBoardShown;\n }\n\n animateWithTiming(value: number, duratiion: number): void {\n Animated.timing(this.translateY, {\n toValue: value, \n easing: Easing.linear,\n duration: duratiion, \n useNativeDriver: false\n }).start()\n }\n\n subscribeToPageScroll(){\n this.tabbarHeightWithInsets = 0;\n this.destroyScrollListner = this.subscribe('scroll', (event: NativeSyntheticEvent<NativeScrollEvent>)=>{\n const { contentOffset, layoutMeasurement, contentSize } = event.nativeEvent ;\n const scrollPosition = contentOffset.y ;\n this.tabbarHeightWithInsets = this.tabbarHeightWithInsets ? this.tabbarHeightWithInsets : this.getLayout()?.height ;\n const visibleContentHeight = layoutMeasurement.height ;\n const endReached = (scrollPosition + visibleContentHeight + this.tabbarHeightWithInsets) + 8 >= contentSize.height ;\n const bottomInsets = this.insets?.bottom || 0\n const e = event.nativeEvent as any as CustomScrollEvent;\n if(Math.abs(e?.scrollDelta) >= 2){\n if(e?.scrollDirection > 0){\n this.animateWithTiming(0, 100)\n }else if(e?.scrollDirection < 0) {\n this.animateWithTiming(this.tabbarHeightWithInsets + bottomInsets, 100)\n }\n }\n if(endReached){\n this.animateWithTiming(0, 0)\n }\n })\n }\n\n componentWillUnmount(): void {\n this.destroyScrollListner && this.destroyScrollListner();\n }\n\n renderContent(props: WmTabbarProps){\n let max = 5;\n const tabItems = this.state.dataItems;\n const tabItemsLength = tabItems.length;\n let bottomTabHeightValue;\n const isClippedTabbar = ((props.classname || '').indexOf('clipped-tabbar') >= 0) && (tabItemsLength % 2 !== 0);\n if (isClippedTabbar && tabItemsLength % 2 !== 0) {\n const middleIndex = Math.floor(tabItemsLength / 2);\n tabItems[middleIndex]['floating'] = true;\n tabItems[middleIndex - 1]['indexBeforeMid'] = middleIndex-1;\n }\n this.returnpathDown = getPathDown(this.maxWidth, 65 ,60,this.styles.root.height as number);\n const moreItems = [] as any[][];\n if (tabItems.length > max) {\n const moreItemsCount = Math.ceil((tabItems.length + 1 - max)/ max) * max;\n let j = 0;\n for (let i = max-1; i < moreItemsCount;) {\n const row = [];\n for (let j = 0; j < max; j++) {\n row[j] = tabItems[i++] || {key: 'tabItem' + i} as TabDataItem;\n }\n moreItems.push(row);\n }\n max = max - 1;\n }\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n this.insets = insets;\n const paddingBottomVal = this.styles.root.paddingBottom || this.styles.root.padding;\n const isEdgeToEdgeApp = !!this.appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp;\n const stylesWithFs = isEdgeToEdgeApp ? {height: this.styles.root.height as number + (insets?.bottom || 0) as number, \n paddingBottom: (paddingBottomVal || 0) as number + (insets?.bottom || 0) as number , backgroundColor: this.styles.root.backgroundColor || this.styles.menu.backgroundColor} : {}\n return (\n <NavigationServiceConsumer>\n {(navigationService) =>(\n <View style={[this.styles.root, stylesWithFs]} \n ref={(ref)=> {this.baseView = ref as any}}\n onLayout={(event: LayoutChangeEvent) => {\n if(this.context && (this.context as StickyWrapperContextType).bottomTabHeight && props.hideonscroll) {\n bottomTabHeightValue = event.nativeEvent.layout.height || 0;\n (this.context as StickyWrapperContextType).bottomTabHeight.value = bottomTabHeightValue;\n this.notify('updateBottomTabHeight', [bottomTabHeightValue], true);\n }\n this.handleLayout(event);\n }}\n >\n {isClippedTabbar ? (\n <Svg width={this.maxWidth} height={scale(this.styles.root.height as number)} style={{zIndex: -1,position: 'absolute',backgroundColor: ThemeVariables.INSTANCE.transparent}}>\n <Path fill={ThemeVariables.INSTANCE.tabbarBackgroundColor} {...{ d: this.returnpathDown }}/>\n </Svg>\n ): <></>} \n <ModalConsumer>\n {(modalService: ModalService) => {\n if (this.state.showMore) {\n modalService.showModal(this.prepareModalOptions((\n <ThemeProvider value={this.theme} >\n <View style={this.styles.moreMenu}>\n {moreItems.map((a, i) =>\n (<View key={i} style={this.styles.moreMenuRow}>\n {a.map((item, index) => this.renderTabItem(item, i + '', props, () => this.onItemSelect(item, navigationService)))}\n </View>)\n )}\n </View>\n </ThemeProvider>)));\n } else {\n modalService.hideModal(this.state.modalOptions);\n }\n return null;\n }}\n </ModalConsumer>\n <View \n testID=\"test_tabbar-menu\"\n style={this.styles.menu}\n onLayout={e => { this.tabbarHeight = e.nativeEvent.layout.height}}> \n {tabItems.filter((item, i) => i < max)\n .map((item, i) => this.renderTabItem(item, i + '', props, () => this.onItemSelect(item, navigationService), item.floating))}\n {tabItems.length > max && (\n this.renderTabItem({\n label: props.morebuttonlabel,\n icon: props.morebuttoniconclass\n } as TabDataItem, 6666 +'', props, () => {\n this.updateState({showMore: !this.state.showMore} as WmTabbarState<WmTabbarProps>);\n })\n )}\n </View>\n </View>)}\n </NavigationServiceConsumer>\n )}}\n </SafeAreaInsetsContext.Consumer>\n )\n }\n\n renderWidget(props: WmTabbarProps) {\n this.isFixed = true;\n const animateStyle = props.hideonscroll ? {transform: [{translateY: this.translateY}]} : {};\n return props.hideonscroll ? (\n <FixedView \n name={this.props.name}\n style={{...{bottom: 0, width:'100%', zIndex: 11}, ...animateStyle}} \n theme={this.theme}\n animated={props.hideonscroll || false}>\n {this._background}\n {this.renderContent(props)}\n </FixedView>\n ) : this.renderContent(props)\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -339,7 +339,8 @@ export class BaseComponent extends React.Component {
339
339
  return this.props.name;
340
340
  }
341
341
  handleLayout(event, ref = null) {
342
- const key = this.getName && this.getName();
342
+ var _this$getName;
343
+ const key = this === null || this === void 0 || (_this$getName = this.getName) === null || _this$getName === void 0 ? void 0 : _this$getName.call(this);
343
344
  if (key) {
344
345
  const newLayoutPosition = {
345
346
  [key]: {