@wavemaker/app-rn-runtime 11.4.0-rc.5347 → 11.4.1-next.25738

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavemaker/app-rn-runtime",
3
- "version": "11.4.0-rc.5347",
3
+ "version": "11.4.1-next.25738",
4
4
  "description": "''",
5
5
  "main": "index",
6
6
  "module": "index",
@@ -49,7 +49,7 @@
49
49
  "@react-navigation/native": "6.1.7",
50
50
  "@react-navigation/stack": "^6.3.7",
51
51
  "@types/lodash-es": "^4.17.6",
52
- "@wavemaker/variables": "11.4.0-rc.5347",
52
+ "@wavemaker/variables": "11.4.1-next.25738",
53
53
  "axios": "^1.4.0",
54
54
  "color": "4.2.3",
55
55
  "cross-env": "^5.2.0",
@@ -127,7 +127,7 @@
127
127
  "typescript": "^5.1.3",
128
128
  "victory-native": "36.6.11",
129
129
  "yargs": "^16.2.0",
130
- "@wavemaker/variables": "11.4.0-rc.5347"
130
+ "@wavemaker/variables": "11.4.1-next.25738"
131
131
  },
132
132
  "jest": {
133
133
  "preset": "react-native",
@@ -241,11 +241,14 @@ export default class BaseApp extends React.Component {
241
241
  }
242
242
  }
243
243
  }
244
+ triggerStartUpVariables() {
245
+ return Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke())).catch(() => {});
246
+ }
244
247
  componentDidMount() {
245
248
  AppSpinnerService.show({
246
249
  spinner: this.appConfig.spinner
247
250
  });
248
- Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke())).catch(() => {}).then(() => {
251
+ this.triggerStartUpVariables().then(() => {
249
252
  this.onAppVariablesReady();
250
253
  this.isStarted = true;
251
254
  this.forceUpdate();
@@ -1 +1 @@
1
- {"version":3,"names":["React","axios","Platform","TouchableOpacity","View","StatusBar","ProtoTypes","SafeAreaProvider","SafeAreaInsetsContext","SafeAreaView","DefaultTheme","Provider","PaperProvider","Linking","NativeModulesProxy","WebBrowser","get","last","RENDER_LOGGER","ThemeProvider","StorageService","injector","formatters","deepCopy","isWebPreviewMode","Utils","ModalProvider","FixedViewContainer","ToastProvider","NavigationServiceProvider","PartialProvider","WmNetworkInfoToaster","ThemeVariables","WmMessage","Animatedview","Watcher","preparePatch","AppDisplayManagerService","AppModalService","AppToastService","AppPartialService","AppSpinnerService","AppNavigator","SecurityProvider","CameraProvider","CameraService","ScanProvider","ScanService","AppSecurityService","getValidJSON","parseErrors","MaterialCommunityIconsFont","SplashScreen","WmMemo","style","any","MIN_TIME_BETWEEN_REFRESH_CYCLES","DrawerImpl","constructor","onChange","_defineProperty","setContent","content","getContent","setAnimation","animation","getAnimation","SUPPORTED_SERVICES","BaseApp","Component","props","_this","this","ROOT","refresh","preventAutoHideAsync","setTimeout","hideAsync","appConfig","app","drawer","setDefaultOptions","spinner","refreshAfterWait","baseUrl","url","wait","bindServiceInterceptors","complete","arguments","length","undefined","reload","debug","_this$commonPartial","_this$appConfig$curre","forceUpdate","commonPartial","currentPage","watcher","check","goToPage","pageName","params","_this$appConfig$curre2","goBack","_this$appConfig$curre3","openUrl","_this$appConfig$curre4","onBeforeServiceCall","config","isSkeletonEnabled","loader","onServiceSuccess","data","response","onServiceError","errorMsg","error","invokeNativeApi","key","EmbedCommModule","OS","sendToNative","Promise","reject","onPageReady","activePageName","activePageScope","openBrowser","window","open","startsWith","target","openBrowserAsync","openURL","resolve","axiosInterceptorIds","interceptors","request","use","headers","console","log","_errorDetails","_errorDetails2","_error$response","_error$response2","_error$response3","errorDetails","errMsg","errors","message","status","_this$appConfig$curre5","_this$appConfig$curre6","eval","fn","failOnError","call","e","componentDidMount","show","all","startUpVariables","map","s","Variables","invoke","catch","then","onAppVariablesReady","isStarted","startUpActions","a","Actions","componentWillUnmount","id","eject","cleanup","forEach","getProviders","createElement","value","renderToasters","toastsOpened","render","watch","refreshCount","Fragment","o","i","position","width","bottom","elevation","elevationIndex","zIndex","styles","onPress","onClick","text","type","caption","hideclose","renderDialogs","_last","modalsOpened","animatedRefs","modalOptions","name","onStartShouldSetResponder","onResponderEnd","isModal","hideModal","appModal","centered","centeredModal","modalStyle","entryanimation","ref","animatedRef","appModalContent","contentStyle","evt","stopPropagation","renderDisplayManager","displayOptions","theme","displayViewContainer","renderIconsViewSupportForWeb","getSelectedLocale","selectedLocale","getDependency","serviceName","service","renderApp","_this2","autoUpdateVariables","_this$Variables$value","invokeOnParamChange","colors","primary","INSTANCE","primaryColor","Consumer","_this2$props","_this2$appConfig$draw","_this2$appConfig$draw2","insets","top","left","right","flex","container","landingPage","landingPageParams","hideDrawer","drawerContent","drawerAnimation","appLocale","alignItems","flexDirection","justifyContent","backgroundColor","height"],"sources":["App.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport axios, { AxiosError, InternalAxiosRequestConfig, AxiosResponse } from 'axios';\nimport { Platform, TouchableOpacity, View, ViewStyle, StatusBar } from 'react-native';\nimport ProtoTypes from 'prop-types';\nimport { SafeAreaProvider, SafeAreaInsetsContext, SafeAreaView } from 'react-native-safe-area-context';\nimport { DefaultTheme, Provider as PaperProvider } from 'react-native-paper';\nimport { Linking } from 'react-native';\nimport { NativeModulesProxy } from 'expo-modules-core';\nimport * as WebBrowser from 'expo-web-browser';\nimport { get, last } from 'lodash';\nimport { RENDER_LOGGER } from '@wavemaker/app-rn-runtime/core/logger';\nimport { ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';\nimport AppConfig, { Drawer } from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport StorageService from '@wavemaker/app-rn-runtime/core/storage.service';\nimport NetworkService from '@wavemaker/app-rn-runtime/core/network.service';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport formatters from '@wavemaker/app-rn-runtime/core/formatters';\nimport { deepCopy, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport * as Utils from '@wavemaker/app-rn-runtime/core/utils';\nimport { ModalProvider } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { FixedViewContainer } from '@wavemaker/app-rn-runtime/core/fixed-view.component';\nimport { ToastProvider } from '@wavemaker/app-rn-runtime/core/toast.service';\nimport NavigationService, { NavigationServiceProvider } from '@wavemaker/app-rn-runtime/core/navigation.service';\nimport { PartialProvider } from '@wavemaker/app-rn-runtime/core/partial.service';\nimport WmNetworkInfoToaster from '@wavemaker/app-rn-runtime/components/advanced/network-info-toaster/network-info-toaster.component';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport WmMessage from '@wavemaker/app-rn-runtime/components/basic/message/message.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\n\nimport { Watcher } from './watcher';\nimport { preparePatch } from './lib-patch';\nimport AppDisplayManagerService from './services/app-display-manager.service';\nimport AppModalService from './services/app-modal.service';\nimport AppToastService from './services/app-toast.service';\nimport AppPartialService from './services/partial.service';\nimport AppSpinnerService from './services/app-spinner.service';\nimport { AppNavigator } from './App.navigator';\nimport { SecurityProvider } from '../core/security.service';\nimport { CameraProvider } from '../core/device/camera-service';\nimport CameraService from './services/device/camera-service';\nimport { ScanProvider } from '../core/device/scan-service';\nimport ScanService from './services/device/scan-service';\nimport AppSecurityService from './services/app-security.service';\nimport {getValidJSON, parseErrors} from '@wavemaker/app-rn-runtime/variables/utils/variable.utils';\nimport MaterialCommunityIconsFont from '@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf';\n\nimport * as SplashScreen from 'expo-splash-screen';\nimport BasePartial from './base-partial.component';\nimport BasePage from './base-page.component';\nimport { WmMemo } from './memo.component';\n\ndeclare const window: any;\n\n//some old react libraries need this\n((View as any)['propTypes'] = { style: ProtoTypes.any})\n\nconst MIN_TIME_BETWEEN_REFRESH_CYCLES = 200;\n\nclass DrawerImpl implements Drawer {\n content: ReactNode;\n animation: string = 'slide-in';\n\n constructor(private onChange: () => void) {\n\n }\n\n setContent(content: ReactNode) {\n this.content = content;\n this.onChange();\n }\n\n getContent() {\n return this.content;\n }\n\n setAnimation(animation: string) {\n this.animation = animation;\n this.onChange();\n }\n\n getAnimation() {\n return this.animation;\n }\n}\nconst SUPPORTED_SERVICES = {\n Utils: Utils,\n StorageService: StorageService,\n AppDisplayManagerService: AppDisplayManagerService\n};\n\nexport default abstract class BaseApp extends React.Component implements NavigationService {\n\n Actions: any = {};\n Variables: any = {};\n onAppVariablesReady = () => {};\n isStarted = false;\n appConfig = injector.get<AppConfig>('APP_CONFIG');\n public baseUrl = '';\n public targetPlatform = 'NATIVE_MOBILE';\n public cleanup = [] as Function[];\n public commonPartial: BasePartial = null as any;\n private startUpVariables: string[] = [];\n private startUpActions: string[] = [];\n private autoUpdateVariables: string[] = [];\n private axiosInterceptorIds: number[] = [];\n public formatters = formatters;\n public serviceDefinitions = {} as any;\n private animatedRef: any;\n public modalsOpened: number = 0;\n public toastsOpened: number = 0;\n public watcher: Watcher = Watcher.ROOT;\n public lib = preparePatch(() => {\n this.refresh();\n });\n\n constructor(props: any) {\n super(props);\n SplashScreen.preventAutoHideAsync();\n setTimeout(() => SplashScreen.hideAsync(), 10000);\n this.appConfig.app = this;\n this.appConfig.drawer = new DrawerImpl(() => this.refresh());\n AppSpinnerService.setDefaultOptions({\n spinner: this.appConfig.spinner\n });\n let refreshAfterWait = false;\n this.baseUrl = this.appConfig.url;\n let wait = 0;\n this.bindServiceInterceptors();\n this.appConfig.refresh = (complete = false) => {\n if (complete) {\n this.reload();\n return;\n }\n if (!wait) {\n RENDER_LOGGER.debug('refreshing the app...');\n wait = MIN_TIME_BETWEEN_REFRESH_CYCLES;\n refreshAfterWait = false;\n setTimeout(() => {\n this.forceUpdate();\n this.commonPartial?.forceUpdate();\n this.appConfig.currentPage?.forceUpdate();\n this.watcher.check();\n });\n setTimeout(() => {\n wait = 0;\n refreshAfterWait && this.appConfig.refresh();\n }, wait);\n } else {\n RENDER_LOGGER.debug('will refresh the app in the next cycle.');\n refreshAfterWait = true;\n }\n }\n }\n\n goToPage(pageName: string, params: any) {\n return this.appConfig.currentPage?.goToPage(pageName, params);\n }\n\n goBack(pageName: string, params: any) {\n return this.appConfig.currentPage?.goBack(pageName, params);\n }\n\n openUrl(url: string, params?: any) {\n return this.appConfig.currentPage?.openUrl(url, params);\n }\n\n onBeforeServiceCall(config: InternalAxiosRequestConfig) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n return config;\n }\n\n isSkeletonEnabled() {\n return this.appConfig.spinner.loader == \"skeleton\";\n }\n\n onServiceSuccess(data: any, response: AxiosResponse) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n }\n\n onServiceError(errorMsg: any, error: AxiosError<any>) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n }\n\n invokeNativeApi(key: string, data: Object) {\n if (NativeModulesProxy.EmbedCommModule \n && (Platform.OS === 'android' || Platform.OS === 'ios')) {\n return NativeModulesProxy.EmbedCommModule.sendToNative(key, data || {});\n } else {\n return Promise.reject('Not able to invoke Native API in this platform.');\n }\n }\n\n onPageReady(activePageName: string, activePageScope: BasePage) {\n\n }\n\n get spinner() {\n return AppSpinnerService;\n }\n\n openBrowser(url: string, params = {} as any) {\n if (url) {\n if (isWebPreviewMode()) {\n window.open(url, '_blank');\n } else if (url.startsWith('http') && params.target === '_blank') {\n WebBrowser.openBrowserAsync(url);\n } else {\n return Linking.openURL(url);\n }\n }\n return Promise.resolve();\n }\n\n // To support old api\n reload() {}\n\n bindServiceInterceptors() {\n this.axiosInterceptorIds = [\n axios.interceptors.request.use((config: InternalAxiosRequestConfig) => {\n const url = config.url as string;\n if (!(url.startsWith('http://') || url.startsWith(\"https://\"))) {\n config.url = this.appConfig.url + '/' + url;\n }\n config.headers = config.headers || {};\n config.headers['X-Requested-With'] = 'XMLHttpRequest';\n console.log('onBeforeService call invoked on ' + config.url);\n return this.onBeforeServiceCall(config);\n }),\n axios.interceptors.response.use(\n (response: AxiosResponse) => {\n this.onServiceSuccess(response.data, response);\n return response;\n },(error: AxiosError<any>) => {\n let errorDetails: any = error.response, errMsg;\n errorDetails = getValidJSON(errorDetails?.data) || errorDetails?.data;\n if (errorDetails && errorDetails.errors) {\n errMsg = parseErrors(errorDetails.errors) || \"Service Call Failed\";\n } else {\n errMsg = error.message || \"Service Call Failed\";\n }\n error.message = errMsg;\n console.error(`Error ${errMsg} recieved from ${error.response?.config?.url}`);\n this.onServiceError(error.message, error);\n if (error.response?.config.url?.startsWith(this.appConfig.url) && error.response?.status === 401) {\n this.appConfig.currentPage?.pageName !== 'Login' && this.appConfig.currentPage?.goToPage('Login');\n }\n return Promise.reject(error)\n })\n ];\n }\n\n eval(fn: Function, failOnError = false) {\n try {\n return fn.call(this);\n } catch (e) {\n if (failOnError) {\n throw e;\n } else {\n return null;\n }\n }\n }\n\n componentDidMount() {\n AppSpinnerService.show({\n spinner: this.appConfig.spinner\n });\n Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke()))\n .catch(() => {})\n .then(() => {\n this.onAppVariablesReady();\n this.isStarted = true;\n this.forceUpdate();\n }, () => {}).then(() => {\n SplashScreen.hideAsync().then(() => {});\n });\n this.startUpActions.map(a => this.Actions[a] && this.Actions[a].invoke());\n }\n\n componentWillUnmount(): void {\n this.axiosInterceptorIds.map(id => {\n axios.interceptors.request.eject(id);\n });\n this.cleanup.forEach(fn => fn());\n }\n\n refresh() {\n this.appConfig.refresh();\n }\n\n getProviders(content: React.ReactNode) {\n return (\n <NavigationServiceProvider value={this}>\n <ToastProvider value={AppToastService}>\n <PartialProvider value={AppPartialService}>\n <SecurityProvider value={AppSecurityService}>\n <CameraProvider value={CameraService}>\n <ScanProvider value={ScanService}>\n <ModalProvider value={AppModalService}>\n { content }\n </ModalProvider>\n </ScanProvider>\n </CameraProvider>\n </SecurityProvider>\n </PartialProvider>\n </ToastProvider>\n </NavigationServiceProvider>\n );\n }\n\n renderToasters() {\n this.toastsOpened = AppToastService.toastsOpened.length;\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => AppToastService.refreshCount);\n return (\n <>\n {AppToastService.toastsOpened.map((o, i) =>\n this.getProviders((\n <View key={i} style={[{\n position: 'absolute',\n width: '100%',\n bottom: 0,\n elevation: o.elevationIndex,\n zIndex: o.elevationIndex\n }, o.styles]}>\n <TouchableOpacity onPress={() => o.onClick && o.onClick()}>\n {o.content}\n {o.text && <WmMessage type={o.type} caption={o.text} hideclose={true}></WmMessage>}\n </TouchableOpacity>\n </View>\n )\n ))}\n </>);\n }}/>;\n }\n\n renderDialogs(): ReactNode {\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => last(AppModalService.modalsOpened)?.content);\n this.modalsOpened = AppModalService.modalsOpened.length;\n AppModalService.animatedRefs.length = 0;\n return(\n <>\n {AppModalService.modalOptions.content &&\n AppModalService.modalsOpened.map((o, i) => {\n return (\n <View key={(o.name || '') + i}\n onStartShouldSetResponder={() => true}\n onResponderEnd={() => o.isModal && AppModalService.hideModal(o)}\n style={deepCopy(styles.appModal,\n o.centered ? styles.centeredModal: null,\n o.modalStyle,\n { elevation: o.elevationIndex,\n zIndex: o.elevationIndex })}>\n <Animatedview entryanimation={o.animation || 'fadeIn'}\n ref={ref => {\n this.animatedRef = ref;\n AppModalService.animatedRefs[i] = ref;\n }}\n style={[styles.appModalContent, o.contentStyle]}>\n <View\n onStartShouldSetResponder={evt => true}\n onResponderEnd={(e) => e.stopPropagation()}\n style={{width: '100%', 'alignItems': 'center'}}>\n {this.getProviders(o.content)}\n </View>\n </Animatedview>\n </View>\n )}\n )\n }\n </>);\n }}/>;\n }\n\n renderDisplayManager(): ReactNode {\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => AppDisplayManagerService.displayOptions.content);\n return AppDisplayManagerService.displayOptions.content\n ? (\n <ThemeProvider value={this.appConfig.theme}>\n <View style={[styles.displayViewContainer, {\n elevation: this.toastsOpened + this.modalsOpened + 1,\n zIndex: this.toastsOpened + this.modalsOpened + 1\n }]}>\n {AppDisplayManagerService.displayOptions.content}\n </View>\n </ThemeProvider>) : null;\n }}/>\n }\n\n renderIconsViewSupportForWeb() {\n try {\n return (<style type=\"text/css\">{`\n @font-face {\n font-family: 'MaterialCommunityIcons';\n src: url(${MaterialCommunityIconsFont}) format('truetype');\n }\n `}</style>);\n } catch (e) {\n console.log('require react-native-vector-icons could not be loaded.');\n }\n return null;\n }\n\n getSelectedLocale() {\n return this.appConfig.selectedLocale;\n }\n\n getDependency(serviceName: string): any {\n const service = get(SUPPORTED_SERVICES, serviceName);\n if (service) {\n return service;\n }\n }\n\n renderApp(commonPartial:React.ReactNode) {\n this.autoUpdateVariables.forEach(value => this.Variables[value]?.invokeOnParamChange());\n return (\n <SafeAreaProvider>\n <PaperProvider theme={{\n ...DefaultTheme,\n colors: {\n ...DefaultTheme.colors,\n primary: ThemeVariables.INSTANCE.primaryColor\n }}}>\n <React.Fragment>\n {Platform.OS === 'web' ? this.renderIconsViewSupportForWeb() : null}\n <SafeAreaInsetsContext.Consumer>\n {(insets = {top: 0, bottom: 0, left: 0, right: 0}) =>\n (this.getProviders(\n (<SafeAreaView style={{flex: 1}}>\n <StatusBar />\n <FixedViewContainer>\n <View style={styles.container}>\n <AppNavigator\n app={this}\n landingPage={(this.props as any).pageName}\n landingPageParams={(this.props as any)?.pageName && this.props}\n hideDrawer={this.appConfig.drawer?.getContent() === null}\n drawerContent={() => this.appConfig.drawer? this.getProviders(this.appConfig.drawer.getContent()) : null}\n drawerAnimation={this.appConfig.drawer?.getAnimation()}></AppNavigator>\n {commonPartial}\n {this.renderToasters()}\n {this.renderDialogs()}\n {this.renderDisplayManager()}\n </View>\n <WmNetworkInfoToaster appLocale={this.appConfig.appLocale}></WmNetworkInfoToaster>\n </FixedViewContainer>\n </SafeAreaView>))\n )\n }\n </SafeAreaInsetsContext.Consumer>\n </React.Fragment>\n </PaperProvider>\n </SafeAreaProvider>\n );\n }\n}\n\nconst styles = {\n container: {\n flex: 1\n },\n appModal: {\n position: 'absolute',\n width: '100%'\n },\n appModalContent : {\n flex: 1,\n width: '100%',\n alignItems: 'center',\n flexDirection: 'column',\n justifyContent: 'center'\n },\n centeredModal: {\n flex: 1,\n position: 'absolute',\n top: 0,\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: 'rgba(0, 0, 0, 0.4)',\n height: '100%'\n },\n displayViewContainer: {\n position: 'absolute',\n justifyContent: 'center',\n width: '100%',\n left: 0,\n right: 0,\n top: 0,\n bottom:0\n } as ViewStyle\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","axios","Platform","TouchableOpacity","View","StatusBar","ProtoTypes","SafeAreaProvider","SafeAreaInsetsContext","SafeAreaView","DefaultTheme","Provider","PaperProvider","Linking","NativeModulesProxy","WebBrowser","get","last","RENDER_LOGGER","ThemeProvider","StorageService","injector","formatters","deepCopy","isWebPreviewMode","Utils","ModalProvider","FixedViewContainer","ToastProvider","NavigationServiceProvider","PartialProvider","WmNetworkInfoToaster","ThemeVariables","WmMessage","Animatedview","Watcher","preparePatch","AppDisplayManagerService","AppModalService","AppToastService","AppPartialService","AppSpinnerService","AppNavigator","SecurityProvider","CameraProvider","CameraService","ScanProvider","ScanService","AppSecurityService","getValidJSON","parseErrors","MaterialCommunityIconsFont","SplashScreen","WmMemo","style","any","MIN_TIME_BETWEEN_REFRESH_CYCLES","DrawerImpl","constructor","onChange","_defineProperty","setContent","content","getContent","setAnimation","animation","getAnimation","SUPPORTED_SERVICES","BaseApp","Component","props","_this","this","ROOT","refresh","preventAutoHideAsync","setTimeout","hideAsync","appConfig","app","drawer","setDefaultOptions","spinner","refreshAfterWait","baseUrl","url","wait","bindServiceInterceptors","complete","arguments","length","undefined","reload","debug","_this$commonPartial","_this$appConfig$curre","forceUpdate","commonPartial","currentPage","watcher","check","goToPage","pageName","params","_this$appConfig$curre2","goBack","_this$appConfig$curre3","openUrl","_this$appConfig$curre4","onBeforeServiceCall","config","isSkeletonEnabled","loader","onServiceSuccess","data","response","onServiceError","errorMsg","error","invokeNativeApi","key","EmbedCommModule","OS","sendToNative","Promise","reject","onPageReady","activePageName","activePageScope","openBrowser","window","open","startsWith","target","openBrowserAsync","openURL","resolve","axiosInterceptorIds","interceptors","request","use","headers","console","log","_errorDetails","_errorDetails2","_error$response","_error$response2","_error$response3","errorDetails","errMsg","errors","message","status","_this$appConfig$curre5","_this$appConfig$curre6","eval","fn","failOnError","call","e","triggerStartUpVariables","all","startUpVariables","map","s","Variables","invoke","catch","componentDidMount","show","then","onAppVariablesReady","isStarted","startUpActions","a","Actions","componentWillUnmount","id","eject","cleanup","forEach","getProviders","createElement","value","renderToasters","toastsOpened","render","watch","refreshCount","Fragment","o","i","position","width","bottom","elevation","elevationIndex","zIndex","styles","onPress","onClick","text","type","caption","hideclose","renderDialogs","_last","modalsOpened","animatedRefs","modalOptions","name","onStartShouldSetResponder","onResponderEnd","isModal","hideModal","appModal","centered","centeredModal","modalStyle","entryanimation","ref","animatedRef","appModalContent","contentStyle","evt","stopPropagation","renderDisplayManager","displayOptions","theme","displayViewContainer","renderIconsViewSupportForWeb","getSelectedLocale","selectedLocale","getDependency","serviceName","service","renderApp","_this2","autoUpdateVariables","_this$Variables$value","invokeOnParamChange","colors","primary","INSTANCE","primaryColor","Consumer","_this2$props","_this2$appConfig$draw","_this2$appConfig$draw2","insets","top","left","right","flex","container","landingPage","landingPageParams","hideDrawer","drawerContent","drawerAnimation","appLocale","alignItems","flexDirection","justifyContent","backgroundColor","height"],"sources":["App.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport axios, { AxiosError, InternalAxiosRequestConfig, AxiosResponse } from 'axios';\nimport { Platform, TouchableOpacity, View, ViewStyle, StatusBar } from 'react-native';\nimport ProtoTypes from 'prop-types';\nimport { SafeAreaProvider, SafeAreaInsetsContext, SafeAreaView } from 'react-native-safe-area-context';\nimport { DefaultTheme, Provider as PaperProvider } from 'react-native-paper';\nimport { Linking } from 'react-native';\nimport { NativeModulesProxy } from 'expo-modules-core';\nimport * as WebBrowser from 'expo-web-browser';\nimport { get, last } from 'lodash';\nimport { RENDER_LOGGER } from '@wavemaker/app-rn-runtime/core/logger';\nimport { ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';\nimport AppConfig, { Drawer } from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport StorageService from '@wavemaker/app-rn-runtime/core/storage.service';\nimport NetworkService from '@wavemaker/app-rn-runtime/core/network.service';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport formatters from '@wavemaker/app-rn-runtime/core/formatters';\nimport { deepCopy, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport * as Utils from '@wavemaker/app-rn-runtime/core/utils';\nimport { ModalProvider } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { FixedViewContainer } from '@wavemaker/app-rn-runtime/core/fixed-view.component';\nimport { ToastProvider } from '@wavemaker/app-rn-runtime/core/toast.service';\nimport NavigationService, { NavigationServiceProvider } from '@wavemaker/app-rn-runtime/core/navigation.service';\nimport { PartialProvider } from '@wavemaker/app-rn-runtime/core/partial.service';\nimport WmNetworkInfoToaster from '@wavemaker/app-rn-runtime/components/advanced/network-info-toaster/network-info-toaster.component';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport WmMessage from '@wavemaker/app-rn-runtime/components/basic/message/message.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\n\nimport { Watcher } from './watcher';\nimport { preparePatch } from './lib-patch';\nimport AppDisplayManagerService from './services/app-display-manager.service';\nimport AppModalService from './services/app-modal.service';\nimport AppToastService from './services/app-toast.service';\nimport AppPartialService from './services/partial.service';\nimport AppSpinnerService from './services/app-spinner.service';\nimport { AppNavigator } from './App.navigator';\nimport { SecurityProvider } from '../core/security.service';\nimport { CameraProvider } from '../core/device/camera-service';\nimport CameraService from './services/device/camera-service';\nimport { ScanProvider } from '../core/device/scan-service';\nimport ScanService from './services/device/scan-service';\nimport AppSecurityService from './services/app-security.service';\nimport {getValidJSON, parseErrors} from '@wavemaker/app-rn-runtime/variables/utils/variable.utils';\nimport MaterialCommunityIconsFont from '@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf';\n\nimport * as SplashScreen from 'expo-splash-screen';\nimport BasePartial from './base-partial.component';\nimport BasePage from './base-page.component';\nimport { WmMemo } from './memo.component';\n\ndeclare const window: any;\n\n//some old react libraries need this\n((View as any)['propTypes'] = { style: ProtoTypes.any})\n\nconst MIN_TIME_BETWEEN_REFRESH_CYCLES = 200;\n\nclass DrawerImpl implements Drawer {\n content: ReactNode;\n animation: string = 'slide-in';\n\n constructor(private onChange: () => void) {\n\n }\n\n setContent(content: ReactNode) {\n this.content = content;\n this.onChange();\n }\n\n getContent() {\n return this.content;\n }\n\n setAnimation(animation: string) {\n this.animation = animation;\n this.onChange();\n }\n\n getAnimation() {\n return this.animation;\n }\n}\nconst SUPPORTED_SERVICES = {\n Utils: Utils,\n StorageService: StorageService,\n AppDisplayManagerService: AppDisplayManagerService\n};\n\nexport default abstract class BaseApp extends React.Component implements NavigationService {\n\n Actions: any = {};\n Variables: any = {};\n onAppVariablesReady = () => {};\n isStarted = false;\n appConfig = injector.get<AppConfig>('APP_CONFIG');\n public baseUrl = '';\n public targetPlatform = 'NATIVE_MOBILE';\n public cleanup = [] as Function[];\n public commonPartial: BasePartial = null as any;\n private startUpVariables: string[] = [];\n private startUpActions: string[] = [];\n private autoUpdateVariables: string[] = [];\n private axiosInterceptorIds: number[] = [];\n public formatters = formatters;\n public serviceDefinitions = {} as any;\n private animatedRef: any;\n public modalsOpened: number = 0;\n public toastsOpened: number = 0;\n public watcher: Watcher = Watcher.ROOT;\n public lib = preparePatch(() => {\n this.refresh();\n });\n\n constructor(props: any) {\n super(props);\n SplashScreen.preventAutoHideAsync();\n setTimeout(() => SplashScreen.hideAsync(), 10000);\n this.appConfig.app = this;\n this.appConfig.drawer = new DrawerImpl(() => this.refresh());\n AppSpinnerService.setDefaultOptions({\n spinner: this.appConfig.spinner\n });\n let refreshAfterWait = false;\n this.baseUrl = this.appConfig.url;\n let wait = 0;\n this.bindServiceInterceptors();\n this.appConfig.refresh = (complete = false) => {\n if (complete) {\n this.reload();\n return;\n }\n if (!wait) {\n RENDER_LOGGER.debug('refreshing the app...');\n wait = MIN_TIME_BETWEEN_REFRESH_CYCLES;\n refreshAfterWait = false;\n setTimeout(() => {\n this.forceUpdate();\n this.commonPartial?.forceUpdate();\n this.appConfig.currentPage?.forceUpdate();\n this.watcher.check();\n });\n setTimeout(() => {\n wait = 0;\n refreshAfterWait && this.appConfig.refresh();\n }, wait);\n } else {\n RENDER_LOGGER.debug('will refresh the app in the next cycle.');\n refreshAfterWait = true;\n }\n }\n }\n\n goToPage(pageName: string, params: any) {\n return this.appConfig.currentPage?.goToPage(pageName, params);\n }\n\n goBack(pageName: string, params: any) {\n return this.appConfig.currentPage?.goBack(pageName, params);\n }\n\n openUrl(url: string, params?: any) {\n return this.appConfig.currentPage?.openUrl(url, params);\n }\n\n onBeforeServiceCall(config: InternalAxiosRequestConfig) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n return config;\n }\n\n isSkeletonEnabled() {\n return this.appConfig.spinner.loader == \"skeleton\";\n }\n\n onServiceSuccess(data: any, response: AxiosResponse) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n }\n\n onServiceError(errorMsg: any, error: AxiosError<any>) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n }\n\n invokeNativeApi(key: string, data: Object) {\n if (NativeModulesProxy.EmbedCommModule \n && (Platform.OS === 'android' || Platform.OS === 'ios')) {\n return NativeModulesProxy.EmbedCommModule.sendToNative(key, data || {});\n } else {\n return Promise.reject('Not able to invoke Native API in this platform.');\n }\n }\n\n onPageReady(activePageName: string, activePageScope: BasePage) {\n\n }\n\n get spinner() {\n return AppSpinnerService;\n }\n\n openBrowser(url: string, params = {} as any) {\n if (url) {\n if (isWebPreviewMode()) {\n window.open(url, '_blank');\n } else if (url.startsWith('http') && params.target === '_blank') {\n WebBrowser.openBrowserAsync(url);\n } else {\n return Linking.openURL(url);\n }\n }\n return Promise.resolve();\n }\n\n // To support old api\n reload() {}\n\n bindServiceInterceptors() {\n this.axiosInterceptorIds = [\n axios.interceptors.request.use((config: InternalAxiosRequestConfig) => {\n const url = config.url as string;\n if (!(url.startsWith('http://') || url.startsWith(\"https://\"))) {\n config.url = this.appConfig.url + '/' + url;\n }\n config.headers = config.headers || {};\n config.headers['X-Requested-With'] = 'XMLHttpRequest';\n console.log('onBeforeService call invoked on ' + config.url);\n return this.onBeforeServiceCall(config);\n }),\n axios.interceptors.response.use(\n (response: AxiosResponse) => {\n this.onServiceSuccess(response.data, response);\n return response;\n },(error: AxiosError<any>) => {\n let errorDetails: any = error.response, errMsg;\n errorDetails = getValidJSON(errorDetails?.data) || errorDetails?.data;\n if (errorDetails && errorDetails.errors) {\n errMsg = parseErrors(errorDetails.errors) || \"Service Call Failed\";\n } else {\n errMsg = error.message || \"Service Call Failed\";\n }\n error.message = errMsg;\n console.error(`Error ${errMsg} recieved from ${error.response?.config?.url}`);\n this.onServiceError(error.message, error);\n if (error.response?.config.url?.startsWith(this.appConfig.url) && error.response?.status === 401) {\n this.appConfig.currentPage?.pageName !== 'Login' && this.appConfig.currentPage?.goToPage('Login');\n }\n return Promise.reject(error)\n })\n ];\n }\n\n eval(fn: Function, failOnError = false) {\n try {\n return fn.call(this);\n } catch (e) {\n if (failOnError) {\n throw e;\n } else {\n return null;\n }\n }\n }\n\n triggerStartUpVariables() {\n return Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke()))\n .catch(() => {});\n }\n\n componentDidMount() {\n AppSpinnerService.show({\n spinner: this.appConfig.spinner\n });\n this.triggerStartUpVariables()\n .then(() => {\n this.onAppVariablesReady();\n this.isStarted = true;\n this.forceUpdate();\n }, () => {}).then(() => {\n SplashScreen.hideAsync().then(() => {});\n });\n this.startUpActions.map(a => this.Actions[a] && this.Actions[a].invoke());\n }\n\n componentWillUnmount(): void {\n this.axiosInterceptorIds.map(id => {\n axios.interceptors.request.eject(id);\n });\n this.cleanup.forEach(fn => fn());\n }\n\n refresh() {\n this.appConfig.refresh();\n }\n\n getProviders(content: React.ReactNode) {\n return (\n <NavigationServiceProvider value={this}>\n <ToastProvider value={AppToastService}>\n <PartialProvider value={AppPartialService}>\n <SecurityProvider value={AppSecurityService}>\n <CameraProvider value={CameraService}>\n <ScanProvider value={ScanService}>\n <ModalProvider value={AppModalService}>\n { content }\n </ModalProvider>\n </ScanProvider>\n </CameraProvider>\n </SecurityProvider>\n </PartialProvider>\n </ToastProvider>\n </NavigationServiceProvider>\n );\n }\n\n renderToasters() {\n this.toastsOpened = AppToastService.toastsOpened.length;\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => AppToastService.refreshCount);\n return (\n <>\n {AppToastService.toastsOpened.map((o, i) =>\n this.getProviders((\n <View key={i} style={[{\n position: 'absolute',\n width: '100%',\n bottom: 0,\n elevation: o.elevationIndex,\n zIndex: o.elevationIndex\n }, o.styles]}>\n <TouchableOpacity onPress={() => o.onClick && o.onClick()}>\n {o.content}\n {o.text && <WmMessage type={o.type} caption={o.text} hideclose={true}></WmMessage>}\n </TouchableOpacity>\n </View>\n )\n ))}\n </>);\n }}/>;\n }\n\n renderDialogs(): ReactNode {\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => last(AppModalService.modalsOpened)?.content);\n this.modalsOpened = AppModalService.modalsOpened.length;\n AppModalService.animatedRefs.length = 0;\n return(\n <>\n {AppModalService.modalOptions.content &&\n AppModalService.modalsOpened.map((o, i) => {\n return (\n <View key={(o.name || '') + i}\n onStartShouldSetResponder={() => true}\n onResponderEnd={() => o.isModal && AppModalService.hideModal(o)}\n style={deepCopy(styles.appModal,\n o.centered ? styles.centeredModal: null,\n o.modalStyle,\n { elevation: o.elevationIndex,\n zIndex: o.elevationIndex })}>\n <Animatedview entryanimation={o.animation || 'fadeIn'}\n ref={ref => {\n this.animatedRef = ref;\n AppModalService.animatedRefs[i] = ref;\n }}\n style={[styles.appModalContent, o.contentStyle]}>\n <View\n onStartShouldSetResponder={evt => true}\n onResponderEnd={(e) => e.stopPropagation()}\n style={{width: '100%', 'alignItems': 'center'}}>\n {this.getProviders(o.content)}\n </View>\n </Animatedview>\n </View>\n )}\n )\n }\n </>);\n }}/>;\n }\n\n renderDisplayManager(): ReactNode {\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => AppDisplayManagerService.displayOptions.content);\n return AppDisplayManagerService.displayOptions.content\n ? (\n <ThemeProvider value={this.appConfig.theme}>\n <View style={[styles.displayViewContainer, {\n elevation: this.toastsOpened + this.modalsOpened + 1,\n zIndex: this.toastsOpened + this.modalsOpened + 1\n }]}>\n {AppDisplayManagerService.displayOptions.content}\n </View>\n </ThemeProvider>) : null;\n }}/>\n }\n\n renderIconsViewSupportForWeb() {\n try {\n return (<style type=\"text/css\">{`\n @font-face {\n font-family: 'MaterialCommunityIcons';\n src: url(${MaterialCommunityIconsFont}) format('truetype');\n }\n `}</style>);\n } catch (e) {\n console.log('require react-native-vector-icons could not be loaded.');\n }\n return null;\n }\n\n getSelectedLocale() {\n return this.appConfig.selectedLocale;\n }\n\n getDependency(serviceName: string): any {\n const service = get(SUPPORTED_SERVICES, serviceName);\n if (service) {\n return service;\n }\n }\n\n renderApp(commonPartial:React.ReactNode) {\n this.autoUpdateVariables.forEach(value => this.Variables[value]?.invokeOnParamChange());\n return (\n <SafeAreaProvider>\n <PaperProvider theme={{\n ...DefaultTheme,\n colors: {\n ...DefaultTheme.colors,\n primary: ThemeVariables.INSTANCE.primaryColor\n }}}>\n <React.Fragment>\n {Platform.OS === 'web' ? this.renderIconsViewSupportForWeb() : null}\n <SafeAreaInsetsContext.Consumer>\n {(insets = {top: 0, bottom: 0, left: 0, right: 0}) =>\n (this.getProviders(\n (<SafeAreaView style={{flex: 1}}>\n <StatusBar />\n <FixedViewContainer>\n <View style={styles.container}>\n <AppNavigator\n app={this}\n landingPage={(this.props as any).pageName}\n landingPageParams={(this.props as any)?.pageName && this.props}\n hideDrawer={this.appConfig.drawer?.getContent() === null}\n drawerContent={() => this.appConfig.drawer? this.getProviders(this.appConfig.drawer.getContent()) : null}\n drawerAnimation={this.appConfig.drawer?.getAnimation()}></AppNavigator>\n {commonPartial}\n {this.renderToasters()}\n {this.renderDialogs()}\n {this.renderDisplayManager()}\n </View>\n <WmNetworkInfoToaster appLocale={this.appConfig.appLocale}></WmNetworkInfoToaster>\n </FixedViewContainer>\n </SafeAreaView>))\n )\n }\n </SafeAreaInsetsContext.Consumer>\n </React.Fragment>\n </PaperProvider>\n </SafeAreaProvider>\n );\n }\n}\n\nconst styles = {\n container: {\n flex: 1\n },\n appModal: {\n position: 'absolute',\n width: '100%'\n },\n appModalContent : {\n flex: 1,\n width: '100%',\n alignItems: 'center',\n flexDirection: 'column',\n justifyContent: 'center'\n },\n centeredModal: {\n flex: 1,\n position: 'absolute',\n top: 0,\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: 'rgba(0, 0, 0, 0.4)',\n height: '100%'\n },\n displayViewContainer: {\n position: 'absolute',\n justifyContent: 'center',\n width: '100%',\n left: 0,\n right: 0,\n top: 0,\n bottom:0\n } as ViewStyle\n};\n"],"mappings":"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"}
@@ -5,6 +5,7 @@ import { clone, isEqual } from 'lodash';
5
5
  import React from 'react';
6
6
  import WmPage from '@wavemaker/app-rn-runtime/components/page/page.component';
7
7
  import { NavigationServiceProvider } from '@wavemaker/app-rn-runtime/core/navigation.service';
8
+ import AppSecurityService from './services/app-security.service';
8
9
  import AppSpinnerService from './services/app-spinner.service';
9
10
  import BaseFragment from './base-fragment.component';
10
11
  import { Watcher } from './watcher';
@@ -24,6 +25,12 @@ export default class BasePage extends BaseFragment {
24
25
  (_this$appConfig$drawe = this.appConfig.drawer) === null || _this$appConfig$drawe === void 0 ? void 0 : _this$appConfig$drawe.setContent(null);
25
26
  this.serviceDefinitions = this.App.serviceDefinitions;
26
27
  this.watcher = Watcher.ROOT.create();
28
+ AppSecurityService.canUserAccessPage(this.pageName).then(flag => {
29
+ if (!flag) {
30
+ AppSecurityService.redirectToLogin();
31
+ this.props.destroyMe();
32
+ }
33
+ });
27
34
  }
28
35
  onComponentInit(w) {
29
36
  super.onComponentInit(w);
@@ -1 +1 @@
1
- {"version":3,"names":["clone","isEqual","React","WmPage","NavigationServiceProvider","AppSpinnerService","BaseFragment","Watcher","BasePage","constructor","props","_this$appConfig$drawe","_defineProperty","pageName","route","name","pageParams","params","appConfig","currentPage","drawer","setContent","serviceDefinitions","App","watcher","ROOT","create","onComponentInit","w","targetWidget","cache","refreshdataonattach","toggleDrawer","navigation","setDrawerContent","content","arguments","length","undefined","drawerContent","drawerType","hasDrawer","setTimeout","proxy","_this$appConfig$drawe2","_this$appConfig$drawe4","_this$appConfig$drawe3","createElement","value","setAnimation","onAttach","onFragmentReady","then","onContentReady","onPageReady","hide","cleanup","push","addListener","refresh","componentWillUnmount","goToPage","_params","navigate","onDetach","destroyMe","closeDrawer","Promise","resolve","goBack","canGoBack","window","history","back","openUrl","url","startsWith","substring","splits","split","map","p","forEach","openBrowser","isCurrentPage","link","includes","renderWidget","renderPage"],"sources":["base-page.component.tsx"],"sourcesContent":["import { clone, isEqual } from 'lodash';\nimport React, { ReactNode } from 'react';\nimport { BaseComponent } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmPage from '@wavemaker/app-rn-runtime/components/page/page.component';\nimport NavigationService, { NavigationServiceProvider } from '@wavemaker/app-rn-runtime/core/navigation.service';\n\nimport AppSpinnerService from './services/app-spinner.service';\nimport BaseFragment, { FragmentProps, FragmentState } from './base-fragment.component';\nimport { Watcher } from './watcher';\n\ndeclare const window: any;\n\nexport interface PageProps extends FragmentProps {\n route: any;\n navigation: any;\n destroyMe: Function;\n}\n\nexport interface PageState extends FragmentState<PageProps> {}\n\nexport default abstract class BasePage extends BaseFragment<PageProps, PageState> implements NavigationService {\n private pageName = null as unknown as string;\n private pageParams: any = {};\n private hasDrawer = false;\n private hasTabbar = false;\n private drawerContent = null as React.ReactNode;\n private drawerType = '';\n\n constructor(props: PageProps) {\n super(props);\n this.pageName = props.route.name;\n this.pageParams = props.route.params;\n this.appConfig.currentPage = this;\n this.appConfig.drawer?.setContent(null);\n this.serviceDefinitions = this.App.serviceDefinitions;\n this.watcher = Watcher.ROOT.create();\n }\n\n onComponentInit(w: BaseComponent<any, any, any>) {\n super.onComponentInit(w);\n if (w instanceof WmPage) {\n this.targetWidget = w;\n const props = w.props as any;\n this.cache = !(props.cache === false);\n this.refreshdataonattach = !(props.refreshdataonattach === false);\n }\n }\n\n toggleDrawer() {\n (this.props as PageProps).navigation.toggleDrawer();\n }\n\n setDrawerContent(content = this.drawerContent, drawerType = this.drawerType) {\n if (!content) {\n return;\n }\n this.drawerContent = content;\n this.drawerType = drawerType;\n this.hasDrawer = true;\n setTimeout(() => {\n if (this.appConfig.currentPage === this \n || this.appConfig.currentPage.proxy === this) {\n this.appConfig.drawer?.setContent(null);\n setTimeout(() => {\n this.appConfig.drawer?.setContent((\n <NavigationServiceProvider value={this}>\n {content}\n </NavigationServiceProvider>));\n }, 500);\n this.appConfig.drawer?.setAnimation(drawerType);\n }\n }, 10);\n }\n\n onAttach() {\n super.onAttach();\n this.setDrawerContent();\n }\n\n onFragmentReady() {\n return super.onFragmentReady().then(() => {\n this.onContentReady();\n this.App.onPageReady(this.pageName, this.proxy as BasePage);\n AppSpinnerService.hide(); \n this.cleanup.push((this.props as PageProps).navigation.addListener('focus', () => {\n if (this.appConfig.currentPage !== this) {\n this.appConfig.currentPage = this;\n this.onAttach();\n this.appConfig.refresh();\n }\n }));\n });\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n }\n\n goToPage(pageName: string, params: any) {\n const navigation = (this.props as PageProps).navigation;\n const _params = clone(params);\n _params && delete _params['pageName'];\n if (pageName !== this.pageName || !isEqual(_params, this.pageParams)) {\n if (pageName === this.pageName) {\n navigation.push(pageName, _params);\n } else {\n navigation.navigate(pageName, _params);\n }\n if (this.cache) {\n this.onDetach();\n } else {\n this.props.destroyMe();\n }\n } else {\n (this.props as PageProps).navigation.closeDrawer();\n }\n return Promise.resolve();\n }\n\n goBack() {\n const navigation = (this.props as PageProps).navigation;\n if (navigation.canGoBack()) {\n navigation.goBack();\n } else if (window && window.history) {\n window.history.back();\n }\n return Promise.resolve();\n }\n\n openUrl(url: string, params = {} as any) {\n if (url) {\n if (url.startsWith('#')) {\n url = url.substring(1);\n url = url.startsWith('/') ? url.substring(1) : url;\n const splits = url.split('?');\n const pageName = splits[0];\n let params = {} as any;\n if (splits.length > 1) {\n splits[1].split('&')\n .map(p => p.split('='))\n .forEach(p => params[p[0]] = p[1]);\n }\n return this.goToPage(pageName, params);\n } else {\n this.App.openBrowser(url, params);\n }\n }\n return Promise.resolve();\n }\n\n isCurrentPage(link: string) {\n const pageName = this.pageName;\n return [pageName, '#' + pageName, '#/' + pageName].includes(link)\n }\n\n abstract renderPage(): ReactNode;\n\n renderWidget(props: PageProps) {\n return this.renderPage();\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["clone","isEqual","React","WmPage","NavigationServiceProvider","AppSecurityService","AppSpinnerService","BaseFragment","Watcher","BasePage","constructor","props","_this$appConfig$drawe","_defineProperty","pageName","route","name","pageParams","params","appConfig","currentPage","drawer","setContent","serviceDefinitions","App","watcher","ROOT","create","canUserAccessPage","then","flag","redirectToLogin","destroyMe","onComponentInit","w","targetWidget","cache","refreshdataonattach","toggleDrawer","navigation","setDrawerContent","content","arguments","length","undefined","drawerContent","drawerType","hasDrawer","setTimeout","proxy","_this$appConfig$drawe2","_this$appConfig$drawe4","_this$appConfig$drawe3","createElement","value","setAnimation","onAttach","onFragmentReady","onContentReady","onPageReady","hide","cleanup","push","addListener","refresh","componentWillUnmount","goToPage","_params","navigate","onDetach","closeDrawer","Promise","resolve","goBack","canGoBack","window","history","back","openUrl","url","startsWith","substring","splits","split","map","p","forEach","openBrowser","isCurrentPage","link","includes","renderWidget","renderPage"],"sources":["base-page.component.tsx"],"sourcesContent":["import { clone, isEqual } from 'lodash';\nimport React, { ReactNode } from 'react';\nimport { BaseComponent } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmPage from '@wavemaker/app-rn-runtime/components/page/page.component';\nimport NavigationService, { NavigationServiceProvider } from '@wavemaker/app-rn-runtime/core/navigation.service';\n\nimport AppSecurityService from './services/app-security.service';\nimport AppSpinnerService from './services/app-spinner.service';\nimport BaseFragment, { FragmentProps, FragmentState } from './base-fragment.component';\nimport { Watcher } from './watcher';\n\ndeclare const window: any;\n\nexport interface PageProps extends FragmentProps {\n route: any;\n navigation: any;\n destroyMe: Function;\n}\n\nexport interface PageState extends FragmentState<PageProps> {}\n\nexport default abstract class BasePage extends BaseFragment<PageProps, PageState> implements NavigationService {\n private pageName = null as unknown as string;\n private pageParams: any = {};\n private hasDrawer = false;\n private hasTabbar = false;\n private drawerContent = null as React.ReactNode;\n private drawerType = '';\n\n constructor(props: PageProps) {\n super(props);\n this.pageName = props.route.name;\n this.pageParams = props.route.params;\n this.appConfig.currentPage = this;\n this.appConfig.drawer?.setContent(null);\n this.serviceDefinitions = this.App.serviceDefinitions;\n this.watcher = Watcher.ROOT.create();\n AppSecurityService.canUserAccessPage(this.pageName)\n .then(flag => {\n if (!flag) {\n AppSecurityService.redirectToLogin();\n this.props.destroyMe();\n }\n });\n }\n\n onComponentInit(w: BaseComponent<any, any, any>) {\n super.onComponentInit(w);\n if (w instanceof WmPage) {\n this.targetWidget = w;\n const props = w.props as any;\n this.cache = !(props.cache === false);\n this.refreshdataonattach = !(props.refreshdataonattach === false);\n }\n }\n\n toggleDrawer() {\n (this.props as PageProps).navigation.toggleDrawer();\n }\n\n setDrawerContent(content = this.drawerContent, drawerType = this.drawerType) {\n if (!content) {\n return;\n }\n this.drawerContent = content;\n this.drawerType = drawerType;\n this.hasDrawer = true;\n setTimeout(() => {\n if (this.appConfig.currentPage === this \n || this.appConfig.currentPage.proxy === this) {\n this.appConfig.drawer?.setContent(null);\n setTimeout(() => {\n this.appConfig.drawer?.setContent((\n <NavigationServiceProvider value={this}>\n {content}\n </NavigationServiceProvider>));\n }, 500);\n this.appConfig.drawer?.setAnimation(drawerType);\n }\n }, 10);\n }\n\n onAttach() {\n super.onAttach();\n this.setDrawerContent();\n }\n\n onFragmentReady() {\n return super.onFragmentReady().then(() => {\n this.onContentReady();\n this.App.onPageReady(this.pageName, this.proxy as BasePage);\n AppSpinnerService.hide(); \n this.cleanup.push((this.props as PageProps).navigation.addListener('focus', () => {\n if (this.appConfig.currentPage !== this) {\n this.appConfig.currentPage = this;\n this.onAttach();\n this.appConfig.refresh();\n }\n }));\n });\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n }\n\n goToPage(pageName: string, params: any) {\n const navigation = (this.props as PageProps).navigation;\n const _params = clone(params);\n _params && delete _params['pageName'];\n if (pageName !== this.pageName || !isEqual(_params, this.pageParams)) {\n if (pageName === this.pageName) {\n navigation.push(pageName, _params);\n } else {\n navigation.navigate(pageName, _params);\n }\n if (this.cache) {\n this.onDetach();\n } else {\n this.props.destroyMe();\n }\n } else {\n (this.props as PageProps).navigation.closeDrawer();\n }\n return Promise.resolve();\n }\n\n goBack() {\n const navigation = (this.props as PageProps).navigation;\n if (navigation.canGoBack()) {\n navigation.goBack();\n } else if (window && window.history) {\n window.history.back();\n }\n return Promise.resolve();\n }\n\n openUrl(url: string, params = {} as any) {\n if (url) {\n if (url.startsWith('#')) {\n url = url.substring(1);\n url = url.startsWith('/') ? url.substring(1) : url;\n const splits = url.split('?');\n const pageName = splits[0];\n let params = {} as any;\n if (splits.length > 1) {\n splits[1].split('&')\n .map(p => p.split('='))\n .forEach(p => params[p[0]] = p[1]);\n }\n return this.goToPage(pageName, params);\n } else {\n this.App.openBrowser(url, params);\n }\n }\n return Promise.resolve();\n }\n\n isCurrentPage(link: string) {\n const pageName = this.pageName;\n return [pageName, '#' + pageName, '#/' + pageName].includes(link)\n }\n\n abstract renderPage(): ReactNode;\n\n renderWidget(props: PageProps) {\n return this.renderPage();\n }\n}\n"],"mappings":"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"}
@@ -74,7 +74,7 @@ class AppSecurityService {
74
74
  this.token = xsrfCookieValue;
75
75
  StorageService.setItem(XSRF_COOKIE_NAME, xsrfCookieValue);
76
76
  this.isLoggedIn = true;
77
- }).then(() => this.load(options.baseURL)).then(() => this.getLoggedInUserDetails(options.baseURL, options.useDefaultSuccessHandler));
77
+ }).then(() => this.load(options.baseURL)).then(() => this.getLoggedInUserDetails(options.baseURL, options.useDefaultSuccessHandler)).then(() => this.appConfig.app.triggerStartUpVariables());
78
78
  }
79
79
  load(baseURL) {
80
80
  return Promise.resolve().then(() => {
@@ -157,6 +157,13 @@ class AppSecurityService {
157
157
  this.redirectToLogin();
158
158
  });
159
159
  }
160
+ canUserAccessPage(pageName) {
161
+ if (this.baseUrl) {
162
+ return axios.get(this.baseUrl + `/pages/${pageName}/${pageName}.html`).catch(res => res).then(res => res.status === 200 || res.status === 304);
163
+ } else {
164
+ return Promise.resolve(true);
165
+ }
166
+ }
160
167
  matchRoles(widgetRoles, userRoles) {
161
168
  return widgetRoles.some(function (item) {
162
169
  return includes(userRoles, item);
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","axios","each","includes","networkService","injector","StorageService","WebProcessService","USER_ROLE","authCookieStr","XSRF_COOKIE_NAME","xsrf_header_name","AppSecurityService","constructor","_defineProperty","interceptors","request","use","config","onBeforeServiceCall","appConfig","getAppConfig","baseUrl","url","getXsrfToken","then","token","_config$url","startsWith","headers","Promise","resolve","getItem","xsrf_token","get","navigateToLandingPage","details","_this$appConfig$curre","_details$userInfo","currentPage","goToPage","userInfo","landingPage","appLogin","options","payload","formData","value","name","encodeURIComponent","defaults","withCredentials","post","baseURL","response","xsrfCookieValue","data","setItem","isLoggedIn","load","getLoggedInUserDetails","useDefaultSuccessHandler","isConnected","getServiceDefinitions","defaultSecurityConfig","loggedInUser","securityConfig","securityEnabled","authenticated","isAuthenticated","isSecurityEnabled","roles","userRoles","userName","id","userId","tenantId","userAttributes","dataSet","redirectToLogin","arguments","length","undefined","_this$securityConfig","loginConfig","type","authUrl","OS","window","parent","location","href","setTimeout","execute","output","JSON","parse","replace","reject","refresh","_this$securityConfig$","_this$appConfig$curre2","loginPage","pageName","appLogout","catch","matchRoles","widgetRoles","some","item","hasAccessToWidget","_this$loggedInUser$da","_this$loggedInUser$da2","_this$loggedInUser$da3","_this$loggedInUser$da4","widgetRolesArr","split","EVERYONE","ANONYMOUS","AUTHENTICATED","appSecurityService"],"sources":["app-security.service.tsx"],"sourcesContent":["import { Platform } from 'react-native';\nimport axios, { InternalAxiosRequestConfig, AxiosResponse } from 'axios';\nimport { each, includes } from 'lodash';\n\nimport networkService from '@wavemaker/app-rn-runtime/core/network.service';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport StorageService from '@wavemaker/app-rn-runtime/core/storage.service';\nimport { SecurityService } from '@wavemaker/app-rn-runtime/core/security.service';\n\nimport WebProcessService from './webprocess.service';\n\ndeclare const window: any;\n\ninterface LoggedInUserConfig {\n isAuthenticated: Boolean;\n isSecurityEnabled: Boolean;\n roles: Array<string>;\n name: String;\n id: String;\n tenantId: String;\n userAttributes: any;\n}\n\nenum USER_ROLE {\n EVERYONE = 'Everyone',\n ANONYMOUS = 'Anonymous',\n AUTHENTICATED = 'Authenticated'\n}\n\nconst authCookieStr = 'AUTH_COOKIE';\nconst XSRF_COOKIE_NAME = 'wm_xsrf_token';\nconst xsrf_header_name = 'X-WM-XSRF-TOKEN';\n\nclass AppSecurityService implements SecurityService {\n\n securityConfig: any;\n isLoggedIn = false;\n loggedInUser: any = {};\n token: any;\n appConfig: any;\n baseUrl: string = '';\n defaultSecurityConfig: any;\n\n constructor() {\n axios.interceptors.request.use((config: InternalAxiosRequestConfig) => this.onBeforeServiceCall(config));\n }\n\n onBeforeServiceCall(config: InternalAxiosRequestConfig) {\n if (!this.appConfig) {\n this.appConfig = this.getAppConfig();\n this.baseUrl = this.appConfig.url;\n }\n return this.getXsrfToken().then((token: string) => {\n if (config.url?.startsWith(this.baseUrl) && token) {\n if(config.headers) config.headers[xsrf_header_name] = token;\n }\n return config\n });\n }\n\n private getXsrfToken(): Promise<string> {\n if (this.token) {\n return Promise.resolve(this.token);\n }\n return StorageService.getItem(XSRF_COOKIE_NAME).then(xsrf_token => {\n this.token = xsrf_token;\n return this.token;\n });\n }\n\n private getAppConfig() {\n return injector.get<AppConfig>('APP_CONFIG');\n }\n\n public navigateToLandingPage(details: any) {\n this.appConfig.currentPage?.goToPage(details.userInfo?.landingPage || 'Main');\n }\n\n public appLogin(options: any) {\n // encode all parameters\n let payload = '';\n each(options.formData, function (value, name) {\n payload += (payload ? '&' : '') + encodeURIComponent(name) + '=' + encodeURIComponent(value);\n });\n axios.defaults.withCredentials = true;\n return axios.post(options.baseURL + '/j_spring_security_check', payload, {\n withCredentials: true,\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded'\n }}).then((response: AxiosResponse) => {\n const xsrfCookieValue = response.data ? response.data[XSRF_COOKIE_NAME] : '';\n this.token = xsrfCookieValue;\n StorageService.setItem(XSRF_COOKIE_NAME, xsrfCookieValue);\n this.isLoggedIn = true;\n }).then(() => this.load(options.baseURL))\n .then(() => this.getLoggedInUserDetails(options.baseURL, options.useDefaultSuccessHandler));\n }\n\n public load(baseURL: string) {\n return Promise.resolve().then(() => {\n if (networkService.isConnected()) {\n return axios.get(baseURL + '/services/security/info')\n .then((response: AxiosResponse) => response.data);\n }\n return this.appConfig.getServiceDefinitions(this.appConfig.url)\n .then(() => Promise.resolve(this.defaultSecurityConfig));\n }).then((details: any) => {\n const loggedInUser = {} as LoggedInUserConfig;\n this.securityConfig = details;\n const appConfig = this.appConfig;\n if (typeof details !== 'string' && (!details.securityEnabled || details.authenticated)) {\n if (details.authenticated) {\n loggedInUser.isAuthenticated = details.authenticated;\n loggedInUser.isSecurityEnabled = details.authenticated;\n loggedInUser.roles = details.userInfo.userRoles;\n loggedInUser.name = details.userInfo.userName;\n loggedInUser.id = details.userInfo.userId;\n loggedInUser.tenantId = details.userInfo.tenantId;\n loggedInUser.userAttributes = details.userInfo.userAttributes;\n appConfig.loggedInUser = loggedInUser;\n this.loggedInUser.dataSet = loggedInUser;\n }\n return appConfig.getServiceDefinitions(appConfig.url)\n .then(() => {\n return details;\n });\n } else {\n return appConfig.getServiceDefinitions(appConfig.url)\n .then(() => {\n this.redirectToLogin();\n });\n }\n });\n }\n\n private getLoggedInUserDetails(baseURL: string, useDefaultSuccessHandler: boolean = true) {\n if (!baseURL) {\n this.loggedInUser = {};\n return Promise.resolve({});\n }\n return this.load(baseURL);\n }\n\n \n public redirectToLogin() {\n if (this.securityConfig?.loginConfig?.type === 'SSO') {\n const authUrl = this.appConfig.url + '/services/security/ssologin';\n if (Platform.OS === 'web') {\n (window.parent || window).location.href = authUrl;\n } else {\n setTimeout(() => {\n WebProcessService.execute('LOGIN', '/services/security/ssologin', false, true)\n .then((output: any) => {\n if (output) {\n return JSON.parse(output.data && output.data.replace(/&quot;/g, \"\\\"\"));\n }\n return Promise.reject();\n }).then((output: any) => {\n if (output[XSRF_COOKIE_NAME]) {\n this.token = output[XSRF_COOKIE_NAME];\n StorageService.setItem(XSRF_COOKIE_NAME, output[XSRF_COOKIE_NAME]);\n }\n }).then(() => {\n this.appConfig.refresh(true);\n }).then(() => this.load(this.baseUrl)).then(() => {\n return this.getLoggedInUserDetails(this.baseUrl);\n });\n }, 1000);\n }\n } else {\n const loginPage = this.securityConfig.loginConfig?.pageName || 'Login';\n injector.get<AppConfig>('APP_CONFIG').landingPage = loginPage;\n this.appConfig.currentPage?.goToPage(loginPage);\n }\n this.appConfig.refresh();\n }\n\n public appLogout(options: any) {\n return axios.post(options.baseURL + '/j_spring_security_logout', null, {\n withCredentials: true\n }).catch(() => {}).then(() => {\n this.isLoggedIn = false;\n this.redirectToLogin();\n });\n }\n\n private matchRoles(widgetRoles: Array<String>, userRoles: Array<String>) {\n return widgetRoles.some(function (item) {\n return includes(userRoles, item);\n });\n }\n\n public hasAccessToWidget(widgetRoles: String) {\n const widgetRolesArr = widgetRoles.split(',');\n // access the widget when 'Everyone' is chosen\n if (includes(widgetRolesArr, USER_ROLE.EVERYONE)) {\n return true;\n }\n\n // access the widget when 'Anonymous' is chosen and user is not authenticated\n if (includes(widgetRolesArr, USER_ROLE.ANONYMOUS) && !this.loggedInUser.dataSet?.isAuthenticated) {\n return true;\n }\n\n // access the widget when 'Only Authenticated Users' is chosen and user is authenticated\n if (includes(widgetRolesArr, USER_ROLE.AUTHENTICATED) && this.loggedInUser.dataSet?.isAuthenticated) {\n return true;\n }\n\n // access the widget when widget role and logged in user role matches\n return this.loggedInUser.dataSet?.isAuthenticated && this.matchRoles(widgetRolesArr, this.loggedInUser.dataSet?.roles);\n }\n}\n\nconst appSecurityService = new AppSecurityService();\n\nexport default appSecurityService;\n"],"mappings":"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"}
1
+ {"version":3,"names":["Platform","axios","each","includes","networkService","injector","StorageService","WebProcessService","USER_ROLE","authCookieStr","XSRF_COOKIE_NAME","xsrf_header_name","AppSecurityService","constructor","_defineProperty","interceptors","request","use","config","onBeforeServiceCall","appConfig","getAppConfig","baseUrl","url","getXsrfToken","then","token","_config$url","startsWith","headers","Promise","resolve","getItem","xsrf_token","get","navigateToLandingPage","details","_this$appConfig$curre","_details$userInfo","currentPage","goToPage","userInfo","landingPage","appLogin","options","payload","formData","value","name","encodeURIComponent","defaults","withCredentials","post","baseURL","response","xsrfCookieValue","data","setItem","isLoggedIn","load","getLoggedInUserDetails","useDefaultSuccessHandler","app","triggerStartUpVariables","isConnected","getServiceDefinitions","defaultSecurityConfig","loggedInUser","securityConfig","securityEnabled","authenticated","isAuthenticated","isSecurityEnabled","roles","userRoles","userName","id","userId","tenantId","userAttributes","dataSet","redirectToLogin","arguments","length","undefined","_this$securityConfig","loginConfig","type","authUrl","OS","window","parent","location","href","setTimeout","execute","output","JSON","parse","replace","reject","refresh","_this$securityConfig$","_this$appConfig$curre2","loginPage","pageName","appLogout","catch","canUserAccessPage","res","status","matchRoles","widgetRoles","some","item","hasAccessToWidget","_this$loggedInUser$da","_this$loggedInUser$da2","_this$loggedInUser$da3","_this$loggedInUser$da4","widgetRolesArr","split","EVERYONE","ANONYMOUS","AUTHENTICATED","appSecurityService"],"sources":["app-security.service.tsx"],"sourcesContent":["import { Platform } from 'react-native';\nimport axios, { InternalAxiosRequestConfig, AxiosResponse } from 'axios';\nimport { each, includes } from 'lodash';\n\nimport networkService from '@wavemaker/app-rn-runtime/core/network.service';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport StorageService from '@wavemaker/app-rn-runtime/core/storage.service';\nimport { SecurityService } from '@wavemaker/app-rn-runtime/core/security.service';\n\nimport WebProcessService from './webprocess.service';\n\ndeclare const window: any;\n\ninterface LoggedInUserConfig {\n isAuthenticated: Boolean;\n isSecurityEnabled: Boolean;\n roles: Array<string>;\n name: String;\n id: String;\n tenantId: String;\n userAttributes: any;\n}\n\nenum USER_ROLE {\n EVERYONE = 'Everyone',\n ANONYMOUS = 'Anonymous',\n AUTHENTICATED = 'Authenticated'\n}\n\nconst authCookieStr = 'AUTH_COOKIE';\nconst XSRF_COOKIE_NAME = 'wm_xsrf_token';\nconst xsrf_header_name = 'X-WM-XSRF-TOKEN';\n\nclass AppSecurityService implements SecurityService {\n\n securityConfig: any;\n isLoggedIn = false;\n loggedInUser: any = {};\n token: any;\n appConfig: any;\n baseUrl: string = '';\n defaultSecurityConfig: any;\n\n constructor() {\n axios.interceptors.request.use((config: InternalAxiosRequestConfig) => this.onBeforeServiceCall(config));\n }\n\n onBeforeServiceCall(config: InternalAxiosRequestConfig) {\n if (!this.appConfig) {\n this.appConfig = this.getAppConfig();\n this.baseUrl = this.appConfig.url;\n }\n return this.getXsrfToken().then((token: string) => {\n if (config.url?.startsWith(this.baseUrl) && token) {\n if(config.headers) config.headers[xsrf_header_name] = token;\n }\n return config\n });\n }\n\n private getXsrfToken(): Promise<string> {\n if (this.token) {\n return Promise.resolve(this.token);\n }\n return StorageService.getItem(XSRF_COOKIE_NAME).then(xsrf_token => {\n this.token = xsrf_token;\n return this.token;\n });\n }\n\n private getAppConfig() {\n return injector.get<AppConfig>('APP_CONFIG');\n }\n\n public navigateToLandingPage(details: any) {\n this.appConfig.currentPage?.goToPage(details.userInfo?.landingPage || 'Main');\n }\n\n public appLogin(options: any) {\n // encode all parameters\n let payload = '';\n each(options.formData, function (value, name) {\n payload += (payload ? '&' : '') + encodeURIComponent(name) + '=' + encodeURIComponent(value);\n });\n axios.defaults.withCredentials = true;\n return axios.post(options.baseURL + '/j_spring_security_check', payload, {\n withCredentials: true,\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded'\n }}).then((response: AxiosResponse) => {\n const xsrfCookieValue = response.data ? response.data[XSRF_COOKIE_NAME] : '';\n this.token = xsrfCookieValue;\n StorageService.setItem(XSRF_COOKIE_NAME, xsrfCookieValue);\n this.isLoggedIn = true;\n }).then(() => this.load(options.baseURL))\n .then(() => this.getLoggedInUserDetails(options.baseURL, options.useDefaultSuccessHandler))\n .then(() => this.appConfig.app.triggerStartUpVariables());\n }\n\n public load(baseURL: string) {\n return Promise.resolve().then(() => {\n if (networkService.isConnected()) {\n return axios.get(baseURL + '/services/security/info')\n .then((response: AxiosResponse) => response.data);\n }\n return this.appConfig.getServiceDefinitions(this.appConfig.url)\n .then(() => Promise.resolve(this.defaultSecurityConfig));\n }).then((details: any) => {\n const loggedInUser = {} as LoggedInUserConfig;\n this.securityConfig = details;\n const appConfig = this.appConfig;\n if (typeof details !== 'string' && (!details.securityEnabled || details.authenticated)) {\n if (details.authenticated) {\n loggedInUser.isAuthenticated = details.authenticated;\n loggedInUser.isSecurityEnabled = details.authenticated;\n loggedInUser.roles = details.userInfo.userRoles;\n loggedInUser.name = details.userInfo.userName;\n loggedInUser.id = details.userInfo.userId;\n loggedInUser.tenantId = details.userInfo.tenantId;\n loggedInUser.userAttributes = details.userInfo.userAttributes;\n appConfig.loggedInUser = loggedInUser;\n this.loggedInUser.dataSet = loggedInUser;\n }\n return appConfig.getServiceDefinitions(appConfig.url)\n .then(() => {\n return details;\n });\n } else {\n return appConfig.getServiceDefinitions(appConfig.url)\n .then(() => {\n this.redirectToLogin();\n });\n }\n });\n }\n\n private getLoggedInUserDetails(baseURL: string, useDefaultSuccessHandler: boolean = true) {\n if (!baseURL) {\n this.loggedInUser = {};\n return Promise.resolve({});\n }\n return this.load(baseURL);\n }\n\n \n public redirectToLogin() {\n if (this.securityConfig?.loginConfig?.type === 'SSO') {\n const authUrl = this.appConfig.url + '/services/security/ssologin';\n if (Platform.OS === 'web') {\n (window.parent || window).location.href = authUrl;\n } else {\n setTimeout(() => {\n WebProcessService.execute('LOGIN', '/services/security/ssologin', false, true)\n .then((output: any) => {\n if (output) {\n return JSON.parse(output.data && output.data.replace(/&quot;/g, \"\\\"\"));\n }\n return Promise.reject();\n }).then((output: any) => {\n if (output[XSRF_COOKIE_NAME]) {\n this.token = output[XSRF_COOKIE_NAME];\n StorageService.setItem(XSRF_COOKIE_NAME, output[XSRF_COOKIE_NAME]);\n }\n }).then(() => {\n this.appConfig.refresh(true);\n }).then(() => this.load(this.baseUrl)).then(() => {\n return this.getLoggedInUserDetails(this.baseUrl);\n });\n }, 1000);\n }\n } else {\n const loginPage = this.securityConfig.loginConfig?.pageName || 'Login';\n injector.get<AppConfig>('APP_CONFIG').landingPage = loginPage;\n this.appConfig.currentPage?.goToPage(loginPage);\n }\n this.appConfig.refresh();\n }\n\n public appLogout(options: any) {\n return axios.post(options.baseURL + '/j_spring_security_logout', null, {\n withCredentials: true\n }).catch(() => {}).then(() => {\n this.isLoggedIn = false;\n this.redirectToLogin();\n });\n }\n\n public canUserAccessPage(pageName: string) {\n if (this.baseUrl) {\n return axios.get(this.baseUrl + `/pages/${pageName}/${pageName}.html`)\n .catch((res) => res)\n .then((res) => res.status === 200 || res.status === 304); \n } else {\n return Promise.resolve(true);\n }\n }\n\n private matchRoles(widgetRoles: Array<String>, userRoles: Array<String>) {\n return widgetRoles.some(function (item) {\n return includes(userRoles, item);\n });\n }\n\n public hasAccessToWidget(widgetRoles: String) {\n const widgetRolesArr = widgetRoles.split(',');\n // access the widget when 'Everyone' is chosen\n if (includes(widgetRolesArr, USER_ROLE.EVERYONE)) {\n return true;\n }\n\n // access the widget when 'Anonymous' is chosen and user is not authenticated\n if (includes(widgetRolesArr, USER_ROLE.ANONYMOUS) && !this.loggedInUser.dataSet?.isAuthenticated) {\n return true;\n }\n\n // access the widget when 'Only Authenticated Users' is chosen and user is authenticated\n if (includes(widgetRolesArr, USER_ROLE.AUTHENTICATED) && this.loggedInUser.dataSet?.isAuthenticated) {\n return true;\n }\n\n // access the widget when widget role and logged in user role matches\n return this.loggedInUser.dataSet?.isAuthenticated && this.matchRoles(widgetRolesArr, this.loggedInUser.dataSet?.roles);\n }\n}\n\nconst appSecurityService = new AppSecurityService();\n\nexport default appSecurityService;\n"],"mappings":"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"}
@@ -30,7 +30,7 @@ export class HttpService {
30
30
  const axiosConfig = {
31
31
  headers: headers,
32
32
  cancelToken: variable.cancelTokenSource.token,
33
- withCredentials: true
33
+ withCredentials: (options === null || options === void 0 ? void 0 : options.withCredentials) !== false
34
34
  };
35
35
  return new Promise((resolve, reject) => {
36
36
  // @ts-ignore
@@ -1 +1 @@
1
- {"version":3,"names":["axios","WS_CONSTANTS","isWebPreviewMode","injector","HttpService","send","options","variable","_variable$serviceInfo","serviceInfo","headers","requestBody","data","url","cancelTokenSource","CancelToken","source","consumes","formData","FormData","parameters","forEach","p","v","params","name","append","category","startsWith","replace","config","baseUrl","methodType","method","toLowerCase","isNonDataMethod","NON_DATA_AXIOS_METHODS","indexOf","toUpperCase","axiosConfig","cancelToken","token","withCredentials","Promise","resolve","reject","apply","then","result","err","response","sendCall","requestParams","getLocale","appConfig","get","appLocale","messages","cancel","uploadFile","event","error","httpService"],"sources":["http.service.ts"],"sourcesContent":["import axios from 'axios';\nimport { HttpClientService } from '@wavemaker/variables/src/types/http-client.service';\nimport { WS_CONSTANTS } from '@wavemaker/app-rn-runtime/variables/utils/variable.constants';\nimport { get, isEmpty } from 'lodash';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class HttpService implements HttpClientService {\n\n send(options: any, variable: any) {\n const serviceInfo = variable.serviceInfo;\n let headers: any = options.headers,\n requestBody: any = options.data,\n url: string = options.url;\n variable.cancelTokenSource = axios.CancelToken.source();\n if (!isWebPreviewMode() && (variable?.serviceInfo?.consumes||[])[0] === 'multipart/form-data') {\n headers['Content-Type'] = 'multipart/form-data';\n let formData = new FormData();\n (variable.serviceInfo.parameters||[]).forEach((p: any) => {\n const v = variable.params[p.name];\n if (v) {\n formData.append(p.name, variable.params[p.name]);\n }\n });\n requestBody = formData;\n }\n if (!isWebPreviewMode()\n && variable.category === 'wm.LiveVariable'\n && !(url.startsWith('http://') || url.startsWith(\"https://\"))) {\n options.url = options.url.replace('./', '/');\n url = variable.config.baseUrl + options.url;\n }\n\n const methodType: string = serviceInfo?.methodType || options.method.toLowerCase();\n const isNonDataMethod: boolean = WS_CONSTANTS.NON_DATA_AXIOS_METHODS.indexOf(methodType.toUpperCase()) > -1;\n const axiosConfig = {\n headers: headers,\n cancelToken: variable.cancelTokenSource.token,\n withCredentials: true\n };\n return new Promise((resolve, reject) => {\n // @ts-ignore\n axios[methodType].apply(variable, ( isNonDataMethod ? [url, axiosConfig] : [url, requestBody || {}, axiosConfig]))\n .then((result: any) => {\n resolve(result);\n }, (err: any) => {\n reject(err.response);\n })\n })\n }\n\n sendCall(requestParams: any, variable: any) {\n return new Promise((resolve, reject) => {\n this.send(requestParams, variable).then((response: any) => {\n resolve(response);\n }, (err: any) => {\n reject(err);\n });\n });\n }\n\n getLocale() {\n const appConfig = injector.get<AppConfig>('APP_CONFIG');\n return appConfig.appLocale.messages;\n }\n\n cancel(variable: any) {\n variable.cancelTokenSource.cancel();\n }\n\n uploadFile(url: any, data: any, variable: any, options?: any) {\n const requestParams = {\n url: url,\n data: data\n }\n return new Promise((resolve, reject) => {\n return this.send(requestParams, variable).then((event: any) => {\n resolve(event.data);\n }, (error: any) => {\n reject(error);\n });\n });\n }\n}\n\nconst httpService = new HttpService();\n\nexport default httpService;\n"],"mappings":"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"}
1
+ {"version":3,"names":["axios","WS_CONSTANTS","isWebPreviewMode","injector","HttpService","send","options","variable","_variable$serviceInfo","serviceInfo","headers","requestBody","data","url","cancelTokenSource","CancelToken","source","consumes","formData","FormData","parameters","forEach","p","v","params","name","append","category","startsWith","replace","config","baseUrl","methodType","method","toLowerCase","isNonDataMethod","NON_DATA_AXIOS_METHODS","indexOf","toUpperCase","axiosConfig","cancelToken","token","withCredentials","Promise","resolve","reject","apply","then","result","err","response","sendCall","requestParams","getLocale","appConfig","get","appLocale","messages","cancel","uploadFile","event","error","httpService"],"sources":["http.service.ts"],"sourcesContent":["import axios from 'axios';\nimport { HttpClientService } from '@wavemaker/variables/src/types/http-client.service';\nimport { WS_CONSTANTS } from '@wavemaker/app-rn-runtime/variables/utils/variable.constants';\nimport { get, isEmpty } from 'lodash';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class HttpService implements HttpClientService {\n\n send(options: any, variable: any) {\n const serviceInfo = variable.serviceInfo;\n let headers: any = options.headers,\n requestBody: any = options.data,\n url: string = options.url;\n variable.cancelTokenSource = axios.CancelToken.source();\n if (!isWebPreviewMode() && (variable?.serviceInfo?.consumes||[])[0] === 'multipart/form-data') {\n headers['Content-Type'] = 'multipart/form-data';\n let formData = new FormData();\n (variable.serviceInfo.parameters||[]).forEach((p: any) => {\n const v = variable.params[p.name];\n if (v) {\n formData.append(p.name, variable.params[p.name]);\n }\n });\n requestBody = formData;\n }\n if (!isWebPreviewMode()\n && variable.category === 'wm.LiveVariable'\n && !(url.startsWith('http://') || url.startsWith(\"https://\"))) {\n options.url = options.url.replace('./', '/');\n url = variable.config.baseUrl + options.url;\n }\n\n const methodType: string = serviceInfo?.methodType || options.method.toLowerCase();\n const isNonDataMethod: boolean = WS_CONSTANTS.NON_DATA_AXIOS_METHODS.indexOf(methodType.toUpperCase()) > -1;\n const axiosConfig = {\n headers: headers,\n cancelToken: variable.cancelTokenSource.token,\n withCredentials: options?.withCredentials !== false\n };\n return new Promise((resolve, reject) => {\n // @ts-ignore\n axios[methodType].apply(variable, ( isNonDataMethod ? [url, axiosConfig] : [url, requestBody || {}, axiosConfig]))\n .then((result: any) => {\n resolve(result);\n }, (err: any) => {\n reject(err.response);\n })\n })\n }\n\n sendCall(requestParams: any, variable: any) {\n return new Promise((resolve, reject) => {\n this.send(requestParams, variable).then((response: any) => {\n resolve(response);\n }, (err: any) => {\n reject(err);\n });\n });\n }\n\n getLocale() {\n const appConfig = injector.get<AppConfig>('APP_CONFIG');\n return appConfig.appLocale.messages;\n }\n\n cancel(variable: any) {\n variable.cancelTokenSource.cancel();\n }\n\n uploadFile(url: any, data: any, variable: any, options?: any) {\n const requestParams = {\n url: url,\n data: data\n }\n return new Promise((resolve, reject) => {\n return this.send(requestParams, variable).then((event: any) => {\n resolve(event.data);\n }, (error: any) => {\n reject(error);\n });\n });\n }\n}\n\nconst httpService = new HttpService();\n\nexport default httpService;\n"],"mappings":"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"}
@@ -34,6 +34,7 @@ export class LiveVariable extends _LiveVariable {
34
34
  tableType: config.tableType,
35
35
  relatedTables: config.relatedTables,
36
36
  httpClientService: httpService,
37
+ inFlightBehavior: config.inFlightBehavior,
37
38
  onSuccess: (context, args) => {
38
39
  return config.onSuccess && config.onSuccess(args.variable, args.data, args.options);
39
40
  },
@@ -1 +1 @@
1
- {"version":3,"names":["isEqual","isUndefined","isFunction","forEach","isEmpty","LiveVariable","_LiveVariable","httpService","injector","deepCopy","Formatters","_LiveVariableEvents","constructor","config","variableConfig","name","dataSet","paramProvider","inputFields","filterExpressions","filterFields","isList","maxResults","_context","operation","type","autoUpdate","liveSource","orderBy","category","properties","propertiesMap","tableName","tableType","relatedTables","httpClientService","onSuccess","context","args","variable","data","options","onCanUpdate","onBeforeUpdate","dataFilter","inputData","onResult","onBeforeDatasetReady","onError","_defineProperty","get","dateFormatter","init","setFilterExpValue","filter","_this$filterExpressio","rules","r","value","target","invokeOnParamChange","last","params","latest","lastFilter","filters","latestFilter","filterProvider","update","invoke","val","key","Promise","resolve","listRecords"],"sources":["live-variable.ts"],"sourcesContent":["import { VariableConfig, VariableEvents } from './base-variable';\nimport { isEqual, isUndefined, isFunction, forEach, isEmpty } from 'lodash';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { LiveVariable as _LiveVariable } from '@wavemaker/variables/src/model/variable/live-variable';\nimport httpService from '@wavemaker/app-rn-runtime/variables/http.service';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport { deepCopy } from '@wavemaker/app-rn-runtime/core/utils';\nimport Formatters from '@wavemaker/app-rn-runtime/core/formatters';\n\nexport interface LiveVariableConfig extends VariableConfig {\n baseUrl: string;\n maxResults: number;\n _context: any;\n onCanUpdate: any;\n onBeforeUpdate: any;\n onResult: any;\n onBeforeDatasetReady: any;\n inFlightBehavior: string;\n type: string;\n autoUpdate: boolean;\n orderBy: string;\n category: string;\n liveSource: string;\n propertiesMap: any;\n properties: any;\n tableName: string;\n tableType: string;\n relatedTables: any;\n filterExpressions: any;\n filterProvider: any;\n}\n\nenum _LiveVariableEvents {\n BEFORE_INVOKE = 'beforeInvoke'\n}\nexport type LiveVariableEvents = _LiveVariableEvents | VariableEvents;\n\nexport class LiveVariable extends _LiveVariable {\n params: any = {};\n filters: any = {};\n public appConfig = injector.get<AppConfig>('APP_CONFIG');\n\n constructor(public config: LiveVariableConfig) {\n const variableConfig: any = {\n name: config.name,\n dataSet: config.paramProvider(),\n inputFields: config.paramProvider(),\n filterExpressions: config.filterExpressions,\n filterFields: config.paramProvider(),\n isList: config.isList,\n maxResults: config.maxResults,\n _context: config._context,\n operation: config.operation,\n type: config.type,\n autoUpdate: config.autoUpdate,\n liveSource: config.liveSource,\n orderBy: config.orderBy,\n category: config.category,\n properties: config.properties,\n propertiesMap: config.propertiesMap,\n tableName: config.tableName,\n tableType: config.tableType,\n relatedTables: config.relatedTables,\n httpClientService: httpService,\n onSuccess: (context: any, args: any) => {\n return config.onSuccess && config.onSuccess(args.variable, args.data, args.options);\n },\n onCanUpdate: (context: any, args: any) => {\n return config.onCanUpdate && config.onCanUpdate(args.variable, args.data, args.options);\n },\n onBeforeUpdate: (context: any, args: any) => {\n return config.onBeforeUpdate && config.onBeforeUpdate(args.variable, args.dataFilter || args.inputData, args.options);\n },\n onResult: (context: any, args: any) => {\n return config.onResult && config.onResult(args.variable, args.data, args.options);\n },\n onBeforeDatasetReady: (context: any, args: any) => {\n return config.onBeforeDatasetReady && config.onBeforeDatasetReady(args.variable, args.data, args.options);\n }\n }\n if (config.onError) {\n variableConfig.onError = (context: any, args: any) => {\n return config.onError && config.onError(args.variable, args.data, args.options);\n };\n }\n super(variableConfig);\n this.dateFormatter = Formatters.get('toDate');\n this.init();\n }\n\n setFilterExpValue(filter: any) {\n this.filterExpressions?.rules.forEach((r: any) => {\n r.value = filter[r.target];\n });\n }\n\n invokeOnParamChange() {\n const last = this.params;\n const latest = this.config.paramProvider();\n if (this.config.operation === 'read') {\n const lastFilter = this.filters;\n const latestFilter = this.config.filterProvider && this.config.filterProvider();\n if (!isEqual(lastFilter, latestFilter)) {\n this.setFilterExpValue(latestFilter);\n if (this.autoUpdate && !isEmpty(latestFilter) && isFunction(this.update)) {\n this.filters = latestFilter;\n this.invoke();\n }\n }\n }\n if (!isEqual(last, latest)) {\n if (this.config.operation === 'read') {\n forEach(latest, (val: any, key: any) => {\n this.filterFields[key] = {\n 'value': val\n };\n });\n } else {\n this.inputFields = latest;\n }\n /* if auto-update set for the variable with read operation only, get its data */\n // @ts-ignore\n if (this.autoUpdate && !isUndefined(latest) && isFunction(this[this.config.operation + 'Record'])) {\n this.invoke();\n }\n }\n return Promise.resolve(this);\n }\n\n listRecords(options? : any, onSuccess?: Function, onError?: Function) {\n this.filters = this.config.filterProvider && this.config.filterProvider();\n if (options) {\n this.filters = deepCopy({} as any, this.filters, options.filterFields ? options.filterFields : options);\n }\n options = options || {};\n options.filterFields = this.filters;\n this.setFilterExpValue(this.filters);\n return super.listRecords(options, onSuccess, onError);\n }\n\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["isEqual","isUndefined","isFunction","forEach","isEmpty","LiveVariable","_LiveVariable","httpService","injector","deepCopy","Formatters","_LiveVariableEvents","constructor","config","variableConfig","name","dataSet","paramProvider","inputFields","filterExpressions","filterFields","isList","maxResults","_context","operation","type","autoUpdate","liveSource","orderBy","category","properties","propertiesMap","tableName","tableType","relatedTables","httpClientService","inFlightBehavior","onSuccess","context","args","variable","data","options","onCanUpdate","onBeforeUpdate","dataFilter","inputData","onResult","onBeforeDatasetReady","onError","_defineProperty","get","dateFormatter","init","setFilterExpValue","filter","_this$filterExpressio","rules","r","value","target","invokeOnParamChange","last","params","latest","lastFilter","filters","latestFilter","filterProvider","update","invoke","val","key","Promise","resolve","listRecords"],"sources":["live-variable.ts"],"sourcesContent":["import { VariableConfig, VariableEvents } from './base-variable';\nimport { isEqual, isUndefined, isFunction, forEach, isEmpty } from 'lodash';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { LiveVariable as _LiveVariable } from '@wavemaker/variables/src/model/variable/live-variable';\nimport httpService from '@wavemaker/app-rn-runtime/variables/http.service';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport { deepCopy } from '@wavemaker/app-rn-runtime/core/utils';\nimport Formatters from '@wavemaker/app-rn-runtime/core/formatters';\n\nexport interface LiveVariableConfig extends VariableConfig {\n baseUrl: string;\n maxResults: number;\n _context: any;\n onCanUpdate: any;\n onBeforeUpdate: any;\n onResult: any;\n onBeforeDatasetReady: any;\n inFlightBehavior: string;\n type: string;\n autoUpdate: boolean;\n orderBy: string;\n category: string;\n liveSource: string;\n propertiesMap: any;\n properties: any;\n tableName: string;\n tableType: string;\n relatedTables: any;\n filterExpressions: any;\n filterProvider: any;\n}\n\nenum _LiveVariableEvents {\n BEFORE_INVOKE = 'beforeInvoke'\n}\nexport type LiveVariableEvents = _LiveVariableEvents | VariableEvents;\n\nexport class LiveVariable extends _LiveVariable {\n params: any = {};\n filters: any = {};\n public appConfig = injector.get<AppConfig>('APP_CONFIG');\n\n constructor(public config: LiveVariableConfig) {\n const variableConfig: any = {\n name: config.name,\n dataSet: config.paramProvider(),\n inputFields: config.paramProvider(),\n filterExpressions: config.filterExpressions,\n filterFields: config.paramProvider(),\n isList: config.isList,\n maxResults: config.maxResults,\n _context: config._context,\n operation: config.operation,\n type: config.type,\n autoUpdate: config.autoUpdate,\n liveSource: config.liveSource,\n orderBy: config.orderBy,\n category: config.category,\n properties: config.properties,\n propertiesMap: config.propertiesMap,\n tableName: config.tableName,\n tableType: config.tableType,\n relatedTables: config.relatedTables,\n httpClientService: httpService,\n inFlightBehavior: config.inFlightBehavior,\n onSuccess: (context: any, args: any) => {\n return config.onSuccess && config.onSuccess(args.variable, args.data, args.options);\n },\n onCanUpdate: (context: any, args: any) => {\n return config.onCanUpdate && config.onCanUpdate(args.variable, args.data, args.options);\n },\n onBeforeUpdate: (context: any, args: any) => {\n return config.onBeforeUpdate && config.onBeforeUpdate(args.variable, args.dataFilter || args.inputData, args.options);\n },\n onResult: (context: any, args: any) => {\n return config.onResult && config.onResult(args.variable, args.data, args.options);\n },\n onBeforeDatasetReady: (context: any, args: any) => {\n return config.onBeforeDatasetReady && config.onBeforeDatasetReady(args.variable, args.data, args.options);\n }\n }\n if (config.onError) {\n variableConfig.onError = (context: any, args: any) => {\n return config.onError && config.onError(args.variable, args.data, args.options);\n };\n }\n super(variableConfig);\n this.dateFormatter = Formatters.get('toDate');\n this.init();\n }\n\n setFilterExpValue(filter: any) {\n this.filterExpressions?.rules.forEach((r: any) => {\n r.value = filter[r.target];\n });\n }\n\n invokeOnParamChange() {\n const last = this.params;\n const latest = this.config.paramProvider();\n if (this.config.operation === 'read') {\n const lastFilter = this.filters;\n const latestFilter = this.config.filterProvider && this.config.filterProvider();\n if (!isEqual(lastFilter, latestFilter)) {\n this.setFilterExpValue(latestFilter);\n if (this.autoUpdate && !isEmpty(latestFilter) && isFunction(this.update)) {\n this.filters = latestFilter;\n this.invoke();\n }\n }\n }\n if (!isEqual(last, latest)) {\n if (this.config.operation === 'read') {\n forEach(latest, (val: any, key: any) => {\n this.filterFields[key] = {\n 'value': val\n };\n });\n } else {\n this.inputFields = latest;\n }\n /* if auto-update set for the variable with read operation only, get its data */\n // @ts-ignore\n if (this.autoUpdate && !isUndefined(latest) && isFunction(this[this.config.operation + 'Record'])) {\n this.invoke();\n }\n }\n return Promise.resolve(this);\n }\n\n listRecords(options? : any, onSuccess?: Function, onError?: Function) {\n this.filters = this.config.filterProvider && this.config.filterProvider();\n if (options) {\n this.filters = deepCopy({} as any, this.filters, options.filterFields ? options.filterFields : options);\n }\n options = options || {};\n options.filterFields = this.filters;\n this.setFilterExpValue(this.filters);\n return super.listRecords(options, onSuccess, onError);\n }\n\n}\n"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
2
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
3
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
4
+ import { assignIn, clone, isEqual } from 'lodash-es';
4
5
  import { VariableEvents } from './base-variable';
5
6
  import { ModelVariable as _ModelVariable } from '@wavemaker/variables/src/model/variable/model-variable';
6
7
  export class ModelVariable extends _ModelVariable {
@@ -12,11 +13,13 @@ export class ModelVariable extends _ModelVariable {
12
13
  };
13
14
  super(variable);
14
15
  _defineProperty(this, "config", void 0);
16
+ _defineProperty(this, "lastParams", void 0);
15
17
  this.config = config;
16
18
  this.invoke();
17
19
  }
18
20
  invoke(params, onSuccess, onError) {
19
21
  let result;
22
+ this.dataSet = assignIn({}, this.config.paramProvider(), params ? params.inputFields || params : {});
20
23
  this.notify(VariableEvents.BEFORE_INVOKE, [this, this.dataSet]);
21
24
  try {
22
25
  result = super.execute(params, () => {});
@@ -31,5 +34,13 @@ export class ModelVariable extends _ModelVariable {
31
34
  this.notify(VariableEvents.AFTER_INVOKE, [this, this.dataSet]);
32
35
  return result;
33
36
  }
37
+ invokeOnParamChange() {
38
+ const latest = this.config.paramProvider();
39
+ if (!isEqual(this.lastParams, latest)) {
40
+ this.invoke();
41
+ this.lastParams = clone(latest);
42
+ }
43
+ return Promise.resolve(this);
44
+ }
34
45
  }
35
46
  //# sourceMappingURL=model-variable.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["VariableEvents","ModelVariable","_ModelVariable","constructor","config","variable","name","dataSet","paramProvider","isList","_defineProperty","invoke","params","onSuccess","onError","result","notify","BEFORE_INVOKE","execute","SUCCESS","error","ERROR","AFTER_INVOKE"],"sources":["model-variable.ts"],"sourcesContent":["import { BaseVariable, VariableConfig, VariableEvents } from './base-variable';\nimport { ModelVariable as _ModelVariable } from '@wavemaker/variables/src/model/variable/model-variable';\n\nexport class ModelVariable extends _ModelVariable {\n config: any;\n\n constructor(config: VariableConfig) {\n const variable = {\n name: config.name,\n dataSet: config.paramProvider(),\n isList: config.isList\n }\n super(variable);\n this.config = config;\n this.invoke();\n }\n\n invoke(params?: {}, onSuccess?: Function, onError?: Function) {\n let result;\n this.notify(VariableEvents.BEFORE_INVOKE, [this, this.dataSet]);\n try{\n result = super.execute(params, ()=>{});\n this.config.onSuccess && this.config.onSuccess(this, this.dataSet);\n onSuccess && onSuccess(this, this.dataSet);\n this.notify(VariableEvents.SUCCESS, [this, this.dataSet]);\n }\n catch(error){\n this.config.onError && this.config.onError(this, this.dataSet);\n onError && onError(this, this.dataSet);\n this.notify(VariableEvents.ERROR, [this, this.dataSet]);\n }\n\n this.notify(VariableEvents.AFTER_INVOKE, [this, this.dataSet]);\n return result;\n }\n}\n"],"mappings":";;;AAAA,SAAuCA,cAAc,QAAQ,iBAAiB;AAC9E,SAASC,aAAa,IAAIC,cAAc,QAAQ,wDAAwD;AAExG,OAAO,MAAMD,aAAa,SAASC,cAAc,CAAC;EAGhDC,WAAWA,CAACC,MAAsB,EAAE;IAClC,MAAMC,QAAQ,GAAG;MACfC,IAAI,EAAEF,MAAM,CAACE,IAAI;MACjBC,OAAO,EAAEH,MAAM,CAACI,aAAa,CAAC,CAAC;MAC/BC,MAAM,EAAEL,MAAM,CAACK;IACjB,CAAC;IACD,KAAK,CAACJ,QAAQ,CAAC;IAACK,eAAA;IAChB,IAAI,CAACN,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACO,MAAM,CAAC,CAAC;EACf;EAEAA,MAAMA,CAACC,MAAW,EAAEC,SAAoB,EAAEC,OAAkB,EAAE;IAC5D,IAAIC,MAAM;IACV,IAAI,CAACC,MAAM,CAAChB,cAAc,CAACiB,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,CAACV,OAAO,CAAC,CAAC;IAC/D,IAAG;MACDQ,MAAM,GAAG,KAAK,CAACG,OAAO,CAACN,MAAM,EAAE,MAAI,CAAC,CAAC,CAAC;MACtC,IAAI,CAACR,MAAM,CAACS,SAAS,IAAI,IAAI,CAACT,MAAM,CAACS,SAAS,CAAC,IAAI,EAAE,IAAI,CAACN,OAAO,CAAC;MAClEM,SAAS,IAAIA,SAAS,CAAC,IAAI,EAAE,IAAI,CAACN,OAAO,CAAC;MAC1C,IAAI,CAACS,MAAM,CAAChB,cAAc,CAACmB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAACZ,OAAO,CAAC,CAAC;IAC3D,CAAC,CACD,OAAMa,KAAK,EAAC;MACV,IAAI,CAAChB,MAAM,CAACU,OAAO,IAAI,IAAI,CAACV,MAAM,CAACU,OAAO,CAAC,IAAI,EAAE,IAAI,CAACP,OAAO,CAAC;MAC9DO,OAAO,IAAIA,OAAO,CAAC,IAAI,EAAE,IAAI,CAACP,OAAO,CAAC;MACtC,IAAI,CAACS,MAAM,CAAChB,cAAc,CAACqB,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,CAACd,OAAO,CAAC,CAAC;IACzD;IAEA,IAAI,CAACS,MAAM,CAAChB,cAAc,CAACsB,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,CAACf,OAAO,CAAC,CAAC;IAC9D,OAAOQ,MAAM;EACf;AACF"}
1
+ {"version":3,"names":["assignIn","clone","isEqual","VariableEvents","ModelVariable","_ModelVariable","constructor","config","variable","name","dataSet","paramProvider","isList","_defineProperty","invoke","params","onSuccess","onError","result","inputFields","notify","BEFORE_INVOKE","execute","SUCCESS","error","ERROR","AFTER_INVOKE","invokeOnParamChange","latest","lastParams","Promise","resolve"],"sources":["model-variable.ts"],"sourcesContent":["import { assignIn, clone, isEqual } from 'lodash-es';\nimport { BaseVariable, VariableConfig, VariableEvents } from './base-variable';\nimport { ModelVariable as _ModelVariable } from '@wavemaker/variables/src/model/variable/model-variable';\n\nexport class ModelVariable extends _ModelVariable {\n config: any;\n lastParams: any;\n\n constructor(config: VariableConfig) {\n const variable = {\n name: config.name,\n dataSet: config.paramProvider(),\n isList: config.isList\n }\n super(variable);\n this.config = config;\n this.invoke();\n }\n\n invoke(params?: any, onSuccess?: Function, onError?: Function) {\n let result;\n this.dataSet = assignIn({}, this.config.paramProvider(), params ? params.inputFields || params: {}); \n this.notify(VariableEvents.BEFORE_INVOKE, [this, this.dataSet]);\n try{\n result = super.execute(params, ()=>{});\n this.config.onSuccess && this.config.onSuccess(this, this.dataSet);\n onSuccess && onSuccess(this, this.dataSet);\n this.notify(VariableEvents.SUCCESS, [this, this.dataSet]);\n }\n catch(error){\n this.config.onError && this.config.onError(this, this.dataSet);\n onError && onError(this, this.dataSet);\n this.notify(VariableEvents.ERROR, [this, this.dataSet]);\n }\n\n this.notify(VariableEvents.AFTER_INVOKE, [this, this.dataSet]);\n return result;\n }\n\n invokeOnParamChange() {\n const latest = this.config.paramProvider();\n if (!isEqual(this.lastParams, latest)) {\n this.invoke();\n this.lastParams = clone(latest);\n }\n return Promise.resolve(this);\n }\n}\n"],"mappings":";;;AAAA,SAASA,QAAQ,EAAEC,KAAK,EAAEC,OAAO,QAAQ,WAAW;AACpD,SAAuCC,cAAc,QAAQ,iBAAiB;AAC9E,SAASC,aAAa,IAAIC,cAAc,QAAQ,wDAAwD;AAExG,OAAO,MAAMD,aAAa,SAASC,cAAc,CAAC;EAIhDC,WAAWA,CAACC,MAAsB,EAAE;IAClC,MAAMC,QAAQ,GAAG;MACfC,IAAI,EAAEF,MAAM,CAACE,IAAI;MACjBC,OAAO,EAAEH,MAAM,CAACI,aAAa,CAAC,CAAC;MAC/BC,MAAM,EAAEL,MAAM,CAACK;IACjB,CAAC;IACD,KAAK,CAACJ,QAAQ,CAAC;IAACK,eAAA;IAAAA,eAAA;IAChB,IAAI,CAACN,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACO,MAAM,CAAC,CAAC;EACf;EAEAA,MAAMA,CAACC,MAAY,EAAEC,SAAoB,EAAEC,OAAkB,EAAE;IAC7D,IAAIC,MAAM;IACV,IAAI,CAACR,OAAO,GAAGV,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAACO,MAAM,CAACI,aAAa,CAAC,CAAC,EAAEI,MAAM,GAAGA,MAAM,CAACI,WAAW,IAAIJ,MAAM,GAAE,CAAC,CAAC,CAAC;IACnG,IAAI,CAACK,MAAM,CAACjB,cAAc,CAACkB,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,CAACX,OAAO,CAAC,CAAC;IAC/D,IAAG;MACDQ,MAAM,GAAG,KAAK,CAACI,OAAO,CAACP,MAAM,EAAE,MAAI,CAAC,CAAC,CAAC;MACtC,IAAI,CAACR,MAAM,CAACS,SAAS,IAAI,IAAI,CAACT,MAAM,CAACS,SAAS,CAAC,IAAI,EAAE,IAAI,CAACN,OAAO,CAAC;MAClEM,SAAS,IAAIA,SAAS,CAAC,IAAI,EAAE,IAAI,CAACN,OAAO,CAAC;MAC1C,IAAI,CAACU,MAAM,CAACjB,cAAc,CAACoB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAACb,OAAO,CAAC,CAAC;IAC3D,CAAC,CACD,OAAMc,KAAK,EAAC;MACV,IAAI,CAACjB,MAAM,CAACU,OAAO,IAAI,IAAI,CAACV,MAAM,CAACU,OAAO,CAAC,IAAI,EAAE,IAAI,CAACP,OAAO,CAAC;MAC9DO,OAAO,IAAIA,OAAO,CAAC,IAAI,EAAE,IAAI,CAACP,OAAO,CAAC;MACtC,IAAI,CAACU,MAAM,CAACjB,cAAc,CAACsB,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,CAACf,OAAO,CAAC,CAAC;IACzD;IAEA,IAAI,CAACU,MAAM,CAACjB,cAAc,CAACuB,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,CAAChB,OAAO,CAAC,CAAC;IAC9D,OAAOQ,MAAM;EACf;EAEAS,mBAAmBA,CAAA,EAAG;IACpB,MAAMC,MAAM,GAAG,IAAI,CAACrB,MAAM,CAACI,aAAa,CAAC,CAAC;IAC1C,IAAI,CAACT,OAAO,CAAC,IAAI,CAAC2B,UAAU,EAAED,MAAM,CAAC,EAAE;MACnC,IAAI,CAACd,MAAM,CAAC,CAAC;MACb,IAAI,CAACe,UAAU,GAAG5B,KAAK,CAAC2B,MAAM,CAAC;IACnC;IACA,OAAOE,OAAO,CAACC,OAAO,CAAC,IAAI,CAAC;EAC9B;AACF"}
@@ -26,6 +26,7 @@ export class ServiceVariable extends _ServiceVariable {
26
26
  operationId: config.operationId,
27
27
  serviceInfo: config.getServiceInfo(),
28
28
  httpClientService: httpService,
29
+ inFlightBehavior: config.inFlightBehavior,
29
30
  onSuccess: (context, args) => {
30
31
  this.notify(VariableEvents.AFTER_INVOKE, [args.variable, args.data, args.options]);
31
32
  this.notify(VariableEvents.SUCCESS, [args.variable, args.data, args.options]);
@@ -1 +1 @@
1
- {"version":3,"names":["VariableEvents","isEqual","deepCopy","ServiceVariable","_ServiceVariable","httpService","injector","_ServiceVariableEvents","constructor","config","variableConfig","name","dataSet","paramProvider","dataBinding","isList","service","serviceType","maxResults","_context","operation","operationId","serviceInfo","getServiceInfo","httpClientService","onSuccess","context","args","notify","AFTER_INVOKE","variable","data","options","SUCCESS","onError","ERROR","onCanUpdate","onBeforeUpdate","BEFORE_INVOKE","inputData","onResult","onBeforeDatasetReady","_defineProperty","get","subscribe","invokeOnParamChange","last","params","latest","invoke","Promise","resolve","doNext","currentPage","reject","onDataUpdated","appConfig","refresh","inputFields","console","error"],"sources":["service-variable.ts"],"sourcesContent":["import { VariableConfig, VariableEvents } from './base-variable';\nimport { isEqual, assignIn } from 'lodash';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { deepCopy } from '@wavemaker/app-rn-runtime/core/utils';\nimport { ServiceVariable as _ServiceVariable } from '@wavemaker/variables/src/model/variable/service-variable';\nimport httpService from '@wavemaker/app-rn-runtime/variables/http.service';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport interface ServiceVariableConfig extends VariableConfig {\n baseUrl: string;\n maxResults: number;\n _context: any;\n serviceType: string;\n onCanUpdate: any;\n onBeforeUpdate: any;\n onResult: any;\n onBeforeDatasetReady: any;\n inFlightBehavior: string;\n getServiceInfo: Function;\n}\n\nenum _ServiceVariableEvents {\n BEFORE_INVOKE = 'beforeInvoke'\n}\nexport type ServiceVariableEvents = _ServiceVariableEvents | VariableEvents;\n\nexport class ServiceVariable extends _ServiceVariable {\n private cancelTokenSource: any;\n params: any = {};\n public appConfig = injector.get<AppConfig>('APP_CONFIG');\n\n constructor(public config: ServiceVariableConfig) {\n let variableConfig: any = {\n name: config.name,\n dataSet: config.paramProvider(),\n dataBinding: {},\n isList: config.isList,\n service: config.service,\n serviceType: config.serviceType,\n maxResults: config.maxResults,\n _context: config._context,\n operation: config.operation,\n operationId: config.operationId,\n serviceInfo: config.getServiceInfo(),\n httpClientService: httpService,\n onSuccess: (context: any, args: any) => {\n this.notify(VariableEvents.AFTER_INVOKE, [args.variable, args.data, args.options]);\n this.notify(VariableEvents.SUCCESS, [args.variable, args.data, args.options]);\n return config.onSuccess && config.onSuccess(args.variable, args.data, args.options);\n },\n onError: (context: any, args: any) => {\n this.notify(VariableEvents.AFTER_INVOKE, [args.variable, args.data, args.options]);\n this.notify(VariableEvents.ERROR, [args.variable, args.data, args.options]);\n return config.onError && config.onError(args.variable, args.data, args.options);\n },\n onCanUpdate: (context: any, args: any) => {\n return config.onCanUpdate && config.onCanUpdate(args.variable, args.data, args.options);\n },\n onBeforeUpdate: (context: any, args: any) => {\n this.notify(VariableEvents.BEFORE_INVOKE, [args.variable, args.inputData, args.options]);\n return config.onBeforeUpdate && config.onBeforeUpdate(args.variable, args.inputData, args.options);\n },\n onResult: (context: any, args: any) => {\n return config.onResult && config.onResult(args.variable, args.data, args.options);\n },\n onBeforeDatasetReady: (context: any, args: any) => {\n return config.onBeforeDatasetReady && config.onBeforeDatasetReady(args.variable, args.data, args.options);\n }\n }\n if (config.onError) {\n variableConfig.onError = (context: any, args: any) => {\n return config.onError && config.onError(args.variable, args.data, args.options);\n };\n }\n super(variableConfig);\n this.subscribe(VariableEvents.AFTER_INVOKE, () => {\n this.dataBinding = {};\n });\n }\n\n invokeOnParamChange() {\n const last = this.params;\n const latest = this.config.paramProvider();\n if (!isEqual(last, latest)) {\n this.invoke(latest);\n }\n return Promise.resolve(this);\n }\n\n public doNext(currentPage: number) {\n // this.invoke({\n // page: currentPage\n // });\n return Promise.reject(this);\n }\n\n onDataUpdated() {\n this.appConfig.refresh(false);\n }\n\n invoke(options? : any, onSuccess?: Function, onError?: Function) {\n this.params = this.config.paramProvider();\n this.params = deepCopy({} as any, this.params, this.dataBinding);\n if (options) {\n this.params = deepCopy({} as any, this.params, options.inputFields ? options.inputFields : options);\n }\n options = options || {};\n options.inputFields = this.params;\n // service definitions data depends on whether user logged in or not\n // Try to get the latest definition\n this.serviceInfo = this.config.getServiceInfo();\n if (!this.serviceInfo) {\n console.error(`Service Info is missing for (${this.name}) variable.`)\n }\n return super.invoke(options, onSuccess, onError);\n }\n\n // cancel($file?: any) {\n // // CHecks if there is any pending requests in the queue\n // if ($queue.requestsQueue.has(this)) {\n // // If the request is a File upload request then modify the elements associated with file upload\n // // else unsubscribe from the observable on the variable.\n // if (false) {\n // // $file._uploadProgress.unsubscribe();\n // // $file.status = 'abort';\n // // this.totalFilesCount--;\n // // initiateCallback(VARIABLE_CONSTANTS.EVENT.ABORT, variable, $file);\n // // if (!this.isFileUploadInProgress(variable.dataBinding) && this.totalFilesCount === 0) {\n // // $queue.process(variable);\n // // // notify inflight variable\n // // this.notifyInflight(variable, false);\n // // }\n // } else {\n // if (true) {\n // this.cancelTokenSource.cancel();\n // $queue.process(this);\n // // notify inflight variable\n // //this.notifyInflight(variable, false);\n // }\n // }\n // }\n // }\n\n // setInput(key: any, val?: any, options?: any) {\n // this.params = merge({}, this.config.paramProvider(), _setInput(this.params, key, val, options));\n // return this.params;\n // }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["VariableEvents","isEqual","deepCopy","ServiceVariable","_ServiceVariable","httpService","injector","_ServiceVariableEvents","constructor","config","variableConfig","name","dataSet","paramProvider","dataBinding","isList","service","serviceType","maxResults","_context","operation","operationId","serviceInfo","getServiceInfo","httpClientService","inFlightBehavior","onSuccess","context","args","notify","AFTER_INVOKE","variable","data","options","SUCCESS","onError","ERROR","onCanUpdate","onBeforeUpdate","BEFORE_INVOKE","inputData","onResult","onBeforeDatasetReady","_defineProperty","get","subscribe","invokeOnParamChange","last","params","latest","invoke","Promise","resolve","doNext","currentPage","reject","onDataUpdated","appConfig","refresh","inputFields","console","error"],"sources":["service-variable.ts"],"sourcesContent":["import { VariableConfig, VariableEvents } from './base-variable';\nimport { isEqual, assignIn } from 'lodash';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { deepCopy } from '@wavemaker/app-rn-runtime/core/utils';\nimport { ServiceVariable as _ServiceVariable } from '@wavemaker/variables/src/model/variable/service-variable';\nimport httpService from '@wavemaker/app-rn-runtime/variables/http.service';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport interface ServiceVariableConfig extends VariableConfig {\n baseUrl: string;\n maxResults: number;\n _context: any;\n serviceType: string;\n onCanUpdate: any;\n onBeforeUpdate: any;\n onResult: any;\n onBeforeDatasetReady: any;\n inFlightBehavior: string;\n getServiceInfo: Function;\n}\n\nenum _ServiceVariableEvents {\n BEFORE_INVOKE = 'beforeInvoke'\n}\nexport type ServiceVariableEvents = _ServiceVariableEvents | VariableEvents;\n\nexport class ServiceVariable extends _ServiceVariable {\n private cancelTokenSource: any;\n params: any = {};\n public appConfig = injector.get<AppConfig>('APP_CONFIG');\n\n constructor(public config: ServiceVariableConfig) {\n let variableConfig: any = {\n name: config.name,\n dataSet: config.paramProvider(),\n dataBinding: {},\n isList: config.isList,\n service: config.service,\n serviceType: config.serviceType,\n maxResults: config.maxResults,\n _context: config._context,\n operation: config.operation,\n operationId: config.operationId,\n serviceInfo: config.getServiceInfo(),\n httpClientService: httpService,\n inFlightBehavior: config.inFlightBehavior,\n onSuccess: (context: any, args: any) => {\n this.notify(VariableEvents.AFTER_INVOKE, [args.variable, args.data, args.options]);\n this.notify(VariableEvents.SUCCESS, [args.variable, args.data, args.options]);\n return config.onSuccess && config.onSuccess(args.variable, args.data, args.options);\n },\n onError: (context: any, args: any) => {\n this.notify(VariableEvents.AFTER_INVOKE, [args.variable, args.data, args.options]);\n this.notify(VariableEvents.ERROR, [args.variable, args.data, args.options]);\n return config.onError && config.onError(args.variable, args.data, args.options);\n },\n onCanUpdate: (context: any, args: any) => {\n return config.onCanUpdate && config.onCanUpdate(args.variable, args.data, args.options);\n },\n onBeforeUpdate: (context: any, args: any) => {\n this.notify(VariableEvents.BEFORE_INVOKE, [args.variable, args.inputData, args.options]);\n return config.onBeforeUpdate && config.onBeforeUpdate(args.variable, args.inputData, args.options);\n },\n onResult: (context: any, args: any) => {\n return config.onResult && config.onResult(args.variable, args.data, args.options);\n },\n onBeforeDatasetReady: (context: any, args: any) => {\n return config.onBeforeDatasetReady && config.onBeforeDatasetReady(args.variable, args.data, args.options);\n }\n }\n if (config.onError) {\n variableConfig.onError = (context: any, args: any) => {\n return config.onError && config.onError(args.variable, args.data, args.options);\n };\n }\n super(variableConfig);\n this.subscribe(VariableEvents.AFTER_INVOKE, () => {\n this.dataBinding = {};\n });\n }\n\n invokeOnParamChange() {\n const last = this.params;\n const latest = this.config.paramProvider();\n if (!isEqual(last, latest)) {\n this.invoke(latest);\n }\n return Promise.resolve(this);\n }\n\n public doNext(currentPage: number) {\n // this.invoke({\n // page: currentPage\n // });\n return Promise.reject(this);\n }\n\n onDataUpdated() {\n this.appConfig.refresh(false);\n }\n\n invoke(options? : any, onSuccess?: Function, onError?: Function) {\n this.params = this.config.paramProvider();\n this.params = deepCopy({} as any, this.params, this.dataBinding);\n if (options) {\n this.params = deepCopy({} as any, this.params, options.inputFields ? options.inputFields : options);\n }\n options = options || {};\n options.inputFields = this.params;\n // service definitions data depends on whether user logged in or not\n // Try to get the latest definition\n this.serviceInfo = this.config.getServiceInfo();\n if (!this.serviceInfo) {\n console.error(`Service Info is missing for (${this.name}) variable.`)\n }\n return super.invoke(options, onSuccess, onError);\n }\n\n // cancel($file?: any) {\n // // CHecks if there is any pending requests in the queue\n // if ($queue.requestsQueue.has(this)) {\n // // If the request is a File upload request then modify the elements associated with file upload\n // // else unsubscribe from the observable on the variable.\n // if (false) {\n // // $file._uploadProgress.unsubscribe();\n // // $file.status = 'abort';\n // // this.totalFilesCount--;\n // // initiateCallback(VARIABLE_CONSTANTS.EVENT.ABORT, variable, $file);\n // // if (!this.isFileUploadInProgress(variable.dataBinding) && this.totalFilesCount === 0) {\n // // $queue.process(variable);\n // // // notify inflight variable\n // // this.notifyInflight(variable, false);\n // // }\n // } else {\n // if (true) {\n // this.cancelTokenSource.cancel();\n // $queue.process(this);\n // // notify inflight variable\n // //this.notifyInflight(variable, false);\n // }\n // }\n // }\n // }\n\n // setInput(key: any, val?: any, options?: any) {\n // this.params = merge({}, this.config.paramProvider(), _setInput(this.params, key, val, options));\n // return this.params;\n // }\n}\n"],"mappings":"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"}