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