Built xcally-motion-dialpad from commit 7f8e441.|1.0.13
[dialpad.git] / app.f309c037.js
1 "use strict";function IndexController(e,n,o,a){function t(e){sforce.opencti.screenPop({type:sforce.opencti.SCREENPOP_TYPE.SOBJECT,params:{recordId:e.recordId}})}function l(e,o){n.parent.postMessage({uniqueid:o,options:{url:e}},"*")}var s,i=this;console.log("$stateParams",a),i.phone="",i.inCall=!1,i.callbacks={},i.compose=function(e){i.phone=i.phone.concat(e)},i.remove=function(){i.phone=i.phone.substring(0,i.phone.length-1)},i.hangup=function(){var e=Date.now();i.callbacks[e]=function(){i.inCall=!1},l("http://localhost:9888/api/hangup",e)},i.dial=function(){var e=Date.now();i.callbacks[e]=function(){i.inCall=!0},l("http://localhost:9888/api/originate/"+i.phone,e)},i.keepalive=function(){var e=Date.now();i.callbacks[e]=function(e){if(e.response&&e.response.status>=200&&e.response.status<300){var n=JSON.parse(e.response.message);i.id=n.id,i.displayName=n.displayName,i.internal=n.internal,i.online=!0,s||i.host&&i.id&&(s=io(i.host,{query:{id:i.id},autoConnect:!1,transports:["websocket","polling"]})).on("trigger:salesforce:display",t),s&&s.disconnected&&s.connect()}else i.online=!1},l("http://localhost:9888/api/agent",e)},i.checkStatus=function(){var e=Date.now();i.callbacks[e]=function(e){if(e.response&&e.response.status>=200&&e.response.status<300){var n=JSON.parse(e.response.message);i.inCall=!!n.length}else i.inCall=!1},l("http://localhost:9888/api/calls",e)},sforce.opencti.getCallCenterSettings({callback:function(e){i.host=e.returnValue["/Motion/Host"]}}),sforce.opencti.enableClickToDial({callback:function(e){console.log("enableClickToDial")}}),sforce.opencti.onClickToDial({listener:function(e){i.online&&e.number&&(i.phone=e.number,i.dial())}}),o(i.keepalive,2e3),o(i.checkStatus,2e3),n.addEventListener("message",function(n){var o=n.data;i.callbacks[o.uniqueid]&&(i.callbacks[o.uniqueid](o),delete i.callbacks[o.uniqueid],e.$apply())},!1)}IndexController.$inject=["$scope","$window","$interval","$stateParams"];var motion=angular.module("motion",["ngMaterial"]);motion.controller("IndexController",IndexController);