@wavemaker/app-rn-runtime 11.10.4-rc.6085 → 11.10.5-next.27901
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/components/advanced/login/login.component.js +1 -1
- package/components/advanced/login/login.component.js.map +1 -1
- package/components/advanced/login/login.props.js +1 -0
- package/components/advanced/login/login.props.js.map +1 -1
- package/components/advanced/webview/webview.component.js +3 -1
- package/components/advanced/webview/webview.component.js.map +1 -1
- package/components/container/tabs/tabheader/tabheader.component.js +4 -4
- package/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
- package/components/data/list/list.component.js +27 -1
- package/components/data/list/list.component.js.map +1 -1
- package/components/data/list/list.styles.js +1 -0
- package/components/data/list/list.styles.js.map +1 -1
- package/components/device/camera/camera.component.js +3 -1
- package/components/device/camera/camera.component.js.map +1 -1
- package/components/device/camera/camera.props.js +1 -0
- package/components/device/camera/camera.props.js.map +1 -1
- package/components/input/baseinput/baseinput.component.js +3 -1
- package/components/input/baseinput/baseinput.component.js.map +1 -1
- package/components/input/basenumber/basenumber.component.js +3 -1
- package/components/input/basenumber/basenumber.component.js.map +1 -1
- package/components/input/epoch/base-datetime.component.js +5 -1
- package/components/input/epoch/base-datetime.component.js.map +1 -1
- package/components/page/page-content/page-content.component.js +37 -7
- package/components/page/page-content/page-content.component.js.map +1 -1
- package/components/page/page-content/page-content.props.js +3 -0
- package/components/page/page-content/page-content.props.js.map +1 -1
- package/core/formatters.js +4 -2
- package/core/formatters.js.map +1 -1
- package/gestures/swipe.animation.js +9 -9
- package/gestures/swipe.animation.js.map +1 -1
- package/npm-shrinkwrap.json +87 -87
- package/package-lock.json +87 -87
- package/package.json +2 -2
@@ -30,7 +30,7 @@ export default class WmLogin extends BaseComponent {
|
|
30
30
|
return /*#__PURE__*/React.createElement(View, {
|
31
31
|
style: this.styles.root,
|
32
32
|
onLayout: event => this.handleLayout(event)
|
33
|
-
}, this._background, this.state.errorMsg && /*#__PURE__*/React.createElement(Text, _extends({}, this.getTestPropsForLabel('error'), {
|
33
|
+
}, this._background, this.state.errorMsg && props.showerror && /*#__PURE__*/React.createElement(Text, _extends({}, this.getTestPropsForLabel('error'), {
|
34
34
|
style: this.styles.errorMsgStyles
|
35
35
|
}), this.state.errorMsg), /*#__PURE__*/React.createElement(View, {
|
36
36
|
style: this.styles.formStyles
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","WmLoginProps","DEFAULT_CLASS","WmLoginState","constructor","args","_defineProperty","WmLogin","props","onLoginSuccess","response","onLoginError","error","updateState","errorMsg","message","doLogin","formData","onLogin","bind","renderWidget","createElement","style","styles","root","onLayout","event","handleLayout","_background","state","_extends","getTestPropsForLabel","errorMsgStyles","formStyles","children"],"sources":["login.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmLoginProps from './login.props';\nimport { DEFAULT_CLASS, WmLoginStyles } from './login.styles';\nimport { AxiosError, AxiosResponse } from 'axios';\n\nexport class WmLoginState extends BaseComponentState<WmLoginProps> {\n errorMsg = '';\n}\n\nexport default class WmLogin extends BaseComponent<WmLoginProps, WmLoginState, WmLoginStyles> {\n constructor(props: WmLoginProps) {\n super(props, DEFAULT_CLASS, new WmLoginProps());\n }\n\n onLoginSuccess(response: AxiosResponse) {\n }\n\n onLoginError(error: AxiosError) {\n this.updateState({errorMsg: error?.message} as WmLoginState);\n }\n\n doLogin(formData: any) {\n this.props.onLogin(formData, this.onLoginSuccess.bind(this), this.onLoginError.bind(this));\n }\n\n renderWidget(props: WmLoginProps) {\n return (\n <View \n style={this.styles.root}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n {this.state.errorMsg && <Text {...this.getTestPropsForLabel('error')} style={this.styles.errorMsgStyles}>{this.state.errorMsg}</Text>}\n <View style={this.styles.formStyles}>{props.children}</View>\n </View>); \n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,YAAY,MAAM,eAAe;AACxC,SAASC,aAAa,QAAuB,gBAAgB;AAG7D,OAAO,MAAMC,YAAY,SAASH,kBAAkB,CAAe;EAAAI,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,mBACtD,EAAE;EAAA;AACf;AAEA,eAAe,MAAMC,OAAO,SAASR,aAAa,CAA4C;EAC5FK,WAAWA,CAACI,KAAmB,EAAE;IAC/B,KAAK,CAACA,KAAK,EAAEN,aAAa,EAAE,IAAID,YAAY,CAAC,CAAC,CAAC;EACjD;EAEAQ,cAAcA,CAACC,QAAuB,EAAE,CACxC;EAEAC,YAAYA,CAACC,KAAiB,EAAE;IAC9B,IAAI,CAACC,WAAW,CAAC;MAACC,QAAQ,EAAEF,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEG;IAAO,CAAiB,CAAC;EAC9D;EAEAC,OAAOA,CAACC,QAAa,EAAE;IACrB,IAAI,CAACT,KAAK,CAACU,OAAO,CAACD,QAAQ,EAAE,IAAI,CAACR,cAAc,CAACU,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAACR,YAAY,CAACQ,IAAI,CAAC,IAAI,CAAC,CAAC;EAC5F;EAEAC,YAAYA,CAACZ,KAAmB,EAAE;IAChC,oBACAZ,KAAA,CAAAyB,aAAA,CAACvB,IAAI;MACHwB,KAAK,EAAE,IAAI,CAACC,MAAM,CAACC,IAAK;MACxBC,QAAQ,EAAGC,KAAK,IAAK,IAAI,CAACC,YAAY,CAACD,KAAK;IAAE,GAE7C,IAAI,CAACE,WAAW,
|
1
|
+
{"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","WmLoginProps","DEFAULT_CLASS","WmLoginState","constructor","args","_defineProperty","WmLogin","props","onLoginSuccess","response","onLoginError","error","updateState","errorMsg","message","doLogin","formData","onLogin","bind","renderWidget","createElement","style","styles","root","onLayout","event","handleLayout","_background","state","showerror","_extends","getTestPropsForLabel","errorMsgStyles","formStyles","children"],"sources":["login.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmLoginProps from './login.props';\nimport { DEFAULT_CLASS, WmLoginStyles } from './login.styles';\nimport { AxiosError, AxiosResponse } from 'axios';\n\nexport class WmLoginState extends BaseComponentState<WmLoginProps> {\n errorMsg = '';\n}\n\nexport default class WmLogin extends BaseComponent<WmLoginProps, WmLoginState, WmLoginStyles> {\n constructor(props: WmLoginProps) {\n super(props, DEFAULT_CLASS, new WmLoginProps());\n }\n\n onLoginSuccess(response: AxiosResponse) {\n }\n\n onLoginError(error: AxiosError) {\n this.updateState({errorMsg: error?.message} as WmLoginState);\n }\n\n doLogin(formData: any) {\n this.props.onLogin(formData, this.onLoginSuccess.bind(this), this.onLoginError.bind(this));\n }\n\n renderWidget(props: WmLoginProps) {\n return (\n <View \n style={this.styles.root}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n {(this.state.errorMsg && props.showerror) && <Text {...this.getTestPropsForLabel('error')} style={this.styles.errorMsgStyles}>{this.state.errorMsg}</Text>}\n <View style={this.styles.formStyles}>{props.children}</View>\n </View>); \n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,YAAY,MAAM,eAAe;AACxC,SAASC,aAAa,QAAuB,gBAAgB;AAG7D,OAAO,MAAMC,YAAY,SAASH,kBAAkB,CAAe;EAAAI,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,mBACtD,EAAE;EAAA;AACf;AAEA,eAAe,MAAMC,OAAO,SAASR,aAAa,CAA4C;EAC5FK,WAAWA,CAACI,KAAmB,EAAE;IAC/B,KAAK,CAACA,KAAK,EAAEN,aAAa,EAAE,IAAID,YAAY,CAAC,CAAC,CAAC;EACjD;EAEAQ,cAAcA,CAACC,QAAuB,EAAE,CACxC;EAEAC,YAAYA,CAACC,KAAiB,EAAE;IAC9B,IAAI,CAACC,WAAW,CAAC;MAACC,QAAQ,EAAEF,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEG;IAAO,CAAiB,CAAC;EAC9D;EAEAC,OAAOA,CAACC,QAAa,EAAE;IACrB,IAAI,CAACT,KAAK,CAACU,OAAO,CAACD,QAAQ,EAAE,IAAI,CAACR,cAAc,CAACU,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAACR,YAAY,CAACQ,IAAI,CAAC,IAAI,CAAC,CAAC;EAC5F;EAEAC,YAAYA,CAACZ,KAAmB,EAAE;IAChC,oBACAZ,KAAA,CAAAyB,aAAA,CAACvB,IAAI;MACHwB,KAAK,EAAE,IAAI,CAACC,MAAM,CAACC,IAAK;MACxBC,QAAQ,EAAGC,KAAK,IAAK,IAAI,CAACC,YAAY,CAACD,KAAK;IAAE,GAE7C,IAAI,CAACE,WAAW,EACf,IAAI,CAACC,KAAK,CAACf,QAAQ,IAAIN,KAAK,CAACsB,SAAS,iBAAKlC,KAAA,CAAAyB,aAAA,CAACxB,IAAI,EAAAkC,QAAA,KAAK,IAAI,CAACC,oBAAoB,CAAC,OAAO,CAAC;MAAEV,KAAK,EAAE,IAAI,CAACC,MAAM,CAACU;IAAe,IAAE,IAAI,CAACJ,KAAK,CAACf,QAAe,CAAC,eAC1JlB,KAAA,CAAAyB,aAAA,CAACvB,IAAI;MAACwB,KAAK,EAAE,IAAI,CAACC,MAAM,CAACW;IAAW,GAAE1B,KAAK,CAAC2B,QAAe,CACvD,CAAC;EACT;AACF","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["BaseProps","WmLoginProps","constructor","args","_defineProperty"],"sources":["login.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmLoginProps extends BaseProps {\n children: any;\n onLogin: Function = () => {};\n}"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,YAAY,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA,kBAE5B,MAAM,CAAC,CAAC;EAAA;
|
1
|
+
{"version":3,"names":["BaseProps","WmLoginProps","constructor","args","_defineProperty"],"sources":["login.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmLoginProps extends BaseProps {\n children: any;\n onLogin: Function = () => {};\n showerror: boolean = true;\n}"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,YAAY,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA,kBAE5B,MAAM,CAAC,CAAC;IAAAA,eAAA,oBACP,IAAI;EAAA;AAC7B","ignoreList":[]}
|
@@ -134,7 +134,9 @@ export default class WmWebview extends BaseComponent {
|
|
134
134
|
}) : /*#__PURE__*/React.createElement(WebView, _extends({
|
135
135
|
ref: ref => this.webview = ref,
|
136
136
|
nestedScrollEnabled: true,
|
137
|
-
|
137
|
+
containerStyle: this.styles.webview
|
138
|
+
// style={this.styles.webview} // when using style, there are some inconsistencies observed in Android. containerStyle gives us a uniformity in IOS and Android.
|
139
|
+
,
|
138
140
|
source: {
|
139
141
|
uri: props.src
|
140
142
|
},
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","BackHandler","Platform","View","WebView","HideMode","BaseComponent","BaseComponentState","WmWebviewProps","DEFAULT_CLASS","AccessibilityWidgetType","getAccessibilityProps","isAndroid","isWebPreviewMode","WmWebViewState","constructor","args","_defineProperty","title","src","WmWebview","props","webview","webViewState","canGoBack","goBack","event","_event$nativeEvent","data","nativeEvent","startsWith","id","match","callback","invokeJSCallbacks","result","substring","indexOf","parseResult","invokeEventCallback","hideMode","DONOT_ADD_TO_DOM","addEventListener","handleBackButtonPress","componentWillUnmount","removeEventListener","_this$state$currentTa","state","currentTarget","currentsrc","_this$state$currentTa2","executeScript","fn","Promise","resolve","reject","Date","now","injectJavaScript","insertCSS","style","replace","JSON","parse","e","getTitle","iframe","contentWindow","document","onLoad","updateState","renderWidget","createElement","styles","root","onLayout","handleLayout","_background","OS","width","height","_extends","ref","nestedScrollEnabled","source","uri","testID","getTestId","WEBVIEW","incognito","onMessage","sharedCookiesEnabled","onNavigationStateChange","scrollEnabled","onLoadEnd","url","allowsFullscreenVideo","allowsInlineMediaPlayback"],"sources":["webview.component.tsx"],"sourcesContent":["import React from 'react';\nimport { BackHandler, Platform, View } from 'react-native';\nimport { WebView, WebViewNavigation, WebViewMessageEvent } from 'react-native-webview';\nimport { HideMode } from '@wavemaker/app-rn-runtime/core/if.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmWebviewProps from './webview.props';\nimport { DEFAULT_CLASS, WebviewStyles } from './webview.styles';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport { isAndroid, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\n\nclass WmWebViewState extends BaseComponentState<WmWebviewProps> {\n currentTarget = {\n title: '',\n src: ''\n };\n\n}\n\nexport default class WmWebview extends BaseComponent<WmWebviewProps, WmWebViewState, WebviewStyles> {\n\n private webview: WebView | null = null as any;\n private webViewState: WebViewNavigation = null as any;\n private invokeJSCallbacks = {} as any;\n\n constructor(props: WmWebviewProps) {\n super(props, DEFAULT_CLASS, new WmWebviewProps());\n this.hideMode = HideMode.DONOT_ADD_TO_DOM;\n if (isAndroid() && !isWebPreviewMode()) {\n BackHandler.addEventListener('hardwareBackPress', this.handleBackButtonPress);\n }\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n if (isAndroid() && !isWebPreviewMode()) {\n BackHandler.removeEventListener('hardwareBackPress', this.handleBackButtonPress);\n }\n }\n\n handleBackButtonPress = (): boolean => {\n if (this.webview && this.webViewState && this.webViewState.canGoBack) {\n this.webview.goBack();\n return true;\n }\n return false;\n }\n\n get title() {\n return this.state.currentTarget?.title;\n }\n\n get currentsrc() {\n return this.state.currentTarget?.src;\n }\n\n executeScript(fn: string) {\n return new Promise((resolve, reject) => {\n if (this.webview) {\n const id = '' + Date.now();\n this.invokeJSCallbacks[id] = resolve;\n fn = `\n (function(){\n try{\n return (${fn});\n } catch(e) {\n return e.getMessage();\n }\n }())\n `;\n this.webview.injectJavaScript(\n `window.ReactNativeWebView.postMessage('afterInjectJavaScript:' + ${id} + ':' + JSON.stringify(${fn}))`\n );\n } else {\n reject();\n }\n });\n }\n\n insertCSS(style = '') {\n style = style.replace(/[\\n\\t\\r]/g, '');\n return this.executeScript(`\n function() {\n const style = document.createElement('style');\n style.innerHTML = '${style}';\n document.head.appendChild(style);\n return 'SUCCESS';\n }()\n `);\n }\n\n parseResult(result: string) {\n try {\n return JSON.parse(result);\n } catch(e) {\n if (result === 'undefined' || result === 'null') {\n return null;\n }\n return result;\n }\n }\n\n onMessage = (event: WebViewMessageEvent) => {\n const data: string = event.nativeEvent?.data;\n if (data && data.startsWith('afterInjectJavaScript')) {\n const id = data?.match(/\\:([0-9]+)\\:/);\n const callback = id && this.invokeJSCallbacks[id[1]];\n const result = data.substring(data.indexOf(':', data.indexOf(':') + 1) + 1);\n callback && callback(this.parseResult(result));\n } else {\n this.invokeEventCallback('onMessage', [event, this]);\n }\n }\n\n getTitle(iframe: any) {\n try {\n return iframe.currentTarget.contentWindow.document.title;\n } catch(e) {\n // browser blocks cross origin access to iframe content.\n }\n }\n\n public onLoad(e: any, title: string, src: string) {\n this.updateState({\n currentTarget: {\n title: title,\n src: src\n }\n } as WmWebViewState, () => {\n this.invokeEventCallback('onLoad', [e, this]);\n });\n }\n\n protected renderWidget(props: WmWebviewProps) {\n return (\n <View \n style={this.styles.root}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n {Platform.OS === 'web' ?\n (<iframe src={props.src} width={'100%'} height={'100%'}\n onLoad={(e) => this.onLoad(e, this.getTitle(e.currentTarget), (e.currentTarget as any).src)}></iframe>) :\n (<WebView\n ref={(ref) => this.webview = ref}\n nestedScrollEnabled={true}\n style={this.styles.webview}\n source={{\n uri: props.src\n }}\n testID={this.getTestId('web_view')}\n {...getAccessibilityProps(AccessibilityWidgetType.WEBVIEW, props)}\n incognito={props.incognito}\n onMessage={this.onMessage}\n sharedCookiesEnabled={true}\n onNavigationStateChange={(state) => {\n this.webViewState = state;\n }}\n scrollEnabled={true}\n onLoadEnd={(e) => this.onLoad(e, e.nativeEvent.title, e.nativeEvent.url)}\n allowsFullscreenVideo={true}\n allowsInlineMediaPlayback={true}\n >\n </WebView>)}\n </View>\n );\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,WAAW,EAAEC,QAAQ,EAAEC,IAAI,QAAQ,cAAc;AAC1D,SAASC,OAAO,QAAgD,sBAAsB;AACtF,SAASC,QAAQ,QAAQ,6CAA6C;AACtE,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,cAAc,MAAM,iBAAiB;AAC5C,SAASC,aAAa,QAAuB,kBAAkB;AAC/D,SAASC,uBAAuB,EAAEC,qBAAqB,QAAQ,8CAA8C;AAC7G,SAASC,SAAS,EAAEC,gBAAgB,QAAQ,sCAAsC;AAElF,MAAMC,cAAc,SAASP,kBAAkB,CAAiB;EAAAQ,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,wBAC9C;MACdC,KAAK,EAAE,EAAE;MACTC,GAAG,EAAE;IACP,CAAC;EAAA;AAEH;AAEA,eAAe,MAAMC,SAAS,SAASd,aAAa,CAAgD;EAMlGS,WAAWA,CAACM,KAAqB,EAAE;IACjC,KAAK,CAACA,KAAK,EAAEZ,aAAa,EAAE,IAAID,cAAc,CAAC,CAAC,CAAC;IAACS,eAAA,kBALlB,IAAI;IAAAA,eAAA,uBACI,IAAI;IAAAA,eAAA,4BAClB,CAAC,CAAC;IAAAA,eAAA,gCAiBN,MAAe;MACrC,IAAI,IAAI,CAACK,OAAO,IAAI,IAAI,CAACC,YAAY,IAAI,IAAI,CAACA,YAAY,CAACC,SAAS,EAAE;QACpE,IAAI,CAACF,OAAO,CAACG,MAAM,CAAC,CAAC;QACrB,OAAO,IAAI;MACb;MACA,OAAO,KAAK;IACd,CAAC;IAAAR,eAAA,oBAwDYS,KAA0B,IAAK;MAAA,IAAAC,kBAAA;MAC1C,MAAMC,IAAY,IAAAD,kBAAA,GAAGD,KAAK,CAACG,WAAW,cAAAF,kBAAA,uBAAjBA,kBAAA,CAAmBC,IAAI;MAC5C,IAAIA,IAAI,IAAIA,IAAI,CAACE,UAAU,CAAC,uBAAuB,CAAC,EAAE;QACpD,MAAMC,EAAE,GAAGH,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEI,KAAK,CAAC,cAAc,CAAC;QACtC,MAAMC,QAAQ,GAAGF,EAAE,IAAI,IAAI,CAACG,iBAAiB,CAACH,EAAE,CAAC,CAAC,CAAC,CAAC;QACpD,MAAMI,MAAM,GAAGP,IAAI,CAACQ,SAAS,CAACR,IAAI,CAACS,OAAO,CAAC,GAAG,EAAET,IAAI,CAACS,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3EJ,QAAQ,IAAIA,QAAQ,CAAC,IAAI,CAACK,WAAW,CAACH,MAAM,CAAC,CAAC;MAChD,CAAC,MAAM;QACL,IAAI,CAACI,mBAAmB,CAAC,WAAW,EAAE,CAACb,KAAK,EAAE,IAAI,CAAC,CAAC;MACtD;IACF,CAAC;IArFC,IAAI,CAACc,QAAQ,GAAGnC,QAAQ,CAACoC,gBAAgB;IACzC,IAAI7B,SAAS,CAAC,CAAC,IAAI,CAACC,gBAAgB,CAAC,CAAC,EAAE;MACtCZ,WAAW,CAACyC,gBAAgB,CAAC,mBAAmB,EAAE,IAAI,CAACC,qBAAqB,CAAC;IAC/E;EACF;EAEAC,oBAAoBA,CAAA,EAAG;IACrB,KAAK,CAACA,oBAAoB,CAAC,CAAC;IAC5B,IAAIhC,SAAS,CAAC,CAAC,IAAI,CAACC,gBAAgB,CAAC,CAAC,EAAE;MACtCZ,WAAW,CAAC4C,mBAAmB,CAAC,mBAAmB,EAAE,IAAI,CAACF,qBAAqB,CAAC;IAClF;EACF;EAUA,IAAIzB,KAAKA,CAAA,EAAG;IAAA,IAAA4B,qBAAA;IACV,QAAAA,qBAAA,GAAO,IAAI,CAACC,KAAK,CAACC,aAAa,cAAAF,qBAAA,uBAAxBA,qBAAA,CAA0B5B,KAAK;EACxC;EAEA,IAAI+B,UAAUA,CAAA,EAAG;IAAA,IAAAC,sBAAA;IACf,QAAAA,sBAAA,GAAO,IAAI,CAACH,KAAK,CAACC,aAAa,cAAAE,sBAAA,uBAAxBA,sBAAA,CAA0B/B,GAAG;EACtC;EAEAgC,aAAaA,CAACC,EAAU,EAAE;IACxB,OAAO,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;MACtC,IAAI,IAAI,CAACjC,OAAO,EAAE;QAChB,MAAMS,EAAE,GAAG,EAAE,GAAGyB,IAAI,CAACC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAACvB,iBAAiB,CAACH,EAAE,CAAC,GAAGuB,OAAO;QACpCF,EAAE,GAAG;AACb;AACA;AACA,sBAAsBA,EAAE;AACxB;AACA;AACA;AACA;AACA,SAAS;QACD,IAAI,CAAC9B,OAAO,CAACoC,gBAAgB,CAC3B,oEAAoE3B,EAAE,2BAA2BqB,EAAE,IACrG,CAAC;MACH,CAAC,MAAM;QACLG,MAAM,CAAC,CAAC;MACV;IACF,CAAC,CAAC;EACJ;EAEAI,SAASA,CAACC,KAAK,GAAG,EAAE,EAAE;IACpBA,KAAK,GAAGA,KAAK,CAACC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;IACtC,OAAO,IAAI,CAACV,aAAa,CAAC;AAC9B;AACA;AACA,2BAA2BS,KAAK;AAChC;AACA;AACA;AACA,KAAK,CAAC;EACJ;EAEAtB,WAAWA,CAACH,MAAc,EAAE;IAC1B,IAAI;MACF,OAAO2B,IAAI,CAACC,KAAK,CAAC5B,MAAM,CAAC;IAC3B,CAAC,CAAC,OAAM6B,CAAC,EAAE;MACT,IAAI7B,MAAM,KAAK,WAAW,IAAIA,MAAM,KAAK,MAAM,EAAE;QAC/C,OAAO,IAAI;MACb;MACA,OAAOA,MAAM;IACf;EACF;EAcA8B,QAAQA,CAACC,MAAW,EAAE;IACpB,IAAI;MACF,OAAOA,MAAM,CAAClB,aAAa,CAACmB,aAAa,CAACC,QAAQ,CAAClD,KAAK;IAC1D,CAAC,CAAC,OAAM8C,CAAC,EAAE;MACT;IAAA;EAEJ;EAEOK,MAAMA,CAACL,CAAM,EAAE9C,KAAa,EAAEC,GAAW,EAAE;IAChD,IAAI,CAACmD,WAAW,CAAC;MACftB,aAAa,EAAE;QACb9B,KAAK,EAAEA,KAAK;QACZC,GAAG,EAAEA;MACP;IACF,CAAC,EAAoB,MAAM;MACzB,IAAI,CAACoB,mBAAmB,CAAC,QAAQ,EAAE,CAACyB,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC;EACJ;EAEUO,YAAYA,CAAClD,KAAqB,EAAE;IAC5C,oBACErB,KAAA,CAAAwE,aAAA,CAACrE,IAAI;MACHyD,KAAK,EAAE,IAAI,CAACa,MAAM,CAACC,IAAK;MACxBC,QAAQ,EAAGjD,KAAK,IAAK,IAAI,CAACkD,YAAY,CAAClD,KAAK;IAAE,GAE7C,IAAI,CAACmD,WAAW,EAChB3E,QAAQ,CAAC4E,EAAE,KAAK,KAAK,gBACnB9E,KAAA,CAAAwE,aAAA;MAAQrD,GAAG,EAAEE,KAAK,CAACF,GAAI;MAAC4D,KAAK,EAAE,MAAO;MAACC,MAAM,EAAE,MAAO;MACrDX,MAAM,EAAGL,CAAC,IAAK,IAAI,CAACK,MAAM,CAACL,CAAC,EAAE,IAAI,CAACC,QAAQ,CAACD,CAAC,CAAChB,aAAa,CAAC,EAAGgB,CAAC,CAAChB,aAAa,CAAS7B,GAAG;IAAE,CAAS,CAAC,gBACvGnB,KAAA,CAAAwE,aAAA,CAACpE,OAAO,EAAA6E,QAAA;MACPC,GAAG,EAAGA,GAAG,IAAK,IAAI,CAAC5D,OAAO,GAAG4D,GAAI;MACjCC,mBAAmB,EAAE,IAAK;MAC1BvB,KAAK,EAAE,IAAI,CAACa,MAAM,CAACnD,OAAQ;MAC3B8D,MAAM,EAAE;QACNC,GAAG,EAAEhE,KAAK,CAACF;MACb,CAAE;MACFmE,MAAM,EAAE,IAAI,CAACC,SAAS,CAAC,UAAU;IAAE,GAC/B5E,qBAAqB,CAACD,uBAAuB,CAAC8E,OAAO,EAAEnE,KAAK,CAAC;MACjEoE,SAAS,EAAEpE,KAAK,CAACoE,SAAU;MAC3BC,SAAS,EAAE,IAAI,CAACA,SAAU;MAC1BC,oBAAoB,EAAE,IAAK;MAC3BC,uBAAuB,EAAG7C,KAAK,IAAK;QAClC,IAAI,CAACxB,YAAY,GAAGwB,KAAK;MAC3B,CAAE;MACF8C,aAAa,EAAE,IAAK;MACpBC,SAAS,EAAG9B,CAAC,IAAK,IAAI,CAACK,MAAM,CAACL,CAAC,EAAEA,CAAC,CAACnC,WAAW,CAACX,KAAK,EAAE8C,CAAC,CAACnC,WAAW,CAACkE,GAAG,CAAE;MACzEC,qBAAqB,EAAE,IAAK;MAC5BC,yBAAyB,EAAE;IAAK,EAEzB,CACP,CAAC;EAEX;AACF","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","BackHandler","Platform","View","WebView","HideMode","BaseComponent","BaseComponentState","WmWebviewProps","DEFAULT_CLASS","AccessibilityWidgetType","getAccessibilityProps","isAndroid","isWebPreviewMode","WmWebViewState","constructor","args","_defineProperty","title","src","WmWebview","props","webview","webViewState","canGoBack","goBack","event","_event$nativeEvent","data","nativeEvent","startsWith","id","match","callback","invokeJSCallbacks","result","substring","indexOf","parseResult","invokeEventCallback","hideMode","DONOT_ADD_TO_DOM","addEventListener","handleBackButtonPress","componentWillUnmount","removeEventListener","_this$state$currentTa","state","currentTarget","currentsrc","_this$state$currentTa2","executeScript","fn","Promise","resolve","reject","Date","now","injectJavaScript","insertCSS","style","replace","JSON","parse","e","getTitle","iframe","contentWindow","document","onLoad","updateState","renderWidget","createElement","styles","root","onLayout","handleLayout","_background","OS","width","height","_extends","ref","nestedScrollEnabled","containerStyle","source","uri","testID","getTestId","WEBVIEW","incognito","onMessage","sharedCookiesEnabled","onNavigationStateChange","scrollEnabled","onLoadEnd","url","allowsFullscreenVideo","allowsInlineMediaPlayback"],"sources":["webview.component.tsx"],"sourcesContent":["import React from 'react';\nimport { BackHandler, Platform, View } from 'react-native';\nimport { WebView, WebViewNavigation, WebViewMessageEvent } from 'react-native-webview';\nimport { HideMode } from '@wavemaker/app-rn-runtime/core/if.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmWebviewProps from './webview.props';\nimport { DEFAULT_CLASS, WebviewStyles } from './webview.styles';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport { isAndroid, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\n\nclass WmWebViewState extends BaseComponentState<WmWebviewProps> {\n currentTarget = {\n title: '',\n src: ''\n };\n\n}\n\nexport default class WmWebview extends BaseComponent<WmWebviewProps, WmWebViewState, WebviewStyles> {\n\n private webview: WebView | null = null as any;\n private webViewState: WebViewNavigation = null as any;\n private invokeJSCallbacks = {} as any;\n\n constructor(props: WmWebviewProps) {\n super(props, DEFAULT_CLASS, new WmWebviewProps());\n this.hideMode = HideMode.DONOT_ADD_TO_DOM;\n if (isAndroid() && !isWebPreviewMode()) {\n BackHandler.addEventListener('hardwareBackPress', this.handleBackButtonPress);\n }\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n if (isAndroid() && !isWebPreviewMode()) {\n BackHandler.removeEventListener('hardwareBackPress', this.handleBackButtonPress);\n }\n }\n\n handleBackButtonPress = (): boolean => {\n if (this.webview && this.webViewState && this.webViewState.canGoBack) {\n this.webview.goBack();\n return true;\n }\n return false;\n }\n\n get title() {\n return this.state.currentTarget?.title;\n }\n\n get currentsrc() {\n return this.state.currentTarget?.src;\n }\n\n executeScript(fn: string) {\n return new Promise((resolve, reject) => {\n if (this.webview) {\n const id = '' + Date.now();\n this.invokeJSCallbacks[id] = resolve;\n fn = `\n (function(){\n try{\n return (${fn});\n } catch(e) {\n return e.getMessage();\n }\n }())\n `;\n this.webview.injectJavaScript(\n `window.ReactNativeWebView.postMessage('afterInjectJavaScript:' + ${id} + ':' + JSON.stringify(${fn}))`\n );\n } else {\n reject();\n }\n });\n }\n\n insertCSS(style = '') {\n style = style.replace(/[\\n\\t\\r]/g, '');\n return this.executeScript(`\n function() {\n const style = document.createElement('style');\n style.innerHTML = '${style}';\n document.head.appendChild(style);\n return 'SUCCESS';\n }()\n `);\n }\n\n parseResult(result: string) {\n try {\n return JSON.parse(result);\n } catch(e) {\n if (result === 'undefined' || result === 'null') {\n return null;\n }\n return result;\n }\n }\n\n onMessage = (event: WebViewMessageEvent) => {\n const data: string = event.nativeEvent?.data;\n if (data && data.startsWith('afterInjectJavaScript')) {\n const id = data?.match(/\\:([0-9]+)\\:/);\n const callback = id && this.invokeJSCallbacks[id[1]];\n const result = data.substring(data.indexOf(':', data.indexOf(':') + 1) + 1);\n callback && callback(this.parseResult(result));\n } else {\n this.invokeEventCallback('onMessage', [event, this]);\n }\n }\n\n getTitle(iframe: any) {\n try {\n return iframe.currentTarget.contentWindow.document.title;\n } catch(e) {\n // browser blocks cross origin access to iframe content.\n }\n }\n\n public onLoad(e: any, title: string, src: string) {\n this.updateState({\n currentTarget: {\n title: title,\n src: src\n }\n } as WmWebViewState, () => {\n this.invokeEventCallback('onLoad', [e, this]);\n });\n }\n\n protected renderWidget(props: WmWebviewProps) {\n return (\n <View \n style={this.styles.root}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n {Platform.OS === 'web' ?\n (<iframe src={props.src} width={'100%'} height={'100%'}\n onLoad={(e) => this.onLoad(e, this.getTitle(e.currentTarget), (e.currentTarget as any).src)}></iframe>) :\n (<WebView\n ref={(ref) => this.webview = ref}\n nestedScrollEnabled={true}\n containerStyle = {this.styles.webview}\n // style={this.styles.webview} // when using style, there are some inconsistencies observed in Android. containerStyle gives us a uniformity in IOS and Android.\n source={{\n uri: props.src\n }}\n testID={this.getTestId('web_view')}\n {...getAccessibilityProps(AccessibilityWidgetType.WEBVIEW, props)}\n incognito={props.incognito}\n onMessage={this.onMessage}\n sharedCookiesEnabled={true}\n onNavigationStateChange={(state) => {\n this.webViewState = state;\n }}\n scrollEnabled={true}\n onLoadEnd={(e) => this.onLoad(e, e.nativeEvent.title, e.nativeEvent.url)}\n allowsFullscreenVideo={true}\n allowsInlineMediaPlayback={true}\n >\n </WebView>)}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -43,18 +43,18 @@ export default class WmTabheader extends BaseComponent {
|
|
43
43
|
}
|
44
44
|
}
|
45
45
|
scrollPosition(selectedTabIndex, totalWidth, toIndicatorPosition) {
|
46
|
-
var _this$headerPanelLayo;
|
46
|
+
var _this$headersLayout$s, _this$headersLayout$s2, _this$headerPanelLayo;
|
47
47
|
const initialPosition = this.isRTL ? totalWidth : 0;
|
48
48
|
const baseWidth = this.isRTL ? totalWidth - toIndicatorPosition : toIndicatorPosition;
|
49
|
-
const elementWidth = this.isRTL ? -1 * (this.headersLayout[selectedTabIndex].width / 2) : this.headersLayout[selectedTabIndex].width / 2;
|
49
|
+
const elementWidth = this.isRTL ? -1 * (((_this$headersLayout$s = this.headersLayout[selectedTabIndex]) === null || _this$headersLayout$s === void 0 ? void 0 : _this$headersLayout$s.width) / 2) : ((_this$headersLayout$s2 = this.headersLayout[selectedTabIndex]) === null || _this$headersLayout$s2 === void 0 ? void 0 : _this$headersLayout$s2.width) / 2;
|
50
50
|
const positionX = selectedTabIndex === 0 ? initialPosition : baseWidth + elementWidth - (((_this$headerPanelLayo = this.headerPanelLayout) === null || _this$headerPanelLayo === void 0 ? void 0 : _this$headerPanelLayo.width) || 0) / 2;
|
51
51
|
return positionX;
|
52
52
|
}
|
53
53
|
setPosition() {
|
54
|
-
var _this$headersLayout$
|
54
|
+
var _this$headersLayout$s3, _this$headerPanelLayo2, _this$headerPanelLayo3, _this$listRef$current;
|
55
55
|
const selectedTabIndex = this.state.props.selectedTabIndex ? this.state.props.selectedTabIndex : 0;
|
56
56
|
let toIndicatorPosition = 0;
|
57
|
-
let toIndicatorWidth = ((_this$headersLayout$
|
57
|
+
let toIndicatorWidth = ((_this$headersLayout$s3 = this.headersLayout[selectedTabIndex]) === null || _this$headersLayout$s3 === void 0 ? void 0 : _this$headersLayout$s3.width) || 0;
|
58
58
|
let toHeaderScrollPosition = this.headerScrollPositionValue;
|
59
59
|
let totalWidth = 0;
|
60
60
|
if (this.state.props.data.length !== this.headersLayout.length) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","createRef","Animated","Easing","Text","View","ScrollView","BaseComponent","BaseComponentState","WmTabheaderProps","DEFAULT_CLASS","Tappable","createSkeleton","BackgroundComponent","WmIcon","WmTabheaderState","WmTabheader","constructor","props","_defineProperty","Value","headerScrollPosition","addListener","value","headerScrollPositionValue","setHeaderPanelPositon","nativeEvent","headerPanelLayout","layout","forceUpdate","setHeaderPositon","index","headersLayout","selectedTabIndex","onTabSelection","state","onIndexChange","scrollPosition","totalWidth","toIndicatorPosition","_this$headerPanelLayo","initialPosition","isRTL","baseWidth","elementWidth","width","positionX","setPosition","_this$headersLayout$s","_this$headerPanelLayo2","_this$headerPanelLayo3","_this$listRef$current","toIndicatorWidth","toHeaderScrollPosition","data","length","forEach","p","i","minScrollPosition","maxScrollPosition","Math","max","min","positionIndicator","position","listRef","current","scrollTo","x","y","parallel","timing","useNativeDriver","toValue","duration","easing","linear","indicatorWidth","reverseIndicatorWidth","indicatorPosition","start","renderSkeleton","createElement","style","transform","translateX","onLayout","bind","styles","root","map","header","_this$styles$root","_this$styles$root2","_this$styles$activeHe","isSelected","onTap","key","flex","disableTouchEffect","disabletoucheffect","activeHeader","theme","borderRadius","height","activeHeaderText","fontSize","activeIndicator","scaleX","renderWidget","arrowIndicator","_extends","overflow","zIndex","getTestProps","event","handleLayout","ref","horizontal","showsHorizontalScrollIndicator","scrollEnabled","shouldScroll","_background","getTestPropsForAction","flexGrow","undefined","id","getTestId","mergeStyle","headerIcon","activeHeaderIcon","iconclass","icon","numberOfLines","headerText","getTestPropsForLabel","title","backgroundImage","image","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","arrowIndicatorDot"],"sources":["tabheader.component.tsx"],"sourcesContent":["import React, { createRef } from 'react';\nimport { Animated, Easing, LayoutChangeEvent, LayoutRectangle, Text, View, ScrollView } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmTabheaderProps from './tabheader.props';\nimport { DEFAULT_CLASS, WmTabheaderStyles } from './tabheader.styles';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmSkeleton, { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport WmIcon from \"@wavemaker/app-rn-runtime/components/basic/icon/icon.component\";\n\nexport class WmTabheaderState extends BaseComponentState<WmTabheaderProps> {\n}\n\nexport default class WmTabheader extends BaseComponent<WmTabheaderProps, WmTabheaderState, WmTabheaderStyles> {\n\n private headerPanelLayout: LayoutRectangle = null as any;\n private headersLayout: LayoutRectangle[] = [];\n private headerScrollPosition = new Animated.Value(0);\n private headerScrollPositionValue = 0;\n private indicatorPosition = new Animated.Value(0);\n private reverseIndicatorWidth = new Animated.Value(0);\n private indicatorWidth = new Animated.Value(0);\n private listRef: any = createRef();\n\n constructor(props: WmTabheaderProps) {\n super(props, DEFAULT_CLASS, new WmTabheaderProps(), new WmTabheaderState());\n this.headerScrollPosition.addListener(({value}) => this.headerScrollPositionValue = value);\n }\n\n setHeaderPanelPositon(nativeEvent: LayoutChangeEvent) {\n this.headerPanelLayout = nativeEvent.nativeEvent.layout;\n this.forceUpdate();\n }\n\n setHeaderPositon(index: number, nativeEvent: LayoutChangeEvent) {\n this.headersLayout[index] = nativeEvent.nativeEvent.layout;\n if (index === this.props.selectedTabIndex) {\n this.forceUpdate();\n }\n }\n\n onTabSelection(index: number) {\n if (this.state.props.selectedTabIndex != index) {\n this.state.props.onIndexChange && this.state.props.onIndexChange(index);\n }\n }\n\n scrollPosition(selectedTabIndex: number, totalWidth: number, toIndicatorPosition: number) {\n const initialPosition = this.isRTL ? totalWidth : 0;\n const baseWidth = this.isRTL ? totalWidth - toIndicatorPosition : toIndicatorPosition;\n const elementWidth = this.isRTL ? -1 * (this.headersLayout[selectedTabIndex].width/2) : this.headersLayout[selectedTabIndex].width/2\n const positionX = selectedTabIndex === 0 ? initialPosition : \n ((baseWidth + (elementWidth)) - (this.headerPanelLayout?.width || 0) / 2);\n\n return positionX\n }\n\n setPosition() {\n const selectedTabIndex = this.state.props.selectedTabIndex ? this.state.props.selectedTabIndex : 0\n let toIndicatorPosition = 0;\n let toIndicatorWidth = this.headersLayout[selectedTabIndex]?.width || 0;\n let toHeaderScrollPosition = this.headerScrollPositionValue;\n let totalWidth = 0;\n if (this.state.props.data.length !== this.headersLayout.length) {\n return;\n }\n this.headersLayout.forEach((p, i) => {\n if (i < selectedTabIndex) {\n toIndicatorPosition += p.width;\n }\n totalWidth += p.width;\n });\n toHeaderScrollPosition = -1 * (toIndicatorPosition - (this.headerPanelLayout?.width || 0) / 2 + toIndicatorWidth/ 2) ;\n const minScrollPosition = -1 * (totalWidth - (this.headerPanelLayout?.width || 0));\n const maxScrollPosition = 0;\n toHeaderScrollPosition = Math.max(minScrollPosition, toHeaderScrollPosition);\n toHeaderScrollPosition = Math.min(maxScrollPosition, toHeaderScrollPosition);\n let positionIndicator = (toIndicatorPosition - (100 - toIndicatorWidth) / 2);\n let position = this.isRTL?-positionIndicator:positionIndicator;\n\n const positionX = this.scrollPosition(selectedTabIndex, totalWidth, toIndicatorPosition)\n\n this.listRef.current?.scrollTo({\n x: positionX,\n y: 0,\n Animated: true\n });\n\n Animated.parallel([\n Animated.timing(this.headerScrollPosition, {\n useNativeDriver: true,\n toValue: toHeaderScrollPosition,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.indicatorWidth, {\n useNativeDriver: true,\n toValue: toIndicatorWidth / 100,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.reverseIndicatorWidth, {\n useNativeDriver: true,\n toValue: toIndicatorWidth ? 100 / toIndicatorWidth : 0,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.indicatorPosition, {\n useNativeDriver: true,\n toValue: position,\n duration: 200,\n easing: Easing.linear\n })\n ]).start();\n }\n\n public renderSkeleton(props: WmTabheaderProps){\n return(\n <Animated.View style={{\n transform: [{\n translateX: this.headerScrollPosition\n }]\n }}\n onLayout={this.setHeaderPanelPositon.bind(this)}>\n <View style={this.styles.root}>\n {this.props.data.map((header ,i) => {\n const isSelected = i === this.props.selectedTabIndex;\n return (\n <Tappable onTap={this.onTabSelection.bind(this, i)} key={header.key} styles={{flex: 1}} disableTouchEffect={this.state.props.disabletoucheffect}>\n <View onLayout={this.setHeaderPositon.bind(this, i)} style={[\n this.styles.header,\n isSelected ? this.styles.activeHeader : null]}>\n {\n createSkeleton(this.theme, { root: { borderRadius: 4 }} as WmSkeletonStyles, {\n ...this.styles.root,\n width: this.styles.root?.width || \"80%\",\n height: this.styles.root?.height || this.styles.activeHeaderText?.fontSize || 16\n })\n }\n </View>\n </Tappable>\n );\n })}\n </View>\n <Animated.View style={[this.styles.activeIndicator, {\n transform: [{\n translateX: this.indicatorPosition\n }, {\n scaleX: this.indicatorWidth\n }]\n }]}></Animated.View>\n </Animated.View>\n\n )\n }\n\n renderWidget(props: WmTabheaderProps) {\n this.setPosition();\n const arrowIndicator = this.styles.arrowIndicator as any;\n return (\n <View \n style={{overflow: 'hidden', zIndex: 16}}\n {...this.getTestProps('tabheader')}\n onLayout={(event) => this.handleLayout(event)}\n >\n <ScrollView\n ref={this.listRef}\n horizontal={true}\n onLayout={this.setHeaderPanelPositon.bind(this)}\n showsHorizontalScrollIndicator={false}\n scrollEnabled={props.shouldScroll}\n >\n <View>\n <View style={this.styles.root}>\n {this._background}\n {props.data.map((header ,i) => {\n const isSelected = i === props.selectedTabIndex ;\n return (\n <Tappable onTap={this.onTabSelection.bind(this, i)}\n {...this.getTestPropsForAction(i +'')}\n key={header.key}\n disableTouchEffect={this.state.props.disabletoucheffect}\n styles={this.styles.header.flexGrow ? {flexGrow: this.styles.header.flexGrow} : null}>\n <View onLayout={this.setHeaderPositon.bind(this, i)}>\n <View style={[\n this.styles.header,\n {flexGrow: undefined},\n isSelected ? this.styles.activeHeader : null]}>\n <WmIcon\n id={this.getTestId(i + 'icon')}\n styles={this.theme.mergeStyle({}, this.styles.headerIcon, isSelected ? this.styles.activeHeaderIcon : null)}\n iconclass={header.icon}></WmIcon>\n <Text numberOfLines={1} style={[\n this.styles.headerText,\n isSelected ? this.styles.activeHeaderText : null]}\n {...this.getTestPropsForLabel(i + '_title')}\n >{header.title}</Text>\n </View>\n </View>\n </Tappable>\n );\n })}\n </View>\n <Animated.View style={[this.styles.activeIndicator, {\n transform: [{\n translateX: this.indicatorPosition\n }, {\n scaleX: this.indicatorWidth\n }]\n }]}>\n <Animated.View style={[{\n transform: [{\n scaleX: this.reverseIndicatorWidth\n }]\n },\n this.styles.arrowIndicator\n ]}>\n {\n arrowIndicator.backgroundImage ? (\n <BackgroundComponent\n image={arrowIndicator.backgroundImage}\n position={arrowIndicator.backgroundPosition}\n size={arrowIndicator.backgroundSize}\n repeat={arrowIndicator.backgroundRepeat}\n resizeMode={arrowIndicator.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}\n ></BackgroundComponent>\n ) : null }\n <View style={this.styles.arrowIndicatorDot}></View>\n </Animated.View>\n </Animated.View>\n </View>\n </ScrollView>\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","createRef","Animated","Easing","Text","View","ScrollView","BaseComponent","BaseComponentState","WmTabheaderProps","DEFAULT_CLASS","Tappable","createSkeleton","BackgroundComponent","WmIcon","WmTabheaderState","WmTabheader","constructor","props","_defineProperty","Value","headerScrollPosition","addListener","value","headerScrollPositionValue","setHeaderPanelPositon","nativeEvent","headerPanelLayout","layout","forceUpdate","setHeaderPositon","index","headersLayout","selectedTabIndex","onTabSelection","state","onIndexChange","scrollPosition","totalWidth","toIndicatorPosition","_this$headersLayout$s","_this$headersLayout$s2","_this$headerPanelLayo","initialPosition","isRTL","baseWidth","elementWidth","width","positionX","setPosition","_this$headersLayout$s3","_this$headerPanelLayo2","_this$headerPanelLayo3","_this$listRef$current","toIndicatorWidth","toHeaderScrollPosition","data","length","forEach","p","i","minScrollPosition","maxScrollPosition","Math","max","min","positionIndicator","position","listRef","current","scrollTo","x","y","parallel","timing","useNativeDriver","toValue","duration","easing","linear","indicatorWidth","reverseIndicatorWidth","indicatorPosition","start","renderSkeleton","createElement","style","transform","translateX","onLayout","bind","styles","root","map","header","_this$styles$root","_this$styles$root2","_this$styles$activeHe","isSelected","onTap","key","flex","disableTouchEffect","disabletoucheffect","activeHeader","theme","borderRadius","height","activeHeaderText","fontSize","activeIndicator","scaleX","renderWidget","arrowIndicator","_extends","overflow","zIndex","getTestProps","event","handleLayout","ref","horizontal","showsHorizontalScrollIndicator","scrollEnabled","shouldScroll","_background","getTestPropsForAction","flexGrow","undefined","id","getTestId","mergeStyle","headerIcon","activeHeaderIcon","iconclass","icon","numberOfLines","headerText","getTestPropsForLabel","title","backgroundImage","image","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","arrowIndicatorDot"],"sources":["tabheader.component.tsx"],"sourcesContent":["import React, { createRef } from 'react';\nimport { Animated, Easing, LayoutChangeEvent, LayoutRectangle, Text, View, ScrollView } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmTabheaderProps from './tabheader.props';\nimport { DEFAULT_CLASS, WmTabheaderStyles } from './tabheader.styles';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmSkeleton, { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport WmIcon from \"@wavemaker/app-rn-runtime/components/basic/icon/icon.component\";\n\nexport class WmTabheaderState extends BaseComponentState<WmTabheaderProps> {\n}\n\nexport default class WmTabheader extends BaseComponent<WmTabheaderProps, WmTabheaderState, WmTabheaderStyles> {\n\n private headerPanelLayout: LayoutRectangle = null as any;\n private headersLayout: LayoutRectangle[] = [];\n private headerScrollPosition = new Animated.Value(0);\n private headerScrollPositionValue = 0;\n private indicatorPosition = new Animated.Value(0);\n private reverseIndicatorWidth = new Animated.Value(0);\n private indicatorWidth = new Animated.Value(0);\n private listRef: any = createRef();\n\n constructor(props: WmTabheaderProps) {\n super(props, DEFAULT_CLASS, new WmTabheaderProps(), new WmTabheaderState());\n this.headerScrollPosition.addListener(({value}) => this.headerScrollPositionValue = value);\n }\n\n setHeaderPanelPositon(nativeEvent: LayoutChangeEvent) {\n this.headerPanelLayout = nativeEvent.nativeEvent.layout;\n this.forceUpdate();\n }\n\n setHeaderPositon(index: number, nativeEvent: LayoutChangeEvent) {\n this.headersLayout[index] = nativeEvent.nativeEvent.layout;\n if (index === this.props.selectedTabIndex) {\n this.forceUpdate();\n }\n }\n\n onTabSelection(index: number) {\n if (this.state.props.selectedTabIndex != index) {\n this.state.props.onIndexChange && this.state.props.onIndexChange(index);\n }\n }\n\n scrollPosition(selectedTabIndex: number, totalWidth: number, toIndicatorPosition: number) {\n const initialPosition = this.isRTL ? totalWidth : 0;\n const baseWidth = this.isRTL ? totalWidth - toIndicatorPosition : toIndicatorPosition;\n const elementWidth = this.isRTL ? -1 * (this.headersLayout[selectedTabIndex]?.width/2) : this.headersLayout[selectedTabIndex]?.width/2\n const positionX = selectedTabIndex === 0 ? initialPosition : \n ((baseWidth + (elementWidth)) - (this.headerPanelLayout?.width || 0) / 2);\n\n return positionX\n }\n\n setPosition() {\n const selectedTabIndex = this.state.props.selectedTabIndex ? this.state.props.selectedTabIndex : 0\n let toIndicatorPosition = 0;\n let toIndicatorWidth = this.headersLayout[selectedTabIndex]?.width || 0;\n let toHeaderScrollPosition = this.headerScrollPositionValue;\n let totalWidth = 0;\n if (this.state.props.data.length !== this.headersLayout.length) {\n return;\n }\n this.headersLayout.forEach((p, i) => {\n if (i < selectedTabIndex) {\n toIndicatorPosition += p.width;\n }\n totalWidth += p.width;\n });\n toHeaderScrollPosition = -1 * (toIndicatorPosition - (this.headerPanelLayout?.width || 0) / 2 + toIndicatorWidth/ 2) ;\n const minScrollPosition = -1 * (totalWidth - (this.headerPanelLayout?.width || 0));\n const maxScrollPosition = 0;\n toHeaderScrollPosition = Math.max(minScrollPosition, toHeaderScrollPosition);\n toHeaderScrollPosition = Math.min(maxScrollPosition, toHeaderScrollPosition);\n let positionIndicator = (toIndicatorPosition - (100 - toIndicatorWidth) / 2);\n let position = this.isRTL?-positionIndicator:positionIndicator;\n\n const positionX = this.scrollPosition(selectedTabIndex, totalWidth, toIndicatorPosition)\n\n this.listRef.current?.scrollTo({\n x: positionX,\n y: 0,\n Animated: true\n });\n\n Animated.parallel([\n Animated.timing(this.headerScrollPosition, {\n useNativeDriver: true,\n toValue: toHeaderScrollPosition,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.indicatorWidth, {\n useNativeDriver: true,\n toValue: toIndicatorWidth / 100,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.reverseIndicatorWidth, {\n useNativeDriver: true,\n toValue: toIndicatorWidth ? 100 / toIndicatorWidth : 0,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.indicatorPosition, {\n useNativeDriver: true,\n toValue: position,\n duration: 200,\n easing: Easing.linear\n })\n ]).start();\n }\n\n public renderSkeleton(props: WmTabheaderProps){\n return(\n <Animated.View style={{\n transform: [{\n translateX: this.headerScrollPosition\n }]\n }}\n onLayout={this.setHeaderPanelPositon.bind(this)}>\n <View style={this.styles.root}>\n {this.props.data.map((header ,i) => {\n const isSelected = i === this.props.selectedTabIndex;\n return (\n <Tappable onTap={this.onTabSelection.bind(this, i)} key={header.key} styles={{flex: 1}} disableTouchEffect={this.state.props.disabletoucheffect}>\n <View onLayout={this.setHeaderPositon.bind(this, i)} style={[\n this.styles.header,\n isSelected ? this.styles.activeHeader : null]}>\n {\n createSkeleton(this.theme, { root: { borderRadius: 4 }} as WmSkeletonStyles, {\n ...this.styles.root,\n width: this.styles.root?.width || \"80%\",\n height: this.styles.root?.height || this.styles.activeHeaderText?.fontSize || 16\n })\n }\n </View>\n </Tappable>\n );\n })}\n </View>\n <Animated.View style={[this.styles.activeIndicator, {\n transform: [{\n translateX: this.indicatorPosition\n }, {\n scaleX: this.indicatorWidth\n }]\n }]}></Animated.View>\n </Animated.View>\n\n )\n }\n\n renderWidget(props: WmTabheaderProps) {\n this.setPosition();\n const arrowIndicator = this.styles.arrowIndicator as any;\n return (\n <View \n style={{overflow: 'hidden', zIndex: 16}}\n {...this.getTestProps('tabheader')}\n onLayout={(event) => this.handleLayout(event)}\n >\n <ScrollView\n ref={this.listRef}\n horizontal={true}\n onLayout={this.setHeaderPanelPositon.bind(this)}\n showsHorizontalScrollIndicator={false}\n scrollEnabled={props.shouldScroll}\n >\n <View>\n <View style={this.styles.root}>\n {this._background}\n {props.data.map((header ,i) => {\n const isSelected = i === props.selectedTabIndex ;\n return (\n <Tappable onTap={this.onTabSelection.bind(this, i)}\n {...this.getTestPropsForAction(i +'')}\n key={header.key}\n disableTouchEffect={this.state.props.disabletoucheffect}\n styles={this.styles.header.flexGrow ? {flexGrow: this.styles.header.flexGrow} : null}>\n <View onLayout={this.setHeaderPositon.bind(this, i)}>\n <View style={[\n this.styles.header,\n {flexGrow: undefined},\n isSelected ? this.styles.activeHeader : null]}>\n <WmIcon\n id={this.getTestId(i + 'icon')}\n styles={this.theme.mergeStyle({}, this.styles.headerIcon, isSelected ? this.styles.activeHeaderIcon : null)}\n iconclass={header.icon}></WmIcon>\n <Text numberOfLines={1} style={[\n this.styles.headerText,\n isSelected ? this.styles.activeHeaderText : null]}\n {...this.getTestPropsForLabel(i + '_title')}\n >{header.title}</Text>\n </View>\n </View>\n </Tappable>\n );\n })}\n </View>\n <Animated.View style={[this.styles.activeIndicator, {\n transform: [{\n translateX: this.indicatorPosition\n }, {\n scaleX: this.indicatorWidth\n }]\n }]}>\n <Animated.View style={[{\n transform: [{\n scaleX: this.reverseIndicatorWidth\n }]\n },\n this.styles.arrowIndicator\n ]}>\n {\n arrowIndicator.backgroundImage ? (\n <BackgroundComponent\n image={arrowIndicator.backgroundImage}\n position={arrowIndicator.backgroundPosition}\n size={arrowIndicator.backgroundSize}\n repeat={arrowIndicator.backgroundRepeat}\n resizeMode={arrowIndicator.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}\n ></BackgroundComponent>\n ) : null }\n <View style={this.styles.arrowIndicatorDot}></View>\n </Animated.View>\n </Animated.View>\n </View>\n </ScrollView>\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -35,12 +35,23 @@ export default class WmList extends BaseComponent {
|
|
35
35
|
_defineProperty(this, "hasMoreData", true);
|
36
36
|
_defineProperty(this, "leftActionTemplate", void 0);
|
37
37
|
_defineProperty(this, "rightActionTemplate", void 0);
|
38
|
+
_defineProperty(this, "flatListRefs", {});
|
38
39
|
_defineProperty(this, "renderLeftActions", () => {
|
39
40
|
return this.leftActionTemplate ? /*#__PURE__*/React.createElement(React.Fragment, null, this.leftActionTemplate.getTemplate()) : null;
|
40
41
|
});
|
41
42
|
_defineProperty(this, "renderRightActions", () => {
|
42
43
|
return this.rightActionTemplate ? /*#__PURE__*/React.createElement(React.Fragment, null, this.rightActionTemplate.getTemplate()) : null;
|
43
44
|
});
|
45
|
+
_defineProperty(this, "scrollToItem", (groupKey, itemIndex) => {
|
46
|
+
const refKey = groupKey || 'main';
|
47
|
+
if (this.flatListRefs[refKey]) {
|
48
|
+
this.flatListRefs[refKey].scrollToIndex({
|
49
|
+
index: itemIndex,
|
50
|
+
animated: true,
|
51
|
+
viewPosition: 0.5
|
52
|
+
});
|
53
|
+
}
|
54
|
+
});
|
44
55
|
this.updateState({
|
45
56
|
maxRecordsToShow: this.state.props.pagesize
|
46
57
|
});
|
@@ -75,6 +86,15 @@ export default class WmList extends BaseComponent {
|
|
75
86
|
selectedItem = $item;
|
76
87
|
}
|
77
88
|
this.selectedItemWidgets = this.itemWidgets[$index];
|
89
|
+
let groupKey = null;
|
90
|
+
if (props.direction === 'horizontal') {
|
91
|
+
var _this$state$groupedDa;
|
92
|
+
(_this$state$groupedDa = this.state.groupedData) === null || _this$state$groupedDa === void 0 || _this$state$groupedDa.forEach(group => {
|
93
|
+
if (group.data.includes($item)) {
|
94
|
+
groupKey = group.key;
|
95
|
+
}
|
96
|
+
});
|
97
|
+
}
|
78
98
|
return new Promise(resolve => {
|
79
99
|
this.updateState({
|
80
100
|
props: {
|
@@ -82,6 +102,9 @@ export default class WmList extends BaseComponent {
|
|
82
102
|
},
|
83
103
|
selectedindex: $index
|
84
104
|
}, () => {
|
105
|
+
if (props.direction === 'horizontal') {
|
106
|
+
this.scrollToItem(groupKey, $index);
|
107
|
+
}
|
85
108
|
this.invokeEventCallback(eventName, [this.proxy, $item]);
|
86
109
|
$event && this.invokeEventCallback('onTap', [$event, this.proxy]);
|
87
110
|
resolve(null);
|
@@ -351,7 +374,7 @@ export default class WmList extends BaseComponent {
|
|
351
374
|
width: '100%'
|
352
375
|
} : null, cols && cols > 1 || isHorizontal ? {
|
353
376
|
paddingRight: (isNil(this.styles.item.marginRight) ? this.styles.item.margin : this.styles.item.marginRight) || 4
|
354
|
-
} : null]
|
377
|
+
} : null, this.styles.itemContainer]
|
355
378
|
}), props.renderItem(item, index, this), this.isSelected(item) ? /*#__PURE__*/React.createElement(WmIcon, {
|
356
379
|
id: this.getTestId('icon' + index),
|
357
380
|
iconclass: "wi wi-check-circle",
|
@@ -425,6 +448,9 @@ export default class WmList extends BaseComponent {
|
|
425
448
|
style: this.styles.group,
|
426
449
|
key: v.key || this.keyExtractor.getKey(v, true)
|
427
450
|
}, this.renderHeader(props, v.key), /*#__PURE__*/React.createElement(FlatList, _extends({
|
451
|
+
ref: ref => {
|
452
|
+
this.flatListRefs[v.key || 'main'] = ref;
|
453
|
+
},
|
428
454
|
testID: this.getTestId('flat_list'),
|
429
455
|
key: props.name + '_' + (isHorizontal ? 'H' : 'V') + props.itemsperrow.xs,
|
430
456
|
keyExtractor: (item, i) => this.generateItemKey(item, i, props),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","ActivityIndicator","SectionList","Text","View","FlatList","isArray","isEmpty","isNil","isNumber","round","BaseComponent","BaseComponentState","getGroupedData","getNumberOfEmptyObjects","isDefined","Tappable","DefaultKeyExtractor","WmLabel","WmIcon","Swipeable","WmListProps","DEFAULT_CLASS","BackgroundComponent","WmListState","constructor","args","_defineProperty","WmList","props","leftActionTemplate","createElement","Fragment","getTemplate","rightActionTemplate","updateState","maxRecordsToShow","state","pagesize","isSelected","$item","selectedItem","selecteditem","indexOf","onSelect","$index","$event","eventName","disableitem","multiselect","index","selectionlimit","length","push","invokeEventCallback","splice","proxy","selectedItemWidgets","itemWidgets","Promise","resolve","selectedindex","loadDataOnDemand","navigation","loadData","loadingData","dataset","setTimeout","$list","loadingdata","getNextPageData","currentPage","then","data","hasMoreData","catch","err","console","error","selectFirstItem","initialized","groupby","clear","groupedData","selectItem","item","getItem","deselect","selectedItemIndex","getWidgets","widgetname","map","filter","widget","undefined","deselectAll","setGroupData","items","dataItems","match","orderby","dateformat","_this$keyExtractor","keyExtractor","onPropertyChange","name","$new","$old","orderbyData","key","_this$keyExtractor2","direction","_this$keyExtractor3","selectfirstitem","pop","componentDidMount","_props$dataset","subscribe","event","scrollPosition","nativeEvent","contentOffset","y","layoutMeasurement","height","endThreshold","componentDidUpdate","prevProps","prevState","snapshot","getDefaultStyles","isHorizontal","theme","getStyle","defaultClass","getIndex","generateItemKey","itemkey","_showSkeleton","getKey","renderItem","cols","getNoOfColumns","styles","skeleton","root","renderLeftActions","renderRightActions","containerStyle","width","flex","style","itemclass","backgroundImage","image","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","_extends","getTestPropsForAction","disableTouchEffect","disabletoucheffect","onTap","onLongTap","onDoubleTap","display","flexDirection","paddingRight","marginRight","margin","id","getTestId","iconclass","selectedIcon","renderHeader","title","groupHeading","accessibilityRole","subheading","heading","listIcon","caption","accessibilityrole","renderEmptyMessage","emptyMessage","nodatamessage","renderLoadingIcon","loadingicon","loadingIcon","loadingdatamsg","color","text","itemsperrow","xs","onLayoutChange","e","l","layout","renderWithFlatList","onLayout","v","i","_ref","group","testID","scrollEnabled","horizontal","numberofskeletonitems","ListEmptyComponent","itemInfo","showsHorizontalScrollIndicator","hidehorizontalscrollbar","numColumns","onDemandMessage","ondemandmessage","getSectionListData","_ref2","renderWithSectionList","contentContainerStyle","sections","renderSectionHeader","section","renderSectionFooter","renderWidget","handleLayout","_background"],"sources":["list.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ActivityIndicator, SectionList, Text, View, FlatList, LayoutChangeEvent, TouchableOpacity} from 'react-native';\nimport { isArray, isEmpty, isNil, isNumber, round } from 'lodash-es';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport {getGroupedData, getNumberOfEmptyObjects, isDefined} from \"@wavemaker/app-rn-runtime/core/utils\";\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { DefaultKeyExtractor } from '@wavemaker/app-rn-runtime/core/key.extractor';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { Swipeable } from 'react-native-gesture-handler';\nimport WmListActionTemplate from './list-action-template/list-action-template.component';\n\nimport WmListProps from './list.props';\nimport { DEFAULT_CLASS, WmListStyles } from './list.styles';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\n\n\nexport class WmListState extends BaseComponentState<WmListProps> {\n public selectedindex: any;\n groupedData: Array<any> = [];\n currentPage = 1;\n maxRecordsToShow = 20;\n}\n\nexport default class WmList extends BaseComponent<WmListProps, WmListState, WmListStyles> {\n\n private itemWidgets = [] as any[];\n private selectedItemWidgets = {} as any;\n private keyExtractor = new DefaultKeyExtractor();\n private endThreshold = -1;\n private loadingData = false;\n private hasMoreData = true;\n public leftActionTemplate?: WmListActionTemplate;\n public rightActionTemplate?: WmListActionTemplate;\n\n constructor(props: WmListProps) {\n super(props, DEFAULT_CLASS, new WmListProps(), new WmListState());\n this.updateState({\n maxRecordsToShow: this.state.props.pagesize\n } as WmListState);\n }\n\n private isSelected($item: any) {\n const selectedItem = this.state.props.selecteditem;\n if (isArray(selectedItem)) {\n return selectedItem.indexOf($item) >= 0;\n }\n return selectedItem === $item;\n }\n\n private async onSelect($item: any, $index: number | string, $event?: any) {\n const props = this.state.props;\n let selectedItem = null as any;\n let eventName = 'onSelect';\n if (props.disableitem !== true\n && (typeof props.disableitem !== 'function' || !props.disableitem($item, $index))) {\n if (props.multiselect) {\n selectedItem = [...(props.selecteditem || [])];\n const index = selectedItem.indexOf($item);\n if (index < 0) {\n if ((!props.selectionlimit)\n || props.selectionlimit < 0\n || selectedItem.length < props.selectionlimit) {\n selectedItem.push($item);\n } else {\n this.invokeEventCallback('onSelectionlimitexceed', [null, this]);\n }\n } else {\n selectedItem.splice(index, 1);\n eventName = 'onDeselect';\n }\n } else {\n this.state.props.selecteditem && this.invokeEventCallback('onDeselect', [this.proxy, this.state.props.selecteditem]);\n selectedItem = $item;\n }\n this.selectedItemWidgets = this.itemWidgets[$index as number];\n return new Promise(resolve => {\n this.updateState({\n props: { selecteditem: selectedItem },\n selectedindex: $index\n } as WmListState, () => {\n this.invokeEventCallback(eventName, [this.proxy, $item]);\n $event && this.invokeEventCallback('onTap', [$event, this.proxy]);\n resolve(null);\n });\n });\n } else {\n return Promise.resolve(null);\n }\n }\n\n private get loadDataOnDemand() {\n const navigation = this.state.props.navigation;\n return navigation === 'Scroll' || navigation === 'On-Demand';\n }\n\n renderLeftActions = () => {\n return this.leftActionTemplate ? (\n <>\n {this.leftActionTemplate.getTemplate()}\n </>\n ) : null;\n };\n\n renderRightActions = () => {\n return this.rightActionTemplate ? (\n <>\n {this.rightActionTemplate.getTemplate()}\n </>\n ) : null;\n };\n\n private loadData() {\n if (this.loadingData) {\n return;\n }\n if (isArray(this.state.props.dataset)\n && this.state.props.dataset.length > this.state.maxRecordsToShow) {\n this.loadingData = true;\n this.updateState({\n maxRecordsToShow: this.state.maxRecordsToShow + this.state.props.pagesize\n } as WmListState);\n setTimeout(() => {\n this.loadingData = false;\n }, 100);\n } else if (this.loadDataOnDemand) {\n const $list = this.proxy as any;\n $list.loadingdata = true;\n this.loadingData = true;\n this.props.getNextPageData && this.props.getNextPageData(null, this.proxy, this.state.currentPage + 1).then((data) => {\n if (isArray(data) && data.length > 0\n && isArray(this.state.props.dataset)) {\n $list.dataset = [...this.state.props.dataset, ...data];\n this.updateState({\n currentPage : this.state.currentPage + 1,\n maxRecordsToShow: this.state.maxRecordsToShow + this.state.props.pagesize\n } as WmListState);\n this.hasMoreData = true;\n } else {\n this.hasMoreData = false;\n }\n }).catch((err) => {\n console.error(err);\n }).then(() => {\n setTimeout(() => {\n $list.loadingdata = false;\n }, 1000);\n });\n }\n }\n\n private selectFirstItem() {\n const props = this.state.props;\n if (this.initialized\n && props.dataset\n && props.dataset.length) {\n const index = props.groupby ? '00': 0;\n this.onSelect(props.dataset[0], index);\n }\n }\n\n clear(){\n this.updateState({\n groupedData: {},\n } as WmListState);\n }\n\n selectItem(item: any){\n const dataset = this.state.props.dataset;\n if(isNumber(item)){\n this.onSelect(dataset[item], item);\n }\n else{\n let index = dataset.indexOf(item);\n this.onSelect(dataset[index], index);\n }\n }\n\n getItem(index: number){\n const props = this.state.props;\n return this.props.dataset[index]\n }\n\n deselect(item: any){\n const props = this.state.props;\n let selectedItem = null as any;\n let index = isNumber(item)?item:props.dataset.indexOf(item);\n if(props.multiselect && index >= 0){\n selectedItem = [...(props.selecteditem || [])];\n let selectedItemIndex = selectedItem.indexOf(props.dataset[index])\n if(selectedItemIndex >= 0){\n selectedItem.splice(selectedItemIndex, 1);\n }\n }\n else{\n if (props.selecteditem === props.dataset[index]) {\n selectedItem = null;\n }\n }\n this.updateState({\n props: { selecteditem: selectedItem },\n\n } as WmListState, () => {\n this.invokeEventCallback('onDeselect', [this.proxy, item]);\n });\n }\n\n getWidgets(widgetname: string, index: number){\n if(index >= 0 && index < this.itemWidgets.length){\n return this.itemWidgets[index][widgetname]\n }\n else{\n return this.itemWidgets.map(item => item[widgetname]).filter(widget => widget !== undefined);\n }\n }\n\n private deselectAll() {\n this.updateState({\n props: { selecteditem: null },\n selectedindex: -1\n } as WmListState);\n }\n\n setGroupData(items: any) {\n const dataItems = items;\n const props = this.state.props;\n if (props.groupby) {\n const groupedData = dataItems && getGroupedData(dataItems, props.groupby, props.match, props.orderby, props.dateformat, this);\n this.updateState({\n groupedData: groupedData\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n }\n }\n\n public onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n switch(name) {\n case 'selectfirstitem':\n if ($new) {\n this.selectFirstItem();\n }\n break;\n case 'dataset':\n if (this.state.props.groupby) {\n this.setGroupData($new);\n } else {\n if (!($old && $old.length)\n && $new && $new.length\n && this.loadDataOnDemand) {\n this.updateState({\n props: {\n dataset: [...$new]\n }\n } as WmListState);\n }\n const data = isArray($new) ? $new : (!isEmpty($new) && isDefined($new) ? [$new] : []);\n if(props.orderby) {\n const orderbyData = data && getGroupedData(data, props.groupby, props.match, props.orderby, props.dateformat, this);\n this.updateState({\n groupedData: (orderbyData[0] ? [{\n key: 'key',\n data: orderbyData[0].data\n }] : [])\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n } else {\n this.updateState({\n groupedData: (data[0] || props.direction === 'horizontal' ? [{\n key: 'key',\n data: data\n }] : [])\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n }\n }\n this.itemWidgets = [];\n if (props.selectfirstitem) {\n this.selectFirstItem();\n } else {\n this.deselectAll();\n }\n break;\n case 'groupby':\n case 'match':\n this.setGroupData(this.state.props.dataset);\n break;\n case 'multiselect':\n if ($new) {\n if (!isArray(this.state.props.selecteditem)) {\n this.state.props.selecteditem = this.state.props.selecteditem ?\n [this.state.props.selecteditem] : [];\n }\n } else if (isArray(this.state.props.selecteditem)) {\n this.state.props.selecteditem = this.state.props.selecteditem.pop();\n }\n break;\n case 'loadingdata':\n this.loadingData = $new && this.loadingData;\n break;\n case 'selecteditem':\n if($new != $old && isNumber($new)) {\n this.selectItem(this.state.props.dataset[$new])\n }\n break;\n }\n }\n\n componentDidMount() {\n const props = this.state.props;\n if (this.state.props.selectfirstitem && props.dataset?.length) {\n setTimeout(() => {\n this.onSelect(props.dataset[0], 0);\n });\n }\n this.subscribe('scroll', (event: any) => {\n const scrollPosition = event.nativeEvent.contentOffset.y + event.nativeEvent.layoutMeasurement.height;\n if (scrollPosition > this.endThreshold && this.state.props.direction === 'vertical') {\n this.loadData();\n }\n });\n super.componentDidMount();\n }\n\n componentDidUpdate(prevProps: WmListProps, prevState: WmListState, snapshot?: any) {\n super.componentDidUpdate && super.componentDidUpdate(prevProps, prevState, snapshot);\n this.invokeEventCallback('onRender', [this, this.state.props.dataset]);\n }\n\n getDefaultStyles() {\n const isHorizontal = this.state.props.direction === 'horizontal';\n return this.theme.getStyle(`${this.defaultClass} ${isHorizontal ? 'app-horizontal-list' : 'app-vertical-list'}`);\n }\n\n getIndex(item: any) {\n return this.state.props.dataset.indexOf(item);\n }\n\n private generateItemKey(item: any, index: number, props: WmListProps) {\n if (props.itemkey && item && !this._showSkeleton) {\n return props.itemkey(item, index);\n }\n return 'list_item_' + this.keyExtractor.getKey(item, true);\n }\n\n private renderItem(item: any, index: number, props: WmListProps) {\n const cols = this. getNoOfColumns();\n const isHorizontal = (props.direction === 'horizontal');\n \n const styles = this._showSkeleton ? {\n ...this.styles.item,\n ...this.styles.skeleton.root\n } : this.styles.item as any\n return (index < this.state.maxRecordsToShow || isHorizontal) ? (\n <Swipeable\n renderLeftActions={() => this.renderLeftActions()}\n renderRightActions={() => this.renderRightActions()} containerStyle={ cols ? { width: round(100/cols) + \"%\" , flex: null } as any :{}}>\n <View style={[\n styles,\n props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null,\n this.isSelected(item) ? this.styles.selectedItem : {}]}>\n {styles.backgroundImage ? (\n <BackgroundComponent\n image={styles.backgroundImage}\n position={styles.backgroundPosition || 'center'}\n size={styles.backgroundSize || 'cover'}\n repeat={styles.backgroundRepeat || 'no-repeat'}\n resizeMode={styles.backgroundResizeMode || 'cover'}\n style={{ borderRadius: this.styles.item.borderRadius }}\n />\n ) : null}\n <Tappable\n {...this.getTestPropsForAction(`item${index}`)}\n disableTouchEffect={this.state.props.disabletoucheffect}\n onTap={($event) => this.onSelect(item, index, $event)}\n onLongTap={() => this.invokeEventCallback('onLongtap', [null, this.proxy])}\n onDoubleTap={() => this.invokeEventCallback('onDoubletap', [null, this.proxy])}\n styles={\n [{display: 'flex', flexDirection : 'row'},\n cols ? {\n width: '100%'\n } : null,\n (cols && cols > 1) || isHorizontal ? {\n paddingRight: (isNil(this.styles.item.marginRight)\n ? this.styles.item.margin : this.styles.item.marginRight) || 4\n } : null\n ]\n }>\n {props.renderItem(item, index, this)}\n {this.isSelected(item) ? (\n <WmIcon id={this.getTestId('icon' + index)} iconclass='wi wi-check-circle' styles={this.styles.selectedIcon} />\n ) : null}\n </Tappable>\n </View>\n </Swipeable>\n ) : null;\n }\n\n private renderHeader(props: WmListProps, title: string) {\n return props.groupby ? (\n <Text style={this.styles.groupHeading} accessibilityRole='header'>{title}</Text>\n ) : (props.iconclass || props.title || props.subheading) ? (\n <View style={this.styles.heading}>\n <View style={{flex: 1, flexDirection: 'row'}}>\n <WmIcon id={this.getTestId('icon')} styles={this.styles.listIcon} iconclass={props.iconclass}></WmIcon>\n <View>\n <WmLabel id={this.getTestId('title')} styles={this.styles.title} caption={props.title} accessibilityrole='header'></WmLabel>\n <WmLabel id={this.getTestId('subheading')} styles={this.styles.subheading} caption={props.subheading}></WmLabel>\n </View>\n </View>\n </View>) : null;\n }\n\n private renderEmptyMessage(isHorizontal: boolean, item: any, index: any, props: WmListProps) {\n return (<WmLabel id={this.getTestId('emptymsg')} styles={this.styles.emptyMessage} caption={props.nodatamessage}></WmLabel>);\n }\n\n private renderLoadingIcon(props: WmListProps) {\n return props.loadingicon ? (<WmIcon\n id={this.getTestId('loadingicon')}\n styles={this.styles.loadingIcon}\n iconclass={props.loadingicon}\n caption={props.loadingdatamsg}></WmIcon>)\n : (\n <ActivityIndicator color={this.styles.loadingIcon.text.color}></ActivityIndicator>\n );\n }\n\n public getNoOfColumns() {\n const props = this.state.props;\n if(props.direction === 'vertical') {\n return props.itemsperrow.xs;\n }\n return 0;\n }\n\n private onLayoutChange(e: LayoutChangeEvent) {\n const l = e.nativeEvent.layout;\n this.endThreshold = l.height + l.y - 100;\n if (!this.endThreshold) {\n this.endThreshold = -1;\n }\n }\n\n private renderWithFlatList(props: WmListProps, isHorizontal = false) {\n return (\n <View style={this.styles.root} onLayout={e => this.onLayoutChange(e)}>\n {!isEmpty(this.state.groupedData) ? this.state.groupedData.map((v: any, i) => ((\n <View style={this.styles.group} key={v.key || this.keyExtractor.getKey(v, true)}>\n {this.renderHeader(props, v.key)}\n <FlatList\n testID={this.getTestId('flat_list')}\n key={props.name + '_' + (isHorizontal ? 'H' : 'V') + props.itemsperrow.xs}\n keyExtractor={(item, i) => this.generateItemKey(item, i, props)}\n scrollEnabled={isHorizontal}\n horizontal = {isHorizontal}\n data={this._showSkeleton? [...getNumberOfEmptyObjects(this.props.numberofskeletonitems as number ?? 3)] : (isEmpty(v.data[0]) ? []: v.data)}\n ListEmptyComponent = {(itemInfo) => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props)}\n renderItem={(itemInfo) => this.renderItem(itemInfo.item, itemInfo.index, props)}\n {...(isHorizontal ? {showsHorizontalScrollIndicator: !props.hidehorizontalscrollbar} : {numColumns : this.getNoOfColumns()})}>\n </FlatList>\n {this.loadDataOnDemand || (v.data.length > this.state.maxRecordsToShow) ?\n (this.loadingData ?\n this.renderLoadingIcon(props) :\n (<WmLabel id={this.getTestId('ondemandmessage')}\n styles={this.styles.onDemandMessage}\n caption={this.hasMoreData && !isHorizontal ? props.ondemandmessage : props.nodatamessage}\n onTap={() => this.loadData()}></WmLabel>))\n : null}\n </View>\n ))) : this.renderEmptyMessage(isHorizontal, null, null,props)\n }\n </View>);\n }\n\n private getSectionListData(props: WmListProps) {\n if (this._showSkeleton) {\n return [{\n key: '',\n data: [...getNumberOfEmptyObjects(this.props.numberofskeletonitems as number ?? 3)]\n }];\n } else if (this.state.groupedData\n && this.state.groupedData[0]\n && this.state.groupedData[0]['data'].length) {\n return this.state.groupedData;\n }\n return [];\n }\n\n private renderWithSectionList(props: WmListProps, isHorizontal = false) {\n return (\n <SectionList\n keyExtractor={(item, i) => this.generateItemKey(item, i, props)}\n horizontal = {isHorizontal}\n contentContainerStyle={this.styles.root}\n sections={this.getSectionListData(props)}\n renderSectionHeader={({ section: {key, data}}) => {\n return this.renderHeader(props, key);\n }}\n renderSectionFooter={() => props.loadingdata ? this.renderLoadingIcon(props) : null}\n ListEmptyComponent = {(itemInfo) => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props)}\n renderItem={(itemInfo) => this.renderItem(itemInfo.item, itemInfo.index, props)}>\n </SectionList>\n );\n }\n\n renderWidget(props: WmListProps) {\n this.invokeEventCallback('onBeforedatarender', [this, this.state.props.dataset]);\n const isHorizontal = (props.direction === 'horizontal');\n return (\n <View \n style={isHorizontal ? null : { width: '100%' }}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n {(isHorizontal || !props.groupby) ?\n this.renderWithFlatList(props, isHorizontal)\n : this.renderWithSectionList(props, isHorizontal)}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","ActivityIndicator","SectionList","Text","View","FlatList","isArray","isEmpty","isNil","isNumber","round","BaseComponent","BaseComponentState","getGroupedData","getNumberOfEmptyObjects","isDefined","Tappable","DefaultKeyExtractor","WmLabel","WmIcon","Swipeable","WmListProps","DEFAULT_CLASS","BackgroundComponent","WmListState","constructor","args","_defineProperty","WmList","props","leftActionTemplate","createElement","Fragment","getTemplate","rightActionTemplate","groupKey","itemIndex","refKey","flatListRefs","scrollToIndex","index","animated","viewPosition","updateState","maxRecordsToShow","state","pagesize","isSelected","$item","selectedItem","selecteditem","indexOf","onSelect","$index","$event","eventName","disableitem","multiselect","selectionlimit","length","push","invokeEventCallback","splice","proxy","selectedItemWidgets","itemWidgets","direction","_this$state$groupedDa","groupedData","forEach","group","data","includes","key","Promise","resolve","selectedindex","scrollToItem","loadDataOnDemand","navigation","loadData","loadingData","dataset","setTimeout","$list","loadingdata","getNextPageData","currentPage","then","hasMoreData","catch","err","console","error","selectFirstItem","initialized","groupby","clear","selectItem","item","getItem","deselect","selectedItemIndex","getWidgets","widgetname","map","filter","widget","undefined","deselectAll","setGroupData","items","dataItems","match","orderby","dateformat","_this$keyExtractor","keyExtractor","onPropertyChange","name","$new","$old","orderbyData","_this$keyExtractor2","_this$keyExtractor3","selectfirstitem","pop","componentDidMount","_props$dataset","subscribe","event","scrollPosition","nativeEvent","contentOffset","y","layoutMeasurement","height","endThreshold","componentDidUpdate","prevProps","prevState","snapshot","getDefaultStyles","isHorizontal","theme","getStyle","defaultClass","getIndex","generateItemKey","itemkey","_showSkeleton","getKey","renderItem","cols","getNoOfColumns","styles","skeleton","root","renderLeftActions","renderRightActions","containerStyle","width","flex","style","itemclass","backgroundImage","image","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","_extends","getTestPropsForAction","disableTouchEffect","disabletoucheffect","onTap","onLongTap","onDoubleTap","display","flexDirection","paddingRight","marginRight","margin","itemContainer","id","getTestId","iconclass","selectedIcon","renderHeader","title","groupHeading","accessibilityRole","subheading","heading","listIcon","caption","accessibilityrole","renderEmptyMessage","emptyMessage","nodatamessage","renderLoadingIcon","loadingicon","loadingIcon","loadingdatamsg","color","text","itemsperrow","xs","onLayoutChange","e","l","layout","renderWithFlatList","onLayout","v","i","_ref","ref","testID","scrollEnabled","horizontal","numberofskeletonitems","ListEmptyComponent","itemInfo","showsHorizontalScrollIndicator","hidehorizontalscrollbar","numColumns","onDemandMessage","ondemandmessage","getSectionListData","_ref2","renderWithSectionList","contentContainerStyle","sections","renderSectionHeader","section","renderSectionFooter","renderWidget","handleLayout","_background"],"sources":["list.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ActivityIndicator, SectionList, Text, View, FlatList, LayoutChangeEvent, TouchableOpacity} from 'react-native';\nimport { isArray, isEmpty, isNil, isNumber, round } from 'lodash-es';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport {getGroupedData, getNumberOfEmptyObjects, isDefined} from \"@wavemaker/app-rn-runtime/core/utils\";\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { DefaultKeyExtractor } from '@wavemaker/app-rn-runtime/core/key.extractor';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { Swipeable } from 'react-native-gesture-handler';\nimport WmListActionTemplate from './list-action-template/list-action-template.component';\n\nimport WmListProps from './list.props';\nimport { DEFAULT_CLASS, WmListStyles } from './list.styles';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\n\n\nexport class WmListState extends BaseComponentState<WmListProps> {\n public selectedindex: any;\n groupedData: Array<any> = [];\n currentPage = 1;\n maxRecordsToShow = 20;\n}\n\nexport default class WmList extends BaseComponent<WmListProps, WmListState, WmListStyles> {\n\n private itemWidgets = [] as any[];\n private selectedItemWidgets = {} as any;\n private keyExtractor = new DefaultKeyExtractor();\n private endThreshold = -1;\n private loadingData = false;\n private hasMoreData = true;\n public leftActionTemplate?: WmListActionTemplate;\n public rightActionTemplate?: WmListActionTemplate;\n private flatListRefs:any = {};\n\n constructor(props: WmListProps) {\n super(props, DEFAULT_CLASS, new WmListProps(), new WmListState());\n this.updateState({\n maxRecordsToShow: this.state.props.pagesize\n } as WmListState);\n }\n\n private isSelected($item: any) {\n const selectedItem = this.state.props.selecteditem;\n if (isArray(selectedItem)) {\n return selectedItem.indexOf($item) >= 0;\n }\n return selectedItem === $item;\n }\n\n private async onSelect($item: any, $index: number | string, $event?: any) {\n const props = this.state.props;\n let selectedItem = null as any;\n let eventName = 'onSelect';\n if (props.disableitem !== true\n && (typeof props.disableitem !== 'function' || !props.disableitem($item, $index))) {\n if (props.multiselect) {\n selectedItem = [...(props.selecteditem || [])];\n const index = selectedItem.indexOf($item);\n if (index < 0) {\n if ((!props.selectionlimit)\n || props.selectionlimit < 0\n || selectedItem.length < props.selectionlimit) {\n selectedItem.push($item);\n } else {\n this.invokeEventCallback('onSelectionlimitexceed', [null, this]);\n }\n } else {\n selectedItem.splice(index, 1);\n eventName = 'onDeselect';\n }\n } else {\n this.state.props.selecteditem && this.invokeEventCallback('onDeselect', [this.proxy, this.state.props.selecteditem]);\n selectedItem = $item;\n }\n this.selectedItemWidgets = this.itemWidgets[$index as number];\n let groupKey: string | null = null;\n\n if (props.direction === 'horizontal') {\n this.state.groupedData?.forEach((group) => {\n if (group.data.includes($item)) {\n groupKey = group.key;\n }\n });\n }\n\n return new Promise(resolve => { \n this.updateState({\n props: { selecteditem: selectedItem },\n selectedindex: $index\n } as WmListState, () => {\n if(props.direction === 'horizontal'){\n this.scrollToItem(groupKey, $index as number);\n }\n this.invokeEventCallback(eventName, [this.proxy, $item]);\n $event && this.invokeEventCallback('onTap', [$event, this.proxy]);\n resolve(null);\n });\n });\n \n } else {\n return Promise.resolve(null);\n }\n }\n\n private get loadDataOnDemand() {\n const navigation = this.state.props.navigation;\n return navigation === 'Scroll' || navigation === 'On-Demand';\n }\n\n renderLeftActions = () => {\n return this.leftActionTemplate ? (\n <>\n {this.leftActionTemplate.getTemplate()}\n </>\n ) : null;\n };\n\n renderRightActions = () => {\n return this.rightActionTemplate ? (\n <>\n {this.rightActionTemplate.getTemplate()}\n </>\n ) : null;\n };\n\n private loadData() {\n if (this.loadingData) {\n return;\n }\n if (isArray(this.state.props.dataset)\n && this.state.props.dataset.length > this.state.maxRecordsToShow) {\n this.loadingData = true;\n this.updateState({\n maxRecordsToShow: this.state.maxRecordsToShow + this.state.props.pagesize\n } as WmListState);\n setTimeout(() => {\n this.loadingData = false;\n }, 100);\n } else if (this.loadDataOnDemand) {\n const $list = this.proxy as any;\n $list.loadingdata = true;\n this.loadingData = true;\n this.props.getNextPageData && this.props.getNextPageData(null, this.proxy, this.state.currentPage + 1).then((data) => {\n if (isArray(data) && data.length > 0\n && isArray(this.state.props.dataset)) {\n $list.dataset = [...this.state.props.dataset, ...data];\n this.updateState({\n currentPage : this.state.currentPage + 1,\n maxRecordsToShow: this.state.maxRecordsToShow + this.state.props.pagesize\n } as WmListState);\n this.hasMoreData = true;\n } else {\n this.hasMoreData = false;\n }\n }).catch((err) => {\n console.error(err);\n }).then(() => {\n setTimeout(() => {\n $list.loadingdata = false;\n }, 1000);\n });\n }\n }\n\n private selectFirstItem() {\n const props = this.state.props;\n if (this.initialized\n && props.dataset\n && props.dataset.length) {\n const index = props.groupby ? '00': 0;\n this.onSelect(props.dataset[0], index);\n }\n }\n\n clear(){\n this.updateState({\n groupedData: {},\n } as WmListState);\n }\n\n selectItem(item: any){\n const dataset = this.state.props.dataset;\n if(isNumber(item)){\n this.onSelect(dataset[item], item);\n }\n else{\n let index = dataset.indexOf(item);\n this.onSelect(dataset[index], index);\n }\n }\n\n getItem(index: number){\n const props = this.state.props;\n return this.props.dataset[index]\n }\n\n deselect(item: any){\n const props = this.state.props;\n let selectedItem = null as any;\n let index = isNumber(item)?item:props.dataset.indexOf(item);\n if(props.multiselect && index >= 0){\n selectedItem = [...(props.selecteditem || [])];\n let selectedItemIndex = selectedItem.indexOf(props.dataset[index])\n if(selectedItemIndex >= 0){\n selectedItem.splice(selectedItemIndex, 1);\n }\n }\n else{\n if (props.selecteditem === props.dataset[index]) {\n selectedItem = null;\n }\n }\n this.updateState({\n props: { selecteditem: selectedItem },\n\n } as WmListState, () => {\n this.invokeEventCallback('onDeselect', [this.proxy, item]);\n });\n }\n\n getWidgets(widgetname: string, index: number){\n if(index >= 0 && index < this.itemWidgets.length){\n return this.itemWidgets[index][widgetname]\n }\n else{\n return this.itemWidgets.map(item => item[widgetname]).filter(widget => widget !== undefined);\n }\n }\n\n private deselectAll() {\n this.updateState({\n props: { selecteditem: null },\n selectedindex: -1\n } as WmListState);\n }\n\n setGroupData(items: any) {\n const dataItems = items;\n const props = this.state.props;\n if (props.groupby) {\n const groupedData = dataItems && getGroupedData(dataItems, props.groupby, props.match, props.orderby, props.dateformat, this);\n this.updateState({\n groupedData: groupedData\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n }\n }\n\n public onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n switch(name) {\n case 'selectfirstitem':\n if ($new) {\n this.selectFirstItem();\n }\n break;\n case 'dataset':\n if (this.state.props.groupby) {\n this.setGroupData($new);\n } else {\n if (!($old && $old.length)\n && $new && $new.length\n && this.loadDataOnDemand) {\n this.updateState({\n props: {\n dataset: [...$new]\n }\n } as WmListState);\n }\n const data = isArray($new) ? $new : (!isEmpty($new) && isDefined($new) ? [$new] : []);\n if(props.orderby) {\n const orderbyData = data && getGroupedData(data, props.groupby, props.match, props.orderby, props.dateformat, this);\n this.updateState({\n groupedData: (orderbyData[0] ? [{\n key: 'key',\n data: orderbyData[0].data\n }] : [])\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n } else {\n this.updateState({\n groupedData: (data[0] || props.direction === 'horizontal' ? [{\n key: 'key',\n data: data\n }] : [])\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n }\n }\n this.itemWidgets = [];\n if (props.selectfirstitem) {\n this.selectFirstItem();\n } else {\n this.deselectAll();\n }\n break;\n case 'groupby':\n case 'match':\n this.setGroupData(this.state.props.dataset);\n break;\n case 'multiselect':\n if ($new) {\n if (!isArray(this.state.props.selecteditem)) {\n this.state.props.selecteditem = this.state.props.selecteditem ?\n [this.state.props.selecteditem] : [];\n }\n } else if (isArray(this.state.props.selecteditem)) {\n this.state.props.selecteditem = this.state.props.selecteditem.pop();\n }\n break;\n case 'loadingdata':\n this.loadingData = $new && this.loadingData;\n break;\n case 'selecteditem':\n if($new != $old && isNumber($new)) {\n this.selectItem(this.state.props.dataset[$new])\n }\n break;\n }\n }\n\n componentDidMount() {\n const props = this.state.props;\n if (this.state.props.selectfirstitem && props.dataset?.length) {\n setTimeout(() => {\n this.onSelect(props.dataset[0], 0);\n });\n }\n this.subscribe('scroll', (event: any) => {\n const scrollPosition = event.nativeEvent.contentOffset.y + event.nativeEvent.layoutMeasurement.height;\n if (scrollPosition > this.endThreshold && this.state.props.direction === 'vertical') {\n this.loadData();\n }\n });\n super.componentDidMount();\n }\n\n componentDidUpdate(prevProps: WmListProps, prevState: WmListState, snapshot?: any) {\n super.componentDidUpdate && super.componentDidUpdate(prevProps, prevState, snapshot);\n this.invokeEventCallback('onRender', [this, this.state.props.dataset]);\n }\n\n getDefaultStyles() {\n const isHorizontal = this.state.props.direction === 'horizontal';\n return this.theme.getStyle(`${this.defaultClass} ${isHorizontal ? 'app-horizontal-list' : 'app-vertical-list'}`);\n }\n\n getIndex(item: any) {\n return this.state.props.dataset.indexOf(item);\n }\n\n private generateItemKey(item: any, index: number, props: WmListProps) {\n if (props.itemkey && item && !this._showSkeleton) {\n return props.itemkey(item, index);\n }\n return 'list_item_' + this.keyExtractor.getKey(item, true);\n }\n\n private renderItem(item: any, index: number, props: WmListProps) {\n const cols = this. getNoOfColumns();\n const isHorizontal = (props.direction === 'horizontal');\n\n const styles = this._showSkeleton ? {\n ...this.styles.item,\n ...this.styles.skeleton.root\n } : this.styles.item as any\n return (index < this.state.maxRecordsToShow || isHorizontal) ? (\n <Swipeable\n renderLeftActions={() => this.renderLeftActions()}\n renderRightActions={() => this.renderRightActions()} containerStyle={ cols ? { width: round(100/cols) + \"%\" , flex: null } as any :{}}>\n <View style={[\n styles,\n props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null,\n this.isSelected(item) ? this.styles.selectedItem : {}]}>\n {styles.backgroundImage ? (\n <BackgroundComponent\n image={styles.backgroundImage}\n position={styles.backgroundPosition || 'center'}\n size={styles.backgroundSize || 'cover'}\n repeat={styles.backgroundRepeat || 'no-repeat'}\n resizeMode={styles.backgroundResizeMode || 'cover'}\n style={{ borderRadius: this.styles.item.borderRadius }}\n />\n ) : null}\n <Tappable\n {...this.getTestPropsForAction(`item${index}`)}\n disableTouchEffect={this.state.props.disabletoucheffect}\n onTap={($event) => this.onSelect(item, index, $event)}\n onLongTap={() => this.invokeEventCallback('onLongtap', [null, this.proxy])}\n onDoubleTap={() => this.invokeEventCallback('onDoubletap', [null, this.proxy])}\n styles={\n [{display: 'flex', flexDirection : 'row'},\n cols ? {\n width: '100%'\n } : null,\n (cols && cols > 1) || isHorizontal ? {\n paddingRight: (isNil(this.styles.item.marginRight)\n ? this.styles.item.margin : this.styles.item.marginRight) || 4\n } : null,\n this.styles.itemContainer\n ]\n }>\n {props.renderItem(item, index, this)}\n {this.isSelected(item) ? (\n <WmIcon id={this.getTestId('icon' + index)} iconclass='wi wi-check-circle' styles={this.styles.selectedIcon} />\n ) : null}\n </Tappable>\n </View>\n </Swipeable>\n ) : null;\n }\n\n private renderHeader(props: WmListProps, title: string) {\n return props.groupby ? (\n <Text style={this.styles.groupHeading} accessibilityRole='header'>{title}</Text>\n ) : (props.iconclass || props.title || props.subheading) ? (\n <View style={this.styles.heading}>\n <View style={{flex: 1, flexDirection: 'row'}}>\n <WmIcon id={this.getTestId('icon')} styles={this.styles.listIcon} iconclass={props.iconclass}></WmIcon>\n <View>\n <WmLabel id={this.getTestId('title')} styles={this.styles.title} caption={props.title} accessibilityrole='header'></WmLabel>\n <WmLabel id={this.getTestId('subheading')} styles={this.styles.subheading} caption={props.subheading}></WmLabel>\n </View>\n </View>\n </View>) : null;\n }\n\n private renderEmptyMessage(isHorizontal: boolean, item: any, index: any, props: WmListProps) {\n return (<WmLabel id={this.getTestId('emptymsg')} styles={this.styles.emptyMessage} caption={props.nodatamessage}></WmLabel>);\n }\n\n private renderLoadingIcon(props: WmListProps) {\n return props.loadingicon ? (<WmIcon\n id={this.getTestId('loadingicon')}\n styles={this.styles.loadingIcon}\n iconclass={props.loadingicon}\n caption={props.loadingdatamsg}></WmIcon>)\n : (\n <ActivityIndicator color={this.styles.loadingIcon.text.color}></ActivityIndicator>\n );\n }\n\n public getNoOfColumns() {\n const props = this.state.props;\n if(props.direction === 'vertical') {\n return props.itemsperrow.xs;\n }\n return 0;\n }\n\n private onLayoutChange(e: LayoutChangeEvent) {\n const l = e.nativeEvent.layout;\n this.endThreshold = l.height + l.y - 100;\n if (!this.endThreshold) {\n this.endThreshold = -1;\n }\n }\n\n private scrollToItem = (groupKey: string | null, itemIndex: number) => {\n const refKey = groupKey || 'main';\n if (this.flatListRefs[refKey]) {\n this.flatListRefs[refKey].scrollToIndex({\n index: itemIndex,\n animated: true,\n viewPosition: 0.5,\n });\n }\n };\n\n private renderWithFlatList(props: WmListProps, isHorizontal = false) {\n\n return (\n <View style={this.styles.root} onLayout={e => this.onLayoutChange(e)}>\n {!isEmpty(this.state.groupedData) ? this.state.groupedData.map((v: any, i) => ((\n <View style={this.styles.group} key={v.key || this.keyExtractor.getKey(v, true)}>\n {this.renderHeader(props, v.key)}\n <FlatList\n ref={(ref) => { this.flatListRefs[v.key || 'main'] = ref; }}\n testID={this.getTestId('flat_list')}\n key={props.name + '_' + (isHorizontal ? 'H' : 'V') + props.itemsperrow.xs}\n keyExtractor={(item, i) => this.generateItemKey(item, i, props)}\n scrollEnabled={isHorizontal}\n horizontal = {isHorizontal}\n data={this._showSkeleton? [...getNumberOfEmptyObjects(this.props.numberofskeletonitems as number ?? 3)] : (isEmpty(v.data[0]) ? []: v.data)}\n ListEmptyComponent = {(itemInfo) => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props)}\n renderItem={(itemInfo) => this.renderItem(itemInfo.item, itemInfo.index, props)}\n {...(isHorizontal ? {showsHorizontalScrollIndicator: !props.hidehorizontalscrollbar} : {numColumns : this.getNoOfColumns()})}>\n </FlatList>\n {this.loadDataOnDemand || (v.data.length > this.state.maxRecordsToShow) ?\n (this.loadingData ?\n this.renderLoadingIcon(props) :\n (<WmLabel id={this.getTestId('ondemandmessage')}\n styles={this.styles.onDemandMessage}\n caption={this.hasMoreData && !isHorizontal ? props.ondemandmessage : props.nodatamessage}\n onTap={() => this.loadData()}></WmLabel>))\n : null}\n </View>\n ))) : this.renderEmptyMessage(isHorizontal, null, null,props)\n }\n </View>);\n }\n\n private getSectionListData(props: WmListProps) {\n if (this._showSkeleton) {\n return [{\n key: '',\n data: [...getNumberOfEmptyObjects(this.props.numberofskeletonitems as number ?? 3)]\n }];\n } else if (this.state.groupedData\n && this.state.groupedData[0]\n && this.state.groupedData[0]['data'].length) {\n return this.state.groupedData;\n }\n return [];\n }\n\n private renderWithSectionList(props: WmListProps, isHorizontal = false) {\n return (\n <SectionList\n keyExtractor={(item, i) => this.generateItemKey(item, i, props)}\n horizontal = {isHorizontal}\n contentContainerStyle={this.styles.root}\n sections={this.getSectionListData(props)}\n renderSectionHeader={({ section: {key, data}}) => {\n return this.renderHeader(props, key);\n }}\n renderSectionFooter={() => props.loadingdata ? this.renderLoadingIcon(props) : null}\n ListEmptyComponent = {(itemInfo) => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props)}\n renderItem={(itemInfo) => this.renderItem(itemInfo.item, itemInfo.index, props)}>\n </SectionList>\n );\n }\n\n renderWidget(props: WmListProps) {\n this.invokeEventCallback('onBeforedatarender', [this, this.state.props.dataset]);\n const isHorizontal = (props.direction === 'horizontal');\n\n return (\n <View \n style={isHorizontal ? null : { width: '100%' }}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n {(isHorizontal || !props.groupby) ?\n this.renderWithFlatList(props, isHorizontal)\n : this.renderWithSectionList(props, isHorizontal)}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|