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