UNPKG

@nethesis/phone-island

Version:
3 lines (2 loc) 4.52 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../node_modules/tslib/tslib.es6.js"),n=require("react");require("../../../node_modules/react-redux/es/index.js");var i=require("../../../store/index.js"),r=require("../../../utils/deviceUtils.js"),u=require("../../../lib/webrtc/janus.js"),o=require("../../../lib/devices/devices.js"),t=require("../../../utils/genericFunctions/eventDispatch.js"),l=require("../../../node_modules/react-redux/es/hooks/useDispatch.js"),s=require("../../../node_modules/react-redux/es/hooks/useSelector.js");exports.useSideViewLogic=function(d,c){var a,v,h,g,p,f,m,b,_=l.useDispatch(),S=s.useSelector((function(e){return e.currentUser})),w=s.useSelector((function(e){return e.users})),j=i.store.select.mediaDevices.videoInputDevices(i.store.getState()),k=n.useRef(u.default),q=s.useSelector((function(e){return e.currentUser.conversations})),C=n.useState([]),D=C[0],V=C[1],T=n.useState(!0),I=T[0],N=T[1],Q=n.useCallback((function(e){if(_.island.toggleSideViewVisible(!1),"openUrl"===e){var n=Object.values(q).find((function(e){return Object.keys(e).length>0})),i=n?Object.values(n)[0]:null;if((null==i?void 0:i.connected)&&"in"===(null==i?void 0:i.direction))if(c&&(null==i?void 0:i.throughQueue)){var r={counterpartNum:i.counterpartNum,counterpartName:i.counterpartName,owner:i.owner,uniqueId:i.uniqueId,throughQueue:i.throughQueue,throughTrunk:i.throughTrunk,direction:i.direction,connected:i.connected};t.eventDispatch("phone-island-url-parameter-opened",r)}else if(!c&&((null==i?void 0:i.throughTrunk)||(null==i?void 0:i.throughQueue))){r={counterpartNum:i.counterpartNum,counterpartName:i.counterpartName,owner:i.owner,uniqueId:i.uniqueId,throughQueue:i.throughQueue,throughTrunk:i.throughTrunk,direction:i.direction,connected:i.connected};t.eventDispatch("phone-island-url-parameter-opened",r)}}else null!==e&&_.island.setIslandView(e)}),[_.island,q,c]),x=n.useCallback((function(){return e.__awaiter(void 0,void 0,void 0,(function(){var n;return e.__generator(this,(function(e){switch(e.label){case 0:return j.length>0?[4,o.checkWebCamPermission()]:[3,2];case 1:return n=e.sent(),N(n),[2,n];case 2:return N(!1),[2,!1]}}))}))}),[j.length]),O=n.useCallback((function(){return e.__awaiter(void 0,void 0,void 0,(function(){return e.__generator(this,(function(e){switch(e.label){case 0:return[4,x()];case 1:return e.sent()&&(Q("video"),i.store.dispatch.currentCall.updateCurrentCall({isLocalVideoEnabled:!0,isStartingVideoCall:!0})),[2]}}))}))}),[x,Q]),U=n.useCallback((function(){Q("video"),i.store.dispatch.screenShare.update({isStartingScreenShare:!0})}),[Q]),y=n.useMemo((function(){var e;return(null===(e=null==S?void 0:S.profile)||void 0===e?void 0:e.macro_permissions)||{}}),[null===(a=null==S?void 0:S.profile)||void 0===a?void 0:a.macro_permissions]),E=n.useMemo((function(){var e,n,i,r,u,o,t;return{canRecord:(null===(i=null===(n=null===(e=null==y?void 0:y.settings)||void 0===e?void 0:e.permissions)||void 0===n?void 0:n.recording)||void 0===i?void 0:i.value)||!1,canShareScreen:"safari"!==k.current.webRTCAdapter.browserDetails.browser&&((null===(o=null===(u=null===(r=null==y?void 0:y.nethvoice_cti)||void 0===r?void 0:r.permissions)||void 0===u?void 0:u.screen_sharing)||void 0===o?void 0:o.value)||!1),canSwitchDevice:(null==D?void 0:D.length)>0,showUrlButton:"nethlink"!==(null===(t=null==S?void 0:S.default_device)||void 0===t?void 0:t.type)&&"desktop"===d}}),[null===(g=null===(h=null===(v=null==y?void 0:y.settings)||void 0===v?void 0:v.permissions)||void 0===h?void 0:h.recording)||void 0===g?void 0:g.value,null===(m=null===(f=null===(p=null==y?void 0:y.nethvoice_cti)||void 0===p?void 0:p.permissions)||void 0===f?void 0:f.screen_sharing)||void 0===m?void 0:m.value,null==D?void 0:D.length,null===(b=null==S?void 0:S.default_device)||void 0===b?void 0:b.type,d]),M=n.useMemo((function(){var e=Object.values(q).find((function(e){return Object.keys(e).length>0})),n=e?Object.values(e)[0]:null;return!(!(null==n?void 0:n.connected)||"in"!==(null==n?void 0:n.direction))&&(!(!c||!(null==n?void 0:n.throughQueue))||!(c||!(null==n?void 0:n.throughTrunk)&&!(null==n?void 0:n.throughQueue)))}),[q,c]);return n.useEffect((function(){if(S&&w){var e=r.getAvailableDevices(S,w);V(e)}}),[S,w]),e.__assign(e.__assign({userInformation:S,availableDevices:D,videoInputDevices:j,isVideoCallButtonVisible:I,isUrlButtonEnabled:M},E),{goToVideoCall:O,goToScreenSharing:U,closeSideViewAndLaunchEvent:Q})}; //# sourceMappingURL=useSideViewLogic.js.map