@wavemaker/app-rn-runtime 11.7.0-patch.3 → 11.7.0-patch.5

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.
@@ -68,6 +68,7 @@ export default class WmButton extends BaseComponent {
68
68
  paddingBottom: this.styles.root.paddingBottom,
69
69
  paddingLeft: this.styles.root.paddingLeft,
70
70
  paddingRight: this.styles.root.paddingRight,
71
+ width: '100%',
71
72
  height: '100%',
72
73
  justifyContent: 'center'
73
74
  },
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","Tappable","Badge","WmButtonProps","DEFAULT_CLASS","WmIcon","Animatedview","createSkeleton","AccessibilityWidgetType","getAccessibilityProps","WmButtonState","WmButton","constructor","props","prepareIcon","_ref","iconclass","iconurl","name","iconsize","iconheight","iconmargin","iconwidth","createElement","_extends","getTestPropsForLabel","styles","icon","prepareBadge","style","badge","badgevalue","renderSkeleton","prop","theme","skeleton","root","width","skeletonwidth","height","skeletonheight","renderWidget","Fragment","entryanimation","animation","paddingTop","paddingBottom","paddingLeft","paddingRight","overflow","accessibilityProps","BUTTON","_background","justifyContent","rippleColor","target","getTestPropsForAction","content","flexDirection","iconposition","caption","text","importantForAccessibility"],"sources":["button.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Text, View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { Badge } from 'react-native-paper';\n\nimport WmButtonProps from './button.props';\nimport { DEFAULT_CLASS, WmButtonStyles } from './button.styles';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport { createSkeleton } from '../skeleton/skeleton.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nexport class WmButtonState extends BaseComponentState<WmButtonProps> {\n\n}\n\nexport default class WmButton extends BaseComponent<WmButtonProps, WmButtonState, WmButtonStyles> {\n\n constructor(props: WmButtonProps) {\n super(props, DEFAULT_CLASS, new WmButtonProps());\n }\n\n private prepareIcon({\n iconclass,\n iconurl,\n name,\n iconsize,\n iconheight,\n iconmargin,\n iconwidth,\n }: any) {\n return iconclass || iconurl\n ? (<WmIcon\n {...this.getTestPropsForLabel('icon')}\n styles={this.styles.icon} \n name={`${name}_icon`} \n iconclass={iconclass}\n iconsize={iconsize}\n iconurl={iconurl} \n iconheight={iconheight}\n iconmargin={iconmargin}\n iconwidth={iconwidth}\n />): null;\n }\n\n private prepareBadge(props: any) {\n //@ts-ignore\n return (<Badge style={this.styles.badge}>{props.badgevalue}</Badge>);\n }\n\n public renderSkeleton(prop: WmButtonProps) {\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: (this.props.skeletonwidth || this.styles.root.width)as DimensionValue,\n height: (this.props.skeletonheight || this.styles.root.height) as DimensionValue\n });\n }\n\n renderWidget(props: WmButtonProps) {\n return (\n <>\n <Animatedview entryanimation={props.animation}\n style={[\n this.styles.root,\n {\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n overflow: 'hidden'\n }\n ]}\n accessibilityProps={{...getAccessibilityProps(\n AccessibilityWidgetType.BUTTON,\n props\n )}}\n >\n {this._background}\n <Tappable\n styles={{\n paddingTop: this.styles.root.paddingTop,\n paddingBottom: this.styles.root.paddingBottom,\n paddingLeft: this.styles.root.paddingLeft,\n paddingRight: this.styles.root.paddingRight,\n height: '100%',\n justifyContent: 'center',\n }}\n rippleColor = {this.styles.root.rippleColor}\n target={this}\n {...this.getTestPropsForAction()}>\n <View\n style={[\n this.styles.content,\n { flexDirection: props.iconposition === 'top' ? 'column' : 'row' }\n ]}>\n {props.iconposition === 'top' && this.prepareIcon(props)}\n {props.iconposition === 'left' && this.prepareIcon(props)}\n {props.caption ? (\n <Text\n style={this.styles.text}\n {...this.getTestPropsForLabel('caption')}\n importantForAccessibility={'no'}\n // accessibilityLabel={`${props.caption}`}\n >\n {props.caption}\n </Text>\n ) : null}\n {props.iconposition === 'right' && this.prepareIcon(props)}\n </View>\n </Tappable>\n </Animatedview>\n {props.badgevalue && this.prepareBadge(props)}\n </>\n );\n }\n}\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAyBC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzD,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AACjG,SAASC,QAAQ,QAAQ,mDAAmD;AAC5E,SAASC,KAAK,QAAQ,oBAAoB;AAE1C,OAAOC,aAAa,MAAM,gBAAgB;AAC1C,SAASC,aAAa,QAAwB,iBAAiB;AAC/D,OAAOC,MAAM,MAAM,gEAAgE;AACnF,SAASC,YAAY,QAAQ,mEAAmE;AAChG,SAASC,cAAc,QAAQ,gCAAgC;AAC/D,SAASC,uBAAuB,EAAEC,qBAAqB,QAAQ,8CAA8C;AAE7G,OAAO,MAAMC,aAAa,SAASV,kBAAkB,CAAgB;AAIrE,eAAe,MAAMW,QAAQ,SAASZ,aAAa,CAA+C;EAEhGa,WAAWA,CAACC,KAAoB,EAAE;IAChC,KAAK,CAACA,KAAK,EAAET,aAAa,EAAE,IAAID,aAAa,CAAC,CAAC,CAAC;EAClD;EAEQW,WAAWA,CAAAC,IAAA,EAQX;IAAA,IARY;MAClBC,SAAS;MACTC,OAAO;MACPC,IAAI;MACJC,QAAQ;MACRC,UAAU;MACVC,UAAU;MACVC;IACG,CAAC,GAAAP,IAAA;IACJ,OAAOC,SAAS,IAAIC,OAAO,gBACtBrB,KAAA,CAAA2B,aAAA,CAAClB,MAAM,EAAAmB,QAAA,KACF,IAAI,CAACC,oBAAoB,CAAC,MAAM,CAAC;MACrCC,MAAM,EAAE,IAAI,CAACA,MAAM,CAACC,IAAK;MACzBT,IAAI,EAAG,GAAEA,IAAK,OAAO;MACrBF,SAAS,EAAEA,SAAU;MACrBG,QAAQ,EAAEA,QAAS;MACnBF,OAAO,EAAEA,OAAQ;MACjBG,UAAU,EAAEA,UAAW;MACvBC,UAAU,EAAEA,UAAW;MACvBC,SAAS,EAAEA;IAAU,EACtB,CAAC,GAAG,IAAI;EACf;EAEQM,YAAYA,CAACf,KAAU,EAAE;IAC/B;IACA,oBAAQjB,KAAA,CAAA2B,aAAA,CAACrB,KAAK;MAAC2B,KAAK,EAAE,IAAI,CAACH,MAAM,CAACI;IAAM,GAAEjB,KAAK,CAACkB,UAAkB,CAAC;EACrE;EAEOC,cAAcA,CAACC,IAAmB,EAAE;IACzC,OAAO1B,cAAc,CAAC,IAAI,CAAC2B,KAAK,EAAE,IAAI,CAACR,MAAM,CAACS,QAAQ,EAAE;MACtD,GAAG,IAAI,CAACT,MAAM,CAACU,IAAI;MACnBC,KAAK,EAAG,IAAI,CAACxB,KAAK,CAACyB,aAAa,IAAI,IAAI,CAACZ,MAAM,CAACU,IAAI,CAACC,KAAuB;MAC5EE,MAAM,EAAG,IAAI,CAAC1B,KAAK,CAAC2B,cAAc,IAAI,IAAI,CAACd,MAAM,CAACU,IAAI,CAACG;IACzD,CAAC,CAAC;EACJ;EAEAE,YAAYA,CAAC5B,KAAoB,EAAE;IACjC,oBACEjB,KAAA,CAAA2B,aAAA,CAAA3B,KAAA,CAAA8C,QAAA,qBACA9C,KAAA,CAAA2B,aAAA,CAACjB,YAAY;MAACqC,cAAc,EAAE9B,KAAK,CAAC+B,SAAU;MAC5Cf,KAAK,EAAE,CACL,IAAI,CAACH,MAAM,CAACU,IAAI,EAChB;QACES,UAAU,EAAE,CAAC;QACbC,aAAa,EAAE,CAAC;QAChBC,WAAW,EAAE,CAAC;QACdC,YAAY,EAAE,CAAC;QACfC,QAAQ,EAAE;MACZ,CAAC,CACD;MACFC,kBAAkB,EAAE;QAAC,GAAGzC,qBAAqB,CAC3CD,uBAAuB,CAAC2C,MAAM,EAC9BtC,KACF;MAAC;IAAE,GAEF,IAAI,CAACuC,WAAW,eACjBxD,KAAA,CAAA2B,aAAA,CAACtB,QAAQ,EAAAuB,QAAA;MACPE,MAAM,EAAE;QACNmB,UAAU,EAAE,IAAI,CAACnB,MAAM,CAACU,IAAI,CAACS,UAAU;QACvCC,aAAa,EAAE,IAAI,CAACpB,MAAM,CAACU,IAAI,CAACU,aAAa;QAC7CC,WAAW,EAAE,IAAI,CAACrB,MAAM,CAACU,IAAI,CAACW,WAAW;QACzCC,YAAY,EAAE,IAAI,CAACtB,MAAM,CAACU,IAAI,CAACY,YAAY;QAC3CT,MAAM,EAAE,MAAM;QACdc,cAAc,EAAE;MAClB,CAAE;MACFC,WAAW,EAAI,IAAI,CAAC5B,MAAM,CAACU,IAAI,CAACkB,WAAY;MAC5CC,MAAM,EAAE;IAAK,GACT,IAAI,CAACC,qBAAqB,CAAC,CAAC,gBAChC5D,KAAA,CAAA2B,aAAA,CAACzB,IAAI;MACH+B,KAAK,EAAE,CACL,IAAI,CAACH,MAAM,CAAC+B,OAAO,EACnB;QAAEC,aAAa,EAAE7C,KAAK,CAAC8C,YAAY,KAAK,KAAK,GAAG,QAAQ,GAAG;MAAM,CAAC;IAClE,GACD9C,KAAK,CAAC8C,YAAY,KAAK,KAAK,IAAI,IAAI,CAAC7C,WAAW,CAACD,KAAK,CAAC,EACvDA,KAAK,CAAC8C,YAAY,KAAK,MAAM,IAAI,IAAI,CAAC7C,WAAW,CAACD,KAAK,CAAC,EACxDA,KAAK,CAAC+C,OAAO,gBACZhE,KAAA,CAAA2B,aAAA,CAAC1B,IAAI,EAAA2B,QAAA;MACHK,KAAK,EAAE,IAAI,CAACH,MAAM,CAACmC;IAAK,GACpB,IAAI,CAACpC,oBAAoB,CAAC,SAAS,CAAC;MACxCqC,yBAAyB,EAAE;MAC3B;IAAA,IAECjD,KAAK,CAAC+C,OACH,CAAC,GACL,IAAI,EACP/C,KAAK,CAAC8C,YAAY,KAAK,OAAO,IAAI,IAAI,CAAC7C,WAAW,CAACD,KAAK,CACrD,CACE,CACE,CAAC,EACdA,KAAK,CAACkB,UAAU,IAAI,IAAI,CAACH,YAAY,CAACf,KAAK,CAC1C,CAAC;EAEP;AACF"}
1
+ {"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","Tappable","Badge","WmButtonProps","DEFAULT_CLASS","WmIcon","Animatedview","createSkeleton","AccessibilityWidgetType","getAccessibilityProps","WmButtonState","WmButton","constructor","props","prepareIcon","_ref","iconclass","iconurl","name","iconsize","iconheight","iconmargin","iconwidth","createElement","_extends","getTestPropsForLabel","styles","icon","prepareBadge","style","badge","badgevalue","renderSkeleton","prop","theme","skeleton","root","width","skeletonwidth","height","skeletonheight","renderWidget","Fragment","entryanimation","animation","paddingTop","paddingBottom","paddingLeft","paddingRight","overflow","accessibilityProps","BUTTON","_background","justifyContent","rippleColor","target","getTestPropsForAction","content","flexDirection","iconposition","caption","text","importantForAccessibility"],"sources":["button.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Text, View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { Badge } from 'react-native-paper';\n\nimport WmButtonProps from './button.props';\nimport { DEFAULT_CLASS, WmButtonStyles } from './button.styles';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport { createSkeleton } from '../skeleton/skeleton.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nexport class WmButtonState extends BaseComponentState<WmButtonProps> {\n\n}\n\nexport default class WmButton extends BaseComponent<WmButtonProps, WmButtonState, WmButtonStyles> {\n\n constructor(props: WmButtonProps) {\n super(props, DEFAULT_CLASS, new WmButtonProps());\n }\n\n private prepareIcon({\n iconclass,\n iconurl,\n name,\n iconsize,\n iconheight,\n iconmargin,\n iconwidth,\n }: any) {\n return iconclass || iconurl\n ? (<WmIcon\n {...this.getTestPropsForLabel('icon')}\n styles={this.styles.icon} \n name={`${name}_icon`} \n iconclass={iconclass}\n iconsize={iconsize}\n iconurl={iconurl} \n iconheight={iconheight}\n iconmargin={iconmargin}\n iconwidth={iconwidth}\n />): null;\n }\n\n private prepareBadge(props: any) {\n //@ts-ignore\n return (<Badge style={this.styles.badge}>{props.badgevalue}</Badge>);\n }\n\n public renderSkeleton(prop: WmButtonProps) {\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: (this.props.skeletonwidth || this.styles.root.width)as DimensionValue,\n height: (this.props.skeletonheight || this.styles.root.height) as DimensionValue\n });\n }\n\n renderWidget(props: WmButtonProps) {\n return (\n <>\n <Animatedview entryanimation={props.animation}\n style={[\n this.styles.root,\n {\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n overflow: 'hidden'\n }\n ]}\n accessibilityProps={{...getAccessibilityProps(\n AccessibilityWidgetType.BUTTON,\n props\n )}}\n >\n {this._background}\n <Tappable\n styles={{\n paddingTop: this.styles.root.paddingTop,\n paddingBottom: this.styles.root.paddingBottom,\n paddingLeft: this.styles.root.paddingLeft,\n paddingRight: this.styles.root.paddingRight,\n width: '100%',\n height: '100%',\n justifyContent: 'center',\n }}\n rippleColor = {this.styles.root.rippleColor}\n target={this}\n {...this.getTestPropsForAction()}>\n <View\n style={[\n this.styles.content,\n { flexDirection: props.iconposition === 'top' ? 'column' : 'row' }\n ]}>\n {props.iconposition === 'top' && this.prepareIcon(props)}\n {props.iconposition === 'left' && this.prepareIcon(props)}\n {props.caption ? (\n <Text\n style={this.styles.text}\n {...this.getTestPropsForLabel('caption')}\n importantForAccessibility={'no'}\n // accessibilityLabel={`${props.caption}`}\n >\n {props.caption}\n </Text>\n ) : null}\n {props.iconposition === 'right' && this.prepareIcon(props)}\n </View>\n </Tappable>\n </Animatedview>\n {props.badgevalue && this.prepareBadge(props)}\n </>\n );\n }\n}\n"],"mappings":"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"}
@@ -3,7 +3,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
3
3
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
4
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); }
5
5
  import React from 'react';
6
- import { Text, View, TouchableOpacity, Dimensions } from 'react-native';
6
+ import { Text, View, TouchableOpacity, Dimensions, Keyboard } from 'react-native';
7
7
  import { ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';
8
8
  import { ModalConsumer } from '@wavemaker/app-rn-runtime/core/modal.service';
9
9
  import WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';
@@ -28,8 +28,17 @@ export default class WmTabbar extends BaseNavComponent {
28
28
  constructor(props) {
29
29
  super(props, DEFAULT_CLASS, new WmTabbarProps(), new WmTabbarState());
30
30
  _defineProperty(this, "tabbarHeight", 0);
31
+ _defineProperty(this, "keyBoardShown", false);
31
32
  _defineProperty(this, "maxWidth", Dimensions.get("window").width);
32
33
  _defineProperty(this, "returnpathDown", void 0);
34
+ this.cleanup.push(Keyboard.addListener('keyboardWillShow', () => {
35
+ this.keyBoardShown = true;
36
+ this.forceUpdate();
37
+ }).remove);
38
+ this.cleanup.push(Keyboard.addListener('keyboardWillHide', () => {
39
+ this.keyBoardShown = false;
40
+ this.forceUpdate();
41
+ }).remove);
33
42
  }
34
43
  renderTabItem(item, testId, props, onSelect) {
35
44
  let floating = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
@@ -38,19 +47,20 @@ export default class WmTabbar extends BaseNavComponent {
38
47
  let increasedGap = Number(testId) === (item === null || item === void 0 ? void 0 : item.indexBeforeMid) && this.state.dataItems.length % 2 != 0 && (props.classname || '').indexOf('clipped-tabbar') >= 0 ? [this.styles.tabItem, {
39
48
  paddingRight: 70
40
49
  }] : [this.styles.tabItem];
41
- return /*#__PURE__*/React.createElement(View, {
50
+ return /*#__PURE__*/React.createElement(TouchableOpacity, _extends({}, this.getTestPropsForAction('item' + testId), {
42
51
  style: [increasedGap, floating ? this.styles.centerHubItem : {}],
43
- key: `${item.label}_${testId}`
44
- }, /*#__PURE__*/React.createElement(TouchableOpacity, _extends({}, this.getTestPropsForAction('item' + testId), {
45
- onPress: () => onSelect && onSelect(),
46
- key: item.key
52
+ key: `${item.label}_${testId}`,
53
+ onPress: () => onSelect && onSelect()
47
54
  }), /*#__PURE__*/React.createElement(View, {
55
+ key: item.key
56
+ }, /*#__PURE__*/React.createElement(View, {
48
57
  style: [isActive && !floating ? this.styles.activeTabItem : {}]
49
58
  }, /*#__PURE__*/React.createElement(WmIcon, {
50
59
  styles: this.theme.mergeStyle({}, this.styles.tabIcon, floating ? this.styles.centerHubIcon : {}, isActive ? this.styles.activeTabIcon : {}),
51
60
  iconclass: item.icon
52
61
  }))), /*#__PURE__*/React.createElement(Text, {
53
- style: [this.styles.tabLabel, floating ? this.styles.centerHubLabel : {}, isActive ? this.styles.activeTabLabel : {}]
62
+ style: [this.styles.tabLabel, floating ? this.styles.centerHubLabel : {}, isActive ? this.styles.activeTabLabel : {}],
63
+ numberOfLines: 1
54
64
  }, getDisplayLabel(item.label)));
55
65
  }
56
66
  onItemSelect(item, navigationService) {
@@ -66,6 +76,9 @@ export default class WmTabbar extends BaseNavComponent {
66
76
  o.contentStyle = this.styles.modalContent;
67
77
  return o;
68
78
  }
79
+ isVisible() {
80
+ return super.isVisible() && !this.keyBoardShown;
81
+ }
69
82
  renderWidget(props) {
70
83
  let max = 5;
71
84
  const tabItems = this.state.dataItems;
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","TouchableOpacity","Dimensions","ThemeProvider","ModalConsumer","WmIcon","NavigationServiceConsumer","BaseNavComponent","BaseNavState","WmTabbarProps","DEFAULT_CLASS","Svg","Path","getPathDown","ThemeVariables","scale","n","WmTabbarState","constructor","arguments","_defineProperty","WmTabbar","props","get","width","renderTabItem","item","testId","onSelect","floating","length","undefined","isActive","getDisplayLabel","getDisplayExpression","label","increasedGap","Number","indexBeforeMid","state","dataItems","classname","indexOf","styles","tabItem","paddingRight","createElement","style","centerHubItem","key","_extends","getTestPropsForAction","onPress","activeTabItem","theme","mergeStyle","tabIcon","centerHubIcon","activeTabIcon","iconclass","icon","tabLabel","centerHubLabel","activeTabLabel","onItemSelect","navigationService","link","openUrl","invokeEventCallback","proxy","prepareModalOptions","content","o","modalOptions","modalStyle","bottom","tabbarHeight","contentStyle","modalContent","renderWidget","max","tabItems","tabItemsLength","isClippedTabbar","middleIndex","Math","floor","returnpathDown","maxWidth","root","height","moreItems","moreItemsCount","ceil","j","i","row","push","zIndex","position","backgroundColor","INSTANCE","transparent","fill","tabbarBackgroundColor","d","Fragment","modalService","showMore","showModal","value","moreMenu","map","a","moreMenuRow","index","hideModal","menu","onLayout","e","nativeEvent","layout","filter","morebuttonlabel","morebuttoniconclass","updateState"],"sources":["tabbar.component.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { Text, View, TouchableOpacity, Dimensions } from 'react-native';\n\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';\n\ninterface TabDataItem extends NavigationDataItem {\n floating: boolean;\n indexBeforeMid: 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\n constructor(props: WmTabbarProps) {\n super(props, DEFAULT_CLASS, new WmTabbarProps(), new WmTabbarState());\n }\n\n private maxWidth = Dimensions.get(\"window\").width; \n private returnpathDown: any;\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 <View style={[increasedGap, floating? this.styles.centerHubItem: {}]} key={`${item.label}_${testId}`}>\n <TouchableOpacity\n {...this.getTestPropsForAction('item' + testId)}\n onPress={() => onSelect && onSelect()}\n key={item.key}\n >\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 </TouchableOpacity>\n <Text style={[this.styles.tabLabel, floating? this.styles.centerHubLabel: {}, isActive ? this.styles.activeTabLabel : {}]}>\n {getDisplayLabel(item.label)}\n </Text>\n </View>\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 renderWidget(props: WmTabbarProps) {\n let max = 5;\n const tabItems = this.state.dataItems;\n const tabItemsLength = tabItems.length;\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 <NavigationServiceConsumer>\n {(navigationService) =>\n (<View style={this.styles.root}>\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 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 }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Text","View","TouchableOpacity","Dimensions","Keyboard","ThemeProvider","ModalConsumer","WmIcon","NavigationServiceConsumer","BaseNavComponent","BaseNavState","WmTabbarProps","DEFAULT_CLASS","Svg","Path","getPathDown","ThemeVariables","scale","n","WmTabbarState","constructor","arguments","_defineProperty","WmTabbar","props","get","width","cleanup","push","addListener","keyBoardShown","forceUpdate","remove","renderTabItem","item","testId","onSelect","floating","length","undefined","isActive","getDisplayLabel","getDisplayExpression","label","increasedGap","Number","indexBeforeMid","state","dataItems","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","renderWidget","max","tabItems","tabItemsLength","isClippedTabbar","middleIndex","Math","floor","returnpathDown","maxWidth","root","height","moreItems","moreItemsCount","ceil","j","i","row","zIndex","position","backgroundColor","INSTANCE","transparent","fill","tabbarBackgroundColor","d","Fragment","modalService","showMore","showModal","value","moreMenu","map","a","moreMenuRow","index","hideModal","menu","onLayout","e","nativeEvent","layout","filter","morebuttonlabel","morebuttoniconclass","updateState"],"sources":["tabbar.component.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { Text, View, TouchableOpacity, Dimensions, Keyboard } from 'react-native';\n\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';\n\ninterface TabDataItem extends NavigationDataItem {\n floating: boolean;\n indexBeforeMid: 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\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 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 renderWidget(props: WmTabbarProps) {\n let max = 5;\n const tabItems = this.state.dataItems;\n const tabItemsLength = tabItems.length;\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 <NavigationServiceConsumer>\n {(navigationService) =>\n (<View style={this.styles.root}>\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 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 }\n}\n"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ const keyBoard = {
3
+ opened: false
4
+ };
5
+ const Context = /*#__PURE__*/React.createContext(null);
6
+ export const KeyboardProvider = Context.Provider;
7
+ export const KeyboardConsumer = Context.Consumer;
8
+ //# sourceMappingURL=keyboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","keyBoard","opened","Context","createContext","KeyboardProvider","Provider","KeyboardConsumer","Consumer"],"sources":["keyboard.ts"],"sourcesContent":["import React from \"react\";\n\nconst keyBoard = {\n opened: false\n};\n\nconst Context = React.createContext<typeof keyBoard>(null as any);\n\nexport const KeyboardProvider = Context.Provider;\nexport const KeyboardConsumer = Context.Consumer;"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,MAAMC,QAAQ,GAAG;EACbC,MAAM,EAAE;AACZ,CAAC;AAED,MAAMC,OAAO,gBAAGH,KAAK,CAACI,aAAa,CAAkB,IAAW,CAAC;AAEjE,OAAO,MAAMC,gBAAgB,GAAGF,OAAO,CAACG,QAAQ;AAChD,OAAO,MAAMC,gBAAgB,GAAGJ,OAAO,CAACK,QAAQ"}
@@ -31,7 +31,7 @@ export class PropsProvider {
31
31
  set: (target, prop, value) => {
32
32
  const propName = prop.toString();
33
33
  if (!this.has(propName)) {
34
- return false;
34
+ return true;
35
35
  }
36
36
  this.isDirty = this.isDirty || this.overriddenProps[propName] !== value;
37
37
  this.overriddenProps[propName] = value;
@@ -1 +1 @@
1
- {"version":3,"names":["assign","isNil","PropsProvider","constructor","defaultProps","initprops","onChange","arguments","length","undefined","name","$new","$old","_defineProperty","Object","keys","forEach","k","propertyNames","propsProxy","Proxy","get","target","prop","receiver","propName","toString","value","overriddenProps","hasOwnProperty","oldProps","set","has","isDirty","oldValue","setDefault","check","nextProps","result","reduce","b","flag"],"sources":["props.provider.ts"],"sourcesContent":["import { assign, isNil } from \"lodash-es\";\nimport { BaseProps } from \"./base.component\";\n\nexport class PropsProvider<T extends BaseProps> {\n private oldProps: any = {};\n private overriddenProps: any = {};\n private propsProxy: T;\n private isDirty = false;\n private propertyNames = {} as any;\n\n constructor(private defaultProps: T, private initprops: T, private onChange = (name: string, $new: any, $old: any) => {}) {\n this.initprops = this.initprops || {};\n Object.keys(defaultProps).forEach(k => this.propertyNames[k] = true);\n Object.keys(initprops).forEach(k => this.propertyNames[k] = true);\n //@ts-ignore\n this.propsProxy = (new Proxy({}, {\n get: (target, prop, receiver): any => {\n const propName = prop.toString();\n let value = (this.defaultProps as any)[propName];\n if (this.overriddenProps.hasOwnProperty(propName)) {\n value = this.overriddenProps[propName];\n } else if (this.oldProps.hasOwnProperty(propName)) {\n value = this.oldProps[propName];\n }\n return value;\n },\n set: (target: any, prop, value: any): any => {\n const propName = prop.toString();\n if (!this.has(propName)) {\n return false;\n }\n this.isDirty = this.isDirty || this.overriddenProps[propName] !== value;\n this.overriddenProps[propName] = value;\n if (this.oldProps[propName] !== value) {\n const oldValue = this.oldProps[propName];\n this.onChange(propName, value, oldValue);\n this.oldProps[propName] = value;\n }\n return true;\n }\n }));\n }\n\n setDefault(propName: string, value: any) {\n (this.defaultProps as any)[propName] = value;\n }\n\n check(nextProps?: T) {\n if (!nextProps) {\n nextProps = assign({}, this.defaultProps, this.initprops);\n }\n const result = Object.keys(nextProps).reduce((b, k) => {\n let flag = false;\n //@ts-ignore\n const value = nextProps[k];\n const oldValue = this.oldProps[k];\n if (isNil(this.overriddenProps[k])\n && (!this.oldProps.hasOwnProperty(k)\n || this.oldProps[k] !== value)) {\n this.oldProps[k] = value;\n this.onChange(k, value, oldValue);\n flag = true;\n }\n return b || flag;\n }, false) || this.isDirty;\n\n this.isDirty = false;\n return result;\n }\n\n // sets the property. But, value gets overriden when the original prop changes.\n set(name: string, value: any) {\n this.oldProps[name] = value;\n const oldValue = this.oldProps[name];\n if(oldValue !== value) {\n this.oldProps[name] = value;\n this.onChange(name, value, oldValue);\n }\n }\n\n has(propName: string) {\n return !!this.propertyNames[propName];\n }\n\n get() {\n return this.propsProxy;\n }\n}\n"],"mappings":";;;AAAA,SAASA,MAAM,EAAEC,KAAK,QAAQ,WAAW;AAGzC,OAAO,MAAMC,aAAa,CAAsB;EAO5CC,WAAWA,CAASC,YAAe,EAAUC,SAAY,EAAiE;IAAA,IAAvDC,QAAQ,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAACG,IAAY,EAAEC,IAAS,EAAEC,IAAS,KAAK,CAAC,CAAC;IAAA,KAApGR,YAAe,GAAfA,YAAe;IAAA,KAAUC,SAAY,GAAZA,SAAY;IAAA,KAAUC,QAAQ,GAARA,QAAQ;IAAAO,eAAA,mBANnD,CAAC,CAAC;IAAAA,eAAA,0BACK,CAAC,CAAC;IAAAA,eAAA;IAAAA,eAAA,kBAEf,KAAK;IAAAA,eAAA,wBACC,CAAC,CAAC;IAGtB,IAAI,CAACR,SAAS,GAAG,IAAI,CAACA,SAAS,IAAI,CAAC,CAAC;IACrCS,MAAM,CAACC,IAAI,CAACX,YAAY,CAAC,CAACY,OAAO,CAACC,CAAC,IAAI,IAAI,CAACC,aAAa,CAACD,CAAC,CAAC,GAAG,IAAI,CAAC;IACpEH,MAAM,CAACC,IAAI,CAACV,SAAS,CAAC,CAACW,OAAO,CAACC,CAAC,IAAI,IAAI,CAACC,aAAa,CAACD,CAAC,CAAC,GAAG,IAAI,CAAC;IACjE;IACA,IAAI,CAACE,UAAU,GAAI,IAAIC,KAAK,CAAC,CAAC,CAAC,EAAE;MAC7BC,GAAG,EAAEA,CAACC,MAAM,EAAEC,IAAI,EAAEC,QAAQ,KAAU;QAClC,MAAMC,QAAQ,GAAGF,IAAI,CAACG,QAAQ,CAAC,CAAC;QAChC,IAAIC,KAAK,GAAI,IAAI,CAACvB,YAAY,CAASqB,QAAQ,CAAC;QAChD,IAAI,IAAI,CAACG,eAAe,CAACC,cAAc,CAACJ,QAAQ,CAAC,EAAE;UAC/CE,KAAK,GAAG,IAAI,CAACC,eAAe,CAACH,QAAQ,CAAC;QAC1C,CAAC,MAAM,IAAI,IAAI,CAACK,QAAQ,CAACD,cAAc,CAACJ,QAAQ,CAAC,EAAE;UAC/CE,KAAK,GAAG,IAAI,CAACG,QAAQ,CAACL,QAAQ,CAAC;QACnC;QACA,OAAOE,KAAK;MAChB,CAAC;MACDI,GAAG,EAAEA,CAACT,MAAW,EAAEC,IAAI,EAAEI,KAAU,KAAU;QACzC,MAAMF,QAAQ,GAAGF,IAAI,CAACG,QAAQ,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,CAACM,GAAG,CAACP,QAAQ,CAAC,EAAE;UACrB,OAAO,KAAK;QAChB;QACA,IAAI,CAACQ,OAAO,GAAG,IAAI,CAACA,OAAO,IAAI,IAAI,CAACL,eAAe,CAACH,QAAQ,CAAC,KAAKE,KAAK;QACvE,IAAI,CAACC,eAAe,CAACH,QAAQ,CAAC,GAAGE,KAAK;QACtC,IAAI,IAAI,CAACG,QAAQ,CAACL,QAAQ,CAAC,KAAKE,KAAK,EAAE;UACnC,MAAMO,QAAQ,GAAG,IAAI,CAACJ,QAAQ,CAACL,QAAQ,CAAC;UACxC,IAAI,CAACnB,QAAQ,CAACmB,QAAQ,EAAEE,KAAK,EAAEO,QAAQ,CAAC;UACxC,IAAI,CAACJ,QAAQ,CAACL,QAAQ,CAAC,GAAGE,KAAK;QACnC;QACA,OAAO,IAAI;MACf;IACJ,CAAC,CAAE;EACP;EAEAQ,UAAUA,CAACV,QAAgB,EAAEE,KAAU,EAAE;IACpC,IAAI,CAACvB,YAAY,CAASqB,QAAQ,CAAC,GAAGE,KAAK;EAChD;EAEAS,KAAKA,CAACC,SAAa,EAAE;IACjB,IAAI,CAACA,SAAS,EAAE;MACZA,SAAS,GAAGrC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAACI,YAAY,EAAE,IAAI,CAACC,SAAS,CAAC;IAC7D;IACA,MAAMiC,MAAM,GAAGxB,MAAM,CAACC,IAAI,CAACsB,SAAS,CAAC,CAACE,MAAM,CAAC,CAACC,CAAC,EAAEvB,CAAC,KAAK;MACnD,IAAIwB,IAAI,GAAG,KAAK;MAChB;MACA,MAAMd,KAAK,GAAGU,SAAS,CAACpB,CAAC,CAAC;MAC1B,MAAMiB,QAAQ,GAAG,IAAI,CAACJ,QAAQ,CAACb,CAAC,CAAC;MACjC,IAAIhB,KAAK,CAAC,IAAI,CAAC2B,eAAe,CAACX,CAAC,CAAC,CAAC,KAC1B,CAAC,IAAI,CAACa,QAAQ,CAACD,cAAc,CAACZ,CAAC,CAAC,IAC7B,IAAI,CAACa,QAAQ,CAACb,CAAC,CAAC,KAAKU,KAAK,CAAC,EAAE;QACpC,IAAI,CAACG,QAAQ,CAACb,CAAC,CAAC,GAAGU,KAAK;QACxB,IAAI,CAACrB,QAAQ,CAACW,CAAC,EAAEU,KAAK,EAAEO,QAAQ,CAAC;QACjCO,IAAI,GAAG,IAAI;MACf;MACA,OAAOD,CAAC,IAAIC,IAAI;IACpB,CAAC,EAAE,KAAK,CAAC,IAAI,IAAI,CAACR,OAAO;IAE3B,IAAI,CAACA,OAAO,GAAG,KAAK;IACpB,OAAOK,MAAM;EACf;;EAEA;EACAP,GAAGA,CAACrB,IAAY,EAAEiB,KAAU,EAAE;IAC1B,IAAI,CAACG,QAAQ,CAACpB,IAAI,CAAC,GAAGiB,KAAK;IAC3B,MAAMO,QAAQ,GAAG,IAAI,CAACJ,QAAQ,CAACpB,IAAI,CAAC;IACpC,IAAGwB,QAAQ,KAAKP,KAAK,EAAE;MACnB,IAAI,CAACG,QAAQ,CAACpB,IAAI,CAAC,GAAGiB,KAAK;MAC3B,IAAI,CAACrB,QAAQ,CAACI,IAAI,EAAEiB,KAAK,EAAEO,QAAQ,CAAC;IACxC;EACJ;EAEAF,GAAGA,CAACP,QAAgB,EAAE;IAClB,OAAO,CAAC,CAAC,IAAI,CAACP,aAAa,CAACO,QAAQ,CAAC;EACzC;EAEAJ,GAAGA,CAAA,EAAG;IACF,OAAO,IAAI,CAACF,UAAU;EAC1B;AACJ"}
1
+ {"version":3,"names":["assign","isNil","PropsProvider","constructor","defaultProps","initprops","onChange","arguments","length","undefined","name","$new","$old","_defineProperty","Object","keys","forEach","k","propertyNames","propsProxy","Proxy","get","target","prop","receiver","propName","toString","value","overriddenProps","hasOwnProperty","oldProps","set","has","isDirty","oldValue","setDefault","check","nextProps","result","reduce","b","flag"],"sources":["props.provider.ts"],"sourcesContent":["import { assign, isNil } from \"lodash-es\";\nimport { BaseProps } from \"./base.component\";\n\nexport class PropsProvider<T extends BaseProps> {\n private oldProps: any = {};\n private overriddenProps: any = {};\n private propsProxy: T;\n private isDirty = false;\n private propertyNames = {} as any;\n\n constructor(private defaultProps: T, private initprops: T, private onChange = (name: string, $new: any, $old: any) => {}) {\n this.initprops = this.initprops || {};\n Object.keys(defaultProps).forEach(k => this.propertyNames[k] = true);\n Object.keys(initprops).forEach(k => this.propertyNames[k] = true);\n //@ts-ignore\n this.propsProxy = (new Proxy({}, {\n get: (target, prop, receiver): any => {\n const propName = prop.toString();\n let value = (this.defaultProps as any)[propName];\n if (this.overriddenProps.hasOwnProperty(propName)) {\n value = this.overriddenProps[propName];\n } else if (this.oldProps.hasOwnProperty(propName)) {\n value = this.oldProps[propName];\n }\n return value;\n },\n set: (target: any, prop, value: any): any => {\n const propName = prop.toString();\n if (!this.has(propName)) {\n return true;\n }\n this.isDirty = this.isDirty || this.overriddenProps[propName] !== value;\n this.overriddenProps[propName] = value;\n if (this.oldProps[propName] !== value) {\n const oldValue = this.oldProps[propName];\n this.onChange(propName, value, oldValue);\n this.oldProps[propName] = value;\n }\n return true;\n }\n }));\n }\n\n setDefault(propName: string, value: any) {\n (this.defaultProps as any)[propName] = value;\n }\n\n check(nextProps?: T) {\n if (!nextProps) {\n nextProps = assign({}, this.defaultProps, this.initprops);\n }\n const result = Object.keys(nextProps).reduce((b, k) => {\n let flag = false;\n //@ts-ignore\n const value = nextProps[k];\n const oldValue = this.oldProps[k];\n if (isNil(this.overriddenProps[k])\n && (!this.oldProps.hasOwnProperty(k)\n || this.oldProps[k] !== value)) {\n this.oldProps[k] = value;\n this.onChange(k, value, oldValue);\n flag = true;\n }\n return b || flag;\n }, false) || this.isDirty;\n\n this.isDirty = false;\n return result;\n }\n\n // sets the property. But, value gets overriden when the original prop changes.\n set(name: string, value: any) {\n this.oldProps[name] = value;\n const oldValue = this.oldProps[name];\n if(oldValue !== value) {\n this.oldProps[name] = value;\n this.onChange(name, value, oldValue);\n }\n }\n\n has(propName: string) {\n return !!this.propertyNames[propName];\n }\n\n get() {\n return this.propsProxy;\n }\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavemaker/app-rn-runtime",
3
- "version": "11.7.0-patch.3",
3
+ "version": "11.7.0-patch.5",
4
4
  "description": "''",
5
5
  "main": "index",
6
6
  "module": "index",
@@ -49,7 +49,7 @@
49
49
  "@react-navigation/native": "6.1.7",
50
50
  "@react-navigation/stack": "^6.3.7",
51
51
  "@types/lodash-es": "^4.17.6",
52
- "@wavemaker/variables": "11.7.0-patch.3",
52
+ "@wavemaker/variables": "11.7.0-patch.5",
53
53
  "axios": "^1.4.0",
54
54
  "color": "4.2.3",
55
55
  "cross-env": "^5.2.0",
package/runtime/App.js CHANGED
@@ -212,6 +212,9 @@ export default class BaseApp extends React.Component {
212
212
  return Promise.reject('Not able to invoke Native API in this platform.');
213
213
  }
214
214
  }
215
+ triggerPageReady(activePageName, activePageScope) {
216
+ this.onPageReady(activePageName, activePageScope);
217
+ }
215
218
  onPageReady(activePageName, activePageScope) {}
216
219
  setTimezone(timezone) {
217
220
  AppI18nService.setTimezone(timezone);
@@ -291,9 +294,7 @@ export default class BaseApp extends React.Component {
291
294
  this.onAppVariablesReady();
292
295
  this.isStarted = true;
293
296
  this.forceUpdate();
294
- }, () => {}).then(() => {
295
- SplashScreen.hideAsync().then(() => {});
296
- });
297
+ }, () => {});
297
298
  this.startUpActions.map(a => this.Actions[a] && this.Actions[a].invoke());
298
299
  }
299
300
  componentWillUnmount() {
@@ -452,12 +453,12 @@ export default class BaseApp extends React.Component {
452
453
  }
453
454
  }, /*#__PURE__*/React.createElement(StatusBar, null), /*#__PURE__*/React.createElement(ThemeProvider, {
454
455
  value: _this2.appConfig.theme
455
- }, /*#__PURE__*/React.createElement(FixedViewContainer, null, /*#__PURE__*/React.createElement(KeyboardAvoidingView, {
456
+ }, /*#__PURE__*/React.createElement(KeyboardAvoidingView, {
456
457
  behavior: Platform.OS === "ios" ? "padding" : undefined,
457
458
  style: {
458
459
  flex: 1
459
460
  }
460
- }, /*#__PURE__*/React.createElement(View, {
461
+ }, /*#__PURE__*/React.createElement(FixedViewContainer, null, /*#__PURE__*/React.createElement(View, {
461
462
  style: styles.container
462
463
  }, /*#__PURE__*/React.createElement(AppNavigator, {
463
464
  app: _this2,
@@ -466,9 +467,9 @@ export default class BaseApp extends React.Component {
466
467
  hideDrawer: ((_this2$appConfig$draw = _this2.appConfig.drawer) === null || _this2$appConfig$draw === void 0 ? void 0 : _this2$appConfig$draw.getContent()) === null,
467
468
  drawerContent: () => _this2.appConfig.drawer ? _this2.getProviders(_this2.appConfig.drawer.getContent()) : null,
468
469
  drawerAnimation: (_this2$appConfig$draw2 = _this2.appConfig.drawer) === null || _this2$appConfig$draw2 === void 0 ? void 0 : _this2$appConfig$draw2.getAnimation()
469
- }), commonPartial)), _this2.appConfig.url ? /*#__PURE__*/React.createElement(WmNetworkInfoToaster, {
470
+ }), commonPartial), _this2.appConfig.url ? /*#__PURE__*/React.createElement(WmNetworkInfoToaster, {
470
471
  appLocale: _this2.appConfig.appLocale
471
- }) : null), _this2.renderToasters(), _this2.renderDialogs(), _this2.renderDisplayManager())));
472
+ }) : null), _this2.renderToasters(), _this2.renderDialogs(), _this2.renderDisplayManager()))));
472
473
  }))));
473
474
  }
474
475
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","axios","Platform","TouchableOpacity","View","StatusBar","KeyboardAvoidingView","ProtoTypes","SafeAreaProvider","SafeAreaInsetsContext","SafeAreaView","DefaultTheme","Provider","PaperProvider","Linking","NativeModulesProxy","WebBrowser","get","last","RENDER_LOGGER","EventNotifier","ThemeProvider","StorageService","ConstantService","NetworkService","injector","formatters","deepCopy","isWebPreviewMode","Utils","ModalProvider","FixedViewContainer","ToastProvider","NavigationServiceProvider","PartialProvider","WmNetworkInfoToaster","ThemeVariables","WmMessage","Animatedview","AppI18nService","Watcher","preparePatch","AppDisplayManagerService","AppModalService","AppToastService","AppPartialService","AppSpinnerService","AppNavigator","SecurityProvider","CameraProvider","CameraService","ScanProvider","ScanService","AppSecurityService","getValidJSON","parseErrors","MaterialCommunityIconsFont","SplashScreen","WmMemo","style","any","MIN_TIME_BETWEEN_REFRESH_CYCLES","DrawerImpl","constructor","onChange","_defineProperty","setContent","content","getContent","setAnimation","animation","getAnimation","SUPPORTED_SERVICES","CONSTANTS","BaseApp","Component","props","_this","this","ROOT","colors","primary","INSTANCE","primaryColor","refresh","preventAutoHideAsync","setTimeout","hideAsync","appConfig","app","drawer","setDefaultOptions","spinner","refreshAfterWait","baseUrl","url","wait","bindServiceInterceptors","complete","arguments","length","undefined","reload","debug","_this$commonPartial","_this$appConfig$curre","forceUpdate","commonPartial","currentPage","watcher","check","cleanup","push","notifier","subscribe","networkState","networkStatus","event","fn","eventNotifier","notify","_len","args","Array","_key","activePage","Widgets","_this$commonPartial2","goToPage","pageName","params","_this$appConfig$curre2","goBack","_this$appConfig$curre3","openUrl","_this$appConfig$curre4","onBeforeServiceCall","config","isSkeletonEnabled","loader","onServiceSuccess","data","response","onServiceError","errorMsg","error","invokeNativeApi","key","EmbedCommModule","OS","sendToNative","Promise","reject","onPageReady","activePageName","activePageScope","setTimezone","timezone","openBrowser","window","open","startsWith","target","openBrowserAsync","openURL","resolve","axiosInterceptorIds","interceptors","request","use","headers","console","log","_errorDetails","_errorDetails2","_error$response","_error$response2","_error$response3","_error$response4","errorDetails","errMsg","errors","message","includes","status","_this$appConfig$curre5","_this$appConfig$curre6","eval","failOnError","call","e","triggerStartUpVariables","all","startUpVariables","map","s","Variables","invoke","catch","componentDidMount","show","then","onAppVariablesReady","isStarted","startUpActions","a","Actions","componentWillUnmount","id","eject","forEach","getProviders","createElement","value","renderToasters","toastsOpened","render","watch","refreshCount","Fragment","o","i","theme","position","width","bottom","elevation","elevationIndex","zIndex","styles","onPress","onClick","text","name","type","caption","hideclose","renderDialogs","_last","modalsOpened","animatedRefs","modalOptions","onStartShouldSetResponder","onResponderEnd","isModal","hideModal","appModal","centered","centeredModal","modalStyle","entryanimation","ref","animatedRef","appModalContent","contentStyle","evt","stopPropagation","renderDisplayManager","displayOptions","displayViewContainer","renderIconsViewSupportForWeb","getSelectedLocale","selectedLocale","getDependency","serviceName","service","renderApp","_this2","autoUpdateVariables","_this$Variables$value","invokeOnParamChange","paperTheme","Consumer","_this2$props","_this2$appConfig$draw","_this2$appConfig$draw2","insets","top","left","right","flex","behavior","container","landingPage","landingPageParams","hideDrawer","drawerContent","drawerAnimation","appLocale","alignItems","flexDirection","justifyContent","backgroundColor","height"],"sources":["App.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport axios, { AxiosError, InternalAxiosRequestConfig, AxiosResponse } from 'axios';\nimport { Platform, TouchableOpacity, View, ViewStyle, StatusBar, KeyboardAvoidingView } from 'react-native';\nimport ProtoTypes from 'prop-types';\nimport { SafeAreaProvider, SafeAreaInsetsContext, SafeAreaView } from 'react-native-safe-area-context';\nimport { DefaultTheme, Provider as PaperProvider } from 'react-native-paper';\nimport { Linking } from 'react-native';\nimport { NativeModulesProxy } from 'expo-modules-core';\nimport * as WebBrowser from 'expo-web-browser';\nimport { get, last } from 'lodash';\nimport { RENDER_LOGGER } from '@wavemaker/app-rn-runtime/core/logger';\nimport EventNotifier from '@wavemaker/app-rn-runtime/core/event-notifier';\nimport { ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';\nimport AppConfig, { Drawer } from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport StorageService from '@wavemaker/app-rn-runtime/core/storage.service';\nimport ConstantService from '@wavemaker/app-rn-runtime/core/constant.service';\nimport NetworkService, { NetworkState } from '@wavemaker/app-rn-runtime/core/network.service';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport formatters from '@wavemaker/app-rn-runtime/core/formatters';\nimport { deepCopy, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport * as Utils from '@wavemaker/app-rn-runtime/core/utils';\nimport { ModalProvider } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { FixedViewContainer } from '@wavemaker/app-rn-runtime/core/fixed-view.component';\nimport { ToastProvider } from '@wavemaker/app-rn-runtime/core/toast.service';\nimport NavigationService, { NavigationServiceProvider } from '@wavemaker/app-rn-runtime/core/navigation.service';\nimport { PartialProvider } from '@wavemaker/app-rn-runtime/core/partial.service';\nimport WmNetworkInfoToaster from '@wavemaker/app-rn-runtime/components/advanced/network-info-toaster/network-info-toaster.component';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport WmMessage from '@wavemaker/app-rn-runtime/components/basic/message/message.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport AppI18nService from '@wavemaker/app-rn-runtime/runtime/services/app-i18n.service';\n\nimport { Watcher } from './watcher';\nimport { preparePatch } from './lib-patch';\nimport AppDisplayManagerService from './services/app-display-manager.service';\nimport AppModalService from './services/app-modal.service';\nimport AppToastService from './services/app-toast.service';\nimport AppPartialService from './services/partial.service';\nimport AppSpinnerService from './services/app-spinner.service';\nimport { AppNavigator } from './App.navigator';\nimport { SecurityProvider } from '../core/security.service';\nimport { CameraProvider } from '../core/device/camera-service';\nimport CameraService from './services/device/camera-service';\nimport { ScanProvider } from '../core/device/scan-service';\nimport ScanService from './services/device/scan-service';\nimport AppSecurityService from './services/app-security.service';\nimport {getValidJSON, parseErrors} from '@wavemaker/app-rn-runtime/variables/utils/variable.utils';\nimport MaterialCommunityIconsFont from '@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf';\n\nimport * as SplashScreen from 'expo-splash-screen';\nimport BasePartial from './base-partial.component';\nimport BasePage from './base-page.component';\nimport { WmMemo } from './memo.component';\n\ndeclare const window: any;\n\n//some old react libraries need this\n((View as any)['propTypes'] = { style: ProtoTypes.any})\n\nconst MIN_TIME_BETWEEN_REFRESH_CYCLES = 200;\n\nclass DrawerImpl implements Drawer {\n content: ReactNode;\n animation: string = 'slide-in';\n\n constructor(private onChange: () => void) {\n\n }\n\n setContent(content: ReactNode) {\n this.content = content;\n this.onChange();\n }\n\n getContent() {\n return this.content;\n }\n\n setAnimation(animation: string) {\n this.animation = animation;\n this.onChange();\n }\n\n getAnimation() {\n return this.animation;\n }\n}\nconst SUPPORTED_SERVICES = {\n Utils: Utils,\n CONSTANTS: ConstantService,\n StorageService: StorageService,\n AppDisplayManagerService: AppDisplayManagerService\n};\n\nexport default abstract class BaseApp extends React.Component implements NavigationService {\n\n Actions: any = {};\n Variables: any = {};\n onAppVariablesReady = () => {};\n isStarted = false;\n appConfig = injector.get<AppConfig>('APP_CONFIG');\n private eventNotifier = new EventNotifier();\n public baseUrl = '';\n public targetPlatform = 'NATIVE_MOBILE';\n public cleanup = [] as Function[];\n public commonPartial: BasePartial = null as any;\n private startUpVariables: string[] = [];\n private startUpActions: string[] = [];\n private autoUpdateVariables: string[] = [];\n private axiosInterceptorIds: number[] = [];\n public formatters = formatters;\n public serviceDefinitions = {} as any;\n private animatedRef: any;\n public modalsOpened: number = 0;\n public toastsOpened: number = 0;\n public watcher: Watcher = Watcher.ROOT;\n public paperTheme = {\n ...DefaultTheme,\n colors: {\n ...DefaultTheme.colors,\n primary: ThemeVariables.INSTANCE.primaryColor\n }\n };\n public lib = preparePatch(() => {\n this.refresh();\n });\n\n public networkStatus = {} as NetworkState;\n\n constructor(props: any) {\n super(props);\n SplashScreen.preventAutoHideAsync();\n setTimeout(() => SplashScreen.hideAsync(), 10000);\n this.appConfig.app = this;\n this.appConfig.drawer = new DrawerImpl(() => this.refresh());\n AppSpinnerService.setDefaultOptions({\n spinner: this.appConfig.spinner\n });\n let refreshAfterWait = false;\n this.baseUrl = this.appConfig.url;\n let wait = 0;\n this.bindServiceInterceptors();\n this.appConfig.refresh = (complete = false) => {\n if (complete) {\n this.reload();\n return;\n }\n if (!wait) {\n RENDER_LOGGER.debug('refreshing the app...');\n wait = MIN_TIME_BETWEEN_REFRESH_CYCLES;\n refreshAfterWait = false;\n setTimeout(() => {\n this.forceUpdate();\n this.commonPartial?.forceUpdate();\n this.appConfig.currentPage?.forceUpdate();\n this.watcher.check();\n });\n setTimeout(() => {\n wait = 0;\n refreshAfterWait && this.appConfig.refresh();\n }, wait);\n } else {\n RENDER_LOGGER.debug('will refresh the app in the next cycle.');\n refreshAfterWait = true;\n }\n }\n this.cleanup.push(\n NetworkService.notifier.subscribe('onNetworkStateChange', (networkState: NetworkState) => {\n this.networkStatus = {...networkState};\n this.refresh();\n }\n ));\n }\n\n subscribe(event: string, fn: Function) {\n return this.eventNotifier.subscribe(event, fn);\n }\n\n notify(event: string, ...args: any) {\n return this.eventNotifier.notify(event, args);\n }\n\n get activePage() {\n return this.appConfig.currentPage;\n }\n\n get Widgets() {\n return this.commonPartial?.Widgets;\n }\n\n goToPage(pageName: string, params: any) {\n return this.appConfig.currentPage?.goToPage(pageName, params);\n }\n\n goBack(pageName: string, params: any) {\n return this.appConfig.currentPage?.goBack(pageName, params);\n }\n\n openUrl(url: string, params?: any) {\n return this.appConfig.currentPage?.openUrl(url, params);\n }\n\n onBeforeServiceCall(config: InternalAxiosRequestConfig) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n return config;\n }\n\n isSkeletonEnabled() {\n return this.appConfig.spinner.loader == \"skeleton\";\n }\n\n onServiceSuccess(data: any, response: AxiosResponse) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n }\n\n onServiceError(errorMsg: any, error: AxiosError<any>) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n }\n\n invokeNativeApi(key: string, data: Object) {\n if (NativeModulesProxy.EmbedCommModule\n && (Platform.OS === 'android' || Platform.OS === 'ios')) {\n return NativeModulesProxy.EmbedCommModule.sendToNative(key, data || {});\n } else {\n return Promise.reject('Not able to invoke Native API in this platform.');\n }\n }\n\n onPageReady(activePageName: string, activePageScope: BasePage) {\n\n }\n\n setTimezone(timezone: any){\n AppI18nService.setTimezone(timezone);\n }\n \n get spinner() {\n return AppSpinnerService;\n }\n\n openBrowser(url: string, params = {} as any) {\n if (url) {\n if (isWebPreviewMode()) {\n window.open(url, '_blank');\n } else if (url.startsWith('http') && params.target === '_blank') {\n WebBrowser.openBrowserAsync(url);\n } else {\n return Linking.openURL(url);\n }\n }\n return Promise.resolve();\n }\n\n // To support old api\n reload() {}\n\n bindServiceInterceptors() {\n this.axiosInterceptorIds = [\n axios.interceptors.request.use((config: InternalAxiosRequestConfig) => {\n const url = config.url as string;\n if (!(url.startsWith('http://') || url.startsWith(\"https://\"))) {\n config.url = this.appConfig.url + '/' + url;\n }\n config.headers = config.headers || {};\n config.headers['X-Requested-With'] = 'XMLHttpRequest';\n console.log('onBeforeService call invoked on ' + config.url);\n return this.onBeforeServiceCall(config);\n }),\n axios.interceptors.response.use(\n (response: AxiosResponse) => {\n this.onServiceSuccess(response.data, response);\n return response;\n },(error: AxiosError<any>) => {\n let errorDetails: any = error.response, errMsg;\n errorDetails = getValidJSON(errorDetails?.data) || errorDetails?.data;\n if (errorDetails && errorDetails.errors) {\n errMsg = parseErrors(errorDetails.errors) || \"Service Call Failed\";\n } else {\n errMsg = error.message || \"Service Call Failed\";\n }\n error.message = errMsg;\n console.error(`Error ${errMsg} recieved from ${error.response?.config?.url}`);\n this.onServiceError(error.message, error);\n if (error.response?.config.url?.startsWith(this.appConfig.url) && !error.response?.config.url?.includes('/services/') && error.response?.status === 401) {\n this.appConfig.currentPage?.pageName !== 'Login' && this.appConfig.currentPage?.goToPage('Login');\n }\n return Promise.reject(error)\n })\n ];\n }\n\n eval(fn: Function, failOnError = false) {\n try {\n return fn.call(this);\n } catch (e) {\n if (failOnError) {\n throw e;\n } else {\n return null;\n }\n }\n }\n\n triggerStartUpVariables() {\n return Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke()))\n .catch(() => {});\n }\n\n componentDidMount() {\n AppSpinnerService.show({\n spinner: this.appConfig.spinner\n });\n this.triggerStartUpVariables()\n .then(() => {\n this.onAppVariablesReady();\n this.isStarted = true;\n this.forceUpdate();\n }, () => {}).then(() => {\n SplashScreen.hideAsync().then(() => {});\n });\n this.startUpActions.map(a => this.Actions[a] && this.Actions[a].invoke());\n }\n\n componentWillUnmount(): void {\n this.axiosInterceptorIds.map(id => {\n axios.interceptors.request.eject(id);\n });\n this.cleanup.forEach(fn => fn());\n }\n\n refresh() {\n this.appConfig.refresh();\n }\n\n getProviders(content: React.ReactNode) {\n return (\n <NavigationServiceProvider value={this}>\n <ToastProvider value={AppToastService}>\n <PartialProvider value={AppPartialService}>\n <SecurityProvider value={AppSecurityService}>\n <CameraProvider value={CameraService}>\n <ScanProvider value={ScanService}>\n <ModalProvider value={AppModalService}>\n { content }\n </ModalProvider>\n </ScanProvider>\n </CameraProvider>\n </SecurityProvider>\n </PartialProvider>\n </ToastProvider>\n </NavigationServiceProvider>\n );\n }\n\n renderToasters() {\n this.toastsOpened = AppToastService.toastsOpened.length;\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => AppToastService.refreshCount);\n return (\n <>\n {AppToastService.toastsOpened.map((o, i) =>{\n return this.getProviders((\n <ThemeProvider value={this.appConfig.theme}>\n <View key={i} style={[{\n position: 'absolute',\n width: '100%',\n bottom: 0,\n elevation: o.elevationIndex,\n zIndex: o.elevationIndex\n }, o.styles]}>\n <TouchableOpacity onPress={() => o.onClick && o.onClick()}>\n {o.content}\n {o.text && <WmMessage name={\"message\"+ i} type={o.type} caption={o.text} hideclose={true}></WmMessage>}\n </TouchableOpacity>\n </View>\n </ThemeProvider>\n )\n )})}\n </>);\n }}/>;\n }\n\n renderDialogs(): ReactNode {\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => last(AppModalService.modalsOpened)?.content);\n this.modalsOpened = AppModalService.modalsOpened.length;\n AppModalService.animatedRefs.length = 0;\n return(\n <>\n {AppModalService.modalOptions.content &&\n AppModalService.modalsOpened.map((o, i) => {\n return (\n <View key={(o.name || '') + i}\n onStartShouldSetResponder={() => true}\n onResponderEnd={() => o.isModal && AppModalService.hideModal(o)}\n style={deepCopy(styles.appModal,\n o.centered ? styles.centeredModal: null,\n o.modalStyle,\n { elevation: o.elevationIndex,\n zIndex: o.elevationIndex })}>\n <Animatedview entryanimation={o.animation || 'fadeIn'}\n ref={ref => {\n this.animatedRef = ref;\n AppModalService.animatedRefs[i] = ref;\n }}\n style={[styles.appModalContent, o.contentStyle]}>\n <View\n onStartShouldSetResponder={evt => true}\n onResponderEnd={(e) => e.stopPropagation()}\n style={{width: '100%', 'alignItems': 'center'}}>\n {this.getProviders(o.content)}\n </View>\n </Animatedview>\n </View>\n )}\n )\n }\n </>);\n }}/>;\n }\n\n renderDisplayManager(): ReactNode {\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => AppDisplayManagerService.displayOptions.content);\n return AppDisplayManagerService.displayOptions.content\n ? (\n <ThemeProvider value={this.appConfig.theme}>\n <View style={[styles.displayViewContainer, {\n elevation: this.toastsOpened + this.modalsOpened + 1,\n zIndex: this.toastsOpened + this.modalsOpened + 1\n }]}>\n {AppDisplayManagerService.displayOptions.content}\n </View>\n </ThemeProvider>) : null;\n }}/>\n }\n\n renderIconsViewSupportForWeb() {\n try {\n return (<style type=\"text/css\">{`\n @font-face {\n font-family: 'MaterialCommunityIcons';\n src: url(${MaterialCommunityIconsFont}) format('truetype');\n }\n `}</style>);\n } catch (e) {\n console.log('require react-native-vector-icons could not be loaded.');\n }\n return null;\n }\n\n getSelectedLocale() {\n return this.appConfig.selectedLocale;\n }\n\n getDependency(serviceName: string): any {\n const service = get(SUPPORTED_SERVICES, serviceName);\n if (service) {\n return service;\n }\n }\n\n renderApp(commonPartial:React.ReactNode) {\n this.autoUpdateVariables.forEach(value => this.Variables[value]?.invokeOnParamChange());\n return (\n <SafeAreaProvider>\n <PaperProvider theme={this.paperTheme}>\n <React.Fragment>\n {Platform.OS === 'web' ? this.renderIconsViewSupportForWeb() : null}\n <SafeAreaInsetsContext.Consumer>\n {(insets = {top: 0, bottom: 0, left: 0, right: 0}) =>\n (this.getProviders(\n (<SafeAreaView style={{flex: 1}}>\n <StatusBar />\n <ThemeProvider value={this.appConfig.theme}>\n <FixedViewContainer>\n <KeyboardAvoidingView behavior={Platform.OS === \"ios\" ? \"padding\" : undefined}\n style={{ flex: 1 }}>\n <View style={styles.container}>\n <AppNavigator\n app={this}\n landingPage={(this.props as any).pageName}\n landingPageParams={(this.props as any)?.pageName && this.props}\n hideDrawer={this.appConfig.drawer?.getContent() === null}\n drawerContent={() => this.appConfig.drawer? this.getProviders(this.appConfig.drawer.getContent()) : null}\n drawerAnimation={this.appConfig.drawer?.getAnimation()}></AppNavigator>\n {commonPartial}\n </View>\n </KeyboardAvoidingView>\n {this.appConfig.url ? \n (<WmNetworkInfoToaster appLocale={this.appConfig.appLocale}></WmNetworkInfoToaster>)\n : null}\n </FixedViewContainer>\n {this.renderToasters()}\n {this.renderDialogs()}\n {this.renderDisplayManager()}\n </ThemeProvider>\n </SafeAreaView>))\n )\n }\n </SafeAreaInsetsContext.Consumer>\n </React.Fragment>\n </PaperProvider>\n </SafeAreaProvider>\n );\n }\n}\n\nconst styles = {\n container: {\n flex: 1\n },\n appModal: {\n position: 'absolute',\n width: '100%'\n },\n appModalContent : {\n flex: 1,\n width: '100%',\n alignItems: 'center',\n flexDirection: 'column',\n justifyContent: 'center'\n },\n centeredModal: {\n flex: 1,\n position: 'absolute',\n top: 0,\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: 'rgba(0, 0, 0, 0.4)',\n height: '100%'\n },\n displayViewContainer: {\n position: 'absolute',\n justifyContent: 'center',\n width: '100%',\n left: 0,\n right: 0,\n top: 0,\n bottom:0\n } as ViewStyle\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","axios","Platform","TouchableOpacity","View","StatusBar","KeyboardAvoidingView","ProtoTypes","SafeAreaProvider","SafeAreaInsetsContext","SafeAreaView","DefaultTheme","Provider","PaperProvider","Linking","NativeModulesProxy","WebBrowser","get","last","RENDER_LOGGER","EventNotifier","ThemeProvider","StorageService","ConstantService","NetworkService","injector","formatters","deepCopy","isWebPreviewMode","Utils","ModalProvider","FixedViewContainer","ToastProvider","NavigationServiceProvider","PartialProvider","WmNetworkInfoToaster","ThemeVariables","WmMessage","Animatedview","AppI18nService","Watcher","preparePatch","AppDisplayManagerService","AppModalService","AppToastService","AppPartialService","AppSpinnerService","AppNavigator","SecurityProvider","CameraProvider","CameraService","ScanProvider","ScanService","AppSecurityService","getValidJSON","parseErrors","MaterialCommunityIconsFont","SplashScreen","WmMemo","style","any","MIN_TIME_BETWEEN_REFRESH_CYCLES","DrawerImpl","constructor","onChange","_defineProperty","setContent","content","getContent","setAnimation","animation","getAnimation","SUPPORTED_SERVICES","CONSTANTS","BaseApp","Component","props","_this","this","ROOT","colors","primary","INSTANCE","primaryColor","refresh","preventAutoHideAsync","setTimeout","hideAsync","appConfig","app","drawer","setDefaultOptions","spinner","refreshAfterWait","baseUrl","url","wait","bindServiceInterceptors","complete","arguments","length","undefined","reload","debug","_this$commonPartial","_this$appConfig$curre","forceUpdate","commonPartial","currentPage","watcher","check","cleanup","push","notifier","subscribe","networkState","networkStatus","event","fn","eventNotifier","notify","_len","args","Array","_key","activePage","Widgets","_this$commonPartial2","goToPage","pageName","params","_this$appConfig$curre2","goBack","_this$appConfig$curre3","openUrl","_this$appConfig$curre4","onBeforeServiceCall","config","isSkeletonEnabled","loader","onServiceSuccess","data","response","onServiceError","errorMsg","error","invokeNativeApi","key","EmbedCommModule","OS","sendToNative","Promise","reject","triggerPageReady","activePageName","activePageScope","onPageReady","setTimezone","timezone","openBrowser","window","open","startsWith","target","openBrowserAsync","openURL","resolve","axiosInterceptorIds","interceptors","request","use","headers","console","log","_errorDetails","_errorDetails2","_error$response","_error$response2","_error$response3","_error$response4","errorDetails","errMsg","errors","message","includes","status","_this$appConfig$curre5","_this$appConfig$curre6","eval","failOnError","call","e","triggerStartUpVariables","all","startUpVariables","map","s","Variables","invoke","catch","componentDidMount","show","then","onAppVariablesReady","isStarted","startUpActions","a","Actions","componentWillUnmount","id","eject","forEach","getProviders","createElement","value","renderToasters","toastsOpened","render","watch","refreshCount","Fragment","o","i","theme","position","width","bottom","elevation","elevationIndex","zIndex","styles","onPress","onClick","text","name","type","caption","hideclose","renderDialogs","_last","modalsOpened","animatedRefs","modalOptions","onStartShouldSetResponder","onResponderEnd","isModal","hideModal","appModal","centered","centeredModal","modalStyle","entryanimation","ref","animatedRef","appModalContent","contentStyle","evt","stopPropagation","renderDisplayManager","displayOptions","displayViewContainer","renderIconsViewSupportForWeb","getSelectedLocale","selectedLocale","getDependency","serviceName","service","renderApp","_this2","autoUpdateVariables","_this$Variables$value","invokeOnParamChange","paperTheme","Consumer","_this2$props","_this2$appConfig$draw","_this2$appConfig$draw2","insets","top","left","right","flex","behavior","container","landingPage","landingPageParams","hideDrawer","drawerContent","drawerAnimation","appLocale","alignItems","flexDirection","justifyContent","backgroundColor","height"],"sources":["App.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport axios, { AxiosError, InternalAxiosRequestConfig, AxiosResponse } from 'axios';\nimport { Platform, TouchableOpacity, View, ViewStyle, StatusBar, KeyboardAvoidingView } from 'react-native';\nimport ProtoTypes from 'prop-types';\nimport { SafeAreaProvider, SafeAreaInsetsContext, SafeAreaView } from 'react-native-safe-area-context';\nimport { DefaultTheme, Provider as PaperProvider } from 'react-native-paper';\nimport { Linking } from 'react-native';\nimport { NativeModulesProxy } from 'expo-modules-core';\nimport * as WebBrowser from 'expo-web-browser';\nimport { get, last } from 'lodash';\nimport { RENDER_LOGGER } from '@wavemaker/app-rn-runtime/core/logger';\nimport EventNotifier from '@wavemaker/app-rn-runtime/core/event-notifier';\nimport { ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';\nimport AppConfig, { Drawer } from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport StorageService from '@wavemaker/app-rn-runtime/core/storage.service';\nimport ConstantService from '@wavemaker/app-rn-runtime/core/constant.service';\nimport NetworkService, { NetworkState } from '@wavemaker/app-rn-runtime/core/network.service';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport formatters from '@wavemaker/app-rn-runtime/core/formatters';\nimport { deepCopy, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport * as Utils from '@wavemaker/app-rn-runtime/core/utils';\nimport { ModalProvider } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { FixedViewContainer } from '@wavemaker/app-rn-runtime/core/fixed-view.component';\nimport { ToastProvider } from '@wavemaker/app-rn-runtime/core/toast.service';\nimport NavigationService, { NavigationServiceProvider } from '@wavemaker/app-rn-runtime/core/navigation.service';\nimport { PartialProvider } from '@wavemaker/app-rn-runtime/core/partial.service';\nimport WmNetworkInfoToaster from '@wavemaker/app-rn-runtime/components/advanced/network-info-toaster/network-info-toaster.component';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport WmMessage from '@wavemaker/app-rn-runtime/components/basic/message/message.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport AppI18nService from '@wavemaker/app-rn-runtime/runtime/services/app-i18n.service';\n\nimport { Watcher } from './watcher';\nimport { preparePatch } from './lib-patch';\nimport AppDisplayManagerService from './services/app-display-manager.service';\nimport AppModalService from './services/app-modal.service';\nimport AppToastService from './services/app-toast.service';\nimport AppPartialService from './services/partial.service';\nimport AppSpinnerService from './services/app-spinner.service';\nimport { AppNavigator } from './App.navigator';\nimport { SecurityProvider } from '../core/security.service';\nimport { CameraProvider } from '../core/device/camera-service';\nimport CameraService from './services/device/camera-service';\nimport { ScanProvider } from '../core/device/scan-service';\nimport ScanService from './services/device/scan-service';\nimport AppSecurityService from './services/app-security.service';\nimport {getValidJSON, parseErrors} from '@wavemaker/app-rn-runtime/variables/utils/variable.utils';\nimport MaterialCommunityIconsFont from '@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf';\n\nimport * as SplashScreen from 'expo-splash-screen';\nimport BasePartial from './base-partial.component';\nimport BasePage from './base-page.component';\nimport { WmMemo } from './memo.component';\n\ndeclare const window: any;\n\n//some old react libraries need this\n((View as any)['propTypes'] = { style: ProtoTypes.any})\n\nconst MIN_TIME_BETWEEN_REFRESH_CYCLES = 200;\n\nclass DrawerImpl implements Drawer {\n content: ReactNode;\n animation: string = 'slide-in';\n\n constructor(private onChange: () => void) {\n\n }\n\n setContent(content: ReactNode) {\n this.content = content;\n this.onChange();\n }\n\n getContent() {\n return this.content;\n }\n\n setAnimation(animation: string) {\n this.animation = animation;\n this.onChange();\n }\n\n getAnimation() {\n return this.animation;\n }\n}\nconst SUPPORTED_SERVICES = {\n Utils: Utils,\n CONSTANTS: ConstantService,\n StorageService: StorageService,\n AppDisplayManagerService: AppDisplayManagerService\n};\n\nexport default abstract class BaseApp extends React.Component implements NavigationService {\n\n Actions: any = {};\n Variables: any = {};\n onAppVariablesReady = () => {};\n isStarted = false;\n appConfig = injector.get<AppConfig>('APP_CONFIG');\n private eventNotifier = new EventNotifier();\n public baseUrl = '';\n public targetPlatform = 'NATIVE_MOBILE';\n public cleanup = [] as Function[];\n public commonPartial: BasePartial = null as any;\n private startUpVariables: string[] = [];\n private startUpActions: string[] = [];\n private autoUpdateVariables: string[] = [];\n private axiosInterceptorIds: number[] = [];\n public formatters = formatters;\n public serviceDefinitions = {} as any;\n private animatedRef: any;\n public modalsOpened: number = 0;\n public toastsOpened: number = 0;\n public watcher: Watcher = Watcher.ROOT;\n public paperTheme = {\n ...DefaultTheme,\n colors: {\n ...DefaultTheme.colors,\n primary: ThemeVariables.INSTANCE.primaryColor\n }\n };\n public lib = preparePatch(() => {\n this.refresh();\n });\n\n public networkStatus = {} as NetworkState;\n\n constructor(props: any) {\n super(props);\n SplashScreen.preventAutoHideAsync();\n setTimeout(() => SplashScreen.hideAsync(), 10000);\n this.appConfig.app = this;\n this.appConfig.drawer = new DrawerImpl(() => this.refresh());\n AppSpinnerService.setDefaultOptions({\n spinner: this.appConfig.spinner\n });\n let refreshAfterWait = false;\n this.baseUrl = this.appConfig.url;\n let wait = 0;\n this.bindServiceInterceptors();\n this.appConfig.refresh = (complete = false) => {\n if (complete) {\n this.reload();\n return;\n }\n if (!wait) {\n RENDER_LOGGER.debug('refreshing the app...');\n wait = MIN_TIME_BETWEEN_REFRESH_CYCLES;\n refreshAfterWait = false;\n setTimeout(() => {\n this.forceUpdate();\n this.commonPartial?.forceUpdate();\n this.appConfig.currentPage?.forceUpdate();\n this.watcher.check();\n });\n setTimeout(() => {\n wait = 0;\n refreshAfterWait && this.appConfig.refresh();\n }, wait);\n } else {\n RENDER_LOGGER.debug('will refresh the app in the next cycle.');\n refreshAfterWait = true;\n }\n }\n this.cleanup.push(\n NetworkService.notifier.subscribe('onNetworkStateChange', (networkState: NetworkState) => {\n this.networkStatus = {...networkState};\n this.refresh();\n }\n ));\n }\n\n subscribe(event: string, fn: Function) {\n return this.eventNotifier.subscribe(event, fn);\n }\n\n notify(event: string, ...args: any) {\n return this.eventNotifier.notify(event, args);\n }\n\n get activePage() {\n return this.appConfig.currentPage;\n }\n\n get Widgets() {\n return this.commonPartial?.Widgets;\n }\n\n goToPage(pageName: string, params: any) {\n return this.appConfig.currentPage?.goToPage(pageName, params);\n }\n\n goBack(pageName: string, params: any) {\n return this.appConfig.currentPage?.goBack(pageName, params);\n }\n\n openUrl(url: string, params?: any) {\n return this.appConfig.currentPage?.openUrl(url, params);\n }\n\n onBeforeServiceCall(config: InternalAxiosRequestConfig) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n return config;\n }\n\n isSkeletonEnabled() {\n return this.appConfig.spinner.loader == \"skeleton\";\n }\n\n onServiceSuccess(data: any, response: AxiosResponse) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n }\n\n onServiceError(errorMsg: any, error: AxiosError<any>) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n }\n\n invokeNativeApi(key: string, data: Object) {\n if (NativeModulesProxy.EmbedCommModule\n && (Platform.OS === 'android' || Platform.OS === 'ios')) {\n return NativeModulesProxy.EmbedCommModule.sendToNative(key, data || {});\n } else {\n return Promise.reject('Not able to invoke Native API in this platform.');\n }\n }\n\n triggerPageReady(activePageName: string, activePageScope: BasePage) {\n this.onPageReady(activePageName, activePageScope);\n }\n\n onPageReady(activePageName: string, activePageScope: BasePage) {\n\n }\n\n setTimezone(timezone: any){\n AppI18nService.setTimezone(timezone);\n }\n \n get spinner() {\n return AppSpinnerService;\n }\n\n openBrowser(url: string, params = {} as any) {\n if (url) {\n if (isWebPreviewMode()) {\n window.open(url, '_blank');\n } else if (url.startsWith('http') && params.target === '_blank') {\n WebBrowser.openBrowserAsync(url);\n } else {\n return Linking.openURL(url);\n }\n }\n return Promise.resolve();\n }\n\n // To support old api\n reload() {}\n\n bindServiceInterceptors() {\n this.axiosInterceptorIds = [\n axios.interceptors.request.use((config: InternalAxiosRequestConfig) => {\n const url = config.url as string;\n if (!(url.startsWith('http://') || url.startsWith(\"https://\"))) {\n config.url = this.appConfig.url + '/' + url;\n }\n config.headers = config.headers || {};\n config.headers['X-Requested-With'] = 'XMLHttpRequest';\n console.log('onBeforeService call invoked on ' + config.url);\n return this.onBeforeServiceCall(config);\n }),\n axios.interceptors.response.use(\n (response: AxiosResponse) => {\n this.onServiceSuccess(response.data, response);\n return response;\n },(error: AxiosError<any>) => {\n let errorDetails: any = error.response, errMsg;\n errorDetails = getValidJSON(errorDetails?.data) || errorDetails?.data;\n if (errorDetails && errorDetails.errors) {\n errMsg = parseErrors(errorDetails.errors) || \"Service Call Failed\";\n } else {\n errMsg = error.message || \"Service Call Failed\";\n }\n error.message = errMsg;\n console.error(`Error ${errMsg} recieved from ${error.response?.config?.url}`);\n this.onServiceError(error.message, error);\n if (error.response?.config.url?.startsWith(this.appConfig.url) && !error.response?.config.url?.includes('/services/') && error.response?.status === 401) {\n this.appConfig.currentPage?.pageName !== 'Login' && this.appConfig.currentPage?.goToPage('Login');\n }\n return Promise.reject(error)\n })\n ];\n }\n\n eval(fn: Function, failOnError = false) {\n try {\n return fn.call(this);\n } catch (e) {\n if (failOnError) {\n throw e;\n } else {\n return null;\n }\n }\n }\n\n triggerStartUpVariables() {\n return Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke()))\n .catch(() => {});\n }\n\n componentDidMount() {\n AppSpinnerService.show({\n spinner: this.appConfig.spinner\n });\n this.triggerStartUpVariables()\n .then(() => {\n this.onAppVariablesReady();\n this.isStarted = true;\n this.forceUpdate();\n }, () => {});\n this.startUpActions.map(a => this.Actions[a] && this.Actions[a].invoke());\n }\n\n componentWillUnmount(): void {\n this.axiosInterceptorIds.map(id => {\n axios.interceptors.request.eject(id);\n });\n this.cleanup.forEach(fn => fn());\n }\n\n refresh() {\n this.appConfig.refresh();\n }\n\n getProviders(content: React.ReactNode) {\n return (\n <NavigationServiceProvider value={this}>\n <ToastProvider value={AppToastService}>\n <PartialProvider value={AppPartialService}>\n <SecurityProvider value={AppSecurityService}>\n <CameraProvider value={CameraService}>\n <ScanProvider value={ScanService}>\n <ModalProvider value={AppModalService}>\n { content }\n </ModalProvider>\n </ScanProvider>\n </CameraProvider>\n </SecurityProvider>\n </PartialProvider>\n </ToastProvider>\n </NavigationServiceProvider>\n );\n }\n\n renderToasters() {\n this.toastsOpened = AppToastService.toastsOpened.length;\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => AppToastService.refreshCount);\n return (\n <>\n {AppToastService.toastsOpened.map((o, i) =>{\n return this.getProviders((\n <ThemeProvider value={this.appConfig.theme}>\n <View key={i} style={[{\n position: 'absolute',\n width: '100%',\n bottom: 0,\n elevation: o.elevationIndex,\n zIndex: o.elevationIndex\n }, o.styles]}>\n <TouchableOpacity onPress={() => o.onClick && o.onClick()}>\n {o.content}\n {o.text && <WmMessage name={\"message\"+ i} type={o.type} caption={o.text} hideclose={true}></WmMessage>}\n </TouchableOpacity>\n </View>\n </ThemeProvider>\n )\n )})}\n </>);\n }}/>;\n }\n\n renderDialogs(): ReactNode {\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => last(AppModalService.modalsOpened)?.content);\n this.modalsOpened = AppModalService.modalsOpened.length;\n AppModalService.animatedRefs.length = 0;\n return(\n <>\n {AppModalService.modalOptions.content &&\n AppModalService.modalsOpened.map((o, i) => {\n return (\n <View key={(o.name || '') + i}\n onStartShouldSetResponder={() => true}\n onResponderEnd={() => o.isModal && AppModalService.hideModal(o)}\n style={deepCopy(styles.appModal,\n o.centered ? styles.centeredModal: null,\n o.modalStyle,\n { elevation: o.elevationIndex,\n zIndex: o.elevationIndex })}>\n <Animatedview entryanimation={o.animation || 'fadeIn'}\n ref={ref => {\n this.animatedRef = ref;\n AppModalService.animatedRefs[i] = ref;\n }}\n style={[styles.appModalContent, o.contentStyle]}>\n <View\n onStartShouldSetResponder={evt => true}\n onResponderEnd={(e) => e.stopPropagation()}\n style={{width: '100%', 'alignItems': 'center'}}>\n {this.getProviders(o.content)}\n </View>\n </Animatedview>\n </View>\n )}\n )\n }\n </>);\n }}/>;\n }\n\n renderDisplayManager(): ReactNode {\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => AppDisplayManagerService.displayOptions.content);\n return AppDisplayManagerService.displayOptions.content\n ? (\n <ThemeProvider value={this.appConfig.theme}>\n <View style={[styles.displayViewContainer, {\n elevation: this.toastsOpened + this.modalsOpened + 1,\n zIndex: this.toastsOpened + this.modalsOpened + 1\n }]}>\n {AppDisplayManagerService.displayOptions.content}\n </View>\n </ThemeProvider>) : null;\n }}/>\n }\n\n renderIconsViewSupportForWeb() {\n try {\n return (<style type=\"text/css\">{`\n @font-face {\n font-family: 'MaterialCommunityIcons';\n src: url(${MaterialCommunityIconsFont}) format('truetype');\n }\n `}</style>);\n } catch (e) {\n console.log('require react-native-vector-icons could not be loaded.');\n }\n return null;\n }\n\n getSelectedLocale() {\n return this.appConfig.selectedLocale;\n }\n\n getDependency(serviceName: string): any {\n const service = get(SUPPORTED_SERVICES, serviceName);\n if (service) {\n return service;\n }\n }\n\n renderApp(commonPartial:React.ReactNode) {\n this.autoUpdateVariables.forEach(value => this.Variables[value]?.invokeOnParamChange());\n return (\n <SafeAreaProvider>\n <PaperProvider theme={this.paperTheme}>\n <React.Fragment>\n {Platform.OS === 'web' ? this.renderIconsViewSupportForWeb() : null}\n <SafeAreaInsetsContext.Consumer>\n {(insets = {top: 0, bottom: 0, left: 0, right: 0}) =>\n (this.getProviders(\n (<SafeAreaView style={{flex: 1}}>\n <StatusBar />\n <ThemeProvider value={this.appConfig.theme}>\n\n <KeyboardAvoidingView behavior={Platform.OS === \"ios\" ? \"padding\" : undefined}\n style={{ flex: 1 }}>\n <FixedViewContainer>\n <View style={styles.container}>\n <AppNavigator\n app={this}\n landingPage={(this.props as any).pageName}\n landingPageParams={(this.props as any)?.pageName && this.props}\n hideDrawer={this.appConfig.drawer?.getContent() === null}\n drawerContent={() => this.appConfig.drawer? this.getProviders(this.appConfig.drawer.getContent()) : null}\n drawerAnimation={this.appConfig.drawer?.getAnimation()}></AppNavigator>\n {commonPartial}\n </View>\n {this.appConfig.url ? \n (<WmNetworkInfoToaster appLocale={this.appConfig.appLocale}></WmNetworkInfoToaster>)\n : null}\n </FixedViewContainer>\n {this.renderToasters()}\n {this.renderDialogs()}\n {this.renderDisplayManager()}\n </KeyboardAvoidingView>\n </ThemeProvider>\n </SafeAreaView>))\n )\n }\n </SafeAreaInsetsContext.Consumer>\n </React.Fragment>\n </PaperProvider>\n </SafeAreaProvider>\n );\n }\n}\n\nconst styles = {\n container: {\n flex: 1\n },\n appModal: {\n position: 'absolute',\n width: '100%'\n },\n appModalContent : {\n flex: 1,\n width: '100%',\n alignItems: 'center',\n flexDirection: 'column',\n justifyContent: 'center'\n },\n centeredModal: {\n flex: 1,\n position: 'absolute',\n top: 0,\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: 'rgba(0, 0, 0, 0.4)',\n height: '100%'\n },\n displayViewContainer: {\n position: 'absolute',\n justifyContent: 'center',\n width: '100%',\n left: 0,\n right: 0,\n top: 0,\n bottom:0\n } as ViewStyle\n};\n"],"mappings":"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"}
@@ -4,6 +4,7 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
4
4
  import { clone, isEqual } from 'lodash';
5
5
  import React from 'react';
6
6
  import { CommonActions } from '@react-navigation/native';
7
+ import * as SplashScreen from 'expo-splash-screen';
7
8
  import WmPage from '@wavemaker/app-rn-runtime/components/page/page.component';
8
9
  import { NavigationServiceProvider } from '@wavemaker/app-rn-runtime/core/navigation.service';
9
10
  import AppSecurityService from './services/app-security.service';
@@ -20,6 +21,9 @@ export default class BasePage extends BaseFragment {
20
21
  _defineProperty(this, "hasTabbar", false);
21
22
  _defineProperty(this, "drawerContent", null);
22
23
  _defineProperty(this, "drawerType", '');
24
+ setTimeout(() => {
25
+ SplashScreen.hideAsync();
26
+ }, 300);
23
27
  this.pageName = props.route.name;
24
28
  this.pageParams = props.route.params;
25
29
  this.appConfig.currentPage = this;
@@ -75,7 +79,7 @@ export default class BasePage extends BaseFragment {
75
79
  onFragmentReady() {
76
80
  return super.onFragmentReady().then(() => {
77
81
  this.onContentReady();
78
- this.App.onPageReady(this.pageName, this.proxy);
82
+ this.App.triggerPageReady(this.pageName, this.proxy);
79
83
  AppSpinnerService.hide();
80
84
  this.cleanup.push(this.props.navigation.addListener('focus', () => {
81
85
  if (this.appConfig.currentPage !== this) {
@@ -1 +1 @@
1
- {"version":3,"names":["clone","isEqual","React","CommonActions","WmPage","NavigationServiceProvider","AppSecurityService","AppSpinnerService","BaseFragment","Watcher","BasePage","constructor","props","_this$appConfig$drawe","_defineProperty","pageName","route","name","pageParams","params","appConfig","currentPage","drawer","setContent","serviceDefinitions","App","watcher","ROOT","create","canUserAccessPage","then","flag","cache","redirectToLogin","toHashURL","onComponentInit","w","targetWidget","refreshdataonattach","toggleDrawer","navigation","setDrawerContent","content","arguments","length","undefined","drawerContent","drawerType","hasDrawer","setTimeout","proxy","_this$appConfig$drawe2","_this$appConfig$drawe4","_this$appConfig$drawe3","createElement","value","setAnimation","onAttach","onFragmentReady","onContentReady","onPageReady","hide","cleanup","push","addListener","refresh","componentWillUnmount","goToPage","clearCahe","_params","dispatch","reset","index","routes","navigate","onDetach","destroyMe","closeDrawer","Promise","resolve","navigateToLandingPage","hash","paramStr","Object","keys","map","k","join","goBack","canGoBack","window","history","back","openUrl","url","startsWith","substring","splits","split","p","forEach","openBrowser","isActiveTabbarItem","_ref","label","link","links","possibleLinks","find","l","includes","renderWidget","renderPage"],"sources":["base-page.component.tsx"],"sourcesContent":["import { clone, isEqual } from 'lodash';\nimport React, { ReactNode } from 'react';\nimport { CommonActions } from '@react-navigation/native';\nimport { BaseComponent } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmPage from '@wavemaker/app-rn-runtime/components/page/page.component';\nimport NavigationService, { NavigationServiceProvider } from '@wavemaker/app-rn-runtime/core/navigation.service';\n\nimport AppSecurityService from './services/app-security.service';\nimport AppSpinnerService from './services/app-spinner.service';\nimport BaseFragment, { FragmentProps, FragmentState } from './base-fragment.component';\nimport { Watcher } from './watcher';\n\ndeclare const window: any;\n\nexport interface PageProps extends FragmentProps {\n route: any;\n navigation: any;\n destroyMe: Function;\n}\n\nexport interface PageState extends FragmentState<PageProps> {}\n\nexport default abstract class BasePage extends BaseFragment<PageProps, PageState> implements NavigationService {\n private pageName = null as unknown as string;\n private pageParams: any = {};\n private hasDrawer = false;\n private hasTabbar = false;\n private drawerContent = null as React.ReactNode;\n private drawerType = '';\n\n constructor(props: PageProps) {\n super(props);\n this.pageName = props.route.name;\n this.pageParams = props.route.params;\n this.appConfig.currentPage = this;\n this.appConfig.drawer?.setContent(null);\n this.serviceDefinitions = this.App.serviceDefinitions;\n this.watcher = Watcher.ROOT.create();\n AppSecurityService.canUserAccessPage(this.pageName)\n .then(flag => {\n if (!flag) {\n this.cache = false;\n AppSecurityService.redirectToLogin(this.toHashURL());\n }\n });\n }\n\n onComponentInit(w: BaseComponent<any, any, any>) {\n super.onComponentInit(w);\n if (w instanceof WmPage) {\n this.targetWidget = w;\n const props = w.props as any;\n this.cache = !(props.cache === false);\n this.refreshdataonattach = !(props.refreshdataonattach === false);\n }\n }\n\n toggleDrawer() {\n (this.props as PageProps).navigation.toggleDrawer();\n }\n\n setDrawerContent(content = this.drawerContent, drawerType = this.drawerType) {\n if (!content) {\n return;\n }\n this.drawerContent = content;\n this.drawerType = drawerType;\n this.hasDrawer = true;\n setTimeout(() => {\n if (this.appConfig.currentPage === this \n || this.appConfig.currentPage.proxy === this) {\n this.appConfig.drawer?.setContent(null);\n setTimeout(() => {\n this.appConfig.drawer?.setContent((\n <NavigationServiceProvider value={this}>\n {content}\n </NavigationServiceProvider>));\n }, 500);\n this.appConfig.drawer?.setAnimation(drawerType);\n }\n }, 10);\n }\n\n onAttach() {\n super.onAttach();\n this.setDrawerContent();\n }\n\n onFragmentReady() {\n return super.onFragmentReady().then(() => {\n this.onContentReady();\n this.App.onPageReady(this.pageName, this.proxy as BasePage);\n AppSpinnerService.hide(); \n this.cleanup.push((this.props as PageProps).navigation.addListener('focus', () => {\n if (this.appConfig.currentPage !== this) {\n this.appConfig.currentPage = this;\n this.onAttach();\n this.appConfig.refresh();\n }\n }));\n });\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n }\n\n goToPage(pageName: string, params: any, clearCahe = false) {\n const navigation = (this.props as PageProps).navigation;\n const _params = clone(params);\n _params && delete _params['pageName'];\n if (pageName !== this.pageName || !isEqual(_params || null, this.pageParams || null)) {\n if (pageName === this.pageName) {\n navigation.push(pageName, _params);\n } else if (clearCahe) {\n navigation.dispatch(CommonActions.reset({\n index: 0,\n routes: [\n { name: pageName, params: params }\n ]}));\n } else {\n navigation.navigate(pageName, _params);\n }\n if (this.cache) {\n this.onDetach();\n } else {\n this.props.destroyMe();\n }\n } else {\n (this.props as PageProps).navigation.closeDrawer();\n }\n return Promise.resolve();\n }\n\n public navigateToLandingPage() {\n AppSecurityService.navigateToLandingPage();\n }\n\n public toHashURL() {\n const hash = `#/${this.pageName}`;\n const paramStr = Object.keys(this.pageParams || [])\n .map(k => k && `${k}=${this.pageParams[k]}`)\n .join('&');\n return hash + (paramStr ? `?${paramStr}` : '');\n }\n\n goBack() {\n const navigation = (this.props as PageProps).navigation;\n if (navigation.canGoBack()) {\n navigation.goBack();\n } else if (window && window.history) {\n window.history.back();\n }\n return Promise.resolve();\n }\n\n openUrl(url: string, params = {} as any) {\n if (url) {\n if (url.startsWith('#')) {\n url = url.substring(1);\n url = url.startsWith('/') ? url.substring(1) : url;\n const splits = url.split('?');\n const pageName = splits[0];\n let params = {} as any;\n if (splits.length > 1) {\n splits[1].split('&')\n .map(p => p.split('='))\n .forEach(p => params[p[0]] = p[1]);\n }\n return this.goToPage(pageName, params);\n } else {\n this.App.openBrowser(url, params);\n }\n }\n return Promise.resolve();\n }\n\n isActiveTabbarItem({label, link, links}: {label: string, link: string, links: string[]}) {\n const pageName = this.pageName;\n const possibleLinks = [pageName, '#' + pageName, '#/' + pageName];\n return links && links.find(l => possibleLinks.includes(l));\n }\n\n abstract renderPage(): ReactNode;\n\n renderWidget(props: PageProps) {\n return this.renderPage();\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["clone","isEqual","React","CommonActions","SplashScreen","WmPage","NavigationServiceProvider","AppSecurityService","AppSpinnerService","BaseFragment","Watcher","BasePage","constructor","props","_this$appConfig$drawe","_defineProperty","setTimeout","hideAsync","pageName","route","name","pageParams","params","appConfig","currentPage","drawer","setContent","serviceDefinitions","App","watcher","ROOT","create","canUserAccessPage","then","flag","cache","redirectToLogin","toHashURL","onComponentInit","w","targetWidget","refreshdataonattach","toggleDrawer","navigation","setDrawerContent","content","arguments","length","undefined","drawerContent","drawerType","hasDrawer","proxy","_this$appConfig$drawe2","_this$appConfig$drawe4","_this$appConfig$drawe3","createElement","value","setAnimation","onAttach","onFragmentReady","onContentReady","triggerPageReady","hide","cleanup","push","addListener","refresh","componentWillUnmount","goToPage","clearCahe","_params","dispatch","reset","index","routes","navigate","onDetach","destroyMe","closeDrawer","Promise","resolve","navigateToLandingPage","hash","paramStr","Object","keys","map","k","join","goBack","canGoBack","window","history","back","openUrl","url","startsWith","substring","splits","split","p","forEach","openBrowser","isActiveTabbarItem","_ref","label","link","links","possibleLinks","find","l","includes","renderWidget","renderPage"],"sources":["base-page.component.tsx"],"sourcesContent":["import { clone, isEqual } from 'lodash';\nimport React, { ReactNode } from 'react';\nimport { CommonActions } from '@react-navigation/native';\nimport * as SplashScreen from 'expo-splash-screen';\nimport { BaseComponent } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmPage from '@wavemaker/app-rn-runtime/components/page/page.component';\nimport NavigationService, { NavigationServiceProvider } from '@wavemaker/app-rn-runtime/core/navigation.service';\n\nimport AppSecurityService from './services/app-security.service';\nimport AppSpinnerService from './services/app-spinner.service';\nimport BaseFragment, { FragmentProps, FragmentState } from './base-fragment.component';\nimport { Watcher } from './watcher';\n\ndeclare const window: any;\n\nexport interface PageProps extends FragmentProps {\n route: any;\n navigation: any;\n destroyMe: Function;\n}\n\nexport interface PageState extends FragmentState<PageProps> {}\n\nexport default abstract class BasePage extends BaseFragment<PageProps, PageState> implements NavigationService {\n private pageName = null as unknown as string;\n private pageParams: any = {};\n private hasDrawer = false;\n private hasTabbar = false;\n private drawerContent = null as React.ReactNode;\n private drawerType = '';\n\n constructor(props: PageProps) {\n super(props);\n setTimeout(() => {\n SplashScreen.hideAsync();\n }, 300);\n this.pageName = props.route.name;\n this.pageParams = props.route.params;\n this.appConfig.currentPage = this;\n this.appConfig.drawer?.setContent(null);\n this.serviceDefinitions = this.App.serviceDefinitions;\n this.watcher = Watcher.ROOT.create();\n AppSecurityService.canUserAccessPage(this.pageName)\n .then(flag => {\n if (!flag) {\n this.cache = false;\n AppSecurityService.redirectToLogin(this.toHashURL());\n }\n });\n }\n\n onComponentInit(w: BaseComponent<any, any, any>) {\n super.onComponentInit(w);\n if (w instanceof WmPage) {\n this.targetWidget = w;\n const props = w.props as any;\n this.cache = !(props.cache === false);\n this.refreshdataonattach = !(props.refreshdataonattach === false);\n }\n }\n\n toggleDrawer() {\n (this.props as PageProps).navigation.toggleDrawer();\n }\n\n setDrawerContent(content = this.drawerContent, drawerType = this.drawerType) {\n if (!content) {\n return;\n }\n this.drawerContent = content;\n this.drawerType = drawerType;\n this.hasDrawer = true;\n setTimeout(() => {\n if (this.appConfig.currentPage === this \n || this.appConfig.currentPage.proxy === this) {\n this.appConfig.drawer?.setContent(null);\n setTimeout(() => {\n this.appConfig.drawer?.setContent((\n <NavigationServiceProvider value={this}>\n {content}\n </NavigationServiceProvider>));\n }, 500);\n this.appConfig.drawer?.setAnimation(drawerType);\n }\n }, 10);\n }\n\n onAttach() {\n super.onAttach();\n this.setDrawerContent();\n }\n\n onFragmentReady() {\n return super.onFragmentReady().then(() => {\n this.onContentReady();\n this.App.triggerPageReady(this.pageName, this.proxy as BasePage);\n AppSpinnerService.hide();\n this.cleanup.push((this.props as PageProps).navigation.addListener('focus', () => {\n if (this.appConfig.currentPage !== this) {\n this.appConfig.currentPage = this;\n this.onAttach();\n this.appConfig.refresh();\n }\n }));\n });\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n }\n\n goToPage(pageName: string, params: any, clearCahe = false) {\n const navigation = (this.props as PageProps).navigation;\n const _params = clone(params);\n _params && delete _params['pageName'];\n if (pageName !== this.pageName || !isEqual(_params || null, this.pageParams || null)) {\n if (pageName === this.pageName) {\n navigation.push(pageName, _params);\n } else if (clearCahe) {\n navigation.dispatch(CommonActions.reset({\n index: 0,\n routes: [\n { name: pageName, params: params }\n ]}));\n } else {\n navigation.navigate(pageName, _params);\n }\n if (this.cache) {\n this.onDetach();\n } else {\n this.props.destroyMe();\n }\n } else {\n (this.props as PageProps).navigation.closeDrawer();\n }\n return Promise.resolve();\n }\n\n public navigateToLandingPage() {\n AppSecurityService.navigateToLandingPage();\n }\n\n public toHashURL() {\n const hash = `#/${this.pageName}`;\n const paramStr = Object.keys(this.pageParams || [])\n .map(k => k && `${k}=${this.pageParams[k]}`)\n .join('&');\n return hash + (paramStr ? `?${paramStr}` : '');\n }\n\n goBack() {\n const navigation = (this.props as PageProps).navigation;\n if (navigation.canGoBack()) {\n navigation.goBack();\n } else if (window && window.history) {\n window.history.back();\n }\n return Promise.resolve();\n }\n\n openUrl(url: string, params = {} as any) {\n if (url) {\n if (url.startsWith('#')) {\n url = url.substring(1);\n url = url.startsWith('/') ? url.substring(1) : url;\n const splits = url.split('?');\n const pageName = splits[0];\n let params = {} as any;\n if (splits.length > 1) {\n splits[1].split('&')\n .map(p => p.split('='))\n .forEach(p => params[p[0]] = p[1]);\n }\n return this.goToPage(pageName, params);\n } else {\n this.App.openBrowser(url, params);\n }\n }\n return Promise.resolve();\n }\n\n isActiveTabbarItem({label, link, links}: {label: string, link: string, links: string[]}) {\n const pageName = this.pageName;\n const possibleLinks = [pageName, '#' + pageName, '#/' + pageName];\n return links && links.find(l => possibleLinks.includes(l));\n }\n\n abstract renderPage(): ReactNode;\n\n renderWidget(props: PageProps) {\n return this.renderPage();\n }\n}\n"],"mappings":"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"}
@@ -102,6 +102,7 @@ class AppSecurityService {
102
102
  const appConfig = this.appConfig;
103
103
  if (typeof details !== 'string' && (!details.securityEnabled || details.authenticated)) {
104
104
  if (details.authenticated) {
105
+ var _appConfig$appPropert;
105
106
  loggedInUser.isAuthenticated = details.authenticated;
106
107
  loggedInUser.isSecurityEnabled = details.authenticated;
107
108
  loggedInUser.roles = details.userInfo.userRoles;
@@ -112,6 +113,7 @@ class AppSecurityService {
112
113
  loggedInUser.landingPage = details.userInfo.landingPage;
113
114
  appConfig.loggedInUser = loggedInUser;
114
115
  this.loggedInUser.dataSet = loggedInUser;
116
+ appConfig.landingPage = (_appConfig$appPropert = appConfig.appProperties) === null || _appConfig$appPropert === void 0 ? void 0 : _appConfig$appPropert.homePage;
115
117
  }
116
118
  return appConfig.getServiceDefinitions(appConfig.url).then(() => {
117
119
  return details;
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","axios","each","includes","networkService","injector","StorageService","WebProcessService","USER_ROLE","authCookieStr","XSRF_COOKIE_NAME","xsrf_header_name","AppSecurityService","constructor","_defineProperty","interceptors","request","use","config","onBeforeServiceCall","appConfig","getAppConfig","baseUrl","url","getXsrfToken","then","token","_config$url","startsWith","headers","Promise","resolve","getItem","xsrf_token","get","navigateToLandingPage","_this$appConfig$curre","_this$appConfig$logge","currentPage","goToPage","loggedInUser","landingPage","setTimeout","_this$appConfig$curre2","openUrl","appLogin","options","payload","formData","value","name","encodeURIComponent","defaults","withCredentials","post","baseURL","response","xsrfCookieValue","data","setItem","isLoggedIn","load","userData","getLoggedInUserDetails","useDefaultSuccessHandler","app","triggerStartUpVariables","isConnected","getServiceDefinitions","defaultSecurityConfig","details","securityConfig","isSecurityEnabled","securityEnabled","authenticated","isAuthenticated","roles","userInfo","userRoles","userName","id","userId","tenantId","userAttributes","dataSet","redirectToLogin","arguments","length","undefined","redirectTo","_this$securityConfig","loginConfig","type","authUrl","OS","window","parent","location","href","execute","output","JSON","parse","replace","reject","refresh","_this$securityConfig$","_this$appConfig$curre3","loginPage","pageName","appLogout","catch","canUserAccessPage","_this$securityConfig2","res","status","matchRoles","widgetRoles","some","item","hasAccessToWidget","_this$loggedInUser$da","_this$loggedInUser$da2","_this$loggedInUser$da3","_this$loggedInUser$da4","widgetRolesArr","split","EVERYONE","ANONYMOUS","AUTHENTICATED","appSecurityService"],"sources":["app-security.service.tsx"],"sourcesContent":["import { Platform } from 'react-native';\nimport axios, { InternalAxiosRequestConfig, AxiosResponse } from 'axios';\nimport { each, includes } from 'lodash';\n\nimport networkService from '@wavemaker/app-rn-runtime/core/network.service';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport StorageService from '@wavemaker/app-rn-runtime/core/storage.service';\nimport { SecurityService } from '@wavemaker/app-rn-runtime/core/security.service';\n\nimport WebProcessService from './webprocess.service';\n\ndeclare const window: any;\n\ninterface LoggedInUserConfig {\n isAuthenticated: Boolean;\n isSecurityEnabled: Boolean;\n roles: Array<string>;\n name: String;\n id: String;\n tenantId: String;\n userAttributes: any;\n landingPage: string;\n}\n\nenum USER_ROLE {\n EVERYONE = 'Everyone',\n ANONYMOUS = 'Anonymous',\n AUTHENTICATED = 'Authenticated'\n}\n\nconst authCookieStr = 'AUTH_COOKIE';\nconst XSRF_COOKIE_NAME = 'wm_xsrf_token';\nconst xsrf_header_name = 'X-WM-XSRF-TOKEN';\n\nclass AppSecurityService implements SecurityService {\n\n securityConfig: any;\n isLoggedIn = false;\n loggedInUser: any = {};\n token: any;\n appConfig: any;\n baseUrl: string = '';\n defaultSecurityConfig: any;\n landingPage = '';\n\n constructor() {\n axios.interceptors.request.use((config: InternalAxiosRequestConfig) => this.onBeforeServiceCall(config));\n }\n\n onBeforeServiceCall(config: InternalAxiosRequestConfig) {\n if (!this.appConfig) {\n this.appConfig = this.getAppConfig();\n this.baseUrl = this.appConfig.url;\n }\n return this.getXsrfToken().then((token: string) => {\n if (config.url?.startsWith(this.baseUrl) && token) {\n if(config.headers) config.headers[xsrf_header_name] = token;\n }\n return config\n });\n }\n\n private getXsrfToken(): Promise<string> {\n if (this.token) {\n return Promise.resolve(this.token);\n }\n return StorageService.getItem(XSRF_COOKIE_NAME).then(xsrf_token => {\n this.token = xsrf_token;\n return this.token;\n });\n }\n\n private getAppConfig() {\n return injector.get<AppConfig>('APP_CONFIG');\n }\n\n public navigateToLandingPage() {\n this.appConfig.currentPage?.goToPage(\n this.appConfig.loggedInUser?.landingPage \n || this.appConfig.landingPage \n || 'Main', null, true);\n if (this.landingPage) {\n const landingPage = this.landingPage;\n this.landingPage = '';\n setTimeout(() => {\n this.appConfig.currentPage?.openUrl(landingPage);\n }, 100);\n }\n }\n\n public appLogin(options: any) {\n // encode all parameters\n let payload = '';\n each(options.formData, function (value, name) {\n payload += (payload ? '&' : '') + encodeURIComponent(name) + '=' + encodeURIComponent(value);\n });\n axios.defaults.withCredentials = true;\n return axios.post(options.baseURL + '/j_spring_security_check', payload, {\n withCredentials: true,\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded'\n }}).then((response: AxiosResponse) => {\n const xsrfCookieValue = response.data ? response.data[XSRF_COOKIE_NAME] : '';\n this.token = xsrfCookieValue;\n StorageService.setItem(XSRF_COOKIE_NAME, xsrfCookieValue);\n this.isLoggedIn = true;\n }).then(() => this.load(options.baseURL))\n .then(async () => {\n const userData = await this.getLoggedInUserDetails(options.baseURL, options.useDefaultSuccessHandler);\n await this.appConfig.app.triggerStartUpVariables();\n return userData;\n });\n }\n\n public load(baseURL: string) {\n return Promise.resolve().then(() => {\n if (networkService.isConnected()) {\n return axios.get(baseURL + '/services/security/info')\n .then((response: AxiosResponse) => response.data);\n }\n return this.appConfig.getServiceDefinitions(this.appConfig.url)\n .then(() => Promise.resolve(this.defaultSecurityConfig));\n }).then((details: any) => {\n const loggedInUser = {} as LoggedInUserConfig;\n this.securityConfig = details || {};\n this.securityConfig.isSecurityEnabled = !!details?.securityEnabled;\n const appConfig = this.appConfig;\n if (typeof details !== 'string' && (!details.securityEnabled || details.authenticated)) {\n if (details.authenticated) {\n loggedInUser.isAuthenticated = details.authenticated;\n loggedInUser.isSecurityEnabled = details.authenticated;\n loggedInUser.roles = details.userInfo.userRoles;\n loggedInUser.name = details.userInfo.userName;\n loggedInUser.id = details.userInfo.userId;\n loggedInUser.tenantId = details.userInfo.tenantId;\n loggedInUser.userAttributes = details.userInfo.userAttributes;\n loggedInUser.landingPage = details.userInfo.landingPage;\n appConfig.loggedInUser = loggedInUser;\n this.loggedInUser.dataSet = loggedInUser;\n }\n return appConfig.getServiceDefinitions(appConfig.url)\n .then(() => {\n return details;\n });\n } else {\n return appConfig.getServiceDefinitions(appConfig.url)\n .then(() => {\n this.redirectToLogin();\n });\n }\n });\n }\n\n private getLoggedInUserDetails(baseURL: string, useDefaultSuccessHandler: boolean = true) {\n if (!baseURL) {\n this.loggedInUser = {};\n return Promise.resolve({});\n }\n return this.load(baseURL);\n }\n\n \n public redirectToLogin(redirectTo?: string) {\n if (this.securityConfig?.loginConfig?.type === 'SSO') {\n const authUrl = this.appConfig.url + '/services/security/ssologin';\n if (Platform.OS === 'web') {\n (window.parent || window).location.href = authUrl;\n } else {\n setTimeout(() => {\n WebProcessService.execute('LOGIN', '/services/security/ssologin', false, true)\n .then((output: any) => {\n if (output) {\n return JSON.parse(output.data && output.data.replace(/&quot;/g, \"\\\"\"));\n }\n return Promise.reject();\n }).then((output: any) => {\n if (output[XSRF_COOKIE_NAME]) {\n this.token = output[XSRF_COOKIE_NAME];\n StorageService.setItem(XSRF_COOKIE_NAME, output[XSRF_COOKIE_NAME]);\n }\n }).then(() => {\n this.appConfig.refresh(true);\n }).then(() => this.load(this.baseUrl)).then(() => {\n return this.getLoggedInUserDetails(this.baseUrl);\n });\n }, 1000);\n }\n } else {\n const loginPage = this.securityConfig.loginConfig?.pageName || 'Login';\n if (redirectTo && !redirectTo.startsWith('#/'+ loginPage)) {\n this.landingPage = redirectTo;\n }\n injector.get<AppConfig>('APP_CONFIG').landingPage = loginPage;\n this.appConfig.currentPage?.goToPage(loginPage, null, true);\n }\n this.appConfig.refresh();\n }\n\n public appLogout(options: any) {\n return axios.post(options.baseURL + '/j_spring_security_logout', null, {\n withCredentials: true\n }).catch(() => {}).then(() => {\n this.isLoggedIn = false;\n this.redirectToLogin();\n });\n }\n\n public canUserAccessPage(pageName: string) {\n if (this.baseUrl && this.securityConfig?.isSecurityEnabled) {\n return axios.get(this.baseUrl + `/pages/${pageName}/${pageName}.html`)\n .catch((res) => res)\n .then((res) => res.status === 200 || res.status === 304); \n } else {\n return Promise.resolve(true);\n }\n }\n\n private matchRoles(widgetRoles: Array<String>, userRoles: Array<String>) {\n return widgetRoles.some(function (item) {\n return includes(userRoles, item);\n });\n }\n\n public hasAccessToWidget(widgetRoles: String) {\n const widgetRolesArr = widgetRoles.split(',');\n // access the widget when 'Everyone' is chosen\n if (includes(widgetRolesArr, USER_ROLE.EVERYONE)) {\n return true;\n }\n\n // access the widget when 'Anonymous' is chosen and user is not authenticated\n if (includes(widgetRolesArr, USER_ROLE.ANONYMOUS) && !this.loggedInUser.dataSet?.isAuthenticated) {\n return true;\n }\n\n // access the widget when 'Only Authenticated Users' is chosen and user is authenticated\n if (includes(widgetRolesArr, USER_ROLE.AUTHENTICATED) && this.loggedInUser.dataSet?.isAuthenticated) {\n return true;\n }\n\n // access the widget when widget role and logged in user role matches\n return this.loggedInUser.dataSet?.isAuthenticated && this.matchRoles(widgetRolesArr, this.loggedInUser.dataSet?.roles);\n }\n}\n\nconst appSecurityService = new AppSecurityService();\n\nexport default appSecurityService;\n"],"mappings":"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"}
1
+ {"version":3,"names":["Platform","axios","each","includes","networkService","injector","StorageService","WebProcessService","USER_ROLE","authCookieStr","XSRF_COOKIE_NAME","xsrf_header_name","AppSecurityService","constructor","_defineProperty","interceptors","request","use","config","onBeforeServiceCall","appConfig","getAppConfig","baseUrl","url","getXsrfToken","then","token","_config$url","startsWith","headers","Promise","resolve","getItem","xsrf_token","get","navigateToLandingPage","_this$appConfig$curre","_this$appConfig$logge","currentPage","goToPage","loggedInUser","landingPage","setTimeout","_this$appConfig$curre2","openUrl","appLogin","options","payload","formData","value","name","encodeURIComponent","defaults","withCredentials","post","baseURL","response","xsrfCookieValue","data","setItem","isLoggedIn","load","userData","getLoggedInUserDetails","useDefaultSuccessHandler","app","triggerStartUpVariables","isConnected","getServiceDefinitions","defaultSecurityConfig","details","securityConfig","isSecurityEnabled","securityEnabled","authenticated","_appConfig$appPropert","isAuthenticated","roles","userInfo","userRoles","userName","id","userId","tenantId","userAttributes","dataSet","appProperties","homePage","redirectToLogin","arguments","length","undefined","redirectTo","_this$securityConfig","loginConfig","type","authUrl","OS","window","parent","location","href","execute","output","JSON","parse","replace","reject","refresh","_this$securityConfig$","_this$appConfig$curre3","loginPage","pageName","appLogout","catch","canUserAccessPage","_this$securityConfig2","res","status","matchRoles","widgetRoles","some","item","hasAccessToWidget","_this$loggedInUser$da","_this$loggedInUser$da2","_this$loggedInUser$da3","_this$loggedInUser$da4","widgetRolesArr","split","EVERYONE","ANONYMOUS","AUTHENTICATED","appSecurityService"],"sources":["app-security.service.tsx"],"sourcesContent":["import { Platform } from 'react-native';\nimport axios, { InternalAxiosRequestConfig, AxiosResponse } from 'axios';\nimport { each, includes } from 'lodash';\n\nimport networkService from '@wavemaker/app-rn-runtime/core/network.service';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport StorageService from '@wavemaker/app-rn-runtime/core/storage.service';\nimport { SecurityService } from '@wavemaker/app-rn-runtime/core/security.service';\n\nimport WebProcessService from './webprocess.service';\n\ndeclare const window: any;\n\ninterface LoggedInUserConfig {\n isAuthenticated: Boolean;\n isSecurityEnabled: Boolean;\n roles: Array<string>;\n name: String;\n id: String;\n tenantId: String;\n userAttributes: any;\n landingPage: string;\n}\n\nenum USER_ROLE {\n EVERYONE = 'Everyone',\n ANONYMOUS = 'Anonymous',\n AUTHENTICATED = 'Authenticated'\n}\n\nconst authCookieStr = 'AUTH_COOKIE';\nconst XSRF_COOKIE_NAME = 'wm_xsrf_token';\nconst xsrf_header_name = 'X-WM-XSRF-TOKEN';\n\nclass AppSecurityService implements SecurityService {\n\n securityConfig: any;\n isLoggedIn = false;\n loggedInUser: any = {};\n token: any;\n appConfig: any;\n baseUrl: string = '';\n defaultSecurityConfig: any;\n landingPage = '';\n\n constructor() {\n axios.interceptors.request.use((config: InternalAxiosRequestConfig) => this.onBeforeServiceCall(config));\n }\n\n onBeforeServiceCall(config: InternalAxiosRequestConfig) {\n if (!this.appConfig) {\n this.appConfig = this.getAppConfig();\n this.baseUrl = this.appConfig.url;\n }\n return this.getXsrfToken().then((token: string) => {\n if (config.url?.startsWith(this.baseUrl) && token) {\n if(config.headers) config.headers[xsrf_header_name] = token;\n }\n return config\n });\n }\n\n private getXsrfToken(): Promise<string> {\n if (this.token) {\n return Promise.resolve(this.token);\n }\n return StorageService.getItem(XSRF_COOKIE_NAME).then(xsrf_token => {\n this.token = xsrf_token;\n return this.token;\n });\n }\n\n private getAppConfig() {\n return injector.get<AppConfig>('APP_CONFIG');\n }\n\n public navigateToLandingPage() {\n this.appConfig.currentPage?.goToPage(\n this.appConfig.loggedInUser?.landingPage \n || this.appConfig.landingPage \n || 'Main', null, true);\n if (this.landingPage) {\n const landingPage = this.landingPage;\n this.landingPage = '';\n setTimeout(() => {\n this.appConfig.currentPage?.openUrl(landingPage);\n }, 100);\n }\n }\n\n public appLogin(options: any) {\n // encode all parameters\n let payload = '';\n each(options.formData, function (value, name) {\n payload += (payload ? '&' : '') + encodeURIComponent(name) + '=' + encodeURIComponent(value);\n });\n axios.defaults.withCredentials = true;\n return axios.post(options.baseURL + '/j_spring_security_check', payload, {\n withCredentials: true,\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded'\n }}).then((response: AxiosResponse) => {\n const xsrfCookieValue = response.data ? response.data[XSRF_COOKIE_NAME] : '';\n this.token = xsrfCookieValue;\n StorageService.setItem(XSRF_COOKIE_NAME, xsrfCookieValue);\n this.isLoggedIn = true;\n }).then(() => this.load(options.baseURL))\n .then(async () => {\n const userData = await this.getLoggedInUserDetails(options.baseURL, options.useDefaultSuccessHandler);\n await this.appConfig.app.triggerStartUpVariables();\n return userData;\n });\n }\n\n public load(baseURL: string) {\n return Promise.resolve().then(() => {\n if (networkService.isConnected()) {\n return axios.get(baseURL + '/services/security/info')\n .then((response: AxiosResponse) => response.data);\n }\n return this.appConfig.getServiceDefinitions(this.appConfig.url)\n .then(() => Promise.resolve(this.defaultSecurityConfig));\n }).then((details: any) => {\n const loggedInUser = {} as LoggedInUserConfig;\n this.securityConfig = details || {};\n this.securityConfig.isSecurityEnabled = !!details?.securityEnabled;\n const appConfig = this.appConfig;\n if (typeof details !== 'string' && (!details.securityEnabled || details.authenticated)) {\n if (details.authenticated) {\n loggedInUser.isAuthenticated = details.authenticated;\n loggedInUser.isSecurityEnabled = details.authenticated;\n loggedInUser.roles = details.userInfo.userRoles;\n loggedInUser.name = details.userInfo.userName;\n loggedInUser.id = details.userInfo.userId;\n loggedInUser.tenantId = details.userInfo.tenantId;\n loggedInUser.userAttributes = details.userInfo.userAttributes;\n loggedInUser.landingPage = details.userInfo.landingPage;\n appConfig.loggedInUser = loggedInUser;\n this.loggedInUser.dataSet = loggedInUser;\n appConfig.landingPage = appConfig.appProperties?.homePage;\n }\n return appConfig.getServiceDefinitions(appConfig.url)\n .then(() => {\n return details;\n });\n } else {\n return appConfig.getServiceDefinitions(appConfig.url)\n .then(() => {\n this.redirectToLogin();\n });\n }\n });\n }\n\n private getLoggedInUserDetails(baseURL: string, useDefaultSuccessHandler: boolean = true) {\n if (!baseURL) {\n this.loggedInUser = {};\n return Promise.resolve({});\n }\n return this.load(baseURL);\n }\n\n \n public redirectToLogin(redirectTo?: string) {\n if (this.securityConfig?.loginConfig?.type === 'SSO') {\n const authUrl = this.appConfig.url + '/services/security/ssologin';\n if (Platform.OS === 'web') {\n (window.parent || window).location.href = authUrl;\n } else {\n setTimeout(() => {\n WebProcessService.execute('LOGIN', '/services/security/ssologin', false, true)\n .then((output: any) => {\n if (output) {\n return JSON.parse(output.data && output.data.replace(/&quot;/g, \"\\\"\"));\n }\n return Promise.reject();\n }).then((output: any) => {\n if (output[XSRF_COOKIE_NAME]) {\n this.token = output[XSRF_COOKIE_NAME];\n StorageService.setItem(XSRF_COOKIE_NAME, output[XSRF_COOKIE_NAME]);\n }\n }).then(() => {\n this.appConfig.refresh(true);\n }).then(() => this.load(this.baseUrl)).then(() => {\n return this.getLoggedInUserDetails(this.baseUrl);\n });\n }, 1000);\n }\n } else {\n const loginPage = this.securityConfig.loginConfig?.pageName || 'Login';\n if (redirectTo && !redirectTo.startsWith('#/'+ loginPage)) {\n this.landingPage = redirectTo;\n }\n injector.get<AppConfig>('APP_CONFIG').landingPage = loginPage;\n this.appConfig.currentPage?.goToPage(loginPage, null, true);\n }\n this.appConfig.refresh();\n }\n\n public appLogout(options: any) {\n return axios.post(options.baseURL + '/j_spring_security_logout', null, {\n withCredentials: true\n }).catch(() => {}).then(() => {\n this.isLoggedIn = false;\n this.redirectToLogin();\n });\n }\n\n public canUserAccessPage(pageName: string) {\n if (this.baseUrl && this.securityConfig?.isSecurityEnabled) {\n return axios.get(this.baseUrl + `/pages/${pageName}/${pageName}.html`)\n .catch((res) => res)\n .then((res) => res.status === 200 || res.status === 304); \n } else {\n return Promise.resolve(true);\n }\n }\n\n private matchRoles(widgetRoles: Array<String>, userRoles: Array<String>) {\n return widgetRoles.some(function (item) {\n return includes(userRoles, item);\n });\n }\n\n public hasAccessToWidget(widgetRoles: String) {\n const widgetRolesArr = widgetRoles.split(',');\n // access the widget when 'Everyone' is chosen\n if (includes(widgetRolesArr, USER_ROLE.EVERYONE)) {\n return true;\n }\n\n // access the widget when 'Anonymous' is chosen and user is not authenticated\n if (includes(widgetRolesArr, USER_ROLE.ANONYMOUS) && !this.loggedInUser.dataSet?.isAuthenticated) {\n return true;\n }\n\n // access the widget when 'Only Authenticated Users' is chosen and user is authenticated\n if (includes(widgetRolesArr, USER_ROLE.AUTHENTICATED) && this.loggedInUser.dataSet?.isAuthenticated) {\n return true;\n }\n\n // access the widget when widget role and logged in user role matches\n return this.loggedInUser.dataSet?.isAuthenticated && this.matchRoles(widgetRolesArr, this.loggedInUser.dataSet?.roles);\n }\n}\n\nconst appSecurityService = new AppSecurityService();\n\nexport default appSecurityService;\n"],"mappings":"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"}