@nethesis/phone-island
Version:
NethVoice CTI Phone Island
3 lines (2 loc) • 5.41 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react");require("../node_modules/react-redux/es/index.js");var t=require("../utils/customHooks/useIsomorphicLayoutEffect.js");require("../node_modules/tslib/tslib.es6.js");var r=require("../store/index.js"),i=require("./CallView/index.js"),n=require("./KeypadView/index.js"),l=require("./AudioPlayerView/index.js"),u=require("./AlertGuard.js"),a=require("./CallView/BackCall.js"),s=require("./SideView/SideView.js"),o=require("./ViewsTransition.js"),c=require("./RecorderView/index.js"),d=require("./IslandMotion.js"),f=require("./IslandDrag.js"),w=require("./PhysicalRecorderView/index.js"),p=require("./SettingsView/index.js"),m=require("./SwitchDeviceView/index.js"),V=require("../utils/genericFunctions/isBackCallVisible.js"),v=require("./VideoView/index.js"),y=require("./ConferenceView/index.js"),E=require("./ContactView/ContactListView.js"),j=require("./StreamingAnswerView/index.js"),h=require("./OperatorBusyView/index.js"),g=require("./TranscriptionView/TranscriptionView.js"),q=require("../node_modules/react-redux/es/hooks/useSelector.js"),S=require("../node_modules/react-redux/es/hooks/useDispatch.js");function x(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var C=x(e),R=function(x){var R=x.showAlways,b=x.uaType;x.urlParamWithEvent;var A=q.useSelector((function(e){return e.currentCall})),I=A.incoming,P=A.accepted,k=A.outgoing,B=q.useSelector((function(e){return e.island})),D=B.view,T=B.sideViewIsVisible,_=B.transcriptionViewIsVisible,L=B.avoidToShow,O=B.previousView,F=q.useSelector((function(e){return{recording:e.physicalRecorder.recording}})).recording,K=q.useSelector((function(e){return e.alerts.status})).activeAlertsCount,M=q.useSelector((function(e){return e.player})).audioPlayerLoop,N=q.useSelector((function(e){return e.conference})).isActive,W=q.useSelector((function(e){return e.currentUser})),G=W.default_device,U=W.endpoints,z=W.username,H=q.useSelector((function(e){return e.users})).extensions,J=e.useRef(null),Q=S.useDispatch(),X=e.useRef(null),Y=e.useRef(null),Z=e.useRef(null);t.useIsomorphicLayoutEffect((function(){Q.player.updatePlayer({audioPlayer:X,localAudio:Y,remoteAudio:Z})}),[]),e.useEffect((function(){var e=r.store.getState().conference,t=e.isActive,i=e.conferenceStartedFrom,n=e.isOwnerInside,l=r.store.getState().currentUser.username;(I||k)&&t&&i===l&&n?Q.island.setIslandView("waitingConference"):!I&&!k||L||Q.island.setIslandView("call")}),[I,k,L,N]),e.useEffect((function(){F&&Q.island.setIslandView("physicalPhoneRecorder")}),[D]);var $=e.useState(""),ee=$[0],te=$[1];e.useEffect((function(){setTimeout((function(){te(D)}),200)}),[D]);var re,ie=function(){if(!H||!z)return!1;var e=Object.values(H).filter((function(e){return(null==e?void 0:e.username)===z}));return null==e?void 0:e.some((function(e){var t=null==U?void 0:U.extension.find((function(t){return t.id===(null==e?void 0:e.exten)}));return"nethlink"===(null==t?void 0:t.type)&&"offline"!==(null==e?void 0:e.status)}))};return C.default.createElement("div",{ref:J,className:"pi-absolute pi-min-w-full pi-min-h-full pi-left-0 pi-top-0 pi-overflow-hidden pi-pointer-events-none pi-flex pi-items-center pi-justify-center pi-content-center pi-phone-island-container pi-z-1000"},(I||k||P||R||K>0||"player"===D||"recorder"===D||"physicalPhoneRecorder"===D||"waitingConference"===D&&N||"transfer"===D&&N||"settings"===D&&N||"operatorBusy"===D&&("mobile"===b&&ie()||"desktop"===b&&("webrtc"===(null==G?void 0:G.type)||void 0===(null==G?void 0:G.type)&&!ie()||!ie()&&"physical"===(null==G?void 0:G.type)))||"settings"===D&&("recorder"===O||"player"===O))&&!L&&C.default.createElement(C.default.Fragment,null,C.default.createElement(f.IslandDrag,{islandContainerRef:J},C.default.createElement(a.default,{isVisible:V.isBackCallActive()}),C.default.createElement(s.default,{isVisible:T,uaType:b}),C.default.createElement(g.default,{isVisible:_}),C.default.createElement(d.IslandMotion,null,C.default.createElement(u.AlertGuard,{uaType:b},(re={call:i.default?C.default.createElement(i.default,null):null,keypad:n.default?C.default.createElement(n.default,null):null,transfer:E.ContactListView?C.default.createElement(E.ContactListView,null):null,player:l.KeypadView?C.default.createElement(l.KeypadView,null):null,recorder:c.RecorderView?C.default.createElement(c.RecorderView,null):null,physicalPhoneRecorder:w.PhysicalRecorderView?C.default.createElement(w.PhysicalRecorderView,null):null,settings:p.SettingsView?C.default.createElement(p.SettingsView,null):null,video:v.VideoView?C.default.createElement(v.VideoView,null):null,switchDevice:m.SwitchDeviceView?C.default.createElement(m.SwitchDeviceView,null):null,waitingConference:y.WaitingConferenceView?C.default.createElement(y.WaitingConferenceView,null):null,streamingAnswer:j.StreamingAnswerView?C.default.createElement(j.StreamingAnswerView,null):null,operatorBusy:h.OperatorBusyView?C.default.createElement(h.OperatorBusyView,null):null},ee in re&&re[ee]?C.default.createElement(o.default,{forView:ee},re[ee]):C.default.createElement(C.default.Fragment,null)))))),C.default.createElement("div",{className:"pi-hidden"},C.default.createElement("audio",{loop:M,ref:X}),C.default.createElement("audio",{muted:!0,ref:Y}),C.default.createElement("audio",{autoPlay:!0,ref:Z})))};R.displayName="Island",exports.Island=R;
//# sourceMappingURL=Island.js.map