@wavemaker-ai/app-rn-runtime 1.0.0-rc.324 → 1.0.0-rc.328
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/offline-banner/offline-banner.component.js +68 -0
- package/components/advanced/offline-banner/offline-banner.component.js.map +1 -0
- package/components/advanced/offline-banner/offline-banner.props.js +12 -0
- package/components/advanced/offline-banner/offline-banner.props.js.map +1 -0
- package/components/advanced/offline-banner/offline-banner.styles.js +99 -0
- package/components/advanced/offline-banner/offline-banner.styles.js.map +1 -0
- package/components/advanced/webview/webview.component.js +2 -2
- package/components/advanced/webview/webview.component.js.map +1 -1
- package/components/advanced/webview/webview.props.js +1 -1
- package/components/advanced/webview/webview.props.js.map +1 -1
- package/components/basic/bottomsheet/bottomsheet.component.js +156 -14
- package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
- package/components/basic/bottomsheet/bottomsheet.styles.js +0 -3
- package/components/basic/bottomsheet/bottomsheet.styles.js.map +1 -1
- package/components/basic/progress-circle/progress-circle.component.js +3 -1
- package/components/basic/progress-circle/progress-circle.component.js.map +1 -1
- package/components/chart/area-chart/area-chart.component.js +86 -93
- package/components/chart/area-chart/area-chart.component.js.map +1 -1
- package/components/chart/area-chart/area-chart.props.js +2 -0
- package/components/chart/area-chart/area-chart.props.js.map +1 -1
- package/components/chart/bar-chart/bar-chart.component.js +79 -97
- package/components/chart/bar-chart/bar-chart.component.js.map +1 -1
- package/components/chart/basechart.component.js +117 -96
- package/components/chart/basechart.component.js.map +1 -1
- package/components/chart/basechart.props.js +12 -0
- package/components/chart/basechart.props.js.map +1 -1
- package/components/chart/basechart.styles.js.map +1 -1
- package/components/chart/bubble-chart/bubble-chart.component.js +72 -70
- package/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
- package/components/chart/bubble-chart/bubble-chart.props.js +1 -0
- package/components/chart/bubble-chart/bubble-chart.props.js.map +1 -1
- package/components/chart/line-chart/line-chart.component.js +105 -79
- package/components/chart/line-chart/line-chart.component.js.map +1 -1
- package/components/chart/pie-chart/pie-chart.component.js +70 -166
- package/components/chart/pie-chart/pie-chart.component.js.map +1 -1
- package/components/chart/pie-chart/pie-chart.props.js +1 -0
- package/components/chart/pie-chart/pie-chart.props.js.map +1 -1
- package/components/container/accordion/accordionpane/accordionpane.component.js +6 -2
- package/components/container/accordion/accordionpane/accordionpane.component.js.map +1 -1
- package/components/container/container.component.js +27 -1
- package/components/container/container.component.js.map +1 -1
- package/components/container/container.props.js +7 -0
- package/components/container/container.props.js.map +1 -1
- package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js +25 -1
- package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js.map +1 -1
- package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.props.js +1 -0
- package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.props.js.map +1 -1
- package/components/container/tabs/tabheader/tabheader.component.js +5 -14
- package/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
- package/components/container/tabs/tabheader/tabheader.props.js +0 -2
- package/components/container/tabs/tabheader/tabheader.props.js.map +1 -1
- package/components/container/tabs/tabheader/tabheader.styles.js +1 -43
- package/components/container/tabs/tabheader/tabheader.styles.js.map +1 -1
- package/components/container/tabs/tabpane/tabpane.component.js +6 -2
- package/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
- package/components/container/tabs/tabs.component.js +2 -6
- package/components/container/tabs/tabs.component.js.map +1 -1
- package/components/container/tabs/tabs.props.js +0 -2
- package/components/container/tabs/tabs.props.js.map +1 -1
- package/components/container/wizard/wizardstep/wizardstep.component.js +28 -5
- package/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
- package/components/container/wizard/wizardstep/wizardstep.props.js +2 -0
- package/components/container/wizard/wizardstep/wizardstep.props.js.map +1 -1
- package/components/data/form/form-field/form-field.component.js +1 -0
- package/components/data/form/form-field/form-field.component.js.map +1 -1
- package/components/data/form/form-field/form-field.props.js +1 -0
- package/components/data/form/form-field/form-field.props.js.map +1 -1
- package/components/data/list/list-template/list-template.component.js +3 -0
- package/components/data/list/list-template/list-template.component.js.map +1 -1
- package/components/data/list/list.component.js +6 -4
- package/components/data/list/list.component.js.map +1 -1
- package/components/data/list/list.styles.js +1 -14
- package/components/data/list/list.styles.js.map +1 -1
- package/components/input/baseinput/baseinput.component.js +7 -0
- package/components/input/baseinput/baseinput.component.js.map +1 -1
- package/components/input/calendar/calendar.component.js +4 -0
- package/components/input/calendar/calendar.component.js.map +1 -1
- package/components/input/calendar/views/month-view.js +8 -1
- package/components/input/calendar/views/month-view.js.map +1 -1
- package/components/input/checkboxset/checkboxset.component.js.map +1 -1
- package/components/input/checkboxset/checkboxset.styles.js.map +1 -1
- package/components/input/chips/chips.component.js +3 -4
- package/components/input/chips/chips.component.js.map +1 -1
- package/components/input/chips/chips.styles.js +1 -2
- package/components/input/chips/chips.styles.js.map +1 -1
- package/components/input/currency/currency.component.js +1 -0
- package/components/input/currency/currency.component.js.map +1 -1
- package/components/input/number/number.component.js +1 -0
- package/components/input/number/number.component.js.map +1 -1
- package/components/input/switch/switch.component.js +2 -16
- package/components/input/switch/switch.component.js.map +1 -1
- package/components/input/switch/switch.props.js +0 -1
- package/components/input/switch/switch.props.js.map +1 -1
- package/components/input/switch/switch.styles.js +0 -19
- package/components/input/switch/switch.styles.js.map +1 -1
- package/components/input/text/text.component.js +14 -3
- package/components/input/text/text.component.js.map +1 -1
- package/components/input/text/text.props.js +1 -0
- package/components/input/text/text.props.js.map +1 -1
- package/components/input/text/text.styles.js +3 -1
- package/components/input/text/text.styles.js.map +1 -1
- package/components/input/textarea/textarea.component.js +3 -2
- package/components/input/textarea/textarea.component.js.map +1 -1
- package/components/input/toggle/toggle.component.js +4 -13
- package/components/input/toggle/toggle.component.js.map +1 -1
- package/components/input/toggle/toggle.props.js +1 -3
- package/components/input/toggle/toggle.props.js.map +1 -1
- package/components/input/toggle/toggle.styles.js +4 -12
- package/components/input/toggle/toggle.styles.js.map +1 -1
- package/components/navigation/appnavbar/appnavbar.props.js +1 -1
- package/components/navigation/appnavbar/appnavbar.props.js.map +1 -1
- package/components/page/page-content/page-content.component.js +3 -0
- package/components/page/page-content/page-content.component.js.map +1 -1
- package/components/page/page-content/page-content.props.js +2 -0
- package/components/page/page-content/page-content.props.js.map +1 -1
- package/components/page/page.component.js +95 -2
- package/components/page/page.component.js.map +1 -1
- package/components/page/page.props.js +3 -0
- package/components/page/page.props.js.map +1 -1
- package/components/page/tabbar/tabbar.component.js +3 -2
- package/components/page/tabbar/tabbar.component.js.map +1 -1
- package/components/page/tabbar/tabbar.props.js +1 -0
- package/components/page/tabbar/tabbar.props.js.map +1 -1
- package/components-prism/basic/search/search.component.js +8 -12
- package/components-prism/basic/search/search.component.js.map +1 -1
- package/components-prism/basic/search/search.props.js +1 -1
- package/components-prism/basic/search/search.props.js.map +1 -1
- package/components-prism/basic/search/search.styles.js +60 -25
- package/components-prism/basic/search/search.styles.js.map +1 -1
- package/core/AppConfig.js.map +1 -1
- package/core/accessibility.js +9 -0
- package/core/accessibility.js.map +1 -1
- package/core/auto-layout-host.component.js +8 -2
- package/core/auto-layout-host.component.js.map +1 -1
- package/core/auto-layout.utils.js +59 -0
- package/core/auto-layout.utils.js.map +1 -1
- package/core/base.component.js +22 -1
- package/core/base.component.js.map +1 -1
- package/core/components/floatinglabel.component.js +5 -2
- package/core/components/floatinglabel.component.js.map +1 -1
- package/core/components/textinput.component.js +3 -0
- package/core/components/textinput.component.js.map +1 -1
- package/core/network.service.js.map +1 -1
- package/core/tappable.component.js +109 -15
- package/core/tappable.component.js.map +1 -1
- package/npm-shrinkwrap.json +2835 -5858
- package/package-lock.json +2835 -5858
- package/package.json +25 -18
- package/runtime/base-fragment.component.js +7 -1
- package/runtime/base-fragment.component.js.map +1 -1
- package/runtime/base-page.component.js +24 -0
- package/runtime/base-page.component.js.map +1 -1
- package/runtime/base-partial.component.js.map +1 -1
- package/runtime/navigator/drawer.navigator.js +1 -0
- package/runtime/navigator/drawer.navigator.js.map +1 -1
- package/runtime/navigator/stack.navigator.js +16 -1
- package/runtime/navigator/stack.navigator.js.map +1 -1
- package/runtime/services/device/scan-service.js +12 -34
- package/runtime/services/device/scan-service.js.map +1 -1
- package/styles/theme.variables.js.map +1 -1
- package/variables/http.service.js +6 -1
- package/variables/http.service.js.map +1 -1
- package/variables/interceptor/intercept-context.impl.js +46 -0
- package/variables/interceptor/intercept-context.impl.js.map +1 -0
- package/variables/interceptor/interceptor.factory.js +78 -0
- package/variables/interceptor/interceptor.factory.js.map +1 -0
- package/variables/interceptor/persistent.storage.js +142 -0
- package/variables/interceptor/persistent.storage.js.map +1 -0
- package/variables/interceptor/service-variable-interceptor.js +52 -0
- package/variables/interceptor/service-variable-interceptor.js.map +1 -0
- package/variables/service-variable.js +109 -1
- package/variables/service-variable.js.map +1 -1
|
@@ -10,21 +10,114 @@ import { SafeAreaInsetsContext } from 'react-native-safe-area-context';
|
|
|
10
10
|
import { StickyViewComponents } from '@wavemaker-ai/app-rn-runtime/core/sticky-view.component';
|
|
11
11
|
import { FixedViewContainer } from '@wavemaker-ai/app-rn-runtime/core/fixed-view.component';
|
|
12
12
|
import injector from '@wavemaker-ai/app-rn-runtime/core/injector';
|
|
13
|
-
|
|
13
|
+
import * as NavigationBar from 'expo-navigation-bar';
|
|
14
|
+
import NetworkService from '@wavemaker-ai/app-rn-runtime/core/network.service';
|
|
15
|
+
import WmOfflineBanner from '@wavemaker-ai/app-rn-runtime/components/advanced/offline-banner/offline-banner.component';
|
|
16
|
+
import { isWebPreviewMode } from '@wavemaker-ai/app-rn-runtime/core/utils';
|
|
17
|
+
export class WmPageState extends BaseComponentState {
|
|
18
|
+
constructor(...args) {
|
|
19
|
+
super(...args);
|
|
20
|
+
_defineProperty(this, "isConnected", void 0);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
14
23
|
export default class WmPage extends BaseComponent {
|
|
15
24
|
constructor(props) {
|
|
16
25
|
super(props, DEFAULT_CLASS);
|
|
17
26
|
_defineProperty(this, "appConfig", injector.get('APP_CONFIG'));
|
|
27
|
+
_defineProperty(this, "_unsubscribeNetworkState", void 0);
|
|
28
|
+
_defineProperty(this, "_networkMonitoringActive", void 0);
|
|
18
29
|
_defineProperty(this, "panResponder", PanResponder.create({
|
|
19
30
|
onStartShouldSetPanResponderCapture: e => {
|
|
20
31
|
this.notify('globaltouch', [e]);
|
|
21
32
|
return false;
|
|
22
33
|
}
|
|
23
34
|
}));
|
|
35
|
+
this.state = {
|
|
36
|
+
...this.state,
|
|
37
|
+
isConnected: true
|
|
38
|
+
};
|
|
24
39
|
}
|
|
25
|
-
|
|
40
|
+
componentDidMount() {
|
|
41
|
+
super.componentDidMount();
|
|
42
|
+
this.setNavigationBarColor();
|
|
43
|
+
}
|
|
44
|
+
componentDidUpdate(prevProps, prevState) {
|
|
45
|
+
super.componentDidUpdate(prevProps, prevState);
|
|
46
|
+
if (prevProps.navigationbarstyle !== this.props.navigationbarstyle) {
|
|
47
|
+
this.setNavigationBarColor();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
pageFocus() {
|
|
51
|
+
if (this._networkMonitoringActive || !this.props.showofflinebanner) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
this._networkMonitoringActive = true;
|
|
55
|
+
this._unsubscribeNetworkState = NetworkService.notifier.subscribe('onNetworkStateChange', networkState => {
|
|
56
|
+
var _networkState$, _networkState$2;
|
|
57
|
+
const connected = ((_networkState$ = networkState[0]) === null || _networkState$ === void 0 ? void 0 : _networkState$.isConnected) && ((_networkState$2 = networkState[0]) === null || _networkState$2 === void 0 ? void 0 : _networkState$2.isNetworkAvailable);
|
|
58
|
+
if (this.state.isConnected !== connected) {
|
|
59
|
+
this.setState({
|
|
60
|
+
...this.state,
|
|
61
|
+
isConnected: connected
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
// Do the initial check for network state. The above subscribe listener will not be called in this case.
|
|
67
|
+
const connected = NetworkService.isConnected();
|
|
68
|
+
if (connected) {
|
|
69
|
+
this.setState({
|
|
70
|
+
...this.state,
|
|
71
|
+
isConnected: connected
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
pageBlur() {
|
|
76
|
+
if (!this._networkMonitoringActive) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
this._networkMonitoringActive = false;
|
|
80
|
+
if (this._unsubscribeNetworkState) {
|
|
81
|
+
this._unsubscribeNetworkState();
|
|
82
|
+
this._unsubscribeNetworkState = null;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
setNavigationBarColor() {
|
|
26
86
|
var _this$appConfig;
|
|
27
87
|
const isEdgeToEdgeApp = !!((_this$appConfig = this.appConfig) !== null && _this$appConfig !== void 0 && (_this$appConfig = _this$appConfig.edgeToEdgeConfig) !== null && _this$appConfig !== void 0 && _this$appConfig.isEdgeToEdgeApp);
|
|
88
|
+
if (Platform.OS !== 'android' || !isEdgeToEdgeApp) return;
|
|
89
|
+
const isDark = this.props.navigationbarstyle === 'dark';
|
|
90
|
+
const navbarColor = isDark ? 'rgba(0,0,0,0.2)' : 'rgba(255,255,255,0.5)';
|
|
91
|
+
const buttonStyle = isDark ? 'light' : 'dark';
|
|
92
|
+
NavigationBar.setBackgroundColorAsync(navbarColor);
|
|
93
|
+
NavigationBar.setButtonStyleAsync(buttonStyle);
|
|
94
|
+
}
|
|
95
|
+
async onNetworkRetry() {
|
|
96
|
+
const isConnected = await NetworkService.isConnected();
|
|
97
|
+
if (!isConnected) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
this.setState({
|
|
101
|
+
...this.state,
|
|
102
|
+
isConnected: true
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
renderOfflineBanner() {
|
|
106
|
+
return /*#__PURE__*/React.createElement(WmOfflineBanner, {
|
|
107
|
+
onRetry: async () => {
|
|
108
|
+
await this.onNetworkRetry();
|
|
109
|
+
this.props.listener.onNetworkRetry();
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
renderWidget(props) {
|
|
114
|
+
var _this$appConfig2;
|
|
115
|
+
// TODO: add props.networkerrorinparent condition to check if the network error is in the parent fragment
|
|
116
|
+
|
|
117
|
+
if (!isWebPreviewMode() && props.showofflinebanner && !this.state.isConnected) {
|
|
118
|
+
return this.renderOfflineBanner();
|
|
119
|
+
}
|
|
120
|
+
const isEdgeToEdgeApp = !!((_this$appConfig2 = this.appConfig) !== null && _this$appConfig2 !== void 0 && (_this$appConfig2 = _this$appConfig2.edgeToEdgeConfig) !== null && _this$appConfig2 !== void 0 && _this$appConfig2.isEdgeToEdgeApp);
|
|
28
121
|
return /*#__PURE__*/React.createElement(StickyViewComponents, {
|
|
29
122
|
hasAppnavbar: props.hasappnavbar,
|
|
30
123
|
onscroll: props.onscroll,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","PanResponder","View","StatusBar","Platform","BaseComponent","BaseComponentState","DEFAULT_CLASS","SafeAreaInsetsContext","StickyViewComponents","FixedViewContainer","injector","WmPageState","WmPage","constructor","props","_defineProperty","get","create","onStartShouldSetPanResponderCapture","e","notify","renderWidget","_this$appConfig","isEdgeToEdgeApp","appConfig","edgeToEdgeConfig","createElement","hasAppnavbar","hasappnavbar","onscroll","notifier","OS","barStyle","statusbarstyle","Consumer","insets","top","bottom","left","right","_extends","getTestProps","style","paddingTop","styles","root","panResponder","panHandlers","_background","children"],"sources":["page.component.tsx"],"sourcesContent":["import React from 'react';\nimport { PanResponder, ScrollView, View, NativeSyntheticEvent, NativeScrollEvent ,StatusBar, Platform} from 'react-native';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport WmPageProps from './page.props';\nimport { DEFAULT_CLASS, WmPageStyles } from './page.styles';\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport { StickyViewComponents } from '@wavemaker-ai/app-rn-runtime/core/sticky-view.component';\nimport { FixedViewContainer } from '@wavemaker-ai/app-rn-runtime/core/fixed-view.component';\nimport injector from '@wavemaker-ai/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker-ai/app-rn-runtime/core/AppConfig';\nimport * as NavigationBar from 'expo-navigation-bar';\n\nexport class WmPageState extends BaseComponentState<WmPageProps> {}\n\nexport default class WmPage extends BaseComponent<WmPageProps, WmPageState, WmPageStyles> {\n private appConfig = injector.get<AppConfig>('APP_CONFIG');\n\n panResponder = PanResponder.create({\n onStartShouldSetPanResponderCapture: (e) => {\n this.notify('globaltouch', [e]);\n return false;\n },\n });\n constructor(props: WmPageProps) {\n super(props, DEFAULT_CLASS);\n }\n\n\n renderWidget(props: WmPageProps) {\n\n const isEdgeToEdgeApp = !!this.appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp;\n return (\n <StickyViewComponents hasAppnavbar={props.hasappnavbar} onscroll={props.onscroll} notifier={this.notifier}>\n <FixedViewContainer>\n {isEdgeToEdgeApp && Platform.OS ===\"android\" ? <StatusBar barStyle={props.statusbarstyle}/> : null}\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n return (\n <View\n {...this.getTestProps()}\n style={[{paddingTop : !props?.hasappnavbar && isEdgeToEdgeApp ? insets?.top : 0 },this.styles.root]}\n {...this.panResponder.panHandlers}\n >\n {this._background}\n {props.children}\n </View>\n )\n }}\n </SafeAreaInsetsContext.Consumer>\n </FixedViewContainer>\n </StickyViewComponents>\n );\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY,EAAcC,IAAI,EAA4CC,SAAS,EAAEC,QAAQ,QAAO,cAAc;AAE3H,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,kDAAkD;AAEpG,SAASC,aAAa,QAAsB,eAAe;AAC3D,SAASC,qBAAqB,QAAQ,gCAAgC;AACtE,SAASC,oBAAoB,QAAQ,yDAAyD;AAC9F,SAASC,kBAAkB,QAAQ,wDAAwD;AAC3F,OAAOC,QAAQ,MAAM,4CAA4C;AAIjE,OAAO,MAAMC,WAAW,SAASN,kBAAkB,CAAc;AAEjE,eAAe,MAAMO,MAAM,SAASR,aAAa,CAAyC;EASxFS,WAAWA,CAACC,KAAkB,EAAE;IAC9B,KAAK,CAACA,KAAK,EAAER,aAAa,CAAC;IAACS,eAAA,oBATVL,QAAQ,CAACM,GAAG,CAAY,YAAY,CAAC;IAAAD,eAAA,uBAE1Cf,YAAY,CAACiB,MAAM,CAAC;MACjCC,mCAAmC,EAAGC,CAAC,IAAK;QAC1C,IAAI,CAACC,MAAM,CAAC,aAAa,EAAE,CAACD,CAAC,CAAC,CAAC;QAC/B,OAAO,KAAK;MACd;IACF,CAAC,CAAC;EAGF;EAGAE,YAAYA,CAACP,KAAkB,EAAE;IAAA,IAAAQ,eAAA;IAE/B,MAAMC,eAAe,GAAG,CAAC,GAAAD,eAAA,GAAC,IAAI,CAACE,SAAS,cAAAF,eAAA,gBAAAA,eAAA,GAAdA,eAAA,CAAgBG,gBAAgB,cAAAH,eAAA,eAAhCA,eAAA,CAAkCC,eAAe;IAC3E,oBACExB,KAAA,CAAA2B,aAAA,CAAClB,oBAAoB;MAACmB,YAAY,EAAEb,KAAK,CAACc,YAAa;MAACC,QAAQ,EAAEf,KAAK,CAACe,QAAS;MAACC,QAAQ,EAAE,IAAI,CAACA;IAAS,gBACxG/B,KAAA,CAAA2B,aAAA,CAACjB,kBAAkB,QAClBc,eAAe,IAAIpB,QAAQ,CAAC4B,EAAE,KAAI,SAAS,gBAAGhC,KAAA,CAAA2B,aAAA,CAACxB,SAAS;MAAC8B,QAAQ,EAAElB,KAAK,CAACmB;IAAe,CAAC,CAAC,GAAG,IAAI,eAChGlC,KAAA,CAAA2B,aAAA,CAACnB,qBAAqB,CAAC2B,QAAQ,QAC5B,CAACC,MAAM,GAAG;MAAEC,GAAG,EAAE,CAAC;MAAEC,MAAM,EAAE,CAAC;MAAEC,IAAI,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAE,CAAC,KAAK;MACtD,oBACExC,KAAA,CAAA2B,aAAA,CAACzB,IAAI,EAAAuC,QAAA,KACC,IAAI,CAACC,YAAY,CAAC,CAAC;QACvBC,KAAK,EAAE,CAAC;UAACC,UAAU,EAAG,EAAC7B,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEc,YAAY,KAAIL,eAAe,GAAGY,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEC,GAAG,GAAG;QAAE,CAAC,EAAC,IAAI,CAACQ,MAAM,CAACC,IAAI;MAAE,GAChG,IAAI,CAACC,YAAY,CAACC,WAAW,GAEhC,IAAI,CAACC,WAAW,EAChBlC,KAAK,CAACmC,QACH,CAAC;IAEX,CAC8B,CACd,CACA,CAAC;EAE3B;AACF","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","PanResponder","View","StatusBar","Platform","BaseComponent","BaseComponentState","DEFAULT_CLASS","SafeAreaInsetsContext","StickyViewComponents","FixedViewContainer","injector","NavigationBar","NetworkService","WmOfflineBanner","isWebPreviewMode","WmPageState","constructor","args","_defineProperty","WmPage","props","get","create","onStartShouldSetPanResponderCapture","e","notify","state","isConnected","componentDidMount","setNavigationBarColor","componentDidUpdate","prevProps","prevState","navigationbarstyle","pageFocus","_networkMonitoringActive","showofflinebanner","_unsubscribeNetworkState","notifier","subscribe","networkState","_networkState$","_networkState$2","connected","isNetworkAvailable","setState","pageBlur","_this$appConfig","isEdgeToEdgeApp","appConfig","edgeToEdgeConfig","OS","isDark","navbarColor","buttonStyle","setBackgroundColorAsync","setButtonStyleAsync","onNetworkRetry","renderOfflineBanner","createElement","onRetry","listener","renderWidget","_this$appConfig2","hasAppnavbar","hasappnavbar","onscroll","barStyle","statusbarstyle","Consumer","insets","top","bottom","left","right","_extends","getTestProps","style","paddingTop","styles","root","panResponder","panHandlers","_background","children"],"sources":["page.component.tsx"],"sourcesContent":["import React from 'react';\nimport { PanResponder, ScrollView, View, NativeSyntheticEvent, NativeScrollEvent ,StatusBar, Platform} from 'react-native';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport WmPageProps from './page.props';\nimport { DEFAULT_CLASS, WmPageStyles } from './page.styles';\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport { StickyViewComponents } from '@wavemaker-ai/app-rn-runtime/core/sticky-view.component';\nimport { FixedViewContainer } from '@wavemaker-ai/app-rn-runtime/core/fixed-view.component';\nimport injector from '@wavemaker-ai/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker-ai/app-rn-runtime/core/AppConfig';\nimport * as NavigationBar from 'expo-navigation-bar';\nimport NetworkService from '@wavemaker-ai/app-rn-runtime/core/network.service';\nimport WmOfflineBanner from '@wavemaker-ai/app-rn-runtime/components/advanced/offline-banner/offline-banner.component';\nimport BasePage from '@wavemaker-ai/app-rn-runtime/runtime/base-page.component';\nimport { isWebPreviewMode } from '@wavemaker-ai/app-rn-runtime/core/utils';\n\nexport class WmPageState extends BaseComponentState<WmPageProps> {\n isConnected?: boolean;\n}\n\nexport default class WmPage extends BaseComponent<WmPageProps, WmPageState, WmPageStyles> {\n private appConfig = injector.get<AppConfig>('APP_CONFIG');\n private _unsubscribeNetworkState: any;\n private _networkMonitoringActive: any;\n panResponder = PanResponder.create({\n onStartShouldSetPanResponderCapture: (e) => {\n this.notify('globaltouch', [e]);\n return false;\n },\n });\n constructor(props: WmPageProps) {\n super(props, DEFAULT_CLASS);\n this.state = {\n ...this.state,\n isConnected: true\n } as WmPageState;\n \n }\n\n componentDidMount() {\n super.componentDidMount();\n this.setNavigationBarColor();\n }\n\n\n componentDidUpdate(prevProps: WmPageProps, prevState: WmPageState) {\n super.componentDidUpdate(prevProps, prevState)\n if (prevProps.navigationbarstyle !== this.props.navigationbarstyle) {\n this.setNavigationBarColor();\n }\n }\n\n public pageFocus(): void {\n if (this._networkMonitoringActive || !this.props.showofflinebanner) {\n return;\n }\n this._networkMonitoringActive = true;\n \n this._unsubscribeNetworkState = NetworkService.notifier.subscribe('onNetworkStateChange', (networkState: any) => {\n const connected = networkState[0]?.isConnected && networkState[0]?.isNetworkAvailable;\n if (this.state.isConnected !== connected) {\n this.setState({ ...this.state, isConnected: connected } as WmPageState);\n }\n });\n \n // Do the initial check for network state. The above subscribe listener will not be called in this case.\n const connected = NetworkService.isConnected();\n if (connected) {\n this.setState({ ...this.state, isConnected: connected } as WmPageState);\n }\n }\n\n public pageBlur(): void {\n if (!this._networkMonitoringActive) {\n return;\n }\n this._networkMonitoringActive = false;\n \n if (this._unsubscribeNetworkState) {\n this._unsubscribeNetworkState();\n this._unsubscribeNetworkState = null;\n }\n }\n\n setNavigationBarColor() {\n const isEdgeToEdgeApp = !!this.appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp;\n if (Platform.OS !== 'android' || !isEdgeToEdgeApp) return;\n \n const isDark = this.props.navigationbarstyle === 'dark';\n const navbarColor = isDark ? 'rgba(0,0,0,0.2)' : 'rgba(255,255,255,0.5)';\n \n const buttonStyle = isDark ? 'light' : 'dark';\n\n NavigationBar.setBackgroundColorAsync(navbarColor);\n NavigationBar.setButtonStyleAsync(buttonStyle);\n }\n\n async onNetworkRetry() {\n const isConnected = await NetworkService.isConnected();\n if(!isConnected) {\n return;\n }\n this.setState({ ...this.state, isConnected: true } as WmPageState);\n }\n\n private renderOfflineBanner() {\n return (\n <WmOfflineBanner onRetry={async () => {\n await this.onNetworkRetry();\n (this.props.listener as BasePage).onNetworkRetry();\n }} />\n );\n }\n\n renderWidget(props: WmPageProps) {\n\n // TODO: add props.networkerrorinparent condition to check if the network error is in the parent fragment\n\n if (!isWebPreviewMode() && props.showofflinebanner && (!this.state.isConnected)) {\n return this.renderOfflineBanner();\n }\n\n const isEdgeToEdgeApp = !!this.appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp;\n return (\n <StickyViewComponents hasAppnavbar={props.hasappnavbar} onscroll={props.onscroll} notifier={this.notifier}>\n <FixedViewContainer>\n {isEdgeToEdgeApp && Platform.OS ===\"android\" ? <StatusBar barStyle={props.statusbarstyle}/> : null}\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n return (\n <View\n {...this.getTestProps()}\n style={[{paddingTop : !props?.hasappnavbar && isEdgeToEdgeApp ? insets?.top : 0 },this.styles.root]}\n {...this.panResponder.panHandlers}\n >\n {this._background}\n {props.children}\n </View>\n )\n }}\n </SafeAreaInsetsContext.Consumer>\n </FixedViewContainer>\n </StickyViewComponents>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,6 +10,9 @@ export default class WmPageProps extends BaseProps {
|
|
|
10
10
|
_defineProperty(this, "onscroll", '');
|
|
11
11
|
// none, topnav, topnav-bottomnav
|
|
12
12
|
_defineProperty(this, "statusbarstyle", 'default');
|
|
13
|
+
_defineProperty(this, "navigationbarstyle", "light");
|
|
14
|
+
_defineProperty(this, "showofflinebanner", false);
|
|
15
|
+
_defineProperty(this, "networkerrorinparent", false);
|
|
13
16
|
}
|
|
14
17
|
}
|
|
15
18
|
//# sourceMappingURL=page.props.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseProps","WmPageProps","constructor","args","_defineProperty"],"sources":["page.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nexport default class WmPageProps extends BaseProps{\n children: any[] = [];\n hasappnavbar:boolean = true;\n onscroll: string = ''; // none, topnav, topnav-bottomnav\n statusbarstyle:'default'|'dark-content'|'light-content' = 'default';\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,kDAAkD;AAC5E,eAAe,MAAMC,WAAW,SAASD,SAAS;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,mBAC9B,EAAE;IAAAA,eAAA,uBACG,IAAI;IAAAA,eAAA,mBACR,EAAE;IAAE;IAAAA,eAAA,yBACmC,SAAS;EAAA;
|
|
1
|
+
{"version":3,"names":["BaseProps","WmPageProps","constructor","args","_defineProperty"],"sources":["page.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nexport default class WmPageProps extends BaseProps{\n children: any[] = [];\n hasappnavbar:boolean = true;\n onscroll: string = ''; // none, topnav, topnav-bottomnav\n statusbarstyle:'default'|'dark-content'|'light-content' = 'default';\n navigationbarstyle:'dark'|'light' = \"light\";\n showofflinebanner:boolean = false;\n networkerrorinparent:boolean = false\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,kDAAkD;AAC5E,eAAe,MAAMC,WAAW,SAASD,SAAS;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,mBAC9B,EAAE;IAAAA,eAAA,uBACG,IAAI;IAAAA,eAAA,mBACR,EAAE;IAAE;IAAAA,eAAA,yBACmC,SAAS;IAAAA,eAAA,6BAC/B,OAAO;IAAAA,eAAA,4BACf,KAAK;IAAAA,eAAA,+BACF,KAAK;EAAA;AACtC","ignoreList":[]}
|
|
@@ -61,12 +61,13 @@ export default class WmTabbar extends BaseNavComponent {
|
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
renderTabItem(item, testId, props, onSelect, floating = false) {
|
|
64
|
-
const isActive = props.isActive && props.isActive(item);
|
|
64
|
+
const isActive = !!(props.isActive && props.isActive(item));
|
|
65
|
+
const activeOnParent = props.highlightactivetab === 'parent view';
|
|
65
66
|
const getDisplayLabel = this.props.getDisplayExpression || (label => label);
|
|
66
67
|
const displayLabel = getDisplayLabel(item.label);
|
|
67
68
|
let increasedGap = Number(testId) === (item === null || item === void 0 ? void 0 : item.indexBeforeMid) && this.state.dataItems.length % 2 != 0 && (props.classname || '').indexOf('clipped-tabbar') >= 0 ? [this.styles.tabItem, {
|
|
68
69
|
paddingRight: 70
|
|
69
|
-
}] : [this.styles.tabItem];
|
|
70
|
+
}] : [isActive && activeOnParent ? this.styles.activeTabItem : this.styles.tabItem];
|
|
70
71
|
return /*#__PURE__*/React.createElement(TouchableOpacity, _extends({}, this.getTestPropsForAction('item' + testId), {
|
|
71
72
|
style: [increasedGap, floating ? this.styles.centerHubItem : {}],
|
|
72
73
|
key: `${item.label}_${testId}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Text","View","TouchableOpacity","Dimensions","Keyboard","Animated","Easing","ThemeProvider","ModalConsumer","WmIcon","NavigationServiceConsumer","BaseNavComponent","BaseNavState","WmTabbarProps","DEFAULT_CLASS","Svg","Path","getPathDown","ThemeVariables","FixedView","SafeAreaInsetsContext","injector","StickyWrapperContext","scale","n","WmTabbarState","constructor","args","_defineProperty","WmTabbar","props","Value","get","width","cleanup","push","addListener","keyBoardShown","forceUpdate","remove","onPropertyChange","name","$new","$old","destroyScrollListner","subscribeToPageScroll","renderTabItem","item","testId","onSelect","floating","isActive","getDisplayLabel","getDisplayExpression","label","displayLabel","increasedGap","Number","indexBeforeMid","state","dataItems","length","classname","indexOf","styles","tabItem","paddingRight","createElement","_extends","getTestPropsForAction","style","centerHubItem","key","onPress","activeTabItem","theme","mergeStyle","tabIcon","centerHubIcon","activeTabIcon","iconclass","icon","tabLabel","centerHubLabel","activeTabLabel","numberOfLines","onItemSelect","navigationService","link","openUrl","invokeEventCallback","proxy","prepareModalOptions","content","o","modalOptions","modalStyle","bottom","tabbarHeight","contentStyle","modalContent","isVisible","animateWithTiming","value","duratiion","timing","translateY","toValue","easing","linear","duration","useNativeDriver","start","tabbarHeightWithInsets","subscribe","event","_this$getLayout","_this$insets","contentOffset","layoutMeasurement","contentSize","nativeEvent","scrollPosition","y","getLayout","height","visibleContentHeight","endReached","bottomInsets","insets","e","Math","abs","scrollDelta","scrollDirection","componentWillUnmount","renderContent","max","tabItems","tabItemsLength","bottomTabHeightValue","isClippedTabbar","middleIndex","floor","returnpathDown","maxWidth","root","moreItems","moreItemsCount","ceil","j","i","row","Consumer","top","left","right","_this$appConfig","paddingBottomVal","paddingBottom","padding","isEdgeToEdgeApp","appConfig","edgeToEdgeConfig","stylesWithFs","backgroundColor","menu","ref","baseView","onLayout","context","bottomTabHeight","hideonscroll","layout","notify","handleLayout","zIndex","position","INSTANCE","transparent","fill","tabbarBackgroundColor","d","Fragment","modalService","showMore","showModal","moreMenu","map","a","moreMenuRow","index","hideModal","testID","filter","morebuttonlabel","morebuttoniconclass","updateState","renderWidget","isFixed","animateStyle","transform","animated","_background"],"sources":["tabbar.component.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { Text, View, TouchableOpacity, Dimensions, Keyboard, Animated, Easing, LayoutChangeEvent,\n NativeSyntheticEvent, NativeScrollEvent\n} from 'react-native';\nimport { ThemeProvider } from '@wavemaker-ai/app-rn-runtime/styles/theme';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker-ai/app-rn-runtime/core/modal.service';\nimport WmIcon from '@wavemaker-ai/app-rn-runtime/components/basic/icon/icon.component';\nimport NavigationService, { NavigationServiceConsumer } from '@wavemaker-ai/app-rn-runtime/core/navigation.service';\nimport { BaseNavProps } from '@wavemaker-ai/app-rn-runtime/components/navigation/basenav/basenav.props';\nimport { BaseNavComponent, BaseNavState, NavigationDataItem } from '@wavemaker-ai/app-rn-runtime/components/navigation/basenav/basenav.component';\n\nimport WmTabbarProps from './tabbar.props';\nimport { DEFAULT_CLASS, WmTabbarStyles } from './tabbar.styles';\nimport Svg, { Path } from 'react-native-svg';\nimport { getPathDown } from './curve';\n// import { scale } from 'react-native-size-scaling';\nimport ThemeVariables from '@wavemaker-ai/app-rn-runtime/styles/theme.variables';\nimport { FixedView } from '@wavemaker-ai/app-rn-runtime/core/fixed-view.component';\nimport { EdgeInsets, SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport injector from '@wavemaker-ai/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker-ai/app-rn-runtime/core/AppConfig';\nimport { StickyWrapperContext, StickyWrapperContextType } from '@wavemaker-ai/app-rn-runtime/core/sticky-wrapper';\n\ninterface TabDataItem extends NavigationDataItem {\n floating: boolean;\n indexBeforeMid: number;\n}\n\ninterface CustomScrollEvent {\n scrollDirection: number;\n scrollDelta: number;\n}\n\nconst scale = (n: number) => n;\n\nclass WmTabbarState<T extends BaseNavProps> extends BaseNavState<T> {\n showMore = false;\n modalOptions = {} as ModalOptions;\n dataItems: TabDataItem[] = [];\n}\n\nexport default class WmTabbar extends BaseNavComponent<WmTabbarProps, WmTabbarState<WmTabbarProps>, WmTabbarStyles> {\n\n private tabbarHeight = 0;\n private keyBoardShown = false;\n private destroyScrollListner: Function = null as any;\n private translateY = new Animated.Value(0);\n private insets: EdgeInsets | null = null;\n private appConfig = injector.get<AppConfig>('APP_CONFIG');\n private tabbarHeightWithInsets: number = 0;\n static contextType = StickyWrapperContext;\n\n constructor(props: WmTabbarProps) {\n super(props, DEFAULT_CLASS, new WmTabbarProps(), new WmTabbarState());\n this.cleanup.push(Keyboard.addListener('keyboardWillShow', () => {\n this.keyBoardShown = true;\n this.forceUpdate();\n }).remove);\n this.cleanup.push(Keyboard.addListener('keyboardWillHide', () => {\n this.keyBoardShown = false;\n this.forceUpdate();\n }).remove);\n }\n\n private maxWidth = Dimensions.get(\"window\").width;\n private returnpathDown: any;\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name){\n case 'hideonscroll':\n this.destroyScrollListner && this.destroyScrollListner();\n if($new) {\n this.subscribeToPageScroll();\n }\n break;\n }\n }\n\n renderTabItem(item: TabDataItem, testId: string, props: WmTabbarProps, onSelect: Function, floating = false) {\n\n const isActive = props.isActive && props.isActive(item);\n const getDisplayLabel = this.props.getDisplayExpression || ((label: string) => label);\n const displayLabel = getDisplayLabel(item.label);\n let increasedGap = Number(testId) === item?.indexBeforeMid && (this.state.dataItems.length % 2!=0) && ((props.classname || '').indexOf('clipped-tabbar') >= 0)\n ? [this.styles.tabItem, { paddingRight: 70 }]\n : [this.styles.tabItem];\n\n return (\n <TouchableOpacity\n {...this.getTestPropsForAction('item' + testId)}\n style={[increasedGap, floating? this.styles.centerHubItem: {}]}\n key={`${item.label}_${testId}`}\n onPress={() => onSelect && onSelect()}>\n <View key={item.key}>\n <View style={[isActive && !floating ? this.styles.activeTabItem : {}]}>\n <WmIcon\n styles={this.theme.mergeStyle({}, this.styles.tabIcon, floating? this.styles.centerHubIcon: {}, isActive ? this.styles.activeTabIcon : {})}\n iconclass={item.icon}\n ></WmIcon>\n </View>\n </View>\n {displayLabel ? (\n <Text style={[this.styles.tabLabel, floating? this.styles.centerHubLabel: {}, isActive ? this.styles.activeTabLabel : {}]} numberOfLines={1}>\n {displayLabel}\n </Text>\n ) : null}\n </TouchableOpacity>\n );\n }\n\n onItemSelect(item: NavigationDataItem, navigationService: NavigationService) {\n item.link && navigationService.openUrl(item.link);\n this.invokeEventCallback('onSelect', [null, this.proxy, item]);\n }\n\n prepareModalOptions(content: ReactNode) {\n const o = this.state.modalOptions;\n o.content = content;\n o.modalStyle = {\n bottom: this.tabbarHeight\n };\n o.contentStyle = this.styles.modalContent;\n return o;\n }\n\n isVisible(): boolean {\n return super.isVisible() && !this.keyBoardShown;\n }\n\n animateWithTiming(value: number, duratiion: number): void {\n Animated.timing(this.translateY, {\n toValue: value,\n easing: Easing.linear,\n duration: duratiion,\n useNativeDriver: false\n }).start()\n }\n\n subscribeToPageScroll(){\n this.tabbarHeightWithInsets = 0;\n this.destroyScrollListner = this.subscribe('scroll', (event: NativeSyntheticEvent<NativeScrollEvent>)=>{\n const { contentOffset, layoutMeasurement, contentSize } = event.nativeEvent ;\n const scrollPosition = contentOffset.y ;\n this.tabbarHeightWithInsets = this.tabbarHeightWithInsets ? this.tabbarHeightWithInsets : this.getLayout()?.height ;\n const visibleContentHeight = layoutMeasurement.height ;\n const endReached = (scrollPosition + visibleContentHeight + this.tabbarHeightWithInsets) + 8 >= contentSize.height ;\n const bottomInsets = this.insets?.bottom || 0\n const e = event.nativeEvent as any as CustomScrollEvent;\n if(Math.abs(e?.scrollDelta) >= 2){\n if(e?.scrollDirection > 0){\n this.animateWithTiming(0, 100)\n }else if(e?.scrollDirection < 0) {\n this.animateWithTiming(this.tabbarHeightWithInsets + bottomInsets, 100)\n }\n }\n if(endReached){\n this.animateWithTiming(0, 0)\n }\n })\n }\n\n componentWillUnmount(): void {\n this.destroyScrollListner && this.destroyScrollListner();\n }\n\n renderContent(props: WmTabbarProps){\n let max = 5;\n const tabItems = this.state.dataItems;\n const tabItemsLength = tabItems.length;\n let bottomTabHeightValue;\n const isClippedTabbar = ((props.classname || '').indexOf('clipped-tabbar') >= 0) && (tabItemsLength % 2 !== 0);\n if (isClippedTabbar && tabItemsLength % 2 !== 0) {\n const middleIndex = Math.floor(tabItemsLength / 2);\n tabItems[middleIndex]['floating'] = true;\n tabItems[middleIndex - 1]['indexBeforeMid'] = middleIndex-1;\n }\n this.returnpathDown = getPathDown(this.maxWidth, 65 ,60,this.styles.root.height as number);\n const moreItems = [] as any[][];\n if (tabItems.length > max) {\n const moreItemsCount = Math.ceil((tabItems.length + 1 - max)/ max) * max;\n let j = 0;\n for (let i = max-1; i < moreItemsCount;) {\n const row = [];\n for (let j = 0; j < max; j++) {\n row[j] = tabItems[i++] || {key: 'tabItem' + i} as TabDataItem;\n }\n moreItems.push(row);\n }\n max = max - 1;\n }\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n this.insets = insets;\n const paddingBottomVal = this.styles.root.paddingBottom || this.styles.root.padding;\n const isEdgeToEdgeApp = !!this.appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp;\n const stylesWithFs = isEdgeToEdgeApp ? {height: this.styles.root.height as number + (insets?.bottom || 0) as number,\n paddingBottom: (paddingBottomVal || 0) as number + (insets?.bottom || 0) as number , backgroundColor: this.styles.root.backgroundColor || this.styles.menu.backgroundColor} : {}\n return (\n <NavigationServiceConsumer>\n {(navigationService) =>(\n <View style={[this.styles.root, stylesWithFs]}\n ref={(ref)=> {this.baseView = ref as any}}\n onLayout={(event: LayoutChangeEvent) => {\n if(this.context && (this.context as StickyWrapperContextType).bottomTabHeight && props.hideonscroll) {\n bottomTabHeightValue = event.nativeEvent.layout.height || 0;\n (this.context as StickyWrapperContextType).bottomTabHeight.value = bottomTabHeightValue;\n this.notify('updateBottomTabHeight', [bottomTabHeightValue], true);\n }\n this.handleLayout(event);\n }}\n >\n {isClippedTabbar ? (\n <Svg width={this.maxWidth} height={scale(this.styles.root.height as number)} style={{zIndex: -1,position: 'absolute',backgroundColor: ThemeVariables.INSTANCE.transparent}}>\n <Path fill={ThemeVariables.INSTANCE.tabbarBackgroundColor} {...{ d: this.returnpathDown }}/>\n </Svg>\n ): <></>}\n <ModalConsumer>\n {(modalService: ModalService) => {\n if (this.state.showMore) {\n modalService.showModal(this.prepareModalOptions((\n <ThemeProvider value={this.theme} >\n <View style={this.styles.moreMenu}>\n {moreItems.map((a, i) =>\n (<View key={i} style={this.styles.moreMenuRow}>\n {a.map((item, index) => this.renderTabItem(item, i + '', props, () => this.onItemSelect(item, navigationService)))}\n </View>)\n )}\n </View>\n </ThemeProvider>)));\n } else {\n modalService.hideModal(this.state.modalOptions);\n }\n return null;\n }}\n </ModalConsumer>\n <View\n testID=\"test_tabbar-menu\"\n style={this.styles.menu}\n onLayout={e => { this.tabbarHeight = e.nativeEvent.layout.height}}>\n {tabItems.filter((item, i) => i < max)\n .map((item, i) => this.renderTabItem(item, i + '', props, () => this.onItemSelect(item, navigationService), item.floating))}\n {tabItems.length > max && (\n this.renderTabItem({\n label: props.morebuttonlabel,\n icon: props.morebuttoniconclass\n } as TabDataItem, 6666 +'', props, () => {\n this.updateState({showMore: !this.state.showMore} as WmTabbarState<WmTabbarProps>);\n })\n )}\n </View>\n </View>)}\n </NavigationServiceConsumer>\n )}}\n </SafeAreaInsetsContext.Consumer>\n )\n }\n\n renderWidget(props: WmTabbarProps) {\n this.isFixed = true;\n const animateStyle = props.hideonscroll ? {transform: [{translateY: this.translateY}]} : {};\n return props.hideonscroll ? (\n <FixedView\n name={this.props.name}\n style={{...{bottom: 0, width:'100%', zIndex: 11}, ...animateStyle}}\n theme={this.theme}\n animated={props.hideonscroll || false}>\n {this._background}\n {this.renderContent(props)}\n </FixedView>\n ) : this.renderContent(props)\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","Text","View","TouchableOpacity","Dimensions","Keyboard","Animated","Easing","ThemeProvider","ModalConsumer","WmIcon","NavigationServiceConsumer","BaseNavComponent","BaseNavState","WmTabbarProps","DEFAULT_CLASS","Svg","Path","getPathDown","ThemeVariables","FixedView","SafeAreaInsetsContext","injector","StickyWrapperContext","scale","n","WmTabbarState","constructor","args","_defineProperty","WmTabbar","props","Value","get","width","cleanup","push","addListener","keyBoardShown","forceUpdate","remove","onPropertyChange","name","$new","$old","destroyScrollListner","subscribeToPageScroll","renderTabItem","item","testId","onSelect","floating","isActive","activeOnParent","highlightactivetab","getDisplayLabel","getDisplayExpression","label","displayLabel","increasedGap","Number","indexBeforeMid","state","dataItems","length","classname","indexOf","styles","tabItem","paddingRight","activeTabItem","createElement","_extends","getTestPropsForAction","style","centerHubItem","key","onPress","theme","mergeStyle","tabIcon","centerHubIcon","activeTabIcon","iconclass","icon","tabLabel","centerHubLabel","activeTabLabel","numberOfLines","onItemSelect","navigationService","link","openUrl","invokeEventCallback","proxy","prepareModalOptions","content","o","modalOptions","modalStyle","bottom","tabbarHeight","contentStyle","modalContent","isVisible","animateWithTiming","value","duratiion","timing","translateY","toValue","easing","linear","duration","useNativeDriver","start","tabbarHeightWithInsets","subscribe","event","_this$getLayout","_this$insets","contentOffset","layoutMeasurement","contentSize","nativeEvent","scrollPosition","y","getLayout","height","visibleContentHeight","endReached","bottomInsets","insets","e","Math","abs","scrollDelta","scrollDirection","componentWillUnmount","renderContent","max","tabItems","tabItemsLength","bottomTabHeightValue","isClippedTabbar","middleIndex","floor","returnpathDown","maxWidth","root","moreItems","moreItemsCount","ceil","j","i","row","Consumer","top","left","right","_this$appConfig","paddingBottomVal","paddingBottom","padding","isEdgeToEdgeApp","appConfig","edgeToEdgeConfig","stylesWithFs","backgroundColor","menu","ref","baseView","onLayout","context","bottomTabHeight","hideonscroll","layout","notify","handleLayout","zIndex","position","INSTANCE","transparent","fill","tabbarBackgroundColor","d","Fragment","modalService","showMore","showModal","moreMenu","map","a","moreMenuRow","index","hideModal","testID","filter","morebuttonlabel","morebuttoniconclass","updateState","renderWidget","isFixed","animateStyle","transform","animated","_background"],"sources":["tabbar.component.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { Text, View, TouchableOpacity, Dimensions, Keyboard, Animated, Easing, LayoutChangeEvent,\n NativeSyntheticEvent, NativeScrollEvent\n} from 'react-native';\nimport { ThemeProvider } from '@wavemaker-ai/app-rn-runtime/styles/theme';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker-ai/app-rn-runtime/core/modal.service';\nimport WmIcon from '@wavemaker-ai/app-rn-runtime/components/basic/icon/icon.component';\nimport NavigationService, { NavigationServiceConsumer } from '@wavemaker-ai/app-rn-runtime/core/navigation.service';\nimport { BaseNavProps } from '@wavemaker-ai/app-rn-runtime/components/navigation/basenav/basenav.props';\nimport { BaseNavComponent, BaseNavState, NavigationDataItem } from '@wavemaker-ai/app-rn-runtime/components/navigation/basenav/basenav.component';\n\nimport WmTabbarProps from './tabbar.props';\nimport { DEFAULT_CLASS, WmTabbarStyles } from './tabbar.styles';\nimport Svg, { Path } from 'react-native-svg';\nimport { getPathDown } from './curve';\n// import { scale } from 'react-native-size-scaling';\nimport ThemeVariables from '@wavemaker-ai/app-rn-runtime/styles/theme.variables';\nimport { FixedView } from '@wavemaker-ai/app-rn-runtime/core/fixed-view.component';\nimport { EdgeInsets, SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport injector from '@wavemaker-ai/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker-ai/app-rn-runtime/core/AppConfig';\nimport { StickyWrapperContext, StickyWrapperContextType } from '@wavemaker-ai/app-rn-runtime/core/sticky-wrapper';\n\ninterface TabDataItem extends NavigationDataItem {\n floating: boolean;\n indexBeforeMid: number;\n}\n\ninterface CustomScrollEvent {\n scrollDirection: number;\n scrollDelta: number;\n}\n\nconst scale = (n: number) => n;\n\nclass WmTabbarState<T extends BaseNavProps> extends BaseNavState<T> {\n showMore = false;\n modalOptions = {} as ModalOptions;\n dataItems: TabDataItem[] = [];\n}\n\nexport default class WmTabbar extends BaseNavComponent<WmTabbarProps, WmTabbarState<WmTabbarProps>, WmTabbarStyles> {\n\n private tabbarHeight = 0;\n private keyBoardShown = false;\n private destroyScrollListner: Function = null as any;\n private translateY = new Animated.Value(0);\n private insets: EdgeInsets | null = null;\n private appConfig = injector.get<AppConfig>('APP_CONFIG');\n private tabbarHeightWithInsets: number = 0;\n static contextType = StickyWrapperContext;\n\n constructor(props: WmTabbarProps) {\n super(props, DEFAULT_CLASS, new WmTabbarProps(), new WmTabbarState());\n this.cleanup.push(Keyboard.addListener('keyboardWillShow', () => {\n this.keyBoardShown = true;\n this.forceUpdate();\n }).remove);\n this.cleanup.push(Keyboard.addListener('keyboardWillHide', () => {\n this.keyBoardShown = false;\n this.forceUpdate();\n }).remove);\n }\n\n private maxWidth = Dimensions.get(\"window\").width;\n private returnpathDown: any;\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name){\n case 'hideonscroll':\n this.destroyScrollListner && this.destroyScrollListner();\n if($new) {\n this.subscribeToPageScroll();\n }\n break;\n }\n }\n\n renderTabItem(item: TabDataItem, testId: string, props: WmTabbarProps, onSelect: Function, floating = false) {\n\n const isActive = !!(props.isActive && props.isActive(item));\n const activeOnParent = props.highlightactivetab === 'parent view';\n const getDisplayLabel = this.props.getDisplayExpression || ((label: string) => label);\n const displayLabel = getDisplayLabel(item.label);\n let increasedGap = Number(testId) === item?.indexBeforeMid && (this.state.dataItems.length % 2!=0) && ((props.classname || '').indexOf('clipped-tabbar') >= 0)\n ? [this.styles.tabItem, { paddingRight: 70 }]\n : [isActive && activeOnParent ? this.styles.activeTabItem : this.styles.tabItem];\n\n return (\n <TouchableOpacity\n {...this.getTestPropsForAction('item' + testId)}\n style={[increasedGap, floating? this.styles.centerHubItem: {}]}\n key={`${item.label}_${testId}`}\n onPress={() => onSelect && onSelect()}>\n <View key={item.key}>\n <View style={[isActive && !floating ? this.styles.activeTabItem : {}]}>\n <WmIcon\n styles={this.theme.mergeStyle({}, this.styles.tabIcon, floating? this.styles.centerHubIcon: {}, isActive ? this.styles.activeTabIcon : {})}\n iconclass={item.icon}\n ></WmIcon>\n </View>\n </View>\n {displayLabel ? (\n <Text style={[this.styles.tabLabel, floating? this.styles.centerHubLabel: {}, isActive ? this.styles.activeTabLabel : {}]} numberOfLines={1}>\n {displayLabel}\n </Text>\n ) : null}\n </TouchableOpacity>\n );\n }\n\n onItemSelect(item: NavigationDataItem, navigationService: NavigationService) {\n item.link && navigationService.openUrl(item.link);\n this.invokeEventCallback('onSelect', [null, this.proxy, item]);\n }\n\n prepareModalOptions(content: ReactNode) {\n const o = this.state.modalOptions;\n o.content = content;\n o.modalStyle = {\n bottom: this.tabbarHeight\n };\n o.contentStyle = this.styles.modalContent;\n return o;\n }\n\n isVisible(): boolean {\n return super.isVisible() && !this.keyBoardShown;\n }\n\n animateWithTiming(value: number, duratiion: number): void {\n Animated.timing(this.translateY, {\n toValue: value,\n easing: Easing.linear,\n duration: duratiion,\n useNativeDriver: false\n }).start()\n }\n\n subscribeToPageScroll(){\n this.tabbarHeightWithInsets = 0;\n this.destroyScrollListner = this.subscribe('scroll', (event: NativeSyntheticEvent<NativeScrollEvent>)=>{\n const { contentOffset, layoutMeasurement, contentSize } = event.nativeEvent ;\n const scrollPosition = contentOffset.y ;\n this.tabbarHeightWithInsets = this.tabbarHeightWithInsets ? this.tabbarHeightWithInsets : this.getLayout()?.height ;\n const visibleContentHeight = layoutMeasurement.height ;\n const endReached = (scrollPosition + visibleContentHeight + this.tabbarHeightWithInsets) + 8 >= contentSize.height ;\n const bottomInsets = this.insets?.bottom || 0\n const e = event.nativeEvent as any as CustomScrollEvent;\n if(Math.abs(e?.scrollDelta) >= 2){\n if(e?.scrollDirection > 0){\n this.animateWithTiming(0, 100)\n }else if(e?.scrollDirection < 0) {\n this.animateWithTiming(this.tabbarHeightWithInsets + bottomInsets, 100)\n }\n }\n if(endReached){\n this.animateWithTiming(0, 0)\n }\n })\n }\n\n componentWillUnmount(): void {\n this.destroyScrollListner && this.destroyScrollListner();\n }\n\n renderContent(props: WmTabbarProps){\n let max = 5;\n const tabItems = this.state.dataItems;\n const tabItemsLength = tabItems.length;\n let bottomTabHeightValue;\n const isClippedTabbar = ((props.classname || '').indexOf('clipped-tabbar') >= 0) && (tabItemsLength % 2 !== 0);\n if (isClippedTabbar && tabItemsLength % 2 !== 0) {\n const middleIndex = Math.floor(tabItemsLength / 2);\n tabItems[middleIndex]['floating'] = true;\n tabItems[middleIndex - 1]['indexBeforeMid'] = middleIndex-1;\n }\n this.returnpathDown = getPathDown(this.maxWidth, 65 ,60,this.styles.root.height as number);\n const moreItems = [] as any[][];\n if (tabItems.length > max) {\n const moreItemsCount = Math.ceil((tabItems.length + 1 - max)/ max) * max;\n let j = 0;\n for (let i = max-1; i < moreItemsCount;) {\n const row = [];\n for (let j = 0; j < max; j++) {\n row[j] = tabItems[i++] || {key: 'tabItem' + i} as TabDataItem;\n }\n moreItems.push(row);\n }\n max = max - 1;\n }\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n this.insets = insets;\n const paddingBottomVal = this.styles.root.paddingBottom || this.styles.root.padding;\n const isEdgeToEdgeApp = !!this.appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp;\n const stylesWithFs = isEdgeToEdgeApp ? {height: this.styles.root.height as number + (insets?.bottom || 0) as number,\n paddingBottom: (paddingBottomVal || 0) as number + (insets?.bottom || 0) as number , backgroundColor: this.styles.root.backgroundColor || this.styles.menu.backgroundColor} : {}\n return (\n <NavigationServiceConsumer>\n {(navigationService) =>(\n <View style={[this.styles.root, stylesWithFs]}\n ref={(ref)=> {this.baseView = ref as any}}\n onLayout={(event: LayoutChangeEvent) => {\n if(this.context && (this.context as StickyWrapperContextType).bottomTabHeight && props.hideonscroll) {\n bottomTabHeightValue = event.nativeEvent.layout.height || 0;\n (this.context as StickyWrapperContextType).bottomTabHeight.value = bottomTabHeightValue;\n this.notify('updateBottomTabHeight', [bottomTabHeightValue], true);\n }\n this.handleLayout(event);\n }}\n >\n {isClippedTabbar ? (\n <Svg width={this.maxWidth} height={scale(this.styles.root.height as number)} style={{zIndex: -1,position: 'absolute',backgroundColor: ThemeVariables.INSTANCE.transparent}}>\n <Path fill={ThemeVariables.INSTANCE.tabbarBackgroundColor} {...{ d: this.returnpathDown }}/>\n </Svg>\n ): <></>}\n <ModalConsumer>\n {(modalService: ModalService) => {\n if (this.state.showMore) {\n modalService.showModal(this.prepareModalOptions((\n <ThemeProvider value={this.theme} >\n <View style={this.styles.moreMenu}>\n {moreItems.map((a, i) =>\n (<View key={i} style={this.styles.moreMenuRow}>\n {a.map((item, index) => this.renderTabItem(item, i + '', props, () => this.onItemSelect(item, navigationService)))}\n </View>)\n )}\n </View>\n </ThemeProvider>)));\n } else {\n modalService.hideModal(this.state.modalOptions);\n }\n return null;\n }}\n </ModalConsumer>\n <View\n testID=\"test_tabbar-menu\"\n style={this.styles.menu}\n onLayout={e => { this.tabbarHeight = e.nativeEvent.layout.height}}>\n {tabItems.filter((item, i) => i < max)\n .map((item, i) => this.renderTabItem(item, i + '', props, () => this.onItemSelect(item, navigationService), item.floating))}\n {tabItems.length > max && (\n this.renderTabItem({\n label: props.morebuttonlabel,\n icon: props.morebuttoniconclass\n } as TabDataItem, 6666 +'', props, () => {\n this.updateState({showMore: !this.state.showMore} as WmTabbarState<WmTabbarProps>);\n })\n )}\n </View>\n </View>)}\n </NavigationServiceConsumer>\n )}}\n </SafeAreaInsetsContext.Consumer>\n )\n }\n\n renderWidget(props: WmTabbarProps) {\n this.isFixed = true;\n const animateStyle = props.hideonscroll ? {transform: [{translateY: this.translateY}]} : {};\n return props.hideonscroll ? (\n <FixedView\n name={this.props.name}\n style={{...{bottom: 0, width:'100%', zIndex: 11}, ...animateStyle}}\n theme={this.theme}\n animated={props.hideonscroll || false}>\n {this._background}\n {this.renderContent(props)}\n </FixedView>\n ) : this.renderContent(props)\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -24,6 +24,7 @@ export default class WmTabbarProps extends BaseNavProps {
|
|
|
24
24
|
'icon': 'wm-sl-r sl-settings'
|
|
25
25
|
}]);
|
|
26
26
|
_defineProperty(this, "hideonscroll", false);
|
|
27
|
+
_defineProperty(this, "highlightactivetab", 'nested view');
|
|
27
28
|
}
|
|
28
29
|
}
|
|
29
30
|
//# sourceMappingURL=tabbar.props.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseNavProps","WmTabbarProps","constructor","args","_defineProperty","item"],"sources":["tabbar.props.ts"],"sourcesContent":["import { BaseNavProps } from '../../navigation/basenav/basenav.props';\nimport WmTabbar from './tabbar.component';\n\nexport default class WmTabbarProps extends BaseNavProps {\n morebuttoniconclass? = 'wi wi-more-horiz';\n morebuttonlabel? = 'more';\n itemchildren?: string = 'children';\n isActive? = (item: any) => false;\n onSelect? : (event: any, widget: WmTabbar) => any;\n dataset?: any = [{\n 'label' : 'Home',\n 'icon' : 'wm-sl-r sl-home'\n },{\n 'label' : 'Analytics',\n 'icon' : 'wm-sl-r sl-graph-ascend'\n },{\n 'label' : 'Alerts',\n 'icon' : 'wm-sl-r sl-alarm-bell'\n },{\n 'label' : 'Settings',\n 'icon' : 'wm-sl-r sl-settings'\n }];\n hideonscroll: boolean = false;\n}\n"],"mappings":";;;AAAA,SAASA,YAAY,QAAQ,wCAAwC;AAGrE,eAAe,MAAMC,aAAa,SAASD,YAAY,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,8BAC/B,kBAAkB;IAAAA,eAAA,0BACtB,MAAM;IAAAA,eAAA,uBACD,UAAU;IAAAA,eAAA,mBACrBC,IAAS,IAAK,KAAK;IAAAD,eAAA;IAAAA,eAAA,kBAEhB,CAAC;MACb,OAAO,EAAG,MAAM;MAChB,MAAM,EAAI;IACZ,CAAC,EAAC;MACA,OAAO,EAAG,WAAW;MACrB,MAAM,EAAI;IACZ,CAAC,EAAC;MACA,OAAO,EAAG,QAAQ;MAClB,MAAM,EAAI;IACZ,CAAC,EAAC;MACA,OAAO,EAAG,UAAU;MACpB,MAAM,EAAI;IACd,CAAC,CAAC;IAAAA,eAAA,uBACsB,KAAK;EAAA;
|
|
1
|
+
{"version":3,"names":["BaseNavProps","WmTabbarProps","constructor","args","_defineProperty","item"],"sources":["tabbar.props.ts"],"sourcesContent":["import { BaseNavProps } from '../../navigation/basenav/basenav.props';\nimport WmTabbar from './tabbar.component';\n\nexport default class WmTabbarProps extends BaseNavProps {\n morebuttoniconclass? = 'wi wi-more-horiz';\n morebuttonlabel? = 'more';\n itemchildren?: string = 'children';\n isActive? = (item: any) => false;\n onSelect? : (event: any, widget: WmTabbar) => any;\n dataset?: any = [{\n 'label' : 'Home',\n 'icon' : 'wm-sl-r sl-home'\n },{\n 'label' : 'Analytics',\n 'icon' : 'wm-sl-r sl-graph-ascend'\n },{\n 'label' : 'Alerts',\n 'icon' : 'wm-sl-r sl-alarm-bell'\n },{\n 'label' : 'Settings',\n 'icon' : 'wm-sl-r sl-settings'\n }];\n hideonscroll: boolean = false;\n highlightactivetab: string = 'nested view';\n}\n"],"mappings":";;;AAAA,SAASA,YAAY,QAAQ,wCAAwC;AAGrE,eAAe,MAAMC,aAAa,SAASD,YAAY,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,8BAC/B,kBAAkB;IAAAA,eAAA,0BACtB,MAAM;IAAAA,eAAA,uBACD,UAAU;IAAAA,eAAA,mBACrBC,IAAS,IAAK,KAAK;IAAAD,eAAA;IAAAA,eAAA,kBAEhB,CAAC;MACb,OAAO,EAAG,MAAM;MAChB,MAAM,EAAI;IACZ,CAAC,EAAC;MACA,OAAO,EAAG,WAAW;MACrB,MAAM,EAAI;IACZ,CAAC,EAAC;MACA,OAAO,EAAG,QAAQ;MAClB,MAAM,EAAI;IACZ,CAAC,EAAC;MACA,OAAO,EAAG,UAAU;MACpB,MAAM,EAAI;IACd,CAAC,CAAC;IAAAA,eAAA,uBACsB,KAAK;IAAAA,eAAA,6BACA,aAAa;EAAA;AAC5C","ignoreList":[]}
|
|
@@ -97,7 +97,7 @@ export default class WmSearch extends CoreWmSearch {
|
|
|
97
97
|
style: this.styles.dropDownContent
|
|
98
98
|
}, /*#__PURE__*/React.createElement(View, {
|
|
99
99
|
style: this.styles.searchItem
|
|
100
|
-
}, /*#__PURE__*/React.createElement(Text, null, props.
|
|
100
|
+
}, /*#__PURE__*/React.createElement(Text, null, props.noresultsfoundmessage))));
|
|
101
101
|
}
|
|
102
102
|
return /*#__PURE__*/React.createElement(View, {
|
|
103
103
|
style: {
|
|
@@ -131,19 +131,15 @@ export default class WmSearch extends CoreWmSearch {
|
|
|
131
131
|
let inputOpts = {};
|
|
132
132
|
const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';
|
|
133
133
|
inputOpts[valueExpr] = query;
|
|
134
|
-
const textFocusStyle = [this.styles.focusedText, isDropdownVisible ? {
|
|
135
|
-
borderBottomLeftRadius: 0,
|
|
136
|
-
borderBottomRightRadius: 0
|
|
137
|
-
} : null];
|
|
138
134
|
return /*#__PURE__*/React.createElement(View, {
|
|
139
|
-
onLayout: event => this.handleLayout(event),
|
|
140
135
|
style: this.theme.mergeStyle(this.styles.rootWrapper, isDropdownVisible ? this.styles.rootWrapperDropdownOpen : null)
|
|
141
|
-
},
|
|
136
|
+
}, /*#__PURE__*/React.createElement(OutsidePressHandler, {
|
|
142
137
|
onOutsidePress: () => this.hide()
|
|
143
138
|
}, /*#__PURE__*/React.createElement(View, {
|
|
144
|
-
style: this.styles.
|
|
145
|
-
|
|
146
|
-
|
|
139
|
+
style: [this.styles.root, isDropdownVisible ? {
|
|
140
|
+
borderBottomLeftRadius: 0,
|
|
141
|
+
borderBottomRightRadius: 0
|
|
142
|
+
} : null, !this.state.isValid ? this.styles.invalid : null],
|
|
147
143
|
ref: ref => {
|
|
148
144
|
this.view = ref;
|
|
149
145
|
},
|
|
@@ -164,7 +160,7 @@ export default class WmSearch extends CoreWmSearch {
|
|
|
164
160
|
ref.selectionStart = ref.selectionEnd = this.cursor;
|
|
165
161
|
}
|
|
166
162
|
},
|
|
167
|
-
style: [this.styles.text,
|
|
163
|
+
style: [this.styles.text, Platform.OS === 'web' ? this.styles.inputWeb : null, showLeadingIcon || showBackIcon ? this.styles.inputWithLeadingIcon : null, showTrailingIcon ? this.styles.inputWithTrailingIcon : null],
|
|
168
164
|
placeholder: props.placeholder || 'Search',
|
|
169
165
|
placeholderTextColor: (_this$styles$placehol = this.styles.placeholderText) === null || _this$styles$placehol === void 0 ? void 0 : _this$styles$placehol.color,
|
|
170
166
|
autoFocus: props.autofocus,
|
|
@@ -198,7 +194,7 @@ export default class WmSearch extends CoreWmSearch {
|
|
|
198
194
|
iconsize: 24,
|
|
199
195
|
onTap: showClearIcon ? this.clearSearch.bind(this) : this.searchIconPress.bind(this),
|
|
200
196
|
disabled: !showClearIcon && (props.disabled || props.readonly)
|
|
201
|
-
}))
|
|
197
|
+
})), isDropdownVisible ? /*#__PURE__*/React.createElement(View, {
|
|
202
198
|
style: this.theme.mergeStyle(this.styles.modalContent, this.styles.dropdownContainer, this.searchInputWidth ? {
|
|
203
199
|
width: this.searchInputWidth
|
|
204
200
|
} : null, this.searchInputHeight ? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Platform","Text","TextInput","View","ScrollView","get","isNull","WmSearchProps","DEFAULT_CLASS","CoreWmSearch","WmSearchState","CoreWmSearchState","AccessibilityWidgetType","getAccessibilityProps","WmIcon","AssetProvider","createSkeleton","OutsidePressHandler","isIconClass","val","length","WmSearch","constructor","props","defaultClass","defaultProps","defaultState","_defineProperty","updateState","isOpened","state","handleLeadingIconPress","invokeEventCallback","proxy","handleBackIconPress","query","dataItems","map","item","selected","hide","searchIconPress","searchon","updateFilteredData","styles","modal","display","showPopover","isFocused","onItemSelect","data","_this$props$invokeEve","_this$props","invokeEvent","call","renderSkeleton","_this$styles$root","_this$styles$root2","theme","skeleton","root","width","skeletonwidth","height","skeletonheight","queryText","renderDropdownContent","filteredData","items","index","limit","renderSearchItem","createElement","style","dropDownContent","searchItem","noresultsfoundmsg","value","loadAsset","scrollablesearchresults","contentContainerStyle","showsVerticalScrollIndicator","renderWidget","_this$styles$placehol","isDropdownVisible","hasLeadingIcon","leadingiconclass","hasBackSearchIcon","backsearchiconclass","hasSearchIcon","searchiconclass","hasClearSearchIcon","clearsearchiconclass","isSearchOnIconClick","showBackIcon","showLeadingIcon","showClearIcon","showclear","showSearchIcon","showTrailingIcon","inputOpts","valueExpr","OS","textFocusStyle","focusedText","borderBottomLeftRadius","borderBottomRightRadius","onLayout","event","handleLayout","mergeStyle","rootWrapper","rootWrapperDropdownOpen","_background","onOutsidePress","searchWrapper","ref","view","e","nativeEvent","layout","searchInputWidth","searchInputHeight","_extends","getTestPropsForInput","SEARCH","widgetRef","selectionStart","selectionEnd","cursor","text","isValid","invalid","input","inputWeb","inputWithLeadingIcon","inputWithTrailingIcon","placeholder","placeholderTextColor","placeholderText","color","autoFocus","autofocus","editable","disabled","readonly","autoComplete","autoCorrect","autoCapitalize","onChangeText","onChange","bind","invokeChange","onFocus","onBlur","iconWrapper","left","leadingIcon","id","getTestId","iconclass","iconsize","onTap","right","trailingIcon","clearSearch","modalContent","dropdownContainer","top"],"sources":["search.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Platform, Text, TextInput, View } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { get, isNull } from 'lodash';\n\nimport WmSearchProps from './search.props';\nimport { DEFAULT_CLASS } from './search.styles';\nimport CoreWmSearch, { WmSearchState as CoreWmSearchState } from '@wavemaker-ai/app-rn-runtime/components/basic/search/search.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker-ai/app-rn-runtime/core/accessibility';\nimport WmIcon from '@wavemaker-ai/app-rn-runtime/components/basic/icon/icon.component';\nimport { Tappable } from '@wavemaker-ai/app-rn-runtime/core/tappable.component';\nimport { AssetProvider } from '@wavemaker-ai/app-rn-runtime/core/asset.provider';\nimport { createSkeleton } from '@wavemaker-ai/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport OutsidePressHandler from '@wavemaker-ai/app-rn-runtime/core/outside-press-handler';\nexport class WmSearchState extends CoreWmSearchState {\n}\n\nfunction isIconClass(val: any): boolean {\n return typeof val === 'string' && val.length > 0 && val !== 'false' && val !== 'null' && val !== 'undefined';\n}\n\nexport default class WmSearch extends (CoreWmSearch as any) {\n\n private searchInputHeight = 0;\n\n constructor(\n props: WmSearchProps,\n defaultClass: string = DEFAULT_CLASS,\n defaultProps: WmSearchProps = new WmSearchProps(),\n defaultState: WmSearchState = new WmSearchState(),\n ) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n\n private handleLeadingIconPress() {\n this.invokeEventCallback('onLeadingiconclick', [this.proxy]);\n }\n\n private handleBackIconPress() {\n this.updateState({\n props: { query: '' },\n dataItems: this.state.dataItems\n ? this.state.dataItems.map((item: any) => { item.selected = false; return item; })\n : [],\n } as WmSearchState);\n this.hide();\n }\n\n searchIconPress() {\n const query = this.state.props.query || '';\n\n if (this.state.props.searchon === 'onsearchiconclick') {\n this.updateFilteredData(query);\n if (query && this.styles.modal.display !== 'none') {\n this.showPopover && this.showPopover();\n }\n } else {\n this.isFocused = false;\n this.onItemSelect(this.state.data[0]);\n }\n\n if (get(this.props, 'formfield')) {\n this.props.invokeEvent?.('onSubmit', [null, this]);\n } else {\n this.invokeEventCallback('onSubmit', [null, this]);\n }\n this.isFocused = false;\n }\n\n public renderSkeleton(props: WmSearchProps): React.ReactNode {\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: (props.skeletonwidth || this.styles.root?.width) as DimensionValue,\n height: (props.skeletonheight || this.styles.root?.height) as DimensionValue,\n });\n }\n\n updateFilteredData(queryText: string = '') {\n super.updateFilteredData(queryText);\n\n if (this.isFocused && queryText && this.styles.modal.display !== 'none' && !this.state.isOpened) {\n this.showPopover && this.showPopover();\n }\n }\n\n public showPopover = () => {\n this.updateState({ isOpened: true } as WmSearchState);\n };\n\n public hide = () => {\n if (this.state.isOpened) {\n this.updateState({ isOpened: false } as WmSearchState);\n }\n };\n\n renderDropdownContent(props: WmSearchProps, filteredData: any[]) {\n const items = filteredData.map((item: any, index: number) => {\n if (props.limit && index + 1 > props.limit) return null;\n return this.renderSearchItem(item, index);\n });\n if (filteredData.length === 0) {\n return (\n <View style={{ width: '100%' }}>\n <View style={this.styles.dropDownContent}>\n <View style={this.styles.searchItem}>\n <Text>\n {props.noresultsfoundmsg}\n </Text>\n </View>\n </View>\n </View>\n );\n }\n return (\n <View style={{ width: '100%' }}>\n <AssetProvider value={this.loadAsset}>\n {props.scrollablesearchresults ? (\n <ScrollView\n contentContainerStyle={this.styles.dropDownContent}\n showsVerticalScrollIndicator={false}\n >\n {items}\n </ScrollView>\n ) : (\n <View style={this.styles.dropDownContent}>\n {items}\n </View>\n )}\n </AssetProvider>\n </View>\n );\n }\n\n renderWidget(props: WmSearchProps) {\n const isOpened = this.state.isOpened;\n const filteredData = this.state.data || [];\n const isDropdownVisible = isOpened;\n\n const hasLeadingIcon = isIconClass(props.leadingiconclass);\n const hasBackSearchIcon = isIconClass(props.backsearchiconclass);\n const hasSearchIcon = isIconClass(props.searchiconclass);\n const hasClearSearchIcon = isIconClass(props.clearsearchiconclass);\n const query = this.state.props.query || '';\n const isSearchOnIconClick = props.searchon === 'onsearchiconclick';\n\n \n const showBackIcon = (isDropdownVisible || this.isFocused) && hasBackSearchIcon;\n const showLeadingIcon = hasLeadingIcon && !showBackIcon;\n\n const showClearIcon = hasClearSearchIcon && props.showclear && !!query &&\n (isSearchOnIconClick ? isDropdownVisible : true);\n const showSearchIcon = !showClearIcon && !isDropdownVisible && hasSearchIcon && props.showSearchIcon !== false;\n const showTrailingIcon = showSearchIcon || showClearIcon;\n\n let inputOpts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n inputOpts[valueExpr] = query;\n\n const textFocusStyle = [\n this.styles.focusedText,\n isDropdownVisible\n ? { borderBottomLeftRadius: 0, borderBottomRightRadius: 0 }\n : null,\n ];\n\n return (\n <View\n onLayout={(event: any) => this.handleLayout(event)}\n style={this.theme.mergeStyle(\n this.styles.rootWrapper,\n isDropdownVisible ? this.styles.rootWrapperDropdownOpen : null\n )}\n >\n {this._background}\n <OutsidePressHandler\n onOutsidePress={() => this.hide()}\n >\n <View style={this.styles.searchWrapper}>\n <View\n style={this.styles.root}\n ref={(ref: any) => { this.view = ref; }}\n onLayout={(e: any) => {\n const { width, height } = e.nativeEvent.layout;\n this.searchInputWidth = width;\n this.searchInputHeight = height;\n }}\n >\n <TextInput\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(AccessibilityWidgetType.SEARCH, props)}\n ref={(ref: any) => {\n this.widgetRef = ref;\n // @ts-ignore\n if (ref && !isNull(ref.selectionStart) && !isNull(ref.selectionEnd)) {\n // @ts-ignore\n ref.selectionStart = ref.selectionEnd = this.cursor;\n }\n }}\n style={[\n this.styles.text,\n this.state.isValid ? {} : this.styles.invalid,\n isDropdownVisible ? textFocusStyle : null,\n this.styles.input,\n Platform.OS === 'web' ? this.styles.inputWeb : null,\n (showLeadingIcon || showBackIcon) ? this.styles.inputWithLeadingIcon : null,\n showTrailingIcon ? this.styles.inputWithTrailingIcon : null,\n ]}\n placeholder={props.placeholder || 'Search'}\n placeholderTextColor={this.styles.placeholderText?.color as any}\n autoFocus={props.autofocus}\n editable={!(props.disabled || props.readonly)}\n autoComplete=\"off\"\n autoCorrect={false}\n autoCapitalize=\"none\"\n onChangeText={this.onChange.bind(this)}\n onChange={this.invokeChange.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onBlur={this.onBlur.bind(this)}\n {...inputOpts}\n />\n {(showLeadingIcon || showBackIcon) && (\n <View style={[\n this.styles.iconWrapper, \n { left: 4 }]}>\n <WmIcon\n styles={this.styles.leadingIcon}\n id={this.getTestId(showBackIcon ? 'backicon' : 'leadingicon')}\n iconclass={showBackIcon\n ? props.backsearchiconclass\n : props.leadingiconclass\n }\n iconsize={24}\n onTap={showBackIcon\n ? this.handleBackIconPress.bind(this)\n : this.handleLeadingIconPress.bind(this)\n }\n disabled={!showBackIcon && (props.disabled || props.readonly)}\n />\n </View>\n )}\n {showTrailingIcon && (\n <View style={[this.styles.iconWrapper,\n { right: 4 }]}>\n <WmIcon\n styles={this.styles.trailingIcon}\n id={this.getTestId(showClearIcon ? 'clear' : 'search')}\n iconclass={showClearIcon\n ? props.clearsearchiconclass\n : props.searchiconclass\n }\n iconsize={24}\n onTap={showClearIcon\n ? this.clearSearch.bind(this)\n : this.searchIconPress.bind(this)\n }\n disabled={!showClearIcon && (props.disabled || props.readonly)}\n />\n </View>\n )}\n </View>\n\n {isDropdownVisible ? (\n <View\n style={this.theme.mergeStyle(\n this.styles.modalContent,\n this.styles.dropdownContainer,\n this.searchInputWidth ? { width: this.searchInputWidth } : null,\n this.searchInputHeight ? { top: this.searchInputHeight } : null,\n )}\n >\n {this.renderDropdownContent(props, filteredData)}\n </View>\n ) : null}\n </View>\n </OutsidePressHandler>\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","Platform","Text","TextInput","View","ScrollView","get","isNull","WmSearchProps","DEFAULT_CLASS","CoreWmSearch","WmSearchState","CoreWmSearchState","AccessibilityWidgetType","getAccessibilityProps","WmIcon","AssetProvider","createSkeleton","OutsidePressHandler","isIconClass","val","length","WmSearch","constructor","props","defaultClass","defaultProps","defaultState","_defineProperty","updateState","isOpened","state","handleLeadingIconPress","invokeEventCallback","proxy","handleBackIconPress","query","dataItems","map","item","selected","hide","searchIconPress","searchon","updateFilteredData","styles","modal","display","showPopover","isFocused","onItemSelect","data","_this$props$invokeEve","_this$props","invokeEvent","call","renderSkeleton","_this$styles$root","_this$styles$root2","theme","skeleton","root","width","skeletonwidth","height","skeletonheight","queryText","renderDropdownContent","filteredData","items","index","limit","renderSearchItem","createElement","style","dropDownContent","searchItem","noresultsfoundmessage","value","loadAsset","scrollablesearchresults","contentContainerStyle","showsVerticalScrollIndicator","renderWidget","_this$styles$placehol","isDropdownVisible","hasLeadingIcon","leadingiconclass","hasBackSearchIcon","backsearchiconclass","hasSearchIcon","searchiconclass","hasClearSearchIcon","clearsearchiconclass","isSearchOnIconClick","showBackIcon","showLeadingIcon","showClearIcon","showclear","showSearchIcon","showTrailingIcon","inputOpts","valueExpr","OS","mergeStyle","rootWrapper","rootWrapperDropdownOpen","onOutsidePress","borderBottomLeftRadius","borderBottomRightRadius","isValid","invalid","ref","view","onLayout","e","nativeEvent","layout","searchInputWidth","searchInputHeight","_extends","getTestPropsForInput","SEARCH","widgetRef","selectionStart","selectionEnd","cursor","text","inputWeb","inputWithLeadingIcon","inputWithTrailingIcon","placeholder","placeholderTextColor","placeholderText","color","autoFocus","autofocus","editable","disabled","readonly","autoComplete","autoCorrect","autoCapitalize","onChangeText","onChange","bind","invokeChange","onFocus","onBlur","iconWrapper","left","leadingIcon","id","getTestId","iconclass","iconsize","onTap","right","trailingIcon","clearSearch","modalContent","dropdownContainer","top"],"sources":["search.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Platform, Text, TextInput, View } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { get, isNull } from 'lodash';\n\nimport WmSearchProps from './search.props';\nimport { DEFAULT_CLASS } from './search.styles';\nimport CoreWmSearch, { WmSearchState as CoreWmSearchState } from '@wavemaker-ai/app-rn-runtime/components/basic/search/search.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker-ai/app-rn-runtime/core/accessibility';\nimport WmIcon from '@wavemaker-ai/app-rn-runtime/components/basic/icon/icon.component';\nimport { AssetProvider } from '@wavemaker-ai/app-rn-runtime/core/asset.provider';\nimport { createSkeleton } from '@wavemaker-ai/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport OutsidePressHandler from '@wavemaker-ai/app-rn-runtime/core/outside-press-handler';\nexport class WmSearchState extends CoreWmSearchState {\n}\n\nfunction isIconClass(val: any): boolean {\n return typeof val === 'string' && val.length > 0 && val !== 'false' && val !== 'null' && val !== 'undefined';\n}\n\nexport default class WmSearch extends (CoreWmSearch as any) {\n\n private searchInputHeight = 0;\n\n constructor(\n props: WmSearchProps,\n defaultClass: string = DEFAULT_CLASS,\n defaultProps: WmSearchProps = new WmSearchProps(),\n defaultState: WmSearchState = new WmSearchState(),\n ) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n\n private handleLeadingIconPress() {\n this.invokeEventCallback('onLeadingiconclick', [this.proxy]);\n }\n\n private handleBackIconPress() {\n this.updateState({\n props: { query: '' },\n dataItems: this.state.dataItems\n ? this.state.dataItems.map((item: any) => { item.selected = false; return item; })\n : [],\n } as WmSearchState);\n this.hide();\n }\n\n searchIconPress() {\n const query = this.state.props.query || '';\n\n if (this.state.props.searchon === 'onsearchiconclick') {\n this.updateFilteredData(query);\n if (query && this.styles.modal.display !== 'none') {\n this.showPopover && this.showPopover();\n }\n } else {\n this.isFocused = false;\n this.onItemSelect(this.state.data[0]);\n }\n\n if (get(this.props, 'formfield')) {\n this.props.invokeEvent?.('onSubmit', [null, this]);\n } else {\n this.invokeEventCallback('onSubmit', [null, this]);\n }\n this.isFocused = false;\n }\n\n public renderSkeleton(props: WmSearchProps): React.ReactNode {\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: (props.skeletonwidth || this.styles.root?.width) as DimensionValue,\n height: (props.skeletonheight || this.styles.root?.height) as DimensionValue,\n });\n }\n\n updateFilteredData(queryText: string = '') {\n super.updateFilteredData(queryText);\n\n if (this.isFocused && queryText && this.styles.modal.display !== 'none' && !this.state.isOpened) {\n this.showPopover && this.showPopover();\n }\n }\n\n public showPopover = () => {\n this.updateState({ isOpened: true } as WmSearchState);\n };\n\n public hide = () => {\n if (this.state.isOpened) {\n this.updateState({ isOpened: false } as WmSearchState);\n }\n };\n\n renderDropdownContent(props: WmSearchProps, filteredData: any[]) {\n const items = filteredData.map((item: any, index: number) => {\n if (props.limit && index + 1 > props.limit) return null;\n return this.renderSearchItem(item, index);\n });\n if (filteredData.length === 0) {\n return (\n <View style={{ width: '100%' }}>\n <View style={this.styles.dropDownContent}>\n <View style={this.styles.searchItem}>\n <Text>\n {props.noresultsfoundmessage}\n </Text>\n </View>\n </View>\n </View>\n );\n }\n return (\n <View style={{ width: '100%' }}>\n <AssetProvider value={this.loadAsset}>\n {props.scrollablesearchresults ? (\n <ScrollView\n contentContainerStyle={this.styles.dropDownContent}\n showsVerticalScrollIndicator={false}\n >\n {items}\n </ScrollView>\n ) : (\n <View style={this.styles.dropDownContent}>\n {items}\n </View>\n )}\n </AssetProvider>\n </View>\n );\n }\n\n renderWidget(props: WmSearchProps) {\n const isOpened = this.state.isOpened;\n const filteredData = this.state.data || [];\n const isDropdownVisible = isOpened;\n\n const hasLeadingIcon = isIconClass(props.leadingiconclass);\n const hasBackSearchIcon = isIconClass(props.backsearchiconclass);\n const hasSearchIcon = isIconClass(props.searchiconclass);\n const hasClearSearchIcon = isIconClass(props.clearsearchiconclass);\n const query = this.state.props.query || '';\n const isSearchOnIconClick = props.searchon === 'onsearchiconclick';\n\n \n const showBackIcon = (isDropdownVisible || this.isFocused) && hasBackSearchIcon;\n const showLeadingIcon = hasLeadingIcon && !showBackIcon;\n\n const showClearIcon = hasClearSearchIcon && props.showclear && !!query &&\n (isSearchOnIconClick ? isDropdownVisible : true);\n const showSearchIcon = !showClearIcon && !isDropdownVisible && hasSearchIcon && props.showSearchIcon !== false;\n const showTrailingIcon = showSearchIcon || showClearIcon;\n\n let inputOpts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n inputOpts[valueExpr] = query;\n return (\n <View\n style={this.theme.mergeStyle(\n this.styles.rootWrapper,\n isDropdownVisible ? this.styles.rootWrapperDropdownOpen : null\n )}\n >\n <OutsidePressHandler\n onOutsidePress={() => this.hide()}\n >\n <View\n style={[\n this.styles.root,\n isDropdownVisible ? { borderBottomLeftRadius: 0, borderBottomRightRadius: 0 } : null,\n !this.state.isValid ? this.styles.invalid : null,\n ]}\n ref={(ref: any) => { this.view = ref; }}\n onLayout={(e: any) => {\n const { width, height } = e.nativeEvent.layout;\n this.searchInputWidth = width;\n this.searchInputHeight = height;\n }}\n >\n <TextInput\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(AccessibilityWidgetType.SEARCH, props)}\n ref={(ref: any) => {\n this.widgetRef = ref;\n // @ts-ignore\n if (ref && !isNull(ref.selectionStart) && !isNull(ref.selectionEnd)) {\n // @ts-ignore\n ref.selectionStart = ref.selectionEnd = this.cursor;\n }\n }}\n style={[\n this.styles.text,\n Platform.OS === 'web' ? this.styles.inputWeb : null,\n (showLeadingIcon || showBackIcon) ? this.styles.inputWithLeadingIcon : null,\n showTrailingIcon ? this.styles.inputWithTrailingIcon : null,\n ]}\n placeholder={props.placeholder || 'Search'}\n placeholderTextColor={this.styles.placeholderText?.color as any}\n autoFocus={props.autofocus}\n editable={!(props.disabled || props.readonly)}\n autoComplete=\"off\"\n autoCorrect={false}\n autoCapitalize=\"none\"\n onChangeText={this.onChange.bind(this)}\n onChange={this.invokeChange.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onBlur={this.onBlur.bind(this)}\n {...inputOpts}\n />\n {(showLeadingIcon || showBackIcon) && (\n <View style={[\n this.styles.iconWrapper, \n { left: 4 }]}>\n <WmIcon\n styles={this.styles.leadingIcon}\n id={this.getTestId(showBackIcon ? 'backicon' : 'leadingicon')}\n iconclass={showBackIcon\n ? props.backsearchiconclass\n : props.leadingiconclass\n }\n iconsize={24}\n onTap={showBackIcon\n ? this.handleBackIconPress.bind(this)\n : this.handleLeadingIconPress.bind(this)\n }\n disabled={!showBackIcon && (props.disabled || props.readonly)}\n />\n </View>\n )}\n {showTrailingIcon && (\n <View style={[this.styles.iconWrapper,\n { right: 4 }]}>\n <WmIcon\n styles={this.styles.trailingIcon}\n id={this.getTestId(showClearIcon ? 'clear' : 'search')}\n iconclass={showClearIcon\n ? props.clearsearchiconclass\n : props.searchiconclass\n }\n iconsize={24}\n onTap={showClearIcon\n ? this.clearSearch.bind(this)\n : this.searchIconPress.bind(this)\n }\n disabled={!showClearIcon && (props.disabled || props.readonly)}\n />\n </View>\n )}\n \n\n {isDropdownVisible ? (\n <View\n style={this.theme.mergeStyle(\n this.styles.modalContent,\n this.styles.dropdownContainer,\n this.searchInputWidth ? { width: this.searchInputWidth } : null,\n this.searchInputHeight ? { top: this.searchInputHeight } : null,\n )}\n >\n {this.renderDropdownContent(props, filteredData)}\n </View>\n ) : null}\n </View>\n </OutsidePressHandler>\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,7 +8,7 @@ export default class WmSearchProps extends WmSearchPropsBase {
|
|
|
8
8
|
_defineProperty(this, "leadingiconclass", void 0);
|
|
9
9
|
_defineProperty(this, "backsearchiconclass", void 0);
|
|
10
10
|
_defineProperty(this, "scrollablesearchresults", true);
|
|
11
|
-
_defineProperty(this, "
|
|
11
|
+
_defineProperty(this, "noresultsfoundmessage", 'No results found');
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
//# sourceMappingURL=search.props.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["WmSearchPropsBase","WmSearchProps","constructor","args","_defineProperty"],"sources":["search.props.ts"],"sourcesContent":["import WmSearchPropsBase from '@wavemaker-ai/app-rn-runtime/components/basic/search/search.props';\n\nexport default class WmSearchProps extends WmSearchPropsBase {\n leadingiconclass?: string;\n backsearchiconclass?: string;\n scrollablesearchresults?: boolean = true;\n
|
|
1
|
+
{"version":3,"names":["WmSearchPropsBase","WmSearchProps","constructor","args","_defineProperty"],"sources":["search.props.ts"],"sourcesContent":["import WmSearchPropsBase from '@wavemaker-ai/app-rn-runtime/components/basic/search/search.props';\n\nexport default class WmSearchProps extends WmSearchPropsBase {\n leadingiconclass?: string;\n backsearchiconclass?: string;\n scrollablesearchresults?: boolean = true;\n noresultsfoundmessage?: string = 'No results found';\n}\n"],"mappings":";;;AAAA,OAAOA,iBAAiB,MAAM,mEAAmE;AAEjG,eAAe,MAAMC,aAAa,SAASD,iBAAiB,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA,kCAGvB,IAAI;IAAAA,eAAA,gCACP,kBAAkB;EAAA;AACrD","ignoreList":[]}
|