@wavemaker/app-rn-runtime 11.11.0-rc.6112 → 11.11.0-rc.6115
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/actions/notification-action.js +1 -3
- package/actions/notification-action.js.map +1 -1
- package/components/basic/message/message.component.js +1 -1
- package/components/basic/message/message.component.js.map +1 -1
- package/components/basic/message/message.props.js +0 -1
- package/components/basic/message/message.props.js.map +1 -1
- package/components/basic/search/search.component.js +28 -49
- package/components/basic/search/search.component.js.map +1 -1
- package/components/basic/search/search.props.js +0 -1
- package/components/basic/search/search.props.js.map +1 -1
- package/components/chart/basechart.component.js +0 -3
- package/components/chart/basechart.component.js.map +1 -1
- package/components/chart/basechart.props.js +1 -1
- package/components/chart/basechart.props.js.map +1 -1
- package/components/data/list/list.component.js +2 -16
- package/components/data/list/list.component.js.map +1 -1
- package/components/navigation/appnavbar/appnavbar.component.js +2 -14
- package/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
- package/components/navigation/appnavbar/appnavbar.props.js +1 -1
- package/components/navigation/appnavbar/appnavbar.props.js.map +1 -1
- package/components/page/left-panel/left-panel.component.js +2 -3
- package/components/page/left-panel/left-panel.component.js.map +1 -1
- package/components/page/page.component.js +2 -3
- package/components/page/page.component.js.map +1 -1
- package/components/page/tabbar/tabbar.component.js +1 -1
- package/components/page/tabbar/tabbar.component.js.map +1 -1
- package/core/base.component.js +1 -0
- package/core/base.component.js.map +1 -1
- package/core/toast.service.js.map +1 -1
- package/npm-shrinkwrap.json +18 -18
- package/package-lock.json +18 -18
- package/package.json +2 -2
- package/runtime/App.js +4 -6
- package/runtime/App.js.map +1 -1
- package/runtime/base-fragment.component.js +1 -2
- package/runtime/base-fragment.component.js.map +1 -1
- package/runtime/services/app-toast.service.js +0 -4
- package/runtime/services/app-toast.service.js.map +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Text","View","BackHandler","Badge","isAndroid","isWebPreviewMode","BaseComponent","BaseComponentState","WmIcon","WmPicture","WmAppNavbarProps","DEFAULT_CLASS","StickyView","SafeAreaInsetsContext","injector","FixedView","WmAppNavbarState","WmAppNavbar","constructor","props","_defineProperty","get","onDrawerBtnPress","invokeEventCallback","bind","onBackBtnPress","onSearchBtnPress","subscription","addEventListener","cleanup","push","remove","updatePageScrollTopThreshold","event","height","nativeEvent","layout","hideonscroll","appConfig","pageScrollTopThreshold","Math","ceil","renderContent","badge","badgevalue","undefined","createElement","_extends","style","styles","getTestProps","Consumer","insets","top","bottom","left","right","_this$appConfig","paddingTopVal","root","paddingTop","padding","statusBarCustomisation","preferences","statusbarStyles","isFullScreenMode","translucent","stylesWithFs","ref","baseView","onLayout","handleLayout","_background","leftSection","showDrawerButton","id","getTestId","hint","theme","mergeStyle","action","leftnavIcon","iconclass","leftnavpaneliconclass","onTap","backbutton","backIcon","backbuttoniconclass","caption","backbuttonlabel","middleSection","imgsrc","image","picturesource","content","getTestPropsForLabel","accessibilityRole","title","rightSection","searchbutton","searchbuttoniconclass","children","renderWidget","isSticky","isFixed","component","slide","Fragment","width","animated","opacity"],"sources":["appnavbar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, BackHandler } from 'react-native';\nimport { Badge } from 'react-native-paper';\n\nimport { isAndroid, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\n\nimport WmAppNavbarProps from './appnavbar.props';\nimport { DEFAULT_CLASS, WmAppNavbarStyles } from './appnavbar.styles';\nimport { StickyView } from '@wavemaker/app-rn-runtime/core/sticky-container.component';\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { FixedView } from '@wavemaker/app-rn-runtime/core/fixed-view.component';\n\nexport class WmAppNavbarState extends BaseComponentState<WmAppNavbarProps> {}\n\nexport default class WmAppNavbar extends BaseComponent<WmAppNavbarProps, WmAppNavbarState, WmAppNavbarStyles> {\n\n private onDrawerBtnPress: Function;\n private onBackBtnPress: Function;\n private onSearchBtnPress: Function;\n private appConfig = injector.get<AppConfig>('APP_CONFIG');\n\n constructor(props: WmAppNavbarProps) {\n super(props, DEFAULT_CLASS, new WmAppNavbarProps());\n this.onDrawerBtnPress = (() => this.invokeEventCallback('onDrawerbuttonpress', [null, this])).bind(this);\n this.onBackBtnPress = (() => this.invokeEventCallback('onBackbtnclick', [null, this])).bind(this);\n this.onSearchBtnPress = (() => this.invokeEventCallback('onSearchbuttonpress', [null, this])).bind(this);\n if (isAndroid() && !isWebPreviewMode()) {\n const subscription = BackHandler.addEventListener('hardwareBackPress', () => {\n this.onBackBtnPress();\n return true;\n });\n this.cleanup.push(() => subscription.remove());\n }\n }\n\n updatePageScrollTopThreshold(event: any):void {\n const { height } = event.nativeEvent.layout;\n // maintaining pageScrollTopThreshold value for sticky header to attach from top position\n if(this.props.hideonscroll){\n this.appConfig.pageScrollTopThreshold = 0; \n }else {\n this.appConfig.pageScrollTopThreshold = Math.ceil(height);\n }\n }\n\n renderContent(props: WmAppNavbarProps) {\n //@ts-ignore\n const badge = props.badgevalue != undefined ? (<Badge style={this.styles.badge} {...this.getTestProps('badge')}>{props.badgevalue}</Badge>): null;\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const paddingTopVal = this.styles.root.paddingTop || this.styles.root.padding;\n const statusBarCustomisation = this.appConfig?.preferences?.statusbarStyles;\n const isFullScreenMode = !!statusBarCustomisation?.translucent;\n\n const stylesWithFs = isFullScreenMode ? {height: this.styles.root.height as number + (insets?.top || 0) as number, \n paddingTop: (paddingTopVal || 0) as number + (insets?.top || 0) as number} : {}\n return (\n <View style={[this.styles.root, stylesWithFs]} ref={ref => {this.baseView = ref as View}} onLayout={(event) => {\n this.handleLayout(event);\n this.updatePageScrollTopThreshold(event);\n }}>\n {this._background}\n <View style={this.styles.leftSection}>\n {props.showDrawerButton && (<WmIcon\n id={this.getTestId('leftnavbtn')}\n hint={'menu'}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon)}\n iconclass={props.leftnavpaneliconclass}\n onTap={this.onDrawerBtnPress}\n />)}\n {props.backbutton && (<WmIcon\n id={this.getTestId('backbtn')}\n hint={'back'}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.backIcon)}\n iconclass={props.backbuttoniconclass}\n caption={props.backbuttonlabel}\n onTap={this.onBackBtnPress}/>)}\n </View>\n <View style={this.styles.middleSection}>\n {props.imgsrc && (\n <WmPicture\n id={this.getTestId('picture')}\n styles={this.styles.image}\n picturesource={props.imgsrc} />)}\n <Text style={this.styles.content} {...this.getTestPropsForLabel('title')} accessibilityRole='header'>{props.title}</Text>\n {badge}\n </View>\n <View style={this.styles.rightSection}>\n {props.searchbutton && (<WmIcon\n id={this.getTestId('searchbtn')}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon)}\n iconclass={props.searchbuttoniconclass}\n onTap={this.onSearchBtnPress}\n />)}\n {props.children}\n </View>\n </View>\n )}}\n </SafeAreaInsetsContext.Consumer>\n )\n }\n\n renderWidget(props: WmAppNavbarProps){\n if(props.hideonscroll) this.isSticky = true;\n else this.isFixed = true;\n return props.hideonscroll ? \n <StickyView\n theme={this.theme}\n component={this}\n slide={true}\n >\n {this.renderContent(props)}\n </StickyView> :\n <>\n <FixedView \n style={{top: 0, width:'100%'}} \n theme={this.theme}\n animated={false}>\n {this.renderContent(props)}\n </FixedView>\n <View style={{ opacity: 0}}>\n {this.renderContent(props)}\n </View>\n </>\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","Text","View","BackHandler","Badge","isAndroid","isWebPreviewMode","BaseComponent","BaseComponentState","WmIcon","WmPicture","WmAppNavbarProps","DEFAULT_CLASS","StickyView","SafeAreaInsetsContext","injector","WmAppNavbarState","WmAppNavbar","constructor","props","_defineProperty","get","onDrawerBtnPress","invokeEventCallback","bind","onBackBtnPress","onSearchBtnPress","subscription","addEventListener","cleanup","push","remove","updatePageScrollTopThreshold","event","height","nativeEvent","layout","hideonscroll","appConfig","pageScrollTopThreshold","Math","ceil","renderContent","badge","badgevalue","undefined","createElement","_extends","style","styles","getTestProps","Consumer","insets","top","bottom","left","right","_this$appConfig","paddingTopVal","root","paddingTop","padding","statusBarCustomisation","preferences","statusbarStyles","isFullScreenMode","translucent","stylesWithFs","ref","baseView","onLayout","handleLayout","_background","leftSection","showDrawerButton","id","getTestId","hint","theme","mergeStyle","action","leftnavIcon","iconclass","leftnavpaneliconclass","onTap","backbutton","backIcon","backbuttoniconclass","caption","backbuttonlabel","middleSection","imgsrc","image","picturesource","content","getTestPropsForLabel","accessibilityRole","title","rightSection","searchbutton","searchbuttoniconclass","children","renderWidget","isSticky","component","slide"],"sources":["appnavbar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, BackHandler } from 'react-native';\nimport { Badge } from 'react-native-paper';\n\nimport { isAndroid, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\n\nimport WmAppNavbarProps from './appnavbar.props';\nimport { DEFAULT_CLASS, WmAppNavbarStyles } from './appnavbar.styles';\nimport { StickyView } from '@wavemaker/app-rn-runtime/core/sticky-container.component';\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\n\nexport class WmAppNavbarState extends BaseComponentState<WmAppNavbarProps> {}\n\nexport default class WmAppNavbar extends BaseComponent<WmAppNavbarProps, WmAppNavbarState, WmAppNavbarStyles> {\n\n private onDrawerBtnPress: Function;\n private onBackBtnPress: Function;\n private onSearchBtnPress: Function;\n private appConfig = injector.get<AppConfig>('APP_CONFIG');\n\n constructor(props: WmAppNavbarProps) {\n super(props, DEFAULT_CLASS, new WmAppNavbarProps());\n this.onDrawerBtnPress = (() => this.invokeEventCallback('onDrawerbuttonpress', [null, this])).bind(this);\n this.onBackBtnPress = (() => this.invokeEventCallback('onBackbtnclick', [null, this])).bind(this);\n this.onSearchBtnPress = (() => this.invokeEventCallback('onSearchbuttonpress', [null, this])).bind(this);\n if (isAndroid() && !isWebPreviewMode()) {\n const subscription = BackHandler.addEventListener('hardwareBackPress', () => {\n this.onBackBtnPress();\n return true;\n });\n this.cleanup.push(() => subscription.remove());\n }\n }\n\n updatePageScrollTopThreshold(event: any):void {\n const { height } = event.nativeEvent.layout;\n // maintaining pageScrollTopThreshold value for sticky header to attach from top position\n if(this.props.hideonscroll){\n this.appConfig.pageScrollTopThreshold = 0; \n }else {\n this.appConfig.pageScrollTopThreshold = Math.ceil(height);\n }\n }\n\n renderContent(props: WmAppNavbarProps) {\n //@ts-ignore\n const badge = props.badgevalue != undefined ? (<Badge style={this.styles.badge} {...this.getTestProps('badge')}>{props.badgevalue}</Badge>): null;\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const paddingTopVal = this.styles.root.paddingTop || this.styles.root.padding;\n const statusBarCustomisation = this.appConfig?.preferences?.statusbarStyles;\n const isFullScreenMode = !!statusBarCustomisation?.translucent;\n\n const stylesWithFs = isFullScreenMode ? {height: this.styles.root.height as number + (insets?.top || 0) as number, \n paddingTop: (paddingTopVal || 0) as number + (insets?.top || 0) as number} : {}\n return (\n <View style={[this.styles.root, stylesWithFs]} ref={ref => {this.baseView = ref as View}} onLayout={(event) => {\n this.handleLayout(event);\n this.updatePageScrollTopThreshold(event);\n }}>\n {this._background}\n <View style={this.styles.leftSection}>\n {props.showDrawerButton && (<WmIcon\n id={this.getTestId('leftnavbtn')}\n hint={'menu'}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon)}\n iconclass={props.leftnavpaneliconclass}\n onTap={this.onDrawerBtnPress}\n />)}\n {props.backbutton && (<WmIcon\n id={this.getTestId('backbtn')}\n hint={'back'}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.backIcon)}\n iconclass={props.backbuttoniconclass}\n caption={props.backbuttonlabel}\n onTap={this.onBackBtnPress}/>)}\n </View>\n <View style={this.styles.middleSection}>\n {props.imgsrc && (\n <WmPicture\n id={this.getTestId('picture')}\n styles={this.styles.image}\n picturesource={props.imgsrc} />)}\n <Text style={this.styles.content} {...this.getTestPropsForLabel('title')} accessibilityRole='header'>{props.title}</Text>\n {badge}\n </View>\n <View style={this.styles.rightSection}>\n {props.searchbutton && (<WmIcon\n id={this.getTestId('searchbtn')}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon)}\n iconclass={props.searchbuttoniconclass}\n onTap={this.onSearchBtnPress}\n />)}\n {props.children}\n </View>\n </View>\n )}}\n </SafeAreaInsetsContext.Consumer>\n )\n }\n\n renderWidget(props: WmAppNavbarProps){\n if(props.hideonscroll) this.isSticky = true;\n return props.hideonscroll ? \n <StickyView\n theme={this.theme}\n component={this}\n slide={true}\n >\n {this.renderContent(props)}\n </StickyView>\n : this.renderContent(props);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -16,7 +16,7 @@ export default class WmAppNavbarProps extends BaseProps {
|
|
16
16
|
_defineProperty(this, "searchbutton", false);
|
17
17
|
_defineProperty(this, "searchbuttoniconclass", 'wm-sl-l sl-search');
|
18
18
|
_defineProperty(this, "badgevalue", void 0);
|
19
|
-
_defineProperty(this, "hideonscroll",
|
19
|
+
_defineProperty(this, "hideonscroll", void 0);
|
20
20
|
}
|
21
21
|
}
|
22
22
|
//# sourceMappingURL=appnavbar.props.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["BaseProps","WmAppNavbarProps","constructor","args","_defineProperty"],"sources":["appnavbar.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmAppNavbarProps extends BaseProps {\n children?: any;\n title: string = '';\n backbutton = true;\n backbuttonlabel = '';\n showDrawerButton = false;\n leftnavpaneliconclass = 'wm-sl-l sl-hamburger-menu';\n backbuttoniconclass = 'wi wi-back';\n imgsrc = null as any;\n searchbutton = false;\n searchbuttoniconclass = 'wm-sl-l sl-search';\n badgevalue?: string;\n hideonscroll?: boolean
|
1
|
+
{"version":3,"names":["BaseProps","WmAppNavbarProps","constructor","args","_defineProperty"],"sources":["appnavbar.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmAppNavbarProps extends BaseProps {\n children?: any;\n title: string = '';\n backbutton = true;\n backbuttonlabel = '';\n showDrawerButton = false;\n leftnavpaneliconclass = 'wm-sl-l sl-hamburger-menu';\n backbuttoniconclass = 'wi wi-back';\n imgsrc = null as any;\n searchbutton = false;\n searchbuttoniconclass = 'wm-sl-l sl-search';\n badgevalue?: string;\n hideonscroll?: boolean;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,gBAAgB,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA,gBAEpC,EAAE;IAAAA,eAAA,qBACL,IAAI;IAAAA,eAAA,0BACC,EAAE;IAAAA,eAAA,2BACD,KAAK;IAAAA,eAAA,gCACA,2BAA2B;IAAAA,eAAA,8BAC7B,YAAY;IAAAA,eAAA,iBACzB,IAAI;IAAAA,eAAA,uBACE,KAAK;IAAAA,eAAA,gCACI,mBAAmB;IAAAA,eAAA;IAAAA,eAAA;EAAA;AAG/C","ignoreList":[]}
|
@@ -6,7 +6,6 @@ import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/cor
|
|
6
6
|
import WmLeftPanelProps from './left-panel.props';
|
7
7
|
import { DEFAULT_CLASS } from './left-panel.styles';
|
8
8
|
import { ScrollView } from 'react-native-gesture-handler';
|
9
|
-
import { FixedViewContainer } from '@wavemaker/app-rn-runtime/core/fixed-view.component';
|
10
9
|
export class WmLeftPanelState extends BaseComponentState {
|
11
10
|
constructor(...args) {
|
12
11
|
super(...args);
|
@@ -34,7 +33,7 @@ export default class WmLeftPanel extends BaseComponent {
|
|
34
33
|
return props.children;
|
35
34
|
}
|
36
35
|
renderWidget(props) {
|
37
|
-
return /*#__PURE__*/React.createElement(
|
36
|
+
return /*#__PURE__*/React.createElement(ScrollView, {
|
38
37
|
onScroll: event => {
|
39
38
|
this.notify('scroll', [event]);
|
40
39
|
},
|
@@ -43,7 +42,7 @@ export default class WmLeftPanel extends BaseComponent {
|
|
43
42
|
width: "100%",
|
44
43
|
maxWidth: "100%"
|
45
44
|
}]
|
46
|
-
}, this._background, this.renderContent(props))
|
45
|
+
}, this._background, this.renderContent(props));
|
47
46
|
}
|
48
47
|
}
|
49
48
|
//# sourceMappingURL=left-panel.component.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","BaseComponent","BaseComponentState","WmLeftPanelProps","DEFAULT_CLASS","ScrollView","
|
1
|
+
{"version":3,"names":["React","BaseComponent","BaseComponentState","WmLeftPanelProps","DEFAULT_CLASS","ScrollView","WmLeftPanelState","constructor","args","_defineProperty","WmLeftPanel","props","onPartialLoad","invokeEventCallback","renderContent","renderPartial","state","isPartialLoaded","setTimeout","updateState","bind","children","renderWidget","createElement","onScroll","event","notify","scrollEventThrottle","contentContainerStyle","styles","root","width","maxWidth","_background"],"sources":["left-panel.component.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmLeftPanelProps from './left-panel.props';\nimport { DEFAULT_CLASS, WmLeftPanelStyles } from './left-panel.styles';\nimport { ScrollView } from 'react-native-gesture-handler';\n\nexport class WmLeftPanelState extends BaseComponentState<WmLeftPanelProps> {\n isPartialLoaded = false;\n}\n\nexport default class WmLeftPanel extends BaseComponent<WmLeftPanelProps, WmLeftPanelState, WmLeftPanelStyles> {\n\n constructor(props: WmLeftPanelProps) {\n super(props, DEFAULT_CLASS, new WmLeftPanelProps());\n }\n\n onPartialLoad() {\n this.invokeEventCallback('onLoad', [null, this]);\n }\n\n renderContent(props: WmLeftPanelProps) {\n if (props.renderPartial) {\n if (!this.state.isPartialLoaded) {\n setTimeout(() => {\n this.updateState({\n isPartialLoaded: true\n } as WmLeftPanelState);\n });\n }\n return props.renderPartial(props, this.onPartialLoad.bind(this));\n }\n return props.children;\n }\n\n renderWidget(props: WmLeftPanelProps) {\n return (\n <ScrollView \n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}\n contentContainerStyle={[this.styles.root, {width: \"100%\", maxWidth: \"100%\"}]}>\n {this._background}\n {this.renderContent(props)}\n </ScrollView>\n );\n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,SAASC,aAAa,QAA2B,qBAAqB;AACtE,SAASC,UAAU,QAAQ,8BAA8B;AAEzD,OAAO,MAAMC,gBAAgB,SAASJ,kBAAkB,CAAmB;EAAAK,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,0BACvD,KAAK;EAAA;AACzB;AAEA,eAAe,MAAMC,WAAW,SAAST,aAAa,CAAwD;EAE5GM,WAAWA,CAACI,KAAuB,EAAE;IACnC,KAAK,CAACA,KAAK,EAAEP,aAAa,EAAE,IAAID,gBAAgB,CAAC,CAAC,CAAC;EACrD;EAEAS,aAAaA,CAAA,EAAG;IACd,IAAI,CAACC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;EAClD;EAEAC,aAAaA,CAACH,KAAuB,EAAE;IACrC,IAAIA,KAAK,CAACI,aAAa,EAAE;MACvB,IAAI,CAAC,IAAI,CAACC,KAAK,CAACC,eAAe,EAAE;QAC/BC,UAAU,CAAC,MAAM;UACf,IAAI,CAACC,WAAW,CAAC;YACfF,eAAe,EAAE;UACnB,CAAqB,CAAC;QACxB,CAAC,CAAC;MACJ;MACA,OAAON,KAAK,CAACI,aAAa,CAACJ,KAAK,EAAE,IAAI,CAACC,aAAa,CAACQ,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE;IACA,OAAOT,KAAK,CAACU,QAAQ;EACvB;EAEAC,YAAYA,CAACX,KAAuB,EAAE;IACpC,oBACEX,KAAA,CAAAuB,aAAA,CAAClB,UAAU;MACTmB,QAAQ,EAAGC,KAAK,IAAK;QAAC,IAAI,CAACC,MAAM,CAAC,QAAQ,EAAE,CAACD,KAAK,CAAC,CAAC;MAAA,CAAE;MACtDE,mBAAmB,EAAE,EAAG;MACxBC,qBAAqB,EAAE,CAAC,IAAI,CAACC,MAAM,CAACC,IAAI,EAAE;QAACC,KAAK,EAAE,MAAM;QAAEC,QAAQ,EAAE;MAAM,CAAC;IAAE,GAC5E,IAAI,CAACC,WAAW,EAChB,IAAI,CAACnB,aAAa,CAACH,KAAK,CACf,CAAC;EAEjB;AACF","ignoreList":[]}
|
@@ -8,7 +8,6 @@ import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/cor
|
|
8
8
|
import { DEFAULT_CLASS } from './page.styles';
|
9
9
|
import { SafeAreaInsetsContext } from 'react-native-safe-area-context';
|
10
10
|
import { StickyViewContainer } from '@wavemaker/app-rn-runtime/core/sticky-container.component';
|
11
|
-
import { FixedViewContainer } from '@wavemaker/app-rn-runtime/core/fixed-view.component';
|
12
11
|
export class WmPageState extends BaseComponentState {}
|
13
12
|
export default class WmPage extends BaseComponent {
|
14
13
|
constructor(props) {
|
@@ -47,7 +46,7 @@ export default class WmPage extends BaseComponent {
|
|
47
46
|
});
|
48
47
|
}
|
49
48
|
renderWidget(props) {
|
50
|
-
return /*#__PURE__*/React.createElement(StickyViewContainer, null, /*#__PURE__*/React.createElement(
|
49
|
+
return /*#__PURE__*/React.createElement(StickyViewContainer, null, /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, (insets = {
|
51
50
|
top: 0,
|
52
51
|
bottom: 0,
|
53
52
|
left: 0,
|
@@ -65,7 +64,7 @@ export default class WmPage extends BaseComponent {
|
|
65
64
|
}), this._background, props.children) : /*#__PURE__*/React.createElement(View, {
|
66
65
|
style: this.styles.root
|
67
66
|
}, this._background, props.children);
|
68
|
-
}))
|
67
|
+
}));
|
69
68
|
}
|
70
69
|
}
|
71
70
|
//# sourceMappingURL=page.component.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","PanResponder","ScrollView","View","BaseComponent","BaseComponentState","DEFAULT_CLASS","SafeAreaInsetsContext","StickyViewContainer","
|
1
|
+
{"version":3,"names":["React","PanResponder","ScrollView","View","BaseComponent","BaseComponentState","DEFAULT_CLASS","SafeAreaInsetsContext","StickyViewContainer","WmPageState","WmPage","constructor","props","_defineProperty","create","onStartShouldSetPanResponderCapture","e","notify","event","scrollPosition","nativeEvent","contentOffset","y","Math","abs","previousScrollPosition","scrollDirection","scrollRef","createRef","scrollTo","position","_this$scrollRef","current","x","Animated","renderWidget","createElement","Consumer","insets","top","bottom","left","right","scrollable","_extends","ref","panResponder","panHandlers","style","width","height","styles","root","onScroll","scrollEventThrottle","_background","children"],"sources":["page.component.tsx"],"sourcesContent":["import React from 'react';\nimport { PanResponder, ScrollView, View, NativeSyntheticEvent, NativeScrollEvent} from 'react-native';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmPageProps from './page.props';\nimport { DEFAULT_CLASS, WmPageStyles } from './page.styles';\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport { StickyViewContainer } from '@wavemaker/app-rn-runtime/core/sticky-container.component';\n\nexport class WmPageState extends BaseComponentState<WmPageProps> {}\n\nexport interface CustomScrollEvent {\n scrollDirection: number;\n}\n\n\nexport default class WmPage extends BaseComponent<WmPageProps, WmPageState, WmPageStyles> {\n private scrollRef: React.RefObject<any>;\n private previousScrollPosition: number = 0;\n\n panResponder = PanResponder.create({\n onStartShouldSetPanResponderCapture: (e) => {\n this.notify('globaltouch', [e]);\n return false;\n },\n });\n constructor(props: WmPageProps) {\n super(props, DEFAULT_CLASS, );\n this.scrollRef = React.createRef();\n }\n\n private onScroll = (event: NativeSyntheticEvent<NativeScrollEvent>)=>{\n const scrollPosition = event.nativeEvent.contentOffset.y;\n if(Math.abs(scrollPosition - this.previousScrollPosition) >= 8 && scrollPosition >=0){\n const e = event as unknown as CustomScrollEvent;\n if (scrollPosition > this.previousScrollPosition) {\n e.scrollDirection = 1;\n } else if (scrollPosition === this.previousScrollPosition) {\n e.scrollDirection = 0;\n } else {\n e.scrollDirection = -1;\n }\n this.previousScrollPosition = scrollPosition;\n this.notify('scroll', [e]);\n }\n }\n\n public scrollTo(position: {x: number, y: number}){\n this.scrollRef?.current?.scrollTo({\n x: position.x,\n y: position.y,\n Animated: true\n });\n }\n\n renderWidget(props: WmPageProps) {\n return (\n <StickyViewContainer>\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n return props.scrollable ? \n <ScrollView\n ref={this.scrollRef}\n {...this.panResponder.panHandlers}\n style={[{ width:'100%', height:'100%' }, this.styles.root]}\n onScroll={this.onScroll}\n scrollEventThrottle={16}\n >\n {this._background}\n {props.children}\n </ScrollView> : \n <View style={this.styles.root}> \n {this._background}\n {props.children}\n </View>\n }}\n </SafeAreaInsetsContext.Consumer>\n </StickyViewContainer>\n ); \n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -218,7 +218,7 @@ export default class WmTabbar extends BaseNavComponent {
|
|
218
218
|
});
|
219
219
|
}
|
220
220
|
renderWidget(props) {
|
221
|
-
this.isFixed = true;
|
221
|
+
if (props.hideonscroll) this.isFixed = true;
|
222
222
|
const animateStyle = props.hideonscroll ? {
|
223
223
|
transform: [{
|
224
224
|
translateY: this.translateY
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Text","View","TouchableOpacity","Dimensions","Keyboard","Animated","Easing","ThemeProvider","ModalConsumer","WmIcon","NavigationServiceConsumer","BaseNavComponent","BaseNavState","WmTabbarProps","DEFAULT_CLASS","Svg","Path","getPathDown","ThemeVariables","FixedView","SafeAreaInsetsContext","injector","scale","n","WmTabbarState","constructor","args","_defineProperty","WmTabbar","props","Value","get","width","cleanup","push","addListener","keyBoardShown","forceUpdate","remove","onPropertyChange","name","$new","$old","destroyScrollListner","subscribeToPageScroll","renderTabItem","item","testId","onSelect","floating","isActive","getDisplayLabel","getDisplayExpression","label","increasedGap","Number","indexBeforeMid","state","dataItems","length","classname","indexOf","styles","tabItem","paddingRight","createElement","_extends","getTestPropsForAction","style","centerHubItem","key","onPress","activeTabItem","theme","mergeStyle","tabIcon","centerHubIcon","activeTabIcon","iconclass","icon","tabLabel","centerHubLabel","activeTabLabel","numberOfLines","onItemSelect","navigationService","link","openUrl","invokeEventCallback","proxy","prepareModalOptions","content","o","modalOptions","modalStyle","bottom","tabbarHeight","contentStyle","modalContent","isVisible","animateWithTiming","value","duratiion","timing","translateY","toValue","easing","linear","duration","useNativeDriver","start","subscribe","e","_this$getLayout","_this$insets","contentOffset","layoutMeasurement","contentSize","nativeEvent","scrollPosition","y","visibleContentHeight","height","getLayout","endReached","bottomInsets","insets","scrollDirection","componentWillUnmount","renderContent","max","tabItems","tabItemsLength","isClippedTabbar","middleIndex","Math","floor","returnpathDown","maxWidth","root","moreItems","moreItemsCount","ceil","j","i","row","Consumer","top","left","right","_this$appConfig","paddingBottomVal","paddingBottom","padding","statusBarCustomisation","appConfig","preferences","statusbarStyles","isFullScreenMode","translucent","stylesWithFs","ref","baseView","onLayout","event","handleLayout","zIndex","position","backgroundColor","INSTANCE","transparent","fill","tabbarBackgroundColor","d","Fragment","modalService","showMore","showModal","moreMenu","map","a","moreMenuRow","index","hideModal","menu","layout","filter","morebuttonlabel","morebuttoniconclass","updateState","renderWidget","isFixed","animateStyle","hideonscroll","transform","animated","opacity"],"sources":["tabbar.component.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { Text, View, TouchableOpacity, Dimensions, Keyboard, Animated, Easing, LayoutChangeEvent} from 'react-native';\nimport { ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport NavigationService, { NavigationServiceConsumer } from '@wavemaker/app-rn-runtime/core/navigation.service';\nimport { BaseNavProps } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.props';\nimport { BaseNavComponent, BaseNavState, NavigationDataItem } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.component';\n\nimport WmTabbarProps from './tabbar.props';\nimport { DEFAULT_CLASS, WmTabbarStyles } from './tabbar.styles';\nimport Svg, { Path } from 'react-native-svg';\nimport { getPathDown } from './curve';\n// import { scale } from 'react-native-size-scaling';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { FixedView } from '@wavemaker/app-rn-runtime/core/fixed-view.component';\nimport { EdgeInsets, SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\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 private destroyScrollListner: Function = null as any;\n private translateY = new Animated.Value(0);\n private insets: EdgeInsets | null = null;\n private appConfig = injector.get<AppConfig>('APP_CONFIG');\n\n constructor(props: WmTabbarProps) {\n super(props, DEFAULT_CLASS, new WmTabbarProps(), new WmTabbarState());\n this.cleanup.push(Keyboard.addListener('keyboardWillShow', () => {\n this.keyBoardShown = true;\n this.forceUpdate();\n }).remove);\n this.cleanup.push(Keyboard.addListener('keyboardWillHide', () => {\n this.keyBoardShown = false;\n this.forceUpdate();\n }).remove);\n }\n\n private maxWidth = Dimensions.get(\"window\").width; \n private returnpathDown: any;\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name){\n case 'hideonscroll':\n this.destroyScrollListner && this.destroyScrollListner();\n if($new) {\n this.subscribeToPageScroll();\n }\n break;\n }\n }\n\n renderTabItem(item: TabDataItem, testId: string, props: WmTabbarProps, onSelect: Function, floating = false) {\n\n const isActive = props.isActive && props.isActive(item);\n const getDisplayLabel = this.props.getDisplayExpression || ((label: string) => label);\n let increasedGap = Number(testId) === item?.indexBeforeMid && (this.state.dataItems.length % 2!=0) && ((props.classname || '').indexOf('clipped-tabbar') >= 0)\n ? [this.styles.tabItem, { paddingRight: 70 }]\n : [this.styles.tabItem];\n \n return (\n <TouchableOpacity \n {...this.getTestPropsForAction('item' + testId)}\n style={[increasedGap, floating? this.styles.centerHubItem: {}]}\n key={`${item.label}_${testId}`}\n onPress={() => onSelect && onSelect()}>\n <View key={item.key}>\n <View style={[isActive && !floating ? this.styles.activeTabItem : {}]}>\n <WmIcon\n styles={this.theme.mergeStyle({}, this.styles.tabIcon, floating? this.styles.centerHubIcon: {}, isActive ? this.styles.activeTabIcon : {})}\n iconclass={item.icon}\n ></WmIcon>\n </View>\n </View>\n <Text style={[this.styles.tabLabel, floating? this.styles.centerHubLabel: {}, isActive ? this.styles.activeTabLabel : {}]} numberOfLines={1}>\n {getDisplayLabel(item.label)}\n </Text>\n </TouchableOpacity>\n );\n }\n \n onItemSelect(item: NavigationDataItem, navigationService: NavigationService) {\n item.link && navigationService.openUrl(item.link);\n this.invokeEventCallback('onSelect', [null, this.proxy, item]);\n }\n\n prepareModalOptions(content: ReactNode) {\n const o = this.state.modalOptions;\n o.content = content;\n o.modalStyle = {\n bottom: this.tabbarHeight\n };\n o.contentStyle = this.styles.modalContent; \n return o;\n }\n\n isVisible(): boolean {\n return super.isVisible() && !this.keyBoardShown;\n }\n\n animateWithTiming(value: number, duratiion: number): void {\n Animated.timing(this.translateY, {\n toValue: value, \n easing: Easing.linear,\n duration: duratiion, \n useNativeDriver: true\n }).start()\n }\n\n subscribeToPageScroll(){\n this.destroyScrollListner = this.subscribe('scroll', (e: any)=>{\n const { contentOffset, layoutMeasurement, contentSize } = e.nativeEvent ;\n const scrollPosition = contentOffset.y ;\n const visibleContentHeight = layoutMeasurement.height ;\n const tabbarHeight = this.getLayout()?.height ;\n const endReached = (scrollPosition + visibleContentHeight + tabbarHeight ) >= contentSize.height ;\n const bottomInsets = this.insets?.bottom || 0\n if(e.scrollDirection <= 0){\n this.animateWithTiming(0, 100)\n }else {\n this.animateWithTiming(tabbarHeight + bottomInsets, 100)\n }\n if(endReached){\n this.animateWithTiming(0, 0)\n }\n })\n }\n\n componentWillUnmount(): void {\n this.destroyScrollListner && this.destroyScrollListner();\n }\n\n renderContent(props: WmTabbarProps){\n let max = 5;\n const tabItems = this.state.dataItems;\n const tabItemsLength = tabItems.length;\n const isClippedTabbar = ((props.classname || '').indexOf('clipped-tabbar') >= 0) && (tabItemsLength % 2 !== 0);\n if (isClippedTabbar && tabItemsLength % 2 !== 0) {\n const middleIndex = Math.floor(tabItemsLength / 2);\n tabItems[middleIndex]['floating'] = true;\n tabItems[middleIndex - 1]['indexBeforeMid'] = middleIndex-1;\n }\n this.returnpathDown = getPathDown(this.maxWidth, 65 ,60,this.styles.root.height as number);\n const moreItems = [] as any[][];\n if (tabItems.length > max) {\n const moreItemsCount = Math.ceil((tabItems.length + 1 - max)/ max) * max;\n let j = 0;\n for (let i = max-1; i < moreItemsCount;) {\n const row = [];\n for (let j = 0; j < max; j++) {\n row[j] = tabItems[i++] || {key: 'tabItem' + i} as TabDataItem;\n }\n moreItems.push(row);\n }\n max = max - 1;\n }\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n this.insets = insets;\n const paddingBottomVal = this.styles.root.paddingBottom || this.styles.root.padding;\n const statusBarCustomisation = this.appConfig?.preferences?.statusbarStyles;\n const isFullScreenMode = !!statusBarCustomisation?.translucent;\n const stylesWithFs = isFullScreenMode ? {height: this.styles.root.height as number + (insets?.bottom || 0) as number, \n paddingBottom: (paddingBottomVal || 0) as number + (insets?.bottom || 0) as number} : {}\n return (\n <NavigationServiceConsumer>\n {(navigationService) =>(\n <View style={[this.styles.root, stylesWithFs]} \n ref={(ref)=> {this.baseView = ref as any}}\n onLayout={(event: LayoutChangeEvent) => this.handleLayout(event)} \n >\n {isClippedTabbar ? (\n <Svg width={this.maxWidth} height={scale(this.styles.root.height as number)} style={{zIndex: -1,position: 'absolute',backgroundColor: ThemeVariables.INSTANCE.transparent}}>\n <Path fill={ThemeVariables.INSTANCE.tabbarBackgroundColor} {...{ d: this.returnpathDown }}/>\n </Svg>\n ): <></>} \n <ModalConsumer>\n {(modalService: ModalService) => {\n if (this.state.showMore) {\n modalService.showModal(this.prepareModalOptions((\n <ThemeProvider value={this.theme} >\n <View style={this.styles.moreMenu}>\n {moreItems.map((a, i) =>\n (<View key={i} style={this.styles.moreMenuRow}>\n {a.map((item, index) => this.renderTabItem(item, i + '', props, () => this.onItemSelect(item, navigationService)))}\n </View>)\n )}\n </View>\n </ThemeProvider>)));\n } else {\n modalService.hideModal(this.state.modalOptions);\n }\n return null;\n }}\n </ModalConsumer>\n <View style={this.styles.menu}\n onLayout={e => { this.tabbarHeight = e.nativeEvent.layout.height}}> \n {tabItems.filter((item, i) => i < max)\n .map((item, i) => this.renderTabItem(item, i + '', props, () => this.onItemSelect(item, navigationService), item.floating))}\n {tabItems.length > max && (\n this.renderTabItem({\n label: props.morebuttonlabel,\n icon: props.morebuttoniconclass\n } as TabDataItem, 6666 +'', props, () => {\n this.updateState({showMore: !this.state.showMore} as WmTabbarState<WmTabbarProps>);\n })\n )}\n </View>\n </View>)}\n </NavigationServiceConsumer>\n )}}\n </SafeAreaInsetsContext.Consumer>\n )\n }\n\n renderWidget(props: WmTabbarProps) {\n this.isFixed = true;\n const animateStyle = props.hideonscroll ? {transform: [{translateY: this.translateY}]} : {};\n return <>\n <FixedView \n style={{...{bottom: 0, width:'100%'}, ...animateStyle}} \n theme={this.theme}\n animated={props.hideonscroll || false}>\n {this.renderContent(props)}\n </FixedView>\n <View style={{ opacity: 0}}>\n {this.renderContent(props)}\n </View>\n </>\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","Text","View","TouchableOpacity","Dimensions","Keyboard","Animated","Easing","ThemeProvider","ModalConsumer","WmIcon","NavigationServiceConsumer","BaseNavComponent","BaseNavState","WmTabbarProps","DEFAULT_CLASS","Svg","Path","getPathDown","ThemeVariables","FixedView","SafeAreaInsetsContext","injector","scale","n","WmTabbarState","constructor","args","_defineProperty","WmTabbar","props","Value","get","width","cleanup","push","addListener","keyBoardShown","forceUpdate","remove","onPropertyChange","name","$new","$old","destroyScrollListner","subscribeToPageScroll","renderTabItem","item","testId","onSelect","floating","isActive","getDisplayLabel","getDisplayExpression","label","increasedGap","Number","indexBeforeMid","state","dataItems","length","classname","indexOf","styles","tabItem","paddingRight","createElement","_extends","getTestPropsForAction","style","centerHubItem","key","onPress","activeTabItem","theme","mergeStyle","tabIcon","centerHubIcon","activeTabIcon","iconclass","icon","tabLabel","centerHubLabel","activeTabLabel","numberOfLines","onItemSelect","navigationService","link","openUrl","invokeEventCallback","proxy","prepareModalOptions","content","o","modalOptions","modalStyle","bottom","tabbarHeight","contentStyle","modalContent","isVisible","animateWithTiming","value","duratiion","timing","translateY","toValue","easing","linear","duration","useNativeDriver","start","subscribe","e","_this$getLayout","_this$insets","contentOffset","layoutMeasurement","contentSize","nativeEvent","scrollPosition","y","visibleContentHeight","height","getLayout","endReached","bottomInsets","insets","scrollDirection","componentWillUnmount","renderContent","max","tabItems","tabItemsLength","isClippedTabbar","middleIndex","Math","floor","returnpathDown","maxWidth","root","moreItems","moreItemsCount","ceil","j","i","row","Consumer","top","left","right","_this$appConfig","paddingBottomVal","paddingBottom","padding","statusBarCustomisation","appConfig","preferences","statusbarStyles","isFullScreenMode","translucent","stylesWithFs","ref","baseView","onLayout","event","handleLayout","zIndex","position","backgroundColor","INSTANCE","transparent","fill","tabbarBackgroundColor","d","Fragment","modalService","showMore","showModal","moreMenu","map","a","moreMenuRow","index","hideModal","menu","layout","filter","morebuttonlabel","morebuttoniconclass","updateState","renderWidget","hideonscroll","isFixed","animateStyle","transform","animated","opacity"],"sources":["tabbar.component.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { Text, View, TouchableOpacity, Dimensions, Keyboard, Animated, Easing, LayoutChangeEvent} from 'react-native';\nimport { ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport NavigationService, { NavigationServiceConsumer } from '@wavemaker/app-rn-runtime/core/navigation.service';\nimport { BaseNavProps } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.props';\nimport { BaseNavComponent, BaseNavState, NavigationDataItem } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.component';\n\nimport WmTabbarProps from './tabbar.props';\nimport { DEFAULT_CLASS, WmTabbarStyles } from './tabbar.styles';\nimport Svg, { Path } from 'react-native-svg';\nimport { getPathDown } from './curve';\n// import { scale } from 'react-native-size-scaling';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { FixedView } from '@wavemaker/app-rn-runtime/core/fixed-view.component';\nimport { EdgeInsets, SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\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 private destroyScrollListner: Function = null as any;\n private translateY = new Animated.Value(0);\n private insets: EdgeInsets | null = null;\n private appConfig = injector.get<AppConfig>('APP_CONFIG');\n\n constructor(props: WmTabbarProps) {\n super(props, DEFAULT_CLASS, new WmTabbarProps(), new WmTabbarState());\n this.cleanup.push(Keyboard.addListener('keyboardWillShow', () => {\n this.keyBoardShown = true;\n this.forceUpdate();\n }).remove);\n this.cleanup.push(Keyboard.addListener('keyboardWillHide', () => {\n this.keyBoardShown = false;\n this.forceUpdate();\n }).remove);\n }\n\n private maxWidth = Dimensions.get(\"window\").width; \n private returnpathDown: any;\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name){\n case 'hideonscroll':\n this.destroyScrollListner && this.destroyScrollListner();\n if($new) {\n this.subscribeToPageScroll();\n }\n break;\n }\n }\n\n renderTabItem(item: TabDataItem, testId: string, props: WmTabbarProps, onSelect: Function, floating = false) {\n\n const isActive = props.isActive && props.isActive(item);\n const getDisplayLabel = this.props.getDisplayExpression || ((label: string) => label);\n let increasedGap = Number(testId) === item?.indexBeforeMid && (this.state.dataItems.length % 2!=0) && ((props.classname || '').indexOf('clipped-tabbar') >= 0)\n ? [this.styles.tabItem, { paddingRight: 70 }]\n : [this.styles.tabItem];\n \n return (\n <TouchableOpacity \n {...this.getTestPropsForAction('item' + testId)}\n style={[increasedGap, floating? this.styles.centerHubItem: {}]}\n key={`${item.label}_${testId}`}\n onPress={() => onSelect && onSelect()}>\n <View key={item.key}>\n <View style={[isActive && !floating ? this.styles.activeTabItem : {}]}>\n <WmIcon\n styles={this.theme.mergeStyle({}, this.styles.tabIcon, floating? this.styles.centerHubIcon: {}, isActive ? this.styles.activeTabIcon : {})}\n iconclass={item.icon}\n ></WmIcon>\n </View>\n </View>\n <Text style={[this.styles.tabLabel, floating? this.styles.centerHubLabel: {}, isActive ? this.styles.activeTabLabel : {}]} numberOfLines={1}>\n {getDisplayLabel(item.label)}\n </Text>\n </TouchableOpacity>\n );\n }\n \n onItemSelect(item: NavigationDataItem, navigationService: NavigationService) {\n item.link && navigationService.openUrl(item.link);\n this.invokeEventCallback('onSelect', [null, this.proxy, item]);\n }\n\n prepareModalOptions(content: ReactNode) {\n const o = this.state.modalOptions;\n o.content = content;\n o.modalStyle = {\n bottom: this.tabbarHeight\n };\n o.contentStyle = this.styles.modalContent; \n return o;\n }\n\n isVisible(): boolean {\n return super.isVisible() && !this.keyBoardShown;\n }\n\n animateWithTiming(value: number, duratiion: number): void {\n Animated.timing(this.translateY, {\n toValue: value, \n easing: Easing.linear,\n duration: duratiion, \n useNativeDriver: true\n }).start()\n }\n\n subscribeToPageScroll(){\n this.destroyScrollListner = this.subscribe('scroll', (e: any)=>{\n const { contentOffset, layoutMeasurement, contentSize } = e.nativeEvent ;\n const scrollPosition = contentOffset.y ;\n const visibleContentHeight = layoutMeasurement.height ;\n const tabbarHeight = this.getLayout()?.height ;\n const endReached = (scrollPosition + visibleContentHeight + tabbarHeight ) >= contentSize.height ;\n const bottomInsets = this.insets?.bottom || 0\n if(e.scrollDirection <= 0){\n this.animateWithTiming(0, 100)\n }else {\n this.animateWithTiming(tabbarHeight + bottomInsets, 100)\n }\n if(endReached){\n this.animateWithTiming(0, 0)\n }\n })\n }\n\n componentWillUnmount(): void {\n this.destroyScrollListner && this.destroyScrollListner();\n }\n\n renderContent(props: WmTabbarProps){\n let max = 5;\n const tabItems = this.state.dataItems;\n const tabItemsLength = tabItems.length;\n const isClippedTabbar = ((props.classname || '').indexOf('clipped-tabbar') >= 0) && (tabItemsLength % 2 !== 0);\n if (isClippedTabbar && tabItemsLength % 2 !== 0) {\n const middleIndex = Math.floor(tabItemsLength / 2);\n tabItems[middleIndex]['floating'] = true;\n tabItems[middleIndex - 1]['indexBeforeMid'] = middleIndex-1;\n }\n this.returnpathDown = getPathDown(this.maxWidth, 65 ,60,this.styles.root.height as number);\n const moreItems = [] as any[][];\n if (tabItems.length > max) {\n const moreItemsCount = Math.ceil((tabItems.length + 1 - max)/ max) * max;\n let j = 0;\n for (let i = max-1; i < moreItemsCount;) {\n const row = [];\n for (let j = 0; j < max; j++) {\n row[j] = tabItems[i++] || {key: 'tabItem' + i} as TabDataItem;\n }\n moreItems.push(row);\n }\n max = max - 1;\n }\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n this.insets = insets;\n const paddingBottomVal = this.styles.root.paddingBottom || this.styles.root.padding;\n const statusBarCustomisation = this.appConfig?.preferences?.statusbarStyles;\n const isFullScreenMode = !!statusBarCustomisation?.translucent;\n const stylesWithFs = isFullScreenMode ? {height: this.styles.root.height as number + (insets?.bottom || 0) as number, \n paddingBottom: (paddingBottomVal || 0) as number + (insets?.bottom || 0) as number} : {}\n return (\n <NavigationServiceConsumer>\n {(navigationService) =>(\n <View style={[this.styles.root, stylesWithFs]} \n ref={(ref)=> {this.baseView = ref as any}}\n onLayout={(event: LayoutChangeEvent) => this.handleLayout(event)} \n >\n {isClippedTabbar ? (\n <Svg width={this.maxWidth} height={scale(this.styles.root.height as number)} style={{zIndex: -1,position: 'absolute',backgroundColor: ThemeVariables.INSTANCE.transparent}}>\n <Path fill={ThemeVariables.INSTANCE.tabbarBackgroundColor} {...{ d: this.returnpathDown }}/>\n </Svg>\n ): <></>} \n <ModalConsumer>\n {(modalService: ModalService) => {\n if (this.state.showMore) {\n modalService.showModal(this.prepareModalOptions((\n <ThemeProvider value={this.theme} >\n <View style={this.styles.moreMenu}>\n {moreItems.map((a, i) =>\n (<View key={i} style={this.styles.moreMenuRow}>\n {a.map((item, index) => this.renderTabItem(item, i + '', props, () => this.onItemSelect(item, navigationService)))}\n </View>)\n )}\n </View>\n </ThemeProvider>)));\n } else {\n modalService.hideModal(this.state.modalOptions);\n }\n return null;\n }}\n </ModalConsumer>\n <View style={this.styles.menu}\n onLayout={e => { this.tabbarHeight = e.nativeEvent.layout.height}}> \n {tabItems.filter((item, i) => i < max)\n .map((item, i) => this.renderTabItem(item, i + '', props, () => this.onItemSelect(item, navigationService), item.floating))}\n {tabItems.length > max && (\n this.renderTabItem({\n label: props.morebuttonlabel,\n icon: props.morebuttoniconclass\n } as TabDataItem, 6666 +'', props, () => {\n this.updateState({showMore: !this.state.showMore} as WmTabbarState<WmTabbarProps>);\n })\n )}\n </View>\n </View>)}\n </NavigationServiceConsumer>\n )}}\n </SafeAreaInsetsContext.Consumer>\n )\n }\n\n renderWidget(props: WmTabbarProps) {\n if(props.hideonscroll) this.isFixed = true;\n const animateStyle = props.hideonscroll ? {transform: [{translateY: this.translateY}]} : {};\n return <>\n <FixedView \n style={{...{bottom: 0, width:'100%'}, ...animateStyle}} \n theme={this.theme}\n animated={props.hideonscroll || false}>\n {this.renderContent(props)}\n </FixedView>\n <View style={{ opacity: 0}}>\n {this.renderContent(props)}\n </View>\n </>\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/core/base.component.js
CHANGED
@@ -97,6 +97,7 @@ export class BaseComponent extends React.Component {
|
|
97
97
|
py: 0
|
98
98
|
});
|
99
99
|
_defineProperty(this, "baseView", View);
|
100
|
+
_defineProperty(this, "pcScrollTopThreshold", 0);
|
100
101
|
_defineProperty(this, "hideSkeletonInPageContentWhenDisabledInPage", () => {
|
101
102
|
var _this$parent$state;
|
102
103
|
const isPageContentWidget = this.defaultClass && this.defaultClass === 'app-page-content';
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["assign","isUndefined","isNil","React","AccessibilityInfo","Platform","StyleSheet","View","InteractionManager","Animatable","ThemeVariables","StyleProps","getStyleName","BackgroundComponent","injector","ROOT_LOGGER","deepCopy","getPosition","setPosition","BASE_THEME","ThemeConsumer","ThemeEvent","EventNotifier","PropsProvider","assignIn","HideMode","AssetConsumer","FixedView","TextIdPrefixConsumer","isScreenReaderEnabled","TappableContext","WmComponentNode","WIDGET_LOGGER","extend","ParentContext","createContext","BaseComponentState","constructor","_defineProperty","undefined","defineStyles","styles","text","fontFamily","INSTANCE","baseFont","userSelect","BaseProps","args","BaseComponent","Component","markupProps","defaultClass","defaultProps","defaultState","ADD_TO_DOM","createElement","Fragment","I18nService","get","x","y","width","height","px","py","_this$parent$state","isPageContentWidget","isCurrentParentIsContent","parent","showSkeletonInPageContent","state","props","showskeleton","notifier","name","componentNode","instance","propertyProvider","show","$new","$old","debug","initialized","styleName","styleOverrides","setTimeout","cleanRefresh","onPropertyChange","_INSTANCE","_showView","deferload","check","proxy","Proxy","target","prop","receiver","propName","toString","has","Reflect","set","value","overrideProp","updateState","cleanup","push","updateStateTimeouts","forEach","v","clearTimeout","theme","subscribe","CHANGE","forceUpdate","addEventListener","remove","destroyParentListeners","event","fn","notify","emitToParent","isRTL","i18nService","isRTLLocale","animate","setState","animationId","Date","now","animatableProps","setProp","setPropDefault","setDefault","getDefaultStyles","getStyle","reset","newPartialState","callback","destroyed","stateFn","oldState","oldProps","newState","Object","keys","k","onUpdateState","_this$props$listener","_this$props$listener2","listener","onComponentChange","timeoutId","splice","indexOf","shouldComponentUpdate","nextProps","nextState","nextContext","key","componentDidMount","onComponentInit","componentWillAttach","isFixed","isSticky","hide","componentWillDetach","componentWillUnmount","_this$parent","onComponentDestroy","f","destroy","componentDidUpdate","prevProps","prevState","snapshot","invokeEventCallback","eventName","callBack","map","a","apply","e","console","error","showView","isVisible","refresh","renderSkeleton","parentListenerDestroyers","setParent","add","getName","handleLayout","ref","newLayoutPosition","nativeEvent","layout","componentRef","baseView","measure","updateLayout","runAfterInteractions","requestAnimationFrame","copyStyles","property","from","to","renderFixedContainer","style","rootStyle","left","top","bottom","right","root","mergeStyle","addAnimation","renderWidget","n","_extends","setBackground","bgStyle","_background","image","backgroundImage","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","highlight","onTouchStart","borderWidth","overflow","backgroundColor","borderColor","borderStyle","zIndex","absoluteFill","getTestId","suffix","id","testIdPrefix","getTestProps","OS","accessibilityLabel","testID","accessible","getStyleClassName","classname","getTestPropsForInput","getTestPropsForAction","getTestPropsForLabel","getLayoutOfWidget","getLayout","scrollToTop","scrollToEnd","scrollToPosition","widgetName","_this$getLayoutOfWidg","positionY","getDependenciesFromContext","Consumer","tappable","closestTappable","loadAsset","_this$parent2","_showSkeleton","hideSkeletonInPageContentWhenDisabledInPage","Provider","render","selectedLocale","getSelectedLocale","info","hideMode","DONOT_ADD_TO_DOM","disabled","showindevice","d","join","cleanseStyleProperties","hasOwnProperty","eleToRender"],"sources":["base.component.tsx"],"sourcesContent":["import { assign, isUndefined, isNil } from 'lodash';\nimport React, { ReactNode } from 'react';\nimport { AccessibilityInfo, LayoutChangeEvent, Platform, StyleSheet, TextStyle, View, ViewStyle, InteractionManager } from 'react-native';\nimport { AnimatableProps } from 'react-native-animatable';\nimport * as Animatable from 'react-native-animatable';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { StyleProps, getStyleName } from '@wavemaker/app-rn-runtime/styles/style-props';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport { ROOT_LOGGER } from '@wavemaker/app-rn-runtime/core/logger';\nimport { deepCopy, getPosition, setPosition } from '@wavemaker/app-rn-runtime/core/utils';\nimport BASE_THEME, { NamedStyles, AllStyle, ThemeConsumer, ThemeEvent, Theme } from '../styles/theme';\nimport EventNotifier from './event-notifier';\nimport { PropsProvider } from './props.provider';\nimport { assignIn } from 'lodash-es';\nimport { HideMode } from './if.component';\nimport { AssetConsumer } from './asset.provider';\nimport { FixedView } from './fixed-view.component';\nimport { TextIdPrefixConsumer } from './testid.provider';\nimport { isScreenReaderEnabled } from './accessibility';\nimport { Tappable, TappableContext } from './tappable.component';\nimport { WmComponentNode } from './wm-component-tree';\n\nexport const WIDGET_LOGGER = ROOT_LOGGER.extend('widget');\n\nexport const ParentContext = React.createContext(null as any);\n\nexport class BaseComponentState<T extends BaseProps> {\n public animationId?: number = 0;\n public animatableProps?: AnimatableProps<ViewStyle> = undefined;\n public props = {} as T;\n public hide? = false;\n public highlight? = false;\n}\n\nexport type BaseStyles = NamedStyles<any> & {\n root: AllStyle,\n text: TextStyle & {userSelect?: 'none'| 'text'}\n}\n\nexport function defineStyles<T>(styles: T): T {\n return deepCopy({\n text: {\n fontFamily: ThemeVariables.INSTANCE.baseFont,\n userSelect: 'text'\n }\n }, styles);\n}\n\nexport interface LifecycleListener {\n onComponentChange?: (c: BaseComponent<any, any, any>) => void;\n onComponentInit?: (c: BaseComponent<any, any, any>) => void;\n onComponentDestroy?: (c: BaseComponent<any, any, any>) => void;\n}\n\ninterface Layout {\n x: number;\n y: number;\n width: number;\n height: number;\n px: number;\n py: number;\n}\n\nexport class BaseProps extends StyleProps {\n id?: string = null as any;\n name?: string = null as any;\n key?: any = null as any;\n disabled? = false;\n show? = true as Boolean | String | Number;\n styles?: any = null;\n classname?: string = null as any;\n listener?: LifecycleListener = null as any;\n showindevice?: ('xs'|'sm'|'md'|'lg'|'xl'|'xxl')[] = null as any;\n showskeleton?: boolean = undefined;\n deferload?: boolean = false;\n showskeletonchildren?: boolean = true;\n disabletoucheffect?:boolean = false;\n}\n\nexport abstract class BaseComponent<T extends BaseProps, S extends BaseComponentState<T>, L extends BaseStyles> extends React.Component<T, S> {\n public styles: L = null as any;\n public hideMode = HideMode.ADD_TO_DOM;\n private propertyProvider: PropsProvider<T>;\n public proxy: BaseComponent<T, S, L>;\n public _INSTANCE: BaseComponent<T, S, L>;\n public initialized = false;\n public cleanup = [] as Function[];\n public theme = BASE_THEME;\n public updateStateTimeouts= [] as NodeJS.Timeout[];\n public parent: BaseComponent<any, any, any> = null as any;\n public destroyed = false;\n public _showSkeleton = false;\n public isFixed = false;\n public isSticky = false;\n private notifier = new EventNotifier();\n private parentListenerDestroyers = [] as Function[];\n public _background = <></>;\n private styleOverrides = {} as any;\n public loadAsset: (path: string) => number | string = null as any;\n private i18nService = injector.I18nService.get();\n public testIdPrefix = '';\n private _showView = true;\n public closestTappable?: Tappable; \n public componentNode: WmComponentNode;\n public layout: Layout = {\n x: 0, y:0, width:0, height:0, px:0, py:0\n };\n public baseView: any = View;\n\n constructor(markupProps: T, public defaultClass: string, defaultProps?: T, defaultState?: S) {\n super(markupProps);\n this.state = (defaultState || {} as S);\n this.notifier.name = this.props.name || '';\n this.componentNode = new WmComponentNode({\n instance: this\n });\n this.propertyProvider = new PropsProvider<T>(\n assign({show: true}, defaultProps),\n assign({}, markupProps),\n (name: string, $new: any, $old: any) => {\n WIDGET_LOGGER.debug(() => `${this.props.name || this.constructor.name}: ${name} changed from ${$old} to ${$new}`);\n if (this.initialized) {\n const styleName = getStyleName(name);\n if (styleName) {\n if ($new === undefined) {\n delete this.styleOverrides[styleName];\n } else {\n this.styleOverrides[styleName] = $new;\n }\n }\n }\n if (name === 'showskeleton' && this.initialized) {\n setTimeout(() => this.cleanRefresh(), 100);\n }\n this.onPropertyChange(name, $new, $old);\n });\n //@ts-ignore\n this.state.props =this.propertyProvider.get();\n this._INSTANCE = this;\n //@ts-ignore\n this._showView = !this.props.deferload;\n this.propertyProvider.check();\n //@ts-ignore\n this.proxy = (new Proxy(this, {\n get: (target, prop, receiver): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n //@ts-ignore\n return this.state.props[propName];\n }\n return Reflect.get(target, prop, receiver);\n },\n set: (target: any, prop, value: any): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n // @ts-ignore\n const props = {} as any;\n this.propertyProvider.overrideProp(propName, value);\n props[propName] = value;\n this.updateState({\n props: props\n } as S);\n return true;\n } else {\n return Reflect.set(target, prop, value);\n }\n }\n }));\n this.cleanup.push(() => {\n this.updateStateTimeouts.forEach(v => clearTimeout(v));\n });\n this.cleanup.push(this.theme.subscribe(ThemeEvent.CHANGE, () => {\n this.forceUpdate();\n }));\n this.cleanup.push(AccessibilityInfo.addEventListener('screenReaderChanged',\n () => {\n setTimeout(() => {\n this.forceUpdate();\n }, 100);\n },\n ).remove);\n this.cleanup.push(() => {\n this.destroyParentListeners();\n });\n }\n\n public subscribe(event: string, fn: Function) {\n return this.notifier.subscribe(event, fn);\n }\n\n public notify(event: string, args: any[], emitToParent = false) {\n return this.notifier.notify(event, args, emitToParent);\n }\n\n public get isRTL(){\n return this.i18nService.isRTLLocale();\n }\n\n public animate(props: AnimatableProps<ViewStyle>) {\n this.setState({\n animationId: Date.now(),\n animatableProps: props\n });\n }\n\n setProp(propName: string, value: any) {\n this.propertyProvider.set(propName, value);\n this.updateState({props: {}} as S);\n }\n\n setPropDefault(propName: string, value: any) {\n this.propertyProvider.setDefault(propName, value);\n }\n \n onPropertyChange(name: string, $new: any, $old: any) { \n }\n \n getDefaultStyles() {\n return this.theme.getStyle(this.defaultClass);\n }\n\n reset() {\n\n }\n\n updateState(newPartialState: S, callback?: ()=>void) {\n if (this.destroyed) {\n return;\n }\n const stateFn = (oldState: S) => {\n const oldProps = oldState.props;\n const newState = this.initialized ? assignIn({}, oldState, newPartialState) : assignIn(oldState, newPartialState);\n if (newPartialState.props) {\n Object.keys(newPartialState.props).forEach((k) => {\n //@ts-ignore\n oldProps[k] = newState.props[k];\n });\n newState.props = oldProps;\n }\n return newState;\n };\n const onUpdateState = () => {\n callback && callback();\n this.props.listener?.onComponentChange\n && this.props.listener?.onComponentChange(this);\n }\n if (!this.initialized) {\n this.state = stateFn(this.state);\n onUpdateState();\n } else {\n const timeoutId = setTimeout(() => {\n this.setState(stateFn, onUpdateState);\n this.updateStateTimeouts.splice(this.updateStateTimeouts.indexOf(timeoutId), 1);\n });\n this.updateStateTimeouts.push(timeoutId);\n }\n }\n\n shouldComponentUpdate(nextProps: T, nextState: S, nextContext: any) {\n if (this.propertyProvider.check(nextProps)) {\n return true;\n }\n for(let key in nextState) {\n if(key !== 'props' && (!(key in this.state) || nextState[key] !== this.state[key])) {\n return true;\n }\n }\n\n for(let key in this.state) {\n if(key !== 'props' && (!(key in nextState) || this.state[key] !== nextState[key])) {\n return true;\n }\n }\n return false;\n }\n\n componentDidMount() {\n if (this.props.listener && this.props.listener.onComponentInit) {\n this.props.listener.onComponentInit(this.proxy);\n }\n this.initialized = true;\n }\n\n componentWillAttach() {\n if (this.isFixed || this.isSticky) {\n this.setState({hide: false});\n }\n }\n\n componentWillDetach() {\n if (this.isFixed || this.isSticky) {\n this.setState({hide: true});\n }\n }\n\n componentWillUnmount() {\n this.destroyed = true;\n if (this.props.listener && this.props.listener.onComponentDestroy) {\n this.props.listener.onComponentDestroy(this.proxy);\n }\n this.cleanup.forEach(f => f && f());\n this.parent?.componentNode?.remove(this.componentNode);\n this.notifier.destroy();\n this.notifier.notify('destroy', []);\n }\n \n componentDidUpdate(prevProps: Readonly<T>, prevState: Readonly<S>, snapshot?: any): void {\n if (this.propertyProvider.check(this.props)) {\n this.forceUpdate();\n }\n }\n\n invokeEventCallback(eventName: string, args: any[]) {\n //@ts-ignore\n const callBack: Function = this.props[eventName];\n args = args && args.map(a => (a === this) ? this.proxy : a)\n if (callBack) {\n try {\n return callBack.apply(this.proxy, args);\n } catch(e) {\n console.error(e);\n }\n }\n }\n\n showView() {\n return this.isVisible();\n }\n\n isVisible() {\n const show = this.state.props.show;\n return show !== false && show !== 'false' && show !== '0' && !isNil(show) && show !== \"\";\n }\n\n protected abstract renderWidget(props: T): ReactNode;\n\n public refresh() {\n this.forceUpdate();\n }\n\n public cleanRefresh() {\n this.forceUpdate(() => this.notifier.notify('forceUpdate', []));\n }\n \n public renderSkeleton (props: T): ReactNode {\n return null;\n }\n\n public destroyParentListeners() {\n this.parentListenerDestroyers.map(fn => fn());\n }\n\n protected setParent(parent: BaseComponent<any, any, any>) {\n if (parent && this.parent !== parent) {\n this.parent = parent;\n this.parent.componentNode.add(this.componentNode);\n this.notifier.setParent(parent.notifier);\n this.parentListenerDestroyers = [\n this.parent.subscribe('forceUpdate', () => {\n this.forceUpdate();\n }),\n this.parent.subscribe('destroy', () => {\n this.destroyParentListeners();\n })\n ];\n }\n }\n\n protected getName() {\n return this.props.name;\n }\n\n public handleLayout(event: LayoutChangeEvent, ref: React.RefObject<View> | null = null) {\n const key = this.getName && this.getName();\n if(key){\n const newLayoutPosition = {\n [key as string]: {\n y: event.nativeEvent.layout.y,\n x: event.nativeEvent.layout.x\n }\n }\n setPosition(newLayoutPosition);\n const componentRef = ref !== null ? ref : this.baseView \n // Layout values by measure\n if(componentRef?.measure){\n const updateLayout = ()=>{\n componentRef.measure((x = 0, y = 0, width = 0, height = 0, px = 0, py = 0) => {\n this.layout = { x, y, width, height, px, py }\n }); \n }\n updateLayout();\n InteractionManager.runAfterInteractions(() => {\n requestAnimationFrame(updateLayout); \n })\n }\n }\n }\n \n copyStyles(property: string, from: any, to: any) {\n if (!isUndefined(from[property])) {\n to[property] = from[property];\n }\n }\n\n renderFixedContainer(props: T) {\n const style = {} as ViewStyle;\n const rootStyle = {\n left: 0,\n top: 0,\n bottom: 0,\n right: 0,\n width: \"100%\",\n height: \"100%\"\n } as ViewStyle;\n this.copyStyles('left', this.styles.root, style);\n this.copyStyles('top', this.styles.root, style);\n this.copyStyles('right', this.styles.root, style);\n this.copyStyles('bottom', this.styles.root, style);\n this.copyStyles('width', this.styles.root, style);\n this.copyStyles('height', this.styles.root, style);\n this.styles = this.theme.mergeStyle(this.styles, {root: rootStyle});\n return (<FixedView style={style} theme={this.theme}>{this.addAnimation(this.renderWidget(props))}</FixedView>);\n }\n\n private addAnimation(n: ReactNode) {\n if (!this.state.animatableProps) {\n return (\n <>\n {n}\n </>\n )\n }\n return (\n <Animatable.View \n key={this.state.animationId} \n {...this.state.animatableProps}\n >\n {n}\n </Animatable.View>);\n }\n \n private setBackground() {\n const bgStyle = this.styles.root as any;\n this._background = (\n <>\n <BackgroundComponent \n image={bgStyle.backgroundImage}\n position={bgStyle.backgroundPosition}\n size={bgStyle.backgroundSize}\n repeat={bgStyle.backgroundRepeat}\n resizeMode={bgStyle.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}>\n </BackgroundComponent>\n {this.state.highlight ? (<View onTouchStart={() => {\n this.setState({\n highlight: false\n })\n }} style={[{\n borderWidth: 2,\n overflow: 'hidden',\n backgroundColor: '#FFFF0033', \n borderColor: 'orange',\n borderStyle: 'dashed',\n zIndex: 1000,\n borderRadius: 0,\n }, StyleSheet.absoluteFill]}></View>) : null}\n </>\n );\n delete (this.styles.root as any)['backgroundImage'];\n delete (this.styles.root as any)['backgroundPosition'];\n delete (this.styles.root as any)['backgroundResizeMode'];\n delete (this.styles.root as any)['backgroundSize'];\n delete (this.styles.root as any)['backgroundRepeat'];\n }\n\n public getTestId(suffix?: string) {\n let id = this.props.id || this.props.name;\n if (this.testIdPrefix) {\n id = this.testIdPrefix + '_' + id;\n }\n if (suffix) {\n id = id + '_' + suffix;\n }\n return id;\n }\n\n public getTestProps(suffix?: string) {\n let id = this.getTestId(suffix);\n if (isScreenReaderEnabled()) {\n return {};\n }\n if (Platform.OS === 'android' || Platform.OS === 'web') {\n return {\n accessibilityLabel: id,\n testID: id\n };\n }\n return {\n accessible: false,\n testID: id\n };\n }\n\n public getStyleClassName() {\n return this.state.props.classname;\n }\n\n public getTestPropsForInput(suffix?: string) {\n return this.getTestProps(suffix || 'i');\n }\n\n public getTestPropsForAction(suffix?: string) {\n return this.getTestProps(suffix || 'a');\n }\n\n public getTestPropsForLabel(suffix?: string) {\n return this.getTestProps(suffix || 'l');\n }\n\n public getLayoutOfWidget(name: string): {x: number, y: number} | undefined {\n return getPosition(name)\n }\n\n public getLayout() {\n return this.layout ;\n }\n\n public scrollToTop(){\n this.notify('scrollToPosition', [{\n x: 0,\n y: 0\n }]);\n }\n\n public scrollToEnd() {\n this.notify('scrollToEnd', []);\n }\n\n scrollToPosition(widgetName: string) {\n const positionY = this.getLayoutOfWidget(widgetName)?.y; // Safe access\n this.notify('scrollToPosition', [{\n x: 0,\n y: positionY,\n }]);\n }\n\n public hideSkeletonInPageContentWhenDisabledInPage = () => {\n const isPageContentWidget = this.defaultClass && this.defaultClass === 'app-page-content'\n const isCurrentParentIsContent = this.parent && this.parent.defaultClass && this.parent.defaultClass === 'app-content'\n const showSkeletonInPageContent = this.parent.state?.props?.showskeleton === false\n \n if(isPageContentWidget && isCurrentParentIsContent && showSkeletonInPageContent) {\n return false;\n }\n return undefined;\n }\n \n private getDependenciesFromContext(fn: () => ReactNode) {\n return (\n <TappableContext.Consumer>{(tappable) => {\n this.closestTappable = tappable;\n return (\n <TextIdPrefixConsumer>\n {(testIdPrefix) => {\n this.testIdPrefix = testIdPrefix || '';\n return (<AssetConsumer>\n {(loadAsset) => {\n this.loadAsset = loadAsset;\n return (<ParentContext.Consumer>\n {(parent) => {\n this.setParent(parent);\n this._showSkeleton = this.state.props.showskeleton !== false \n && (this.parent?._showSkeleton || this.state.props.showskeleton === true) && this.hideSkeletonInPageContentWhenDisabledInPage() === undefined\n return (\n <ParentContext.Provider value={this}>\n <ThemeConsumer>\n {(theme) => { \n this.theme = theme || BASE_THEME;\n return fn();\n }}\n </ThemeConsumer>\n </ParentContext.Provider>);\n }} \n </ParentContext.Consumer>);\n }}\n </AssetConsumer>);\n }}\n </TextIdPrefixConsumer>)}}\n </TappableContext.Consumer>); \n }\n \n public render(): ReactNode {\n const props = this.state.props;\n const selectedLocale = this.i18nService.getSelectedLocale();\n return this.getDependenciesFromContext(() => {\n WIDGET_LOGGER.info(() => `${this.props.name || this.constructor.name} is rendering.`);\n this._showView = this._showView || this.showView();\n if (this.state.hide \n || (!this.isVisible() && this.hideMode === HideMode.DONOT_ADD_TO_DOM)\n || !this._showView) {\n return null;\n }\n this.isFixed = false;\n const classname = this.getStyleClassName();\n this.styles = this.theme.mergeStyle(\n this.getDefaultStyles(),\n {text: this.theme.getStyle('app-' + selectedLocale)},\n {text: this.theme.getStyle(this.defaultClass + '-' + selectedLocale)},\n props.disabled ? this.theme.getStyle(this.defaultClass + '-disabled') : null,\n this.isRTL ? this.theme.getStyle(this.defaultClass + '-rtl') : null,\n classname && this.theme.getStyle(classname),\n props.showindevice && this.theme.getStyle('d-all-none ' + props.showindevice.map(d => `d-${d}-flex`).join(' ')),\n this.theme.cleanseStyleProperties(this.props.styles),\n this.theme.cleanseStyleProperties({\n root: this.styleOverrides,\n text: this.styleOverrides\n }));\n if (this.styles.root.hasOwnProperty('_background')) {\n delete this.styles.root.backgroundColor;\n }\n if (!this.isVisible()) {\n assign(this.styles, this.theme.getStyle('hidden'))\n }\n let eleToRender = (this._showSkeleton && this.renderSkeleton(props));\n if (eleToRender) {\n return eleToRender;\n }\n this.setBackground();\n this.isFixed = (this.styles.root.position as any) === 'fixed';\n if (this.isFixed) {\n this.styles.root.position = undefined;\n return this.renderFixedContainer(props);\n }\n return this.addAnimation(this.renderWidget(this.state.props)); \n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["assign","isUndefined","isNil","React","AccessibilityInfo","Platform","StyleSheet","View","InteractionManager","Animatable","ThemeVariables","StyleProps","getStyleName","BackgroundComponent","injector","ROOT_LOGGER","deepCopy","getPosition","setPosition","BASE_THEME","ThemeConsumer","ThemeEvent","EventNotifier","PropsProvider","assignIn","HideMode","AssetConsumer","FixedView","TextIdPrefixConsumer","isScreenReaderEnabled","TappableContext","WmComponentNode","WIDGET_LOGGER","extend","ParentContext","createContext","BaseComponentState","constructor","_defineProperty","undefined","defineStyles","styles","text","fontFamily","INSTANCE","baseFont","userSelect","BaseProps","args","BaseComponent","Component","markupProps","defaultClass","defaultProps","defaultState","ADD_TO_DOM","createElement","Fragment","I18nService","get","x","y","width","height","px","py","_this$parent$state","isPageContentWidget","isCurrentParentIsContent","parent","showSkeletonInPageContent","state","props","showskeleton","notifier","name","componentNode","instance","propertyProvider","show","$new","$old","debug","initialized","styleName","styleOverrides","setTimeout","cleanRefresh","onPropertyChange","_INSTANCE","_showView","deferload","check","proxy","Proxy","target","prop","receiver","propName","toString","has","Reflect","set","value","overrideProp","updateState","cleanup","push","updateStateTimeouts","forEach","v","clearTimeout","theme","subscribe","CHANGE","forceUpdate","addEventListener","remove","destroyParentListeners","event","fn","notify","emitToParent","isRTL","i18nService","isRTLLocale","animate","setState","animationId","Date","now","animatableProps","setProp","setPropDefault","setDefault","getDefaultStyles","getStyle","reset","newPartialState","callback","destroyed","stateFn","oldState","oldProps","newState","Object","keys","k","onUpdateState","_this$props$listener","_this$props$listener2","listener","onComponentChange","timeoutId","splice","indexOf","shouldComponentUpdate","nextProps","nextState","nextContext","key","componentDidMount","onComponentInit","componentWillAttach","isFixed","isSticky","hide","componentWillDetach","componentWillUnmount","_this$parent","onComponentDestroy","f","destroy","componentDidUpdate","prevProps","prevState","snapshot","invokeEventCallback","eventName","callBack","map","a","apply","e","console","error","showView","isVisible","refresh","renderSkeleton","parentListenerDestroyers","setParent","add","getName","handleLayout","ref","newLayoutPosition","nativeEvent","layout","componentRef","baseView","measure","updateLayout","runAfterInteractions","requestAnimationFrame","copyStyles","property","from","to","renderFixedContainer","style","rootStyle","left","top","bottom","right","root","mergeStyle","addAnimation","renderWidget","n","_extends","setBackground","bgStyle","_background","image","backgroundImage","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","highlight","onTouchStart","borderWidth","overflow","backgroundColor","borderColor","borderStyle","zIndex","absoluteFill","getTestId","suffix","id","testIdPrefix","getTestProps","OS","accessibilityLabel","testID","accessible","getStyleClassName","classname","getTestPropsForInput","getTestPropsForAction","getTestPropsForLabel","getLayoutOfWidget","getLayout","scrollToTop","scrollToEnd","scrollToPosition","widgetName","_this$getLayoutOfWidg","positionY","getDependenciesFromContext","Consumer","tappable","closestTappable","loadAsset","_this$parent2","_showSkeleton","hideSkeletonInPageContentWhenDisabledInPage","Provider","render","selectedLocale","getSelectedLocale","info","hideMode","DONOT_ADD_TO_DOM","disabled","showindevice","d","join","cleanseStyleProperties","hasOwnProperty","eleToRender"],"sources":["base.component.tsx"],"sourcesContent":["import { assign, isUndefined, isNil } from 'lodash';\nimport React, { ReactNode } from 'react';\nimport { AccessibilityInfo, LayoutChangeEvent, Platform, StyleSheet, TextStyle, View, ViewStyle, InteractionManager } from 'react-native';\nimport { AnimatableProps } from 'react-native-animatable';\nimport * as Animatable from 'react-native-animatable';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { StyleProps, getStyleName } from '@wavemaker/app-rn-runtime/styles/style-props';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport { ROOT_LOGGER } from '@wavemaker/app-rn-runtime/core/logger';\nimport { deepCopy, getPosition, setPosition } from '@wavemaker/app-rn-runtime/core/utils';\nimport BASE_THEME, { NamedStyles, AllStyle, ThemeConsumer, ThemeEvent, Theme } from '../styles/theme';\nimport EventNotifier from './event-notifier';\nimport { PropsProvider } from './props.provider';\nimport { assignIn } from 'lodash-es';\nimport { HideMode } from './if.component';\nimport { AssetConsumer } from './asset.provider';\nimport { FixedView } from './fixed-view.component';\nimport { TextIdPrefixConsumer } from './testid.provider';\nimport { isScreenReaderEnabled } from './accessibility';\nimport { Tappable, TappableContext } from './tappable.component';\nimport { WmComponentNode } from './wm-component-tree';\n\nexport const WIDGET_LOGGER = ROOT_LOGGER.extend('widget');\n\nexport const ParentContext = React.createContext(null as any);\n\nexport class BaseComponentState<T extends BaseProps> {\n public animationId?: number = 0;\n public animatableProps?: AnimatableProps<ViewStyle> = undefined;\n public props = {} as T;\n public hide? = false;\n public highlight? = false;\n}\n\nexport type BaseStyles = NamedStyles<any> & {\n root: AllStyle,\n text: TextStyle & {userSelect?: 'none'| 'text'}\n}\n\nexport function defineStyles<T>(styles: T): T {\n return deepCopy({\n text: {\n fontFamily: ThemeVariables.INSTANCE.baseFont,\n userSelect: 'text'\n }\n }, styles);\n}\n\nexport interface LifecycleListener {\n onComponentChange?: (c: BaseComponent<any, any, any>) => void;\n onComponentInit?: (c: BaseComponent<any, any, any>) => void;\n onComponentDestroy?: (c: BaseComponent<any, any, any>) => void;\n}\n\ninterface Layout {\n x: number;\n y: number;\n width: number;\n height: number;\n px: number;\n py: number;\n}\n\nexport class BaseProps extends StyleProps {\n id?: string = null as any;\n name?: string = null as any;\n key?: any = null as any;\n disabled? = false;\n show? = true as Boolean | String | Number;\n styles?: any = null;\n classname?: string = null as any;\n listener?: LifecycleListener = null as any;\n showindevice?: ('xs'|'sm'|'md'|'lg'|'xl'|'xxl')[] = null as any;\n showskeleton?: boolean = undefined;\n deferload?: boolean = false;\n showskeletonchildren?: boolean = true;\n disabletoucheffect?:boolean = false;\n}\n\nexport abstract class BaseComponent<T extends BaseProps, S extends BaseComponentState<T>, L extends BaseStyles> extends React.Component<T, S> {\n public styles: L = null as any;\n public hideMode = HideMode.ADD_TO_DOM;\n private propertyProvider: PropsProvider<T>;\n public proxy: BaseComponent<T, S, L>;\n public _INSTANCE: BaseComponent<T, S, L>;\n public initialized = false;\n public cleanup = [] as Function[];\n public theme = BASE_THEME;\n public updateStateTimeouts= [] as NodeJS.Timeout[];\n public parent: BaseComponent<any, any, any> = null as any;\n public destroyed = false;\n public _showSkeleton = false;\n public isFixed = false;\n public isSticky = false;\n private notifier = new EventNotifier();\n private parentListenerDestroyers = [] as Function[];\n public _background = <></>;\n private styleOverrides = {} as any;\n public loadAsset: (path: string) => number | string = null as any;\n private i18nService = injector.I18nService.get();\n public testIdPrefix = '';\n private _showView = true;\n public closestTappable?: Tappable; \n public componentNode: WmComponentNode;\n public layout: Layout = {\n x: 0, y:0, width:0, height:0, px:0, py:0\n };\n public baseView: any = View;\n public pcScrollTopThreshold: number = 0;\n\n constructor(markupProps: T, public defaultClass: string, defaultProps?: T, defaultState?: S) {\n super(markupProps);\n this.state = (defaultState || {} as S);\n this.notifier.name = this.props.name || '';\n this.componentNode = new WmComponentNode({\n instance: this\n });\n this.propertyProvider = new PropsProvider<T>(\n assign({show: true}, defaultProps),\n assign({}, markupProps),\n (name: string, $new: any, $old: any) => {\n WIDGET_LOGGER.debug(() => `${this.props.name || this.constructor.name}: ${name} changed from ${$old} to ${$new}`);\n if (this.initialized) {\n const styleName = getStyleName(name);\n if (styleName) {\n if ($new === undefined) {\n delete this.styleOverrides[styleName];\n } else {\n this.styleOverrides[styleName] = $new;\n }\n }\n }\n if (name === 'showskeleton' && this.initialized) {\n setTimeout(() => this.cleanRefresh(), 100);\n }\n this.onPropertyChange(name, $new, $old);\n });\n //@ts-ignore\n this.state.props =this.propertyProvider.get();\n this._INSTANCE = this;\n //@ts-ignore\n this._showView = !this.props.deferload;\n this.propertyProvider.check();\n //@ts-ignore\n this.proxy = (new Proxy(this, {\n get: (target, prop, receiver): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n //@ts-ignore\n return this.state.props[propName];\n }\n return Reflect.get(target, prop, receiver);\n },\n set: (target: any, prop, value: any): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n // @ts-ignore\n const props = {} as any;\n this.propertyProvider.overrideProp(propName, value);\n props[propName] = value;\n this.updateState({\n props: props\n } as S);\n return true;\n } else {\n return Reflect.set(target, prop, value);\n }\n }\n }));\n this.cleanup.push(() => {\n this.updateStateTimeouts.forEach(v => clearTimeout(v));\n });\n this.cleanup.push(this.theme.subscribe(ThemeEvent.CHANGE, () => {\n this.forceUpdate();\n }));\n this.cleanup.push(AccessibilityInfo.addEventListener('screenReaderChanged',\n () => {\n setTimeout(() => {\n this.forceUpdate();\n }, 100);\n },\n ).remove);\n this.cleanup.push(() => {\n this.destroyParentListeners();\n });\n }\n\n public subscribe(event: string, fn: Function) {\n return this.notifier.subscribe(event, fn);\n }\n\n public notify(event: string, args: any[], emitToParent = false) {\n return this.notifier.notify(event, args, emitToParent);\n }\n\n public get isRTL(){\n return this.i18nService.isRTLLocale();\n }\n\n public animate(props: AnimatableProps<ViewStyle>) {\n this.setState({\n animationId: Date.now(),\n animatableProps: props\n });\n }\n\n setProp(propName: string, value: any) {\n this.propertyProvider.set(propName, value);\n this.updateState({props: {}} as S);\n }\n\n setPropDefault(propName: string, value: any) {\n this.propertyProvider.setDefault(propName, value);\n }\n \n onPropertyChange(name: string, $new: any, $old: any) { \n }\n \n getDefaultStyles() {\n return this.theme.getStyle(this.defaultClass);\n }\n\n reset() {\n\n }\n\n updateState(newPartialState: S, callback?: ()=>void) {\n if (this.destroyed) {\n return;\n }\n const stateFn = (oldState: S) => {\n const oldProps = oldState.props;\n const newState = this.initialized ? assignIn({}, oldState, newPartialState) : assignIn(oldState, newPartialState);\n if (newPartialState.props) {\n Object.keys(newPartialState.props).forEach((k) => {\n //@ts-ignore\n oldProps[k] = newState.props[k];\n });\n newState.props = oldProps;\n }\n return newState;\n };\n const onUpdateState = () => {\n callback && callback();\n this.props.listener?.onComponentChange\n && this.props.listener?.onComponentChange(this);\n }\n if (!this.initialized) {\n this.state = stateFn(this.state);\n onUpdateState();\n } else {\n const timeoutId = setTimeout(() => {\n this.setState(stateFn, onUpdateState);\n this.updateStateTimeouts.splice(this.updateStateTimeouts.indexOf(timeoutId), 1);\n });\n this.updateStateTimeouts.push(timeoutId);\n }\n }\n\n shouldComponentUpdate(nextProps: T, nextState: S, nextContext: any) {\n if (this.propertyProvider.check(nextProps)) {\n return true;\n }\n for(let key in nextState) {\n if(key !== 'props' && (!(key in this.state) || nextState[key] !== this.state[key])) {\n return true;\n }\n }\n\n for(let key in this.state) {\n if(key !== 'props' && (!(key in nextState) || this.state[key] !== nextState[key])) {\n return true;\n }\n }\n return false;\n }\n\n componentDidMount() {\n if (this.props.listener && this.props.listener.onComponentInit) {\n this.props.listener.onComponentInit(this.proxy);\n }\n this.initialized = true;\n }\n\n componentWillAttach() {\n if (this.isFixed || this.isSticky) {\n this.setState({hide: false});\n }\n }\n\n componentWillDetach() {\n if (this.isFixed || this.isSticky) {\n this.setState({hide: true});\n }\n }\n\n componentWillUnmount() {\n this.destroyed = true;\n if (this.props.listener && this.props.listener.onComponentDestroy) {\n this.props.listener.onComponentDestroy(this.proxy);\n }\n this.cleanup.forEach(f => f && f());\n this.parent?.componentNode?.remove(this.componentNode);\n this.notifier.destroy();\n this.notifier.notify('destroy', []);\n }\n \n componentDidUpdate(prevProps: Readonly<T>, prevState: Readonly<S>, snapshot?: any): void {\n if (this.propertyProvider.check(this.props)) {\n this.forceUpdate();\n }\n }\n\n invokeEventCallback(eventName: string, args: any[]) {\n //@ts-ignore\n const callBack: Function = this.props[eventName];\n args = args && args.map(a => (a === this) ? this.proxy : a)\n if (callBack) {\n try {\n return callBack.apply(this.proxy, args);\n } catch(e) {\n console.error(e);\n }\n }\n }\n\n showView() {\n return this.isVisible();\n }\n\n isVisible() {\n const show = this.state.props.show;\n return show !== false && show !== 'false' && show !== '0' && !isNil(show) && show !== \"\";\n }\n\n protected abstract renderWidget(props: T): ReactNode;\n\n public refresh() {\n this.forceUpdate();\n }\n\n public cleanRefresh() {\n this.forceUpdate(() => this.notifier.notify('forceUpdate', []));\n }\n \n public renderSkeleton (props: T): ReactNode {\n return null;\n }\n\n public destroyParentListeners() {\n this.parentListenerDestroyers.map(fn => fn());\n }\n\n protected setParent(parent: BaseComponent<any, any, any>) {\n if (parent && this.parent !== parent) {\n this.parent = parent;\n this.parent.componentNode.add(this.componentNode);\n this.notifier.setParent(parent.notifier);\n this.parentListenerDestroyers = [\n this.parent.subscribe('forceUpdate', () => {\n this.forceUpdate();\n }),\n this.parent.subscribe('destroy', () => {\n this.destroyParentListeners();\n })\n ];\n }\n }\n\n protected getName() {\n return this.props.name;\n }\n\n public handleLayout(event: LayoutChangeEvent, ref: React.RefObject<View> | null = null) {\n const key = this.getName && this.getName();\n if(key){\n const newLayoutPosition = {\n [key as string]: {\n y: event.nativeEvent.layout.y,\n x: event.nativeEvent.layout.x\n }\n }\n setPosition(newLayoutPosition);\n const componentRef = ref !== null ? ref : this.baseView \n // Layout values by measure\n if(componentRef?.measure){\n const updateLayout = ()=>{\n componentRef.measure((x = 0, y = 0, width = 0, height = 0, px = 0, py = 0) => {\n this.layout = { x, y, width, height, px, py }\n }); \n }\n updateLayout();\n InteractionManager.runAfterInteractions(() => {\n requestAnimationFrame(updateLayout); \n })\n }\n }\n }\n \n copyStyles(property: string, from: any, to: any) {\n if (!isUndefined(from[property])) {\n to[property] = from[property];\n }\n }\n\n renderFixedContainer(props: T) {\n const style = {} as ViewStyle;\n const rootStyle = {\n left: 0,\n top: 0,\n bottom: 0,\n right: 0,\n width: \"100%\",\n height: \"100%\"\n } as ViewStyle;\n this.copyStyles('left', this.styles.root, style);\n this.copyStyles('top', this.styles.root, style);\n this.copyStyles('right', this.styles.root, style);\n this.copyStyles('bottom', this.styles.root, style);\n this.copyStyles('width', this.styles.root, style);\n this.copyStyles('height', this.styles.root, style);\n this.styles = this.theme.mergeStyle(this.styles, {root: rootStyle});\n return (<FixedView style={style} theme={this.theme}>{this.addAnimation(this.renderWidget(props))}</FixedView>);\n }\n\n private addAnimation(n: ReactNode) {\n if (!this.state.animatableProps) {\n return (\n <>\n {n}\n </>\n )\n }\n return (\n <Animatable.View \n key={this.state.animationId} \n {...this.state.animatableProps}\n >\n {n}\n </Animatable.View>);\n }\n \n private setBackground() {\n const bgStyle = this.styles.root as any;\n this._background = (\n <>\n <BackgroundComponent \n image={bgStyle.backgroundImage}\n position={bgStyle.backgroundPosition}\n size={bgStyle.backgroundSize}\n repeat={bgStyle.backgroundRepeat}\n resizeMode={bgStyle.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}>\n </BackgroundComponent>\n {this.state.highlight ? (<View onTouchStart={() => {\n this.setState({\n highlight: false\n })\n }} style={[{\n borderWidth: 2,\n overflow: 'hidden',\n backgroundColor: '#FFFF0033', \n borderColor: 'orange',\n borderStyle: 'dashed',\n zIndex: 1000,\n borderRadius: 0,\n }, StyleSheet.absoluteFill]}></View>) : null}\n </>\n );\n delete (this.styles.root as any)['backgroundImage'];\n delete (this.styles.root as any)['backgroundPosition'];\n delete (this.styles.root as any)['backgroundResizeMode'];\n delete (this.styles.root as any)['backgroundSize'];\n delete (this.styles.root as any)['backgroundRepeat'];\n }\n\n public getTestId(suffix?: string) {\n let id = this.props.id || this.props.name;\n if (this.testIdPrefix) {\n id = this.testIdPrefix + '_' + id;\n }\n if (suffix) {\n id = id + '_' + suffix;\n }\n return id;\n }\n\n public getTestProps(suffix?: string) {\n let id = this.getTestId(suffix);\n if (isScreenReaderEnabled()) {\n return {};\n }\n if (Platform.OS === 'android' || Platform.OS === 'web') {\n return {\n accessibilityLabel: id,\n testID: id\n };\n }\n return {\n accessible: false,\n testID: id\n };\n }\n\n public getStyleClassName() {\n return this.state.props.classname;\n }\n\n public getTestPropsForInput(suffix?: string) {\n return this.getTestProps(suffix || 'i');\n }\n\n public getTestPropsForAction(suffix?: string) {\n return this.getTestProps(suffix || 'a');\n }\n\n public getTestPropsForLabel(suffix?: string) {\n return this.getTestProps(suffix || 'l');\n }\n\n public getLayoutOfWidget(name: string): {x: number, y: number} | undefined {\n return getPosition(name)\n }\n\n public getLayout() {\n return this.layout ;\n }\n\n public scrollToTop(){\n this.notify('scrollToPosition', [{\n x: 0,\n y: 0\n }]);\n }\n\n public scrollToEnd() {\n this.notify('scrollToEnd', []);\n }\n\n scrollToPosition(widgetName: string) {\n const positionY = this.getLayoutOfWidget(widgetName)?.y; // Safe access\n this.notify('scrollToPosition', [{\n x: 0,\n y: positionY,\n }]);\n }\n\n public hideSkeletonInPageContentWhenDisabledInPage = () => {\n const isPageContentWidget = this.defaultClass && this.defaultClass === 'app-page-content'\n const isCurrentParentIsContent = this.parent && this.parent.defaultClass && this.parent.defaultClass === 'app-content'\n const showSkeletonInPageContent = this.parent.state?.props?.showskeleton === false\n \n if(isPageContentWidget && isCurrentParentIsContent && showSkeletonInPageContent) {\n return false;\n }\n return undefined;\n }\n \n private getDependenciesFromContext(fn: () => ReactNode) {\n return (\n <TappableContext.Consumer>{(tappable) => {\n this.closestTappable = tappable;\n return (\n <TextIdPrefixConsumer>\n {(testIdPrefix) => {\n this.testIdPrefix = testIdPrefix || '';\n return (<AssetConsumer>\n {(loadAsset) => {\n this.loadAsset = loadAsset;\n return (<ParentContext.Consumer>\n {(parent) => {\n this.setParent(parent);\n this._showSkeleton = this.state.props.showskeleton !== false \n && (this.parent?._showSkeleton || this.state.props.showskeleton === true) && this.hideSkeletonInPageContentWhenDisabledInPage() === undefined\n return (\n <ParentContext.Provider value={this}>\n <ThemeConsumer>\n {(theme) => { \n this.theme = theme || BASE_THEME;\n return fn();\n }}\n </ThemeConsumer>\n </ParentContext.Provider>);\n }} \n </ParentContext.Consumer>);\n }}\n </AssetConsumer>);\n }}\n </TextIdPrefixConsumer>)}}\n </TappableContext.Consumer>); \n }\n \n public render(): ReactNode {\n const props = this.state.props;\n const selectedLocale = this.i18nService.getSelectedLocale();\n return this.getDependenciesFromContext(() => {\n WIDGET_LOGGER.info(() => `${this.props.name || this.constructor.name} is rendering.`);\n this._showView = this._showView || this.showView();\n if (this.state.hide \n || (!this.isVisible() && this.hideMode === HideMode.DONOT_ADD_TO_DOM)\n || !this._showView) {\n return null;\n }\n this.isFixed = false;\n const classname = this.getStyleClassName();\n this.styles = this.theme.mergeStyle(\n this.getDefaultStyles(),\n {text: this.theme.getStyle('app-' + selectedLocale)},\n {text: this.theme.getStyle(this.defaultClass + '-' + selectedLocale)},\n props.disabled ? this.theme.getStyle(this.defaultClass + '-disabled') : null,\n this.isRTL ? this.theme.getStyle(this.defaultClass + '-rtl') : null,\n classname && this.theme.getStyle(classname),\n props.showindevice && this.theme.getStyle('d-all-none ' + props.showindevice.map(d => `d-${d}-flex`).join(' ')),\n this.theme.cleanseStyleProperties(this.props.styles),\n this.theme.cleanseStyleProperties({\n root: this.styleOverrides,\n text: this.styleOverrides\n }));\n if (this.styles.root.hasOwnProperty('_background')) {\n delete this.styles.root.backgroundColor;\n }\n if (!this.isVisible()) {\n assign(this.styles, this.theme.getStyle('hidden'))\n }\n let eleToRender = (this._showSkeleton && this.renderSkeleton(props));\n if (eleToRender) {\n return eleToRender;\n }\n this.setBackground();\n this.isFixed = (this.styles.root.position as any) === 'fixed';\n if (this.isFixed) {\n this.styles.root.position = undefined;\n return this.renderFixedContainer(props);\n }\n return this.addAnimation(this.renderWidget(this.state.props)); \n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|