@wavemaker/app-ng-runtime 11.4.2-rc.5376 → 11.4.2-rc.5379
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.
- app-ng-runtime/components/input/calendar/bundles/index.umd.js +11 -1
- app-ng-runtime/components/input/calendar/bundles/index.umd.js.map +1 -1
- app-ng-runtime/components/input/calendar/calendar.component.d.ts +4 -2
- app-ng-runtime/components/input/calendar/esm2015/calendar.component.js +12 -2
- app-ng-runtime/components/input/calendar/fesm2015/index.js +11 -1
- app-ng-runtime/components/input/calendar/fesm2015/index.js.map +1 -1
- app-ng-runtime/components/input/calendar/index.metadata.json +1 -1
- app-ng-runtime/components/input/default/bundles/index.umd.js +8 -0
- app-ng-runtime/components/input/default/bundles/index.umd.js.map +1 -1
- app-ng-runtime/components/input/default/dataset-aware-form.component.d.ts +4 -2
- app-ng-runtime/components/input/default/esm2015/dataset-aware-form.component.js +9 -1
- app-ng-runtime/components/input/default/fesm2015/index.js +8 -0
- app-ng-runtime/components/input/default/fesm2015/index.js.map +1 -1
- app-ng-runtime/components/input/default/index.metadata.json +1 -1
- app-ng-runtime/components/input/epoch/base-date-time.component.d.ts +1 -0
- app-ng-runtime/components/input/epoch/bundles/index.umd.js +21 -23
- app-ng-runtime/components/input/epoch/bundles/index.umd.js.map +1 -1
- app-ng-runtime/components/input/epoch/esm2015/base-date-time.component.js +17 -19
- app-ng-runtime/components/input/epoch/esm2015/date/date.component.js +2 -2
- app-ng-runtime/components/input/epoch/esm2015/date-time/date-time-picker.component.js +10 -10
- app-ng-runtime/components/input/epoch/esm2015/date-time/date-time.component.js +2 -2
- app-ng-runtime/components/input/epoch/esm2015/time/time.component.js +2 -2
- app-ng-runtime/components/input/epoch/fesm2015/index.js +28 -30
- app-ng-runtime/components/input/epoch/fesm2015/index.js.map +1 -1
- app-ng-runtime/components/input/epoch/index.metadata.json +1 -1
- app-ng-runtime/core/bundles/index.umd.js +1 -1
- app-ng-runtime/core/bundles/index.umd.js.map +1 -1
- app-ng-runtime/core/esm2015/utils/utils.js +2 -2
- app-ng-runtime/core/fesm2015/index.js +1 -1
- app-ng-runtime/core/fesm2015/index.js.map +1 -1
- app-ng-runtime/mobile/components/basic/default/bundles/index.umd.js +1 -1
- app-ng-runtime/mobile/components/basic/default/bundles/index.umd.js.map +1 -1
- app-ng-runtime/mobile/components/basic/default/esm2015/image-cache/image-cache.directive.js +2 -2
- app-ng-runtime/mobile/components/basic/default/fesm2015/index.js +1 -1
- app-ng-runtime/mobile/components/basic/default/fesm2015/index.js.map +1 -1
- app-ng-runtime/mobile/components/basic/default/index.metadata.json +1 -1
- app-ng-runtime/package.json +1 -1
- app-ng-runtime/runtime/base/bundles/index.umd.js +35 -2
- app-ng-runtime/runtime/base/bundles/index.umd.js.map +1 -1
- app-ng-runtime/runtime/base/esm2015/services/i18n.service.js +35 -3
- app-ng-runtime/runtime/base/fesm2015/index.js +34 -2
- app-ng-runtime/runtime/base/fesm2015/index.js.map +1 -1
- app-ng-runtime/runtime/base/index.metadata.json +1 -1
- app-ng-runtime/runtime/base/services/i18n.service.d.ts +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../projects/mobile/components/basic/default/src/anchor/anchor.directive.ts","../../../../../../projects/mobile/components/basic/default/src/app-update/app-update.component.ts","../../../../../../projects/mobile/components/basic/default/src/file-browser/file-browser.component.ts","../../../../../../projects/mobile/components/basic/default/src/file-browser/file-selector.service.ts","../../../../../../projects/mobile/components/basic/default/src/image-cache/image-cache.directive.ts","../../../../../../projects/mobile/components/basic/default/src/network-info-toaster/network-info-toaster.props.ts","../../../../../../projects/mobile/components/basic/default/src/network-info-toaster/network-info-toaster.component.ts","../../../../../../projects/mobile/components/basic/default/src/process-manager/process-manager.component.ts","../../../../../../projects/mobile/components/basic/default/src/process-manager/process-management.service.ts","../../../../../../projects/mobile/components/basic/default/src/basic.module.ts","../../../../../../projects/mobile/components/basic/default/src/index.ts"],"sourcesContent":["import { Directive, HostListener, Inject } from '@angular/core';\n\nimport { WidgetRef } from '@wm/components/base';\n\ndeclare const _;\ndeclare const cordova;\n\n@Directive({\n selector: '[wmAnchor]'\n})\nexport class AnchorDirective {\n\n constructor(@Inject(WidgetRef) private widget: any) { }\n\n @HostListener('click')\n onClick () {\n let href = this.widget.hyperlink;\n if (href) {\n if (href.indexOf(':') >= 0 && !(_.startsWith(href, 'http://') || _.startsWith(href, 'https://'))) {\n return;\n } else if (_.startsWith(href, '#')) {\n window.location.href = window.location.origin + window.location.pathname + href;\n return;\n } else if (_.startsWith(href, '//')) {\n href = 'https:' + href;\n }\n if (window['cordova']) {\n window.open(href, this.widget.target);\n }\n }\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Component, ElementRef } from '@angular/core';\n\nimport { File } from '@awesome-cordova-plugins/file/ngx';\nimport { FileOpener } from '@awesome-cordova-plugins/file-opener/ngx';\n\nimport { addClass, hasCordova, noop, removeClass, setCSS } from '@wm/core';\nimport { DeviceFileDownloadService, DeviceService } from '@wm/mobile/core';\n\ndeclare const cordova;\n\nconst DEFAULT_CLS = 'app-update-dialog modal fade in hidden';\n\nconst AUTO_UPDATE_FILENAME = 'app-auto-update.apk';\n\n@Component({\n selector: '[wmAppUpdate]',\n templateUrl: './app-update.component.html'\n})\nexport class AppUpdateComponent {\n\n public downloadProgress = 0;\n public downloading = false;\n public message = 'There is an update available. Would you like to update the app?';\n\n private _buildMeta: any;\n\n constructor(\n private deviceService: DeviceService,\n private fileDownloadService: DeviceFileDownloadService,\n private elRef: ElementRef,\n private file: File,\n private fileOpener: FileOpener,\n private http: HttpClient\n ) {\n\n addClass(this.elRef.nativeElement, DEFAULT_CLS);\n setCSS(this.elRef.nativeElement, 'display', 'block');\n if (hasCordova()) {\n this.getBuildMeta().then(buildMeta => {\n if (buildMeta && buildMeta.buildMode === 'DEVELOPMENT_MODE') {\n this.file.removeFile(cordova.file.externalApplicationStorageDirectory, AUTO_UPDATE_FILENAME).catch(noop);\n this.checkForUpdate()\n .then(this.getUserConfirmation.bind(this), noop);\n }\n });\n }\n }\n\n public cancel() {\n addClass(this.elRef.nativeElement, 'hidden');\n }\n\n public installLatestVersion() {\n const apkFile = cordova.file.externalApplicationStorageDirectory + AUTO_UPDATE_FILENAME,\n downloadLink = `${this._buildMeta.host}/appBuild/rest/mobileBuilds/android/download?token=${this._buildMeta.token}&buildNumber=${this._buildMeta.latestBuildNumber}&fileName=${AUTO_UPDATE_FILENAME}&releaseVersion=${this._buildMeta.platformVersion}`,\n progressObserver = { next: e => { this.downloadProgress = (e.loaded / e.total) * 100; }, error: null, complete: null};\n this.fileDownloadService.download(\n downloadLink,\n false,\n cordova.file.externalApplicationStorageDirectory,\n AUTO_UPDATE_FILENAME,\n progressObserver).then(() => {\n this.fileOpener.open(apkFile, 'application/vnd.android.package-archive');\n }, function () {\n this.message = 'Failed to download latest version.';\n });\n this.message = `Downloading the latest version [${this._buildMeta.latestVersion}].`;\n this.downloading = true;\n }\n\n private checkForUpdate() {\n return new Promise((resolve, reject) => {\n this.http.get(`${this._buildMeta.host}/appBuild/rest/mobileBuilds/latest_build?token=${this._buildMeta.token}&releaseVersion=${this._buildMeta.platformVersion}`)\n .toPromise()\n .then((response: any) => {\n const latestBuildNumber = response.success.body.buildNumber,\n latestVersion = response.success.body.version;\n if (this._buildMeta.buildNumber < latestBuildNumber) {\n this._buildMeta.latestBuildNumber = latestBuildNumber;\n this._buildMeta.latestVersion = latestVersion;\n resolve(latestBuildNumber);\n } else {\n reject();\n }\n }, reject);\n });\n }\n\n private getBuildMeta() {\n if (!this._buildMeta) {\n return this.file.readAsText(cordova.file.applicationDirectory + 'www/', 'build_meta.json')\n .then(data => {\n this._buildMeta = JSON.parse(data);\n return this._buildMeta;\n }, noop);\n }\n return Promise.resolve(this._buildMeta);\n }\n\n private getUserConfirmation() {\n this.downloadProgress = 0;\n this.downloading = false;\n this.message = 'There is an update available. Would you like to update the app?';\n removeClass(this.elRef.nativeElement, 'hidden');\n }\n}\n","import { Component, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\n\nimport { $appDigest, isIos } from '@wm/core';\nimport { DeviceService } from '@wm/mobile/core';\n\ndeclare const _;\ndeclare const cordova;\ndeclare const resolveLocalFileSystemURL;\n\nexport interface File {\n name: string;\n size: number;\n isSelected: boolean;\n file: (success: (navtiveFileObject: any) => void, failure: (message: any) => any) => void;\n}\n\nexport interface Folder {\n name: string;\n files: File[];\n folders: Folder[];\n parent: Folder;\n}\n\n@Component({\n selector: '[wmMobileFileBrowser]',\n templateUrl: './file-browser.component.html'\n})\nexport class FileBrowserComponent implements OnDestroy {\n\n public currentFolder: Folder;\n @Input() public fileTypeToSelect: string;\n @Input() public multiple: boolean;\n public selectedFiles: File[] = [];\n @Output('submit') submitEmitter = new EventEmitter();\n public isVisible: boolean;\n\n private backButtonListenerDeregister: any;\n\n constructor(private deviceService: DeviceService) {}\n\n\n public getFileExtension(fileName: string): string {\n const extIndex = fileName ? fileName.lastIndexOf('.') : -1;\n if (extIndex > 0) {\n return fileName.substring(extIndex + 1);\n }\n return '';\n }\n\n public ngOnDestroy() {\n if (this.backButtonListenerDeregister) {\n this.backButtonListenerDeregister();\n }\n }\n\n public onFileClick(file): void {\n if (file.isFile) {\n if (file.isSelected) {\n this.deselectFile(file);\n } else {\n this.selectFile(file);\n }\n } else {\n this.goToFolder(file);\n }\n }\n\n public set show(flag: boolean) {\n let rootDir = cordova.file.externalRootDirectory;\n this.isVisible = flag;\n if (flag) {\n if (!this.currentFolder) {\n if (isIos()) {\n rootDir = cordova.file.documentsDirectory;\n }\n resolveLocalFileSystemURL(rootDir, root => this.goToFolder(root));\n }\n this.backButtonListenerDeregister = this.deviceService.onBackButtonTap(() => {\n if (this.isVisible) {\n if (this.currentFolder.parent) {\n this.onFileClick(this.currentFolder.parent);\n } else {\n this.isVisible = false;\n }\n $appDigest();\n return false;\n }\n });\n } else if (this.backButtonListenerDeregister) {\n this.backButtonListenerDeregister();\n }\n }\n\n public submit() {\n const files = [];\n this.loadFileSize(this.selectedFiles).then(() => {\n _.forEach(this.selectedFiles, function (f) {\n f.isSelected = false;\n files.push({ path: f.nativeURL,\n name: f.name,\n size : f.size});\n });\n this.selectedFiles = [];\n this.isVisible = false;\n this.submitEmitter.next({files: files});\n });\n }\n\n private deselectFile(file: File): void {\n _.remove(this.selectedFiles, file);\n file.isSelected = false;\n }\n\n private goToFolder(folder: Folder): void {\n if (!folder.files) {\n this.loadFolder(folder, this.fileTypeToSelect)\n .then(files => {\n folder.files = files;\n folder.parent = this.currentFolder;\n this.currentFolder = folder;\n });\n } else {\n this.currentFolder = folder;\n }\n }\n\n private loadFileSize(files: File[]): Promise<void[]> {\n return Promise.all(files.map(f => {\n return new Promise<void>((resolve, reject) => {\n f.file(o => {\n f.size = o.size;\n resolve();\n }, reject);\n });\n }));\n }\n\n private loadFolder(folder: any, fileTypeToSelect: string): Promise<File[]> {\n return new Promise((resolve, reject) => {\n let fileTypeToShow;\n folder.createReader().readEntries((entries: File[]) => {\n if (!_.isEmpty(fileTypeToSelect)) {\n fileTypeToShow = _.split(fileTypeToSelect, ',');\n entries = _.filter(entries, e => {\n return !e.isFile || _.findIndex(fileTypeToShow, ext => _.endsWith(e.name, '.' + ext)) >= 0;\n });\n }\n resolve(_.sortBy(entries, e => (e.isFile ? '1_' : '0_') + e.name.toLowerCase()));\n }, reject);\n });\n }\n\n\n private refreshFolder(): Promise<any> {\n return this.loadFolder(this.currentFolder, this.fileTypeToSelect)\n .then(files => this.currentFolder.files = files);\n }\n\n private selectFile(file): void {\n if (!this.multiple && this.selectedFiles.length > 0) {\n this.selectedFiles[0].isSelected = false;\n this.selectedFiles = [];\n }\n this.selectedFiles.push(file);\n file.isSelected = true;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { convertToBlob, AbstractSpinnerService } from '@wm/core';\nimport { FileBrowserComponent } from './file-browser.component';\n\ndeclare const _;\ndeclare const window, cordova;\n\nexport interface FileContent {\n name: string;\n path: string;\n blob: any;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class FileSelectorService {\n static readonly SERVICE_NAME = 'FileSelectorService';\n\n private fileBrowserComponent: FileBrowserComponent;\n\n public constructor(private spinnerService: AbstractSpinnerService) {}\n\n public selectAudio(multiple = false): Promise<any> {\n var spinnerId = this.spinnerService.show(\"\");\n return new Promise<string[]>((resolve, reject) => {\n cordova.wavemaker.filePicker.selectAudio(multiple, resolve, reject);\n }).then(files => this.getFiles(files))\n .then((paths) => {\n this.spinnerService.hide(spinnerId);\n return paths;\n });\n }\n\n public setFileBrowser(f: FileBrowserComponent) {\n this.fileBrowserComponent = f;\n }\n\n public selectFiles(multiple = false, fileTypeToSelect?: string): Promise<FileContent[]> {\n var spinnerId = this.spinnerService.show(\"\");\n return new Promise<string[]>((resolve, reject) => {\n cordova.wavemaker.filePicker.selectFiles(multiple, resolve, reject);\n }).then(files => this.getFiles(files))\n .then((paths) => {\n this.spinnerService.hide(spinnerId);\n return paths;\n });\n }\n\n public selectImages(multiple = false): Promise<FileContent[]> {\n var spinnerId = this.spinnerService.show(\"\");\n return new Promise<string[]>((resolve, reject) => {\n cordova.wavemaker.filePicker.selectImage(multiple, resolve, reject);\n }).then(files => this.getFiles(files))\n .then((paths) => {\n this.spinnerService.hide(spinnerId);\n return paths;\n });\n }\n\n public selectVideos(multiple = false): Promise<FileContent[]> {\n var spinnerId = this.spinnerService.show(\"\");\n return new Promise<string[]>((resolve, reject) => {\n cordova.wavemaker.filePicker.selectVideo(multiple, resolve, reject);\n }).then(files => this.getFiles(files))\n .then((paths) => {\n this.spinnerService.hide(spinnerId);\n return paths;\n });\n\n }\n\n /**\n * Converts the file to blob using filepath\n * @param filePaths, array of file paths\n * @returns fileObj having name, path, content\n */\n private getFiles(filePaths: string[]): Promise<FileContent[]> {\n return Promise.all(_.map(filePaths, filePath => {\n if (filePath.indexOf('://') < 0) {\n filePath = 'file://' + filePath;\n }\n return convertToBlob(filePath)\n })).then(filesList => {\n return _.map(filesList, fileObj => {\n const path = fileObj.filepath;\n return {\n name: path.split('/').pop(),\n path: path,\n content: fileObj.blob,\n size: fileObj.blob.size\n };\n });\n });\n }\n}\n","import { Directive, DoCheck, Inject, Input, Self } from '@angular/core';\n\nimport { File } from '@awesome-cordova-plugins/file/ngx';\n\nimport { WidgetRef } from '@wm/components/base';\nimport { hasCordova, noop, transformFileURI } from '@wm/core';\nimport { DeviceFileCacheService } from '@wm/mobile/core';\n\nconst DEFAULT_IMAGE = 'resources/images/imagelists/default-image.png';\n\n@Directive({\n selector: '[wmImageCache]'\n})\nexport class ImageCacheDirective implements DoCheck {\n\n private _cacheUrl;\n private _isEnabled = false;\n private _lastUrl = '';\n\n constructor(\n @Self() @Inject(WidgetRef) private componentInstance,\n private deviceFileCacheService: DeviceFileCacheService,\n private file: File\n\n ) {}\n\n public ngDoCheck() {\n if (this.componentInstance.imgSource\n && this.componentInstance.imgSource.startsWith('http')) {\n if (this._lastUrl !== this.componentInstance.imgSource) {\n this._lastUrl = this.componentInstance.imgSource;\n this.componentInstance.imgSource = DEFAULT_IMAGE;\n this.getLocalPath(this._lastUrl).then((localPath) => {\n this._cacheUrl = transformFileURI(localPath);\n this.componentInstance.imgSource = this._cacheUrl;\n });\n } else if (this._cacheUrl) {\n this.componentInstance.imgSource = this._cacheUrl;\n }\n }\n }\n\n @Input()\n set wmImageCache(val: string) {\n this._isEnabled = (hasCordova() && val === 'true');\n }\n\n private getLocalPath(val: string) {\n if (hasCordova() && val && val.indexOf('{{') < 0 && val.startsWith('http')) {\n return this.deviceFileCacheService.getLocalPath(val, true, true, !this._isEnabled)\n .catch(noop);\n }\n return Promise.resolve(val);\n }\n}\n","import { register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-network-info-toaster',\n new Map(\n []\n )\n );\n};\n","import { Component, Injector, OnDestroy } from '@angular/core';\n\nimport { IWidgetConfig, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\n\nimport { registerProps } from './network-info-toaster.props';\nimport { $appDigest, App } from '@wm/core';\nimport { NetworkService } from '@wm/mobile/core';\n\nconst DEFAULT_CLS = 'network-info-toaster';\nconst WIDGET_CONFIG: IWidgetConfig = {widgetType: 'wm-network-info-toaster', hostClass: DEFAULT_CLS};\n\nexport enum NetworkState {\n CONNECTED = 1,\n CONNECTING = 0,\n SERVICE_AVAILABLE_BUT_NOT_CONNECTED = -1,\n NETWORK_AVAIABLE_BUT_SERVICE_NOT_AVAILABLE = -2,\n NETWORK_NOT_AVAIABLE = -3\n}\n\n\n@Component({\n selector: '[wmNetworkInfoToaster]',\n templateUrl: './network-info-toaster.component.html',\n providers: [\n provideAsWidgetRef(NetworkInfoToasterComponent)\n ]\n})\nexport class NetworkInfoToasterComponent extends StylableComponent implements OnDestroy {\n static initializeProps = registerProps();\n\n public showMessage = false;\n public isServiceConnected = false;\n public isServiceAvailable = false;\n public networkState: NetworkState;\n\n private _listenerDestroyer;\n\n constructor(private networkService: NetworkService, app: App, inj: Injector) {\n super(inj, WIDGET_CONFIG);\n styler(this.$element, this);\n this.isServiceAvailable = <boolean> this.networkService.isAvailable();\n this.isServiceConnected = this.networkService.isConnected();\n this._listenerDestroyer = app.subscribe('onNetworkStateChange', (data) => {\n this.renderMessage(data);\n });\n this.renderMessage();\n }\n\n private renderMessage(data?) {\n data = data || this.networkService.getState();\n const oldState = this.networkState;\n let autoHide = false;\n if (data.noServiceRequired) {\n return false;\n }\n if (data.isConnected) {\n this.networkState = NetworkState.CONNECTED;\n autoHide = true;\n } else if (data.isConnecting) {\n this.networkState = NetworkState.CONNECTING;\n } else if (data.isServiceAvailable) {\n this.networkState = NetworkState.SERVICE_AVAILABLE_BUT_NOT_CONNECTED;\n } else if (data.isNetworkAvailable && !data.isServiceAvailable) {\n this.networkState = NetworkState.NETWORK_AVAIABLE_BUT_SERVICE_NOT_AVAILABLE;\n } else {\n this.networkState = NetworkState.NETWORK_NOT_AVAIABLE;\n }\n this.showMessage = (!(oldState === undefined && data.isConnected) && oldState !== this.networkState);\n if (autoHide && this.showMessage) {\n setTimeout(() => {\n this.showMessage = false;\n $appDigest();\n }, 5000);\n }\n }\n\n public connect() {\n this.networkService.connect();\n }\n\n public hideMessage() {\n this.showMessage = false;\n }\n\n public ngOnDestroy() {\n this._listenerDestroyer();\n super.ngOnDestroy();\n }\n}\n","import { Component, DoCheck, ElementRef } from '@angular/core';\n\nimport { addClass, removeAttr, setAttr } from '@wm/core';\nimport { provideAsWidgetRef } from '@wm/components/base';\n\ndeclare const _;\n\nexport interface Process {\n max: number;\n min: number;\n name: string;\n onStop: () => void;\n progressLabel: string;\n show: boolean;\n stopButtonLabel: string;\n value: number;\n}\n\nexport interface ProcessApi {\n destroy: () => Promise<void>;\n get: (propertyName: string) => string;\n set: (propertyName: string, propertyValue: any) => void;\n}\n\nconst MAX_PROCESS = 3;\n\n@Component({\n selector: '[wmProcessManager]',\n templateUrl: './process-manager.component.html',\n providers: [\n provideAsWidgetRef(ProcessManagerComponent)\n ]\n})\nexport class ProcessManagerComponent implements DoCheck {\n\n private isVisible = true;\n\n public instances: Process[] = [];\n public queue = [];\n\n constructor(private el: ElementRef) {\n addClass(this.el.nativeElement, 'app-global-progress-bar modal default');\n }\n\n public createInstance(name: string, min = 0, max = 100): Promise<ProcessApi> {\n const instance: Process = {\n max: max,\n min: min,\n name: name,\n onStop: null,\n progressLabel: '',\n show: min !== max,\n stopButtonLabel : 'Cancel',\n value: 0\n };\n const api = {\n get: (propertyName) => instance[propertyName],\n set: (propertyName, propertyValue) => this.setInstaceProperty(instance, propertyName, propertyValue),\n destroy: () => this.removeInstance(instance)\n };\n return this.addToQueue(instance).then(() => api);\n }\n\n public getVisibleInstances() {\n return this.instances.filter(i => i.show);\n }\n\n public ngDoCheck() {\n const hasInstancesToShow = !!this.instances.find(i => i.show);\n if (this.isVisible && !hasInstancesToShow) {\n setAttr(this.el.nativeElement, 'hidden', 'true');\n this.isVisible = false;\n } else if (!this.isVisible && hasInstancesToShow) {\n removeAttr(this.el.nativeElement, 'hidden');\n this.isVisible = true;\n }\n }\n\n private addToQueue(instance): Promise<void> {\n return new Promise( resolve => {\n this.queue.push(() => {\n if (this.instances.length < MAX_PROCESS) {\n this.instances.push(instance);\n resolve(instance);\n } else {\n return false;\n }\n });\n this.flushQueue();\n });\n }\n\n private flushQueue() {\n if (this.queue.length > 0 && this.queue[0]() !== false) {\n this.queue.shift();\n this.flushQueue();\n }\n }\n\n private removeInstance(instance: Process): Promise<void> {\n return new Promise( resolve => {\n setTimeout(() => {\n _.remove(this.instances, instance);\n this.flushQueue();\n resolve();\n }, 1000);\n });\n }\n\n private setInstaceProperty(instance: Process, propertyName: string, propertyValue: any) {\n if (propertyName === 'value') {\n if (instance.value >= instance.max) {\n propertyValue = instance.max;\n }\n instance.value = propertyValue;\n instance.progressLabel = instance.value + '/' + instance.max;\n } else if (propertyName === 'onStop' && _.isFunction(propertyValue)) {\n instance.onStop = () => {\n propertyValue();\n return this.removeInstance(instance);\n };\n } else {\n instance[propertyName] = propertyValue;\n }\n instance.show = instance.min !== instance.max;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { ProcessManagerComponent, ProcessApi } from './process-manager.component';\n\n@Injectable({ providedIn: 'root' })\nexport class ProcessManagementService {\n static readonly SERVICE_NAME = 'ProcessManagementService';\n\n private processManagerComponent: ProcessManagerComponent;\n\n setUIComponent(processManagerComponent: ProcessManagerComponent) {\n this.processManagerComponent = processManagerComponent;\n }\n\n /**\n * Returns a promise that will be resolved when an instance is available. At max, 3 instances can only run\n * in parallel and rest has to wait till a process is completed.\n *\n * A progress instance has the following properties.\n *\n * 1) min {number} minimum value, default value is 0 </br>\n * 2) max {number} maximum value, default value is 100 </br>\n * 3) value {number} progress value </br>\n * 4) progressLabel {string} process name </br>\n * 5) stopButtonLabel {string} label for stop button, default value is 'Cancel' </br>\n * 6) onStop {function} function to invoke when stop button is clicked. </br>\n *\n * A progress instance has 3 methods </br>\n * 1) set(property, value) -- sets value to the corresponding property </br>\n * 2) get(property) -- returns property value </br>\n * 3) destroy() -- closes the instance. </br>\n *\n * A progress instance will get auto closed when value and max are equal or when destroy method is called.\n *\n * @param {string} name name of the process whose progress is going to be shown\n * @param {number} min minimum value\n * @param {number} max maximum value\n *\n * @returns {object} a promise\n */\n public createInstance(name: string, min?: number, max?: number): Promise<ProcessApi> {\n if (!this.processManagerComponent) {\n return Promise.reject('ProcessManagerComponent is missing');\n }\n return this.processManagerComponent.createInstance(name, min, max);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { WmComponentsModule } from '@wm/components/base';\nimport { ProgressModule } from '@wm/components/basic/progress';\n\nimport { AnchorDirective } from './anchor/anchor.directive';\nimport { AppUpdateComponent } from './app-update/app-update.component';\nimport { FileBrowserComponent } from './file-browser/file-browser.component';\nimport { ImageCacheDirective } from './image-cache/image-cache.directive';\nimport { NetworkInfoToasterComponent } from './network-info-toaster/network-info-toaster.component';\nimport { ProcessManagerComponent } from './process-manager/process-manager.component';\n\nconst components = [\n AnchorDirective,\n AppUpdateComponent,\n FileBrowserComponent,\n ImageCacheDirective,\n NetworkInfoToasterComponent,\n ProcessManagerComponent\n];\n\n@NgModule({\n imports: [\n CommonModule,\n ProgressModule,\n WmComponentsModule\n ],\n declarations: [...components],\n exports: [...components],\n entryComponents: []\n})\nexport class BasicModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {registerProps as ɵa} from './network-info-toaster/network-info-toaster.props';"],"names":["DEFAULT_CLS"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../projects/mobile/components/basic/default/src/anchor/anchor.directive.ts","../../../../../../projects/mobile/components/basic/default/src/app-update/app-update.component.ts","../../../../../../projects/mobile/components/basic/default/src/file-browser/file-browser.component.ts","../../../../../../projects/mobile/components/basic/default/src/file-browser/file-selector.service.ts","../../../../../../projects/mobile/components/basic/default/src/image-cache/image-cache.directive.ts","../../../../../../projects/mobile/components/basic/default/src/network-info-toaster/network-info-toaster.props.ts","../../../../../../projects/mobile/components/basic/default/src/network-info-toaster/network-info-toaster.component.ts","../../../../../../projects/mobile/components/basic/default/src/process-manager/process-manager.component.ts","../../../../../../projects/mobile/components/basic/default/src/process-manager/process-management.service.ts","../../../../../../projects/mobile/components/basic/default/src/basic.module.ts","../../../../../../projects/mobile/components/basic/default/src/index.ts"],"sourcesContent":["import { Directive, HostListener, Inject } from '@angular/core';\n\nimport { WidgetRef } from '@wm/components/base';\n\ndeclare const _;\ndeclare const cordova;\n\n@Directive({\n selector: '[wmAnchor]'\n})\nexport class AnchorDirective {\n\n constructor(@Inject(WidgetRef) private widget: any) { }\n\n @HostListener('click')\n onClick () {\n let href = this.widget.hyperlink;\n if (href) {\n if (href.indexOf(':') >= 0 && !(_.startsWith(href, 'http://') || _.startsWith(href, 'https://'))) {\n return;\n } else if (_.startsWith(href, '#')) {\n window.location.href = window.location.origin + window.location.pathname + href;\n return;\n } else if (_.startsWith(href, '//')) {\n href = 'https:' + href;\n }\n if (window['cordova']) {\n window.open(href, this.widget.target);\n }\n }\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Component, ElementRef } from '@angular/core';\n\nimport { File } from '@awesome-cordova-plugins/file/ngx';\nimport { FileOpener } from '@awesome-cordova-plugins/file-opener/ngx';\n\nimport { addClass, hasCordova, noop, removeClass, setCSS } from '@wm/core';\nimport { DeviceFileDownloadService, DeviceService } from '@wm/mobile/core';\n\ndeclare const cordova;\n\nconst DEFAULT_CLS = 'app-update-dialog modal fade in hidden';\n\nconst AUTO_UPDATE_FILENAME = 'app-auto-update.apk';\n\n@Component({\n selector: '[wmAppUpdate]',\n templateUrl: './app-update.component.html'\n})\nexport class AppUpdateComponent {\n\n public downloadProgress = 0;\n public downloading = false;\n public message = 'There is an update available. Would you like to update the app?';\n\n private _buildMeta: any;\n\n constructor(\n private deviceService: DeviceService,\n private fileDownloadService: DeviceFileDownloadService,\n private elRef: ElementRef,\n private file: File,\n private fileOpener: FileOpener,\n private http: HttpClient\n ) {\n\n addClass(this.elRef.nativeElement, DEFAULT_CLS);\n setCSS(this.elRef.nativeElement, 'display', 'block');\n if (hasCordova()) {\n this.getBuildMeta().then(buildMeta => {\n if (buildMeta && buildMeta.buildMode === 'DEVELOPMENT_MODE') {\n this.file.removeFile(cordova.file.externalApplicationStorageDirectory, AUTO_UPDATE_FILENAME).catch(noop);\n this.checkForUpdate()\n .then(this.getUserConfirmation.bind(this), noop);\n }\n });\n }\n }\n\n public cancel() {\n addClass(this.elRef.nativeElement, 'hidden');\n }\n\n public installLatestVersion() {\n const apkFile = cordova.file.externalApplicationStorageDirectory + AUTO_UPDATE_FILENAME,\n downloadLink = `${this._buildMeta.host}/appBuild/rest/mobileBuilds/android/download?token=${this._buildMeta.token}&buildNumber=${this._buildMeta.latestBuildNumber}&fileName=${AUTO_UPDATE_FILENAME}&releaseVersion=${this._buildMeta.platformVersion}`,\n progressObserver = { next: e => { this.downloadProgress = (e.loaded / e.total) * 100; }, error: null, complete: null};\n this.fileDownloadService.download(\n downloadLink,\n false,\n cordova.file.externalApplicationStorageDirectory,\n AUTO_UPDATE_FILENAME,\n progressObserver).then(() => {\n this.fileOpener.open(apkFile, 'application/vnd.android.package-archive');\n }, function () {\n this.message = 'Failed to download latest version.';\n });\n this.message = `Downloading the latest version [${this._buildMeta.latestVersion}].`;\n this.downloading = true;\n }\n\n private checkForUpdate() {\n return new Promise((resolve, reject) => {\n this.http.get(`${this._buildMeta.host}/appBuild/rest/mobileBuilds/latest_build?token=${this._buildMeta.token}&releaseVersion=${this._buildMeta.platformVersion}`)\n .toPromise()\n .then((response: any) => {\n const latestBuildNumber = response.success.body.buildNumber,\n latestVersion = response.success.body.version;\n if (this._buildMeta.buildNumber < latestBuildNumber) {\n this._buildMeta.latestBuildNumber = latestBuildNumber;\n this._buildMeta.latestVersion = latestVersion;\n resolve(latestBuildNumber);\n } else {\n reject();\n }\n }, reject);\n });\n }\n\n private getBuildMeta() {\n if (!this._buildMeta) {\n return this.file.readAsText(cordova.file.applicationDirectory + 'www/', 'build_meta.json')\n .then(data => {\n this._buildMeta = JSON.parse(data);\n return this._buildMeta;\n }, noop);\n }\n return Promise.resolve(this._buildMeta);\n }\n\n private getUserConfirmation() {\n this.downloadProgress = 0;\n this.downloading = false;\n this.message = 'There is an update available. Would you like to update the app?';\n removeClass(this.elRef.nativeElement, 'hidden');\n }\n}\n","import { Component, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\n\nimport { $appDigest, isIos } from '@wm/core';\nimport { DeviceService } from '@wm/mobile/core';\n\ndeclare const _;\ndeclare const cordova;\ndeclare const resolveLocalFileSystemURL;\n\nexport interface File {\n name: string;\n size: number;\n isSelected: boolean;\n file: (success: (navtiveFileObject: any) => void, failure: (message: any) => any) => void;\n}\n\nexport interface Folder {\n name: string;\n files: File[];\n folders: Folder[];\n parent: Folder;\n}\n\n@Component({\n selector: '[wmMobileFileBrowser]',\n templateUrl: './file-browser.component.html'\n})\nexport class FileBrowserComponent implements OnDestroy {\n\n public currentFolder: Folder;\n @Input() public fileTypeToSelect: string;\n @Input() public multiple: boolean;\n public selectedFiles: File[] = [];\n @Output('submit') submitEmitter = new EventEmitter();\n public isVisible: boolean;\n\n private backButtonListenerDeregister: any;\n\n constructor(private deviceService: DeviceService) {}\n\n\n public getFileExtension(fileName: string): string {\n const extIndex = fileName ? fileName.lastIndexOf('.') : -1;\n if (extIndex > 0) {\n return fileName.substring(extIndex + 1);\n }\n return '';\n }\n\n public ngOnDestroy() {\n if (this.backButtonListenerDeregister) {\n this.backButtonListenerDeregister();\n }\n }\n\n public onFileClick(file): void {\n if (file.isFile) {\n if (file.isSelected) {\n this.deselectFile(file);\n } else {\n this.selectFile(file);\n }\n } else {\n this.goToFolder(file);\n }\n }\n\n public set show(flag: boolean) {\n let rootDir = cordova.file.externalRootDirectory;\n this.isVisible = flag;\n if (flag) {\n if (!this.currentFolder) {\n if (isIos()) {\n rootDir = cordova.file.documentsDirectory;\n }\n resolveLocalFileSystemURL(rootDir, root => this.goToFolder(root));\n }\n this.backButtonListenerDeregister = this.deviceService.onBackButtonTap(() => {\n if (this.isVisible) {\n if (this.currentFolder.parent) {\n this.onFileClick(this.currentFolder.parent);\n } else {\n this.isVisible = false;\n }\n $appDigest();\n return false;\n }\n });\n } else if (this.backButtonListenerDeregister) {\n this.backButtonListenerDeregister();\n }\n }\n\n public submit() {\n const files = [];\n this.loadFileSize(this.selectedFiles).then(() => {\n _.forEach(this.selectedFiles, function (f) {\n f.isSelected = false;\n files.push({ path: f.nativeURL,\n name: f.name,\n size : f.size});\n });\n this.selectedFiles = [];\n this.isVisible = false;\n this.submitEmitter.next({files: files});\n });\n }\n\n private deselectFile(file: File): void {\n _.remove(this.selectedFiles, file);\n file.isSelected = false;\n }\n\n private goToFolder(folder: Folder): void {\n if (!folder.files) {\n this.loadFolder(folder, this.fileTypeToSelect)\n .then(files => {\n folder.files = files;\n folder.parent = this.currentFolder;\n this.currentFolder = folder;\n });\n } else {\n this.currentFolder = folder;\n }\n }\n\n private loadFileSize(files: File[]): Promise<void[]> {\n return Promise.all(files.map(f => {\n return new Promise<void>((resolve, reject) => {\n f.file(o => {\n f.size = o.size;\n resolve();\n }, reject);\n });\n }));\n }\n\n private loadFolder(folder: any, fileTypeToSelect: string): Promise<File[]> {\n return new Promise((resolve, reject) => {\n let fileTypeToShow;\n folder.createReader().readEntries((entries: File[]) => {\n if (!_.isEmpty(fileTypeToSelect)) {\n fileTypeToShow = _.split(fileTypeToSelect, ',');\n entries = _.filter(entries, e => {\n return !e.isFile || _.findIndex(fileTypeToShow, ext => _.endsWith(e.name, '.' + ext)) >= 0;\n });\n }\n resolve(_.sortBy(entries, e => (e.isFile ? '1_' : '0_') + e.name.toLowerCase()));\n }, reject);\n });\n }\n\n\n private refreshFolder(): Promise<any> {\n return this.loadFolder(this.currentFolder, this.fileTypeToSelect)\n .then(files => this.currentFolder.files = files);\n }\n\n private selectFile(file): void {\n if (!this.multiple && this.selectedFiles.length > 0) {\n this.selectedFiles[0].isSelected = false;\n this.selectedFiles = [];\n }\n this.selectedFiles.push(file);\n file.isSelected = true;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { convertToBlob, AbstractSpinnerService } from '@wm/core';\nimport { FileBrowserComponent } from './file-browser.component';\n\ndeclare const _;\ndeclare const window, cordova;\n\nexport interface FileContent {\n name: string;\n path: string;\n blob: any;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class FileSelectorService {\n static readonly SERVICE_NAME = 'FileSelectorService';\n\n private fileBrowserComponent: FileBrowserComponent;\n\n public constructor(private spinnerService: AbstractSpinnerService) {}\n\n public selectAudio(multiple = false): Promise<any> {\n var spinnerId = this.spinnerService.show(\"\");\n return new Promise<string[]>((resolve, reject) => {\n cordova.wavemaker.filePicker.selectAudio(multiple, resolve, reject);\n }).then(files => this.getFiles(files))\n .then((paths) => {\n this.spinnerService.hide(spinnerId);\n return paths;\n });\n }\n\n public setFileBrowser(f: FileBrowserComponent) {\n this.fileBrowserComponent = f;\n }\n\n public selectFiles(multiple = false, fileTypeToSelect?: string): Promise<FileContent[]> {\n var spinnerId = this.spinnerService.show(\"\");\n return new Promise<string[]>((resolve, reject) => {\n cordova.wavemaker.filePicker.selectFiles(multiple, resolve, reject);\n }).then(files => this.getFiles(files))\n .then((paths) => {\n this.spinnerService.hide(spinnerId);\n return paths;\n });\n }\n\n public selectImages(multiple = false): Promise<FileContent[]> {\n var spinnerId = this.spinnerService.show(\"\");\n return new Promise<string[]>((resolve, reject) => {\n cordova.wavemaker.filePicker.selectImage(multiple, resolve, reject);\n }).then(files => this.getFiles(files))\n .then((paths) => {\n this.spinnerService.hide(spinnerId);\n return paths;\n });\n }\n\n public selectVideos(multiple = false): Promise<FileContent[]> {\n var spinnerId = this.spinnerService.show(\"\");\n return new Promise<string[]>((resolve, reject) => {\n cordova.wavemaker.filePicker.selectVideo(multiple, resolve, reject);\n }).then(files => this.getFiles(files))\n .then((paths) => {\n this.spinnerService.hide(spinnerId);\n return paths;\n });\n\n }\n\n /**\n * Converts the file to blob using filepath\n * @param filePaths, array of file paths\n * @returns fileObj having name, path, content\n */\n private getFiles(filePaths: string[]): Promise<FileContent[]> {\n return Promise.all(_.map(filePaths, filePath => {\n if (filePath.indexOf('://') < 0) {\n filePath = 'file://' + filePath;\n }\n return convertToBlob(filePath)\n })).then(filesList => {\n return _.map(filesList, fileObj => {\n const path = fileObj.filepath;\n return {\n name: path.split('/').pop(),\n path: path,\n content: fileObj.blob,\n size: fileObj.blob.size\n };\n });\n });\n }\n}\n","import { Directive, DoCheck, Inject, Input, Self } from '@angular/core';\n\nimport { File } from '@awesome-cordova-plugins/file/ngx';\n\nimport { WidgetRef } from '@wm/components/base';\nimport { hasCordova, noop, transformFileURI } from '@wm/core';\nimport { DeviceFileCacheService } from '@wm/mobile/core';\n\ndeclare const _;\nconst DEFAULT_IMAGE = 'resources/images/imagelists/default-image.png';\n\n@Directive({\n selector: '[wmImageCache]'\n})\nexport class ImageCacheDirective implements DoCheck {\n\n private _cacheUrl;\n private _isEnabled = false;\n private _lastUrl = '';\n\n constructor(\n @Self() @Inject(WidgetRef) private componentInstance,\n private deviceFileCacheService: DeviceFileCacheService,\n private file: File\n\n ) {}\n\n public ngDoCheck() {\n if (_.isString(this.componentInstance.imgSource)\n && this.componentInstance.imgSource.startsWith('http')) {\n if (this._lastUrl !== this.componentInstance.imgSource) {\n this._lastUrl = this.componentInstance.imgSource;\n this.componentInstance.imgSource = DEFAULT_IMAGE;\n this.getLocalPath(this._lastUrl).then((localPath) => {\n this._cacheUrl = transformFileURI(localPath);\n this.componentInstance.imgSource = this._cacheUrl;\n });\n } else if (this._cacheUrl) {\n this.componentInstance.imgSource = this._cacheUrl;\n }\n }\n }\n\n @Input()\n set wmImageCache(val: string) {\n this._isEnabled = (hasCordova() && val === 'true');\n }\n\n private getLocalPath(val: string) {\n if (hasCordova() && val && val.indexOf('{{') < 0 && val.startsWith('http')) {\n return this.deviceFileCacheService.getLocalPath(val, true, true, !this._isEnabled)\n .catch(noop);\n }\n return Promise.resolve(val);\n }\n}\n","import { register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-network-info-toaster',\n new Map(\n []\n )\n );\n};\n","import { Component, Injector, OnDestroy } from '@angular/core';\n\nimport { IWidgetConfig, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\n\nimport { registerProps } from './network-info-toaster.props';\nimport { $appDigest, App } from '@wm/core';\nimport { NetworkService } from '@wm/mobile/core';\n\nconst DEFAULT_CLS = 'network-info-toaster';\nconst WIDGET_CONFIG: IWidgetConfig = {widgetType: 'wm-network-info-toaster', hostClass: DEFAULT_CLS};\n\nexport enum NetworkState {\n CONNECTED = 1,\n CONNECTING = 0,\n SERVICE_AVAILABLE_BUT_NOT_CONNECTED = -1,\n NETWORK_AVAIABLE_BUT_SERVICE_NOT_AVAILABLE = -2,\n NETWORK_NOT_AVAIABLE = -3\n}\n\n\n@Component({\n selector: '[wmNetworkInfoToaster]',\n templateUrl: './network-info-toaster.component.html',\n providers: [\n provideAsWidgetRef(NetworkInfoToasterComponent)\n ]\n})\nexport class NetworkInfoToasterComponent extends StylableComponent implements OnDestroy {\n static initializeProps = registerProps();\n\n public showMessage = false;\n public isServiceConnected = false;\n public isServiceAvailable = false;\n public networkState: NetworkState;\n\n private _listenerDestroyer;\n\n constructor(private networkService: NetworkService, app: App, inj: Injector) {\n super(inj, WIDGET_CONFIG);\n styler(this.$element, this);\n this.isServiceAvailable = <boolean> this.networkService.isAvailable();\n this.isServiceConnected = this.networkService.isConnected();\n this._listenerDestroyer = app.subscribe('onNetworkStateChange', (data) => {\n this.renderMessage(data);\n });\n this.renderMessage();\n }\n\n private renderMessage(data?) {\n data = data || this.networkService.getState();\n const oldState = this.networkState;\n let autoHide = false;\n if (data.noServiceRequired) {\n return false;\n }\n if (data.isConnected) {\n this.networkState = NetworkState.CONNECTED;\n autoHide = true;\n } else if (data.isConnecting) {\n this.networkState = NetworkState.CONNECTING;\n } else if (data.isServiceAvailable) {\n this.networkState = NetworkState.SERVICE_AVAILABLE_BUT_NOT_CONNECTED;\n } else if (data.isNetworkAvailable && !data.isServiceAvailable) {\n this.networkState = NetworkState.NETWORK_AVAIABLE_BUT_SERVICE_NOT_AVAILABLE;\n } else {\n this.networkState = NetworkState.NETWORK_NOT_AVAIABLE;\n }\n this.showMessage = (!(oldState === undefined && data.isConnected) && oldState !== this.networkState);\n if (autoHide && this.showMessage) {\n setTimeout(() => {\n this.showMessage = false;\n $appDigest();\n }, 5000);\n }\n }\n\n public connect() {\n this.networkService.connect();\n }\n\n public hideMessage() {\n this.showMessage = false;\n }\n\n public ngOnDestroy() {\n this._listenerDestroyer();\n super.ngOnDestroy();\n }\n}\n","import { Component, DoCheck, ElementRef } from '@angular/core';\n\nimport { addClass, removeAttr, setAttr } from '@wm/core';\nimport { provideAsWidgetRef } from '@wm/components/base';\n\ndeclare const _;\n\nexport interface Process {\n max: number;\n min: number;\n name: string;\n onStop: () => void;\n progressLabel: string;\n show: boolean;\n stopButtonLabel: string;\n value: number;\n}\n\nexport interface ProcessApi {\n destroy: () => Promise<void>;\n get: (propertyName: string) => string;\n set: (propertyName: string, propertyValue: any) => void;\n}\n\nconst MAX_PROCESS = 3;\n\n@Component({\n selector: '[wmProcessManager]',\n templateUrl: './process-manager.component.html',\n providers: [\n provideAsWidgetRef(ProcessManagerComponent)\n ]\n})\nexport class ProcessManagerComponent implements DoCheck {\n\n private isVisible = true;\n\n public instances: Process[] = [];\n public queue = [];\n\n constructor(private el: ElementRef) {\n addClass(this.el.nativeElement, 'app-global-progress-bar modal default');\n }\n\n public createInstance(name: string, min = 0, max = 100): Promise<ProcessApi> {\n const instance: Process = {\n max: max,\n min: min,\n name: name,\n onStop: null,\n progressLabel: '',\n show: min !== max,\n stopButtonLabel : 'Cancel',\n value: 0\n };\n const api = {\n get: (propertyName) => instance[propertyName],\n set: (propertyName, propertyValue) => this.setInstaceProperty(instance, propertyName, propertyValue),\n destroy: () => this.removeInstance(instance)\n };\n return this.addToQueue(instance).then(() => api);\n }\n\n public getVisibleInstances() {\n return this.instances.filter(i => i.show);\n }\n\n public ngDoCheck() {\n const hasInstancesToShow = !!this.instances.find(i => i.show);\n if (this.isVisible && !hasInstancesToShow) {\n setAttr(this.el.nativeElement, 'hidden', 'true');\n this.isVisible = false;\n } else if (!this.isVisible && hasInstancesToShow) {\n removeAttr(this.el.nativeElement, 'hidden');\n this.isVisible = true;\n }\n }\n\n private addToQueue(instance): Promise<void> {\n return new Promise( resolve => {\n this.queue.push(() => {\n if (this.instances.length < MAX_PROCESS) {\n this.instances.push(instance);\n resolve(instance);\n } else {\n return false;\n }\n });\n this.flushQueue();\n });\n }\n\n private flushQueue() {\n if (this.queue.length > 0 && this.queue[0]() !== false) {\n this.queue.shift();\n this.flushQueue();\n }\n }\n\n private removeInstance(instance: Process): Promise<void> {\n return new Promise( resolve => {\n setTimeout(() => {\n _.remove(this.instances, instance);\n this.flushQueue();\n resolve();\n }, 1000);\n });\n }\n\n private setInstaceProperty(instance: Process, propertyName: string, propertyValue: any) {\n if (propertyName === 'value') {\n if (instance.value >= instance.max) {\n propertyValue = instance.max;\n }\n instance.value = propertyValue;\n instance.progressLabel = instance.value + '/' + instance.max;\n } else if (propertyName === 'onStop' && _.isFunction(propertyValue)) {\n instance.onStop = () => {\n propertyValue();\n return this.removeInstance(instance);\n };\n } else {\n instance[propertyName] = propertyValue;\n }\n instance.show = instance.min !== instance.max;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { ProcessManagerComponent, ProcessApi } from './process-manager.component';\n\n@Injectable({ providedIn: 'root' })\nexport class ProcessManagementService {\n static readonly SERVICE_NAME = 'ProcessManagementService';\n\n private processManagerComponent: ProcessManagerComponent;\n\n setUIComponent(processManagerComponent: ProcessManagerComponent) {\n this.processManagerComponent = processManagerComponent;\n }\n\n /**\n * Returns a promise that will be resolved when an instance is available. At max, 3 instances can only run\n * in parallel and rest has to wait till a process is completed.\n *\n * A progress instance has the following properties.\n *\n * 1) min {number} minimum value, default value is 0 </br>\n * 2) max {number} maximum value, default value is 100 </br>\n * 3) value {number} progress value </br>\n * 4) progressLabel {string} process name </br>\n * 5) stopButtonLabel {string} label for stop button, default value is 'Cancel' </br>\n * 6) onStop {function} function to invoke when stop button is clicked. </br>\n *\n * A progress instance has 3 methods </br>\n * 1) set(property, value) -- sets value to the corresponding property </br>\n * 2) get(property) -- returns property value </br>\n * 3) destroy() -- closes the instance. </br>\n *\n * A progress instance will get auto closed when value and max are equal or when destroy method is called.\n *\n * @param {string} name name of the process whose progress is going to be shown\n * @param {number} min minimum value\n * @param {number} max maximum value\n *\n * @returns {object} a promise\n */\n public createInstance(name: string, min?: number, max?: number): Promise<ProcessApi> {\n if (!this.processManagerComponent) {\n return Promise.reject('ProcessManagerComponent is missing');\n }\n return this.processManagerComponent.createInstance(name, min, max);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { WmComponentsModule } from '@wm/components/base';\nimport { ProgressModule } from '@wm/components/basic/progress';\n\nimport { AnchorDirective } from './anchor/anchor.directive';\nimport { AppUpdateComponent } from './app-update/app-update.component';\nimport { FileBrowserComponent } from './file-browser/file-browser.component';\nimport { ImageCacheDirective } from './image-cache/image-cache.directive';\nimport { NetworkInfoToasterComponent } from './network-info-toaster/network-info-toaster.component';\nimport { ProcessManagerComponent } from './process-manager/process-manager.component';\n\nconst components = [\n AnchorDirective,\n AppUpdateComponent,\n FileBrowserComponent,\n ImageCacheDirective,\n NetworkInfoToasterComponent,\n ProcessManagerComponent\n];\n\n@NgModule({\n imports: [\n CommonModule,\n ProgressModule,\n WmComponentsModule\n ],\n declarations: [...components],\n exports: [...components],\n entryComponents: []\n})\nexport class BasicModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {registerProps as ɵa} from './network-info-toaster/network-info-toaster.props';"],"names":["DEFAULT_CLS"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"AnchorDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":7,"character":1},"arguments":[{"selector":"[wmAnchor]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":12,"character":17},"arguments":[{"__symbolic":"reference","module":"@wm/components/base","name":"WidgetRef","line":12,"character":24}]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}],"onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":14,"character":5},"arguments":["click"]}]}]}},"AppUpdateComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":15,"character":1},"arguments":[{"selector":"[wmAppUpdate]","template":"<div class=\"modal-dialog\">\n <div class=\"modal-content\"> \n <div class=\"modal-body\"> \n <span [textContent]=\"message\"></span>\n <div class=\"progress\" [hidden]=\"!downloading\">\n <div class=\"progress-bar\" [style.width.%]=\"downloadProgress\"></div>\n </div>\n </div>\n <div class=\"modal-footer\"> \n <button type=\"button\" class=\"btn btn-default\" data-dismiss=\"modal\" (click)=\"cancel()\">Skip update</button>\n <button type=\"button\" class=\"btn btn-primary\" [hidden]=\"downloading\" (click)=\"installLatestVersion()\">Update</button>\n </div>\n </div>\n</div>"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@wm/mobile/core","name":"DeviceService","line":28,"character":31},{"__symbolic":"reference","module":"@wm/mobile/core","name":"DeviceFileDownloadService","line":29,"character":37},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":30,"character":23},{"__symbolic":"reference","module":"@awesome-cordova-plugins/file/ngx","name":"File","line":31,"character":22},{"__symbolic":"reference","module":"@awesome-cordova-plugins/file-opener/ngx","name":"FileOpener","line":32,"character":28},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":33,"character":22}]}],"cancel":[{"__symbolic":"method"}],"installLatestVersion":[{"__symbolic":"method"}],"checkForUpdate":[{"__symbolic":"method"}],"getBuildMeta":[{"__symbolic":"method"}],"getUserConfirmation":[{"__symbolic":"method"}]}},"File":{"__symbolic":"interface"},"Folder":{"__symbolic":"interface"},"FileBrowserComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"[wmMobileFileBrowser]","template":"<div class=\"app-file-browser\" *ngIf=\"isVisible && currentFolder\">\n <div class=\"modal-backdrop fade\" [class.in]=\"isVisible\"></div>\n <div class=\"modal fade\" style=\"display: block;\" [class.in]=\"isVisible\" >\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header clearfix\">\n <h4 class=\"modal-title pull-left\">\n <span (click)=\"onFileClick(currentFolder.parent)\" [hidden]=\"!!!currentFolder.parent\">\n <i class=\"wi wi-long-arrow-left\"></i>\n </span>\n {{currentFolder.name}}\n </h4>\n <div class=\"selected-file-button pull-right\" (click)=\"refreshFolder()\">\n <i class=\"wi wi-refresh\"></i>\n </div>\n </div>\n <div class=\"modal-body\">\n <div class=\"file-info-box\" *ngFor=\"let file of currentFolder.files\">\n <div class=\"file-info\" [class.bg-primary]=\"file.isSelected\" (click)=\"onFileClick(file)\">\n <i class=\"file-icon wi wi-folder\" *ngIf=\"!file.isFile\"></i>\n <i class=\"file-icon wi wi-file {{getFileExtension(file.name)}}\" *ngIf=\"file.isFile\"></i>\n <span class=\"file-name\">{{file.name}}</span>\n </div>\n </div>\n </div>\n <div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-primary\" *ngIf=\"selectedFiles && selectedFiles.length > 0\" (click)=\"submit()\">\n Done <span class=\"badge badge-light\">{{selectedFiles.length}}</span>\n </button>\n <button type=\"button\" class=\"btn btn-default\" (click)=\"show = false;\">Close</button>\n </div>\n </div>\n </div>\n </div>\n</div>"}]}],"members":{"fileTypeToSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":5}}]}],"multiple":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":5}}]}],"submitEmitter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":33,"character":5},"arguments":["submit"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@wm/mobile/core","name":"DeviceService","line":38,"character":39}]}],"getFileExtension":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"onFileClick":[{"__symbolic":"method"}],"submit":[{"__symbolic":"method"}],"deselectFile":[{"__symbolic":"method"}],"goToFolder":[{"__symbolic":"method"}],"loadFileSize":[{"__symbolic":"method"}],"loadFolder":[{"__symbolic":"method"}],"refreshFolder":[{"__symbolic":"method"}],"selectFile":[{"__symbolic":"method"}]}},"FileContent":{"__symbolic":"interface"},"FileSelectorService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":14,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@wm/core","name":"AbstractSpinnerService","line":20,"character":47}]}],"selectAudio":[{"__symbolic":"method"}],"setFileBrowser":[{"__symbolic":"method"}],"selectFiles":[{"__symbolic":"method"}],"selectImages":[{"__symbolic":"method"}],"selectVideos":[{"__symbolic":"method"}],"getFiles":[{"__symbolic":"method"}]},"statics":{"SERVICE_NAME":"FileSelectorService","ɵprov":{}}},"ImageCacheDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":10,"character":1},"arguments":[{"selector":"[wmImageCache]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":20,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":20,"character":17},"arguments":[{"__symbolic":"reference","module":"@wm/components/base","name":"WidgetRef","line":20,"character":24}]}],null,null],"parameters":[null,{"__symbolic":"reference","module":"@wm/mobile/core","name":"DeviceFileCacheService","line":21,"character":40},{"__symbolic":"reference","module":"@awesome-cordova-plugins/file/ngx","name":"File","line":22,"character":22}]}],"ngDoCheck":[{"__symbolic":"method"}],"wmImageCache":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":5}}]}],"getLocalPath":[{"__symbolic":"method"}]}},"NetworkState":{"CONNECTED":1,"CONNECTING":0,"SERVICE_AVAILABLE_BUT_NOT_CONNECTED":-1,"NETWORK_AVAIABLE_BUT_SERVICE_NOT_AVAILABLE":-2,"NETWORK_NOT_AVAIABLE":-3},"NetworkInfoToasterComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@wm/components/base","name":"StylableComponent","line":27,"character":49},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":20,"character":1},"arguments":[{"selector":"[wmNetworkInfoToaster]","providers":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@wm/components/base","name":"provideAsWidgetRef","line":24,"character":8},"arguments":[{"__symbolic":"reference","name":"NetworkInfoToasterComponent"}]}],"template":"<div class=\"network-info-toaster-content\" [ngSwitch]=\"networkState\" *ngIf=\"showMessage\">\n <div class=\"info\" *ngSwitchCase=\"-3\">\n <label class=\"message\" [textContent]=\"appLocale.MESSAGE_NETWORK_NOT_AVAILABLE\"></label>\n <button class=\"btn btn-default hide-btn\" (click)=\"hideMessage()\" [textContent]=\"appLocale.LABEL_HIDE_NETWORK_INFO\"></button>\n </div>\n <div class=\"info\" *ngSwitchCase=\"-2\">\n <label class=\"message\" [textContent]=\"appLocale.MESSAGE_SERVICE_NOT_AVAILABLE\"></label>\n <button class=\"btn btn-default hide-btn\" (click)=\"hideMessage()\" [textContent]=\"appLocale.LABEL_HIDE_NETWORK_INFO\"></button>\n </div>\n <div class=\"info\" *ngSwitchCase=\"-1\">\n <label class=\"message\" [textContent]=\"appLocale.MESSAGE_SERVICE_AVAILABLE\"></label>\n <button class=\"btn btn-default hide-btn\" (click)=\"hideMessage()\" [textContent]=\"appLocale.LABEL_HIDE_NETWORK_INFO\"></button>\n <button class=\"btn btn-primary connect-btn\" (click)=\"connect()\" [textContent]=\"appLocale.LABEL_CONNECT_TO_SERVICE\"></button>\n </div>\n <div class=\"info\" *ngSwitchCase=\"0\">\n <label class=\"message\" [textContent]=\"appLocale.MESSAGE_SERVICE_CONNECTING\"></label>\n </div>\n <div class=\"info\" *ngSwitchCase=\"1\">\n <label class=\"message\" [textContent]=\"appLocale.MESSAGE_SERVICE_CONNECTED\"></label>\n </div>\n</div>"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@wm/mobile/core","name":"NetworkService","line":37,"character":40},{"__symbolic":"reference","module":"@wm/core","name":"App","line":37,"character":61},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":37,"character":71}]}],"renderMessage":[{"__symbolic":"method"}],"connect":[{"__symbolic":"method"}],"hideMessage":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]},"statics":{"initializeProps":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵa"}}}},"Process":{"__symbolic":"interface"},"ProcessApi":{"__symbolic":"interface"},"ProcessManagerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":26,"character":1},"arguments":[{"selector":"[wmProcessManager]","providers":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@wm/components/base","name":"provideAsWidgetRef","line":30,"character":8},"arguments":[{"__symbolic":"reference","name":"ProcessManagerComponent"}]}],"template":"<ng-container *ngIf=\"instances.length > 0\">\n <div class=\"modal-dialog app-dialog\">\n <div class=\"modal-content\">\n <ul class=\"instance-list list-unstyled\">\n <li *ngFor=\"let instance of getVisibleInstances(instances); index as i\" class=\"instance-list-item\">\n <div class=\"row\">\n <div class=\"col-xs-8\">\n <label class=\"app-global-progress-bar-name h6\">{{instance.name}}</label>\n </div>\n <div class=\"col-xs-4 app-global-progress-bar-progress-label-col\">\n <label class=\"app-global-progress-bar-progress-label h6\">\n {{instance.progressLabel}}</label>\n </div>\n </div>\n <ng-template [ngTemplateOutlet]=\"progressTemplate\" [ngTemplateOutletContext]=\"{instance: instance}\"></ng-template>\n <button class=\"btn btn-secondary pull-right stop-btn\" *ngIf=\"instance.onStop\" (click)=\"instance.onStop();\">\n {{instance.stopButtonLabel}}\n </button>\n <div style=\"clear: both;\"></div>\n </li>\n <li class=\"instance-list-item\" *ngIf=\"queue.length > 0\">\n <label class=\"global-progress-bar-ui-primary-label h6\">\n ({{queue.length}}) queued\n </label>\n </li>\n </ul>\n </div>\n </div>\n</ng-container>\n<ng-template #progressTemplate let-instance=\"instance\">\n <div wmProgressBar minvalue.bind=\"instance.min\" maxvalue.bind=\"instance.max\" datavalue.bind=\"instance.value\"></div>\n</ng-template>"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":40,"character":28}]}],"createInstance":[{"__symbolic":"method"}],"getVisibleInstances":[{"__symbolic":"method"}],"ngDoCheck":[{"__symbolic":"method"}],"addToQueue":[{"__symbolic":"method"}],"flushQueue":[{"__symbolic":"method"}],"removeInstance":[{"__symbolic":"method"}],"setInstaceProperty":[{"__symbolic":"method"}]}},"ProcessManagementService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"setUIComponent":[{"__symbolic":"method"}],"createInstance":[{"__symbolic":"method"}]},"statics":{"SERVICE_NAME":"ProcessManagementService","ɵprov":{}}},"BasicModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":22,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":24,"character":8},{"__symbolic":"reference","module":"@wm/components/basic/progress","name":"ProgressModule","line":25,"character":8},{"__symbolic":"reference","module":"@wm/components/base","name":"WmComponentsModule","line":26,"character":8}],"declarations":[{"__symbolic":"reference","name":"AnchorDirective"},{"__symbolic":"reference","name":"AppUpdateComponent"},{"__symbolic":"reference","name":"FileBrowserComponent"},{"__symbolic":"reference","name":"ImageCacheDirective"},{"__symbolic":"reference","name":"NetworkInfoToasterComponent"},{"__symbolic":"reference","name":"ProcessManagerComponent"}],"exports":[{"__symbolic":"reference","name":"AnchorDirective"},{"__symbolic":"reference","name":"AppUpdateComponent"},{"__symbolic":"reference","name":"FileBrowserComponent"},{"__symbolic":"reference","name":"ImageCacheDirective"},{"__symbolic":"reference","name":"NetworkInfoToasterComponent"},{"__symbolic":"reference","name":"ProcessManagerComponent"}],"entryComponents":[]}]}],"members":{}},"ɵa":{"__symbolic":"error","message":"Lambda not supported","line":2,"character":29,"module":"./network-info-toaster/network-info-toaster.props"}},"origins":{"AnchorDirective":"./anchor/anchor.directive","AppUpdateComponent":"./app-update/app-update.component","File":"./file-browser/file-browser.component","Folder":"./file-browser/file-browser.component","FileBrowserComponent":"./file-browser/file-browser.component","FileContent":"./file-browser/file-selector.service","FileSelectorService":"./file-browser/file-selector.service","ImageCacheDirective":"./image-cache/image-cache.directive","NetworkState":"./network-info-toaster/network-info-toaster.component","NetworkInfoToasterComponent":"./network-info-toaster/network-info-toaster.component","Process":"./process-manager/process-manager.component","ProcessApi":"./process-manager/process-manager.component","ProcessManagerComponent":"./process-manager/process-manager.component","ProcessManagementService":"./process-manager/process-management.service","BasicModule":"./basic.module","ɵa":"./network-info-toaster/network-info-toaster.props"},"importAs":"@wm/mobile/components/basic"}
|
|
1
|
+
{"__symbolic":"module","version":4,"metadata":{"AnchorDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":7,"character":1},"arguments":[{"selector":"[wmAnchor]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":12,"character":17},"arguments":[{"__symbolic":"reference","module":"@wm/components/base","name":"WidgetRef","line":12,"character":24}]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}],"onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":14,"character":5},"arguments":["click"]}]}]}},"AppUpdateComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":15,"character":1},"arguments":[{"selector":"[wmAppUpdate]","template":"<div class=\"modal-dialog\">\n <div class=\"modal-content\"> \n <div class=\"modal-body\"> \n <span [textContent]=\"message\"></span>\n <div class=\"progress\" [hidden]=\"!downloading\">\n <div class=\"progress-bar\" [style.width.%]=\"downloadProgress\"></div>\n </div>\n </div>\n <div class=\"modal-footer\"> \n <button type=\"button\" class=\"btn btn-default\" data-dismiss=\"modal\" (click)=\"cancel()\">Skip update</button>\n <button type=\"button\" class=\"btn btn-primary\" [hidden]=\"downloading\" (click)=\"installLatestVersion()\">Update</button>\n </div>\n </div>\n</div>"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@wm/mobile/core","name":"DeviceService","line":28,"character":31},{"__symbolic":"reference","module":"@wm/mobile/core","name":"DeviceFileDownloadService","line":29,"character":37},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":30,"character":23},{"__symbolic":"reference","module":"@awesome-cordova-plugins/file/ngx","name":"File","line":31,"character":22},{"__symbolic":"reference","module":"@awesome-cordova-plugins/file-opener/ngx","name":"FileOpener","line":32,"character":28},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":33,"character":22}]}],"cancel":[{"__symbolic":"method"}],"installLatestVersion":[{"__symbolic":"method"}],"checkForUpdate":[{"__symbolic":"method"}],"getBuildMeta":[{"__symbolic":"method"}],"getUserConfirmation":[{"__symbolic":"method"}]}},"File":{"__symbolic":"interface"},"Folder":{"__symbolic":"interface"},"FileBrowserComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"[wmMobileFileBrowser]","template":"<div class=\"app-file-browser\" *ngIf=\"isVisible && currentFolder\">\n <div class=\"modal-backdrop fade\" [class.in]=\"isVisible\"></div>\n <div class=\"modal fade\" style=\"display: block;\" [class.in]=\"isVisible\" >\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header clearfix\">\n <h4 class=\"modal-title pull-left\">\n <span (click)=\"onFileClick(currentFolder.parent)\" [hidden]=\"!!!currentFolder.parent\">\n <i class=\"wi wi-long-arrow-left\"></i>\n </span>\n {{currentFolder.name}}\n </h4>\n <div class=\"selected-file-button pull-right\" (click)=\"refreshFolder()\">\n <i class=\"wi wi-refresh\"></i>\n </div>\n </div>\n <div class=\"modal-body\">\n <div class=\"file-info-box\" *ngFor=\"let file of currentFolder.files\">\n <div class=\"file-info\" [class.bg-primary]=\"file.isSelected\" (click)=\"onFileClick(file)\">\n <i class=\"file-icon wi wi-folder\" *ngIf=\"!file.isFile\"></i>\n <i class=\"file-icon wi wi-file {{getFileExtension(file.name)}}\" *ngIf=\"file.isFile\"></i>\n <span class=\"file-name\">{{file.name}}</span>\n </div>\n </div>\n </div>\n <div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-primary\" *ngIf=\"selectedFiles && selectedFiles.length > 0\" (click)=\"submit()\">\n Done <span class=\"badge badge-light\">{{selectedFiles.length}}</span>\n </button>\n <button type=\"button\" class=\"btn btn-default\" (click)=\"show = false;\">Close</button>\n </div>\n </div>\n </div>\n </div>\n</div>"}]}],"members":{"fileTypeToSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":5}}]}],"multiple":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":5}}]}],"submitEmitter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":33,"character":5},"arguments":["submit"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@wm/mobile/core","name":"DeviceService","line":38,"character":39}]}],"getFileExtension":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"onFileClick":[{"__symbolic":"method"}],"submit":[{"__symbolic":"method"}],"deselectFile":[{"__symbolic":"method"}],"goToFolder":[{"__symbolic":"method"}],"loadFileSize":[{"__symbolic":"method"}],"loadFolder":[{"__symbolic":"method"}],"refreshFolder":[{"__symbolic":"method"}],"selectFile":[{"__symbolic":"method"}]}},"FileContent":{"__symbolic":"interface"},"FileSelectorService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":14,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@wm/core","name":"AbstractSpinnerService","line":20,"character":47}]}],"selectAudio":[{"__symbolic":"method"}],"setFileBrowser":[{"__symbolic":"method"}],"selectFiles":[{"__symbolic":"method"}],"selectImages":[{"__symbolic":"method"}],"selectVideos":[{"__symbolic":"method"}],"getFiles":[{"__symbolic":"method"}]},"statics":{"SERVICE_NAME":"FileSelectorService","ɵprov":{}}},"ImageCacheDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":11,"character":1},"arguments":[{"selector":"[wmImageCache]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":21,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":21,"character":17},"arguments":[{"__symbolic":"reference","module":"@wm/components/base","name":"WidgetRef","line":21,"character":24}]}],null,null],"parameters":[null,{"__symbolic":"reference","module":"@wm/mobile/core","name":"DeviceFileCacheService","line":22,"character":40},{"__symbolic":"reference","module":"@awesome-cordova-plugins/file/ngx","name":"File","line":23,"character":22}]}],"ngDoCheck":[{"__symbolic":"method"}],"wmImageCache":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":5}}]}],"getLocalPath":[{"__symbolic":"method"}]}},"NetworkState":{"CONNECTED":1,"CONNECTING":0,"SERVICE_AVAILABLE_BUT_NOT_CONNECTED":-1,"NETWORK_AVAIABLE_BUT_SERVICE_NOT_AVAILABLE":-2,"NETWORK_NOT_AVAIABLE":-3},"NetworkInfoToasterComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@wm/components/base","name":"StylableComponent","line":27,"character":49},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":20,"character":1},"arguments":[{"selector":"[wmNetworkInfoToaster]","providers":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@wm/components/base","name":"provideAsWidgetRef","line":24,"character":8},"arguments":[{"__symbolic":"reference","name":"NetworkInfoToasterComponent"}]}],"template":"<div class=\"network-info-toaster-content\" [ngSwitch]=\"networkState\" *ngIf=\"showMessage\">\n <div class=\"info\" *ngSwitchCase=\"-3\">\n <label class=\"message\" [textContent]=\"appLocale.MESSAGE_NETWORK_NOT_AVAILABLE\"></label>\n <button class=\"btn btn-default hide-btn\" (click)=\"hideMessage()\" [textContent]=\"appLocale.LABEL_HIDE_NETWORK_INFO\"></button>\n </div>\n <div class=\"info\" *ngSwitchCase=\"-2\">\n <label class=\"message\" [textContent]=\"appLocale.MESSAGE_SERVICE_NOT_AVAILABLE\"></label>\n <button class=\"btn btn-default hide-btn\" (click)=\"hideMessage()\" [textContent]=\"appLocale.LABEL_HIDE_NETWORK_INFO\"></button>\n </div>\n <div class=\"info\" *ngSwitchCase=\"-1\">\n <label class=\"message\" [textContent]=\"appLocale.MESSAGE_SERVICE_AVAILABLE\"></label>\n <button class=\"btn btn-default hide-btn\" (click)=\"hideMessage()\" [textContent]=\"appLocale.LABEL_HIDE_NETWORK_INFO\"></button>\n <button class=\"btn btn-primary connect-btn\" (click)=\"connect()\" [textContent]=\"appLocale.LABEL_CONNECT_TO_SERVICE\"></button>\n </div>\n <div class=\"info\" *ngSwitchCase=\"0\">\n <label class=\"message\" [textContent]=\"appLocale.MESSAGE_SERVICE_CONNECTING\"></label>\n </div>\n <div class=\"info\" *ngSwitchCase=\"1\">\n <label class=\"message\" [textContent]=\"appLocale.MESSAGE_SERVICE_CONNECTED\"></label>\n </div>\n</div>"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@wm/mobile/core","name":"NetworkService","line":37,"character":40},{"__symbolic":"reference","module":"@wm/core","name":"App","line":37,"character":61},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":37,"character":71}]}],"renderMessage":[{"__symbolic":"method"}],"connect":[{"__symbolic":"method"}],"hideMessage":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]},"statics":{"initializeProps":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵa"}}}},"Process":{"__symbolic":"interface"},"ProcessApi":{"__symbolic":"interface"},"ProcessManagerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":26,"character":1},"arguments":[{"selector":"[wmProcessManager]","providers":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@wm/components/base","name":"provideAsWidgetRef","line":30,"character":8},"arguments":[{"__symbolic":"reference","name":"ProcessManagerComponent"}]}],"template":"<ng-container *ngIf=\"instances.length > 0\">\n <div class=\"modal-dialog app-dialog\">\n <div class=\"modal-content\">\n <ul class=\"instance-list list-unstyled\">\n <li *ngFor=\"let instance of getVisibleInstances(instances); index as i\" class=\"instance-list-item\">\n <div class=\"row\">\n <div class=\"col-xs-8\">\n <label class=\"app-global-progress-bar-name h6\">{{instance.name}}</label>\n </div>\n <div class=\"col-xs-4 app-global-progress-bar-progress-label-col\">\n <label class=\"app-global-progress-bar-progress-label h6\">\n {{instance.progressLabel}}</label>\n </div>\n </div>\n <ng-template [ngTemplateOutlet]=\"progressTemplate\" [ngTemplateOutletContext]=\"{instance: instance}\"></ng-template>\n <button class=\"btn btn-secondary pull-right stop-btn\" *ngIf=\"instance.onStop\" (click)=\"instance.onStop();\">\n {{instance.stopButtonLabel}}\n </button>\n <div style=\"clear: both;\"></div>\n </li>\n <li class=\"instance-list-item\" *ngIf=\"queue.length > 0\">\n <label class=\"global-progress-bar-ui-primary-label h6\">\n ({{queue.length}}) queued\n </label>\n </li>\n </ul>\n </div>\n </div>\n</ng-container>\n<ng-template #progressTemplate let-instance=\"instance\">\n <div wmProgressBar minvalue.bind=\"instance.min\" maxvalue.bind=\"instance.max\" datavalue.bind=\"instance.value\"></div>\n</ng-template>"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":40,"character":28}]}],"createInstance":[{"__symbolic":"method"}],"getVisibleInstances":[{"__symbolic":"method"}],"ngDoCheck":[{"__symbolic":"method"}],"addToQueue":[{"__symbolic":"method"}],"flushQueue":[{"__symbolic":"method"}],"removeInstance":[{"__symbolic":"method"}],"setInstaceProperty":[{"__symbolic":"method"}]}},"ProcessManagementService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"setUIComponent":[{"__symbolic":"method"}],"createInstance":[{"__symbolic":"method"}]},"statics":{"SERVICE_NAME":"ProcessManagementService","ɵprov":{}}},"BasicModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":22,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":24,"character":8},{"__symbolic":"reference","module":"@wm/components/basic/progress","name":"ProgressModule","line":25,"character":8},{"__symbolic":"reference","module":"@wm/components/base","name":"WmComponentsModule","line":26,"character":8}],"declarations":[{"__symbolic":"reference","name":"AnchorDirective"},{"__symbolic":"reference","name":"AppUpdateComponent"},{"__symbolic":"reference","name":"FileBrowserComponent"},{"__symbolic":"reference","name":"ImageCacheDirective"},{"__symbolic":"reference","name":"NetworkInfoToasterComponent"},{"__symbolic":"reference","name":"ProcessManagerComponent"}],"exports":[{"__symbolic":"reference","name":"AnchorDirective"},{"__symbolic":"reference","name":"AppUpdateComponent"},{"__symbolic":"reference","name":"FileBrowserComponent"},{"__symbolic":"reference","name":"ImageCacheDirective"},{"__symbolic":"reference","name":"NetworkInfoToasterComponent"},{"__symbolic":"reference","name":"ProcessManagerComponent"}],"entryComponents":[]}]}],"members":{}},"ɵa":{"__symbolic":"error","message":"Lambda not supported","line":2,"character":29,"module":"./network-info-toaster/network-info-toaster.props"}},"origins":{"AnchorDirective":"./anchor/anchor.directive","AppUpdateComponent":"./app-update/app-update.component","File":"./file-browser/file-browser.component","Folder":"./file-browser/file-browser.component","FileBrowserComponent":"./file-browser/file-browser.component","FileContent":"./file-browser/file-selector.service","FileSelectorService":"./file-browser/file-selector.service","ImageCacheDirective":"./image-cache/image-cache.directive","NetworkState":"./network-info-toaster/network-info-toaster.component","NetworkInfoToasterComponent":"./network-info-toaster/network-info-toaster.component","Process":"./process-manager/process-manager.component","ProcessApi":"./process-manager/process-manager.component","ProcessManagerComponent":"./process-manager/process-manager.component","ProcessManagementService":"./process-manager/process-management.service","BasicModule":"./basic.module","ɵa":"./network-info-toaster/network-info-toaster.props"},"importAs":"@wm/mobile/components/basic"}
|
app-ng-runtime/package.json
CHANGED
|
@@ -3070,6 +3070,7 @@
|
|
|
3070
3070
|
_this.defaultSupportedLocale = 'en';
|
|
3071
3071
|
_this._isAngularLocaleLoaded = false;
|
|
3072
3072
|
_this.formatsByLocale = { 'timezone': '', 'number': '' };
|
|
3073
|
+
_this.bundleLoaded = {};
|
|
3073
3074
|
_this.appLocale = {};
|
|
3074
3075
|
_this.prefabLocale = new Map();
|
|
3075
3076
|
return _this;
|
|
@@ -3138,6 +3139,8 @@
|
|
|
3138
3139
|
_this.extendMessages(bundle.messages);
|
|
3139
3140
|
_this.extendPrefabMessages(bundle);
|
|
3140
3141
|
_this.appDefaults.setFormats(bundle.formats);
|
|
3142
|
+
_this.bundleLoaded.app = true;
|
|
3143
|
+
_this.notifyLocaleChanged();
|
|
3141
3144
|
});
|
|
3142
3145
|
};
|
|
3143
3146
|
I18nServiceImpl.prototype.loadMomentLocaleBundle = function (momentLocale) {
|
|
@@ -3156,6 +3159,8 @@
|
|
|
3156
3159
|
_config = _config && _config._config;
|
|
3157
3160
|
chronos.defineLocale(_this.selectedLocale, _config);
|
|
3158
3161
|
_this.bsLocaleService.use(_this.getSelectedLocale() || _this.defaultSupportedLocale);
|
|
3162
|
+
_this.bundleLoaded.moment = true;
|
|
3163
|
+
_this.notifyLocaleChanged();
|
|
3159
3164
|
});
|
|
3160
3165
|
};
|
|
3161
3166
|
I18nServiceImpl.prototype.loadAngularLocaleBundle = function (angLocale) {
|
|
@@ -3185,6 +3190,7 @@
|
|
|
3185
3190
|
}
|
|
3186
3191
|
// return in case of mobile app or if selected locale is default supported locale.
|
|
3187
3192
|
if (!force && (i2.isMobile() || i2.isMobileApp() || this.selectedLocale === this.defaultSupportedLocale)) {
|
|
3193
|
+
this.bundleLoaded.fullCalendar = true;
|
|
3188
3194
|
return;
|
|
3189
3195
|
}
|
|
3190
3196
|
// Call the script. In script, moment defines the loaded locale
|
|
@@ -3219,11 +3225,23 @@
|
|
|
3219
3225
|
});
|
|
3220
3226
|
};
|
|
3221
3227
|
I18nServiceImpl.prototype.loadLocaleBundles = function (libLocale) {
|
|
3228
|
+
var _this = this;
|
|
3229
|
+
var _a;
|
|
3222
3230
|
if (libLocale.moment) {
|
|
3223
3231
|
this.loadMomentLocaleBundle(libLocale.moment);
|
|
3224
3232
|
}
|
|
3233
|
+
else if (this.selectedLocale === this.defaultSupportedLocale) {
|
|
3234
|
+
this.bsLocaleService.use(this.getSelectedLocale() || this.defaultSupportedLocale);
|
|
3235
|
+
this.bundleLoaded.moment = true;
|
|
3236
|
+
}
|
|
3225
3237
|
if (libLocale.fullCalendar && window['FullCalendar']) {
|
|
3226
|
-
this.loadCalendarLocaleBundle(libLocale.fullCalendar)
|
|
3238
|
+
(_a = this.loadCalendarLocaleBundle(libLocale.fullCalendar)) === null || _a === void 0 ? void 0 : _a.then(function () {
|
|
3239
|
+
_this.bundleLoaded.fullCalendar = true;
|
|
3240
|
+
_this.notifyLocaleChanged();
|
|
3241
|
+
});
|
|
3242
|
+
}
|
|
3243
|
+
else {
|
|
3244
|
+
this.bundleLoaded.fullCalendar = true;
|
|
3227
3245
|
}
|
|
3228
3246
|
if (libLocale.angular) {
|
|
3229
3247
|
this.loadAppLocaleBundle();
|
|
@@ -3267,8 +3285,17 @@
|
|
|
3267
3285
|
this.selectedLocale = locale;
|
|
3268
3286
|
// reset the localeData object
|
|
3269
3287
|
this.init();
|
|
3288
|
+
this.bundleLoaded.moment = false;
|
|
3289
|
+
this.bundleLoaded.fullCalendar = false;
|
|
3290
|
+
this.bundleLoaded.app = false;
|
|
3291
|
+
this.bundleLoaded.angular = false;
|
|
3292
|
+
this.bundleLoaded.libLocale = libLocale;
|
|
3270
3293
|
// load the locale bundles of the selected locale
|
|
3271
|
-
return this.loadLocaleBundles(libLocale).then(function () {
|
|
3294
|
+
return this.loadLocaleBundles(libLocale).then(function () {
|
|
3295
|
+
_this.updateLocaleDirection();
|
|
3296
|
+
_this.bundleLoaded.angular = true;
|
|
3297
|
+
_this.notifyLocaleChanged();
|
|
3298
|
+
});
|
|
3272
3299
|
};
|
|
3273
3300
|
I18nServiceImpl.prototype.deduceAppLocale = function () {
|
|
3274
3301
|
// computation to find app default locale
|
|
@@ -3310,6 +3337,7 @@
|
|
|
3310
3337
|
return defaultLanguage;
|
|
3311
3338
|
};
|
|
3312
3339
|
I18nServiceImpl.prototype.loadDefaultLocale = function () {
|
|
3340
|
+
Date.prototype["month"] = Date.prototype.getMonth;
|
|
3313
3341
|
var locale = this.deduceAppLocale();
|
|
3314
3342
|
return this.setSelectedLocale(locale);
|
|
3315
3343
|
};
|
|
@@ -3356,6 +3384,11 @@
|
|
|
3356
3384
|
I18nServiceImpl.prototype.getwidgetLocale = function () {
|
|
3357
3385
|
return this.formatsByLocale;
|
|
3358
3386
|
};
|
|
3387
|
+
I18nServiceImpl.prototype.notifyLocaleChanged = function () {
|
|
3388
|
+
if (this.bundleLoaded.moment && this.bundleLoaded.fullCalendar && this.bundleLoaded.angular && this.bundleLoaded.app) {
|
|
3389
|
+
this.app.notify('locale-changed', this.bundleLoaded.libLocale);
|
|
3390
|
+
}
|
|
3391
|
+
};
|
|
3359
3392
|
return I18nServiceImpl;
|
|
3360
3393
|
}(i2.AbstractI18nService));
|
|
3361
3394
|
I18nServiceImpl.decorators = [
|