@nethesis/phone-island
Version:
NethVoice CTI Phone Island
3 lines (2 loc) • 9.39 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../node_modules/tslib/tslib.es6.js"),t=require("react"),n=require("../../lib/phone/call.js"),i=require("../../utils/customHooks/useEventListener.js"),o=require("../../utils/genericFunctions/eventDispatch.js"),a=require("../../store/index.js");require("../../node_modules/react-redux/es/index.js"),require("../../node_modules/socket.io-client/build/esm/index.js");var l=require("../../services/astproxy.js"),s=require("../../lib/user/default_device.js");require("../../node_modules/mic-check/lib/index.js"),require("../../lib/webrtc/janus.js"),require("../../node_modules/webrtc-adapter/src/js/adapter_core.js");var r=require("../../lib/webrtc/messages.js"),c=require("../../static/outgoing_ringtone.js");require("../Island.js");var u=require("../Button.js"),d=require("../../node_modules/@fortawesome/react-fontawesome/index.es.js"),p=require("../../node_modules/@fortawesome/free-solid-svg-icons/index.mjs.js");require("../../node_modules/i18next/dist/esm/i18next.js");var f=require("../CustomThemedTooltip.js");require("../TranscriptionView/TranscriptionView.js");var m=require("../../node_modules/@nethesis/nethesis-solid-svg-icons/index.mjs.js");require("../../node_modules/@babel/runtime/helpers/defineProperty.js"),require("../../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"),require("../../node_modules/@babel/runtime/helpers/typeof.js"),require("../../node_modules/html-parse-stringify/dist/html-parse-stringify.js"),require("../../node_modules/react-i18next/dist/es/context.js");var v=require("../../node_modules/react-i18next/dist/es/useTranslation.js");require("../../node_modules/@babel/runtime/helpers/slicedToArray.js");var h=require("../TransferButton.js"),C=require("../../node_modules/react-redux/es/hooks/useDispatch.js"),b=require("../../node_modules/react-redux/es/hooks/useSelector.js");function j(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var T=j(t),g=T.default.memo((function(e){var t=e.active,n=e.onClick,i=e.tooltipId,o=e.tooltipContent,a=e.icon,l=e.activeIcon,s=void 0===l?a:l;return T.default.createElement(u.Button,{variant:"default",active:t,onClick:n,"data-tooltip-id":i,"data-tooltip-content":o},T.default.createElement(d.FontAwesomeIcon,{className:"pi-h-6 pi-w-6",icon:t?s:a}))})),E=T.default.memo((function(){var j,E,k,y,w=v.useTranslation().t,q=C.useDispatch(),x=b.useSelector((function(e){return e.currentCall})),_=x.paused,D=x.muted,I=x.parked,A=x.transferring,P=b.useSelector((function(e){return e.island})),M=P.view,V=P.actionsExpanded,S=P.sideViewIsVisible,F=P.transcriptionViewIsVisible,L=b.useSelector((function(e){return e.listen})),B=b.useSelector((function(e){return e.conference})),N=B.isActive,R=B.conferenceStartedFrom,U=b.useSelector((function(e){return null==e?void 0:e.currentUser})),O=U.username,W=U.profile,G=t.useRef(!1),H=t.useRef(!1),K=t.useMemo((function(){return""!==O&&R===O}),[O,R]),z=t.useMemo((function(){return N&&!K}),[N,K]),J=t.useMemo((function(){return(null==L?void 0:L.isIntrude)||(null==L?void 0:L.isListen)}),[L]),Q=t.useCallback((function(){D?n.unmuteCurrentCall():n.muteCurrentCall()}),[D]),X=t.useCallback((function(){_?n.unpauseCurrentCall():n.pauseCurrentCall()}),[_]),Y=t.useCallback((function(){q.island.setIslandView("keypad"!==M?"keypad":"call"),S&&o.eventDispatch("phone-island-sideview-close",{}),F&&o.eventDispatch("phone-island-transcription-close",{}),o.eventDispatch("phone-island-call-keypad-opened",{})}),[M,S,F,q.island]),Z=t.useCallback((function(){var e=!V;q.island.toggleActionsExpanded(e),o.eventDispatch("phone-island-call-actions-".concat(e?"opened":"closed"),{}),e||o.eventDispatch("phone-island-sideview-close",{})}),[V,F,q.island]),$=t.useCallback((function(){S?o.eventDispatch("phone-island-sideview-close",{}):(F&&o.eventDispatch("phone-island-transcription-close",{}),o.eventDispatch("phone-island-sideview-open",{}))}),[S,F]),ee=t.useCallback((function(){q.island.setIslandView("transfer"!==M?"transfer":"call"),S&&o.eventDispatch("phone-island-sideview-close",{}),F&&o.eventDispatch("phone-island-transcription-close",{}),o.eventDispatch("phone-island-call-transfer-opened",{})}),[M,S,F,q.island]),te=t.useCallback((function(){o.eventDispatch("phone-island-conference-list-open",{}),q.island.setIslandView("transfer"!==M?"transfer":"call"),S&&o.eventDispatch("phone-island-sideview-close",{}),F&&o.eventDispatch("phone-island-transcription-close",{})}),[M,S,F,q.island]),ne=t.useCallback((function(){return e.__awaiter(void 0,void 0,void 0,(function(){return e.__generator(this,(function(e){switch(e.label){case 0:return q.island.setIslandView("waitingConference"),[4,n.startConference()];case 1:return e.sent(),[2]}}))}))}),[q.island]),ie=t.useCallback((function(){N?ne():te()}),[N,ne,te]),oe=t.useMemo((function(){return N&&"call"===M&&!V&&!G.current&&K}),[N,M,V,K]),ae=t.useMemo((function(){return N&&"call"===M&&V&&!H.current&&""!==O&&!K}),[N,M,V,O,K]);t.useEffect((function(){oe&&(q.island.toggleActionsExpanded(!0),o.eventDispatch("phone-island-call-actions-opened",{}),G.current=!0)}),[oe,q.island]),t.useEffect((function(){ae&&(q.island.toggleActionsExpanded(!1),o.eventDispatch("phone-island-call-actions-closed",{}),H.current=!0)}),[ae,q.island]);var le=t.useCallback((function(){var e=s.isWebRTC()?r.sendDTMF:l.sendPhysicalDTMF;e("*"),a.store.getState().player.audioPlayerPlaying||q.player.updateStartAudioPlayer({src:c.default,loop:!0}),setTimeout((function(){e("1"),q.player.stopAudioPlayer(),A&&setTimeout((function(){q.currentCall.updateTransferring(!1)}),500),o.eventDispatch("phone-island-call-transfer-canceled",{})}),500)}),[A,q.player,q.currentCall]);i.useEventListener("phone-island-call-keypad-open",Y),i.useEventListener("phone-island-call-transfer-open",ee),i.useEventListener("phone-island-call-transfer-cancel",le),i.useEventListener("phone-island-call-actions-open",(function(){q.island.toggleActionsExpanded(!0),o.eventDispatch("phone-island-call-actions-opened",{})})),i.useEventListener("phone-island-call-actions-close",(function(){q.island.toggleActionsExpanded(!1),o.eventDispatch("phone-island-call-actions-closed",{})}));var se=t.useMemo((function(){return(null==L?void 0:L.isListen)||(null==L?void 0:L.isIntrude)||N&&!K?L.isIntrude?"pi-mb-6 pi-grid pi-grid-cols-1 pi-auto-cols-max pi-gap-y-5 pi-justify-items-center pi-place-items-center pi-justify-center":N&&!K?"pi-flex pi-items-center pi-justify-center pi-gap-4":"pi-hidden":"pi-grid pi-grid-cols-4 pi-auto-cols-max pi-gap-y-5 pi-justify-items-center pi-place-items-center pi-justify-center"}),[L,N,K]);return T.default.createElement(T.default.Fragment,null,T.default.createElement("div",{className:se},!J&&T.default.createElement(g,{active:_,onClick:X,tooltipId:"tooltip-pause",tooltipContent:w(_?"Tooltip.Play":"Tooltip.Pause"),icon:p.faPause,activeIcon:p.faPlay}),!(null==L?void 0:L.isListen)&&T.default.createElement(g,{active:D,onClick:Q,tooltipId:"tooltip-mute",tooltipContent:w(D?"Tooltip.Unmute":"Tooltip.Mute"),icon:p.faMicrophone,activeIcon:p.faMicrophoneSlash}),!z&&T.default.createElement(h.TransferButton,null),!J&&!z&&T.default.createElement(u.Button,{active:V,variant:"transparent",onClick:Z,"data-tooltip-id":"tooltip-expand","data-tooltip-content":w(V?"Tooltip.Collapse":"Tooltip.Expand")},T.default.createElement(d.FontAwesomeIcon,{className:"pi-h-6 pi-w-6",icon:V?p.faAngleUp:p.faAngleDown}))),V&&T.default.createElement("div",{className:"pi-grid pi-grid-cols-4 pi-auto-cols-max pi-gap-y-5 pi-justify-items-center pi-place-items-center pi-justify-center"},T.default.createElement(g,{active:"keypad"===M,onClick:Y,tooltipId:"tooltip-keyboard",tooltipContent:w("Tooltip.Keyboard"),icon:m.faGridRound}),T.default.createElement(g,{active:I,onClick:n.parkCurrentCall,tooltipId:"tooltip-park",tooltipContent:w("Tooltip.Park"),icon:p.faSquareParking}),(null===(y=null===(k=null===(E=null===(j=null==W?void 0:W.macro_permissions)||void 0===j?void 0:j.settings)||void 0===E?void 0:E.permissions)||void 0===k?void 0:k.conference)||void 0===y?void 0:y.value)&&T.default.createElement(u.Button,{"data-stop-propagation":!0,variant:"default",onClick:ie,"data-tooltip-id":"tooltip-conference","data-tooltip-content":N?w("Tooltip.Conference")||"":w("Tooltip.Add user to conference")||""},T.default.createElement(d.FontAwesomeIcon,{icon:N?p.faPlus:p.faUserPlus,className:"pi-h-6 pi-w-6"})),T.default.createElement(u.Button,{variant:"default",onClick:$,"data-tooltip-id":"tooltip-sideView","data-tooltip-content":w("Tooltip.Other actions")||""},T.default.createElement(d.FontAwesomeIcon,{className:"pi-h-6 pi-w-6",icon:S?m.faClose:m.faOpen}))),T.default.createElement(f.CustomThemedTooltip,{id:"tooltip-transfer",place:"bottom"}),T.default.createElement(f.CustomThemedTooltip,{id:"tooltip-pause",place:"bottom"}),T.default.createElement(f.CustomThemedTooltip,{id:"tooltip-mute",place:"bottom"}),T.default.createElement(f.CustomThemedTooltip,{id:"tooltip-expand",place:"bottom"}),T.default.createElement(f.CustomThemedTooltip,{id:"tooltip-keyboard",place:"bottom"}),T.default.createElement(f.CustomThemedTooltip,{id:"tooltip-conference",place:"bottom"}),T.default.createElement(f.CustomThemedTooltip,{id:"tooltip-park",place:"bottom"}),T.default.createElement(f.CustomThemedTooltip,{id:"tooltip-sideView",place:"left"}))}));exports.default=E;
//# sourceMappingURL=Actions.js.map