UNPKG

@nethesis/phone-island

Version:
3 lines (2 loc) 9.05 kB
"use strict";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"),l=require("../../store/index.js");require("../../node_modules/react-redux/es/index.js"),require("../../node_modules/socket.io-client/build/esm/index.js");var a=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 s=require("../../lib/webrtc/messages.js"),r=require("../../static/outgoing_ringtone.js");require("../Island.js");var c=require("../../services/astproxy.js"),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"),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 g=j(t),T=g.default.memo((function(e){var t=e.active,n=e.onClick,i=e.tooltipId,o=e.tooltipContent,l=e.icon,a=e.activeIcon,s=void 0===a?l:a;return g.default.createElement(u.Button,{variant:"default",active:t,onClick:n,"data-tooltip-id":i,"data-tooltip-content":o},g.default.createElement(d.FontAwesomeIcon,{className:"pi-h-6 pi-w-6",icon:t?s:l}))})),E=g.default.memo((function(){var j,E,k,y,q=v.useTranslation().t,w=C.useDispatch(),x=b.useSelector((function(e){return e.currentCall})),_=x.paused,I=x.muted,D=x.parked,A=x.transferring,P=b.useSelector((function(e){return e.island})),M=P.view,S=P.actionsExpanded,F=P.sideViewIsVisible,L=b.useSelector((function(e){return e.listen})),V=b.useSelector((function(e){return e.conference})),B=V.isActive,N=V.conferenceStartedFrom,R=b.useSelector((function(e){return null==e?void 0:e.currentUser})),U=R.username,O=R.profile,W=t.useRef(!1),G=t.useRef(!1),H=t.useMemo((function(){return""!==U&&N===U}),[U,N]),K=t.useMemo((function(){return B&&!H}),[B,H]),z=t.useMemo((function(){return(null==L?void 0:L.isIntrude)||(null==L?void 0:L.isListen)}),[L]),J=t.useCallback((function(){I?n.unmuteCurrentCall():n.muteCurrentCall()}),[I]),Q=t.useCallback((function(){_?n.unpauseCurrentCall():n.pauseCurrentCall()}),[_]),X=t.useCallback((function(){w.island.setIslandView("keypad"!==M?"keypad":"call"),F&&o.eventDispatch("phone-island-sideview-close",{}),o.eventDispatch("phone-island-call-keypad-opened",{})}),[M,F,w.island]),Y=t.useCallback((function(){var e=!S;w.island.toggleActionsExpanded(e),o.eventDispatch("phone-island-call-actions-".concat(e?"opened":"closed"),{}),e||o.eventDispatch("phone-island-sideview-close",{})}),[S,w.island]),Z=t.useCallback((function(){var e=F?"phone-island-sideview-close":"phone-island-sideview-open";o.eventDispatch(e,{})}),[F]),$=t.useCallback((function(){w.island.setIslandView("transfer"!==M?"transfer":"call"),F&&o.eventDispatch("phone-island-sideview-close",{}),o.eventDispatch("phone-island-call-transfer-opened",{})}),[M,F,w.island]),ee=t.useCallback((function(){o.eventDispatch("phone-island-conference-list-open",{}),w.island.setIslandView("transfer"!==M?"transfer":"call"),F&&o.eventDispatch("phone-island-sideview-close",{})}),[M,F,w.island]),te=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 w.island.setIslandView("waitingConference"),[4,n.startConference()];case 1:return e.sent(),[2]}}))}))}),[w.island]),ne=t.useCallback((function(){B?te():ee()}),[B,te,ee]),ie=t.useMemo((function(){return B&&"call"===M&&!S&&!W.current&&H}),[B,M,S,H]),oe=t.useMemo((function(){return B&&"call"===M&&S&&!G.current&&""!==U&&!H}),[B,M,S,U,H]);t.useEffect((function(){ie&&(w.island.toggleActionsExpanded(!0),o.eventDispatch("phone-island-call-actions-opened",{}),W.current=!0)}),[ie,w.island]),t.useEffect((function(){oe&&(w.island.toggleActionsExpanded(!1),o.eventDispatch("phone-island-call-actions-closed",{}),G.current=!0)}),[oe,w.island]);var le=t.useCallback((function(){var e=a.isWebRTC()?s.sendDTMF:c.sendPhysicalDTMF;e("*"),l.store.getState().player.audioPlayerPlaying||w.player.updateStartAudioPlayer({src:r.default,loop:!0}),setTimeout((function(){e("1"),w.player.stopAudioPlayer(),A&&setTimeout((function(){w.currentCall.updateTransferring(!1)}),500),o.eventDispatch("phone-island-call-transfer-canceled",{})}),500)}),[A,w.player,w.currentCall]);i.useEventListener("phone-island-call-keypad-open",X),i.useEventListener("phone-island-call-transfer-open",$),i.useEventListener("phone-island-call-transfer-cancel",le),i.useEventListener("phone-island-call-actions-open",(function(){w.island.toggleActionsExpanded(!0),o.eventDispatch("phone-island-call-actions-opened",{})})),i.useEventListener("phone-island-call-actions-close",(function(){w.island.toggleActionsExpanded(!1),o.eventDispatch("phone-island-call-actions-closed",{})}));var ae=t.useMemo((function(){return(null==L?void 0:L.isListen)||(null==L?void 0:L.isIntrude)||B&&!H?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":B&&!H?"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,B,H]);return g.default.createElement(g.default.Fragment,null,g.default.createElement("div",{className:ae},!z&&g.default.createElement(T,{active:_,onClick:Q,tooltipId:"tooltip-pause",tooltipContent:q(_?"Tooltip.Play":"Tooltip.Pause"),icon:p.faPause,activeIcon:p.faPlay}),!(null==L?void 0:L.isListen)&&g.default.createElement(T,{active:I,onClick:J,tooltipId:"tooltip-mute",tooltipContent:q(I?"Tooltip.Unmute":"Tooltip.Mute"),icon:p.faMicrophone,activeIcon:p.faMicrophoneSlash}),!K&&g.default.createElement(h.TransferButton,null),!z&&!K&&g.default.createElement(u.Button,{active:S,variant:"transparent",onClick:Y,"data-tooltip-id":"tooltip-expand","data-tooltip-content":q(S?"Tooltip.Collapse":"Tooltip.Expand")},g.default.createElement(d.FontAwesomeIcon,{className:"pi-h-6 pi-w-6",icon:S?p.faAngleUp:p.faAngleDown}))),S&&g.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"},g.default.createElement(T,{active:"keypad"===M,onClick:X,tooltipId:"tooltip-keyboard",tooltipContent:q("Tooltip.Keyboard"),icon:m.faGridRound}),g.default.createElement(T,{active:D,onClick:n.parkCurrentCall,tooltipId:"tooltip-park",tooltipContent:q("Tooltip.Park"),icon:p.faSquareParking}),(null===(y=null===(k=null===(E=null===(j=null==O?void 0:O.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)&&g.default.createElement(u.Button,{"data-stop-propagation":!0,variant:"default",onClick:ne,"data-tooltip-id":"tooltip-conference","data-tooltip-content":B?q("Tooltip.Conference")||"":q("Tooltip.Add user to conference")||""},g.default.createElement(d.FontAwesomeIcon,{icon:B?p.faPlus:p.faUserPlus,className:"pi-h-6 pi-w-6"})),g.default.createElement(u.Button,{variant:"default",onClick:Z,"data-tooltip-id":"tooltip-sideView","data-tooltip-content":q("Tooltip.Other actions")||""},g.default.createElement(d.FontAwesomeIcon,{className:"pi-h-6 pi-w-6",icon:F?m.faClose:m.faOpen}))),g.default.createElement(f.CustomThemedTooltip,{id:"tooltip-transfer",place:"bottom"}),g.default.createElement(f.CustomThemedTooltip,{id:"tooltip-pause",place:"bottom"}),g.default.createElement(f.CustomThemedTooltip,{id:"tooltip-mute",place:"bottom"}),g.default.createElement(f.CustomThemedTooltip,{id:"tooltip-expand",place:"bottom"}),g.default.createElement(f.CustomThemedTooltip,{id:"tooltip-keyboard",place:"bottom"}),g.default.createElement(f.CustomThemedTooltip,{id:"tooltip-conference",place:"bottom"}),g.default.createElement(f.CustomThemedTooltip,{id:"tooltip-park",place:"bottom"}),g.default.createElement(f.CustomThemedTooltip,{id:"tooltip-sideView",place:"left"}))}));exports.default=E; //# sourceMappingURL=Actions.js.map