@wavemaker/app-ng-runtime 11.5.0-next.141082 → 11.5.0-next.141083

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 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../projects/mobile/runtime/src/components/app-ext.component.ts","../../../../projects/mobile/runtime/src/services/http-interceptor.service.ts","../../../../projects/mobile/runtime/src/services/webprocess.service.ts","../../../../projects/mobile/runtime/src/services/cookie.service.ts","../../../../projects/mobile/runtime/src/mobile-runtime.module.ts","../../../../projects/mobile/runtime/src/index.ts"],"sourcesContent":["import { AfterViewInit, Component, ElementRef, ViewChild } from '@angular/core';\n\nimport { hasCordova } from '@wm/core';\nimport { FileBrowserComponent, FileSelectorService, ProcessManagerComponent, ProcessManagementService } from '@wm/mobile/components/basic';\n\n@Component({\n selector: '[wmAppExt]',\n template: `<ng-container> \n <div wmNetworkInfoToaster></div>\n <div wmAppUpdate></div>\n <div wmMobileFileBrowser></div>\n <div wmProcessManager></div>\n </ng-container>`\n})\nexport class AppExtComponent implements AfterViewInit {\n\n @ViewChild(FileBrowserComponent) fileBrowserComponent: FileBrowserComponent;\n\n @ViewChild(ProcessManagerComponent) processManagerComponent: ProcessManagerComponent;\n\n constructor(\n private elRef: ElementRef,\n private fileSelectorService: FileSelectorService,\n private processManagementService: ProcessManagementService\n ) {}\n\n ngAfterViewInit() {\n const mobileElements = $(this.elRef.nativeElement).find('>[wmNetworkInfoToaster], >[wmAppUpdate], >[wmMobileFileBrowser]');\n const $body = $('body');\n if (hasCordova()) {\n mobileElements.appendTo($body);\n this.fileSelectorService.setFileBrowser(this.fileBrowserComponent);\n } else {\n mobileElements.remove();\n }\n $(this.elRef.nativeElement).find('>[wmProgressManager]').appendTo($body);\n this.processManagementService.setUIComponent(this.processManagerComponent);\n }\n}\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\nimport { File } from '@awesome-cordova-plugins/file/ngx';\nimport { from } from 'rxjs';\nimport { Observable, Subject } from 'rxjs';\nimport { mergeMap } from 'rxjs/operators';\n\nimport {\n App,\n executePromiseChain,\n getWmProjectProperties,\n hasCordova,\n removeExtraSlashes,\n} from '@wm/core';\nimport { DeviceFileDownloadService, DeviceService, NetworkService } from '@wm/mobile/core';\nimport { SecurityService } from '@wm/security';\nimport { CONSTANTS } from '@wm/variables';\n\ndeclare const cordova;\ndeclare const _;\n\ninterface RequestInterceptor {\n intercept(request: HttpRequest<any>): Promise<HttpRequest<any>>;\n}\n\n@Injectable()\nexport class MobileHttpInterceptor implements HttpInterceptor {\n\n private requestInterceptors: RequestInterceptor[] = [];\n\n public constructor(private app: App,\n file: File,\n deviceFileDownloadService: DeviceFileDownloadService,\n private deviceService: DeviceService,\n private networkService: NetworkService,\n securityService: SecurityService) {\n if (hasCordova()) {\n this.requestInterceptors.push(new SecurityInterceptor(app, file, securityService));\n this.requestInterceptors.push(new ServiceCallInterceptor(app));\n }\n }\n\n public intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n const subject = new Subject<HttpEvent<any>>();\n const token = localStorage.getItem(CONSTANTS.XSRF_COOKIE_NAME);\n const xsrfHeaderName = getWmProjectProperties().xsrf_header_name;\n if (token \n && xsrfHeaderName\n && this.app.deployedUrl \n && (request.url.indexOf('://') < 0\n || request.url.startsWith(this.app.deployedUrl))) {\n \n // Clone the request to add the new header\n request = request.clone({ headers: request.headers.set(xsrfHeaderName, token) });\n }\n const data = {request: request};\n\n // invoke the request only when device is ready.\n const obs = from(this.deviceService.whenReady()\n .then(() => executePromiseChain(this.getInterceptors(), [data])));\n return obs.pipe(mergeMap(() => {\n return next.handle(data.request);\n }));\n }\n\n private getInterceptors() {\n return this.requestInterceptors.map(i => {\n return (data) => i.intercept(data.request).then(req => data.request = req);\n });\n }\n\n private onHttpError(response: HttpResponse<any>) {\n if (hasCordova\n && (!response || !response.status || response.status < 0 || response.status === 404)\n && (this.networkService.isConnected())) {\n this.networkService.isAvailable(true);\n }\n }\n}\n\nclass ServiceCallInterceptor implements RequestInterceptor {\n\n private static REMOTE_SERVICE_URL_PATTERNS = [\n new RegExp('^((./)|/)?services/'),\n new RegExp('j_spring_security_check'),\n new RegExp('j_spring_security_logout')\n ];\n\n constructor(private app: App) {}\n\n public intercept(request: HttpRequest<any>): Promise<HttpRequest<any>> {\n let modifiedRequest = request;\n let url = request.url;\n // if necessary, prepend deployed url\n if (url.indexOf('://') < 0\n && ServiceCallInterceptor.REMOTE_SERVICE_URL_PATTERNS.find(r => r.test(url))) {\n url = this.app.deployedUrl + url;\n }\n url = removeExtraSlashes(url);\n if (url !== request.url) {\n modifiedRequest = request.clone({\n url: url\n });\n }\n return Promise.resolve(modifiedRequest);\n }\n\n}\n\nclass SecurityInterceptor implements RequestInterceptor {\n\n private initialized = false;\n private static PAGE_URL_PATTERN = new RegExp('page.min.json$');\n private static PREFAB_URL_PATTERN = new RegExp('^app/prefabs/.*/page.min.json$');\n private publicPages;\n\n constructor(private app: App, private file: File, private securityService: SecurityService) {}\n\n public intercept(request: HttpRequest<any>): Promise<HttpRequest<any>> {\n return new Promise<HttpRequest<any>>((resolve, reject) => {\n if (!SecurityInterceptor.PREFAB_URL_PATTERN.test(request.url) \n && SecurityInterceptor.PAGE_URL_PATTERN.test(request.url)) {\n return Promise.resolve().then(() => {\n if (!this.initialized) {\n return this.init();\n }\n }).then(() => {\n const urlSplits = _.split(request.url, '/');\n const pageName = urlSplits[urlSplits.length - 2];\n if (!this.publicPages || this.publicPages[pageName]) {\n return Promise.resolve(request);\n } else {\n this.securityService.getConfig(config => {\n if (!config.securityEnabled || config.authenticated) {\n resolve(request);\n } else {\n reject(`Page '${pageName}' is not accessible to the user.`);\n this.app.notify('http401', { page: pageName});\n }\n }, () => reject(`Security call failed.`));\n }\n return Promise.resolve(request);\n }).then(resolve, reject);\n }\n return resolve(request);\n });\n }\n\n /**\n * loads public pages from 'metadata/app/public-pages.info' and overrides canAccess method SecurityService\n */\n private init(): Promise<any> {\n const folderPath = cordova.file.applicationDirectory + 'www/metadata/app',\n fileName = 'public-pages.json';\n return this.file.readAsText(folderPath, fileName).then(text => {\n if (!this.initialized) {\n this.publicPages = {};\n this.initialized = true;\n _.forEach(JSON.parse(text), pageName => this.publicPages[pageName] = true);\n }\n }).catch(() => {\n this.initialized = true;\n });\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { App, AbstractHttpService } from '@wm/core';\nimport { ExtAppMessageService } from '@wm/mobile/core';\n\ndeclare const cordova;\n\n@Injectable()\nexport class WebProcessService {\n\n constructor(\n private app: App,\n private httpService: AbstractHttpService,\n private extAppMessageService: ExtAppMessageService\n ) {}\n\n public execute(process: string, hookUrl: string, useSystemBrowser = false): Promise<any> {\n return this.httpService.get(`/services/webprocess/prepare?processName=${process}&hookUrl=${hookUrl}&requestSourceType=MOBILE`)\n .then((processInfo) => {\n if (useSystemBrowser) {\n return this.executeWithSystemBrowser(processInfo);\n } else {\n return this.executeWithInAppBrowser(processInfo, process);\n }\n }).then(output => {\n return this.httpService.get('/services/webprocess/decode?encodedProcessdata=' + output);\n });\n }\n\n private executeWithSystemBrowser(processInfo: string): Promise<any> {\n return new Promise((resolve) => {\n const oauthAdress = '^services/webprocess/LOGIN';\n const deregister = this.extAppMessageService.subscribe(oauthAdress, message => {\n resolve(message.data['process_output']);\n deregister();\n });\n window.open(this.app.deployedUrl + 'services/webprocess/start?process=' + encodeURIComponent(processInfo), '_system');\n });\n }\n\n private executeWithInAppBrowser(processInfo: string, process: string): Promise<any> {\n return new Promise((resolve, reject) => {\n const ref = cordova.InAppBrowser.open(this.app.deployedUrl + 'services/webprocess/start?process=' + encodeURIComponent(processInfo), '_blank', 'location=yes,clearcache=yes');\n let isSuccess = false;\n ref.addEventListener('loadstop', () => {\n ref.executeScript({ code: this.getScriptToInject(process)}, output => {\n if (output && output[0]) {\n isSuccess = true;\n ref.close();\n resolve(output[0]);\n }\n });\n });\n ref.addEventListener('exit', () => {\n if (!isSuccess) {\n reject('Login process is stopped');\n }\n });\n });\n }\n\n private getScriptToInject(process: string): string {\n return `\n (function() {\n var elements = document.querySelectorAll('body.flex>a.link');\n for (var i = 0; i < elements.length; i++) {\n var href = elements[i].href;\n if (href && href.indexOf('://services/webprocess/${process}?process_output=')) {\n return href.split('process_output=')[1];\n }\n }\n window.isWebLoginProcess = true;\n })();\n `;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { IDeviceStartUpService } from '@wm/mobile/core';\nimport { isIos } from '@wm/core';\n\ndeclare const _;\n\nconst STORAGE_KEY = 'wavemaker.persistedcookies';\n\ninterface CookieInfo {\n hostname: string;\n name: string;\n value: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CookieService implements IDeviceStartUpService {\n static readonly SERVICE_NAME = 'CookieService';\n private cookieInfo = {};\n\n public serviceName = 'CookeService';\n\n public persistCookie(hostname: string, cookieName: string, cookieValue?: string): Promise<void> {\n return new Promise<string>((resolve, reject) => {\n if (cookieValue) {\n resolve(cookieValue);\n } else {\n this.getCookie(hostname, cookieName)\n .then(data => resolve(data.cookieValue), reject);\n }\n }).then(value => {\n this.cookieInfo[hostname + '-' + cookieName] = {\n hostname: hostname.replace(/:[0-9]+/, ''),\n name: cookieName,\n value: this.rotateLTR(value)\n };\n localStorage.setItem(STORAGE_KEY, JSON.stringify(this.cookieInfo));\n });\n }\n\n public getCookie(hostname: string, cookieName: string): Promise<any> {\n return new Promise<any>((resolve, reject) => {\n if (isIos()) {\n const cookieString = window['cordova'].plugin.http.getCookieString(hostname);\n if (cookieString) {\n const at = cookieString.indexOf(cookieName);\n if (at >= 0) {\n const start = at + cookieName.length + 1;\n const end = cookieString.indexOf(';', start);\n const cookieValue = cookieString.substring(start, end >= 0 ? end : undefined);\n resolve({\n cookieValue: cookieValue\n });\n return;\n }\n }\n reject();\n } else {\n window['cookieEmperor'].getCookie(hostname, cookieName, resolve, reject);\n }\n });\n }\n\n public setCookie(hostname: string, cookieName: string, cookieValue: string): Promise<any> {\n return new Promise<void>((resolve, reject) => {\n if (isIos()) {\n const cookieString = cookieName + '=' + cookieValue;\n window['cordova'].plugin.http.setCookie(hostname, cookieString);\n resolve();\n } else {\n window['cookieEmperor'].setCookie(hostname, cookieName, cookieValue, resolve, reject);\n }\n });\n }\n\n public clearAll(): Promise<any> {\n return new Promise<any>((resolve, reject) => {\n if (isIos()) {\n window['cordova'].plugin.http.clearCookies();\n resolve('');\n } else {\n window['cookieEmperor'].clearAll(resolve, reject);\n }\n });\n }\n\n /**\n * Loads persisted cookies from local storage and adds them to the browser.\n * @returns {*}\n */\n public start(): Promise<any> {\n const cookieInfoStr = localStorage.getItem(STORAGE_KEY),\n promises = [];\n if (cookieInfoStr) {\n const cookieInfo = JSON.parse(cookieInfoStr) as Map<string, CookieInfo>;\n _.forEach(cookieInfo, c => {\n if (c.name && c.value) {\n promises.push(this.getCookie(c.hostname, c.name).catch(() => {\n return new Promise((resolve, reject) => {\n window['cookieEmperor'].setCookie(c.hostname, c.name, this.rotateRTL(c.value), resolve, reject);\n });\n }));\n }\n });\n }\n return Promise.all(promises);\n }\n\n public getServiceName() {\n return CookieService.SERVICE_NAME;\n }\n\n /**\n * Just rotates the given string exactly from 1/3 of string length in left to right direction.\n * @param str\n * @returns {string}\n */\n private rotateLTR(str: string): string {\n const arr = str.split(''),\n tArr = [],\n shift = Math.floor(str.length / 3);\n arr.forEach((v, i) => {\n tArr[(i + shift) % arr.length] = arr[i];\n });\n return tArr.join('');\n }\n\n /**\n * Just rotates the given string exactly from 1/3 of string length in right to left direction..\n * @param str\n * @returns {string}\n */\n private rotateRTL(str: string): string {\n const arr = str.split(''),\n tArr = [],\n shift = Math.floor(str.length / 3);\n arr.forEach((v, i) => {\n tArr[(arr.length + i - shift) % arr.length] = arr[i];\n });\n return tArr.join('');\n }\n}\n","import { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { AppVersion } from '@awesome-cordova-plugins/app-version/ngx';\nimport { BarcodeScanner } from '@awesome-cordova-plugins/barcode-scanner/ngx';\nimport { Calendar } from '@awesome-cordova-plugins/calendar/ngx';\nimport { Camera } from '@awesome-cordova-plugins/camera/ngx';\nimport { File } from '@awesome-cordova-plugins/file/ngx';\nimport { FileOpener } from '@awesome-cordova-plugins/file-opener/ngx';\nimport { Device } from '@awesome-cordova-plugins/device/ngx';\nimport { MediaCapture } from '@awesome-cordova-plugins/media-capture/ngx';\nimport { Geolocation } from '@awesome-cordova-plugins/geolocation/ngx';\nimport { Network } from '@awesome-cordova-plugins/network/ngx';\nimport { SQLite } from '@awesome-cordova-plugins/sqlite/ngx';\nimport { Vibration } from '@awesome-cordova-plugins/vibration/ngx';\nimport { LocationAccuracy } from '@awesome-cordova-plugins/location-accuracy/ngx';\nimport { Diagnostic } from '@awesome-cordova-plugins/diagnostic/ngx';\n\nimport { CookieService } from './services/cookie.service';\n\nimport {\n App,\n AbstractHttpService,\n hasCordova,\n insertAfter,\n isIpad,\n isIphone,\n isIpod,\n isObject,\n loadScript,\n loadStyleSheet,\n noop,\n removeNode,\n getWmProjectProperties\n} from '@wm/core';\nimport { FileExtensionFromMimePipe } from '@wm/components/base';\nimport { DeviceFileOpenerService, DeviceService, ExtAppMessageService, MobileCoreModule, NetworkService } from '@wm/mobile/core';\nimport { PushService, PushServiceImpl } from '@wm/mobile/offline';\nimport { SecurityService } from '@wm/security';\nimport { VariablesModule } from '@wm/mobile/variables';\nimport { $rootScope, CONSTANTS } from '@wm/variables';\nimport { BasicModule } from '@wm/mobile/components/basic';\n\nimport { AppExtComponent } from './components/app-ext.component';\nimport { MobileHttpInterceptor } from './services/http-interceptor.service';\nimport { WebProcessService } from './services/webprocess.service';\n\ndeclare const $, navigator, _, cordova;\n\nexport const MAX_WAIT_TIME_4_OAUTH_MESSAGE = 60000;\n\nconst MINIMUM_TAB_WIDTH = 768;\nconst KEYBOARD_CLASS = 'keyboard';\n\nconst cordovaServices = [\n AppVersion,\n BarcodeScanner,\n Calendar,\n Camera,\n File,\n FileOpener,\n Device,\n Geolocation,\n MediaCapture,\n Network,\n SQLite,\n Vibration,\n LocationAccuracy,\n Diagnostic\n];\n\n@NgModule({\n declarations: [\n AppExtComponent\n ],\n exports: [\n AppExtComponent\n ],\n imports: [\n MobileCoreModule,\n VariablesModule,\n BasicModule\n ],\n bootstrap: []\n})\nexport class MobileRuntimeModule {\n\n static forRoot(): ModuleWithProviders<MobileRuntimeModule> {\n /* add all providers that are required for mobile here. This is to simplify placeholder.*/\n return {\n ngModule: MobileRuntimeModule,\n providers: [\n WebProcessService,\n {\n provide: HTTP_INTERCEPTORS,\n useClass: MobileHttpInterceptor,\n multi: true\n },\n ...cordovaServices,\n FileExtensionFromMimePipe,\n {provide: PushService, useClass: PushServiceImpl}\n ]\n };\n }\n\n private static initialized = false;\n // Startup services have to be added only once in the app life-cycle.\n private static initializeRuntime(runtimeModule: MobileRuntimeModule,\n app: App,\n deviceFileOpenerService: DeviceFileOpenerService,\n deviceService: DeviceService) {\n if (this.initialized) {\n return;\n }\n this.initialized = true;\n app.deployedUrl = runtimeModule.getDeployedUrl();\n if (hasCordova()) {\n const unsubscribe = app.subscribe('pageReady', (page) => {\n navigator.splashscreen.hide();\n unsubscribe();\n });\n app.subscribe('userLoggedIn', () => {\n cordova && cordova.wavemaker.syncCookies();\n });\n runtimeModule.handleKeyBoardClass();\n app.subscribe('device-file-download', (data) => {\n deviceFileOpenerService.openRemoteFile(data.url, data.extension, data.name, data.headers).then(data.successCb, data.errorCb);\n });\n const __zone_symbol__FileReader = window['__zone_symbol__FileReader'];\n if (__zone_symbol__FileReader && __zone_symbol__FileReader.READ_CHUNK_SIZE) {\n // cordova File Reader is required. Otherwise, file operations are failing.\n window['FileReader'] = __zone_symbol__FileReader;\n }\n window.open = window['cordova']['InAppBrowser']['open'];\n runtimeModule.addAuthInBrowser();\n }\n deviceService.start();\n deviceService.whenReady().then(() => {\n if (hasCordova()) {\n runtimeModule._$appEl.addClass('cordova');\n runtimeModule.exposeOAuthService();\n // Fix for issue: ios device is not considering the background style, eventhough value is set in config.xml.\n if (window['StatusBar']) {\n window['StatusBar'].overlaysWebView(false);\n }\n }\n });\n }\n\n private _$appEl;\n\n constructor(\n private app: App,\n private cookieService: CookieService,\n private deviceFileOpenerService: DeviceFileOpenerService,\n private deviceService: DeviceService,\n private securityService: SecurityService,\n private httpService: AbstractHttpService,\n private extAppMessageService: ExtAppMessageService,\n private networkService: NetworkService,\n private webProcessService: WebProcessService\n ) {\n this._$appEl = $('.wm-app').first();\n if (this._$appEl.width() >= MINIMUM_TAB_WIDTH) {\n app.isTabletApplicationType = true;\n this._$appEl.addClass('wm-tablet-app');\n } else {\n this._$appEl.addClass('wm-mobile-app');\n }\n // applying os theme on getting os details\n app.subscribe('on-viewport-details', os => {\n this.applyOSTheme(os);\n });\n MobileRuntimeModule.initializeRuntime(this, this.app, this.deviceFileOpenerService, this.deviceService);\n }\n\n private exposeOAuthService() {\n window['OAuthInMobile'] = (providerId) => {\n return new Promise<string>((resolve, reject) => {\n const oauthAdress = '^services/oauth/' + providerId + '$';\n const deregister = this.extAppMessageService.subscribe(oauthAdress, message => {\n resolve(message.data['access_token']);\n deregister();\n clearTimeout(timerId);\n });\n const timerId = setTimeout(function () {\n deregister();\n reject(`Time out for oauth message after ${MAX_WAIT_TIME_4_OAUTH_MESSAGE % 1000} seconds`);\n }, MAX_WAIT_TIME_4_OAUTH_MESSAGE);\n });\n };\n const handleOpenURL = window['handleOpenURL'];\n handleOpenURL.isReady = true;\n handleOpenURL(handleOpenURL.lastURL);\n }\n\n public applyOSTheme(os) {\n let oldStyleSheet = $('link[theme=\"wmtheme\"][href ^=\"themes\"][href $=\"/style.css\"]').first();\n if (oldStyleSheet.length) {\n const themeUrl = oldStyleSheet.attr('href').replace(new RegExp('/[a-z]*/style.css$'), `/${os.toLowerCase()}/style.css`),\n newStyleSheet = loadStyleSheet(themeUrl, {name: 'theme', value: 'wmtheme'});\n oldStyleSheet = oldStyleSheet.length > 0 && oldStyleSheet[0];\n if (newStyleSheet && oldStyleSheet) {\n insertAfter(newStyleSheet, oldStyleSheet);\n removeNode(oldStyleSheet);\n }\n }\n\n // In angular development, styleSheet will point to .js files\n // In angular production, styleSheet will point to 'wm-android-styles.css' or 'wm-ios-styles.css'\n const removeTheme = os.toLowerCase() === 'android' ? 'wm-ios-styles' : 'wm-android-styles';\n let isDevBuild;\n const useTheme = 'wm-' + os.toLowerCase() + '-styles';\n let unusedStyleSheet = $('link[href *=' + removeTheme + ']').first();\n if (!unusedStyleSheet.length) {\n isDevBuild = true;\n unusedStyleSheet = $('script[src *=' + removeTheme + ']').first();\n }\n if (unusedStyleSheet.length) {\n let newStyleSheet;\n if (isDevBuild) {\n newStyleSheet = unusedStyleSheet.clone();\n newStyleSheet = newStyleSheet[0];\n newStyleSheet.src = newStyleSheet.src.replace(removeTheme, useTheme);\n loadScript(newStyleSheet.src, false);\n unusedStyleSheet = unusedStyleSheet[0];\n insertAfter(newStyleSheet, unusedStyleSheet);\n removeNode(unusedStyleSheet);\n } else {\n newStyleSheet = $('link[href *=' + useTheme + ']').first();\n newStyleSheet = newStyleSheet[0];\n loadStyleSheet(newStyleSheet.href, {name: 'theme', value: 'wmtheme'});\n removeNode(unusedStyleSheet[0]);\n }\n }\n }\n\n private handleKeyBoardClass() {\n const initialScreenSize = window.innerHeight;\n // keyboard class is added when keyboard is open.\n window.addEventListener('resize', () => {\n if (window.innerHeight < initialScreenSize) {\n this._$appEl.addClass(KEYBOARD_CLASS);\n } else {\n this._$appEl.removeClass(KEYBOARD_CLASS);\n }\n });\n }\n\n private getDeployedUrl(): string {\n let deployedUrl = $rootScope.project.deployedUrl;\n if (hasCordova()) {\n const baseUrl = $('meta[name=\"liveSync.deployedUrl\"]').attr('value');\n const config = this.deviceService.getConfig();\n if (baseUrl) {\n deployedUrl = baseUrl;\n } else {\n deployedUrl = this.deviceService.getBaseUrl();\n }\n this.app.customUrlScheme = config.customUrlScheme;\n }\n if (deployedUrl !== 'NONE' && !deployedUrl.endsWith('/')) {\n deployedUrl = deployedUrl + '/';\n }\n $rootScope.project.deployedUrl = deployedUrl;\n return deployedUrl;\n }\n\n private addAuthInBrowser() {\n let isAuthenticating = false;\n this.securityService.authInBrowser = (): Promise<any> => {\n if (!this.networkService.isConnected()) {\n return Promise.reject('In offline, app cannot contact the server.');\n }\n if (isAuthenticating) {\n return Promise.reject('Authentication is in process.');\n }\n isAuthenticating = true;\n return this.webProcessService.execute('LOGIN', '/', true)\n .then(output => {\n output = JSON.parse(output && output.replace(/&quot;/g, \"\\\"\"));\n if (output[CONSTANTS.XSRF_COOKIE_NAME]) {\n localStorage.setItem(CONSTANTS.XSRF_COOKIE_NAME, output[CONSTANTS.XSRF_COOKIE_NAME]);\n }\n isAuthenticating = false;\n return this.cookieService.clearAll()\n .then(() => {\n const promises = _.keys(output).map(k => {\n return this.cookieService.setCookie(this.app.deployedUrl, k, output[k]);\n });\n return Promise.all(promises);\n });\n })\n .then(() => this.app.notify('userLoggedIn', {}))\n .catch((e) => {\n isAuthenticating = false;\n return Promise.reject(e);\n });\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2","i2.CookieService","i5.WebProcessService"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../projects/mobile/runtime/src/components/app-ext.component.ts","../../../../projects/mobile/runtime/src/services/http-interceptor.service.ts","../../../../projects/mobile/runtime/src/services/webprocess.service.ts","../../../../projects/mobile/runtime/src/services/cookie.service.ts","../../../../projects/mobile/runtime/src/mobile-runtime.module.ts","../../../../projects/mobile/runtime/src/index.ts"],"sourcesContent":["import { AfterViewInit, Component, ElementRef, ViewChild } from '@angular/core';\n\nimport { hasCordova } from '@wm/core';\nimport { FileBrowserComponent, FileSelectorService, ProcessManagerComponent, ProcessManagementService } from '@wm/mobile/components/basic';\n\n@Component({\n selector: '[wmAppExt]',\n template: `<ng-container> \n <div wmNetworkInfoToaster></div>\n <div wmAppUpdate></div>\n <div wmMobileFileBrowser></div>\n <div wmProcessManager></div>\n </ng-container>`\n})\nexport class AppExtComponent implements AfterViewInit {\n\n @ViewChild(FileBrowserComponent) fileBrowserComponent: FileBrowserComponent;\n\n @ViewChild(ProcessManagerComponent) processManagerComponent: ProcessManagerComponent;\n\n constructor(\n private elRef: ElementRef,\n private fileSelectorService: FileSelectorService,\n private processManagementService: ProcessManagementService\n ) {}\n\n ngAfterViewInit() {\n const mobileElements = $(this.elRef.nativeElement).find('>[wmNetworkInfoToaster], >[wmAppUpdate], >[wmMobileFileBrowser]');\n const $body = $('body');\n if (hasCordova()) {\n mobileElements.appendTo($body);\n this.fileSelectorService.setFileBrowser(this.fileBrowserComponent);\n } else {\n mobileElements.remove();\n }\n $(this.elRef.nativeElement).find('>[wmProgressManager]').appendTo($body);\n this.processManagementService.setUIComponent(this.processManagerComponent);\n }\n}\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\nimport { File } from '@awesome-cordova-plugins/file/ngx';\nimport { from } from 'rxjs';\nimport { Observable, Subject } from 'rxjs';\nimport { mergeMap } from 'rxjs/operators';\n\nimport {\n App,\n executePromiseChain,\n getWmProjectProperties,\n hasCordova,\n removeExtraSlashes,\n} from '@wm/core';\nimport { DeviceFileDownloadService, DeviceService, NetworkService } from '@wm/mobile/core';\nimport { SecurityService } from '@wm/security';\nimport { CONSTANTS } from '@wm/variables';\n\ndeclare const cordova;\ndeclare const _;\n\ninterface RequestInterceptor {\n intercept(request: HttpRequest<any>): Promise<HttpRequest<any>>;\n}\n\n@Injectable()\nexport class MobileHttpInterceptor implements HttpInterceptor {\n\n private requestInterceptors: RequestInterceptor[] = [];\n\n public constructor(private app: App,\n file: File,\n deviceFileDownloadService: DeviceFileDownloadService,\n private deviceService: DeviceService,\n private networkService: NetworkService,\n securityService: SecurityService) {\n if (hasCordova()) {\n this.requestInterceptors.push(new SecurityInterceptor(app, file, securityService));\n this.requestInterceptors.push(new ServiceCallInterceptor(app));\n }\n }\n\n public intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n const subject = new Subject<HttpEvent<any>>();\n const token = localStorage.getItem(CONSTANTS.XSRF_COOKIE_NAME);\n const xsrfHeaderName = getWmProjectProperties().xsrf_header_name;\n if (token \n && xsrfHeaderName\n && this.app.deployedUrl \n && (request.url.indexOf('://') < 0\n || request.url.startsWith(this.app.deployedUrl))) {\n \n // Clone the request to add the new header\n request = request.clone({ headers: request.headers.set(xsrfHeaderName, token) });\n }\n const data = {request: request};\n\n // invoke the request only when device is ready.\n const obs = from(this.deviceService.whenReady()\n .then(() => executePromiseChain(this.getInterceptors(), [data])));\n return obs.pipe(mergeMap(() => {\n return next.handle(data.request);\n }));\n }\n\n private getInterceptors() {\n return this.requestInterceptors.map(i => {\n return (data) => i.intercept(data.request).then(req => data.request = req);\n });\n }\n\n private onHttpError(response: HttpResponse<any>) {\n if (hasCordova\n && (!response || !response.status || response.status < 0 || response.status === 404)\n && (this.networkService.isConnected())) {\n this.networkService.isAvailable(true);\n }\n }\n}\n\nclass ServiceCallInterceptor implements RequestInterceptor {\n\n private static REMOTE_SERVICE_URL_PATTERNS = [\n new RegExp('^((./)|/)?services/'),\n new RegExp('j_spring_security_check'),\n new RegExp('j_spring_security_logout')\n ];\n\n constructor(private app: App) {}\n\n public intercept(request: HttpRequest<any>): Promise<HttpRequest<any>> {\n let modifiedRequest = request;\n let url = request.url;\n // if necessary, prepend deployed url\n if (url.indexOf('://') < 0\n && ServiceCallInterceptor.REMOTE_SERVICE_URL_PATTERNS.find(r => r.test(url))) {\n url = this.app.deployedUrl + url;\n }\n url = removeExtraSlashes(url);\n if (url !== request.url) {\n modifiedRequest = request.clone({\n url: url\n });\n }\n return Promise.resolve(modifiedRequest);\n }\n\n}\n\nclass SecurityInterceptor implements RequestInterceptor {\n\n private initialized = false;\n private static PAGE_URL_PATTERN = new RegExp('page.min.json$');\n private static PREFAB_URL_PATTERN = new RegExp('^app/prefabs/.*/page.min.json$');\n private publicPages;\n\n constructor(private app: App, private file: File, private securityService: SecurityService) {}\n\n public intercept(request: HttpRequest<any>): Promise<HttpRequest<any>> {\n return new Promise<HttpRequest<any>>((resolve, reject) => {\n if (!SecurityInterceptor.PREFAB_URL_PATTERN.test(request.url) \n && SecurityInterceptor.PAGE_URL_PATTERN.test(request.url)) {\n return Promise.resolve().then(() => {\n if (!this.initialized) {\n return this.init();\n }\n }).then(() => {\n const urlSplits = _.split(request.url, '/');\n const pageName = urlSplits[urlSplits.length - 2];\n if (!this.publicPages || this.publicPages[pageName]) {\n return Promise.resolve(request);\n } else {\n this.securityService.getConfig(config => {\n if (!config.securityEnabled || config.authenticated) {\n resolve(request);\n } else {\n reject(`Page '${pageName}' is not accessible to the user.`);\n this.app.notify('http401', { page: pageName});\n }\n }, () => reject(`Security call failed.`));\n }\n return Promise.resolve(request);\n }).then(resolve, reject);\n }\n return resolve(request);\n });\n }\n\n /**\n * loads public pages from 'metadata/app/public-pages.info' and overrides canAccess method SecurityService\n */\n private init(): Promise<any> {\n const folderPath = cordova.file.applicationDirectory + 'www/metadata/app',\n fileName = 'public-pages.json';\n return this.file.readAsText(folderPath, fileName).then(text => {\n if (!this.initialized) {\n this.publicPages = {};\n this.initialized = true;\n _.forEach(JSON.parse(text), pageName => this.publicPages[pageName] = true);\n }\n }).catch(() => {\n this.initialized = true;\n });\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { App, AbstractHttpService } from '@wm/core';\nimport { ExtAppMessageService } from '@wm/mobile/core';\n\ndeclare const cordova;\n\n@Injectable()\nexport class WebProcessService {\n\n constructor(\n private app: App,\n private httpService: AbstractHttpService,\n private extAppMessageService: ExtAppMessageService\n ) {}\n\n public execute(process: string, hookUrl: string, useSystemBrowser = false): Promise<any> {\n return this.httpService.get(`/services/webprocess/prepare?processName=${process}&hookUrl=${hookUrl}&requestSourceType=MOBILE`)\n .then((processInfo) => {\n if (useSystemBrowser) {\n return this.executeWithSystemBrowser(processInfo);\n } else {\n return this.executeWithInAppBrowser(processInfo, process);\n }\n }).then(output => {\n return this.httpService.get('/services/webprocess/decode?encodedProcessdata=' + output);\n });\n }\n\n private executeWithSystemBrowser(processInfo: string): Promise<any> {\n return new Promise((resolve) => {\n const oauthAdress = '^services/webprocess/LOGIN';\n const deregister = this.extAppMessageService.subscribe(oauthAdress, message => {\n resolve(message.data['process_output']);\n deregister();\n });\n window.open(this.app.deployedUrl + 'services/webprocess/start?process=' + encodeURIComponent(processInfo), '_system');\n });\n }\n\n private executeWithInAppBrowser(processInfo: string, process: string): Promise<any> {\n return new Promise((resolve, reject) => {\n const ref = cordova.InAppBrowser.open(this.app.deployedUrl + 'services/webprocess/start?process=' + encodeURIComponent(processInfo), '_blank', 'location=yes,clearcache=yes');\n let isSuccess = false;\n ref.addEventListener('loadstop', () => {\n ref.executeScript({ code: this.getScriptToInject(process)}, output => {\n if (output && output[0]) {\n isSuccess = true;\n ref.close();\n resolve(output[0]);\n }\n });\n });\n ref.addEventListener('exit', () => {\n if (!isSuccess) {\n reject('Login process is stopped');\n }\n });\n });\n }\n\n private getScriptToInject(process: string): string {\n return `\n (function() {\n var elements = document.querySelectorAll('body.flex>a.link');\n for (var i = 0; i < elements.length; i++) {\n var href = elements[i].href;\n if (href && href.indexOf('://services/webprocess/${process}?process_output=')) {\n return href.split('process_output=')[1];\n }\n }\n window.isWebLoginProcess = true;\n })();\n `;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { IDeviceStartUpService } from '@wm/mobile/core';\nimport { isIos } from '@wm/core';\n\ndeclare const _;\n\nconst STORAGE_KEY = 'wavemaker.persistedcookies';\n\ninterface CookieInfo {\n hostname: string;\n name: string;\n value: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CookieService implements IDeviceStartUpService {\n static readonly SERVICE_NAME = 'CookieService';\n private cookieInfo = {};\n\n public serviceName = 'CookeService';\n\n public persistCookie(hostname: string, cookieName: string, cookieValue?: string): Promise<void> {\n return new Promise<string>((resolve, reject) => {\n if (cookieValue) {\n resolve(cookieValue);\n } else {\n this.getCookie(hostname, cookieName)\n .then(data => resolve(data.cookieValue), reject);\n }\n }).then(value => {\n this.cookieInfo[hostname + '-' + cookieName] = {\n hostname: hostname.replace(/:[0-9]+/, ''),\n name: cookieName,\n value: this.rotateLTR(value)\n };\n localStorage.setItem(STORAGE_KEY, JSON.stringify(this.cookieInfo));\n });\n }\n\n public getCookie(hostname: string, cookieName: string): Promise<any> {\n return new Promise<any>((resolve, reject) => {\n if (isIos()) {\n const cookieString = window['cordova'].plugin.http.getCookieString(hostname);\n if (cookieString) {\n const at = cookieString.indexOf(cookieName);\n if (at >= 0) {\n const start = at + cookieName.length + 1;\n const end = cookieString.indexOf(';', start);\n const cookieValue = cookieString.substring(start, end >= 0 ? end : undefined);\n resolve({\n cookieValue: cookieValue\n });\n return;\n }\n }\n reject();\n } else {\n window['cookieEmperor'].getCookie(hostname, cookieName, resolve, reject);\n }\n });\n }\n\n public setCookie(hostname: string, cookieName: string, cookieValue: string): Promise<any> {\n return new Promise<void>((resolve, reject) => {\n if (isIos()) {\n const cookieString = cookieName + '=' + cookieValue;\n window['cordova'].plugin.http.setCookie(hostname, cookieString);\n resolve();\n } else {\n window['cookieEmperor'].setCookie(hostname, cookieName, cookieValue, resolve, reject);\n }\n });\n }\n\n public clearAll(): Promise<any> {\n return new Promise<any>((resolve, reject) => {\n if (isIos()) {\n window['cordova'].plugin.http.clearCookies();\n resolve('');\n } else {\n window['cookieEmperor'].clearAll(resolve, reject);\n }\n });\n }\n\n /**\n * Loads persisted cookies from local storage and adds them to the browser.\n * @returns {*}\n */\n public start(): Promise<any> {\n const cookieInfoStr = localStorage.getItem(STORAGE_KEY),\n promises = [];\n if (cookieInfoStr) {\n const cookieInfo = JSON.parse(cookieInfoStr) as Map<string, CookieInfo>;\n _.forEach(cookieInfo, c => {\n if (c.name && c.value) {\n promises.push(this.getCookie(c.hostname, c.name).catch(() => {\n return new Promise((resolve, reject) => {\n window['cookieEmperor'].setCookie(c.hostname, c.name, this.rotateRTL(c.value), resolve, reject);\n });\n }));\n }\n });\n }\n return Promise.all(promises);\n }\n\n public getServiceName() {\n return CookieService.SERVICE_NAME;\n }\n\n /**\n * Just rotates the given string exactly from 1/3 of string length in left to right direction.\n * @param str\n * @returns {string}\n */\n private rotateLTR(str: string): string {\n const arr = str.split(''),\n tArr = [],\n shift = Math.floor(str.length / 3);\n arr.forEach((v, i) => {\n tArr[(i + shift) % arr.length] = arr[i];\n });\n return tArr.join('');\n }\n\n /**\n * Just rotates the given string exactly from 1/3 of string length in right to left direction..\n * @param str\n * @returns {string}\n */\n private rotateRTL(str: string): string {\n const arr = str.split(''),\n tArr = [],\n shift = Math.floor(str.length / 3);\n arr.forEach((v, i) => {\n tArr[(arr.length + i - shift) % arr.length] = arr[i];\n });\n return tArr.join('');\n }\n}\n","import { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { AppVersion } from '@awesome-cordova-plugins/app-version/ngx';\nimport { BarcodeScanner } from '@awesome-cordova-plugins/barcode-scanner/ngx';\nimport { Calendar } from '@awesome-cordova-plugins/calendar/ngx';\nimport { Camera } from '@awesome-cordova-plugins/camera/ngx';\nimport { File } from '@awesome-cordova-plugins/file/ngx';\nimport { FileOpener } from '@awesome-cordova-plugins/file-opener/ngx';\nimport { Device } from '@awesome-cordova-plugins/device/ngx';\nimport { MediaCapture } from '@awesome-cordova-plugins/media-capture/ngx';\nimport { Geolocation } from '@awesome-cordova-plugins/geolocation/ngx';\nimport { Network } from '@awesome-cordova-plugins/network/ngx';\nimport { SQLite } from '@awesome-cordova-plugins/sqlite/ngx';\nimport { Vibration } from '@awesome-cordova-plugins/vibration/ngx';\nimport { LocationAccuracy } from '@awesome-cordova-plugins/location-accuracy/ngx';\nimport { Diagnostic } from '@awesome-cordova-plugins/diagnostic/ngx';\n\nimport { CookieService } from './services/cookie.service';\n\nimport {\n App,\n AbstractHttpService,\n hasCordova,\n insertAfter,\n isIpad,\n isIphone,\n isIpod,\n isObject,\n loadScript,\n loadStyleSheet,\n noop,\n removeNode,\n getWmProjectProperties\n} from '@wm/core';\nimport { FileExtensionFromMimePipe } from '@wm/components/base';\nimport { DeviceFileOpenerService, DeviceService, ExtAppMessageService, MobileCoreModule, NetworkService } from '@wm/mobile/core';\nimport {OfflineModule, PushService, PushServiceImpl} from '@wm/mobile/offline';\nimport { SecurityService } from '@wm/security';\nimport { VariablesModule } from '@wm/mobile/variables';\nimport { $rootScope, CONSTANTS } from '@wm/variables';\nimport { BasicModule } from '@wm/mobile/components/basic';\n\nimport { AppExtComponent } from './components/app-ext.component';\nimport { MobileHttpInterceptor } from './services/http-interceptor.service';\nimport { WebProcessService } from './services/webprocess.service';\nimport {SearchModule} from \"@wm/mobile/components/basic/search\";\nimport {SegmentedControlModule} from \"@wm/mobile/components/containers/segmented-control\";\nimport {MediaListModule} from \"@wm/mobile/components/data/media-list\";\nimport {BarcodeScannerModule} from \"@wm/mobile/components/device/barcode-scanner\";\nimport {CameraModule} from \"@wm/mobile/components/device/camera\";\nimport {FileUploadModule} from \"@wm/mobile/components/input/file-upload\";\nimport {PageModule} from \"@wm/mobile/components/page\";\nimport {LeftPanelModule} from \"@wm/mobile/components/page/left-panel\";\nimport {MobileNavbarModule} from \"@wm/mobile/components/page/mobile-navbar\";\nimport {TabBarModule} from \"@wm/mobile/components/page/tab-bar\";\n\ndeclare const $, navigator, _, cordova;\n\nexport const MAX_WAIT_TIME_4_OAUTH_MESSAGE = 60000;\n\nconst MINIMUM_TAB_WIDTH = 768;\nconst KEYBOARD_CLASS = 'keyboard';\n\nconst cordovaServices = [\n AppVersion,\n BarcodeScanner,\n Calendar,\n Camera,\n File,\n FileOpener,\n Device,\n Geolocation,\n MediaCapture,\n Network,\n SQLite,\n Vibration,\n LocationAccuracy,\n Diagnostic\n];\n\nexport const MOBILE_COMPONENT_MODULES = [\n BasicModule,\n MobileCoreModule,\n OfflineModule,\n VariablesModule,\n SearchModule,\n SegmentedControlModule,\n MediaListModule,\n BarcodeScannerModule,\n CameraModule,\n FileUploadModule,\n PageModule,\n LeftPanelModule,\n MobileNavbarModule,\n TabBarModule\n];\n\n@NgModule({\n declarations: [\n AppExtComponent\n ],\n exports: [\n AppExtComponent,\n ...MOBILE_COMPONENT_MODULES\n ],\n imports: [\n MobileCoreModule,\n VariablesModule,\n BasicModule,\n ...MOBILE_COMPONENT_MODULES\n ],\n bootstrap: []\n})\nexport class MobileRuntimeModule {\n\n static forRoot(): ModuleWithProviders<MobileRuntimeModule> {\n /* add all providers that are required for mobile here. This is to simplify placeholder.*/\n return {\n ngModule: MobileRuntimeModule,\n providers: [\n WebProcessService,\n {\n provide: HTTP_INTERCEPTORS,\n useClass: MobileHttpInterceptor,\n multi: true\n },\n ...cordovaServices,\n FileExtensionFromMimePipe,\n {provide: PushService, useClass: PushServiceImpl}\n ]\n };\n }\n\n private static initialized = false;\n // Startup services have to be added only once in the app life-cycle.\n private static initializeRuntime(runtimeModule: MobileRuntimeModule,\n app: App,\n deviceFileOpenerService: DeviceFileOpenerService,\n deviceService: DeviceService) {\n if (this.initialized) {\n return;\n }\n this.initialized = true;\n app.deployedUrl = runtimeModule.getDeployedUrl();\n if (hasCordova()) {\n const unsubscribe = app.subscribe('pageReady', (page) => {\n navigator.splashscreen.hide();\n unsubscribe();\n });\n app.subscribe('userLoggedIn', () => {\n cordova && cordova.wavemaker.syncCookies();\n });\n runtimeModule.handleKeyBoardClass();\n app.subscribe('device-file-download', (data) => {\n deviceFileOpenerService.openRemoteFile(data.url, data.extension, data.name, data.headers).then(data.successCb, data.errorCb);\n });\n const __zone_symbol__FileReader = window['__zone_symbol__FileReader'];\n if (__zone_symbol__FileReader && __zone_symbol__FileReader.READ_CHUNK_SIZE) {\n // cordova File Reader is required. Otherwise, file operations are failing.\n window['FileReader'] = __zone_symbol__FileReader;\n }\n window.open = window['cordova']['InAppBrowser']['open'];\n runtimeModule.addAuthInBrowser();\n }\n deviceService.start();\n deviceService.whenReady().then(() => {\n if (hasCordova()) {\n runtimeModule._$appEl.addClass('cordova');\n runtimeModule.exposeOAuthService();\n // Fix for issue: ios device is not considering the background style, eventhough value is set in config.xml.\n if (window['StatusBar']) {\n window['StatusBar'].overlaysWebView(false);\n }\n }\n });\n }\n\n private _$appEl;\n\n constructor(\n private app: App,\n private cookieService: CookieService,\n private deviceFileOpenerService: DeviceFileOpenerService,\n private deviceService: DeviceService,\n private securityService: SecurityService,\n private httpService: AbstractHttpService,\n private extAppMessageService: ExtAppMessageService,\n private networkService: NetworkService,\n private webProcessService: WebProcessService\n ) {\n this._$appEl = $('.wm-app').first();\n if (this._$appEl.width() >= MINIMUM_TAB_WIDTH) {\n app.isTabletApplicationType = true;\n this._$appEl.addClass('wm-tablet-app');\n } else {\n this._$appEl.addClass('wm-mobile-app');\n }\n // applying os theme on getting os details\n app.subscribe('on-viewport-details', os => {\n this.applyOSTheme(os);\n });\n MobileRuntimeModule.initializeRuntime(this, this.app, this.deviceFileOpenerService, this.deviceService);\n }\n\n private exposeOAuthService() {\n window['OAuthInMobile'] = (providerId) => {\n return new Promise<string>((resolve, reject) => {\n const oauthAdress = '^services/oauth/' + providerId + '$';\n const deregister = this.extAppMessageService.subscribe(oauthAdress, message => {\n resolve(message.data['access_token']);\n deregister();\n clearTimeout(timerId);\n });\n const timerId = setTimeout(function () {\n deregister();\n reject(`Time out for oauth message after ${MAX_WAIT_TIME_4_OAUTH_MESSAGE % 1000} seconds`);\n }, MAX_WAIT_TIME_4_OAUTH_MESSAGE);\n });\n };\n const handleOpenURL = window['handleOpenURL'];\n handleOpenURL.isReady = true;\n handleOpenURL(handleOpenURL.lastURL);\n }\n\n public applyOSTheme(os) {\n let oldStyleSheet = $('link[theme=\"wmtheme\"][href ^=\"themes\"][href $=\"/style.css\"]').first();\n if (oldStyleSheet.length) {\n const themeUrl = oldStyleSheet.attr('href').replace(new RegExp('/[a-z]*/style.css$'), `/${os.toLowerCase()}/style.css`),\n newStyleSheet = loadStyleSheet(themeUrl, {name: 'theme', value: 'wmtheme'});\n oldStyleSheet = oldStyleSheet.length > 0 && oldStyleSheet[0];\n if (newStyleSheet && oldStyleSheet) {\n insertAfter(newStyleSheet, oldStyleSheet);\n removeNode(oldStyleSheet);\n }\n }\n\n // In angular development, styleSheet will point to .js files\n // In angular production, styleSheet will point to 'wm-android-styles.css' or 'wm-ios-styles.css'\n const removeTheme = os.toLowerCase() === 'android' ? 'wm-ios-styles' : 'wm-android-styles';\n let isDevBuild;\n const useTheme = 'wm-' + os.toLowerCase() + '-styles';\n let unusedStyleSheet = $('link[href *=' + removeTheme + ']').first();\n if (!unusedStyleSheet.length) {\n isDevBuild = true;\n unusedStyleSheet = $('script[src *=' + removeTheme + ']').first();\n }\n if (unusedStyleSheet.length) {\n let newStyleSheet;\n if (isDevBuild) {\n newStyleSheet = unusedStyleSheet.clone();\n newStyleSheet = newStyleSheet[0];\n newStyleSheet.src = newStyleSheet.src.replace(removeTheme, useTheme);\n loadScript(newStyleSheet.src, false);\n unusedStyleSheet = unusedStyleSheet[0];\n insertAfter(newStyleSheet, unusedStyleSheet);\n removeNode(unusedStyleSheet);\n } else {\n newStyleSheet = $('link[href *=' + useTheme + ']').first();\n newStyleSheet = newStyleSheet[0];\n loadStyleSheet(newStyleSheet.href, {name: 'theme', value: 'wmtheme'});\n removeNode(unusedStyleSheet[0]);\n }\n }\n }\n\n private handleKeyBoardClass() {\n const initialScreenSize = window.innerHeight;\n // keyboard class is added when keyboard is open.\n window.addEventListener('resize', () => {\n if (window.innerHeight < initialScreenSize) {\n this._$appEl.addClass(KEYBOARD_CLASS);\n } else {\n this._$appEl.removeClass(KEYBOARD_CLASS);\n }\n });\n }\n\n private getDeployedUrl(): string {\n let deployedUrl = $rootScope.project.deployedUrl;\n if (hasCordova()) {\n const baseUrl = $('meta[name=\"liveSync.deployedUrl\"]').attr('value');\n const config = this.deviceService.getConfig();\n if (baseUrl) {\n deployedUrl = baseUrl;\n } else {\n deployedUrl = this.deviceService.getBaseUrl();\n }\n this.app.customUrlScheme = config.customUrlScheme;\n }\n if (deployedUrl !== 'NONE' && !deployedUrl.endsWith('/')) {\n deployedUrl = deployedUrl + '/';\n }\n $rootScope.project.deployedUrl = deployedUrl;\n return deployedUrl;\n }\n\n private addAuthInBrowser() {\n let isAuthenticating = false;\n this.securityService.authInBrowser = (): Promise<any> => {\n if (!this.networkService.isConnected()) {\n return Promise.reject('In offline, app cannot contact the server.');\n }\n if (isAuthenticating) {\n return Promise.reject('Authentication is in process.');\n }\n isAuthenticating = true;\n return this.webProcessService.execute('LOGIN', '/', true)\n .then(output => {\n output = JSON.parse(output && output.replace(/&quot;/g, \"\\\"\"));\n if (output[CONSTANTS.XSRF_COOKIE_NAME]) {\n localStorage.setItem(CONSTANTS.XSRF_COOKIE_NAME, output[CONSTANTS.XSRF_COOKIE_NAME]);\n }\n isAuthenticating = false;\n return this.cookieService.clearAll()\n .then(() => {\n const promises = _.keys(output).map(k => {\n return this.cookieService.setCookie(this.app.deployedUrl, k, output[k]);\n });\n return Promise.all(promises);\n });\n })\n .then(() => this.app.notify('userLoggedIn', {}))\n .catch((e) => {\n isAuthenticating = false;\n return Promise.reject(e);\n });\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2","i2.CookieService","i5.WebProcessService"],"mappings":"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"}
@@ -21,7 +21,7 @@ import { isIos, hasCordova, getWmProjectProperties, executePromiseChain, removeE
21
21
  import { FileExtensionFromMimePipe } from '@wm/components/base';
22
22
  import * as i3 from '@wm/mobile/core';
23
23
  import { MobileCoreModule } from '@wm/mobile/core';
24
- import { PushService, PushServiceImpl } from '@wm/mobile/offline';
24
+ import { OfflineModule, PushService, PushServiceImpl } from '@wm/mobile/offline';
25
25
  import * as i4 from '@wm/security';
26
26
  import { VariablesModule } from '@wm/mobile/variables';
27
27
  import { CONSTANTS, $rootScope } from '@wm/variables';
@@ -29,6 +29,16 @@ import * as i1 from '@wm/mobile/components/basic';
29
29
  import { FileBrowserComponent, ProcessManagerComponent, BasicModule } from '@wm/mobile/components/basic';
30
30
  import { Subject, from } from 'rxjs';
31
31
  import { mergeMap } from 'rxjs/operators';
32
+ import { SearchModule } from '@wm/mobile/components/basic/search';
33
+ import { SegmentedControlModule } from '@wm/mobile/components/containers/segmented-control';
34
+ import { MediaListModule } from '@wm/mobile/components/data/media-list';
35
+ import { BarcodeScannerModule } from '@wm/mobile/components/device/barcode-scanner';
36
+ import { CameraModule } from '@wm/mobile/components/device/camera';
37
+ import { FileUploadModule } from '@wm/mobile/components/input/file-upload';
38
+ import { PageModule } from '@wm/mobile/components/page';
39
+ import { LeftPanelModule } from '@wm/mobile/components/page/left-panel';
40
+ import { MobileNavbarModule } from '@wm/mobile/components/page/mobile-navbar';
41
+ import { TabBarModule } from '@wm/mobile/components/page/tab-bar';
32
42
 
33
43
  const STORAGE_KEY = 'wavemaker.persistedcookies';
34
44
  class CookieService {
@@ -432,6 +442,22 @@ const cordovaServices = [
432
442
  LocationAccuracy,
433
443
  Diagnostic
434
444
  ];
445
+ const MOBILE_COMPONENT_MODULES = [
446
+ BasicModule,
447
+ MobileCoreModule,
448
+ OfflineModule,
449
+ VariablesModule,
450
+ SearchModule,
451
+ SegmentedControlModule,
452
+ MediaListModule,
453
+ BarcodeScannerModule,
454
+ CameraModule,
455
+ FileUploadModule,
456
+ PageModule,
457
+ LeftPanelModule,
458
+ MobileNavbarModule,
459
+ TabBarModule
460
+ ];
435
461
  class MobileRuntimeModule {
436
462
  static forRoot() {
437
463
  /* add all providers that are required for mobile here. This is to simplify placeholder.*/
@@ -640,7 +666,20 @@ MobileRuntimeModule.ɵfac = function MobileRuntimeModule_Factory(t) { return new
640
666
  MobileRuntimeModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: MobileRuntimeModule });
641
667
  MobileRuntimeModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [MobileCoreModule,
642
668
  VariablesModule,
643
- BasicModule] });
669
+ BasicModule, MOBILE_COMPONENT_MODULES, BasicModule,
670
+ MobileCoreModule,
671
+ OfflineModule,
672
+ VariablesModule,
673
+ SearchModule,
674
+ SegmentedControlModule,
675
+ MediaListModule,
676
+ BarcodeScannerModule,
677
+ CameraModule,
678
+ FileUploadModule,
679
+ PageModule,
680
+ LeftPanelModule,
681
+ MobileNavbarModule,
682
+ TabBarModule] });
644
683
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MobileRuntimeModule, [{
645
684
  type: NgModule,
646
685
  args: [{
@@ -648,23 +687,51 @@ MobileRuntimeModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [Mobi
648
687
  AppExtComponent
649
688
  ],
650
689
  exports: [
651
- AppExtComponent
690
+ AppExtComponent,
691
+ ...MOBILE_COMPONENT_MODULES
652
692
  ],
653
693
  imports: [
654
694
  MobileCoreModule,
655
695
  VariablesModule,
656
- BasicModule
696
+ BasicModule,
697
+ ...MOBILE_COMPONENT_MODULES
657
698
  ],
658
699
  bootstrap: []
659
700
  }]
660
701
  }], function () { return [{ type: i1$1.App }, { type: CookieService }, { type: i3.DeviceFileOpenerService }, { type: i3.DeviceService }, { type: i4.SecurityService }, { type: i1$1.AbstractHttpService }, { type: i3.ExtAppMessageService }, { type: i3.NetworkService }, { type: WebProcessService }]; }, null); })();
661
702
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(MobileRuntimeModule, { declarations: [AppExtComponent], imports: [MobileCoreModule,
662
703
  VariablesModule,
663
- BasicModule], exports: [AppExtComponent] }); })();
704
+ BasicModule, BasicModule,
705
+ MobileCoreModule,
706
+ OfflineModule,
707
+ VariablesModule,
708
+ SearchModule,
709
+ SegmentedControlModule,
710
+ MediaListModule,
711
+ BarcodeScannerModule,
712
+ CameraModule,
713
+ FileUploadModule,
714
+ PageModule,
715
+ LeftPanelModule,
716
+ MobileNavbarModule,
717
+ TabBarModule], exports: [AppExtComponent, BasicModule,
718
+ MobileCoreModule,
719
+ OfflineModule,
720
+ VariablesModule,
721
+ SearchModule,
722
+ SegmentedControlModule,
723
+ MediaListModule,
724
+ BarcodeScannerModule,
725
+ CameraModule,
726
+ FileUploadModule,
727
+ PageModule,
728
+ LeftPanelModule,
729
+ MobileNavbarModule,
730
+ TabBarModule] }); })();
664
731
 
665
732
  /**
666
733
  * Generated bundle index. Do not edit.
667
734
  */
668
735
 
669
- export { AppExtComponent, CookieService, MAX_WAIT_TIME_4_OAUTH_MESSAGE, MobileHttpInterceptor, MobileRuntimeModule, WebProcessService };
736
+ export { AppExtComponent, CookieService, MAX_WAIT_TIME_4_OAUTH_MESSAGE, MOBILE_COMPONENT_MODULES, MobileHttpInterceptor, MobileRuntimeModule, WebProcessService };
670
737
  //# sourceMappingURL=index.mjs.map