{"version":3,"sources":["../../src/bridge/module.js","../../src/bridge/services/AndroidBridge.js","../../src/bridge/services/Bridge.js","../../src/bridge/services/CustomModuleRunService.js","../../src/bridge/services/IosBridge.js","../../src/bridge/services/PrmBridge.js","../../src/bridge/services/WebBridge.js","../../src/bridge/services/XamarinBridge.js"],"names":["angular","module","factory","XamarinBridge","_","cloneDeep","$log","IosBridge","AndroidBridge","WebBridge","PrmBridge","DeviceSettings","getLog","delegate","isStandaloneBrowser","info","isIos","isAndroid","isPrm","window","$injector","hasRun","runFns","add","fn","Error","push","run","forEach","invoke","$rootScope","setupPage","noop","setHeaderMode","pageFinished","pickMedia","createModalAlert","alert","error","title","message","closeSearchHeader","updateBadges","updatePageIndicator","overriddenMessages","debugModeToggled","updateInactivityTimeout","scanBarcode","on","event","$scope","removerEventListener","$on","e","args","handler","$evalAsync","fireEvent","data","$broadcast","$timeout","HostedBridgeService","WebViewManager","NgZoneService","getBridge","eventName","contextRun","zoneAwareObject","zoneAwareHandlerFn","wrapToRunInZoneIfNecessary","removeEventListener","addEventListener","zoneAwareOn","nativeSettings","mode","id","buttonText","Id","SaveButtonText","itemCount","currentItem","useLastHeader","fileKey","logData","JSON","stringify","slice","call","debugMessage","extraInfo","userInactivityTimeout","timeout"],"mappings":"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","file":"aprima-bridge.min.js","sourcesContent":["angular.module('aprima-bridge', [\r\n //aprima\r\n 'aprima-core',\r\n\r\n //third party\r\n 'lodash']);","angular.module('aprima-bridge').factory('AndroidBridge', ['XamarinBridge', '_', function (XamarinBridge, _) {\r\n 'use strict';\r\n\r\n var androidBridge = _.cloneDeep(XamarinBridge);\r\n\r\n //add properties unique to android here\r\n\r\n return androidBridge;\r\n}]);\r\n","angular.module('aprima-bridge').factory('Bridge',\r\n ['$log', 'IosBridge', 'AndroidBridge', 'WebBridge', 'PrmBridge', 'DeviceSettings',\r\n function ($log, IosBridge, AndroidBridge, WebBridge, PrmBridge, DeviceSettings) {\r\n\r\n 'use strict';\r\n\r\n var getLog = function() {\r\n return $log.delegate || $log; \r\n };\r\n\r\n if (DeviceSettings.isStandaloneBrowser) {\r\n getLog().info('Using WebBridge for standalone browser');\r\n return WebBridge;\r\n }\r\n else if (DeviceSettings.isIos) {\r\n getLog().info('Using iOSBridge');\r\n return IosBridge;\r\n }\r\n else if (DeviceSettings.isAndroid) {\r\n getLog().info('Using AndroidBridge');\r\n return AndroidBridge;\r\n }\r\n else if (DeviceSettings.isPrm) {\r\n getLog().info('Using PrmBridge');\r\n return PrmBridge;\r\n }\r\n else {\r\n getLog().info('Using WebBridge');\r\n return WebBridge;\r\n }\r\n }]);\r\n\r\n","(function(angular) {\r\n 'use strict';\r\n\r\n angular.module('aprima-bridge').factory('CustomModuleRunService', [\r\n '$injector',\r\n CustomModuleRunService,\r\n ]);\r\n\r\n function CustomModuleRunService(\r\n $injector\r\n ) {\r\n var hasRun = false;\r\n var runFns = [];\r\n\r\n return {\r\n add: add,\r\n run: run,\r\n };\r\n\r\n function add(fn) {\r\n if (hasRun) {\r\n throw new Error('CustomModuleRunService has already run');\r\n }\r\n runFns.push(fn);\r\n }\r\n\r\n function run() {\r\n if (hasRun) {\r\n throw new Error('CustomModuleRunService has already run');\r\n }\r\n hasRun = true;\r\n runFns.forEach($injector.invoke);\r\n }\r\n }\r\n})(window.angular);\r\n","angular.module('aprima-bridge').factory('IosBridge',\r\n ['XamarinBridge', '_', function (XamarinBridge, _) {\r\n 'use strict';\r\n\r\n var iosBridge = _.cloneDeep(XamarinBridge);\r\n\r\n //add properties unique to android here\r\n\r\n return iosBridge;\r\n }]);\r\n","angular.module('aprima-bridge').factory('PrmBridge', ['XamarinBridge', '_', function (XamarinBridge, _) {\r\n 'use strict';\r\n\r\n var prmBridge = _.cloneDeep(XamarinBridge);\r\n\r\n //add properties unique to prm here\r\n\r\n return prmBridge;\r\n}]);\r\n","angular.module('aprima-bridge').factory('WebBridge',\r\n ['$rootScope', '$log',\r\n function ($rootScope, $log) {\r\n 'use strict';\r\n \r\n var getLog = function() {\r\n return $log.delegate || $log; \r\n };\r\n\r\n var _modalAlert = function (alert) {\r\n getLog().error('WebBridge.createModalAlert ----------');\r\n getLog().error('alert.title = ' + alert.title);\r\n getLog().error('alert.message = ' + alert.message);\r\n };\r\n\r\n return {\r\n setupPage: angular.noop,\r\n setHeaderMode: angular.noop,\r\n pageFinished: angular.noop,\r\n pickMedia: angular.noop,\r\n createModalAlert: _modalAlert,\r\n closeSearchHeader: angular.noop,\r\n updateBadges: angular.noop,\r\n updatePageIndicator: angular.noop,\r\n overriddenMessages: angular.noop,\r\n debugModeToggled: angular.noop,\r\n updateInactivityTimeout: angular.noop,\r\n scanBarcode: angular.noop,\r\n\r\n on: function (event, $scope, fn) {\r\n //handles events received from the getBridge() and removes the event when the scope is destroyed\r\n var handlerForScope = function (e, args) {\r\n\r\n function handler () {\r\n fn(args);\r\n }\r\n\r\n if($scope && $scope.$evalAsync) {\r\n $scope.$evalAsync(function() {\r\n handler();\r\n });\r\n }\r\n else {\r\n handler();\r\n }\r\n };\r\n\r\n var removerEventListener = $rootScope.$on(event, handlerForScope);\r\n\r\n if($scope){\r\n $scope.$on('$destroy', function () {\r\n getLog().info('removing listener from bridge due to $scope.$destroy event');\r\n removerEventListener();\r\n $scope = fn = null;\r\n });\r\n }\r\n\r\n return removerEventListener;\r\n },\r\n //only for the webbridge\r\n fireEvent: function (event, data) {\r\n $rootScope.$broadcast(event, data); \r\n } \r\n };\r\n }]);\r\n","angular.module('aprima-bridge').factory('XamarinBridge',\r\n ['$timeout', '_', 'HostedBridgeService', 'WebViewManager', 'NgZoneService', function ($timeout, _, HostedBridgeService, WebViewManager, NgZoneService) {\r\n 'use strict';\r\n\r\n var getBridge = function () {\r\n return HostedBridgeService;\r\n };\r\n\r\n // This zoneAwareObject always needs to be the last parameter to this function.\r\n function zoneAwareOn(event, $scope, fn, zoneAwareObject) {\r\n //handles events received from the getBridge() and removes the event when the scope is destroyed\r\n\r\n var handlerForScope = function (args) {\r\n\r\n function handler () {\r\n fn(args);\r\n }\r\n\r\n if($scope && $scope.$evalAsync) {\r\n $scope.$evalAsync(function() {\r\n handler();\r\n });\r\n }\r\n else {\r\n handler();\r\n }\r\n };\r\n\r\n var zoneAwareHandlerFn = zoneAwareObject.wrapToRunInZoneIfNecessary(handlerForScope);\r\n\r\n var removeEventListener = function(){\r\n getBridge().removeEventListener(event, zoneAwareHandlerFn);\r\n\r\n //only allow this function to be called once\r\n removeEventListener = angular.noop;\r\n };\r\n\r\n if ($scope) {\r\n $scope.$on('$destroy', function () {\r\n removeEventListener();\r\n });\r\n }\r\n\r\n getBridge().addEventListener(event, zoneAwareHandlerFn);\r\n\r\n return removeEventListener;\r\n }\r\n\r\n return {\r\n fireEvent: function fireEvent(eventName, data){\r\n getBridge().fireEvent(eventName, data);\r\n },\r\n\r\n on: function (event, $scope, fn) {\r\n return NgZoneService.contextRun(function (zoneAwareObject) {\r\n return zoneAwareOn(event, $scope, fn, zoneAwareObject);\r\n }, true);\r\n },\r\n\r\n setupPage: function (nativeSettings) {\r\n WebViewManager.setupPage(nativeSettings);\r\n },\r\n setHeaderMode: function (mode) {\r\n getBridge().fireEvent('setHeaderMode', {\r\n mode: mode\r\n });\r\n },\r\n\r\n createModalAlert: function (args) {\r\n getBridge().fireEvent('createModalAlert', args);\r\n },\r\n\r\n closeSearchHeader: function () {\r\n getBridge().fireEvent('closeSearchHeader', {});\r\n },\r\n pageFinished: function () {\r\n $timeout(function(){\r\n getBridge().fireEvent('pagefinished', {});\r\n }, 0);\r\n },\r\n pickMedia: function (id, buttonText) {\r\n getBridge().fireEvent('pickMedia', {Id: id, SaveButtonText: buttonText});\r\n },\r\n updateBadges: function() {\r\n getBridge().fireEvent('updateBadges', {});\r\n },\r\n updatePageIndicator: function(itemCount, currentItem, useLastHeader) {\r\n getBridge().fireEvent('updatePageIndicator', { itemCount: itemCount, currentItem: currentItem, useLastHeader: useLastHeader});\r\n }, \r\n overriddenMessages: function(args) { \r\n getBridge().fireEvent('overriddenMessages', {fileKey: args[1], logData: JSON.stringify([].slice.call(args, 2)) });\r\n },\r\n debugModeToggled: function(args){\r\n getBridge().fireEvent('debugModeToggled', {debugMessage: args[0],fileKey: args[1], extraInfo: JSON.stringify([].slice.call(args,2))});\r\n },\r\n updateInactivityTimeout: function(userInactivityTimeout) {\r\n getBridge().fireEvent('updateInactivityTimeout', { timeout: userInactivityTimeout });\r\n },\r\n scanBarcode: function(id) {\r\n getBridge().fireEvent('scanBarcode', {Id: id});\r\n },\r\n };\r\n }]);\r\n"]}